<None Include="shared\res\NUISamples.TizenTV.png" />\r
</ItemGroup>\r
<ItemGroup>\r
- <Compile Include="examples\date-picker.cs" />\r
+ <Compile Include="examples\control-dashboard.cs" />\r
+ <Compile Include="examples\custom-control.cs" />\r
+ <Compile Include="examples\dali-test.cs" />\r
+ <Compile Include="examples\date-picker.cs" />\r
+ <Compile Include="examples\flex-container.cs" />\r
+ <Compile Include="examples\hello-test.cs" />\r
+ <Compile Include="examples\hello-world.cs" />\r
+ <Compile Include="examples\image-view.cs" />\r
+ <Compile Include="examples\json-loader.cs" />\r
+ <Compile Include="examples\scroll-view.cs" />\r
+ <Compile Include="examples\user-alphafunction.cs" />\r
+ <Compile Include="examples\visuals-example.cs" />\r
+ <Compile Include="examples\visual-view-test.cs" />\r
+ <Compile Include="examples\visuals-using-custom-view\ContactData.cs" />\r
+ <Compile Include="examples\visuals-using-custom-view\ContactView.cs" />\r
+ <Compile Include="examples\visuals-using-custom-view\visuals-using-custom-view.cs" />\r
+ <Compile Include="firstscreen\App.cs" />\r
+ <Compile Include="firstscreen\Constants.cs" />\r
+ <Compile Include="firstscreen\FocusData.cs" />\r
+ <Compile Include="firstscreen\FocusEffect.cs" />\r
+ <Compile Include="firstscreen\IFocusEffect.cs" />\r
+ <Compile Include="firstscreen\Program.cs" />\r
+ <Compile Include="firstscreen\ScrollContainer.cs" />\r
<Compile Include="Properties\AssemblyInfo.cs" />\r
</ItemGroup>\r
<ItemGroup>\r
</ItemGroup>\r
<ItemGroup>\r
<Content Include="res\images\arrow.png" />\r
+ <Content Include="res\images\Dino2_lambert2SG_color.png" />\r
+ <Content Include="res\images\Dino2_lambert2SG_nmap.png" />\r
+ <Content Include="res\images\Dino-Painted_lambert2SG_color.png" />\r
+ <Content Include="res\images\Dino-Painted_lambert2SG_gloss.png" />\r
+ <Content Include="res\images\Dino-Painted_lambert2SG_nmap.png" />\r
<Content Include="res\images\gallery-0.jpg" />\r
<Content Include="res\images\gallery-1.jpg" />\r
<Content Include="res\images\gallery-2.jpg" />\r
<Content Include="res\images\gallery-3.jpg" />\r
<Content Include="res\images\gallery-4.jpg" />\r
<Content Include="res\images\gallery-5.jpg" />\r
+ <Content Include="res\images\gallery-small-43.jpg" />\r
<Content Include="res\images\image-1.jpg" />\r
<Content Include="res\images\image-2.jpg" />\r
<Content Include="res\images\image-3.jpg" />\r
--- /dev/null
+newmtl lambert2SG
+illum 4
+Kd 0.00 0.00 0.00
+Ka 0.00 0.00 0.00
+Tf 1.00 1.00 1.00
+map_Kd Dino-Painted_lambert2SG_color.png
+bump Dino-Painted_lambert2SG_nmap.png -bm 0.05
+Ni 1.00
+Ks 0.00 0.00 0.00
+map_Ks Dino-Painted_lambert2SG_gloss.png
+Ns 100.00
--- /dev/null
+# This file uses centimeters as units for non-parametric coordinates.
+
+mtllib Dino-Painted-trangulated.mtl
+g default
+v -2.990040 4.546638 1.637447
+v -3.030455 4.597074 1.650190
+v -2.963290 4.600993 1.261707
+v -2.986865 4.613688 2.074133
+v -2.984807 4.561486 1.833176
+v -3.074069 4.692977 1.663944
+v -2.995825 4.692977 1.222233
+v -3.037874 4.692977 2.069571
+v -3.088796 4.792712 1.668587
+v -3.009018 4.792712 1.218222
+v -2.912962 4.709117 1.028547
+v -2.935804 4.642348 1.139036
+v -2.989674 4.692977 2.171791
+v -2.971988 4.660830 2.167292
+v -3.048938 4.771697 2.079508
+v -3.057724 4.785048 2.003756
+v -2.868148 4.791738 0.898626
+v -3.030407 4.903895 1.445206
+v -2.995825 4.892447 1.222233
+v -3.076795 4.873988 1.664803
+v -3.013235 4.743669 2.143333
+v -2.811894 4.907079 0.819860
+v -2.974720 4.944247 1.228645
+v -2.814317 4.968375 0.889671
+v 0.455584 4.547046 2.756721
+v 0.481858 4.597074 2.789532
+v 0.222459 4.616557 3.111761
+v 0.372136 4.557773 2.879383
+v 0.420687 4.540450 2.917933
+v 0.651557 4.597762 2.404856
+v 0.534114 4.546803 2.581911
+v 0.510445 4.692977 2.825228
+v 0.254663 4.692977 3.142117
+v 0.220835 4.619258 3.140612
+v 0.622644 4.529284 2.582747
+v 0.691218 4.692977 2.414677
+v 0.240461 4.764953 3.165817
+v 0.520097 4.792712 2.837280
+v 0.341916 4.794654 3.057560
+v 0.167087 4.691651 3.193762
+v 0.156736 4.666129 3.183384
+v 0.765641 4.629588 2.287937
+v 0.729375 4.692977 2.199276
+v 0.694993 4.644406 2.275637
+v 0.704412 4.792712 2.418686
+v 0.256515 4.787745 3.223396
+v 0.482839 4.851830 2.972919
+v 0.168730 4.713521 3.305191
+v 0.153433 4.671968 3.220102
+v 0.209310 4.621598 3.239428
+v 0.751748 4.747441 2.115835
+v 0.770873 4.792197 2.043095
+v 0.510677 4.868237 2.830769
+v 0.691218 4.892447 2.414677
+v 0.596171 4.898145 2.624561
+v 0.508482 4.934960 3.017540
+v 0.432447 4.836648 2.935291
+v 0.312167 4.527642 3.195509
+v 0.468131 4.474055 2.907187
+v 0.642339 4.461905 2.567822
+v 0.866843 4.784387 2.024237
+v 0.708911 4.913047 2.628614
+v 0.669520 4.936469 2.417770
+v 0.261788 4.841069 3.285316
+v 0.219998 4.570489 3.336966
+v 0.789241 4.543365 2.273237
+v 0.889611 4.637389 2.031778
+v 0.772241 4.871970 1.969259
+v 0.795942 4.978660 2.265333
+v 0.769463 4.892447 1.972963
+v 0.753300 4.926269 1.969049
+v 0.729422 4.961356 2.031981
+v 0.693749 4.956565 2.244970
+v 0.751457 5.013865 2.633951
+v 0.408207 4.999633 3.137053
+v 0.157385 4.742076 3.379255
+v 0.156410 4.648410 3.372192
+v 0.229493 4.511500 3.368607
+v 0.382138 4.417754 3.112616
+v 0.506229 4.368457 2.833979
+v 0.762303 4.413838 2.252232
+v 0.924224 4.662934 1.851789
+v 0.765210 4.897405 1.951271
+v 0.817109 4.998960 1.994362
+v 0.699023 5.145885 2.669857
+v 0.164288 4.867402 3.464420
+v 0.626710 4.348125 2.517887
+v 0.859457 4.484944 2.018017
+v 0.902350 4.560369 1.793125
+v 0.911923 4.765121 1.799110
+v 0.845590 4.924233 1.926987
+v 0.844697 5.067893 2.192581
+v 0.393336 5.101588 2.986498
+v 0.146577 4.979251 3.448448
+v 0.071258 4.748240 3.587563
+v 0.102024 4.632739 3.543339
+v 0.186785 4.399665 3.426092
+v 0.419461 4.253200 2.899746
+v 0.527222 4.236503 2.672653
+v 0.753151 4.285945 2.069679
+v 0.703018 4.264556 2.249393
+v 0.865190 5.052543 1.848772
+v 0.809127 5.166337 2.103058
+v 0.505989 5.178515 2.801128
+v -0.081421 4.842570 3.905304
+v 0.600042 4.195041 2.425415
+v 0.818360 4.418443 1.798864
+v 0.901680 4.697299 1.638012
+v 0.889922 4.923305 1.757860
+v 0.652088 5.222653 2.561951
+v 0.424532 5.196681 2.880194
+v 0.196770 5.068938 3.184803
+v -0.071354 4.943797 3.734213
+v -0.137792 4.722613 4.075380
+v -0.041926 4.586080 3.926401
+v 0.261961 3.894729 3.102314
+v 0.603771 3.931193 2.197435
+v 0.846819 4.634048 1.560886
+v 0.835295 5.101600 1.687571
+v 0.693387 5.223634 2.080078
+v 0.594395 5.285541 2.591530
+v -0.362580 4.872828 4.403009
+v -0.206754 4.293944 4.360867
+v 0.908654 4.115762 1.422665
+v 0.872738 4.911481 1.567692
+v 0.612370 5.288276 2.125343
+v 0.485958 5.274169 2.975882
+v 0.206070 5.085402 3.352097
+v -0.040533 4.963262 3.776821
+v -0.419675 4.751824 4.655651
+v 0.124615 2.864311 3.451979
+v 0.625109 2.656433 1.990156
+v 1.073750 2.754673 0.767452
+v 0.977689 4.555261 1.167225
+v 0.786697 4.904763 1.479681
+v 0.711164 5.133616 1.628370
+v 0.680970 5.408751 2.240541
+v 0.682976 5.418855 2.616066
+v -0.119832 5.024333 4.049026
+v -0.563771 5.148402 4.629547
+v -0.366821 3.006401 4.718588
+v 1.409631 3.530934 0.218189
+v 0.651097 5.213618 1.415319
+v 0.767691 5.434764 1.773457
+v 0.568517 5.431529 3.054033
+v 0.233926 5.183860 3.549667
+v -0.208201 5.291366 4.125612
+v -0.724304 4.922492 5.141321
+v -0.531069 4.225640 5.129166
+v -0.320944 1.906097 4.262461
+v 0.464342 1.374343 2.461773
+v 1.005460 1.341977 0.860397
+v 1.904244 2.964683 -1.195360
+v 1.524641 4.440833 0.056517
+v 0.857457 4.911487 1.090441
+v 0.867795 5.606433 2.262928
+v 0.208008 5.441598 3.614326
+v -0.816905 5.575858 4.293909
+v -1.222739 5.300570 5.093716
+v -1.111336 2.081815 6.148703
+v -0.843238 3.130846 5.879112
+v 1.586324 1.341363 -0.939814
+v 2.020470 4.319388 -1.253695
+v 1.310672 4.939981 -0.003416
+v 0.944071 5.391015 0.838634
+v 1.084799 5.516816 0.593628
+v 0.550461 5.689313 3.080498
+v -0.243570 5.617236 3.926716
+v -1.088509 4.714080 6.106033
+v -0.871260 4.131904 5.997808
+v -1.175763 1.770711 5.966213
+v 0.194945 1.324512 2.733149
+v 0.680304 0.884205 1.881313
+v 1.132243 0.608562 0.483812
+v 1.975448 2.717726 -2.198786
+v 1.997969 4.219544 -2.245869
+v 1.710731 4.989612 -1.258345
+v 1.029792 5.199626 0.202564
+v 0.825845 5.849452 2.161259
+v 0.162411 5.743880 3.435080
+v -1.847071 5.577395 4.027824
+v -0.299525 5.891921 3.154528
+v -1.550822 5.035323 6.024529
+v -2.100235 1.698786 8.119534
+v -0.482822 1.594781 4.113649
+v -1.298672 3.285789 7.022678
+v 0.435926 1.090675 2.275763
+v 1.575565 0.365889 -1.096914
+v 1.809132 1.213356 -2.102665
+v 1.622024 5.059735 -2.130798
+v 1.315239 5.275283 -0.735912
+v 1.040846 5.736957 0.493748
+v 0.468231 5.940673 2.983255
+v -0.163867 5.854817 3.372477
+v -0.733281 5.740264 2.977743
+v -2.078737 5.426599 4.858477
+v -1.314404 3.933066 7.061584
+v -1.646940 4.277703 7.558582
+v -1.554191 1.724760 6.437229
+v -2.110226 1.980695 8.329247
+v -1.595020 2.749145 7.595623
+v 0.187837 1.260801 2.578400
+v -0.049984 1.370219 3.001387
+v 0.436324 0.886145 2.273993
+v 1.076371 0.229618 0.666611
+v 1.631134 1.219631 -2.683949
+v 1.690262 4.079940 -2.974463
+v 1.494689 4.828715 -2.892811
+v 1.278546 5.443246 -1.183214
+v 0.872465 5.957227 0.593445
+v 0.681681 6.070928 2.120993
+v 0.131231 5.975974 2.900934
+v -1.531636 5.694680 2.777596
+v -2.914564 5.300570 4.557446
+v -0.322719 5.877017 2.760509
+v -2.084802 4.538129 7.535072
+v -2.362797 5.142406 5.787764
+v -1.657311 1.713145 6.679090
+v -2.811605 1.593273 9.688974
+v -0.830360 1.608630 4.731524
+v -1.626691 3.423009 7.888271
+v 0.279368 1.161167 2.314341
+v -0.352679 1.447525 3.602535
+v -1.592312 3.771247 7.773996
+v 0.284567 1.016128 2.256865
+v 0.491360 0.672600 2.365932
+v 1.558293 -0.346143 -1.042540
+v 1.753694 0.365514 -2.070625
+v 1.609195 0.456095 -2.627880
+v 1.696950 2.652245 -2.852160
+v 1.032491 5.376510 -2.296043
+v 0.858594 5.732759 -1.155466
+v 0.358269 6.078769 2.690296
+v -0.370833 5.812644 1.627151
+v -2.712164 5.644416 3.188606
+v -3.162978 5.035325 5.512608
+v 0.137091 6.102895 2.001640
+v -2.184335 3.999497 8.854624
+v -1.860075 1.690306 7.154665
+v -1.362345 1.746367 5.987267
+v -2.817795 1.892673 9.822083
+v -2.195858 2.736475 8.927835
+v -0.712426 1.569448 4.452789
+v -1.050337 1.681712 5.251431
+v -1.833240 3.159286 8.369289
+v 0.094873 1.239719 2.626530
+v -0.471043 1.489251 3.882286
+v -0.097778 1.337858 3.020527
+v 0.908753 -0.021426 1.215004
+v 1.130506 -0.635589 0.540497
+v 1.757695 -0.207803 -2.140516
+v 1.084633 0.486288 -2.959242
+v 1.099090 1.221723 -3.023323
+v 1.191175 4.009906 -3.360504
+v 1.221661 4.657718 -3.282688
+v 1.031359 5.101766 -2.908772
+v 0.530401 5.998528 0.490358
+v 0.639906 6.083411 0.947172
+v 0.463268 6.167468 2.019012
+v -1.118419 5.763494 1.277090
+v -2.523887 5.694680 2.368753
+v -3.199463 5.148402 3.798393
+v -3.589910 4.714080 5.315928
+v -0.040622 5.960101 1.792061
+v -1.777683 3.967135 8.132954
+v -2.641439 4.008719 9.161499
+v -2.835413 4.624938 7.333904
+v -3.564820 4.538131 7.063540
+v -2.062828 1.667469 7.630207
+v -1.758317 1.701768 6.915997
+v -1.268388 1.744404 5.766388
+v -2.785246 1.588494 9.322689
+v -3.037239 1.619172 9.876841
+v -3.210586 1.630346 10.245050
+v -0.591395 1.529236 4.166735
+v -0.941417 1.645526 4.994003
+v -1.672823 3.716844 8.061214
+v -1.720861 3.494287 8.214890
+v 0.059092 1.167917 2.601109
+v 0.281853 0.873319 2.303871
+v 0.396870 0.142040 2.606798
+v 1.443335 -1.729705 -0.329977
+v 1.680724 -1.342895 -1.747480
+v 1.604607 -0.135609 -2.660795
+v 1.061661 -0.097718 -2.978884
+v 1.142461 2.630418 -3.215561
+v 0.178714 5.482100 -2.552019
+v -0.109925 5.684011 -1.677275
+v 0.130258 5.808276 0.149406
+v -3.212385 5.291366 3.181831
+v -3.352484 4.922492 4.312464
+v -3.939070 4.277703 6.832439
+v 0.306263 5.926478 0.702667
+v -2.076635 3.916091 8.850494
+v -2.433489 3.759585 9.530678
+v -3.281064 4.107974 8.791744
+v -2.140587 1.658711 7.812580
+v -1.454142 1.736029 6.202568
+v -1.357871 1.652757 5.972706
+v -2.727772 1.593172 9.189312
+v -2.940918 1.574419 9.673973
+v -3.018337 1.565463 9.798004
+v -3.210696 1.863332 10.334526
+v -2.754690 2.605837 9.893169
+v -2.164376 3.216939 9.110569
+v -1.195519 1.663089 5.505184
+v -1.289415 1.661602 5.756945
+v -1.887983 3.338809 8.637421
+v -0.132816 1.277617 3.002419
+v 0.058015 1.056817 2.301720
+v 0.063247 0.996122 2.591085
+v 0.404566 -0.638859 2.463314
+v -0.344768 0.727441 4.114187
+v 1.009445 -2.105568 1.110703
+v 1.769697 -0.888597 -2.350193
+v 0.370040 0.486288 -3.177658
+v 0.390024 1.221723 -3.241737
+v 0.859809 4.798703 -3.306459
+v 0.449976 2.630418 -3.433979
+v 0.335458 5.216281 -3.063990
+v -0.593409 5.768874 -0.304386
+v -2.074691 5.763494 0.834452
+v -3.239524 4.872828 3.498119
+v -3.071935 5.617236 3.036673
+v -3.333416 4.751824 3.739513
+v -3.709393 4.131904 5.104780
+v -3.936789 3.933066 6.234499
+v -1.802945 3.849277 8.353754
+v -2.287709 3.768867 9.371983
+v -2.650314 3.726106 9.700542
+v -3.484226 3.825299 9.456129
+v -4.218194 3.999497 8.207422
+v -2.208982 1.651007 7.972996
+v -1.965451 1.680763 7.401817
+v -1.470772 1.648812 6.184765
+v -1.586272 1.667659 6.428957
+v -2.488410 1.619534 8.628378
+v -2.883988 1.580452 9.556732
+v -3.110366 1.557650 9.909164
+v -3.203115 1.611521 10.084549
+v -3.382319 1.630346 10.278852
+v -3.180602 2.562291 10.218212
+v -2.426599 3.393428 9.562998
+v -0.936967 1.555750 4.978798
+v -1.068476 1.597062 5.233818
+v -1.667831 3.707688 8.150980
+v -1.710697 3.527001 8.285187
+v -0.272390 1.349679 3.315523
+v -0.237417 1.257002 2.953630
+v -0.049983 1.148184 2.537155
+v -0.371695 1.371554 3.582260
+v 0.098440 0.906450 2.612976
+v -0.540077 -0.296350 4.236645
+v -0.339370 0.258249 4.166752
+v 1.456208 -3.682472 0.050482
+v 1.736658 -3.064567 -1.260437
+v 1.590842 -1.052727 -2.759539
+v 0.323785 -0.087349 -3.182938
+v 0.495791 4.209281 -3.580940
+v -0.327919 5.101766 -3.323652
+v -0.678281 5.376510 -2.798590
+v -1.312694 5.755704 -1.427189
+v -3.242789 5.024333 3.068943
+v -3.271432 5.441598 2.525282
+v -2.828225 5.854817 2.532562
+v -3.505760 4.225640 4.194397
+v -4.104706 3.771249 6.980532
+v -2.011109 3.871293 8.845715
+v -2.197199 3.762599 9.290298
+v -2.340444 3.533227 9.518360
+v -3.169327 3.742534 9.678127
+v -4.012457 4.008719 8.722347
+v -4.151750 3.967135 7.381767
+v -2.278270 1.643203 8.135506
+v -1.875711 1.602784 7.138521
+v -1.753919 1.608155 6.901619
+v -1.443473 1.514649 6.076212
+v -1.344688 1.522587 5.929604
+v -2.659464 1.600268 9.029575
+v -3.131376 1.500986 9.844860
+v -3.348227 1.611521 10.134392
+v -3.425001 1.843917 10.352207
+v -3.470072 2.484629 10.238171
+v -3.101342 3.302632 10.007988
+v -2.716179 3.335677 9.887035
+v -2.115115 3.407611 9.151436
+v -0.745962 1.518644 4.438808
+v -0.850236 1.527256 4.716364
+v -1.377668 1.633334 5.666645
+v -1.207268 1.578980 5.259012
+v -1.861339 3.399865 8.659004
+v -0.375567 1.330215 3.273468
+v -0.042146 1.035961 2.524994
+v -0.158343 1.176779 2.471237
+v -0.610016 1.450465 4.147289
+v -0.466920 1.404950 3.866861
+v -0.094508 0.930744 3.007551
+v -0.494024 0.898242 4.101727
+v 0.330969 -2.527024 1.782942
+v -0.288998 -1.294191 2.991552
+v -1.167742 0.761076 5.827059
+v 0.770654 -4.138286 0.695307
+v 1.655533 -2.283554 -2.673096
+v 0.992743 -1.052130 -3.037804
+v -0.344553 0.486288 -3.396074
+v -0.319042 1.221723 -3.460154
+v -0.242510 2.630418 -3.652395
+v 0.423257 4.939692 -3.348560
+v -0.197984 4.009906 -3.806499
+v 0.040033 4.798703 -3.561531
+v -1.590907 5.768874 -0.708443
+v -3.242640 4.722613 3.100830
+v -3.156356 4.963262 2.798918
+v -3.133490 5.743880 2.402134
+v -2.594051 5.891921 2.427652
+v -3.345055 4.293944 3.376093
+v -3.666272 3.130846 4.990700
+v -3.928077 3.285789 6.193445
+v -1.786465 3.816844 8.405735
+v -2.264205 3.586829 9.466030
+v -2.953958 3.659770 9.815735
+v -3.866493 3.742536 9.454391
+v -3.637720 3.325147 9.957787
+v -4.305101 3.916091 8.143810
+v -4.389611 3.759585 8.907238
+v -2.349018 1.635235 8.301443
+v -1.994748 1.620988 7.393299
+v -1.674989 1.625653 6.665260
+v -1.602669 1.618930 6.208096
+v -1.564333 1.510597 6.104424
+v -1.312871 1.529645 5.767187
+v -2.421796 1.627037 8.472141
+v -2.592902 1.605184 8.873459
+v -2.835960 1.584749 9.441299
+v -2.948959 1.490261 9.655094
+v -3.040708 1.508229 9.764891
+v -3.214275 1.498572 9.901592
+v -3.211124 1.555046 9.987785
+v -3.328926 1.555046 10.035122
+v -3.511413 1.611521 10.146606
+v -3.556849 1.630346 10.281462
+v -2.066036 3.451367 9.123074
+v -1.038056 1.451838 5.115887
+v -0.923792 1.426858 4.935480
+v -1.296852 1.643269 5.477173
+v -1.165716 1.458585 5.148041
+v -1.689229 3.681621 8.271044
+v -1.725713 3.548528 8.381817
+v -0.456314 1.334658 3.462767
+v -0.342834 1.276956 2.906929
+v -0.190478 1.077545 2.848600
+v -0.147982 1.010144 2.460539
+v -0.034627 1.044694 2.074642
+v -0.453854 1.277884 3.823467
+v -0.121352 1.040911 2.999779
+v -1.009134 -0.723372 4.301090
+v -1.192414 0.294861 5.809227
+v 1.662404 -5.277057 -0.884420
+v 1.662404 -3.576808 -3.306650
+v 0.936098 -2.150220 -3.273520
+v 0.185020 -1.010651 -3.198771
+v -0.414090 -0.097718 -3.361111
+v -0.268492 4.657718 -3.756172
+v -0.720336 4.828715 -3.567503
+v -1.495051 5.443246 -2.021793
+v -3.194288 4.842570 2.928303
+v -3.256767 5.183860 2.457184
+v -3.107012 4.943797 2.780809
+v -3.256783 5.689311 1.891258
+v -2.809156 5.975972 1.976650
+v -2.413194 5.694680 2.588154
+v -3.412369 3.006401 3.762161
+v -4.140089 3.423009 7.094500
+v -4.198522 3.716844 7.263680
+v -1.974991 3.834632 8.839825
+v -2.141804 3.741212 9.243620
+v -2.200841 3.594239 9.407806
+v -4.305517 3.726106 9.171207
+v -4.421684 3.768867 8.694180
+v -4.254217 3.849277 7.578968
+v -2.304968 1.585549 8.125618
+v -2.223247 1.563297 7.956928
+v -2.136262 1.565098 7.798378
+v -2.081993 1.579387 7.623917
+v -1.753766 1.600907 6.571928
+v -1.999959 1.571529 7.164854
+v -1.845747 1.468685 7.025944
+v -1.740761 1.477986 6.858576
+v -1.682602 1.647030 6.404354
+v -1.529752 1.401818 6.009781
+v -1.442541 1.433727 5.998222
+v -1.365019 1.410810 5.878668
+v -2.540665 1.608933 8.750938
+v -2.809821 1.530227 9.315414
+v -2.880622 1.492448 9.546453
+v -3.192231 1.479749 9.772804
+v -3.130729 1.481511 9.742849
+v -3.472089 1.555046 10.052422
+v -3.596779 1.785670 10.360754
+v -3.619583 2.251643 10.288250
+v -0.933226 1.491570 4.603477
+v -0.750834 1.433393 4.167173
+v -0.876679 1.400576 4.732635
+v -1.392915 1.531056 5.691551
+v -1.399249 1.665035 5.452442
+v -1.295051 1.595897 5.165398
+v -1.856111 3.454583 8.694618
+v -0.480048 1.346413 3.234835
+v -0.191980 1.249965 2.439917
+v -0.079147 1.171531 2.045515
+v -0.577137 1.305500 4.022261
+v -0.398349 1.248709 3.597702
+v -0.232850 1.053457 3.309578
+v -0.237584 0.949108 3.325190
+v -1.234162 0.920566 5.796761
+v -0.127368 -4.325669 0.834579
+v -0.509472 -2.749150 1.860485
+v -1.049739 -1.536999 2.992762
+v -1.367507 -0.217351 5.762156
+v -2.054707 0.219536 7.448586
+v 0.949945 -5.844391 -0.251310
+v 1.899890 -4.400968 -2.114904
+v -0.963389 0.456095 -3.415791
+v -0.950057 1.219631 -3.472754
+v -0.912718 2.652245 -3.641260
+v -1.277464 5.059735 -2.935621
+v -2.222663 5.736957 -0.522911
+v -3.238797 4.586080 2.923725
+v -3.143197 4.748240 2.579512
+v -3.123279 5.085402 2.308926
+v -3.256951 5.431529 1.859226
+v -3.134324 5.940673 1.856581
+v -2.312845 6.102897 1.228968
+v -2.354645 5.877017 2.113899
+v -3.111623 2.864311 2.437267
+v -3.594846 2.081815 5.364063
+v -4.002485 2.749160 6.832422
+v -1.791982 3.762559 8.473642
+v -4.105922 3.302632 9.685499
+v -4.120131 3.659770 9.442261
+v -4.451011 3.762599 8.575867
+v -4.356710 3.871293 8.103230
+v -4.459802 3.533227 8.845022
+v -4.413380 3.393428 8.930185
+v -2.156334 1.552870 7.541454
+v -1.697029 1.485760 6.674068
+v -1.960743 1.463302 7.059055
+v -2.082531 1.599311 7.367496
+v -1.692257 1.648664 6.132317
+v -1.778956 1.669305 6.379808
+v -1.642338 1.511660 6.029417
+v -1.346403 1.444939 5.769131
+v -2.655221 1.506657 9.015560
+v -2.742913 1.504601 9.180626
+v -2.850192 1.500185 9.431257
+v -3.029888 1.457795 9.646273
+v -2.930068 1.372764 9.596039
+v -3.233339 1.430497 9.785454
+v -3.303229 1.460273 9.938210
+v -3.064826 1.486800 9.716106
+v -3.440237 1.449318 9.981821
+v -3.627931 1.555046 10.054707
+v -3.726151 1.630346 10.246914
+v -3.720370 2.406967 10.228016
+v -2.153309 3.595468 9.345490
+v -0.846414 1.499593 4.399670
+v -0.707282 1.312359 4.051426
+v -1.125658 1.338666 5.040648
+v -1.033517 1.362251 5.026033
+v -0.944215 1.314871 4.881227
+v -1.517523 1.662281 5.703449
+v -1.239564 1.448166 5.051476
+v -1.738775 3.654656 8.372093
+v -2.035100 3.491092 9.098112
+v -1.769961 3.561511 8.462414
+v -0.603058 1.367861 3.494867
+v -0.380317 1.338426 2.895077
+v -0.337712 1.059000 2.882711
+v -0.226993 1.173495 2.914169
+v -0.073949 0.883587 2.075682
+v -0.136059 1.023353 1.916386
+v -0.471538 1.237173 3.487614
+v -0.570283 1.215001 3.924606
+v -0.474590 1.165767 3.766949
+v -0.161451 1.165712 3.035553
+v -0.473105 0.979805 3.881729
+v -2.064644 0.731088 7.486109
+v -0.994059 0.995479 5.155415
+v -1.651596 -0.904903 4.230543
+v -1.752350 -0.514831 5.704731
+v -2.172800 -0.182022 7.274693
+v -2.035810 0.601889 7.568626
+v 1.751958 -7.029008 -1.892666
+v 2.002237 -5.803017 -3.038298
+v 1.751958 -4.654113 -4.131132
+v 0.949945 -3.165261 -3.823544
+v 0.046255 -2.072716 -3.387951
+v -0.622702 -1.052130 -3.256218
+v -1.036631 -0.135609 -3.359501
+v -0.839951 4.079940 -3.734962
+v -1.549633 4.219544 -3.176258
+v -1.862203 4.989612 -2.189165
+v -1.776422 5.275283 -1.657738
+v -2.141957 5.957227 -0.343351
+v -3.148659 4.399665 2.381060
+v -3.151441 4.867402 2.425413
+v -3.127844 4.979251 2.422070
+v -3.022085 5.068938 2.175407
+v -2.972505 5.849452 0.976336
+v -3.062969 5.606433 1.036190
+v -2.879515 6.078769 1.675114
+v -1.908651 5.763494 1.163551
+v -3.029990 3.894729 2.070576
+v -3.195468 1.906097 3.358307
+v -4.244610 3.494287 7.417953
+v -4.237804 3.159284 7.608782
+v -4.252822 3.707688 7.335323
+v -1.955514 3.775630 8.832357
+v -2.101369 3.705123 9.189938
+v -4.156716 2.562291 9.900698
+v -4.355286 3.335677 9.363018
+v -4.493712 3.586829 8.759027
+v -4.296918 3.816844 7.612862
+v -2.362853 1.547464 8.285414
+v -2.328990 1.532286 7.957088
+v -2.200979 1.428121 7.864382
+v -2.123129 1.434928 7.755394
+v -2.100691 1.439627 7.627174
+v -1.765796 1.486566 6.589535
+v -2.077402 1.600412 7.081188
+v -2.170286 1.620538 7.341629
+v -1.923222 1.354873 6.957333
+v -1.840175 1.387778 6.941828
+v -1.758235 1.365886 6.806973
+v -1.590452 1.431617 5.963373
+v -1.461087 1.372378 5.840611
+v -2.566396 1.555669 8.742893
+v -2.603967 1.520051 8.853374
+v -2.918671 1.471632 9.373558
+v -2.872559 1.378713 9.520321
+v -3.217793 1.462348 9.660610
+v -3.162727 1.495789 9.658297
+v -3.106171 1.477407 9.606224
+v -3.572989 1.498577 9.969963
+v -3.674589 1.592696 10.078123
+v -3.748053 1.824501 10.318577
+v -3.929709 2.484629 10.084373
+v -0.950471 1.389929 4.633162
+v -0.948112 1.516900 4.364029
+v -0.836010 1.446396 4.057051
+v -0.913961 1.324210 4.741282
+v -1.515814 1.527353 5.719135
+v -1.401189 1.417162 5.700130
+v -1.436106 1.734118 5.452463
+v -1.323663 1.694465 5.180058
+v -1.206704 1.554463 4.891914
+v -1.880354 3.495765 8.721558
+v -0.518739 1.400990 3.230049
+v -0.603664 1.244434 3.518478
+v -0.357301 0.926100 2.873089
+v -0.184500 0.902844 2.443560
+v -0.281732 1.271138 1.969297
+v -0.290502 1.337943 2.448162
+v -0.167238 1.139046 1.892811
+v -0.664662 1.191624 3.937916
+v -0.438434 1.173052 3.610622
+v -0.218343 1.170329 3.262074
+v -0.372461 1.064476 3.584822
+v -0.591102 0.995185 4.160557
+v -0.355534 0.964481 3.603909
+v -1.583574 0.933930 6.424473
+v -0.827122 1.025946 4.718271
+v -1.271548 1.002872 5.787088
+v 0.000000 -6.050869 -0.084101
+v -1.045226 -4.138286 0.628839
+v -1.429257 -2.527024 1.517078
+v -1.929274 -1.294106 2.557816
+v -2.649624 -0.107955 8.210930
+v -2.750652 0.121067 8.696941
+v 1.001119 -7.802956 -1.276796
+v 1.001119 -4.111424 -4.588615
+v 0.000000 -3.062641 -3.913277
+v -1.390712 0.365514 -3.038103
+v -1.424971 1.213356 -3.073717
+v -1.538374 2.717726 -3.171028
+v -2.310954 5.516814 -0.468243
+v -1.801428 5.998528 -0.237272
+v -3.143969 4.632739 2.525646
+v -3.098130 4.742076 2.358652
+v -3.144885 5.274169 1.840559
+v -2.831346 6.070928 1.024208
+v -3.107011 5.418855 1.432102
+v -2.593100 6.167468 1.061409
+v -2.048862 5.960101 1.154818
+v -2.709289 2.656433 0.945444
+v -2.839818 1.374343 1.426479
+v -3.536643 1.765000 5.287889
+v -3.985980 1.980695 7.730371
+v -4.249562 2.736475 8.274569
+v -1.823227 3.711303 8.528324
+v -4.326554 2.605837 9.388773
+v -4.513662 3.594239 8.675341
+v -4.470812 3.741212 8.506205
+v -4.383336 3.834632 8.078159
+v -4.441403 3.407611 8.414852
+v -4.377759 3.216939 8.408493
+v -2.432034 1.519982 8.205334
+v -2.417504 1.533427 8.458014
+v -2.298663 1.423000 7.872681
+v -2.384897 1.563246 8.095554
+v -2.169244 1.438423 7.561188
+v -1.883300 1.481556 6.622379
+v -1.730757 1.400537 6.681099
+v -1.885037 1.624454 6.607737
+v -2.027003 1.463734 6.974789
+v -1.717687 1.752785 6.140873
+v -1.626193 1.654471 5.910946
+v -1.565923 1.408170 5.831244
+v -1.612560 1.519066 5.866371
+v -2.504788 1.531292 8.620079
+v -2.722253 1.368545 9.095213
+v -2.642115 1.376487 8.972637
+v -2.840984 1.471735 9.189718
+v -2.862474 1.380176 9.428936
+v -2.883321 1.506064 9.293068
+v -3.011302 1.363727 9.600288
+v -2.933706 1.301409 9.549339
+v -3.240725 1.282745 9.664074
+v -3.304352 1.282735 9.867195
+v -3.417216 1.282734 9.917707
+v -3.509460 1.282739 9.900215
+v -3.696595 1.555046 10.020947
+v -3.882197 1.630346 10.169243
+v -3.893724 1.785670 10.258282
+v -3.835191 2.251643 10.213833
+v -2.134108 3.594361 9.286167
+v -1.078075 1.396446 4.662411
+v -1.076478 1.524721 4.637888
+v -0.778492 1.300422 3.939636
+v -1.182765 1.359462 4.977461
+v -1.040556 1.275808 4.833225
+v -1.496127 1.443137 5.733723
+v -1.542139 1.761656 5.710051
+v -1.214555 1.655988 4.915733
+v -1.192395 1.421655 4.845722
+v -1.818226 3.642819 8.404816
+v -2.033517 3.521316 9.071796
+v -1.847494 3.568601 8.484615
+v -0.632769 1.448407 3.506298
+v -0.724967 1.271649 3.715570
+v -0.500522 1.414561 2.874556
+v -0.351010 1.185989 2.934700
+v -0.484889 1.071109 3.184353
+v -0.198162 1.238787 3.041716
+v -0.125860 0.877503 1.925007
+v -0.137447 0.803546 2.163452
+v -0.292975 1.031598 2.011322
+v -0.589932 1.169767 3.551435
+v -0.487854 1.135234 3.515059
+v -0.571873 1.126317 3.712143
+v -0.338035 1.181241 3.456558
+v -0.235198 1.265826 3.198467
+v -0.710332 1.010725 4.442295
+v -1.789416 0.914883 6.801050
+v -2.728430 0.505726 8.868849
+v -0.937800 1.040372 4.979809
+v -1.160796 1.069431 5.506756
+v -0.949945 -5.844391 -0.251312
+v -2.372516 -0.723032 3.895460
+v -2.249154 -0.609762 5.601379
+v -2.441555 -0.368838 7.195648
+v -2.739930 0.409233 8.930410
+v 1.848793 -9.078012 -3.172918
+v 2.112906 -7.334826 -4.175535
+v 1.848793 -5.717846 -5.108013
+v 1.056453 -5.002886 -5.469471
+v 0.000000 -3.991637 -4.658518
+v -0.843588 -2.150220 -3.328123
+v -1.253701 -1.052727 -3.193010
+v -1.428503 -0.207803 -3.024197
+v -2.156487 4.319388 -2.270969
+v -2.209246 4.939981 -0.976784
+v -2.057072 5.199626 -0.734478
+v -1.480214 5.768874 -0.489042
+v -2.145678 6.083411 0.078722
+v -3.151912 4.511500 2.309526
+v -3.047255 4.253200 1.814589
+v -3.132117 4.841069 2.222414
+v -3.170549 4.999633 2.017651
+v -3.074092 5.101588 1.901123
+v -3.040528 5.196681 1.795544
+v -2.895490 5.408751 1.121841
+v -1.732658 5.926478 0.062433
+v -2.808733 3.931193 1.132406
+v -2.768171 1.295780 1.801918
+v -3.133375 1.566049 3.325380
+v -3.874907 1.753552 7.626225
+v -4.292314 3.527001 7.470562
+v -4.342299 3.338809 7.861706
+v -4.302194 3.681621 7.446838
+v -1.960253 3.720450 8.820423
+v -2.086783 3.671105 9.137707
+v -4.234222 1.892673 9.363998
+v -4.195463 1.863332 10.009579
+v -4.330297 3.762559 7.672255
+v -2.375393 1.408247 8.275646
+v -2.404382 1.403257 8.415052
+v -2.404794 1.559397 7.887886
+v -2.464781 1.583844 8.065384
+v -2.199307 1.346313 7.793747
+v -2.137682 1.322537 7.702745
+v -2.270152 1.433364 7.573072
+v -2.125975 1.354853 7.619101
+v -2.273277 1.575825 7.564281
+v -1.867993 1.397312 6.642891
+v -1.777012 1.372321 6.605190
+v -1.907809 1.728684 6.611031
+v -2.099844 1.704400 7.086283
+v -1.998936 1.607287 6.833057
+v -1.975182 1.384221 6.903856
+v -1.845732 1.326485 6.766918
+v -1.632016 1.763789 5.929920
+v -1.811105 1.740915 6.371708
+v -2.605620 1.499254 8.623524
+v -2.672169 1.491308 8.783844
+v -2.815180 1.361326 9.117018
+v -2.612241 1.381179 8.834881
+v -2.923514 1.375754 9.377682
+v -2.956761 1.524795 9.270576
+v -2.888463 1.281520 9.486942
+v -3.070588 1.357697 9.548885
+v -3.335826 1.454573 9.648758
+v -3.238059 1.282738 9.760281
+v -3.196017 1.567966 9.617096
+v -3.143498 1.543905 9.614943
+v -3.526131 1.479767 9.843147
+v -3.692067 1.498577 9.911211
+v -3.844026 1.611521 10.030571
+v -4.028898 1.843917 10.147533
+v -1.063160 1.321218 4.690125
+v -0.964224 1.287174 4.654490
+v -0.985385 1.575168 4.360546
+v -0.865156 1.532766 4.069279
+v -0.739476 1.400816 3.761686
+v -1.424004 1.775244 5.158201
+v -1.532934 1.817505 5.431507
+v -1.318295 1.734231 4.892965
+v -1.103543 1.616838 4.646795
+v -1.942124 3.516213 8.717110
+v -0.643844 1.470147 3.200645
+v -0.677925 1.161091 3.686026
+v -0.241685 1.268201 2.937538
+v -0.492136 0.944180 3.208714
+v -0.218357 0.791815 2.439903
+v -0.173593 0.766365 2.048180
+v -0.272480 0.887437 2.017845
+v -0.399740 1.214509 1.807362
+v -0.784912 1.391548 2.236074
+v -0.593520 1.410913 2.500942
+v -0.354605 1.141471 1.992317
+v -0.720021 1.211358 3.863907
+v -0.328621 1.249877 3.354977
+v -0.460893 1.192342 3.481834
+v -0.503969 1.048973 3.868149
+v -1.905457 0.865192 7.062742
+v -1.678144 0.957397 6.556633
+v -1.422713 1.040393 6.050119
+v -1.047360 1.054650 5.238705
+v -1.283962 1.069688 5.778912
+v -1.001119 -7.802956 -1.276796
+v 0.000000 -8.076919 -1.101303
+v -1.662404 -5.277057 -0.884422
+v -1.721640 -3.682472 -0.065653
+v -2.071173 -2.105568 0.646173
+v -2.943701 -0.295841 3.515415
+v -2.760131 -0.514322 5.416531
+v -2.938431 -0.197208 8.455620
+v -3.104656 0.088243 9.166412
+v 1.056453 -10.171596 -2.601040
+v 0.000000 -4.870910 -5.507446
+v -0.949945 -3.165261 -3.823544
+v -1.782038 0.365889 -2.135946
+v -1.881967 1.341363 -1.991684
+v -2.059236 2.964683 -2.240463
+v -2.329989 5.391015 -0.187635
+v -3.093375 4.648410 2.353342
+v -3.135298 4.417754 2.011957
+v -3.066136 4.713521 2.290899
+v -3.019922 5.285541 1.461260
+v -2.706299 5.434764 0.686077
+v -2.409168 2.754673 -0.290644
+v -2.394328 1.341977 -0.202705
+v -2.663507 1.155693 1.289415
+v -4.156692 1.653220 9.288879
+v -1.883932 3.687955 8.540628
+v -4.466208 3.451367 8.363907
+v -4.518208 3.595468 8.597103
+v -4.474306 3.705123 8.439095
+v -4.395297 3.775630 8.061085
+v -2.436055 1.406595 8.203676
+v -2.485537 1.395598 8.536293
+v -2.363992 1.421735 7.803104
+v -2.269332 1.313592 7.790710
+v -2.250547 1.350196 7.577961
+v -2.172269 1.325159 7.557091
+v -2.290796 1.680251 7.558853
+v -1.941999 1.361309 6.755550
+v -1.985779 1.471882 6.790012
+v -2.003334 1.716605 6.847439
+v -2.199499 1.691797 7.332911
+v -1.723830 1.850123 5.913479
+v -1.807462 1.838814 6.126434
+v -2.581376 1.389242 8.553770
+v -2.643279 1.532394 8.718029
+v -2.783893 1.252154 9.030300
+v -2.717618 1.286394 9.023951
+v -2.654094 1.263525 8.922014
+v -2.909831 1.496484 9.131716
+v -3.006500 1.368325 9.382078
+v -2.884155 1.307376 9.425604
+v -3.012211 1.490715 9.378994
+v -2.992520 1.270281 9.546917
+v -3.038313 1.290725 9.514458
+v -3.070093 1.479777 9.482971
+v -2.956997 1.243141 9.454926
+v -3.324884 1.575992 9.611479
+v -3.334737 1.282758 9.645685
+v -3.270051 1.173295 9.674801
+v -3.394390 1.134977 9.842758
+v -3.314102 1.173285 9.817165
+v -3.111601 1.569867 9.577003
+v -3.466833 1.173290 9.842260
+v -3.513894 1.282754 9.803112
+v -3.822626 1.555046 9.926119
+v -4.022634 1.630346 10.060781
+v -2.155733 3.594777 9.236950
+v -1.145667 1.310969 4.813910
+v -0.747929 1.491422 3.785286
+v -1.635928 1.847102 5.690670
+v -1.210721 1.692494 4.623043
+v -1.902282 3.631705 8.489534
+v -2.072499 3.536572 9.039371
+v -1.944100 3.581386 8.551918
+v -0.754371 1.514831 3.477980
+v -0.854102 1.478511 2.801849
+v -0.338232 1.253394 2.968416
+v -0.469543 1.195508 3.133930
+v -0.582132 1.079040 3.486567
+v -0.390984 0.823435 2.873096
+v -0.324549 1.306052 3.134550
+v -0.316207 0.754805 2.415417
+v -1.079306 1.278195 1.648304
+v -0.446054 0.916234 2.380516
+v -0.469440 1.059832 2.374023
+v -0.417110 1.282336 3.363289
+v -0.504460 1.102331 3.599859
+v -2.015982 0.817285 7.311090
+v -1.559842 0.997609 6.312115
+v -2.419269 0.663787 8.182035
+v -2.826934 0.479832 8.979286
+v -3.059445 0.430605 9.388990
+v -1.156014 1.169919 5.491016
+v -1.295789 1.158507 5.760235
+v -1.751958 -7.029008 -1.892668
+v -2.672157 -0.638778 1.593214
+v -3.166348 -0.216587 5.238888
+v -3.093268 -0.368499 7.007542
+v -2.776526 -0.408476 7.132814
+v -3.093804 0.345015 9.440159
+v 2.225711 -11.604720 -4.558300
+v 2.343181 -8.691053 -5.166656
+v 2.179320 -6.547776 -6.227448
+v 1.120079 -5.568252 -6.401737
+v 0.000000 -5.436342 -6.411232
+v -1.001119 -4.111424 -4.588615
+v -1.627967 -2.283554 -2.805674
+v -1.531251 -0.888597 -2.992004
+v -1.848886 -0.346143 -2.007395
+v -2.415063 3.530934 -0.848333
+v -2.443060 4.440833 -0.989691
+v -2.410500 4.911487 0.098049
+v -2.411422 5.213618 0.458828
+v -3.123659 4.527642 2.119793
+v -3.126363 4.570489 2.288597
+v -3.082376 4.368457 1.711567
+v -3.009611 4.236503 1.566065
+v -3.093146 4.787745 2.174019
+v -3.186825 4.934960 1.862513
+v -3.150364 5.145885 1.467739
+v -3.063820 5.178515 1.684462
+v -2.774287 5.288276 1.064657
+v -2.638571 4.115762 0.344913
+v -2.695509 0.884205 0.825537
+v -2.712182 1.090675 1.287989
+v -2.675804 1.260369 1.677574
+v -2.715184 1.369249 2.161215
+v -3.062567 1.660767 4.065578
+v -4.333876 3.548528 7.559078
+v -4.376431 3.399865 7.864712
+v -4.317622 3.654656 7.558317
+v -1.996780 3.695245 8.801128
+v -2.108937 3.655927 9.095387
+v -4.145108 1.630346 9.933865
+v -4.334973 3.711303 7.735058
+v -2.417312 1.290586 8.362938
+v -2.533047 1.400604 8.219231
+v -2.400386 1.323152 8.270210
+v -2.539953 1.542424 8.221304
+v -2.481633 1.313674 8.463852
+v -2.425258 1.663247 7.891617
+v -2.357910 1.561901 7.721453
+v -2.216416 1.282263 7.659557
+v -2.303919 1.316213 7.645056
+v -2.344778 1.426496 7.678473
+v -1.897646 1.825419 6.356043
+v -2.171381 1.785518 7.050322
+v -2.269570 1.769396 7.302097
+v -2.678325 1.525125 8.561926
+v -2.720082 1.552018 8.692966
+v -2.670108 1.378647 8.767532
+v -2.871839 1.358438 9.051451
+v -2.636485 1.295859 8.830585
+v -2.990321 1.298121 9.390852
+v -2.926679 1.279301 9.379963
+v -3.028739 1.590315 9.378675
+v -3.062256 1.360768 9.457647
+v -3.491926 1.576000 9.601978
+v -3.449369 1.282766 9.695301
+v -3.262589 1.134980 9.733078
+v -3.302335 1.650064 9.539896
+v -3.659119 1.479767 9.776949
+v -3.496171 1.503836 9.708929
+v -3.808215 1.449318 9.845396
+v -3.970032 1.611521 9.921581
+v -0.979652 1.602840 4.043251
+v -1.096198 1.648060 4.335686
+v -0.866008 1.558746 3.758097
+v -1.620268 1.797193 4.799389
+v -1.716289 1.839051 5.067543
+v -1.815243 1.882181 5.343840
+v -1.522552 1.754593 4.526478
+v -2.095398 3.559180 8.953745
+v -1.995659 3.545609 8.733253
+v -1.007563 1.530079 3.088161
+v -0.423597 1.284710 3.102360
+v -0.525276 1.198732 3.365194
+v -0.607745 0.959639 3.496780
+v -0.524887 0.848034 3.208843
+v -0.283393 0.805257 2.122236
+v -0.561357 1.211018 1.930347
+v -1.013906 1.239663 1.613125
+v -1.176842 1.353741 1.907782
+v -0.539598 1.167765 2.354548
+v -0.596375 1.078564 3.827026
+v -0.705514 1.119575 4.426483
+v -0.607388 1.098825 4.141735
+v -2.110704 0.780125 7.515478
+v -1.575494 1.085359 6.251493
+v -1.448426 1.083467 6.016392
+v -2.267242 0.721117 7.853455
+v -2.528694 0.629965 8.411736
+v -2.692348 0.588719 8.754807
+v -0.967237 1.094642 4.970181
+v -1.062237 1.145540 5.221157
+v -1.848793 -9.078012 -3.172918
+v -1.056453 -10.171596 -2.601040
+v 0.000000 -10.555984 -2.422785
+v -2.002237 -5.803017 -3.038298
+v -1.899890 -4.400968 -2.114906
+v -2.078008 -1.729705 -0.858782
+v -2.327668 -0.635589 -0.386009
+v -3.348872 0.295370 5.157158
+v -2.875051 0.142125 1.593534
+v -3.361242 -0.181512 6.924885
+v -3.259833 -0.169829 8.718737
+v -3.262585 0.116773 9.257822
+v 1.159389 -12.640322 -4.031254
+v -1.056453 -5.002886 -5.469471
+v -1.662404 -3.576808 -3.306652
+v -1.785967 -1.342895 -2.303076
+v -2.292883 0.608562 -0.582245
+v -3.062998 4.621598 2.213694
+v -3.091728 4.474055 1.793560
+v -2.931767 4.195041 1.320362
+v -3.005914 4.671968 2.228893
+v -3.051182 5.222653 1.404491
+v -2.859799 4.285945 0.939827
+v -2.604058 1.160196 1.407467
+v -2.803017 1.476557 2.736094
+v -2.978133 1.601939 3.633083
+v -3.125997 1.701013 4.447735
+v -3.198858 1.718762 4.866838
+v -3.296703 1.746367 5.370476
+v -4.082931 1.619172 9.531672
+v -1.962057 3.664134 8.592985
+v -4.477884 3.491092 8.325920
+v -4.500962 3.594361 8.537186
+v -4.457200 3.671105 8.387636
+v -4.384702 3.720450 8.053839
+v -2.516825 1.317382 8.228989
+v -2.441067 1.293089 8.204405
+v -2.559932 1.646215 8.224915
+v -2.550058 1.280075 8.466976
+v -2.362228 1.671218 7.735632
+v -2.491347 1.654889 8.055178
+v -2.321013 1.341599 7.749420
+v -2.360158 1.754401 7.534830
+v -1.989873 1.811578 6.590357
+v -2.079634 1.798928 6.817429
+v -1.910501 1.912664 5.611015
+v -1.995436 1.916579 5.851807
+v -2.075756 1.904345 6.079853
+v -2.640885 1.387225 8.483723
+v -2.764243 1.371785 8.787556
+v -2.774670 1.513018 8.799664
+v -2.828780 1.279013 8.991005
+v -2.725107 1.221538 8.884897
+v -2.926324 1.600445 9.130543
+v -2.856276 1.498890 8.954819
+v -2.981160 1.595206 9.262878
+v -3.030736 1.268062 9.439939
+v -3.072784 1.583603 9.490814
+v -3.512313 1.624106 9.547211
+v -3.424353 1.173308 9.699097
+v -3.338281 1.134995 9.657549
+v -3.161156 1.630013 9.567936
+v -3.470083 1.134992 9.767227
+v -3.363122 1.085733 9.739639
+v -3.704821 1.282739 9.814955
+v -3.930208 1.555046 9.827385
+v -2.136772 3.597732 9.093273
+v -1.418516 1.709238 4.235912
+v -2.045565 3.611455 8.767820
+v -1.107971 1.573853 3.368591
+v -1.372455 1.494967 2.547682
+v -0.467661 1.263246 3.285894
+v -0.689587 1.057583 3.788733
+v -0.486369 0.789214 2.852842
+v -0.413592 0.795162 2.389240
+v -1.641560 1.214509 1.426929
+v -1.682377 1.391548 1.951117
+v -0.612606 0.950643 2.822454
+v -0.635306 1.094241 2.815212
+v -0.678593 1.134613 4.022467
+v -0.844137 1.121457 4.704155
+v -2.193249 0.749479 7.691175
+v -1.805353 1.004437 6.757399
+v -1.675633 1.063329 6.509752
+v -2.340107 0.693175 8.013386
+v -3.024093 0.446979 9.229010
+v -2.859524 0.519255 9.023129
+v -3.213894 0.430605 9.447754
+v -1.256213 1.354726 5.640697
+v -1.141490 1.346761 5.443470
+v -1.418539 1.184627 5.790871
+v -2.112906 -7.334826 -4.175535
+v -1.895326 -3.064567 -1.392639
+v -2.524038 -0.021425 0.152992
+v -3.136957 0.258588 3.309980
+v -3.485606 -0.107729 7.953932
+v -3.381932 -0.197123 8.315647
+v -3.256169 0.352147 9.504929
+v 2.417676 -14.381248 -5.508099
+v 2.804344 -9.566360 -5.651705
+v 3.036652 -8.166239 -6.388248
+v 2.310318 -6.129172 -7.278549
+v 0.000000 -5.423817 -7.321046
+v -1.120079 -5.568251 -6.401737
+v -1.751958 -4.654113 -4.131132
+v -2.353328 0.229618 -0.396053
+v -2.558775 4.555261 0.108770
+v -2.557870 4.904765 0.431858
+v -3.058433 4.540450 1.828985
+v -3.046387 4.461905 1.414806
+v -3.005535 4.348125 1.382137
+v -2.918702 4.264556 1.116861
+v -3.140648 4.851830 1.839846
+v -3.173732 5.013865 1.408663
+v -2.578395 5.133616 0.597363
+v -2.816103 5.223634 0.981850
+v -2.762473 4.418443 0.678827
+v -2.762177 0.983489 1.289942
+v -2.576242 1.015573 1.356903
+v -2.625692 1.235836 1.769436
+v -2.889105 1.539909 3.177061
+v -2.718925 1.390140 2.307842
+v -2.925143 1.562177 3.419292
+v -3.028801 1.633813 3.950050
+v -3.143942 1.681712 4.585968
+v -3.090306 1.645526 4.311644
+v -3.251097 1.744404 5.134821
+v -3.714772 1.726956 7.066828
+v -3.389242 1.724760 5.850792
+v -4.030990 1.580452 9.180599
+v -4.054533 1.565463 9.455740
+v -4.342262 3.561511 7.650637
+v -4.400665 3.454583 7.891321
+v -4.270093 3.642819 7.629848
+v -2.027816 3.672210 8.794655
+v -2.113356 3.641929 8.994814
+v -4.291564 3.687955 7.779184
+v -2.491179 1.249470 8.321346
+v -2.573813 1.282578 8.308443
+v -2.613049 1.392580 8.342394
+v -2.626168 1.527983 8.385344
+v -2.489283 1.736531 7.863529
+v -2.553559 1.728108 8.027748
+v -2.429106 1.744370 7.710598
+v -2.157172 1.886379 6.308800
+v -2.479894 1.809642 7.209938
+v -2.386024 1.836324 6.942514
+v -2.568419 1.784296 7.463200
+v -2.694974 1.629137 8.559120
+v -2.748721 1.288795 8.796055
+v -2.675089 1.265145 8.768185
+v -2.796121 1.616346 8.809437
+v -2.804888 1.253774 8.876472
+v -2.843173 1.363486 8.911911
+v -2.860508 1.608203 8.968784
+v -3.032299 1.667395 9.248589
+v -3.556250 1.576000 9.569542
+v -3.609823 1.503836 9.651834
+v -3.461983 1.679837 9.382729
+v -3.268601 1.679837 9.440056
+v -3.646883 1.282754 9.736916
+v -3.896961 1.460273 9.731441
+v -3.791010 1.282734 9.777908
+v -4.061602 1.611521 9.796600
+v -1.209392 1.618068 3.651850
+v -1.312637 1.663079 3.940203
+v -1.936710 1.782254 4.393501
+v -2.021358 1.824854 4.670406
+v -2.104543 1.866712 4.942486
+v -2.190278 1.909842 5.222822
+v -1.846586 1.736899 4.098686
+v -1.490591 1.557740 2.934135
+v -0.722867 0.975032 3.783636
+v -0.639206 0.869076 3.495329
+v -0.616746 0.815985 3.186579
+v -0.732926 1.235340 2.299522
+v -1.017220 1.234200 1.794924
+v -1.928862 1.270983 1.448677
+v -1.491564 1.211018 1.658300
+v -0.581047 0.829571 2.830051
+v -0.703408 1.202174 2.793486
+v -0.810621 1.296227 4.580769
+v -0.690978 1.286608 4.378910
+v -0.631589 1.280481 4.153942
+v -2.089341 0.893536 7.469572
+v -2.017354 0.910462 7.271944
+v -1.925966 0.911134 7.028160
+v -1.662791 1.263310 6.454853
+v -1.626269 1.123880 6.131807
+v -3.166121 0.447006 9.291767
+v -3.010261 0.496100 9.176308
+v -2.626061 0.645979 8.581367
+v -2.798582 0.589688 8.944489
+v -1.130379 1.175752 5.118876
+v -0.971010 1.158181 4.732119
+v -1.369430 1.357471 5.686646
+v -1.083978 1.339572 5.230104
+v -1.527079 1.096138 5.976635
+v -2.346902 -8.855957 -5.216896
+v -2.221169 -11.313633 -4.603817
+v -1.296176 -12.437016 -4.133923
+v -0.034197 -13.022543 -3.900948
+v -1.848793 -5.717847 -5.108013
+v -3.549910 0.219876 6.989889
+v -3.371098 0.761203 5.136202
+v -2.810365 0.672610 1.333464
+v -3.095431 0.727526 3.253860
+v -3.636128 0.088243 8.987997
+v -3.430419 0.145304 9.279285
+v -3.370306 0.202364 9.372004
+v 1.353367 -14.899152 -5.374649
+v 2.810258 -12.911759 -5.167152
+v 2.687846 -11.077540 -5.160954
+v 3.260634 -7.459031 -7.151056
+v 1.196128 -5.536132 -7.321046
+v -3.017323 4.619258 2.125313
+v -3.038412 4.529284 1.438189
+v -3.135506 4.913047 1.428013
+v -3.004314 5.067893 0.990578
+v -2.924818 5.166337 0.936222
+v -2.969398 4.413838 1.086082
+v -2.653054 4.634048 0.465595
+v -2.918989 4.484944 0.837580
+v -2.711522 0.886145 1.286299
+v -2.581845 1.161121 1.768353
+v -2.686288 1.332033 2.203794
+v -2.821048 1.488730 2.886292
+v -2.743722 1.398210 2.539026
+v -2.917941 1.529236 3.430073
+v -3.035617 1.608630 4.031933
+v -2.977541 1.569448 3.734905
+v -3.165486 1.663089 4.877510
+v -3.228402 1.661602 5.138739
+v -3.695400 1.712160 7.395647
+v -3.645296 1.727201 6.730797
+v -3.487705 1.701768 6.361855
+v -3.340981 1.736029 5.600302
+v -3.292274 1.652757 5.355904
+v -3.902246 1.660944 8.368647
+v -3.981991 1.588494 8.931355
+v -4.040419 1.557650 9.599340
+v -4.395637 3.495765 7.927208
+v -4.464489 3.521316 8.303217
+v -4.455544 3.594777 8.508461
+v -4.415198 3.655927 8.364925
+v -4.343664 3.695245 8.058254
+v -2.630451 1.637297 8.399439
+v -2.620941 1.719205 8.200392
+v -2.597047 1.307580 8.424339
+v -2.235984 1.867706 6.528122
+v -2.308495 1.853350 6.727301
+v -2.274297 1.940467 5.497505
+v -2.352334 1.944811 5.752623
+v -2.496261 1.910895 6.223301
+v -2.745570 1.622739 8.684334
+v -2.915105 1.680405 8.953268
+v -2.979056 1.672644 9.115616
+v -3.078619 1.662495 9.365005
+v -3.121797 1.655779 9.477680
+v -3.698145 1.575992 9.478230
+v -3.678155 1.650064 9.410656
+v -3.707744 1.173290 9.743076
+v -4.000892 1.555046 9.720842
+v -1.754866 1.690740 3.798647
+v -1.577571 1.601514 3.218670
+v -1.973619 1.530079 2.780109
+v -0.812607 1.109390 4.059128
+v -1.914526 1.139046 1.365612
+v -1.753761 1.141471 1.592728
+v -1.940467 1.478511 2.455961
+v -2.207306 1.336972 1.838867
+v -0.707805 0.856342 3.161480
+v -0.738158 0.977414 3.153112
+v -0.760426 1.121012 3.145613
+v -0.929903 1.303135 4.620070
+v -0.693069 1.284046 4.045311
+v -2.177310 0.846696 7.644798
+v -1.914985 1.017269 6.769627
+v -1.772452 1.232686 6.633215
+v -1.602301 1.291908 6.249836
+v -2.509466 0.723903 8.356895
+v -2.406165 0.772198 8.173149
+v -3.143214 0.496210 9.242439
+v -2.669041 0.694919 8.675678
+v -2.891618 0.556337 9.053802
+v -2.777658 0.667091 8.910145
+v -3.293042 0.447089 9.293156
+v -3.347980 0.430605 9.446354
+v -1.055543 1.115573 4.941360
+v -1.326505 1.516445 5.570194
+v -1.245071 1.472308 5.546329
+v -1.118069 1.461504 5.241421
+v -1.484305 1.157787 5.707808
+v -1.607898 1.079489 5.952374
+v -2.154722 -6.611860 -6.252206
+v -3.669264 0.121151 8.402172
+v -3.554824 0.116773 9.155989
+v -3.385764 0.373545 9.531782
+v 3.050724 -16.035881 -6.642187
+v 2.811294 -12.117941 -5.135525
+v 2.903868 -14.088450 -5.551931
+v 3.798486 -9.235888 -6.375035
+v 3.481645 -10.059160 -5.813522
+v 4.019506 -8.755458 -6.974242
+v 3.551210 -7.418768 -8.232668
+v 1.257823 -5.430916 -9.240535
+v -1.196128 -5.536132 -7.321046
+v 0.000000 -5.315126 -9.240535
+v -2.678326 4.911481 0.456753
+v -2.992116 4.629588 1.113825
+v -3.004584 4.978662 1.078148
+v -2.714304 5.101600 0.577082
+v -2.828841 4.560369 0.627132
+v -2.413641 1.054875 1.520704
+v -2.647143 1.267424 2.208361
+v -2.858675 1.489251 3.126953
+v -2.800387 1.446554 2.828840
+v -3.119073 1.597062 4.581499
+v -3.085496 1.555750 4.296547
+v -3.711865 1.692336 7.505684
+v -3.647004 1.707484 7.169031
+v -3.587616 1.678437 6.880449
+v -3.536788 1.690306 6.616625
+v -3.438983 1.713145 6.108967
+v -3.358046 1.667659 5.861860
+v -3.317259 1.648812 5.594833
+v -4.049350 1.574419 9.309628
+v -3.987082 1.500986 9.557762
+v -4.290443 3.568601 7.712374
+v -4.247809 3.631705 7.747070
+v -4.256107 3.664134 7.866257
+v -2.690435 1.709926 8.378595
+v -2.740383 1.755229 7.945913
+v -2.681520 1.763844 7.779655
+v -2.804198 1.745638 8.127380
+v -2.629913 1.771282 7.635927
+v -2.846664 1.788174 7.369684
+v -2.764591 1.820401 7.101171
+v -2.679137 1.854098 6.821602
+v -2.598878 1.935962 5.942327
+v -2.753949 1.701446 8.541414
+v -2.803393 1.694940 8.667904
+v -2.852525 1.688548 8.793407
+v -3.137640 1.696710 9.071800
+v -3.185961 1.691458 9.206329
+v -3.708574 1.454573 9.510874
+v -3.650732 1.679837 9.310482
+v -3.425887 1.686555 9.264687
+v -3.228278 1.686555 9.324638
+v -3.640084 1.282766 9.611460
+v -3.663121 1.134992 9.682674
+v -3.856274 1.282735 9.672949
+v -3.950113 1.498572 9.651133
+v -3.768033 1.134977 9.703003
+v -1.665429 1.645729 3.506073
+v -2.350867 1.754593 4.260527
+v -2.422448 1.797193 4.541426
+v -2.492789 1.839051 4.817430
+v -2.565282 1.882181 5.101814
+v -2.635752 1.912637 5.376558
+v -2.274657 1.709238 3.961456
+v -2.047172 1.573853 3.068748
+v -0.838291 0.990466 4.071243
+v -0.753080 0.890030 3.780729
+v -0.727074 0.838889 3.468128
+v -0.898000 1.285509 2.793375
+v -1.125825 1.257866 2.186384
+v -1.537578 1.235340 2.068686
+v -2.135840 1.170560 1.399437
+v -1.787468 1.167765 1.999981
+v -1.987372 1.410913 2.057877
+v -0.827227 1.228945 3.123116
+v -0.885752 1.447845 4.500635
+v -0.799862 1.404291 4.481831
+v -0.706559 1.435449 4.319767
+v -0.667663 1.393051 4.164406
+v -2.153712 1.047890 7.542200
+v -2.070220 1.084810 7.415005
+v -2.074225 0.940589 7.169346
+v -2.269928 0.772599 7.821318
+v -1.874941 1.218788 6.658825
+v -1.999107 0.917521 6.984215
+v -1.759597 1.378242 6.540802
+v -1.673871 1.448588 6.397345
+v -1.647328 1.299730 6.144258
+v -2.340983 0.784903 7.997883
+v -3.257039 0.496540 9.249626
+v -3.127880 0.584466 9.216009
+v -2.727725 0.680932 8.614559
+v -2.699377 0.678851 8.795483
+v -2.610285 0.726021 8.362883
+v -3.007065 0.545220 9.146641
+v -2.862009 0.648080 8.935219
+v -2.867771 0.582907 8.988634
+v -1.142395 1.339157 5.135746
+v -1.144724 1.097743 4.915483
+v -1.044908 1.128401 4.635002
+v -1.425888 1.355636 5.594870
+v -1.155550 1.508413 5.387812
+v -2.882921 -8.566765 -6.542990
+v -2.819231 -10.225972 -5.852654
+v -2.662066 -12.784907 -5.732979
+v -1.900517 -14.085930 -5.785326
+v -0.136787 -15.011072 -5.388191
+v -3.625079 0.601974 7.063282
+v -2.962269 0.898242 3.321754
+v -2.761545 0.801579 1.794250
+v -3.802385 0.409254 8.583010
+v -3.793553 0.345015 9.203125
+v -3.529677 0.202364 9.314774
+v -3.491985 0.359280 9.480730
+v 1.721330 -16.536388 -6.680020
+v 3.261102 -14.768540 -6.052561
+v 3.091331 -12.486153 -5.185661
+v 3.316827 -13.606776 -5.534569
+v 3.172532 -11.233293 -5.275185
+v 4.267865 -8.710279 -7.682971
+v 2.597791 -5.955510 -9.196577
+v -2.280540 -6.219387 -7.297649
+v -3.003451 4.543365 1.088446
+v -2.829154 5.052543 0.694040
+v -2.870689 4.998960 0.841633
+v -2.741600 4.697299 0.498888
+v -2.951658 4.637389 0.832140
+v -2.660867 0.828444 1.282656
+v -2.600263 0.873319 1.397400
+v -2.579686 0.996122 1.757719
+v -2.455751 1.140416 1.776279
+v -2.533229 1.245351 2.226360
+v -2.706502 1.342882 2.545982
+v -2.773306 1.370466 2.822655
+v -2.941949 1.518644 3.742052
+v -3.010682 1.527256 4.030472
+v -3.104832 1.633334 5.113186
+v -3.018181 1.578980 4.679953
+v -3.279106 1.522587 5.312794
+v -3.705086 1.651007 7.490160
+v -3.745209 1.700528 7.654175
+v -3.672094 1.658711 7.318922
+v -3.634586 1.667469 7.124245
+v -3.514816 1.602784 6.611977
+v -3.483314 1.608155 6.347477
+v -3.279206 1.514649 5.489567
+v -3.797123 1.688404 7.923634
+v -3.922379 1.600266 8.618011
+v -4.006266 1.584749 9.058044
+v -4.017497 1.508229 9.440784
+v -4.032139 1.490261 9.298470
+v -4.341982 3.516213 7.958038
+v -4.414078 3.536572 8.298119
+v -4.390959 3.597732 8.378727
+v -4.355333 3.641929 8.284000
+v -4.314335 3.672210 8.070229
+v -2.870657 1.735275 8.316730
+v -2.899212 1.773177 7.541601
+v -2.560747 1.888988 6.434275
+v -2.616447 1.873507 6.616505
+v -2.700025 1.916474 5.623640
+v -2.821490 1.886067 6.092871
+v -3.022105 1.712615 8.746239
+v -3.079303 1.704473 8.907730
+v -3.812597 1.462348 9.453512
+v -3.806694 1.567966 9.406488
+v -3.808433 1.630013 9.347340
+v -3.869417 1.430497 9.565485
+v -2.197096 1.663079 3.657091
+v -2.121466 1.618068 3.360298
+v -2.398826 1.514588 2.952991
+v -2.335395 1.469176 2.661264
+v -0.947394 1.128878 4.336971
+v -1.260402 1.294764 2.605783
+v -1.986341 1.023353 1.366730
+v -1.870879 1.031598 1.570263
+v -1.914186 1.059832 1.966824
+v -2.271816 1.413105 2.310534
+v -2.283783 1.246081 1.775003
+v -0.814127 0.879246 3.438076
+v -0.843145 1.000319 3.428057
+v -0.865123 1.143916 3.420605
+v -0.813758 1.292384 4.080372
+v -0.989976 1.305271 4.515680
+v -0.708128 1.433527 4.069569
+v -2.238250 0.999443 7.570320
+v -2.032995 1.106064 7.270832
+v -2.224370 0.857716 7.659029
+v -1.972400 0.988121 6.670618
+v -2.075195 0.892707 6.956068
+v -1.832985 1.417897 6.550322
+v -1.633394 1.421994 6.256063
+v -1.749258 1.287315 6.167324
+v -1.743212 1.077507 6.160358
+v -2.477454 0.931543 8.254295
+v -2.389794 0.958320 8.130913
+v -3.229200 0.597828 9.232140
+v -2.733794 0.852555 8.612324
+v -2.673506 0.643764 8.503448
+v -2.689716 0.853921 8.769768
+v -2.577207 0.912673 8.276754
+v -3.003622 0.561594 9.055771
+v -2.844693 0.822288 8.867043
+v -2.757833 0.838170 8.856651
+v -2.927060 0.566922 9.014126
+v -3.346958 0.502403 9.227732
+v -3.470071 0.430605 9.409039
+v -1.257570 1.343320 5.179111
+v -1.258020 1.148699 5.164444
+v -1.371336 1.473403 5.511616
+v -1.236519 1.563333 5.347744
+v -1.156229 1.502710 5.157019
+v -1.510654 1.064586 5.720592
+v -1.385744 1.171053 5.429390
+v -3.141520 -7.819892 -7.227461
+v -2.895430 -11.853647 -5.482492
+v -3.552557 0.731088 7.005775
+v -3.296420 0.920566 5.140879
+v -3.695533 0.352147 9.350742
+v 2.346220 -17.140345 -7.996155
+v 3.824750 -14.880322 -6.958536
+v 4.559366 -9.248202 -6.783781
+v 4.548416 -9.608829 -6.337490
+v 4.170288 -11.177142 -5.199188
+v 4.829044 -9.309041 -7.211036
+v 4.451545 -9.147305 -8.671693
+v 3.983298 -8.019485 -9.925621
+v 0.000000 -5.592071 -13.173342
+v 1.278388 -5.776996 -13.173342
+v -1.257823 -5.430917 -9.240535
+v -2.607601 -6.109752 -9.042771
+v -2.798836 4.923305 0.604836
+v -2.840115 4.765121 0.626745
+v -2.879744 4.662934 0.663551
+v -2.455445 1.035961 1.761814
+v -2.329150 1.169983 1.782177
+v -2.597530 1.322447 2.568771
+v -2.891649 1.450465 3.424355
+v -2.853471 1.404950 3.111858
+v -3.078367 1.451840 4.466711
+v -3.072202 1.426858 4.253263
+v -3.214697 1.529645 5.160341
+v -3.065891 1.643269 4.910913
+v -2.990587 1.458585 4.564714
+v -3.738508 1.643203 7.663635
+v -3.772025 1.678287 7.817940
+v -3.558588 1.620988 6.889759
+v -3.416611 1.625653 6.107380
+v -3.221034 1.618930 5.687887
+v -3.194854 1.510597 5.580502
+v -3.890271 1.607765 8.451365
+v -3.865075 1.613648 8.320580
+v -3.955063 1.593172 8.788639
+v -4.028034 1.492448 9.170197
+v -3.957569 1.530227 8.939053
+v -3.896400 1.479749 9.532022
+v -3.930608 1.481511 9.472816
+v -4.248031 3.581386 7.822166
+v -4.284636 3.611455 8.057896
+v -3.050797 1.747215 8.037533
+v -2.993174 1.757264 7.849010
+v -2.941595 1.766008 7.680262
+v -3.111311 1.736129 8.235523
+v -2.878768 1.867343 6.318766
+v -3.171565 1.771282 7.457596
+v -3.125978 1.784270 7.280006
+v -2.986083 1.836118 6.746325
+v -2.930024 1.853040 6.524490
+v -2.761199 1.907001 5.856892
+v -2.931182 1.725833 8.489058
+v -2.977198 1.719007 8.619453
+v -3.347334 1.696710 9.007708
+v -3.296484 1.704473 8.841347
+v -3.389069 1.691458 9.144249
+v -3.707314 1.282758 9.506256
+v -3.795467 1.282745 9.468966
+v -3.619616 1.686555 9.192251
+v -3.790705 1.655779 9.250870
+v -3.662929 1.173308 9.600626
+v -3.736307 1.085733 9.600021
+v -3.820240 1.173285 9.636913
+v -3.851440 1.282738 9.547249
+v -2.722457 1.734231 4.441423
+v -2.660722 1.692494 4.157494
+v -2.783123 1.775244 4.720428
+v -2.845638 1.817505 5.007919
+v -2.905168 1.847062 5.280355
+v -2.956877 1.849965 5.514189
+v -2.594998 1.648059 3.855219
+v -2.462893 1.558746 3.247650
+v -0.954805 1.006045 4.361567
+v -0.931994 1.300573 4.286472
+v -0.867233 0.911038 4.066818
+v -0.837090 0.861696 3.749001
+v -0.938565 1.302836 3.113596
+v -1.175125 1.341057 3.020868
+v -1.904470 1.202174 2.444813
+v -2.204311 1.043939 1.390530
+v -2.024016 1.094241 2.408665
+v -2.382132 1.332601 2.257668
+v -0.931058 1.251849 3.398251
+v -0.802186 1.401444 4.111166
+v -0.933134 1.411414 4.432360
+v -0.792091 1.489717 4.269238
+v -2.216079 1.219403 7.466383
+v -2.149483 1.188862 7.464025
+v -2.081893 1.257255 7.359852
+v -2.087260 1.107511 7.191784
+v -2.315100 0.781817 7.765209
+v -1.920527 1.225126 6.555794
+v -1.743129 1.510413 6.342632
+v -1.662276 1.477352 6.164398
+v -1.742417 1.419996 6.195698
+v -1.640109 1.034596 5.965145
+v -2.395787 0.808620 7.910599
+v -2.354199 0.978306 7.991192
+v -3.306513 0.586621 9.196728
+v -3.198758 0.769818 9.157078
+v -3.062582 0.613540 9.076908
+v -2.823949 0.836120 8.620487
+v -2.671364 0.861423 8.667843
+v -2.750782 0.606586 8.482912
+v -2.635320 0.909835 8.209953
+v -2.679354 0.680406 8.301212
+v -2.903828 0.813973 8.813759
+v -2.949614 0.585829 8.917213
+v -3.417246 0.450040 9.236198
+v -1.246076 1.463860 5.204412
+v -1.176786 1.035726 4.914684
+v -1.068830 1.021291 4.645687
+v -1.370334 1.349866 5.378922
+v -1.393185 1.064651 5.453896
+v -3.753534 -9.269876 -7.181281
+v -3.476463 -9.801279 -6.711079
+v -3.457693 -11.104701 -6.180049
+v -3.056500 -12.505926 -5.758546
+v -3.215024 -14.042873 -6.574084
+v -2.119420 -15.576136 -6.812881
+v -0.172864 -17.073536 -7.423943
+v -3.775431 0.505726 8.523281
+v -2.706352 0.847104 2.147478
+v -3.260046 1.002872 5.153751
+v -2.669826 0.828321 1.666212
+v -3.791906 0.430605 9.139565
+v -3.697701 0.430605 9.277523
+v -3.605273 0.373545 9.452978
+v 1.290138 -17.480043 -8.957268
+v 3.435475 -16.615496 -7.879304
+v 3.970455 -15.517035 -7.649375
+v 3.656670 -14.433051 -6.433687
+v 3.496515 -12.481677 -4.448809
+v 3.347882 -13.185542 -4.631725
+v 4.360331 -10.267878 -5.834957
+v 4.932606 -9.732585 -8.051034
+v 3.556529 -6.995344 -11.654930
+v 2.397960 -6.197948 -13.305439
+v -3.532130 -7.875890 -8.055553
+v -2.928583 4.784387 0.838610
+v -2.856630 4.924233 0.769848
+v -2.621073 0.906450 1.756205
+v -2.331754 1.010144 1.767515
+v -2.513418 1.077545 2.113041
+v -2.419806 1.266762 2.246548
+v -2.636430 1.332716 2.770859
+v -2.840044 1.277884 3.068575
+v -2.786112 1.433393 3.519539
+v -2.878850 1.491570 3.983244
+v -2.997871 1.400576 4.058739
+v -3.106121 1.531056 5.142357
+v -2.967247 1.665035 4.947630
+v -2.893149 1.595897 4.651386
+v -3.236393 1.433727 5.424377
+v -3.233798 1.410810 5.281921
+v -3.710864 1.585549 7.670355
+v -3.684288 1.563297 7.484808
+v -3.667739 1.565098 7.304729
+v -3.615196 1.579387 7.129740
+v -3.426608 1.571528 6.703247
+v -3.476723 1.468685 6.501883
+v -3.470159 1.477986 6.304432
+v -3.299194 1.600907 6.074015
+v -3.264499 1.647030 5.895294
+v -3.170609 1.401818 5.482700
+v -3.772634 1.635234 7.840765
+v -3.839870 1.619534 8.189754
+v -3.807739 1.627037 8.022976
+v -3.918062 1.506656 8.604019
+v -3.937666 1.504601 8.789898
+v -3.988866 1.500185 9.057671
+v -3.960169 1.457795 9.336380
+v -4.014784 1.372764 9.238941
+v -3.970255 1.486800 9.413811
+v -4.347257 3.559180 8.239910
+v -3.209135 1.763844 7.605614
+v -3.057776 1.809538 7.020538
+v -2.923519 1.878040 5.771454
+v -3.114756 1.811035 6.224010
+v -3.060212 1.824952 5.978189
+v -3.246453 1.712615 8.677666
+v -3.207174 1.719007 8.549162
+v -3.553395 1.696710 8.931950
+v -3.588547 1.691458 9.070503
+v -3.856848 1.495789 9.420586
+v -3.853769 1.569867 9.324608
+v -3.837759 1.583603 9.231449
+v -2.528113 1.602840 3.547604
+v -2.575102 1.491422 3.201258
+v -2.514587 1.447436 2.905567
+v -2.454665 1.397107 2.612780
+v -0.947326 0.884562 4.030384
+v -1.341628 1.329004 2.871403
+v -1.684193 1.285509 2.567898
+v -2.167942 0.883587 1.421209
+v -1.909984 0.887437 1.562960
+v -1.956426 0.916234 1.955770
+v -2.063865 0.950643 2.396618
+v -0.920273 0.902053 3.714396
+v -0.948000 1.023126 3.702862
+v -0.969725 1.166723 3.695572
+v -2.305447 1.032644 7.478918
+v -2.274846 0.847420 7.638453
+v -2.058649 1.229021 7.263721
+v -2.183354 1.092868 7.202391
+v -2.184612 0.887152 7.196510
+v -1.993078 0.898110 6.691862
+v -1.874554 1.050089 6.400419
+v -1.869117 1.374925 6.482698
+v -1.821389 1.446661 6.317375
+v -1.859478 1.255208 6.348230
+v -1.768749 0.989806 6.200386
+v -2.542876 1.099829 8.187929
+v -2.471965 1.064379 8.181795
+v -2.402316 1.127129 8.078548
+v -3.248260 0.770148 9.107779
+v -3.125294 0.769487 9.137379
+v -2.803047 0.971156 8.614370
+v -2.831538 0.620233 8.632355
+v -2.692128 0.982514 8.652485
+v -2.754072 0.963204 8.789307
+v -2.700458 1.017013 8.715984
+v -2.588398 1.054864 8.147539
+v -3.042600 0.584579 8.952007
+v -2.999481 0.549814 8.966141
+v -2.862063 0.952337 8.753174
+v -3.394291 0.552295 9.161182
+v -3.408194 0.519107 9.206619
+v -3.588533 0.430605 9.360054
+v -1.327184 1.510742 5.339399
+v -1.283347 1.049971 5.180206
+v -1.417591 1.012005 5.447399
+v -1.535584 1.016721 5.720478
+v -3.538862 -12.440080 -5.870554
+v -3.561612 -13.067352 -6.064956
+v -3.368419 -13.299362 -6.365681
+v -3.685431 0.629965 8.032625
+v -2.796085 0.887347 2.731167
+v -3.120049 1.007771 4.436771
+v 3.155786 -17.419430 -9.107851
+v 4.280141 -14.514027 -8.226232
+v 3.938392 -13.643520 -6.161867
+v 3.641829 -13.785387 -4.983912
+v 5.093268 -9.746372 -6.683663
+v 5.095427 -10.493339 -6.078096
+v 4.153467 -12.288424 -4.353180
+v 4.966973 -11.445198 -5.354500
+v 5.278678 -10.215538 -7.612520
+v 4.909069 -10.213886 -8.836039
+v 4.530416 -9.894007 -9.424498
+v 4.360431 -8.869938 -11.310456
+v -1.278388 -5.776996 -13.173342
+v 0.000000 -6.403301 -17.492580
+v 1.285678 -6.642293 -17.492580
+v -2.478350 -6.371359 -13.253270
+v -3.639059 -7.653692 -10.683542
+v -2.681746 0.930744 2.191208
+v -2.655165 1.040911 2.199764
+v -2.489390 1.339617 2.595127
+v -2.849013 1.305500 3.302307
+v -2.759855 1.248709 2.850353
+v -2.757503 1.312359 3.399221
+v -2.836865 1.499593 3.765736
+v -2.963755 1.338666 4.453279
+v -3.031915 1.362251 4.389669
+v -3.024967 1.314871 4.219692
+v -3.188005 1.444939 5.180691
+v -3.009547 1.662277 5.221859
+v -2.875448 1.448166 4.525915
+v -3.507529 1.552870 7.102907
+v -3.399968 1.463302 6.593605
+v -3.471453 1.599311 6.917421
+v -3.403274 1.485760 6.127003
+v -3.104471 1.648630 5.675110
+v -3.170959 1.669227 5.928764
+v -3.088319 1.511660 5.561901
+v -3.839264 1.555669 8.328289
+v -3.869883 1.520051 8.440893
+v -4.020109 1.378713 9.144020
+v -3.899894 1.471632 9.048096
+v -3.874598 1.477407 9.345802
+v -4.306658 3.545609 8.001343
+v -3.352594 1.735275 8.156651
+v -3.301832 1.745638 7.962502
+v -3.166258 1.726047 8.415295
+v -3.167315 1.798463 6.462526
+v -3.412600 1.736531 7.558958
+v -3.376987 1.744370 7.398521
+v -3.335875 1.754362 7.214247
+v -3.221483 1.785208 6.706991
+v -3.467163 1.712615 8.597431
+v -3.510029 1.704473 8.763302
+v -3.711009 1.134995 9.518074
+v -3.777170 1.173295 9.494247
+v -3.848549 1.543905 9.373892
+v -3.763501 1.662495 9.133314
+v -3.815921 1.134980 9.538403
+v -2.877641 1.694465 4.679531
+v -2.820307 1.655988 4.399384
+v -2.761971 1.616838 4.114346
+v -2.936728 1.734118 4.968246
+v -2.992843 1.761630 5.241083
+v -3.041259 1.763684 5.473598
+v -3.088174 1.752576 5.696363
+v -2.699881 1.575168 3.810959
+v -2.636703 1.532766 3.502254
+v -0.982390 0.932244 4.355366
+v -1.058312 0.907643 4.313478
+v -1.026578 0.924919 3.991058
+v -1.048314 1.326954 3.368006
+v -1.094441 1.344305 3.145031
+v -1.446588 1.381387 3.217113
+v -1.565911 1.341057 2.909845
+v -2.108122 1.121012 2.748043
+v -1.993593 1.228945 2.784668
+v -2.010544 0.877503 1.367844
+v -2.146299 0.977414 2.735832
+v -1.034902 1.274656 3.673704
+v -0.887321 1.445922 4.250437
+v -2.354245 0.814715 7.574970
+v -2.261675 1.181714 7.416382
+v -2.152914 1.314178 7.312191
+v -2.094670 1.278604 7.192432
+v -2.170228 1.222784 7.213785
+v -2.104547 0.845035 6.968885
+v -2.420228 0.741769 7.767229
+v -1.883775 0.945339 6.439159
+v -1.666518 0.990336 5.978634
+v -2.410645 0.976802 7.919714
+v -2.380160 1.099418 7.985493
+v -3.273370 0.615083 9.039406
+v -3.208820 0.885154 9.038082
+v -3.118225 0.884860 9.062222
+v -3.069068 0.769377 9.040874
+v -2.847205 1.008510 8.662540
+v -2.733516 1.026643 8.597902
+v -2.888771 0.820921 8.709602
+v -2.695165 0.591124 8.310848
+v -2.773989 0.558952 8.481621
+v -2.598058 0.931154 8.065556
+v -2.610869 0.728141 8.111988
+v -2.814147 0.998880 8.780621
+v -2.906501 0.617966 8.768814
+v -2.964817 0.501369 8.904743
+v -3.352618 0.563358 9.024860
+v -3.467635 0.502403 9.179668
+v -3.547980 0.447089 9.200861
+v -1.202059 0.972643 4.906000
+v -1.307947 0.992031 5.171780
+v -1.095136 0.952996 4.637913
+v -4.133581 -9.222945 -7.752186
+v -4.028979 -9.867767 -6.907958
+v -4.190089 -11.151975 -6.296322
+v -3.793946 -14.211752 -6.036093
+v -3.760495 -15.058372 -6.984800
+v -2.429810 -16.688824 -8.599585
+v -0.066868 -18.210079 -12.171689
+v -3.647709 0.663787 7.781010
+v -3.351859 0.942526 5.897480
+v -2.901589 0.930947 3.295015
+v -2.712517 0.878554 2.296324
+v -3.022604 0.978092 3.938217
+v -3.195127 1.069431 4.859407
+v -3.649991 0.447006 9.121117
+v 2.096629 -17.748638 -9.963371
+v 4.176260 -16.273643 -9.017170
+v 4.361975 -13.214584 -7.212796
+v 3.692899 -13.496507 -3.488291
+v 3.545807 -13.969369 -3.723587
+v 4.312619 -13.666583 -5.587357
+v 4.211751 -13.331510 -3.407150
+v 5.188031 -10.698091 -8.529448
+v 3.199898 -6.721099 -13.701727
+v 4.421769 -8.117497 -14.160173
+v 2.617403 -7.170758 -17.511280
+v -3.991857 -8.625296 -9.176752
+v -2.410517 1.059000 2.223606
+v -2.519812 1.173495 2.187815
+v -2.532810 1.366773 2.879484
+v -2.637705 1.237173 2.799971
+v -2.800118 1.215001 3.217505
+v -2.791281 1.165767 3.033298
+v -2.654012 1.446396 3.475824
+v -2.732704 1.516900 3.793016
+v -2.881153 1.389929 4.017496
+v -2.971820 1.324210 4.086744
+v -3.104060 1.417162 5.154093
+v -3.019729 1.527353 5.233912
+v -2.813499 1.554463 4.375244
+v -3.132950 1.372378 5.304054
+v -3.752214 1.547464 7.835205
+v -3.596785 1.532286 7.544035
+v -3.651015 1.428121 7.395628
+v -3.654595 1.434928 7.261747
+v -3.601527 1.439627 7.142891
+v -3.315700 1.600379 6.677147
+v -3.384304 1.620512 6.945015
+v -3.374203 1.354873 6.488289
+v -3.434331 1.387778 6.429022
+v -3.426846 1.365886 6.271410
+v -3.299068 1.486566 6.095337
+v -3.094391 1.431617 5.478142
+v -3.803399 1.533427 8.008863
+v -3.821666 1.531292 8.192024
+v -3.861509 1.471735 8.852242
+v -3.907048 1.368545 8.707527
+v -3.904932 1.376487 8.561104
+v -3.977393 1.380176 9.062611
+v -3.884195 1.506064 8.961597
+v -3.949867 1.363727 9.287865
+v -3.985674 1.301409 9.202253
+v -3.398758 1.725833 8.333366
+v -3.253285 1.755229 7.776369
+v -3.280855 1.769241 6.970650
+v -3.246413 1.716295 6.441875
+v -3.193418 1.728323 6.192421
+v -3.433510 1.719007 8.467207
+v -3.736811 1.667395 9.010899
+v -3.706606 1.672644 8.870884
+v -3.835604 1.479777 9.223440
+v -3.811576 1.590315 9.113850
+v -2.568917 1.400816 3.176966
+v -1.133380 0.948000 4.268681
+v -1.224256 1.372067 3.336887
+v -1.846550 1.302836 2.855907
+v -2.292016 0.902844 1.773844
+v -2.039442 0.766365 1.493469
+v -1.966668 0.805257 1.641047
+v -2.104911 0.829571 2.376610
+v -2.186570 0.856342 2.717779
+v -1.052995 1.045991 3.977951
+v -1.074464 1.189590 3.970812
+v -2.288805 0.863999 7.386633
+v -2.271616 1.065849 7.327188
+v -2.232937 1.251678 7.293985
+v -2.210776 0.794136 7.233046
+v -2.511605 0.748504 7.939125
+v -1.906736 0.904414 6.456451
+v -2.012794 0.856496 6.702568
+v -1.795274 0.947888 6.223433
+v -2.508731 0.959265 7.937496
+v -2.558489 1.120636 8.029474
+v -2.475895 1.183599 8.039270
+v -3.232596 0.770258 8.997280
+v -3.165744 0.925324 9.053764
+v -2.768694 1.071208 8.672453
+v -2.613187 0.624586 8.133247
+v -2.847492 0.530744 8.643732
+v -3.053725 0.769487 8.933472
+v -3.033436 0.496915 8.933594
+v -2.913510 0.509170 8.795345
+v -2.994191 0.514474 8.940208
+v -3.481288 0.586621 9.123123
+v -1.601316 1.000766 5.687479
+v -4.091049 -9.501571 -7.229911
+v -4.340962 -12.725185 -5.758205
+v -3.684734 -14.427818 -6.408340
+v -2.765826 -16.114586 -7.645758
+v -1.301537 -17.540363 -11.379889
+v 0.854674 -18.023069 -11.719982
+v -3.590017 0.721117 7.423594
+v -3.741590 0.588719 8.408558
+v -3.447826 0.865192 6.565765
+v -3.281820 1.040393 5.456329
+v -2.816889 0.915545 2.885698
+v -2.740735 0.949108 2.534548
+v -3.085370 1.040372 4.297850
+v -3.139295 1.054650 4.573750
+v -3.245192 1.069688 5.153908
+v -3.731787 0.446979 8.987150
+v 4.077778 -18.082066 -9.799907
+v 4.646818 -13.575301 -9.713284
+v 4.424479 -12.812675 -8.982063
+v 4.745570 -12.737321 -6.915695
+v 3.747838 -14.402936 -4.005667
+v 4.276353 -14.450051 -4.227161
+v 5.341959 -11.036375 -6.905029
+v 5.236117 -12.022042 -5.991919
+v 4.839362 -12.497217 -4.473026
+v 5.236387 -11.558940 -7.752205
+v 4.904712 -10.875801 -8.839834
+v 4.563971 -10.410211 -9.217511
+v 4.486142 -10.239489 -10.173481
+v 3.522126 -7.369809 -15.874384
+v 4.660849 -9.448269 -12.266574
+v -1.285678 -6.642293 -17.492580
+v 0.000000 -7.897473 -20.571358
+v 1.307546 -8.094729 -20.571358
+v -3.521459 -7.414746 -13.493056
+v -4.362571 -9.700236 -10.014812
+v -2.735935 1.053457 2.518959
+v -2.388913 0.926100 2.226574
+v -2.641942 1.165712 2.251839
+v -2.545505 1.244434 2.899401
+v -2.729375 1.191624 3.281282
+v -2.733871 1.173052 2.883469
+v -2.636043 1.300422 3.346323
+v -2.791794 1.396446 4.113058
+v -2.779413 1.524721 4.091833
+v -2.881136 1.359462 4.432800
+v -2.918333 1.275808 4.233728
+v -3.044189 1.443137 5.235004
+v -3.021869 1.519066 5.410065
+v -2.799538 1.421655 4.328947
+v -3.040871 1.408170 5.354874
+v -3.650156 1.519982 7.807465
+v -3.574736 1.423000 7.457096
+v -3.627855 1.563246 7.690094
+v -3.507863 1.438423 7.126486
+v -3.297988 1.463734 6.560757
+v -3.379264 1.400537 6.151682
+v -3.220088 1.481556 6.188236
+v -3.210460 1.624396 6.177050
+v -3.035486 1.654445 5.454638
+v -3.774530 1.491308 8.421354
+v -3.740063 1.499254 8.251228
+v -3.842256 1.361326 8.777538
+v -3.852694 1.381179 8.430183
+v -3.988281 1.281520 9.125231
+v -3.898187 1.375754 9.054220
+v -3.810791 1.524795 8.983994
+v -3.872031 1.357697 9.278374
+v -3.572188 1.701446 8.268961
+v -3.533811 1.709926 8.098459
+v -3.451126 1.728108 7.731047
+v -3.445493 1.671218 7.378981
+v -3.355234 1.691694 6.954115
+v -3.299956 1.704193 6.693909
+v -3.139783 1.740603 5.939943
+v -3.668853 1.680405 8.700527
+v -3.631357 1.688548 8.533001
+v -1.167133 0.930230 4.591198
+v -1.238263 0.970588 4.541557
+v -1.152867 1.352828 3.637100
+v -1.548301 1.428338 3.525547
+v -1.713723 1.372067 3.200981
+v -1.710835 1.344305 2.971956
+v -2.215901 1.000319 3.023029
+v -2.179020 1.143916 3.034935
+v -2.068379 1.251849 3.070646
+v -2.156389 0.803546 1.539095
+v -1.998654 0.795162 1.933861
+v -2.255624 0.879246 3.007023
+v -1.138869 1.297522 3.949394
+v -2.304358 0.753434 7.447151
+v -2.125336 0.800711 6.986660
+v -2.387054 0.719339 7.628460
+v -2.460625 0.688262 7.794231
+v -1.729930 0.975583 5.956535
+v -2.417929 1.147936 7.920094
+v -2.495111 1.091088 7.947079
+v -3.310942 0.551431 8.888542
+v -3.209481 0.585861 8.904581
+v -3.196226 0.925434 8.950613
+v -3.074472 0.925213 8.986229
+v -2.731158 0.543966 8.275181
+v -2.818552 0.519308 8.471771
+v -2.533269 0.657559 7.957987
+v -3.070049 0.884860 8.926403
+v -3.113473 0.596531 8.902655
+v -2.956633 0.462883 8.788589
+v -3.007571 0.458902 8.898464
+v -3.421098 0.615083 8.975090
+v -3.552134 0.496540 9.140266
+v -1.374728 0.972717 5.123081
+v -1.270873 0.951615 4.856461
+v -1.483896 0.994456 5.404875
+v -4.361151 -9.561668 -8.537300
+v -4.387308 -9.407585 -7.641455
+v -4.480674 -9.645700 -7.340717
+v -4.788004 -11.010864 -6.603907
+v -5.050541 -12.776568 -5.859840
+v -4.248182 -13.958399 -5.656813
+v -3.782010 -15.340961 -5.948811
+v -3.831128 -15.615227 -7.974550
+v -3.859580 -16.130009 -9.031269
+v -2.467270 -17.119619 -10.961109
+v -1.122148 -18.063782 -13.591816
+v 0.827467 -18.523451 -14.850253
+v -3.560621 0.749479 7.247684
+v -3.619035 0.693175 7.596928
+v -3.753058 0.519255 8.724470
+v -3.314641 0.997609 5.750206
+v -3.353291 0.957397 6.019072
+v -2.914729 0.995185 3.424788
+v -2.798788 0.964481 2.831575
+v -2.856653 0.979805 3.127645
+v -2.973412 1.010725 3.725033
+v -3.030894 1.025946 4.019135
+v -3.190293 1.169919 4.843687
+v -3.224958 1.158507 5.145031
+v -3.713794 0.496100 8.935720
+v -3.641064 0.496210 9.066319
+v 2.732258 -18.590559 -10.922850
+v 1.621707 -18.176683 -12.271843
+v 5.048706 -16.437634 -9.574749
+v 4.577985 -11.987797 -8.303679
+v 4.247025 -14.036179 -2.471319
+v 3.790406 -14.189162 -2.530540
+v 3.649963 -14.590889 -2.711123
+v 4.889395 -13.490766 -5.416918
+v 5.074823 -12.999486 -4.936539
+v 4.744043 -13.460522 -3.507748
+v 4.915175 -11.722982 -8.056074
+v 4.797453 -10.448000 -9.098315
+v 4.486142 -10.512026 -9.581589
+v 4.486142 -9.578882 -11.467708
+v 5.476848 -9.169221 -13.601950
+v -2.577765 -7.183267 -17.584322
+v 2.444794 -8.442010 -20.348928
+v 3.845688 -7.966028 -16.924498
+v -4.482596 -9.311453 -11.599814
+v -3.581752 -7.656901 -16.203487
+v -2.457170 1.071109 2.555971
+v -2.428554 1.185989 2.274147
+v -2.614976 1.238787 2.277464
+v -2.555164 1.271649 3.130617
+v -2.639527 1.135234 2.831844
+v -2.575297 1.169767 2.919056
+v -2.680067 1.126317 3.042219
+v -2.881680 1.287174 4.042866
+v -2.819638 1.321218 4.127705
+v -3.790260 1.403257 7.965908
+v -3.736367 1.408247 7.834114
+v -3.495321 1.559397 7.529015
+v -3.544822 1.583844 7.709717
+v -3.612926 1.346313 7.336123
+v -3.613118 1.322537 7.226227
+v -3.576071 1.354853 7.150326
+v -3.430917 1.433364 7.192734
+v -3.423416 1.575821 7.187191
+v -3.242030 1.607210 6.427536
+v -3.301275 1.384222 6.472982
+v -3.331981 1.326485 6.287094
+v -3.298528 1.372321 6.114588
+v -3.244230 1.397312 6.196692
+v -3.790789 1.395597 8.111794
+v -3.761681 1.532394 8.350636
+v -3.721165 1.389242 8.179842
+v -3.772064 1.496484 8.842623
+v -3.819711 1.252154 8.688148
+v -3.871063 1.286394 8.645847
+v -3.866718 1.263525 8.525826
+v -3.957572 1.307376 9.071960
+v -3.831902 1.368325 9.104242
+v -3.825446 1.490715 9.104877
+v -3.879526 1.290725 9.231787
+v -3.935600 1.270281 9.233112
+v -3.913618 1.243141 9.136982
+v -3.601920 1.694940 8.401478
+v -3.491789 1.719205 7.911860
+v -3.480452 1.663247 7.543547
+v -3.405872 1.680225 7.192478
+v -3.786278 1.595206 8.991243
+v -3.757748 1.600445 8.850864
+v -1.158403 1.069072 4.253748
+v -1.332961 1.407144 3.585604
+v -1.905953 1.326954 3.127039
+v -2.251466 0.791815 1.800737
+v -2.125340 0.754805 1.868130
+v -2.228050 0.789214 2.316589
+v -2.307383 0.815985 2.663618
+v -2.374793 0.838889 2.959005
+v -1.179570 1.212670 4.246622
+v -2.234537 0.746859 7.263391
+v -1.855311 0.933915 6.209614
+v -1.963033 0.890773 6.444284
+v -2.065654 0.842624 6.689293
+v -3.176051 0.770148 8.897678
+v -3.130188 0.977159 8.951536
+v -2.638895 0.576915 8.092560
+v -2.890376 0.489479 8.635761
+v -3.102906 0.769818 8.881075
+v -3.126084 0.491355 8.904940
+v -3.478344 0.770148 9.011902
+v -1.665916 1.041124 5.650396
+v -1.791365 1.015940 5.926617
+v -4.528235 -9.694925 -8.329797
+v -3.919246 -15.424293 -5.354185
+v -4.019528 -16.597004 -5.546144
+v -4.306890 -14.879189 -7.579360
+v -2.941859 -17.540882 -13.446955
+v -0.102589 -18.906734 -15.866870
+v -2.036315 -17.777822 -13.904502
+v 1.534213 -18.270391 -14.269977
+v -3.530813 0.780125 7.055868
+v -3.699574 0.645979 8.227699
+v -3.759590 0.589688 8.625204
+v -3.495058 0.817285 6.833460
+v -3.397707 0.914883 6.283924
+v -3.267798 1.085359 5.708687
+v -3.241671 1.083467 5.442734
+v -2.774102 1.064476 2.825207
+v -3.055604 1.094642 4.306316
+v -3.117165 1.145540 4.567514
+v 3.925449 -19.432449 -11.417793
+v 5.376694 -18.071728 -10.359677
+v 5.437163 -13.653374 -10.119398
+v 4.470726 -11.212248 -9.554605
+v 3.816875 -14.978310 -2.892435
+v 4.282317 -15.088373 -2.953846
+v 4.775162 -14.289412 -4.127319
+v 5.116167 -12.566482 -6.662100
+v 4.931453 -13.869696 -3.817659
+v 4.586931 -10.945292 -9.021564
+v 4.623662 -10.965946 -10.577785
+v 4.619907 -8.629103 -16.351437
+v 5.184970 -9.489334 -12.285465
+v 5.653653 -9.574806 -15.820564
+v -1.307546 -8.094729 -20.571358
+v 0.000000 -9.340547 -22.970987
+v 1.309463 -9.470577 -22.970984
+v 3.534513 -8.172333 -18.155279
+v -4.444673 -8.648066 -13.954831
+v -4.472454 -10.118191 -9.191871
+v -4.642447 -10.740340 -10.660515
+v -2.721405 1.170329 2.471460
+v -2.464782 0.944180 2.580221
+v -2.520702 1.268201 2.215403
+v -2.671896 1.265826 2.428137
+v -2.577621 1.161091 3.079828
+v -2.642159 1.211358 3.250854
+v -2.820468 1.310969 4.276455
+v -3.645898 1.406595 7.808336
+v -3.481739 1.421735 7.435913
+v -3.553224 1.313592 7.372738
+v -3.503069 1.325159 7.124779
+v -3.449890 1.350196 7.185829
+v -3.228878 1.471882 6.384506
+v -3.245885 1.361309 6.331465
+v -3.767121 1.378647 8.406677
+v -3.684056 1.552018 8.372776
+v -3.645414 1.525125 8.240784
+v -3.758680 1.358438 8.754835
+v -3.830209 1.295859 8.440168
+v -3.896840 1.279301 9.057880
+v -3.850206 1.298121 9.102474
+v -3.827946 1.360768 9.198063
+v -3.658118 1.622739 8.379862
+v -3.630055 1.629137 8.247761
+v -3.594266 1.637297 8.079296
+v -3.517109 1.654889 7.716101
+v -3.441145 1.561901 7.364809
+v -3.721870 1.608204 8.679956
+v -3.686157 1.616346 8.511845
+v -1.338811 0.991972 4.803986
+v -1.261974 1.091660 4.525009
+v -1.254925 1.378690 3.913593
+v -1.772006 1.407144 3.463268
+v -1.431344 1.441991 3.863302
+v -2.324068 0.902053 3.293995
+v -2.284845 1.023126 3.307812
+v -2.249226 1.166723 3.319321
+v -2.142369 1.274656 3.353844
+v -2.350358 0.823435 2.254072
+v -2.441735 0.861696 3.252542
+v -1.243070 1.320603 4.225245
+v -2.330570 0.704741 7.487423
+v -2.175734 0.785936 6.973387
+v -2.416717 0.669638 7.664082
+v -2.496259 0.636832 7.798693
+v -1.912905 0.974272 6.185425
+v -3.398381 0.585861 8.826660
+v -3.228495 0.497649 8.869646
+v -3.160359 0.885154 8.899509
+v -3.104954 0.925324 8.883080
+v -2.766157 0.531182 8.058125
+v -2.902972 0.526511 8.234968
+v -2.959900 0.506093 8.425571
+v -2.570038 0.606023 7.928955
+v -3.023504 0.475724 8.592525
+v -3.082710 0.447454 8.747936
+v -3.564080 0.597828 9.105831
+v -3.429568 0.770258 8.911524
+v -1.549336 1.034813 5.359468
+v -1.440632 1.013074 5.071459
+v -4.566902 -10.152218 -8.957321
+v -4.684922 -9.968154 -8.127892
+v -5.023020 -11.324447 -7.505238
+v -5.299202 -13.078661 -6.756243
+v -5.009529 -14.216314 -5.537343
+v -4.387420 -15.388073 -5.091091
+v -3.852617 -16.487656 -5.118752
+v -4.517408 -15.624834 -6.595522
+v -4.384912 -15.450776 -8.623554
+v -4.668878 -14.620790 -7.475020
+v -4.261207 -15.283923 -7.989812
+v -3.756445 -16.527533 -10.879921
+v -3.896382 -16.621923 -12.790886
+v -1.237824 -18.599977 -16.373146
+v -2.027128 -17.938637 -15.062645
+v 1.790797 -18.259329 -15.426045
+v 0.996155 -18.735231 -16.914036
+v -3.653598 0.772198 7.766319
+v -3.670713 0.723903 7.976410
+v -3.716675 0.694919 8.329922
+v -3.757730 0.667091 8.585037
+v -3.743612 0.556337 8.767839
+v -3.329171 1.063329 5.978794
+v -3.360109 1.004437 6.256634
+v -2.823500 1.048973 3.133631
+v -2.968566 1.119575 3.709227
+v -3.008910 1.121457 4.016937
+v -3.190938 1.354726 5.023796
+v -3.175752 1.346761 4.796144
+v -3.140396 1.184627 5.239031
+v -3.638620 0.584466 9.034607
+v 3.117608 -19.496195 -12.104679
+v 2.213455 -19.344856 -13.862419
+v 5.979264 -16.393253 -10.394150
+v 4.712468 -14.146242 -2.532730
+v 4.254239 -14.444717 -1.652031
+v 3.814775 -14.588894 -1.680984
+v 3.682787 -14.987185 -1.758358
+v 4.738936 -14.935390 -2.894625
+v 5.422725 -10.935276 -11.125690
+v 6.123750 -10.734465 -12.378278
+v 6.466701 -11.161672 -15.087220
+v -3.762630 -8.128601 -17.413021
+v -2.380598 -8.480203 -20.463795
+v 2.641108 -10.186878 -22.575493
+v 3.241444 -8.694821 -19.681631
+v 4.379012 -9.391080 -18.161198
+v -5.311064 -10.315386 -12.194746
+v -4.400787 -8.515989 -16.122650
+v -4.486142 -10.732841 -9.993492
+v -2.730943 1.181241 2.699614
+v -2.441703 1.195508 2.505587
+v -2.545507 1.079040 2.860907
+v -2.457981 1.253394 2.294960
+v -2.562159 1.306052 2.425072
+v -3.753539 1.313674 8.049541
+v -3.750425 1.290586 7.929920
+v -3.712626 1.323152 7.843571
+v -3.574245 1.400604 7.875435
+v -3.569684 1.542424 7.881014
+v -3.523762 1.282263 7.234413
+v -3.443175 1.316213 7.271290
+v -3.428004 1.426496 7.321835
+v -3.698604 1.280075 8.090370
+v -3.700333 1.371785 8.475887
+v -3.698462 1.513018 8.491753
+v -3.632725 1.387225 8.155014
+v -3.717570 1.498890 8.666012
+v -3.760569 1.279013 8.680653
+v -3.787151 1.221538 8.534733
+v -3.844159 1.268062 9.165762
+v -3.555151 1.646215 7.895174
+v -1.641464 1.469175 3.804771
+v -1.978540 1.352828 3.404215
+v -2.427274 0.848034 2.606661
+v -2.493040 0.869076 2.908165
+v -2.558482 0.890030 3.208244
+v -1.282865 1.235257 4.517962
+v -2.283638 0.731100 7.253391
+v -2.017756 0.931130 6.424112
+v -2.117728 0.882982 6.670347
+v -2.224635 0.826293 6.951788
+v -3.365536 0.497649 8.816582
+v -3.297031 0.515650 8.843109
+v -2.721875 0.541553 7.953150
+v -3.122057 0.444820 8.862009
+v -3.546900 0.769817 9.025116
+v -3.472066 0.885154 8.932072
+v -1.811844 1.137012 5.916643
+v -1.687449 1.162196 5.638035
+v -1.932104 1.095345 6.177361
+v -3.993059 -16.455978 -4.629387
+v -4.049222 -17.772629 -4.456699
+v -4.484970 -16.858637 -5.529576
+v -4.306159 -15.490077 -9.680772
+v -4.486831 -14.642684 -8.250269
+v -4.386477 -14.943979 -8.074126
+v -4.646968 -16.799423 -13.627773
+v -2.759115 -18.259476 -15.184810
+v 0.009717 -19.291613 -18.553566
+v 1.999516 -18.967812 -15.072716
+v -3.569832 0.772599 7.398449
+v -3.609646 0.784903 7.584562
+v -3.633907 0.680932 8.312035
+v -3.758497 0.678851 8.446213
+v -3.590542 0.726021 8.037716
+v -3.701869 0.648080 8.652966
+v -3.726946 0.582907 8.700476
+v -3.699863 0.545220 8.909336
+v -3.522855 0.893536 7.005867
+v -3.472045 0.910462 6.801765
+v -3.411510 0.911134 6.548552
+v -3.309128 1.263310 5.926098
+v -3.158851 1.123880 5.637821
+v -2.890721 1.098825 3.418282
+v -2.673162 1.102331 2.911442
+v -2.919440 1.158181 4.111027
+v -3.003560 1.175752 4.520782
+v -3.122832 1.357471 5.125166
+v -3.104156 1.339572 4.587082
+v -3.154299 1.096138 5.453720
+v 5.002934 -19.196106 -12.018473
+v 3.874673 -20.727905 -14.689722
+v 5.917397 -17.709742 -11.865386
+v 6.259753 -13.544988 -11.188015
+v 3.846569 -15.377898 -1.835421
+v 4.732218 -15.357125 -1.838627
+v 4.879379 -14.533663 -2.714043
+v 5.577852 -10.401210 -17.887974
+v -3.206382 -8.004064 -18.404819
+v -1.309463 -9.470577 -22.970987
+v 0.000000 -9.998482 -25.252779
+v 2.207547 -10.932720 -25.051235
+v 3.515371 -9.673038 -20.170444
+v -5.284949 -9.812222 -14.700721
+v -4.503701 -10.724659 -9.371143
+v -4.556378 -10.568093 -9.186411
+v -5.111362 -10.894861 -10.979269
+v -4.486142 -11.651937 -9.538235
+v -2.643296 1.192342 2.789230
+v -2.681973 1.249877 2.610123
+v -2.524777 1.198732 2.728495
+v -2.462120 1.284710 2.453732
+v -2.529999 0.959639 2.883690
+v -3.642154 1.293089 7.811741
+v -3.593137 1.317382 7.874462
+v -3.487339 1.341599 7.367382
+v -3.763360 1.265145 8.410004
+v -3.717941 1.288795 8.474262
+v -3.589938 1.527983 8.065214
+v -3.704445 1.363486 8.623114
+v -3.716353 1.253774 8.572329
+v -1.361457 1.113045 4.786495
+v -1.357184 1.402769 4.190208
+v -1.858620 1.441991 3.744251
+v -2.058467 1.378690 3.686962
+v -1.530193 1.469065 4.142107
+v -2.508879 0.884562 3.546928
+v -2.392736 0.924919 3.581863
+v -2.354023 1.045991 3.593508
+v -2.319682 1.189590 3.604660
+v -2.216659 1.297522 3.638123
+v -2.624101 0.911038 3.509123
+v -1.345538 1.343190 4.496815
+v -2.379733 0.688510 7.486137
+v -2.329966 0.771458 7.230761
+v -2.476670 0.648902 7.652435
+v -2.587098 0.603013 7.733095
+v -2.035997 1.052203 6.417389
+v -3.420747 0.770148 8.797337
+v -3.467915 0.491355 8.781296
+v -3.289510 0.445546 8.818676
+v -2.863795 0.524929 8.008612
+v -2.813163 0.522793 7.872629
+v -2.789660 0.526988 7.965378
+v -3.149639 0.506093 8.361189
+v -2.679379 0.563133 7.807028
+v -3.250264 0.447454 8.690336
+v -3.433617 0.925434 8.852505
+v -1.462600 1.134146 5.054251
+v -1.571149 1.155885 5.344336
+v -4.711500 -10.537411 -8.852173
+v -4.989389 -11.811279 -8.402500
+v -5.270140 -14.545654 -6.175315
+v -4.938575 -15.497462 -5.155422
+v -4.449678 -16.427357 -4.460051
+v -3.885441 -17.484501 -4.210754
+v -4.986040 -15.911541 -6.167372
+v -5.124947 -14.746965 -7.008589
+v -4.848177 -13.526343 -8.115924
+v -4.201169 -15.193763 -10.539911
+v -5.103718 -14.518445 -12.168935
+v -3.917228 -18.086512 -14.773738
+v -0.957288 -19.059048 -18.500135
+v -2.401538 -18.026505 -17.156441
+v -2.497774 -18.189093 -15.666453
+v 2.182411 -18.733326 -15.934093
+v 2.360691 -18.170738 -16.189919
+v 1.483467 -18.511879 -18.129606
+v -3.547908 0.846696 7.200323
+v -3.639894 0.931544 7.873446
+v -3.643558 0.958320 7.722149
+v -3.627630 0.852555 8.313572
+v -3.616725 0.643764 8.189604
+v -3.752129 0.853921 8.419491
+v -3.569811 0.912673 7.947815
+v -3.678115 0.822288 8.586760
+v -3.744258 0.838170 8.529598
+v -3.692079 0.566922 8.754745
+v -3.651930 0.561594 8.832064
+v -3.317963 1.232686 6.135277
+v -3.276127 1.017269 6.328041
+v -3.244665 1.291908 5.722294
+v -2.765086 1.134613 3.359177
+v -2.723973 1.078564 3.151173
+v -2.967721 1.296227 3.895897
+v -2.954022 1.286608 3.661657
+v -2.890874 1.303135 3.995144
+v -2.966348 1.115573 4.331768
+v -3.093311 1.516445 5.004618
+v -3.147431 1.472308 4.939320
+v -3.082240 1.461504 4.615519
+v -3.039500 1.157787 5.206909
+v -3.073793 1.079489 5.478769
+v -3.614901 0.613540 8.882538
+v 2.898387 -20.382143 -14.482897
+v 2.436626 -20.475409 -17.006248
+v 6.294302 -16.281822 -12.694378
+v 4.703747 -14.564198 -1.675934
+v 4.228344 -14.599416 -1.055630
+v 3.791748 -14.724952 -1.045046
+v 3.666714 -15.095341 -1.029308
+v 4.294415 -15.499341 -1.863453
+v 4.865867 -14.956872 -1.757126
+v 6.578827 -13.748240 -13.906740
+v 6.266082 -11.917891 -17.735559
+v -4.338640 -8.809469 -17.337772
+v -3.873507 -8.780760 -18.109459
+v -2.984661 -8.847593 -20.141106
+v -2.583825 -10.475450 -22.677214
+v 1.256895 -10.106104 -25.252779
+v 2.734525 -12.031039 -22.915844
+v 3.290338 -11.589272 -20.998051
+v 4.262107 -11.157269 -18.998280
+v -5.804394 -11.816028 -12.472257
+v -5.049112 -9.535397 -17.188936
+v -5.265757 -12.223587 -11.063880
+v -4.572484 -12.307289 -10.184896
+v -2.613314 1.282336 2.666466
+v -2.528188 1.263246 2.630543
+v -2.625358 1.057583 3.171511
+v -3.665994 1.249470 7.936712
+v -3.590332 1.282578 7.972193
+v -3.576803 1.392580 8.022270
+v -3.635854 1.307580 8.081276
+v -1.735499 1.498246 4.086605
+v -2.594942 0.975032 3.185883
+v -2.660054 0.990466 3.488869
+v -1.382170 1.256642 4.779789
+v -2.425213 0.728868 7.469589
+v -2.135087 1.004054 6.664032
+v -2.240935 0.947365 6.944590
+v -2.345409 0.892529 7.223215
+v -3.475795 0.596531 8.767956
+v -3.448546 0.444820 8.747845
+v -3.085662 0.525987 8.162643
+v -3.201753 0.475724 8.531654
+v -3.596746 0.769487 8.967726
+v -3.516513 0.925324 8.921001
+v -1.949715 1.238942 6.171974
+v -1.830558 1.280610 5.910862
+v -1.591435 1.299483 5.338093
+v -2.052851 1.195800 6.412239
+v -5.195547 -13.404305 -7.743053
+v -4.017429 -17.212259 -3.947371
+v -3.869368 -17.948099 -3.517414
+v -4.497068 -17.920444 -4.499369
+v -4.941589 -17.012449 -5.245625
+v -4.498472 -13.730445 -8.651589
+v -4.400558 -14.565763 -11.587035
+v -5.790842 -14.256640 -13.354607
+v -5.180489 -17.998566 -15.272104
+v -4.131280 -18.852259 -16.648418
+v -1.435424 -18.688499 -19.307005
+v -3.168143 -18.733330 -16.847414
+v 2.252904 -19.754730 -16.592638
+v -0.001341 -19.127056 -21.435316
+v -3.515469 0.808620 7.542814
+v -3.516877 0.857716 7.238420
+v -3.594960 0.978306 7.586403
+v -3.557510 0.836120 8.370722
+v -3.710371 0.861423 8.324720
+v -3.541235 0.606586 8.215759
+v -3.484339 0.909835 7.924900
+v -3.498861 0.680406 8.025179
+v -3.599350 0.813973 8.575623
+v -3.619236 0.585829 8.686991
+v -3.510119 1.047890 7.102062
+v -3.508200 1.084810 6.949934
+v -3.367598 0.940589 6.748474
+v -3.247377 1.218788 6.213787
+v -3.326364 0.917521 6.552986
+v -3.276968 1.378242 6.051464
+v -3.267810 1.448588 5.884604
+v -3.148365 1.299730 5.659914
+v -2.877495 1.280481 3.441927
+v -2.803952 1.128401 4.071796
+v -2.878012 1.097743 4.360149
+v -3.003034 1.339157 4.541487
+v -3.024776 1.355635 5.080616
+v -3.133001 1.508413 4.757851
+v 5.638865 -18.404341 -13.777104
+v 4.798553 -20.499329 -15.224672
+v 3.877667 -21.697708 -17.775438
+v 4.676991 -14.724213 -1.065313
+v 3.834547 -15.468099 -1.025833
+v 4.276551 -15.600740 -1.052032
+v 4.838180 -15.104815 -1.078354
+v 4.706502 -15.483050 -1.079132
+v 6.315798 -14.127770 -16.732990
+v 5.111912 -11.343553 -18.750849
+v -3.473932 -8.602509 -18.673977
+v -3.027694 -10.234321 -21.417757
+v -2.211589 -10.958425 -25.099072
+v -1.256895 -10.106104 -25.252779
+v 1.169165 -10.289432 -27.428160
+v 2.545714 -12.982082 -24.446592
+v 2.048033 -11.057269 -27.346647
+v 3.652482 -10.835378 -20.068048
+v -5.837398 -11.380249 -15.512897
+v -4.522153 -11.430696 -9.200741
+v -4.630184 -11.055757 -9.096251
+v -4.486142 -12.386351 -9.074480
+v -1.457735 1.425356 4.462471
+v -1.946504 1.469065 4.029364
+v -2.139890 1.402769 3.974806
+v -2.292341 1.320603 3.927349
+v -1.627197 1.491653 4.415827
+v -2.690398 0.932244 3.813030
+v -2.576891 0.907643 3.844858
+v -2.462466 0.948000 3.873796
+v -2.424325 1.069072 3.883442
+v -2.391329 1.212670 3.894419
+v -2.725783 1.006045 3.794712
+v -1.444307 1.364575 4.759668
+v -2.440372 0.849940 7.464073
+v -2.541367 0.682858 7.677837
+v -2.690370 0.601515 7.704868
+v -2.151457 1.147651 6.658974
+v -3.434768 0.885154 8.790085
+v -3.472058 0.769818 8.742693
+v -3.559384 0.496915 8.748882
+v -3.001562 0.522831 7.919729
+v -2.902446 0.524315 7.639187
+v -3.275077 0.526511 8.109257
+v -3.380002 0.475724 8.470783
+v -3.417817 0.447454 8.632736
+v -3.560602 0.884860 8.901459
+v -3.488836 0.977159 8.816364
+v -1.483141 1.277744 5.047897
+v -1.707194 1.305793 5.631901
+v -4.781364 -12.189919 -8.697878
+v -5.132272 -15.770517 -5.600760
+v -4.915121 -16.506556 -4.558094
+v -4.456892 -17.112104 -3.852383
+v -3.994401 -17.598593 -3.393806
+v -4.037201 -18.295231 -3.653282
+v -4.559948 -12.401299 -8.789247
+v -4.246165 -14.353775 -10.579421
+v -5.504758 -16.647423 -14.426367
+v -2.839470 -18.236664 -17.252865
+v 2.372510 -19.682272 -17.440157
+v 2.693780 -18.809404 -16.961315
+v 3.213127 -18.031851 -17.011456
+v 1.585609 -17.597321 -21.874037
+v -3.501057 0.781817 7.377169
+v -3.455806 0.999443 7.172621
+v -3.548610 1.099829 7.854977
+v -3.603924 1.064379 7.810261
+v -3.603921 1.127129 7.685726
+v -3.571406 0.971156 8.353970
+v -3.557855 0.620233 8.384804
+v -3.684589 0.982514 8.323589
+v -3.709739 0.963204 8.471657
+v -3.713175 1.017013 8.380898
+v -3.488328 1.054864 7.846924
+v -3.600091 0.952337 8.502045
+v -3.605271 0.549814 8.755428
+v -3.561723 0.584579 8.768040
+v -3.458467 1.106064 6.809586
+v -3.221496 1.417897 6.100370
+v -3.173237 0.988121 6.278030
+v -3.247606 0.892707 6.572168
+v -3.222388 1.421994 5.744833
+v -3.076819 1.287315 5.736002
+v -3.077933 1.077507 5.726849
+v -2.765861 1.284046 3.386211
+v -2.860702 1.447845 3.871439
+v -2.921341 1.404291 3.807846
+v -2.908063 1.435449 3.621323
+v -2.782774 1.305271 3.942160
+v -2.931862 1.343320 4.641809
+v -2.923291 1.148699 4.629900
+v -3.023439 1.473403 4.981096
+v -3.043538 1.563333 4.769875
+v -3.003463 1.502710 4.566856
+v -3.024817 1.064586 5.232235
+v -2.965553 1.171053 4.920969
+v -3.589391 0.769377 8.856285
+v 2.921307 -21.562050 -18.216969
+v 6.000237 -16.766064 -15.815670
+v 4.258381 -14.612415 -0.513508
+v 3.547766 -15.104903 -0.485868
+v 5.336394 -12.704113 -18.806343
+v -4.619647 -9.634929 -18.351143
+v -4.141411 -9.119733 -18.008512
+v -3.723799 -9.564291 -19.280600
+v -3.354230 -9.205942 -19.710855
+v -3.270071 -9.971164 -20.639057
+v -3.265703 -11.739372 -21.030657
+v -2.561881 -13.084896 -24.637943
+v -1.169165 -10.289432 -27.428160
+v 0.000000 -10.184891 -27.428160
+v 3.045569 -12.121562 -21.622208
+v 2.789495 -14.303283 -22.322468
+v 2.346310 -12.942629 -27.102119
+v 3.971157 -12.977036 -19.502113
+v -5.442083 -11.060653 -18.436758
+v -4.426147 -13.135187 -9.407797
+v -2.674560 1.109390 3.464468
+v -1.827495 1.520833 4.362318
+v -2.718178 1.128878 3.770180
+v -2.522470 0.833293 7.677795
+v -2.257028 1.090963 6.939497
+v -2.361254 1.036127 7.218128
+v -2.455828 0.993537 7.459183
+v -3.542080 0.769487 8.758654
+v -3.561500 0.458902 8.706398
+v -3.166233 0.524929 7.906590
+v -3.339378 0.506093 8.296806
+v -3.554377 0.925213 8.813995
+v -2.103412 1.303733 6.396786
+v -2.002550 1.346875 6.155815
+v -1.886702 1.388543 5.893518
+v -1.544763 1.385677 5.028839
+v -1.652293 1.407416 5.319363
+v -2.200569 1.255584 6.643799
+v -4.430997 -17.478174 -3.356781
+v -3.750420 -18.159756 -3.016794
+v -4.479204 -18.408518 -3.727085
+v -4.934871 -17.866180 -4.380289
+v -5.082032 -16.798338 -4.870874
+v -5.897129 -13.825171 -16.173536
+v -5.125870 -18.563734 -17.096643
+v -5.606254 -17.498199 -16.506014
+v -4.205405 -19.179399 -19.811665
+v -2.658425 -17.486631 -19.562254
+v -1.520827 -17.791107 -21.828266
+v -3.338956 -18.854805 -20.018887
+v 2.412130 -17.706881 -18.715240
+v -0.012023 -17.565849 -24.511578
+v -3.508256 0.976802 7.558678
+v -3.415103 0.741769 7.437595
+v -3.463567 0.847420 7.249569
+v -3.570270 1.099418 7.596184
+v -3.561747 1.008510 8.418587
+v -3.619801 1.026643 8.301456
+v -3.553616 0.820921 8.480841
+v -3.491148 0.591124 8.042004
+v -3.521289 0.558952 8.227657
+v -3.434509 0.931154 7.784344
+v -3.449846 0.728141 7.830004
+v -3.655121 0.998880 8.498024
+v -3.572018 0.617966 8.539848
+v -3.599674 0.501369 8.685146
+v -3.416088 1.219403 7.074047
+v -3.469935 1.188862 7.034878
+v -3.467709 1.257255 6.910725
+v -3.369339 1.107511 6.774364
+v -3.152039 1.225126 6.153831
+v -3.179866 1.510413 5.877941
+v -3.098342 1.419996 5.755707
+v -3.147238 1.477352 5.684967
+v -3.054245 1.034596 5.507360
+v -2.853460 1.393051 3.470762
+v -2.790107 1.021291 4.094025
+v -2.955523 1.463860 4.656366
+v -2.851008 1.035726 4.377405
+v -2.950114 1.349866 4.870510
+v -2.973083 1.064651 4.945446
+v 5.326267 -19.813587 -16.829521
+v 4.708159 -21.563734 -18.219650
+v 3.886650 -22.071123 -18.834690
+v 2.562610 -20.631218 -18.946220
+v 4.684436 -14.738305 -0.529955
+v 3.655863 -14.683772 -0.419413
+v 3.731267 -15.445430 -0.253353
+v 4.295041 -15.515339 -0.413219
+v 4.698798 -15.425539 -0.483204
+v 4.829919 -15.087934 -0.520983
+v 5.295169 -16.440598 -17.576029
+v 5.392079 -14.548226 -18.124176
+v -4.132546 -9.761125 -18.833107
+v -3.469275 -10.532671 -20.422359
+v -3.113646 -13.000391 -21.254414
+v -2.350352 -12.968332 -27.149954
+v -2.778682 -13.384315 -22.473423
+v -2.049044 -11.063695 -27.358606
+v 1.864789 -11.019173 -29.487228
+v 1.065594 -10.308676 -29.508547
+v 3.339652 -13.375937 -20.616756
+v 2.979999 -13.494449 -21.627930
+v 2.207547 -15.299158 -24.547668
+v 2.048033 -14.950785 -27.034012
+v 2.131187 -12.769504 -29.423271
+v -1.554665 1.446741 4.725906
+v -2.219106 1.425356 4.254967
+v -2.032202 1.491653 4.307377
+v -2.365996 1.343190 4.209049
+v -2.461159 1.235257 4.177044
+v -1.720043 1.513037 4.678272
+v -2.755247 0.952996 4.110340
+v -2.643328 0.930230 4.136017
+v -2.530491 0.970588 4.158787
+v -2.492879 1.091660 4.166378
+v -2.537581 0.971130 7.673126
+v -2.632082 0.736378 7.861628
+v -2.938259 0.610024 7.767862
+v -2.305304 1.198896 6.924221
+v -3.471480 0.925324 8.745499
+v -3.524607 0.884860 8.761917
+v -3.595159 0.514474 8.730968
+v -3.121891 0.522793 7.768686
+v -3.276511 0.531182 7.886166
+v -3.479725 0.519308 8.247330
+v -3.511875 0.489479 8.423443
+v -3.542399 0.462883 8.587193
+v -1.766429 1.413726 5.613501
+v -4.906400 -17.214035 -3.919140
+v -4.879645 -17.590343 -3.412334
+v -4.461035 -17.692526 -2.858667
+v -3.858516 -17.793842 -2.797995
+v -3.933921 -18.562449 -2.928139
+v -4.497695 -18.567656 -3.102547
+v -5.731097 -16.185112 -16.549091
+v -1.912546 -17.989904 -19.927788
+v -2.983516 -17.886969 -20.637638
+v 2.595861 -19.536968 -18.026705
+v 3.465264 -19.364046 -18.669168
+v 4.089086 -17.203691 -17.303156
+v 1.256895 -16.911358 -24.581360
+v 3.200130 -16.581133 -19.216473
+v -3.436942 0.959265 7.628237
+v -3.362318 0.814715 7.241301
+v -3.435472 0.748504 7.631193
+v -3.447124 1.120636 7.732311
+v -3.521019 1.183597 7.694275
+v -3.632324 1.071208 8.382935
+v -3.459807 0.624586 7.848927
+v -3.550997 0.530744 8.403154
+v -3.581039 0.509170 8.565763
+v -3.349062 1.032644 7.134384
+v -3.433242 1.229021 6.818024
+v -3.295666 1.092868 6.836861
+v -3.291337 0.887152 6.832687
+v -3.153775 1.374925 6.064489
+v -3.167979 0.898110 6.307201
+v -3.103289 1.050089 5.999304
+v -3.100924 1.446661 5.900734
+v -3.086615 1.255208 5.947605
+v -3.079148 0.989806 5.774311
+v -2.685479 1.292384 3.482729
+v -2.766942 1.433527 3.414738
+v -2.783296 1.411414 3.841305
+v -2.808973 1.489717 3.627224
+v -2.702713 1.300573 3.719700
+v -2.963773 1.510742 4.813623
+v -2.911121 1.049971 4.657125
+v -2.940863 1.012005 4.959747
+v -2.996103 1.016721 5.252270
+v 3.094630 -21.963696 -19.240356
+v 2.712909 -21.360857 -20.078457
+v 5.424982 -18.889521 -18.200432
+v 4.433393 -14.595860 0.142944
+v 4.057863 -14.573668 0.214668
+v 3.202958 -14.938513 -0.040464
+v 3.271964 -15.205423 -0.089922
+v 4.379463 -14.900000 -18.681984
+v -4.695763 -11.001632 -19.494793
+v -3.928229 -10.920026 -19.789246
+v -3.781302 -12.913196 -20.116098
+v -2.064072 -14.987968 -26.958744
+v -2.271703 -15.447892 -24.246595
+v -1.864789 -11.019173 -29.487228
+v -1.065594 -10.308676 -29.508547
+v 0.000000 -10.213386 -29.508547
+v 2.521536 -15.975723 -22.019978
+v 3.265449 -15.395545 -20.178827
+v 1.864789 -14.598433 -29.359312
+v 3.849742 -15.073487 -19.008095
+v -5.495056 -13.437280 -18.900530
+v -1.914541 1.542218 4.623184
+v -2.588343 0.856289 7.875023
+v -2.763301 0.647046 7.821442
+v -3.113217 0.647046 7.714283
+v -2.408789 1.144060 7.202858
+v -2.502197 1.101470 7.444508
+v -2.582914 1.074894 7.659117
+v -3.199201 0.526988 7.827425
+v -3.200146 0.563133 7.634254
+v -3.439474 0.543966 8.036198
+v -2.284896 1.337750 6.616282
+v -2.190771 1.385900 6.369123
+v -2.094288 1.429041 6.127407
+v -1.870014 1.495893 5.582081
+v -1.653312 1.467843 4.995670
+v -1.759012 1.489582 5.286907
+v -2.387538 1.281062 6.896353
+v -3.405612 -18.171585 -2.541471
+v -3.474618 -18.400764 -2.686954
+v -4.909156 -18.289215 -3.708313
+v -4.901452 -18.458229 -3.133965
+v -5.068521 -17.548052 -4.140995
+v -5.070100 -18.852423 -20.183529
+v -5.511144 -17.631577 -18.379662
+v -4.210555 -19.272888 -22.678036
+v -2.751413 -16.200703 -21.424038
+v -1.304986 -17.009785 -24.302237
+v -3.393265 -18.984394 -22.941359
+v 4.511966 -18.956387 -18.672670
+v -0.003006 -16.435612 -26.993866
+v -3.453579 1.091088 7.628572
+v -3.502435 1.147936 7.563061
+v -3.365033 0.719339 7.303989
+v -3.396730 0.688262 7.482559
+v -3.428067 0.657559 7.658939
+v -3.350375 1.181714 7.058069
+v -3.382243 1.314178 6.910896
+v -3.312906 1.222784 6.838972
+v -3.363563 1.278604 6.779041
+v -3.230455 0.845035 6.599199
+v -3.117301 0.945339 6.036581
+v -3.032114 0.990336 5.539127
+v -2.712273 1.401444 3.501795
+v -2.816522 0.972643 4.391422
+v -2.877351 0.992031 4.669991
+v 5.075001 -21.159201 -19.550863
+v 4.676363 -21.971680 -19.244778
+v 3.163450 -22.422380 -19.127636
+v 2.826969 -20.148643 -19.545980
+v 4.874684 -15.016675 0.071724
+v 4.778315 -14.718493 0.101065
+v 3.591788 -14.652080 0.167414
+v 3.379123 -15.429614 0.057364
+v 4.072839 -15.336843 0.273022
+v 4.746111 -15.296959 0.082096
+v 5.061866 -17.945946 -18.033571
+v 4.693569 -16.088823 -17.900393
+v -3.618275 -14.825089 -20.366501
+v -3.013664 -14.131717 -21.242569
+v -1.864789 -14.598433 -29.359312
+v -2.131187 -12.769504 -29.423271
+v 1.946164 -12.536846 -31.591909
+v 1.702894 -10.907518 -31.598875
+v 0.973082 -10.249687 -31.601200
+v 3.559533 -15.196174 -19.405909
+v 1.169165 -16.082623 -27.011312
+v 1.065594 -15.544731 -29.337990
+v 1.702894 -14.249395 -31.584938
+v -2.434202 1.364575 4.470753
+v -2.292409 1.446741 4.514669
+v -2.112259 1.513037 4.567064
+v -2.526162 1.256642 4.440998
+v -2.556815 1.113045 4.431080
+v -1.814637 1.534139 4.946980
+v -2.705742 0.951615 4.410089
+v -2.594047 0.991972 4.425831
+v -2.603339 0.976842 7.870426
+v -2.820683 0.727739 8.009178
+v -2.995641 0.690717 7.955599
+v -3.170600 0.727739 7.902020
+v -3.114483 0.601515 7.571861
+v -2.489214 1.226226 7.175186
+v -3.251099 0.541553 7.775423
+v -3.411267 0.576915 7.833328
+v -1.984571 1.470709 5.863655
+v -4.887090 -17.803185 -2.920900
+v -4.260516 -17.928295 -2.168629
+v -3.794442 -17.983410 -2.241728
+v -4.275493 -18.658121 -2.399265
+v -3.581777 -18.663721 -2.633965
+v -5.040834 -17.938593 -3.566454
+v -4.948765 -18.549877 -2.561518
+v -5.435143 -16.011583 -19.487028
+v -3.235932 -16.913441 -22.483007
+v -3.064437 -18.113285 -23.736744
+v 4.883280 -20.639059 -20.900944
+v -3.332212 0.753434 7.107433
+v -3.311276 0.863999 7.048563
+v -3.305779 1.251678 6.940517
+v -3.292295 1.065849 6.989666
+v -3.290081 0.794136 6.877604
+v -3.100365 0.904414 6.068367
+v -3.150170 0.856496 6.331141
+v -3.062376 0.947888 5.813454
+v -2.719581 1.445922 3.664854
+v -2.837055 0.994456 4.979683
+v -2.899209 1.000766 5.280224
+v 4.672076 -22.437908 -19.148418
+v 2.862814 -22.169395 -20.265871
+v 3.922549 -22.513523 -18.757351
+v 2.783607 -21.651876 -20.463036
+v 2.960150 -21.007044 -21.158319
+v 4.321025 -14.591992 0.965080
+v 4.659937 -14.647119 0.827986
+v 3.869668 -14.576805 0.333540
+v 3.232875 -14.808080 0.258120
+v 2.857518 -15.215517 0.279902
+v 2.966332 -15.416633 0.224134
+v 3.694095 -15.392502 0.273903
+v 4.416203 -15.365895 0.159353
+v 4.461820 -16.751169 -17.809332
+v -4.657100 -13.306227 -19.810387
+v -1.065594 -15.544731 -29.337990
+v -1.181187 -16.107227 -26.941528
+v -1.946164 -12.536846 -31.591909
+v -1.702894 -10.907518 -31.598875
+v -0.973082 -10.249687 -31.601200
+v 0.000000 -10.163646 -31.601200
+v 0.973082 -15.156901 -31.582615
+v -2.003372 1.563320 4.890205
+v -2.689465 0.810140 8.049364
+v -2.645726 0.909260 8.062757
+v -3.052266 0.794705 8.140858
+v -3.227224 0.831726 8.087276
+v -3.244436 0.736562 7.674097
+v -2.877308 0.831726 8.194437
+v -2.580441 1.183636 7.418625
+v -2.659383 1.153955 7.635178
+v -2.648328 1.068100 7.856638
+v -3.233802 0.603013 7.522551
+v -3.375753 0.606023 7.660124
+v -2.505503 1.347358 6.853474
+v -2.406912 1.404047 6.574196
+v -2.318019 1.452195 6.327353
+v -2.128463 1.537005 5.820309
+v -1.916881 1.555878 5.239487
+v -2.022811 1.562189 5.536896
+v -2.603728 1.292523 7.132879
+v -5.032573 -18.130913 -3.043041
+v -4.636046 -17.922121 -2.243454
+v -3.435528 -18.161987 -2.215784
+v -3.060172 -18.548126 -2.347610
+v -3.896749 -18.710087 -2.419216
+v -4.618857 -18.642662 -2.515564
+v -3.168986 -18.713905 -2.474396
+v -4.465149 -15.488886 -20.416769
+v -5.025276 -18.978394 -22.987177
+v -5.420276 -17.865534 -21.302036
+v -4.217680 -19.337671 -23.662098
+v -4.081401 -16.489775 -22.432777
+v -3.423342 -19.077028 -23.943369
+v 3.773008 -20.734131 -21.249668
+v 0.000000 -15.797223 -29.337990
+v -3.326464 0.704741 7.159416
+v -3.354240 0.669638 7.354822
+v -3.363707 0.636832 7.511173
+v -3.215877 0.800711 6.629032
+v -2.943856 0.975583 5.573719
+v -2.768772 0.972717 4.685253
+v 4.980463 -21.662872 -20.469362
+v 4.943992 -22.190626 -20.294226
+v 3.038639 -23.578548 -19.652887
+v 3.321621 -23.654984 -18.717924
+v 4.834658 -15.227796 0.631031
+v 4.960490 -15.004500 0.671318
+v 3.955236 -14.561141 0.851522
+v 4.915864 -14.760933 0.756781
+v 3.657543 -14.676002 0.701895
+v 3.320489 -14.833595 0.579428
+v 3.124642 -15.563269 0.314095
+v 3.463666 -15.431876 0.349009
+v 3.903896 -15.323158 0.392628
+v 4.579211 -15.280794 0.695341
+v -3.365662 -15.740166 -21.093288
+v -0.973082 -15.156901 -31.582615
+v -1.702894 -14.249397 -31.584938
+v 1.607429 -13.910974 -33.772270
+v 1.837061 -12.318800 -33.789886
+v 1.607429 -10.811393 -33.807503
+v 0.918530 -10.198311 -33.813374
+v 0.000000 -15.409393 -31.582615
+v 0.918531 -14.778353 -33.766399
+v -2.593184 1.277744 4.710876
+v -2.504372 1.385677 4.738379
+v -2.367610 1.467843 4.780313
+v -2.194153 1.534139 4.832787
+v -2.622787 1.134146 4.701710
+v -2.659284 1.013074 4.697596
+v -2.660722 1.005298 8.058163
+v -3.301818 0.810417 7.861835
+v -3.107251 0.912872 8.320751
+v -3.220094 0.682888 7.466644
+v -2.724205 1.137844 7.833345
+v -2.691524 1.249933 7.380112
+v -2.228607 1.495337 6.085276
+v -5.077338 -18.285965 -2.466553
+v -4.980968 -18.020266 -2.328068
+v -4.523678 -18.225307 -1.479254
+v -4.072321 -17.975559 -2.059511
+v -3.523142 -18.305555 -1.927206
+v -4.106550 -18.690056 -2.283192
+v -4.781865 -18.763706 -1.986534
+v -3.666320 -18.774643 -2.364227
+v -3.327296 -18.883518 -2.445648
+v -5.132016 -16.863173 -22.330631
+v -3.305766 -17.238905 -24.840364
+v -3.099025 -18.266598 -24.811787
+v 4.735350 -21.351316 -21.692364
+v -3.280353 0.746859 6.919353
+v -2.981887 0.933915 5.851173
+v -3.024199 0.890773 6.103598
+v -3.076584 0.842624 6.361805
+v -2.732353 1.034813 4.996746
+v -2.800973 1.041124 5.304161
+v 4.866925 -23.608477 -19.734655
+v 4.664211 -23.677166 -18.778929
+v 3.082472 -21.921715 -21.411198
+v 3.212729 -23.509594 -20.608295
+v 4.006294 -23.690262 -18.433310
+v 3.021799 -21.342800 -21.687298
+v 3.926274 -14.552378 1.531494
+v 4.604486 -14.896525 1.487652
+v 4.844571 -14.863548 1.455879
+v 2.887752 -15.079716 0.497738
+v 2.628531 -15.620112 0.594923
+v 2.757896 -15.758256 0.521902
+v 3.490511 -15.278191 0.617931
+v 3.722696 -15.252090 0.717607
+v 3.976965 -15.242002 0.824003
+v 4.290070 -15.168470 0.884462
+v -1.607429 -13.910974 -33.772270
+v -1.837061 -12.318800 -33.789886
+v -1.607429 -10.811393 -33.807503
+v -0.918531 -10.198311 -33.813374
+v 0.000000 -10.115351 -33.813374
+v 0.000000 -15.030844 -33.766399
+v -2.100723 1.585059 5.184391
+v -2.746089 0.906452 8.234623
+v -2.702350 0.982543 8.248016
+v -3.358443 0.906636 8.047092
+v -3.268669 0.947842 8.271317
+v -3.288176 0.857027 7.660704
+v -3.231417 0.833478 7.458290
+v -2.945832 0.947842 8.370182
+v -2.767901 1.217680 7.600716
+v -2.831867 1.193856 7.800232
+v -2.705710 1.078453 8.044374
+v -3.279680 0.648902 7.392838
+v -2.731944 1.321703 7.085522
+v -2.638577 1.376539 6.805035
+v -2.545545 1.433227 6.526215
+v -2.463443 1.481376 6.279451
+v -2.199990 1.591370 5.484785
+v -2.294570 1.566186 5.770437
+v -2.815054 1.279114 7.337286
+v -4.862590 -18.225296 -1.627016
+v -4.157889 -18.154312 -1.573095
+v -3.860196 -18.205044 -1.754776
+v -3.090406 -18.503416 -2.094833
+v -2.831184 -19.041048 -2.206314
+v -4.179619 -18.775726 -1.852690
+v -3.925350 -18.745384 -1.955166
+v -4.492723 -18.730068 -1.769159
+v -3.693165 -18.732409 -2.057381
+v -2.960550 -19.141966 -2.325607
+v -5.037312 -18.690538 -2.026423
+v -5.003491 -19.055401 -23.961994
+v -5.346392 -18.100546 -23.909164
+v -3.473645 -19.898066 -24.035627
+v -4.171028 -16.920113 -25.044062
+v -3.130943 -19.235470 -24.880356
+v 3.877420 -21.243620 -22.097708
+v -3.213073 0.731100 6.948429
+v -3.265395 0.688510 7.197651
+v -3.144839 0.785936 6.656616
+v -2.852864 1.015940 5.600719
+v 4.695614 -21.938038 -21.432943
+v 4.612567 -23.532305 -20.669941
+v 3.276369 -25.439056 -19.673870
+v 3.109997 -25.345928 -18.924583
+v 3.376719 -25.478844 -17.972162
+v 4.950655 -15.348528 1.177860
+v 5.075350 -15.164885 1.249352
+v 3.692544 -14.661620 1.459137
+v 4.168602 -14.599836 1.581404
+v 4.348029 -14.892138 1.183931
+v 5.054322 -14.961786 1.366236
+v 3.620040 -14.966415 0.842047
+v 3.006772 -15.057892 0.724499
+v 2.936642 -15.842270 0.568190
+v 3.242894 -15.535629 0.533442
+v 4.723239 -15.388410 1.224392
+v -0.918531 -14.778353 -33.766399
+v 0.875392 -14.507343 -35.860916
+v 1.531936 -13.679147 -35.882027
+v 1.750784 -12.204523 -35.945339
+v 1.531936 -10.814666 -36.008652
+v 0.875392 -10.240767 -36.029758
+v 0.000000 -14.759834 -35.860916
+v -2.697452 1.155885 5.002436
+v -2.669069 1.299483 5.011284
+v -2.583921 1.407416 5.037830
+v -2.452515 1.489582 5.078299
+v -2.285358 1.555878 5.128906
+v -2.717347 1.051123 8.243422
+v -3.345558 0.910367 7.848438
+v -3.159713 1.036103 8.492390
+v -3.198848 0.728868 7.221170
+v -2.889250 1.179422 7.987972
+v -2.781587 1.134552 8.021082
+v -2.887981 1.245709 7.562584
+v -2.382906 1.524518 6.036831
+v -5.163144 -18.498405 -1.905722
+v -5.118517 -18.304319 -1.735548
+v -4.128927 -18.399910 -0.938969
+v -4.807140 -18.702845 -1.108063
+v -3.209425 -18.567785 -1.876307
+v -3.822694 -18.526779 -1.733116
+v -4.925892 -19.060965 -1.535852
+v -3.445547 -18.939724 -2.231833
+v -3.139295 -19.237185 -2.314014
+v -5.153309 -19.006599 -1.564138
+v -5.089707 -17.220676 -24.807095
+v -4.970357 -19.869171 -24.116524
+v -4.239357 -20.106258 -23.789894
+v -3.325509 -17.448784 -25.686527
+v -3.307737 -18.562986 -25.752216
+v 3.884257 -21.846500 -21.802746
+v -2.897627 0.974272 5.878933
+v -2.944862 0.931130 6.131311
+v -3.070388 0.826293 6.676462
+v -2.822534 1.137012 5.609720
+v 4.587674 -25.520329 -19.764648
+v 4.879823 -25.417440 -19.075195
+v 4.104342 -25.271294 -17.886124
+v 3.899270 -23.496759 -20.954231
+v 3.911059 -25.512363 -19.959049
+v 3.640695 -14.740166 2.171391
+v 3.862617 -14.648273 2.217241
+v 4.492459 -15.087073 1.430918
+v 4.749331 -15.238773 1.990583
+v 4.970717 -15.213586 1.965912
+v 3.424577 -15.034533 0.697050
+v 2.651247 -15.501897 0.778339
+v 2.531418 -16.080246 0.868687
+v 2.668002 -16.164812 0.776644
+v 3.272360 -15.394012 0.743862
+v 3.731004 -15.138631 1.406551
+v 3.960664 -15.179186 1.441702
+v 4.526155 -15.297075 1.328793
+v -0.875392 -14.507343 -35.860916
+v -1.531936 -13.679147 -35.882027
+v -1.750784 -12.204523 -35.945339
+v -1.531936 -10.814666 -36.008652
+v -0.875392 -10.240767 -36.029758
+v -0.000001 -10.157807 -36.029758
+v -2.824768 1.012591 8.407257
+v -2.784414 1.066958 8.419617
+v -3.402182 0.983280 8.033697
+v -3.389732 1.012638 8.234241
+v -3.280511 1.064920 8.455395
+v -3.215719 0.971406 7.462790
+v -3.272844 0.977948 7.665340
+v -3.176665 0.849940 7.229010
+v -3.038914 1.064920 8.529381
+v -2.950797 1.218429 7.763666
+v -3.008179 1.199051 7.951405
+v -2.762335 1.103317 8.229633
+v -2.853474 1.292523 7.042686
+v -2.766138 1.347358 6.760479
+v -2.679725 1.404047 6.481001
+v -2.605333 1.452196 6.233410
+v -2.534580 1.495337 5.989485
+v -2.376721 1.562189 5.432589
+v -2.459085 1.537005 5.720995
+v -2.930637 1.249933 7.298468
+v -5.047224 -18.660393 -1.125235
+v -3.895197 -18.474264 -1.046864
+v -4.371255 -18.462564 -0.910374
+v -4.550683 -18.585438 -1.388208
+v -2.853901 -18.999813 -1.992035
+v -3.627230 -18.535870 -1.893057
+v -2.734071 -19.570101 -2.124022
+v -3.933657 -18.897198 -1.273645
+v -4.163318 -18.947941 -1.256166
+v -4.728808 -19.015181 -1.404909
+v -3.475013 -18.886854 -1.983765
+v -2.870655 -19.614212 -2.240973
+v -5.208926 -19.195923 -24.988899
+v -5.302229 -18.237080 -24.837078
+v -3.203860 -21.908464 -24.960035
+v -3.588633 -22.212864 -24.228857
+v -5.050165 -17.426138 -25.705841
+v -4.183574 -17.166002 -25.986769
+v -3.265028 -21.601414 -25.768148
+v -3.141031 0.771458 6.965485
+v -3.000479 0.882982 6.387329
+v -2.869540 1.095345 5.888186
+v -2.768228 1.162196 5.312141
+v 4.800494 -25.506334 -18.134523
+v 3.908222 -27.211252 -19.224058
+v 3.137196 -27.042728 -19.003201
+v 2.875801 -26.938128 -18.381462
+v 4.183147 -26.926559 -17.139359
+v 5.047303 -15.601337 1.640253
+v 5.169365 -15.455296 1.732357
+v 3.586201 -14.957232 2.107103
+v 4.252397 -14.819987 1.558270
+v 4.097566 -14.695340 2.224491
+v 5.156694 -15.292066 1.866915
+v 3.634542 -14.911575 1.414927
+v 3.164314 -15.198712 0.807043
+v 2.776668 -15.457731 0.952843
+v 2.545099 -15.987155 1.042425
+v 2.848992 -16.200699 0.791895
+v 3.062062 -15.798104 0.742695
+v 3.084779 -15.679888 0.926109
+v 4.181727 -15.063038 1.499302
+v 4.829084 -15.628252 1.668617
+v 0.817119 -14.442139 -37.837742
+v 1.429958 -13.649906 -37.874901
+v 1.634238 -12.283175 -37.986385
+v 0.817119 -10.463275 -38.135033
+v -2.741353 1.305793 5.320667
+v -2.660728 1.413726 5.346245
+v -2.535975 1.495893 5.384882
+v -2.798250 1.110774 8.415379
+v -2.948314 1.115839 8.557127
+v -3.330226 1.006958 7.853077
+v -3.371110 1.115839 8.427650
+v -3.199603 1.142399 8.622896
+v -3.064805 1.189351 8.136662
+v -2.838212 1.143322 8.206341
+v -2.999135 1.217680 7.527636
+v -5.278004 -18.862896 -1.429287
+v -5.256975 -18.718081 -1.245062
+v -3.843349 -18.812912 -0.415361
+v -4.065270 -18.744762 -0.338535
+v -4.695113 -18.858458 -1.231800
+v -4.951985 -19.208038 -0.769163
+v -2.747753 -19.548559 -1.928095
+v -2.979321 -19.023952 -1.813654
+v -3.366967 -18.729237 -1.852272
+v -3.837195 -18.689669 -1.181150
+v -4.384381 -18.861677 -1.159388
+v -5.249956 -19.413692 -1.229481
+v -5.031737 -19.449244 -1.213209
+v -3.287432 -19.220085 -1.921352
+v -3.264716 -19.261324 -2.135633
+v -3.051646 -19.653198 -2.240213
+v -4.987620 -21.897871 -25.267746
+v -4.891483 -22.205431 -24.459295
+v -4.288164 -22.311142 -24.087471
+v -4.100513 -18.325134 -26.079359
+v -3.903317 -21.495192 -26.140316
+v -2.918416 1.052203 6.140549
+v -2.975110 1.004054 6.395838
+v -3.117017 0.892529 6.971169
+v -3.045571 0.947365 6.683077
+v -2.846465 1.238942 5.894999
+v -2.797568 1.280610 5.617476
+v 4.722398 -27.288315 -19.078354
+v 5.113246 -27.118528 -18.600391
+v 2.925609 -27.028740 -17.641293
+v 3.539516 -27.048538 -17.047943
+v 3.642185 -15.019691 2.707628
+v 3.844101 -14.946583 2.752552
+v 4.191139 -14.895163 2.172983
+v 4.630436 -15.386543 1.902170
+v 5.021799 -15.665661 2.297369
+v 2.591048 -16.448017 1.232492
+v 2.581603 -16.523859 1.065273
+v 2.717994 -16.570816 0.961615
+v 2.955413 -15.541745 0.999130
+v 3.682941 -15.158780 2.059286
+v 3.914723 -15.204123 2.062847
+v 4.646274 -15.551498 1.771303
+v -0.817119 -14.442139 -37.837738
+v -1.429958 -13.649906 -37.874901
+v -1.634238 -12.283175 -37.986389
+v -0.817119 -10.463276 -38.135033
+v 0.000000 -14.694632 -37.837738
+v 1.429958 -11.001209 -38.097874
+v 0.000000 -10.380316 -38.135033
+v -2.918115 1.153330 8.566376
+v -3.386851 1.052230 8.038334
+v -3.430087 1.067143 8.221882
+v -3.334384 1.169971 8.542248
+v -3.279286 1.162486 8.596718
+v -3.159863 0.993537 7.233089
+v -3.168622 1.075079 7.476284
+v -3.226851 1.068838 7.679253
+v -3.118927 1.162486 8.645824
+v -3.042813 1.169971 8.631540
+v -3.060475 1.193856 7.730007
+v -3.117857 1.179422 7.917746
+v -2.945875 1.175339 8.173229
+v -2.839757 1.143868 8.402655
+v -2.879070 1.281062 6.724171
+v -2.960284 1.226226 7.008390
+v -2.799119 1.337750 6.442963
+v -2.732044 1.385900 6.193609
+v -2.670425 1.429041 5.947575
+v -2.606841 1.470709 5.676319
+v -3.031147 1.183636 7.266775
+v -5.173370 -19.175465 -0.782656
+v -3.788854 -18.990313 -0.556004
+v -4.300219 -18.791138 -0.349371
+v -4.455050 -18.658184 -1.013985
+v -2.793702 -20.047062 -1.923725
+v -2.784257 -20.055029 -2.107166
+v -3.885595 -19.159458 -0.675573
+v -4.117376 -19.202854 -0.689190
+v -4.848927 -19.416351 -1.089298
+v -3.158066 -19.119169 -1.802059
+v -2.920647 -20.059914 -2.220860
+v -4.637817 -21.592958 -25.999271
+v -4.927999 -18.532564 -25.834135
+v -3.193817 -24.962013 -25.648413
+v -3.205999 -24.928408 -24.910902
+v -4.410537 -24.926514 -24.175892
+v -3.745924 -25.011972 -26.050293
+v -2.896796 1.195800 6.146519
+v 5.221474 -27.049126 -17.996704
+v 4.804203 -27.059591 -17.295830
+v 3.782427 -28.570312 -18.844564
+v 2.800702 -28.425232 -18.607222
+v 2.584369 -28.154991 -18.033772
+v 4.311724 -28.400969 -16.253956
+v 5.077800 -15.928411 1.935877
+v 5.192636 -15.833213 2.046871
+v 5.185989 -15.722779 2.196304
+v 3.593136 -15.190606 2.609993
+v 4.133478 -15.110501 2.105007
+v 4.059709 -14.983384 2.735476
+v 4.821545 -15.677084 2.311625
+v 2.664639 -15.934216 1.190567
+v 2.895566 -16.572632 0.957457
+v 2.968532 -16.147758 0.940037
+v 2.982213 -16.054668 1.113775
+v 2.845629 -15.970101 1.205818
+v 4.713356 -15.882717 2.051197
+v -1.429958 -11.001210 -38.097874
+v 0.752230 -14.496537 -39.691574
+v 1.316403 -13.739120 -39.744415
+v 1.316403 -11.299308 -40.061440
+v 0.752230 -10.796186 -40.114277
+v 0.000000 -10.713228 -40.114281
+v -2.722669 1.388543 5.640745
+v -2.928469 1.180707 8.563202
+v -3.284234 1.079559 7.866989
+v -3.401309 1.153330 8.418400
+v -3.216874 1.209762 8.679399
+v -3.174483 1.175339 8.103004
+v -3.008361 1.189448 8.348217
+v -2.909579 1.169131 8.380564
+v -3.094852 1.154001 7.498117
+v -5.372018 -19.312565 -1.089533
+v -5.359348 -19.211334 -0.903786
+v -3.844839 -19.272345 -0.022160
+v -4.046755 -19.221277 0.046799
+v -4.393792 -18.957310 -0.471722
+v -4.833090 -19.312143 -0.906330
+v -5.224452 -19.718569 -0.643827
+v -2.867292 -19.554724 -1.770899
+v -4.336132 -19.131727 -0.615141
+v -5.280454 -19.827450 -1.077255
+v -4.916009 -19.828087 -0.953215
+v -3.048283 -19.593712 -1.770142
+v -3.184867 -19.637821 -1.887091
+v -3.171185 -19.659359 -2.083017
+v -3.098219 -20.060049 -2.225395
+v -4.447270 -25.035492 -26.018908
+v -4.882807 -24.989788 -25.456631
+v -3.677798 -25.248104 -24.139078
+v -2.954681 1.147651 6.401005
+v -3.026243 1.090963 6.687426
+v -3.098848 1.036127 6.975037
+v -2.831935 1.303733 6.164425
+v -2.777241 1.346875 5.915436
+v 5.504467 -28.589373 -18.192551
+v 5.592593 -28.336275 -17.734804
+v 3.088197 -27.445837 -17.065132
+v 2.500909 -28.498487 -17.139662
+v 3.545908 -28.691616 -16.086321
+v 4.877546 -15.939837 1.950132
+v 3.855273 -15.364114 3.129417
+v 3.673773 -15.419981 3.074875
+v 4.149835 -15.142199 2.647123
+v 4.706709 -15.772285 2.200630
+v 5.014020 -16.152920 2.465862
+v 2.705148 -16.388433 1.363773
+v 2.704883 -16.748146 1.172771
+v 2.934441 -16.767483 1.086535
+v 3.683261 -15.349421 2.521641
+v 4.100785 -15.313114 2.549486
+v -0.752230 -14.496537 -39.691574
+v -1.316403 -13.739120 -39.744411
+v -1.316403 -11.299310 -40.061440
+v -0.752230 -10.796188 -40.114281
+v 0.000000 -14.749030 -39.691574
+v 1.504460 -12.476831 -39.902927
+v -3.055407 1.213689 8.665279
+v -3.340858 1.104054 8.052248
+v -3.415942 1.111050 8.226162
+v -3.342805 1.213689 8.577263
+v -3.281526 1.220068 8.652493
+v -3.109456 1.101470 7.245331
+v -3.154594 1.138029 7.701218
+v -3.148247 1.220068 8.693306
+v -3.219277 1.189448 8.283424
+v -3.268603 1.143507 8.074211
+v -3.117720 1.198371 8.313280
+v -2.959531 1.201285 8.553682
+v -2.893394 1.255584 6.416504
+v -2.968257 1.198896 6.700472
+v -3.044339 1.144060 6.986643
+v -3.795790 -19.394482 -0.176519
+v -4.262362 -19.249050 0.017223
+v -5.024199 -19.734486 -0.634867
+v -2.907801 -20.040770 -1.779692
+v -2.907537 -20.303226 -2.091125
+v -3.885915 -19.508854 -0.317751
+v -4.303439 -19.485563 -0.278370
+v -5.395288 -19.780544 -0.938755
+v -5.080200 -19.843369 -1.068293
+v -4.909363 -19.781393 -0.773367
+v -3.137094 -20.288988 -2.178349
+v -5.005812 -25.270857 -24.655899
+v -3.090541 -27.042730 -25.307093
+v -3.025581 -26.938131 -24.593010
+v -4.652909 -26.926559 -23.676212
+v 4.998868 -29.105553 -18.525677
+v 5.187792 -27.427338 -17.473806
+v 4.983160 -28.672182 -16.546246
+v 2.784728 -29.425934 -18.792742
+v 2.484024 -28.796347 -17.891758
+v 4.559080 -29.439438 -15.290837
+v 5.163979 -16.249739 2.207628
+v 5.057950 -16.294956 2.083090
+v 5.160759 -16.190823 2.366734
+v 3.629915 -15.544050 2.944637
+v 4.049255 -15.387331 3.099916
+v 4.833011 -16.149727 2.470442
+v 2.794307 -16.650124 1.388830
+v 2.733182 -16.783199 1.325733
+v 2.827360 -16.853830 1.121088
+v 3.009665 -16.513048 1.088737
+v 3.019110 -16.437206 1.255959
+v 2.882720 -16.390249 1.359615
+v 3.898870 -15.386224 2.504566
+v 4.726982 -16.194944 2.345905
+v 4.730202 -16.253862 2.186798
+v -1.504460 -12.476831 -39.902927
+v 1.206177 -13.862658 -41.484055
+v 0.689244 -14.584344 -41.417130
+v 1.378488 -12.707569 -41.684853
+v 0.689244 -11.169857 -41.952579
+v 0.000000 -11.086898 -41.952579
+v -3.062303 1.235725 8.665829
+v -3.211977 1.134828 7.888954
+v -3.390724 1.180707 8.421602
+v -3.281555 1.250628 8.663128
+v -3.221280 1.248054 8.694035
+v -3.306663 1.169177 8.258661
+v -3.011187 1.216950 8.535200
+v -3.083323 1.229590 8.505144
+v -5.388642 -19.733850 -0.758907
+v -4.057926 -19.749277 0.240644
+v -3.876426 -19.780756 0.169193
+v -4.352488 -19.363424 -0.124008
+v -5.216673 -20.233505 -0.669325
+v -2.996960 -20.292908 -1.854094
+v -2.935836 -20.392828 -1.962292
+v -3.030013 -20.381994 -2.178511
+v -4.101523 -19.536629 -0.347326
+v -5.366632 -20.226973 -0.945034
+v -5.260603 -20.222454 -1.077450
+v -4.929635 -20.227734 -0.796301
+v -4.932855 -20.223026 -0.965899
+v -3.085373 -20.040899 -1.784227
+v -3.221763 -20.045788 -1.897921
+v -3.212318 -20.053751 -2.081364
+v -3.782273 -27.211252 -25.689951
+v -5.138977 -27.118532 -25.338570
+v -3.298906 -27.028740 -23.829857
+v -4.060254 -27.048538 -23.409046
+v 3.994952 -29.875256 -18.783493
+v 6.028922 -29.258369 -17.392277
+v 5.990757 -29.707588 -17.733969
+v 5.410607 -28.404066 -17.188078
+v 2.517630 -29.080086 -18.199104
+v 3.425344 -29.566406 -18.915859
+v 2.909442 -28.508247 -16.495966
+v 2.354557 -29.210770 -17.278849
+v 4.053417 -29.607662 -15.213109
+v 4.876941 -16.291765 2.087669
+v 3.880679 -15.817669 3.339828
+v 3.712215 -15.860824 3.280149
+v 4.130558 -15.500517 2.978027
+v 4.963584 -16.608507 2.487000
+v 3.040377 -16.794191 1.203579
+v 3.711219 -15.657236 2.822750
+v 4.086701 -15.624586 2.847792
+v -1.206177 -13.862658 -41.484055
+v -0.689244 -14.584344 -41.417130
+v -0.689244 -11.169858 -41.952579
+v -1.378488 -12.707568 -41.684853
+v 0.000000 -14.836834 -41.417130
+v 1.206177 -11.637245 -41.885654
+v -3.373509 1.144053 8.238997
+v -3.337246 1.235725 8.581608
+v -3.154051 1.250628 8.702187
+v -3.308348 1.216950 8.443974
+v -3.241165 1.229590 8.456657
+v -3.163972 1.235153 8.475100
+v -3.081002 1.250672 8.660982
+v -3.832569 -19.847269 0.002068
+v -4.251908 -19.759808 0.204613
+v -5.035665 -20.232254 -0.663883
+v -3.913872 -19.906796 -0.153252
+v -4.333212 -19.819338 0.049292
+v -4.289354 -19.885849 -0.117834
+v -5.363412 -20.231682 -0.775436
+v -5.079594 -20.221201 -1.072010
+v -3.243031 -20.357443 -2.079725
+v -4.624008 -27.288315 -25.710732
+v -5.411162 -27.049126 -24.788960
+v -5.205751 -27.059591 -23.999563
+v -3.740435 -28.623590 -25.378536
+v -2.827909 -28.432163 -24.961805
+v -2.827655 -28.154991 -24.229359
+v -5.021946 -28.400969 -22.880116
+v 4.828053 -29.871254 -17.974899
+v 5.751837 -30.216282 -17.817257
+v 5.758615 -29.160023 -16.918434
+v 5.032077 -29.603767 -15.516452
+v 2.512292 -29.650707 -18.437490
+v 2.862786 -30.292675 -19.238483
+v 2.493535 -29.640987 -17.584429
+v 2.645552 -29.464909 -15.633814
+v 2.205900 -29.591579 -15.946321
+v 4.889646 -30.086391 -14.208299
+v 3.534255 -29.665771 -15.992339
+v 5.099555 -16.633078 2.390532
+v 5.102212 -16.655981 2.229364
+v 5.003554 -16.666180 2.100254
+v 3.671106 -15.949911 3.132076
+v 4.060425 -15.830544 3.303373
+v 4.795613 -16.594969 2.486708
+v 2.946200 -16.723562 1.408222
+v 2.915587 -16.891418 1.299335
+v 3.023864 -16.669460 1.302593
+v 3.905201 -15.680453 2.793249
+v 4.696956 -16.605167 2.357597
+v 4.699612 -16.628071 2.196430
+v -1.206177 -11.637245 -41.885647
+v 1.094364 -14.054595 -43.064114
+v 0.625351 -14.728170 -42.983315
+v 1.250701 -13.016285 -43.306503
+v 0.625351 -11.629686 -43.629692
+v 0.000000 -11.546726 -43.629692
+v -3.358969 1.201285 8.431208
+v -3.318583 1.250672 8.588137
+v -3.273693 1.267134 8.669041
+v -3.163517 1.267134 8.702824
+v -3.110396 1.260942 8.647209
+v -3.149372 1.268949 8.620977
+v -4.083332 -20.248587 0.266617
+v -3.914869 -20.266356 0.195145
+v -5.166238 -20.664074 -0.819715
+v -3.148853 -20.368280 -1.863506
+v -3.118241 -20.483379 -2.027164
+v -4.107854 -19.917328 -0.189283
+v -5.302209 -20.650877 -0.918385
+v -5.304865 -20.611980 -1.076456
+v -5.206207 -20.573269 -1.200045
+v -4.998266 -20.651405 -0.814936
+v -4.899609 -20.612690 -0.938524
+v -4.902265 -20.573799 -1.096596
+v -3.226518 -20.278669 -1.941319
+v -5.623739 -28.589375 -25.096766
+v -5.851847 -28.336275 -24.689816
+v -3.045064 -28.498487 -23.236021
+v -3.622026 -27.445837 -23.299770
+v -4.343801 -28.691616 -22.499638
+v 4.054360 -30.155613 -18.372272
+v 3.172915 -30.574909 -19.141388
+v 6.639112 -29.895771 -16.804691
+v 6.662358 -30.469410 -17.053610
+v 5.403624 -29.394932 -16.593952
+v 4.982079 -29.592709 -16.607548
+v 2.492153 -30.145489 -19.075787
+v 3.094340 -29.646523 -15.450580
+v 2.081914 -30.027424 -16.202124
+v 4.416976 -30.269001 -14.109136
+v 3.867045 -30.117622 -15.379046
+v 4.835583 -16.652641 2.099964
+v 3.781962 -16.127630 3.311886
+v 4.135386 -15.909537 3.163042
+v 4.034002 -16.105713 3.328695
+v 4.786943 -16.836430 2.406977
+v 5.006942 -16.864014 2.337362
+v 3.746067 -16.028906 2.991745
+v 4.094276 -15.998627 3.014969
+v -1.094364 -14.054595 -43.064114
+v -0.625351 -14.728170 -42.983315
+v -0.625351 -11.629686 -43.629692
+v -1.250701 -13.016285 -43.306503
+v 0.000000 -14.973773 -42.983315
+v 1.094364 -12.059296 -43.548897
+v -3.222579 1.267134 8.698933
+v -3.288050 1.260942 8.592669
+v -3.246882 1.268949 8.591024
+v -3.198208 1.272129 8.599714
+v -3.873760 -20.293756 0.024523
+v -4.263079 -20.246927 0.227989
+v -3.948720 -20.314682 -0.135149
+v -4.338039 -20.267857 0.068316
+v -4.296929 -20.295254 -0.102304
+v -5.038236 -20.560600 -1.195265
+v -5.050006 -29.140644 -25.274099
+v -5.524542 -27.427338 -24.277391
+v -5.620737 -28.672182 -23.350826
+v -2.677499 -29.469254 -25.197472
+v -2.676879 -29.053112 -24.405355
+v -2.777268 -28.796347 -24.042942
+v -5.524313 -29.439438 -22.079287
+v 5.419876 -30.493038 -17.515869
+v 3.877544 -30.303673 -17.885059
+v 6.320920 -29.733910 -16.427116
+v 6.455650 -31.070290 -17.084459
+v 5.120450 -30.091473 -15.794170
+v 5.341671 -30.261753 -14.390916
+v 2.553904 -30.008011 -18.034935
+v 2.296880 -30.288273 -18.681778
+v 2.321790 -31.142185 -19.545126
+v 2.120569 -30.842258 -19.612965
+v 1.914696 -30.321701 -14.805067
+v 2.371086 -30.170410 -14.637800
+v 2.248883 -30.490295 -16.303045
+v 5.267850 -30.386261 -12.964628
+v 3.245733 -30.135529 -15.582595
+v 3.994024 -30.621048 -15.648766
+v 4.938058 -16.871998 2.122835
+v 3.910116 -16.189774 3.383593
+v 3.758374 -16.269205 3.221104
+v 4.895015 -16.934538 2.399490
+v 3.925813 -16.041780 2.955290
+v 4.718060 -16.844414 2.192450
+v -1.094364 -12.059296 -43.548897
+v 0.976045 -14.349008 -44.454861
+v 0.557740 -14.950638 -44.359074
+v 0.976045 -12.609736 -45.029587
+v 0.000000 -12.138118 -45.125374
+v 0.557740 -12.221077 -45.125374
+v -3.260158 1.275265 8.667269
+v -3.174565 1.275265 8.693546
+v -3.185116 1.280704 8.672684
+v -3.984615 -20.525734 0.125029
+v -4.236655 -20.511671 0.148804
+v -4.989597 -20.845676 -0.979006
+v -4.128467 -20.313023 -0.173777
+v -5.209595 -20.845293 -1.053885
+v -5.140712 -20.772648 -1.255898
+v -4.920713 -20.773031 -1.181019
+v -4.039348 -30.191082 -25.339884
+v -6.400191 -29.258369 -24.629314
+v -6.204698 -29.707588 -24.914429
+v -5.864477 -28.404066 -24.108074
+v -3.348484 -29.779530 -25.435276
+v -2.871725 -29.210770 -23.339331
+v -3.631346 -28.508247 -22.712696
+v -5.060347 -29.607662 -21.863714
+v 4.636926 -29.906254 -17.268393
+v 3.186671 -30.837284 -18.756027
+v 7.186625 -30.164413 -15.476364
+v 7.531819 -30.328819 -15.807641
+v 7.609514 -30.871048 -15.980434
+v 5.943491 -29.967041 -16.144720
+v 5.187733 -29.945473 -16.700335
+v 4.895472 -30.585716 -15.968109
+v 2.855428 -30.265141 -17.769899
+v 1.862343 -30.666271 -19.419580
+v 2.312858 -31.407417 -19.174213
+v 2.835240 -30.347195 -14.550544
+v 1.775512 -30.805202 -14.962322
+v 2.877509 -30.067535 -17.166277
+v 4.809195 -30.556160 -12.846150
+v 4.238328 -30.809788 -14.186022
+v 3.106171 -30.597507 -15.869495
+v 3.490851 -29.999546 -16.760578
+v 4.995706 -16.950815 2.208649
+v 4.804029 -16.930435 2.110319
+v 3.805976 -16.235094 3.091927
+v 4.058017 -16.213177 3.108736
+v 4.093325 -16.240078 3.243443
+v 4.703338 -16.914158 2.301161
+v -0.976045 -14.349008 -44.454861
+v -0.557740 -14.950638 -44.359074
+v -0.557740 -12.221078 -45.125374
+v -0.976045 -12.609736 -45.029587
+v 0.000000 -15.175578 -44.359074
+v 1.115480 -13.443878 -44.742226
+v -3.220575 1.275520 8.690395
+v -3.243165 1.280704 8.654852
+v -3.215075 1.281726 8.664719
+v -4.112770 -20.610146 0.168369
+v -3.961028 -20.623207 -0.012024
+v -5.097669 -20.933905 -1.022560
+v -4.008630 -20.543358 -0.119143
+v -4.260670 -20.529295 -0.095369
+v -5.198359 -20.877794 -1.205692
+v -5.006681 -20.822195 -1.289314
+v -4.905991 -20.878305 -1.106182
+v -5.096152 -29.937695 -24.677263
+v -5.977623 -30.216282 -24.869446
+v -5.915693 -29.603767 -22.427784
+v -6.412794 -29.160023 -24.075085
+v -2.498443 -29.542801 -24.688770
+v -2.290256 -30.229088 -25.449360
+v -2.893560 -29.614471 -23.671688
+v -3.175968 -29.591576 -22.016830
+v -3.685295 -29.464909 -21.839231
+v -4.370560 -29.665771 -22.421549
+v -6.139874 -30.086391 -21.186958
+v 5.172599 -30.436550 -17.065123
+v 6.083979 -31.313885 -16.807838
+v 3.045137 -30.937172 -18.219187
+v 4.076650 -30.122803 -16.941221
+v 7.447736 -31.425537 -15.947970
+v 5.458386 -30.794884 -14.564394
+v 5.716020 -30.552483 -13.120538
+v 2.306187 -30.569885 -18.298580
+v 1.700262 -30.772861 -19.006815
+v 1.767854 -31.396748 -19.657490
+v 1.447445 -31.020599 -19.548941
+v 2.160605 -30.479374 -13.667051
+v 1.696230 -30.630051 -13.773374
+v 1.941878 -31.299374 -15.037330
+v 2.682095 -30.698044 -16.150908
+v 5.152139 -30.725212 -12.136088
+v 2.997712 -30.847900 -14.633324
+v 4.364694 -31.346848 -14.357500
+v 3.933384 -16.362947 3.260511
+v 3.941582 -16.319510 3.080956
+v 4.832835 -17.033123 2.242046
+v -1.115480 -13.443878 -44.742226
+v 0.861776 -14.703773 -45.666073
+v 0.492443 -15.227282 -45.557590
+v 0.492444 -12.877151 -46.425385
+v 0.861776 -13.221540 -46.316914
+v 0.000000 -12.796673 -46.425385
+v -4.295978 -20.604521 0.019571
+v -4.144236 -20.617584 -0.160822
+v -4.278041 -30.421375 -24.849009
+v -3.177817 -31.077297 -25.524872
+v -7.104223 -29.895771 -24.606695
+v -6.950076 -30.469410 -24.807293
+v -5.651779 -29.592709 -23.421398
+v -6.289767 -29.394932 -23.610430
+v -2.168287 -30.119732 -24.935087
+v -2.704287 -29.842300 -24.170437
+v -2.719629 -30.643871 -25.659277
+v -2.985604 -30.027420 -22.227943
+v -4.167368 -29.646519 -21.788330
+v -4.835113 -30.117622 -21.971136
+v -5.713568 -30.269001 -20.959995
+v 2.150777 -31.514015 -18.761452
+v 3.291930 -30.356274 -17.610468
+v 3.738477 -30.215622 -17.524715
+v 6.813401 -30.365582 -15.191864
+v 8.015597 -30.627926 -15.060275
+v 7.983611 -31.373634 -15.123764
+v 5.742539 -30.578388 -16.181345
+v 5.270086 -31.331741 -14.643278
+v 5.823914 -30.724571 -12.339245
+v 2.549294 -30.839188 -18.168320
+v 1.589835 -31.700596 -19.471092
+v 1.468031 -31.250156 -19.782660
+v 2.627476 -30.645729 -13.599257
+v 1.544766 -31.102997 -13.860180
+v 4.642327 -31.060951 -12.856565
+v 5.568738 -30.626324 -11.971756
+v 2.854634 -31.337933 -14.798353
+v 4.777736 -31.564514 -12.958443
+v 4.428414 -30.769661 -15.882380
+v -0.861776 -14.703773 -45.666073
+v -0.492443 -15.227282 -45.557590
+v -0.492443 -12.877151 -46.425385
+v -0.861776 -13.221540 -46.316914
+v 0.000000 -15.427171 -45.557590
+v 0.984887 -13.932805 -45.991489
+v -4.136037 -20.724884 -0.010443
+v -5.035488 -20.966619 -1.205421
+v -5.870277 -30.493038 -24.433392
+v -4.267701 -30.462986 -24.259598
+v -3.386230 -31.242615 -25.006178
+v -7.147832 -29.733910 -24.109932
+v -6.792057 -31.070290 -24.689034
+v -6.523097 -30.261753 -21.488316
+v -5.923166 -30.091473 -22.719128
+v -2.335804 -30.292667 -24.426168
+v -1.612741 -30.638203 -25.186213
+v -1.697004 -30.784054 -25.672098
+v -3.188004 -30.209873 -23.903742
+v -3.117832 -30.490292 -22.371395
+v -3.281468 -30.321701 -20.867712
+v -3.766393 -30.170410 -20.834265
+v -4.275970 -30.135529 -21.957310
+v -4.881893 -30.621048 -22.265556
+v -6.848496 -30.386261 -20.116362
+v 5.771543 -31.162491 -16.436035
+v 7.074513 -31.626698 -15.663470
+v 1.641177 -31.672173 -19.076992
+v 7.483723 -30.649490 -14.603292
+v 7.952708 -30.578808 -14.591642
+v 8.303638 -31.040154 -14.925139
+v 5.684562 -31.560841 -13.232826
+v 5.851428 -31.056046 -13.222412
+v 1.892551 -31.338028 -18.568066
+v 1.691330 -31.038097 -18.635904
+v 1.175214 -31.171539 -19.310551
+v 1.713948 -30.799244 -13.208433
+v 2.403759 -30.810852 -13.079457
+v 1.703718 -31.581158 -13.888947
+v 2.402138 -31.482685 -14.957849
+v 5.108764 -31.084507 -11.853992
+v 2.786427 -31.123894 -13.628023
+v 5.225905 -31.730736 -13.114348
+v 4.807068 -31.518280 -14.542115
+v -0.984887 -13.932805 -45.991489
+v 0.762111 -15.076772 -46.707516
+v 0.435492 -15.533634 -46.592087
+v 0.000000 -13.457998 -47.515503
+v 0.435492 -13.531030 -47.515503
+v 0.870984 -14.425527 -47.053799
+v -5.095640 -29.923958 -23.932491
+v -3.425784 -31.124374 -24.326195
+v -2.391005 -31.699940 -25.206335
+v -2.254555 -31.572613 -25.700502
+v -8.047930 -30.164413 -24.144131
+v -8.011974 -30.328819 -24.621216
+v -7.928096 -30.871048 -24.791096
+v -6.078373 -29.945473 -23.594048
+v -5.658627 -30.585716 -22.823477
+v -7.088691 -29.967041 -23.642994
+v -1.723044 -30.757786 -24.705357
+v -2.774889 -30.724785 -24.232300
+v -1.967082 -31.181423 -25.849644
+v -3.410352 -30.053722 -23.345543
+v -3.103972 -30.805202 -20.979948
+v -4.236475 -30.347195 -20.879820
+v -4.061981 -30.597507 -22.193949
+v -5.520570 -30.809792 -20.984049
+v -4.112956 -30.008327 -23.125641
+v -6.441031 -30.556160 -19.874756
+v 6.651623 -30.920067 -15.159398
+v 7.936796 -31.525517 -14.640939
+v 6.015707 -31.085518 -12.128170
+v 1.320769 -31.296024 -18.968441
+v 1.174512 -31.551376 -19.490923
+v 1.297018 -31.621983 -18.998985
+v 2.024379 -30.707684 -12.948930
+v 1.555286 -31.148960 -13.056175
+v 1.713082 -31.480263 -13.260620
+v 5.137038 -31.431709 -12.186537
+v 5.667355 -31.093853 -11.641611
+v 2.170589 -31.747513 -13.821152
+v 2.634964 -31.596836 -13.714829
+v -0.762111 -15.076772 -46.707516
+v -0.435492 -15.533634 -46.592087
+v -0.435492 -13.531030 -47.515503
+v -0.870984 -14.425527 -47.053799
+v 0.000000 -15.713470 -46.592087
+v 0.762111 -13.827682 -47.400082
+v -6.736836 -31.313885 -24.229244
+v -5.898561 -30.436550 -23.907764
+v -3.755195 -30.435337 -23.824524
+v -4.627901 -30.146023 -23.461201
+v -2.332889 -31.561829 -24.707140
+v -7.850214 -31.425529 -24.645626
+v -7.235459 -30.552483 -20.390995
+v -6.586841 -30.794884 -21.687449
+v -2.036664 -31.156723 -24.542906
+v -1.355248 -31.103531 -24.980429
+v -1.161507 -31.111122 -25.374887
+v -1.347409 -31.117073 -25.672012
+v -3.576279 -30.698044 -22.346020
+v -3.242844 -31.299374 -21.098343
+v -3.381553 -30.630051 -19.825369
+v -3.857160 -30.479374 -19.852676
+v -4.369440 -30.847900 -21.004601
+v -5.594141 -31.346848 -21.183949
+v -6.968278 -30.725212 -19.288401
+v 6.729318 -31.462296 -15.332193
+v 7.585865 -31.064167 -14.307444
+v 8.216146 -31.104362 -14.298415
+v 7.451736 -31.395199 -14.666780
+v 5.808813 -31.431068 -12.389692
+v 2.486532 -31.164631 -12.882058
+v 5.555733 -31.543697 -12.010405
+v 2.402894 -31.491871 -13.131645
+v -0.762111 -13.827682 -47.400082
+v 0.676708 -15.484887 -47.623055
+v 0.386690 -15.871074 -47.508846
+v 0.000000 -14.113971 -48.422462
+v 0.386690 -14.176828 -48.422462
+v 0.773380 -14.934712 -47.965652
+v -4.211464 -30.308495 -23.868618
+v -1.715083 -31.649296 -24.978613
+v -1.555858 -31.800480 -25.374044
+v -1.684002 -31.655956 -25.682030
+v -8.029963 -30.365582 -23.675180
+v -8.576690 -30.627926 -24.518951
+v -8.507360 -31.373634 -24.534668
+v -7.556820 -30.724571 -19.670729
+v -6.934592 -30.578388 -23.531887
+v -6.384017 -31.331741 -21.710732
+v -1.363179 -31.450611 -24.916462
+v -1.354185 -31.460991 -25.832474
+v -3.211898 -31.102997 -19.866522
+v -4.324429 -30.645729 -19.917679
+v -4.186038 -31.337936 -21.123220
+v -5.233966 -30.769661 -22.610977
+v -6.379524 -31.564514 -19.973831
+v -6.277873 -31.060951 -19.838251
+v -7.414169 -30.626324 -19.246685
+v 1.972680 -31.171246 -12.710789
+v 2.017439 -31.605907 -12.989304
+v -0.676707 -15.484887 -47.623055
+v -0.386690 -15.871075 -47.508846
+v -0.386690 -14.176828 -48.422462
+v -0.773380 -14.934712 -47.965656
+v 0.000000 -16.023170 -47.508846
+v 0.676708 -14.429156 -48.308258
+v -7.832248 -31.626698 -24.176678
+v -6.784364 -31.162491 -23.739628
+v -8.590857 -30.649490 -23.817863
+v -8.786341 -30.578808 -24.172272
+v -8.752322 -31.040154 -24.655195
+v -7.337111 -31.056046 -20.526571
+v -7.173953 -31.560837 -20.490070
+v -1.144286 -31.551376 -25.433865
+v -3.707019 -31.482685 -21.150284
+v -3.356534 -31.581158 -19.938450
+v -3.556014 -30.799244 -19.287745
+v -4.254440 -30.810852 -19.356123
+v -4.469065 -31.123894 -19.989605
+v -5.967536 -31.518280 -21.484535
+v -6.766488 -31.730736 -20.248465
+v -7.005239 -31.084507 -19.005394
+v -0.676707 -14.429156 -48.308258
+v 0.605223 -15.945004 -48.456543
+v 0.345842 -16.240973 -48.354198
+v 0.000000 -14.756471 -49.172997
+v 0.345842 -14.808669 -49.172997
+v 0.605223 -15.026958 -49.070644
+v -7.952081 -30.920067 -23.529716
+v -8.738186 -31.525517 -24.191359
+v -7.799839 -31.085518 -19.521469
+v -3.540638 -31.480263 -19.337627
+v -3.446071 -31.148960 -19.097305
+v -3.926467 -30.707684 -19.125040
+v -4.299410 -31.596836 -20.030762
+v -3.823802 -31.747513 -20.003452
+v -6.939715 -31.431709 -19.332644
+v -7.600888 -31.093853 -18.957106
+v -0.605223 -15.945004 -48.456543
+v -0.345842 -16.240973 -48.354198
+v -0.345841 -14.808669 -49.172997
+v -0.605223 -15.026957 -49.070648
+v 0.000000 -16.344955 -48.354198
+v 0.691683 -15.473034 -48.763596
+v -7.868202 -31.462296 -23.699594
+v -8.772203 -31.064167 -23.708441
+v -9.036322 -31.104362 -24.188951
+v -8.521523 -31.395199 -23.833580
+v -7.528257 -31.431068 -19.714970
+v -4.388947 -31.164631 -19.189615
+v -4.239065 -31.491871 -19.406006
+v -7.390908 -31.543697 -19.280178
+v -0.691683 -15.473034 -48.763596
+v 0.540626 -16.354780 -49.243664
+v 0.308929 -16.574348 -49.161842
+v 0.000000 -15.291397 -49.816475
+v 0.308929 -15.334400 -49.816483
+v 0.540626 -15.528085 -49.734646
+v -3.908551 -31.605907 -19.161880
+v -3.943185 -31.171246 -18.881927
+v -0.540626 -16.354782 -49.243664
+v -0.308929 -16.574348 -49.161839
+v -0.308929 -15.334400 -49.816475
+v -0.540626 -15.528085 -49.734642
+v 0.000000 -16.634609 -49.161839
+v 0.617858 -15.937119 -49.489159
+v -0.617858 -15.937119 -49.489155
+v 0.475886 -16.611877 -50.020096
+v 0.271935 -16.802216 -49.965496
+v 0.000000 -15.624648 -50.402264
+v 0.271935 -15.661880 -50.402264
+v 0.543870 -16.223591 -50.183884
+v -0.475886 -16.611877 -50.020096
+v -0.271935 -16.802216 -49.965496
+v -0.271935 -15.661880 -50.402264
+v -0.543870 -16.223591 -50.183884
+v 0.000000 -16.847902 -49.965500
+v 0.475886 -15.839538 -50.347672
+v -0.475886 -15.839536 -50.347668
+v 0.420611 -16.751410 -50.724262
+v 0.240349 -16.936008 -50.694969
+v -0.000001 -15.813523 -50.929333
+v 0.240349 -15.847706 -50.929333
+v 0.480698 -16.380352 -50.812153
+v -0.420611 -16.751408 -50.724262
+v -0.240349 -16.936008 -50.694973
+v -0.240349 -15.847706 -50.929333
+v -0.480698 -16.380352 -50.812153
+v 0.000000 -16.981691 -50.694969
+v 0.420610 -16.015049 -50.900040
+v -0.420611 -16.015049 -50.900032
+v 0.384407 -16.808500 -51.294621
+v 0.219661 -16.987148 -51.280048
+v 0.000000 -15.915323 -51.396648
+v 0.219661 -15.948487 -51.396648
+v 0.439322 -16.455299 -51.338348
+v -0.384407 -16.808500 -51.294621
+v -0.219661 -16.987148 -51.280048
+v -0.219661 -15.948489 -51.396645
+v -0.439322 -16.455299 -51.338348
+v 0.000000 -17.032831 -51.280048
+v 0.384407 -16.108358 -51.382072
+v -0.384407 -16.108358 -51.382072
+v 0.192761 -16.914864 -51.858109
+v 0.000000 -16.957006 -51.858727
+v 0.337332 -16.754078 -51.862877
+v 0.000000 -15.967505 -51.702847
+v 0.328423 -16.133892 -51.887840
+v 0.385522 -16.440285 -51.879646
+v -0.192761 -16.914864 -51.858109
+v -0.337332 -16.754078 -51.862873
+v -0.328423 -16.133892 -51.887840
+v -0.385522 -16.440285 -51.879646
+v 0.157127 -15.995308 -51.866882
+v -0.157126 -15.995310 -51.866882
+v 0.000000 -16.709892 -52.569008
+v 0.142539 -16.678383 -52.566536
+v 0.249443 -16.559069 -52.560726
+v 0.285078 -16.327164 -52.553230
+v 0.000000 -16.019251 -52.402718
+v -0.142539 -16.678383 -52.566536
+v -0.249443 -16.559069 -52.560726
+v -0.285078 -16.327162 -52.553226
+v 0.213808 -16.106083 -52.511417
+v -0.213808 -16.106083 -52.511417
+v 0.000000 -16.498852 -52.993443
+v 0.164634 -16.388527 -52.979282
+v 0.130873 -16.108318 -52.938587
+v -0.164634 -16.388527 -52.979282
+v -0.130873 -16.108318 -52.938580
+v 0.075962 -16.402218 -53.137794
+v 0.151925 -16.217007 -53.110874
+v 0.000000 -16.059956 -53.054592
+v -0.075962 -16.402218 -53.137794
+v -0.151925 -16.217007 -53.110874
+v 0.000000 -16.210886 -53.304363
+v -2.434903 1.642859 8.857885
+v -2.372223 1.948102 8.882011
+v -1.761311 1.715637 7.431217
+v -1.731890 2.018994 7.503353
+vt 0.728660 0.086176
+vt 0.729153 0.086051
+vt 0.729191 0.089845
+vt 0.729315 0.081911
+vt 0.728805 0.084264
+vt 0.730089 0.085917
+vt 0.730089 0.090230
+vt 0.730089 0.081956
+vt 0.730089 0.080958
+vt 0.729775 0.081002
+vt 0.730858 0.081859
+vt 0.730988 0.082599
+vt 0.731063 0.085871
+vt 0.730584 0.081236
+vt 0.731063 0.090269
+vt 0.730247 0.092122
+vt 0.729595 0.091043
+vt 0.731053 0.093390
+vt 0.732149 0.088053
+vt 0.732037 0.090230
+vt 0.731857 0.085908
+vt 0.732180 0.094159
+vt 0.732543 0.090168
+vt 0.732778 0.093478
+vt 0.354065 0.549436
+vt 0.354554 0.549756
+vt 0.354744 0.552903
+vt 0.354170 0.550633
+vt 0.354560 0.546000
+vt 0.354063 0.547728
+vt 0.355490 0.550104
+vt 0.355490 0.553199
+vt 0.355490 0.546095
+vt 0.356193 0.553430
+vt 0.356464 0.550222
+vt 0.356483 0.552373
+vt 0.907097 0.963996
+vt 0.907843 0.963682
+vt 0.907831 0.964537
+vt 0.907581 0.964638
+vt 0.355490 0.543992
+vt 0.355016 0.544738
+vt 0.356464 0.546135
+vt 0.355477 0.553703
+vt 0.356022 0.543177
+vt 0.356459 0.542467
+vt 0.357202 0.550159
+vt 0.357438 0.546095
+vt 0.357494 0.548145
+vt 0.357238 0.541746
+vt 0.357438 0.541782
+vt 0.356893 0.551179
+vt 0.389756 0.831805
+vt 0.388989 0.830097
+vt 0.388174 0.828900
+vt 0.388648 0.828523
+vt 0.390621 0.831796
+vt 0.386713 0.826630
+vt 0.386697 0.826349
+vt 0.390903 0.833534
+vt 0.386584 0.825384
+vt 0.392017 0.834675
+vt 0.391327 0.834795
+vt 0.336995 0.836089
+vt 0.336838 0.835527
+vt 0.337829 0.834470
+vt 0.339205 0.833643
+vt 0.355285 0.553961
+vt 0.355228 0.553602
+vt 0.386071 0.825931
+vt 0.386039 0.825573
+vt 0.391881 0.836356
+vt 0.391663 0.835541
+vt 0.356416 0.553993
+vt 0.357041 0.551547
+vt 0.357853 0.551982
+vt 0.356936 0.554597
+vt 0.355691 0.554791
+vt 0.338713 0.833276
+vt 0.386188 0.824742
+vt 0.387589 0.825813
+vt 0.389112 0.828628
+vt 0.353892 0.547737
+vt 0.354001 0.551010
+vt 0.353352 0.550905
+vt 0.353234 0.547591
+vt 0.354871 0.544858
+vt 0.354029 0.544714
+vt 0.393005 0.837250
+vt 0.392068 0.837066
+vt 0.392081 0.837787
+vt 0.341413 0.830281
+vt 0.339477 0.832255
+vt 0.340312 0.830241
+vt 0.357639 0.548185
+vt 0.358624 0.548237
+vt 0.355970 0.555515
+vt 0.386689 0.824431
+vt 0.386068 0.824087
+vt 0.354947 0.542356
+vt 0.356383 0.542283
+vt 0.341028 0.828222
+vt 0.342263 0.826733
+vt 0.341265 0.826535
+vt 0.358485 0.553150
+vt 0.357194 0.556346
+vt 0.355055 0.555446
+vt 0.354793 0.554149
+vt 0.353876 0.553720
+vt 0.354294 0.555102
+vt 0.353718 0.555411
+vt 0.352803 0.552911
+vt 0.352321 0.550190
+vt 0.352123 0.547103
+vt 0.352764 0.544509
+vt 0.355197 0.540599
+vt 0.356195 0.540084
+vt 0.358280 0.544637
+vt 0.359151 0.543927
+vt 0.357768 0.541744
+vt 0.358478 0.541991
+vt 0.358111 0.542358
+vt 0.341613 0.824455
+vt 0.342469 0.824087
+vt 0.359913 0.548587
+vt 0.356030 0.557549
+vt 0.354902 0.557117
+vt 0.353459 0.542222
+vt 0.354195 0.540026
+vt 0.392798 0.838200
+vt 0.392013 0.837963
+vt 0.894621 0.964529
+vt 0.894384 0.963745
+vt 0.895042 0.964023
+vt 0.894795 0.964646
+vt 0.359001 0.540569
+vt 0.360113 0.543052
+vt 0.281241 0.813522
+vt 0.284081 0.818084
+vt 0.281096 0.814992
+vt 0.278686 0.810481
+vt 0.358286 0.556190
+vt 0.356951 0.560652
+vt 0.352626 0.555972
+vt 0.351196 0.550832
+vt 0.351033 0.548615
+vt 0.350628 0.546200
+vt 0.351516 0.542726
+vt 0.351307 0.544481
+vt 0.355532 0.538511
+vt 0.357749 0.541333
+vt 0.357739 0.539681
+vt 0.282196 0.816802
+vt 0.283622 0.819138
+vt 0.355780 0.562312
+vt 0.354446 0.560858
+vt 0.352809 0.540082
+vt 0.359480 0.538995
+vt 0.360663 0.547534
+vt 0.360672 0.542828
+vt 0.359480 0.551679
+vt 0.360232 0.549869
+vt 0.360409 0.550641
+vt 0.359162 0.553616
+vt 0.279176 0.813055
+vt 0.276558 0.807690
+vt 0.357939 0.558981
+vt 0.357246 0.565512
+vt 0.347695 0.552810
+vt 0.348051 0.543974
+vt 0.349854 0.536408
+vt 0.354915 0.537758
+vt 0.357624 0.537825
+vt 0.361277 0.547822
+vt 0.356065 0.567979
+vt 0.351594 0.565100
+vt 0.354145 0.533914
+vt 0.357558 0.536965
+vt 0.255510 0.822836
+vt 0.256641 0.822611
+vt 0.256896 0.826669
+vt 0.255684 0.827247
+vt 0.361303 0.543270
+vt 0.361166 0.551576
+vt 0.362579 0.548062
+vt 0.359322 0.555249
+vt 0.358130 0.559397
+vt 0.358726 0.562055
+vt 0.337633 0.556225
+vt 0.335603 0.541950
+vt 0.336562 0.530010
+vt 0.344143 0.524646
+vt 0.359793 0.538417
+vt 0.360574 0.536337
+vt 0.362480 0.544395
+vt 0.359937 0.567724
+vt 0.357731 0.572721
+vt 0.339021 0.568593
+vt 0.350927 0.572603
+vt 0.353028 0.523068
+vt 0.357624 0.533164
+vt 0.362734 0.539834
+vt 0.362702 0.552339
+vt 0.364410 0.544614
+vt 0.360284 0.557179
+vt 0.361333 0.562803
+vt 0.328276 0.564139
+vt 0.323083 0.546555
+vt 0.322767 0.530918
+vt 0.322761 0.513338
+vt 0.338613 0.510843
+vt 0.362801 0.557810
+vt 0.538182 0.682119
+vt 0.540654 0.678841
+vt 0.544127 0.683762
+vt 0.543781 0.685704
+vt 0.361423 0.572257
+vt 0.364112 0.564446
+vt 0.329992 0.582559
+vt 0.340236 0.579926
+vt 0.350011 0.581085
+vt 0.351842 0.510273
+vt 0.357902 0.522482
+vt 0.362307 0.530705
+vt 0.360438 0.524494
+vt 0.363535 0.528313
+vt 0.365220 0.552597
+vt 0.366783 0.543621
+vt 0.364516 0.560861
+vt 0.365752 0.556060
+vt 0.355696 0.582142
+vt 0.358833 0.581346
+vt 0.326954 0.580777
+vt 0.325236 0.562686
+vt 0.322597 0.549205
+vt 0.318297 0.540887
+vt 0.315605 0.527240
+vt 0.313236 0.511804
+vt 0.336202 0.501044
+vt 0.321511 0.501983
+vt 0.350867 0.500585
+vt 0.358387 0.510228
+vt 0.365685 0.527337
+vt 0.534220 0.674309
+vt 0.528123 0.684717
+vt 0.525861 0.676606
+vt 0.543235 0.693245
+vt 0.544559 0.691117
+vt 0.326252 0.601804
+vt 0.326416 0.595083
+vt 0.329378 0.595787
+vt 0.329004 0.603852
+vt 0.341749 0.591093
+vt 0.336508 0.596688
+vt 0.320313 0.544739
+vt 0.348070 0.591473
+vt 0.318316 0.544722
+vt 0.359072 0.501708
+vt 0.361176 0.515330
+vt 0.367674 0.551648
+vt 0.368946 0.543228
+vt 0.547746 0.690505
+vt 0.547441 0.695721
+vt 0.538999 0.694971
+vt 0.531203 0.696926
+vt 0.543008 0.697093
+vt 0.351435 0.596326
+vt 0.530077 0.650239
+vt 0.535530 0.664423
+vt 0.531016 0.665219
+vt 0.525801 0.650468
+vt 0.523087 0.667531
+vt 0.170472 0.636037
+vt 0.168118 0.640504
+vt 0.168049 0.638993
+vt 0.168943 0.636414
+vt 0.161500 0.653984
+vt 0.165727 0.643123
+vt 0.311905 0.529025
+vt 0.316231 0.545619
+vt 0.306282 0.512335
+vt 0.313232 0.502296
+vt 0.321573 0.496307
+vt 0.335562 0.494664
+vt 0.349504 0.493470
+vt 0.356816 0.494267
+vt 0.362817 0.510962
+vt 0.367836 0.528311
+vt 0.517699 0.679545
+vt 0.519675 0.692912
+vt 0.547498 0.704503
+vt 0.325221 0.617130
+vt 0.325705 0.609014
+vt 0.328686 0.609250
+vt 0.328145 0.618430
+vt 0.336385 0.609697
+vt 0.158106 0.660018
+vt 0.154733 0.672075
+vt 0.155958 0.665095
+vt 0.343089 0.599546
+vt 0.340514 0.604243
+vt 0.090767 0.814846
+vt 0.089238 0.815534
+vt 0.089289 0.814118
+vt 0.162771 0.648993
+vt 0.165260 0.643310
+vt 0.346489 0.598430
+vt 0.090771 0.812849
+vt 0.314116 0.496854
+vt 0.362165 0.500095
+vt 0.359482 0.494111
+vt 0.365644 0.511232
+vt 0.549658 0.697778
+vt 0.550732 0.694917
+vt 0.552816 0.703338
+vt 0.550684 0.704333
+vt 0.542538 0.708160
+vt 0.535238 0.711578
+vt 0.521514 0.700918
+vt 0.515273 0.670218
+vt 0.545763 0.706550
+vt 0.348402 0.601935
+vt 0.524829 0.637583
+vt 0.520366 0.634586
+vt 0.518471 0.652433
+vt 0.151038 0.676675
+vt 0.152911 0.672281
+vt 0.153829 0.670124
+vt 0.159258 0.657296
+vt 0.167141 0.639463
+vt 0.161615 0.651725
+vt 0.309453 0.534380
+vt 0.311050 0.547971
+vt 0.303456 0.527794
+vt 0.307633 0.501613
+vt 0.314411 0.493618
+vt 0.321593 0.492993
+vt 0.335349 0.491115
+vt 0.348820 0.489700
+vt 0.355146 0.490460
+vt 0.554679 0.718254
+vt 0.554544 0.735333
+vt 0.551339 0.719261
+vt 0.552408 0.714800
+vt 0.736022 0.057661
+vt 0.739380 0.071028
+vt 0.734536 0.065074
+vt 0.732330 0.060054
+vt 0.730295 0.050255
+vt 0.733432 0.048334
+vt 0.348718 0.608982
+vt 0.347904 0.608942
+vt 0.511349 0.655073
+vt 0.152015 0.674383
+vt 0.325583 0.622560
+vt 0.327858 0.623434
+vt 0.335109 0.619124
+vt 0.341077 0.611482
+vt 0.160440 0.654503
+vt 0.780635 0.867729
+vt 0.780995 0.866645
+vt 0.780282 0.868793
+vt 0.345958 0.601235
+vt 0.343785 0.602735
+vt 0.342267 0.606861
+vt 0.087437 0.816302
+vt 0.087087 0.815600
+vt 0.089263 0.812724
+vt 0.292772 0.519294
+vt 0.296549 0.505451
+vt 0.300985 0.499566
+vt 0.308339 0.496533
+vt 0.308708 0.493427
+vt 0.556231 0.752454
+vt 0.560755 0.752298
+vt 0.558089 0.756105
+vt 0.554556 0.756337
+vt 0.547905 0.748970
+vt 0.556242 0.746470
+vt 0.549435 0.753970
+vt 0.545086 0.740428
+vt 0.547432 0.722590
+vt 0.549150 0.717188
+vt 0.525900 0.715901
+vt 0.540365 0.727022
+vt 0.735932 0.071094
+vt 0.739115 0.072512
+vt 0.726034 0.035446
+vt 0.728577 0.033189
+vt 0.347251 0.604091
+vt 0.522396 0.630981
+vt 0.520279 0.629322
+vt 0.514120 0.638197
+vt 0.484841 0.786593
+vt 0.484861 0.788750
+vt 0.483947 0.788608
+vt 0.484033 0.786501
+vt 0.136740 0.709493
+vt 0.138759 0.708428
+vt 0.136556 0.710263
+vt 0.135842 0.710579
+vt 0.134863 0.713858
+vt 0.134936 0.712291
+vt 0.484229 0.781565
+vt 0.484047 0.784043
+vt 0.483403 0.781393
+vt 0.164918 0.643133
+vt 0.166792 0.639214
+vt 0.166781 0.636291
+vt 0.168994 0.635853
+vt 0.165727 0.638590
+vt 0.087128 0.813923
+vt 0.087472 0.813047
+vt 0.303424 0.546570
+vt 0.316766 0.562691
+vt 0.312184 0.563205
+vt 0.289102 0.533362
+vt 0.299383 0.495569
+vt 0.342351 0.670553
+vt 0.349329 0.670553
+vt 0.349105 0.676256
+vt 0.341899 0.676154
+vt 0.349470 0.663371
+vt 0.342546 0.663371
+vt 0.349894 0.649615
+vt 0.343132 0.649615
+vt 0.347134 0.628441
+vt 0.350667 0.629818
+vt 0.350369 0.636144
+vt 0.343579 0.634197
+vt 0.731845 0.068006
+vt 0.733325 0.072197
+vt 0.730664 0.065649
+vt 0.724610 0.052317
+vt 0.725525 0.061207
+vt 0.722668 0.041285
+vt 0.347466 0.608895
+vt 0.523820 0.632531
+vt 0.525881 0.637623
+vt 0.512136 0.631709
+vt 0.515211 0.629541
+vt 0.506977 0.638875
+vt 0.723317 0.022019
+vt 0.723407 0.016991
+vt 0.484760 0.790853
+vt 0.483908 0.790679
+vt 0.484650 0.793144
+vt 0.484092 0.793063
+vt 0.137496 0.708282
+vt 0.581676 0.830024
+vt 0.583353 0.830024
+vt 0.583352 0.832299
+vt 0.581259 0.832110
+vt 0.334684 0.622298
+vt 0.342800 0.615900
+vt 0.342236 0.619064
+vt 0.344165 0.615464
+vt 0.342938 0.611881
+vt 0.483516 0.776488
+vt 0.483876 0.779051
+vt 0.482999 0.778902
+vt 0.482721 0.776340
+vt 0.345869 0.602111
+vt 0.344104 0.603422
+vt 0.342863 0.607072
+vt 0.163555 0.646191
+vt 0.163896 0.642657
+vt 0.117693 0.802533
+vt 0.119854 0.805797
+vt 0.117642 0.805359
+vt 0.116664 0.803179
+vt 0.481942 0.765463
+vt 0.481200 0.765265
+vt 0.480987 0.762660
+vt 0.091309 0.810764
+vt 0.318434 0.562570
+vt 0.306769 0.563887
+vt 0.273703 0.523009
+vt 0.279737 0.510207
+vt 0.287363 0.496413
+vt 0.354407 0.676625
+vt 0.354272 0.685581
+vt 0.348432 0.685575
+vt 0.550293 0.756748
+vt 0.542957 0.756505
+vt 0.539536 0.751378
+vt 0.533341 0.737986
+vt 0.530624 0.730967
+vt 0.737399 0.077506
+vt 0.740351 0.078708
+vt 0.518542 0.699319
+vt 0.516162 0.694396
+vt 0.520828 0.700343
+vt 0.726192 0.069197
+vt 0.721088 0.034000
+vt 0.723001 0.030082
+vt 0.346935 0.604599
+vt 0.524704 0.633328
+vt 0.526521 0.637670
+vt 0.346466 0.614034
+vt 0.346376 0.615584
+vt 0.346049 0.617243
+vt 0.517314 0.628197
+vt 0.508403 0.631726
+vt 0.722503 0.022640
+vt 0.484536 0.795506
+vt 0.483682 0.795371
+vt 0.484425 0.797819
+vt 0.484313 0.800150
+vt 0.483458 0.799992
+vt 0.483511 0.797679
+vt 0.482598 0.789619
+vt 0.482675 0.788187
+vt 0.482744 0.786601
+vt 0.139017 0.704851
+vt 0.138052 0.707137
+vt 0.138521 0.706010
+vt 0.135637 0.709951
+vt 0.136522 0.709170
+vt 0.134858 0.711346
+vt 0.133519 0.712778
+vt 0.133186 0.714188
+vt 0.583646 0.839125
+vt 0.580819 0.838366
+vt 0.584420 0.846354
+vt 0.587805 0.839550
+vt 0.588181 0.846677
+vt 0.482740 0.770972
+vt 0.483133 0.773766
+vt 0.482637 0.773629
+vt 0.481971 0.770783
+vt 0.227430 0.809624
+vt 0.226513 0.812082
+vt 0.225652 0.811201
+vt 0.226441 0.809350
+vt 0.227316 0.807220
+vt 0.228671 0.806974
+vt 0.162547 0.645780
+vt 0.164669 0.637946
+vt 0.165877 0.634073
+vt 0.482350 0.768195
+vt 0.481527 0.768044
+vt 0.318752 0.551885
+vt 0.318514 0.548032
+vt 0.319390 0.547818
+vt 0.319827 0.551809
+vt 0.318191 0.545013
+vt 0.284986 0.539926
+vt 0.297025 0.551729
+vt 0.302599 0.564516
+vt 0.317095 0.579418
+vt 0.312542 0.579244
+vt 0.269252 0.529306
+vt 0.340544 0.685170
+vt 0.335373 0.670553
+vt 0.334694 0.676256
+vt 0.335622 0.663371
+vt 0.336369 0.649615
+vt 0.342871 0.627065
+vt 0.339128 0.628441
+vt 0.336804 0.636144
+vt 0.546551 0.758828
+vt 0.730378 0.071885
+vt 0.731550 0.073570
+vt 0.732728 0.074834
+vt 0.732538 0.075011
+vt 0.734883 0.078171
+vt 0.515561 0.700592
+vt 0.518728 0.704747
+vt 0.714835 0.053431
+vt 0.713619 0.065427
+vt 0.716348 0.041686
+vt 0.717688 0.032887
+vt 0.347108 0.608838
+vt 0.718975 0.865886
+vt 0.719630 0.867602
+vt 0.718746 0.867663
+vt 0.718231 0.865362
+vt 0.510637 0.626810
+vt 0.504968 0.643903
+vt 0.503295 0.637069
+vt 0.504116 0.634491
+vt 0.484220 0.802563
+vt 0.483636 0.802480
+vt 0.484090 0.804794
+vt 0.483230 0.804732
+vt 0.138906 0.803503
+vt 0.140194 0.803275
+vt 0.139066 0.805659
+vt 0.138125 0.805419
+vt 0.139280 0.802490
+vt 0.140460 0.802215
+vt 0.483240 0.823606
+vt 0.483182 0.824751
+vt 0.482360 0.824567
+vt 0.482381 0.823506
+vt 0.483094 0.825962
+vt 0.482535 0.825639
+vt 0.134827 0.710505
+vt 0.133707 0.711808
+vt 0.131925 0.712897
+vt 0.131482 0.714214
+vt 0.579972 0.830024
+vt 0.579582 0.831541
+vt 0.579182 0.846574
+vt 0.344688 0.614953
+vt 0.343366 0.611604
+vt 0.481984 0.780241
+vt 0.481741 0.778479
+vt 0.481484 0.776499
+vt 0.483757 0.785619
+vt 0.482758 0.785863
+vt 0.227721 0.806136
+vt 0.228968 0.805822
+vt 0.345614 0.603284
+vt 0.344314 0.604365
+vt 0.343397 0.607420
+vt 0.161759 0.647629
+vt 0.162585 0.648795
+vt 0.162867 0.642201
+vt 0.161527 0.645403
+vt 0.115215 0.800019
+vt 0.115890 0.798542
+vt 0.115630 0.803808
+vt 0.116737 0.807577
+vt 0.480286 0.767620
+vt 0.480001 0.765416
+vt 0.318652 0.579122
+vt 0.307540 0.578784
+vt 0.258132 0.513879
+vt 0.252591 0.520062
+vt 0.266687 0.501863
+vt 0.274735 0.490226
+vt 0.288665 0.490549
+vt 0.299388 0.492851
+vt 0.336116 0.629818
+vt 0.543538 0.760729
+vt 0.539126 0.758886
+vt 0.533685 0.752716
+vt 0.531560 0.743792
+vt 0.729045 0.073615
+vt 0.733921 0.079618
+vt 0.739818 0.083697
+vt 0.742273 0.084036
+vt 0.523574 0.712048
+vt 0.655561 0.787574
+vt 0.654407 0.780143
+vt 0.657327 0.786007
+vt 0.657899 0.790638
+vt 0.712232 0.078365
+vt 0.720557 0.031235
+vt 0.721850 0.028156
+vt 0.346405 0.605262
+vt 0.346405 0.613237
+vt 0.346196 0.612781
+vt 0.344761 0.614384
+vt 0.588824 0.850489
+vt 0.585859 0.849842
+vt 0.515875 0.626320
+vt 0.505926 0.631844
+vt 0.721065 0.017266
+vt 0.720974 0.015185
+vt 0.722065 0.023036
+vt 0.483929 0.808141
+vt 0.483853 0.809728
+vt 0.483290 0.809631
+vt 0.483073 0.807984
+vt 0.484005 0.806575
+vt 0.483091 0.806436
+vt 0.138199 0.807967
+vt 0.137430 0.807056
+vt 0.182461 0.803079
+vt 0.183675 0.802822
+vt 0.182512 0.805310
+vt 0.181655 0.805058
+vt 0.482149 0.798893
+vt 0.482240 0.797259
+vt 0.482316 0.795457
+vt 0.139618 0.801566
+vt 0.140469 0.801453
+vt 0.481808 0.788857
+vt 0.481584 0.787690
+vt 0.481917 0.786620
+vt 0.482750 0.821250
+vt 0.483319 0.821321
+vt 0.483282 0.822479
+vt 0.482457 0.822381
+vt 0.135042 0.709247
+vt 0.135643 0.708954
+vt 0.136286 0.708693
+vt 0.132309 0.711977
+vt 0.579359 0.836091
+vt 0.302462 0.814533
+vt 0.301444 0.817243
+vt 0.300633 0.816140
+vt 0.301481 0.814150
+vt 0.302414 0.811880
+vt 0.303789 0.811686
+vt 0.225441 0.809109
+vt 0.224286 0.811560
+vt 0.226458 0.806306
+vt 0.227000 0.805193
+vt 0.343754 0.611360
+vt 0.160326 0.647942
+vt 0.113777 0.799686
+vt 0.164340 0.637640
+vt 0.162501 0.642085
+vt 0.294381 0.800390
+vt 0.293143 0.800106
+vt 0.294432 0.796233
+vt 0.295147 0.796539
+vt 0.480555 0.769562
+vt 0.480840 0.764098
+vt 0.479888 0.764341
+vt 0.319950 0.554834
+vt 0.318931 0.554987
+vt 0.791404 0.755932
+vt 0.800173 0.757762
+vt 0.795879 0.773496
+vt 0.787672 0.771327
+vt 0.789825 0.785535
+vt 0.782396 0.783164
+vt 0.782793 0.791109
+vt 0.776519 0.789336
+vt 0.304635 0.578223
+vt 0.311807 0.595252
+vt 0.315540 0.596424
+vt 0.278754 0.485178
+vt 0.347879 0.696298
+vt 0.339189 0.695542
+vt 0.332657 0.685575
+vt 0.329330 0.670847
+vt 0.328615 0.676625
+vt 0.329460 0.663391
+vt 0.329825 0.649402
+vt 0.330535 0.635460
+vt 0.524455 0.729156
+vt 0.525243 0.727402
+vt 0.730629 0.076976
+vt 0.731792 0.078481
+vt 0.732885 0.078514
+vt 0.034383 0.807569
+vt 0.033901 0.807746
+vt 0.034224 0.802961
+vt 0.035212 0.801657
+vt 0.737301 0.084010
+vt 0.515553 0.705920
+vt 0.518041 0.707692
+vt 0.704591 0.049785
+vt 0.702875 0.069371
+vt 0.711107 0.035446
+vt 0.718384 0.029728
+vt 0.715112 0.027865
+vt 0.346532 0.608765
+vt 0.506065 0.629469
+vt 0.721004 0.018421
+vt 0.718764 0.015793
+vt 0.717399 0.014961
+vt 0.720647 0.012607
+vt 0.716835 0.010734
+vt 0.483775 0.811348
+vt 0.482918 0.811192
+vt 0.181660 0.807562
+vt 0.180934 0.806756
+vt 0.483440 0.794460
+vt 0.482324 0.794631
+vt 0.182844 0.802046
+vt 0.183967 0.801722
+vt 0.138031 0.802763
+vt 0.138518 0.801758
+vt 0.137184 0.805180
+vt 0.139025 0.801113
+vt 0.483482 0.816934
+vt 0.483434 0.818459
+vt 0.482520 0.818322
+vt 0.482651 0.816738
+vt 0.483365 0.820019
+vt 0.482500 0.819934
+vt 0.136628 0.708011
+vt 0.137418 0.708098
+vt 0.481212 0.823990
+vt 0.481270 0.823251
+vt 0.134641 0.709370
+vt 0.133958 0.710862
+vt 0.132620 0.711288
+vt 0.130788 0.712000
+vt 0.130332 0.712228
+vt 0.129828 0.713877
+vt 0.578318 0.830024
+vt 0.578104 0.831920
+vt 0.578375 0.837608
+vt 0.344773 0.613776
+vt 0.482372 0.775237
+vt 0.481380 0.775527
+vt 0.302840 0.810750
+vt 0.304110 0.810465
+vt 0.228113 0.805088
+vt 0.229012 0.804945
+vt 0.481110 0.779364
+vt 0.480647 0.777950
+vt 0.480738 0.776583
+vt 0.630648 0.857208
+vt 0.632014 0.857491
+vt 0.631865 0.858489
+vt 0.630665 0.858526
+vt 0.481646 0.785946
+vt 0.345351 0.604270
+vt 0.344441 0.605152
+vt 0.343799 0.607683
+vt 0.161149 0.645356
+vt 0.320185 0.550333
+vt 0.321122 0.550973
+vt 0.321046 0.552158
+vt 0.292805 0.796337
+vt 0.291569 0.800095
+vt 0.291757 0.796503
+vt 0.292934 0.801651
+vt 0.294064 0.801881
+vt 0.479672 0.768608
+vt 0.479191 0.767069
+vt 0.479262 0.765542
+vt 0.321091 0.554370
+vt 0.319231 0.560421
+vt 0.319081 0.557708
+vt 0.316802 0.595619
+vt 0.319384 0.572859
+vt 0.319456 0.579027
+vt 0.801924 0.741101
+vt 0.792647 0.739085
+vt 0.307885 0.593554
+vt 0.241024 0.504034
+vt 0.233466 0.510048
+vt 0.252995 0.492846
+vt 0.264215 0.482175
+vt 0.331703 0.628148
+vt 0.725466 0.133182
+vt 0.733670 0.130832
+vt 0.731414 0.137003
+vt 0.724103 0.138638
+vt 0.737416 0.121909
+vt 0.732986 0.123543
+vt 0.735775 0.118353
+vt 0.740284 0.107272
+vt 0.738134 0.106738
+vt 0.729501 0.077502
+vt 0.727225 0.078914
+vt 0.722294 0.081946
+vt 0.735764 0.084192
+vt 0.741382 0.092631
+vt 0.743545 0.092164
+vt 0.739009 0.092047
+vt 0.520838 0.713684
+vt 0.658307 0.799279
+vt 0.660885 0.800003
+vt 0.662254 0.799918
+vt 0.710202 0.092933
+vt 0.697682 0.088236
+vt 0.720468 0.030535
+vt 0.721534 0.027825
+vt 0.345904 0.605796
+vt 0.345844 0.612257
+vt 0.716732 0.004926
+vt 0.716512 0.007585
+vt 0.709283 0.005484
+vt 0.708524 0.003690
+vt 0.720000 0.009961
+vt 0.719287 0.016632
+vt 0.721707 0.023281
+vt 0.027888 0.794547
+vt 0.028921 0.794546
+vt 0.028123 0.796193
+vt 0.027342 0.795900
+vt 0.481753 0.807080
+vt 0.481819 0.806016
+vt 0.481865 0.804764
+vt 0.482971 0.803927
+vt 0.481853 0.804120
+vt 0.136148 0.807405
+vt 0.181705 0.802262
+vt 0.182197 0.801223
+vt 0.180798 0.804805
+vt 0.183211 0.801052
+vt 0.184022 0.800901
+vt 0.481359 0.798072
+vt 0.481145 0.796755
+vt 0.481484 0.795526
+vt 0.140288 0.799914
+vt 0.141226 0.800286
+vt 0.141408 0.799216
+vt 0.140873 0.798542
+vt 0.483622 0.814541
+vt 0.483519 0.815738
+vt 0.482998 0.815659
+vt 0.482760 0.814460
+vt 0.012830 0.806402
+vt 0.012436 0.807533
+vt 0.011767 0.806970
+vt 0.012112 0.806184
+vt 0.481285 0.822358
+vt 0.773137 0.867645
+vt 0.772952 0.868793
+vt 0.772162 0.868476
+vt 0.772344 0.867557
+vt 0.134793 0.708151
+vt 0.135330 0.708129
+vt 0.135883 0.707620
+vt 0.131324 0.711172
+vt 0.576331 0.838366
+vt 0.577254 0.836091
+vt 0.300488 0.813802
+vt 0.299234 0.816477
+vt 0.301582 0.810805
+vt 0.302144 0.809658
+vt 0.227555 0.804471
+vt 0.553631 0.805430
+vt 0.552956 0.805430
+vt 0.552929 0.802979
+vt 0.553900 0.802915
+vt 0.553243 0.808090
+vt 0.552281 0.808233
+vt 0.550838 0.809346
+vt 0.551876 0.810904
+vt 0.550579 0.811355
+vt 0.344049 0.611103
+vt 0.550378 0.827132
+vt 0.549845 0.827086
+vt 0.550054 0.824546
+vt 0.550841 0.824435
+vt 0.739505 0.866765
+vt 0.739511 0.865560
+vt 0.740944 0.865884
+vt 0.740796 0.866836
+vt 0.813404 0.868147
+vt 0.813761 0.869085
+vt 0.812323 0.869265
+vt 0.812193 0.868025
+vt 0.291985 0.792309
+vt 0.293282 0.792215
+vt 0.291510 0.801567
+vt 0.163464 0.633045
+vt 0.165442 0.633789
+vt 0.163378 0.637721
+vt 0.161327 0.641885
+vt 0.303256 0.809641
+vt 0.304177 0.809511
+vt 0.478893 0.764609
+vt 0.320057 0.557522
+vt 0.319381 0.563144
+vt 0.319533 0.565895
+vt 0.318783 0.585252
+vt 0.319681 0.568590
+vt 0.319822 0.571144
+vt 0.782441 0.757762
+vt 0.778691 0.773496
+vt 0.773808 0.785535
+vt 0.321819 0.733307
+vt 0.330407 0.737554
+vt 0.324530 0.749641
+vt 0.317490 0.746369
+vt 0.330804 0.750330
+vt 0.323546 0.764037
+vt 0.318695 0.763027
+vt 0.306061 0.592782
+vt 0.308608 0.602697
+vt 0.310845 0.607443
+vt 0.313659 0.609722
+vt 0.269514 0.477707
+vt 0.348014 0.706210
+vt 0.338737 0.705208
+vt 0.330500 0.696298
+vt 0.326495 0.685581
+vt 0.687831 0.131833
+vt 0.688715 0.135521
+vt 0.682937 0.134971
+vt 0.682232 0.131697
+vt 0.696110 0.132181
+vt 0.696171 0.136077
+vt 0.710161 0.137723
+vt 0.710801 0.133131
+vt 0.726441 0.124342
+vt 0.528569 0.726366
+vt 0.525207 0.723281
+vt 0.742435 0.105518
+vt 0.728317 0.079613
+vt 0.730569 0.079133
+vt 0.731535 0.080463
+vt 0.733084 0.082463
+vt 0.089874 0.802046
+vt 0.090078 0.798542
+vt 0.090907 0.804454
+vt 0.090399 0.807133
+vt 0.733760 0.080922
+vt 0.735008 0.084632
+vt 0.737177 0.088181
+vt 0.518511 0.714048
+vt 0.701497 0.050529
+vt 0.699554 0.069693
+vt 0.703603 0.026677
+vt 0.710984 0.021363
+vt 0.718703 0.029214
+vt 0.716865 0.025395
+vt 0.715675 0.020055
+vt 0.345993 0.608648
+vt 0.709708 0.010483
+vt 0.719360 0.017450
+vt 0.720795 0.019101
+vt 0.717537 0.019993
+vt 0.027557 0.797754
+vt 0.026882 0.796972
+vt 0.482781 0.812877
+vt 0.483695 0.813015
+vt 0.028184 0.793723
+vt 0.029138 0.793642
+vt 0.179792 0.806979
+vt 0.646825 0.857796
+vt 0.646707 0.858913
+vt 0.645560 0.858962
+vt 0.645543 0.857566
+vt 0.481208 0.794784
+vt 0.182703 0.800530
+vt 0.553813 0.798708
+vt 0.552796 0.798791
+vt 0.552998 0.796375
+vt 0.553697 0.796454
+vt 0.551458 0.799796
+vt 0.552853 0.800953
+vt 0.551531 0.801388
+vt 0.139264 0.799823
+vt 0.550677 0.800441
+vt 0.550448 0.801731
+vt 0.481171 0.819100
+vt 0.481249 0.817903
+vt 0.481294 0.816558
+vt 0.012526 0.805175
+vt 0.013483 0.805086
+vt 0.482178 0.821818
+vt 0.481242 0.821858
+vt 0.480516 0.823534
+vt 0.480321 0.822925
+vt 0.527665 0.855801
+vt 0.527698 0.857555
+vt 0.526479 0.857244
+vt 0.526725 0.855801
+vt 0.524988 0.857535
+vt 0.525681 0.855801
+vt 0.341470 0.843377
+vt 0.340132 0.843270
+vt 0.340357 0.841644
+vt 0.341459 0.841644
+vt 0.338836 0.843751
+vt 0.339456 0.841644
+vt 0.130117 0.711670
+vt 0.130161 0.710598
+vt 0.128305 0.713118
+vt 0.128677 0.711764
+vt 0.576682 0.831541
+vt 0.576795 0.830024
+vt 0.344762 0.613196
+vt 0.705462 0.854643
+vt 0.705294 0.855636
+vt 0.704048 0.855572
+vt 0.704063 0.854319
+vt 0.480377 0.775735
+vt 0.228944 0.803062
+vt 0.229884 0.803531
+vt 0.230180 0.802164
+vt 0.229689 0.801317
+vt 0.629720 0.858607
+vt 0.629587 0.857284
+vt 0.630857 0.859348
+vt 0.631784 0.859602
+vt 0.552868 0.810671
+vt 0.107892 0.806587
+vt 0.108196 0.807469
+vt 0.107421 0.807149
+vt 0.107135 0.806370
+vt 0.106814 0.804056
+vt 0.106211 0.804099
+vt 0.548849 0.824316
+vt 0.549115 0.822391
+vt 0.550376 0.821941
+vt 0.159928 0.645069
+vt 0.293401 0.789269
+vt 0.292161 0.789031
+vt 0.321760 0.552219
+vt 0.322047 0.551201
+vt 0.290788 0.799238
+vt 0.290673 0.796539
+vt 0.164582 0.632298
+vt 0.162311 0.631463
+vt 0.422763 0.852659
+vt 0.424295 0.852578
+vt 0.423990 0.853708
+vt 0.422161 0.853732
+vt 0.302715 0.808918
+vt 0.739639 0.867495
+vt 0.740636 0.867832
+vt 0.304162 0.807436
+vt 0.305112 0.807972
+vt 0.305465 0.806445
+vt 0.304982 0.805512
+vt 0.321198 0.556270
+vt 0.322024 0.553749
+vt 0.318597 0.588929
+vt 0.319012 0.586542
+vt 0.314601 0.609121
+vt 0.320106 0.576290
+vt 0.320108 0.578948
+vt 0.783371 0.741101
+vt 0.802423 0.721976
+vt 0.792647 0.719300
+vt 0.316816 0.778596
+vt 0.319441 0.779368
+vt 0.314784 0.788510
+vt 0.311964 0.790899
+vt 0.221015 0.491532
+vt 0.210336 0.497116
+vt 0.238037 0.481741
+vt 0.253827 0.472635
+vt 0.260809 0.469106
+vt 0.338737 0.714280
+vt 0.348513 0.715450
+vt 0.329461 0.706210
+vt 0.732501 0.111704
+vt 0.735037 0.109338
+vt 0.736906 0.103998
+vt 0.666438 0.816056
+vt 0.668073 0.825217
+vt 0.663301 0.813597
+vt 0.663972 0.810671
+vt 0.729654 0.079185
+vt 0.725795 0.084446
+vt 0.722650 0.091107
+vt 0.737079 0.091211
+vt 0.737333 0.095466
+vt 0.711161 0.105004
+vt 0.697366 0.104145
+vt 0.696915 0.084570
+vt 0.701385 0.027694
+vt 0.720213 0.029446
+vt 0.721003 0.027245
+vt 0.303652 0.821193
+vt 0.304428 0.820874
+vt 0.303603 0.822399
+vt 0.303010 0.822519
+vt 0.345511 0.611747
+vt 0.702744 0.010725
+vt 0.702457 0.004421
+vt 0.702268 0.003074
+vt 0.717965 0.020491
+vt 0.721131 0.023448
+vt 0.482650 0.810410
+vt 0.481559 0.811096
+vt 0.481543 0.810394
+vt 0.481510 0.812458
+vt 0.027148 0.793872
+vt 0.027546 0.793044
+vt 0.026562 0.795605
+vt 0.029155 0.792952
+vt 0.028471 0.792923
+vt 0.480954 0.806391
+vt 0.480722 0.805502
+vt 0.481037 0.804685
+vt 0.660868 0.855965
+vt 0.660742 0.857082
+vt 0.659756 0.857132
+vt 0.659726 0.855741
+vt 0.480747 0.804080
+vt 0.645709 0.859784
+vt 0.646598 0.860028
+vt 0.552560 0.794149
+vt 0.553578 0.794117
+vt 0.553340 0.789476
+vt 0.552325 0.789526
+vt 0.552521 0.786982
+vt 0.553217 0.787067
+vt 0.550990 0.790564
+vt 0.552392 0.791949
+vt 0.551070 0.792369
+vt 0.183967 0.799193
+vt 0.184822 0.799584
+vt 0.480760 0.796364
+vt 0.553920 0.800768
+vt 0.139946 0.798871
+vt 0.560323 0.855090
+vt 0.561308 0.855057
+vt 0.560706 0.856256
+vt 0.559955 0.856013
+vt 0.560339 0.857335
+vt 0.559673 0.856656
+vt 0.860313 0.996545
+vt 0.861220 0.996615
+vt 0.861019 0.997944
+vt 0.860061 0.997623
+vt 0.011395 0.805964
+vt 0.010854 0.807023
+vt 0.480574 0.822326
+vt 0.773101 0.866949
+vt 0.772527 0.866645
+vt 0.771765 0.867498
+vt 0.771417 0.868667
+vt 0.205836 0.816518
+vt 0.206989 0.816442
+vt 0.206765 0.818196
+vt 0.205847 0.818196
+vt 0.207526 0.816116
+vt 0.207201 0.815411
+vt 0.207714 0.815646
+vt 0.551124 0.764868
+vt 0.551303 0.764360
+vt 0.551773 0.764783
+vt 0.552027 0.765154
+vt 0.433026 0.851578
+vt 0.433707 0.853685
+vt 0.432469 0.853502
+vt 0.432078 0.851578
+vt 0.128886 0.710744
+vt 0.706249 0.002426
+vt 0.701699 0.001992
+vt 0.704194 0.856307
+vt 0.705160 0.856639
+vt 0.552078 0.816093
+vt 0.551509 0.816059
+vt 0.551586 0.813385
+vt 0.552485 0.813298
+vt 0.551664 0.818937
+vt 0.550821 0.819057
+vt 0.549396 0.820203
+vt 0.227917 0.802874
+vt 0.549972 0.810069
+vt 0.549498 0.811666
+vt 0.630176 0.859689
+vt 0.152309 0.664185
+vt 0.153289 0.664398
+vt 0.152191 0.667058
+vt 0.151246 0.666854
+vt 0.151156 0.669574
+vt 0.150240 0.669384
+vt 0.153341 0.661595
+vt 0.154355 0.661817
+vt 0.550333 0.813145
+vt 0.105318 0.800636
+vt 0.104938 0.800952
+vt 0.160036 0.648054
+vt 0.158848 0.647777
+vt 0.551261 0.821710
+vt 0.548035 0.822680
+vt 0.548120 0.823994
+vt 0.813261 0.867223
+vt 0.812318 0.867367
+vt 0.294522 0.791707
+vt 0.294615 0.789761
+vt 0.290982 0.792308
+vt 0.290425 0.800364
+vt 0.422963 0.851251
+vt 0.424394 0.851154
+vt 0.158550 0.635650
+vt 0.160419 0.638236
+vt 0.157874 0.641175
+vt 0.303126 0.807181
+vt 0.321868 0.555278
+vt 0.315344 0.810478
+vt 0.315680 0.811730
+vt 0.314480 0.811483
+vt 0.314055 0.810331
+vt 0.319906 0.560289
+vt 0.318111 0.591484
+vt 0.319822 0.581596
+vt 0.319961 0.573672
+vt 0.782871 0.721976
+vt 0.632730 0.110802
+vt 0.627190 0.104620
+vt 0.643851 0.096025
+vt 0.648302 0.102807
+vt 0.659585 0.087351
+vt 0.663700 0.095855
+vt 0.671624 0.077188
+vt 0.678024 0.086608
+vt 0.677201 0.064126
+vt 0.681373 0.067837
+vt 0.313705 0.761222
+vt 0.313545 0.777982
+vt 0.307737 0.605086
+vt 0.310524 0.612027
+vt 0.313032 0.614700
+vt 0.349054 0.724155
+vt 0.338737 0.722866
+vt 0.328961 0.715450
+vt 0.322840 0.697600
+vt 0.673982 0.133346
+vt 0.675584 0.131383
+vt 0.687835 0.123023
+vt 0.680881 0.121768
+vt 0.697360 0.121614
+vt 0.713212 0.124044
+vt 0.727627 0.111830
+vt 0.727401 0.082518
+vt 0.728893 0.079817
+vt 0.730290 0.079795
+vt 0.731014 0.080936
+vt 0.732452 0.083978
+vt 0.734079 0.083601
+vt 0.734512 0.087833
+vt 0.734830 0.085716
+vt 0.735875 0.087896
+vt 0.735902 0.091769
+vt 0.695547 0.089574
+vt 0.694912 0.089588
+vt 0.700405 0.011458
+vt 0.718913 0.028350
+vt 0.717462 0.025366
+vt 0.302265 0.825252
+vt 0.301908 0.825063
+vt 0.719372 0.018214
+vt 0.720443 0.019757
+vt 0.025828 0.797128
+vt 0.481435 0.813642
+vt 0.659948 0.857944
+vt 0.660712 0.858189
+vt 0.552085 0.784808
+vt 0.553105 0.784861
+vt 0.551164 0.794006
+vt 0.550342 0.793806
+vt 0.549990 0.792705
+vt 0.553460 0.791808
+vt 0.183027 0.799082
+vt 0.550214 0.791257
+vt 0.149381 0.671560
+vt 0.150278 0.671721
+vt 0.149441 0.673781
+vt 0.148565 0.673640
+vt 0.148529 0.676035
+vt 0.147684 0.675882
+vt 0.653619 0.860020
+vt 0.652635 0.859707
+vt 0.652871 0.858632
+vt 0.653807 0.858694
+vt 0.482370 0.816059
+vt 0.481270 0.815900
+vt 0.013685 0.804252
+vt 0.012778 0.804465
+vt 0.013083 0.803618
+vt 0.013730 0.803556
+vt 0.480369 0.818404
+vt 0.480146 0.817408
+vt 0.480461 0.816516
+vt 0.011853 0.804608
+vt 0.012224 0.803824
+vt 0.682095 0.856503
+vt 0.682048 0.857439
+vt 0.681237 0.857512
+vt 0.681181 0.856317
+vt 0.480300 0.821880
+vt 0.772080 0.866844
+vt 0.549955 0.765428
+vt 0.551147 0.766072
+vt 0.549985 0.766319
+vt 0.853116 0.997214
+vt 0.853428 0.996545
+vt 0.854038 0.996986
+vt 0.854014 0.997561
+vt 0.205943 0.815333
+vt 0.527560 0.854732
+vt 0.526991 0.854358
+vt 0.340580 0.840201
+vt 0.341364 0.840575
+vt 0.526170 0.854732
+vt 0.339872 0.840575
+vt 0.131782 0.709934
+vt 0.130483 0.709287
+vt 0.129027 0.709956
+vt 0.700182 0.002861
+vt 0.700182 0.003921
+vt 0.126933 0.712059
+vt 0.127447 0.710700
+vt 0.104125 0.799023
+vt 0.104336 0.798542
+vt 0.549599 0.812875
+vt 0.228723 0.801665
+vt 0.154392 0.658959
+vt 0.155439 0.659191
+vt 0.344511 0.605369
+vt 0.345235 0.604590
+vt 0.345127 0.605417
+vt 0.344635 0.606026
+vt 0.106191 0.805713
+vt 0.105688 0.803942
+vt 0.548526 0.820943
+vt 0.156376 0.643971
+vt 0.293478 0.786318
+vt 0.292312 0.786218
+vt 0.291222 0.789030
+vt 0.315812 0.814875
+vt 0.316684 0.814250
+vt 0.317046 0.815781
+vt 0.316621 0.816798
+vt 0.423928 0.850069
+vt 0.422856 0.850448
+vt 0.184720 0.786213
+vt 0.184367 0.787339
+vt 0.182974 0.783753
+vt 0.183930 0.783514
+vt 0.237537 0.791566
+vt 0.239367 0.792538
+vt 0.237096 0.793372
+vt 0.235518 0.792171
+vt 0.155675 0.629910
+vt 0.156314 0.629567
+vt 0.154723 0.632444
+vt 0.413803 0.766265
+vt 0.413521 0.762724
+vt 0.414929 0.762660
+vt 0.415205 0.766202
+vt 0.236416 0.787839
+vt 0.238139 0.791381
+vt 0.235731 0.788029
+vt 0.303985 0.805867
+vt 0.315772 0.812722
+vt 0.314908 0.812641
+vt 0.314060 0.807711
+vt 0.313157 0.808112
+vt 0.320393 0.562960
+vt 0.317644 0.593910
+vt 0.317281 0.595905
+vt 0.319405 0.584154
+vt 0.316145 0.602414
+vt 0.315814 0.604657
+vt 0.313868 0.614200
+vt 0.321087 0.576136
+vt 0.320849 0.573501
+vt 0.320976 0.578765
+vt 0.615622 0.120648
+vt 0.608065 0.114634
+vt 0.802964 0.698846
+vt 0.792647 0.695092
+vt 0.682147 0.051007
+vt 0.679239 0.049272
+vt 0.310452 0.776759
+vt 0.308826 0.793469
+vt 0.196341 0.478003
+vt 0.186228 0.483150
+vt 0.224793 0.472063
+vt 0.245723 0.461704
+vt 0.255288 0.460002
+vt 0.338737 0.728388
+vt 0.349675 0.729676
+vt 0.328421 0.724155
+vt 0.661962 0.129563
+vt 0.663264 0.134665
+vt 0.653352 0.139503
+vt 0.649334 0.134455
+vt 0.718742 0.110450
+vt 0.732223 0.101208
+vt 0.735173 0.097685
+vt 0.729392 0.080548
+vt 0.728475 0.081465
+vt 0.726920 0.085452
+vt 0.725632 0.086873
+vt 0.725227 0.089272
+vt 0.735261 0.088450
+vt 0.724452 0.098797
+vt 0.692896 0.094104
+vt 0.690204 0.107851
+vt 0.063209 0.630855
+vt 0.062307 0.632069
+vt 0.063329 0.627065
+vt 0.063909 0.628217
+vt 0.062824 0.635578
+vt 0.058741 0.646946
+vt 0.054803 0.666110
+vt 0.059432 0.654174
+vt 0.058813 0.657906
+vt 0.719950 0.028358
+vt 0.720503 0.026632
+vt 0.345676 0.605916
+vt 0.345443 0.606427
+vt 0.345363 0.611333
+vt 0.345747 0.608460
+vt 0.344766 0.612716
+vt 0.700182 0.005160
+vt 0.718353 0.020862
+vt 0.720592 0.023519
+vt 0.480410 0.811949
+vt 0.480728 0.811043
+vt 0.667871 0.856536
+vt 0.667832 0.857643
+vt 0.666885 0.857701
+vt 0.666818 0.856317
+vt 0.480434 0.810401
+vt 0.480635 0.812934
+vt 0.552939 0.781612
+vt 0.551924 0.781648
+vt 0.552163 0.779915
+vt 0.552857 0.780014
+vt 0.027966 0.792520
+vt 0.550580 0.782476
+vt 0.551949 0.783273
+vt 0.550627 0.783693
+vt 0.028987 0.791642
+vt 0.029756 0.792064
+vt 0.480329 0.805080
+vt 0.550694 0.784722
+vt 0.549882 0.784674
+vt 0.549550 0.784019
+vt 0.553016 0.783135
+vt 0.183750 0.797982
+vt 0.184639 0.797614
+vt 0.147585 0.678372
+vt 0.146783 0.678170
+vt 0.146652 0.680680
+vt 0.145710 0.683013
+vt 0.145011 0.682661
+vt 0.145907 0.680387
+vt 0.144736 0.685421
+vt 0.144052 0.685120
+vt 0.550263 0.775146
+vt 0.551337 0.774464
+vt 0.551590 0.775066
+vt 0.550243 0.775830
+vt 0.559205 0.855769
+vt 0.559613 0.854489
+vt 0.558672 0.856811
+vt 0.012645 0.803234
+vt 0.681395 0.858197
+vt 0.682017 0.858381
+vt 0.551587 0.768146
+vt 0.551254 0.767087
+vt 0.552226 0.767090
+vt 0.552274 0.768221
+vt 0.479947 0.822612
+vt 0.549301 0.765764
+vt 0.549079 0.766492
+vt 0.552161 0.765995
+vt 0.132116 0.707579
+vt 0.133747 0.707672
+vt 0.133640 0.708036
+vt 0.132074 0.708623
+vt 0.204727 0.818196
+vt 0.204270 0.816037
+vt 0.206478 0.819265
+vt 0.205812 0.819639
+vt 0.135005 0.707726
+vt 0.133967 0.706972
+vt 0.135346 0.707246
+vt 0.135830 0.707335
+vt 0.135518 0.707705
+vt 0.432460 0.850509
+vt 0.431727 0.850135
+vt 0.431158 0.853737
+vt 0.431025 0.851578
+vt 0.127836 0.709780
+vt 0.156648 0.653297
+vt 0.157766 0.653551
+vt 0.156592 0.656396
+vt 0.155510 0.656153
+vt 0.157758 0.650513
+vt 0.158911 0.650778
+vt 0.150393 0.660681
+vt 0.149455 0.663299
+vt 0.148489 0.665998
+vt 0.147559 0.668607
+vt 0.151347 0.658016
+vt 0.104714 0.801789
+vt 0.155395 0.646709
+vt 0.315678 0.816497
+vt 0.314845 0.815189
+vt 0.295486 0.790070
+vt 0.295181 0.791378
+vt 0.294647 0.787503
+vt 0.182244 0.779284
+vt 0.181313 0.779481
+vt 0.183295 0.786616
+vt 0.182023 0.784009
+vt 0.152813 0.638693
+vt 0.412719 0.763743
+vt 0.412620 0.766351
+vt 0.294584 0.786364
+vt 0.295463 0.787522
+vt 0.295277 0.788277
+vt 0.293705 0.785212
+vt 0.320595 0.565741
+vt 0.320261 0.583562
+vt 0.320243 0.581267
+vt 0.316704 0.599206
+vt 0.316432 0.600767
+vt 0.201048 0.804549
+vt 0.206127 0.801317
+vt 0.205048 0.802279
+vt 0.202610 0.804204
+vt 0.262923 0.824803
+vt 0.263176 0.823725
+vt 0.263986 0.822611
+vt 0.263308 0.825232
+vt 0.320352 0.571050
+vt 0.320614 0.568452
+vt 0.595614 0.133149
+vt 0.584935 0.127565
+vt 0.782331 0.698846
+vt 0.627594 0.131835
+vt 0.641286 0.122818
+vt 0.654336 0.115765
+vt 0.667371 0.110552
+vt 0.678055 0.105935
+vt 0.687146 0.051805
+vt 0.686787 0.069843
+vt 0.685649 0.086604
+vt 0.682489 0.034543
+vt 0.680663 0.033736
+vt 0.310341 0.797841
+vt 0.308799 0.798733
+vt 0.310447 0.800514
+vt 0.308861 0.801146
+vt 0.327800 0.729676
+vt 0.644113 0.146974
+vt 0.638814 0.142506
+vt 0.671148 0.124655
+vt 0.686504 0.106033
+vt 0.728744 0.101103
+vt 0.727951 0.084651
+vt 0.729884 0.080400
+vt 0.731640 0.084199
+vt 0.733223 0.088410
+vt 0.735271 0.092578
+vt 0.726114 0.092988
+vt 0.727408 0.095537
+vt 0.693865 0.089569
+vt 0.695591 0.088421
+vt 0.694179 0.088915
+vt 0.061967 0.641192
+vt 0.062788 0.637010
+vt 0.060257 0.649951
+vt 0.059762 0.653046
+vt 0.058101 0.661999
+vt 0.057591 0.664615
+vt 0.057146 0.666917
+vt 0.719040 0.027456
+vt 0.717996 0.025106
+vt 0.302247 0.823031
+vt 0.301605 0.825000
+vt 0.719361 0.018799
+vt 0.720110 0.020259
+vt 0.667043 0.858514
+vt 0.667783 0.858751
+vt 0.551759 0.778392
+vt 0.552772 0.778357
+vt 0.653177 0.857566
+vt 0.653845 0.857894
+vt 0.028133 0.791500
+vt 0.028654 0.790845
+vt 0.029419 0.790641
+vt 0.143845 0.687627
+vt 0.143168 0.687393
+vt 0.146729 0.670958
+vt 0.145945 0.673185
+vt 0.145150 0.675420
+vt 0.674910 0.856529
+vt 0.674930 0.857629
+vt 0.674011 0.857696
+vt 0.673909 0.856317
+vt 0.480161 0.815906
+vt 0.013657 0.802198
+vt 0.014351 0.802561
+vt 0.479736 0.817046
+vt 0.552325 0.769513
+vt 0.551310 0.769502
+vt 0.549962 0.770286
+vt 0.551334 0.771229
+vt 0.550011 0.771648
+vt 0.550059 0.767057
+vt 0.549373 0.766971
+vt 0.853697 0.998008
+vt 0.852969 0.997934
+vt 0.131917 0.707044
+vt 0.204971 0.819265
+vt 0.902610 0.959808
+vt 0.902778 0.959142
+vt 0.903347 0.959069
+vt 0.903412 0.960051
+vt 0.896525 0.959375
+vt 0.896521 0.960082
+vt 0.895788 0.960114
+vt 0.895518 0.959069
+vt 0.340885 0.839720
+vt 0.341867 0.840201
+vt 0.130964 0.708066
+vt 0.329510 0.843568
+vt 0.328198 0.843751
+vt 0.329138 0.841644
+vt 0.329901 0.841644
+vt 0.698414 0.006024
+vt 0.699447 0.005236
+vt 0.699447 0.006200
+vt 0.698521 0.007137
+vt 0.348710 0.841744
+vt 0.348834 0.843852
+vt 0.347700 0.843371
+vt 0.347868 0.841744
+vt 0.125737 0.710820
+vt 0.126553 0.709479
+vt 0.344795 0.611313
+vt 0.344198 0.610786
+vt 0.344419 0.609950
+vt 0.152363 0.655178
+vt 0.344929 0.608135
+vt 0.344286 0.607797
+vt 0.151659 0.642466
+vt 0.293268 0.783367
+vt 0.292462 0.783417
+vt 0.291428 0.786232
+vt 0.180937 0.776005
+vt 0.180040 0.776223
+vt 0.233843 0.788566
+vt 0.231099 0.795269
+vt 0.231067 0.793494
+vt 0.150185 0.627748
+vt 0.147379 0.627961
+vt 0.149786 0.632867
+vt 0.414139 0.770581
+vt 0.415541 0.770510
+vt 0.234796 0.783530
+vt 0.234131 0.783743
+vt 0.314414 0.813397
+vt 0.313297 0.811437
+vt 0.312247 0.808486
+vt 0.312355 0.806204
+vt 0.313050 0.805039
+vt 0.316981 0.597621
+vt 0.319471 0.588503
+vt 0.320046 0.586084
+vt 0.315412 0.608008
+vt 0.828149 0.995203
+vt 0.828985 0.994868
+vt 0.828985 0.996376
+vt 0.828219 0.996789
+vt 0.322892 0.577598
+vt 0.322814 0.575672
+vt 0.322744 0.573588
+vt 0.123651 0.813714
+vt 0.125141 0.816216
+vt 0.123942 0.815917
+vt 0.122883 0.814103
+vt 0.612636 0.142940
+vt 0.803969 0.674738
+vt 0.792313 0.671006
+vt 0.684052 0.100671
+vt 0.686409 0.033908
+vt 0.683210 0.024494
+vt 0.682337 0.020962
+vt 0.307633 0.789533
+vt 0.816256 0.657738
+vt 0.814382 0.684851
+vt 0.805863 0.652680
+vt 0.216246 0.467326
+vt 0.201489 0.472118
+vt 0.229918 0.460134
+vt 0.249811 0.451440
+vt 0.255602 0.451025
+vt 0.873449 0.470262
+vt 0.873449 0.461378
+vt 0.884387 0.461285
+vt 0.885130 0.470262
+vt 0.635408 0.155576
+vt 0.628426 0.152046
+vt 0.732157 0.097948
+vt 0.734392 0.096332
+vt 0.051939 0.791395
+vt 0.051908 0.790641
+vt 0.052496 0.791247
+vt 0.052385 0.792258
+vt 0.728600 0.084305
+vt 0.727833 0.088350
+vt 0.726722 0.088669
+vt 0.725905 0.091259
+vt 0.690830 0.089144
+vt 0.063698 0.631752
+vt 0.061126 0.645498
+vt 0.061790 0.642658
+vt 0.060774 0.647863
+vt 0.058637 0.659256
+vt 0.662681 0.830198
+vt 0.662288 0.833929
+vt 0.662139 0.831527
+vt 0.662493 0.828848
+vt 0.053063 0.683482
+vt 0.051499 0.688944
+vt 0.053742 0.680200
+vt 0.056242 0.671607
+vt 0.056713 0.669161
+vt 0.125624 0.704521
+vt 0.126344 0.706892
+vt 0.700073 0.009087
+vt 0.699549 0.009829
+vt 0.699472 0.008427
+vt 0.719834 0.027659
+vt 0.720275 0.026201
+vt 0.345227 0.610351
+vt 0.345522 0.608397
+vt 0.718648 0.021083
+vt 0.045071 0.793754
+vt 0.045557 0.790641
+vt 0.045981 0.791072
+vt 0.045472 0.793797
+vt 0.584526 0.855262
+vt 0.585248 0.855668
+vt 0.584619 0.856654
+vt 0.583951 0.856684
+vt 0.480008 0.811543
+vt 0.550374 0.778412
+vt 0.549561 0.778317
+vt 0.549221 0.777541
+vt 0.550295 0.777210
+vt 0.551618 0.776790
+vt 0.552685 0.776653
+vt 0.143147 0.689354
+vt 0.142532 0.690877
+vt 0.141907 0.690603
+vt 0.142494 0.689109
+vt 0.141886 0.692474
+vt 0.141279 0.692206
+vt 0.549798 0.783000
+vt 0.549197 0.775993
+vt 0.549465 0.776410
+vt 0.144380 0.677562
+vt 0.141998 0.684220
+vt 0.142915 0.681609
+vt 0.143672 0.679507
+vt 0.141134 0.686693
+vt 0.552605 0.775093
+vt 0.551852 0.773786
+vt 0.552543 0.773871
+vt 0.674162 0.858506
+vt 0.674881 0.858737
+vt 0.551472 0.772744
+vt 0.552481 0.772649
+vt 0.012878 0.802116
+vt 0.549186 0.770876
+vt 0.548940 0.771994
+vt 0.552401 0.771093
+vt 0.681721 0.858734
+vt 0.681001 0.858491
+vt 0.136604 0.704128
+vt 0.137103 0.704267
+vt 0.136639 0.705398
+vt 0.136152 0.705265
+vt 0.136209 0.706493
+vt 0.135730 0.706365
+vt 0.131488 0.707262
+vt 0.204525 0.819639
+vt 0.204097 0.818196
+vt 0.132408 0.705438
+vt 0.134297 0.705998
+vt 0.127146 0.708739
+vt 0.154405 0.649475
+vt 0.153397 0.652291
+vt 0.147303 0.656717
+vt 0.146476 0.659421
+vt 0.145664 0.662078
+vt 0.144826 0.664816
+vt 0.144006 0.667498
+vt 0.148183 0.653838
+vt 0.150810 0.645245
+vt 0.180388 0.779704
+vt 0.224970 0.797087
+vt 0.226435 0.794828
+vt 0.412956 0.770655
+vt 0.311046 0.805846
+vt 0.322321 0.567248
+vt 0.322227 0.565276
+vt 0.322167 0.563080
+vt 0.320742 0.561796
+vt 0.322202 0.562019
+vt 0.318388 0.595457
+vt 0.318554 0.593527
+vt 0.318560 0.591147
+vt 0.321999 0.585548
+vt 0.322278 0.583546
+vt 0.121914 0.812587
+vt 0.122410 0.811419
+vt 0.201997 0.805591
+vt 0.200474 0.806057
+vt 0.263082 0.826727
+vt 0.262602 0.827242
+vt 0.315971 0.606314
+vt 0.316732 0.604122
+vt 0.314733 0.610628
+vt 0.315421 0.609860
+vt 0.315095 0.610927
+vt 0.258070 0.808734
+vt 0.258736 0.807735
+vt 0.259663 0.810186
+vt 0.258801 0.810467
+vt 0.260866 0.812784
+vt 0.259627 0.812511
+vt 0.462363 0.850528
+vt 0.462749 0.852445
+vt 0.461644 0.852471
+vt 0.461164 0.850784
+vt 0.597782 0.153109
+vt 0.573783 0.147122
+vt 0.562813 0.142534
+vt 0.779990 0.676724
+vt 0.691695 0.052010
+vt 0.691366 0.070391
+vt 0.685445 0.020117
+vt 0.305151 0.796098
+vt 0.305945 0.797739
+vt 0.307160 0.798943
+vt 0.307747 0.799848
+vt 0.307596 0.801408
+vt 0.820090 0.672088
+vt 0.821004 0.660597
+vt 0.236824 0.452685
+vt 0.862512 0.461285
+vt 0.861769 0.470262
+vt 0.629887 0.164679
+vt 0.619696 0.163219
+vt 0.729514 0.097619
+vt 0.728491 0.088121
+vt 0.727363 0.091560
+vt 0.732238 0.088221
+vt 0.733750 0.092492
+vt 0.734711 0.093023
+vt 0.728058 0.093986
+vt 0.728794 0.096041
+vt 0.594172 0.855948
+vt 0.592845 0.856681
+vt 0.592357 0.855634
+vt 0.592851 0.854684
+vt 0.692915 0.089605
+vt 0.695600 0.084897
+vt 0.696330 0.084887
+vt 0.063106 0.635994
+vt 0.659724 0.848836
+vt 0.660489 0.846912
+vt 0.659645 0.851094
+vt 0.659078 0.852110
+vt 0.661714 0.838153
+vt 0.661325 0.840240
+vt 0.661004 0.840135
+vt 0.661396 0.837159
+vt 0.662025 0.835058
+vt 0.661779 0.834258
+vt 0.700502 0.054536
+vt 0.701045 0.054640
+vt 0.700684 0.057383
+vt 0.699857 0.057427
+vt 0.700487 0.051985
+vt 0.701296 0.052023
+vt 0.053252 0.686693
+vt 0.053725 0.684480
+vt 0.055280 0.676598
+vt 0.055756 0.674128
+vt 0.700401 0.049864
+vt 0.701315 0.049722
+vt 0.048748 0.705180
+vt 0.051232 0.696194
+vt 0.699695 0.012516
+vt 0.699636 0.011256
+vt 0.719109 0.026853
+vt 0.718398 0.024755
+vt 0.044380 0.798194
+vt 0.043936 0.798474
+vt 0.044364 0.797014
+vt 0.044774 0.796792
+vt 0.583719 0.855136
+vt 0.584276 0.854360
+vt 0.585016 0.854120
+vt 0.141217 0.694132
+vt 0.140621 0.693892
+vt 0.583492 0.856268
+vt 0.140533 0.688380
+vt 0.143244 0.669989
+vt 0.140836 0.671842
+vt 0.141838 0.674586
+vt 0.550092 0.772863
+vt 0.549282 0.772780
+vt 0.013427 0.801331
+vt 0.014146 0.801058
+vt 0.137748 0.701244
+vt 0.138282 0.701396
+vt 0.137639 0.702975
+vt 0.137124 0.702829
+vt 0.130102 0.706370
+vt 0.130297 0.705710
+vt 0.205569 0.820120
+vt 0.130565 0.704732
+vt 0.330731 0.843803
+vt 0.331126 0.841644
+vt 0.329840 0.840575
+vt 0.330430 0.840201
+vt 0.696788 0.006683
+vt 0.696788 0.007708
+vt 0.699447 0.007240
+vt 0.698895 0.007921
+vt 0.348681 0.840675
+vt 0.348092 0.840301
+vt 0.149078 0.650908
+vt 0.146942 0.640962
+vt 0.147266 0.637797
+vt 0.293774 0.780727
+vt 0.292613 0.780608
+vt 0.291632 0.783445
+vt 0.179820 0.773207
+vt 0.178962 0.773473
+vt 0.179150 0.776468
+vt 0.232231 0.783744
+vt 0.230006 0.789671
+vt 0.147519 0.627150
+vt 0.145358 0.627480
+vt 0.223874 0.795468
+vt 0.222304 0.797686
+vt 0.146808 0.633910
+vt 0.144660 0.631771
+vt 0.413218 0.773892
+vt 0.414400 0.773810
+vt 0.415802 0.773737
+vt 0.233574 0.780304
+vt 0.232922 0.780524
+vt 0.261193 0.813989
+vt 0.260028 0.813605
+vt 0.317931 0.597168
+vt 0.043518 0.804486
+vt 0.044696 0.807130
+vt 0.043626 0.807010
+vt 0.042804 0.804915
+vt 0.321700 0.587290
+vt 0.320638 0.582394
+vt 0.322355 0.582515
+vt 0.317203 0.602328
+vt 0.317327 0.600616
+vt 0.202479 0.805367
+vt 0.203124 0.804069
+vt 0.316449 0.607235
+vt 0.316292 0.608405
+vt 0.314507 0.612124
+vt 0.314987 0.611834
+vt 0.316177 0.609524
+vt 0.201983 0.806830
+vt 0.200487 0.807367
+vt 0.199915 0.806470
+vt 0.199653 0.807736
+vt 0.321144 0.572502
+vt 0.322740 0.572667
+vt 0.462063 0.854024
+vt 0.462858 0.853593
+vt 0.324040 0.576676
+vt 0.324393 0.575128
+vt 0.323934 0.573699
+vt 0.294247 0.764627
+vt 0.294509 0.763816
+vt 0.296197 0.764834
+vt 0.296179 0.765730
+vt 0.122093 0.814340
+vt 0.123300 0.816728
+vt 0.791312 0.651588
+vt 0.690140 0.033192
+vt 0.685123 0.014397
+vt 0.306191 0.799289
+vt 0.822438 0.641580
+vt 0.809456 0.636693
+vt 0.183578 0.472058
+vt 0.191330 0.472367
+vt 0.829740 0.707983
+vt 0.822301 0.718428
+vt 0.820032 0.704756
+vt 0.826646 0.699944
+vt 0.818895 0.689999
+vt 0.823628 0.688478
+vt 0.224165 0.454411
+vt 0.219473 0.460263
+vt 0.237218 0.442123
+vt 0.251506 0.432710
+vt 0.885732 0.489006
+vt 0.896010 0.469847
+vt 0.898817 0.488577
+vt 0.873449 0.489006
+vt 0.113518 0.814962
+vt 0.113718 0.816578
+vt 0.112542 0.816335
+vt 0.112190 0.815160
+vt 0.051983 0.795152
+vt 0.052702 0.795111
+vt 0.052682 0.792758
+vt 0.052828 0.791849
+vt 0.052651 0.797023
+vt 0.052179 0.798968
+vt 0.729470 0.091289
+vt 0.728628 0.091537
+vt 0.267840 0.813461
+vt 0.268867 0.813629
+vt 0.268414 0.815773
+vt 0.267790 0.817483
+vt 0.732879 0.091637
+vt 0.111196 0.811207
+vt 0.110135 0.811653
+vt 0.196949 0.818042
+vt 0.195881 0.820147
+vt 0.195233 0.818761
+vt 0.196085 0.817424
+vt 0.141003 0.631082
+vt 0.141057 0.627065
+vt 0.142645 0.628664
+vt 0.142234 0.631160
+vt 0.696638 0.080601
+vt 0.697269 0.080645
+vt 0.661108 0.842606
+vt 0.660613 0.843095
+vt 0.660608 0.845445
+vt 0.660196 0.846006
+vt 0.700330 0.060062
+vt 0.699454 0.060209
+vt 0.699970 0.062793
+vt 0.699175 0.062807
+vt 0.053092 0.687767
+vt 0.052766 0.689217
+vt 0.054305 0.681662
+vt 0.054801 0.679085
+vt 0.700546 0.044924
+vt 0.701104 0.045032
+vt 0.701214 0.047478
+vt 0.700362 0.047531
+vt 0.699773 0.014950
+vt 0.699737 0.013713
+vt 0.699998 0.006500
+vt 0.698919 0.008833
+vt 0.698990 0.009975
+vt 0.719726 0.026514
+vt 0.720042 0.025350
+vt 0.096844 0.800827
+vt 0.096488 0.798542
+vt 0.096932 0.798823
+vt 0.097336 0.800877
+vt 0.046327 0.791923
+vt 0.045759 0.793914
+vt 0.140528 0.695836
+vt 0.139942 0.695632
+vt 0.139455 0.691407
+vt 0.140029 0.689784
+vt 0.138831 0.693179
+vt 0.141209 0.676646
+vt 0.138417 0.685780
+vt 0.139218 0.683158
+vt 0.140053 0.680428
+vt 0.140665 0.678425
+vt 0.139898 0.697395
+vt 0.139322 0.697222
+vt 0.139404 0.698618
+vt 0.138839 0.698457
+vt 0.138910 0.699839
+vt 0.138360 0.699683
+vt 0.135575 0.702402
+vt 0.135103 0.703715
+vt 0.134690 0.704871
+vt 0.130000 0.706689
+vt 0.132761 0.704285
+vt 0.149952 0.648052
+vt 0.143258 0.655419
+vt 0.144002 0.652498
+vt 0.142559 0.658162
+vt 0.141872 0.660857
+vt 0.141164 0.663634
+vt 0.140476 0.666317
+vt 0.144760 0.649526
+vt 0.146224 0.643781
+vt 0.225985 0.790820
+vt 0.223545 0.791491
+vt 0.143913 0.631147
+vt 0.535030 0.855886
+vt 0.535172 0.857345
+vt 0.533863 0.857591
+vt 0.533852 0.855804
+vt 0.260459 0.814771
+vt 0.261298 0.814955
+vt 0.323376 0.566281
+vt 0.323680 0.564699
+vt 0.323266 0.563182
+vt 0.323661 0.562256
+vt 0.319895 0.596166
+vt 0.320256 0.594924
+vt 0.320464 0.593516
+vt 0.042071 0.803107
+vt 0.042626 0.802105
+vt 0.317207 0.598892
+vt 0.160166 0.813091
+vt 0.159775 0.811123
+vt 0.160846 0.810998
+vt 0.161167 0.813227
+vt 0.323121 0.586388
+vt 0.323808 0.584987
+vt 0.323549 0.583607
+vt 0.120772 0.812309
+vt 0.202408 0.806479
+vt 0.099037 0.812279
+vt 0.098175 0.812429
+vt 0.098174 0.811131
+vt 0.098654 0.811099
+vt 0.541540 0.856557
+vt 0.540943 0.855984
+vt 0.541864 0.855565
+vt 0.542625 0.856028
+vt 0.544056 0.854426
+vt 0.543998 0.855410
+vt 0.231366 0.815802
+vt 0.231570 0.816558
+vt 0.230747 0.816372
+vt 0.230690 0.815735
+vt 0.517707 0.855267
+vt 0.518775 0.854358
+vt 0.518343 0.855034
+vt 0.518095 0.855613
+vt 0.257930 0.810720
+vt 0.256824 0.808289
+vt 0.293960 0.775103
+vt 0.294251 0.774155
+vt 0.295666 0.775249
+vt 0.295687 0.776268
+vt 0.258905 0.813459
+vt 0.297749 0.765971
+vt 0.297329 0.766543
+vt 0.324337 0.572875
+vt 0.600606 0.166059
+vt 0.584404 0.159317
+vt 0.568509 0.155703
+vt 0.559415 0.158149
+vt 0.546711 0.158660
+vt 0.774089 0.660622
+vt 0.693033 0.069728
+vt 0.693251 0.051964
+vt 0.692089 0.084644
+vt 0.688258 0.018351
+vt 0.687631 0.012296
+vt 0.685402 0.012756
+vt 0.687700 0.010854
+vt 0.306559 0.800910
+vt 0.824492 0.653956
+vt 0.822835 0.676244
+vt 0.820100 0.679839
+vt 0.825037 0.665301
+vt 0.224606 0.447491
+vt 0.861167 0.489006
+vt 0.630201 0.173656
+vt 0.623528 0.173428
+vt 0.196703 0.815333
+vt 0.197879 0.815398
+vt 0.052082 0.805818
+vt 0.051630 0.802650
+vt 0.052363 0.804374
+vt 0.052632 0.805572
+vt 0.268600 0.819083
+vt 0.269119 0.810045
+vt 0.269410 0.811514
+vt 0.733600 0.095388
+vt 0.734079 0.096530
+vt 0.733077 0.093947
+vt 0.729546 0.094039
+vt 0.729796 0.095686
+vt 0.541719 0.850795
+vt 0.541225 0.850760
+vt 0.540260 0.850299
+vt 0.540736 0.845799
+vt 0.593938 0.854559
+vt 0.593346 0.854120
+vt 0.073849 0.805406
+vt 0.072261 0.807006
+vt 0.072228 0.803092
+vt 0.073441 0.803052
+vt 0.141477 0.635555
+vt 0.140365 0.635379
+vt 0.697375 0.077304
+vt 0.697915 0.077372
+vt 0.697644 0.074602
+vt 0.698387 0.074541
+vt 0.699091 0.065624
+vt 0.699587 0.065694
+vt 0.699195 0.068670
+vt 0.698426 0.068726
+vt 0.290868 0.815964
+vt 0.289662 0.816213
+vt 0.290276 0.813662
+vt 0.291249 0.813989
+vt 0.290729 0.810772
+vt 0.291714 0.811733
+vt 0.699130 0.050285
+vt 0.699199 0.051774
+vt 0.700384 0.029023
+vt 0.700787 0.028872
+vt 0.700981 0.029946
+vt 0.700459 0.030695
+vt 0.700935 0.032159
+vt 0.700545 0.032596
+vt 0.701126 0.033157
+vt 0.700652 0.034977
+vt 0.699913 0.037599
+vt 0.700768 0.037553
+vt 0.700880 0.040041
+vt 0.699965 0.040182
+vt 0.700991 0.042511
+vt 0.700136 0.042526
+vt 0.699052 0.048559
+vt 0.052259 0.691849
+vt 0.699819 0.016343
+vt 0.700481 0.020445
+vt 0.699888 0.018009
+vt 0.698814 0.011365
+vt 0.698835 0.012617
+vt 0.719234 0.025781
+vt 0.098544 0.806597
+vt 0.098038 0.807200
+vt 0.097517 0.804499
+vt 0.098040 0.804198
+vt 0.719394 0.020346
+vt 0.719365 0.019079
+vt 0.719962 0.020481
+vt 0.719825 0.021271
+vt 0.720346 0.023476
+vt 0.720121 0.023359
+vt 0.138182 0.695028
+vt 0.137904 0.687459
+vt 0.139849 0.668730
+vt 0.139251 0.671007
+vt 0.138663 0.673312
+vt 0.136704 0.699222
+vt 0.136145 0.700799
+vt 0.332108 0.843322
+vt 0.332153 0.841644
+vt 0.216284 0.815422
+vt 0.216182 0.816607
+vt 0.215166 0.816531
+vt 0.215224 0.815500
+vt 0.129042 0.705670
+vt 0.129025 0.705092
+vt 0.130869 0.703578
+vt 0.129198 0.704150
+vt 0.331231 0.840575
+vt 0.349117 0.840301
+vt 0.348402 0.839820
+vt 0.695345 0.007414
+vt 0.695719 0.008060
+vt 0.698231 0.008757
+vt 0.696788 0.008935
+vt 0.698712 0.009084
+vt 0.145498 0.646628
+vt 0.142790 0.642651
+vt 0.143409 0.639802
+vt 0.144030 0.636377
+vt 0.293965 0.778014
+vt 0.292765 0.777773
+vt 0.568517 0.853992
+vt 0.568367 0.856800
+vt 0.567536 0.856829
+vt 0.567742 0.854035
+vt 0.178708 0.770421
+vt 0.177888 0.770730
+vt 0.178112 0.773767
+vt 0.231835 0.780617
+vt 0.228692 0.785576
+vt 0.551936 0.855913
+vt 0.552638 0.857043
+vt 0.550476 0.857351
+vt 0.549808 0.856114
+vt 0.222731 0.795688
+vt 0.221603 0.797675
+vt 0.222308 0.791815
+vt 0.413441 0.776593
+vt 0.414624 0.776495
+vt 0.416026 0.776422
+vt 0.232552 0.777619
+vt 0.231908 0.777837
+vt 0.297079 0.776415
+vt 0.296724 0.777082
+vt 0.270646 0.822768
+vt 0.270876 0.824733
+vt 0.270051 0.824260
+vt 0.270186 0.822876
+vt 0.318848 0.592525
+vt 0.320478 0.592744
+vt 0.321694 0.822279
+vt 0.322598 0.824002
+vt 0.322139 0.823863
+vt 0.321253 0.822826
+vt 0.292590 0.755225
+vt 0.292875 0.754258
+vt 0.294843 0.755340
+vt 0.294905 0.756346
+vt 0.042061 0.805190
+vt 0.043065 0.807977
+vt 0.160576 0.815036
+vt 0.161293 0.814648
+vt 0.324089 0.582712
+vt 0.354791 0.841771
+vt 0.355787 0.841650
+vt 0.355992 0.843367
+vt 0.354851 0.843820
+vt 0.318759 0.603120
+vt 0.319021 0.601915
+vt 0.319216 0.600551
+vt 0.099168 0.813269
+vt 0.098179 0.813540
+vt 0.316312 0.606638
+vt 0.317988 0.606616
+vt 0.318075 0.607158
+vt 0.318001 0.608154
+vt 0.285972 0.824612
+vt 0.285649 0.822789
+vt 0.286634 0.822768
+vt 0.286947 0.824796
+vt 0.517688 0.856360
+vt 0.516801 0.856394
+vt 0.230916 0.818073
+vt 0.231764 0.818228
+vt 0.317848 0.609002
+vt 0.202622 0.807357
+vt 0.202540 0.808043
+vt 0.200852 0.808559
+vt 0.200152 0.808773
+vt 0.477124 0.853346
+vt 0.478249 0.853386
+vt 0.478366 0.854982
+vt 0.477120 0.855246
+vt 0.763432 0.868590
+vt 0.762553 0.866418
+vt 0.763348 0.866651
+vt 0.764222 0.868199
+vt 0.324929 0.574737
+vt 0.293482 0.762239
+vt 0.293337 0.764502
+vt 0.293044 0.762114
+vt 0.294377 0.767346
+vt 0.296123 0.767839
+vt 0.607899 0.172743
+vt 0.562140 0.158398
+vt 0.790959 0.631447
+vt 0.691401 0.033753
+vt 0.686238 0.011206
+vt 0.687909 0.009856
+vt 0.305452 0.800639
+vt 0.833688 0.457654
+vt 0.820706 0.457285
+vt 0.826808 0.444432
+vt 0.837445 0.445573
+vt 0.165446 0.463412
+vt 0.153070 0.457654
+vt 0.164354 0.454565
+vt 0.168722 0.459690
+vt 0.837170 0.707863
+vt 0.831898 0.712674
+vt 0.837063 0.704341
+vt 0.835227 0.697905
+vt 0.833371 0.689026
+vt 0.218759 0.452099
+vt 0.219353 0.456271
+vt 0.220338 0.437836
+vt 0.231351 0.425591
+vt 0.241352 0.408704
+vt 0.873449 0.527411
+vt 0.885933 0.527411
+vt 0.896866 0.528700
+vt 0.847986 0.487075
+vt 0.851180 0.470034
+vt 0.732223 0.097705
+vt 0.732338 0.096259
+vt 0.052855 0.806651
+vt 0.730982 0.093976
+vt 0.270977 0.808204
+vt 0.270426 0.807735
+vt 0.730794 0.096045
+vt 0.730131 0.097294
+vt 0.693989 0.085001
+vt 0.692790 0.088520
+vt 0.693113 0.085016
+vt 0.143470 0.631217
+vt 0.144689 0.627393
+vt 0.140850 0.638899
+vt 0.139785 0.638676
+vt 0.698804 0.071630
+vt 0.697981 0.071778
+vt 0.698439 0.058547
+vt 0.698195 0.060632
+vt 0.697938 0.062531
+vt 0.688226 0.855614
+vt 0.688092 0.854326
+vt 0.689299 0.854602
+vt 0.689286 0.855601
+vt 0.291984 0.810608
+vt 0.291127 0.809651
+vt 0.700308 0.027329
+vt 0.700867 0.027421
+vt 0.052504 0.690816
+vt 0.700091 0.034886
+vt 0.699684 0.032543
+vt 0.190975 0.802499
+vt 0.191373 0.799891
+vt 0.192313 0.800800
+vt 0.191888 0.802825
+vt 0.699013 0.047671
+vt 0.700071 0.046623
+vt 0.699962 0.019637
+vt 0.700019 0.020914
+vt 0.698911 0.013716
+vt 0.699204 0.014874
+vt 0.494401 0.855279
+vt 0.493877 0.856442
+vt 0.493516 0.855530
+vt 0.494067 0.854701
+vt 0.493219 0.854388
+vt 0.493680 0.854125
+vt 0.719528 0.023479
+vt 0.718797 0.021133
+vt 0.719017 0.021702
+vt 0.137591 0.696711
+vt 0.136423 0.692302
+vt 0.136986 0.690461
+vt 0.137490 0.688813
+vt 0.135832 0.694235
+vt 0.138103 0.675518
+vt 0.135244 0.686639
+vt 0.135689 0.684904
+vt 0.136355 0.682371
+vt 0.137055 0.679693
+vt 0.137603 0.677527
+vt 0.137142 0.697984
+vt 0.133528 0.701776
+vt 0.134024 0.700151
+vt 0.133120 0.703109
+vt 0.215334 0.818285
+vt 0.216195 0.818285
+vt 0.139630 0.657185
+vt 0.140233 0.654413
+vt 0.140874 0.651461
+vt 0.139037 0.659910
+vt 0.138427 0.662717
+vt 0.137845 0.665378
+vt 0.137341 0.667661
+vt 0.141527 0.648457
+vt 0.142164 0.645528
+vt 0.295641 0.778507
+vt 0.295561 0.780519
+vt 0.229525 0.781522
+vt 0.227899 0.782982
+vt 0.224554 0.785945
+vt 0.222403 0.787147
+vt 0.221235 0.787500
+vt 0.142953 0.635861
+vt 0.082711 0.798630
+vt 0.083448 0.802297
+vt 0.082705 0.802367
+vt 0.081474 0.798542
+vt 0.533965 0.854739
+vt 0.534883 0.854426
+vt 0.261374 0.817031
+vt 0.262209 0.816537
+vt 0.324210 0.564205
+vt 0.270267 0.826408
+vt 0.270918 0.826110
+vt 0.321272 0.595403
+vt 0.321940 0.594386
+vt 0.321664 0.593447
+vt 0.040993 0.802842
+vt 0.296787 0.756400
+vt 0.296367 0.757060
+vt 0.162130 0.815335
+vt 0.161453 0.815939
+vt 0.324412 0.584452
+vt 0.354858 0.840476
+vt 0.355641 0.839915
+vt 0.293463 0.760208
+vt 0.292607 0.759817
+vt 0.320465 0.821407
+vt 0.321000 0.820554
+vt 0.099058 0.814024
+vt 0.098236 0.814418
+vt 0.100847 0.812971
+vt 0.100844 0.812254
+vt 0.517482 0.856936
+vt 0.516123 0.857574
+vt 0.294741 0.823169
+vt 0.295621 0.823009
+vt 0.295680 0.824685
+vt 0.294667 0.825278
+vt 0.542826 0.856782
+vt 0.541366 0.857571
+vt 0.290031 0.738700
+vt 0.291853 0.739541
+vt 0.291826 0.740193
+vt 0.289585 0.739302
+vt 0.289228 0.737327
+vt 0.288864 0.737528
+vt 0.289270 0.733111
+vt 0.290971 0.733777
+vt 0.290890 0.734297
+vt 0.288662 0.733287
+vt 0.518865 0.854977
+vt 0.519041 0.855833
+vt 0.477237 0.852169
+vt 0.478114 0.851789
+vt 0.294158 0.769933
+vt 0.293661 0.772364
+vt 0.293055 0.772372
+vt 0.293194 0.769779
+vt 0.292914 0.774999
+vt 0.297694 0.768225
+vt 0.298207 0.768143
+vt 0.293338 0.767107
+vt 0.593740 0.172292
+vt 0.588551 0.167700
+vt 0.575823 0.162514
+vt 0.562783 0.159492
+vt 0.761252 0.661042
+vt 0.766652 0.673326
+vt 0.759754 0.668303
+vt 0.771951 0.646070
+vt 0.689200 0.018935
+vt 0.538776 0.830883
+vt 0.541275 0.842350
+vt 0.541632 0.847050
+vt 0.694055 0.051838
+vt 0.542311 0.849675
+vt 0.688466 0.012916
+vt 0.688466 0.011569
+vt 0.200423 0.809879
+vt 0.201330 0.809716
+vt 0.816496 0.435047
+vt 0.802209 0.450020
+vt 0.158137 0.447819
+vt 0.147410 0.445573
+vt 0.380124 0.809854
+vt 0.392315 0.817923
+vt 0.380081 0.817049
+vt 0.373251 0.811640
+vt 0.369138 0.820456
+vt 0.367394 0.815079
+vt 0.828355 0.657232
+vt 0.831106 0.664942
+vt 0.826791 0.676287
+vt 0.833207 0.678175
+vt 0.214623 0.443896
+vt 0.860966 0.527411
+vt 0.624599 0.190469
+vt 0.607352 0.180829
+vt 0.053292 0.807919
+vt 0.052702 0.808505
+vt 0.732347 0.094648
+vt 0.074649 0.802996
+vt 0.075893 0.806678
+vt 0.072875 0.799622
+vt 0.071491 0.798775
+vt 0.142585 0.635752
+vt 0.141906 0.639156
+vt 0.140470 0.640872
+vt 0.139133 0.641378
+vt 0.696740 0.072200
+vt 0.696455 0.074331
+vt 0.368186 0.832976
+vt 0.368678 0.829873
+vt 0.369708 0.830803
+vt 0.369213 0.833207
+vt 0.368803 0.835331
+vt 0.367515 0.835792
+vt 0.292212 0.814347
+vt 0.291799 0.817025
+vt 0.292935 0.811454
+vt 0.293108 0.810229
+vt 0.698262 0.049196
+vt 0.698038 0.050587
+vt 0.698372 0.051575
+vt 0.699745 0.027263
+vt 0.699527 0.029075
+vt 0.699545 0.030834
+vt 0.700650 0.025822
+vt 0.700230 0.025599
+vt 0.215635 0.808886
+vt 0.216063 0.806174
+vt 0.216924 0.807065
+vt 0.216486 0.809157
+vt 0.698603 0.038674
+vt 0.698694 0.040602
+vt 0.698770 0.042335
+vt 0.191550 0.804571
+vt 0.190403 0.804897
+vt 0.697950 0.048626
+vt 0.700749 0.024790
+vt 0.700150 0.023820
+vt 0.700076 0.022191
+vt 0.698954 0.016331
+vt 0.698974 0.018146
+vt 0.699105 0.019739
+vt 0.493076 0.852998
+vt 0.493779 0.853369
+vt 0.697667 0.011946
+vt 0.697725 0.012873
+vt 0.718598 0.024454
+vt 0.718885 0.024031
+vt 0.097989 0.801445
+vt 0.098385 0.803775
+vt 0.135296 0.695991
+vt 0.134877 0.688084
+vt 0.137666 0.670173
+vt 0.135799 0.674592
+vt 0.136331 0.672192
+vt 0.134513 0.698553
+vt 0.134896 0.697298
+vt 0.131515 0.701036
+vt 0.131939 0.699389
+vt 0.131172 0.702389
+vt 0.332038 0.840201
+vt 0.698542 0.009851
+vt 0.696788 0.009700
+vt 0.214734 0.816205
+vt 0.214815 0.815735
+vt 0.403358 0.818563
+vt 0.403945 0.818785
+vt 0.403339 0.819362
+vt 0.403104 0.819044
+vt 0.129464 0.703002
+vt 0.128739 0.703960
+vt 0.128582 0.704870
+vt 0.331237 0.839720
+vt 0.694864 0.008420
+vt 0.695345 0.009022
+vt 0.698868 0.010172
+vt 0.141069 0.645075
+vt 0.141660 0.642187
+vt 0.142245 0.639328
+vt 0.291837 0.780652
+vt 0.292045 0.777834
+vt 0.176811 0.767983
+vt 0.177593 0.767627
+vt 0.177076 0.771068
+vt 0.230763 0.778132
+vt 0.230313 0.780310
+vt 0.550163 0.854548
+vt 0.551700 0.854489
+vt 0.276031 0.802143
+vt 0.277439 0.802072
+vt 0.277359 0.804059
+vt 0.275934 0.804049
+vt 0.276313 0.798307
+vt 0.277715 0.798199
+vt 0.276649 0.794002
+vt 0.278051 0.793885
+vt 0.084293 0.807010
+vt 0.083650 0.806902
+vt 0.413664 0.779291
+vt 0.414846 0.779178
+vt 0.416249 0.779107
+vt 0.231530 0.774934
+vt 0.230894 0.775147
+vt 0.296626 0.780219
+vt 0.297061 0.778859
+vt 0.259997 0.815438
+vt 0.260444 0.817214
+vt 0.262194 0.818980
+vt 0.261275 0.818574
+vt 0.293025 0.747332
+vt 0.292701 0.746440
+vt 0.294849 0.747454
+vt 0.294481 0.747943
+vt 0.269693 0.822775
+vt 0.322148 0.592751
+vt 0.377851 0.842885
+vt 0.378790 0.842742
+vt 0.378917 0.844372
+vt 0.377839 0.844894
+vt 0.321646 0.824064
+vt 0.291658 0.752438
+vt 0.291711 0.755018
+vt 0.291193 0.752313
+vt 0.293195 0.757864
+vt 0.295198 0.758373
+vt 0.297068 0.758675
+vt 0.296808 0.759863
+vt 0.295512 0.760140
+vt 0.317559 0.599764
+vt 0.319201 0.599853
+vt 0.286308 0.826439
+vt 0.287000 0.826093
+vt 0.320057 0.602412
+vt 0.320669 0.601404
+vt 0.320399 0.600495
+vt 0.100851 0.813455
+vt 0.369742 0.841829
+vt 0.368975 0.840022
+vt 0.370333 0.840306
+vt 0.370685 0.841828
+vt 0.294945 0.821851
+vt 0.295624 0.821309
+vt 0.319257 0.607008
+vt 0.319688 0.606475
+vt 0.319068 0.608344
+vt 0.319594 0.607629
+vt 0.293242 0.740803
+vt 0.293681 0.740408
+vt 0.518701 0.856741
+vt 0.518563 0.856320
+vt 0.292241 0.734889
+vt 0.292695 0.734621
+vt 0.231801 0.819449
+vt 0.231214 0.819798
+vt 0.098723 0.814881
+vt 0.098399 0.815017
+vt 0.097725 0.815105
+vt 0.098236 0.815597
+vt 0.202885 0.809320
+vt 0.297236 0.769543
+vt 0.296059 0.769790
+vt 0.836126 0.994868
+vt 0.836910 0.996730
+vt 0.836033 0.996267
+vt 0.835241 0.994949
+vt 0.292823 0.767170
+vt 0.292869 0.764503
+vt 0.292612 0.761983
+vt 0.594198 0.177867
+vt 0.762800 0.676051
+vt 0.764373 0.682420
+vt 0.758090 0.676694
+vt 0.757868 0.670568
+vt 0.755926 0.651126
+vt 0.690413 0.023726
+vt 0.540399 0.836650
+vt 0.541215 0.840896
+vt 0.694103 0.058840
+vt 0.688466 0.010763
+vt 0.834714 0.433577
+vt 0.824371 0.425222
+vt 0.142285 0.444432
+vt 0.139560 0.433576
+vt 0.150749 0.434462
+vt 0.167931 0.442186
+vt 0.180621 0.452082
+vt 0.176432 0.462344
+vt 0.214488 0.457249
+vt 0.215831 0.460629
+vt 0.842405 0.695704
+vt 0.842384 0.702998
+vt 0.841150 0.686409
+vt 0.209907 0.448179
+vt 0.209923 0.436231
+vt 0.213046 0.430484
+vt 0.223047 0.412068
+vt 0.249139 0.392587
+vt 0.244030 0.388717
+vt 0.230394 0.384240
+vt 0.873449 0.569588
+vt 0.886004 0.569588
+vt 0.899009 0.569771
+vt 0.849248 0.528191
+vt 0.609522 0.206492
+vt 0.600034 0.191778
+vt 0.692350 0.085895
+vt 0.692534 0.081195
+vt 0.693350 0.080768
+vt 0.694426 0.080684
+vt 0.073880 0.798542
+vt 0.141482 0.641933
+vt 0.697010 0.069918
+vt 0.725454 0.866551
+vt 0.725322 0.865362
+vt 0.726659 0.865731
+vt 0.726647 0.866664
+vt 0.697077 0.068972
+vt 0.698259 0.067797
+vt 0.697082 0.855556
+vt 0.696956 0.854319
+vt 0.698244 0.854668
+vt 0.698221 0.855660
+vt 0.697334 0.058679
+vt 0.698505 0.057590
+vt 0.697564 0.059300
+vt 0.697101 0.060960
+vt 0.697193 0.062258
+vt 0.688487 0.856442
+vt 0.689306 0.856713
+vt 0.690229 0.854319
+vt 0.690130 0.855637
+vt 0.699373 0.025654
+vt 0.216134 0.810968
+vt 0.215082 0.811230
+vt 0.698551 0.037778
+vt 0.699608 0.036707
+vt 0.638582 0.858574
+vt 0.638452 0.857208
+vt 0.639598 0.857450
+vt 0.639599 0.858566
+vt 0.193451 0.800675
+vt 0.192568 0.799751
+vt 0.193609 0.799570
+vt 0.192802 0.803152
+vt 0.192805 0.798796
+vt 0.193549 0.798752
+vt 0.699453 0.020839
+vt 0.699215 0.022169
+vt 0.697739 0.013668
+vt 0.079092 0.815654
+vt 0.078223 0.815748
+vt 0.078529 0.814589
+vt 0.079245 0.814809
+vt 0.698497 0.010995
+vt 0.697578 0.011468
+vt 0.494787 0.854191
+vt 0.494614 0.853461
+vt 0.133476 0.693465
+vt 0.133972 0.691569
+vt 0.134446 0.689752
+vt 0.135286 0.676922
+vt 0.132890 0.687628
+vt 0.133238 0.686062
+vt 0.133640 0.684262
+vt 0.134177 0.681884
+vt 0.134757 0.679309
+vt 0.132358 0.697769
+vt 0.132686 0.696498
+vt 0.215512 0.819354
+vt 0.216159 0.819728
+vt 0.128994 0.702812
+vt 0.695719 0.009453
+vt 0.138114 0.659510
+vt 0.138674 0.656775
+vt 0.139244 0.653991
+vt 0.139850 0.651029
+vt 0.137537 0.662330
+vt 0.136989 0.664994
+vt 0.136517 0.667265
+vt 0.136058 0.669440
+vt 0.140467 0.648014
+vt 0.175728 0.765218
+vt 0.176469 0.764809
+vt 0.176037 0.768367
+vt 0.226874 0.779606
+vt 0.225709 0.782606
+vt 0.220414 0.784186
+vt 0.221532 0.783829
+vt 0.222968 0.783133
+vt 0.195419 0.720337
+vt 0.196985 0.720038
+vt 0.196655 0.723719
+vt 0.195607 0.723781
+vt 0.276910 0.790690
+vt 0.278312 0.790571
+vt 0.290897 0.746394
+vt 0.291216 0.745774
+vt 0.271578 0.826778
+vt 0.270884 0.827333
+vt 0.322496 0.593920
+vt 0.377979 0.841617
+vt 0.378717 0.841072
+vt 0.291604 0.750090
+vt 0.290696 0.749733
+vt 0.320226 0.822807
+vt 0.319334 0.821128
+vt 0.292172 0.757485
+vt 0.297690 0.758428
+vt 0.297368 0.760169
+vt 0.292197 0.759592
+vt 0.386314 0.842116
+vt 0.387851 0.841838
+vt 0.386982 0.843630
+vt 0.385903 0.843632
+vt 0.101974 0.813070
+vt 0.102366 0.812649
+vt 0.101971 0.812185
+vt 0.292789 0.735774
+vt 0.292425 0.736244
+vt 0.291106 0.736185
+vt 0.290957 0.735314
+vt 0.288998 0.736069
+vt 0.288976 0.734736
+vt 0.288713 0.739208
+vt 0.288399 0.737541
+vt 0.288124 0.735958
+vt 0.292034 0.741603
+vt 0.293884 0.741956
+vt 0.290051 0.741150
+vt 0.371553 0.840023
+vt 0.371734 0.841829
+vt 0.288310 0.732809
+vt 0.287837 0.733409
+vt 0.287965 0.733062
+vt 0.414553 0.851265
+vt 0.414146 0.849934
+vt 0.415003 0.849587
+vt 0.415327 0.851123
+vt 0.292439 0.772457
+vt 0.292247 0.775075
+vt 0.292628 0.769862
+vt 0.753304 0.701813
+vt 0.758699 0.702462
+vt 0.755994 0.707651
+vt 0.752698 0.705389
+vt 0.758883 0.689734
+vt 0.751731 0.689272
+vt 0.750257 0.673909
+vt 0.755599 0.659393
+vt 0.756665 0.657283
+vt 0.768920 0.635204
+vt 0.765639 0.640812
+vt 0.803244 0.403658
+vt 0.812243 0.408069
+vt 0.690744 0.026183
+vt 0.693465 0.044576
+vt 0.692927 0.075495
+vt 0.693352 0.069989
+vt 0.693202 0.073986
+vt 0.693813 0.063708
+vt 0.694705 0.054713
+vt 0.694707 0.051837
+vt 0.209501 0.811541
+vt 0.203483 0.811702
+vt 0.204972 0.811115
+vt 0.202136 0.810782
+vt 0.203663 0.810316
+vt 0.370215 0.800474
+vt 0.365597 0.802772
+vt 0.361363 0.805527
+vt 0.252260 0.640036
+vt 0.245710 0.645929
+vt 0.242536 0.640551
+vt 0.248606 0.634426
+vt 0.839904 0.676136
+vt 0.833776 0.667989
+vt 0.828709 0.666377
+vt 0.205194 0.439225
+vt 0.860895 0.569588
+vt 0.622044 0.231585
+vt 0.611856 0.233927
+vt 0.692841 0.079742
+vt 0.867152 0.996607
+vt 0.868089 0.996545
+vt 0.868447 0.997929
+vt 0.867228 0.997800
+vt 0.696126 0.070746
+vt 0.695645 0.072545
+vt 0.695717 0.074008
+vt 0.370998 0.830376
+vt 0.369988 0.829628
+vt 0.371174 0.829111
+vt 0.370230 0.833473
+vt 0.369774 0.836391
+vt 0.292246 0.809520
+vt 0.293053 0.809320
+vt 0.404260 0.778499
+vt 0.404287 0.775821
+vt 0.404962 0.776022
+vt 0.405230 0.778687
+vt 0.403612 0.772928
+vt 0.404574 0.773203
+vt 0.403207 0.770232
+vt 0.402169 0.771703
+vt 0.401910 0.769780
+vt 0.193173 0.797052
+vt 0.192163 0.798227
+vt 0.192188 0.796836
+vt 0.192635 0.795847
+vt 0.193455 0.795588
+vt 0.035741 0.795969
+vt 0.036001 0.794157
+vt 0.036855 0.794735
+vt 0.036552 0.796162
+vt 0.698207 0.029946
+vt 0.698274 0.031254
+vt 0.698320 0.032414
+vt 0.622629 0.858573
+vt 0.622496 0.857208
+vt 0.623547 0.857467
+vt 0.623544 0.858585
+vt 0.218007 0.806810
+vt 0.217184 0.805995
+vt 0.218180 0.805674
+vt 0.217337 0.809426
+vt 0.697492 0.038807
+vt 0.697813 0.039385
+vt 0.697600 0.040924
+vt 0.697938 0.042094
+vt 0.192416 0.805577
+vt 0.699236 0.023958
+vt 0.078723 0.813133
+vt 0.079467 0.813742
+vt 0.697626 0.017135
+vt 0.697703 0.018565
+vt 0.697749 0.019844
+vt 0.601333 0.851649
+vt 0.601221 0.850477
+vt 0.602090 0.850756
+vt 0.602107 0.851692
+vt 0.696970 0.012304
+vt 0.696776 0.013056
+vt 0.133026 0.695191
+vt 0.132514 0.689309
+vt 0.134513 0.676720
+vt 0.135031 0.674284
+vt 0.135554 0.671819
+vt 0.129724 0.701807
+vt 0.130019 0.700440
+vt 0.130388 0.698776
+vt 0.402634 0.819500
+vt 0.402455 0.818770
+vt 0.402478 0.817575
+vt 0.403492 0.817653
+vt 0.215911 0.820209
+vt 0.215134 0.819728
+vt 0.402592 0.758767
+vt 0.402995 0.761707
+vt 0.402152 0.761449
+vt 0.401707 0.758530
+vt 0.402162 0.755880
+vt 0.401374 0.755625
+vt 0.401671 0.753021
+vt 0.401109 0.752849
+vt 0.174995 0.765656
+vt 0.229742 0.775505
+vt 0.229045 0.778436
+vt 0.224293 0.782000
+vt 0.166147 0.792756
+vt 0.166429 0.793983
+vt 0.164892 0.793462
+vt 0.165005 0.792310
+vt 0.167411 0.792077
+vt 0.166857 0.791315
+vt 0.275229 0.801381
+vt 0.275130 0.798521
+vt 0.275466 0.794198
+vt 0.275728 0.790866
+vt 0.413887 0.781993
+vt 0.415070 0.781865
+vt 0.416472 0.781795
+vt 0.230508 0.772246
+vt 0.229879 0.772455
+vt 0.291378 0.748233
+vt 0.293349 0.748814
+vt 0.295164 0.749138
+vt 0.295774 0.748960
+vt 0.294882 0.749921
+vt 0.293613 0.750032
+vt 0.320871 0.824684
+vt 0.291773 0.757317
+vt 0.291305 0.754913
+vt 0.290760 0.752139
+vt 0.320872 0.599856
+vt 0.361911 0.841758
+vt 0.362869 0.841587
+vt 0.363014 0.843229
+vt 0.361883 0.843816
+vt 0.294499 0.741860
+vt 0.287680 0.826706
+vt 0.286962 0.827257
+vt 0.321221 0.601020
+vt 0.386301 0.844754
+vt 0.385447 0.845147
+vt 0.100843 0.811705
+vt 0.102365 0.811758
+vt 0.294514 0.821486
+vt 0.295280 0.820874
+vt 0.320123 0.607203
+vt 0.289040 0.740942
+vt 0.232324 0.819975
+vt 0.231658 0.820504
+vt 0.241459 0.827007
+vt 0.241370 0.826151
+vt 0.241791 0.826490
+vt 0.241843 0.826835
+vt 0.293402 0.735677
+vt 0.287913 0.734477
+vt 0.413296 0.850306
+vt 0.413884 0.851751
+vt 0.099058 0.815730
+vt 0.203092 0.808535
+vt 0.203476 0.809360
+vt 0.170425 0.751801
+vt 0.171067 0.751479
+vt 0.172219 0.754145
+vt 0.171572 0.754561
+vt 0.169788 0.748958
+vt 0.169169 0.749174
+vt 0.590891 0.185533
+vt 0.021966 0.804680
+vt 0.021491 0.801384
+vt 0.027066 0.805096
+vt 0.025985 0.807573
+vt 0.751163 0.661867
+vt 0.542217 0.817336
+vt 0.538207 0.827252
+vt 0.536588 0.823493
+vt 0.532101 0.814576
+vt 0.755236 0.645688
+vt 0.791188 0.411390
+vt 0.780170 0.438540
+vt 0.779804 0.415479
+vt 0.792939 0.389790
+vt 0.691303 0.029673
+vt 0.691031 0.027980
+vt 0.690010 0.020055
+vt 0.689332 0.016970
+vt 0.692710 0.038050
+vt 0.694421 0.048884
+vt 0.693530 0.077415
+vt 0.694421 0.060196
+vt 0.694560 0.057502
+vt 0.843717 0.426819
+vt 0.830578 0.415853
+vt 0.819734 0.402680
+vt 0.514412 0.839403
+vt 0.503223 0.849368
+vt 0.496753 0.840364
+vt 0.512811 0.830883
+vt 0.177098 0.427664
+vt 0.184545 0.434805
+vt 0.192600 0.441429
+vt 0.185281 0.454983
+vt 0.176207 0.467955
+vt 0.251906 0.653318
+vt 0.246745 0.655481
+vt 0.201891 0.455087
+vt 0.207194 0.463162
+vt 0.197899 0.470228
+vt 0.192266 0.464004
+vt 0.838974 0.666729
+vt 0.196788 0.446815
+vt 0.203459 0.436194
+vt 0.207637 0.433670
+vt 0.208006 0.432506
+vt 0.209673 0.423170
+vt 0.216124 0.410532
+vt 0.904697 0.532570
+vt 0.907843 0.553787
+vt 0.237696 0.367500
+vt 0.217399 0.402731
+vt 0.848277 0.570484
+vt 0.873449 0.599653
+vt 0.886218 0.599653
+vt 0.897323 0.597481
+vt 0.589538 0.199961
+vt 0.593334 0.215439
+vt 0.694549 0.077568
+vt 0.197132 0.728173
+vt 0.195835 0.728202
+vt 0.197313 0.727093
+vt 0.198250 0.727823
+vt 0.198372 0.728666
+vt 0.401042 0.754565
+vt 0.400180 0.755820
+vt 0.400109 0.754849
+vt 0.695898 0.070123
+vt 0.725708 0.867290
+vt 0.726629 0.867659
+vt 0.697336 0.856302
+vt 0.698216 0.856664
+vt 0.401664 0.767671
+vt 0.401601 0.766738
+vt 0.402593 0.766404
+vt 0.402917 0.767464
+vt 0.292690 0.807376
+vt 0.291580 0.808899
+vt 0.291648 0.807239
+vt 0.292167 0.805940
+vt 0.293047 0.805512
+vt 0.689891 0.856459
+vt 0.402862 0.780337
+vt 0.402943 0.778617
+vt 0.404184 0.780772
+vt 0.404199 0.770467
+vt 0.194072 0.797548
+vt 0.036334 0.797308
+vt 0.035337 0.797579
+vt 0.698157 0.029346
+vt 0.699224 0.028497
+vt 0.216955 0.811791
+vt 0.217436 0.804966
+vt 0.218148 0.804817
+vt 0.638816 0.859406
+vt 0.639605 0.859682
+vt 0.402495 0.787936
+vt 0.402544 0.787028
+vt 0.403661 0.786820
+vt 0.403890 0.787826
+vt 0.404328 0.785402
+vt 0.404127 0.782925
+vt 0.405142 0.783132
+vt 0.405025 0.785511
+vt 0.402789 0.781819
+vt 0.402008 0.781002
+vt 0.401779 0.779798
+vt 0.002743 0.806954
+vt 0.001812 0.807144
+vt 0.002111 0.806045
+vt 0.002869 0.806263
+vt 0.002283 0.804714
+vt 0.003080 0.805292
+vt 0.697555 0.016452
+vt 0.698633 0.015722
+vt 0.697028 0.013577
+vt 0.079962 0.815028
+vt 0.079819 0.816209
+vt 0.821058 0.869004
+vt 0.821158 0.868086
+vt 0.821918 0.868027
+vt 0.821893 0.869196
+vt 0.696666 0.012003
+vt 0.131332 0.694562
+vt 0.131707 0.692897
+vt 0.132117 0.691075
+vt 0.132569 0.685871
+vt 0.132228 0.687478
+vt 0.132956 0.684050
+vt 0.133451 0.681722
+vt 0.133990 0.679181
+vt 0.130754 0.697140
+vt 0.131042 0.695856
+vt 0.403557 0.816505
+vt 0.402585 0.816417
+vt 0.129241 0.701615
+vt 0.403816 0.767684
+vt 0.403409 0.764721
+vt 0.402840 0.764546
+vt 0.405250 0.780957
+vt 0.174665 0.762506
+vt 0.175368 0.762050
+vt 0.173970 0.762991
+vt 0.414113 0.784704
+vt 0.415295 0.784558
+vt 0.225881 0.776594
+vt 0.227983 0.776008
+vt 0.224265 0.779763
+vt 0.277134 0.787885
+vt 0.278536 0.787769
+vt 0.219722 0.781385
+vt 0.220802 0.781036
+vt 0.222388 0.780485
+vt 0.194638 0.721488
+vt 0.194523 0.724043
+vt 0.275951 0.788042
+vt 0.290298 0.747642
+vt 0.289965 0.745872
+vt 0.295427 0.750130
+vt 0.290234 0.749437
+vt 0.290185 0.744517
+vt 0.289662 0.744253
+vt 0.290250 0.742838
+vt 0.289362 0.742654
+vt 0.168531 0.746567
+vt 0.167945 0.746702
+vt 0.362044 0.840471
+vt 0.362798 0.839915
+vt 0.414960 0.852596
+vt 0.415951 0.852440
+vt 0.384998 0.841831
+vt 0.384930 0.843630
+vt 0.386455 0.845146
+vt 0.385456 0.845652
+vt 0.102872 0.812302
+vt 0.288253 0.739556
+vt 0.288575 0.741340
+vt 0.288012 0.737637
+vt 0.287721 0.736035
+vt 0.292308 0.742854
+vt 0.293596 0.742760
+vt 0.371803 0.842955
+vt 0.371218 0.843350
+vt 0.372034 0.840140
+vt 0.372245 0.841832
+vt 0.240678 0.826034
+vt 0.240555 0.827061
+vt 0.287461 0.734543
+vt 0.287422 0.733470
+vt 0.156823 0.720038
+vt 0.157110 0.720384
+vt 0.156693 0.720445
+vt 0.156440 0.720102
+vt 0.172638 0.757312
+vt 0.173290 0.756837
+vt 0.174324 0.759432
+vt 0.173652 0.759916
+vt 0.748893 0.703981
+vt 0.749805 0.706306
+vt 0.745892 0.690650
+vt 0.743328 0.673408
+vt 0.532953 0.825603
+vt 0.526294 0.813762
+vt 0.766208 0.434324
+vt 0.776889 0.447854
+vt 0.766486 0.444643
+vt 0.811978 0.377501
+vt 0.802896 0.367574
+vt 0.691580 0.031391
+vt 0.691880 0.033264
+vt 0.694003 0.046014
+vt 0.693611 0.043388
+vt 0.693980 0.068722
+vt 0.693829 0.071624
+vt 0.693680 0.074515
+vt 0.694131 0.065790
+vt 0.694280 0.062918
+vt 0.695686 0.054866
+vt 0.695448 0.057563
+vt 0.695574 0.051924
+vt 0.279132 0.827298
+vt 0.278558 0.822768
+vt 0.279038 0.823271
+vt 0.279264 0.825333
+vt 0.204199 0.810229
+vt 0.205474 0.810939
+vt 0.149147 0.429017
+vt 0.176336 0.423699
+vt 0.195186 0.443847
+vt 0.435610 0.817352
+vt 0.435265 0.826491
+vt 0.430199 0.827283
+vt 0.431151 0.817931
+vt 0.363451 0.791122
+vt 0.359528 0.792885
+vt 0.355745 0.794656
+vt 0.257893 0.641700
+vt 0.256777 0.654293
+vt 0.256488 0.627065
+vt 0.260107 0.629541
+vt 0.215442 0.643915
+vt 0.224987 0.633609
+vt 0.230619 0.639833
+vt 0.220346 0.648441
+vt 0.207011 0.428950
+vt 0.873910 0.950018
+vt 0.863607 0.955469
+vt 0.865941 0.936978
+vt 0.871059 0.937163
+vt 0.860681 0.599653
+vt 0.239639 0.351516
+vt 0.231873 0.357246
+vt 0.229859 0.345227
+vt 0.599812 0.238436
+vt 0.609491 0.260395
+vt 0.614116 0.273879
+vt 0.585456 0.191925
+vt 0.695645 0.080176
+vt 0.695690 0.078031
+vt 0.197251 0.731418
+vt 0.196011 0.731655
+vt 0.695721 0.080801
+vt 0.696358 0.079926
+vt 0.696646 0.080532
+vt 0.400446 0.758078
+vt 0.370262 0.828476
+vt 0.371114 0.828179
+vt 0.399451 0.756012
+vt 0.399113 0.755160
+vt 0.370744 0.826142
+vt 0.369571 0.827853
+vt 0.369658 0.826055
+vt 0.370218 0.824591
+vt 0.371140 0.824087
+vt 0.400726 0.760184
+vt 0.400930 0.767814
+vt 0.400597 0.766986
+vt 0.401303 0.770794
+vt 0.400829 0.769267
+vt 0.293645 0.807793
+vt 0.194040 0.796378
+vt 0.402120 0.778627
+vt 0.697964 0.024377
+vt 0.698013 0.025664
+vt 0.615559 0.858568
+vt 0.615404 0.857208
+vt 0.616401 0.857476
+vt 0.616442 0.858584
+vt 0.037846 0.794589
+vt 0.037070 0.793887
+vt 0.037979 0.793680
+vt 0.037363 0.796353
+vt 0.697408 0.030527
+vt 0.697089 0.030170
+vt 0.697176 0.031600
+vt 0.697492 0.032342
+vt 0.622878 0.859401
+vt 0.623591 0.859691
+vt 0.402025 0.797745
+vt 0.402074 0.797098
+vt 0.403192 0.796868
+vt 0.403416 0.797691
+vt 0.403852 0.795326
+vt 0.403656 0.792710
+vt 0.404669 0.792874
+vt 0.404547 0.795415
+vt 0.403722 0.790273
+vt 0.402321 0.791573
+vt 0.402401 0.789852
+vt 0.217848 0.803001
+vt 0.216849 0.804387
+vt 0.216922 0.802848
+vt 0.217386 0.801679
+vt 0.218175 0.801317
+vt 0.401673 0.788018
+vt 0.401429 0.787217
+vt 0.404905 0.787977
+vt 0.697890 0.022953
+vt 0.608481 0.851833
+vt 0.608313 0.850477
+vt 0.609244 0.850758
+vt 0.609316 0.851858
+vt 0.697828 0.022288
+vt 0.698902 0.021591
+vt 0.080340 0.813648
+vt 0.079655 0.813012
+vt 0.080471 0.812790
+vt 0.696489 0.017325
+vt 0.696823 0.017738
+vt 0.696600 0.018910
+vt 0.696916 0.019746
+vt 0.601527 0.852360
+vt 0.602120 0.852634
+vt 0.401390 0.816411
+vt 0.401462 0.815922
+vt 0.402398 0.815863
+vt 0.821845 0.867373
+vt 0.821298 0.867173
+vt 0.401286 0.818111
+vt 0.401316 0.817327
+vt 0.696401 0.012942
+vt 0.131870 0.689163
+vt 0.404788 0.790413
+vt 0.129520 0.700244
+vt 0.129870 0.698575
+vt 0.414333 0.787368
+vt 0.415516 0.787207
+vt 0.228745 0.772805
+vt 0.223696 0.777202
+vt 0.194832 0.728470
+vt 0.165308 0.789097
+vt 0.164076 0.789755
+vt 0.166545 0.788455
+vt 0.164305 0.784718
+vt 0.165507 0.784132
+vt 0.163530 0.781329
+vt 0.164710 0.780800
+vt 0.162872 0.778445
+vt 0.164036 0.777976
+vt 0.416697 0.784488
+vt 0.229481 0.769553
+vt 0.228861 0.769761
+vt 0.167443 0.744292
+vt 0.166893 0.744411
+vt 0.166407 0.741888
+vt 0.165891 0.742018
+vt 0.165308 0.739114
+vt 0.164816 0.739244
+vt 0.294151 0.743024
+vt 0.414106 0.853201
+vt 0.384948 0.844754
+vt 0.288859 0.742937
+vt 0.372226 0.843351
+vt 0.098179 0.816422
+vt 0.099168 0.816539
+vt 0.394881 0.843630
+vt 0.393795 0.841838
+vt 0.395240 0.842116
+vt 0.395861 0.843632
+vt 0.169794 0.752163
+vt 0.170933 0.755004
+vt 0.168569 0.749466
+vt 0.589589 0.183507
+vt 0.592395 0.176785
+vt 0.743729 0.659348
+vt 0.754375 0.647552
+vt 0.749804 0.647906
+vt 0.528169 0.802311
+vt 0.523995 0.803378
+vt 0.531777 0.180038
+vt 0.537215 0.170373
+vt 0.538964 0.176179
+vt 0.535012 0.180187
+vt 0.767215 0.416272
+vt 0.775170 0.391205
+vt 0.784012 0.386737
+vt 0.791810 0.362630
+vt 0.784102 0.375427
+vt 0.818879 0.383168
+vt 0.690570 0.021821
+vt 0.691330 0.024275
+vt 0.690020 0.017939
+vt 0.689694 0.016546
+vt 0.693195 0.040802
+vt 0.694860 0.046419
+vt 0.694842 0.049016
+vt 0.694656 0.074577
+vt 0.694951 0.060114
+vt 0.695213 0.062940
+vt 0.842230 0.411020
+vt 0.834341 0.404312
+vt 0.825512 0.387148
+vt 0.133089 0.426818
+vt 0.133190 0.421352
+vt 0.149580 0.421016
+vt 0.200174 0.429214
+vt 0.202579 0.419222
+vt 0.202781 0.434419
+vt 0.834120 0.661107
+vt 0.838665 0.660033
+vt 0.251965 0.665752
+vt 0.247419 0.666352
+vt 0.186949 0.457460
+vt 0.210644 0.639224
+vt 0.219670 0.627065
+vt 0.206944 0.654841
+vt 0.210940 0.657867
+vt 0.133689 0.811967
+vt 0.134737 0.816145
+vt 0.131633 0.816823
+vt 0.131409 0.811598
+vt 0.225398 0.362842
+vt 0.220124 0.389691
+vt 0.216163 0.368026
+vt 0.850203 0.598603
+vt 0.873449 0.623086
+vt 0.886236 0.623086
+vt 0.899240 0.619224
+vt 0.227225 0.323806
+vt 0.224757 0.330322
+vt 0.601102 0.259605
+vt 0.579381 0.206267
+vt 0.579454 0.199753
+vt 0.198465 0.730926
+vt 0.199175 0.728093
+vt 0.199031 0.728869
+vt 0.696622 0.078454
+vt 0.399366 0.757582
+vt 0.371744 0.826509
+vt 0.293653 0.806340
+vt 0.037120 0.798026
+vt 0.401213 0.797677
+vt 0.400968 0.797081
+vt 0.404435 0.797742
+vt 0.401545 0.790716
+vt 0.401321 0.789334
+vt 0.218689 0.803435
+vt 0.003627 0.806479
+vt 0.003486 0.807641
+vt 0.004004 0.805190
+vt 0.003264 0.804595
+vt 0.004128 0.804353
+vt 0.079875 0.812139
+vt 0.080452 0.812066
+vt 0.601956 0.852987
+vt 0.601227 0.852612
+vt 0.400704 0.816394
+vt 0.400520 0.815958
+vt 0.402918 0.815237
+vt 0.403605 0.815307
+vt 0.400632 0.817656
+vt 0.400410 0.817012
+vt 0.130493 0.695645
+vt 0.130767 0.694355
+vt 0.131116 0.692710
+vt 0.131498 0.690912
+vt 0.404347 0.799563
+vt 0.404270 0.801171
+vt 0.403255 0.801029
+vt 0.403280 0.799425
+vt 0.130219 0.696933
+vt 0.172988 0.760428
+vt 0.227023 0.773296
+vt 0.224971 0.773867
+vt 0.276174 0.785239
+vt 0.277356 0.785104
+vt 0.278759 0.784992
+vt 0.219036 0.778608
+vt 0.220079 0.778271
+vt 0.221679 0.777779
+vt 0.162218 0.775578
+vt 0.163367 0.775174
+vt 0.289823 0.747249
+vt 0.289480 0.745524
+vt 0.164242 0.736412
+vt 0.163762 0.736510
+vt 0.289160 0.744209
+vt 0.167382 0.746938
+vt 0.415765 0.852781
+vt 0.415096 0.853040
+vt 0.239740 0.826138
+vt 0.240067 0.824338
+vt 0.240781 0.824342
+vt 0.240220 0.823215
+vt 0.239870 0.822822
+vt 0.240515 0.822317
+vt 0.240761 0.822823
+vt 0.371557 0.843857
+vt 0.159050 0.728651
+vt 0.159392 0.726532
+vt 0.160293 0.728315
+vt 0.159483 0.729676
+vt 0.158539 0.724612
+vt 0.157714 0.726924
+vt 0.157158 0.725063
+vt 0.157837 0.723011
+vt 0.156537 0.723433
+vt 0.239555 0.826999
+vt 0.155536 0.720382
+vt 0.155575 0.720801
+vt 0.157190 0.721518
+vt 0.155959 0.721915
+vt 0.100851 0.815702
+vt 0.100847 0.816371
+vt 0.171994 0.757816
+vt 0.585124 0.189635
+vt 0.586921 0.181535
+vt 0.590070 0.173848
+vt 0.573677 0.175455
+vt 0.576739 0.166653
+vt 0.556547 0.168141
+vt 0.559497 0.159388
+vt 0.519216 0.803688
+vt 0.253800 0.742416
+vt 0.261191 0.738615
+vt 0.258661 0.752664
+vt 0.254116 0.752825
+vt 0.533383 0.186376
+vt 0.526750 0.190357
+vt 0.252320 0.733828
+vt 0.255855 0.732809
+vt 0.521946 0.227070
+vt 0.512973 0.233477
+vt 0.517086 0.209202
+vt 0.522868 0.208409
+vt 0.821385 0.371879
+vt 0.813625 0.357348
+vt 0.803992 0.341338
+vt 0.691802 0.026326
+vt 0.691926 0.028101
+vt 0.691048 0.020823
+vt 0.690891 0.019687
+vt 0.690776 0.018331
+vt 0.689106 0.014907
+vt 0.689586 0.015165
+vt 0.223599 0.820499
+vt 0.223948 0.818327
+vt 0.224409 0.815713
+vt 0.694645 0.043782
+vt 0.694070 0.041069
+vt 0.694505 0.071565
+vt 0.694992 0.068786
+vt 0.695194 0.065944
+vt 0.697491 0.053107
+vt 0.697413 0.055330
+vt 0.697343 0.057372
+vt 0.061738 0.807414
+vt 0.060913 0.808332
+vt 0.060749 0.805425
+vt 0.061603 0.805318
+vt 0.689107 0.013632
+vt 0.689969 0.013941
+vt 0.689110 0.012910
+vt 0.690099 0.013246
+vt 0.856401 0.421352
+vt 0.852752 0.405154
+vt 0.823423 0.375329
+vt 0.764027 0.862488
+vt 0.764253 0.837007
+vt 0.771970 0.836245
+vt 0.771829 0.862787
+vt 0.177394 0.413263
+vt 0.435680 0.809352
+vt 0.431389 0.809635
+vt 0.359547 0.782826
+vt 0.355658 0.783581
+vt 0.351842 0.784334
+vt 0.256423 0.666331
+vt 0.202845 0.651817
+vt 0.204243 0.667388
+vt 0.200460 0.665618
+vt 0.865578 0.920487
+vt 0.873381 0.925837
+vt 0.204839 0.401640
+vt 0.216998 0.402547
+vt 0.202878 0.413872
+vt 0.200668 0.375187
+vt 0.604885 0.272206
+vt 0.606101 0.281891
+vt 0.860662 0.623086
+vt 0.217958 0.345169
+vt 0.583531 0.221249
+vt 0.588444 0.245720
+vt 0.579534 0.193676
+vt 0.577872 0.209379
+vt 0.695796 0.075803
+vt 0.195072 0.731913
+vt 0.197328 0.734396
+vt 0.196162 0.734618
+vt 0.360401 0.835679
+vt 0.359845 0.834207
+vt 0.360917 0.834237
+vt 0.361322 0.836285
+vt 0.399857 0.759252
+vt 0.371767 0.824939
+vt 0.697090 0.023561
+vt 0.696864 0.024729
+vt 0.697182 0.025572
+vt 0.615791 0.859398
+vt 0.616479 0.859692
+vt 0.401705 0.804411
+vt 0.401763 0.803756
+vt 0.402871 0.803748
+vt 0.403090 0.804466
+vt 0.403494 0.802793
+vt 0.404188 0.802856
+vt 0.401911 0.800119
+vt 0.401958 0.799005
+vt 0.037281 0.793063
+vt 0.037924 0.793010
+vt 0.037568 0.791712
+vt 0.036698 0.792705
+vt 0.036696 0.791632
+vt 0.037057 0.790891
+vt 0.037770 0.790641
+vt 0.400881 0.798512
+vt 0.218705 0.802119
+vt 0.696762 0.023162
+vt 0.608700 0.852666
+vt 0.609353 0.852966
+vt 0.401423 0.810275
+vt 0.401490 0.809599
+vt 0.402591 0.809742
+vt 0.402802 0.810430
+vt 0.402641 0.813856
+vt 0.403656 0.813937
+vt 0.402665 0.812131
+vt 0.401293 0.812999
+vt 0.401342 0.811713
+vt 0.696190 0.018823
+vt 0.889204 0.960287
+vt 0.888427 0.960200
+vt 0.888783 0.959364
+vt 0.889436 0.959069
+vt 0.901171 0.964670
+vt 0.900623 0.964683
+vt 0.900838 0.963745
+vt 0.901516 0.964026
+vt 0.403732 0.812268
+vt 0.414542 0.789931
+vt 0.415724 0.789760
+vt 0.416918 0.787138
+vt 0.227747 0.770103
+vt 0.222850 0.774458
+vt 0.163111 0.785329
+vt 0.162359 0.781886
+vt 0.161717 0.778941
+vt 0.161078 0.776011
+vt 0.228473 0.766903
+vt 0.227861 0.767109
+vt 0.166358 0.744608
+vt 0.165382 0.742203
+vt 0.164338 0.739455
+vt 0.396690 0.841831
+vt 0.396976 0.843630
+vt 0.414427 0.853299
+vt 0.158097 0.729135
+vt 0.160965 0.729913
+vt 0.159898 0.731103
+vt 0.395660 0.844754
+vt 0.396437 0.845147
+vt 0.415958 0.800796
+vt 0.414776 0.800894
+vt 0.415022 0.798196
+vt 0.416204 0.798076
+vt 0.414960 0.795355
+vt 0.416143 0.795208
+vt 0.415552 0.803342
+vt 0.414369 0.803421
+vt 0.581362 0.188608
+vt 0.491172 0.834099
+vt 0.488023 0.848158
+vt 0.479269 0.845208
+vt 0.484942 0.830883
+vt 0.744422 0.646838
+vt 0.753655 0.637478
+vt 0.749196 0.637757
+vt 0.517530 0.790831
+vt 0.515128 0.793644
+vt 0.532999 0.196699
+vt 0.541488 0.175160
+vt 0.541274 0.182730
+vt 0.538332 0.181010
+vt 0.765849 0.397611
+vt 0.758519 0.389439
+vt 0.765645 0.378248
+vt 0.776954 0.374234
+vt 0.794549 0.341860
+vt 0.780446 0.354981
+vt 0.779506 0.369531
+vt 0.474649 0.749890
+vt 0.482488 0.756700
+vt 0.471199 0.756808
+vt 0.466238 0.752179
+vt 0.691806 0.029919
+vt 0.692530 0.031853
+vt 0.484378 0.852787
+vt 0.484211 0.851789
+vt 0.485020 0.851964
+vt 0.485187 0.853159
+vt 0.485443 0.854643
+vt 0.484660 0.855241
+vt 0.690590 0.017668
+vt 0.689954 0.017204
+vt 0.574947 0.856160
+vt 0.574628 0.856895
+vt 0.574784 0.855502
+vt 0.575287 0.855630
+vt 0.153047 0.814042
+vt 0.152684 0.811870
+vt 0.153791 0.812358
+vt 0.153957 0.814351
+vt 0.153514 0.816656
+vt 0.153963 0.816824
+vt 0.693159 0.038218
+vt 0.696598 0.044296
+vt 0.696877 0.046287
+vt 0.060494 0.802828
+vt 0.061558 0.803520
+vt 0.359833 0.829488
+vt 0.358847 0.830330
+vt 0.358365 0.827318
+vt 0.359337 0.827147
+vt 0.172260 0.802680
+vt 0.171386 0.803599
+vt 0.170930 0.800773
+vt 0.171802 0.800525
+vt 0.170329 0.798223
+vt 0.171438 0.798679
+vt 0.697517 0.052118
+vt 0.695830 0.051006
+vt 0.841734 0.379069
+vt 0.832200 0.381089
+vt 0.136725 0.406649
+vt 0.150669 0.398554
+vt 0.440155 0.817952
+vt 0.440070 0.809585
+vt 0.247709 0.676674
+vt 0.252083 0.676400
+vt 0.256358 0.676643
+vt 0.196537 0.663854
+vt 0.208094 0.347837
+vt 0.193283 0.349326
+vt 0.598236 0.271471
+vt 0.601451 0.301997
+vt 0.597864 0.298846
+vt 0.605215 0.303047
+vt 0.591780 0.326480
+vt 0.581967 0.323611
+vt 0.873449 0.645368
+vt 0.885723 0.645368
+vt 0.217181 0.298201
+vt 0.210187 0.302063
+vt 0.202903 0.277887
+vt 0.210975 0.275919
+vt 0.215204 0.325549
+vt 0.591147 0.270018
+vt 0.581063 0.191872
+vt 0.570479 0.195308
+vt 0.564079 0.201622
+vt 0.695905 0.074928
+vt 0.695026 0.073735
+vt 0.696467 0.076677
+vt 0.198497 0.733103
+vt 0.199336 0.730420
+vt 0.361934 0.835508
+vt 0.361894 0.833957
+vt 0.359747 0.832430
+vt 0.360417 0.831880
+vt 0.400892 0.804402
+vt 0.400655 0.803789
+vt 0.404103 0.804604
+vt 0.038355 0.792072
+vt 0.400549 0.798152
+vt 0.003485 0.803722
+vt 0.004097 0.803633
+vt 0.400613 0.810259
+vt 0.400382 0.809632
+vt 0.403812 0.810626
+vt 0.403183 0.809268
+vt 0.403874 0.809337
+vt 0.402921 0.807979
+vt 0.403936 0.808047
+vt 0.402949 0.806265
+vt 0.401574 0.807142
+vt 0.401626 0.805845
+vt 0.400517 0.812274
+vt 0.400271 0.811217
+vt 0.080884 0.811008
+vt 0.080193 0.810641
+vt 0.400167 0.816731
+vt 0.404016 0.806402
+vt 0.414748 0.792543
+vt 0.415930 0.792375
+vt 0.220899 0.775018
+vt 0.226057 0.770573
+vt 0.224053 0.771115
+vt 0.161563 0.772704
+vt 0.162697 0.772363
+vt 0.276397 0.782428
+vt 0.277580 0.782315
+vt 0.278982 0.782206
+vt 0.218348 0.775821
+vt 0.219354 0.775495
+vt 0.160437 0.773073
+vt 0.163304 0.734224
+vt 0.162824 0.734237
+vt 0.162463 0.732499
+vt 0.161877 0.732613
+vt 0.163310 0.736731
+vt 0.161686 0.731185
+vt 0.160799 0.731825
+vt 0.415130 0.805686
+vt 0.413948 0.805752
+vt 0.312490 0.823744
+vt 0.312811 0.824606
+vt 0.311811 0.824667
+vt 0.311734 0.823640
+vt 0.154535 0.720727
+vt 0.153940 0.721224
+vt 0.881335 0.959738
+vt 0.881511 0.959069
+vt 0.882020 0.959665
+vt 0.881511 0.960407
+vt 0.158591 0.730463
+vt 0.158821 0.729557
+vt 0.155306 0.725692
+vt 0.155930 0.727631
+vt 0.154797 0.724027
+vt 0.154323 0.722478
+vt 0.691779 0.014034
+vt 0.691776 0.014594
+vt 0.101974 0.815640
+vt 0.102366 0.816074
+vt 0.568923 0.184217
+vt 0.553367 0.177777
+vt 0.512556 0.796303
+vt 0.258371 0.763302
+vt 0.253998 0.762886
+vt 0.249223 0.746597
+vt 0.249657 0.755598
+vt 0.247867 0.738383
+vt 0.552175 0.181418
+vt 0.550182 0.186649
+vt 0.535893 0.205089
+vt 0.542487 0.220997
+vt 0.520213 0.235242
+vt 0.542025 0.215314
+vt 0.826950 0.364419
+vt 0.818384 0.345478
+vt 0.803884 0.313197
+vt 0.692987 0.033752
+vt 0.693358 0.025280
+vt 0.693620 0.026758
+vt 0.693815 0.028083
+vt 0.502810 0.854698
+vt 0.502748 0.856374
+vt 0.501940 0.856238
+vt 0.502002 0.854612
+vt 0.692600 0.019948
+vt 0.692673 0.020874
+vt 0.691351 0.023676
+vt 0.693174 0.024554
+vt 0.692291 0.018315
+vt 0.692446 0.018873
+vt 0.575211 0.854120
+vt 0.575679 0.854875
+vt 0.696299 0.042254
+vt 0.071272 0.815565
+vt 0.070452 0.816262
+vt 0.069950 0.813411
+vt 0.070781 0.813368
+vt 0.695236 0.047111
+vt 0.696954 0.046896
+vt 0.357708 0.824538
+vt 0.358935 0.825116
+vt 0.696919 0.064122
+vt 0.696826 0.066409
+vt 0.696766 0.068555
+vt 0.695571 0.062021
+vt 0.696987 0.063152
+vt 0.471138 0.853757
+vt 0.470028 0.854052
+vt 0.470155 0.852157
+vt 0.471143 0.852161
+vt 0.699070 0.053295
+vt 0.698639 0.053932
+vt 0.698991 0.055704
+vt 0.698533 0.057094
+vt 0.454244 0.852478
+vt 0.454073 0.850791
+vt 0.455058 0.850528
+vt 0.455202 0.852461
+vt 0.062389 0.805073
+vt 0.062724 0.807728
+vt 0.690253 0.015426
+vt 0.689746 0.015919
+vt 0.122210 0.405154
+vt 0.129942 0.387981
+vt 0.850756 0.373845
+vt 0.455768 0.735168
+vt 0.486468 0.746208
+vt 0.459807 0.742205
+vt 0.175409 0.386715
+vt 0.435427 0.803528
+vt 0.431164 0.803424
+vt 0.358219 0.776616
+vt 0.354602 0.776462
+vt 0.350962 0.776428
+vt 0.196328 0.674962
+vt 0.192419 0.674166
+vt 0.200162 0.675755
+vt 0.598516 0.279007
+vt 0.600257 0.284519
+vt 0.861176 0.645368
+vt 0.192178 0.298740
+vt 0.182891 0.283792
+vt 0.196492 0.317467
+vt 0.203854 0.326549
+vt 0.845173 0.937734
+vt 0.846315 0.920487
+vt 0.858022 0.930351
+vt 0.853472 0.939553
+vt 0.568877 0.223959
+vt 0.573132 0.253651
+vt 0.572639 0.192012
+vt 0.576301 0.190991
+vt 0.564897 0.210206
+vt 0.696784 0.076127
+vt 0.199127 0.732146
+vt 0.195278 0.734857
+vt 0.361080 0.829981
+vt 0.361282 0.831274
+vt 0.360125 0.830681
+vt 0.197119 0.737429
+vt 0.196312 0.737569
+vt 0.003803 0.802221
+vt 0.002948 0.803323
+vt 0.002979 0.802155
+vt 0.003348 0.801311
+vt 0.004036 0.801001
+vt 0.400552 0.805356
+vt 0.401129 0.799450
+vt 0.399956 0.810850
+vt 0.417127 0.789695
+vt 0.226765 0.767445
+vt 0.221992 0.771674
+vt 0.195482 0.737788
+vt 0.196463 0.740528
+vt 0.195687 0.740726
+vt 0.227503 0.764346
+vt 0.226896 0.764543
+vt 0.162380 0.734398
+vt 0.414660 0.808095
+vt 0.413478 0.808156
+vt 0.414106 0.810834
+vt 0.412924 0.810905
+vt 0.413571 0.813555
+vt 0.412389 0.813629
+vt 0.397047 0.844754
+vt 0.397263 0.841935
+vt 0.397510 0.843627
+vt 0.152387 0.721916
+vt 0.152198 0.721589
+vt 0.153197 0.721245
+vt 0.156751 0.730003
+vt 0.157719 0.732742
+vt 0.102367 0.815265
+vt 0.102872 0.815804
+vt 0.416954 0.803290
+vt 0.417361 0.800740
+vt 0.417607 0.798016
+vt 0.417545 0.795147
+vt 0.416532 0.805636
+vt 0.540256 0.170605
+vt 0.542221 0.162468
+vt 0.532927 0.152509
+vt 0.545437 0.156238
+vt 0.530261 0.156858
+vt 0.744651 0.636984
+vt 0.753417 0.630093
+vt 0.749125 0.631071
+vt 0.508358 0.789117
+vt 0.509685 0.785727
+vt 0.544095 0.205475
+vt 0.545044 0.232575
+vt 0.521697 0.243041
+vt 0.753309 0.373382
+vt 0.750143 0.381641
+vt 0.763555 0.359942
+vt 0.772960 0.357999
+vt 0.789880 0.333981
+vt 0.776170 0.354039
+vt 0.451531 0.742913
+vt 0.463739 0.757673
+vt 0.456207 0.751437
+vt 0.404821 0.843202
+vt 0.404432 0.841384
+vt 0.405352 0.841792
+vt 0.405492 0.843409
+vt 0.405338 0.844764
+vt 0.405035 0.845136
+vt 0.193441 0.787627
+vt 0.195116 0.787642
+vt 0.194956 0.788200
+vt 0.192848 0.788338
+vt 0.192715 0.786687
+vt 0.193078 0.786431
+vt 0.169677 0.813276
+vt 0.168842 0.813304
+vt 0.168640 0.811481
+vt 0.169535 0.811036
+vt 0.486338 0.854765
+vt 0.485925 0.852904
+vt 0.249420 0.824545
+vt 0.248651 0.824626
+vt 0.248419 0.822925
+vt 0.249226 0.822317
+vt 0.575999 0.856292
+vt 0.575192 0.856624
+vt 0.694494 0.032813
+vt 0.694855 0.034298
+vt 0.693152 0.035745
+vt 0.695062 0.035669
+vt 0.069359 0.810939
+vt 0.070379 0.811459
+vt 0.696163 0.041487
+vt 0.694195 0.040371
+vt 0.697720 0.043072
+vt 0.698407 0.044702
+vt 0.698147 0.046066
+vt 0.062348 0.802650
+vt 0.510258 0.855917
+vt 0.509032 0.856267
+vt 0.509161 0.854493
+vt 0.510251 0.854458
+vt 0.360300 0.826948
+vt 0.172539 0.803812
+vt 0.173388 0.803064
+vt 0.173594 0.804329
+vt 0.172664 0.800248
+vt 0.172222 0.797614
+vt 0.454532 0.854031
+vt 0.455215 0.853611
+vt 0.470369 0.850967
+vt 0.471139 0.850564
+vt 0.691775 0.015683
+vt 0.841763 0.348936
+vt 0.832424 0.344625
+vt 0.827691 0.356448
+vt 0.145940 0.368074
+vt 0.439808 0.803622
+vt 0.251908 0.684324
+vt 0.247592 0.684580
+vt 0.194883 0.681591
+vt 0.191189 0.681583
+vt 0.256107 0.684059
+vt 0.171703 0.359116
+vt 0.198891 0.339411
+vt 0.185605 0.338870
+vt 0.590175 0.281367
+vt 0.595206 0.278021
+vt 0.594364 0.294644
+vt 0.584322 0.311313
+vt 0.577251 0.347261
+vt 0.585574 0.348762
+vt 0.884866 0.666611
+vt 0.873449 0.666611
+vt 0.191294 0.311372
+vt 0.201687 0.255472
+vt 0.209185 0.254676
+vt 0.200711 0.336995
+vt 0.576253 0.282203
+vt 0.563307 0.190779
+vt 0.555995 0.194034
+vt 0.361249 0.832231
+vt 0.004542 0.802568
+vt 0.400229 0.805010
+vt 0.400796 0.806422
+vt 0.417333 0.792313
+vt 0.220104 0.772207
+vt 0.218615 0.772670
+vt 0.225110 0.767900
+vt 0.223154 0.768423
+vt 0.159790 0.770105
+vt 0.160898 0.769794
+vt 0.162016 0.769512
+vt 0.276623 0.779578
+vt 0.277805 0.779483
+vt 0.279207 0.779376
+vt 0.217648 0.772992
+vt 0.196615 0.743515
+vt 0.195895 0.743694
+vt 0.161245 0.732365
+vt 0.413155 0.815907
+vt 0.411973 0.815961
+vt 0.159790 0.732101
+vt 0.416062 0.808045
+vt 0.151304 0.721906
+vt 0.151284 0.722321
+vt 0.310918 0.824613
+vt 0.310895 0.823757
+vt 0.154081 0.728152
+vt 0.153453 0.726321
+vt 0.153056 0.724622
+vt 0.152687 0.723040
+vt 0.692902 0.015242
+vt 0.693297 0.015051
+vt 0.565225 0.187101
+vt 0.528883 0.162391
+vt 0.507151 0.792530
+vt 0.258489 0.771148
+vt 0.254173 0.770427
+vt 0.249723 0.764048
+vt 0.518133 0.153390
+vt 0.520224 0.149730
+vt 0.563161 0.187994
+vt 0.753843 0.355565
+vt 0.745758 0.825669
+vt 0.737434 0.833692
+vt 0.728868 0.814750
+vt 0.737937 0.809032
+vt 0.819381 0.308913
+vt 0.827452 0.339759
+vt 0.447901 0.854436
+vt 0.446981 0.854668
+vt 0.447124 0.852779
+vt 0.447971 0.852794
+vt 0.692637 0.031481
+vt 0.694021 0.032124
+vt 0.695001 0.025461
+vt 0.694655 0.025897
+vt 0.695268 0.027113
+vt 0.694997 0.027988
+vt 0.196275 0.788036
+vt 0.196816 0.787524
+vt 0.502253 0.853429
+vt 0.502886 0.852998
+vt 0.693667 0.019439
+vt 0.694193 0.020325
+vt 0.693856 0.020885
+vt 0.169638 0.814692
+vt 0.169049 0.815131
+vt 0.249413 0.825896
+vt 0.248875 0.826351
+vt 0.694016 0.019181
+vt 0.576135 0.855623
+vt 0.576041 0.854382
+vt 0.576560 0.855500
+vt 0.440909 0.854423
+vt 0.439889 0.854717
+vt 0.440022 0.852808
+vt 0.440892 0.852793
+vt 0.698107 0.042595
+vt 0.711420 0.867615
+vt 0.711139 0.865647
+vt 0.712144 0.865362
+vt 0.712351 0.867677
+vt 0.071550 0.813181
+vt 0.072277 0.816053
+vt 0.197766 0.761513
+vt 0.199483 0.761729
+vt 0.199362 0.762472
+vt 0.197313 0.762382
+vt 0.698688 0.046651
+vt 0.359819 0.824087
+vt 0.698400 0.064360
+vt 0.697975 0.064981
+vt 0.698279 0.066803
+vt 0.787373 0.869368
+vt 0.787433 0.867223
+vt 0.788886 0.867617
+vt 0.788472 0.869087
+vt 0.198272 0.750605
+vt 0.199868 0.750807
+vt 0.199909 0.751787
+vt 0.198008 0.751670
+vt 0.699528 0.055587
+vt 0.698936 0.057570
+vt 0.197187 0.757552
+vt 0.198097 0.757305
+vt 0.197332 0.759960
+vt 0.196894 0.760239
+vt 0.200029 0.756072
+vt 0.198227 0.754513
+vt 0.199973 0.754020
+vt 0.109484 0.373845
+vt 0.116181 0.358173
+vt 0.849873 0.344599
+vt 0.436824 0.733646
+vt 0.198599 0.681718
+vt 0.435721 0.798234
+vt 0.439881 0.798395
+vt 0.429837 0.797315
+vt 0.354508 0.771155
+vt 0.358621 0.770506
+vt 0.351183 0.768885
+vt 0.167597 0.345531
+vt 0.590865 0.290443
+vt 0.586892 0.303708
+vt 0.569625 0.307532
+vt 0.557311 0.309717
+vt 0.556486 0.342758
+vt 0.553562 0.321621
+vt 0.862032 0.666611
+vt 0.169989 0.304534
+vt 0.177888 0.311316
+vt 0.183276 0.257860
+vt 0.182940 0.332075
+vt 0.549257 0.260102
+vt 0.197624 0.740290
+vt 0.225818 0.764872
+vt 0.221155 0.768959
+vt 0.197815 0.743275
+vt 0.226517 0.761728
+vt 0.225915 0.761914
+vt 0.412993 0.817994
+vt 0.411524 0.817994
+vt 0.415509 0.810785
+vt 0.414973 0.813505
+vt 0.414557 0.815859
+vt 0.396790 0.845652
+vt 0.397482 0.845146
+vt 0.311087 0.821951
+vt 0.311770 0.821948
+vt 0.155143 0.730131
+vt 0.693296 0.016096
+vt 0.693804 0.016073
+vt 0.417587 0.805485
+vt 0.418008 0.803132
+vt 0.418415 0.800570
+vt 0.418661 0.797836
+vt 0.225459 0.758894
+vt 0.224865 0.759077
+vt 0.224329 0.756025
+vt 0.223751 0.756205
+vt 0.417116 0.807897
+vt 0.523073 0.146676
+vt 0.744736 0.630075
+vt 0.749378 0.627496
+vt 0.753641 0.626320
+vt 0.503469 0.787050
+vt 0.501333 0.790623
+vt 0.502604 0.783118
+vt 0.526212 0.263769
+vt 0.513389 0.263349
+vt 0.508503 0.251299
+vt 0.762831 0.329052
+vt 0.771292 0.327029
+vt 0.777937 0.331488
+vt 0.785221 0.327918
+vt 0.789046 0.309360
+vt 0.774763 0.320987
+vt 0.650960 0.756631
+vt 0.647001 0.751781
+vt 0.677971 0.750594
+vt 0.684013 0.760046
+vt 0.445803 0.744332
+vt 0.455717 0.759029
+vt 0.439529 0.746020
+vt 0.137823 0.308913
+vt 0.122885 0.313197
+vt 0.138130 0.283157
+vt 0.144521 0.282476
+vt 0.194035 0.779088
+vt 0.194426 0.778498
+vt 0.194687 0.780115
+vt 0.194100 0.780978
+vt 0.176327 0.812996
+vt 0.175731 0.811612
+vt 0.176252 0.811512
+vt 0.405858 0.844655
+vt 0.196639 0.788667
+vt 0.194808 0.789275
+vt 0.192826 0.789852
+vt 0.192563 0.784990
+vt 0.193435 0.784826
+vt 0.192249 0.786803
+vt 0.191974 0.788517
+vt 0.197092 0.783085
+vt 0.195676 0.783846
+vt 0.195884 0.782474
+vt 0.197734 0.781966
+vt 0.193901 0.782920
+vt 0.196091 0.789482
+vt 0.194740 0.790201
+vt 0.192512 0.791288
+vt 0.191687 0.791270
+vt 0.192160 0.791957
+vt 0.191815 0.791718
+vt 0.689970 0.016544
+vt 0.691776 0.016636
+vt 0.696169 0.033086
+vt 0.695871 0.033469
+vt 0.696539 0.034681
+vt 0.696263 0.035587
+vt 0.071123 0.810637
+vt 0.200637 0.766030
+vt 0.198693 0.767137
+vt 0.198755 0.766552
+vt 0.200217 0.765679
+vt 0.699011 0.044767
+vt 0.200658 0.762664
+vt 0.201218 0.761973
+vt 0.196457 0.762846
+vt 0.197871 0.739262
+vt 0.199330 0.739526
+vt 0.199411 0.740468
+vt 0.509395 0.853394
+vt 0.510240 0.852998
+vt 0.172833 0.805020
+vt 0.173589 0.805314
+vt 0.196764 0.746438
+vt 0.197810 0.746220
+vt 0.197511 0.749036
+vt 0.196905 0.749205
+vt 0.199537 0.744955
+vt 0.199491 0.742782
+vt 0.201086 0.751929
+vt 0.201465 0.751055
+vt 0.197044 0.751936
+vt 0.732900 0.867852
+vt 0.732414 0.865560
+vt 0.733096 0.865790
+vt 0.733679 0.867425
+vt 0.201179 0.755100
+vt 0.201544 0.753465
+vt 0.197188 0.754752
+vt 0.841851 0.338593
+vt 0.834117 0.334631
+vt 0.443945 0.724557
+vt 0.425767 0.726521
+vt 0.125204 0.344786
+vt 0.252089 0.690562
+vt 0.246583 0.692123
+vt 0.256031 0.689879
+vt 0.195048 0.687033
+vt 0.198462 0.686946
+vt 0.191751 0.687402
+vt 0.149118 0.350884
+vt 0.576829 0.292535
+vt 0.070234 0.635125
+vt 0.072978 0.627065
+vt 0.074904 0.630094
+vt 0.074990 0.636358
+vt 0.588943 0.286073
+vt 0.581409 0.301592
+vt 0.557624 0.367288
+vt 0.576223 0.369326
+vt 0.583784 0.370005
+vt 0.202059 0.234569
+vt 0.208997 0.234361
+vt 0.883855 0.686926
+vt 0.873449 0.686926
+vt 0.179045 0.321191
+vt 0.160265 0.282805
+vt 0.153658 0.307488
+vt 0.163666 0.258525
+vt 0.184967 0.235194
+vt 0.553045 0.286731
+vt 0.219330 0.769471
+vt 0.217896 0.769920
+vt 0.216966 0.770232
+vt 0.224204 0.765337
+vt 0.222304 0.765875
+vt 0.196097 0.746597
+vt 0.159157 0.767202
+vt 0.160250 0.766951
+vt 0.161352 0.766729
+vt 0.276843 0.776795
+vt 0.278026 0.776720
+vt 0.279428 0.776616
+vt 0.414339 0.817948
+vt 0.249788 0.809034
+vt 0.251243 0.808770
+vt 0.250357 0.810565
+vt 0.249076 0.810172
+vt 0.247367 0.809649
+vt 0.247717 0.808392
+vt 0.416563 0.810635
+vt 0.311257 0.820824
+vt 0.311776 0.820429
+vt 0.151470 0.723485
+vt 0.150955 0.722081
+vt 0.150911 0.722528
+vt 0.310470 0.824096
+vt 0.310568 0.824441
+vt 0.155576 0.731478
+vt 0.154067 0.730330
+vt 0.152475 0.728865
+vt 0.152082 0.726804
+vt 0.151768 0.725084
+vt 0.693297 0.016765
+vt 0.692902 0.016604
+vt 0.744997 0.626401
+vt 0.869559 0.992733
+vt 0.865296 0.992371
+vt 0.865002 0.987507
+vt 0.870886 0.986915
+vt 0.249974 0.770610
+vt 0.253992 0.776526
+vt 0.259497 0.778229
+vt 0.509796 0.144940
+vt 0.512903 0.142603
+vt 0.754387 0.325421
+vt 0.502984 0.269116
+vt 0.512087 0.281645
+vt 0.803780 0.283157
+vt 0.791154 0.285201
+vt 0.754312 0.822821
+vt 0.745632 0.804137
+vt 0.147746 0.334865
+vt 0.136753 0.339759
+vt 0.196330 0.780270
+vt 0.196158 0.780950
+vt 0.447366 0.851596
+vt 0.448028 0.851123
+vt 0.406332 0.842819
+vt 0.406847 0.844736
+vt 0.170040 0.815335
+vt 0.169319 0.815949
+vt 0.695819 0.027030
+vt 0.695471 0.028311
+vt 0.197252 0.788319
+vt 0.694722 0.020305
+vt 0.694287 0.021101
+vt 0.192890 0.783105
+vt 0.249787 0.826445
+vt 0.249098 0.827057
+vt 0.191763 0.790105
+vt 0.176715 0.815144
+vt 0.177370 0.813320
+vt 0.177357 0.814776
+vt 0.195976 0.772359
+vt 0.197606 0.772611
+vt 0.197463 0.773222
+vt 0.195454 0.773181
+vt 0.440268 0.851607
+vt 0.440949 0.851123
+vt 0.195561 0.768049
+vt 0.196440 0.767765
+vt 0.195509 0.770637
+vt 0.195043 0.770901
+vt 0.197045 0.765043
+vt 0.199048 0.764538
+vt 0.200918 0.764080
+vt 0.698809 0.066745
+vt 0.805635 0.868751
+vt 0.805102 0.867280
+vt 0.806069 0.867223
+vt 0.806480 0.869298
+vt 0.202057 0.753037
+vt 0.157344 0.758907
+vt 0.157030 0.759047
+vt 0.156524 0.756246
+vt 0.156805 0.756051
+vt 0.156237 0.753560
+vt 0.156453 0.753250
+vt 0.099090 0.344599
+vt 0.103040 0.331599
+vt 0.849563 0.334588
+vt 0.430967 0.738359
+vt 0.437430 0.791824
+vt 0.440798 0.792233
+vt 0.433763 0.791123
+vt 0.356133 0.766806
+vt 0.353527 0.767289
+vt 0.351337 0.765850
+vt 0.134418 0.346416
+vt 0.164162 0.340084
+vt 0.577626 0.295410
+vt 0.558163 0.298602
+vt 0.539493 0.301047
+vt 0.546264 0.309602
+vt 0.537902 0.365421
+vt 0.533411 0.338937
+vt 0.526060 0.311374
+vt 0.576658 0.390112
+vt 0.583596 0.390320
+vt 0.863044 0.686926
+vt 0.159323 0.325467
+vt 0.161270 0.333015
+vt 0.167107 0.235818
+vt 0.162468 0.336899
+vt 0.224855 0.762238
+vt 0.220373 0.766423
+vt 0.412046 0.819789
+vt 0.413217 0.819920
+vt 0.414394 0.819875
+vt 0.245659 0.809126
+vt 0.245646 0.807735
+vt 0.416027 0.813356
+vt 0.415611 0.815716
+vt 0.415352 0.817812
+vt 0.154822 0.730904
+vt 0.154812 0.732790
+vt 0.154315 0.731412
+vt 0.218688 0.746413
+vt 0.219511 0.746144
+vt 0.220460 0.748556
+vt 0.219607 0.748826
+vt 0.221445 0.750909
+vt 0.220549 0.751186
+vt 0.222576 0.753470
+vt 0.221620 0.753762
+vt 0.222739 0.756512
+vt 0.223823 0.759394
+vt 0.217685 0.743678
+vt 0.218488 0.743405
+vt 0.516164 0.140436
+vt 0.860915 0.992914
+vt 0.860842 0.988115
+vt 0.498828 0.786935
+vt 0.500248 0.784697
+vt 0.499731 0.782129
+vt 0.250049 0.776219
+vt 0.527906 0.292459
+vt 0.762781 0.301062
+vt 0.770762 0.298491
+vt 0.777029 0.313307
+vt 0.691692 0.776512
+vt 0.673512 0.763955
+vt 0.702033 0.769552
+vt 0.706509 0.749329
+vt 0.714276 0.757836
+vt 0.595903 0.781851
+vt 0.596859 0.771447
+vt 0.604392 0.788125
+vt 0.598159 0.796687
+vt 0.614613 0.788159
+vt 0.601930 0.771937
+vt 0.610484 0.774785
+vt 0.816171 0.282476
+vt 0.803868 0.258917
+vt 0.815314 0.258747
+vt 0.197446 0.780953
+vt 0.198001 0.780313
+vt 0.193816 0.777783
+vt 0.194747 0.777171
+vt 0.193512 0.779527
+vt 0.193212 0.781249
+vt 0.177240 0.811192
+vt 0.152277 0.730694
+vt 0.151971 0.728809
+vt 0.152751 0.730846
+vt 0.151676 0.726996
+vt 0.151386 0.725282
+vt 0.151093 0.723694
+vt 0.697095 0.034680
+vt 0.696747 0.035967
+vt 0.198732 0.773242
+vt 0.199277 0.772657
+vt 0.194546 0.773620
+vt 0.201540 0.763858
+vt 0.196022 0.765407
+vt 0.155994 0.750953
+vt 0.156158 0.750571
+vt 0.200476 0.740654
+vt 0.200790 0.739804
+vt 0.173338 0.807405
+vt 0.174211 0.807037
+vt 0.200574 0.743970
+vt 0.200911 0.742247
+vt 0.196289 0.749342
+vt 0.158558 0.764457
+vt 0.158222 0.764594
+vt 0.157635 0.761862
+vt 0.157964 0.761737
+vt 0.108858 0.707881
+vt 0.101124 0.708930
+vt 0.101796 0.704451
+vt 0.109209 0.703561
+vt 0.433952 0.720634
+vt 0.422012 0.723679
+vt 0.415222 0.729976
+vt 0.108120 0.318415
+vt 0.195744 0.692821
+vt 0.198655 0.693108
+vt 0.429211 0.791585
+vt 0.431925 0.789962
+vt 0.358930 0.764776
+vt 0.357407 0.763890
+vt 0.249919 0.697263
+vt 0.253272 0.696153
+vt 0.256493 0.695399
+vt 0.193007 0.692922
+vt 0.686633 0.780143
+vt 0.685687 0.798622
+vt 0.679812 0.795187
+vt 0.676745 0.783578
+vt 0.554325 0.295616
+vt 0.069490 0.648471
+vt 0.076986 0.647674
+vt 0.541706 0.388863
+vt 0.559566 0.389487
+vt 0.187239 0.214017
+vt 0.203149 0.213949
+vt 0.209573 0.213926
+vt 0.882952 0.707361
+vt 0.873449 0.707361
+vt 0.152614 0.258747
+vt 0.157866 0.236027
+vt 0.170516 0.214085
+vt 0.217230 0.767364
+vt 0.218614 0.766935
+vt 0.216332 0.767654
+vt 0.278234 0.774136
+vt 0.279637 0.774039
+vt 0.223280 0.762713
+vt 0.221437 0.763268
+vt 0.159640 0.764275
+vt 0.160731 0.764121
+vt 0.277052 0.774187
+vt 0.248515 0.812005
+vt 0.249797 0.812398
+vt 0.246807 0.811482
+vt 0.245098 0.810959
+vt 0.415285 0.819740
+vt 0.216692 0.740955
+vt 0.217478 0.740685
+vt 0.155649 0.733400
+vt 0.154484 0.733881
+vt 0.512490 0.135487
+vt 0.509089 0.136992
+vt 0.866960 0.980769
+vt 0.863293 0.981500
+vt 0.495901 0.788772
+vt 0.495647 0.787028
+vt 0.256162 0.783393
+vt 0.252809 0.782258
+vt 0.505665 0.138378
+vt 0.249587 0.781809
+vt 0.754825 0.298043
+vt 0.500165 0.299260
+vt 0.509802 0.310183
+vt 0.792363 0.259428
+vt 0.781714 0.285745
+vt 0.618239 0.809918
+vt 0.607397 0.813323
+vt 0.683408 0.813322
+vt 0.678038 0.823189
+vt 0.673909 0.806074
+vt 0.677549 0.801655
+vt 0.749141 0.802287
+vt 0.746269 0.794739
+vt 0.194148 0.775864
+vt 0.195228 0.775289
+vt 0.198349 0.781594
+vt 0.152587 0.732549
+vt 0.153097 0.732538
+vt 0.196875 0.776127
+vt 0.197199 0.774714
+vt 0.177793 0.815459
+vt 0.177046 0.816070
+vt 0.198331 0.775382
+vt 0.199014 0.774234
+vt 0.155787 0.748081
+vt 0.155621 0.748392
+vt 0.155126 0.745749
+vt 0.155300 0.745515
+vt 0.195155 0.768283
+vt 0.194610 0.771192
+vt 0.201338 0.741879
+vt 0.158358 0.758713
+vt 0.159025 0.761588
+vt 0.157751 0.755778
+vt 0.157315 0.752912
+vt 0.095106 0.334588
+vt 0.098122 0.322630
+vt 0.116528 0.704300
+vt 0.116570 0.708853
+vt 0.423937 0.718626
+vt 0.435052 0.716155
+vt 0.436332 0.783795
+vt 0.439642 0.785134
+vt 0.442141 0.785829
+vt 0.353428 0.763677
+vt 0.351464 0.764222
+vt 0.239114 0.696786
+vt 0.242098 0.693719
+vt 0.243145 0.695157
+vt 0.240660 0.697664
+vt 0.246220 0.697272
+vt 0.243970 0.698005
+vt 0.248269 0.698431
+vt 0.619983 0.781918
+vt 0.623529 0.783547
+vt 0.152553 0.347716
+vt 0.146085 0.348605
+vt 0.078420 0.667138
+vt 0.069868 0.670976
+vt 0.530557 0.308144
+vt 0.080012 0.685808
+vt 0.071742 0.692290
+vt 0.532465 0.388655
+vt 0.526972 0.365253
+vt 0.518159 0.339480
+vt 0.561838 0.410664
+vt 0.577748 0.410732
+vt 0.584172 0.410755
+vt 0.863947 0.707361
+vt 0.161654 0.214108
+vt 0.751975 0.806172
+vt 0.757952 0.817878
+vt 0.219574 0.763829
+vt 0.412766 0.821622
+vt 0.413734 0.821753
+vt 0.414672 0.821708
+vt 0.246254 0.813291
+vt 0.244545 0.812768
+vt 0.274558 0.742467
+vt 0.273684 0.742075
+vt 0.274472 0.740242
+vt 0.275279 0.740634
+vt 0.273239 0.743466
+vt 0.274034 0.744493
+vt 0.247962 0.813815
+vt 0.215802 0.738578
+vt 0.216566 0.738325
+vt 0.215031 0.736463
+vt 0.215777 0.736229
+vt 0.216533 0.744096
+vt 0.217496 0.746823
+vt 0.218364 0.749234
+vt 0.219237 0.751598
+vt 0.220215 0.754185
+vt 0.222281 0.759857
+vt 0.221247 0.756953
+vt 0.215574 0.741368
+vt 0.507211 0.131881
+vt 0.510411 0.130688
+vt 0.859925 0.982326
+vt 0.871512 0.981483
+vt 0.868798 0.979703
+vt 0.496935 0.783258
+vt 0.498173 0.781639
+vt 0.259860 0.783199
+vt 0.257812 0.784527
+vt 0.262936 0.781102
+vt 0.262111 0.783736
+vt 0.563805 0.832592
+vt 0.564852 0.830024
+vt 0.567836 0.833082
+vt 0.566290 0.834738
+vt 0.504015 0.132769
+vt 0.503120 0.127179
+vt 0.505697 0.126252
+vt 0.533011 0.301538
+vt 0.519591 0.320227
+vt 0.762711 0.291452
+vt 0.770468 0.288706
+vt 0.088477 0.699241
+vt 0.083746 0.706201
+vt 0.075490 0.702064
+vt 0.082479 0.694744
+vt 0.725053 0.766374
+vt 0.716294 0.748424
+vt 0.724774 0.756338
+vt 0.599460 0.812431
+vt 0.803897 0.236027
+vt 0.814303 0.236027
+vt 0.193673 0.776371
+vt 0.193330 0.778280
+vt 0.153308 0.735519
+vt 0.153202 0.736015
+vt 0.152893 0.734272
+vt 0.153215 0.733992
+vt 0.199624 0.773945
+vt 0.194084 0.774027
+vt 0.156944 0.750202
+vt 0.090554 0.335529
+vt 0.092968 0.324340
+vt 0.429923 0.704865
+vt 0.439053 0.704119
+vt 0.103340 0.692415
+vt 0.110026 0.692070
+vt 0.410057 0.726698
+vt 0.101164 0.310687
+vt 0.193682 0.698283
+vt 0.195862 0.698676
+vt 0.198241 0.699511
+vt 0.432760 0.784904
+vt 0.429853 0.786365
+vt 0.425706 0.790699
+vt 0.426562 0.787561
+vt 0.354754 0.761550
+vt 0.254864 0.701387
+vt 0.252040 0.703234
+vt 0.257358 0.700759
+vt 0.536252 0.410574
+vt 0.545114 0.410596
+vt 0.173820 0.192725
+vt 0.189368 0.192553
+vt 0.204088 0.192381
+vt 0.210075 0.192324
+vt 0.882419 0.728963
+vt 0.873449 0.728963
+vt 0.803897 0.214108
+vt 0.813400 0.214108
+vt 0.165350 0.192783
+vt 0.215677 0.765019
+vt 0.216544 0.764750
+vt 0.217880 0.764341
+vt 0.278441 0.771493
+vt 0.279843 0.771403
+vt 0.277258 0.771533
+vt 0.220486 0.760395
+vt 0.160094 0.761467
+vt 0.249244 0.814207
+vt 0.275487 0.738432
+vt 0.276219 0.738825
+vt 0.245717 0.815048
+vt 0.244141 0.814565
+vt 0.247293 0.815531
+vt 0.214398 0.734528
+vt 0.215139 0.734300
+vt 0.415387 0.821574
+vt 0.214717 0.738954
+vt 0.154618 0.734427
+vt 0.154036 0.735148
+vt 0.508291 0.124899
+vt 0.864391 0.974037
+vt 0.861081 0.975480
+vt 0.494466 0.783694
+vt 0.874161 0.978411
+vt 0.875017 0.981229
+vt 0.870870 0.976728
+vt 0.251217 0.787424
+vt 0.254041 0.789546
+vt 0.248723 0.787034
+vt 0.453487 0.790428
+vt 0.450527 0.762660
+vt 0.459999 0.771739
+vt 0.463746 0.791426
+vt 0.755038 0.288524
+vt 0.498935 0.326638
+vt 0.507507 0.335641
+vt 0.793492 0.236027
+vt 0.472002 0.791916
+vt 0.471320 0.814936
+vt 0.462871 0.816925
+vt 0.616795 0.817646
+vt 0.608417 0.821605
+vt 0.156530 0.747737
+vt 0.156019 0.745216
+vt 0.154659 0.742607
+vt 0.155352 0.742337
+vt 0.159380 0.758546
+vt 0.158710 0.755544
+vt 0.158204 0.752648
+vt 0.079123 0.329804
+vt 0.078452 0.339137
+vt 0.116451 0.692198
+vt 0.412753 0.721044
+vt 0.420593 0.705539
+vt 0.600062 0.817597
+vt 0.432478 0.778264
+vt 0.434844 0.777777
+vt 0.439100 0.778692
+vt 0.441445 0.779003
+vt 0.443493 0.779878
+vt 0.357158 0.760752
+vt 0.354967 0.759336
+vt 0.349477 0.760601
+vt 0.348128 0.761314
+vt 0.237078 0.699694
+vt 0.238824 0.700146
+vt 0.241814 0.699806
+vt 0.244232 0.700631
+vt 0.246500 0.701605
+vt 0.248983 0.702644
+vt 0.794395 0.214108
+vt 0.548419 0.431956
+vt 0.563967 0.432128
+vt 0.578687 0.432300
+vt 0.584674 0.432357
+vt 0.864480 0.728963
+vt 0.803897 0.192783
+vt 0.812867 0.192783
+vt 0.218683 0.760937
+vt 0.413707 0.823432
+vt 0.414450 0.823562
+vt 0.415120 0.823518
+vt 0.275734 0.742598
+vt 0.276255 0.740765
+vt 0.275504 0.744575
+vt 0.213971 0.736799
+vt 0.213346 0.734851
+vt 0.214578 0.732467
+vt 0.213837 0.732695
+vt 0.214322 0.741830
+vt 0.215234 0.744569
+vt 0.216142 0.747292
+vt 0.216944 0.749702
+vt 0.217731 0.752071
+vt 0.219517 0.757462
+vt 0.218593 0.754672
+vt 0.213511 0.739372
+vt 0.858582 0.976540
+vt 0.867963 0.974953
+vt 0.492829 0.785626
+vt 0.492332 0.783066
+vt 0.495555 0.778444
+vt 0.496720 0.777459
+vt 0.257098 0.788731
+vt 0.259581 0.787730
+vt 0.261848 0.786732
+vt 0.265421 0.782941
+vt 0.264266 0.785028
+vt 0.569872 0.837262
+vt 0.568126 0.838192
+vt 0.501746 0.121954
+vt 0.503622 0.120775
+vt 0.516100 0.344410
+vt 0.400291 0.740989
+vt 0.400782 0.749006
+vt 0.393025 0.746461
+vt 0.392813 0.738956
+vt 0.733316 0.764324
+vt 0.725443 0.746877
+vt 0.717195 0.740407
+vt 0.154686 0.739488
+vt 0.154029 0.739771
+vt 0.153579 0.737427
+vt 0.154175 0.737054
+vt 0.157766 0.749931
+vt 0.095435 0.313220
+vt 0.079867 0.320671
+vt 0.429718 0.686697
+vt 0.437035 0.687607
+vt 0.446336 0.686309
+vt 0.103878 0.674605
+vt 0.110984 0.676631
+vt 0.258491 0.706099
+vt 0.256270 0.706553
+vt 0.192503 0.703623
+vt 0.194296 0.704321
+vt 0.196280 0.705462
+vt 0.430195 0.778971
+vt 0.674152 0.849712
+vt 0.669049 0.852686
+vt 0.671187 0.849755
+vt 0.673598 0.847851
+vt 0.807846 0.861027
+vt 0.810682 0.862396
+vt 0.809143 0.863592
+vt 0.807181 0.862443
+vt 0.350632 0.758810
+vt 0.242102 0.701861
+vt 0.254346 0.707573
+vt 0.794928 0.192783
+vt 0.539949 0.431899
+vt 0.167997 0.172329
+vt 0.176084 0.172123
+vt 0.190484 0.171505
+vt 0.204056 0.170887
+vt 0.209660 0.170681
+vt 0.881998 0.750606
+vt 0.873449 0.750606
+vt 0.803897 0.172330
+vt 0.812446 0.172330
+vt 0.278653 0.768556
+vt 0.280055 0.768470
+vt 0.214936 0.762086
+vt 0.215768 0.761826
+vt 0.217051 0.761431
+vt 0.277470 0.768612
+vt 0.248475 0.815893
+vt 0.276967 0.738956
+vt 0.276621 0.736635
+vt 0.277254 0.736997
+vt 0.245205 0.816724
+vt 0.244025 0.816363
+vt 0.274483 0.746890
+vt 0.275665 0.746814
+vt 0.246384 0.817085
+vt 0.212786 0.733018
+vt 0.214465 0.730523
+vt 0.215018 0.732332
+vt 0.214025 0.730658
+vt 0.212798 0.737172
+vt 0.154825 0.736824
+vt 0.505518 0.119113
+vt 0.868245 0.968761
+vt 0.865879 0.968482
+vt 0.861623 0.970412
+vt 0.859278 0.970580
+vt 0.493462 0.778847
+vt 0.647092 0.852954
+vt 0.643801 0.853935
+vt 0.644167 0.850794
+vt 0.646076 0.850705
+vt 0.249811 0.791825
+vt 0.251735 0.793103
+vt 0.263979 0.787451
+vt 0.247590 0.791549
+vt 0.453900 0.814611
+vt 0.385352 0.749218
+vt 0.385675 0.741271
+vt 0.498183 0.336157
+vt 0.506174 0.344703
+vt 0.471128 0.823199
+vt 0.462748 0.826131
+vt 0.733957 0.753444
+vt 0.292149 0.632952
+vt 0.292082 0.627065
+vt 0.300460 0.628116
+vt 0.300072 0.633846
+vt 0.157305 0.747467
+vt 0.156762 0.744967
+vt 0.156079 0.742143
+vt 0.277532 0.765610
+vt 0.278714 0.765532
+vt 0.277286 0.762714
+vt 0.278468 0.762626
+vt 0.060454 0.329512
+vt 0.061458 0.336244
+vt 0.060590 0.345430
+vt 0.117782 0.674336
+vt 0.292296 0.649067
+vt 0.285592 0.649192
+vt 0.284320 0.633686
+vt 0.283727 0.628033
+vt 0.292411 0.668749
+vt 0.286213 0.668034
+vt 0.429689 0.772016
+vt 0.431856 0.771568
+vt 0.703852 0.829745
+vt 0.706783 0.827607
+vt 0.706706 0.833626
+vt 0.704557 0.833400
+vt 0.434150 0.771497
+vt 0.440515 0.773781
+vt 0.442677 0.774022
+vt 0.197239 0.706338
+vt 0.193821 0.711318
+vt 0.193054 0.710351
+vt 0.810823 0.855001
+vt 0.808382 0.855433
+vt 0.555313 0.848896
+vt 0.554297 0.850858
+vt 0.551233 0.848668
+vt 0.552772 0.847293
+vt 0.351063 0.757106
+vt 0.344984 0.757928
+vt 0.344158 0.758827
+vt 0.236201 0.702181
+vt 0.237968 0.702330
+vt 0.240049 0.701850
+vt 0.555957 0.846517
+vt 0.558224 0.846771
+vt 0.557222 0.849561
+vt 0.246581 0.708332
+vt 0.248824 0.708676
+vt 0.250982 0.709238
+vt 0.542596 0.452352
+vt 0.550683 0.452558
+vt 0.565083 0.453176
+vt 0.578655 0.453794
+vt 0.584259 0.454001
+vt 0.864901 0.750606
+vt 0.795349 0.172330
+vt 0.217791 0.757971
+vt 0.414743 0.825117
+vt 0.415274 0.825238
+vt 0.415702 0.825197
+vt 0.276851 0.744531
+vt 0.276915 0.742553
+vt 0.277198 0.740719
+vt 0.212185 0.735208
+vt 0.211625 0.733375
+vt 0.213284 0.730885
+vt 0.213135 0.742249
+vt 0.212382 0.739751
+vt 0.213988 0.745004
+vt 0.214832 0.747734
+vt 0.215559 0.750151
+vt 0.216249 0.752533
+vt 0.216987 0.755155
+vt 0.211713 0.737513
+vt 0.857230 0.971750
+vt 0.870528 0.969815
+vt 0.784908 0.859497
+vt 0.785797 0.863014
+vt 0.782172 0.858351
+vt 0.783381 0.856831
+vt 0.491720 0.778611
+vt 0.650156 0.850393
+vt 0.648617 0.848817
+vt 0.756277 0.858787
+vt 0.756489 0.861929
+vt 0.749576 0.859300
+vt 0.750887 0.857197
+vt 0.494751 0.773278
+vt 0.495893 0.772847
+vt 0.259500 0.794385
+vt 0.257257 0.794556
+vt 0.255099 0.795501
+vt 0.262492 0.788337
+vt 0.260584 0.789898
+vt 0.267257 0.784226
+vt 0.266032 0.785968
+vt 0.570750 0.841873
+vt 0.568982 0.842254
+vt 0.498660 0.117439
+vt 0.500063 0.116123
+vt 0.496811 0.346185
+vt 0.490237 0.337666
+vt 0.514093 0.353186
+vt 0.726222 0.720775
+vt 0.719082 0.717803
+vt 0.399168 0.718385
+vt 0.392337 0.717425
+vt 0.454286 0.823388
+vt 0.734113 0.723773
+vt 0.155390 0.739321
+vt 0.276879 0.759997
+vt 0.278062 0.759907
+vt 0.299261 0.649414
+vt 0.299018 0.668827
+vt 0.292383 0.685339
+vt 0.284854 0.683694
+vt 0.436267 0.671037
+vt 0.442339 0.672058
+vt 0.449567 0.671174
+vt 0.111753 0.660468
+vt 0.105468 0.659276
+vt 0.259435 0.710614
+vt 0.257304 0.710891
+vt 0.190034 0.708138
+vt 0.191460 0.709038
+vt 0.807936 0.848674
+vt 0.810056 0.848046
+vt 0.679064 0.846370
+vt 0.678200 0.844927
+vt 0.672601 0.845800
+vt 0.668262 0.847056
+vt 0.345893 0.756231
+vt 0.407129 0.836370
+vt 0.405074 0.837753
+vt 0.403294 0.834962
+vt 0.405085 0.833807
+vt 0.553827 0.845386
+vt 0.805057 0.862242
+vt 0.806165 0.855515
+vt 0.255519 0.711894
+vt 0.811877 0.153026
+vt 0.803897 0.153026
+vt 0.168633 0.153025
+vt 0.176370 0.152663
+vt 0.189716 0.151574
+vt 0.202235 0.150485
+vt 0.207487 0.150122
+vt 0.881429 0.771165
+vt 0.873449 0.771165
+vt 0.280117 0.765449
+vt 0.214230 0.759064
+vt 0.215018 0.758815
+vt 0.216236 0.758437
+vt 0.247269 0.817356
+vt 0.277641 0.738910
+vt 0.277786 0.737118
+vt 0.278262 0.735109
+vt 0.277764 0.734838
+vt 0.244815 0.817999
+vt 0.244037 0.817743
+vt 0.277067 0.746774
+vt 0.274899 0.749387
+vt 0.276081 0.749331
+vt 0.245603 0.818222
+vt 0.211072 0.731566
+vt 0.212233 0.731209
+vt 0.213675 0.728844
+vt 0.213269 0.728968
+vt 0.211114 0.735537
+vt 0.501477 0.114324
+vt 0.871034 0.963648
+vt 0.868867 0.962898
+vt 0.866573 0.963004
+vt 0.720750 0.859414
+vt 0.715195 0.861731
+vt 0.716084 0.858215
+vt 0.719738 0.857504
+vt 0.860208 0.967103
+vt 0.858046 0.967235
+vt 0.492838 0.773488
+vt 0.751790 0.855170
+vt 0.758445 0.856653
+vt 0.645432 0.848786
+vt 0.647562 0.847278
+vt 0.246646 0.794816
+vt 0.248777 0.794975
+vt 0.250562 0.796185
+vt 0.785071 0.855301
+vt 0.788628 0.858085
+vt 0.433982 0.843250
+vt 0.433373 0.846504
+vt 0.430951 0.845988
+vt 0.431890 0.842847
+vt 0.470426 0.348908
+vt 0.467423 0.341014
+vt 0.386445 0.718457
+vt 0.614535 0.637639
+vt 0.613724 0.626320
+vt 0.622103 0.629081
+vt 0.622277 0.639962
+vt 0.622694 0.669632
+vt 0.616461 0.668595
+vt 0.276458 0.757533
+vt 0.277640 0.757442
+vt 0.275988 0.755033
+vt 0.277170 0.754950
+vt 0.275434 0.752209
+vt 0.276617 0.752145
+vt 0.279464 0.759840
+vt 0.279871 0.762550
+vt 0.300334 0.686092
+vt 0.043189 0.336213
+vt 0.044847 0.340881
+vt 0.045525 0.346776
+vt 0.117818 0.659168
+vt 0.807326 0.842810
+vt 0.805657 0.843763
+vt 0.431675 0.766340
+vt 0.429703 0.766779
+vt 0.702183 0.832824
+vt 0.701154 0.826820
+vt 0.703822 0.839403
+vt 0.705774 0.839906
+vt 0.433781 0.766507
+vt 0.676922 0.843316
+vt 0.443176 0.770785
+vt 0.441220 0.770646
+vt 0.189406 0.714555
+vt 0.188848 0.713568
+vt 0.548986 0.844763
+vt 0.550732 0.843943
+vt 0.346410 0.754785
+vt 0.341393 0.754375
+vt 0.340652 0.756008
+vt 0.340193 0.757020
+vt 0.008812 0.794606
+vt 0.008324 0.790641
+vt 0.010091 0.790992
+vt 0.010546 0.794624
+vt 0.404605 0.829876
+vt 0.406789 0.833376
+vt 0.403158 0.830393
+vt 0.551995 0.842594
+vt 0.246111 0.714706
+vt 0.248375 0.714741
+vt 0.250511 0.715153
+vt 0.795918 0.153026
+vt 0.543232 0.471656
+vt 0.550968 0.472019
+vt 0.564315 0.473107
+vt 0.576833 0.474196
+vt 0.582086 0.474559
+vt 0.865470 0.771165
+vt 0.248870 0.816013
+vt 0.247564 0.817447
+vt 0.416118 0.826671
+vt 0.416385 0.826640
+vt 0.278628 0.735199
+vt 0.278790 0.733990
+vt 0.278717 0.733458
+vt 0.277864 0.744399
+vt 0.277803 0.742417
+vt 0.209489 0.736032
+vt 0.209040 0.736168
+vt 0.208480 0.734335
+vt 0.208929 0.734199
+vt 0.246346 0.818083
+vt 0.210554 0.733704
+vt 0.210001 0.731895
+vt 0.212588 0.729184
+vt 0.212885 0.745359
+vt 0.212092 0.742584
+vt 0.211400 0.740060
+vt 0.213666 0.748105
+vt 0.214321 0.750540
+vt 0.214923 0.752943
+vt 0.215544 0.755591
+vt 0.210778 0.737801
+vt 0.497011 0.109808
+vt 0.502041 0.113154
+vt 0.496660 0.110991
+vt 0.743409 0.855993
+vt 0.744783 0.854261
+vt 0.778863 0.853417
+vt 0.780202 0.852401
+vt 0.491303 0.773428
+vt 0.652403 0.845939
+vt 0.650657 0.845009
+vt 0.492795 0.768620
+vt 0.494587 0.768543
+vt 0.495697 0.768495
+vt 0.259969 0.800225
+vt 0.257706 0.800092
+vt 0.255570 0.800816
+vt 0.712364 0.856802
+vt 0.718318 0.855517
+vt 0.494684 0.114171
+vt 0.495672 0.112805
+vt 0.649394 0.844024
+vt 0.566901 0.838427
+vt 0.567815 0.842314
+vt 0.570261 0.846226
+vt 0.568527 0.846227
+vt 0.473404 0.356052
+vt 0.503289 0.354439
+vt 0.732944 0.690957
+vt 0.725742 0.691285
+vt 0.718205 0.688163
+vt 0.391142 0.691885
+vt 0.398297 0.688745
+vt 0.605262 0.628860
+vt 0.606455 0.639665
+vt 0.736868 0.690469
+vt 0.737747 0.724811
+vt 0.279043 0.757384
+vt 0.291155 0.698611
+vt 0.281568 0.697194
+vt 0.440134 0.657537
+vt 0.445734 0.660176
+vt 0.455361 0.670980
+vt 0.455193 0.667101
+vt 0.454465 0.656821
+vt 0.113009 0.646070
+vt 0.105531 0.643232
+vt 0.259732 0.713501
+vt 0.257777 0.713640
+vt 0.187770 0.712109
+vt 0.186840 0.711025
+vt 0.805968 0.849141
+vt 0.701720 0.838739
+vt 0.702961 0.844896
+vt 0.701410 0.844033
+vt 0.682199 0.842090
+vt 0.681115 0.841160
+vt 0.341974 0.753093
+vt 0.401462 0.831302
+vt 0.549660 0.839760
+vt 0.550993 0.838934
+vt 0.256174 0.714627
+vt 0.811243 0.134923
+vt 0.803897 0.134923
+vt 0.175498 0.134407
+vt 0.168102 0.134923
+vt 0.187825 0.132859
+vt 0.199324 0.131311
+vt 0.204237 0.130795
+vt 0.873449 0.790492
+vt 0.880795 0.790492
+vt 0.214413 0.755939
+vt 0.213681 0.756166
+vt 0.207927 0.732526
+vt 0.208376 0.732390
+vt 0.278215 0.737076
+vt 0.279217 0.733648
+vt 0.244647 0.818550
+vt 0.244015 0.818288
+vt 0.277483 0.749294
+vt 0.278121 0.746654
+vt 0.245317 0.818686
+vt 0.874772 0.997763
+vt 0.874244 0.996840
+vt 0.874610 0.996545
+vt 0.875199 0.997885
+vt 0.211623 0.729500
+vt 0.210555 0.729841
+vt 0.212403 0.727401
+vt 0.212100 0.727494
+vt 0.210195 0.735818
+vt 0.739569 0.851507
+vt 0.741077 0.850314
+vt 0.869048 0.959135
+vt 0.871020 0.959808
+vt 0.866942 0.959424
+vt 0.725034 0.854583
+vt 0.726228 0.856206
+vt 0.781989 0.851383
+vt 0.473688 0.846615
+vt 0.471526 0.846933
+vt 0.471027 0.841630
+vt 0.472983 0.841474
+vt 0.745950 0.852609
+vt 0.491389 0.768682
+vt 0.422696 0.835314
+vt 0.422994 0.831273
+vt 0.425125 0.831620
+vt 0.424652 0.835469
+vt 0.783199 0.851062
+vt 0.780660 0.847363
+vt 0.781784 0.847213
+vt 0.651730 0.840375
+vt 0.650396 0.839944
+vt 0.434317 0.839171
+vt 0.432404 0.838961
+vt 0.439787 0.356243
+vt 0.440233 0.350753
+vt 0.437488 0.342933
+vt 0.440851 0.338246
+vt 0.466390 0.337383
+vt 0.609288 0.669550
+vt 0.617998 0.702937
+vt 0.611149 0.703167
+vt 0.278572 0.754899
+vt 0.278019 0.752102
+vt 0.213204 0.753456
+vt 0.212712 0.751000
+vt 0.213346 0.750825
+vt 0.213880 0.753256
+vt 0.303033 0.703837
+vt 0.030484 0.344863
+vt 0.025443 0.341610
+vt 0.032955 0.349333
+vt 0.045422 0.353620
+vt 0.041831 0.351882
+vt 0.119565 0.643421
+vt 0.431784 0.762660
+vt 0.430012 0.763193
+vt 0.803417 0.839223
+vt 0.802206 0.840495
+vt 0.804106 0.844626
+vt 0.699741 0.843079
+vt 0.433679 0.762948
+vt 0.679655 0.840082
+vt 0.380382 0.832683
+vt 0.380458 0.837441
+vt 0.378502 0.837329
+vt 0.378614 0.832714
+vt 0.184648 0.716200
+vt 0.184278 0.715232
+vt 0.547892 0.840110
+vt 0.338462 0.754958
+vt 0.338120 0.753465
+vt 0.337430 0.755463
+vt 0.010925 0.796527
+vt 0.009880 0.797370
+vt 0.402988 0.826244
+vt 0.401706 0.826826
+vt 0.246115 0.719221
+vt 0.248220 0.719055
+vt 0.250192 0.719493
+vt 0.796552 0.134923
+vt 0.550097 0.490275
+vt 0.542701 0.489759
+vt 0.562424 0.491823
+vt 0.573922 0.493371
+vt 0.578835 0.493886
+vt 0.866104 0.790492
+vt 0.416707 0.827637
+vt 0.416922 0.827642
+vt 0.278895 0.735168
+vt 0.279280 0.732913
+vt 0.210058 0.738015
+vt 0.209635 0.733985
+vt 0.246223 0.818412
+vt 0.209563 0.730133
+vt 0.209082 0.732176
+vt 0.211595 0.727674
+vt 0.212746 0.748363
+vt 0.212015 0.745590
+vt 0.211272 0.742796
+vt 0.210636 0.740270
+vt 0.491707 0.108453
+vt 0.491558 0.109576
+vt 0.729808 0.851734
+vt 0.728429 0.850617
+vt 0.723633 0.852880
+vt 0.777551 0.848276
+vt 0.778904 0.847818
+vt 0.653497 0.840756
+vt 0.742456 0.849197
+vt 0.494430 0.766119
+vt 0.493172 0.765244
+vt 0.495283 0.765350
+vt 0.259966 0.803720
+vt 0.257861 0.803431
+vt 0.255889 0.804104
+vt 0.491102 0.111332
+vt 0.490644 0.112685
+vt 0.567413 0.846166
+vt 0.568148 0.848463
+vt 0.569193 0.849371
+vt 0.729611 0.670638
+vt 0.733349 0.668993
+vt 0.722637 0.671660
+vt 0.715185 0.670775
+vt 0.388775 0.672355
+vt 0.394562 0.671164
+vt 0.212147 0.748515
+vt 0.032293 0.354672
+vt 0.281412 0.706966
+vt 0.287668 0.708338
+vt 0.447121 0.653913
+vt 0.444120 0.651142
+vt 0.101061 0.655397
+vt 0.099315 0.645022
+vt 0.460751 0.656726
+vt 0.453106 0.649866
+vt 0.115424 0.635929
+vt 0.110486 0.634286
+vt 0.183703 0.713679
+vt 0.183261 0.712462
+vt 0.236479 0.801428
+vt 0.238434 0.801317
+vt 0.238240 0.804896
+vt 0.236473 0.804865
+vt 0.699016 0.848454
+vt 0.697911 0.847264
+vt 0.683749 0.837474
+vt 0.682533 0.837033
+vt 0.548288 0.835675
+vt 0.550022 0.835657
+vt 0.339419 0.752849
+vt 0.401728 0.824341
+vt 0.400585 0.824080
+vt 0.400073 0.827566
+vt 0.551354 0.835199
+vt 0.680980 0.836457
+vt 0.678668 0.839524
+vt 0.680012 0.836087
+vt 0.174292 0.117419
+vt 0.167245 0.118072
+vt 0.810628 0.118072
+vt 0.803897 0.118072
+vt 0.185572 0.115458
+vt 0.196023 0.113497
+vt 0.200588 0.112844
+vt 0.873449 0.808443
+vt 0.880180 0.808443
+vt 0.207643 0.730692
+vt 0.208057 0.730567
+vt 0.279432 0.733605
+vt 0.755860 0.867768
+vt 0.755562 0.867768
+vt 0.755461 0.867137
+vt 0.755835 0.867180
+vt 0.278537 0.749180
+vt 0.755562 0.866467
+vt 0.755860 0.866523
+vt 0.208710 0.730375
+vt 0.210891 0.727968
+vt 0.210103 0.728261
+vt 0.211096 0.726398
+vt 0.210914 0.726446
+vt 0.417115 0.845457
+vt 0.415143 0.845956
+vt 0.415034 0.840800
+vt 0.416807 0.840493
+vt 0.737701 0.846542
+vt 0.739333 0.845893
+vt 0.413038 0.845685
+vt 0.413140 0.840697
+vt 0.726922 0.849425
+vt 0.471103 0.836601
+vt 0.472871 0.836614
+vt 0.492115 0.766220
+vt 0.653101 0.836009
+vt 0.651367 0.836008
+vt 0.486743 0.111394
+vt 0.486787 0.112687
+vt 0.422890 0.839171
+vt 0.424657 0.839159
+vt 0.779128 0.843460
+vt 0.780784 0.843506
+vt 0.781820 0.843524
+vt 0.650035 0.835960
+vt 0.434211 0.835187
+vt 0.432420 0.835109
+vt 0.567113 0.849131
+vt 0.617643 0.724413
+vt 0.609423 0.725166
+vt 0.419446 0.349600
+vt 0.417788 0.353234
+vt 0.420123 0.344233
+vt 0.421320 0.333367
+vt 0.420021 0.336524
+vt 0.279073 0.751975
+vt 0.279626 0.754748
+vt 0.293230 0.711354
+vt 0.023951 0.352678
+vt 0.019564 0.349341
+vt 0.014597 0.348528
+vt 0.029675 0.360940
+vt 0.120043 0.634324
+vt 0.438323 0.647765
+vt 0.441792 0.645570
+vt 0.162671 0.802938
+vt 0.162423 0.807367
+vt 0.160651 0.806822
+vt 0.161026 0.802517
+vt 0.799112 0.837219
+vt 0.798242 0.838665
+vt 0.801100 0.841685
+vt 0.696700 0.845992
+vt 0.164318 0.807141
+vt 0.164427 0.802813
+vt 0.379889 0.828234
+vt 0.378249 0.828366
+vt 0.180199 0.716407
+vt 0.179959 0.715465
+vt 0.549159 0.833120
+vt 0.550642 0.832402
+vt 0.337063 0.753722
+vt 0.796575 0.869303
+vt 0.796237 0.868257
+vt 0.797380 0.867223
+vt 0.798315 0.868441
+vt 0.246388 0.722162
+vt 0.248282 0.721874
+vt 0.250054 0.722406
+vt 0.548891 0.507263
+vt 0.541844 0.506609
+vt 0.797167 0.118072
+vt 0.560171 0.509223
+vt 0.575186 0.511838
+vt 0.570622 0.511184
+vt 0.866719 0.808443
+vt 0.755500 0.865560
+vt 0.755715 0.865627
+vt 0.207889 0.728783
+vt 0.208199 0.728690
+vt 0.279578 0.732809
+vt 0.208694 0.728565
+vt 0.209350 0.728441
+vt 0.210627 0.726580
+vt 0.486679 0.108701
+vt 0.486697 0.109738
+vt 0.731638 0.846747
+vt 0.730121 0.846165
+vt 0.777835 0.843416
+vt 0.740850 0.845311
+vt 0.652231 0.833547
+vt 0.650747 0.832811
+vt 0.493805 0.764360
+vt 0.350022 0.824586
+vt 0.352127 0.824315
+vt 0.351854 0.828201
+vt 0.349960 0.828304
+vt 0.728489 0.845516
+vt 0.348188 0.827996
+vt 0.348050 0.824087
+vt 0.568332 0.850361
+vt 0.618052 0.738205
+vt 0.624398 0.722768
+vt 0.626962 0.736336
+vt 0.726239 0.657070
+vt 0.719086 0.659777
+vt 0.709386 0.656423
+vt 0.401997 0.671357
+vt 0.398842 0.667284
+vt 0.385171 0.657957
+vt 0.391793 0.655119
+vt 0.301365 0.711315
+vt 0.293810 0.714091
+vt 0.024911 0.357305
+vt 0.022617 0.360474
+vt 0.282174 0.715430
+vt 0.278555 0.713993
+vt 0.450122 0.645665
+vt 0.096738 0.635680
+vt 0.101121 0.633907
+vt 0.466118 0.646147
+vt 0.469170 0.647384
+vt 0.463620 0.641891
+vt 0.118652 0.629611
+vt 0.114037 0.627828
+vt 0.105417 0.633719
+vt 0.108666 0.629306
+vt 0.179736 0.713891
+vt 0.179636 0.712630
+vt 0.237709 0.808521
+vt 0.236069 0.808389
+vt 0.694688 0.850441
+vt 0.693917 0.849071
+vt 0.683908 0.833126
+vt 0.682648 0.833027
+vt 0.548562 0.831820
+vt 0.550343 0.830763
+vt 0.399618 0.825298
+vt 0.551400 0.832931
+vt 0.681074 0.832803
+vt 0.680132 0.832563
+vt 0.172418 0.101989
+vt 0.165840 0.102778
+vt 0.810004 0.102778
+vt 0.803897 0.102778
+vt 0.182557 0.099622
+vt 0.191902 0.097255
+vt 0.196097 0.096466
+vt 0.873449 0.824821
+vt 0.879556 0.824821
+vt 0.208411 0.727221
+vt 0.208594 0.727157
+vt 0.208955 0.726425
+vt 0.209032 0.726367
+vt 0.756022 0.867692
+vt 0.756022 0.867192
+vt 0.756022 0.866616
+vt 0.210246 0.726836
+vt 0.209769 0.727044
+vt 0.755861 0.865810
+vt 0.414786 0.835924
+vt 0.416431 0.835751
+vt 0.737447 0.841800
+vt 0.739114 0.841533
+vt 0.413031 0.835940
+vt 0.471596 0.832397
+vt 0.473236 0.832521
+vt 0.652828 0.832571
+vt 0.651046 0.831687
+vt 0.482603 0.111134
+vt 0.482983 0.112677
+vt 0.483361 0.113884
+vt 0.423421 0.842597
+vt 0.425061 0.842473
+vt 0.779310 0.839323
+vt 0.780517 0.839701
+vt 0.782060 0.840080
+vt 0.783024 0.840209
+vt 0.649989 0.833686
+vt 0.433787 0.832913
+vt 0.432436 0.832144
+vt 0.605263 0.743254
+vt 0.599661 0.737871
+vt 0.604395 0.723508
+vt 0.416430 0.339237
+vt 0.407554 0.343265
+vt 0.405083 0.347239
+vt 0.406923 0.325593
+vt 0.404274 0.330189
+vt 0.310386 0.714684
+vt 0.307145 0.717386
+vt 0.285203 0.718186
+vt 0.017727 0.358416
+vt 0.012125 0.355985
+vt 0.006257 0.355684
+vt 0.579664 0.777900
+vt 0.588653 0.778499
+vt 0.579556 0.788555
+vt 0.574794 0.785843
+vt 0.795152 0.832578
+vt 0.790533 0.830375
+vt 0.793761 0.819804
+vt 0.798176 0.821587
+vt 0.445723 0.642081
+vt 0.435559 0.640738
+vt 0.439406 0.639344
+vt 0.462635 0.637371
+vt 0.102599 0.629131
+vt 0.161707 0.799911
+vt 0.162959 0.799305
+vt 0.796507 0.836909
+vt 0.795124 0.837795
+vt 0.797471 0.840035
+vt 0.693047 0.847625
+vt 0.164169 0.800125
+vt 0.378164 0.826008
+vt 0.379220 0.825050
+vt 0.177704 0.714945
+vt 0.177015 0.715552
+vt 0.398586 0.824770
+vt 0.399650 0.823131
+vt 0.016847 0.794590
+vt 0.016506 0.790960
+vt 0.018401 0.791187
+vt 0.018602 0.794715
+vt 0.020173 0.790641
+vt 0.020247 0.794294
+vt 0.547017 0.522692
+vt 0.540439 0.521903
+vt 0.797791 0.102778
+vt 0.557156 0.525059
+vt 0.867343 0.824821
+vt 0.570696 0.528215
+vt 0.566501 0.527426
+vt 0.208892 0.727113
+vt 0.209294 0.727129
+vt 0.210108 0.726037
+vt 0.210000 0.726128
+vt 0.482474 0.110170
+vt 0.731866 0.841990
+vt 0.730307 0.841786
+vt 0.740673 0.841328
+vt 0.351514 0.832184
+vt 0.349759 0.832168
+vt 0.728641 0.841518
+vt 0.348114 0.831994
+vt 0.434547 0.832038
+vt 0.432949 0.830914
+vt 0.406892 0.337584
+vt 0.628431 0.746463
+vt 0.621879 0.749493
+vt 0.720805 0.651007
+vt 0.717266 0.653514
+vt 0.710395 0.649467
+vt 0.710009 0.666702
+vt 0.704276 0.656327
+vt 0.398751 0.656909
+vt 0.380266 0.647816
+vt 0.384796 0.646174
+vt 0.021327 0.713774
+vt 0.029354 0.717269
+vt 0.029934 0.721285
+vt 0.021461 0.717537
+vt 0.028208 0.726043
+vt 0.037489 0.725165
+vt 0.035623 0.732064
+vt 0.019307 0.362103
+vt 0.897476 0.938994
+vt 0.903080 0.944485
+vt 0.900786 0.947951
+vt 0.895199 0.942680
+vt 0.907843 0.952057
+vt 0.898854 0.952068
+vt 0.895410 0.950060
+vt 0.276891 0.723725
+vt 0.274926 0.720796
+vt 0.272405 0.719078
+vt 0.825674 0.860491
+vt 0.821381 0.863542
+vt 0.818537 0.852398
+vt 0.822994 0.850765
+vt 0.094058 0.628791
+vt 0.098591 0.627065
+vt 0.477263 0.639017
+vt 0.475727 0.634296
+vt 0.797455 0.807659
+vt 0.789146 0.818835
+vt 0.792976 0.806502
+vt 0.642238 0.802165
+vt 0.648696 0.812945
+vt 0.643716 0.814566
+vt 0.636957 0.802916
+vt 0.638800 0.817199
+vt 0.648129 0.820555
+vt 0.644869 0.828056
+vt 0.176856 0.713688
+vt 0.177626 0.712851
+vt 0.237070 0.810531
+vt 0.235761 0.811102
+vt 0.692001 0.850688
+vt 0.690689 0.849856
+vt 0.683130 0.830769
+vt 0.682096 0.830009
+vt 0.681035 0.830691
+vt 0.680233 0.829850
+vt 0.169543 0.088409
+vt 0.163668 0.089344
+vt 0.809344 0.089344
+vt 0.803897 0.089344
+vt 0.178382 0.085602
+vt 0.186527 0.082796
+vt 0.873449 0.839426
+vt 0.878896 0.839426
+vt 0.190322 0.081861
+vt 0.209164 0.726384
+vt 0.209531 0.726075
+vt 0.209551 0.726159
+vt 0.209897 0.726332
+vt 0.209604 0.726409
+vt 0.415750 0.833218
+vt 0.414499 0.832394
+vt 0.738132 0.839267
+vt 0.739470 0.838315
+vt 0.413289 0.833355
+vt 0.473321 0.830624
+vt 0.472265 0.829762
+vt 0.480705 0.112457
+vt 0.479839 0.112151
+vt 0.480387 0.113939
+vt 0.481414 0.114429
+vt 0.424061 0.844544
+vt 0.425369 0.845028
+vt 0.780912 0.837426
+vt 0.782154 0.837107
+vt 0.782885 0.838135
+vt 0.783942 0.837655
+vt 0.615133 0.753511
+vt 0.398550 0.342674
+vt 0.394163 0.345458
+vt 0.593988 0.748790
+vt 0.596205 0.753758
+vt 0.396782 0.317772
+vt 0.395177 0.321176
+vt 0.728540 0.646943
+vt 0.723573 0.646225
+vt 0.043269 0.729648
+vt 0.040854 0.734049
+vt 0.317259 0.723023
+vt 0.313630 0.725402
+vt 0.020079 0.722780
+vt 0.601198 0.846846
+vt 0.598091 0.843159
+vt 0.606544 0.833875
+vt 0.609915 0.837110
+vt 0.013498 0.368152
+vt 0.008203 0.366465
+vt 0.002788 0.366782
+vt 0.569967 0.784145
+vt 0.576602 0.771447
+vt 0.573131 0.799546
+vt 0.567925 0.797852
+vt 0.801831 0.809181
+vt 0.448311 0.639570
+vt 0.454205 0.641499
+vt 0.443148 0.636594
+vt 0.432201 0.635653
+vt 0.436232 0.634612
+vt 0.012928 0.713454
+vt 0.013015 0.709832
+vt 0.474995 0.629470
+vt 0.012303 0.741491
+vt 0.014693 0.728978
+vt 0.018442 0.733062
+vt 0.016534 0.742977
+vt 0.783183 0.802242
+vt 0.778596 0.806243
+vt 0.774084 0.803441
+vt 0.779923 0.794740
+vt 0.783371 0.807532
+vt 0.776529 0.816321
+vt 0.771639 0.815512
+vt 0.631713 0.804590
+vt 0.795900 0.836209
+vt 0.794209 0.837411
+vt 0.795458 0.839057
+vt 0.690952 0.848541
+vt 0.164748 0.798813
+vt 0.163186 0.797614
+vt 0.377348 0.825249
+vt 0.378612 0.824087
+vt 0.176053 0.714015
+vt 0.017432 0.796603
+vt 0.018756 0.797427
+vt 0.019893 0.796389
+vt 0.544142 0.536273
+vt 0.538267 0.535337
+vt 0.798451 0.089344
+vt 0.552980 0.539079
+vt 0.868003 0.839426
+vt 0.564921 0.542820
+vt 0.561126 0.541885
+vt 0.209330 0.726506
+vt 0.731093 0.839405
+vt 0.729831 0.838498
+vt 0.740516 0.839095
+vt 0.350929 0.834417
+vt 0.349605 0.835142
+vt 0.728709 0.839233
+vt 0.348468 0.834280
+vt 0.604813 0.751037
+vt 0.612802 0.755760
+vt 0.399510 0.337262
+vt 0.397216 0.332724
+vt 0.632213 0.753883
+vt 0.628020 0.757933
+vt 0.713641 0.645525
+vt 0.697481 0.645749
+vt 0.699542 0.641492
+vt 0.403198 0.646331
+vt 0.404476 0.657005
+vt 0.398224 0.647568
+vt 0.393516 0.645794
+vt 0.391532 0.645606
+vt 0.386996 0.641194
+vt 0.374255 0.641499
+vt 0.378418 0.639715
+vt 0.030152 0.735259
+vt 0.026850 0.729561
+vt 0.594405 0.840401
+vt 0.602900 0.831097
+vt 0.889229 0.944642
+vt 0.895792 0.955438
+vt 0.890614 0.950207
+vt 0.562682 0.797082
+vt 0.444420 0.633964
+vt 0.271482 0.726211
+vt 0.276804 0.726315
+vt 0.269744 0.729178
+vt 0.268554 0.724780
+vt 0.268353 0.722538
+vt 0.820938 0.841285
+vt 0.816404 0.842323
+vt 0.827526 0.849912
+vt 0.825497 0.840623
+vt 0.487337 0.636006
+vt 0.486490 0.631388
+vt 0.796325 0.799568
+vt 0.800393 0.797963
+vt 0.639434 0.789832
+vt 0.634504 0.789933
+vt 0.766854 0.813901
+vt 0.029345 0.747880
+vt 0.024431 0.737023
+vt 0.033587 0.745599
+vt 0.237633 0.811301
+vt 0.236042 0.812105
+vt 0.845474 0.996656
+vt 0.844212 0.996192
+vt 0.844105 0.994867
+vt 0.845858 0.994947
+vt 0.681519 0.828848
+vt 0.166078 0.076581
+vt 0.160966 0.077640
+vt 0.808706 0.077640
+vt 0.803897 0.077640
+vt 0.173607 0.073403
+vt 0.183916 0.069166
+vt 0.180553 0.070225
+vt 0.873449 0.852121
+vt 0.878258 0.852121
+vt 0.737709 0.838443
+vt 0.739455 0.837323
+vt 0.412710 0.832448
+vt 0.414271 0.831273
+vt 0.748469 0.866529
+vt 0.747652 0.867771
+vt 0.746597 0.867346
+vt 0.747204 0.865560
+vt 0.479520 0.113937
+vt 0.423498 0.845570
+vt 0.425088 0.846438
+vt 0.783123 0.836245
+vt 0.597253 0.756460
+vt 0.623546 0.762166
+vt 0.585204 0.750628
+vt 0.592079 0.744404
+vt 0.586709 0.756230
+vt 0.588252 0.762097
+vt 0.390464 0.309059
+vt 0.388752 0.312002
+vt 0.395285 0.330878
+vt 0.390414 0.324021
+vt 0.725978 0.640591
+vt 0.731000 0.639523
+vt 0.718511 0.643300
+vt 0.700943 0.636972
+vt 0.712544 0.808524
+vt 0.721869 0.815470
+vt 0.712356 0.814708
+vt 0.707769 0.810175
+vt 0.049754 0.736562
+vt 0.046703 0.740192
+vt 0.053383 0.733860
+vt 0.063071 0.744958
+vt 0.059426 0.747737
+vt 0.011345 0.717484
+vt 0.022489 0.728724
+vt 0.038148 0.744762
+vt 0.614639 0.829812
+vt 0.614025 0.825235
+vt 0.010577 0.375450
+vt 0.006552 0.376770
+vt 0.003295 0.374830
+vt 0.570292 0.811951
+vt 0.565374 0.810957
+vt 0.802885 0.801552
+vt 0.018226 0.727167
+vt 0.439854 0.632022
+vt 0.430938 0.632193
+vt 0.433266 0.630719
+vt 0.486209 0.626719
+vt 0.009305 0.753851
+vt 0.013800 0.754627
+vt 0.020675 0.745725
+vt 0.637783 0.782898
+vt 0.634274 0.780143
+vt 0.773613 0.825610
+vt 0.768944 0.825329
+vt 0.629587 0.790928
+vt 0.032965 0.760490
+vt 0.037284 0.758687
+vt 0.689914 0.848269
+vt 0.689489 0.850023
+vt 0.540677 0.548100
+vt 0.535565 0.547041
+vt 0.799089 0.077640
+vt 0.548206 0.551278
+vt 0.868641 0.852121
+vt 0.558515 0.555515
+vt 0.555152 0.554456
+vt 0.351394 0.835197
+vt 0.349685 0.836189
+vt 0.728070 0.838370
+vt 0.729538 0.837323
+vt 0.087731 0.756435
+vt 0.086054 0.748446
+vt 0.091809 0.748345
+vt 0.095004 0.756430
+vt 0.621510 0.763780
+vt 0.393906 0.337602
+vt 0.392326 0.342453
+vt 0.826904 0.800170
+vt 0.835893 0.799867
+vt 0.828836 0.806400
+vt 0.823459 0.804336
+vt 0.391630 0.333042
+vt 0.721008 0.638902
+vt 0.728430 0.635528
+vt 0.733175 0.634104
+vt 0.638006 0.759302
+vt 0.635369 0.763182
+vt 0.715907 0.639711
+vt 0.710456 0.641236
+vt 0.686259 0.638619
+vt 0.687355 0.633897
+vt 0.402167 0.639201
+vt 0.397432 0.640678
+vt 0.392842 0.638952
+vt 0.851649 0.966011
+vt 0.847236 0.970409
+vt 0.842320 0.967534
+vt 0.848304 0.959135
+vt 0.380302 0.634435
+vt 0.638220 0.848418
+vt 0.634057 0.850634
+vt 0.627137 0.840180
+vt 0.631116 0.837821
+vt 0.331257 0.810743
+vt 0.326189 0.816923
+vt 0.322627 0.812128
+vt 0.328770 0.805039
+vt 0.006369 0.714403
+vt 0.005868 0.710555
+vt 0.015237 0.723276
+vt 0.008824 0.719373
+vt 0.893272 0.930540
+vt 0.891307 0.934185
+vt 0.888535 0.927639
+vt 0.889225 0.923059
+vt 0.885893 0.935765
+vt 0.068304 0.753007
+vt 0.067847 0.757722
+vt 0.041806 0.757699
+vt 0.560445 0.810855
+vt 0.568611 0.819581
+vt 0.565087 0.821642
+vt 0.058409 0.797055
+vt 0.063280 0.790641
+vt 0.065910 0.793015
+vt 0.061338 0.799020
+vt 0.265688 0.727721
+vt 0.428656 0.629951
+vt 0.431505 0.627009
+vt 0.816577 0.836807
+vt 0.819608 0.834273
+vt 0.823313 0.835547
+vt 0.492854 0.634354
+vt 0.494341 0.630939
+vt 0.795901 0.796813
+vt 0.801356 0.794740
+vt 0.018219 0.756185
+vt 0.764326 0.824482
+vt 0.041374 0.772629
+vt 0.036998 0.774152
+vt 0.162436 0.066411
+vt 0.157975 0.067538
+vt 0.808150 0.067538
+vt 0.803897 0.067538
+vt 0.168796 0.063030
+vt 0.873449 0.862766
+vt 0.877702 0.862766
+vt 0.177530 0.058521
+vt 0.174634 0.059648
+vt 0.087616 0.772996
+vt 0.085854 0.765043
+vt 0.090112 0.763995
+vt 0.092106 0.772457
+vt 0.095245 0.764271
+vt 0.091159 0.740124
+vt 0.084519 0.739738
+vt 0.082564 0.730019
+vt 0.079454 0.737703
+vt 0.077739 0.728687
+vt 0.632561 0.767002
+vt 0.445022 0.840281
+vt 0.444688 0.831492
+vt 0.449539 0.831066
+vt 0.449681 0.839930
+vt 0.576339 0.754857
+vt 0.577158 0.760152
+vt 0.577919 0.765566
+vt 0.630315 0.853577
+vt 0.623359 0.842862
+vt 0.383546 0.313946
+vt 0.149572 0.808239
+vt 0.146989 0.803413
+vt 0.149639 0.798542
+vt 0.155070 0.801777
+vt 0.723735 0.634360
+vt 0.719115 0.634683
+vt 0.100735 0.739973
+vt 0.097550 0.734927
+vt 0.110248 0.737117
+vt 0.110496 0.741594
+vt 0.688512 0.629072
+vt 0.705702 0.799653
+vt 0.700813 0.800871
+vt 0.703258 0.812485
+vt 0.709011 0.821583
+vt 0.840477 0.980048
+vt 0.835233 0.978096
+vt 0.056055 0.750972
+vt 0.003008 0.715165
+vt 0.884485 0.926642
+vt 0.011057 0.380027
+vt 0.005925 0.382890
+vt 0.001812 0.379545
+vt 0.045853 0.771472
+vt 0.569571 0.823169
+vt 0.565005 0.826393
+vt 0.436607 0.629503
+vt 0.001812 0.710361
+vt 0.772001 0.830686
+vt 0.768546 0.832614
+vt 0.492344 0.627704
+vt 0.006980 0.765065
+vt 0.011539 0.765727
+vt 0.630884 0.783390
+vt 0.016074 0.766765
+vt 0.040507 0.781689
+vt 0.044595 0.783409
+vt 0.537035 0.558270
+vt 0.532574 0.557143
+vt 0.799645 0.067538
+vt 0.543394 0.561652
+vt 0.869197 0.862766
+vt 0.552129 0.566160
+vt 0.549232 0.565033
+vt 0.096058 0.743341
+vt 0.095627 0.747796
+vt 0.099606 0.751863
+vt 0.087439 0.729452
+vt 0.440128 0.830914
+vt 0.440443 0.840106
+vt 0.818664 0.802580
+vt 0.823670 0.794739
+vt 0.823249 0.814202
+vt 0.817279 0.812697
+vt 0.385588 0.325040
+vt 0.378303 0.314173
+vt 0.523949 0.833945
+vt 0.527845 0.830883
+vt 0.532387 0.836867
+vt 0.528167 0.841154
+vt 0.726421 0.630984
+vt 0.730273 0.630910
+vt 0.733174 0.630852
+vt 0.641420 0.762554
+vt 0.641354 0.765912
+vt 0.524265 0.847510
+vt 0.533195 0.845188
+vt 0.530994 0.850727
+vt 0.095284 0.737802
+vt 0.102883 0.746834
+vt 0.676081 0.635608
+vt 0.676483 0.630989
+vt 0.464469 0.836601
+vt 0.465446 0.846779
+vt 0.460711 0.846453
+vt 0.459825 0.836867
+vt 0.456121 0.846898
+vt 0.455262 0.837502
+vt 0.696027 0.802029
+vt 0.111281 0.754343
+vt 0.107908 0.757781
+vt 0.371314 0.636911
+vt 0.372907 0.631982
+vt 0.625968 0.832095
+vt 0.621613 0.831687
+vt 0.883525 0.944359
+vt 0.880598 0.935006
+vt 0.884093 0.920487
+vt 0.063110 0.757469
+vt 0.561712 0.819088
+vt 0.440517 0.629093
+vt 0.436309 0.626320
+vt 0.495388 0.635248
+vt 0.497714 0.630722
+vt 0.142111 0.811870
+vt 0.145566 0.812679
+vt 0.146573 0.816383
+vt 0.142046 0.816888
+vt 0.007071 0.771201
+vt 0.010043 0.773850
+vt 0.040231 0.784937
+vt 0.045685 0.787011
+vt 0.765351 0.830177
+vt 0.158451 0.057471
+vt 0.154680 0.058586
+vt 0.807673 0.058586
+vt 0.803897 0.058586
+vt 0.163823 0.054125
+vt 0.873449 0.871623
+vt 0.877226 0.871623
+vt 0.171224 0.049664
+vt 0.168760 0.050780
+vt 0.088040 0.783329
+vt 0.092619 0.783154
+vt 0.096887 0.772921
+vt 0.105833 0.761928
+vt 0.519993 0.836838
+vt 0.084788 0.723419
+vt 0.080927 0.721864
+vt 0.077919 0.723115
+vt 0.638133 0.767816
+vt 0.448682 0.845444
+vt 0.445297 0.847492
+vt 0.570825 0.757777
+vt 0.569110 0.761803
+vt 0.571502 0.765059
+vt 0.620220 0.835828
+vt 0.385913 0.301286
+vt 0.380995 0.302610
+vt 0.811575 0.811230
+vt 0.722148 0.630465
+vt 0.725796 0.627595
+vt 0.111981 0.746337
+vt 0.122679 0.738338
+vt 0.122172 0.742870
+vt 0.677185 0.626320
+vt 0.702787 0.790257
+vt 0.698118 0.790960
+vt 0.840869 0.964161
+vt 0.833559 0.975161
+vt 0.833107 0.989913
+vt 0.838025 0.991237
+vt 0.366165 0.635261
+vt 0.365804 0.631752
+vt 0.881253 0.927951
+vt 0.064420 0.760978
+vt 0.070575 0.761067
+vt 0.047067 0.779705
+vt 0.560612 0.822792
+vt 0.494994 0.626477
+vt 0.013807 0.772460
+vt 0.533050 0.567210
+vt 0.529279 0.566095
+vt 0.800121 0.058586
+vt 0.538422 0.570556
+vt 0.869673 0.871623
+vt 0.545823 0.575017
+vt 0.543359 0.573902
+vt 0.089043 0.726559
+vt 0.085395 0.719982
+vt 0.819357 0.823394
+vt 0.813942 0.822633
+vt 0.441836 0.845583
+vt 0.089123 0.789746
+vt 0.092476 0.792000
+vt 0.384232 0.294253
+vt 0.380708 0.292795
+vt 0.376066 0.302254
+vt 0.116699 0.769011
+vt 0.118908 0.764944
+vt 0.730849 0.626611
+vt 0.734741 0.627494
+vt 0.670831 0.633956
+vt 0.668971 0.630541
+vt 0.462765 0.831351
+vt 0.459148 0.829762
+vt 0.455945 0.832018
+vt 0.693499 0.791361
+vt 0.122437 0.747548
+vt 0.121844 0.761298
+vt 0.133660 0.768968
+vt 0.130979 0.772746
+vt 0.361811 0.636226
+vt 0.359988 0.631661
+vt 0.014624 0.774897
+vt 0.009606 0.776570
+vt 0.153958 0.049332
+vt 0.151068 0.050331
+vt 0.807275 0.050331
+vt 0.803897 0.050331
+vt 0.158567 0.046333
+vt 0.873449 0.878952
+vt 0.876827 0.878952
+vt 0.165054 0.042335
+vt 0.162923 0.043335
+vt 0.097278 0.783505
+vt 0.080343 0.717845
+vt 0.076450 0.719895
+vt 0.816585 0.828871
+vt 0.812535 0.830642
+vt 0.130567 0.803072
+vt 0.130088 0.806457
+vt 0.126062 0.807788
+vt 0.125435 0.803235
+vt 0.569248 0.766542
+vt 0.566337 0.762430
+vt 0.385192 0.290112
+vt 0.380626 0.287284
+vt 0.808648 0.821814
+vt 0.128619 0.776725
+vt 0.134006 0.739448
+vt 0.133371 0.744011
+vt 0.671318 0.627305
+vt 0.701175 0.784774
+vt 0.697720 0.783148
+vt 0.133105 0.748655
+vt 0.139922 0.774438
+vt 0.140434 0.778844
+vt 0.366444 0.628361
+vt 0.371914 0.627065
+vt 0.528557 0.575350
+vt 0.525666 0.574350
+vt 0.800520 0.050331
+vt 0.533165 0.578348
+vt 0.870072 0.878952
+vt 0.539653 0.582346
+vt 0.537521 0.581347
+vt 0.125828 0.798542
+vt 0.129877 0.799611
+vt 0.095970 0.789885
+vt 0.377333 0.294685
+vt 0.136188 0.780185
+vt 0.139873 0.741246
+vt 0.141589 0.744838
+vt 0.184813 0.811192
+vt 0.188228 0.812266
+vt 0.189122 0.815883
+vt 0.184595 0.816047
+vt 0.702182 0.782517
+vt 0.697655 0.780143
+vt 0.694524 0.785261
+vt 0.362038 0.627268
+vt 0.149956 0.041645
+vt 0.147812 0.042444
+vt 0.806914 0.042444
+vt 0.803897 0.042444
+vt 0.154035 0.039248
+vt 0.873449 0.885235
+vt 0.876466 0.885235
+vt 0.159920 0.036052
+vt 0.158029 0.036851
+vt 0.809303 0.828194
+vt 0.097192 0.792332
+vt 0.092499 0.794912
+vt 0.376233 0.290439
+vt 0.142220 0.740322
+vt 0.144323 0.745176
+vt 0.139205 0.748066
+vt 0.524555 0.583036
+vt 0.522411 0.582237
+vt 0.800881 0.042444
+vt 0.528634 0.585433
+vt 0.870433 0.885235
+vt 0.534519 0.588630
+vt 0.532628 0.587830
+vt 0.693411 0.782877
+vt 0.147446 0.034063
+vt 0.145587 0.034596
+vt 0.806553 0.034597
+vt 0.803897 0.034596
+vt 0.151237 0.032464
+vt 0.873449 0.890956
+vt 0.876105 0.890956
+vt 0.156722 0.030331
+vt 0.154988 0.030864
+vt 0.522044 0.590618
+vt 0.520186 0.590085
+vt 0.801242 0.034597
+vt 0.525836 0.592217
+vt 0.870794 0.890956
+vt 0.531321 0.594350
+vt 0.529586 0.593817
+vt 0.146083 0.027187
+vt 0.144280 0.027473
+vt 0.806244 0.027473
+vt 0.803897 0.027473
+vt 0.149706 0.026329
+vt 0.873449 0.896103
+vt 0.875796 0.896103
+vt 0.154908 0.025184
+vt 0.153274 0.025470
+vt 0.520682 0.597494
+vt 0.518879 0.597208
+vt 0.801550 0.027473
+vt 0.524305 0.598352
+vt 0.871102 0.896103
+vt 0.529507 0.599497
+vt 0.527873 0.599211
+vt 0.145526 0.021617
+vt 0.143781 0.021760
+vt 0.806042 0.021760
+vt 0.803897 0.021760
+vt 0.148975 0.021190
+vt 0.873449 0.900666
+vt 0.875594 0.900666
+vt 0.153924 0.020621
+vt 0.152363 0.020763
+vt 0.520124 0.603064
+vt 0.518380 0.602922
+vt 0.801752 0.021760
+vt 0.523574 0.603491
+vt 0.871304 0.900666
+vt 0.528523 0.604060
+vt 0.526961 0.603918
+vt 0.144487 0.016115
+vt 0.146057 0.016068
+vt 0.803897 0.016109
+vt 0.805780 0.016115
+vt 0.149121 0.015905
+vt 0.873449 0.903656
+vt 0.874984 0.905258
+vt 0.152113 0.015825
+vt 0.153466 0.016029
+vt 0.519086 0.608566
+vt 0.520656 0.608613
+vt 0.802015 0.016115
+vt 0.523720 0.608777
+vt 0.871915 0.905258
+vt 0.526712 0.608857
+vt 0.528065 0.608652
+vt 0.803897 0.009173
+vt 0.805289 0.009197
+vt 0.146796 0.009197
+vt 0.147961 0.009254
+vt 0.150226 0.009327
+vt 0.873449 0.910490
+vt 0.152385 0.009735
+vt 0.876657 0.905462
+vt 0.875537 0.911552
+vt 0.802505 0.009197
+vt 0.521395 0.615484
+vt 0.522560 0.615428
+vt 0.524825 0.615354
+vt 0.526984 0.614946
+vt 0.870242 0.905462
+vt 0.871362 0.911552
+vt 0.803897 0.005028
+vt 0.804639 0.003619
+vt 0.149627 0.005167
+vt 0.149493 0.003619
+vt 0.151302 0.003881
+vt 0.152363 0.005564
+vt 0.874727 0.915723
+vt 0.873449 0.916856
+vt 0.803156 0.003619
+vt 0.524226 0.619515
+vt 0.524092 0.621063
+vt 0.525900 0.620800
+vt 0.526962 0.619117
+vt 0.872171 0.915723
+vt 0.803897 0.001992
+vt 0.151361 0.001992
+vt 0.152835 0.004431
+vt 0.525960 0.622689
+vt 0.527434 0.620250
+vt 0.139578 0.703549
+vt 0.140245 0.701989
+vt 0.145706 0.693103
+vt 0.143276 0.694879
+vt 0.143967 0.693258
+vt 0.142566 0.696546
+vt 0.141915 0.698071
+vt 0.142438 0.700313
+vt 0.141405 0.699268
+vt 0.140895 0.700465
+vt 0.144644 0.691672
+vt 0.145312 0.690105
+vt 0.146071 0.688324
+vt 0.149015 0.686381
+vt 0.147022 0.686094
+vt 0.148051 0.683680
+vt 0.149045 0.681350
+vt 0.150031 0.679036
+vt 0.357868 0.546126
+vt 0.358064 0.544438
+vt 0.357486 0.541570
+vt 0.855664 0.952839
+vt 0.842332 0.955504
+vn -0.802188 -0.592229 -0.075890
+vn -0.870480 -0.491514 -0.026054
+vn -0.896689 -0.401516 -0.186371
+vn -0.862239 -0.486780 0.139964
+vn -0.870480 -0.491514 -0.026054
+vn -0.817232 -0.568713 0.093265
+vn -0.802188 -0.592229 -0.075890
+vn -0.870480 -0.491514 -0.026054
+vn -0.954874 -0.294230 -0.040541
+vn -0.896689 -0.401516 -0.186371
+vn -0.932402 -0.263024 -0.247880
+vn -0.930305 -0.334221 0.151093
+vn -0.954874 -0.294230 -0.040541
+vn -0.862239 -0.486780 0.139964
+vn -0.870480 -0.491514 -0.026054
+vn -0.846138 -0.353371 0.398974
+vn -0.930305 -0.334221 0.151093
+vn -0.790070 -0.486834 0.372534
+vn -0.862239 -0.486780 0.139964
+vn -0.998287 -0.011119 -0.057444
+vn -0.954874 -0.294230 -0.040541
+vn -0.994880 -0.043471 0.091236
+vn -0.958756 -0.164053 0.232107
+vn -0.930305 -0.334221 0.151093
+vn -0.846138 -0.353371 0.398974
+vn -0.890035 -0.178073 0.419676
+vn -0.930305 -0.334221 0.151093
+vn -0.958756 -0.164053 0.232107
+vn -0.932402 -0.263024 -0.247880
+vn -0.954874 -0.294230 -0.040541
+vn -0.961090 0.006536 -0.276157
+vn -0.998287 -0.011119 -0.057444
+vn -0.896689 -0.401516 -0.186371
+vn -0.932402 -0.263024 -0.247880
+vn -0.841819 -0.396924 -0.365775
+vn -0.901724 -0.172576 -0.396372
+vn -0.932402 -0.263024 -0.247880
+vn -0.961090 0.006536 -0.276157
+vn -0.901724 -0.172576 -0.396372
+vn -0.907909 0.109148 -0.404708
+vn -0.917964 0.233489 -0.320663
+vn -0.961090 0.006536 -0.276157
+vn -0.970288 0.171121 -0.171051
+vn -0.998287 -0.011119 -0.057444
+vn -0.988206 0.149554 -0.032914
+vn -0.961090 0.006536 -0.276157
+vn -0.917964 0.233489 -0.320663
+vn -0.907909 0.109148 -0.404708
+vn -0.886776 0.241453 -0.394118
+vn -0.917964 0.233489 -0.320663
+vn -0.970288 0.171121 -0.171051
+vn -0.869233 0.391531 -0.301891
+vn -0.886776 0.241453 -0.394118
+vn -0.917964 0.233489 -0.320663
+vn -0.842966 0.389407 -0.371174
+vn -0.869233 0.391531 -0.301891
+vn -0.998287 -0.011119 -0.057444
+vn -0.994880 -0.043471 0.091236
+vn -0.988206 0.149554 -0.032914
+vn 0.707002 -0.581892 0.401933
+vn 0.746947 -0.481619 0.458381
+vn 0.634264 -0.565496 0.527184
+vn 0.653410 -0.471389 0.592324
+vn 0.850941 -0.407368 0.331589
+vn 0.746947 -0.481619 0.458381
+vn 0.741072 -0.585674 0.328326
+vn 0.707002 -0.581892 0.401933
+vn 0.746947 -0.481619 0.458381
+vn 0.817988 -0.285301 0.499498
+vn 0.653410 -0.471389 0.592324
+vn 0.700003 -0.310407 0.643151
+vn 0.850941 -0.407368 0.331589
+vn 0.910147 -0.265800 0.317779
+vn 0.746947 -0.481619 0.458381
+vn 0.817988 -0.285301 0.499498
+vn 0.685982 -0.151086 0.711760
+vn 0.700003 -0.310407 0.643151
+vn 0.770530 -0.101576 0.629258
+vn 0.817988 -0.285301 0.499498
+vn 0.867575 -0.013626 0.497119
+vn 0.653410 -0.471389 0.592324
+vn 0.700003 -0.310407 0.643151
+vn 0.449173 -0.486845 0.749150
+vn 0.483310 -0.329464 0.811089
+vn 0.968169 -0.182142 0.171678
+vn 0.910147 -0.265800 0.317779
+vn 0.905803 -0.391739 0.161438
+vn 0.850941 -0.407368 0.331589
+vn 0.910147 -0.265800 0.317779
+vn 0.953514 0.002132 0.301342
+vn 0.817988 -0.285301 0.499498
+vn 0.867575 -0.013626 0.497119
+vn 0.483310 -0.329464 0.811089
+vn 0.700003 -0.310407 0.643151
+vn 0.685982 -0.151086 0.711760
+vn 0.979502 0.103473 0.172827
+vn 0.953514 0.002132 0.301342
+vn 0.975522 -0.135997 0.172806
+vn 0.968169 -0.182142 0.171678
+vn 0.910147 -0.265800 0.317779
+vn 0.867575 -0.013626 0.497119
+vn 0.953514 0.002132 0.301342
+vn 0.868901 0.147170 0.472601
+vn 0.901984 0.166143 0.398523
+vn 0.943025 0.227116 0.243152
+vn 0.953514 0.002132 0.301342
+vn 0.979502 0.103473 0.172827
+vn 0.943025 0.227116 0.243152
+vn 0.938020 0.310128 0.154725
+vn 0.979816 0.137442 0.145153
+vn 0.868901 0.147170 0.472601
+vn 0.769391 0.149514 0.621033
+vn 0.867575 -0.013626 0.497119
+vn 0.770530 -0.101576 0.629258
+vn 0.653166 0.628390 0.422493
+vn 0.199312 0.959119 0.200911
+vn 0.600236 0.763984 0.236738
+vn 0.209769 0.973412 0.092012
+vn 0.314866 0.948571 0.032756
+vn 0.314866 0.948571 0.032756
+vn 0.302435 0.950250 -0.074555
+vn 0.427587 0.903482 -0.029820
+vn 0.653166 0.628390 0.422493
+vn 0.145136 0.915216 0.375920
+vn 0.199312 0.959119 0.200911
+vn 0.314866 0.948571 0.032756
+vn 0.427587 0.903482 -0.029820
+vn 0.600236 0.763984 0.236738
+vn 0.749880 0.641749 0.160742
+vn 0.653166 0.628390 0.422493
+vn 0.682119 0.504826 0.529022
+vn 0.145136 0.915216 0.375920
+vn 0.108725 0.888568 0.445674
+vn 0.584423 -0.793574 0.169384
+vn 0.455070 -0.874693 0.166805
+vn 0.687387 -0.634374 0.353650
+vn 0.697161 -0.615848 0.367013
+vn 0.765922 -0.632535 0.115168
+vn 0.879774 0.458794 -0.124519
+vn 0.686026 0.726536 -0.038912
+vn 0.879774 0.458794 -0.124519
+vn 0.427587 0.903482 -0.029820
+vn 0.686026 0.726536 -0.038912
+vn 0.302435 0.950250 -0.074555
+vn 0.162794 0.819850 0.548948
+vn 0.075822 0.825548 0.559216
+vn 0.682119 0.504826 0.529022
+vn 0.108725 0.888568 0.445674
+vn 0.697161 -0.615848 0.367013
+vn 0.824936 -0.169391 0.539247
+vn 0.687387 -0.634374 0.353650
+vn 0.790295 -0.326492 0.518494
+vn 0.584423 -0.793574 0.169384
+vn 0.687387 -0.634374 0.353650
+vn 0.765922 -0.632535 0.115168
+vn 0.879774 0.458794 -0.124519
+vn 0.906592 -0.352200 0.232478
+vn 0.329559 -0.942149 -0.061203
+vn 0.697161 -0.615848 0.367013
+vn 0.455070 -0.874693 0.166805
+vn 0.427587 0.903482 -0.029820
+vn 0.879774 0.458794 -0.124519
+vn 0.749880 0.641749 0.160742
+vn 0.906592 -0.352200 0.232478
+vn 0.749880 0.641749 0.160742
+vn 0.809541 0.462430 0.361667
+vn 0.600236 0.763984 0.236738
+vn 0.880127 0.212967 0.424290
+vn 0.600236 0.763984 0.236738
+vn 0.880127 0.212967 0.424290
+vn 0.653166 0.628390 0.422493
+vn 0.901600 -0.056841 0.428819
+vn 0.653166 0.628390 0.422493
+vn 0.901600 -0.056841 0.428819
+vn 0.682119 0.504826 0.529022
+vn 0.914435 -0.086336 0.395416
+vn 0.682119 0.504826 0.529022
+vn 0.820743 0.386295 0.420901
+vn 0.162794 0.819850 0.548948
+vn 0.185739 0.745837 0.639709
+vn 0.138987 0.630962 0.763263
+vn 0.185739 0.745837 0.639709
+vn 0.820743 0.386295 0.420901
+vn 0.697161 -0.615848 0.367013
+vn 0.166206 -0.982768 -0.080881
+vn 0.610719 -0.779837 0.137393
+vn 0.139729 -0.984390 -0.107016
+vn 0.697161 -0.615848 0.367013
+vn 0.610719 -0.779837 0.137393
+vn 0.824936 -0.169391 0.539247
+vn 0.937148 0.014000 0.348652
+vn 0.687387 -0.634374 0.353650
+vn 0.790295 -0.326492 0.518494
+vn 0.906592 -0.352200 0.232478
+vn 0.891006 -0.225479 0.394041
+vn 0.166206 -0.982768 -0.080881
+vn 0.697161 -0.615848 0.367013
+vn 0.329559 -0.942149 -0.061203
+vn 0.809541 0.462430 0.361667
+vn 0.749880 0.641749 0.160742
+vn 0.814917 0.476975 0.329250
+vn 0.907248 0.267753 0.324361
+vn 0.820743 0.386295 0.420901
+vn 0.682119 0.504826 0.529022
+vn 0.954316 -0.016602 0.298339
+vn 0.914435 -0.086336 0.395416
+vn 0.689265 -0.722296 0.056597
+vn 0.610719 -0.779837 0.137393
+vn 0.164122 -0.978368 -0.125938
+vn 0.139729 -0.984390 -0.107016
+vn 0.689265 -0.722296 0.056597
+vn 0.164122 -0.978368 -0.125938
+vn 0.216646 -0.975836 -0.028430
+vn 0.824936 -0.169391 0.539247
+vn 0.700436 0.394823 0.594562
+vn 0.790295 -0.326492 0.518494
+vn 0.847619 0.034858 0.529459
+vn 0.749880 0.641749 0.160742
+vn 0.906592 -0.352200 0.232478
+vn 0.907248 0.267753 0.324361
+vn 0.891006 -0.225479 0.394041
+vn 0.814917 0.476975 0.329250
+vn 0.886340 0.017091 0.462720
+vn 0.809541 0.462430 0.361667
+vn 0.874517 -0.120583 0.469765
+vn 0.809541 0.462430 0.361667
+vn 0.874517 -0.120583 0.469765
+vn 0.880127 0.212967 0.424290
+vn 0.878595 -0.236772 0.414742
+vn 0.880127 0.212967 0.424290
+vn 0.878595 -0.236772 0.414742
+vn 0.901600 -0.056841 0.428819
+vn 0.885062 -0.289976 0.364115
+vn 0.914435 -0.086336 0.395416
+vn 0.901600 -0.056841 0.428819
+vn 0.894002 -0.318363 0.315288
+vn 0.885062 -0.289976 0.364115
+vn 0.954316 -0.016602 0.298339
+vn 0.994870 -0.033298 0.095526
+vn 0.820743 0.386295 0.420901
+vn 0.988509 0.139113 0.059146
+vn 0.610719 -0.779837 0.137393
+vn 0.689265 -0.722296 0.056597
+vn 0.937148 0.014000 0.348652
+vn 0.989605 0.030866 0.140460
+vn 0.450007 -0.596988 0.664153
+vn 0.775776 -0.603389 0.184643
+vn 0.380083 -0.923425 0.053136
+vn 0.380083 -0.923425 0.053136
+vn 0.775776 -0.603389 0.184643
+vn 0.689265 -0.722296 0.056597
+vn 0.937148 0.014000 0.348652
+vn 0.746836 0.508101 0.429034
+vn 0.824936 -0.169391 0.539247
+vn 0.700436 0.394823 0.594562
+vn 0.790295 -0.326492 0.518494
+vn 0.847619 0.034858 0.529459
+vn 0.891006 -0.225479 0.394041
+vn 0.910333 0.033014 0.412557
+vn 0.814917 0.476975 0.329250
+vn 0.907248 0.267753 0.324361
+vn 0.886340 0.017091 0.462720
+vn 0.906558 0.137947 0.398903
+vn 0.894002 -0.318363 0.315288
+vn 0.921883 -0.360420 0.142230
+vn 0.914435 -0.086336 0.395416
+vn 0.954316 -0.016602 0.298339
+vn 0.994870 -0.033298 0.095526
+vn 0.954316 -0.016602 0.298339
+vn 0.932439 -0.342330 -0.115621
+vn 0.921883 -0.360420 0.142230
+vn 0.820743 0.386295 0.420901
+vn 0.874237 0.181055 0.450476
+vn 0.138987 0.630962 0.763263
+vn 0.255025 0.001834 0.966933
+vn 0.255025 0.001834 0.966933
+vn 0.874237 0.181055 0.450476
+vn 0.450007 -0.596988 0.664153
+vn 0.775776 -0.603389 0.184643
+vn 0.689265 -0.722296 0.056597
+vn 0.775776 -0.603389 0.184643
+vn 0.989605 0.030866 0.140460
+vn 0.974667 0.210814 0.074709
+vn 0.937148 0.014000 0.348652
+vn 0.989605 0.030866 0.140460
+vn 0.746836 0.508101 0.429034
+vn 0.719698 0.693222 0.038443
+vn 0.746836 0.508101 0.429034
+vn 0.467943 0.725026 0.505339
+vn 0.700436 0.394823 0.594562
+vn 0.655577 0.541425 0.526382
+vn 0.700436 0.394823 0.594562
+vn 0.655577 0.541425 0.526382
+vn 0.847619 0.034858 0.529459
+vn 0.792285 0.410691 0.451239
+vn 0.907248 0.267753 0.324361
+vn 0.891006 -0.225479 0.394041
+vn 0.906558 0.137947 0.398903
+vn 0.910333 0.033014 0.412557
+vn 0.886340 0.017091 0.462720
+vn 0.912630 -0.077822 0.401311
+vn 0.874517 -0.120583 0.469765
+vn 0.883836 -0.245965 0.397913
+vn 0.874517 -0.120583 0.469765
+vn 0.883836 -0.245965 0.397913
+vn 0.878595 -0.236772 0.414742
+vn 0.867442 -0.340718 0.362568
+vn 0.878595 -0.236772 0.414742
+vn 0.867442 -0.340718 0.362568
+vn 0.885062 -0.289976 0.364115
+vn 0.872431 -0.343990 0.347182
+vn 0.921883 -0.360420 0.142230
+vn 0.894002 -0.318363 0.315288
+vn 0.926491 -0.288535 0.241582
+vn 0.882154 -0.357117 0.307038
+vn 0.894002 -0.318363 0.315288
+vn 0.885062 -0.289976 0.364115
+vn 0.882154 -0.357117 0.307038
+vn 0.872431 -0.343990 0.347182
+vn 0.994870 -0.033298 0.095526
+vn 0.932439 -0.342330 -0.115621
+vn 0.988509 0.139113 0.059146
+vn 0.948030 -0.090590 -0.305013
+vn 0.820743 0.386295 0.420901
+vn 0.988509 0.139113 0.059146
+vn 0.874237 0.181055 0.450476
+vn 0.984314 0.175603 0.017026
+vn 0.775776 -0.603389 0.184643
+vn 0.874237 0.181055 0.450476
+vn 0.974667 0.210814 0.074709
+vn 0.984314 0.175603 0.017026
+vn 0.467943 0.725026 0.505339
+vn 0.746836 0.508101 0.429034
+vn 0.588251 0.607970 0.533229
+vn 0.627388 0.757534 0.180351
+vn 0.847619 0.034858 0.529459
+vn 0.792285 0.410691 0.451239
+vn 0.910333 0.033014 0.412557
+vn 0.879206 0.217382 0.423960
+vn 0.886340 0.017091 0.462720
+vn 0.906558 0.137947 0.398903
+vn 0.912630 -0.077822 0.401311
+vn 0.918768 0.025315 0.393985
+vn 0.926491 -0.288535 0.241582
+vn 0.965525 -0.170466 0.196731
+vn 0.921883 -0.360420 0.142230
+vn 0.932439 -0.342330 -0.115621
+vn 0.989605 0.030866 0.140460
+vn 0.974667 0.210814 0.074709
+vn 0.719698 0.693222 0.038443
+vn 0.681637 0.685328 -0.256315
+vn 0.746836 0.508101 0.429034
+vn 0.719698 0.693222 0.038443
+vn 0.627388 0.757534 0.180351
+vn 0.600878 0.799010 -0.022997
+vn 0.588251 0.607970 0.533229
+vn 0.826205 -0.436728 0.355884
+vn 0.467943 0.725026 0.505339
+vn 0.857836 0.191758 0.476808
+vn 0.467943 0.725026 0.505339
+vn 0.857836 0.191758 0.476808
+vn 0.655577 0.541425 0.526382
+vn 0.867426 0.216115 0.448182
+vn 0.655577 0.541425 0.526382
+vn 0.867426 0.216115 0.448182
+vn 0.792285 0.410691 0.451239
+vn 0.841217 0.201283 0.501836
+vn 0.906558 0.137947 0.398903
+vn 0.910333 0.033014 0.412557
+vn 0.918768 0.025315 0.393985
+vn 0.879206 0.217382 0.423960
+vn 0.912630 -0.077822 0.401311
+vn 0.935015 -0.051945 0.350784
+vn 0.883836 -0.245965 0.397913
+vn 0.932396 -0.074789 0.353616
+vn 0.883836 -0.245965 0.397913
+vn 0.932396 -0.074789 0.353616
+vn 0.867442 -0.340718 0.362568
+vn 0.872431 -0.343990 0.347182
+vn 0.926491 -0.288535 0.241582
+vn 0.932396 -0.074789 0.353616
+vn 0.965525 -0.170466 0.196731
+vn 0.926121 -0.049124 0.374014
+vn 0.926491 -0.288535 0.241582
+vn 0.882154 -0.357117 0.307038
+vn 0.932396 -0.074789 0.353616
+vn 0.872431 -0.343990 0.347182
+vn 0.965525 -0.170466 0.196731
+vn 0.989399 0.091871 0.112468
+vn 0.932439 -0.342330 -0.115621
+vn 0.948030 -0.090590 -0.305013
+vn 0.988509 0.139113 0.059146
+vn 0.948030 -0.090590 -0.305013
+vn 0.984314 0.175603 0.017026
+vn 0.877657 0.229455 -0.420796
+vn 0.974667 0.210814 0.074709
+vn 0.984314 0.175603 0.017026
+vn 0.681637 0.685328 -0.256315
+vn 0.877657 0.229455 -0.420796
+vn 0.627388 0.757534 0.180351
+vn 0.943658 -0.261999 0.202153
+vn 0.588251 0.607970 0.533229
+vn 0.826205 -0.436728 0.355884
+vn 0.792285 0.410691 0.451239
+vn 0.841217 0.201283 0.501836
+vn 0.879206 0.217382 0.423960
+vn 0.878165 0.228465 0.420273
+vn 0.918768 0.025315 0.393985
+vn 0.925729 0.017557 0.377780
+vn 0.912630 -0.077822 0.401311
+vn 0.935015 -0.051945 0.350784
+vn 0.965525 -0.170466 0.196731
+vn 0.926121 -0.049124 0.374014
+vn 0.989399 0.091871 0.112468
+vn 0.914822 0.164935 0.368643
+vn 0.948030 -0.090590 -0.305013
+vn 0.989399 0.091871 0.112468
+vn 0.877657 0.229455 -0.420796
+vn 0.928538 0.371235 0.001400
+vn 0.719698 0.693222 0.038443
+vn 0.681637 0.685328 -0.256315
+vn 0.600878 0.799010 -0.022997
+vn 0.726781 0.674125 -0.131701
+vn 0.600878 0.799010 -0.022997
+vn 0.990221 -0.119234 0.072426
+vn 0.627388 0.757534 0.180351
+vn 0.943658 -0.261999 0.202153
+vn 0.826205 -0.436728 0.355884
+vn 0.943658 -0.261999 0.202153
+vn 0.758878 -0.618646 0.203422
+vn 0.797734 -0.590818 0.120642
+vn 0.826205 -0.436728 0.355884
+vn 0.758878 -0.618646 0.203422
+vn 0.857836 0.191758 0.476808
+vn 0.686207 -0.702941 0.187068
+vn 0.857836 0.191758 0.476808
+vn 0.686207 -0.702941 0.187068
+vn 0.867426 0.216115 0.448182
+vn 0.707425 -0.658332 0.257194
+vn 0.867426 0.216115 0.448182
+vn 0.707425 -0.658332 0.257194
+vn 0.841217 0.201283 0.501836
+vn 0.825652 -0.194056 0.529756
+vn 0.918768 0.025315 0.393985
+vn 0.879206 0.217382 0.423960
+vn 0.925729 0.017557 0.377780
+vn 0.878165 0.228465 0.420273
+vn 0.925729 0.017557 0.377780
+vn 0.931467 -0.036296 0.362012
+vn 0.935015 -0.051945 0.350784
+vn 0.943093 -0.019219 0.331974
+vn 0.935015 -0.051945 0.350784
+vn 0.943093 -0.019219 0.331974
+vn 0.932396 -0.074789 0.353616
+vn 0.932173 -0.066736 0.355809
+vn 0.932396 -0.074789 0.353616
+vn 0.932173 -0.066736 0.355809
+vn 0.926121 -0.049124 0.374014
+vn 0.922245 -0.071861 0.379869
+vn 0.681637 0.685328 -0.256315
+vn 0.877657 0.229455 -0.420796
+vn 0.726781 0.674125 -0.131701
+vn 0.928538 0.371235 0.001400
+vn 0.600878 0.799010 -0.022997
+vn 0.726781 0.674125 -0.131701
+vn 0.990221 -0.119234 0.072426
+vn 0.936791 -0.262483 0.231354
+vn 0.990221 -0.119234 0.072426
+vn 0.793535 -0.605829 0.057211
+vn 0.943658 -0.261999 0.202153
+vn 0.797734 -0.590818 0.120642
+vn 0.841217 0.201283 0.501836
+vn 0.651562 0.536727 0.536088
+vn 0.878165 0.228465 0.420273
+vn 0.748815 0.505640 0.428490
+vn 0.931467 -0.036296 0.362012
+vn 0.925729 0.017557 0.377780
+vn 0.921704 -0.058835 0.383406
+vn 0.918903 0.076372 0.387020
+vn 0.926121 -0.049124 0.374014
+vn 0.922245 -0.071861 0.379869
+vn 0.914822 0.164935 0.368643
+vn 0.921182 0.127508 0.367648
+vn 0.989399 0.091871 0.112468
+vn 0.914822 0.164935 0.368643
+vn 0.928538 0.371235 0.001400
+vn 0.859021 0.408454 0.308623
+vn 0.793535 -0.605829 0.057211
+vn 0.990221 -0.119234 0.072426
+vn 0.749104 -0.647509 0.139908
+vn 0.936791 -0.262483 0.231354
+vn 0.758878 -0.618646 0.203422
+vn 0.797734 -0.590818 0.120642
+vn 0.909237 -0.172160 0.379010
+vn 0.969765 -0.158780 0.185321
+vn 0.758878 -0.618646 0.203422
+vn 0.909237 -0.172160 0.379010
+vn 0.686207 -0.702941 0.187068
+vn 0.834475 -0.286291 0.470838
+vn 0.686207 -0.702941 0.187068
+vn 0.834475 -0.286291 0.470838
+vn 0.707425 -0.658332 0.257194
+vn 0.825652 -0.194056 0.529756
+vn 0.825652 -0.194056 0.529756
+vn 0.681197 0.344317 0.646077
+vn 0.841217 0.201283 0.501836
+vn 0.651562 0.536727 0.536088
+vn 0.925729 0.017557 0.377780
+vn 0.878165 0.228465 0.420273
+vn 0.918903 0.076372 0.387020
+vn 0.748815 0.505640 0.428490
+vn 0.921704 -0.058835 0.383406
+vn 0.889115 -0.213203 0.404992
+vn 0.931467 -0.036296 0.362012
+vn 0.934029 -0.047952 0.353964
+vn 0.931467 -0.036296 0.362012
+vn 0.934029 -0.047952 0.353964
+vn 0.943093 -0.019219 0.331974
+vn 0.948771 -0.010789 0.315781
+vn 0.943093 -0.019219 0.331974
+vn 0.948771 -0.010789 0.315781
+vn 0.932173 -0.066736 0.355809
+vn 0.956883 -0.081197 0.278895
+vn 0.922245 -0.071861 0.379869
+vn 0.932173 -0.066736 0.355809
+vn 0.960833 -0.098326 0.259098
+vn 0.956883 -0.081197 0.278895
+vn 0.726781 0.674125 -0.131701
+vn 0.928538 0.371235 0.001400
+vn 0.936791 -0.262483 0.231354
+vn 0.859021 0.408454 0.308623
+vn 0.749104 -0.647509 0.139908
+vn 0.969765 -0.158780 0.185321
+vn 0.793535 -0.605829 0.057211
+vn 0.797734 -0.590818 0.120642
+vn 0.681197 0.344317 0.646077
+vn 0.825652 -0.194056 0.529756
+vn 0.745274 0.235248 0.623879
+vn 0.834475 -0.286291 0.470838
+vn 0.651562 0.536727 0.536088
+vn 0.681197 0.344317 0.646077
+vn 0.084070 0.956916 0.277928
+vn 0.332937 0.791025 0.513257
+vn 0.748815 0.505640 0.428490
+vn 0.651562 0.536727 0.536088
+vn 0.226299 0.908893 0.350290
+vn 0.084070 0.956916 0.277928
+vn 0.889115 -0.213203 0.404992
+vn 0.921704 -0.058835 0.383406
+vn 0.904702 -0.187571 0.382534
+vn 0.921987 -0.072816 0.380312
+vn 0.921704 -0.058835 0.383406
+vn 0.918903 0.076372 0.387020
+vn 0.921987 -0.072816 0.380312
+vn 0.917375 0.091945 0.387260
+vn 0.960833 -0.098326 0.259098
+vn 0.974166 0.105311 0.199777
+vn 0.922245 -0.071861 0.379869
+vn 0.921182 0.127508 0.367648
+vn 0.921182 0.127508 0.367648
+vn 0.833058 0.457105 0.311559
+vn 0.914822 0.164935 0.368643
+vn 0.859021 0.408454 0.308623
+vn 0.749104 -0.647509 0.139908
+vn 0.936791 -0.262483 0.231354
+vn 0.766029 -0.614124 0.189872
+vn 0.941677 0.134673 0.308396
+vn 0.969765 -0.158780 0.185321
+vn 0.749104 -0.647509 0.139908
+vn 0.985135 -0.054273 0.162985
+vn 0.766029 -0.614124 0.189872
+vn 0.909237 -0.172160 0.379010
+vn 0.969765 -0.158780 0.185321
+vn 0.836698 0.294134 0.461977
+vn 0.906339 0.389076 0.164834
+vn 0.834475 -0.286291 0.470838
+vn 0.909237 -0.172160 0.379010
+vn 0.745274 0.235248 0.623879
+vn 0.836698 0.294134 0.461977
+vn 0.681197 0.344317 0.646077
+vn 0.745274 0.235248 0.623879
+vn 0.332937 0.791025 0.513257
+vn 0.407367 0.744171 0.529398
+vn 0.748815 0.505640 0.428490
+vn 0.226299 0.908893 0.350290
+vn 0.729699 0.535175 0.425590
+vn 0.218001 0.907585 0.358839
+vn 0.918903 0.076372 0.387020
+vn 0.748815 0.505640 0.428490
+vn 0.917375 0.091945 0.387260
+vn 0.729699 0.535175 0.425590
+vn 0.904702 -0.187571 0.382534
+vn 0.756582 -0.562955 0.332663
+vn 0.889115 -0.213203 0.404992
+vn 0.702185 -0.585146 0.405637
+vn 0.934029 -0.047952 0.353964
+vn 0.889115 -0.213203 0.404992
+vn 0.493513 -0.759866 0.423141
+vn 0.702185 -0.585146 0.405637
+vn 0.934029 -0.047952 0.353964
+vn 0.940884 -0.008928 0.338610
+vn 0.948771 -0.010789 0.315781
+vn 0.955411 -0.013696 0.294960
+vn 0.948771 -0.010789 0.315781
+vn 0.955411 -0.013696 0.294960
+vn 0.956883 -0.081197 0.278895
+vn 0.970226 -0.023352 0.241073
+vn 0.960833 -0.098326 0.259098
+vn 0.956883 -0.081197 0.278895
+vn 0.991918 -0.085562 -0.093693
+vn 0.994931 -0.100416 0.005306
+vn 0.974166 0.105311 0.199777
+vn 0.960833 -0.098326 0.259098
+vn 0.977571 0.125092 -0.169430
+vn 0.991918 -0.085562 -0.093693
+vn 0.833058 0.457105 0.311559
+vn 0.921182 0.127508 0.367648
+vn 0.851810 0.506183 0.134904
+vn 0.974166 0.105311 0.199777
+vn 0.936791 -0.262483 0.231354
+vn 0.859021 0.408454 0.308623
+vn 0.941677 0.134673 0.308396
+vn 0.833058 0.457105 0.311559
+vn 0.969765 -0.158780 0.185321
+vn 0.985135 -0.054273 0.162985
+vn 0.906339 0.389076 0.164834
+vn 0.851907 0.522626 0.033420
+vn 0.084070 0.956916 0.277928
+vn -0.062903 0.986304 0.152471
+vn 0.226299 0.908893 0.350290
+vn -0.081243 0.966887 0.241930
+vn 0.084070 0.956916 0.277928
+vn 0.332937 0.791025 0.513257
+vn -0.212174 0.967595 0.136906
+vn 0.117166 0.934997 0.334743
+vn 0.808135 -0.482080 0.338403
+vn 0.889527 -0.230052 0.394737
+vn 0.840957 -0.389976 0.375113
+vn 0.888964 -0.221293 0.400965
+vn 0.921987 -0.072816 0.380312
+vn 0.926382 -0.065312 0.370878
+vn 0.904702 -0.187571 0.382534
+vn 0.906734 -0.173320 0.384439
+vn 0.934029 -0.047952 0.353964
+vn 0.493513 -0.759866 0.423141
+vn 0.468518 -0.497213 0.730254
+vn 0.921987 -0.072816 0.380312
+vn 0.917375 0.091945 0.387260
+vn 0.926382 -0.065312 0.370878
+vn 0.914527 0.110118 0.389249
+vn 0.934029 -0.047952 0.353964
+vn 0.468518 -0.497213 0.730254
+vn 0.940884 -0.008928 0.338610
+vn 0.677673 0.173015 0.714721
+vn 0.977571 0.125092 -0.169430
+vn 0.763764 0.616338 -0.191813
+vn 0.974166 0.105311 0.199777
+vn 0.851810 0.506183 0.134904
+vn 0.851810 0.506183 0.134904
+vn 0.867562 0.465070 0.176200
+vn 0.833058 0.457105 0.311559
+vn 0.941677 0.134673 0.308396
+vn 0.766029 -0.614124 0.189872
+vn 0.941677 0.134673 0.308396
+vn 0.985135 -0.054273 0.162985
+vn 0.867562 0.465070 0.176200
+vn 0.836698 0.294134 0.461977
+vn 0.906339 0.389076 0.164834
+vn 0.538008 0.731707 0.418513
+vn 0.656150 0.744291 0.124489
+vn 0.745274 0.235248 0.623879
+vn 0.836698 0.294134 0.461977
+vn 0.407367 0.744171 0.529398
+vn 0.538008 0.731707 0.418513
+vn 0.332937 0.791025 0.513257
+vn 0.407367 0.744171 0.529398
+vn 0.117166 0.934997 0.334743
+vn -0.068081 0.968946 0.237714
+vn 0.084070 0.956916 0.277928
+vn -0.150486 0.986850 0.059007
+vn -0.062903 0.986304 0.152471
+vn -0.036254 0.997522 0.060297
+vn 0.084070 0.956916 0.277928
+vn -0.212174 0.967595 0.136906
+vn -0.150486 0.986850 0.059007
+vn -0.402365 0.915086 -0.026844
+vn 0.917375 0.091945 0.387260
+vn 0.729699 0.535175 0.425590
+vn 0.914527 0.110118 0.389249
+vn 0.647291 0.633765 0.423505
+vn 0.729699 0.535175 0.425590
+vn 0.218001 0.907585 0.358839
+vn 0.647291 0.633765 0.423505
+vn 0.173101 0.917527 0.358023
+vn 0.226299 0.908893 0.350290
+vn -0.081243 0.966887 0.241930
+vn 0.218001 0.907585 0.358839
+vn -0.088536 0.956473 0.278065
+vn 0.493513 -0.759866 0.423141
+vn 0.172984 -0.904044 0.390873
+vn 0.468518 -0.497213 0.730254
+vn 0.315392 -0.716585 0.622121
+vn 0.702185 -0.585146 0.405637
+vn 0.254329 -0.915375 0.312097
+vn 0.493513 -0.759866 0.423141
+vn 0.172984 -0.904044 0.390873
+vn 0.955411 -0.013696 0.294960
+vn 0.940884 -0.008928 0.338610
+vn 0.956089 0.000651 0.293077
+vn 0.912959 0.175891 0.368195
+vn 0.955411 -0.013696 0.294960
+vn 0.956089 0.000651 0.293077
+vn 0.970226 -0.023352 0.241073
+vn 0.974724 0.012417 0.223065
+vn 0.956883 -0.081197 0.278895
+vn 0.970226 -0.023352 0.241073
+vn 0.994931 -0.100416 0.005306
+vn 0.999142 -0.030969 0.027486
+vn 0.994931 -0.100416 0.005306
+vn 0.783087 -0.106289 -0.612762
+vn 0.991918 -0.085562 -0.093693
+vn 0.787073 -0.089423 -0.610344
+vn 0.977571 0.125092 -0.169430
+vn 0.991918 -0.085562 -0.093693
+vn 0.816133 0.055581 -0.575185
+vn 0.787073 -0.089423 -0.610344
+vn 0.763764 0.616338 -0.191813
+vn 0.977571 0.125092 -0.169430
+vn 0.720285 0.505202 -0.475353
+vn 0.816133 0.055581 -0.575185
+vn 0.867562 0.465070 0.176200
+vn 0.851810 0.506183 0.134904
+vn 0.666784 0.743201 -0.055237
+vn 0.763764 0.616338 -0.191813
+vn 0.985135 -0.054273 0.162985
+vn 0.867562 0.465070 0.176200
+vn 0.851907 0.522626 0.033420
+vn 0.666784 0.743201 -0.055237
+vn 0.851907 0.522626 0.033420
+vn 0.514960 0.855058 -0.060761
+vn 0.906339 0.389076 0.164834
+vn 0.656150 0.744291 0.124489
+vn -0.081243 0.966887 0.241930
+vn -0.062903 0.986304 0.152471
+vn -0.377991 0.913137 0.152658
+vn -0.176857 0.968552 0.175009
+vn 0.117166 0.934997 0.334743
+vn -0.068081 0.968946 0.237714
+vn -0.212174 0.967595 0.136906
+vn -0.346466 0.936750 -0.049616
+vn 0.848742 -0.379498 0.368265
+vn 0.884366 -0.195531 0.423869
+vn 0.842209 -0.301714 0.446826
+vn 0.832653 -0.145709 0.534283
+vn 0.889527 -0.230052 0.394737
+vn 0.906734 -0.173320 0.384439
+vn 0.888964 -0.221293 0.400965
+vn 0.877013 -0.196902 0.438267
+vn 0.477147 -0.835609 0.272193
+vn 0.702185 -0.585146 0.405637
+vn 0.395641 -0.878848 0.266635
+vn 0.756582 -0.562955 0.332663
+vn 0.926382 -0.065312 0.370878
+vn 0.936541 -0.065113 0.344459
+vn 0.906734 -0.173320 0.384439
+vn 0.907663 -0.192494 0.372953
+vn 0.468518 -0.497213 0.730254
+vn 0.315392 -0.716585 0.622121
+vn 0.503384 -0.001170 0.864062
+vn 0.702185 -0.585146 0.405637
+vn 0.657204 -0.649103 0.383077
+vn 0.254329 -0.915375 0.312097
+vn 0.628680 -0.653690 0.421249
+vn 0.914527 0.110118 0.389249
+vn 0.923868 0.131166 0.359533
+vn 0.926382 -0.065312 0.370878
+vn 0.936541 -0.065113 0.344459
+vn 0.677673 0.173015 0.714721
+vn 0.468518 -0.497213 0.730254
+vn 0.503384 -0.001170 0.864062
+vn 0.940884 -0.008928 0.338610
+vn 0.677673 0.173015 0.714721
+vn 0.912959 0.175891 0.368195
+vn 0.783087 -0.106289 -0.612762
+vn 0.994931 -0.100416 0.005306
+vn 0.797724 -0.032709 -0.602134
+vn 0.999142 -0.030969 0.027486
+vn 0.763764 0.616338 -0.191813
+vn 0.720285 0.505202 -0.475353
+vn 0.326643 0.907033 -0.265700
+vn 0.346387 0.807287 -0.477811
+vn 0.763764 0.616338 -0.191813
+vn 0.326643 0.907033 -0.265700
+vn 0.666784 0.743201 -0.055237
+vn 0.227816 0.964985 -0.130017
+vn 0.514960 0.855058 -0.060761
+vn 0.851907 0.522626 0.033420
+vn 0.227816 0.964985 -0.130017
+vn 0.666784 0.743201 -0.055237
+vn 0.538008 0.731707 0.418513
+vn 0.656150 0.744291 0.124489
+vn 0.053543 0.977206 0.205432
+vn 0.061706 0.998077 0.005932
+vn 0.407367 0.744171 0.529398
+vn 0.538008 0.731707 0.418513
+vn -0.068081 0.968946 0.237714
+vn 0.053543 0.977206 0.205432
+vn -0.150486 0.986850 0.059007
+vn -0.151694 0.988170 -0.022553
+vn -0.036254 0.997522 0.060297
+vn -0.031613 0.999397 0.014353
+vn -0.062903 0.986304 0.152471
+vn -0.036254 0.997522 0.060297
+vn -0.176857 0.968552 0.175009
+vn -0.017026 0.998531 0.051449
+vn -0.377991 0.913137 0.152658
+vn -0.386377 0.905848 0.173646
+vn -0.081243 0.966887 0.241930
+vn -0.088536 0.956473 0.278065
+vn -0.150486 0.986850 0.059007
+vn -0.402365 0.915086 -0.026844
+vn -0.151694 0.988170 -0.022553
+vn -0.401684 0.909915 -0.103462
+vn -0.212174 0.967595 0.136906
+vn -0.346466 0.936750 -0.049616
+vn -0.402365 0.915086 -0.026844
+vn -0.401684 0.909915 -0.103462
+vn 0.914527 0.110118 0.389249
+vn 0.647291 0.633765 0.423505
+vn 0.923868 0.131166 0.359533
+vn 0.817926 0.436860 0.374366
+vn 0.647291 0.633765 0.423505
+vn 0.173101 0.917527 0.358023
+vn 0.437301 0.807428 0.396015
+vn 0.074358 0.925354 0.371740
+vn 0.218001 0.907585 0.358839
+vn -0.088536 0.956473 0.278065
+vn 0.173101 0.917527 0.358023
+vn -0.092760 0.952071 0.291474
+vn 0.380276 -0.916433 0.124661
+vn 0.857479 -0.370162 0.357365
+vn 0.756582 -0.562955 0.332663
+vn 0.311386 -0.926001 0.213449
+vn 0.690383 -0.617315 0.377218
+vn 0.702185 -0.585146 0.405637
+vn 0.477147 -0.835609 0.272193
+vn 0.395641 -0.878848 0.266635
+vn 0.756582 -0.562955 0.332663
+vn 0.311386 -0.926001 0.213449
+vn 0.254329 -0.915375 0.312097
+vn 0.598745 -0.628037 0.497064
+vn 0.172984 -0.904044 0.390873
+vn 0.315392 -0.716585 0.622121
+vn 0.657204 -0.649103 0.383077
+vn 0.702185 -0.585146 0.405637
+vn 0.761619 -0.509451 0.400496
+vn 0.956089 0.000651 0.293077
+vn 0.912959 0.175891 0.368195
+vn 0.942625 -0.018647 0.333333
+vn 0.910365 -0.050884 0.410665
+vn 0.974724 0.012417 0.223065
+vn 0.956089 0.000651 0.293077
+vn 0.954237 0.031283 0.297411
+vn 0.942625 -0.018647 0.333333
+vn 0.974724 0.012417 0.223065
+vn 0.999607 0.005976 0.027389
+vn 0.970226 -0.023352 0.241073
+vn 0.999142 -0.030969 0.027486
+vn 0.797724 -0.032709 -0.602134
+vn 0.402480 -0.042731 -0.914431
+vn 0.783087 -0.106289 -0.612762
+vn 0.410687 -0.118403 -0.904056
+vn 0.783087 -0.106289 -0.612762
+vn 0.410687 -0.118403 -0.904056
+vn 0.787073 -0.089423 -0.610344
+vn 0.423969 -0.115699 -0.898256
+vn 0.816133 0.055581 -0.575185
+vn 0.787073 -0.089423 -0.610344
+vn 0.436952 -0.023886 -0.899168
+vn 0.423969 -0.115699 -0.898256
+vn 0.720285 0.505202 -0.475353
+vn 0.816133 0.055581 -0.575185
+vn 0.495013 0.316608 -0.809149
+vn 0.436952 -0.023886 -0.899168
+vn 0.227816 0.964985 -0.130017
+vn -0.108249 0.980080 -0.166511
+vn 0.514960 0.855058 -0.060761
+vn 0.130525 0.988780 -0.072643
+vn 0.514960 0.855058 -0.060761
+vn 0.130525 0.988780 -0.072643
+vn 0.656150 0.744291 0.124489
+vn 0.061706 0.998077 0.005932
+vn -0.176857 0.968552 0.175009
+vn -0.817579 0.570888 0.075178
+vn -0.377991 0.913137 0.152658
+vn -0.856440 0.511799 -0.067618
+vn -0.386377 0.905848 0.173646
+vn -0.377991 0.913137 0.152658
+vn -0.843711 0.533893 -0.055760
+vn -0.856440 0.511799 -0.067618
+vn -0.068081 0.968946 0.237714
+vn 0.053543 0.977206 0.205432
+vn -0.346466 0.936750 -0.049616
+vn 0.061706 0.998077 0.005932
+vn 0.647291 0.633765 0.423505
+vn 0.437301 0.807428 0.396015
+vn 0.817926 0.436860 0.374366
+vn 0.645202 0.650333 0.400975
+vn -0.386377 0.905848 0.173646
+vn -0.349020 0.915949 0.198046
+vn -0.088536 0.956473 0.278065
+vn -0.092760 0.952071 0.291474
+vn 0.857479 -0.370162 0.357365
+vn 0.380276 -0.916433 0.124661
+vn 0.876215 -0.257600 0.407295
+vn 0.842209 -0.301714 0.446826
+vn 0.832653 -0.145709 0.534283
+vn 0.635884 -0.450605 0.626583
+vn 0.577370 -0.042831 0.815358
+vn 0.832653 -0.145709 0.534283
+vn 0.884366 -0.195531 0.423869
+vn 0.790614 -0.091590 0.605427
+vn 0.877013 -0.196902 0.438267
+vn 0.906734 -0.173320 0.384439
+vn 0.907663 -0.192494 0.372953
+vn 0.877013 -0.196902 0.438267
+vn 0.837755 -0.275117 0.471675
+vn 0.690383 -0.617315 0.377218
+vn 0.837526 -0.325262 0.439039
+vn 0.702185 -0.585146 0.405637
+vn 0.761619 -0.509451 0.400496
+vn 0.900181 -0.150323 0.408752
+vn 0.477147 -0.835609 0.272193
+vn 0.395641 -0.878848 0.266635
+vn 0.923868 0.131166 0.359533
+vn 0.953022 0.152332 0.261810
+vn 0.936541 -0.065113 0.344459
+vn 0.952226 -0.163208 0.258127
+vn 0.936541 -0.065113 0.344459
+vn 0.952226 -0.163208 0.258127
+vn 0.907663 -0.192494 0.372953
+vn 0.871335 -0.332638 0.360733
+vn 0.628680 -0.653690 0.421249
+vn 0.598745 -0.628037 0.497064
+vn 0.254329 -0.915375 0.312097
+vn 0.598745 -0.628037 0.497064
+vn 0.298728 -0.843237 0.446892
+vn 0.315392 -0.716585 0.622121
+vn 0.503384 -0.001170 0.864062
+vn 0.677673 0.173015 0.714721
+vn 0.503384 -0.001170 0.864062
+vn 0.629364 0.600370 0.493414
+vn 0.954237 0.031283 0.297411
+vn 0.972339 0.049771 0.228211
+vn 0.974724 0.012417 0.223065
+vn 0.995030 0.019825 0.097579
+vn 0.974724 0.012417 0.223065
+vn 0.995030 0.019825 0.097579
+vn 0.999607 0.005976 0.027389
+vn 0.998593 -0.003776 -0.052889
+vn 0.999607 0.005976 0.027389
+vn 0.755256 0.048646 -0.653622
+vn 0.999142 -0.030969 0.027486
+vn 0.797724 -0.032709 -0.602134
+vn 0.402480 -0.042731 -0.914431
+vn 0.797724 -0.032709 -0.602134
+vn 0.361367 0.025418 -0.932077
+vn 0.755256 0.048646 -0.653622
+vn 0.720285 0.505202 -0.475353
+vn 0.495013 0.316608 -0.809149
+vn 0.346387 0.807287 -0.477811
+vn 0.306329 0.460799 -0.832963
+vn 0.326643 0.907033 -0.265700
+vn 0.346387 0.807287 -0.477811
+vn 0.084841 0.944765 -0.316578
+vn 0.156367 0.841284 -0.517485
+vn 0.227816 0.964985 -0.130017
+vn 0.326643 0.907033 -0.265700
+vn 0.029236 0.987915 -0.152214
+vn 0.084841 0.944765 -0.316578
+vn 0.227816 0.964985 -0.130017
+vn -0.115349 0.990075 -0.080283
+vn -0.108249 0.980080 -0.166511
+vn -0.360938 0.921185 -0.145402
+vn -0.036254 0.997522 0.060297
+vn -0.031613 0.999397 0.014353
+vn -0.017026 0.998531 0.051449
+vn -0.008683 0.999765 0.019884
+vn -0.151694 0.988170 -0.022553
+vn -0.115349 0.990075 -0.080283
+vn -0.031613 0.999397 0.014353
+vn -0.004777 0.999637 -0.026527
+vn -0.817579 0.570888 0.075178
+vn -0.176857 0.968552 0.175009
+vn -0.889227 0.409050 0.204827
+vn -0.570309 0.768669 0.289647
+vn -0.843711 0.533893 -0.055760
+vn -0.774743 0.632173 -0.011461
+vn -0.386377 0.905848 0.173646
+vn -0.349020 0.915949 0.198046
+vn -0.401684 0.909915 -0.103462
+vn -0.360938 0.921185 -0.145402
+vn -0.151694 0.988170 -0.022553
+vn -0.115349 0.990075 -0.080283
+vn -0.401684 0.909915 -0.103462
+vn -0.346466 0.936750 -0.049616
+vn -0.360938 0.921185 -0.145402
+vn -0.108249 0.980080 -0.166511
+vn 0.923868 0.131166 0.359533
+vn 0.817926 0.436860 0.374366
+vn 0.953022 0.152332 0.261810
+vn 0.777929 0.561216 0.282600
+vn 0.437301 0.807428 0.396015
+vn 0.074358 0.925354 0.371740
+vn 0.490388 0.596713 0.635179
+vn 0.290203 0.680998 0.672327
+vn 0.074358 0.925354 0.371740
+vn 0.173101 0.917527 0.358023
+vn -0.100016 0.944156 0.313954
+vn -0.092760 0.952071 0.291474
+vn 0.857479 -0.370162 0.357365
+vn 0.909202 -0.127962 0.396203
+vn 0.311386 -0.926001 0.213449
+vn 0.875426 -0.456207 0.159705
+vn 0.842209 -0.301714 0.446826
+vn 0.292632 -0.893583 0.340407
+vn 0.541383 -0.671418 0.506065
+vn 0.505860 -0.693243 0.513341
+vn 0.842209 -0.301714 0.446826
+vn 0.635884 -0.450605 0.626583
+vn 0.292632 -0.893583 0.340407
+vn 0.121910 -0.967245 0.222654
+vn 0.395641 -0.878848 0.266635
+vn 0.424115 -0.858631 0.287889
+vn 0.637751 -0.505036 0.581560
+vn 0.395641 -0.878848 0.266635
+vn 0.311386 -0.926001 0.213449
+vn 0.424115 -0.858631 0.287889
+vn 0.875426 -0.456207 0.159705
+vn 0.628680 -0.653690 0.421249
+vn 0.317683 -0.875433 0.364273
+vn 0.598745 -0.628037 0.497064
+vn 0.298728 -0.843237 0.446892
+vn 0.503384 -0.001170 0.864062
+vn 0.298728 -0.843237 0.446892
+vn -0.499267 -0.140126 0.855042
+vn -0.165009 -0.960561 0.223817
+vn 0.503384 -0.001170 0.864062
+vn 0.593327 0.751956 0.287273
+vn 0.629364 0.600370 0.493414
+vn 0.696406 0.644984 0.314664
+vn 0.954237 0.031283 0.297411
+vn 0.942625 -0.018647 0.333333
+vn 0.861430 -0.166650 0.479756
+vn 0.910365 -0.050884 0.410665
+vn 0.912959 0.175891 0.368195
+vn 0.881885 0.216035 0.419057
+vn 0.910365 -0.050884 0.410665
+vn 0.884957 -0.106552 0.453318
+vn 0.972339 0.049771 0.228211
+vn 0.954237 0.031283 0.297411
+vn 0.892372 -0.061363 0.447110
+vn 0.861430 -0.166650 0.479756
+vn 0.999607 0.005976 0.027389
+vn 0.998593 -0.003776 -0.052889
+vn 0.755256 0.048646 -0.653622
+vn 0.763365 0.027654 -0.645375
+vn 0.402480 -0.042731 -0.914431
+vn 0.361367 0.025418 -0.932077
+vn 0.283454 -0.060886 -0.957051
+vn 0.225123 -0.025806 -0.973989
+vn 0.402480 -0.042731 -0.914431
+vn 0.283454 -0.060886 -0.957051
+vn 0.410687 -0.118403 -0.904056
+vn 0.293818 -0.124253 -0.947751
+vn 0.410687 -0.118403 -0.904056
+vn 0.293818 -0.124253 -0.947751
+vn 0.423969 -0.115699 -0.898256
+vn 0.298407 -0.121963 -0.946614
+vn 0.495013 0.316608 -0.809149
+vn 0.436952 -0.023886 -0.899168
+vn 0.306329 0.460799 -0.832963
+vn 0.303089 0.025829 -0.952612
+vn 0.423969 -0.115699 -0.898256
+vn 0.298407 -0.121963 -0.946614
+vn 0.436952 -0.023886 -0.899168
+vn 0.303089 0.025829 -0.952612
+vn 0.029236 0.987915 -0.152214
+vn -0.004777 0.999637 -0.026527
+vn 0.227816 0.964985 -0.130017
+vn -0.115349 0.990075 -0.080283
+vn -0.108249 0.980080 -0.166511
+vn -0.346466 0.936750 -0.049616
+vn 0.130525 0.988780 -0.072643
+vn 0.061706 0.998077 0.005932
+vn -0.817579 0.570888 0.075178
+vn -0.889227 0.409050 0.204827
+vn -0.978051 0.201139 -0.054407
+vn -0.980755 -0.193934 -0.022584
+vn -0.856440 0.511799 -0.067618
+vn -0.817579 0.570888 0.075178
+vn -0.963090 0.228290 -0.142624
+vn -0.978051 0.201139 -0.054407
+vn -0.843711 0.533893 -0.055760
+vn -0.856440 0.511799 -0.067618
+vn -0.977109 0.091871 -0.191877
+vn -0.978241 0.076310 -0.192930
+vn -0.774743 0.632173 -0.011461
+vn -0.843711 0.533893 -0.055760
+vn -0.975863 0.110029 -0.188638
+vn -0.977109 0.091871 -0.191877
+vn 0.817926 0.436860 0.374366
+vn 0.645202 0.650333 0.400975
+vn 0.777929 0.561216 0.282600
+vn 0.645894 0.674417 0.357747
+vn 0.645202 0.650333 0.400975
+vn 0.437301 0.807428 0.396015
+vn 0.527798 0.602955 0.598226
+vn 0.490388 0.596713 0.635179
+vn -0.100016 0.944156 0.313954
+vn -0.137593 0.892266 0.430035
+vn 0.074358 0.925354 0.371740
+vn -0.099399 0.814121 0.572124
+vn -0.092760 0.952071 0.291474
+vn -0.349020 0.915949 0.198046
+vn -0.100016 0.944156 0.313954
+vn -0.275879 0.924209 0.264062
+vn -0.774743 0.632173 -0.011461
+vn -0.586286 0.805859 0.082823
+vn -0.349020 0.915949 0.198046
+vn -0.275879 0.924209 0.264062
+vn 0.876215 -0.257600 0.407295
+vn 0.683773 -0.500328 0.531156
+vn 0.857479 -0.370162 0.357365
+vn 0.909202 -0.127962 0.396203
+vn 0.380276 -0.916433 0.124661
+vn 0.561667 -0.801058 0.206972
+vn 0.876215 -0.257600 0.407295
+vn 0.683773 -0.500328 0.531156
+vn 0.490732 -0.829858 0.265551
+vn 0.842209 -0.301714 0.446826
+vn 0.541383 -0.671418 0.506065
+vn 0.635884 -0.450605 0.626583
+vn 0.577370 -0.042831 0.815358
+vn 0.093778 -0.672494 0.734137
+vn 0.055526 0.048915 0.997258
+vn 0.577370 -0.042831 0.815358
+vn 0.832653 -0.145709 0.534283
+vn 0.407445 0.114115 0.906072
+vn 0.790614 -0.091590 0.605427
+vn 0.877013 -0.196902 0.438267
+vn 0.800429 -0.094762 0.591890
+vn 0.790614 -0.091590 0.605427
+vn 0.621863 0.084994 0.778500
+vn 0.877013 -0.196902 0.438267
+vn 0.837755 -0.275117 0.471675
+vn 0.800429 -0.094762 0.591890
+vn 0.745238 -0.178444 0.642478
+vn 0.907663 -0.192494 0.372953
+vn 0.871335 -0.332638 0.360733
+vn 0.837755 -0.275117 0.471675
+vn 0.780816 -0.378596 0.496982
+vn 0.900181 -0.150323 0.408752
+vn 0.898501 -0.140233 0.415969
+vn 0.477147 -0.835609 0.272193
+vn 0.883609 -0.421782 0.203311
+vn 0.395641 -0.878848 0.266635
+vn 0.637751 -0.505036 0.581560
+vn 0.900181 -0.150323 0.408752
+vn 0.898501 -0.140233 0.415969
+vn 0.953022 0.152332 0.261810
+vn 0.972400 0.221016 0.074770
+vn 0.952226 -0.163208 0.258127
+vn 0.934023 -0.330209 0.136246
+vn 0.952226 -0.163208 0.258127
+vn 0.934023 -0.330209 0.136246
+vn 0.871335 -0.332638 0.360733
+vn 0.839808 -0.448800 0.305453
+vn 0.317683 -0.875433 0.364273
+vn 0.628680 -0.653690 0.421249
+vn 0.347289 -0.890789 0.293063
+vn 0.657204 -0.649103 0.383077
+vn 0.317683 -0.875433 0.364273
+vn -0.101233 -0.975782 0.193910
+vn 0.298728 -0.843237 0.446892
+vn -0.165009 -0.960561 0.223817
+vn 0.503384 -0.001170 0.864062
+vn -0.499267 -0.140126 0.855042
+vn 0.593327 0.751956 0.287273
+vn 0.064760 0.997897 0.002614
+vn 0.657204 -0.649103 0.383077
+vn 0.896491 -0.388385 0.213214
+vn 0.347289 -0.890789 0.293063
+vn 0.677673 0.173015 0.714721
+vn 0.629364 0.600370 0.493414
+vn 0.912959 0.175891 0.368195
+vn 0.881885 0.216035 0.419057
+vn 0.912959 0.175891 0.368195
+vn 0.736625 0.594721 0.322011
+vn 0.861430 -0.166650 0.479756
+vn 0.910365 -0.050884 0.410665
+vn 0.784441 -0.392370 0.480310
+vn 0.884957 -0.106552 0.453318
+vn 0.892372 -0.061363 0.447110
+vn 0.910978 -0.078204 0.404974
+vn 0.972339 0.049771 0.228211
+vn 0.991808 0.053172 0.116143
+vn 0.972339 0.049771 0.228211
+vn 0.991808 0.053172 0.116143
+vn 0.995030 0.019825 0.097579
+vn 0.954150 0.121652 -0.273494
+vn 0.998593 -0.003776 -0.052889
+vn 0.995030 0.019825 0.097579
+vn 0.763365 0.027654 -0.645375
+vn 0.954150 0.121652 -0.273494
+vn 0.755256 0.048646 -0.653622
+vn 0.763365 0.027654 -0.645375
+vn 0.361367 0.025418 -0.932077
+vn 0.347744 0.080405 -0.934135
+vn 0.346387 0.807287 -0.477811
+vn 0.306329 0.460799 -0.832963
+vn 0.156367 0.841284 -0.517485
+vn 0.236070 0.598759 -0.765348
+vn 0.156367 0.841284 -0.517485
+vn -0.033319 0.812427 -0.582110
+vn 0.084841 0.944765 -0.316578
+vn -0.134495 0.916442 -0.376889
+vn 0.084841 0.944765 -0.316578
+vn -0.134495 0.916442 -0.376889
+vn 0.029236 0.987915 -0.152214
+vn -0.149275 0.955594 -0.254081
+vn 0.029236 0.987915 -0.152214
+vn -0.149275 0.955594 -0.254081
+vn -0.004777 0.999637 -0.026527
+vn 0.010922 0.999895 -0.009504
+vn -0.031613 0.999397 0.014353
+vn -0.004777 0.999637 -0.026527
+vn -0.008683 0.999765 0.019884
+vn 0.010922 0.999895 -0.009504
+vn -0.889227 0.409050 0.204827
+vn -0.570309 0.768669 0.289647
+vn -0.966780 0.235096 0.100329
+vn -0.634000 0.743993 0.210993
+vn -0.570309 0.768669 0.289647
+vn -0.176857 0.968552 0.175009
+vn -0.250080 0.937902 0.240417
+vn 0.216178 0.936259 0.276924
+vn -0.856440 0.511799 -0.067618
+vn -0.963090 0.228290 -0.142624
+vn -0.978241 0.076310 -0.192930
+vn -0.978731 0.017542 -0.204397
+vn -0.975863 0.110029 -0.188638
+vn -0.967001 0.131062 -0.218476
+vn -0.774743 0.632173 -0.011461
+vn -0.887573 0.436584 -0.146999
+vn 0.953022 0.152332 0.261810
+vn 0.777929 0.561216 0.282600
+vn 0.972400 0.221016 0.074770
+vn 0.809982 0.523531 0.264279
+vn 0.527798 0.602955 0.598226
+vn 0.543919 0.653093 0.526899
+vn 0.645202 0.650333 0.400975
+vn 0.645894 0.674417 0.357747
+vn 0.527798 0.602955 0.598226
+vn 0.490388 0.596713 0.635179
+vn 0.745238 -0.178444 0.642478
+vn 0.800429 -0.094762 0.591890
+vn 0.490388 0.596713 0.635179
+vn 0.290203 0.680998 0.672327
+vn 0.800429 -0.094762 0.591890
+vn 0.621863 0.084994 0.778500
+vn 0.074358 0.925354 0.371740
+vn -0.099399 0.814121 0.572124
+vn 0.290203 0.680998 0.672327
+vn 0.068171 0.608701 0.790466
+vn -0.100016 0.944156 0.313954
+vn -0.275879 0.924209 0.264062
+vn -0.137593 0.892266 0.430035
+vn -0.251790 0.813378 0.524421
+vn -0.774743 0.632173 -0.011461
+vn -0.887573 0.436584 -0.146999
+vn -0.586286 0.805859 0.082823
+vn -0.759353 0.650059 -0.028411
+vn 0.380276 -0.916433 0.124661
+vn 0.448239 -0.883399 0.136706
+vn 0.561667 -0.801058 0.206972
+vn 0.922612 -0.362316 0.132343
+vn 0.456586 -0.873470 0.169053
+vn 0.718342 -0.462878 0.519354
+vn 0.492928 -0.853353 0.169739
+vn 0.911958 -0.117287 0.393163
+vn 0.492928 -0.853353 0.169739
+vn 0.911958 -0.117287 0.393163
+vn 0.448239 -0.883399 0.136706
+vn 0.922612 -0.362316 0.132343
+vn 0.683773 -0.500328 0.531156
+vn 0.633327 -0.411993 0.655102
+vn 0.909202 -0.127962 0.396203
+vn 0.897158 -0.236536 0.373039
+vn 0.909202 -0.127962 0.396203
+vn 0.897158 -0.236536 0.373039
+vn 0.875426 -0.456207 0.159705
+vn 0.970536 -0.193496 -0.143597
+vn 0.428649 -0.890211 0.154219
+vn 0.443542 -0.880971 0.164807
+vn 0.926793 -0.207357 0.313142
+vn 0.505860 -0.693243 0.513341
+vn 0.360274 -0.855570 0.371757
+vn 0.541383 -0.671418 0.506065
+vn 0.529528 -0.708771 0.466094
+vn 0.292632 -0.893583 0.340407
+vn 0.121910 -0.967245 0.222654
+vn 0.505860 -0.693243 0.513341
+vn 0.402762 -0.737083 0.542671
+vn 0.121910 -0.967245 0.222654
+vn 0.635884 -0.450605 0.626583
+vn 0.054485 -0.953838 0.295337
+vn 0.093778 -0.672494 0.734137
+vn 0.407445 0.114115 0.906072
+vn -0.048686 0.251827 0.966547
+vn 0.577370 -0.042831 0.815358
+vn 0.055526 0.048915 0.997258
+vn 0.407445 0.114115 0.906072
+vn 0.790614 -0.091590 0.605427
+vn 0.129880 0.321914 0.937818
+vn 0.621863 0.084994 0.778500
+vn 0.690383 -0.617315 0.377218
+vn 0.443850 -0.843770 0.301743
+vn 0.837526 -0.325262 0.439039
+vn 0.604684 -0.562376 0.563995
+vn 0.477147 -0.835609 0.272193
+vn 0.883609 -0.421782 0.203311
+vn 0.690383 -0.617315 0.377218
+vn 0.443850 -0.843770 0.301743
+vn 0.875426 -0.456207 0.159705
+vn 0.078628 -0.926189 -0.368770
+vn 0.424115 -0.858631 0.287889
+vn -0.039106 -0.992443 0.116307
+vn 0.637751 -0.505036 0.581560
+vn 0.424115 -0.858631 0.287889
+vn -0.113172 -0.911127 0.396283
+vn -0.039106 -0.992443 0.116307
+vn 0.347289 -0.890789 0.293063
+vn -0.048070 -0.988869 0.140807
+vn 0.317683 -0.875433 0.364273
+vn -0.101233 -0.975782 0.193910
+vn -0.165009 -0.960561 0.223817
+vn -0.583948 -0.811690 0.012813
+vn -0.499267 -0.140126 0.855042
+vn -0.998278 -0.050278 0.030229
+vn 0.837526 -0.325262 0.439039
+vn 0.604684 -0.562376 0.563995
+vn 0.761619 -0.509451 0.400496
+vn 0.896333 -0.150513 0.417053
+vn 0.761619 -0.509451 0.400496
+vn 0.896333 -0.150513 0.417053
+vn 0.657204 -0.649103 0.383077
+vn 0.896491 -0.388385 0.213214
+vn 0.696406 0.644984 0.314664
+vn 0.593327 0.751956 0.287273
+vn 0.879749 0.299749 0.369042
+vn 0.875275 0.426696 0.227650
+vn 0.629364 0.600370 0.493414
+vn 0.696406 0.644984 0.314664
+vn 0.912959 0.175891 0.368195
+vn 0.736625 0.594721 0.322011
+vn 0.892372 -0.061363 0.447110
+vn 0.861430 -0.166650 0.479756
+vn 0.542857 -0.394506 0.741398
+vn 0.555099 -0.529557 0.641432
+vn 0.861430 -0.166650 0.479756
+vn 0.784441 -0.392370 0.480310
+vn 0.555099 -0.529557 0.641432
+vn 0.450519 -0.771932 0.448502
+vn 0.881885 0.216035 0.419057
+vn 0.889665 0.099200 0.445707
+vn 0.884957 -0.106552 0.453318
+vn 0.869700 -0.202105 0.450306
+vn 0.910978 -0.078204 0.404974
+vn 0.892372 -0.061363 0.447110
+vn 0.542561 -0.359405 0.759246
+vn 0.542857 -0.394506 0.741398
+vn 0.361367 0.025418 -0.932077
+vn 0.347744 0.080405 -0.934135
+vn 0.225123 -0.025806 -0.973989
+vn 0.138026 0.063752 -0.988375
+vn 0.283454 -0.060886 -0.957051
+vn 0.225123 -0.025806 -0.973989
+vn 0.167875 -0.077109 -0.982788
+vn 0.103726 -0.085058 -0.990962
+vn 0.293818 -0.124253 -0.947751
+vn 0.283454 -0.060886 -0.957051
+vn 0.163208 -0.120197 -0.979243
+vn 0.167875 -0.077109 -0.982788
+vn 0.298407 -0.121963 -0.946614
+vn 0.293818 -0.124253 -0.947751
+vn 0.145510 -0.117331 -0.982375
+vn 0.163208 -0.120197 -0.979243
+vn 0.306329 0.460799 -0.832963
+vn 0.303089 0.025829 -0.952612
+vn 0.236070 0.598759 -0.765348
+vn 0.220518 0.469237 -0.855096
+vn 0.303089 0.025829 -0.952612
+vn 0.298407 -0.121963 -0.946614
+vn 0.135145 -0.023843 -0.990539
+vn 0.145510 -0.117331 -0.982375
+vn -0.033319 0.812427 -0.582110
+vn 0.156367 0.841284 -0.517485
+vn 0.220518 0.469237 -0.855096
+vn 0.236070 0.598759 -0.765348
+vn -0.963090 0.228290 -0.142624
+vn -0.978051 0.201139 -0.054407
+vn -0.966008 0.217227 -0.140149
+vn -0.909253 0.410491 -0.068970
+vn -0.969805 0.215842 -0.113534
+vn -0.978051 0.201139 -0.054407
+vn -0.730592 -0.658016 -0.182350
+vn -0.980755 -0.193934 -0.022584
+vn -0.889227 0.409050 0.204827
+vn -0.966780 0.235096 0.100329
+vn -0.980755 -0.193934 -0.022584
+vn -0.955162 -0.286081 -0.076315
+vn -0.570309 0.768669 0.289647
+vn -0.250080 0.937902 0.240417
+vn -0.634000 0.743993 0.210993
+vn -0.076784 0.968887 0.235291
+vn -0.977109 0.091871 -0.191877
+vn -0.978241 0.076310 -0.192930
+vn -0.977047 -0.072753 -0.200217
+vn -0.978542 -0.058784 -0.197483
+vn -0.975863 0.110029 -0.188638
+vn -0.977109 0.091871 -0.191877
+vn -0.975417 -0.065218 -0.210495
+vn -0.977047 -0.072753 -0.200217
+vn -0.975863 0.110029 -0.188638
+vn -0.975417 -0.065218 -0.210495
+vn -0.967001 0.131062 -0.218476
+vn -0.969079 -0.064992 -0.238037
+vn 0.777929 0.561216 0.282600
+vn 0.645894 0.674417 0.357747
+vn 0.809982 0.523531 0.264279
+vn 0.791450 0.484517 0.372626
+vn 0.543919 0.653093 0.526899
+vn 0.527798 0.602955 0.598226
+vn 0.717411 -0.094517 0.690208
+vn 0.745238 -0.178444 0.642478
+vn -0.099399 0.814121 0.572124
+vn -0.137593 0.892266 0.430035
+vn -0.271457 0.460312 0.845236
+vn -0.251790 0.813378 0.524421
+vn -0.586286 0.805859 0.082823
+vn -0.763987 0.594667 0.250389
+vn -0.275879 0.924209 0.264062
+vn -0.623339 0.677973 0.389617
+vn 0.393877 -0.908493 0.139646
+vn 0.599286 -0.768775 0.223253
+vn 0.456586 -0.873470 0.169053
+vn 0.718342 -0.462878 0.519354
+vn 0.393877 -0.908493 0.139646
+vn 0.509438 -0.842490 0.175167
+vn 0.599286 -0.768775 0.223253
+vn 0.918841 -0.380777 0.103632
+vn 0.683773 -0.500328 0.531156
+vn 0.561667 -0.801058 0.206972
+vn -0.077198 -0.938562 0.336366
+vn 0.007229 -0.999114 -0.041451
+vn 0.633327 -0.411993 0.655102
+vn 0.683773 -0.500328 0.531156
+vn -0.158658 -0.696392 0.699905
+vn -0.077198 -0.938562 0.336366
+vn 0.490732 -0.829858 0.265551
+vn 0.659548 -0.381591 0.647599
+vn 0.443542 -0.880971 0.164807
+vn 0.909955 -0.090194 0.404781
+vn 0.541383 -0.671418 0.506065
+vn 0.529528 -0.708771 0.466094
+vn 0.490732 -0.829858 0.265551
+vn 0.659548 -0.381591 0.647599
+vn 0.360274 -0.855570 0.371757
+vn 0.505860 -0.693243 0.513341
+vn 0.451831 -0.776419 0.439343
+vn 0.402762 -0.737083 0.542671
+vn 0.054485 -0.953838 0.295337
+vn 0.197265 -0.747926 0.633793
+vn 0.121910 -0.967245 0.222654
+vn 0.402762 -0.737083 0.542671
+vn 0.054485 -0.953838 0.295337
+vn 0.093778 -0.672494 0.734137
+vn -0.008457 -0.947863 0.318566
+vn -0.042650 -0.731881 0.680096
+vn 0.093778 -0.672494 0.734137
+vn 0.055526 0.048915 0.997258
+vn -0.042650 -0.731881 0.680096
+vn -0.105417 -0.033884 0.993851
+vn -0.048686 0.251827 0.966547
+vn 0.407445 0.114115 0.906072
+vn -0.271457 0.460312 0.845236
+vn 0.129880 0.321914 0.937818
+vn 0.837755 -0.275117 0.471675
+vn 0.780816 -0.378596 0.496982
+vn 0.745238 -0.178444 0.642478
+vn 0.717411 -0.094517 0.690208
+vn 0.780816 -0.378596 0.496982
+vn 0.871335 -0.332638 0.360733
+vn 0.759703 -0.453987 0.465561
+vn 0.839808 -0.448800 0.305453
+vn 0.637751 -0.505036 0.581560
+vn 0.619756 -0.418228 0.664069
+vn 0.898501 -0.140233 0.415969
+vn 0.874979 -0.257565 0.409967
+vn 0.898501 -0.140233 0.415969
+vn 0.874979 -0.257565 0.409967
+vn 0.883609 -0.421782 0.203311
+vn 0.972457 -0.231980 -0.022648
+vn 0.875426 -0.456207 0.159705
+vn 0.970536 -0.193496 -0.143597
+vn 0.078628 -0.926189 -0.368770
+vn 0.227739 -0.196983 -0.953589
+vn -0.113172 -0.911127 0.396283
+vn -0.206217 -0.698260 0.685498
+vn 0.637751 -0.505036 0.581560
+vn 0.619756 -0.418228 0.664069
+vn 0.972400 0.221016 0.074770
+vn 0.949544 0.143209 0.279031
+vn 0.934023 -0.330209 0.136246
+vn 0.937088 -0.126645 0.325311
+vn 0.934023 -0.330209 0.136246
+vn 0.937088 -0.126645 0.325311
+vn 0.839808 -0.448800 0.305453
+vn 0.908721 -0.134690 0.395076
+vn -0.048070 -0.988869 0.140807
+vn 0.347289 -0.890789 0.293063
+vn 0.115542 -0.961895 -0.247806
+vn 0.896491 -0.388385 0.213214
+vn -0.101233 -0.975782 0.193910
+vn -0.048070 -0.988869 0.140807
+vn -0.507819 -0.861261 -0.018711
+vn -0.475821 -0.876649 -0.071279
+vn -0.101233 -0.975782 0.193910
+vn -0.507819 -0.861261 -0.018711
+vn -0.165009 -0.960561 0.223817
+vn -0.583948 -0.811690 0.012813
+vn 0.064760 0.997897 0.002614
+vn 0.188999 0.964282 -0.185578
+vn 0.593327 0.751956 0.287273
+vn 0.875275 0.426696 0.227650
+vn 0.064760 0.997897 0.002614
+vn -0.499267 -0.140126 0.855042
+vn -0.624487 0.742340 -0.242791
+vn -0.998278 -0.050278 0.030229
+vn 0.896333 -0.150513 0.417053
+vn 0.872294 -0.266391 0.410047
+vn 0.896491 -0.388385 0.213214
+vn 0.970849 -0.239689 0.001466
+vn 0.881885 0.216035 0.419057
+vn 0.736625 0.594721 0.322011
+vn 0.889665 0.099200 0.445707
+vn 0.796014 0.459850 0.393574
+vn 0.884957 -0.106552 0.453318
+vn 0.869700 -0.202105 0.450306
+vn 0.784441 -0.392370 0.480310
+vn 0.733455 -0.537073 0.416650
+vn 0.910978 -0.078204 0.404974
+vn 0.542561 -0.359405 0.759246
+vn 0.921431 -0.131090 0.365761
+vn 0.547087 -0.370022 0.750852
+vn 0.910978 -0.078204 0.404974
+vn 0.921431 -0.131090 0.365761
+vn 0.991808 0.053172 0.116143
+vn 0.997172 0.048829 0.057137
+vn 0.954150 0.121652 -0.273494
+vn 0.991808 0.053172 0.116143
+vn 0.923924 0.245794 -0.293172
+vn 0.997172 0.048829 0.057137
+vn 0.954150 0.121652 -0.273494
+vn 0.410631 0.278741 -0.868151
+vn 0.763365 0.027654 -0.645375
+vn 0.347744 0.080405 -0.934135
+vn 0.303089 0.025829 -0.952612
+vn 0.135145 -0.023843 -0.990539
+vn 0.220518 0.469237 -0.855096
+vn 0.029552 0.325226 -0.945174
+vn 0.220518 0.469237 -0.855096
+vn 0.029552 0.325226 -0.945174
+vn -0.033319 0.812427 -0.582110
+vn -0.382851 0.500025 -0.776788
+vn -0.033319 0.812427 -0.582110
+vn -0.382851 0.500025 -0.776788
+vn -0.134495 0.916442 -0.376889
+vn -0.554392 0.602551 -0.574092
+vn -0.149275 0.955594 -0.254081
+vn -0.134495 0.916442 -0.376889
+vn -0.516365 0.751809 -0.410062
+vn -0.554392 0.602551 -0.574092
+vn -0.963090 0.228290 -0.142624
+vn -0.966008 0.217227 -0.140149
+vn -0.978731 0.017542 -0.204397
+vn -0.982018 0.025293 -0.187083
+vn -0.980755 -0.193934 -0.022584
+vn -0.955162 -0.286081 -0.076315
+vn -0.730592 -0.658016 -0.182350
+vn -0.673802 -0.702656 -0.228616
+vn -0.966780 0.235096 0.100329
+vn -0.634000 0.743993 0.210993
+vn -0.952305 0.293224 -0.084471
+vn -0.680264 0.731460 0.046980
+vn -0.250080 0.937902 0.240417
+vn 0.216178 0.936259 0.276924
+vn -0.076784 0.968887 0.235291
+vn 0.315350 0.936708 0.152097
+vn -0.176857 0.968552 0.175009
+vn 0.594136 0.729776 0.338275
+vn 0.216178 0.936259 0.276924
+vn 0.639367 0.713704 0.286070
+vn -0.978241 0.076310 -0.192930
+vn -0.978731 0.017542 -0.204397
+vn -0.978542 -0.058784 -0.197483
+vn -0.974687 -0.036231 -0.220621
+vn -0.967001 0.131062 -0.218476
+vn -0.936566 0.152208 -0.315717
+vn -0.887573 0.436584 -0.146999
+vn -0.803184 0.560908 -0.200693
+vn 0.972400 0.221016 0.074770
+vn 0.809982 0.523531 0.264279
+vn 0.949544 0.143209 0.279031
+vn 0.899422 0.181835 0.397461
+vn 0.543919 0.653093 0.526899
+vn 0.731209 0.476314 0.488321
+vn 0.645894 0.674417 0.357747
+vn 0.791450 0.484517 0.372626
+vn 0.717411 -0.094517 0.690208
+vn 0.746899 -0.083691 0.659650
+vn 0.543919 0.653093 0.526899
+vn 0.731209 0.476314 0.488321
+vn 0.290203 0.680998 0.672327
+vn 0.068171 0.608701 0.790466
+vn 0.621863 0.084994 0.778500
+vn 0.129880 0.321914 0.937818
+vn 0.068171 0.608701 0.790466
+vn -0.099399 0.814121 0.572124
+vn 0.129880 0.321914 0.937818
+vn -0.271457 0.460312 0.845236
+vn -0.275879 0.924209 0.264062
+vn -0.623339 0.677973 0.389617
+vn -0.251790 0.813378 0.524421
+vn -0.513655 0.605345 0.608043
+vn -0.759353 0.650059 -0.028411
+vn -0.772314 0.602702 0.200700
+vn -0.586286 0.805859 0.082823
+vn -0.763987 0.594667 0.250389
+vn -0.887573 0.436584 -0.146999
+vn -0.803184 0.560908 -0.200693
+vn -0.759353 0.650059 -0.028411
+vn -0.735778 0.674132 -0.064625
+vn 0.507272 -0.843656 0.175839
+vn 0.628074 -0.742885 0.231614
+vn 0.573839 -0.786285 0.229052
+vn 0.677706 -0.466604 0.568327
+vn 0.573839 -0.786285 0.229052
+vn 0.677706 -0.466604 0.568327
+vn 0.604403 -0.765261 0.221524
+vn 0.911158 -0.114397 0.395859
+vn 0.604403 -0.765261 0.221524
+vn 0.911158 -0.114397 0.395859
+vn 0.509438 -0.842490 0.175167
+vn 0.918841 -0.380777 0.103632
+vn 0.922612 -0.362316 0.132343
+vn 0.142369 -0.835096 -0.531362
+vn 0.561667 -0.801058 0.206972
+vn 0.007229 -0.999114 -0.041451
+vn 0.718342 -0.462878 0.519354
+vn 0.599286 -0.768775 0.223253
+vn -0.075450 -0.946777 0.312922
+vn 0.019602 -0.999002 -0.040140
+vn 0.718342 -0.462878 0.519354
+vn 0.678955 -0.385612 0.624759
+vn 0.911958 -0.117287 0.393163
+vn 0.900467 -0.221657 0.374203
+vn 0.911958 -0.117287 0.393163
+vn 0.900467 -0.221657 0.374203
+vn 0.922612 -0.362316 0.132343
+vn 0.982394 -0.176128 -0.062291
+vn -0.158658 -0.696392 0.699905
+vn -0.101496 -0.883429 0.457440
+vn 0.633327 -0.411993 0.655102
+vn 0.492740 -0.684301 0.537531
+vn 0.633327 -0.411993 0.655102
+vn 0.492740 -0.684301 0.537531
+vn 0.897158 -0.236536 0.373039
+vn 0.692023 -0.682897 0.234001
+vn 0.897158 -0.236536 0.373039
+vn 0.692023 -0.682897 0.234001
+vn 0.970536 -0.193496 -0.143597
+vn 0.816241 -0.538320 -0.209672
+vn 0.428649 -0.890211 0.154219
+vn 0.926793 -0.207357 0.313142
+vn 0.661869 -0.694565 0.281972
+vn 0.949883 -0.310370 0.037330
+vn 0.443542 -0.880971 0.164807
+vn 0.909955 -0.090194 0.404781
+vn 0.926793 -0.207357 0.313142
+vn 0.949883 -0.310370 0.037330
+vn 0.451831 -0.776419 0.439343
+vn 0.393670 -0.910149 0.129047
+vn 0.360274 -0.855570 0.371757
+vn -0.006916 -0.996373 0.084813
+vn 0.360274 -0.855570 0.371757
+vn -0.006916 -0.996373 0.084813
+vn 0.529528 -0.708771 0.466094
+vn 0.097791 -0.963920 0.247577
+vn 0.197265 -0.747926 0.633793
+vn 0.054485 -0.953838 0.295337
+vn -0.008541 -0.762608 0.646804
+vn -0.008457 -0.947863 0.318566
+vn -0.048686 0.251827 0.966547
+vn -0.095309 0.181604 0.978742
+vn 0.055526 0.048915 0.997258
+vn -0.105417 -0.033884 0.993851
+vn 0.759703 -0.453987 0.465561
+vn 0.746899 -0.083691 0.659650
+vn 0.780816 -0.378596 0.496982
+vn 0.717411 -0.094517 0.690208
+vn 0.883609 -0.421782 0.203311
+vn 0.113199 -0.951421 -0.286330
+vn 0.443850 -0.843770 0.301743
+vn -0.036004 -0.991688 0.123528
+vn 0.604684 -0.562376 0.563995
+vn 0.443850 -0.843770 0.301743
+vn -0.127036 -0.921648 0.366642
+vn -0.036004 -0.991688 0.123528
+vn -0.039106 -0.992443 0.116307
+vn 0.078628 -0.926189 -0.368770
+vn -0.596796 -0.787491 -0.153926
+vn -0.788037 -0.307667 -0.533235
+vn -0.113172 -0.911127 0.396283
+vn -0.858050 -0.511664 -0.044157
+vn -0.206217 -0.698260 0.685498
+vn -0.918771 -0.391387 0.051738
+vn -0.039106 -0.992443 0.116307
+vn -0.596796 -0.787491 -0.153926
+vn -0.113172 -0.911127 0.396283
+vn -0.858050 -0.511664 -0.044157
+vn 0.839808 -0.448800 0.305453
+vn 0.908721 -0.134690 0.395076
+vn 0.759703 -0.453987 0.465561
+vn 0.893294 -0.136227 0.428331
+vn -0.048070 -0.988869 0.140807
+vn 0.115542 -0.961895 -0.247806
+vn -0.475821 -0.876649 -0.071279
+vn -0.786988 -0.365698 -0.496906
+vn 0.064760 0.997897 0.002614
+vn -0.624487 0.742340 -0.242791
+vn 0.188999 0.964282 -0.185578
+vn -0.785424 0.369743 -0.496387
+vn -0.583948 -0.811690 0.012813
+vn -0.507819 -0.861261 -0.018711
+vn -0.716040 -0.691594 -0.094783
+vn -0.656974 -0.739979 -0.144276
+vn -0.998278 -0.050278 0.030229
+vn -0.583948 -0.811690 0.012813
+vn -0.738468 -0.664842 0.112470
+vn -0.716040 -0.691594 -0.094783
+vn 0.604684 -0.562376 0.563995
+vn 0.620805 -0.430386 0.655262
+vn 0.896333 -0.150513 0.417053
+vn 0.872294 -0.266391 0.410047
+vn 0.896491 -0.388385 0.213214
+vn 0.970849 -0.239689 0.001466
+vn 0.115542 -0.961895 -0.247806
+vn 0.343732 -0.343456 -0.874006
+vn 0.875275 0.426696 0.227650
+vn 0.907813 0.140562 0.395117
+vn 0.879749 0.299749 0.369042
+vn 0.800324 0.499302 0.331931
+vn 0.696406 0.644984 0.314664
+vn 0.879749 0.299749 0.369042
+vn 0.736625 0.594721 0.322011
+vn 0.800324 0.499302 0.331931
+vn 0.542561 -0.359405 0.759246
+vn 0.542857 -0.394506 0.741398
+vn -0.028917 -0.503171 0.863703
+vn -0.099121 -0.616412 0.781160
+vn 0.542857 -0.394506 0.741398
+vn 0.555099 -0.529557 0.641432
+vn -0.099121 -0.616412 0.781160
+vn -0.134596 -0.812903 0.566633
+vn 0.555099 -0.529557 0.641432
+vn 0.450519 -0.771932 0.448502
+vn -0.134596 -0.812903 0.566633
+vn -0.085630 -0.957204 0.276455
+vn 0.784441 -0.392370 0.480310
+vn 0.733455 -0.537073 0.416650
+vn 0.450519 -0.771932 0.448502
+vn 0.363986 -0.885661 0.288303
+vn 0.869700 -0.202105 0.450306
+vn 0.889665 0.099200 0.445707
+vn 0.848098 -0.300589 0.436321
+vn 0.887800 -0.043966 0.458124
+vn 0.954150 0.121652 -0.273494
+vn 0.923924 0.245794 -0.293172
+vn 0.410631 0.278741 -0.868151
+vn 0.428777 0.505097 -0.749018
+vn 0.347744 0.080405 -0.934135
+vn 0.410631 0.278741 -0.868151
+vn 0.138026 0.063752 -0.988375
+vn 0.047257 0.309060 -0.949868
+vn 0.225123 -0.025806 -0.973989
+vn 0.138026 0.063752 -0.988375
+vn 0.103726 -0.085058 -0.990962
+vn -0.060961 -0.011486 -0.998074
+vn 0.167875 -0.077109 -0.982788
+vn 0.103726 -0.085058 -0.990962
+vn -0.313272 -0.059824 -0.947777
+vn -0.291871 -0.063247 -0.954364
+vn 0.163208 -0.120197 -0.979243
+vn 0.167875 -0.077109 -0.982788
+vn -0.331759 -0.098515 -0.938206
+vn -0.313272 -0.059824 -0.947777
+vn 0.145510 -0.117331 -0.982375
+vn 0.163208 -0.120197 -0.979243
+vn -0.366958 -0.079679 -0.926819
+vn -0.331759 -0.098515 -0.938206
+vn 0.145510 -0.117331 -0.982375
+vn -0.366958 -0.079679 -0.926819
+vn 0.135145 -0.023843 -0.990539
+vn -0.423454 0.059899 -0.903935
+vn -0.516365 0.751809 -0.410062
+vn -0.711335 0.539379 -0.450636
+vn -0.149275 0.955594 -0.254081
+vn -0.400099 0.846628 -0.350915
+vn -0.966008 0.217227 -0.140149
+vn -0.909253 0.410491 -0.068970
+vn -0.985407 0.033000 -0.166987
+vn -0.998777 0.034826 -0.035103
+vn -0.978051 0.201139 -0.054407
+vn -0.969805 0.215842 -0.113534
+vn -0.909253 0.410491 -0.068970
+vn -0.837964 0.541254 0.069717
+vn -0.730592 -0.658016 -0.182350
+vn -0.673802 -0.702656 -0.228616
+vn -0.969805 0.215842 -0.113534
+vn -0.977824 0.191661 -0.084419
+vn -0.955162 -0.286081 -0.076315
+vn -0.966780 0.235096 0.100329
+vn -0.965690 -0.172620 -0.194025
+vn -0.952305 0.293224 -0.084471
+vn -0.634000 0.743993 0.210993
+vn -0.076784 0.968887 0.235291
+vn -0.680264 0.731460 0.046980
+vn -0.159431 0.977102 0.140904
+vn -0.977047 -0.072753 -0.200217
+vn -0.978542 -0.058784 -0.197483
+vn -0.970168 -0.157522 -0.184286
+vn -0.975435 -0.133253 -0.175414
+vn -0.977047 -0.072753 -0.200217
+vn -0.970168 -0.157522 -0.184286
+vn -0.975417 -0.065218 -0.210495
+vn -0.966883 -0.171468 -0.189039
+vn -0.967001 0.131062 -0.218476
+vn -0.969079 -0.064992 -0.238037
+vn -0.936566 0.152208 -0.315717
+vn -0.933850 -0.163072 -0.318327
+vn -0.975417 -0.065218 -0.210495
+vn -0.966883 -0.171468 -0.189039
+vn -0.969079 -0.064992 -0.238037
+vn -0.961088 -0.192310 -0.198309
+vn 0.809982 0.523531 0.264279
+vn 0.791450 0.484517 0.372626
+vn 0.899422 0.181835 0.397461
+vn 0.911558 0.102936 0.398079
+vn -0.271457 0.460312 0.845236
+vn -0.251790 0.813378 0.524421
+vn -0.646748 0.316906 0.693749
+vn -0.513655 0.605345 0.608043
+vn -0.772314 0.602702 0.200700
+vn -0.759353 0.650059 -0.028411
+vn -0.745801 0.652845 0.132566
+vn -0.735778 0.674132 -0.064625
+vn -0.772314 0.602702 0.200700
+vn -0.977136 -0.178361 0.115729
+vn -0.763987 0.594667 0.250389
+vn -0.994635 -0.094553 0.041970
+vn -0.763987 0.594667 0.250389
+vn -0.994635 -0.094553 0.041970
+vn -0.623339 0.677973 0.389617
+vn -0.952677 0.083444 0.292306
+vn 0.507272 -0.843656 0.175839
+vn 0.591405 -0.783039 0.192587
+vn 0.628074 -0.742885 0.231614
+vn 0.953432 -0.280121 0.111805
+vn 0.918841 -0.380777 0.103632
+vn 0.174904 -0.827820 -0.533031
+vn 0.599286 -0.768775 0.223253
+vn 0.019602 -0.999002 -0.040140
+vn 0.922612 -0.362316 0.132343
+vn 0.982394 -0.176128 -0.062291
+vn 0.142369 -0.835096 -0.531362
+vn 0.266202 -0.207285 -0.941366
+vn -0.075450 -0.946777 0.312922
+vn -0.176086 -0.714934 0.676656
+vn 0.718342 -0.462878 0.519354
+vn 0.678955 -0.385612 0.624759
+vn -0.077198 -0.938562 0.336366
+vn -0.862566 -0.494272 -0.108052
+vn -0.158658 -0.696392 0.699905
+vn -0.908397 -0.409745 0.083207
+vn 0.007229 -0.999114 -0.041451
+vn -0.601439 -0.743988 -0.291125
+vn -0.077198 -0.938562 0.336366
+vn -0.862566 -0.494272 -0.108052
+vn -0.158658 -0.696392 0.699905
+vn -0.908397 -0.409745 0.083207
+vn -0.101496 -0.883429 0.457440
+vn -0.707839 -0.700247 0.092836
+vn 0.339167 -0.935837 0.095790
+vn 0.912404 -0.099385 0.397041
+vn 0.578108 -0.792663 0.193589
+vn 0.971366 -0.217390 0.095859
+vn 0.557730 -0.797058 0.231595
+vn 0.722685 -0.375372 0.580364
+vn 0.339167 -0.935837 0.095790
+vn 0.912404 -0.099385 0.397041
+vn 0.428649 -0.890211 0.154219
+vn 0.661869 -0.694565 0.281972
+vn 0.557730 -0.797058 0.231595
+vn 0.722685 -0.375372 0.580364
+vn 0.659548 -0.381591 0.647599
+vn 0.529528 -0.708771 0.466094
+vn -0.107433 -0.745979 0.657247
+vn 0.097791 -0.963920 0.247577
+vn 0.659548 -0.381591 0.647599
+vn 0.534660 -0.336065 0.775370
+vn 0.909955 -0.090194 0.404781
+vn 0.909476 -0.184061 0.372793
+vn 0.393670 -0.910149 0.129047
+vn 0.451831 -0.776419 0.439343
+vn 0.902999 -0.310798 0.296643
+vn 0.503862 -0.471831 0.723532
+vn 0.451831 -0.776419 0.439343
+vn 0.402762 -0.737083 0.542671
+vn 0.503862 -0.471831 0.723532
+vn 0.197265 -0.747926 0.633793
+vn -0.008541 -0.762608 0.646804
+vn 0.055991 -0.480399 0.875261
+vn 0.197265 -0.747926 0.633793
+vn 0.503862 -0.471831 0.723532
+vn -0.008541 -0.762608 0.646804
+vn -0.008457 -0.947863 0.318566
+vn -0.157961 -0.798827 0.580452
+vn -0.094885 -0.961402 0.258269
+vn -0.042650 -0.731881 0.680096
+vn -0.215893 -0.748799 0.626650
+vn -0.008457 -0.947863 0.318566
+vn -0.094885 -0.961402 0.258269
+vn -0.042650 -0.731881 0.680096
+vn -0.105417 -0.033884 0.993851
+vn -0.215893 -0.748799 0.626650
+vn -0.325877 0.032928 0.944839
+vn -0.095309 0.181604 0.978742
+vn -0.048686 0.251827 0.966547
+vn -0.306590 0.273647 0.911658
+vn -0.271457 0.460312 0.845236
+vn 0.746899 -0.083691 0.659650
+vn 0.759703 -0.453987 0.465561
+vn 0.849802 -0.028698 0.526320
+vn 0.893294 -0.136227 0.428331
+vn 0.883609 -0.421782 0.203311
+vn 0.972457 -0.231980 -0.022648
+vn 0.113199 -0.951421 -0.286330
+vn 0.317021 -0.316497 -0.894051
+vn -0.127036 -0.921648 0.366642
+vn -0.248715 -0.715748 0.652569
+vn 0.604684 -0.562376 0.563995
+vn 0.620805 -0.430386 0.655262
+vn -0.206217 -0.698260 0.685498
+vn -0.146565 -0.858898 0.490726
+vn 0.619756 -0.418228 0.664069
+vn 0.444409 -0.694478 0.565863
+vn 0.619756 -0.418228 0.664069
+vn 0.444409 -0.694478 0.565863
+vn 0.874979 -0.257565 0.409967
+vn 0.622759 -0.707250 0.334617
+vn 0.874979 -0.257565 0.409967
+vn 0.622759 -0.707250 0.334617
+vn 0.972457 -0.231980 -0.022648
+vn 0.771371 -0.636153 -0.017202
+vn 0.078628 -0.926189 -0.368770
+vn 0.227739 -0.196983 -0.953589
+vn -0.788037 -0.307667 -0.533235
+vn -0.655254 -0.107502 -0.747720
+vn 0.970536 -0.193496 -0.143597
+vn 0.816241 -0.538320 -0.209672
+vn 0.227739 -0.196983 -0.953589
+vn 0.189514 -0.671000 -0.716829
+vn 0.949544 0.143209 0.279031
+vn 0.822722 0.025690 0.567864
+vn 0.937088 -0.126645 0.325311
+vn 0.617964 0.564679 0.547044
+vn 0.937088 -0.126645 0.325311
+vn 0.617964 0.564679 0.547044
+vn 0.908721 -0.134690 0.395076
+vn 0.618940 0.715661 0.323638
+vn -0.507819 -0.861261 -0.018711
+vn -0.475821 -0.876649 -0.071279
+vn -0.656974 -0.739979 -0.144276
+vn -0.613800 -0.779392 -0.125688
+vn 0.188999 0.964282 -0.185578
+vn 0.448681 0.488052 -0.748660
+vn 0.875275 0.426696 0.227650
+vn 0.958577 0.279520 0.054764
+vn -0.998278 -0.050278 0.030229
+vn -0.942665 0.330435 -0.046852
+vn -0.624487 0.742340 -0.242791
+vn -0.898697 0.287244 -0.331414
+vn -0.998278 -0.050278 0.030229
+vn -0.738468 -0.664842 0.112470
+vn -0.318873 0.125716 0.939423
+vn -0.324191 -0.104786 0.940170
+vn 0.620805 -0.430386 0.655262
+vn 0.437664 -0.710965 0.550435
+vn 0.872294 -0.266391 0.410047
+vn 0.609376 -0.719071 0.334061
+vn 0.872294 -0.266391 0.410047
+vn 0.609376 -0.719071 0.334061
+vn 0.970849 -0.239689 0.001466
+vn 0.753036 -0.657686 0.019653
+vn 0.875275 0.426696 0.227650
+vn 0.958577 0.279520 0.054764
+vn 0.907813 0.140562 0.395117
+vn 0.883652 0.284201 0.372008
+vn 0.817261 0.479919 0.319001
+vn 0.736625 0.594721 0.322011
+vn 0.887958 0.226039 0.400546
+vn 0.800324 0.499302 0.331931
+vn 0.796014 0.459850 0.393574
+vn 0.795508 0.414516 0.441977
+vn 0.889665 0.099200 0.445707
+vn 0.887800 -0.043966 0.458124
+vn 0.736625 0.594721 0.322011
+vn 0.854483 0.373172 0.361389
+vn 0.796014 0.459850 0.393574
+vn 0.849454 0.325787 0.415079
+vn 0.542561 -0.359405 0.759246
+vn -0.028917 -0.503171 0.863703
+vn 0.547087 -0.370022 0.750852
+vn -0.000641 -0.460155 0.887838
+vn 0.733455 -0.537073 0.416650
+vn 0.869700 -0.202105 0.450306
+vn 0.706591 -0.591199 0.388861
+vn 0.848098 -0.300589 0.436321
+vn 0.921431 -0.131090 0.365761
+vn 0.547087 -0.370022 0.750852
+vn 0.925691 -0.156523 0.344379
+vn 0.569062 -0.382400 0.727969
+vn 0.997172 0.048829 0.057137
+vn 0.921431 -0.131090 0.365761
+vn 0.997926 0.041849 0.048905
+vn 0.925691 -0.156523 0.344379
+vn 0.923924 0.245794 -0.293172
+vn 0.997172 0.048829 0.057137
+vn 0.920132 0.292555 -0.260326
+vn 0.997926 0.041849 0.048905
+vn 0.135145 -0.023843 -0.990539
+vn -0.423454 0.059899 -0.903935
+vn 0.029552 0.325226 -0.945174
+vn -0.382851 0.500025 -0.776788
+vn -0.554392 0.602551 -0.574092
+vn -0.382851 0.500025 -0.776788
+vn -0.746345 0.123247 -0.654049
+vn -0.423454 0.059899 -0.903935
+vn -0.554392 0.602551 -0.574092
+vn -0.785298 0.498689 -0.366901
+vn -0.516365 0.751809 -0.410062
+vn -0.818184 0.464244 -0.339193
+vn -0.516365 0.751809 -0.410062
+vn -0.818184 0.464244 -0.339193
+vn -0.711335 0.539379 -0.450636
+vn -0.908154 -0.059141 -0.414437
+vn -0.966008 0.217227 -0.140149
+vn -0.985407 0.033000 -0.166987
+vn -0.982018 0.025293 -0.187083
+vn -0.974658 0.137836 -0.176192
+vn -0.982018 0.025293 -0.187083
+vn -0.981045 -0.077715 -0.177511
+vn -0.978731 0.017542 -0.204397
+vn -0.971448 -0.051914 -0.231503
+vn -0.955162 -0.286081 -0.076315
+vn -0.965690 -0.172620 -0.194025
+vn -0.673802 -0.702656 -0.228616
+vn -0.743116 -0.618402 -0.255649
+vn -0.952305 0.293224 -0.084471
+vn -0.680264 0.731460 0.046980
+vn -0.845137 0.386342 -0.369436
+vn -0.614751 0.743723 -0.262598
+vn -0.965690 -0.172620 -0.194025
+vn -0.952305 0.293224 -0.084471
+vn -0.907508 -0.160824 -0.388028
+vn -0.845137 0.386342 -0.369436
+vn -0.076784 0.968887 0.235291
+vn 0.315350 0.936708 0.152097
+vn -0.159431 0.977102 0.140904
+vn -0.054445 0.998082 -0.029477
+vn 0.216178 0.936259 0.276924
+vn 0.639367 0.713704 0.286070
+vn 0.315350 0.936708 0.152097
+vn 0.634769 0.744948 0.205234
+vn 0.594136 0.729776 0.338275
+vn 0.791440 0.557881 0.249783
+vn 0.639367 0.713704 0.286070
+vn 0.634769 0.744948 0.205234
+vn -0.978731 0.017542 -0.204397
+vn -0.971448 -0.051914 -0.231503
+vn -0.974687 -0.036231 -0.220621
+vn -0.967810 -0.019463 -0.250927
+vn -0.978542 -0.058784 -0.197483
+vn -0.974687 -0.036231 -0.220621
+vn -0.975435 -0.133253 -0.175414
+vn -0.972146 -0.049385 -0.229116
+vn -0.936566 0.152208 -0.315717
+vn -0.848153 0.220849 -0.481521
+vn -0.803184 0.560908 -0.200693
+vn -0.819506 0.523218 -0.233781
+vn 0.949544 0.143209 0.279031
+vn 0.899422 0.181835 0.397461
+vn 0.822722 0.025690 0.567864
+vn 0.761767 -0.468906 0.447033
+vn 0.731209 0.476314 0.488321
+vn 0.901475 0.158933 0.402595
+vn 0.791450 0.484517 0.372626
+vn 0.911558 0.102936 0.398079
+vn 0.746899 -0.083691 0.659650
+vn 0.849802 -0.028698 0.526320
+vn 0.731209 0.476314 0.488321
+vn 0.901475 0.158933 0.402595
+vn -0.646748 0.316906 0.693749
+vn -0.850599 0.109163 0.514358
+vn -0.271457 0.460312 0.845236
+vn -0.528002 0.245371 0.813023
+vn -0.623339 0.677973 0.389617
+vn -0.952677 0.083444 0.292306
+vn -0.513655 0.605345 0.608043
+vn -0.646748 0.316906 0.693749
+vn -0.745801 0.652845 0.132566
+vn -0.980757 -0.094483 0.170845
+vn -0.772314 0.602702 0.200700
+vn -0.977136 -0.178361 0.115729
+vn -0.803184 0.560908 -0.200693
+vn -0.819506 0.523218 -0.233781
+vn -0.735778 0.674132 -0.064625
+vn -0.864681 0.484214 -0.133654
+vn 0.677706 -0.466604 0.568327
+vn 0.628074 -0.742885 0.231614
+vn -0.147100 -0.880891 0.449881
+vn 0.027569 -0.999161 -0.030274
+vn 0.677706 -0.466604 0.568327
+vn 0.581385 -0.404435 0.705991
+vn 0.911158 -0.114397 0.395859
+vn 0.900453 -0.211708 0.379952
+vn 0.911158 -0.114397 0.395859
+vn 0.900453 -0.211708 0.379952
+vn 0.918841 -0.380777 0.103632
+vn 0.975908 -0.136873 -0.169911
+vn 0.918841 -0.380777 0.103632
+vn 0.975908 -0.136873 -0.169911
+vn 0.174904 -0.827820 -0.533031
+vn 0.305975 -0.098441 -0.946936
+vn 0.007229 -0.999114 -0.041451
+vn 0.142369 -0.835096 -0.531362
+vn -0.601439 -0.743988 -0.291125
+vn -0.786560 -0.255997 -0.561951
+vn -0.075450 -0.946777 0.312922
+vn -0.886378 -0.440307 -0.143050
+vn -0.176086 -0.714934 0.676656
+vn -0.931724 -0.363157 0.002664
+vn 0.019602 -0.999002 -0.040140
+vn -0.622505 -0.724949 -0.294851
+vn -0.075450 -0.946777 0.312922
+vn -0.886378 -0.440307 -0.143050
+vn -0.176086 -0.714934 0.676656
+vn -0.103744 -0.896023 0.431718
+vn 0.678955 -0.385612 0.624759
+vn 0.540813 -0.667962 0.511223
+vn 0.678955 -0.385612 0.624759
+vn 0.540813 -0.667962 0.511223
+vn 0.900467 -0.221657 0.374203
+vn 0.713174 -0.655088 0.249485
+vn 0.900467 -0.221657 0.374203
+vn 0.713174 -0.655088 0.249485
+vn 0.982394 -0.176128 -0.062291
+vn 0.831272 -0.544267 -0.112961
+vn -0.101496 -0.883429 0.457440
+vn 0.025128 -0.997713 -0.062747
+vn 0.492740 -0.684301 0.537531
+vn 0.692023 -0.682897 0.234001
+vn 0.692023 -0.682897 0.234001
+vn 0.025128 -0.997713 -0.062747
+vn 0.816241 -0.538320 -0.209672
+vn 0.189514 -0.671000 -0.716829
+vn 0.493956 -0.855310 0.156371
+vn 0.648589 -0.720568 0.245181
+vn 0.356900 -0.929141 0.096533
+vn 0.705533 -0.390467 0.591405
+vn 0.493956 -0.855310 0.156371
+vn 0.578108 -0.792663 0.193589
+vn 0.648589 -0.720568 0.245181
+vn 0.971366 -0.217390 0.095859
+vn 0.949883 -0.310370 0.037330
+vn 0.270165 -0.607246 -0.747170
+vn 0.661869 -0.694565 0.281972
+vn 0.041970 -0.999079 0.008960
+vn 0.909955 -0.090194 0.404781
+vn 0.909476 -0.184061 0.372793
+vn 0.949883 -0.310370 0.037330
+vn 0.948681 -0.105760 -0.298024
+vn 0.659548 -0.381591 0.647599
+vn -0.107433 -0.745979 0.657247
+vn 0.534660 -0.336065 0.775370
+vn -0.214804 -0.512800 0.831201
+vn 0.902999 -0.310798 0.296643
+vn 0.592912 -0.331623 -0.733813
+vn 0.393670 -0.910149 0.129047
+vn -0.014163 -0.913923 -0.405640
+vn 0.393670 -0.910149 0.129047
+vn -0.014163 -0.913923 -0.405640
+vn -0.006916 -0.996373 0.084813
+vn -0.829931 -0.554033 -0.065290
+vn -0.006916 -0.996373 0.084813
+vn -0.829931 -0.554033 -0.065290
+vn 0.097791 -0.963920 0.247577
+vn -0.107433 -0.745979 0.657247
+vn 0.055991 -0.480399 0.875261
+vn -0.008541 -0.762608 0.646804
+vn -0.420919 -0.758097 0.498112
+vn -0.157961 -0.798827 0.580452
+vn -0.105417 -0.033884 0.993851
+vn -0.095309 0.181604 0.978742
+vn -0.325877 0.032928 0.944839
+vn -0.306590 0.273647 0.911658
+vn -0.271457 0.460312 0.845236
+vn -0.528002 0.245371 0.813023
+vn -0.306590 0.273647 0.911658
+vn -0.514300 0.177769 0.838984
+vn -0.036004 -0.991688 0.123528
+vn 0.113199 -0.951421 -0.286330
+vn -0.542331 -0.832427 -0.113765
+vn -0.791405 -0.341715 -0.506861
+vn -0.127036 -0.921648 0.366642
+vn -0.843069 -0.536840 -0.032206
+vn -0.248715 -0.715748 0.652569
+vn -0.921698 -0.387143 0.024357
+vn -0.036004 -0.991688 0.123528
+vn -0.542331 -0.832427 -0.113765
+vn -0.127036 -0.921648 0.366642
+vn -0.843069 -0.536840 -0.032206
+vn -0.206217 -0.698260 0.685498
+vn -0.918771 -0.391387 0.051738
+vn -0.146565 -0.858898 0.490726
+vn -0.705810 -0.699427 0.112402
+vn -0.596796 -0.787491 -0.153926
+vn -0.788037 -0.307667 -0.533235
+vn -0.747637 -0.624367 -0.226285
+vn -0.786892 -0.537806 -0.302599
+vn -0.858050 -0.511664 -0.044157
+vn -0.596796 -0.787491 -0.153926
+vn -0.782189 -0.584991 -0.214396
+vn -0.747637 -0.624367 -0.226285
+vn -0.858050 -0.511664 -0.044157
+vn -0.930567 -0.077426 -0.357841
+vn -0.918771 -0.391387 0.051738
+vn -0.918787 -0.186450 -0.347946
+vn 0.908721 -0.134690 0.395076
+vn 0.618940 0.715661 0.323638
+vn 0.893294 -0.136227 0.428331
+vn 0.667076 0.726133 0.166556
+vn -0.475821 -0.876649 -0.071279
+vn -0.786988 -0.365698 -0.496906
+vn -0.613800 -0.779392 -0.125688
+vn -0.685739 -0.704123 -0.184318
+vn -0.786988 -0.365698 -0.496906
+vn 0.115542 -0.961895 -0.247806
+vn -0.690506 -0.163857 -0.704523
+vn 0.343732 -0.343456 -0.874006
+vn 0.188999 0.964282 -0.185578
+vn -0.785424 0.369743 -0.496387
+vn 0.448681 0.488052 -0.748660
+vn -0.709144 0.200082 -0.676079
+vn -0.785424 0.369743 -0.496387
+vn -0.624487 0.742340 -0.242791
+vn -0.892706 0.226722 -0.389452
+vn -0.898697 0.287244 -0.331414
+vn -0.998278 -0.050278 0.030229
+vn -0.318873 0.125716 0.939423
+vn -0.942665 0.330435 -0.046852
+vn -0.243176 0.451407 0.858544
+vn -0.738468 -0.664842 0.112470
+vn -0.716040 -0.691594 -0.094783
+vn -0.244472 -0.940516 0.235930
+vn -0.325619 -0.942848 0.070779
+vn -0.716040 -0.691594 -0.094783
+vn -0.656974 -0.739979 -0.144276
+vn -0.325619 -0.942848 0.070779
+vn -0.295110 -0.955075 0.027248
+vn -0.248715 -0.715748 0.652569
+vn -0.170589 -0.868492 0.465425
+vn 0.620805 -0.430386 0.655262
+vn 0.437664 -0.710965 0.550435
+vn 0.970849 -0.239689 0.001466
+vn 0.753036 -0.657686 0.019653
+vn 0.343732 -0.343456 -0.874006
+vn 0.200186 -0.850849 -0.485780
+vn 0.907813 0.140562 0.395117
+vn 0.720772 0.503611 0.476303
+vn 0.800324 0.499302 0.331931
+vn 0.887958 0.226039 0.400546
+vn 0.817261 0.479919 0.319001
+vn 0.918597 0.203312 0.338885
+vn 0.736625 0.594721 0.322011
+vn 0.864811 0.363047 0.346842
+vn 0.795508 0.414516 0.441977
+vn 0.796014 0.459850 0.393574
+vn 0.782682 0.437018 0.443197
+vn 0.849454 0.325787 0.415079
+vn 0.736625 0.594721 0.322011
+vn 0.860493 0.345141 0.374740
+vn 0.854483 0.373172 0.361389
+vn 0.856696 0.377049 0.352003
+vn -0.028917 -0.503171 0.863703
+vn -0.099121 -0.616412 0.781160
+vn -0.578644 -0.450482 0.679880
+vn -0.641622 -0.561115 0.522945
+vn -0.099121 -0.616412 0.781160
+vn -0.134596 -0.812903 0.566633
+vn -0.641622 -0.561115 0.522945
+vn -0.629255 -0.724739 0.280699
+vn -0.134596 -0.812903 0.566633
+vn -0.085630 -0.957204 0.276455
+vn -0.629255 -0.724739 0.280699
+vn -0.485335 -0.869509 0.091679
+vn 0.450519 -0.771932 0.448502
+vn 0.363986 -0.885661 0.288303
+vn -0.085630 -0.957204 0.276455
+vn -0.043392 -0.989535 0.137614
+vn 0.733455 -0.537073 0.416650
+vn 0.706591 -0.591199 0.388861
+vn 0.363986 -0.885661 0.288303
+vn 0.309959 -0.919579 0.241455
+vn 0.706591 -0.591199 0.388861
+vn 0.848098 -0.300589 0.436321
+vn 0.668401 -0.635665 0.386226
+vn 0.787558 -0.427864 0.443492
+vn 0.848098 -0.300589 0.436321
+vn 0.887800 -0.043966 0.458124
+vn 0.787558 -0.427864 0.443492
+vn 0.840771 -0.242574 0.484007
+vn 0.920132 0.292555 -0.260326
+vn 0.433943 0.610832 -0.662252
+vn 0.923924 0.245794 -0.293172
+vn 0.428777 0.505097 -0.749018
+vn 0.428777 0.505097 -0.749018
+vn 0.005051 0.550804 -0.834619
+vn 0.410631 0.278741 -0.868151
+vn 0.047257 0.309060 -0.949868
+vn 0.138026 0.063752 -0.988375
+vn 0.047257 0.309060 -0.949868
+vn -0.060961 -0.011486 -0.998074
+vn -0.320254 0.237018 -0.917202
+vn 0.103726 -0.085058 -0.990962
+vn -0.060961 -0.011486 -0.998074
+vn -0.291871 -0.063247 -0.954364
+vn -0.478081 -0.040997 -0.877358
+vn -0.313272 -0.059824 -0.947777
+vn -0.291871 -0.063247 -0.954364
+vn -0.843336 -0.016951 -0.537119
+vn -0.855965 0.044644 -0.515102
+vn -0.331759 -0.098515 -0.938206
+vn -0.313272 -0.059824 -0.947777
+vn -0.832354 -0.091256 -0.546680
+vn -0.843336 -0.016951 -0.537119
+vn -0.331759 -0.098515 -0.938206
+vn -0.832354 -0.091256 -0.546680
+vn -0.366958 -0.079679 -0.926819
+vn -0.787978 -0.074546 -0.611174
+vn -0.366958 -0.079679 -0.926819
+vn -0.787978 -0.074546 -0.611174
+vn -0.423454 0.059899 -0.903935
+vn -0.746345 0.123247 -0.654049
+vn -0.554392 0.602551 -0.574092
+vn -0.746345 0.123247 -0.654049
+vn -0.785298 0.498689 -0.366901
+vn -0.923249 0.104826 -0.369625
+vn -0.149275 0.955594 -0.254081
+vn -0.400099 0.846628 -0.350915
+vn 0.318734 0.946409 -0.052149
+vn -0.066587 0.988486 -0.135877
+vn -0.711335 0.539379 -0.450636
+vn -0.845137 0.386342 -0.369436
+vn -0.400099 0.846628 -0.350915
+vn -0.614751 0.743723 -0.262598
+vn -0.982018 0.025293 -0.187083
+vn -0.974658 0.137836 -0.176192
+vn -0.981045 -0.077715 -0.177511
+vn -0.993558 0.017081 -0.112031
+vn -0.985407 0.033000 -0.166987
+vn -0.998777 0.034826 -0.035103
+vn -0.959072 -0.225294 -0.171535
+vn -0.945198 -0.326270 -0.012155
+vn -0.909253 0.410491 -0.068970
+vn -0.837964 0.541254 0.069717
+vn -0.998777 0.034826 -0.035103
+vn -0.913248 0.394656 0.101116
+vn -0.969805 0.215842 -0.113534
+vn -0.977824 0.191661 -0.084419
+vn -0.837964 0.541254 0.069717
+vn -0.670772 0.724816 0.157185
+vn -0.673802 -0.702656 -0.228616
+vn -0.743116 -0.618402 -0.255649
+vn -0.977824 0.191661 -0.084419
+vn -0.884137 -0.436393 -0.166923
+vn -0.907508 -0.160824 -0.388028
+vn -0.729060 -0.590593 -0.345936
+vn -0.965690 -0.172620 -0.194025
+vn -0.743116 -0.618402 -0.255649
+vn -0.680264 0.731460 0.046980
+vn -0.159431 0.977102 0.140904
+vn -0.614751 0.743723 -0.262598
+vn -0.054445 0.998082 -0.029477
+vn -0.970168 -0.157522 -0.184286
+vn -0.975435 -0.133253 -0.175414
+vn -0.931025 -0.328896 -0.158175
+vn -0.883420 -0.456587 -0.105348
+vn -0.970168 -0.157522 -0.184286
+vn -0.961160 -0.225268 -0.159456
+vn -0.966883 -0.171468 -0.189039
+vn -0.972194 -0.196287 -0.127713
+vn -0.936566 0.152208 -0.315717
+vn -0.933850 -0.163072 -0.318327
+vn -0.848153 0.220849 -0.481521
+vn -0.850713 -0.329971 -0.409153
+vn -0.969079 -0.064992 -0.238037
+vn -0.961088 -0.192310 -0.198309
+vn -0.933850 -0.163072 -0.318327
+vn -0.924186 -0.332393 -0.188138
+vn -0.966883 -0.171468 -0.189039
+vn -0.972194 -0.196287 -0.127713
+vn -0.961088 -0.192310 -0.198309
+vn -0.958342 -0.274919 -0.077462
+vn 0.899422 0.181835 0.397461
+vn 0.911558 0.102936 0.398079
+vn 0.761767 -0.468906 0.447033
+vn 0.796369 -0.520620 0.307817
+vn -0.850599 0.109163 0.514358
+vn -0.646748 0.316906 0.693749
+vn -0.993838 -0.096222 0.055027
+vn -0.952677 0.083444 0.292306
+vn -0.980757 -0.094483 0.170845
+vn -0.745801 0.652845 0.132566
+vn -0.988105 -0.083632 0.129050
+vn -0.879423 0.476024 -0.004130
+vn -0.745801 0.652845 0.132566
+vn -0.735778 0.674132 -0.064625
+vn -0.879423 0.476024 -0.004130
+vn -0.864681 0.484214 -0.133654
+vn -0.980757 -0.094483 0.170845
+vn -0.925336 -0.378346 -0.024668
+vn -0.977136 -0.178361 0.115729
+vn -0.958342 -0.274919 -0.077462
+vn -0.977136 -0.178361 0.115729
+vn -0.958342 -0.274919 -0.077462
+vn -0.994635 -0.094553 0.041970
+vn -0.972194 -0.196287 -0.127713
+vn -0.952677 0.083444 0.292306
+vn -0.994635 -0.094553 0.041970
+vn -0.993838 -0.096222 0.055027
+vn -0.972194 -0.196287 -0.127713
+vn 0.953432 -0.280121 0.111805
+vn 0.269719 -0.665956 -0.695524
+vn 0.628074 -0.742885 0.231614
+vn 0.027569 -0.999161 -0.030274
+vn 0.953432 -0.280121 0.111805
+vn 0.591405 -0.783039 0.192587
+vn 0.912421 -0.104054 0.395803
+vn 0.621329 -0.749180 0.229523
+vn -0.147100 -0.880891 0.449881
+vn -0.254096 -0.630711 0.733238
+vn 0.677706 -0.466604 0.568327
+vn 0.581385 -0.404435 0.705991
+vn 0.019602 -0.999002 -0.040140
+vn 0.174904 -0.827820 -0.533031
+vn -0.622505 -0.724949 -0.294851
+vn -0.756108 -0.287422 -0.587953
+vn 0.142369 -0.835096 -0.531362
+vn 0.266202 -0.207285 -0.941366
+vn -0.786560 -0.255997 -0.561951
+vn -0.691598 -0.099463 -0.715402
+vn 0.982394 -0.176128 -0.062291
+vn 0.831272 -0.544267 -0.112961
+vn 0.266202 -0.207285 -0.941366
+vn 0.208853 -0.709160 -0.673404
+vn -0.176086 -0.714934 0.676656
+vn -0.931724 -0.363157 0.002664
+vn -0.103744 -0.896023 0.431718
+vn -0.737123 -0.675476 0.019550
+vn -0.862566 -0.494272 -0.108052
+vn -0.601439 -0.743988 -0.291125
+vn -0.801629 -0.501355 -0.325629
+vn -0.757556 -0.560224 -0.335048
+vn -0.862566 -0.494272 -0.108052
+vn -0.928137 -0.068478 -0.365886
+vn -0.908397 -0.409745 0.083207
+vn -0.913202 -0.168189 -0.371180
+vn -0.707839 -0.700247 0.092836
+vn -0.682442 -0.657038 -0.320271
+vn -0.101496 -0.883429 0.457440
+vn 0.025128 -0.997713 -0.062747
+vn -0.908397 -0.409745 0.083207
+vn -0.913202 -0.168189 -0.371180
+vn -0.707839 -0.700247 0.092836
+vn -0.682442 -0.657038 -0.320271
+vn 0.356900 -0.929141 0.096533
+vn 0.705533 -0.390467 0.591405
+vn 0.621329 -0.749180 0.229523
+vn 0.912421 -0.104054 0.395803
+vn 0.722685 -0.375372 0.580364
+vn 0.651249 -0.350142 0.673258
+vn 0.912404 -0.099385 0.397041
+vn 0.906341 -0.187288 0.378773
+vn 0.912404 -0.099385 0.397041
+vn 0.906341 -0.187288 0.378773
+vn 0.971366 -0.217390 0.095859
+vn 0.988176 -0.068884 -0.136976
+vn 0.722685 -0.375372 0.580364
+vn 0.661869 -0.694565 0.281972
+vn -0.116165 -0.821097 0.558844
+vn 0.041970 -0.999079 0.008960
+vn 0.949883 -0.310370 0.037330
+vn 0.948681 -0.105760 -0.298024
+vn 0.270165 -0.607246 -0.747170
+vn 0.314999 -0.071118 -0.946424
+vn 0.534660 -0.336065 0.775370
+vn 0.456720 -0.588096 0.667495
+vn 0.909476 -0.184061 0.372793
+vn 0.748091 -0.613011 0.254121
+vn 0.592912 -0.331623 -0.733813
+vn 0.902999 -0.310798 0.296643
+vn 0.758102 -0.112102 -0.642429
+vn 0.937682 -0.189876 0.291033
+vn 0.503862 -0.471831 0.723532
+vn 0.647767 -0.281365 0.707977
+vn 0.902999 -0.310798 0.296643
+vn 0.937682 -0.189876 0.291033
+vn 0.055991 -0.480399 0.875261
+vn 0.120983 -0.399556 0.908690
+vn 0.503862 -0.471831 0.723532
+vn 0.647767 -0.281365 0.707977
+vn -0.420919 -0.758097 0.498112
+vn -0.761033 -0.385958 0.521408
+vn 0.055991 -0.480399 0.875261
+vn 0.120983 -0.399556 0.908690
+vn -0.157961 -0.798827 0.580452
+vn -0.257101 -0.814461 0.520147
+vn -0.420919 -0.758097 0.498112
+vn 0.030858 -0.786884 0.616329
+vn -0.094885 -0.961402 0.258269
+vn -0.257101 -0.814461 0.520147
+vn -0.157961 -0.798827 0.580452
+vn -0.215893 -0.748799 0.626650
+vn -0.380646 -0.730377 0.567149
+vn -0.094885 -0.961402 0.258269
+vn -0.184102 -0.948965 0.256071
+vn -0.325877 0.032928 0.944839
+vn -0.516709 -0.034468 0.855467
+vn -0.215893 -0.748799 0.626650
+vn -0.380646 -0.730377 0.567149
+vn -0.306590 0.273647 0.911658
+vn -0.514300 0.177769 0.838984
+vn -0.325877 0.032928 0.944839
+vn -0.516709 -0.034468 0.855467
+vn 0.849802 -0.028698 0.526320
+vn 0.893294 -0.136227 0.428331
+vn 0.956113 0.228267 0.183692
+vn 0.667076 0.726133 0.166556
+vn 0.317021 -0.316497 -0.894051
+vn -0.689404 -0.152706 -0.708098
+vn 0.113199 -0.951421 -0.286330
+vn -0.791405 -0.341715 -0.506861
+vn 0.972457 -0.231980 -0.022648
+vn 0.771371 -0.636153 -0.017202
+vn 0.317021 -0.316497 -0.894051
+vn 0.195111 -0.826471 -0.528089
+vn -0.146565 -0.858898 0.490726
+vn -0.017130 -0.994907 0.099333
+vn 0.444409 -0.694478 0.565863
+vn 0.622759 -0.707250 0.334617
+vn 0.622759 -0.707250 0.334617
+vn -0.017130 -0.994907 0.099333
+vn 0.771371 -0.636153 -0.017202
+vn 0.195111 -0.826471 -0.528089
+vn -0.655254 -0.107502 -0.747720
+vn -0.913202 -0.168189 -0.371180
+vn -0.788037 -0.307667 -0.533235
+vn -0.928137 -0.068478 -0.365886
+vn -0.655254 -0.107502 -0.747720
+vn 0.227739 -0.196983 -0.953589
+vn -0.519780 -0.472822 -0.711525
+vn 0.189514 -0.671000 -0.716829
+vn -0.782189 -0.584991 -0.214396
+vn -0.798464 -0.552104 -0.240075
+vn -0.858050 -0.511664 -0.044157
+vn -0.930567 -0.077426 -0.357841
+vn 0.822722 0.025690 0.567864
+vn 0.514789 -0.210957 0.830957
+vn 0.617964 0.564679 0.547044
+vn 0.374980 0.782137 0.497646
+vn 0.617964 0.564679 0.547044
+vn 0.374980 0.782137 0.497646
+vn 0.618940 0.715661 0.323638
+vn 0.351063 0.914438 0.201390
+vn -0.690506 -0.163857 -0.704523
+vn -0.917206 -0.194525 -0.347696
+vn -0.786988 -0.365698 -0.496906
+vn -0.930521 -0.089169 -0.355218
+vn -0.656974 -0.739979 -0.144276
+vn -0.613800 -0.779392 -0.125688
+vn -0.295110 -0.955075 0.027248
+vn -0.270240 -0.961654 0.046827
+vn -0.785424 0.369743 -0.496387
+vn -0.892706 0.226722 -0.389452
+vn -0.927941 0.065783 -0.366875
+vn -0.910466 0.175059 -0.374709
+vn 0.958577 0.279520 0.054764
+vn 0.448681 0.488052 -0.748660
+vn 0.776505 0.629572 -0.026050
+vn 0.320268 0.803586 -0.501675
+vn -0.942665 0.330435 -0.046852
+vn -0.729401 0.667596 -0.149298
+vn -0.898697 0.287244 -0.331414
+vn -0.693852 0.665241 -0.275725
+vn -0.738468 -0.664842 0.112470
+vn -0.244472 -0.940516 0.235930
+vn -0.324191 -0.104786 0.940170
+vn -0.215515 -0.093260 0.972037
+vn -0.318873 0.125716 0.939423
+vn -0.324191 -0.104786 0.940170
+vn 0.772469 0.304211 0.557447
+vn 0.453986 0.837894 0.303035
+vn -0.248715 -0.715748 0.652569
+vn -0.921698 -0.387143 0.024357
+vn -0.170589 -0.868492 0.465425
+vn -0.705925 -0.702991 0.086449
+vn -0.690506 -0.163857 -0.704523
+vn 0.343732 -0.343456 -0.874006
+vn -0.553698 -0.632669 -0.541432
+vn 0.200186 -0.850849 -0.485780
+vn -0.170589 -0.868492 0.465425
+vn -0.021225 -0.994698 0.100629
+vn 0.437664 -0.710965 0.550435
+vn 0.609376 -0.719071 0.334061
+vn 0.609376 -0.719071 0.334061
+vn -0.021225 -0.994698 0.100629
+vn 0.753036 -0.657686 0.019653
+vn 0.200186 -0.850849 -0.485780
+vn 0.883652 0.284201 0.372008
+vn 0.664139 0.466885 0.583899
+vn 0.907813 0.140562 0.395117
+vn 0.720772 0.503611 0.476303
+vn 0.883652 0.284201 0.372008
+vn 0.958577 0.279520 0.054764
+vn 0.649670 0.723388 0.233749
+vn 0.776505 0.629572 -0.026050
+vn 0.795508 0.414516 0.441977
+vn 0.782682 0.437018 0.443197
+vn 0.770135 0.450087 0.452011
+vn 0.816796 0.364210 0.447433
+vn 0.795508 0.414516 0.441977
+vn 0.810652 0.329945 0.483715
+vn 0.887800 -0.043966 0.458124
+vn 0.840771 -0.242574 0.484007
+vn 0.860493 0.345141 0.374740
+vn 0.736625 0.594721 0.322011
+vn 0.864811 0.363047 0.346842
+vn 0.854483 0.373172 0.361389
+vn 0.906882 0.140344 0.397326
+vn 0.849454 0.325787 0.415079
+vn 0.851439 0.258052 0.456576
+vn -0.000641 -0.460155 0.887838
+vn -0.028917 -0.503171 0.863703
+vn -0.547923 -0.390550 0.739764
+vn -0.578644 -0.450482 0.679880
+vn 0.547087 -0.370022 0.750852
+vn -0.000641 -0.460155 0.887838
+vn 0.569062 -0.382400 0.727969
+vn 0.000000 -0.467254 0.884123
+vn 0.706591 -0.591199 0.388861
+vn 0.668401 -0.635665 0.386226
+vn 0.309959 -0.919579 0.241455
+vn 0.323910 -0.894552 0.307993
+vn 0.925691 -0.156523 0.344379
+vn 0.569062 -0.382400 0.727969
+vn 0.913404 -0.135144 0.383965
+vn 0.549038 -0.388357 0.740092
+vn 0.997926 0.041849 0.048905
+vn 0.925691 -0.156523 0.344379
+vn 0.991823 0.054135 0.115572
+vn 0.913404 -0.135144 0.383965
+vn 0.920132 0.292555 -0.260326
+vn 0.997926 0.041849 0.048905
+vn 0.933516 0.327922 -0.144967
+vn 0.991823 0.054135 0.115572
+vn 0.433943 0.610832 -0.662252
+vn 0.920132 0.292555 -0.260326
+vn 0.445607 0.711802 -0.542930
+vn 0.933516 0.327922 -0.144967
+vn 0.005051 0.550804 -0.834619
+vn 0.428777 0.505097 -0.749018
+vn 0.000000 0.665411 -0.746477
+vn 0.433943 0.610832 -0.662252
+vn 0.047257 0.309060 -0.949868
+vn 0.005051 0.550804 -0.834619
+vn -0.320254 0.237018 -0.917202
+vn -0.418344 0.500828 -0.757733
+vn -0.785298 0.498689 -0.366901
+vn -0.859713 0.470849 -0.197977
+vn -0.818184 0.464244 -0.339193
+vn -0.951730 0.154665 -0.265122
+vn -0.711335 0.539379 -0.450636
+vn -0.908154 -0.059141 -0.414437
+vn -0.845137 0.386342 -0.369436
+vn -0.907508 -0.160824 -0.388028
+vn -0.818184 0.464244 -0.339193
+vn -0.951730 0.154665 -0.265122
+vn -0.908154 -0.059141 -0.414437
+vn -0.741958 -0.613541 -0.270305
+vn -0.149275 0.955594 -0.254081
+vn 0.318734 0.946409 -0.052149
+vn 0.654078 0.748934 0.106210
+vn 0.662120 0.732355 0.158912
+vn -0.985407 0.033000 -0.166987
+vn -0.959072 -0.225294 -0.171535
+vn -0.974658 0.137836 -0.176192
+vn -0.933599 0.267552 -0.238346
+vn -0.981045 -0.077715 -0.177511
+vn -0.955410 -0.245476 -0.164111
+vn -0.971448 -0.051914 -0.231503
+vn -0.971708 -0.076275 -0.223530
+vn -0.729060 -0.590593 -0.345936
+vn -0.907508 -0.160824 -0.388028
+vn -0.690060 -0.605676 -0.396199
+vn -0.699390 -0.647625 -0.302384
+vn -0.054445 0.998082 -0.029477
+vn 0.315350 0.936708 0.152097
+vn -0.066587 0.988486 -0.135877
+vn 0.318734 0.946409 -0.052149
+vn 0.634769 0.744948 0.205234
+vn 0.662120 0.732355 0.158912
+vn 0.315350 0.936708 0.152097
+vn 0.318734 0.946409 -0.052149
+vn 0.634769 0.744948 0.205234
+vn 0.791440 0.557881 0.249783
+vn 0.662120 0.732355 0.158912
+vn 0.654078 0.748934 0.106210
+vn -0.971448 -0.051914 -0.231503
+vn -0.971708 -0.076275 -0.223530
+vn -0.967810 -0.019463 -0.250927
+vn -0.972946 -0.072729 -0.219289
+vn -0.974687 -0.036231 -0.220621
+vn -0.967810 -0.019463 -0.250927
+vn -0.972146 -0.049385 -0.229116
+vn -0.963656 -0.010663 -0.266933
+vn -0.972146 -0.049385 -0.229116
+vn -0.785295 -0.618877 -0.017411
+vn -0.975435 -0.133253 -0.175414
+vn -0.883420 -0.456587 -0.105348
+vn -0.931025 -0.328896 -0.158175
+vn -0.925617 -0.343807 -0.158211
+vn -0.970168 -0.157522 -0.184286
+vn -0.961160 -0.225268 -0.159456
+vn -0.848153 0.220849 -0.481521
+vn -0.943303 0.143090 -0.299509
+vn -0.819506 0.523218 -0.233781
+vn -0.967949 0.181684 -0.173395
+vn 0.822722 0.025690 0.567864
+vn 0.761767 -0.468906 0.447033
+vn 0.514789 -0.210957 0.830957
+vn 0.472752 -0.810538 0.345736
+vn 0.901475 0.158933 0.402595
+vn 0.875041 -0.440339 0.201008
+vn 0.911558 0.102936 0.398079
+vn 0.796369 -0.520620 0.307817
+vn 0.849802 -0.028698 0.526320
+vn 0.956113 0.228267 0.183692
+vn 0.901475 0.158933 0.402595
+vn 0.875041 -0.440339 0.201008
+vn -0.993838 -0.096222 0.055027
+vn -0.981794 -0.181018 -0.057567
+vn -0.850599 0.109163 0.514358
+vn -0.937010 -0.052806 0.345289
+vn -0.850599 0.109163 0.514358
+vn -0.937010 -0.052806 0.345289
+vn -0.528002 0.245371 0.813023
+vn -0.627405 0.042834 0.777514
+vn -0.980757 -0.094483 0.170845
+vn -0.988105 -0.083632 0.129050
+vn -0.925336 -0.378346 -0.024668
+vn -0.890305 -0.453699 -0.038909
+vn -0.819506 0.523218 -0.233781
+vn -0.967949 0.181684 -0.173395
+vn -0.864681 0.484214 -0.133654
+vn -0.978337 0.102847 -0.179665
+vn 0.953432 -0.280121 0.111805
+vn 0.986743 -0.100599 -0.127350
+vn 0.269719 -0.665956 -0.695524
+vn 0.340808 -0.052396 -0.938672
+vn 0.912421 -0.104054 0.395803
+vn 0.903912 -0.197307 0.379490
+vn 0.953432 -0.280121 0.111805
+vn 0.986743 -0.100599 -0.127350
+vn -0.147100 -0.880891 0.449881
+vn -0.900189 -0.429462 -0.072267
+vn -0.254096 -0.630711 0.733238
+vn -0.917922 -0.374675 0.130530
+vn 0.027569 -0.999161 -0.030274
+vn -0.649067 -0.697779 -0.303013
+vn -0.147100 -0.880891 0.449881
+vn -0.900189 -0.429462 -0.072267
+vn 0.581385 -0.404435 0.705991
+vn -0.254096 -0.630711 0.733238
+vn 0.467116 -0.645343 0.604429
+vn -0.157699 -0.848006 0.505982
+vn 0.581385 -0.404435 0.705991
+vn 0.467116 -0.645343 0.604429
+vn 0.900453 -0.211708 0.379952
+vn 0.731152 -0.631689 0.257655
+vn 0.900453 -0.211708 0.379952
+vn 0.731152 -0.631689 0.257655
+vn 0.975908 -0.136873 -0.169911
+vn 0.873332 -0.417770 -0.250518
+vn 0.305975 -0.098441 -0.946936
+vn -0.603114 -0.063343 -0.795136
+vn 0.174904 -0.827820 -0.533031
+vn -0.756108 -0.287422 -0.587953
+vn 0.975908 -0.136873 -0.169911
+vn 0.873332 -0.417770 -0.250518
+vn 0.305975 -0.098441 -0.946936
+vn 0.280028 -0.562874 -0.777661
+vn -0.691598 -0.099463 -0.715402
+vn 0.266202 -0.207285 -0.941366
+vn -0.560375 -0.492426 -0.665956
+vn 0.208853 -0.709160 -0.673404
+vn -0.786560 -0.255997 -0.561951
+vn -0.796147 -0.479872 -0.368610
+vn -0.601439 -0.743988 -0.291125
+vn -0.757556 -0.560224 -0.335048
+vn -0.886378 -0.440307 -0.143050
+vn -0.622505 -0.724949 -0.294851
+vn -0.814934 -0.474782 -0.332363
+vn -0.771174 -0.538661 -0.339316
+vn -0.886378 -0.440307 -0.143050
+vn -0.927712 -0.061842 -0.368140
+vn -0.931724 -0.363157 0.002664
+vn -0.914836 -0.154517 -0.373095
+vn -0.103744 -0.896023 0.431718
+vn 0.036664 -0.997736 -0.056381
+vn 0.540813 -0.667962 0.511223
+vn 0.713174 -0.655088 0.249485
+vn 0.713174 -0.655088 0.249485
+vn 0.036664 -0.997736 -0.056381
+vn 0.831272 -0.544267 -0.112961
+vn 0.208853 -0.709160 -0.673404
+vn -0.801629 -0.501355 -0.325629
+vn -0.818493 -0.465510 -0.336705
+vn -0.862566 -0.494272 -0.108052
+vn -0.928137 -0.068478 -0.365886
+vn -0.682442 -0.657038 -0.320271
+vn -0.519780 -0.472822 -0.711525
+vn 0.025128 -0.997713 -0.062747
+vn 0.189514 -0.671000 -0.716829
+vn 0.705533 -0.390467 0.591405
+vn 0.648589 -0.720568 0.245181
+vn -0.156125 -0.805922 0.571065
+vn 0.035742 -0.999124 -0.021757
+vn 0.971366 -0.217390 0.095859
+vn 0.286450 -0.420658 -0.860810
+vn 0.648589 -0.720568 0.245181
+vn 0.035742 -0.999124 -0.021757
+vn 0.651249 -0.350142 0.673258
+vn 0.722685 -0.375372 0.580364
+vn -0.187775 -0.614480 0.766260
+vn -0.116165 -0.821097 0.558844
+vn 0.041970 -0.999079 0.008960
+vn 0.270165 -0.607246 -0.747170
+vn -0.683429 -0.663239 -0.305023
+vn -0.727160 -0.230704 -0.646541
+vn 0.909476 -0.184061 0.372793
+vn 0.748091 -0.613011 0.254121
+vn 0.948681 -0.105760 -0.298024
+vn 0.857976 -0.396462 -0.326641
+vn 0.534660 -0.336065 0.775370
+vn -0.214804 -0.512800 0.831201
+vn 0.456720 -0.588096 0.667495
+vn -0.128503 -0.791293 0.597781
+vn -0.214804 -0.512800 0.831201
+vn -0.107433 -0.745979 0.657247
+vn -0.894559 -0.368544 0.252862
+vn -0.829931 -0.554033 -0.065290
+vn 0.592912 -0.331623 -0.733813
+vn 0.758102 -0.112102 -0.642429
+vn -0.156553 -0.202637 -0.966659
+vn -0.146490 -0.053141 -0.987784
+vn 0.592912 -0.331623 -0.733813
+vn -0.012407 -0.510539 -0.859765
+vn -0.014163 -0.913923 -0.405640
+vn -0.307365 -0.466673 -0.829303
+vn -0.014163 -0.913923 -0.405640
+vn -0.307365 -0.466673 -0.829303
+vn -0.829931 -0.554033 -0.065290
+vn -0.782265 -0.349168 -0.515890
+vn -0.420919 -0.758097 0.498112
+vn -0.765020 -0.607620 -0.213406
+vn -0.761033 -0.385958 0.521408
+vn -0.949731 -0.173993 -0.260263
+vn -0.094885 -0.961402 0.258269
+vn -0.184102 -0.948965 0.256071
+vn -0.257101 -0.814461 0.520147
+vn -0.360213 -0.778225 0.514404
+vn -0.528002 0.245371 0.813023
+vn -0.627405 0.042834 0.777514
+vn -0.514300 0.177769 0.838984
+vn -0.516709 -0.034468 0.855467
+vn -0.689404 -0.152706 -0.708098
+vn 0.317021 -0.316497 -0.894051
+vn -0.555604 -0.603860 -0.571540
+vn 0.195111 -0.826471 -0.528089
+vn -0.542331 -0.832427 -0.113765
+vn -0.791405 -0.341715 -0.506861
+vn -0.675974 -0.716362 -0.172871
+vn -0.750752 -0.617361 -0.235026
+vn -0.843069 -0.536840 -0.032206
+vn -0.542331 -0.832427 -0.113765
+vn -0.709273 -0.683694 -0.171739
+vn -0.675974 -0.716362 -0.172871
+vn -0.843069 -0.536840 -0.032206
+vn -0.930521 -0.089169 -0.355218
+vn -0.921698 -0.387143 0.024357
+vn -0.917206 -0.194525 -0.347696
+vn -0.146565 -0.858898 0.490726
+vn -0.705810 -0.699427 0.112402
+vn -0.017130 -0.994907 0.099333
+vn -0.685996 -0.696640 -0.210007
+vn -0.918771 -0.391387 0.051738
+vn -0.918787 -0.186450 -0.347946
+vn -0.705810 -0.699427 0.112402
+vn -0.685996 -0.696640 -0.210007
+vn -0.913202 -0.168189 -0.371180
+vn -0.655254 -0.107502 -0.747720
+vn -0.682442 -0.657038 -0.320271
+vn -0.519780 -0.472822 -0.711525
+vn -0.782189 -0.584991 -0.214396
+vn -0.747637 -0.624367 -0.226285
+vn -0.348701 -0.937204 0.007528
+vn -0.358364 -0.933465 -0.014767
+vn -0.747637 -0.624367 -0.226285
+vn -0.786892 -0.537806 -0.302599
+vn -0.358364 -0.933465 -0.014767
+vn -0.356174 -0.931418 -0.074842
+vn -0.788037 -0.307667 -0.533235
+vn -0.928137 -0.068478 -0.365886
+vn -0.786892 -0.537806 -0.302599
+vn -0.818493 -0.465510 -0.336705
+vn -0.798464 -0.552104 -0.240075
+vn -0.782189 -0.584991 -0.214396
+vn -0.332849 -0.942866 0.014694
+vn -0.348701 -0.937204 0.007528
+vn -0.798464 -0.552104 -0.240075
+vn -0.750752 -0.617361 -0.235026
+vn -0.930567 -0.077426 -0.357841
+vn -0.791405 -0.341715 -0.506861
+vn -0.930567 -0.077426 -0.357841
+vn -0.791405 -0.341715 -0.506861
+vn -0.918787 -0.186450 -0.347946
+vn -0.689404 -0.152706 -0.708098
+vn 0.618940 0.715661 0.323638
+vn 0.351063 0.914438 0.201390
+vn 0.667076 0.726133 0.166556
+vn 0.503027 0.862869 0.049203
+vn -0.613800 -0.779392 -0.125688
+vn -0.685739 -0.704123 -0.184318
+vn -0.270240 -0.961654 0.046827
+vn -0.269835 -0.961780 0.046569
+vn -0.786988 -0.365698 -0.496906
+vn -0.930521 -0.089169 -0.355218
+vn -0.685739 -0.704123 -0.184318
+vn -0.733127 -0.651070 -0.196555
+vn -0.917206 -0.194525 -0.347696
+vn -0.690506 -0.163857 -0.704523
+vn -0.677223 -0.706078 -0.206935
+vn -0.553698 -0.632669 -0.541432
+vn 0.448681 0.488052 -0.748660
+vn -0.709144 0.200082 -0.676079
+vn 0.320268 0.803586 -0.501675
+vn -0.463405 0.671133 -0.578650
+vn -0.785424 0.369743 -0.496387
+vn -0.927941 0.065783 -0.366875
+vn -0.709144 0.200082 -0.676079
+vn -0.908286 0.201027 -0.366885
+vn -0.898697 0.287244 -0.331414
+vn -0.693852 0.665241 -0.275725
+vn -0.892706 0.226722 -0.389452
+vn -0.664493 0.677853 -0.314587
+vn -0.243176 0.451407 0.858544
+vn -0.088852 0.931517 0.352679
+vn -0.942665 0.330435 -0.046852
+vn -0.729401 0.667596 -0.149298
+vn -0.243176 0.451407 0.858544
+vn -0.318873 0.125716 0.939423
+vn 0.769916 0.269538 0.578428
+vn 0.772469 0.304211 0.557447
+vn -0.244472 -0.940516 0.235930
+vn -0.325619 -0.942848 0.070779
+vn -0.104857 -0.976024 0.190739
+vn -0.155071 -0.980670 0.119330
+vn -0.325619 -0.942848 0.070779
+vn -0.295110 -0.955075 0.027248
+vn -0.155071 -0.980670 0.119330
+vn -0.130056 -0.984880 0.114441
+vn -0.170589 -0.868492 0.465425
+vn -0.705925 -0.702991 0.086449
+vn -0.021225 -0.994698 0.100629
+vn -0.677223 -0.706078 -0.206935
+vn 0.664139 0.466885 0.583899
+vn 0.883652 0.284201 0.372008
+vn 0.495230 0.752978 0.433327
+vn 0.649670 0.723388 0.233749
+vn 0.664139 0.466885 0.583899
+vn -0.197210 0.810252 0.551906
+vn 0.720772 0.503611 0.476303
+vn -0.044261 0.969750 0.240052
+vn 0.720772 0.503611 0.476303
+vn 0.636768 0.739562 0.218115
+vn 0.887958 0.226039 0.400546
+vn 0.817261 0.479919 0.319001
+vn 0.809248 0.406397 0.424215
+vn 0.795508 0.414516 0.441977
+vn 0.770135 0.450087 0.452011
+vn 0.782682 0.437018 0.443197
+vn 0.849454 0.325787 0.415079
+vn 0.806561 0.373690 0.458057
+vn 0.851439 0.258052 0.456576
+vn 0.856696 0.377049 0.352003
+vn 0.917007 0.215450 0.335678
+vn 0.854483 0.373172 0.361389
+vn 0.906882 0.140344 0.397326
+vn -0.547923 -0.390550 0.739764
+vn -0.569063 -0.382400 0.727968
+vn -0.000641 -0.460155 0.887838
+vn 0.000000 -0.467254 0.884123
+vn -0.547923 -0.390550 0.739764
+vn -0.578644 -0.450482 0.679880
+vn -0.926266 -0.169677 0.336513
+vn -0.935928 -0.241420 0.256429
+vn -0.578644 -0.450482 0.679880
+vn -0.641622 -0.561115 0.522945
+vn -0.935928 -0.241420 0.256429
+vn -0.932708 -0.341960 0.114538
+vn -0.641622 -0.561115 0.522945
+vn -0.629255 -0.724739 0.280699
+vn -0.932708 -0.341960 0.114538
+vn -0.905144 -0.425075 0.005000
+vn -0.485335 -0.869509 0.091679
+vn -0.806532 -0.590230 -0.033683
+vn -0.629255 -0.724739 0.280699
+vn -0.905144 -0.425075 0.005000
+vn -0.485335 -0.869509 0.091679
+vn -0.085630 -0.957204 0.276455
+vn -0.406451 -0.913557 0.014560
+vn -0.043392 -0.989535 0.137614
+vn 0.363986 -0.885661 0.288303
+vn 0.309959 -0.919579 0.241455
+vn -0.043392 -0.989535 0.137614
+vn -0.037079 -0.991725 0.122909
+vn 0.668401 -0.635665 0.386226
+vn 0.787558 -0.427864 0.443492
+vn 0.323910 -0.894552 0.307993
+vn 0.548966 -0.674209 0.494042
+vn 0.787558 -0.427864 0.443492
+vn 0.840771 -0.242574 0.484007
+vn 0.548966 -0.674209 0.494042
+vn 0.626996 -0.451095 0.635129
+vn 0.445607 0.711802 -0.542930
+vn 0.000000 0.775287 -0.631609
+vn 0.433943 0.610832 -0.662252
+vn 0.000000 0.665411 -0.746477
+vn 0.005051 0.550804 -0.834619
+vn 0.000000 0.665411 -0.746477
+vn -0.418344 0.500828 -0.757733
+vn -0.433943 0.610831 -0.662253
+vn -0.060961 -0.011486 -0.998074
+vn -0.320254 0.237018 -0.917202
+vn -0.478081 -0.040997 -0.877358
+vn -0.898766 0.082448 -0.430606
+vn -0.291871 -0.063247 -0.954364
+vn -0.478081 -0.040997 -0.877358
+vn -0.855965 0.044644 -0.515102
+vn -0.864621 0.042310 -0.500640
+vn -0.843336 -0.016951 -0.537119
+vn -0.855965 0.044644 -0.515102
+vn -0.940556 -0.006223 -0.339582
+vn -0.952529 0.001944 -0.304441
+vn -0.843336 -0.016951 -0.537119
+vn -0.940556 -0.006223 -0.339582
+vn -0.832354 -0.091256 -0.546680
+vn -0.949358 -0.081767 -0.303370
+vn -0.832354 -0.091256 -0.546680
+vn -0.949358 -0.081767 -0.303370
+vn -0.787978 -0.074546 -0.611174
+vn -0.942764 -0.102519 -0.317311
+vn -0.787978 -0.074546 -0.611174
+vn -0.942764 -0.102519 -0.317311
+vn -0.746345 0.123247 -0.654049
+vn -0.923249 0.104826 -0.369625
+vn -0.785298 0.498689 -0.366901
+vn -0.923249 0.104826 -0.369625
+vn -0.859713 0.470849 -0.197977
+vn -0.972357 0.129605 -0.194228
+vn -0.400099 0.846628 -0.350915
+vn -0.614751 0.743723 -0.262598
+vn -0.066587 0.988486 -0.135877
+vn -0.054445 0.998082 -0.029477
+vn -0.993558 0.017081 -0.112031
+vn -0.987710 -0.120460 -0.099592
+vn -0.981045 -0.077715 -0.177511
+vn -0.955410 -0.245476 -0.164111
+vn -0.974658 0.137836 -0.176192
+vn -0.933599 0.267552 -0.238346
+vn -0.993558 0.017081 -0.112031
+vn -0.859870 0.476695 -0.182719
+vn -0.959072 -0.225294 -0.171535
+vn -0.945198 -0.326270 -0.012155
+vn -0.877018 -0.348924 -0.330291
+vn -0.721475 -0.684345 -0.105572
+vn -0.998777 0.034826 -0.035103
+vn -0.913248 0.394656 0.101116
+vn -0.945198 -0.326270 -0.012155
+vn -0.985465 -0.169274 -0.014311
+vn -0.837964 0.541254 0.069717
+vn -0.670772 0.724816 0.157185
+vn -0.913248 0.394656 0.101116
+vn -0.859231 0.507821 -0.061970
+vn -0.977824 0.191661 -0.084419
+vn -0.884137 -0.436393 -0.166923
+vn -0.670772 0.724816 0.157185
+vn -0.786047 0.607746 0.113031
+vn -0.729060 -0.590593 -0.345936
+vn -0.895500 -0.261819 -0.359904
+vn -0.743116 -0.618402 -0.255649
+vn -0.884137 -0.436393 -0.166923
+vn -0.907508 -0.160824 -0.388028
+vn -0.908154 -0.059141 -0.414437
+vn -0.699390 -0.647625 -0.302384
+vn -0.741958 -0.613541 -0.270305
+vn -0.729060 -0.590593 -0.345936
+vn -0.690060 -0.605676 -0.396199
+vn -0.895500 -0.261819 -0.359904
+vn -0.861513 -0.117649 -0.493918
+vn -0.871994 -0.281463 0.400506
+vn -0.616294 -0.722155 0.314124
+vn -0.972146 -0.049385 -0.229116
+vn -0.785295 -0.618877 -0.017411
+vn -0.925617 -0.343807 -0.158211
+vn -0.919469 -0.372453 -0.125921
+vn -0.961160 -0.225268 -0.159456
+vn -0.981794 -0.181018 -0.057567
+vn -0.961160 -0.225268 -0.159456
+vn -0.981794 -0.181018 -0.057567
+vn -0.972194 -0.196287 -0.127713
+vn -0.993838 -0.096222 0.055027
+vn -0.848153 0.220849 -0.481521
+vn -0.850713 -0.329971 -0.409153
+vn -0.943303 0.143090 -0.299509
+vn -0.958837 -0.126537 -0.254205
+vn -0.933850 -0.163072 -0.318327
+vn -0.924186 -0.332393 -0.188138
+vn -0.850713 -0.329971 -0.409153
+vn -0.867206 -0.448506 -0.216327
+vn -0.961088 -0.192310 -0.198309
+vn -0.958342 -0.274919 -0.077462
+vn -0.924186 -0.332393 -0.188138
+vn -0.925336 -0.378346 -0.024668
+vn 0.761767 -0.468906 0.447033
+vn 0.796369 -0.520620 0.307817
+vn 0.472752 -0.810538 0.345736
+vn 0.484165 -0.861827 0.151122
+vn -0.988105 -0.083632 0.129050
+vn -0.879423 0.476024 -0.004130
+vn -0.998830 -0.028674 -0.038940
+vn -0.972515 0.158791 -0.170296
+vn -0.879423 0.476024 -0.004130
+vn -0.864681 0.484214 -0.133654
+vn -0.972515 0.158791 -0.170296
+vn -0.978337 0.102847 -0.179665
+vn 0.027569 -0.999161 -0.030274
+vn 0.269719 -0.665956 -0.695524
+vn -0.649067 -0.697779 -0.303013
+vn -0.774425 -0.205804 -0.598256
+vn 0.903912 -0.197307 0.379490
+vn 0.912421 -0.104054 0.395803
+vn 0.625645 -0.366092 0.688873
+vn 0.705533 -0.390467 0.591405
+vn -0.603114 -0.063343 -0.795136
+vn 0.305975 -0.098441 -0.946936
+vn -0.480688 -0.367266 -0.796276
+vn 0.280028 -0.562874 -0.777661
+vn -0.756108 -0.287422 -0.587953
+vn -0.804316 -0.460970 -0.374943
+vn -0.622505 -0.724949 -0.294851
+vn -0.771174 -0.538661 -0.339316
+vn -0.560375 -0.492426 -0.665956
+vn -0.700799 -0.633925 -0.327139
+vn -0.691598 -0.099463 -0.715402
+vn -0.914836 -0.154517 -0.373095
+vn -0.691598 -0.099463 -0.715402
+vn -0.914836 -0.154517 -0.373095
+vn -0.786560 -0.255997 -0.561951
+vn -0.927712 -0.061842 -0.368140
+vn -0.786560 -0.255997 -0.561951
+vn -0.927712 -0.061842 -0.368140
+vn -0.796147 -0.479872 -0.368610
+vn -0.830021 -0.429284 -0.356063
+vn -0.814934 -0.474782 -0.332363
+vn -0.830021 -0.429284 -0.356063
+vn -0.886378 -0.440307 -0.143050
+vn -0.927712 -0.061842 -0.368140
+vn -0.103744 -0.896023 0.431718
+vn -0.737123 -0.675476 0.019550
+vn 0.036664 -0.997736 -0.056381
+vn -0.700799 -0.633925 -0.327139
+vn -0.931724 -0.363157 0.002664
+vn -0.914836 -0.154517 -0.373095
+vn -0.737123 -0.675476 0.019550
+vn -0.700799 -0.633925 -0.327139
+vn -0.818493 -0.465510 -0.336705
+vn -0.801629 -0.501355 -0.325629
+vn -0.351445 -0.923768 -0.152117
+vn -0.352481 -0.916215 -0.190544
+vn -0.801629 -0.501355 -0.325629
+vn -0.757556 -0.560224 -0.335048
+vn -0.352481 -0.916215 -0.190544
+vn -0.348989 -0.916303 -0.196456
+vn -0.156125 -0.805922 0.571065
+vn -0.227156 -0.610856 0.758456
+vn 0.705533 -0.390467 0.591405
+vn 0.625645 -0.366092 0.688873
+vn 0.971366 -0.217390 0.095859
+vn 0.988176 -0.068884 -0.136976
+vn 0.286450 -0.420658 -0.860810
+vn 0.301654 0.003045 -0.953413
+vn -0.187775 -0.614480 0.766260
+vn -0.099761 -0.859535 0.501246
+vn 0.651249 -0.350142 0.673258
+vn 0.553528 -0.603486 0.573944
+vn 0.651249 -0.350142 0.673258
+vn 0.553528 -0.603486 0.573944
+vn 0.906341 -0.187288 0.378773
+vn 0.762735 -0.585831 0.273930
+vn 0.906341 -0.187288 0.378773
+vn 0.762735 -0.585831 0.273930
+vn 0.988176 -0.068884 -0.136976
+vn 0.892933 -0.421394 -0.158423
+vn -0.116165 -0.821097 0.558844
+vn -0.929741 -0.357324 -0.088893
+vn -0.187775 -0.614480 0.766260
+vn -0.941527 -0.330074 0.067668
+vn 0.041970 -0.999079 0.008960
+vn -0.683429 -0.663239 -0.305023
+vn -0.116165 -0.821097 0.558844
+vn -0.929741 -0.357324 -0.088893
+vn 0.314999 -0.071118 -0.946424
+vn -0.530711 -0.063166 -0.845196
+vn 0.270165 -0.607246 -0.747170
+vn -0.727160 -0.230704 -0.646541
+vn 0.948681 -0.105760 -0.298024
+vn 0.857976 -0.396462 -0.326641
+vn 0.314999 -0.071118 -0.946424
+vn 0.303259 -0.548269 -0.779382
+vn -0.894559 -0.368544 0.252862
+vn -0.732578 -0.632526 0.251477
+vn -0.214804 -0.512800 0.831201
+vn -0.128503 -0.791293 0.597781
+vn -0.829931 -0.554033 -0.065290
+vn -0.927399 -0.065924 -0.368218
+vn -0.894559 -0.368544 0.252862
+vn -0.917804 -0.157366 -0.364517
+vn 0.748091 -0.613011 0.254121
+vn 0.456720 -0.588096 0.667495
+vn 0.095502 -0.994536 -0.042165
+vn -0.128503 -0.791293 0.597781
+vn -0.156553 -0.202637 -0.966659
+vn -0.027400 -0.588294 -0.808183
+vn 0.592912 -0.331623 -0.733813
+vn -0.012407 -0.510539 -0.859765
+vn 0.758102 -0.112102 -0.642429
+vn 0.937682 -0.189876 0.291033
+vn 0.672524 -0.362643 -0.645137
+vn 0.786087 -0.586142 0.196225
+vn 0.120983 -0.399556 0.908690
+vn 0.104481 -0.677233 0.728313
+vn 0.647767 -0.281365 0.707977
+vn 0.586827 -0.460547 0.665981
+vn 0.647767 -0.281365 0.707977
+vn 0.586827 -0.460547 0.665981
+vn 0.937682 -0.189876 0.291033
+vn 0.786087 -0.586142 0.196225
+vn -0.761033 -0.385958 0.521408
+vn -0.597416 -0.595190 0.537441
+vn 0.120983 -0.399556 0.908690
+vn 0.104481 -0.677233 0.728313
+vn -0.420919 -0.758097 0.498112
+vn 0.030858 -0.786884 0.616329
+vn -0.765020 -0.607620 -0.213406
+vn 0.760049 -0.605931 0.234890
+vn -0.257101 -0.814461 0.520147
+vn -0.360213 -0.778225 0.514404
+vn 0.030858 -0.786884 0.616329
+vn -0.538699 -0.492147 0.683809
+vn -0.516709 -0.034468 0.855467
+vn -0.627405 0.042834 0.777514
+vn -0.380646 -0.730377 0.567149
+vn -0.503101 -0.673966 0.540979
+vn -0.380646 -0.730377 0.567149
+vn -0.503101 -0.673966 0.540979
+vn -0.184102 -0.948965 0.256071
+vn -0.218060 -0.953013 0.210278
+vn 0.956113 0.228267 0.183692
+vn 0.667076 0.726133 0.166556
+vn 0.921778 0.351266 -0.164125
+vn 0.503027 0.862869 0.049203
+vn -0.555604 -0.603860 -0.571540
+vn -0.685996 -0.696640 -0.210007
+vn -0.689404 -0.152706 -0.708098
+vn -0.918787 -0.186450 -0.347946
+vn -0.709273 -0.683694 -0.171739
+vn -0.733127 -0.651070 -0.196555
+vn -0.843069 -0.536840 -0.032206
+vn -0.930521 -0.089169 -0.355218
+vn 0.195111 -0.826471 -0.528089
+vn -0.017130 -0.994907 0.099333
+vn -0.555604 -0.603860 -0.571540
+vn -0.685996 -0.696640 -0.210007
+vn -0.332849 -0.942866 0.014694
+vn -0.317555 -0.947995 0.021553
+vn -0.798464 -0.552104 -0.240075
+vn -0.750752 -0.617361 -0.235026
+vn 0.514789 -0.210957 0.830957
+vn 0.739087 -0.147687 0.657221
+vn 0.374980 0.782137 0.497646
+vn 0.745048 0.480136 0.463004
+vn 0.374980 0.782137 0.497646
+vn 0.745048 0.480136 0.463004
+vn 0.351063 0.914438 0.201390
+vn 0.660942 0.696302 0.279855
+vn -0.677223 -0.706078 -0.206935
+vn -0.705925 -0.702991 0.086449
+vn -0.917206 -0.194525 -0.347696
+vn -0.921698 -0.387143 0.024357
+vn -0.295110 -0.955075 0.027248
+vn -0.270240 -0.961654 0.046827
+vn -0.130056 -0.984880 0.114441
+vn -0.133961 -0.985096 0.107888
+vn -0.927941 0.065783 -0.366875
+vn -0.910466 0.175059 -0.374709
+vn -0.882668 0.438279 -0.169732
+vn -0.905073 0.233972 -0.355106
+vn -0.892706 0.226722 -0.389452
+vn -0.664493 0.677853 -0.314587
+vn -0.910466 0.175059 -0.374709
+vn -0.652734 0.690653 -0.311347
+vn 0.649670 0.723388 0.233749
+vn 0.776505 0.629572 -0.026050
+vn 0.098435 0.995105 -0.008726
+vn 0.320268 0.803586 -0.501675
+vn -0.243176 0.451407 0.858544
+vn 0.769916 0.269538 0.578428
+vn -0.088852 0.931517 0.352679
+vn 0.662335 0.644683 0.381701
+vn -0.088852 0.931517 0.352679
+vn 0.020977 0.999715 -0.011373
+vn -0.729401 0.667596 -0.149298
+vn -0.693852 0.665241 -0.275725
+vn -0.324191 -0.104786 0.940170
+vn -0.215515 -0.093260 0.972037
+vn 0.453986 0.837894 0.303035
+vn 0.123346 0.991752 0.034829
+vn -0.244472 -0.940516 0.235930
+vn -0.093739 -0.947012 0.307215
+vn -0.215515 -0.093260 0.972037
+vn -0.118433 0.940539 0.318370
+vn -0.244472 -0.940516 0.235930
+vn -0.104857 -0.976024 0.190739
+vn -0.093739 -0.947012 0.307215
+vn -0.071333 -0.971644 0.225431
+vn 0.769916 0.269538 0.578428
+vn 0.772469 0.304211 0.557447
+vn 0.903175 0.218732 0.369366
+vn 0.871024 0.349071 0.345640
+vn 0.772469 0.304211 0.557447
+vn 0.453986 0.837894 0.303035
+vn 0.871024 0.349071 0.345640
+vn 0.525423 0.836534 0.155378
+vn -0.677223 -0.706078 -0.206935
+vn -0.553698 -0.632669 -0.541432
+vn -0.021225 -0.994698 0.100629
+vn 0.200186 -0.850849 -0.485780
+vn 0.495230 0.752978 0.433327
+vn -0.080856 0.937857 0.337470
+vn 0.664139 0.466885 0.583899
+vn -0.197210 0.810252 0.551906
+vn 0.649670 0.723388 0.233749
+vn 0.098435 0.995105 -0.008726
+vn 0.495230 0.752978 0.433327
+vn -0.080856 0.937857 0.337470
+vn 0.720772 0.503611 0.476303
+vn -0.044261 0.969750 0.240052
+vn 0.636768 0.739562 0.218115
+vn 0.066068 0.997241 -0.033852
+vn 0.817261 0.479919 0.319001
+vn 0.636768 0.739562 0.218115
+vn 0.918597 0.203312 0.338885
+vn 0.943703 0.282237 0.172532
+vn 0.809248 0.406397 0.424215
+vn 0.899009 0.188535 0.395269
+vn 0.795508 0.414516 0.441977
+vn 0.873071 0.210883 0.439632
+vn 0.816796 0.364210 0.447433
+vn 0.782682 0.437018 0.443197
+vn 0.817221 0.389627 0.424666
+vn 0.806561 0.373690 0.458057
+vn 0.795508 0.414516 0.441977
+vn 0.888767 0.109499 0.445087
+vn 0.810652 0.329945 0.483715
+vn 0.854091 0.235960 0.463521
+vn 0.810652 0.329945 0.483715
+vn 0.637316 0.546541 0.543251
+vn 0.840771 -0.242574 0.484007
+vn 0.626996 -0.451095 0.635129
+vn 0.906882 0.140344 0.397326
+vn 0.917007 0.215450 0.335678
+vn 0.912883 0.085352 0.399200
+vn 0.949250 0.273132 0.155960
+vn 0.851439 0.258052 0.456576
+vn 0.906882 0.140344 0.397326
+vn 0.705844 0.363153 0.608197
+vn 0.912883 0.085352 0.399200
+vn -0.569063 -0.382400 0.727968
+vn -0.547923 -0.390550 0.739764
+vn -0.925691 -0.156523 0.344379
+vn -0.926266 -0.169677 0.336513
+vn 0.569062 -0.382400 0.727969
+vn 0.000000 -0.467254 0.884123
+vn 0.549038 -0.388357 0.740092
+vn -0.019772 -0.497438 0.867274
+vn -0.806532 -0.590230 -0.033683
+vn -0.485335 -0.869509 0.091679
+vn -0.789505 -0.608855 -0.077309
+vn -0.406451 -0.913557 0.014560
+vn -0.406451 -0.913557 0.014560
+vn -0.043392 -0.989535 0.137614
+vn -0.379515 -0.924915 0.022367
+vn -0.037079 -0.991725 0.122909
+vn 0.309959 -0.919579 0.241455
+vn 0.323910 -0.894552 0.307993
+vn -0.037079 -0.991725 0.122909
+vn -0.090938 -0.953848 0.286191
+vn 0.913404 -0.135144 0.383965
+vn 0.549038 -0.388357 0.740092
+vn 0.747838 -0.184592 0.637702
+vn 0.422025 -0.418765 0.804071
+vn 0.991823 0.054135 0.115572
+vn 0.913404 -0.135144 0.383965
+vn 0.933480 0.115488 0.339526
+vn 0.747838 -0.184592 0.637702
+vn 0.933516 0.327922 -0.144967
+vn 0.991823 0.054135 0.115572
+vn 0.879170 0.425879 0.213748
+vn 0.933480 0.115488 0.339526
+vn 0.445607 0.711802 -0.542930
+vn 0.933516 0.327922 -0.144967
+vn 0.456374 0.875676 -0.157844
+vn 0.879170 0.425879 0.213748
+vn 0.000000 0.775287 -0.631609
+vn 0.445607 0.711802 -0.542930
+vn 0.000000 0.959054 -0.283225
+vn 0.456374 0.875676 -0.157844
+vn 0.000000 0.665411 -0.746477
+vn 0.000000 0.775287 -0.631609
+vn -0.433943 0.610831 -0.662253
+vn -0.448858 0.707847 -0.545416
+vn -0.320254 0.237018 -0.917202
+vn -0.418344 0.500828 -0.757733
+vn -0.898766 0.082448 -0.430606
+vn -0.917223 0.235908 -0.321013
+vn -0.942764 -0.102519 -0.317311
+vn -0.978900 -0.081638 -0.187321
+vn -0.923249 0.104826 -0.369625
+vn -0.972357 0.129605 -0.194228
+vn -0.859713 0.470849 -0.197977
+vn -0.881325 0.421686 -0.213182
+vn -0.951730 0.154665 -0.265122
+vn -0.908976 -0.253874 -0.330622
+vn -0.951730 0.154665 -0.265122
+vn -0.908976 -0.253874 -0.330622
+vn -0.741958 -0.613541 -0.270305
+vn -0.699390 -0.647625 -0.302384
+vn -0.959072 -0.225294 -0.171535
+vn -0.877018 -0.348924 -0.330291
+vn -0.933599 0.267552 -0.238346
+vn -0.710961 0.642216 -0.286519
+vn -0.987710 -0.120460 -0.099592
+vn -0.993558 0.017081 -0.112031
+vn -0.873537 0.462139 -0.152843
+vn -0.859870 0.476695 -0.182719
+vn -0.987710 -0.120460 -0.099592
+vn -0.960357 -0.236587 -0.147445
+vn -0.955410 -0.245476 -0.164111
+vn -0.922183 -0.339876 -0.184560
+vn -0.955410 -0.245476 -0.164111
+vn -0.922183 -0.339876 -0.184560
+vn -0.971708 -0.076275 -0.223530
+vn -0.917954 -0.342492 -0.200148
+vn -0.884137 -0.436393 -0.166923
+vn -0.895500 -0.261819 -0.359904
+vn -0.786047 0.607746 0.113031
+vn -0.621296 0.757265 -0.201348
+vn -0.690060 -0.605676 -0.396199
+vn -0.699390 -0.647625 -0.302384
+vn -0.861513 -0.117649 -0.493918
+vn -0.908976 -0.253874 -0.330622
+vn -0.971708 -0.076275 -0.223530
+vn -0.979621 -0.054501 -0.193319
+vn -0.972946 -0.072729 -0.219289
+vn -0.978900 -0.081638 -0.187321
+vn -0.967810 -0.019463 -0.250927
+vn -0.972946 -0.072729 -0.219289
+vn -0.963656 -0.010663 -0.266933
+vn -0.949358 -0.081767 -0.303370
+vn -0.972146 -0.049385 -0.229116
+vn -0.963656 -0.010663 -0.266933
+vn -0.968187 0.003180 -0.250209
+vn -0.957609 -0.004583 -0.288036
+vn -0.785295 -0.618877 -0.017411
+vn -0.616294 -0.722155 0.314124
+vn -0.409416 -0.894418 0.179985
+vn -0.767465 -0.594058 0.241024
+vn -0.883420 -0.456587 -0.105348
+vn -0.785295 -0.618877 -0.017411
+vn -0.038404 -0.981796 0.186016
+vn -0.409416 -0.894418 0.179985
+vn -0.931025 -0.328896 -0.158175
+vn -0.883420 -0.456587 -0.105348
+vn -0.042785 -0.994782 0.092622
+vn -0.042987 -0.994540 0.095090
+vn -0.943303 0.143090 -0.299509
+vn -0.999614 0.025663 0.010608
+vn -0.967949 0.181684 -0.173395
+vn -0.881667 -0.468607 -0.055410
+vn 0.514789 -0.210957 0.830957
+vn 0.472752 -0.810538 0.345736
+vn 0.739087 -0.147687 0.657221
+vn 0.765222 -0.515868 0.385117
+vn 0.875041 -0.440339 0.201008
+vn 0.693608 -0.718405 0.052936
+vn 0.796369 -0.520620 0.307817
+vn 0.484165 -0.861827 0.151122
+vn 0.956113 0.228267 0.183692
+vn 0.921778 0.351266 -0.164125
+vn 0.875041 -0.440339 0.201008
+vn 0.693608 -0.718405 0.052936
+vn -0.937010 -0.052806 0.345289
+vn -0.981794 -0.181018 -0.057567
+vn -0.869798 -0.471178 0.146433
+vn -0.919469 -0.372453 -0.125921
+vn -0.627405 0.042834 0.777514
+vn -0.937010 -0.052806 0.345289
+vn -0.503101 -0.673966 0.540979
+vn -0.869798 -0.471178 0.146433
+vn -0.988105 -0.083632 0.129050
+vn -0.998830 -0.028674 -0.038940
+vn -0.890305 -0.453699 -0.038909
+vn -0.980114 -0.136108 -0.144401
+vn -0.925336 -0.378346 -0.024668
+vn -0.890305 -0.453699 -0.038909
+vn -0.924186 -0.332393 -0.188138
+vn -0.867206 -0.448506 -0.216327
+vn -0.967949 0.181684 -0.173395
+vn -0.881667 -0.468607 -0.055410
+vn -0.978337 0.102847 -0.179665
+vn -0.832557 -0.520297 -0.190105
+vn 0.903912 -0.197307 0.379490
+vn 0.748591 -0.606403 0.268119
+vn 0.986743 -0.100599 -0.127350
+vn 0.885697 -0.431979 -0.170102
+vn 0.340808 -0.052396 -0.938672
+vn -0.635003 -0.036998 -0.771623
+vn 0.269719 -0.665956 -0.695524
+vn -0.774425 -0.205804 -0.598256
+vn 0.986743 -0.100599 -0.127350
+vn 0.885697 -0.431979 -0.170102
+vn 0.340808 -0.052396 -0.938672
+vn 0.290112 -0.607986 -0.739046
+vn 0.625645 -0.366092 0.688873
+vn 0.524221 -0.625753 0.577603
+vn 0.903912 -0.197307 0.379490
+vn 0.748591 -0.606403 0.268119
+vn -0.900189 -0.429462 -0.072267
+vn -0.649067 -0.697779 -0.303013
+vn -0.833203 -0.446542 -0.326148
+vn -0.789096 -0.509883 -0.342561
+vn -0.254096 -0.630711 0.733238
+vn -0.917922 -0.374675 0.130530
+vn -0.157699 -0.848006 0.505982
+vn -0.750619 -0.645715 0.140084
+vn -0.900189 -0.429462 -0.072267
+vn -0.928961 -0.059490 -0.365367
+vn -0.917922 -0.374675 0.130530
+vn -0.917768 -0.144613 -0.369850
+vn -0.157699 -0.848006 0.505982
+vn 0.050852 -0.996691 -0.063420
+vn 0.467116 -0.645343 0.604429
+vn 0.731152 -0.631689 0.257655
+vn 0.731152 -0.631689 0.257655
+vn 0.050852 -0.996691 -0.063420
+vn 0.873332 -0.417770 -0.250518
+vn 0.280028 -0.562874 -0.777661
+vn -0.480688 -0.367266 -0.796276
+vn -0.713462 -0.614501 -0.336690
+vn -0.603114 -0.063343 -0.795136
+vn -0.917768 -0.144613 -0.369850
+vn -0.603114 -0.063343 -0.795136
+vn -0.917768 -0.144613 -0.369850
+vn -0.756108 -0.287422 -0.587953
+vn -0.928961 -0.059490 -0.365367
+vn -0.756108 -0.287422 -0.587953
+vn -0.928961 -0.059490 -0.365367
+vn -0.804316 -0.460970 -0.374943
+vn -0.842655 -0.401147 -0.359185
+vn -0.700799 -0.633925 -0.327139
+vn -0.560375 -0.492426 -0.665956
+vn 0.036664 -0.997736 -0.056381
+vn 0.208853 -0.709160 -0.673404
+vn -0.757556 -0.560224 -0.335048
+vn -0.796147 -0.479872 -0.368610
+vn -0.348989 -0.916303 -0.196456
+vn -0.342836 -0.919276 -0.193377
+vn -0.814934 -0.474782 -0.332363
+vn -0.324274 -0.926258 -0.192072
+vn -0.830021 -0.429284 -0.356063
+vn -0.337097 -0.922114 -0.189927
+vn -0.771174 -0.538661 -0.339316
+vn -0.308663 -0.931768 -0.191145
+vn -0.814934 -0.474782 -0.332363
+vn -0.324274 -0.926258 -0.192072
+vn -0.351445 -0.923768 -0.152117
+vn -0.356174 -0.931418 -0.074842
+vn -0.818493 -0.465510 -0.336705
+vn -0.786892 -0.537806 -0.302599
+vn -0.156125 -0.805922 0.571065
+vn -0.931120 -0.357538 -0.071983
+vn -0.227156 -0.610856 0.758456
+vn -0.938536 -0.335461 0.081343
+vn 0.035742 -0.999124 -0.021757
+vn -0.678312 -0.661425 -0.320015
+vn -0.156125 -0.805922 0.571065
+vn -0.931120 -0.357538 -0.071983
+vn 0.035742 -0.999124 -0.021757
+vn 0.286450 -0.420658 -0.860810
+vn -0.678312 -0.661425 -0.320015
+vn -0.778847 -0.133758 -0.612786
+vn -0.187775 -0.614480 0.766260
+vn -0.941527 -0.330074 0.067668
+vn -0.099761 -0.859535 0.501246
+vn -0.776225 -0.626090 0.074066
+vn -0.530711 -0.063166 -0.845196
+vn 0.314999 -0.071118 -0.946424
+vn -0.419319 -0.386580 -0.821418
+vn 0.303259 -0.548269 -0.779382
+vn -0.727160 -0.230704 -0.646541
+vn -0.844068 -0.363039 -0.394654
+vn -0.683429 -0.663239 -0.305023
+vn -0.826920 -0.435431 -0.355813
+vn 0.748091 -0.613011 0.254121
+vn 0.095502 -0.994536 -0.042165
+vn 0.857976 -0.396462 -0.326641
+vn 0.303259 -0.548269 -0.779382
+vn -0.894559 -0.368544 0.252862
+vn -0.917804 -0.157366 -0.364517
+vn -0.732578 -0.632526 0.251477
+vn -0.694724 -0.646599 -0.315069
+vn -0.829931 -0.554033 -0.065290
+vn -0.782265 -0.349168 -0.515890
+vn -0.927399 -0.065924 -0.368218
+vn -0.858577 -0.322304 -0.398705
+vn -0.027400 -0.588294 -0.808183
+vn -0.156553 -0.202637 -0.966659
+vn 0.002517 -0.690720 -0.723118
+vn -0.443399 -0.530395 -0.722550
+vn -0.146490 -0.053141 -0.987784
+vn -0.671725 -0.072145 -0.737280
+vn -0.156553 -0.202637 -0.966659
+vn -0.443399 -0.530395 -0.722550
+vn 0.758102 -0.112102 -0.642429
+vn 0.672524 -0.362643 -0.645137
+vn -0.146490 -0.053141 -0.987784
+vn -0.100748 -0.465088 -0.879513
+vn -0.027400 -0.588294 -0.808183
+vn 0.037679 -0.870593 -0.490558
+vn -0.012407 -0.510539 -0.859765
+vn -0.225282 -0.804133 -0.550108
+vn -0.307365 -0.466673 -0.829303
+vn -0.012407 -0.510539 -0.859765
+vn -0.782265 -0.349168 -0.515890
+vn -0.225282 -0.804133 -0.550108
+vn -0.761033 -0.385958 0.521408
+vn -0.949731 -0.173993 -0.260263
+vn -0.597416 -0.595190 0.537441
+vn -0.778473 -0.592045 -0.208475
+vn -0.765020 -0.607620 -0.213406
+vn -0.443399 -0.530395 -0.722550
+vn -0.949731 -0.173993 -0.260263
+vn -0.671725 -0.072145 -0.737280
+vn -0.184102 -0.948965 0.256071
+vn -0.218060 -0.953013 0.210278
+vn -0.360213 -0.778225 0.514404
+vn -0.523743 -0.749646 0.404628
+vn -0.709273 -0.683694 -0.171739
+vn -0.675974 -0.716362 -0.172871
+vn -0.289490 -0.956578 0.033967
+vn -0.303331 -0.952478 0.027864
+vn -0.675974 -0.716362 -0.172871
+vn -0.750752 -0.617361 -0.235026
+vn -0.303331 -0.952478 0.027864
+vn -0.317555 -0.947995 0.021553
+vn -0.733127 -0.651070 -0.196555
+vn -0.709273 -0.683694 -0.171739
+vn -0.277067 -0.960002 0.040382
+vn -0.289490 -0.956578 0.033967
+vn -0.332849 -0.942866 0.014694
+vn -0.348701 -0.937204 0.007528
+vn -0.157133 -0.982914 0.095860
+vn -0.162098 -0.982293 0.093935
+vn -0.348701 -0.937204 0.007528
+vn -0.358364 -0.933465 -0.014767
+vn -0.162098 -0.982293 0.093935
+vn -0.161359 -0.984100 0.074239
+vn -0.358364 -0.933465 -0.014767
+vn -0.356174 -0.931418 -0.074842
+vn -0.161359 -0.984100 0.074239
+vn -0.148219 -0.988869 0.012982
+vn -0.317555 -0.947995 0.021553
+vn -0.332849 -0.942866 0.014694
+vn -0.152404 -0.983479 0.097685
+vn -0.157133 -0.982914 0.095860
+vn 0.503027 0.862869 0.049203
+vn 0.351063 0.914438 0.201390
+vn 0.815660 0.530039 0.231859
+vn 0.660942 0.696302 0.279855
+vn -0.270240 -0.961654 0.046827
+vn -0.269835 -0.961780 0.046569
+vn -0.133961 -0.985096 0.107888
+vn -0.137064 -0.985042 0.104428
+vn -0.685739 -0.704123 -0.184318
+vn -0.733127 -0.651070 -0.196555
+vn -0.269835 -0.961780 0.046569
+vn -0.277067 -0.960002 0.040382
+vn 0.320268 0.803586 -0.501675
+vn -0.463405 0.671133 -0.578650
+vn 0.098435 0.995105 -0.008726
+vn -0.583171 0.761337 -0.283333
+vn -0.463405 0.671133 -0.578650
+vn -0.709144 0.200082 -0.676079
+vn -0.583171 0.761337 -0.283333
+vn -0.908286 0.201027 -0.366885
+vn -0.908286 0.201027 -0.366885
+vn -0.927941 0.065783 -0.366875
+vn -0.910544 0.410715 -0.047139
+vn -0.882668 0.438279 -0.169732
+vn -0.693852 0.665241 -0.275725
+vn 0.020977 0.999715 -0.011373
+vn -0.664493 0.677853 -0.314587
+vn 0.049739 0.996975 -0.059731
+vn -0.088852 0.931517 0.352679
+vn 0.662335 0.644683 0.381701
+vn 0.020977 0.999715 -0.011373
+vn 0.716043 0.644706 0.267652
+vn -0.155071 -0.980670 0.119330
+vn -0.130056 -0.984880 0.114441
+vn -0.104857 -0.976024 0.190739
+vn -0.052897 -0.984633 0.166435
+vn 0.769916 0.269538 0.578428
+vn 0.903175 0.218732 0.369366
+vn 0.662335 0.644683 0.381701
+vn 0.716043 0.644706 0.267652
+vn -0.197210 0.810252 0.551906
+vn -0.080856 0.937857 0.337470
+vn -0.910544 0.410715 -0.047139
+vn -0.627650 0.778346 -0.015279
+vn -0.044261 0.969750 0.240052
+vn -0.197210 0.810252 0.551906
+vn -0.882668 0.438279 -0.169732
+vn -0.910544 0.410715 -0.047139
+vn 0.864811 0.363047 0.346842
+vn 0.918597 0.203312 0.338885
+vn 0.915480 0.097194 0.390449
+vn 0.943703 0.282237 0.172532
+vn 0.817221 0.389627 0.424666
+vn 0.806561 0.373690 0.458057
+vn 0.897190 0.353851 0.264272
+vn 0.459765 0.802024 0.381279
+vn 0.806561 0.373690 0.458057
+vn 0.851439 0.258052 0.456576
+vn 0.459765 0.802024 0.381279
+vn 0.705844 0.363153 0.608197
+vn 0.888767 0.109499 0.445087
+vn 0.795508 0.414516 0.441977
+vn 0.917574 0.063432 0.392471
+vn 0.837214 0.330625 0.435613
+vn 0.810652 0.329945 0.483715
+vn 0.547451 0.646025 0.531929
+vn 0.637316 0.546541 0.543251
+vn 0.058930 0.963107 0.262588
+vn 0.547451 0.646025 0.531929
+vn 0.810652 0.329945 0.483715
+vn 0.781498 0.095534 0.616550
+vn 0.885750 0.132304 0.444908
+vn 0.856696 0.377049 0.352003
+vn 0.603402 0.765643 0.222926
+vn 0.917007 0.215450 0.335678
+vn 0.949250 0.273132 0.155960
+vn 0.856696 0.377049 0.352003
+vn 0.860493 0.345141 0.374740
+vn 0.603402 0.765643 0.222926
+vn 0.744588 0.399487 0.534788
+vn -0.925691 -0.156523 0.344379
+vn -0.915094 -0.140570 0.377947
+vn -0.569063 -0.382400 0.727968
+vn -0.571060 -0.391939 0.721301
+vn -0.569063 -0.382400 0.727968
+vn -0.571060 -0.391939 0.721301
+vn 0.000000 -0.467254 0.884123
+vn -0.019772 -0.497438 0.867274
+vn -0.925691 -0.156523 0.344379
+vn -0.926266 -0.169677 0.336513
+vn -0.997926 0.041849 0.048905
+vn -0.999548 0.023118 0.019198
+vn -0.926266 -0.169677 0.336513
+vn -0.935928 -0.241420 0.256429
+vn -0.999548 0.023118 0.019198
+vn -0.996693 -0.053587 -0.061087
+vn -0.932708 -0.341960 0.114538
+vn -0.981104 -0.131706 -0.141736
+vn -0.935928 -0.241420 0.256429
+vn -0.996693 -0.053587 -0.061087
+vn -0.905144 -0.425075 0.005000
+vn -0.968203 -0.146101 -0.203068
+vn -0.932708 -0.341960 0.114538
+vn -0.981104 -0.131706 -0.141736
+vn -0.789505 -0.608855 -0.077309
+vn -0.968581 -0.219421 -0.117069
+vn -0.806532 -0.590230 -0.033683
+vn -0.978694 -0.166150 -0.120636
+vn -0.905144 -0.425075 0.005000
+vn -0.806532 -0.590230 -0.033683
+vn -0.978314 -0.131880 -0.159717
+vn -0.978694 -0.166150 -0.120636
+vn -0.789505 -0.608855 -0.077309
+vn -0.406451 -0.913557 0.014560
+vn -0.793876 -0.603153 -0.077246
+vn -0.379515 -0.924915 0.022367
+vn 0.323910 -0.894552 0.307993
+vn 0.548966 -0.674209 0.494042
+vn -0.090938 -0.953848 0.286191
+vn 0.095008 -0.832948 0.545134
+vn 0.548966 -0.674209 0.494042
+vn 0.626996 -0.451095 0.635129
+vn 0.095008 -0.832948 0.545134
+vn 0.210153 -0.514817 0.831143
+vn 0.000000 0.775287 -0.631609
+vn 0.000000 0.959054 -0.283225
+vn -0.448858 0.707847 -0.545416
+vn -0.479972 0.861385 -0.166261
+vn -0.418344 0.500828 -0.757733
+vn -0.433943 0.610831 -0.662253
+vn -0.917223 0.235908 -0.321013
+vn -0.920132 0.292555 -0.260326
+vn -0.898766 0.082448 -0.430606
+vn -0.952609 -0.024791 -0.303187
+vn -0.478081 -0.040997 -0.877358
+vn -0.864621 0.042310 -0.500640
+vn -0.855965 0.044644 -0.515102
+vn -0.864621 0.042310 -0.500640
+vn -0.952529 0.001944 -0.304441
+vn -0.952609 -0.024791 -0.303187
+vn -0.940556 -0.006223 -0.339582
+vn -0.952529 0.001944 -0.304441
+vn -0.957609 -0.004583 -0.288036
+vn -0.958827 -0.010003 -0.283815
+vn -0.940556 -0.006223 -0.339582
+vn -0.957609 -0.004583 -0.288036
+vn -0.949358 -0.081767 -0.303370
+vn -0.963656 -0.010663 -0.266933
+vn -0.949358 -0.081767 -0.303370
+vn -0.972946 -0.072729 -0.219289
+vn -0.942764 -0.102519 -0.317311
+vn -0.978900 -0.081638 -0.187321
+vn -0.859713 0.470849 -0.197977
+vn -0.972357 0.129605 -0.194228
+vn -0.881325 0.421686 -0.213182
+vn -0.967307 0.168449 -0.189585
+vn -0.873537 0.462139 -0.152843
+vn -0.966956 0.212806 -0.140393
+vn -0.987710 -0.120460 -0.099592
+vn -0.960357 -0.236587 -0.147445
+vn -0.933599 0.267552 -0.238346
+vn -0.710961 0.642216 -0.286519
+vn -0.859870 0.476695 -0.182719
+vn -0.873537 0.462139 -0.152843
+vn -0.721475 -0.684345 -0.105572
+vn -0.595825 -0.765339 -0.243411
+vn -0.877018 -0.348924 -0.330291
+vn -0.719955 -0.583521 -0.375723
+vn -0.719301 0.322660 -0.615221
+vn -0.945198 -0.326270 -0.012155
+vn -0.985465 -0.169274 -0.014311
+vn -0.721475 -0.684345 -0.105572
+vn -0.702382 -0.701925 -0.118157
+vn -0.913248 0.394656 0.101116
+vn -0.859231 0.507821 -0.061970
+vn -0.985465 -0.169274 -0.014311
+vn -0.971918 0.013991 -0.234903
+vn -0.670772 0.724816 0.157185
+vn -0.786047 0.607746 0.113031
+vn -0.859231 0.507821 -0.061970
+vn -0.621296 0.757265 -0.201348
+vn -0.895500 -0.261819 -0.359904
+vn -0.861513 -0.117649 -0.493918
+vn -0.621296 0.757265 -0.201348
+vn -0.484706 0.799449 -0.354883
+vn -0.971708 -0.076275 -0.223530
+vn -0.904228 -0.286690 -0.316513
+vn -0.979621 -0.054501 -0.193319
+vn -0.910993 -0.169075 -0.376171
+vn -0.972146 -0.049385 -0.229116
+vn -0.968187 0.003180 -0.250209
+vn -0.871994 -0.281463 0.400506
+vn -0.986450 -0.065619 0.150367
+vn -0.616294 -0.722155 0.314124
+vn -0.871994 -0.281463 0.400506
+vn -0.767465 -0.594058 0.241024
+vn -0.901134 0.005281 0.433509
+vn -0.038404 -0.981796 0.186016
+vn -0.618927 -0.784531 0.037952
+vn -0.883420 -0.456587 -0.105348
+vn -0.059870 -0.983918 0.168291
+vn -0.042987 -0.994540 0.095090
+vn -0.883420 -0.456587 -0.105348
+vn -0.724991 -0.687474 -0.042043
+vn -0.232468 -0.968908 0.084706
+vn -0.931025 -0.328896 -0.158175
+vn -0.347841 -0.937468 -0.012650
+vn -0.297484 -0.954727 -0.000477
+vn -0.372270 -0.923749 -0.090019
+vn -0.931025 -0.328896 -0.158175
+vn -0.297484 -0.954727 -0.000477
+vn -0.943303 0.143090 -0.299509
+vn -0.958837 -0.126537 -0.254205
+vn -0.999614 0.025663 0.010608
+vn -0.818426 0.564397 0.107863
+vn -0.850713 -0.329971 -0.409153
+vn -0.867206 -0.448506 -0.216327
+vn -0.958837 -0.126537 -0.254205
+vn -0.974313 -0.134578 -0.180565
+vn 0.472752 -0.810538 0.345736
+vn 0.484165 -0.861827 0.151122
+vn 0.765222 -0.515868 0.385117
+vn 0.720931 -0.650826 0.238084
+vn -0.998830 -0.028674 -0.038940
+vn -0.972515 0.158791 -0.170296
+vn -0.895528 0.228039 -0.382137
+vn -0.838046 -0.440034 -0.322567
+vn -0.972515 0.158791 -0.170296
+vn -0.978337 0.102847 -0.179665
+vn -0.838046 -0.440034 -0.322567
+vn -0.832557 -0.520297 -0.190105
+vn -0.635003 -0.036998 -0.771623
+vn 0.340808 -0.052396 -0.938672
+vn -0.530346 -0.396897 -0.749137
+vn 0.290112 -0.607986 -0.739046
+vn -0.774425 -0.205804 -0.598256
+vn -0.823146 -0.419946 -0.382200
+vn -0.649067 -0.697779 -0.303013
+vn -0.789096 -0.509883 -0.342561
+vn 0.524221 -0.625753 0.577603
+vn 0.625645 -0.366092 0.688873
+vn -0.128714 -0.861957 0.490371
+vn -0.227156 -0.610856 0.758456
+vn -0.833203 -0.446542 -0.326148
+vn -0.842655 -0.401147 -0.359185
+vn -0.900189 -0.429462 -0.072267
+vn -0.928961 -0.059490 -0.365367
+vn 0.050852 -0.996691 -0.063420
+vn -0.157699 -0.848006 0.505982
+vn -0.713462 -0.614501 -0.336690
+vn -0.750619 -0.645715 0.140084
+vn -0.713462 -0.614501 -0.336690
+vn -0.480688 -0.367266 -0.796276
+vn 0.050852 -0.996691 -0.063420
+vn 0.280028 -0.562874 -0.777661
+vn -0.804316 -0.460970 -0.374943
+vn -0.295316 -0.937940 -0.181818
+vn -0.771174 -0.538661 -0.339316
+vn -0.308663 -0.931768 -0.191145
+vn -0.796147 -0.479872 -0.368610
+vn -0.830021 -0.429284 -0.356063
+vn -0.342836 -0.919276 -0.193377
+vn -0.337097 -0.922114 -0.189927
+vn -0.356174 -0.931418 -0.074842
+vn -0.351445 -0.923768 -0.152117
+vn -0.148219 -0.988869 0.012982
+vn -0.127716 -0.989450 -0.068391
+vn -0.351445 -0.923768 -0.152117
+vn -0.352481 -0.916215 -0.190544
+vn -0.127716 -0.989450 -0.068391
+vn -0.100201 -0.989691 -0.102335
+vn -0.352481 -0.916215 -0.190544
+vn -0.348989 -0.916303 -0.196456
+vn -0.100201 -0.989691 -0.102335
+vn -0.110692 -0.987127 -0.115447
+vn 0.301654 0.003045 -0.953413
+vn -0.644314 -0.006942 -0.764730
+vn 0.286450 -0.420658 -0.860810
+vn -0.778847 -0.133758 -0.612786
+vn 0.988176 -0.068884 -0.136976
+vn 0.892933 -0.421394 -0.158423
+vn 0.301654 0.003045 -0.953413
+vn 0.270627 -0.605593 -0.748344
+vn -0.099761 -0.859535 0.501246
+vn 0.072370 -0.995928 -0.053753
+vn 0.553528 -0.603486 0.573944
+vn 0.762735 -0.585831 0.273930
+vn 0.762735 -0.585831 0.273930
+vn 0.072370 -0.995928 -0.053753
+vn 0.892933 -0.421394 -0.158423
+vn 0.270627 -0.605593 -0.748344
+vn -0.929741 -0.357324 -0.088893
+vn -0.683429 -0.663239 -0.305023
+vn -0.866716 -0.367761 -0.336980
+vn -0.826920 -0.435431 -0.355813
+vn -0.929741 -0.357324 -0.088893
+vn -0.929303 -0.045595 -0.366492
+vn -0.941527 -0.330074 0.067668
+vn -0.919521 -0.122314 -0.373525
+vn -0.530711 -0.063166 -0.845196
+vn -0.419319 -0.386580 -0.821418
+vn -0.917804 -0.157366 -0.364517
+vn -0.694724 -0.646599 -0.315069
+vn -0.530711 -0.063166 -0.845196
+vn -0.917804 -0.157366 -0.364517
+vn -0.727160 -0.230704 -0.646541
+vn -0.927399 -0.065924 -0.368218
+vn -0.844068 -0.363039 -0.394654
+vn -0.727160 -0.230704 -0.646541
+vn -0.858577 -0.322304 -0.398705
+vn -0.927399 -0.065924 -0.368218
+vn -0.128503 -0.791293 0.597781
+vn -0.732578 -0.632526 0.251477
+vn 0.095502 -0.994536 -0.042165
+vn -0.694724 -0.646599 -0.315069
+vn 0.002517 -0.690720 -0.723118
+vn 0.149042 -0.890663 -0.429541
+vn -0.027400 -0.588294 -0.808183
+vn 0.037679 -0.870593 -0.490558
+vn -0.671725 -0.072145 -0.737280
+vn -0.146490 -0.053141 -0.987784
+vn -0.612315 -0.286782 -0.736767
+vn -0.100748 -0.465088 -0.879513
+vn 0.672524 -0.362643 -0.645137
+vn 0.786087 -0.586142 0.196225
+vn -0.100748 -0.465088 -0.879513
+vn 0.000461 -0.999617 -0.027682
+vn -0.597416 -0.595190 0.537441
+vn -0.778473 -0.592045 -0.208475
+vn 0.104481 -0.677233 0.728313
+vn 0.000461 -0.999617 -0.027682
+vn 0.104481 -0.677233 0.728313
+vn 0.000461 -0.999617 -0.027682
+vn 0.586827 -0.460547 0.665981
+vn 0.786087 -0.586142 0.196225
+vn -0.765020 -0.607620 -0.213406
+vn 0.760049 -0.605931 0.234890
+vn -0.443399 -0.530395 -0.722550
+vn 0.802470 -0.489340 -0.341449
+vn 0.030858 -0.786884 0.616329
+vn 0.340433 -0.390379 0.855400
+vn 0.760049 -0.605931 0.234890
+vn 0.933228 -0.173674 0.314521
+vn -0.360213 -0.778225 0.514404
+vn -0.523743 -0.749646 0.404628
+vn -0.538699 -0.492147 0.683809
+vn -0.822891 -0.473898 0.313481
+vn 0.030858 -0.786884 0.616329
+vn -0.538699 -0.492147 0.683809
+vn 0.340433 -0.390379 0.855400
+vn -0.609602 -0.402393 0.682982
+vn -0.503101 -0.673966 0.540979
+vn -0.869798 -0.471178 0.146433
+vn -0.218060 -0.953013 0.210278
+vn -0.372100 -0.923865 0.089524
+vn 0.921778 0.351266 -0.164125
+vn 0.503027 0.862869 0.049203
+vn 0.976953 0.176690 0.119764
+vn 0.815660 0.530039 0.231859
+vn -0.152404 -0.983479 0.097685
+vn -0.147970 -0.983985 0.099390
+vn -0.317555 -0.947995 0.021553
+vn -0.303331 -0.952478 0.027864
+vn 0.739087 -0.147687 0.657221
+vn 0.765222 -0.515868 0.385117
+vn 0.745048 0.480136 0.463004
+vn 0.934066 0.034281 0.355452
+vn 0.745048 0.480136 0.463004
+vn 0.934066 0.034281 0.355452
+vn 0.660942 0.696302 0.279855
+vn 0.815660 0.530039 0.231859
+vn -0.130056 -0.984880 0.114441
+vn -0.133961 -0.985096 0.107888
+vn -0.052897 -0.984633 0.166435
+vn -0.045168 -0.988906 0.141512
+vn -0.583171 0.761337 -0.283333
+vn -0.908286 0.201027 -0.366885
+vn -0.627650 0.778346 -0.015279
+vn -0.910544 0.410715 -0.047139
+vn -0.882668 0.438279 -0.169732
+vn -0.905073 0.233972 -0.355106
+vn -0.626797 0.720927 -0.295619
+vn -0.883035 0.286433 -0.371759
+vn -0.910466 0.175059 -0.374709
+vn -0.652734 0.690653 -0.311347
+vn -0.905073 0.233972 -0.355106
+vn -0.639404 0.704805 -0.307266
+vn -0.664493 0.677853 -0.314587
+vn 0.049739 0.996975 -0.059731
+vn -0.652734 0.690653 -0.311347
+vn 0.061678 0.996517 -0.056122
+vn 0.453986 0.837894 0.303035
+vn 0.123346 0.991752 0.034829
+vn 0.525423 0.836534 0.155378
+vn 0.157810 0.987285 -0.019085
+vn -0.215515 -0.093260 0.972037
+vn -0.118433 0.940539 0.318370
+vn 0.123346 0.991752 0.034829
+vn 0.008645 0.999683 -0.023639
+vn -0.118433 0.940539 0.318370
+vn -0.093739 -0.947012 0.307215
+vn -0.387097 0.099215 0.916685
+vn 0.056771 -0.927933 0.368398
+vn -0.071333 -0.971644 0.225431
+vn -0.023970 -0.975888 0.216954
+vn -0.093739 -0.947012 0.307215
+vn 0.056771 -0.927933 0.368398
+vn -0.104857 -0.976024 0.190739
+vn -0.052897 -0.984633 0.166435
+vn -0.071333 -0.971644 0.225431
+vn -0.023970 -0.975888 0.216954
+vn 0.903175 0.218732 0.369366
+vn 0.871024 0.349071 0.345640
+vn 0.920220 0.207544 0.331843
+vn 0.883368 0.356229 0.304569
+vn 0.871024 0.349071 0.345640
+vn 0.525423 0.836534 0.155378
+vn 0.883368 0.356229 0.304569
+vn 0.568419 0.812165 0.131485
+vn -0.080856 0.937857 0.337470
+vn 0.098435 0.995105 -0.008726
+vn -0.627650 0.778346 -0.015279
+vn -0.583171 0.761337 -0.283333
+vn -0.882668 0.438279 -0.169732
+vn -0.626797 0.720927 -0.295619
+vn -0.044261 0.969750 0.240052
+vn 0.066068 0.997241 -0.033852
+vn 0.066068 0.997241 -0.033852
+vn 0.256967 0.822843 -0.506850
+vn 0.636768 0.739562 0.218115
+vn 0.943703 0.282237 0.172532
+vn 0.915480 0.097194 0.390449
+vn 0.744588 0.399487 0.534788
+vn 0.864811 0.363047 0.346842
+vn 0.860493 0.345141 0.374740
+vn 0.873071 0.210883 0.439632
+vn 0.873318 0.138874 0.466937
+vn 0.795508 0.414516 0.441977
+vn 0.837214 0.330625 0.435613
+vn 0.770135 0.450087 0.452011
+vn 0.816796 0.364210 0.447433
+vn 0.618192 0.465754 0.633177
+vn 0.882906 0.164551 0.439772
+vn 0.816796 0.364210 0.447433
+vn 0.817221 0.389627 0.424666
+vn 0.882906 0.164551 0.439772
+vn 0.897190 0.353851 0.264272
+vn 0.810652 0.329945 0.483715
+vn 0.854091 0.235960 0.463521
+vn 0.885750 0.132304 0.444908
+vn 0.637316 0.546541 0.543251
+vn 0.144508 0.870488 0.470498
+vn 0.626996 -0.451095 0.635129
+vn 0.210153 -0.514817 0.831143
+vn 0.705844 0.363153 0.608197
+vn 0.912883 0.085352 0.399200
+vn 0.731628 0.262222 0.629254
+vn 0.911048 0.152329 0.383129
+vn 0.912883 0.085352 0.399200
+vn 0.949250 0.273132 0.155960
+vn 0.911048 0.152329 0.383129
+vn 0.991989 0.125216 0.016666
+vn 0.705844 0.363153 0.608197
+vn -0.158063 0.837533 0.523025
+vn 0.459765 0.802024 0.381279
+vn -0.065800 0.986868 0.147521
+vn -0.915094 -0.140570 0.377947
+vn -0.925691 -0.156523 0.344379
+vn -0.992579 0.053652 0.109128
+vn -0.997926 0.041849 0.048905
+vn 0.549038 -0.388357 0.740092
+vn -0.019772 -0.497438 0.867274
+vn 0.422025 -0.418765 0.804071
+vn -0.110736 -0.544383 0.831496
+vn -0.968203 -0.146101 -0.203068
+vn -0.905144 -0.425075 0.005000
+vn -0.968799 -0.101861 -0.225949
+vn -0.978314 -0.131880 -0.159717
+vn -0.789505 -0.608855 -0.077309
+vn -0.793876 -0.603153 -0.077246
+vn -0.968581 -0.219421 -0.117069
+vn -0.948806 -0.294816 -0.113362
+vn -0.793876 -0.603153 -0.077246
+vn -0.379515 -0.924915 0.022367
+vn -0.773028 -0.632231 -0.052076
+vn -0.439820 -0.894792 0.076847
+vn -0.379515 -0.924915 0.022367
+vn -0.037079 -0.991725 0.122909
+vn -0.439820 -0.894792 0.076847
+vn -0.090938 -0.953848 0.286191
+vn 0.747838 -0.184592 0.637702
+vn 0.422025 -0.418765 0.804071
+vn 0.380430 -0.398983 0.834317
+vn 0.192164 -0.545087 0.816060
+vn 0.933480 0.115488 0.339526
+vn 0.747838 -0.184592 0.637702
+vn 0.645057 0.246483 0.723289
+vn 0.615938 0.147243 0.773912
+vn 0.879170 0.425879 0.213748
+vn 0.933480 0.115488 0.339526
+vn 0.718219 0.366144 0.591693
+vn 0.645057 0.246483 0.723289
+vn 0.879170 0.425879 0.213748
+vn 0.651063 0.725739 0.222305
+vn 0.456374 0.875676 -0.157844
+vn 0.289055 0.951868 0.101959
+vn 0.000000 0.959054 -0.283225
+vn 0.456374 0.875676 -0.157844
+vn 0.000000 0.998845 0.048052
+vn 0.289055 0.951868 0.101959
+vn -0.433943 0.610831 -0.662253
+vn -0.448858 0.707847 -0.545416
+vn -0.920132 0.292555 -0.260326
+vn -0.934054 0.322641 -0.153119
+vn -0.898766 0.082448 -0.430606
+vn -0.917223 0.235908 -0.321013
+vn -0.996693 -0.053587 -0.061087
+vn -0.999548 0.023118 0.019198
+vn -0.898766 0.082448 -0.430606
+vn -0.996693 -0.053587 -0.061087
+vn -0.952609 -0.024791 -0.303187
+vn -0.981104 -0.131706 -0.141736
+vn -0.978900 -0.081638 -0.187321
+vn -0.979621 -0.054501 -0.193319
+vn -0.972357 0.129605 -0.194228
+vn -0.967307 0.168449 -0.189585
+vn -0.881325 0.421686 -0.213182
+vn -0.763542 0.371400 -0.528266
+vn -0.908976 -0.253874 -0.330622
+vn -0.525775 0.675552 -0.516905
+vn -0.877018 -0.348924 -0.330291
+vn -0.719301 0.322660 -0.615221
+vn -0.710961 0.642216 -0.286519
+vn -0.336812 0.899029 -0.279828
+vn -0.966956 0.212806 -0.140393
+vn -0.873537 0.462139 -0.152843
+vn -0.597964 0.789451 -0.138585
+vn -0.710961 0.642216 -0.286519
+vn -0.966956 0.212806 -0.140393
+vn -0.987261 -0.056786 -0.148629
+vn -0.960357 -0.236587 -0.147445
+vn -0.937438 -0.289760 -0.192998
+vn -0.960357 -0.236587 -0.147445
+vn -0.937438 -0.289760 -0.192998
+vn -0.922183 -0.339876 -0.184560
+vn -0.917954 -0.342492 -0.200148
+vn -0.917954 -0.342492 -0.200148
+vn -0.903270 -0.356599 -0.238623
+vn -0.971708 -0.076275 -0.223530
+vn -0.904228 -0.286690 -0.316513
+vn -0.908976 -0.253874 -0.330622
+vn -0.525775 0.675552 -0.516905
+vn -0.861513 -0.117649 -0.493918
+vn -0.484706 0.799449 -0.354883
+vn -0.957609 -0.004583 -0.288036
+vn -0.958827 -0.010003 -0.283815
+vn -0.968187 0.003180 -0.250209
+vn -0.975180 0.086182 -0.203952
+vn -0.767465 -0.594058 0.241024
+vn -0.789984 -0.609310 0.068315
+vn -0.409416 -0.894418 0.179985
+vn -0.038404 -0.981796 0.186016
+vn -0.059870 -0.983918 0.168291
+vn -0.695055 -0.717909 -0.038797
+vn -0.883420 -0.456587 -0.105348
+vn -0.228454 -0.969042 0.093633
+vn -0.232468 -0.968908 0.084706
+vn -0.883420 -0.456587 -0.105348
+vn -0.650231 -0.759373 -0.023512
+vn -0.228454 -0.969042 0.093633
+vn -0.042785 -0.994782 0.092622
+vn -0.832150 -0.547646 -0.087241
+vn -0.931025 -0.328896 -0.158175
+vn -0.347841 -0.937468 -0.012650
+vn -0.042987 -0.994540 0.095090
+vn -0.967668 -0.198866 -0.155148
+vn -0.042785 -0.994782 0.092622
+vn -0.832150 -0.547646 -0.087241
+vn -0.925617 -0.343807 -0.158211
+vn -0.931025 -0.328896 -0.158175
+vn -0.392390 -0.918642 -0.046114
+vn -0.332518 -0.940908 -0.064226
+vn -0.259364 -0.961304 -0.092867
+vn -0.931025 -0.328896 -0.158175
+vn -0.337379 -0.936649 -0.094150
+vn -0.931025 -0.328896 -0.158175
+vn -0.372270 -0.923749 -0.090019
+vn -0.337379 -0.936649 -0.094150
+vn -0.919469 -0.372453 -0.125921
+vn -0.581520 -0.811935 0.050947
+vn -0.869798 -0.471178 0.146433
+vn -0.372100 -0.923865 0.089524
+vn -0.919469 -0.372453 -0.125921
+vn -0.791373 -0.607305 0.070062
+vn -0.581520 -0.811935 0.050947
+vn -0.715641 -0.685515 0.133892
+vn -0.867206 -0.448506 -0.216327
+vn -0.890305 -0.453699 -0.038909
+vn -0.974313 -0.134578 -0.180565
+vn -0.980114 -0.136108 -0.144401
+vn -0.999614 0.025663 0.010608
+vn -0.891557 -0.210875 0.400822
+vn -0.881667 -0.468607 -0.055410
+vn -0.585553 -0.810330 0.022216
+vn 0.693608 -0.718405 0.052936
+vn 0.893642 -0.389885 0.222246
+vn 0.484165 -0.861827 0.151122
+vn 0.720931 -0.650826 0.238084
+vn 0.921778 0.351266 -0.164125
+vn 0.976953 0.176690 0.119764
+vn 0.693608 -0.718405 0.052936
+vn 0.893642 -0.389885 0.222246
+vn -0.998830 -0.028674 -0.038940
+vn -0.895528 0.228039 -0.382137
+vn -0.980114 -0.136108 -0.144401
+vn -0.646494 0.725846 -0.234933
+vn -0.881667 -0.468607 -0.055410
+vn -0.585553 -0.810330 0.022216
+vn -0.832557 -0.520297 -0.190105
+vn -0.486219 -0.861643 -0.145472
+vn 0.748591 -0.606403 0.268119
+vn 0.524221 -0.625753 0.577603
+vn 0.063261 -0.996421 -0.056074
+vn -0.128714 -0.861957 0.490371
+vn 0.748591 -0.606403 0.268119
+vn 0.063261 -0.996421 -0.056074
+vn 0.885697 -0.431979 -0.170102
+vn 0.290112 -0.607986 -0.739046
+vn -0.530346 -0.396897 -0.749137
+vn -0.728110 -0.595436 -0.339576
+vn -0.635003 -0.036998 -0.771623
+vn -0.918801 -0.131504 -0.372172
+vn -0.635003 -0.036998 -0.771623
+vn -0.918801 -0.131504 -0.372172
+vn -0.774425 -0.205804 -0.598256
+vn -0.929075 -0.049714 -0.366536
+vn -0.774425 -0.205804 -0.598256
+vn -0.929075 -0.049714 -0.366536
+vn -0.823146 -0.419946 -0.382200
+vn -0.857690 -0.364702 -0.362436
+vn -0.833203 -0.446542 -0.326148
+vn -0.296960 -0.940538 -0.164931
+vn -0.842655 -0.401147 -0.359185
+vn -0.292369 -0.941223 -0.169175
+vn -0.789096 -0.509883 -0.342561
+vn -0.304065 -0.937819 -0.167451
+vn -0.833203 -0.446542 -0.326148
+vn -0.296960 -0.940538 -0.164931
+vn -0.917922 -0.374675 0.130530
+vn -0.917768 -0.144613 -0.369850
+vn -0.750619 -0.645715 0.140084
+vn -0.713462 -0.614501 -0.336690
+vn -0.227156 -0.610856 0.758456
+vn -0.938536 -0.335461 0.081343
+vn -0.128714 -0.861957 0.490371
+vn -0.768531 -0.634865 0.079413
+vn -0.842655 -0.401147 -0.359185
+vn -0.292369 -0.941223 -0.169175
+vn -0.804316 -0.460970 -0.374943
+vn -0.295316 -0.937940 -0.181818
+vn -0.348989 -0.916303 -0.196456
+vn -0.342836 -0.919276 -0.193377
+vn -0.110692 -0.987127 -0.115447
+vn -0.103879 -0.987796 -0.116055
+vn -0.308663 -0.931768 -0.191145
+vn -0.055507 -0.991435 -0.118220
+vn -0.324274 -0.926258 -0.192072
+vn -0.076621 -0.990163 -0.117075
+vn -0.324274 -0.926258 -0.192072
+vn -0.076621 -0.990163 -0.117075
+vn -0.337097 -0.922114 -0.189927
+vn -0.095182 -0.989377 -0.109883
+vn -0.295316 -0.937940 -0.181818
+vn -0.039881 -0.993825 -0.103548
+vn -0.308663 -0.931768 -0.191145
+vn -0.055507 -0.991435 -0.118220
+vn -0.931120 -0.357538 -0.071983
+vn -0.678312 -0.661425 -0.320015
+vn -0.854968 -0.400583 -0.329488
+vn -0.810453 -0.470158 -0.349453
+vn -0.931120 -0.357538 -0.071983
+vn -0.929075 -0.049714 -0.366536
+vn -0.938536 -0.335461 0.081343
+vn -0.918801 -0.131504 -0.372172
+vn -0.644314 -0.006942 -0.764730
+vn 0.301654 0.003045 -0.953413
+vn -0.557123 -0.381628 -0.737546
+vn 0.270627 -0.605593 -0.748344
+vn -0.778847 -0.133758 -0.612786
+vn -0.839837 -0.375641 -0.391878
+vn -0.678312 -0.661425 -0.320015
+vn -0.810453 -0.470158 -0.349453
+vn -0.776225 -0.626090 0.074066
+vn -0.740591 -0.579173 -0.340710
+vn -0.099761 -0.859535 0.501246
+vn 0.072370 -0.995928 -0.053753
+vn -0.941527 -0.330074 0.067668
+vn -0.919521 -0.122314 -0.373525
+vn -0.776225 -0.626090 0.074066
+vn -0.740591 -0.579173 -0.340710
+vn -0.866716 -0.367761 -0.336980
+vn -0.870067 -0.330244 -0.365953
+vn -0.929741 -0.357324 -0.088893
+vn -0.929303 -0.045595 -0.366492
+vn 0.303259 -0.548269 -0.779382
+vn 0.095502 -0.994536 -0.042165
+vn -0.419319 -0.386580 -0.821418
+vn -0.694724 -0.646599 -0.315069
+vn -0.826920 -0.435431 -0.355813
+vn -0.844068 -0.363039 -0.394654
+vn -0.373356 -0.908875 -0.185883
+vn -0.380290 -0.904368 -0.193644
+vn -0.782265 -0.349168 -0.515890
+vn -0.225282 -0.804133 -0.550108
+vn -0.858577 -0.322304 -0.398705
+vn -0.351339 -0.894871 -0.275256
+vn 0.486060 -0.647369 -0.587076
+vn 0.149042 -0.890663 -0.429541
+vn 0.002517 -0.690720 -0.723118
+vn -0.443399 -0.530395 -0.722550
+vn 0.802470 -0.489340 -0.341449
+vn 0.002517 -0.690720 -0.723118
+vn 0.486060 -0.647369 -0.587076
+vn -0.612315 -0.286782 -0.736767
+vn -0.778473 -0.592045 -0.208475
+vn -0.671725 -0.072145 -0.737280
+vn -0.949731 -0.173993 -0.260263
+vn 0.149042 -0.890663 -0.429541
+vn 0.065297 -0.979397 -0.191099
+vn 0.037679 -0.870593 -0.490558
+vn -0.014492 -0.983844 -0.178439
+vn 0.037679 -0.870593 -0.490558
+vn -0.014492 -0.983844 -0.178439
+vn -0.225282 -0.804133 -0.550108
+vn -0.351339 -0.894871 -0.275256
+vn -0.218060 -0.953013 0.210278
+vn -0.372100 -0.923865 0.089524
+vn -0.523743 -0.749646 0.404628
+vn -0.638696 -0.736622 0.222384
+vn -0.277067 -0.960002 0.040382
+vn -0.289490 -0.956578 0.033967
+vn -0.139879 -0.984828 0.102701
+vn -0.143719 -0.984449 0.101022
+vn -0.289490 -0.956578 0.033967
+vn -0.303331 -0.952478 0.027864
+vn -0.143719 -0.984449 0.101022
+vn -0.147970 -0.983985 0.099390
+vn -0.269835 -0.961780 0.046569
+vn -0.277067 -0.960002 0.040382
+vn -0.137064 -0.985042 0.104428
+vn -0.139879 -0.984828 0.102701
+vn -0.152404 -0.983479 0.097685
+vn -0.157133 -0.982914 0.095860
+vn -0.044064 -0.989561 0.137214
+vn -0.044102 -0.989568 0.137153
+vn -0.157133 -0.982914 0.095860
+vn -0.162098 -0.982293 0.093935
+vn -0.044102 -0.989568 0.137153
+vn -0.044140 -0.989575 0.137090
+vn -0.162098 -0.982293 0.093935
+vn -0.161359 -0.984100 0.074239
+vn -0.044140 -0.989575 0.137090
+vn -0.038249 -0.992206 0.118591
+vn -0.161359 -0.984100 0.074239
+vn -0.148219 -0.988869 0.012982
+vn -0.038249 -0.992206 0.118591
+vn -0.018708 -0.998138 0.058054
+vn -0.147970 -0.983985 0.099390
+vn -0.152404 -0.983479 0.097685
+vn -0.044005 -0.989554 0.137281
+vn -0.044064 -0.989561 0.137214
+vn 0.976953 0.176690 0.119764
+vn 0.815660 0.530039 0.231859
+vn 0.893642 -0.389885 0.222246
+vn 0.934066 0.034281 0.355452
+vn -0.133961 -0.985096 0.107888
+vn -0.137064 -0.985042 0.104428
+vn -0.045168 -0.988906 0.141512
+vn -0.043874 -0.989536 0.137451
+vn 0.020977 0.999715 -0.011373
+vn 0.716043 0.644706 0.267652
+vn 0.049739 0.996975 -0.059731
+vn 0.746375 0.622667 0.234969
+vn -0.387097 0.099215 0.916685
+vn -0.110315 0.993626 -0.023198
+vn -0.118433 0.940539 0.318370
+vn 0.008645 0.999683 -0.023639
+vn 0.716043 0.644706 0.267652
+vn 0.903175 0.218732 0.369366
+vn 0.746375 0.622667 0.234969
+vn 0.920220 0.207544 0.331843
+vn 0.066068 0.997241 -0.033852
+vn -0.626797 0.720927 -0.295619
+vn 0.256967 0.822843 -0.506850
+vn -0.806119 0.223585 -0.547888
+vn 0.744588 0.399487 0.534788
+vn 0.915480 0.097194 0.390449
+vn 0.716867 0.315835 0.621571
+vn 0.908201 0.177409 0.379074
+vn 0.915480 0.097194 0.390449
+vn 0.943703 0.282237 0.172532
+vn 0.908201 0.177409 0.379074
+vn 0.988993 0.146786 0.018605
+vn 0.943703 0.282237 0.172532
+vn 0.256967 0.822843 -0.506850
+vn 0.988993 0.146786 0.018605
+vn 0.376736 0.219302 -0.899987
+vn 0.873071 0.210883 0.439632
+vn 0.899009 0.188535 0.395269
+vn 0.901963 0.075734 0.425121
+vn 0.941141 0.268917 0.204786
+vn 0.899009 0.188535 0.395269
+vn 0.809248 0.406397 0.424215
+vn 0.941141 0.268917 0.204786
+vn 0.441062 0.832340 0.335669
+vn 0.809248 0.406397 0.424215
+vn 0.770135 0.450087 0.452011
+vn 0.441062 0.832340 0.335669
+vn 0.618192 0.465754 0.633177
+vn 0.882906 0.164551 0.439772
+vn 0.897190 0.353851 0.264272
+vn 0.889965 0.156240 0.428429
+vn 0.988010 0.132106 0.079899
+vn 0.897190 0.353851 0.264272
+vn 0.459765 0.802024 0.381279
+vn 0.263531 0.794277 -0.547426
+vn -0.065800 0.986868 0.147521
+vn 0.058930 0.963107 0.262588
+vn 0.062893 0.952951 0.296527
+vn 0.637316 0.546541 0.543251
+vn 0.144508 0.870488 0.470498
+vn 0.058930 0.963107 0.262588
+vn 0.547451 0.646025 0.531929
+vn 0.604424 0.300817 0.737686
+vn 0.781498 0.095534 0.616550
+vn 0.885750 0.132304 0.444908
+vn 0.854091 0.235960 0.463521
+vn 0.499960 0.825332 0.262424
+vn 0.607271 0.371053 0.702525
+vn 0.885750 0.132304 0.444908
+vn 0.764281 0.043164 0.643437
+vn 0.781498 0.095534 0.616550
+vn 0.440859 0.687631 0.576895
+vn 0.949250 0.273132 0.155960
+vn 0.603402 0.765643 0.222926
+vn 0.192458 0.771155 -0.606861
+vn 0.027086 0.999287 -0.026318
+vn 0.744588 0.399487 0.534788
+vn -0.098549 0.917156 0.386151
+vn 0.603402 0.765643 0.222926
+vn 0.027086 0.999287 -0.026318
+vn 0.731628 0.262222 0.629254
+vn -0.211060 0.592966 0.777075
+vn 0.705844 0.363153 0.608197
+vn -0.158063 0.837533 0.523025
+vn -0.992579 0.053652 0.109128
+vn -0.950417 0.109946 0.290893
+vn -0.915094 -0.140570 0.377947
+vn -0.830154 -0.149428 0.537137
+vn -0.915094 -0.140570 0.377947
+vn -0.830154 -0.149428 0.537137
+vn -0.571060 -0.391939 0.721301
+vn -0.543633 -0.436225 0.717057
+vn -0.571060 -0.391939 0.721301
+vn -0.543633 -0.436225 0.717057
+vn -0.019772 -0.497438 0.867274
+vn -0.110736 -0.544383 0.831496
+vn -0.992579 0.053652 0.109128
+vn -0.997926 0.041849 0.048905
+vn -0.934054 0.322641 -0.153119
+vn -0.920132 0.292555 -0.260326
+vn -0.997926 0.041849 0.048905
+vn -0.999548 0.023118 0.019198
+vn -0.920132 0.292555 -0.260326
+vn -0.917223 0.235908 -0.321013
+vn -0.968203 -0.146101 -0.203068
+vn -0.952529 0.001944 -0.304441
+vn -0.981104 -0.131706 -0.141736
+vn -0.952609 -0.024791 -0.303187
+vn -0.968799 -0.101861 -0.225949
+vn -0.958827 -0.010003 -0.283815
+vn -0.968203 -0.146101 -0.203068
+vn -0.952529 0.001944 -0.304441
+vn -0.968581 -0.219421 -0.117069
+vn -0.985514 0.112173 -0.127195
+vn -0.978694 -0.166150 -0.120636
+vn -0.961202 0.233711 -0.146529
+vn -0.978314 -0.131880 -0.159717
+vn -0.975180 0.086182 -0.203952
+vn -0.968799 -0.101861 -0.225949
+vn -0.958827 -0.010003 -0.283815
+vn -0.978694 -0.166150 -0.120636
+vn -0.961202 0.233711 -0.146529
+vn -0.978314 -0.131880 -0.159717
+vn -0.975180 0.086182 -0.203952
+vn -0.793876 -0.603153 -0.077246
+vn -0.773028 -0.632231 -0.052076
+vn -0.948806 -0.294816 -0.113362
+vn -0.905511 -0.418410 -0.070588
+vn -0.439820 -0.894792 0.076847
+vn -0.090938 -0.953848 0.286191
+vn -0.736859 -0.667587 0.106619
+vn -0.406715 -0.824997 0.392382
+vn -0.090938 -0.953848 0.286191
+vn 0.095008 -0.832948 0.545134
+vn -0.171816 -0.853652 0.491689
+vn -0.065597 -0.743575 0.665427
+vn 0.095008 -0.832948 0.545134
+vn 0.210153 -0.514817 0.831143
+vn -0.065597 -0.743575 0.665427
+vn -0.122063 -0.289144 0.949472
+vn 0.747838 -0.184592 0.637702
+vn 0.380430 -0.398983 0.834317
+vn 0.341445 -0.218627 0.914121
+vn 0.323050 -0.342541 0.882216
+vn 0.718219 0.366144 0.591693
+vn 0.772783 0.530088 0.349017
+vn 0.879170 0.425879 0.213748
+vn 0.651063 0.725739 0.222305
+vn 0.000000 0.959054 -0.283225
+vn 0.000000 0.998845 0.048052
+vn -0.479972 0.861385 -0.166261
+vn -0.326604 0.939810 0.100434
+vn -0.448858 0.707847 -0.545416
+vn -0.479972 0.861385 -0.166261
+vn -0.934054 0.322641 -0.153119
+vn -0.913101 0.366703 0.178258
+vn -0.881325 0.421686 -0.213182
+vn -0.967307 0.168449 -0.189585
+vn -0.763542 0.371400 -0.528266
+vn -0.879418 0.086518 -0.468122
+vn -0.597964 0.789451 -0.138585
+vn -0.823378 0.567320 -0.014012
+vn -0.966956 0.212806 -0.140393
+vn -0.987261 -0.056786 -0.148629
+vn -0.917954 -0.342492 -0.200148
+vn -0.937438 -0.289760 -0.192998
+vn -0.903270 -0.356599 -0.238623
+vn -0.917571 -0.318130 -0.238448
+vn -0.719301 0.322660 -0.615221
+vn -0.719955 -0.583521 -0.375723
+vn -0.569276 0.704780 -0.423333
+vn -0.595825 -0.765339 -0.243411
+vn -0.721475 -0.684345 -0.105572
+vn -0.507802 -0.856539 -0.092077
+vn -0.702382 -0.701925 -0.118157
+vn -0.425435 -0.892724 -0.148491
+vn -0.702382 -0.701925 -0.118157
+vn -0.985465 -0.169274 -0.014311
+vn -0.584334 -0.779974 -0.224040
+vn -0.971918 0.013991 -0.234903
+vn -0.971918 0.013991 -0.234903
+vn -0.859231 0.507821 -0.061970
+vn -0.899082 0.030829 -0.436694
+vn -0.618492 0.692953 -0.370519
+vn -0.859231 0.507821 -0.061970
+vn -0.621296 0.757265 -0.201348
+vn -0.618492 0.692953 -0.370519
+vn -0.484706 0.799449 -0.354883
+vn -0.903270 -0.356599 -0.238623
+vn -0.917571 -0.318130 -0.238448
+vn -0.904228 -0.286690 -0.316513
+vn -0.843997 -0.360174 -0.397421
+vn -0.910993 -0.169075 -0.376171
+vn -0.879418 0.086518 -0.468122
+vn -0.979621 -0.054501 -0.193319
+vn -0.967307 0.168449 -0.189585
+vn -0.904228 -0.286690 -0.316513
+vn -0.843997 -0.360174 -0.397421
+vn -0.910993 -0.169075 -0.376171
+vn -0.708697 -0.342127 -0.617007
+vn -0.871994 -0.281463 0.400506
+vn -0.986450 -0.065619 0.150367
+vn -0.901134 0.005281 0.433509
+vn -0.876786 0.216671 0.429301
+vn -0.975180 0.086182 -0.203952
+vn -0.876786 0.216671 0.429301
+vn -0.968187 0.003180 -0.250209
+vn -0.986450 -0.065619 0.150367
+vn -0.901134 0.005281 0.433509
+vn -0.510408 -0.838540 0.190615
+vn -0.767465 -0.594058 0.241024
+vn -0.789984 -0.609310 0.068315
+vn -0.789984 -0.609310 0.068315
+vn -0.838175 -0.545384 -0.004330
+vn -0.038404 -0.981796 0.186016
+vn -0.618927 -0.784531 0.037952
+vn -0.059870 -0.983918 0.168291
+vn -0.618927 -0.784531 0.037952
+vn -0.883334 -0.461086 -0.084381
+vn -0.838175 -0.545384 -0.004330
+vn -0.650231 -0.759373 -0.023512
+vn -0.935161 -0.335587 -0.113379
+vn -0.232468 -0.968908 0.084706
+vn -0.916637 -0.378705 -0.127901
+vn -0.724991 -0.687474 -0.042043
+vn -0.936961 -0.302148 -0.175528
+vn -0.042987 -0.994540 0.095090
+vn -0.967668 -0.198866 -0.155148
+vn -0.232468 -0.968908 0.084706
+vn -0.916637 -0.378705 -0.127901
+vn -0.724991 -0.687474 -0.042043
+vn -0.936961 -0.302148 -0.175528
+vn -0.347841 -0.937468 -0.012650
+vn -0.832150 -0.547646 -0.087241
+vn -0.572533 -0.819831 -0.009127
+vn -0.842639 -0.523999 0.124035
+vn -0.297484 -0.954727 -0.000477
+vn -0.347841 -0.937468 -0.012650
+vn -0.821413 -0.438804 -0.364325
+vn -0.572533 -0.819831 -0.009127
+vn -0.925617 -0.343807 -0.158211
+vn -0.392390 -0.918642 -0.046114
+vn -0.472854 -0.877505 -0.079964
+vn -0.564443 -0.820611 -0.089450
+vn -0.525489 -0.844271 -0.105205
+vn -0.931025 -0.328896 -0.158175
+vn -0.341527 -0.932084 -0.120741
+vn -0.931025 -0.328896 -0.158175
+vn -0.259364 -0.961304 -0.092867
+vn -0.341527 -0.932084 -0.120741
+vn -0.372270 -0.923749 -0.090019
+vn -0.297484 -0.954727 -0.000477
+vn -0.975339 -0.127857 -0.179905
+vn -0.821413 -0.438804 -0.364325
+vn -0.919469 -0.372453 -0.125921
+vn -0.925617 -0.343807 -0.158211
+vn -0.466750 -0.874062 -0.134761
+vn -0.791373 -0.607305 0.070062
+vn -0.919469 -0.372453 -0.125921
+vn -0.938827 -0.343231 -0.028231
+vn -0.807013 -0.568975 -0.158104
+vn -0.999614 0.025663 0.010608
+vn -0.818426 0.564397 0.107863
+vn -0.891557 -0.210875 0.400822
+vn -0.589392 0.781975 0.202809
+vn -0.958837 -0.126537 -0.254205
+vn -0.974313 -0.134578 -0.180565
+vn -0.818426 0.564397 0.107863
+vn -0.694378 0.715389 -0.077827
+vn 0.765222 -0.515868 0.385117
+vn 0.720931 -0.650826 0.238084
+vn 0.934066 0.034281 0.355452
+vn 0.893642 -0.389885 0.222246
+vn -0.974313 -0.134578 -0.180565
+vn -0.980114 -0.136108 -0.144401
+vn -0.694378 0.715389 -0.077827
+vn -0.646494 0.725846 -0.234933
+vn -0.895528 0.228039 -0.382137
+vn -0.838046 -0.440034 -0.322567
+vn -0.672746 0.351110 -0.651256
+vn -0.604987 -0.718132 -0.343914
+vn -0.838046 -0.440034 -0.322567
+vn -0.832557 -0.520297 -0.190105
+vn -0.604987 -0.718132 -0.343914
+vn -0.486219 -0.861643 -0.145472
+vn -0.728110 -0.595436 -0.339576
+vn -0.530346 -0.396897 -0.749137
+vn 0.063261 -0.996421 -0.056074
+vn 0.290112 -0.607986 -0.739046
+vn -0.823146 -0.419946 -0.382200
+vn -0.311828 -0.934650 -0.170861
+vn -0.789096 -0.509883 -0.342561
+vn -0.304065 -0.937819 -0.167451
+vn -0.128714 -0.861957 0.490371
+vn -0.768531 -0.634865 0.079413
+vn 0.063261 -0.996421 -0.056074
+vn -0.728110 -0.595436 -0.339576
+vn -0.295316 -0.937940 -0.181818
+vn -0.292369 -0.941223 -0.169175
+vn -0.039881 -0.993825 -0.103548
+vn -0.036097 -0.996303 -0.077961
+vn -0.342836 -0.919276 -0.193377
+vn -0.337097 -0.922114 -0.189927
+vn -0.103879 -0.987796 -0.116055
+vn -0.095182 -0.989377 -0.109883
+vn -0.148219 -0.988869 0.012982
+vn -0.127716 -0.989450 -0.068391
+vn -0.018708 -0.998138 0.058054
+vn -0.001405 -0.999846 -0.017474
+vn -0.127716 -0.989450 -0.068391
+vn -0.100201 -0.989691 -0.102335
+vn -0.001405 -0.999846 -0.017474
+vn 0.030174 -0.997690 -0.060856
+vn -0.110692 -0.987127 -0.115447
+vn 0.018786 -0.996057 -0.086702
+vn -0.100201 -0.989691 -0.102335
+vn 0.030174 -0.997690 -0.060856
+vn -0.854968 -0.400583 -0.329488
+vn -0.857690 -0.364702 -0.362436
+vn -0.931120 -0.357538 -0.071983
+vn -0.929075 -0.049714 -0.366536
+vn -0.557123 -0.381628 -0.737546
+vn -0.740591 -0.579173 -0.340710
+vn -0.644314 -0.006942 -0.764730
+vn -0.919521 -0.122314 -0.373525
+vn -0.644314 -0.006942 -0.764730
+vn -0.919521 -0.122314 -0.373525
+vn -0.778847 -0.133758 -0.612786
+vn -0.929303 -0.045595 -0.366492
+vn -0.778847 -0.133758 -0.612786
+vn -0.929303 -0.045595 -0.366492
+vn -0.839837 -0.375641 -0.391878
+vn -0.870067 -0.330244 -0.365953
+vn -0.740591 -0.579173 -0.340710
+vn -0.557123 -0.381628 -0.737546
+vn 0.072370 -0.995928 -0.053753
+vn 0.270627 -0.605593 -0.748344
+vn -0.870067 -0.330244 -0.365953
+vn -0.866716 -0.367761 -0.336980
+vn -0.352852 -0.917427 -0.183911
+vn -0.363166 -0.913269 -0.184527
+vn -0.866716 -0.367761 -0.336980
+vn -0.826920 -0.435431 -0.355813
+vn -0.363166 -0.913269 -0.184527
+vn -0.373356 -0.908875 -0.185883
+vn -0.844068 -0.363039 -0.394654
+vn -0.858577 -0.322304 -0.398705
+vn -0.380290 -0.904368 -0.193644
+vn -0.351339 -0.894871 -0.275256
+vn 0.486060 -0.647369 -0.587076
+vn 0.510987 -0.550436 -0.660237
+vn 0.149042 -0.890663 -0.429541
+vn 0.274724 -0.859240 -0.431548
+vn -0.778473 -0.592045 -0.208475
+vn -0.612315 -0.286782 -0.736767
+vn 0.000461 -0.999617 -0.027682
+vn -0.100748 -0.465088 -0.879513
+vn 0.149042 -0.890663 -0.429541
+vn 0.274724 -0.859240 -0.431548
+vn 0.065297 -0.979397 -0.191099
+vn 0.121404 -0.983190 -0.136374
+vn 0.760049 -0.605931 0.234890
+vn 0.933228 -0.173674 0.314521
+vn 0.802470 -0.489340 -0.341449
+vn 0.969185 -0.068137 -0.236725
+vn 0.340433 -0.390379 0.855400
+vn 0.195122 -0.595091 0.779612
+vn 0.933228 -0.173674 0.314521
+vn 0.762164 -0.591805 0.262436
+vn -0.538699 -0.492147 0.683809
+vn -0.822891 -0.473898 0.313481
+vn -0.609602 -0.402393 0.682982
+vn -0.933105 -0.281921 0.223241
+vn -0.523743 -0.749646 0.404628
+vn -0.638696 -0.736622 0.222384
+vn -0.822891 -0.473898 0.313481
+vn -0.620815 -0.776146 0.110393
+vn 0.340433 -0.390379 0.855400
+vn -0.609602 -0.402393 0.682982
+vn 0.195122 -0.595091 0.779612
+vn -0.493985 -0.677213 0.545308
+vn -0.044005 -0.989554 0.137281
+vn -0.043951 -0.989548 0.137346
+vn -0.147970 -0.983985 0.099390
+vn -0.143719 -0.984449 0.101022
+vn -0.045168 -0.988906 0.141512
+vn 0.048215 -0.985265 0.164097
+vn -0.052897 -0.984633 0.166435
+vn 0.041623 -0.985069 0.167053
+vn -0.626797 0.720927 -0.295619
+vn -0.883035 0.286433 -0.371759
+vn -0.806119 0.223585 -0.547888
+vn -0.891138 0.225811 -0.393552
+vn -0.905073 0.233972 -0.355106
+vn -0.639404 0.704805 -0.307266
+vn -0.883035 0.286433 -0.371759
+vn -0.623470 0.721125 -0.302101
+vn -0.652734 0.690653 -0.311347
+vn 0.061678 0.996517 -0.056122
+vn -0.639404 0.704805 -0.307266
+vn 0.074690 0.995882 -0.051381
+vn 0.049739 0.996975 -0.059731
+vn 0.746375 0.622667 0.234969
+vn 0.061678 0.996517 -0.056122
+vn 0.753045 0.613120 0.238761
+vn 0.525423 0.836534 0.155378
+vn 0.157810 0.987285 -0.019085
+vn 0.568419 0.812165 0.131485
+vn 0.189945 0.980784 -0.044542
+vn 0.123346 0.991752 0.034829
+vn 0.008645 0.999683 -0.023639
+vn 0.157810 0.987285 -0.019085
+vn 0.020693 0.997322 -0.070146
+vn -0.387097 0.099215 0.916685
+vn 0.056771 -0.927933 0.368398
+vn -0.359266 0.170549 0.917519
+vn 0.492528 -0.640531 0.589183
+vn -0.110315 0.993626 -0.023198
+vn -0.387097 0.099215 0.916685
+vn -0.422014 0.905641 0.041466
+vn -0.359266 0.170549 0.917519
+vn -0.052897 -0.984633 0.166435
+vn 0.041623 -0.985069 0.167053
+vn -0.023970 -0.975888 0.216954
+vn 0.060265 -0.980668 0.186166
+vn 0.056771 -0.927933 0.368398
+vn -0.023970 -0.975888 0.216954
+vn 0.235928 -0.939625 0.247878
+vn 0.060265 -0.980668 0.186166
+vn 0.746375 0.622667 0.234969
+vn 0.920220 0.207544 0.331843
+vn 0.753045 0.613120 0.238761
+vn 0.920417 0.203118 0.334031
+vn 0.920220 0.207544 0.331843
+vn 0.883368 0.356229 0.304569
+vn 0.920417 0.203118 0.334031
+vn 0.884674 0.351131 0.306689
+vn 0.883368 0.356229 0.304569
+vn 0.568419 0.812165 0.131485
+vn 0.884674 0.351131 0.306689
+vn 0.656988 0.733284 0.175102
+vn 0.716867 0.315835 0.621571
+vn -0.227944 0.655141 0.720300
+vn 0.744588 0.399487 0.534788
+vn -0.098549 0.917156 0.386151
+vn 0.901963 0.075734 0.425121
+vn 0.758863 0.242243 0.604521
+vn 0.873071 0.210883 0.439632
+vn 0.873318 0.138874 0.466937
+vn 0.618192 0.465754 0.633177
+vn -0.341354 0.804062 0.486787
+vn 0.441062 0.832340 0.335669
+vn -0.181963 0.974661 0.130100
+vn 0.618192 0.465754 0.633177
+vn 0.882906 0.164551 0.439772
+vn 0.671998 0.273879 0.688047
+vn 0.889965 0.156240 0.428429
+vn 0.897190 0.353851 0.264272
+vn 0.263531 0.794277 -0.547426
+vn 0.988010 0.132106 0.079899
+vn 0.470354 0.160181 -0.867819
+vn 0.854091 0.235960 0.463521
+vn 0.888767 0.109499 0.445087
+vn 0.607271 0.371053 0.702525
+vn 0.893729 0.046777 0.446161
+vn 0.888767 0.109499 0.445087
+vn 0.917574 0.063432 0.392471
+vn 0.893729 0.046777 0.446161
+vn 0.966846 0.175841 0.185170
+vn 0.062893 0.952951 0.296527
+vn 0.058930 0.963107 0.262588
+vn 0.279997 0.432151 0.857232
+vn 0.604424 0.300817 0.737686
+vn 0.499960 0.825332 0.262424
+vn 0.986963 0.138516 -0.081960
+vn 0.885750 0.132304 0.444908
+vn 0.891937 0.010518 0.452038
+vn 0.781498 0.095534 0.616550
+vn 0.440859 0.687631 0.576895
+vn 0.604424 0.300817 0.737686
+vn 0.544712 0.619209 0.565570
+vn 0.764281 0.043164 0.643437
+vn 0.885750 0.132304 0.444908
+vn 0.599339 0.159111 0.784523
+vn 0.891937 0.010518 0.452038
+vn 0.062893 0.952951 0.296527
+vn -0.053117 0.956841 0.285717
+vn 0.144508 0.870488 0.470498
+vn -0.029299 0.931464 0.362651
+vn 0.144508 0.870488 0.470498
+vn -0.029299 0.931464 0.362651
+vn 0.210153 -0.514817 0.831143
+vn -0.122063 -0.289144 0.949472
+vn 0.949250 0.273132 0.155960
+vn 0.192458 0.771155 -0.606861
+vn 0.991989 0.125216 0.016666
+vn 0.280785 0.171397 -0.944342
+vn -0.211060 0.592966 0.777075
+vn 0.731628 0.262222 0.629254
+vn -0.138722 0.848449 0.510775
+vn 0.642878 0.524679 0.558050
+vn 0.731628 0.262222 0.629254
+vn 0.911048 0.152329 0.383129
+vn 0.642878 0.524679 0.558050
+vn 0.803177 0.511688 0.305094
+vn 0.991989 0.125216 0.016666
+vn 0.908742 0.416178 -0.031357
+vn 0.911048 0.152329 0.383129
+vn 0.803177 0.511688 0.305094
+vn -0.158063 0.837533 0.523025
+vn -0.211060 0.592966 0.777075
+vn -0.918798 0.377105 -0.116629
+vn -0.965739 0.253693 -0.054669
+vn -0.065800 0.986868 0.147521
+vn -0.158063 0.837533 0.523025
+vn -0.601103 0.767031 -0.224364
+vn -0.918798 0.377105 -0.116629
+vn -0.950417 0.109946 0.290893
+vn -0.992579 0.053652 0.109128
+vn -0.913101 0.366703 0.178258
+vn -0.934054 0.322641 -0.153119
+vn 0.422025 -0.418765 0.804071
+vn -0.110736 -0.544383 0.831496
+vn 0.192164 -0.545087 0.816060
+vn -0.205759 -0.609408 0.765693
+vn -0.968581 -0.219421 -0.117069
+vn -0.948806 -0.294816 -0.113362
+vn -0.985514 0.112173 -0.127195
+vn -0.992917 -0.028422 -0.115357
+vn -0.773028 -0.632231 -0.052076
+vn -0.439820 -0.894792 0.076847
+vn -0.905511 -0.418410 -0.070588
+vn -0.736859 -0.667587 0.106619
+vn -0.090938 -0.953848 0.286191
+vn -0.171816 -0.853652 0.491689
+vn -0.406715 -0.824997 0.392382
+vn -0.365642 -0.737204 0.568187
+vn 0.380430 -0.398983 0.834317
+vn 0.192164 -0.545087 0.816060
+vn 0.466307 -0.586330 0.662401
+vn 0.104444 -0.751368 0.651566
+vn 0.341445 -0.218627 0.914121
+vn 0.405442 0.025298 0.913771
+vn 0.747838 -0.184592 0.637702
+vn 0.615938 0.147243 0.773912
+vn 0.718219 0.366144 0.591693
+vn 0.645057 0.246483 0.723289
+vn 0.432553 0.485351 0.759824
+vn 0.251400 0.417122 0.873388
+vn 0.645057 0.246483 0.723289
+vn 0.615938 0.147243 0.773912
+vn 0.251400 0.417122 0.873388
+vn -0.027477 0.395664 0.917984
+vn 0.772783 0.530088 0.349017
+vn 0.718219 0.366144 0.591693
+vn 0.673136 0.578805 0.460297
+vn 0.432553 0.485351 0.759824
+vn 0.772783 0.530088 0.349017
+vn 0.836779 0.534955 0.116720
+vn 0.651063 0.725739 0.222305
+vn 0.620138 0.783797 0.033018
+vn 0.289055 0.951868 0.101959
+vn 0.651063 0.725739 0.222305
+vn 0.252414 0.967270 -0.026009
+vn 0.620138 0.783797 0.033018
+vn 0.000000 0.998845 0.048052
+vn 0.289055 0.951868 0.101959
+vn -0.000000 0.999418 -0.034114
+vn 0.252414 0.967270 -0.026009
+vn -0.763542 0.371400 -0.528266
+vn -0.492777 0.229384 -0.839377
+vn -0.525775 0.675552 -0.516905
+vn -0.422204 0.685127 -0.593587
+vn -0.710961 0.642216 -0.286519
+vn -0.336812 0.899029 -0.279828
+vn -0.597964 0.789451 -0.138585
+vn -0.266857 0.952171 -0.148853
+vn -0.213563 0.948600 -0.233558
+vn -0.336812 0.899029 -0.279828
+vn -0.569276 0.704780 -0.423333
+vn -0.719301 0.322660 -0.615221
+vn -0.823378 0.567320 -0.014012
+vn -0.597964 0.789451 -0.138585
+vn -0.346091 0.938139 -0.010774
+vn -0.266857 0.952171 -0.148853
+vn -0.823378 0.567320 -0.014012
+vn -0.891911 0.451637 0.022796
+vn -0.987261 -0.056786 -0.148629
+vn -0.979233 -0.086264 -0.183472
+vn -0.937438 -0.289760 -0.192998
+vn -0.987261 -0.056786 -0.148629
+vn -0.917571 -0.318130 -0.238448
+vn -0.979233 -0.086264 -0.183472
+vn -0.062268 -0.982330 -0.176494
+vn -0.155012 -0.971466 -0.179516
+vn -0.584334 -0.779974 -0.224040
+vn -0.702382 -0.701925 -0.118157
+vn -0.584334 -0.779974 -0.224040
+vn -0.971918 0.013991 -0.234903
+vn -0.558064 -0.765306 -0.320737
+vn -0.899082 0.030829 -0.436694
+vn -0.525775 0.675552 -0.516905
+vn -0.422204 0.685127 -0.593587
+vn -0.484706 0.799449 -0.354883
+vn -0.618492 0.692953 -0.370519
+vn -0.910993 -0.169075 -0.376171
+vn -0.708697 -0.342127 -0.617007
+vn -0.879418 0.086518 -0.468122
+vn -0.615787 -0.090537 -0.782694
+vn -0.901134 0.005281 0.433509
+vn -0.070932 -0.139365 0.987697
+vn -0.510408 -0.838540 0.190615
+vn 0.011519 -0.963341 0.268032
+vn -0.510408 -0.838540 0.190615
+vn -0.496921 -0.859704 0.118234
+vn -0.789984 -0.609310 0.068315
+vn -0.838175 -0.545384 -0.004330
+vn -0.650231 -0.759373 -0.023512
+vn -0.228454 -0.969042 0.093633
+vn -0.935161 -0.335587 -0.113379
+vn -0.959632 -0.235936 -0.153106
+vn -0.228454 -0.969042 0.093633
+vn -0.695055 -0.717909 -0.038797
+vn -0.959632 -0.235936 -0.153106
+vn -0.937247 -0.310869 -0.157888
+vn -0.695055 -0.717909 -0.038797
+vn -0.059870 -0.983918 0.168291
+vn -0.937247 -0.310869 -0.157888
+vn -0.883334 -0.461086 -0.084381
+vn -0.832150 -0.547646 -0.087241
+vn -0.967668 -0.198866 -0.155148
+vn -0.842639 -0.523999 0.124035
+vn -0.977520 -0.140118 -0.157547
+vn -0.967668 -0.198866 -0.155148
+vn -0.936961 -0.302148 -0.175528
+vn -0.977520 -0.140118 -0.157547
+vn -0.846452 -0.421426 -0.325451
+vn -0.472854 -0.877505 -0.079964
+vn -0.860415 -0.473391 -0.188647
+vn -0.925617 -0.343807 -0.158211
+vn -0.630466 -0.760388 -0.155958
+vn -0.392390 -0.918642 -0.046114
+vn -0.332518 -0.940908 -0.064226
+vn -0.685167 -0.714300 -0.142556
+vn -0.720172 -0.682171 -0.126476
+vn -0.332518 -0.940908 -0.064226
+vn -0.931025 -0.328896 -0.158175
+vn -0.720172 -0.682171 -0.126476
+vn -0.525489 -0.844271 -0.105205
+vn -0.259364 -0.961304 -0.092867
+vn -0.337379 -0.936649 -0.094150
+vn -0.581695 -0.800826 -0.142508
+vn -0.864060 -0.500048 0.057902
+vn -0.337379 -0.936649 -0.094150
+vn -0.372270 -0.923749 -0.090019
+vn -0.864060 -0.500048 0.057902
+vn -0.975339 -0.127857 -0.179905
+vn -0.725160 -0.670116 -0.158389
+vn -0.944810 -0.202508 -0.257535
+vn -0.919469 -0.372453 -0.125921
+vn -0.807013 -0.568975 -0.158104
+vn -0.581520 -0.811935 0.050947
+vn -0.715641 -0.685515 0.133892
+vn -0.372100 -0.923865 0.089524
+vn -0.638696 -0.736622 0.222384
+vn -0.715641 -0.685515 0.133892
+vn -0.791373 -0.607305 0.070062
+vn -0.506814 -0.855429 0.106680
+vn -0.699881 -0.708541 0.090200
+vn -0.891557 -0.210875 0.400822
+vn -0.980278 -0.147602 0.131407
+vn -0.585553 -0.810330 0.022216
+vn -0.849919 -0.515590 -0.108646
+vn -0.895528 0.228039 -0.382137
+vn -0.672746 0.351110 -0.651256
+vn -0.646494 0.725846 -0.234933
+vn -0.444883 0.862691 -0.240507
+vn -0.585553 -0.810330 0.022216
+vn -0.849919 -0.515590 -0.108646
+vn -0.486219 -0.861643 -0.145472
+vn -0.731082 -0.650534 -0.205731
+vn -0.728110 -0.595436 -0.339576
+vn -0.768531 -0.634865 0.079413
+vn -0.918801 -0.131504 -0.372172
+vn -0.938536 -0.335461 0.081343
+vn -0.857690 -0.364702 -0.362436
+vn -0.319472 -0.931458 -0.174137
+vn -0.823146 -0.419946 -0.382200
+vn -0.311828 -0.934650 -0.170861
+vn -0.304065 -0.937819 -0.167451
+vn -0.038738 -0.997019 -0.066732
+vn -0.296960 -0.940538 -0.164931
+vn -0.038038 -0.997093 -0.066023
+vn -0.296960 -0.940538 -0.164931
+vn -0.038038 -0.997093 -0.066023
+vn -0.292369 -0.941223 -0.169175
+vn -0.036097 -0.996303 -0.077961
+vn -0.311828 -0.934650 -0.170861
+vn -0.038853 -0.996918 -0.068157
+vn -0.304065 -0.937819 -0.167451
+vn -0.038738 -0.997019 -0.066732
+vn -0.110692 -0.987127 -0.115447
+vn -0.103879 -0.987796 -0.116055
+vn 0.018786 -0.996057 -0.086702
+vn 0.026307 -0.996487 -0.079514
+vn -0.039881 -0.993825 -0.103548
+vn 0.029287 -0.995570 -0.089351
+vn -0.055507 -0.991435 -0.118220
+vn 0.032724 -0.994484 -0.099650
+vn -0.055507 -0.991435 -0.118220
+vn 0.032724 -0.994484 -0.099650
+vn -0.076621 -0.990163 -0.117075
+vn 0.029927 -0.995448 -0.090491
+vn -0.076621 -0.990163 -0.117075
+vn 0.029927 -0.995448 -0.090491
+vn -0.095182 -0.989377 -0.109883
+vn 0.025121 -0.996827 -0.075536
+vn -0.857690 -0.364702 -0.362436
+vn -0.854968 -0.400583 -0.329488
+vn -0.319472 -0.931458 -0.174137
+vn -0.326022 -0.928794 -0.176213
+vn -0.854968 -0.400583 -0.329488
+vn -0.810453 -0.470158 -0.349453
+vn -0.326022 -0.928794 -0.176213
+vn -0.334607 -0.925298 -0.178500
+vn -0.810453 -0.470158 -0.349453
+vn -0.839837 -0.375641 -0.391878
+vn -0.334607 -0.925298 -0.178500
+vn -0.344207 -0.921151 -0.181665
+vn -0.352852 -0.917427 -0.183911
+vn -0.344207 -0.921151 -0.181665
+vn -0.870067 -0.330244 -0.365953
+vn -0.839837 -0.375641 -0.391878
+vn -0.363166 -0.913269 -0.184527
+vn -0.373356 -0.908875 -0.185883
+vn -0.046892 -0.997013 -0.061368
+vn -0.049702 -0.997015 -0.059087
+vn -0.373356 -0.908875 -0.185883
+vn -0.380290 -0.904368 -0.193644
+vn -0.049702 -0.997015 -0.059087
+vn -0.049180 -0.996467 -0.068084
+vn 0.802470 -0.489340 -0.341449
+vn 0.679415 -0.181743 -0.710890
+vn 0.486060 -0.647369 -0.587076
+vn 0.510987 -0.550436 -0.660237
+vn 0.065297 -0.979397 -0.191099
+vn 0.015048 -0.998898 -0.044453
+vn -0.014492 -0.983844 -0.178439
+vn -0.049180 -0.996467 -0.068084
+vn -0.014492 -0.983844 -0.178439
+vn -0.049180 -0.996467 -0.068084
+vn -0.351339 -0.894871 -0.275256
+vn -0.380290 -0.904368 -0.193644
+vn -0.137064 -0.985042 0.104428
+vn -0.139879 -0.984828 0.102701
+vn -0.043874 -0.989536 0.137451
+vn -0.043911 -0.989542 0.137400
+vn -0.139879 -0.984828 0.102701
+vn -0.143719 -0.984449 0.101022
+vn -0.043911 -0.989542 0.137400
+vn -0.043951 -0.989548 0.137346
+vn -0.044064 -0.989561 0.137214
+vn 0.068010 -0.983897 0.165292
+vn -0.044005 -0.989554 0.137281
+vn 0.063511 -0.984371 0.164254
+vn -0.044102 -0.989568 0.137153
+vn 0.072864 -0.983362 0.166404
+vn -0.044064 -0.989561 0.137214
+vn 0.068010 -0.983897 0.165292
+vn -0.044140 -0.989575 0.137090
+vn 0.077973 -0.982771 0.167575
+vn -0.044102 -0.989568 0.137153
+vn 0.072864 -0.983362 0.166404
+vn -0.038249 -0.992206 0.118591
+vn 0.088800 -0.984542 0.150966
+vn -0.044140 -0.989575 0.137090
+vn 0.077973 -0.982771 0.167575
+vn -0.018708 -0.998138 0.058054
+vn 0.114025 -0.989094 0.093229
+vn -0.038249 -0.992206 0.118591
+vn 0.088800 -0.984542 0.150966
+vn -0.044005 -0.989554 0.137281
+vn 0.063511 -0.984371 0.164254
+vn -0.043951 -0.989548 0.137346
+vn 0.059193 -0.984806 0.163256
+vn -0.043874 -0.989536 0.137451
+vn 0.052197 -0.985280 0.162782
+vn -0.045168 -0.988906 0.141512
+vn 0.048215 -0.985265 0.164097
+vn -0.110315 0.993626 -0.023198
+vn -0.104486 0.989519 -0.099671
+vn 0.008645 0.999683 -0.023639
+vn 0.020693 0.997322 -0.070146
+vn -0.422014 0.905641 0.041466
+vn -0.391884 0.909101 -0.141291
+vn -0.110315 0.993626 -0.023198
+vn -0.104486 0.989519 -0.099671
+vn 0.056771 -0.927933 0.368398
+vn 0.235928 -0.939625 0.247878
+vn 0.492528 -0.640531 0.589183
+vn 0.645078 -0.686499 0.335549
+vn 0.256967 0.822843 -0.506850
+vn -0.806119 0.223585 -0.547888
+vn 0.376736 0.219302 -0.899987
+vn -0.724986 0.091669 -0.682636
+vn -0.227944 0.655141 0.720300
+vn 0.716867 0.315835 0.621571
+vn -0.133853 0.871060 0.472587
+vn 0.609352 0.581618 0.538898
+vn 0.716867 0.315835 0.621571
+vn 0.908201 0.177409 0.379074
+vn 0.609352 0.581618 0.538898
+vn 0.774241 0.560817 0.293318
+vn 0.908201 0.177409 0.379074
+vn 0.988993 0.146786 0.018605
+vn 0.774241 0.560817 0.293318
+vn 0.885786 0.463452 -0.024392
+vn 0.988993 0.146786 0.018605
+vn 0.376736 0.219302 -0.899987
+vn 0.885786 0.463452 -0.024392
+vn 0.291312 0.701788 -0.650101
+vn 0.758863 0.242243 0.604521
+vn 0.901963 0.075734 0.425121
+vn 0.631599 0.283331 0.721669
+vn 0.886943 0.152452 0.435994
+vn 0.901963 0.075734 0.425121
+vn 0.941141 0.268917 0.204786
+vn 0.886943 0.152452 0.435994
+vn 0.994419 0.101777 -0.027806
+vn 0.941141 0.268917 0.204786
+vn 0.441062 0.832340 0.335669
+vn 0.135942 0.812547 -0.566822
+vn -0.181963 0.974661 0.130100
+vn 0.758863 0.242243 0.604521
+vn 0.591108 0.715864 0.371659
+vn 0.873318 0.138874 0.466937
+vn 0.837214 0.330625 0.435613
+vn -0.341354 0.804062 0.486787
+vn 0.618192 0.465754 0.633177
+vn -0.423497 0.513106 0.746574
+vn 0.671998 0.273879 0.688047
+vn 0.671998 0.273879 0.688047
+vn 0.889965 0.156240 0.428429
+vn 0.572969 0.470599 0.671002
+vn 0.779859 0.470915 0.412383
+vn 0.889965 0.156240 0.428429
+vn 0.988010 0.132106 0.079899
+vn 0.779859 0.470915 0.412383
+vn 0.926149 0.371794 0.063377
+vn -0.065800 0.986868 0.147521
+vn -0.601103 0.767031 -0.224364
+vn 0.263531 0.794277 -0.547426
+vn -0.792755 0.117460 -0.598116
+vn 0.917574 0.063432 0.392471
+vn 0.837214 0.330625 0.435613
+vn 0.966846 0.175841 0.185170
+vn 0.591108 0.715864 0.371659
+vn 0.279997 0.432151 0.857232
+vn -0.096116 0.460741 0.882315
+vn 0.062893 0.952951 0.296527
+vn -0.053117 0.956841 0.285717
+vn 0.279997 0.432151 0.857232
+vn 0.604424 0.300817 0.737686
+vn 0.503934 0.350364 0.789491
+vn 0.544712 0.619209 0.565570
+vn 0.986963 0.138516 -0.081960
+vn 0.499960 0.825332 0.262424
+vn 0.029962 0.502337 -0.864153
+vn -0.324806 0.943977 0.058374
+vn 0.607271 0.371053 0.702525
+vn -0.410419 0.714202 0.566985
+vn 0.499960 0.825332 0.262424
+vn -0.324806 0.943977 0.058374
+vn 0.599339 0.159111 0.784523
+vn -0.244006 0.480836 0.842175
+vn 0.764281 0.043164 0.643437
+vn -0.095742 0.764929 0.636960
+vn 0.764281 0.043164 0.643437
+vn -0.095742 0.764929 0.636960
+vn 0.440859 0.687631 0.576895
+vn -0.196073 0.950882 0.239541
+vn 0.027086 0.999287 -0.026318
+vn -0.611116 0.738824 -0.284036
+vn 0.192458 0.771155 -0.606861
+vn -0.807551 0.197927 -0.555595
+vn -0.098549 0.917156 0.386151
+vn -0.227944 0.655141 0.720300
+vn -0.918524 0.369469 -0.140736
+vn -0.959192 0.278469 -0.049058
+vn 0.027086 0.999287 -0.026318
+vn -0.098549 0.917156 0.386151
+vn -0.611116 0.738824 -0.284036
+vn -0.918524 0.369469 -0.140736
+vn -0.211060 0.592966 0.777075
+vn -0.138722 0.848449 0.510775
+vn -0.965739 0.253693 -0.054669
+vn -0.856351 0.515742 -0.025951
+vn 0.991989 0.125216 0.016666
+vn 0.280785 0.171397 -0.944342
+vn 0.908742 0.416178 -0.031357
+vn 0.223846 0.666060 -0.711518
+vn -0.913101 0.366703 0.178258
+vn -0.830644 0.258861 0.492972
+vn -0.950417 0.109946 0.290893
+vn -0.799532 0.188345 0.570329
+vn -0.950417 0.109946 0.290893
+vn -0.799532 0.188345 0.570329
+vn -0.830154 -0.149428 0.537137
+vn -0.721186 0.050329 0.690911
+vn -0.830154 -0.149428 0.537137
+vn -0.582326 -0.365791 0.726012
+vn -0.543633 -0.436225 0.717057
+vn -0.447090 -0.486635 0.750531
+vn -0.543633 -0.436225 0.717057
+vn -0.447090 -0.486635 0.750531
+vn -0.110736 -0.544383 0.831496
+vn -0.205759 -0.609408 0.765693
+vn -0.961202 0.233711 -0.146529
+vn -0.985514 0.112173 -0.127195
+vn -0.766765 0.625850 -0.142770
+vn -0.874268 0.470853 -0.118123
+vn -0.975180 0.086182 -0.203952
+vn -0.961202 0.233711 -0.146529
+vn -0.590953 0.799017 -0.111109
+vn -0.766765 0.625850 -0.142770
+vn -0.948806 -0.294816 -0.113362
+vn -0.905511 -0.418410 -0.070588
+vn -0.992917 -0.028422 -0.115357
+vn -0.971500 -0.227361 -0.067045
+vn -0.905511 -0.418410 -0.070588
+vn -0.736859 -0.667587 0.106619
+vn -0.971500 -0.227361 -0.067045
+vn -0.882004 -0.436449 0.177710
+vn -0.736859 -0.667587 0.106619
+vn -0.406715 -0.824997 0.392382
+vn -0.882004 -0.436449 0.177710
+vn -0.665132 -0.496929 0.557369
+vn -0.171816 -0.853652 0.491689
+vn -0.065597 -0.743575 0.665427
+vn -0.306264 -0.429540 0.849528
+vn -0.122063 -0.289144 0.949472
+vn 0.466307 -0.586330 0.662401
+vn 0.585391 -0.404108 0.702862
+vn 0.380430 -0.398983 0.834317
+vn 0.323050 -0.342541 0.882216
+vn 0.405442 0.025298 0.913771
+vn 0.341445 -0.218627 0.914121
+vn -0.726381 -0.086132 0.681874
+vn 0.096040 -0.696629 0.710974
+vn 0.341445 -0.218627 0.914121
+vn 0.323050 -0.342541 0.882216
+vn 0.096040 -0.696629 0.710974
+vn 0.585391 -0.404108 0.702862
+vn 0.615938 0.147243 0.773912
+vn 0.405442 0.025298 0.913771
+vn -0.027477 0.395664 0.917984
+vn -0.726381 -0.086132 0.681874
+vn 0.673136 0.578805 0.460297
+vn 0.830554 0.550776 0.082621
+vn 0.772783 0.530088 0.349017
+vn 0.836779 0.534955 0.116720
+vn 0.000000 0.998845 0.048052
+vn -0.000000 0.999418 -0.034114
+vn -0.326604 0.939810 0.100434
+vn -0.305994 0.951636 -0.027497
+vn -0.326604 0.939810 0.100434
+vn -0.720467 0.650295 0.240923
+vn -0.479972 0.861385 -0.166261
+vn -0.913101 0.366703 0.178258
+vn -0.763542 0.371400 -0.528266
+vn -0.879418 0.086518 -0.468122
+vn -0.492777 0.229384 -0.839377
+vn -0.615787 -0.090537 -0.782694
+vn -0.444924 0.879663 0.168035
+vn -0.823378 0.567320 -0.014012
+vn -0.346091 0.938139 -0.010774
+vn -0.823378 0.567320 -0.014012
+vn -0.444924 0.879663 0.168035
+vn -0.891911 0.451637 0.022796
+vn -0.345378 0.880022 0.325999
+vn -0.425435 -0.892724 -0.148491
+vn -0.702382 -0.701925 -0.118157
+vn -0.155012 -0.971466 -0.179516
+vn -0.062268 -0.982330 -0.176494
+vn -0.584334 -0.779974 -0.224040
+vn -0.121513 -0.973517 -0.193647
+vn -0.558064 -0.765306 -0.320737
+vn -0.899082 0.030829 -0.436694
+vn -0.618492 0.692953 -0.370519
+vn -0.849995 0.210669 -0.482832
+vn -0.422204 0.685127 -0.593587
+vn -0.558064 -0.765306 -0.320737
+vn -0.899082 0.030829 -0.436694
+vn -0.734818 -0.613106 -0.290075
+vn -0.849995 0.210669 -0.482832
+vn -0.917571 -0.318130 -0.238448
+vn -0.979233 -0.086264 -0.183472
+vn -0.843997 -0.360174 -0.397421
+vn -0.958033 -0.016588 -0.286177
+vn -0.843997 -0.360174 -0.397421
+vn -0.958033 -0.016588 -0.286177
+vn -0.708697 -0.342127 -0.617007
+vn -0.878348 -0.033268 -0.476863
+vn -0.590953 0.799017 -0.111109
+vn -0.668008 0.731536 0.136459
+vn -0.975180 0.086182 -0.203952
+vn -0.876786 0.216671 0.429301
+vn -0.901134 0.005281 0.433509
+vn -0.876786 0.216671 0.429301
+vn -0.846683 0.520260 0.111612
+vn -0.668008 0.731536 0.136459
+vn -0.901134 0.005281 0.433509
+vn -0.651299 0.752889 -0.094702
+vn -0.070932 -0.139365 0.987697
+vn -0.055674 0.997814 -0.035604
+vn -0.496921 -0.859704 0.118234
+vn -0.510408 -0.838540 0.190615
+vn -0.024760 -0.975816 0.217187
+vn 0.011519 -0.963341 0.268032
+vn -0.496921 -0.859704 0.118234
+vn -0.502369 -0.863565 0.043364
+vn -0.838175 -0.545384 -0.004330
+vn -0.883334 -0.461086 -0.084381
+vn -0.937247 -0.310869 -0.157888
+vn -0.883334 -0.461086 -0.084381
+vn -0.855805 -0.419793 -0.302279
+vn -0.502369 -0.863565 0.043364
+vn -0.916637 -0.378705 -0.127901
+vn -0.935161 -0.335587 -0.113379
+vn -0.536977 -0.843595 0.001909
+vn -0.816887 -0.562111 0.129333
+vn -0.936961 -0.302148 -0.175528
+vn -0.916637 -0.378705 -0.127901
+vn -0.846452 -0.421426 -0.325451
+vn -0.536977 -0.843595 0.001909
+vn -0.821413 -0.438804 -0.364325
+vn -0.572533 -0.819831 -0.009127
+vn 0.140983 -0.926201 -0.349679
+vn -0.032599 -0.992443 0.118295
+vn -0.842639 -0.523999 0.124035
+vn -0.127715 -0.911141 0.391805
+vn -0.572533 -0.819831 -0.009127
+vn -0.032599 -0.992443 0.118295
+vn -0.975339 -0.127857 -0.179905
+vn -0.821413 -0.438804 -0.364325
+vn -0.952431 -0.236371 -0.192363
+vn -0.724632 -0.193368 -0.661451
+vn -0.860415 -0.473391 -0.188647
+vn -0.472854 -0.877505 -0.079964
+vn -0.968372 -0.192260 -0.159033
+vn -0.974059 -0.117059 -0.193666
+vn -0.472854 -0.877505 -0.079964
+vn -0.564443 -0.820611 -0.089450
+vn -0.974059 -0.117059 -0.193666
+vn -0.894513 -0.403731 -0.191959
+vn -0.564443 -0.820611 -0.089450
+vn -0.392390 -0.918642 -0.046114
+vn -0.894513 -0.403731 -0.191959
+vn -0.685167 -0.714300 -0.142556
+vn -0.720172 -0.682171 -0.126476
+vn -0.525489 -0.844271 -0.105205
+vn -0.885584 -0.463600 0.028557
+vn -0.975923 -0.117195 -0.183956
+vn -0.525489 -0.844271 -0.105205
+vn -0.341527 -0.932084 -0.120741
+vn -0.975923 -0.117195 -0.183956
+vn -0.839099 -0.362025 -0.406018
+vn -0.259364 -0.961304 -0.092867
+vn -0.581695 -0.800826 -0.142508
+vn -0.341527 -0.932084 -0.120741
+vn -0.839099 -0.362025 -0.406018
+vn -0.864060 -0.500048 0.057902
+vn -0.975339 -0.127857 -0.179905
+vn -0.891507 -0.411789 0.188797
+vn -0.952431 -0.236371 -0.192363
+vn -0.466750 -0.874062 -0.134761
+vn -0.925617 -0.343807 -0.158211
+vn -0.425595 -0.892406 -0.149937
+vn -0.725160 -0.670116 -0.158389
+vn -0.919469 -0.372453 -0.125921
+vn -0.843922 -0.505240 -0.180356
+vn -0.919469 -0.372453 -0.125921
+vn -0.466750 -0.874062 -0.134761
+vn -0.843922 -0.505240 -0.180356
+vn -0.922892 -0.327770 -0.202082
+vn -0.791373 -0.607305 0.070062
+vn -0.938827 -0.343231 -0.028231
+vn -0.699881 -0.708541 0.090200
+vn -0.909029 -0.381411 0.167902
+vn -0.938827 -0.343231 -0.028231
+vn -0.807013 -0.568975 -0.158104
+vn -0.909029 -0.381411 0.167902
+vn -0.980753 -0.090124 -0.173211
+vn -0.506814 -0.855429 0.106680
+vn -0.620815 -0.776146 0.110393
+vn -0.715641 -0.685515 0.133892
+vn -0.638696 -0.736622 0.222384
+vn -0.891557 -0.210875 0.400822
+vn -0.589392 0.781975 0.202809
+vn -0.980278 -0.147602 0.131407
+vn -0.876732 0.479858 -0.032832
+vn -0.818426 0.564397 0.107863
+vn -0.694378 0.715389 -0.077827
+vn -0.589392 0.781975 0.202809
+vn -0.403926 0.914320 -0.029379
+vn -0.694378 0.715389 -0.077827
+vn -0.646494 0.725846 -0.234933
+vn -0.403926 0.914320 -0.029379
+vn -0.444883 0.862691 -0.240507
+vn -0.672746 0.351110 -0.651256
+vn -0.604987 -0.718132 -0.343914
+vn -0.877050 0.176574 -0.446772
+vn -0.865299 -0.389639 -0.315339
+vn -0.604987 -0.718132 -0.343914
+vn -0.486219 -0.861643 -0.145472
+vn -0.865299 -0.389639 -0.315339
+vn -0.731082 -0.650534 -0.205731
+vn -0.319472 -0.931458 -0.174137
+vn -0.038599 -0.996869 -0.069010
+vn -0.311828 -0.934650 -0.170861
+vn -0.038853 -0.996918 -0.068157
+vn -0.036097 -0.996303 -0.077961
+vn 0.020252 -0.997895 -0.061605
+vn -0.039881 -0.993825 -0.103548
+vn 0.029287 -0.995570 -0.089351
+vn -0.103879 -0.987796 -0.116055
+vn -0.095182 -0.989377 -0.109883
+vn 0.026307 -0.996487 -0.079514
+vn 0.025121 -0.996827 -0.075536
+vn -0.001405 -0.999846 -0.017474
+vn 0.136782 -0.989664 0.043074
+vn -0.018708 -0.998138 0.058054
+vn 0.114025 -0.989094 0.093229
+vn -0.001405 -0.999846 -0.017474
+vn 0.030174 -0.997690 -0.060856
+vn 0.136782 -0.989664 0.043074
+vn 0.174581 -0.984471 -0.018378
+vn 0.018786 -0.996057 -0.086702
+vn 0.178552 -0.982056 -0.060704
+vn 0.030174 -0.997690 -0.060856
+vn 0.174581 -0.984471 -0.018378
+vn -0.344207 -0.921151 -0.181665
+vn -0.352852 -0.917427 -0.183911
+vn -0.042014 -0.996923 -0.066179
+vn -0.043886 -0.996896 -0.065357
+vn -0.352852 -0.917427 -0.183911
+vn -0.363166 -0.913269 -0.184527
+vn -0.043886 -0.996896 -0.065357
+vn -0.046892 -0.997013 -0.061368
+vn 0.802470 -0.489340 -0.341449
+vn 0.969185 -0.068137 -0.236725
+vn 0.679415 -0.181743 -0.710890
+vn 0.675495 -0.049075 -0.735730
+vn 0.679415 -0.181743 -0.710890
+vn -0.071201 -0.323241 -0.943634
+vn 0.510987 -0.550436 -0.660237
+vn 0.515643 -0.489821 -0.702985
+vn 0.510987 -0.550436 -0.660237
+vn 0.515643 -0.489821 -0.702985
+vn 0.274724 -0.859240 -0.431548
+vn 0.511762 -0.794876 -0.325992
+vn 0.065297 -0.979397 -0.191099
+vn 0.121404 -0.983190 -0.136374
+vn 0.015048 -0.998898 -0.044453
+vn 0.081743 -0.996257 -0.028120
+vn 0.274724 -0.859240 -0.431548
+vn 0.511762 -0.794876 -0.325992
+vn 0.121404 -0.983190 -0.136374
+vn 0.451201 -0.891973 -0.028309
+vn 0.933228 -0.173674 0.314521
+vn 0.762164 -0.591805 0.262436
+vn 0.969185 -0.068137 -0.236725
+vn 0.919732 -0.286632 -0.268208
+vn 0.195122 -0.595091 0.779612
+vn -0.493985 -0.677213 0.545308
+vn 0.762164 -0.591805 0.262436
+vn 0.015108 -0.999616 -0.023220
+vn -0.609602 -0.402393 0.682982
+vn -0.933105 -0.281921 0.223241
+vn -0.493985 -0.677213 0.545308
+vn -0.859069 -0.460334 0.223815
+vn -0.822891 -0.473898 0.313481
+vn -0.914625 -0.310624 -0.258795
+vn -0.933105 -0.281921 0.223241
+vn -0.940159 -0.189701 -0.283046
+vn -0.822891 -0.473898 0.313481
+vn -0.620815 -0.776146 0.110393
+vn -0.914625 -0.310624 -0.258795
+vn -0.398701 -0.910060 -0.113263
+vn -0.043951 -0.989548 0.137346
+vn 0.059193 -0.984806 0.163256
+vn -0.043911 -0.989542 0.137400
+vn 0.055194 -0.985146 0.162605
+vn 0.052197 -0.985280 0.162782
+vn -0.043874 -0.989536 0.137451
+vn 0.055194 -0.985146 0.162605
+vn -0.043911 -0.989542 0.137400
+vn 0.052197 -0.985280 0.162782
+vn 0.196660 -0.961737 0.190755
+vn 0.048215 -0.985265 0.164097
+vn 0.200693 -0.960655 0.192003
+vn 0.048215 -0.985265 0.164097
+vn 0.200693 -0.960655 0.192003
+vn 0.041623 -0.985069 0.167053
+vn 0.236305 -0.953288 0.188152
+vn -0.806119 0.223585 -0.547888
+vn -0.891138 0.225811 -0.393552
+vn -0.928797 0.046399 -0.367673
+vn -0.909549 0.181723 -0.373762
+vn -0.883035 0.286433 -0.371759
+vn -0.623470 0.721125 -0.302101
+vn -0.891138 0.225811 -0.393552
+vn -0.605392 0.738726 -0.296286
+vn -0.639404 0.704805 -0.307266
+vn 0.074690 0.995882 -0.051381
+vn -0.623470 0.721125 -0.302101
+vn 0.089615 0.994940 -0.045418
+vn 0.061678 0.996517 -0.056122
+vn 0.753045 0.613120 0.238761
+vn 0.074690 0.995882 -0.051381
+vn 0.758440 0.605260 0.241721
+vn 0.568419 0.812165 0.131485
+vn 0.189945 0.980784 -0.044542
+vn 0.656988 0.733284 0.175102
+vn 0.351733 0.935639 0.029398
+vn 0.189945 0.980784 -0.044542
+vn 0.157810 0.987285 -0.019085
+vn 0.029236 0.994249 -0.103030
+vn 0.020693 0.997322 -0.070146
+vn -0.359266 0.170549 0.917519
+vn 0.492528 -0.640531 0.589183
+vn -0.381866 0.198247 0.902705
+vn 0.734740 -0.059798 0.675708
+vn -0.422014 0.905641 0.041466
+vn -0.359266 0.170549 0.917519
+vn -0.855993 0.507206 0.100087
+vn -0.381866 0.198247 0.902705
+vn -0.391884 0.909101 -0.141291
+vn -0.422014 0.905641 0.041466
+vn -0.805213 0.562594 -0.187401
+vn -0.855993 0.507206 0.100087
+vn 0.041623 -0.985069 0.167053
+vn 0.236305 -0.953288 0.188152
+vn 0.060265 -0.980668 0.186166
+vn 0.235928 -0.939625 0.247878
+vn 0.753045 0.613120 0.238761
+vn 0.920417 0.203118 0.334031
+vn 0.758440 0.605260 0.241721
+vn 0.920795 0.199488 0.335173
+vn 0.920417 0.203118 0.334031
+vn 0.884674 0.351131 0.306689
+vn 0.920795 0.199488 0.335173
+vn 0.886101 0.346277 0.308087
+vn 0.884674 0.351131 0.306689
+vn 0.656988 0.733284 0.175102
+vn 0.886101 0.346277 0.308087
+vn 0.669183 0.716926 0.195479
+vn -0.227944 0.655141 0.720300
+vn -0.133853 0.871060 0.472587
+vn -0.959192 0.278469 -0.049058
+vn -0.812433 0.582578 -0.023559
+vn 0.631599 0.283331 0.721669
+vn -0.360027 0.481171 0.799284
+vn 0.758863 0.242243 0.604521
+vn -0.145504 0.712163 0.686770
+vn 0.941141 0.268917 0.204786
+vn 0.135942 0.812547 -0.566822
+vn 0.994419 0.101777 -0.027806
+vn 0.405171 0.090301 -0.909770
+vn 0.758863 0.242243 0.604521
+vn -0.145504 0.712163 0.686770
+vn 0.591108 0.715864 0.371659
+vn -0.232211 0.962155 0.142606
+vn -0.341354 0.804062 0.486787
+vn -0.423497 0.513106 0.746574
+vn -0.949285 0.301478 -0.089275
+vn -0.980045 0.183574 -0.076239
+vn -0.181963 0.974661 0.130100
+vn -0.341354 0.804062 0.486787
+vn -0.688383 0.711300 -0.142061
+vn -0.949285 0.301478 -0.089275
+vn -0.423497 0.513106 0.746574
+vn 0.671998 0.273879 0.688047
+vn -0.324088 0.750836 0.575510
+vn 0.572969 0.470599 0.671002
+vn 0.988010 0.132106 0.079899
+vn 0.470354 0.160181 -0.867819
+vn 0.926149 0.371794 0.063377
+vn 0.325997 0.701144 -0.634131
+vn 0.470354 0.160181 -0.867819
+vn 0.263531 0.794277 -0.547426
+vn -0.703832 0.043324 -0.709044
+vn -0.792755 0.117460 -0.598116
+vn 0.607271 0.371053 0.702525
+vn 0.893729 0.046777 0.446161
+vn 0.596299 0.272006 0.755275
+vn 0.881927 0.147555 0.447697
+vn 0.893729 0.046777 0.446161
+vn 0.966846 0.175841 0.185170
+vn 0.881927 0.147555 0.447697
+vn 0.994058 0.094277 -0.054410
+vn -0.096116 0.460741 0.882315
+vn 0.279997 0.432151 0.857232
+vn -0.114575 0.382509 0.916820
+vn 0.503934 0.350364 0.789491
+vn 0.029962 0.502337 -0.864153
+vn 0.305928 -0.033757 -0.951456
+vn 0.986963 0.138516 -0.081960
+vn 0.971412 0.037108 -0.234482
+vn 0.891937 0.010518 0.452038
+vn 0.986963 0.138516 -0.081960
+vn 0.888322 0.136932 0.438330
+vn 0.971412 0.037108 -0.234482
+vn -0.410419 0.714202 0.566985
+vn 0.607271 0.371053 0.702525
+vn -0.319456 0.461858 0.827427
+vn 0.596299 0.272006 0.755275
+vn 0.544712 0.619209 0.565570
+vn 0.440859 0.687631 0.576895
+vn 0.313292 0.940327 0.132789
+vn -0.196073 0.950882 0.239541
+vn -0.244006 0.480836 0.842175
+vn 0.599339 0.159111 0.784523
+vn -0.267682 0.425816 0.864307
+vn 0.513321 0.267859 0.815324
+vn 0.599339 0.159111 0.784523
+vn 0.891937 0.010518 0.452038
+vn 0.513321 0.267859 0.815324
+vn 0.888322 0.136932 0.438330
+vn -0.096116 0.460741 0.882315
+vn -0.304910 0.527539 0.792927
+vn -0.053117 0.956841 0.285717
+vn -0.116961 0.942945 0.311730
+vn -0.029299 0.931464 0.362651
+vn -0.053117 0.956841 0.285717
+vn -0.101416 0.953274 0.284577
+vn -0.116961 0.942945 0.311730
+vn -0.029299 0.931464 0.362651
+vn -0.101416 0.953274 0.284577
+vn -0.122063 -0.289144 0.949472
+vn -0.306264 -0.429540 0.849528
+vn 0.280785 0.171397 -0.944342
+vn 0.192458 0.771155 -0.606861
+vn -0.741881 0.067106 -0.667165
+vn -0.807551 0.197927 -0.555595
+vn -0.138722 0.848449 0.510775
+vn 0.642878 0.524679 0.558050
+vn 0.025568 0.998352 -0.051380
+vn 0.803177 0.511688 0.305094
+vn 0.803177 0.511688 0.305094
+vn 0.908742 0.416178 -0.031357
+vn 0.025568 0.998352 -0.051380
+vn 0.223846 0.666060 -0.711518
+vn -0.918798 0.377105 -0.116629
+vn -0.880925 0.283832 -0.378695
+vn -0.601103 0.767031 -0.224364
+vn -0.853169 0.302731 -0.424802
+vn -0.918798 0.377105 -0.116629
+vn -0.965739 0.253693 -0.054669
+vn -0.925794 0.046841 -0.375115
+vn -0.921733 0.103795 -0.373678
+vn -0.830644 0.258861 0.492972
+vn -0.913101 0.366703 0.178258
+vn -0.819676 0.406927 0.403165
+vn -0.720467 0.650295 0.240923
+vn -0.830154 -0.149428 0.537137
+vn -0.721186 0.050329 0.690911
+vn -0.582326 -0.365791 0.726012
+vn -0.313161 -0.416093 0.853696
+vn 0.192164 -0.545087 0.816060
+vn -0.205759 -0.609408 0.765693
+vn 0.104444 -0.751368 0.651566
+vn -0.172553 -0.866668 0.468094
+vn -0.992917 -0.028422 -0.115357
+vn -0.901224 0.426557 -0.076456
+vn -0.985514 0.112173 -0.127195
+vn -0.874268 0.470853 -0.118123
+vn -0.406715 -0.824997 0.392382
+vn -0.365642 -0.737204 0.568187
+vn -0.665132 -0.496929 0.557369
+vn -0.487867 -0.282658 0.825888
+vn -0.171816 -0.853652 0.491689
+vn -0.306264 -0.429540 0.849528
+vn -0.365642 -0.737204 0.568187
+vn -0.487867 -0.282658 0.825888
+vn 0.104444 -0.751368 0.651566
+vn 0.207803 -0.895607 0.393328
+vn 0.466307 -0.586330 0.662401
+vn 0.633609 -0.641534 0.432405
+vn 0.466307 -0.586330 0.662401
+vn 0.866830 -0.309536 0.390888
+vn 0.585391 -0.404108 0.702862
+vn 0.800010 -0.344410 0.491290
+vn 0.673136 0.578805 0.460297
+vn 0.432553 0.485351 0.759824
+vn 0.504363 0.731326 0.459109
+vn 0.366036 0.589347 0.720200
+vn 0.432553 0.485351 0.759824
+vn 0.251400 0.417122 0.873388
+vn 0.366036 0.589347 0.720200
+vn 0.240164 0.515637 0.822459
+vn -0.027477 0.395664 0.917984
+vn 0.107366 0.547452 0.829921
+vn 0.251400 0.417122 0.873388
+vn 0.240164 0.515637 0.822459
+vn 0.830554 0.550776 0.082621
+vn 0.673136 0.578805 0.460297
+vn 0.786980 0.616668 0.019582
+vn 0.504363 0.731326 0.459109
+vn 0.830554 0.550776 0.082621
+vn 0.906052 0.418072 -0.065465
+vn 0.836779 0.534955 0.116720
+vn 0.900688 0.432132 0.044983
+vn 0.836779 0.534955 0.116720
+vn 0.900688 0.432132 0.044983
+vn 0.620138 0.783797 0.033018
+vn 0.800030 0.599577 0.021432
+vn -0.000000 0.999418 -0.034114
+vn 0.252414 0.967270 -0.026009
+vn -0.000000 0.990579 -0.136942
+vn 0.241607 0.961016 -0.134443
+vn 0.252414 0.967270 -0.026009
+vn 0.620138 0.783797 0.033018
+vn 0.241607 0.961016 -0.134443
+vn 0.446569 0.886516 -0.121102
+vn -0.720467 0.650295 0.240923
+vn -0.326604 0.939810 0.100434
+vn -0.685176 0.727463 0.036492
+vn -0.305994 0.951636 -0.027497
+vn -0.492777 0.229384 -0.839377
+vn -0.825765 0.175481 -0.536022
+vn -0.422204 0.685127 -0.593587
+vn -0.849995 0.210669 -0.482832
+vn -0.336812 0.899029 -0.279828
+vn -0.213563 0.948600 -0.233558
+vn -0.266857 0.952171 -0.148853
+vn -0.434685 0.820874 0.370424
+vn -0.891911 0.451637 0.022796
+vn -0.345378 0.880022 0.325999
+vn -0.979233 -0.086264 -0.183472
+vn -0.891911 0.451637 0.022796
+vn -0.958033 -0.016588 -0.286177
+vn -0.920084 0.373295 -0.118730
+vn -0.374665 -0.921367 -0.103490
+vn -0.558064 -0.765306 -0.320737
+vn -0.734818 -0.613106 -0.290075
+vn -0.615787 -0.090537 -0.782694
+vn -0.708697 -0.342127 -0.617007
+vn -0.852762 0.139011 -0.503462
+vn -0.878348 -0.033268 -0.476863
+vn -0.901134 0.005281 0.433509
+vn -0.846683 0.520260 0.111612
+vn -0.651299 0.752889 -0.094702
+vn -0.888375 0.447471 -0.102761
+vn 0.011519 -0.963341 0.268032
+vn -0.070932 -0.139365 0.987697
+vn 0.473880 -0.814007 0.335904
+vn 0.734740 -0.059798 0.675708
+vn -0.024760 -0.975816 0.217187
+vn -0.041824 -0.986543 0.158062
+vn -0.496921 -0.859704 0.118234
+vn -0.502369 -0.863565 0.043364
+vn -0.935161 -0.335587 -0.113379
+vn -0.959632 -0.235936 -0.153106
+vn -0.816887 -0.562111 0.129333
+vn -0.976356 -0.150530 -0.155144
+vn -0.959632 -0.235936 -0.153106
+vn -0.937247 -0.310869 -0.157888
+vn -0.976356 -0.150530 -0.155144
+vn -0.855805 -0.419793 -0.302279
+vn -0.842639 -0.523999 0.124035
+vn -0.977520 -0.140118 -0.157547
+vn -0.885280 -0.418015 0.203818
+vn -0.954697 -0.257375 -0.149373
+vn -0.977520 -0.140118 -0.157547
+vn -0.846452 -0.421426 -0.325451
+vn -0.954697 -0.257375 -0.149373
+vn -0.793786 -0.231813 -0.562287
+vn -0.821413 -0.438804 -0.364325
+vn 0.140983 -0.926201 -0.349679
+vn -0.724632 -0.193368 -0.661451
+vn 0.344350 -0.196976 -0.917945
+vn -0.127715 -0.911141 0.391805
+vn -0.842639 -0.523999 0.124035
+vn -0.212274 -0.698256 0.683651
+vn -0.885280 -0.418015 0.203818
+vn -0.968372 -0.192260 -0.159033
+vn -0.955835 -0.221164 -0.193561
+vn -0.860415 -0.473391 -0.188647
+vn -0.630466 -0.760388 -0.155958
+vn -0.630466 -0.760388 -0.155958
+vn -0.864004 -0.468195 -0.185178
+vn -0.925617 -0.343807 -0.158211
+vn -0.425595 -0.892406 -0.149937
+vn -0.685167 -0.714300 -0.142556
+vn -0.614441 -0.774807 -0.148781
+vn -0.894513 -0.403731 -0.191959
+vn -0.819586 -0.381630 -0.427361
+vn -0.685167 -0.714300 -0.142556
+vn -0.720172 -0.682171 -0.126476
+vn -0.614441 -0.774807 -0.148781
+vn -0.885584 -0.463600 0.028557
+vn -0.864060 -0.500048 0.057902
+vn -0.124220 -0.938585 0.321912
+vn -0.581695 -0.800826 -0.142508
+vn 0.016879 -0.999116 -0.038497
+vn -0.891507 -0.411789 0.188797
+vn -0.259810 -0.696394 0.668980
+vn -0.864060 -0.500048 0.057902
+vn -0.124220 -0.938585 0.321912
+vn -0.466750 -0.874062 -0.134761
+vn -0.925299 -0.303396 -0.227536
+vn -0.922892 -0.327770 -0.202082
+vn -0.466750 -0.874062 -0.134761
+vn -0.903476 -0.383756 -0.190951
+vn -0.925299 -0.303396 -0.227536
+vn -0.807013 -0.568975 -0.158104
+vn -0.944810 -0.202508 -0.257535
+vn -0.980753 -0.090124 -0.173211
+vn -0.808615 -0.310134 -0.499959
+vn -0.725160 -0.670116 -0.158389
+vn -0.706684 -0.694262 -0.136374
+vn -0.944810 -0.202508 -0.257535
+vn -0.808615 -0.310134 -0.499959
+vn -0.620815 -0.776146 0.110393
+vn -0.506814 -0.855429 0.106680
+vn -0.398701 -0.910060 -0.113263
+vn -0.041693 -0.996374 0.074169
+vn -0.506814 -0.855429 0.106680
+vn -0.699881 -0.708541 0.090200
+vn -0.041693 -0.996374 0.074169
+vn -0.219594 -0.963903 0.150567
+vn -0.980278 -0.147602 0.131407
+vn -0.876732 0.479858 -0.032832
+vn -0.849919 -0.515590 -0.108646
+vn -0.973164 0.034248 -0.227548
+vn -0.672746 0.351110 -0.651256
+vn -0.877050 0.176574 -0.446772
+vn -0.444883 0.862691 -0.240507
+vn -0.806088 0.529740 -0.263813
+vn -0.849919 -0.515590 -0.108646
+vn -0.973164 0.034248 -0.227548
+vn -0.731082 -0.650534 -0.205731
+vn -0.865299 -0.389639 -0.315339
+vn -0.319472 -0.931458 -0.174137
+vn -0.326022 -0.928794 -0.176213
+vn -0.038599 -0.996869 -0.069010
+vn -0.038684 -0.996927 -0.068117
+vn -0.038853 -0.996918 -0.068157
+vn 0.016216 -0.998669 -0.048962
+vn -0.038738 -0.997019 -0.066732
+vn 0.015665 -0.998754 -0.047386
+vn -0.038738 -0.997019 -0.066732
+vn 0.015665 -0.998754 -0.047386
+vn -0.038038 -0.997093 -0.066023
+vn 0.015432 -0.998787 -0.046762
+vn -0.038038 -0.997093 -0.066023
+vn 0.015432 -0.998787 -0.046762
+vn -0.036097 -0.996303 -0.077961
+vn 0.020252 -0.997895 -0.061605
+vn -0.038599 -0.996869 -0.069010
+vn 0.016589 -0.998612 -0.049989
+vn -0.038853 -0.996918 -0.068157
+vn 0.016216 -0.998669 -0.048962
+vn 0.026307 -0.996487 -0.079514
+vn 0.154597 -0.987276 -0.037227
+vn 0.018786 -0.996057 -0.086702
+vn 0.178552 -0.982056 -0.060704
+vn 0.020252 -0.997895 -0.061605
+vn 0.076082 -0.996137 -0.043857
+vn 0.029287 -0.995570 -0.089351
+vn 0.094259 -0.993576 -0.062620
+vn 0.029287 -0.995570 -0.089351
+vn 0.094259 -0.993576 -0.062620
+vn 0.032724 -0.994484 -0.099650
+vn 0.116014 -0.991077 -0.065624
+vn 0.029927 -0.995448 -0.090491
+vn 0.032724 -0.994484 -0.099650
+vn 0.132909 -0.989727 -0.052681
+vn 0.116014 -0.991077 -0.065624
+vn 0.025121 -0.996827 -0.075536
+vn 0.029927 -0.995448 -0.090491
+vn 0.143872 -0.988920 -0.036592
+vn 0.132909 -0.989727 -0.052681
+vn -0.326022 -0.928794 -0.176213
+vn -0.334607 -0.925298 -0.178500
+vn -0.038684 -0.996927 -0.068117
+vn -0.040098 -0.996986 -0.066414
+vn -0.334607 -0.925298 -0.178500
+vn -0.344207 -0.921151 -0.181665
+vn -0.040098 -0.996986 -0.066414
+vn -0.042014 -0.996923 -0.066179
+vn 0.013074 -0.999158 -0.038890
+vn 0.014644 -0.998939 -0.043667
+vn -0.046892 -0.997013 -0.061368
+vn -0.043886 -0.996896 -0.065357
+vn 0.012101 -0.999283 -0.035869
+vn 0.013074 -0.999158 -0.038890
+vn -0.049702 -0.997015 -0.059087
+vn -0.046892 -0.997013 -0.061368
+vn -0.049702 -0.997015 -0.059087
+vn -0.049180 -0.996467 -0.068084
+vn 0.012101 -0.999283 -0.035869
+vn 0.015048 -0.998898 -0.044453
+vn -0.071201 -0.323241 -0.943634
+vn 0.679415 -0.181743 -0.710890
+vn -0.267624 -0.109878 -0.957238
+vn 0.675495 -0.049075 -0.735730
+vn 0.072864 -0.983362 0.166404
+vn 0.264825 -0.943802 0.197753
+vn 0.068010 -0.983897 0.165292
+vn 0.248270 -0.948887 0.194874
+vn 0.068010 -0.983897 0.165292
+vn 0.248270 -0.948887 0.194874
+vn 0.063511 -0.984371 0.164254
+vn 0.233034 -0.953294 0.192159
+vn 0.077973 -0.982771 0.167575
+vn 0.282043 -0.938174 0.200702
+vn 0.072864 -0.983362 0.166404
+vn 0.264825 -0.943802 0.197753
+vn 0.088800 -0.984542 0.150966
+vn 0.302828 -0.934354 0.187822
+vn 0.077973 -0.982771 0.167575
+vn 0.282043 -0.938174 0.200702
+vn 0.114025 -0.989094 0.093229
+vn 0.336004 -0.931821 0.137151
+vn 0.088800 -0.984542 0.150966
+vn 0.302828 -0.934354 0.187822
+vn 0.136782 -0.989664 0.043074
+vn 0.377394 -0.923249 0.072008
+vn 0.114025 -0.989094 0.093229
+vn 0.336004 -0.931821 0.137151
+vn 0.063511 -0.984371 0.164254
+vn 0.233034 -0.953294 0.192159
+vn 0.059193 -0.984806 0.163256
+vn 0.218222 -0.957327 0.189485
+vn 0.055194 -0.985146 0.162605
+vn 0.204558 -0.960582 0.188252
+vn 0.052197 -0.985280 0.162782
+vn 0.196660 -0.961737 0.190755
+vn -0.928797 0.046399 -0.367673
+vn -0.920539 0.121613 -0.371240
+vn -0.806119 0.223585 -0.547888
+vn -0.724986 0.091669 -0.682636
+vn 0.189945 0.980784 -0.044542
+vn 0.029236 0.994249 -0.103030
+vn 0.092455 0.989955 -0.106965
+vn 0.039232 0.989827 -0.136760
+vn 0.020693 0.997322 -0.070146
+vn -0.104486 0.989519 -0.099671
+vn 0.029236 0.994249 -0.103030
+vn -0.116098 0.983350 -0.139797
+vn -0.391884 0.909101 -0.141291
+vn -0.407571 0.893440 -0.188816
+vn -0.104486 0.989519 -0.099671
+vn -0.116098 0.983350 -0.139797
+vn -0.805213 0.562594 -0.187401
+vn -0.795458 0.555488 -0.242240
+vn -0.391884 0.909101 -0.141291
+vn -0.407571 0.893440 -0.188816
+vn 0.645078 -0.686499 0.335549
+vn 0.235928 -0.939625 0.247878
+vn 0.645540 -0.722207 0.248387
+vn 0.236305 -0.953288 0.188152
+vn 0.645078 -0.686499 0.335549
+vn 0.473880 -0.814007 0.335904
+vn 0.492528 -0.640531 0.589183
+vn 0.734740 -0.059798 0.675708
+vn -0.724986 0.091669 -0.682636
+vn -0.613442 0.448630 -0.649938
+vn 0.376736 0.219302 -0.899987
+vn 0.291312 0.701788 -0.650101
+vn -0.133853 0.871060 0.472587
+vn 0.609352 0.581618 0.538898
+vn 0.063570 0.997479 -0.031542
+vn 0.774241 0.560817 0.293318
+vn 0.774241 0.560817 0.293318
+vn 0.885786 0.463452 -0.024392
+vn 0.063570 0.997479 -0.031542
+vn 0.291312 0.701788 -0.650101
+vn -0.360027 0.481171 0.799284
+vn 0.631599 0.283331 0.721669
+vn -0.327236 0.664878 0.671456
+vn 0.482448 0.470448 0.738866
+vn 0.631599 0.283331 0.721669
+vn 0.886943 0.152452 0.435994
+vn 0.482448 0.470448 0.738866
+vn 0.743007 0.512749 0.430150
+vn 0.886943 0.152452 0.435994
+vn 0.994419 0.101777 -0.027806
+vn 0.743007 0.512749 0.430150
+vn 0.938986 0.336222 -0.072530
+vn -0.181963 0.974661 0.130100
+vn -0.688383 0.711300 -0.142061
+vn 0.135942 0.812547 -0.566822
+vn -0.808208 0.196704 -0.555074
+vn -0.423497 0.513106 0.746574
+vn -0.324088 0.750836 0.575510
+vn -0.980045 0.183574 -0.076239
+vn -0.913912 0.405711 -0.012766
+vn 0.572969 0.470599 0.671002
+vn 0.779859 0.470915 0.412383
+vn -0.324088 0.750836 0.575510
+vn -0.056337 0.995732 0.073106
+vn 0.779859 0.470915 0.412383
+vn 0.926149 0.371794 0.063377
+vn -0.056337 0.995732 0.073106
+vn 0.325997 0.701144 -0.634131
+vn -0.703832 0.043324 -0.709044
+vn -0.663853 0.330084 -0.671077
+vn 0.470354 0.160181 -0.867819
+vn 0.325997 0.701144 -0.634131
+vn -0.601103 0.767031 -0.224364
+vn -0.853169 0.302731 -0.424802
+vn -0.792755 0.117460 -0.598116
+vn -0.883471 0.139515 -0.447230
+vn 0.966846 0.175841 0.185170
+vn 0.591108 0.715864 0.371659
+vn 0.090343 0.693688 -0.714588
+vn -0.232211 0.962155 0.142606
+vn -0.114575 0.382509 0.916820
+vn -0.685253 0.600743 0.411748
+vn -0.096116 0.460741 0.882315
+vn -0.304910 0.527539 0.792927
+vn -0.114575 0.382509 0.916820
+vn 0.503934 0.350364 0.789491
+vn -0.167939 0.503622 0.847444
+vn 0.638011 0.316162 0.702128
+vn 0.503934 0.350364 0.789491
+vn 0.544712 0.619209 0.565570
+vn 0.884197 0.342850 0.317255
+vn 0.313292 0.940327 0.132789
+vn 0.305928 -0.033757 -0.951456
+vn 0.029962 0.502337 -0.864153
+vn -0.547829 -0.020511 -0.836339
+vn -0.773106 0.147549 -0.616876
+vn -0.324806 0.943977 0.058374
+vn -0.726293 0.643639 -0.241304
+vn 0.029962 0.502337 -0.864153
+vn -0.773106 0.147549 -0.616876
+vn -0.319456 0.461858 0.827427
+vn -0.974246 0.218956 0.053883
+vn -0.410419 0.714202 0.566985
+vn -0.942966 0.328893 -0.051430
+vn -0.410419 0.714202 0.566985
+vn -0.942966 0.328893 -0.051430
+vn -0.324806 0.943977 0.058374
+vn -0.726293 0.643639 -0.241304
+vn -0.267682 0.425816 0.864307
+vn -0.933889 0.275011 0.228519
+vn -0.244006 0.480836 0.842175
+vn -0.917144 0.393661 0.062275
+vn -0.244006 0.480836 0.842175
+vn -0.917144 0.393661 0.062275
+vn -0.095742 0.764929 0.636960
+vn -0.196073 0.950882 0.239541
+vn -0.741881 0.067106 -0.667165
+vn -0.661940 0.368027 -0.652987
+vn 0.280785 0.171397 -0.944342
+vn 0.223846 0.666060 -0.711518
+vn -0.611116 0.738824 -0.284036
+vn -0.867942 0.332868 -0.368612
+vn -0.807551 0.197927 -0.555595
+vn -0.882892 0.255982 -0.393669
+vn -0.918524 0.369469 -0.140736
+vn -0.899468 0.259937 -0.351269
+vn -0.611116 0.738824 -0.284036
+vn -0.867942 0.332868 -0.368612
+vn -0.918524 0.369469 -0.140736
+vn -0.959192 0.278469 -0.049058
+vn -0.928797 0.046399 -0.367673
+vn -0.920539 0.121613 -0.371240
+vn -0.965739 0.253693 -0.054669
+vn -0.856351 0.515742 -0.025951
+vn -0.921733 0.103795 -0.373678
+vn -0.805637 0.480655 -0.346294
+vn -0.138722 0.848449 0.510775
+vn 0.025568 0.998352 -0.051380
+vn -0.856351 0.515742 -0.025951
+vn -0.805637 0.480655 -0.346294
+vn -0.880925 0.283832 -0.378695
+vn -0.918798 0.377105 -0.116629
+vn -0.902309 0.200725 -0.381508
+vn -0.925794 0.046841 -0.375115
+vn -0.819676 0.406927 0.403165
+vn -0.714737 0.390191 0.580433
+vn -0.830644 0.258861 0.492972
+vn -0.594467 0.322654 0.736549
+vn -0.830644 0.258861 0.492972
+vn -0.594467 0.322654 0.736549
+vn -0.799532 0.188345 0.570329
+vn -0.453260 0.289351 0.843108
+vn -0.799532 0.188345 0.570329
+vn -0.453260 0.289351 0.843108
+vn -0.721186 0.050329 0.690911
+vn -0.189793 0.110222 0.975618
+vn -0.447090 -0.486635 0.750531
+vn -0.582326 -0.365791 0.726012
+vn -0.206447 -0.389705 0.897502
+vn 0.020534 -0.362323 0.931827
+vn -0.447090 -0.486635 0.750531
+vn -0.354162 -0.610805 0.708157
+vn -0.205759 -0.609408 0.765693
+vn -0.172553 -0.866668 0.468094
+vn -0.901224 0.426557 -0.076456
+vn -0.992917 -0.028422 -0.115357
+vn -0.936551 0.346598 -0.052362
+vn -0.971500 -0.227361 -0.067045
+vn -0.766765 0.625850 -0.142770
+vn -0.442109 0.890776 -0.105156
+vn -0.590953 0.799017 -0.111109
+vn -0.645759 0.760130 -0.072088
+vn -0.910979 0.392972 -0.125262
+vn -0.766765 0.625850 -0.142770
+vn -0.874268 0.470853 -0.118123
+vn -0.590953 0.799017 -0.111109
+vn -0.645759 0.760130 -0.072088
+vn -0.668008 0.731536 0.136459
+vn -0.846683 0.520260 0.111612
+vn -0.882004 -0.436449 0.177710
+vn -0.825399 0.556664 0.094032
+vn -0.971500 -0.227361 -0.067045
+vn -0.936551 0.346598 -0.052362
+vn -0.665132 -0.496929 0.557369
+vn -0.390002 0.871248 0.298035
+vn -0.882004 -0.436449 0.177710
+vn -0.825399 0.556664 0.094032
+vn -0.306264 -0.429540 0.849528
+vn -0.101416 0.953274 0.284577
+vn -0.487867 -0.282658 0.825888
+vn -0.205704 0.930379 0.303449
+vn 0.207803 -0.895607 0.393328
+vn 0.104444 -0.751368 0.651566
+vn 0.019986 -0.964498 0.263333
+vn -0.172553 -0.866668 0.468094
+vn 0.866830 -0.309536 0.390888
+vn 0.466307 -0.586330 0.662401
+vn 0.872869 -0.327596 0.361636
+vn 0.633609 -0.641534 0.432405
+vn -0.027477 0.395664 0.917984
+vn -0.726381 -0.086132 0.681874
+vn -0.618416 0.394530 0.679638
+vn -0.968361 -0.143253 0.204340
+vn -0.726381 -0.086132 0.681874
+vn 0.096040 -0.696629 0.710974
+vn -0.968361 -0.143253 0.204340
+vn -0.619942 -0.744190 -0.248703
+vn 0.585391 -0.404108 0.702862
+vn 0.800010 -0.344410 0.491290
+vn 0.096040 -0.696629 0.710974
+vn 0.746015 -0.630487 0.214355
+vn -0.027477 0.395664 0.917984
+vn -0.618416 0.394530 0.679638
+vn 0.107366 0.547452 0.829921
+vn 0.047614 0.626643 0.777851
+vn 0.786980 0.616668 0.019582
+vn 0.857583 0.472502 -0.203208
+vn 0.830554 0.550776 0.082621
+vn 0.906052 0.418072 -0.065465
+vn -0.000000 0.999418 -0.034114
+vn -0.000000 0.990579 -0.136942
+vn -0.305994 0.951636 -0.027497
+vn -0.286394 0.949265 -0.129902
+vn -0.685176 0.727463 0.036492
+vn -0.863418 0.470071 0.183145
+vn -0.720467 0.650295 0.240923
+vn -0.819676 0.406927 0.403165
+vn -0.492777 0.229384 -0.839377
+vn -0.615787 -0.090537 -0.782694
+vn -0.825765 0.175481 -0.536022
+vn -0.852762 0.139011 -0.503462
+vn -0.511053 0.743467 0.431371
+vn -0.920084 0.373295 -0.118730
+vn -0.434685 0.820874 0.370424
+vn -0.891911 0.451637 0.022796
+vn -0.121513 -0.973517 -0.193647
+vn -0.558064 -0.765306 -0.320737
+vn -0.374665 -0.921367 -0.103490
+vn -0.734818 -0.613106 -0.290075
+vn -0.849995 0.210669 -0.482832
+vn -0.971551 0.180680 -0.153115
+vn -0.825765 0.175481 -0.536022
+vn -0.374665 -0.921367 -0.103490
+vn -0.734818 -0.613106 -0.290075
+vn -0.720939 0.192790 0.665641
+vn -0.958033 -0.016588 -0.286177
+vn -0.920084 0.373295 -0.118730
+vn -0.878348 -0.033268 -0.476863
+vn -0.852762 0.139011 -0.503462
+vn -0.055674 0.997814 -0.035604
+vn 0.645302 0.748698 0.151779
+vn -0.070932 -0.139365 0.987697
+vn 0.734740 -0.059798 0.675708
+vn -0.055674 0.997814 -0.035604
+vn -0.651299 0.752889 -0.094702
+vn -0.053053 0.964277 -0.259530
+vn -0.853143 0.426345 -0.300628
+vn -0.024760 -0.975816 0.217187
+vn 0.011519 -0.963341 0.268032
+vn 0.452676 -0.849781 0.270105
+vn 0.473880 -0.814007 0.335904
+vn -0.024760 -0.975816 0.217187
+vn 0.452676 -0.849781 0.270105
+vn -0.041824 -0.986543 0.158062
+vn 0.446607 -0.867010 0.220987
+vn -0.041824 -0.986543 0.158062
+vn 0.037107 -0.968444 -0.246454
+vn -0.502369 -0.863565 0.043364
+vn -0.855805 -0.419793 -0.302279
+vn -0.976356 -0.150530 -0.155144
+vn -0.855805 -0.419793 -0.302279
+vn -0.952495 -0.266329 -0.147725
+vn -0.806005 -0.240815 -0.540707
+vn -0.816887 -0.562111 0.129333
+vn -0.099631 -0.921662 0.374984
+vn -0.536977 -0.843595 0.001909
+vn -0.039211 -0.991687 0.122550
+vn -0.846452 -0.421426 -0.325451
+vn -0.536977 -0.843595 0.001909
+vn 0.066193 -0.951432 -0.300660
+vn -0.039211 -0.991687 0.122550
+vn -0.032599 -0.992443 0.118295
+vn 0.581163 -0.787255 0.206106
+vn 0.140983 -0.926201 -0.349679
+vn 0.951558 -0.307468 -0.001356
+vn -0.127715 -0.911141 0.391805
+vn -0.212274 -0.698256 0.683651
+vn 0.736359 -0.511340 0.443066
+vn 0.733073 -0.391150 0.556423
+vn -0.032599 -0.992443 0.118295
+vn -0.127715 -0.911141 0.391805
+vn 0.581163 -0.787255 0.206106
+vn 0.736359 -0.511340 0.443066
+vn -0.891507 -0.411789 0.188797
+vn -0.952431 -0.236371 -0.192363
+vn -0.709316 -0.684087 0.169990
+vn -0.704827 -0.682631 -0.192961
+vn -0.952431 -0.236371 -0.192363
+vn -0.724632 -0.193368 -0.661451
+vn -0.704827 -0.682631 -0.192961
+vn -0.559847 -0.538119 -0.630079
+vn -0.955835 -0.221164 -0.193561
+vn -0.968372 -0.192260 -0.159033
+vn -0.650532 -0.742604 -0.159211
+vn -0.879794 -0.466353 0.092075
+vn -0.968372 -0.192260 -0.159033
+vn -0.974059 -0.117059 -0.193666
+vn -0.879794 -0.466353 0.092075
+vn -0.976764 -0.114313 -0.181285
+vn -0.630466 -0.760388 -0.155958
+vn -0.955835 -0.221164 -0.193561
+vn -0.864004 -0.468195 -0.185178
+vn -0.957074 -0.178079 -0.228688
+vn -0.974059 -0.117059 -0.193666
+vn -0.894513 -0.403731 -0.191959
+vn -0.976764 -0.114313 -0.181285
+vn -0.819586 -0.381630 -0.427361
+vn -0.885584 -0.463600 0.028557
+vn -0.112520 -0.946791 0.301539
+vn -0.614441 -0.774807 -0.148781
+vn 0.006059 -0.999002 -0.044250
+vn -0.885584 -0.463600 0.028557
+vn -0.975923 -0.117195 -0.183956
+vn -0.912353 -0.385396 0.138140
+vn -0.955822 -0.221498 -0.193245
+vn -0.975923 -0.117195 -0.183956
+vn -0.839099 -0.362025 -0.406018
+vn -0.955822 -0.221498 -0.193245
+vn -0.779873 -0.176014 -0.600681
+vn -0.839099 -0.362025 -0.406018
+vn -0.581695 -0.800826 -0.142508
+vn 0.178670 -0.835190 -0.520130
+vn 0.016879 -0.999116 -0.038497
+vn -0.259810 -0.696394 0.668980
+vn -0.891507 -0.411789 0.188797
+vn -0.171632 -0.883416 0.436026
+vn -0.709316 -0.684087 0.169990
+vn -0.864004 -0.468195 -0.185178
+vn -0.957074 -0.178079 -0.228688
+vn -0.425595 -0.892406 -0.149937
+vn -0.964560 -0.168096 -0.203390
+vn -0.466750 -0.874062 -0.134761
+vn -0.955096 -0.239839 -0.173981
+vn -0.903476 -0.383756 -0.190951
+vn -0.466750 -0.874062 -0.134761
+vn -0.425595 -0.892406 -0.149937
+vn -0.955096 -0.239839 -0.173981
+vn -0.964560 -0.168096 -0.203390
+vn -0.725160 -0.670116 -0.158389
+vn -0.843922 -0.505240 -0.180356
+vn -0.706684 -0.694262 -0.136374
+vn -0.923771 -0.375143 0.076903
+vn -0.922892 -0.327770 -0.202082
+vn -0.925299 -0.303396 -0.227536
+vn -0.978463 -0.098985 -0.181141
+vn -0.861018 -0.213942 -0.461386
+vn -0.843922 -0.505240 -0.180356
+vn -0.922892 -0.327770 -0.202082
+vn -0.923771 -0.375143 0.076903
+vn -0.978463 -0.098985 -0.181141
+vn -0.909029 -0.381411 0.167902
+vn -0.278440 -0.745981 0.604965
+vn -0.699881 -0.708541 0.090200
+vn -0.219594 -0.963903 0.150567
+vn -0.909029 -0.381411 0.167902
+vn -0.980753 -0.090124 -0.173211
+vn -0.876963 -0.335922 0.343646
+vn -0.962493 -0.183926 -0.199445
+vn -0.589392 0.781975 0.202809
+vn -0.403926 0.914320 -0.029379
+vn -0.876732 0.479858 -0.032832
+vn -0.704723 0.696012 -0.137598
+vn -0.444883 0.862691 -0.240507
+vn -0.806088 0.529740 -0.263813
+vn -0.403926 0.914320 -0.029379
+vn -0.704723 0.696012 -0.137598
+vn -0.877050 0.176574 -0.446772
+vn -0.865299 -0.389639 -0.315339
+vn -0.806088 0.529740 -0.263813
+vn -0.973164 0.034248 -0.227548
+vn -0.038599 -0.996869 -0.069010
+vn -0.038684 -0.996927 -0.068117
+vn 0.016589 -0.998612 -0.049989
+vn 0.016242 -0.998675 -0.048830
+vn 0.015432 -0.998787 -0.046762
+vn 0.070809 -0.996949 -0.032848
+vn 0.020252 -0.997895 -0.061605
+vn 0.076082 -0.996137 -0.043857
+vn 0.025121 -0.996827 -0.075536
+vn 0.143872 -0.988920 -0.036592
+vn 0.026307 -0.996487 -0.079514
+vn 0.154597 -0.987276 -0.037227
+vn 0.174581 -0.984471 -0.018378
+vn 0.402563 -0.914334 0.044008
+vn 0.136782 -0.989664 0.043074
+vn 0.377394 -0.923249 0.072008
+vn 0.154597 -0.987276 -0.037227
+vn 0.395179 -0.918045 0.032035
+vn 0.178552 -0.982056 -0.060704
+vn 0.403901 -0.914399 0.027168
+vn 0.178552 -0.982056 -0.060704
+vn 0.403901 -0.914399 0.027168
+vn 0.174581 -0.984471 -0.018378
+vn 0.402563 -0.914334 0.044008
+vn 0.015089 -0.998868 -0.045103
+vn 0.015412 -0.998813 -0.046200
+vn -0.042014 -0.996923 -0.066179
+vn -0.040098 -0.996986 -0.066414
+vn 0.014644 -0.998939 -0.043667
+vn 0.015089 -0.998868 -0.045103
+vn -0.043886 -0.996896 -0.065357
+vn -0.042014 -0.996923 -0.066179
+vn 0.013074 -0.999158 -0.038890
+vn 0.075427 -0.996860 -0.024096
+vn 0.014644 -0.998939 -0.043667
+vn 0.075587 -0.996719 -0.028955
+vn 0.012101 -0.999283 -0.035869
+vn 0.076462 -0.996859 -0.020610
+vn 0.013074 -0.999158 -0.038890
+vn 0.075427 -0.996860 -0.024096
+vn 0.969185 -0.068137 -0.236725
+vn 0.919732 -0.286632 -0.268208
+vn 0.675495 -0.049075 -0.735730
+vn 0.575437 -0.465085 -0.672732
+vn -0.071201 -0.323241 -0.943634
+vn -0.267624 -0.109878 -0.957238
+vn -0.914625 -0.310624 -0.258795
+vn -0.940159 -0.189701 -0.283046
+vn -0.071201 -0.323241 -0.943634
+vn 0.243703 -0.912889 -0.327479
+vn 0.515643 -0.489821 -0.702985
+vn 0.728763 -0.456531 -0.510377
+vn 0.511762 -0.794876 -0.325992
+vn 0.515643 -0.489821 -0.702985
+vn 0.938634 -0.344693 0.012360
+vn 0.728763 -0.456531 -0.510377
+vn 0.015048 -0.998898 -0.044453
+vn 0.081743 -0.996257 -0.028120
+vn 0.012101 -0.999283 -0.035869
+vn 0.076462 -0.996859 -0.020610
+vn 0.121404 -0.983190 -0.136374
+vn 0.451201 -0.891973 -0.028309
+vn 0.081743 -0.996257 -0.028120
+vn 0.426977 -0.902699 0.053160
+vn 0.451201 -0.891973 -0.028309
+vn 0.511762 -0.794876 -0.325992
+vn 0.935295 -0.320290 0.150459
+vn 0.938634 -0.344693 0.012360
+vn 0.762164 -0.591805 0.262436
+vn 0.015108 -0.999616 -0.023220
+vn 0.919732 -0.286632 -0.268208
+vn 0.575437 -0.465085 -0.672732
+vn -0.493985 -0.677213 0.545308
+vn -0.859069 -0.460334 0.223815
+vn 0.015108 -0.999616 -0.023220
+vn -0.761637 -0.585885 -0.276854
+vn -0.933105 -0.281921 0.223241
+vn -0.940159 -0.189701 -0.283046
+vn -0.859069 -0.460334 0.223815
+vn -0.761637 -0.585885 -0.276854
+vn -0.914625 -0.310624 -0.258795
+vn -0.398701 -0.910060 -0.113263
+vn -0.071201 -0.323241 -0.943634
+vn 0.243703 -0.912889 -0.327479
+vn 0.059193 -0.984806 0.163256
+vn 0.218222 -0.957327 0.189485
+vn 0.055194 -0.985146 0.162605
+vn 0.204558 -0.960582 0.188252
+vn 0.204558 -0.960582 0.188252
+vn 0.717438 -0.651090 0.247719
+vn 0.196660 -0.961737 0.190755
+vn 0.673594 -0.700959 0.234368
+vn 0.196660 -0.961737 0.190755
+vn 0.673594 -0.700959 0.234368
+vn 0.200693 -0.960655 0.192003
+vn 0.593727 -0.766750 0.244097
+vn 0.200693 -0.960655 0.192003
+vn 0.593727 -0.766750 0.244097
+vn 0.236305 -0.953288 0.188152
+vn 0.645540 -0.722207 0.248387
+vn -0.891138 0.225811 -0.393552
+vn -0.605392 0.738726 -0.296286
+vn -0.909549 0.181723 -0.373762
+vn -0.585146 0.757448 -0.289616
+vn -0.928797 0.046399 -0.367673
+vn -0.909549 0.181723 -0.373762
+vn -0.918524 0.369469 -0.140736
+vn -0.899468 0.259937 -0.351269
+vn -0.605392 0.738726 -0.296286
+vn -0.623470 0.721125 -0.302101
+vn 0.105398 0.993655 -0.039249
+vn 0.089615 0.994940 -0.045418
+vn 0.074690 0.995882 -0.051381
+vn 0.758440 0.605260 0.241721
+vn 0.089615 0.994940 -0.045418
+vn 0.764939 0.595692 0.244988
+vn 0.656988 0.733284 0.175102
+vn 0.351733 0.935639 0.029398
+vn 0.669183 0.716926 0.195479
+vn 0.377869 0.923681 0.063466
+vn 0.189945 0.980784 -0.044542
+vn 0.092455 0.989955 -0.106965
+vn 0.351733 0.935639 0.029398
+vn 0.174245 0.983951 -0.038455
+vn 0.734740 -0.059798 0.675708
+vn 0.713387 0.402805 0.573435
+vn -0.381866 0.198247 0.902705
+vn -0.391752 0.482567 0.783364
+vn -0.855993 0.507206 0.100087
+vn -0.381866 0.198247 0.902705
+vn -0.923253 0.366629 0.114836
+vn -0.391752 0.482567 0.783364
+vn -0.805213 0.562594 -0.187401
+vn -0.855993 0.507206 0.100087
+vn -0.925868 0.325622 -0.191675
+vn -0.923253 0.366629 0.114836
+vn -0.795458 0.555488 -0.242240
+vn -0.805213 0.562594 -0.187401
+vn -0.917295 0.311465 -0.248113
+vn -0.925868 0.325622 -0.191675
+vn 0.645540 -0.722207 0.248387
+vn 0.452676 -0.849781 0.270105
+vn 0.645078 -0.686499 0.335549
+vn 0.473880 -0.814007 0.335904
+vn 0.758440 0.605260 0.241721
+vn 0.920795 0.199488 0.335173
+vn 0.764939 0.595692 0.244988
+vn 0.921379 0.196008 0.335622
+vn 0.920795 0.199488 0.335173
+vn 0.886101 0.346277 0.308087
+vn 0.921379 0.196008 0.335622
+vn 0.887345 0.342400 0.308839
+vn 0.886101 0.346277 0.308087
+vn 0.669183 0.716926 0.195479
+vn 0.887345 0.342400 0.308839
+vn 0.670189 0.717069 0.191462
+vn -0.724986 0.091669 -0.682636
+vn -0.920539 0.121613 -0.371240
+vn -0.613442 0.448630 -0.649938
+vn -0.761642 0.553882 -0.336328
+vn -0.959192 0.278469 -0.049058
+vn -0.812433 0.582578 -0.023559
+vn -0.920539 0.121613 -0.371240
+vn -0.761642 0.553882 -0.336328
+vn -0.133853 0.871060 0.472587
+vn 0.063570 0.997479 -0.031542
+vn -0.812433 0.582578 -0.023559
+vn -0.761642 0.553882 -0.336328
+vn 0.291312 0.701788 -0.650101
+vn -0.613442 0.448630 -0.649938
+vn 0.063570 0.997479 -0.031542
+vn -0.761642 0.553882 -0.336328
+vn -0.360027 0.481171 0.799284
+vn -0.327236 0.664878 0.671456
+vn -0.960507 0.248267 0.125658
+vn -0.896428 0.411928 0.163498
+vn -0.522860 0.683012 0.510011
+vn -0.145504 0.712163 0.686770
+vn -0.360027 0.481171 0.799284
+vn 0.994419 0.101777 -0.027806
+vn 0.405171 0.090301 -0.909770
+vn 0.938986 0.336222 -0.072530
+vn 0.305411 0.600304 -0.739161
+vn 0.405171 0.090301 -0.909770
+vn 0.135942 0.812547 -0.566822
+vn -0.629770 0.039992 -0.775751
+vn -0.808208 0.196704 -0.555074
+vn -0.232211 0.962155 0.142606
+vn -0.145504 0.712163 0.686770
+vn -0.522860 0.683012 0.510011
+vn -0.949285 0.301478 -0.089275
+vn -0.920277 0.238157 -0.310438
+vn -0.688383 0.711300 -0.142061
+vn -0.907158 0.275212 -0.318311
+vn -0.949285 0.301478 -0.089275
+vn -0.980045 0.183574 -0.076239
+vn -0.917357 -0.000430 -0.398065
+vn -0.917552 0.069779 -0.391444
+vn -0.663853 0.330084 -0.671077
+vn -0.703832 0.043324 -0.709044
+vn -0.851841 0.411833 -0.323669
+vn -0.917552 0.069779 -0.391444
+vn -0.703832 0.043324 -0.709044
+vn -0.792755 0.117460 -0.598116
+vn -0.917552 0.069779 -0.391444
+vn -0.917357 -0.000430 -0.398065
+vn 0.966846 0.175841 0.185170
+vn 0.090343 0.693688 -0.714588
+vn 0.994058 0.094277 -0.054410
+vn 0.321551 0.060504 -0.944957
+vn -0.319456 0.461858 0.827427
+vn 0.596299 0.272006 0.755275
+vn -0.254406 0.707770 0.659044
+vn 0.496661 0.464438 0.733229
+vn 0.596299 0.272006 0.755275
+vn 0.881927 0.147555 0.447697
+vn 0.496661 0.464438 0.733229
+vn 0.752780 0.504079 0.423352
+vn 0.881927 0.147555 0.447697
+vn 0.994058 0.094277 -0.054410
+vn 0.752780 0.504079 0.423352
+vn 0.935110 0.341224 -0.095579
+vn -0.685253 0.600743 0.411748
+vn -0.114575 0.382509 0.916820
+vn -0.904156 0.374720 0.205152
+vn -0.167939 0.503622 0.847444
+vn 0.503934 0.350364 0.789491
+vn 0.884197 0.342850 0.317255
+vn 0.638011 0.316162 0.702128
+vn 0.930790 0.156349 0.330433
+vn -0.547829 -0.020511 -0.836339
+vn -0.492045 0.139474 -0.859325
+vn 0.305928 -0.033757 -0.951456
+vn 0.275514 0.413209 -0.867958
+vn 0.971412 0.037108 -0.234482
+vn 0.305928 -0.033757 -0.951456
+vn 0.929783 0.232288 -0.285562
+vn 0.275514 0.413209 -0.867958
+vn 0.513321 0.267859 0.815324
+vn 0.888322 0.136932 0.438330
+vn 0.404322 0.474989 0.781607
+vn 0.749611 0.527970 0.399164
+vn 0.888322 0.136932 0.438330
+vn 0.971412 0.037108 -0.234482
+vn 0.749611 0.527970 0.399164
+vn 0.929783 0.232288 -0.285562
+vn -0.974246 0.218956 0.053883
+vn -0.319456 0.461858 0.827427
+vn -0.899160 0.419380 0.125028
+vn -0.254406 0.707770 0.659044
+vn 0.884197 0.342850 0.317255
+vn 0.313292 0.940327 0.132789
+vn 0.901895 0.174351 -0.395204
+vn -0.010853 0.950486 -0.310579
+vn 0.313292 0.940327 0.132789
+vn -0.196073 0.950882 0.239541
+vn -0.010853 0.950486 -0.310579
+vn -0.917144 0.393661 0.062275
+vn -0.933889 0.275011 0.228519
+vn -0.267682 0.425816 0.864307
+vn -0.868880 0.426990 0.250452
+vn -0.289202 0.679932 0.673836
+vn 0.513321 0.267859 0.815324
+vn 0.404322 0.474989 0.781607
+vn -0.267682 0.425816 0.864307
+vn -0.289202 0.679932 0.673836
+vn -0.685253 0.600743 0.411748
+vn -0.166226 0.921341 0.351426
+vn -0.304910 0.527539 0.792927
+vn -0.311741 0.563550 0.765003
+vn -0.304910 0.527539 0.792927
+vn -0.311741 0.563550 0.765003
+vn -0.116961 0.942945 0.311730
+vn -0.278617 0.557459 0.782056
+vn -0.101416 0.953274 0.284577
+vn -0.116961 0.942945 0.311730
+vn -0.205704 0.930379 0.303449
+vn -0.137752 0.956264 0.258036
+vn -0.661940 0.368027 -0.652987
+vn -0.741881 0.067106 -0.667165
+vn -0.805637 0.480655 -0.346294
+vn -0.921733 0.103795 -0.373678
+vn -0.741881 0.067106 -0.667165
+vn -0.807551 0.197927 -0.555595
+vn -0.921733 0.103795 -0.373678
+vn -0.925794 0.046841 -0.375115
+vn 0.223846 0.666060 -0.711518
+vn -0.661940 0.368027 -0.652987
+vn 0.025568 0.998352 -0.051380
+vn -0.805637 0.480655 -0.346294
+vn -0.902309 0.200725 -0.381508
+vn -0.514184 0.820920 -0.248405
+vn -0.880925 0.283832 -0.378695
+vn -0.526449 0.822507 -0.215252
+vn -0.880925 0.283832 -0.378695
+vn -0.526449 0.822507 -0.215252
+vn -0.853169 0.302731 -0.424802
+vn -0.535664 0.827524 -0.168129
+vn -0.902309 0.200725 -0.381508
+vn -0.925794 0.046841 -0.375115
+vn -0.882892 0.255982 -0.393669
+vn -0.807551 0.197927 -0.555595
+vn -0.819676 0.406927 0.403165
+vn -0.863418 0.470071 0.183145
+vn -0.714737 0.390191 0.580433
+vn -0.845257 0.486039 0.222053
+vn -0.721186 0.050329 0.690911
+vn -0.189793 0.110222 0.975618
+vn -0.313161 -0.416093 0.853696
+vn 0.327918 -0.202227 0.922808
+vn -0.313161 -0.416093 0.853696
+vn 0.327918 -0.202227 0.922808
+vn -0.582326 -0.365791 0.726012
+vn 0.020534 -0.362323 0.931827
+vn -0.447090 -0.486635 0.750531
+vn -0.206447 -0.389705 0.897502
+vn -0.354162 -0.610805 0.708157
+vn -0.003133 -0.878618 0.477514
+vn -0.953078 0.288863 -0.090558
+vn -0.901224 0.426557 -0.076456
+vn -0.936551 0.346598 -0.052362
+vn -0.874268 0.470853 -0.118123
+vn -0.901224 0.426557 -0.076456
+vn -0.910979 0.392972 -0.125262
+vn -0.766765 0.625850 -0.142770
+vn -0.742114 0.648121 -0.170896
+vn -0.442109 0.890776 -0.105156
+vn -0.831764 0.527148 -0.174022
+vn -0.893314 0.414719 -0.173203
+vn -0.766765 0.625850 -0.142770
+vn -0.910979 0.392972 -0.125262
+vn -0.390002 0.871248 0.298035
+vn -0.665132 -0.496929 0.557369
+vn -0.205704 0.930379 0.303449
+vn -0.487867 -0.282658 0.825888
+vn 0.207803 -0.895607 0.393328
+vn 0.019986 -0.964498 0.263333
+vn 0.244953 -0.798283 0.550221
+vn -0.162026 -0.928527 0.334045
+vn 0.207803 -0.895607 0.393328
+vn 0.244953 -0.798283 0.550221
+vn 0.633609 -0.641534 0.432405
+vn 0.747892 -0.256115 0.612424
+vn 0.872869 -0.327596 0.361636
+vn 0.970140 -0.146616 0.193214
+vn 0.866830 -0.309536 0.390888
+vn 0.952970 -0.300804 0.036952
+vn 0.800010 -0.344410 0.491290
+vn 0.866830 -0.309536 0.390888
+vn 0.746015 -0.630487 0.214355
+vn 0.952970 -0.300804 0.036952
+vn 0.786980 0.616668 0.019582
+vn 0.504363 0.731326 0.459109
+vn 0.857758 0.429569 0.282350
+vn 0.366036 0.589347 0.720200
+vn 0.240164 0.515637 0.822459
+vn 0.806009 0.323683 0.495559
+vn 0.366036 0.589347 0.720200
+vn 0.857758 0.429569 0.282350
+vn 0.107366 0.547452 0.829921
+vn 0.734046 0.366383 0.571787
+vn 0.240164 0.515637 0.822459
+vn 0.806009 0.323683 0.495559
+vn 0.857583 0.472502 -0.203208
+vn 0.786980 0.616668 0.019582
+vn 0.974830 0.213126 -0.065456
+vn 0.857758 0.429569 0.282350
+vn 0.857583 0.472502 -0.203208
+vn 0.875741 0.309345 -0.370652
+vn 0.906052 0.418072 -0.065465
+vn 0.970288 0.228515 -0.079516
+vn 0.906052 0.418072 -0.065465
+vn 0.970288 0.228515 -0.079516
+vn 0.900688 0.432132 0.044983
+vn 0.944740 0.321101 0.066041
+vn 0.620138 0.783797 0.033018
+vn 0.800030 0.599577 0.021432
+vn 0.446569 0.886516 -0.121102
+vn 0.641376 0.760988 -0.097644
+vn 0.900688 0.432132 0.044983
+vn 0.944740 0.321101 0.066041
+vn 0.800030 0.599577 0.021432
+vn 0.761389 0.648206 -0.010797
+vn -0.000000 0.990579 -0.136942
+vn 0.241607 0.961016 -0.134443
+vn 0.000000 0.955885 -0.293741
+vn 0.253848 0.923674 -0.287033
+vn 0.241607 0.961016 -0.134443
+vn 0.446569 0.886516 -0.121102
+vn 0.253848 0.923674 -0.287033
+vn 0.433118 0.855908 -0.282542
+vn -0.685176 0.727463 0.036492
+vn -0.305994 0.951636 -0.027497
+vn -0.577621 0.810865 -0.094079
+vn -0.286394 0.949265 -0.129902
+vn -0.685176 0.727463 0.036492
+vn -0.847059 0.530493 0.032681
+vn -0.863418 0.470071 0.183145
+vn -0.911132 0.406637 0.066973
+vn -0.720939 0.192790 0.665641
+vn -0.920084 0.373295 -0.118730
+vn -0.511053 0.743467 0.431371
+vn -0.720939 0.192790 0.665641
+vn -0.734818 -0.613106 -0.290075
+vn -0.971551 0.180680 -0.153115
+vn -0.825765 0.175481 -0.536022
+vn -0.852762 0.139011 -0.503462
+vn -0.971551 0.180680 -0.153115
+vn -0.920084 0.373295 -0.118730
+vn -0.846683 0.520260 0.111612
+vn -0.645759 0.760130 -0.072088
+vn -0.888375 0.447471 -0.102761
+vn -0.442109 0.890776 -0.105156
+vn -0.888375 0.447471 -0.102761
+vn -0.944920 0.278170 -0.172476
+vn -0.651299 0.752889 -0.094702
+vn -0.853143 0.426345 -0.300628
+vn -0.055674 0.997814 -0.035604
+vn -0.053053 0.964277 -0.259530
+vn 0.645302 0.748698 0.151779
+vn 0.928833 0.369458 0.027739
+vn -0.041824 -0.986543 0.158062
+vn 0.446607 -0.867010 0.220987
+vn 0.037107 -0.968444 -0.246454
+vn 0.930486 -0.364575 0.035781
+vn -0.816887 -0.562111 0.129333
+vn -0.976356 -0.150530 -0.155144
+vn -0.881226 -0.430174 0.195935
+vn -0.952495 -0.266329 -0.147725
+vn -0.855805 -0.419793 -0.302279
+vn 0.037107 -0.968444 -0.246454
+vn -0.806005 -0.240815 -0.540707
+vn 0.203171 -0.345965 -0.915986
+vn -0.099631 -0.921662 0.374984
+vn -0.816887 -0.562111 0.129333
+vn -0.158586 -0.715744 0.680119
+vn -0.881226 -0.430174 0.195935
+vn -0.846452 -0.421426 -0.325451
+vn 0.066193 -0.951432 -0.300660
+vn -0.793786 -0.231813 -0.562287
+vn 0.236958 -0.316494 -0.918522
+vn -0.212274 -0.698256 0.683651
+vn -0.885280 -0.418015 0.203818
+vn -0.152849 -0.858881 0.488837
+vn -0.685096 -0.694279 0.220503
+vn -0.885280 -0.418015 0.203818
+vn -0.954697 -0.257375 -0.149373
+vn -0.685096 -0.694279 0.220503
+vn -0.703662 -0.706993 -0.070852
+vn -0.954697 -0.257375 -0.149373
+vn -0.793786 -0.231813 -0.562287
+vn -0.703662 -0.706993 -0.070852
+vn -0.630221 -0.635905 -0.445472
+vn -0.724632 -0.193368 -0.661451
+vn 0.344350 -0.196976 -0.917945
+vn -0.559847 -0.538119 -0.630079
+vn 0.243674 -0.670962 -0.700309
+vn 0.140983 -0.926201 -0.349679
+vn 0.951558 -0.307468 -0.001356
+vn 0.344350 -0.196976 -0.917945
+vn 0.961411 -0.107436 -0.253271
+vn -0.955835 -0.221164 -0.193561
+vn -0.650532 -0.742604 -0.159211
+vn -0.957074 -0.178079 -0.228688
+vn -0.853146 -0.279892 -0.440229
+vn -0.819586 -0.381630 -0.427361
+vn -0.614441 -0.774807 -0.148781
+vn 0.152900 -0.827853 -0.539704
+vn 0.006059 -0.999002 -0.044250
+vn -0.112520 -0.946791 0.301539
+vn -0.885584 -0.463600 0.028557
+vn -0.232347 -0.714943 0.659447
+vn -0.912353 -0.385396 0.138140
+vn -0.839099 -0.362025 -0.406018
+vn 0.178670 -0.835190 -0.520130
+vn -0.779873 -0.176014 -0.600681
+vn 0.305566 -0.207318 -0.929327
+vn -0.124220 -0.938585 0.321912
+vn -0.259810 -0.696394 0.668980
+vn 0.775479 -0.494405 0.392677
+vn 0.706872 -0.409539 0.576723
+vn 0.016879 -0.999116 -0.038497
+vn -0.124220 -0.938585 0.321912
+vn 0.660697 -0.744657 0.094684
+vn 0.775479 -0.494405 0.392677
+vn -0.259810 -0.696394 0.668980
+vn -0.171632 -0.883416 0.436026
+vn 0.706872 -0.409539 0.576723
+vn 0.535291 -0.700021 0.472689
+vn -0.903476 -0.383756 -0.190951
+vn -0.690966 -0.704731 -0.160999
+vn -0.925299 -0.303396 -0.227536
+vn -0.861018 -0.213942 -0.461386
+vn -0.903476 -0.383756 -0.190951
+vn -0.955096 -0.239839 -0.173981
+vn -0.690966 -0.704731 -0.160999
+vn -0.916337 -0.388635 0.096382
+vn -0.980753 -0.090124 -0.173211
+vn -0.808615 -0.310134 -0.499959
+vn -0.962493 -0.183926 -0.199445
+vn -0.620252 -0.105698 -0.777248
+vn -0.808615 -0.310134 -0.499959
+vn -0.706684 -0.694262 -0.136374
+vn 0.193675 -0.607261 -0.770535
+vn -0.039842 -0.999077 -0.016046
+vn -0.909029 -0.381411 0.167902
+vn -0.876963 -0.335922 0.343646
+vn -0.278440 -0.745981 0.604965
+vn -0.286636 -0.512798 0.809245
+vn -0.398701 -0.910060 -0.113263
+vn -0.041693 -0.996374 0.074169
+vn 0.243703 -0.912889 -0.327479
+vn 0.724872 -0.553715 0.409829
+vn -0.041693 -0.996374 0.074169
+vn -0.219594 -0.963903 0.150567
+vn 0.724872 -0.553715 0.409829
+vn -0.278440 -0.745981 0.604965
+vn -0.876732 0.479858 -0.032832
+vn -0.704723 0.696012 -0.137598
+vn -0.973164 0.034248 -0.227548
+vn -0.806088 0.529740 -0.263813
+vn 0.016589 -0.998612 -0.049989
+vn 0.073077 -0.996713 -0.034966
+vn 0.016216 -0.998669 -0.048962
+vn 0.072814 -0.996762 -0.034104
+vn 0.016216 -0.998669 -0.048962
+vn 0.072814 -0.996762 -0.034104
+vn 0.015665 -0.998754 -0.047386
+vn 0.071827 -0.996870 -0.033022
+vn 0.015432 -0.998787 -0.046762
+vn 0.015665 -0.998754 -0.047386
+vn 0.070809 -0.996949 -0.032848
+vn 0.071827 -0.996870 -0.033022
+vn 0.143872 -0.988920 -0.036592
+vn 0.388513 -0.920881 0.032173
+vn 0.154597 -0.987276 -0.037227
+vn 0.395179 -0.918045 0.032035
+vn 0.070809 -0.996949 -0.032848
+vn 0.341514 -0.939396 0.030055
+vn 0.076082 -0.996137 -0.043857
+vn 0.339618 -0.940261 0.023837
+vn 0.076082 -0.996137 -0.043857
+vn 0.339618 -0.940261 0.023837
+vn 0.094259 -0.993576 -0.062620
+vn 0.349152 -0.936943 0.015211
+vn 0.094259 -0.993576 -0.062620
+vn 0.349152 -0.936943 0.015211
+vn 0.116014 -0.991077 -0.065624
+vn 0.366078 -0.930457 0.015397
+vn 0.132909 -0.989727 -0.052681
+vn 0.116014 -0.991077 -0.065624
+vn 0.379562 -0.924867 0.023528
+vn 0.366078 -0.930457 0.015397
+vn 0.143872 -0.988920 -0.036592
+vn 0.132909 -0.989727 -0.052681
+vn 0.388513 -0.920881 0.032173
+vn 0.379562 -0.924867 0.023528
+vn -0.038684 -0.996927 -0.068117
+vn -0.040098 -0.996986 -0.066414
+vn 0.016242 -0.998675 -0.048830
+vn 0.015412 -0.998813 -0.046200
+vn 0.015089 -0.998868 -0.045103
+vn 0.074720 -0.996734 -0.030618
+vn 0.015412 -0.998813 -0.046200
+vn 0.072937 -0.996824 -0.031977
+vn 0.014644 -0.998939 -0.043667
+vn 0.075587 -0.996719 -0.028955
+vn 0.015089 -0.998868 -0.045103
+vn 0.074720 -0.996734 -0.030618
+vn -0.267624 -0.109878 -0.957238
+vn 0.675495 -0.049075 -0.735730
+vn -0.197227 -0.362537 -0.910861
+vn 0.575437 -0.465085 -0.672732
+vn 0.451201 -0.891973 -0.028309
+vn 0.935295 -0.320290 0.150459
+vn 0.426977 -0.902699 0.053160
+vn 0.921039 -0.361483 0.144975
+vn -0.267624 -0.109878 -0.957238
+vn -0.197227 -0.362537 -0.910861
+vn -0.940159 -0.189701 -0.283046
+vn -0.761637 -0.585885 -0.276854
+vn 0.282043 -0.938174 0.200702
+vn 0.768279 -0.585100 0.259624
+vn 0.264825 -0.943802 0.197753
+vn 0.796130 -0.552237 0.247411
+vn 0.264825 -0.943802 0.197753
+vn 0.796130 -0.552237 0.247411
+vn 0.248270 -0.948887 0.194874
+vn 0.753595 -0.617676 0.224878
+vn 0.248270 -0.948887 0.194874
+vn 0.753595 -0.617676 0.224878
+vn 0.233034 -0.953294 0.192159
+vn 0.656569 -0.716859 0.234586
+vn 0.302828 -0.934354 0.187822
+vn 0.746192 -0.624548 0.230515
+vn 0.282043 -0.938174 0.200702
+vn 0.768279 -0.585100 0.259624
+vn 0.336004 -0.931821 0.137151
+vn 0.821710 -0.537549 0.189299
+vn 0.302828 -0.934354 0.187822
+vn 0.746192 -0.624548 0.230515
+vn 0.377394 -0.923249 0.072008
+vn 0.860656 -0.482528 0.162596
+vn 0.336004 -0.931821 0.137151
+vn 0.821710 -0.537549 0.189299
+vn 0.402563 -0.914334 0.044008
+vn 0.769738 -0.621354 0.146365
+vn 0.377394 -0.923249 0.072008
+vn 0.860656 -0.482528 0.162596
+vn 0.233034 -0.953294 0.192159
+vn 0.656569 -0.716859 0.234586
+vn 0.218222 -0.957327 0.189485
+vn 0.683726 -0.684035 0.254194
+vn 0.218222 -0.957327 0.189485
+vn 0.683726 -0.684035 0.254194
+vn 0.204558 -0.960582 0.188252
+vn 0.717438 -0.651090 0.247719
+vn 0.105398 0.993655 -0.039249
+vn 0.121601 0.992037 -0.032790
+vn -0.605392 0.738726 -0.296286
+vn -0.585146 0.757448 -0.289616
+vn 0.105398 0.993655 -0.039249
+vn 0.089615 0.994940 -0.045418
+vn 0.771391 0.585901 0.248345
+vn 0.764939 0.595692 0.244988
+vn 0.092455 0.989955 -0.106965
+vn 0.039232 0.989827 -0.136760
+vn 0.034983 0.991866 -0.122383
+vn -0.018127 0.989941 -0.140314
+vn 0.039232 0.989827 -0.136760
+vn 0.029236 0.994249 -0.103030
+vn -0.018127 0.989941 -0.140314
+vn -0.116098 0.983350 -0.139797
+vn -0.795458 0.555488 -0.242240
+vn -0.805879 0.539640 -0.243612
+vn -0.407571 0.893440 -0.188816
+vn -0.479661 0.854039 -0.201354
+vn -0.407571 0.893440 -0.188816
+vn -0.479661 0.854039 -0.201354
+vn -0.116098 0.983350 -0.139797
+vn -0.243309 0.956326 -0.161990
+vn 0.734740 -0.059798 0.675708
+vn 0.645302 0.748698 0.151779
+vn 0.713387 0.402805 0.573435
+vn 0.907926 0.347132 0.234881
+vn -0.917295 0.311465 -0.248113
+vn -0.920641 0.301706 -0.247777
+vn -0.795458 0.555488 -0.242240
+vn -0.805879 0.539640 -0.243612
+vn 0.452676 -0.849781 0.270105
+vn 0.645540 -0.722207 0.248387
+vn 0.446607 -0.867010 0.220987
+vn 0.593727 -0.766750 0.244097
+vn -0.960507 0.248267 0.125658
+vn -0.922264 0.385605 0.027162
+vn -0.360027 0.481171 0.799284
+vn -0.522860 0.683012 0.510011
+vn 0.482448 0.470448 0.738866
+vn 0.743007 0.512749 0.430150
+vn -0.327236 0.664878 0.671456
+vn -0.085776 0.992406 0.088161
+vn 0.743007 0.512749 0.430150
+vn 0.938986 0.336222 -0.072530
+vn -0.085776 0.992406 0.088161
+vn 0.305411 0.600304 -0.739161
+vn -0.629770 0.039992 -0.775751
+vn -0.571451 0.263476 -0.777190
+vn 0.405171 0.090301 -0.909770
+vn 0.305411 0.600304 -0.739161
+vn -0.688383 0.711300 -0.142061
+vn -0.907158 0.275212 -0.318311
+vn -0.808208 0.196704 -0.555074
+vn -0.913069 0.135296 -0.384708
+vn -0.232211 0.962155 0.142606
+vn -0.661261 0.723292 -0.198954
+vn 0.090343 0.693688 -0.714588
+vn -0.782571 0.152434 -0.603612
+vn -0.920277 0.238157 -0.310438
+vn -0.949285 0.301478 -0.089275
+vn -0.916740 0.108060 -0.384592
+vn -0.917357 -0.000430 -0.398065
+vn -0.980045 0.183574 -0.076239
+vn -0.913912 0.405711 -0.012766
+vn -0.917552 0.069779 -0.391444
+vn -0.851841 0.411833 -0.323669
+vn -0.324088 0.750836 0.575510
+vn -0.056337 0.995732 0.073106
+vn -0.913912 0.405711 -0.012766
+vn -0.851841 0.411833 -0.323669
+vn 0.325997 0.701144 -0.634131
+vn -0.663853 0.330084 -0.671077
+vn -0.056337 0.995732 0.073106
+vn -0.851841 0.411833 -0.323669
+vn -0.792755 0.117460 -0.598116
+vn -0.883471 0.139515 -0.447230
+vn -0.917357 -0.000430 -0.398065
+vn -0.916740 0.108060 -0.384592
+vn -0.853169 0.302731 -0.424802
+vn -0.535664 0.827524 -0.168129
+vn -0.883471 0.139515 -0.447230
+vn -0.541613 0.831991 -0.120192
+vn -0.685253 0.600743 0.411748
+vn -0.904156 0.374720 0.205152
+vn -0.834398 0.485073 -0.261696
+vn -0.935081 0.170405 -0.310783
+vn -0.904156 0.374720 0.205152
+vn -0.167939 0.503622 0.847444
+vn -0.854770 0.473593 0.212318
+vn -0.166038 0.759846 0.628543
+vn 0.638011 0.316162 0.702128
+vn 0.567719 0.465297 0.679112
+vn -0.167939 0.503622 0.847444
+vn -0.166038 0.759846 0.628543
+vn -0.492045 0.139474 -0.859325
+vn -0.547829 -0.020511 -0.836339
+vn -0.845369 0.438760 -0.304698
+vn -0.928942 0.075791 -0.362384
+vn -0.547829 -0.020511 -0.836339
+vn -0.773106 0.147549 -0.616876
+vn -0.928942 0.075791 -0.362384
+vn -0.931432 0.029722 -0.362701
+vn -0.942966 0.328893 -0.051430
+vn -0.861414 0.412531 -0.296284
+vn -0.726293 0.643639 -0.241304
+vn -0.804399 0.521969 -0.283707
+vn -0.726293 0.643639 -0.241304
+vn -0.804399 0.521969 -0.283707
+vn -0.773106 0.147549 -0.616876
+vn -0.855756 0.382230 -0.348687
+vn -0.974246 0.218956 0.053883
+vn -0.899160 0.419380 0.125028
+vn -0.913567 0.070681 -0.400498
+vn -0.846626 0.423834 -0.321853
+vn -0.942966 0.328893 -0.051430
+vn -0.974246 0.218956 0.053883
+vn -0.915387 0.011667 -0.402405
+vn -0.913567 0.070681 -0.400498
+vn 0.884197 0.342850 0.317255
+vn 0.901895 0.174351 -0.395204
+vn 0.930790 0.156349 0.330433
+vn 0.967801 0.037262 -0.248943
+vn -0.933889 0.275011 0.228519
+vn -0.868880 0.426990 0.250452
+vn -0.928942 0.075791 -0.362384
+vn -0.845369 0.438760 -0.304698
+vn -0.917144 0.393661 0.062275
+vn -0.933889 0.275011 0.228519
+vn -0.931432 0.029722 -0.362701
+vn -0.928942 0.075791 -0.362384
+vn -0.917144 0.393661 0.062275
+vn -0.817029 0.393944 -0.421036
+vn -0.010853 0.950486 -0.310579
+vn -0.296326 0.468561 -0.832251
+vn -0.166226 0.921341 0.351426
+vn -0.685253 0.600743 0.411748
+vn -0.003765 0.999979 0.005239
+vn -0.834398 0.485073 -0.261696
+vn -0.867942 0.332868 -0.368612
+vn -0.899468 0.259937 -0.351269
+vn -0.541139 0.795038 -0.274011
+vn -0.563773 0.776209 -0.282240
+vn -0.882892 0.255982 -0.393669
+vn -0.867942 0.332868 -0.368612
+vn -0.519309 0.812258 -0.265620
+vn -0.541139 0.795038 -0.274011
+vn -0.899468 0.259937 -0.351269
+vn -0.909549 0.181723 -0.373762
+vn -0.563773 0.776209 -0.282240
+vn -0.585146 0.757448 -0.289616
+vn -0.902309 0.200725 -0.381508
+vn -0.882892 0.255982 -0.393669
+vn -0.514184 0.820920 -0.248405
+vn -0.519309 0.812258 -0.265620
+vn -0.594467 0.322654 0.736549
+vn -0.714737 0.390191 0.580433
+vn -0.343104 0.463693 0.816865
+vn -0.437228 0.659166 0.611826
+vn -0.594467 0.322654 0.736549
+vn -0.343104 0.463693 0.816865
+vn -0.453260 0.289351 0.843108
+vn -0.223050 0.374576 0.899967
+vn -0.453260 0.289351 0.843108
+vn -0.223050 0.374576 0.899967
+vn -0.189793 0.110222 0.975618
+vn 0.006009 0.203368 0.979084
+vn 0.020534 -0.362323 0.931827
+vn 0.762647 0.031448 0.646050
+vn -0.206447 -0.389705 0.897502
+vn 0.925683 -0.185058 0.329946
+vn -0.172553 -0.866668 0.468094
+vn -0.354162 -0.610805 0.708157
+vn -0.332550 -0.902410 0.273982
+vn -0.391869 -0.771818 0.500734
+vn -0.172553 -0.866668 0.468094
+vn -0.172033 -0.964490 0.200409
+vn 0.019986 -0.964498 0.263333
+vn 0.025542 -0.981951 0.187405
+vn -0.979961 0.156881 -0.122742
+vn -0.901224 0.426557 -0.076456
+vn -0.953078 0.288863 -0.090558
+vn -0.910979 0.392972 -0.125262
+vn -0.901224 0.426557 -0.076456
+vn -0.886272 0.457655 -0.071227
+vn -0.742114 0.648121 -0.170896
+vn -0.766765 0.625850 -0.142770
+vn -0.894793 0.397793 -0.202746
+vn -0.772796 0.604966 -0.191838
+vn -0.735320 0.652731 -0.182338
+vn -0.766765 0.625850 -0.142770
+vn -0.893314 0.414719 -0.173203
+vn -0.975526 0.120357 -0.184020
+vn -0.910979 0.392972 -0.125262
+vn -0.962096 0.255882 -0.094314
+vn -0.936551 0.346598 -0.052362
+vn -0.825399 0.556664 0.094032
+vn -0.210709 0.961733 0.175133
+vn -0.390002 0.871248 0.298035
+vn -0.228585 0.951240 0.207104
+vn -0.825399 0.556664 0.094032
+vn -0.210709 0.961733 0.175133
+vn -0.205704 0.930379 0.303449
+vn -0.137752 0.956264 0.258036
+vn -0.390002 0.871248 0.298035
+vn -0.228585 0.951240 0.207104
+vn 0.633609 -0.641534 0.432405
+vn 0.747892 -0.256115 0.612424
+vn 0.872869 -0.327596 0.361636
+vn 0.970140 -0.146616 0.193214
+vn -0.618416 0.394530 0.679638
+vn -0.968361 -0.143253 0.204340
+vn -0.711783 0.467317 0.524385
+vn -0.990812 -0.117397 0.067149
+vn -0.968361 -0.143253 0.204340
+vn -0.619942 -0.744190 -0.248703
+vn -0.990812 -0.117397 0.067149
+vn -0.655098 -0.681031 -0.327174
+vn -0.619942 -0.744190 -0.248703
+vn 0.096040 -0.696629 0.710974
+vn 0.278749 -0.882358 -0.379135
+vn 0.746015 -0.630487 0.214355
+vn 0.107366 0.547452 0.829921
+vn 0.047614 0.626643 0.777851
+vn 0.734046 0.366383 0.571787
+vn 0.704940 0.435791 0.559594
+vn 0.047614 0.626643 0.777851
+vn -0.618416 0.394530 0.679638
+vn -0.006625 0.732093 0.681173
+vn -0.711783 0.467317 0.524385
+vn 0.974830 0.213126 -0.065456
+vn 0.953428 -0.005535 -0.301569
+vn 0.857583 0.472502 -0.203208
+vn 0.875741 0.309345 -0.370652
+vn -0.000000 0.990579 -0.136942
+vn 0.000000 0.955885 -0.293741
+vn -0.286394 0.949265 -0.129902
+vn -0.271194 0.920889 -0.280031
+vn -0.685176 0.727463 0.036492
+vn -0.577621 0.810865 -0.094079
+vn -0.847059 0.530493 0.032681
+vn -0.767679 0.640562 -0.018697
+vn -0.920084 0.373295 -0.118730
+vn -0.720939 0.192790 0.665641
+vn -0.971551 0.180680 -0.153115
+vn -0.888375 0.447471 -0.102761
+vn -0.442109 0.890776 -0.105156
+vn -0.944920 0.278170 -0.172476
+vn -0.831764 0.527148 -0.174022
+vn -0.053053 0.964277 -0.259530
+vn -0.853143 0.426345 -0.300628
+vn 0.046370 0.488034 -0.871592
+vn -0.825536 0.279310 -0.490384
+vn -0.881226 -0.430174 0.195935
+vn -0.952495 -0.266329 -0.147725
+vn -0.670872 -0.710776 0.211490
+vn -0.692261 -0.718818 -0.063831
+vn -0.952495 -0.266329 -0.147725
+vn -0.806005 -0.240815 -0.540707
+vn -0.692261 -0.718818 -0.063831
+vn -0.635621 -0.657437 -0.404675
+vn -0.099631 -0.921662 0.374984
+vn -0.158586 -0.715744 0.680119
+vn 0.717272 -0.536511 0.444609
+vn 0.750799 -0.386900 0.535359
+vn -0.039211 -0.991687 0.122550
+vn -0.099631 -0.921662 0.374984
+vn 0.513553 -0.832225 0.208961
+vn 0.717272 -0.536511 0.444609
+vn -0.039211 -0.991687 0.122550
+vn 0.513553 -0.832225 0.208961
+vn 0.066193 -0.951432 -0.300660
+vn 0.939631 -0.341456 0.022407
+vn -0.212274 -0.698256 0.683651
+vn -0.152849 -0.858881 0.488837
+vn 0.733073 -0.391150 0.556423
+vn 0.522664 -0.699217 0.487769
+vn 0.581163 -0.787255 0.206106
+vn 0.746192 -0.624548 0.230515
+vn 0.951558 -0.307468 -0.001356
+vn 0.821710 -0.537549 0.189299
+vn 0.736359 -0.511340 0.443066
+vn 0.768279 -0.585100 0.259624
+vn 0.581163 -0.787255 0.206106
+vn 0.746192 -0.624548 0.230515
+vn 0.736359 -0.511340 0.443066
+vn 0.733073 -0.391150 0.556423
+vn 0.971602 -0.077361 0.223619
+vn 0.956324 -0.186311 0.225240
+vn -0.171632 -0.883416 0.436026
+vn -0.709316 -0.684087 0.169990
+vn 0.014244 -0.997712 -0.066086
+vn -0.704827 -0.682631 -0.192961
+vn -0.704827 -0.682631 -0.192961
+vn -0.559847 -0.538119 -0.630079
+vn 0.014244 -0.997712 -0.066086
+vn 0.243674 -0.670962 -0.700309
+vn -0.879794 -0.466353 0.092075
+vn -0.129537 -0.880903 0.455226
+vn -0.650532 -0.742604 -0.159211
+vn -0.005947 -0.999161 -0.040521
+vn -0.879794 -0.466353 0.092075
+vn -0.976764 -0.114313 -0.181285
+vn -0.876919 -0.404241 0.260003
+vn -0.959020 -0.211555 -0.188479
+vn -0.976764 -0.114313 -0.181285
+vn -0.819586 -0.381630 -0.427361
+vn -0.959020 -0.211555 -0.188479
+vn -0.714384 -0.136786 -0.686254
+vn -0.819586 -0.381630 -0.427361
+vn 0.152900 -0.827853 -0.539704
+vn -0.714384 -0.136786 -0.686254
+vn 0.275713 -0.098445 -0.956186
+vn -0.112520 -0.946791 0.301539
+vn -0.232347 -0.714943 0.659447
+vn 0.814805 -0.440382 0.377037
+vn 0.771202 -0.362962 0.522978
+vn 0.006059 -0.999002 -0.044250
+vn -0.112520 -0.946791 0.301539
+vn 0.680900 -0.725006 0.103647
+vn 0.814805 -0.440382 0.377037
+vn -0.232347 -0.714943 0.659447
+vn -0.912353 -0.385396 0.138140
+vn -0.155371 -0.896006 0.415972
+vn -0.734459 -0.667724 0.121303
+vn -0.912353 -0.385396 0.138140
+vn -0.955822 -0.221498 -0.193245
+vn -0.734459 -0.667724 0.121303
+vn -0.731018 -0.654805 -0.191945
+vn -0.955822 -0.221498 -0.193245
+vn -0.779873 -0.176014 -0.600681
+vn -0.731018 -0.654805 -0.191945
+vn -0.626358 -0.544035 -0.558303
+vn 0.016879 -0.999116 -0.038497
+vn 0.660697 -0.744657 0.094684
+vn 0.178670 -0.835190 -0.520130
+vn 0.966258 -0.256233 -0.026252
+vn -0.964560 -0.168096 -0.203390
+vn -0.957074 -0.178079 -0.228688
+vn -0.977780 -0.103973 -0.182035
+vn -0.853146 -0.279892 -0.440229
+vn -0.955096 -0.239839 -0.173981
+vn -0.964560 -0.168096 -0.203390
+vn -0.916337 -0.388635 0.096382
+vn -0.977780 -0.103973 -0.182035
+vn -0.923771 -0.375143 0.076903
+vn -0.216151 -0.821108 0.528261
+vn -0.706684 -0.694262 -0.136374
+vn -0.039842 -0.999077 -0.016046
+vn -0.923771 -0.375143 0.076903
+vn -0.978463 -0.098985 -0.181141
+vn -0.916499 -0.349951 0.193816
+vn -0.963237 -0.187150 -0.192742
+vn -0.978463 -0.098985 -0.181141
+vn -0.861018 -0.213942 -0.461386
+vn -0.963237 -0.187150 -0.192742
+vn -0.742937 -0.068841 -0.665812
+vn -0.808615 -0.310134 -0.499959
+vn 0.193675 -0.607261 -0.770535
+vn -0.620252 -0.105698 -0.777248
+vn 0.267922 -0.071107 -0.960813
+vn -0.876963 -0.335922 0.343646
+vn -0.962493 -0.183926 -0.199445
+vn -0.752108 -0.587893 0.297852
+vn -0.762530 -0.612735 -0.207613
+vn 0.073077 -0.996713 -0.034966
+vn 0.016589 -0.998612 -0.049989
+vn 0.072501 -0.996781 -0.034234
+vn 0.016242 -0.998675 -0.048830
+vn 0.070809 -0.996949 -0.032848
+vn 0.071827 -0.996870 -0.033022
+vn 0.341514 -0.939396 0.030055
+vn 0.348825 -0.936643 0.031956
+vn 0.388513 -0.920881 0.032173
+vn 0.887581 -0.428464 0.169171
+vn 0.395179 -0.918045 0.032035
+vn 0.866453 -0.479331 0.139645
+vn 0.395179 -0.918045 0.032035
+vn 0.866453 -0.479331 0.139645
+vn 0.403901 -0.914399 0.027168
+vn 0.793253 -0.588528 0.156153
+vn 0.402563 -0.914334 0.044008
+vn 0.403901 -0.914399 0.027168
+vn 0.769738 -0.621354 0.146365
+vn 0.793253 -0.588528 0.156153
+vn 0.015412 -0.998813 -0.046200
+vn 0.072937 -0.996824 -0.031977
+vn 0.016242 -0.998675 -0.048830
+vn 0.072501 -0.996781 -0.034234
+vn 0.076462 -0.996859 -0.020610
+vn 0.416166 -0.907604 0.055331
+vn 0.075427 -0.996860 -0.024096
+vn 0.406730 -0.912146 0.050599
+vn 0.075427 -0.996860 -0.024096
+vn 0.406730 -0.912146 0.050599
+vn 0.075587 -0.996719 -0.028955
+vn 0.398826 -0.915890 0.045642
+vn 0.081743 -0.996257 -0.028120
+vn 0.426977 -0.902699 0.053160
+vn 0.076462 -0.996859 -0.020610
+vn 0.416166 -0.907604 0.055331
+vn 0.243703 -0.912889 -0.327479
+vn 0.724872 -0.553715 0.409829
+vn 0.728763 -0.456531 -0.510377
+vn 0.938634 -0.344693 0.012360
+vn 0.935295 -0.320290 0.150459
+vn 0.938634 -0.344693 0.012360
+vn 0.974774 -0.065877 0.213249
+vn 0.724872 -0.553715 0.409829
+vn 0.015108 -0.999616 -0.023220
+vn -0.761637 -0.585885 -0.276854
+vn 0.575437 -0.465085 -0.672732
+vn -0.197227 -0.362537 -0.910861
+vn 0.683726 -0.684035 0.254194
+vn 0.717272 -0.536511 0.444609
+vn 0.717438 -0.651090 0.247719
+vn 0.970037 -0.089199 0.225990
+vn 0.717438 -0.651090 0.247719
+vn 0.970037 -0.089199 0.225990
+vn 0.673594 -0.700959 0.234368
+vn 0.930486 -0.364575 0.035781
+vn 0.673594 -0.700959 0.234368
+vn 0.930486 -0.364575 0.035781
+vn 0.593727 -0.766750 0.244097
+vn 0.446607 -0.867010 0.220987
+vn 0.121601 0.992037 -0.032790
+vn 0.105398 0.993655 -0.039249
+vn 0.777779 0.575966 0.251641
+vn 0.771391 0.585901 0.248345
+vn 0.669183 0.716926 0.195479
+vn 0.377869 0.923681 0.063466
+vn 0.670189 0.717069 0.191462
+vn 0.393853 0.917540 0.054776
+vn 0.351733 0.935639 0.029398
+vn 0.174245 0.983951 -0.038455
+vn 0.377869 0.923681 0.063466
+vn 0.164248 0.984841 -0.055781
+vn 0.174245 0.983951 -0.038455
+vn 0.092455 0.989955 -0.106965
+vn 0.164248 0.984841 -0.055781
+vn 0.034983 0.991866 -0.122383
+vn -0.116098 0.983350 -0.139797
+vn -0.243309 0.956326 -0.161990
+vn -0.018127 0.989941 -0.140314
+vn -0.109479 0.985439 -0.130093
+vn -0.391752 0.482567 0.783364
+vn 0.713387 0.402805 0.573435
+vn -0.171135 0.938511 0.299850
+vn 0.560110 0.772471 0.299275
+vn -0.391752 0.482567 0.783364
+vn -0.171135 0.938511 0.299850
+vn -0.923253 0.366629 0.114836
+vn -0.676717 0.736193 -0.008656
+vn -0.923253 0.366629 0.114836
+vn -0.676717 0.736193 -0.008656
+vn -0.925868 0.325622 -0.191675
+vn -0.627188 0.762797 -0.157404
+vn -0.917295 0.311465 -0.248113
+vn -0.925868 0.325622 -0.191675
+vn -0.636702 0.741852 -0.210393
+vn -0.627188 0.762797 -0.157404
+vn -0.920641 0.301706 -0.247777
+vn -0.917295 0.311465 -0.248113
+vn -0.645764 0.733530 -0.211950
+vn -0.636702 0.741852 -0.210393
+vn 0.764939 0.595692 0.244988
+vn 0.921379 0.196008 0.335622
+vn 0.771391 0.585901 0.248345
+vn 0.921859 0.192533 0.336315
+vn 0.921379 0.196008 0.335622
+vn 0.887345 0.342400 0.308839
+vn 0.921859 0.192533 0.336315
+vn 0.888512 0.338503 0.309777
+vn 0.887345 0.342400 0.308839
+vn 0.670189 0.717069 0.191462
+vn 0.888512 0.338503 0.309777
+vn 0.678243 0.708552 0.194784
+vn -0.922264 0.385605 0.027162
+vn -0.960507 0.248267 0.125658
+vn -0.920729 0.007312 -0.390135
+vn -0.920942 0.078224 -0.381768
+vn -0.960507 0.248267 0.125658
+vn -0.896428 0.411928 0.163498
+vn -0.920942 0.078224 -0.381768
+vn -0.847960 0.437869 -0.298720
+vn -0.896428 0.411928 0.163498
+vn -0.327236 0.664878 0.671456
+vn -0.847960 0.437869 -0.298720
+vn -0.085776 0.992406 0.088161
+vn -0.571451 0.263476 -0.777190
+vn -0.629770 0.039992 -0.775751
+vn -0.847960 0.437869 -0.298720
+vn -0.920942 0.078224 -0.381768
+vn -0.629770 0.039992 -0.775751
+vn -0.808208 0.196704 -0.555074
+vn -0.920942 0.078224 -0.381768
+vn -0.920729 0.007312 -0.390135
+vn -0.661261 0.723292 -0.198954
+vn -0.232211 0.962155 0.142606
+vn -0.922264 0.385605 0.027162
+vn -0.522860 0.683012 0.510011
+vn -0.916740 0.108060 -0.384592
+vn -0.571326 0.814573 -0.100285
+vn -0.920277 0.238157 -0.310438
+vn -0.611039 0.785792 -0.095726
+vn -0.920277 0.238157 -0.310438
+vn -0.611039 0.785792 -0.095726
+vn -0.907158 0.275212 -0.318311
+vn -0.639566 0.761664 -0.104035
+vn 0.994058 0.094277 -0.054410
+vn 0.321551 0.060504 -0.944957
+vn 0.935110 0.341224 -0.095579
+vn 0.240231 0.594760 -0.767170
+vn 0.321551 0.060504 -0.944957
+vn 0.090343 0.693688 -0.714588
+vn -0.632354 0.022331 -0.774357
+vn -0.782571 0.152434 -0.603612
+vn -0.899160 0.419380 0.125028
+vn -0.254406 0.707770 0.659044
+vn -0.846626 0.423834 -0.321853
+vn -0.070044 0.995192 0.068456
+vn 0.496661 0.464438 0.733229
+vn 0.752780 0.504079 0.423352
+vn -0.254406 0.707770 0.659044
+vn -0.070044 0.995192 0.068456
+vn 0.752780 0.504079 0.423352
+vn 0.935110 0.341224 -0.095579
+vn -0.070044 0.995192 0.068456
+vn 0.240231 0.594760 -0.767170
+vn -0.904156 0.374720 0.205152
+vn -0.854770 0.473593 0.212318
+vn -0.935081 0.170405 -0.310783
+vn -0.847931 0.438232 -0.298270
+vn 0.638011 0.316162 0.702128
+vn 0.930790 0.156349 0.330433
+vn 0.567719 0.465297 0.679112
+vn 0.842165 0.454910 0.289510
+vn -0.845369 0.438760 -0.304698
+vn -0.069160 0.997452 0.017505
+vn -0.492045 0.139474 -0.859325
+vn 0.275514 0.413209 -0.867958
+vn 0.749611 0.527970 0.399164
+vn 0.929783 0.232288 -0.285562
+vn -0.069160 0.997452 0.017505
+vn 0.275514 0.413209 -0.867958
+vn -0.861414 0.412531 -0.296284
+vn -0.942966 0.328893 -0.051430
+vn -0.891430 0.284746 -0.352523
+vn -0.915387 0.011667 -0.402405
+vn 0.404322 0.474989 0.781607
+vn 0.749611 0.527970 0.399164
+vn -0.289202 0.679932 0.673836
+vn -0.069160 0.997452 0.017505
+vn 0.901895 0.174351 -0.395204
+vn -0.010853 0.950486 -0.310579
+vn 0.255177 0.397104 -0.881586
+vn -0.296326 0.468561 -0.832251
+vn -0.868880 0.426990 0.250452
+vn -0.289202 0.679932 0.673836
+vn -0.845369 0.438760 -0.304698
+vn -0.069160 0.997452 0.017505
+vn -0.931432 0.029722 -0.362701
+vn -0.882806 0.325883 -0.338311
+vn -0.917144 0.393661 0.062275
+vn -0.817029 0.393944 -0.421036
+vn -0.166226 0.921341 0.351426
+vn -0.003765 0.999979 0.005239
+vn 0.303309 0.640646 0.705391
+vn 0.840590 0.483194 0.244809
+vn -0.311741 0.563550 0.765003
+vn -0.166226 0.921341 0.351426
+vn -0.278617 0.557459 0.782056
+vn 0.303309 0.640646 0.705391
+vn -0.116961 0.942945 0.311730
+vn -0.278617 0.557459 0.782056
+vn -0.137752 0.956264 0.258036
+vn -0.448293 0.487287 0.749390
+vn -0.526449 0.822507 -0.215252
+vn -0.514184 0.820920 -0.248405
+vn 0.133170 0.986734 0.092852
+vn 0.160298 0.986954 0.015016
+vn -0.526449 0.822507 -0.215252
+vn 0.133170 0.986734 0.092852
+vn -0.535664 0.827524 -0.168129
+vn 0.124092 0.975090 0.183848
+vn -0.863418 0.470071 0.183145
+vn -0.911132 0.406637 0.066973
+vn -0.845257 0.486039 0.222053
+vn -0.911370 0.411199 -0.017885
+vn -0.714737 0.390191 0.580433
+vn -0.845257 0.486039 0.222053
+vn -0.437228 0.659166 0.611826
+vn -0.740024 0.660489 0.126957
+vn -0.189793 0.110222 0.975618
+vn 0.006009 0.203368 0.979084
+vn 0.327918 -0.202227 0.922808
+vn 0.290809 0.170947 0.941386
+vn 0.020534 -0.362323 0.931827
+vn 0.327918 -0.202227 0.922808
+vn 0.762647 0.031448 0.646050
+vn 0.290809 0.170947 0.941386
+vn -0.206447 -0.389705 0.897502
+vn 0.925683 -0.185058 0.329946
+vn -0.003133 -0.878618 0.477514
+vn 0.988449 -0.140208 0.057530
+vn -0.354162 -0.610805 0.708157
+vn -0.003133 -0.878618 0.477514
+vn -0.391869 -0.771818 0.500734
+vn -0.484618 -0.750862 0.448722
+vn -0.172553 -0.866668 0.468094
+vn -0.332550 -0.902410 0.273982
+vn -0.298187 -0.935435 0.189858
+vn -0.358108 -0.916648 0.177528
+vn -0.172553 -0.866668 0.468094
+vn -0.298187 -0.935435 0.189858
+vn -0.172033 -0.964490 0.200409
+vn -0.361101 -0.915358 0.178119
+vn -0.979961 0.156881 -0.122742
+vn -0.980184 0.063379 -0.187675
+vn -0.901224 0.426557 -0.076456
+vn -0.937745 0.330421 -0.107033
+vn -0.953078 0.288863 -0.090558
+vn -0.936551 0.346598 -0.052362
+vn -0.982292 0.154659 -0.105750
+vn -0.993913 0.088405 0.065743
+vn -0.886272 0.457655 -0.071227
+vn -0.901224 0.426557 -0.076456
+vn -0.896812 0.434204 -0.084831
+vn -0.910979 0.392972 -0.125262
+vn -0.923079 0.379229 -0.064115
+vn -0.962096 0.255882 -0.094314
+vn -0.772796 0.604966 -0.191838
+vn -0.766765 0.625850 -0.142770
+vn -0.735320 0.652731 -0.182338
+vn -0.742114 0.648121 -0.170896
+vn -0.967023 0.174687 -0.185338
+vn -0.831764 0.527148 -0.174022
+vn -0.944920 0.278170 -0.172476
+vn -0.942752 0.268952 -0.197191
+vn -0.893314 0.414719 -0.173203
+vn -0.956492 0.189753 -0.221622
+vn -0.956492 0.189753 -0.221622
+vn -0.893314 0.414719 -0.173203
+vn -0.975526 0.120357 -0.184020
+vn -0.910979 0.392972 -0.125262
+vn 0.244953 -0.798283 0.550221
+vn -0.162026 -0.928527 0.334045
+vn 0.196145 -0.663107 0.722369
+vn -0.457056 -0.772194 0.441381
+vn 0.019986 -0.964498 0.263333
+vn 0.025542 -0.981951 0.187405
+vn -0.162026 -0.928527 0.334045
+vn -0.433849 -0.874006 0.218834
+vn 0.244953 -0.798283 0.550221
+vn 0.196145 -0.663107 0.722369
+vn 0.747892 -0.256115 0.612424
+vn 0.570201 -0.085696 0.817023
+vn 0.747892 -0.256115 0.612424
+vn 0.823751 0.089751 0.559803
+vn 0.970140 -0.146616 0.193214
+vn 0.995353 -0.049680 0.082492
+vn 0.970140 -0.146616 0.193214
+vn 0.995353 -0.049680 0.082492
+vn 0.952970 -0.300804 0.036952
+vn 0.951267 -0.236542 -0.197836
+vn 0.952970 -0.300804 0.036952
+vn 0.669680 -0.651512 -0.356455
+vn 0.746015 -0.630487 0.214355
+vn 0.278749 -0.882358 -0.379135
+vn 0.278749 -0.882358 -0.379135
+vn 0.034626 -0.876606 -0.479962
+vn -0.619942 -0.744190 -0.248703
+vn -0.655098 -0.681031 -0.327174
+vn 0.974830 0.213126 -0.065456
+vn 0.857758 0.429569 0.282350
+vn 0.997472 0.014766 0.069513
+vn 0.806009 0.323683 0.495559
+vn 0.734046 0.366383 0.571787
+vn 0.991879 -0.041944 0.120074
+vn 0.806009 0.323683 0.495559
+vn 0.997472 0.014766 0.069513
+vn 0.047614 0.626643 0.777851
+vn -0.006625 0.732093 0.681173
+vn 0.704940 0.435791 0.559594
+vn 0.693221 0.525207 0.493560
+vn 0.953428 -0.005535 -0.301569
+vn 0.974830 0.213126 -0.065456
+vn 0.944181 -0.248427 -0.216346
+vn 0.997472 0.014766 0.069513
+vn 0.953428 -0.005535 -0.301569
+vn 0.711398 -0.364202 -0.601058
+vn 0.875741 0.309345 -0.370652
+vn 0.708749 -0.119292 -0.695302
+vn 0.970288 0.228515 -0.079516
+vn 0.875741 0.309345 -0.370652
+vn 0.909617 -0.087707 -0.406084
+vn 0.708749 -0.119292 -0.695302
+vn 0.970288 0.228515 -0.079516
+vn 0.991684 0.110790 0.065479
+vn 0.944740 0.321101 0.066041
+vn 0.983308 0.166232 0.073973
+vn 0.641376 0.760988 -0.097644
+vn 0.625464 0.766041 -0.148246
+vn 0.446569 0.886516 -0.121102
+vn 0.433118 0.855908 -0.282542
+vn 0.800030 0.599577 0.021432
+vn 0.761389 0.648206 -0.010797
+vn 0.641376 0.760988 -0.097644
+vn 0.625464 0.766041 -0.148246
+vn 0.761389 0.648206 -0.010797
+vn 0.944740 0.321101 0.066041
+vn 0.702189 0.588239 0.401131
+vn 0.983308 0.166232 0.073973
+vn -0.286394 0.949265 -0.129902
+vn -0.271194 0.920889 -0.280031
+vn -0.577621 0.810865 -0.094079
+vn -0.469968 0.845785 -0.252543
+vn 0.000000 0.955885 -0.293741
+vn 0.253848 0.923674 -0.287033
+vn 0.000000 0.885897 -0.463882
+vn 0.254775 0.852060 -0.457257
+vn 0.253848 0.923674 -0.287033
+vn 0.433118 0.855908 -0.282542
+vn 0.254775 0.852060 -0.457257
+vn 0.506867 0.743158 -0.436809
+vn -0.911132 0.406637 0.066973
+vn -0.847059 0.530493 0.032681
+vn -0.960233 0.269891 0.071501
+vn -0.874747 0.465599 0.134294
+vn -0.853143 0.426345 -0.300628
+vn -0.944920 0.278170 -0.172476
+vn -0.973585 0.140438 -0.180026
+vn -0.967023 0.174687 -0.185338
+vn 0.928833 0.369458 0.027739
+vn 0.946597 0.273061 0.171440
+vn 0.645302 0.748698 0.151779
+vn 0.907926 0.347132 0.234881
+vn -0.053053 0.964277 -0.259530
+vn 0.046370 0.488034 -0.871592
+vn 0.928833 0.369458 0.027739
+vn 0.966024 0.199941 -0.163773
+vn 0.930486 -0.364575 0.035781
+vn 0.966387 -0.164751 -0.197367
+vn 0.037107 -0.968444 -0.246454
+vn 0.203171 -0.345965 -0.915986
+vn -0.158586 -0.715744 0.680119
+vn -0.881226 -0.430174 0.195935
+vn -0.118760 -0.868474 0.481299
+vn -0.670872 -0.710776 0.211490
+vn -0.806005 -0.240815 -0.540707
+vn 0.203171 -0.345965 -0.915986
+vn -0.635621 -0.657437 -0.404675
+vn 0.105596 -0.850791 -0.514785
+vn -0.793786 -0.231813 -0.562287
+vn 0.236958 -0.316494 -0.918522
+vn -0.630221 -0.635905 -0.445472
+vn 0.133471 -0.826416 -0.547012
+vn 0.236958 -0.316494 -0.918522
+vn 0.066193 -0.951432 -0.300660
+vn 0.967558 -0.152613 -0.201349
+vn 0.939631 -0.341456 0.022407
+vn -0.152849 -0.858881 0.488837
+vn -0.685096 -0.694279 0.220503
+vn -0.041340 -0.994908 0.091916
+vn -0.703662 -0.706993 -0.070852
+vn -0.703662 -0.706993 -0.070852
+vn -0.630221 -0.635905 -0.445472
+vn -0.041340 -0.994908 0.091916
+vn 0.133471 -0.826416 -0.547012
+vn 0.243674 -0.670962 -0.700309
+vn 0.344350 -0.196976 -0.917945
+vn 0.828963 -0.472641 -0.299049
+vn 0.961411 -0.107436 -0.253271
+vn 0.961411 -0.107436 -0.253271
+vn 0.951558 -0.307468 -0.001356
+vn 0.964673 -0.168078 0.202871
+vn 0.974082 -0.068452 0.215591
+vn 0.768279 -0.585100 0.259624
+vn 0.736359 -0.511340 0.443066
+vn 0.796130 -0.552237 0.247411
+vn 0.971602 -0.077361 0.223619
+vn 0.014244 -0.997712 -0.066086
+vn 0.745094 -0.656775 0.116113
+vn -0.171632 -0.883416 0.436026
+vn 0.535291 -0.700021 0.472689
+vn -0.853146 -0.279892 -0.440229
+vn -0.650532 -0.742604 -0.159211
+vn 0.165149 -0.665978 -0.727461
+vn -0.005947 -0.999161 -0.040521
+vn -0.129537 -0.880903 0.455226
+vn -0.879794 -0.466353 0.092075
+vn -0.199233 -0.630705 0.750011
+vn -0.876919 -0.404241 0.260003
+vn 0.006059 -0.999002 -0.044250
+vn 0.680900 -0.725006 0.103647
+vn 0.152900 -0.827853 -0.539704
+vn 0.955680 -0.287255 -0.064501
+vn -0.232347 -0.714943 0.659447
+vn -0.155371 -0.896006 0.415972
+vn 0.771202 -0.362962 0.522978
+vn 0.600534 -0.675223 0.428291
+vn -0.779873 -0.176014 -0.600681
+vn 0.305566 -0.207318 -0.929327
+vn -0.626358 -0.544035 -0.558303
+vn 0.203332 -0.709112 -0.675141
+vn 0.973449 -0.099447 -0.206171
+vn 0.305566 -0.207318 -0.929327
+vn 0.966258 -0.256233 -0.026252
+vn 0.178670 -0.835190 -0.520130
+vn 0.775479 -0.494405 0.392677
+vn 0.769738 -0.621354 0.146365
+vn 0.660697 -0.744657 0.094684
+vn 0.793253 -0.588528 0.156153
+vn 0.775479 -0.494405 0.392677
+vn 0.706872 -0.409539 0.576723
+vn 0.974082 -0.068452 0.215591
+vn 0.964673 -0.168078 0.202871
+vn 0.706872 -0.409539 0.576723
+vn 0.535291 -0.700021 0.472689
+vn 0.964673 -0.168078 0.202871
+vn 0.745094 -0.656775 0.116113
+vn -0.861018 -0.213942 -0.461386
+vn -0.690966 -0.704731 -0.160999
+vn 0.243725 -0.420691 -0.873852
+vn -0.017493 -0.999124 -0.038028
+vn -0.916337 -0.388635 0.096382
+vn -0.189823 -0.805930 0.560753
+vn -0.690966 -0.704731 -0.160999
+vn -0.017493 -0.999124 -0.038028
+vn -0.216151 -0.821108 0.528261
+vn -0.923771 -0.375143 0.076903
+vn -0.272749 -0.614472 0.740292
+vn -0.916499 -0.349951 0.193816
+vn -0.962493 -0.183926 -0.199445
+vn -0.620252 -0.105698 -0.777248
+vn -0.762530 -0.612735 -0.207613
+vn -0.529088 -0.396284 -0.750349
+vn -0.039842 -0.999077 -0.016046
+vn 0.737434 -0.662925 0.129310
+vn 0.193675 -0.607261 -0.770535
+vn 0.964440 -0.230555 -0.129225
+vn -0.286636 -0.512798 0.809245
+vn 0.600640 -0.368366 0.709604
+vn -0.278440 -0.745981 0.604965
+vn 0.724872 -0.553715 0.409829
+vn -0.876963 -0.335922 0.343646
+vn -0.752108 -0.587893 0.297852
+vn -0.286636 -0.512798 0.809245
+vn -0.227701 -0.791296 0.567454
+vn 0.072501 -0.996781 -0.034234
+vn 0.371080 -0.927873 0.036764
+vn 0.073077 -0.996713 -0.034966
+vn 0.365062 -0.930326 0.034971
+vn 0.073077 -0.996713 -0.034966
+vn 0.365062 -0.930326 0.034971
+vn 0.072814 -0.996762 -0.034104
+vn 0.357227 -0.933417 0.033499
+vn 0.071827 -0.996870 -0.033022
+vn 0.072814 -0.996762 -0.034104
+vn 0.348825 -0.936643 0.031956
+vn 0.357227 -0.933417 0.033499
+vn 0.339618 -0.940261 0.023837
+vn 0.341514 -0.939396 0.030055
+vn 0.900010 -0.399814 0.173582
+vn 0.873905 -0.444969 0.195686
+vn 0.339618 -0.940261 0.023837
+vn 0.900010 -0.399814 0.173582
+vn 0.349152 -0.936943 0.015211
+vn 0.877024 -0.459836 0.139208
+vn 0.366078 -0.930457 0.015397
+vn 0.349152 -0.936943 0.015211
+vn 0.829819 -0.537407 0.150310
+vn 0.877024 -0.459836 0.139208
+vn 0.379562 -0.924867 0.023528
+vn 0.366078 -0.930457 0.015397
+vn 0.861958 -0.473774 0.180464
+vn 0.829819 -0.537407 0.150310
+vn 0.388513 -0.920881 0.032173
+vn 0.379562 -0.924867 0.023528
+vn 0.887581 -0.428464 0.169171
+vn 0.861958 -0.473774 0.180464
+vn 0.075587 -0.996719 -0.028955
+vn 0.398826 -0.915890 0.045642
+vn 0.074720 -0.996734 -0.030618
+vn 0.391301 -0.919262 0.042916
+vn 0.074720 -0.996734 -0.030618
+vn 0.391301 -0.919262 0.042916
+vn 0.072937 -0.996824 -0.031977
+vn 0.380457 -0.923937 0.039901
+vn 0.921039 -0.361483 0.144975
+vn 0.935295 -0.320290 0.150459
+vn 0.964440 -0.230555 -0.129225
+vn 0.974774 -0.065877 0.213249
+vn 0.426977 -0.902699 0.053160
+vn 0.921039 -0.361483 0.144975
+vn 0.416166 -0.907604 0.055331
+vn 0.885310 -0.433753 0.167587
+vn 0.796130 -0.552237 0.247411
+vn 0.971602 -0.077361 0.223619
+vn 0.753595 -0.617676 0.224878
+vn 0.939631 -0.341456 0.022407
+vn 0.753595 -0.617676 0.224878
+vn 0.939631 -0.341456 0.022407
+vn 0.656569 -0.716859 0.234586
+vn 0.513553 -0.832225 0.208961
+vn 0.860656 -0.482528 0.162596
+vn 0.974082 -0.068452 0.215591
+vn 0.821710 -0.537549 0.189299
+vn 0.951558 -0.307468 -0.001356
+vn 0.769738 -0.621354 0.146365
+vn 0.775479 -0.494405 0.392677
+vn 0.860656 -0.482528 0.162596
+vn 0.974082 -0.068452 0.215591
+vn 0.656569 -0.716859 0.234586
+vn 0.513553 -0.832225 0.208961
+vn 0.683726 -0.684035 0.254194
+vn 0.717272 -0.536511 0.444609
+vn -0.563773 0.776209 -0.282240
+vn -0.585146 0.757448 -0.289616
+vn 0.137137 0.990205 -0.026224
+vn 0.121601 0.992037 -0.032790
+vn 0.777779 0.575966 0.251641
+vn 0.783972 0.566180 0.254616
+vn 0.121601 0.992037 -0.032790
+vn 0.137137 0.990205 -0.026224
+vn 0.771391 0.585901 0.248345
+vn 0.921859 0.192533 0.336315
+vn 0.777779 0.575966 0.251641
+vn 0.922377 0.189070 0.336857
+vn 0.034983 0.991866 -0.122383
+vn 0.035263 0.991480 -0.125394
+vn 0.164248 0.984841 -0.055781
+vn 0.201662 0.978145 -0.050642
+vn 0.034983 0.991866 -0.122383
+vn -0.018127 0.989941 -0.140314
+vn -0.096237 0.985332 -0.140924
+vn -0.109479 0.985439 -0.130093
+vn -0.920641 0.301706 -0.247777
+vn -0.923405 0.293362 -0.247510
+vn -0.805879 0.539640 -0.243612
+vn -0.815302 0.524759 -0.244768
+vn -0.805879 0.539640 -0.243612
+vn -0.815302 0.524759 -0.244768
+vn -0.479661 0.854039 -0.201354
+vn -0.502750 0.841637 -0.197206
+vn -0.479661 0.854039 -0.201354
+vn -0.502750 0.841637 -0.197206
+vn -0.243309 0.956326 -0.161990
+vn -0.274377 0.949060 -0.154925
+vn 0.713387 0.402805 0.573435
+vn 0.907926 0.347132 0.234881
+vn 0.560110 0.772471 0.299275
+vn 0.624185 0.768845 0.138817
+vn -0.645764 0.733530 -0.211950
+vn -0.652957 0.726787 -0.213138
+vn -0.920641 0.301706 -0.247777
+vn -0.923405 0.293362 -0.247510
+vn -0.920729 0.007312 -0.390135
+vn -0.920773 0.066853 -0.384329
+vn -0.922264 0.385605 0.027162
+vn -0.915221 0.236230 -0.326445
+vn 0.305411 0.600304 -0.739161
+vn -0.571451 0.263476 -0.777190
+vn -0.085776 0.992406 0.088161
+vn -0.847960 0.437869 -0.298720
+vn -0.808208 0.196704 -0.555074
+vn -0.913069 0.135296 -0.384708
+vn -0.920729 0.007312 -0.390135
+vn -0.920773 0.066853 -0.384329
+vn -0.907158 0.275212 -0.318311
+vn -0.639566 0.761664 -0.104035
+vn -0.913069 0.135296 -0.384708
+vn -0.659229 0.740088 -0.132991
+vn -0.922264 0.385605 0.027162
+vn -0.915221 0.236230 -0.326445
+vn -0.661261 0.723292 -0.198954
+vn -0.859341 0.377127 -0.345411
+vn -0.661261 0.723292 -0.198954
+vn -0.859341 0.377127 -0.345411
+vn -0.782571 0.152434 -0.603612
+vn -0.866983 0.339248 -0.365036
+vn -0.571326 0.814573 -0.100285
+vn -0.916740 0.108060 -0.384592
+vn -0.541613 0.831991 -0.120192
+vn -0.883471 0.139515 -0.447230
+vn -0.535664 0.827524 -0.168129
+vn 0.124092 0.975090 0.183848
+vn -0.541613 0.831991 -0.120192
+vn 0.142975 0.962043 0.232447
+vn -0.632354 0.022331 -0.774357
+vn -0.595140 0.250382 -0.763621
+vn 0.321551 0.060504 -0.944957
+vn 0.240231 0.594760 -0.767170
+vn -0.003765 0.999979 0.005239
+vn -0.834398 0.485073 -0.261696
+vn 0.168249 0.912631 -0.372554
+vn -0.487715 0.340954 -0.803669
+vn -0.834398 0.485073 -0.261696
+vn -0.935081 0.170405 -0.310783
+vn -0.487715 0.340954 -0.803669
+vn -0.633989 0.051668 -0.771614
+vn -0.854770 0.473593 0.212318
+vn -0.166038 0.759846 0.628543
+vn -0.847931 0.438232 -0.298270
+vn 0.023498 0.997047 -0.073113
+vn 0.567719 0.465297 0.679112
+vn 0.842165 0.454910 0.289510
+vn -0.166038 0.759846 0.628543
+vn 0.023498 0.997047 -0.073113
+vn -0.773106 0.147549 -0.616876
+vn -0.855756 0.382230 -0.348687
+vn -0.931432 0.029722 -0.362701
+vn -0.882806 0.325883 -0.338311
+vn -0.861414 0.412531 -0.296284
+vn -0.891430 0.284746 -0.352523
+vn -0.311923 0.948811 -0.049612
+vn -0.485965 0.870545 -0.077392
+vn -0.861414 0.412531 -0.296284
+vn -0.311923 0.948811 -0.049612
+vn -0.804399 0.521969 -0.283707
+vn -0.288198 0.957383 0.018985
+vn -0.804399 0.521969 -0.283707
+vn -0.288198 0.957383 0.018985
+vn -0.855756 0.382230 -0.348687
+vn -0.309357 0.950275 0.035718
+vn -0.915387 0.011667 -0.402405
+vn -0.913567 0.070681 -0.400498
+vn -0.782571 0.152434 -0.603612
+vn -0.632354 0.022331 -0.774357
+vn -0.913567 0.070681 -0.400498
+vn -0.846626 0.423834 -0.321853
+vn -0.632354 0.022331 -0.774357
+vn -0.595140 0.250382 -0.763621
+vn -0.891430 0.284746 -0.352523
+vn -0.915387 0.011667 -0.402405
+vn -0.866983 0.339248 -0.365036
+vn -0.782571 0.152434 -0.603612
+vn 0.967801 0.037262 -0.248943
+vn 0.939947 0.203661 -0.273901
+vn 0.930790 0.156349 0.330433
+vn 0.842165 0.454910 0.289510
+vn 0.901895 0.174351 -0.395204
+vn 0.281330 -0.017101 -0.959459
+vn 0.967801 0.037262 -0.248943
+vn 0.287537 -0.026317 -0.957408
+vn 0.901895 0.174351 -0.395204
+vn 0.255177 0.397104 -0.881586
+vn 0.281330 -0.017101 -0.959459
+vn 0.259271 0.332001 -0.906948
+vn -0.882806 0.325883 -0.338311
+vn -0.317393 0.947906 -0.027120
+vn -0.817029 0.393944 -0.421036
+vn -0.214149 0.929527 -0.300201
+vn -0.817029 0.393944 -0.421036
+vn -0.214149 0.929527 -0.300201
+vn -0.296326 0.468561 -0.832251
+vn 0.255177 0.397104 -0.881586
+vn -0.519309 0.812258 -0.265620
+vn -0.541139 0.795038 -0.274011
+vn 0.166961 0.985887 -0.012272
+vn 0.153175 0.988016 -0.019012
+vn -0.541139 0.795038 -0.274011
+vn -0.563773 0.776209 -0.282240
+vn 0.153175 0.988016 -0.019012
+vn 0.137137 0.990205 -0.026224
+vn -0.514184 0.820920 -0.248405
+vn -0.519309 0.812258 -0.265620
+vn 0.160298 0.986954 0.015016
+vn 0.166961 0.985887 -0.012272
+vn -0.343104 0.463693 0.816865
+vn -0.437228 0.659166 0.611826
+vn -0.818108 0.433162 0.378246
+vn -0.740024 0.660489 0.126957
+vn -0.223050 0.374576 0.899967
+vn -0.343104 0.463693 0.816865
+vn -0.790469 0.364539 0.492210
+vn -0.818108 0.433162 0.378246
+vn 0.006009 0.203368 0.979084
+vn -0.223050 0.374576 0.899967
+vn -0.737747 0.246663 0.628400
+vn -0.790469 0.364539 0.492210
+vn 0.925683 -0.185058 0.329946
+vn 0.762647 0.031448 0.646050
+vn 0.988449 -0.140208 0.057530
+vn 0.791135 0.252472 0.557102
+vn -0.332550 -0.902410 0.273982
+vn -0.391869 -0.771818 0.500734
+vn -0.564956 -0.801669 0.195325
+vn -0.484618 -0.750862 0.448722
+vn 0.025542 -0.981951 0.187405
+vn -0.172033 -0.964490 0.200409
+vn 0.203778 -0.968751 0.141404
+vn -0.094645 -0.981381 0.167133
+vn -0.937745 0.330421 -0.107033
+vn -0.985135 0.138771 -0.101255
+vn -0.901224 0.426557 -0.076456
+vn -0.960980 0.251215 -0.115795
+vn -0.896812 0.434204 -0.084831
+vn -0.901224 0.426557 -0.076456
+vn -0.960980 0.251215 -0.115795
+vn -0.910979 0.392972 -0.125262
+vn -0.886272 0.457655 -0.071227
+vn -0.923079 0.379229 -0.064115
+vn -0.929313 0.354562 -0.103261
+vn -0.886272 0.457655 -0.071227
+vn -0.937204 0.336069 -0.093312
+vn -0.929313 0.354562 -0.103261
+vn -0.772796 0.604966 -0.191838
+vn -0.955087 0.198946 -0.219611
+vn -0.947109 0.250527 -0.200552
+vn -0.894793 0.397793 -0.202746
+vn -0.960613 0.217003 -0.173585
+vn -0.742114 0.648121 -0.170896
+vn -0.967023 0.174687 -0.185338
+vn -0.772796 0.604966 -0.191838
+vn -0.947109 0.250527 -0.200552
+vn -0.894793 0.397793 -0.202746
+vn -0.960613 0.217003 -0.173585
+vn -0.955087 0.198946 -0.219611
+vn -0.772796 0.604966 -0.191838
+vn -0.971661 0.133438 -0.195111
+vn -0.735320 0.652731 -0.182338
+vn -0.971661 0.133438 -0.195111
+vn -0.735320 0.652731 -0.182338
+vn -0.963152 0.205946 -0.172989
+vn -0.963152 0.205946 -0.172989
+vn -0.735320 0.652731 -0.182338
+vn -0.942752 0.268952 -0.197191
+vn -0.893314 0.414719 -0.173203
+vn -0.975526 0.120357 -0.184020
+vn -0.980059 0.085286 -0.179475
+vn -0.956492 0.189753 -0.221622
+vn -0.874346 0.272889 -0.401312
+vn -0.962096 0.255882 -0.094314
+vn -0.925371 0.362938 0.109380
+vn -0.975526 0.120357 -0.184020
+vn -0.980059 0.085286 -0.179475
+vn -0.936551 0.346598 -0.052362
+vn -0.210709 0.961733 0.175133
+vn -0.993913 0.088405 0.065743
+vn -0.907196 0.318341 0.275054
+vn -0.137752 0.956264 0.258036
+vn -0.448293 0.487287 0.749390
+vn -0.228585 0.951240 0.207104
+vn -0.719119 0.438275 0.539242
+vn -0.228585 0.951240 0.207104
+vn -0.719119 0.438275 0.539242
+vn -0.210709 0.961733 0.175133
+vn -0.907196 0.318341 0.275054
+vn 0.747892 -0.256115 0.612424
+vn 0.570201 -0.085696 0.817023
+vn 0.823751 0.089751 0.559803
+vn 0.664225 0.171408 0.727616
+vn 0.952970 -0.300804 0.036952
+vn 0.951267 -0.236542 -0.197836
+vn 0.669680 -0.651512 -0.356455
+vn 0.718045 -0.506404 -0.477458
+vn -0.006625 0.732093 0.681173
+vn -0.711783 0.467317 0.524385
+vn -0.029251 0.845343 0.533422
+vn -0.716198 0.575457 0.394854
+vn -0.711783 0.467317 0.524385
+vn -0.990812 -0.117397 0.067149
+vn -0.716198 0.575457 0.394854
+vn -0.996591 -0.075409 0.033457
+vn -0.990812 -0.117397 0.067149
+vn -0.655098 -0.681031 -0.327174
+vn -0.996591 -0.075409 0.033457
+vn -0.645037 -0.707081 -0.289764
+vn 0.278749 -0.882358 -0.379135
+vn 0.774611 -0.569866 -0.274283
+vn 0.034626 -0.876606 -0.479962
+vn 0.725444 -0.615825 -0.307393
+vn 0.278749 -0.882358 -0.379135
+vn 0.669680 -0.651512 -0.356455
+vn 0.774611 -0.569866 -0.274283
+vn 0.891163 -0.405983 -0.202501
+vn 0.991879 -0.041944 0.120074
+vn 0.734046 0.366383 0.571787
+vn 0.992308 -0.052410 0.112149
+vn 0.704940 0.435791 0.559594
+vn 0.944181 -0.248427 -0.216346
+vn 0.718045 -0.506404 -0.477458
+vn 0.953428 -0.005535 -0.301569
+vn 0.711398 -0.364202 -0.601058
+vn 0.909617 -0.087707 -0.406084
+vn 0.999721 0.007193 -0.022516
+vn 0.970288 0.228515 -0.079516
+vn 0.991684 0.110790 0.065479
+vn 0.761389 0.648206 -0.010797
+vn 0.702189 0.588239 0.401131
+vn 0.777524 0.617602 0.118423
+vn 0.601033 0.636199 0.483746
+vn 0.000000 0.955885 -0.293741
+vn 0.000000 0.885897 -0.463882
+vn -0.271194 0.920889 -0.280031
+vn -0.262500 0.848417 -0.459654
+vn 0.625464 0.766041 -0.148246
+vn 0.709667 0.663398 -0.237226
+vn 0.433118 0.855908 -0.282542
+vn 0.682002 0.645880 -0.343091
+vn -0.847059 0.530493 0.032681
+vn -0.767679 0.640562 -0.018697
+vn -0.874747 0.465599 0.134294
+vn -0.821854 0.567451 0.050547
+vn -0.767679 0.640562 -0.018697
+vn -0.577621 0.810865 -0.094079
+vn -0.687552 0.719688 -0.096543
+vn -0.469968 0.845785 -0.252543
+vn -0.911132 0.406637 0.066973
+vn -0.960233 0.269891 0.071501
+vn -0.911370 0.411199 -0.017885
+vn -0.967682 0.236333 -0.087969
+vn -0.853143 0.426345 -0.300628
+vn -0.973585 0.140438 -0.180026
+vn -0.825536 0.279310 -0.490384
+vn -0.940677 0.283994 -0.185675
+vn 0.928833 0.369458 0.027739
+vn 0.974473 0.065722 0.214668
+vn 0.946597 0.273061 0.171440
+vn 0.955021 0.224620 0.193599
+vn -0.825536 0.279310 -0.490384
+vn -0.629528 0.629329 -0.455675
+vn 0.046370 0.488034 -0.871592
+vn 0.014826 0.803509 -0.595107
+vn 0.966387 -0.164751 -0.197367
+vn 0.930486 -0.364575 0.035781
+vn 0.954873 -0.194391 0.224567
+vn 0.970037 -0.089199 0.225990
+vn -0.158586 -0.715744 0.680119
+vn -0.118760 -0.868474 0.481299
+vn 0.750799 -0.386900 0.535359
+vn 0.537277 -0.702769 0.466314
+vn 0.966387 -0.164751 -0.197367
+vn 0.762014 -0.632439 -0.139127
+vn 0.203171 -0.345965 -0.915986
+vn 0.105596 -0.850791 -0.514785
+vn -0.118760 -0.868474 0.481299
+vn -0.670872 -0.710776 0.211490
+vn -0.038667 -0.994699 0.095284
+vn -0.692261 -0.718818 -0.063831
+vn -0.692261 -0.718818 -0.063831
+vn -0.635621 -0.657437 -0.404675
+vn -0.038667 -0.994699 0.095284
+vn 0.105596 -0.850791 -0.514785
+vn 0.717272 -0.536511 0.444609
+vn 0.750799 -0.386900 0.535359
+vn 0.970037 -0.089199 0.225990
+vn 0.954873 -0.194391 0.224567
+vn 0.967558 -0.152613 -0.201349
+vn 0.780414 -0.603640 -0.163011
+vn 0.236958 -0.316494 -0.918522
+vn 0.133471 -0.826416 -0.547012
+vn 0.733073 -0.391150 0.556423
+vn 0.522664 -0.699217 0.487769
+vn 0.956324 -0.186311 0.225240
+vn 0.686426 -0.696374 0.209484
+vn -0.152849 -0.858881 0.488837
+vn -0.041340 -0.994908 0.091916
+vn 0.522664 -0.699217 0.487769
+vn 0.686426 -0.696374 0.209484
+vn 0.243674 -0.670962 -0.700309
+vn 0.828963 -0.472641 -0.299049
+vn 0.014244 -0.997712 -0.066086
+vn 0.745094 -0.656775 0.116113
+vn 0.828963 -0.472641 -0.299049
+vn 0.961411 -0.107436 -0.253271
+vn 0.745094 -0.656775 0.116113
+vn 0.964673 -0.168078 0.202871
+vn 0.971602 -0.077361 0.223619
+vn 0.956324 -0.186311 0.225240
+vn 0.939631 -0.341456 0.022407
+vn 0.967558 -0.152613 -0.201349
+vn -0.977780 -0.103973 -0.182035
+vn -0.853146 -0.279892 -0.440229
+vn -0.961627 -0.197161 -0.190792
+vn -0.747140 -0.100527 -0.657021
+vn -0.853146 -0.279892 -0.440229
+vn 0.165149 -0.665978 -0.727461
+vn -0.747140 -0.100527 -0.657021
+vn 0.242166 -0.052388 -0.968820
+vn -0.129537 -0.880903 0.455226
+vn -0.199233 -0.630705 0.750011
+vn 0.786961 -0.429164 0.443294
+vn 0.688350 -0.374452 0.621257
+vn -0.005947 -0.999161 -0.040521
+vn -0.129537 -0.880903 0.455226
+vn 0.707826 -0.697487 0.111773
+vn 0.786961 -0.429164 0.443294
+vn -0.876919 -0.404241 0.260003
+vn -0.725477 -0.645132 0.239766
+vn -0.199233 -0.630705 0.750011
+vn -0.152133 -0.848005 0.507685
+vn -0.876919 -0.404241 0.260003
+vn -0.959020 -0.211555 -0.188479
+vn -0.725477 -0.645132 0.239766
+vn -0.750474 -0.631410 -0.195219
+vn -0.959020 -0.211555 -0.188479
+vn -0.714384 -0.136786 -0.686254
+vn -0.750474 -0.631410 -0.195219
+vn -0.584350 -0.417581 -0.695817
+vn -0.714384 -0.136786 -0.686254
+vn 0.275713 -0.098445 -0.956186
+vn -0.584350 -0.417581 -0.695817
+vn 0.202575 -0.562863 -0.801342
+vn 0.275713 -0.098445 -0.956186
+vn 0.152900 -0.827853 -0.539704
+vn 0.944724 -0.063309 -0.321696
+vn 0.955680 -0.287255 -0.064501
+vn 0.814805 -0.440382 0.377037
+vn 0.861958 -0.473774 0.180464
+vn 0.680900 -0.725006 0.103647
+vn 0.829819 -0.537407 0.150310
+vn 0.814805 -0.440382 0.377037
+vn 0.771202 -0.362962 0.522978
+vn 0.974980 -0.061882 0.213506
+vn 0.967090 -0.154450 0.202194
+vn -0.155371 -0.896006 0.415972
+vn -0.734459 -0.667724 0.121303
+vn 0.001107 -0.997735 -0.067261
+vn -0.731018 -0.654805 -0.191945
+vn -0.731018 -0.654805 -0.191945
+vn -0.626358 -0.544035 -0.558303
+vn 0.001107 -0.997735 -0.067261
+vn 0.203332 -0.709112 -0.675141
+vn 0.973449 -0.099447 -0.206171
+vn 0.837130 -0.492230 -0.238584
+vn 0.305566 -0.207318 -0.929327
+vn 0.203332 -0.709112 -0.675141
+vn 0.966258 -0.256233 -0.026252
+vn 0.660697 -0.744657 0.094684
+vn 0.866453 -0.479331 0.139645
+vn 0.793253 -0.588528 0.156153
+vn -0.916337 -0.388635 0.096382
+vn -0.977780 -0.103973 -0.182035
+vn -0.904013 -0.365907 0.221073
+vn -0.961627 -0.197161 -0.190792
+vn -0.861018 -0.213942 -0.461386
+vn 0.243725 -0.420691 -0.873852
+vn -0.742937 -0.068841 -0.665812
+vn 0.282923 0.003043 -0.959138
+vn -0.189823 -0.805930 0.560753
+vn -0.916337 -0.388635 0.096382
+vn -0.235684 -0.610849 0.755855
+vn -0.904013 -0.365907 0.221073
+vn -0.216151 -0.821108 0.528261
+vn -0.272749 -0.614472 0.740292
+vn 0.820723 -0.357059 0.446008
+vn 0.743021 -0.329868 0.582328
+vn -0.039842 -0.999077 -0.016046
+vn -0.216151 -0.821108 0.528261
+vn 0.737434 -0.662925 0.129310
+vn 0.820723 -0.357059 0.446008
+vn -0.272749 -0.614472 0.740292
+vn -0.916499 -0.349951 0.193816
+vn -0.197570 -0.859525 0.471362
+vn -0.780048 -0.603250 0.166180
+vn -0.916499 -0.349951 0.193816
+vn -0.963237 -0.187150 -0.192742
+vn -0.780048 -0.603250 0.166180
+vn -0.785740 -0.585542 -0.199384
+vn -0.963237 -0.187150 -0.192742
+vn -0.742937 -0.068841 -0.665812
+vn -0.785740 -0.585542 -0.199384
+vn -0.652051 -0.421195 -0.630415
+vn -0.620252 -0.105698 -0.777248
+vn 0.267922 -0.071107 -0.960813
+vn -0.529088 -0.396284 -0.750349
+vn 0.184243 -0.548275 -0.815751
+vn 0.267922 -0.071107 -0.960813
+vn 0.193675 -0.607261 -0.770535
+vn 0.912710 -0.063134 -0.403702
+vn 0.964440 -0.230555 -0.129225
+vn 0.600640 -0.368366 0.709604
+vn -0.286636 -0.512798 0.809245
+vn 0.467143 -0.632333 0.618007
+vn -0.227701 -0.791296 0.567454
+vn 0.724872 -0.553715 0.409829
+vn 0.600640 -0.368366 0.709604
+vn 0.974774 -0.065877 0.213249
+vn 0.964763 -0.157254 0.210957
+vn -0.762530 -0.612735 -0.207613
+vn -0.055663 -0.994530 -0.088380
+vn -0.752108 -0.587893 0.297852
+vn -0.227701 -0.791296 0.567454
+vn 0.371080 -0.927873 0.036764
+vn 0.072501 -0.996781 -0.034234
+vn 0.380457 -0.923937 0.039901
+vn 0.072937 -0.996824 -0.031977
+vn 0.341514 -0.939396 0.030055
+vn 0.348825 -0.936643 0.031956
+vn 0.873905 -0.444969 0.195686
+vn 0.846712 -0.508212 0.157477
+vn 0.887581 -0.428464 0.169171
+vn 0.974980 -0.061882 0.213506
+vn 0.866453 -0.479331 0.139645
+vn 0.966258 -0.256233 -0.026252
+vn 0.416166 -0.907604 0.055331
+vn 0.885310 -0.433753 0.167587
+vn 0.406730 -0.912146 0.050599
+vn 0.907504 -0.366430 0.205341
+vn 0.406730 -0.912146 0.050599
+vn 0.907504 -0.366430 0.205341
+vn 0.398826 -0.915890 0.045642
+vn 0.926486 -0.328694 0.183260
+vn 0.777779 0.575966 0.251641
+vn 0.922377 0.189070 0.336857
+vn 0.783972 0.566180 0.254616
+vn 0.923094 0.185621 0.336813
+vn 0.670189 0.717069 0.191462
+vn 0.393853 0.917540 0.054776
+vn 0.678243 0.708552 0.194784
+vn 0.420132 0.904893 0.068256
+vn 0.377869 0.923681 0.063466
+vn 0.164248 0.984841 -0.055781
+vn 0.393853 0.917540 0.054776
+vn 0.201662 0.978145 -0.050642
+vn 0.034983 0.991866 -0.122383
+vn -0.096237 0.985332 -0.140924
+vn 0.035263 0.991480 -0.125394
+vn -0.127562 0.979038 -0.158782
+vn -0.243309 0.956326 -0.161990
+vn -0.274377 0.949060 -0.154925
+vn -0.109479 0.985439 -0.130093
+vn -0.096237 0.985332 -0.140924
+vn 0.907926 0.347132 0.234881
+vn 0.946597 0.273061 0.171440
+vn 0.624185 0.768845 0.138817
+vn 0.615709 0.783971 0.079324
+vn -0.171135 0.938511 0.299850
+vn 0.560110 0.772471 0.299275
+vn -0.004776 0.999797 -0.019587
+vn 0.624185 0.768845 0.138817
+vn -0.171135 0.938511 0.299850
+vn -0.004776 0.999797 -0.019587
+vn -0.676717 0.736193 -0.008656
+vn -0.627188 0.762797 -0.157404
+vn -0.636702 0.741852 -0.210393
+vn -0.627188 0.762797 -0.157404
+vn 0.007978 0.997163 -0.074842
+vn -0.004776 0.999797 -0.019587
+vn -0.645764 0.733530 -0.211950
+vn -0.636702 0.741852 -0.210393
+vn -0.001206 0.997010 -0.077268
+vn 0.007978 0.997163 -0.074842
+vn -0.652957 0.726787 -0.213138
+vn -0.645764 0.733530 -0.211950
+vn -0.009804 0.996791 -0.079446
+vn -0.001206 0.997010 -0.077268
+vn 0.921859 0.192533 0.336315
+vn 0.888512 0.338503 0.309777
+vn 0.922377 0.189070 0.336857
+vn 0.889630 0.334852 0.310537
+vn 0.888512 0.338503 0.309777
+vn 0.678243 0.708552 0.194784
+vn 0.889630 0.334852 0.310537
+vn 0.685085 0.700689 0.199234
+vn -0.541613 0.831991 -0.120192
+vn 0.142975 0.962043 0.232447
+vn -0.571326 0.814573 -0.100285
+vn 0.158367 0.955658 0.248271
+vn -0.571326 0.814573 -0.100285
+vn 0.158367 0.955658 0.248271
+vn -0.611039 0.785792 -0.095726
+vn 0.162603 0.953989 0.251923
+vn -0.611039 0.785792 -0.095726
+vn 0.162603 0.953989 0.251923
+vn -0.639566 0.761664 -0.104035
+vn 0.160384 0.955230 0.248620
+vn -0.846626 0.423834 -0.321853
+vn -0.070044 0.995192 0.068456
+vn -0.595140 0.250382 -0.763621
+vn 0.240231 0.594760 -0.767170
+vn -0.003765 0.999979 0.005239
+vn 0.168249 0.912631 -0.372554
+vn 0.840590 0.483194 0.244809
+vn 0.878159 0.292607 -0.378441
+vn -0.935081 0.170405 -0.310783
+vn -0.847931 0.438232 -0.298270
+vn -0.633989 0.051668 -0.771614
+vn -0.594820 0.181689 -0.783057
+vn -0.891430 0.284746 -0.352523
+vn -0.866983 0.339248 -0.365036
+vn -0.485965 0.870545 -0.077392
+vn -0.504863 0.861206 -0.058622
+vn 0.967801 0.037262 -0.248943
+vn 0.287537 -0.026317 -0.957408
+vn 0.939947 0.203661 -0.273901
+vn 0.261674 0.431646 -0.863255
+vn -0.855756 0.382230 -0.348687
+vn -0.309357 0.950275 0.035718
+vn -0.882806 0.325883 -0.338311
+vn -0.317393 0.947906 -0.027120
+vn -0.278617 0.557459 0.782056
+vn 0.303309 0.640646 0.705391
+vn -0.448293 0.487287 0.749390
+vn -0.435206 0.396655 0.808245
+vn 0.303309 0.640646 0.705391
+vn 0.840590 0.483194 0.244809
+vn 0.632332 0.380741 0.674680
+vn 0.949586 0.168945 0.264092
+vn 0.133170 0.986734 0.092852
+vn 0.160298 0.986954 0.015016
+vn 0.782893 0.514543 0.349749
+vn 0.798208 0.531740 0.283050
+vn 0.124092 0.975090 0.183848
+vn 0.133170 0.986734 0.092852
+vn 0.768225 0.487081 0.415430
+vn 0.782893 0.514543 0.349749
+vn -0.911370 0.411199 -0.017885
+vn -0.846494 0.510540 -0.150986
+vn -0.845257 0.486039 0.222053
+vn -0.740024 0.660489 0.126957
+vn 0.006009 0.203368 0.979084
+vn -0.737747 0.246663 0.628400
+vn 0.290809 0.170947 0.941386
+vn -0.601249 0.193949 0.775167
+vn 0.762647 0.031448 0.646050
+vn 0.290809 0.170947 0.941386
+vn 0.791135 0.252472 0.557102
+vn 0.187861 0.418921 0.888377
+vn -0.003133 -0.878618 0.477514
+vn 0.988449 -0.140208 0.057530
+vn 0.659102 -0.536915 -0.526599
+vn 0.997471 -0.070302 0.010480
+vn -0.003133 -0.878618 0.477514
+vn -0.581789 -0.813320 -0.005718
+vn -0.484618 -0.750862 0.448722
+vn -0.741010 -0.570695 0.353853
+vn -0.332550 -0.902410 0.273982
+vn -0.564956 -0.801669 0.195325
+vn -0.358108 -0.916648 0.177528
+vn -0.700585 -0.705722 0.105533
+vn -0.358108 -0.916648 0.177528
+vn -0.311381 -0.892371 0.326674
+vn -0.298187 -0.935435 0.189858
+vn -0.174446 -0.956549 0.233630
+vn -0.172033 -0.964490 0.200409
+vn -0.361101 -0.915358 0.178119
+vn -0.094645 -0.981381 0.167133
+vn -0.415445 -0.898414 0.142329
+vn -0.298187 -0.935435 0.189858
+vn -0.174446 -0.956549 0.233630
+vn -0.361101 -0.915358 0.178119
+vn -0.208805 -0.967199 0.144662
+vn 0.203778 -0.968751 0.141404
+vn -0.446484 -0.892608 0.062467
+vn 0.025542 -0.981951 0.187405
+vn -0.433849 -0.874006 0.218834
+vn -0.982292 0.154659 -0.105750
+vn -0.561428 0.825189 -0.062149
+vn -0.953078 0.288863 -0.090558
+vn -0.896426 0.370856 0.242664
+vn -0.982292 0.154659 -0.105750
+vn -0.993913 0.088405 0.065743
+vn -0.993434 0.043194 0.105944
+vn -0.688282 0.687478 0.231605
+vn -0.896812 0.434204 -0.084831
+vn -0.910295 0.410353 -0.054532
+vn -0.886272 0.457655 -0.071227
+vn -0.937204 0.336069 -0.093312
+vn -0.929313 0.354562 -0.103261
+vn -0.891732 0.353561 -0.282503
+vn -0.923079 0.379229 -0.064115
+vn -0.594626 0.801841 0.058915
+vn -0.923079 0.379229 -0.064115
+vn -0.594626 0.801841 0.058915
+vn -0.962096 0.255882 -0.094314
+vn -0.925371 0.362938 0.109380
+vn -0.960613 0.217003 -0.173585
+vn -0.864069 0.503307 -0.008234
+vn -0.967023 0.174687 -0.185338
+vn -0.973585 0.140438 -0.180026
+vn -0.942752 0.268952 -0.197191
+vn -0.625215 0.765384 -0.152620
+vn -0.963152 0.205946 -0.172989
+vn -0.916457 0.399227 0.026904
+vn -0.942752 0.268952 -0.197191
+vn -0.956492 0.189753 -0.221622
+vn -0.625215 0.765384 -0.152620
+vn -0.874346 0.272889 -0.401312
+vn 0.196145 -0.663107 0.722369
+vn -0.457056 -0.772194 0.441381
+vn 0.112184 -0.867919 0.483872
+vn -0.451801 -0.804092 0.386409
+vn -0.162026 -0.928527 0.334045
+vn -0.433849 -0.874006 0.218834
+vn -0.457056 -0.772194 0.441381
+vn -0.776526 -0.600706 0.190158
+vn 0.196145 -0.663107 0.722369
+vn 0.675271 -0.526987 0.516037
+vn 0.570201 -0.085696 0.817023
+vn 0.913146 -0.108202 0.393011
+vn 0.995353 -0.049680 0.082492
+vn 0.823751 0.089751 0.559803
+vn 0.997916 0.012689 0.063261
+vn 0.782137 0.304588 0.543588
+vn 0.995353 -0.049680 0.082492
+vn 0.997916 0.012689 0.063261
+vn 0.951267 -0.236542 -0.197836
+vn 0.906309 -0.211141 -0.366093
+vn -0.006625 0.732093 0.681173
+vn -0.029251 0.845343 0.533422
+vn 0.693221 0.525207 0.493560
+vn 0.672543 0.627150 0.392898
+vn 0.034626 -0.876606 -0.479962
+vn 0.038910 -0.912381 -0.407489
+vn -0.655098 -0.681031 -0.327174
+vn -0.645037 -0.707081 -0.289764
+vn 0.944181 -0.248427 -0.216346
+vn 0.997472 0.014766 0.069513
+vn 0.891163 -0.405983 -0.202501
+vn 0.991879 -0.041944 0.120074
+vn 0.992308 -0.052410 0.112149
+vn 0.774611 -0.569866 -0.274283
+vn 0.991879 -0.041944 0.120074
+vn 0.891163 -0.405983 -0.202501
+vn 0.992308 -0.052410 0.112149
+vn 0.704940 0.435791 0.559594
+vn 0.996883 -0.031068 0.072515
+vn 0.693221 0.525207 0.493560
+vn 0.718045 -0.506404 -0.477458
+vn 0.944181 -0.248427 -0.216346
+vn 0.669680 -0.651512 -0.356455
+vn 0.891163 -0.405983 -0.202501
+vn 0.718045 -0.506404 -0.477458
+vn 0.951267 -0.236542 -0.197836
+vn 0.711398 -0.364202 -0.601058
+vn 0.906309 -0.211141 -0.366093
+vn 0.711398 -0.364202 -0.601058
+vn 0.906309 -0.211141 -0.366093
+vn 0.708749 -0.119292 -0.695302
+vn 0.909617 -0.087707 -0.406084
+vn 0.909617 -0.087707 -0.406084
+vn 0.906309 -0.211141 -0.366093
+vn 0.999721 0.007193 -0.022516
+vn 0.997916 0.012689 0.063261
+vn 0.991684 0.110790 0.065479
+vn 0.999721 0.007193 -0.022516
+vn 0.782137 0.304588 0.543588
+vn 0.997916 0.012689 0.063261
+vn 0.991684 0.110790 0.065479
+vn 0.782137 0.304588 0.543588
+vn 0.983308 0.166232 0.073973
+vn 0.702189 0.588239 0.401131
+vn 0.761389 0.648206 -0.010797
+vn 0.722219 0.661800 -0.201051
+vn 0.625464 0.766041 -0.148246
+vn 0.709667 0.663398 -0.237226
+vn 0.777524 0.617602 0.118423
+vn 0.829704 0.540694 -0.138711
+vn 0.761389 0.648206 -0.010797
+vn 0.722219 0.661800 -0.201051
+vn -0.271194 0.920889 -0.280031
+vn -0.262500 0.848417 -0.459654
+vn -0.469968 0.845785 -0.252543
+vn -0.512826 0.733147 -0.446661
+vn 0.000000 0.885897 -0.463882
+vn 0.254775 0.852060 -0.457257
+vn 0.000000 0.914084 -0.405526
+vn 0.340327 0.848922 -0.404363
+vn 0.254775 0.852060 -0.457257
+vn 0.506867 0.743158 -0.436809
+vn 0.340327 0.848922 -0.404363
+vn 0.810444 0.451070 -0.373787
+vn 0.433118 0.855908 -0.282542
+vn 0.682002 0.645880 -0.343091
+vn 0.506867 0.743158 -0.436809
+vn 0.692774 0.607227 -0.389025
+vn -0.767679 0.640562 -0.018697
+vn -0.687552 0.719688 -0.096543
+vn -0.821854 0.567451 0.050547
+vn -0.789265 0.611990 -0.050296
+vn -0.874747 0.465599 0.134294
+vn -0.907051 0.212849 0.363254
+vn -0.960233 0.269891 0.071501
+vn -0.994179 0.081954 0.069934
+vn 0.928833 0.369458 0.027739
+vn 0.966024 0.199941 -0.163773
+vn 0.974473 0.065722 0.214668
+vn 0.958207 0.200878 0.203685
+vn 0.046370 0.488034 -0.871592
+vn 0.014826 0.803509 -0.595107
+vn 0.966024 0.199941 -0.163773
+vn 0.707970 0.670950 -0.220465
+vn -0.629528 0.629329 -0.455675
+vn -0.825536 0.279310 -0.490384
+vn -0.669594 0.723129 -0.169497
+vn -0.940677 0.283994 -0.185675
+vn 0.954873 -0.194391 0.224567
+vn 0.677444 -0.705811 0.207124
+vn 0.966387 -0.164751 -0.197367
+vn 0.762014 -0.632439 -0.139127
+vn -0.118760 -0.868474 0.481299
+vn -0.038667 -0.994699 0.095284
+vn 0.537277 -0.702769 0.466314
+vn 0.677444 -0.705811 0.207124
+vn 0.780414 -0.603640 -0.163011
+vn 0.967558 -0.152613 -0.201349
+vn 0.686426 -0.696374 0.209484
+vn 0.956324 -0.186311 0.225240
+vn 0.133471 -0.826416 -0.547012
+vn 0.780414 -0.603640 -0.163011
+vn -0.041340 -0.994908 0.091916
+vn 0.686426 -0.696374 0.209484
+vn -0.005947 -0.999161 -0.040521
+vn 0.707826 -0.697487 0.111773
+vn 0.165149 -0.665978 -0.727461
+vn 0.976608 -0.205656 -0.062796
+vn 0.944724 -0.063309 -0.321696
+vn 0.843938 -0.367122 -0.391140
+vn 0.275713 -0.098445 -0.956186
+vn 0.202575 -0.562863 -0.801342
+vn 0.955680 -0.287255 -0.064501
+vn 0.680900 -0.725006 0.103647
+vn 0.877024 -0.459836 0.139208
+vn 0.829819 -0.537407 0.150310
+vn 0.861958 -0.473774 0.180464
+vn 0.814805 -0.440382 0.377037
+vn 0.887581 -0.428464 0.169171
+vn 0.974980 -0.061882 0.213506
+vn 0.771202 -0.362962 0.522978
+vn 0.600534 -0.675223 0.428291
+vn 0.967090 -0.154450 0.202194
+vn 0.764157 -0.633640 0.120681
+vn -0.155371 -0.896006 0.415972
+vn 0.001107 -0.997735 -0.067261
+vn 0.600534 -0.675223 0.428291
+vn 0.764157 -0.633640 0.120681
+vn 0.837130 -0.492230 -0.238584
+vn 0.973449 -0.099447 -0.206171
+vn 0.764157 -0.633640 0.120681
+vn 0.967090 -0.154450 0.202194
+vn 0.973449 -0.099447 -0.206171
+vn 0.966258 -0.256233 -0.026252
+vn 0.967090 -0.154450 0.202194
+vn 0.974980 -0.061882 0.213506
+vn -0.017493 -0.999124 -0.038028
+vn 0.741576 -0.661106 0.114038
+vn 0.243725 -0.420691 -0.873852
+vn 0.988383 -0.133653 -0.072354
+vn -0.189823 -0.805930 0.560753
+vn -0.235684 -0.610849 0.755855
+vn 0.812422 -0.357276 0.460787
+vn 0.732913 -0.335253 0.591983
+vn -0.017493 -0.999124 -0.038028
+vn -0.189823 -0.805930 0.560753
+vn 0.741576 -0.661106 0.114038
+vn 0.812422 -0.357276 0.460787
+vn -0.272749 -0.614472 0.740292
+vn -0.197570 -0.859525 0.471362
+vn 0.743021 -0.329868 0.582328
+vn 0.602472 -0.625837 0.495333
+vn -0.762530 -0.612735 -0.207613
+vn -0.529088 -0.396284 -0.750349
+vn -0.055663 -0.994530 -0.088380
+vn 0.184243 -0.548275 -0.815751
+vn 0.912710 -0.063134 -0.403702
+vn 0.807131 -0.386435 -0.446327
+vn 0.267922 -0.071107 -0.960813
+vn 0.184243 -0.548275 -0.815751
+vn 0.964440 -0.230555 -0.129225
+vn 0.737434 -0.662925 0.129310
+vn 0.921039 -0.361483 0.144975
+vn 0.885310 -0.433753 0.167587
+vn 0.600640 -0.368366 0.709604
+vn 0.467143 -0.632333 0.618007
+vn 0.964763 -0.157254 0.210957
+vn 0.752358 -0.646343 0.127270
+vn 0.380457 -0.923937 0.039901
+vn 0.868201 -0.468432 0.163704
+vn 0.371080 -0.927873 0.036764
+vn 0.893584 -0.399362 0.204983
+vn 0.371080 -0.927873 0.036764
+vn 0.893584 -0.399362 0.204983
+vn 0.365062 -0.930326 0.034971
+vn 0.914253 -0.363334 0.179250
+vn 0.365062 -0.930326 0.034971
+vn 0.914253 -0.363334 0.179250
+vn 0.357227 -0.933417 0.033499
+vn 0.896833 -0.418410 0.143607
+vn 0.348825 -0.936643 0.031956
+vn 0.357227 -0.933417 0.033499
+vn 0.846712 -0.508212 0.157477
+vn 0.896833 -0.418410 0.143607
+vn 0.873905 -0.444969 0.195686
+vn 0.786961 -0.429164 0.443294
+vn 0.900010 -0.399814 0.173582
+vn 0.974471 -0.059443 0.216503
+vn 0.900010 -0.399814 0.173582
+vn 0.974471 -0.059443 0.216503
+vn 0.877024 -0.459836 0.139208
+vn 0.955680 -0.287255 -0.064501
+vn 0.398826 -0.915890 0.045642
+vn 0.926486 -0.328694 0.183260
+vn 0.391301 -0.919262 0.042916
+vn 0.916130 -0.373774 0.144913
+vn 0.391301 -0.919262 0.042916
+vn 0.916130 -0.373774 0.144913
+vn 0.380457 -0.923937 0.039901
+vn 0.868201 -0.468432 0.163704
+vn 0.974774 -0.065877 0.213249
+vn 0.964763 -0.157254 0.210957
+vn 0.964440 -0.230555 -0.129225
+vn 0.912710 -0.063134 -0.403702
+vn 0.153175 0.988016 -0.019012
+vn 0.137137 0.990205 -0.026224
+vn 0.790809 0.555225 0.257579
+vn 0.783972 0.566180 0.254616
+vn 0.201662 0.978145 -0.050642
+vn 0.035263 0.991480 -0.125394
+vn 0.229028 0.973075 -0.025929
+vn 0.029564 0.993979 -0.105511
+vn -0.652957 0.726787 -0.213138
+vn -0.662682 0.717461 -0.214717
+vn -0.923405 0.293362 -0.247510
+vn -0.925894 0.285483 -0.247428
+vn -0.923405 0.293362 -0.247510
+vn -0.925894 0.285483 -0.247428
+vn -0.815302 0.524759 -0.244768
+vn -0.823407 0.511488 -0.245725
+vn -0.815302 0.524759 -0.244768
+vn -0.823407 0.511488 -0.245725
+vn -0.502750 0.841637 -0.197206
+vn -0.512042 0.834657 -0.202881
+vn -0.502750 0.841637 -0.197206
+vn -0.512042 0.834657 -0.202881
+vn -0.274377 0.949060 -0.154925
+vn -0.288668 0.941929 -0.171583
+vn -0.009804 0.996791 -0.079446
+vn -0.021121 0.996404 -0.082057
+vn -0.652957 0.726787 -0.213138
+vn -0.662682 0.717461 -0.214717
+vn -0.913069 0.135296 -0.384708
+vn -0.659229 0.740088 -0.132991
+vn -0.920773 0.066853 -0.384329
+vn -0.668050 0.725333 -0.166137
+vn -0.920773 0.066853 -0.384329
+vn -0.668050 0.725333 -0.166137
+vn -0.915221 0.236230 -0.326445
+vn -0.595559 0.792651 -0.130440
+vn -0.639566 0.761664 -0.104035
+vn 0.160384 0.955230 0.248620
+vn -0.659229 0.740088 -0.132991
+vn 0.166266 0.955312 0.244407
+vn -0.915221 0.236230 -0.326445
+vn -0.595559 0.792651 -0.130440
+vn -0.859341 0.377127 -0.345411
+vn -0.522701 0.849084 -0.076424
+vn -0.859341 0.377127 -0.345411
+vn -0.522701 0.849084 -0.076424
+vn -0.866983 0.339248 -0.365036
+vn -0.504863 0.861206 -0.058622
+vn 0.142975 0.962043 0.232447
+vn 0.124092 0.975090 0.183848
+vn 0.778463 0.456031 0.431313
+vn 0.768225 0.487081 0.415430
+vn -0.487715 0.340954 -0.803669
+vn 0.211182 0.432073 -0.876764
+vn 0.168249 0.912631 -0.372554
+vn 0.327299 0.467982 -0.820895
+vn -0.487715 0.340954 -0.803669
+vn -0.633989 0.051668 -0.771614
+vn 0.281330 -0.017101 -0.959459
+vn 0.287537 -0.026317 -0.957408
+vn -0.847931 0.438232 -0.298270
+vn 0.023498 0.997047 -0.073113
+vn -0.594820 0.181689 -0.783057
+vn 0.261674 0.431646 -0.863255
+vn 0.939947 0.203661 -0.273901
+vn 0.261674 0.431646 -0.863255
+vn 0.842165 0.454910 0.289510
+vn 0.023498 0.997047 -0.073113
+vn -0.311923 0.948811 -0.049612
+vn -0.485965 0.870545 -0.077392
+vn -0.184169 0.982584 -0.024724
+vn -0.312030 0.949832 0.021361
+vn -0.311923 0.948811 -0.049612
+vn -0.057497 0.997915 0.029333
+vn -0.288198 0.957383 0.018985
+vn -0.080346 0.990455 0.111999
+vn -0.288198 0.957383 0.018985
+vn -0.080346 0.990455 0.111999
+vn -0.309357 0.950275 0.035718
+vn -0.091869 0.985605 0.141925
+vn 0.281330 -0.017101 -0.959459
+vn 0.259271 0.332001 -0.906948
+vn -0.487715 0.340954 -0.803669
+vn 0.211182 0.432073 -0.876764
+vn 0.255177 0.397104 -0.881586
+vn -0.214149 0.929527 -0.300201
+vn 0.259271 0.332001 -0.906948
+vn 0.041076 0.962302 -0.268864
+vn -0.309357 0.950275 0.035718
+vn -0.091869 0.985605 0.141925
+vn -0.317393 0.947906 -0.027120
+vn -0.076073 0.993656 0.082830
+vn -0.317393 0.947906 -0.027120
+vn -0.076073 0.993656 0.082830
+vn -0.214149 0.929527 -0.300201
+vn 0.041076 0.962302 -0.268864
+vn 0.303309 0.640646 0.705391
+vn 0.632332 0.380741 0.674680
+vn -0.435206 0.396655 0.808245
+vn -0.340984 0.507426 0.791359
+vn 0.160298 0.986954 0.015016
+vn 0.166961 0.985887 -0.012272
+vn 0.798208 0.531740 0.283050
+vn 0.797925 0.543639 0.260333
+vn 0.166961 0.985887 -0.012272
+vn 0.153175 0.988016 -0.019012
+vn 0.797925 0.543639 0.260333
+vn 0.790809 0.555225 0.257579
+vn -0.846494 0.510540 -0.150986
+vn -0.911370 0.411199 -0.017885
+vn -0.899209 0.339516 -0.275956
+vn -0.967682 0.236333 -0.087969
+vn -0.818108 0.433162 0.378246
+vn -0.740024 0.660489 0.126957
+vn -0.960978 0.276536 -0.007045
+vn -0.846494 0.510540 -0.150986
+vn -0.790469 0.364539 0.492210
+vn -0.818108 0.433162 0.378246
+vn -0.980323 0.196310 0.020722
+vn -0.960978 0.276536 -0.007045
+vn -0.737747 0.246663 0.628400
+vn -0.790469 0.364539 0.492210
+vn -0.995090 0.081971 0.055469
+vn -0.980323 0.196310 0.020722
+vn 0.988449 -0.140208 0.057530
+vn 0.791135 0.252472 0.557102
+vn 0.997471 -0.070302 0.010480
+vn 0.702752 0.409906 0.581479
+vn -0.003133 -0.878618 0.477514
+vn 0.659102 -0.536915 -0.526599
+vn -0.044275 -0.692298 -0.720253
+vn 0.013919 -0.677469 -0.735420
+vn -0.564956 -0.801669 0.195325
+vn -0.484618 -0.750862 0.448722
+vn -0.873993 -0.466634 0.135603
+vn -0.741010 -0.570695 0.353853
+vn -0.581789 -0.813320 -0.005718
+vn -0.003133 -0.878618 0.477514
+vn -0.636543 -0.532402 -0.557998
+vn -0.044275 -0.692298 -0.720253
+vn -0.311381 -0.892371 0.326674
+vn -0.358108 -0.916648 0.177528
+vn -0.640926 -0.664322 0.384566
+vn -0.700585 -0.705722 0.105533
+vn -0.446484 -0.892608 0.062467
+vn 0.203778 -0.968751 0.141404
+vn 0.007134 -0.999653 -0.025367
+vn 0.340559 -0.936910 0.078867
+vn 0.203778 -0.968751 0.141404
+vn -0.094645 -0.981381 0.167133
+vn 0.340559 -0.936910 0.078867
+vn 0.108508 -0.994062 0.008158
+vn -0.979961 0.156881 -0.122742
+vn -0.990429 0.046734 -0.129873
+vn -0.980184 0.063379 -0.187675
+vn -0.905216 0.175657 -0.386948
+vn -0.953078 0.288863 -0.090558
+vn -0.896426 0.370856 0.242664
+vn -0.979961 0.156881 -0.122742
+vn -0.990429 0.046734 -0.129873
+vn -0.561428 0.825189 -0.062149
+vn -0.982292 0.154659 -0.105750
+vn -0.772674 0.138368 -0.619539
+vn -0.992227 0.010515 -0.124000
+vn -0.993434 0.043194 0.105944
+vn -0.935657 0.159034 0.315048
+vn -0.982292 0.154659 -0.105750
+vn -0.992227 0.010515 -0.124000
+vn -0.993913 0.088405 0.065743
+vn -0.907196 0.318341 0.275054
+vn -0.688282 0.687478 0.231605
+vn -0.767850 0.619586 0.162848
+vn -0.960980 0.251215 -0.115795
+vn -0.972561 0.134988 -0.189482
+vn -0.896812 0.434204 -0.084831
+vn -0.937204 0.336069 -0.093312
+vn -0.977902 0.164431 -0.129112
+vn -0.929313 0.354562 -0.103261
+vn -0.891732 0.353561 -0.282503
+vn -0.910295 0.410353 -0.054532
+vn -0.866726 0.465521 0.179099
+vn -0.937204 0.336069 -0.093312
+vn -0.977902 0.164431 -0.129112
+vn -0.947109 0.250527 -0.200552
+vn -0.955087 0.198946 -0.219611
+vn -0.650195 0.739277 -0.175259
+vn -0.879008 0.281980 -0.384490
+vn -0.947109 0.250527 -0.200552
+vn -0.650195 0.739277 -0.175259
+vn -0.960613 0.217003 -0.173585
+vn -0.864069 0.503307 -0.008234
+vn -0.971661 0.133438 -0.195111
+vn -0.977322 0.097112 -0.188178
+vn -0.955087 0.198946 -0.219611
+vn -0.879008 0.281980 -0.384490
+vn -0.963152 0.205946 -0.172989
+vn -0.916457 0.399227 0.026904
+vn -0.971661 0.133438 -0.195111
+vn -0.977322 0.097112 -0.188178
+vn -0.925371 0.362938 0.109380
+vn -0.958484 0.262056 0.112407
+vn -0.980059 0.085286 -0.179475
+vn -0.969566 0.152212 -0.191762
+vn -0.980059 0.085286 -0.179475
+vn -0.969566 0.152212 -0.191762
+vn -0.874346 0.272889 -0.401312
+vn -0.831926 0.125123 -0.540595
+vn -0.925371 0.362938 0.109380
+vn -0.594626 0.801841 0.058915
+vn -0.161338 0.837556 0.521986
+vn -0.027906 0.986866 0.159113
+vn -0.719119 0.438275 0.539242
+vn -0.860330 0.353791 0.366965
+vn -0.907196 0.318341 0.275054
+vn -0.767850 0.619586 0.162848
+vn -0.448293 0.487287 0.749390
+vn -0.435206 0.396655 0.808245
+vn -0.719119 0.438275 0.539242
+vn -0.860330 0.353791 0.366965
+vn 0.196145 -0.663107 0.722369
+vn 0.112184 -0.867919 0.483872
+vn 0.675271 -0.526987 0.516037
+vn 0.663964 -0.698881 0.265927
+vn -0.433849 -0.874006 0.218834
+vn -0.446484 -0.892608 0.062467
+vn -0.776526 -0.600706 0.190158
+vn -0.936896 -0.345878 -0.050935
+vn 0.823751 0.089751 0.559803
+vn 0.664225 0.171408 0.727616
+vn 0.782137 0.304588 0.543588
+vn 0.656536 0.389929 0.645691
+vn 0.570201 -0.085696 0.817023
+vn 0.913146 -0.108202 0.393011
+vn 0.664225 0.171408 0.727616
+vn 0.954176 0.065620 0.291964
+vn -0.029251 0.845343 0.533422
+vn -0.716198 0.575457 0.394854
+vn -0.023036 0.930504 0.365556
+vn -0.706504 0.663814 0.245363
+vn -0.716198 0.575457 0.394854
+vn -0.996591 -0.075409 0.033457
+vn -0.706504 0.663814 0.245363
+vn -0.997392 -0.071807 -0.007256
+vn -0.996591 -0.075409 0.033457
+vn -0.645037 -0.707081 -0.289764
+vn -0.997392 -0.071807 -0.007256
+vn -0.626985 -0.753720 -0.196966
+vn 0.038910 -0.912381 -0.407489
+vn 0.034626 -0.876606 -0.479962
+vn 0.701572 -0.651354 -0.289023
+vn 0.725444 -0.615825 -0.307393
+vn 0.774611 -0.569866 -0.274283
+vn 0.992308 -0.052410 0.112149
+vn 0.725444 -0.615825 -0.307393
+vn 0.996883 -0.031068 0.072515
+vn 0.693221 0.525207 0.493560
+vn 0.672543 0.627150 0.392898
+vn 0.996883 -0.031068 0.072515
+vn 0.999366 0.000052 0.035602
+vn 0.782137 0.304588 0.543588
+vn 0.656536 0.389929 0.645691
+vn 0.702189 0.588239 0.401131
+vn 0.601033 0.636199 0.483746
+vn 0.777524 0.617602 0.118423
+vn 0.601033 0.636199 0.483746
+vn 0.938113 0.270099 0.216774
+vn 0.656536 0.389929 0.645691
+vn 0.829704 0.540694 -0.138711
+vn 0.777524 0.617602 0.118423
+vn 0.979839 0.197540 -0.029896
+vn 0.938113 0.270099 0.216774
+vn -0.687552 0.719688 -0.096543
+vn -0.469968 0.845785 -0.252543
+vn -0.705584 0.661153 -0.255006
+vn -0.640396 0.684594 -0.348171
+vn 0.000000 0.885897 -0.463882
+vn 0.000000 0.914084 -0.405526
+vn -0.262500 0.848417 -0.459654
+vn -0.384143 0.831267 -0.401784
+vn 0.722219 0.661800 -0.201051
+vn 0.758039 0.479330 -0.442289
+vn 0.709667 0.663398 -0.237226
+vn 0.682002 0.645880 -0.343091
+vn -0.874747 0.465599 0.134294
+vn -0.821854 0.567451 0.050547
+vn -0.894979 0.406506 0.183756
+vn -0.899399 0.436410 0.025075
+vn -0.960233 0.269891 0.071501
+vn -0.994179 0.081954 0.069934
+vn -0.967682 0.236333 -0.087969
+vn -0.990152 0.034147 -0.135770
+vn -0.874747 0.465599 0.134294
+vn -0.894979 0.406506 0.183756
+vn -0.907051 0.212849 0.363254
+vn -0.859918 0.235911 0.452645
+vn -0.864069 0.503307 -0.008234
+vn -0.877257 0.466635 0.112573
+vn -0.973585 0.140438 -0.180026
+vn -0.940677 0.283994 -0.185675
+vn 0.946597 0.273061 0.171440
+vn 0.955021 0.224620 0.193599
+vn 0.615709 0.783971 0.079324
+vn 0.602852 0.794248 0.075757
+vn 0.974473 0.065722 0.214668
+vn 0.826899 0.437953 0.352754
+vn 0.955021 0.224620 0.193599
+vn 0.936826 0.282713 0.205986
+vn -0.669594 0.723129 -0.169497
+vn -0.076802 0.995098 -0.062296
+vn -0.629528 0.629329 -0.455675
+vn 0.014826 0.803509 -0.595107
+vn 0.677444 -0.705811 0.207124
+vn 0.954873 -0.194391 0.224567
+vn 0.537277 -0.702769 0.466314
+vn 0.750799 -0.386900 0.535359
+vn 0.105596 -0.850791 -0.514785
+vn 0.762014 -0.632439 -0.139127
+vn -0.038667 -0.994699 0.095284
+vn 0.677444 -0.705811 0.207124
+vn -0.904013 -0.365907 0.221073
+vn -0.961627 -0.197161 -0.190792
+vn -0.757803 -0.625531 0.185597
+vn -0.770777 -0.606112 -0.196295
+vn -0.961627 -0.197161 -0.190792
+vn -0.747140 -0.100527 -0.657021
+vn -0.770777 -0.606112 -0.196295
+vn -0.639539 -0.431767 -0.636056
+vn -0.747140 -0.100527 -0.657021
+vn 0.242166 -0.052388 -0.968820
+vn -0.639539 -0.431767 -0.636056
+vn 0.172610 -0.607962 -0.774976
+vn 0.242166 -0.052388 -0.968820
+vn 0.165149 -0.665978 -0.727461
+vn 0.957991 -0.036975 -0.284404
+vn 0.976608 -0.205656 -0.062796
+vn 0.786961 -0.429164 0.443294
+vn 0.873905 -0.444969 0.195686
+vn 0.707826 -0.697487 0.111773
+vn 0.846712 -0.508212 0.157477
+vn 0.786961 -0.429164 0.443294
+vn 0.688350 -0.374452 0.621257
+vn 0.974471 -0.059443 0.216503
+vn 0.967709 -0.144505 0.206538
+vn -0.199233 -0.630705 0.750011
+vn -0.152133 -0.848005 0.507685
+vn 0.688350 -0.374452 0.621257
+vn 0.544356 -0.645479 0.535755
+vn -0.152133 -0.848005 0.507685
+vn -0.725477 -0.645132 0.239766
+vn -0.006727 -0.996688 -0.081042
+vn -0.750474 -0.631410 -0.195219
+vn -0.750474 -0.631410 -0.195219
+vn -0.584350 -0.417581 -0.695817
+vn -0.006727 -0.996688 -0.081042
+vn 0.202575 -0.562863 -0.801342
+vn 0.843938 -0.367122 -0.391140
+vn 0.944724 -0.063309 -0.321696
+vn 0.779970 -0.614233 0.119850
+vn 0.967709 -0.144505 0.206538
+vn 0.944724 -0.063309 -0.321696
+vn 0.955680 -0.287255 -0.064501
+vn 0.967709 -0.144505 0.206538
+vn 0.974471 -0.059443 0.216503
+vn 0.203332 -0.709112 -0.675141
+vn 0.837130 -0.492230 -0.238584
+vn 0.001107 -0.997735 -0.067261
+vn 0.764157 -0.633640 0.120681
+vn -0.235684 -0.610849 0.755855
+vn -0.904013 -0.365907 0.221073
+vn -0.167453 -0.861951 0.478539
+vn -0.757803 -0.625531 0.185597
+vn -0.742937 -0.068841 -0.665812
+vn 0.282923 0.003043 -0.959138
+vn -0.652051 -0.421195 -0.630415
+vn 0.193995 -0.605577 -0.771779
+vn 0.282923 0.003043 -0.959138
+vn 0.243725 -0.420691 -0.873852
+vn 0.961852 -0.006938 -0.273481
+vn 0.988383 -0.133653 -0.072354
+vn 0.820723 -0.357059 0.446008
+vn 0.907504 -0.366430 0.205341
+vn 0.737434 -0.662925 0.129310
+vn 0.885310 -0.433753 0.167587
+vn 0.820723 -0.357059 0.446008
+vn 0.743021 -0.329868 0.582328
+vn 0.975387 -0.045548 0.215746
+vn 0.971216 -0.122220 0.204457
+vn -0.197570 -0.859525 0.471362
+vn -0.780048 -0.603250 0.166180
+vn -0.029987 -0.995925 -0.085056
+vn -0.785740 -0.585542 -0.199384
+vn -0.785740 -0.585542 -0.199384
+vn -0.652051 -0.421195 -0.630415
+vn -0.029987 -0.995925 -0.085056
+vn 0.193995 -0.605577 -0.771779
+vn 0.912710 -0.063134 -0.403702
+vn 0.964763 -0.157254 0.210957
+vn 0.807131 -0.386435 -0.446327
+vn 0.752358 -0.646343 0.127270
+vn -0.227701 -0.791296 0.567454
+vn -0.055663 -0.994530 -0.088380
+vn 0.467143 -0.632333 0.618007
+vn 0.752358 -0.646343 0.127270
+vn 0.907504 -0.366430 0.205341
+vn 0.820723 -0.357059 0.446008
+vn 0.926486 -0.328694 0.183260
+vn 0.975387 -0.045548 0.215746
+vn 0.783972 0.566180 0.254616
+vn 0.923094 0.185621 0.336813
+vn 0.790809 0.555225 0.257579
+vn 0.924086 0.182069 0.336030
+vn 0.922377 0.189070 0.336857
+vn 0.889630 0.334852 0.310537
+vn 0.923094 0.185621 0.336813
+vn 0.890875 0.331237 0.310843
+vn 0.678243 0.708552 0.194784
+vn 0.420132 0.904893 0.068256
+vn 0.685085 0.700689 0.199234
+vn 0.435825 0.896184 0.083134
+vn 0.393853 0.917540 0.054776
+vn 0.201662 0.978145 -0.050642
+vn 0.420132 0.904893 0.068256
+vn 0.229028 0.973075 -0.025929
+vn 0.035263 0.991480 -0.125394
+vn -0.127562 0.979038 -0.158782
+vn 0.029564 0.993979 -0.105511
+vn -0.162640 0.974543 -0.154320
+vn -0.127562 0.979038 -0.158782
+vn -0.096237 0.985332 -0.140924
+vn -0.288668 0.941929 -0.171583
+vn -0.274377 0.949060 -0.154925
+vn 0.624185 0.768845 0.138817
+vn 0.615709 0.783971 0.079324
+vn -0.004776 0.999797 -0.019587
+vn 0.007978 0.997163 -0.074842
+vn -0.001206 0.997010 -0.077268
+vn 0.007978 0.997163 -0.074842
+vn 0.602852 0.794248 0.075757
+vn 0.615709 0.783971 0.079324
+vn -0.009804 0.996791 -0.079446
+vn -0.001206 0.997010 -0.077268
+vn 0.590351 0.803904 0.072277
+vn 0.602852 0.794248 0.075757
+vn -0.021121 0.996404 -0.082057
+vn -0.009804 0.996791 -0.079446
+vn 0.574137 0.815944 0.067845
+vn 0.590351 0.803904 0.072277
+vn 0.889630 0.334852 0.310537
+vn 0.685085 0.700689 0.199234
+vn 0.890875 0.331237 0.310843
+vn 0.690264 0.694722 0.202230
+vn 0.158367 0.955658 0.248271
+vn 0.142975 0.962043 0.232447
+vn 0.800592 0.429286 0.418050
+vn 0.778463 0.456031 0.431313
+vn 0.162603 0.953989 0.251923
+vn 0.158367 0.955658 0.248271
+vn 0.818052 0.411765 0.401547
+vn 0.800592 0.429286 0.418050
+vn 0.160384 0.955230 0.248620
+vn 0.162603 0.953989 0.251923
+vn 0.826142 0.403832 0.392950
+vn 0.818052 0.411765 0.401547
+vn 0.840590 0.483194 0.244809
+vn 0.878159 0.292607 -0.378441
+vn 0.949586 0.168945 0.264092
+vn 0.957872 0.044163 -0.283779
+vn 0.878159 0.292607 -0.378441
+vn 0.168249 0.912631 -0.372554
+vn 0.404850 0.386841 -0.828523
+vn 0.327299 0.467982 -0.820895
+vn -0.633989 0.051668 -0.771614
+vn -0.594820 0.181689 -0.783057
+vn 0.287537 -0.026317 -0.957408
+vn 0.261674 0.431646 -0.863255
+vn -0.311923 0.948811 -0.049612
+vn -0.184169 0.982584 -0.024724
+vn -0.057497 0.997915 0.029333
+vn -0.024191 0.999561 -0.017114
+vn -0.485965 0.870545 -0.077392
+vn -0.504863 0.861206 -0.058622
+vn -0.312030 0.949832 0.021361
+vn -0.313831 0.936244 0.157978
+vn 0.632332 0.380741 0.674680
+vn 0.949586 0.168945 0.264092
+vn 0.590298 0.473371 0.653811
+vn 0.869902 0.437974 0.226826
+vn 0.768225 0.487081 0.415430
+vn 0.782893 0.514543 0.349749
+vn 0.891810 0.157108 0.424254
+vn 0.906979 0.166661 0.386800
+vn 0.782893 0.514543 0.349749
+vn 0.798208 0.531740 0.283050
+vn 0.906979 0.166661 0.386800
+vn 0.921756 0.173570 0.346755
+vn 0.778463 0.456031 0.431313
+vn 0.768225 0.487081 0.415430
+vn 0.893132 0.147016 0.425091
+vn 0.891810 0.157108 0.424254
+vn -0.846494 0.510540 -0.150986
+vn -0.899209 0.339516 -0.275956
+vn -0.960978 0.276536 -0.007045
+vn -0.961629 0.167435 -0.217337
+vn -0.737747 0.246663 0.628400
+vn -0.995090 0.081971 0.055469
+vn -0.601249 0.193949 0.775167
+vn -0.995459 -0.051063 0.080340
+vn 0.290809 0.170947 0.941386
+vn -0.601249 0.193949 0.775167
+vn 0.187861 0.418921 0.888377
+vn -0.638377 0.301975 0.708016
+vn 0.791135 0.252472 0.557102
+vn 0.187861 0.418921 0.888377
+vn 0.702752 0.409906 0.581479
+vn 0.051424 0.588536 0.806834
+vn 0.659102 -0.536915 -0.526599
+vn 0.997471 -0.070302 0.010480
+vn 0.628272 -0.581659 -0.516669
+vn 0.997242 -0.060896 -0.042430
+vn -0.873993 -0.466634 0.135603
+vn -0.951807 -0.304902 -0.033146
+vn -0.564956 -0.801669 0.195325
+vn -0.700585 -0.705722 0.105533
+vn -0.636543 -0.532402 -0.557998
+vn -0.977660 -0.148473 -0.148782
+vn -0.581789 -0.813320 -0.005718
+vn -0.941496 -0.325287 0.088173
+vn -0.581789 -0.813320 -0.005718
+vn -0.941496 -0.325287 0.088173
+vn -0.741010 -0.570695 0.353853
+vn -0.873993 -0.466634 0.135603
+vn -0.640926 -0.664322 0.384566
+vn -0.579703 -0.570241 0.582040
+vn -0.311381 -0.892371 0.326674
+vn -0.230678 -0.855446 0.463681
+vn -0.174446 -0.956549 0.233630
+vn -0.311381 -0.892371 0.326674
+vn 0.132750 -0.947574 0.290657
+vn -0.230678 -0.855446 0.463681
+vn -0.094645 -0.981381 0.167133
+vn -0.415445 -0.898414 0.142329
+vn 0.108508 -0.994062 0.008158
+vn -0.401308 -0.913510 0.066719
+vn -0.361101 -0.915358 0.178119
+vn -0.208805 -0.967199 0.144662
+vn -0.415445 -0.898414 0.142329
+vn -0.326613 -0.945157 -0.001567
+vn -0.174446 -0.956549 0.233630
+vn 0.132750 -0.947574 0.290657
+vn -0.208805 -0.967199 0.144662
+vn 0.548709 -0.835567 -0.027312
+vn -0.446484 -0.892608 0.062467
+vn 0.007134 -0.999653 -0.025367
+vn -0.936896 -0.345878 -0.050935
+vn -0.954646 0.048429 -0.293778
+vn -0.937745 0.330421 -0.107033
+vn -0.698148 0.715599 -0.022533
+vn -0.985135 0.138771 -0.101255
+vn -0.967214 0.242099 0.076721
+vn -0.980184 0.063379 -0.187675
+vn -0.905216 0.175657 -0.386948
+vn -0.937745 0.330421 -0.107033
+vn -0.698148 0.715599 -0.022533
+vn -0.772674 0.138368 -0.619539
+vn 0.458438 0.502330 -0.733144
+vn -0.561428 0.825189 -0.062149
+vn 0.236858 0.943905 0.230090
+vn -0.896426 0.370856 0.242664
+vn -0.561428 0.825189 -0.062149
+vn 0.023510 0.714181 0.699566
+vn 0.236858 0.943905 0.230090
+vn -0.935657 0.159034 0.315048
+vn -0.993434 0.043194 0.105944
+vn -0.268509 0.480816 0.834697
+vn -0.276713 0.764952 0.581617
+vn -0.993434 0.043194 0.105944
+vn -0.688282 0.687478 0.231605
+vn -0.276713 0.764952 0.581617
+vn 0.028759 0.950885 0.308204
+vn -0.960980 0.251215 -0.115795
+vn -0.985495 0.075675 -0.151895
+vn -0.972561 0.134988 -0.189482
+vn -0.894898 0.268670 -0.356334
+vn -0.972561 0.134988 -0.189482
+vn -0.894898 0.268670 -0.356334
+vn -0.896812 0.434204 -0.084831
+vn -0.553622 0.832169 0.031578
+vn -0.896812 0.434204 -0.084831
+vn -0.553622 0.832169 0.031578
+vn -0.910295 0.410353 -0.054532
+vn -0.866726 0.465521 0.179099
+vn -0.977902 0.164431 -0.129112
+vn -0.977411 0.156126 -0.142449
+vn -0.891732 0.353561 -0.282503
+vn -0.863946 0.132009 -0.485974
+vn -0.891732 0.353561 -0.282503
+vn 0.087487 0.794312 -0.601177
+vn -0.594626 0.801841 0.058915
+vn -0.027906 0.986866 0.159113
+vn -0.864069 0.503307 -0.008234
+vn -0.650195 0.739277 -0.175259
+vn -0.097523 0.969757 0.223743
+vn -0.035893 0.997239 -0.065015
+vn -0.916457 0.399227 0.026904
+vn -0.625215 0.765384 -0.152620
+vn -0.134183 0.917172 0.375222
+vn -0.007759 0.999286 -0.036967
+vn -0.874346 0.272889 -0.401312
+vn 0.179688 0.771191 -0.610718
+vn -0.625215 0.765384 -0.152620
+vn -0.007759 0.999286 -0.036967
+vn -0.958484 0.262056 0.112407
+vn -0.925371 0.362938 0.109380
+vn -0.259460 0.592958 0.762287
+vn -0.161338 0.837556 0.521986
+vn 0.112184 -0.867919 0.483872
+vn -0.451801 -0.804092 0.386409
+vn 0.063818 -0.939926 0.335359
+vn -0.567340 -0.779343 0.265989
+vn -0.457056 -0.772194 0.441381
+vn -0.776526 -0.600706 0.190158
+vn -0.451801 -0.804092 0.386409
+vn -0.567340 -0.779343 0.265989
+vn 0.675271 -0.526987 0.516037
+vn 0.927367 -0.364383 0.084945
+vn 0.913146 -0.108202 0.393011
+vn 0.986681 -0.160861 0.024158
+vn -0.029251 0.845343 0.533422
+vn -0.023036 0.930504 0.365556
+vn 0.672543 0.627150 0.392898
+vn 0.664809 0.690913 0.284022
+vn -0.645037 -0.707081 -0.289764
+vn 0.038910 -0.912381 -0.407489
+vn -0.626985 -0.753720 -0.196966
+vn 0.020591 -0.964701 -0.262543
+vn 0.701572 -0.651354 -0.289023
+vn 0.676431 -0.709701 -0.196891
+vn 0.038910 -0.912381 -0.407489
+vn 0.020591 -0.964701 -0.262543
+vn 0.725444 -0.615825 -0.307393
+vn 0.996883 -0.031068 0.072515
+vn 0.701572 -0.651354 -0.289023
+vn 0.999366 0.000052 0.035602
+vn 0.829704 0.540694 -0.138711
+vn 0.763974 0.473289 -0.438567
+vn 0.722219 0.661800 -0.201051
+vn 0.758039 0.479330 -0.442289
+vn 0.829704 0.540694 -0.138711
+vn 0.979839 0.197540 -0.029896
+vn 0.763974 0.473289 -0.438567
+vn 0.940418 0.094925 -0.326502
+vn -0.687552 0.719688 -0.096543
+vn -0.705584 0.661153 -0.255006
+vn -0.789265 0.611990 -0.050296
+vn -0.718501 0.636393 -0.280641
+vn -0.469968 0.845785 -0.252543
+vn -0.512826 0.733147 -0.446661
+vn -0.640396 0.684594 -0.348171
+vn -0.724423 0.556533 -0.406797
+vn -0.262500 0.848417 -0.459654
+vn -0.384143 0.831267 -0.401784
+vn -0.512826 0.733147 -0.446661
+vn -0.878001 0.366196 -0.308245
+vn 0.000000 0.914084 -0.405526
+vn 0.340327 0.848922 -0.404363
+vn 0.000000 0.982607 -0.185696
+vn 0.382398 0.903451 -0.193775
+vn 0.810444 0.451070 -0.373787
+vn 0.914820 0.367445 -0.167598
+vn 0.340327 0.848922 -0.404363
+vn 0.382398 0.903451 -0.193775
+vn 0.810444 0.451070 -0.373787
+vn 0.506867 0.743158 -0.436809
+vn 0.856622 0.305541 -0.415745
+vn 0.692774 0.607227 -0.389025
+vn 0.682002 0.645880 -0.343091
+vn 0.758039 0.479330 -0.442289
+vn 0.692774 0.607227 -0.389025
+vn 0.856622 0.305541 -0.415745
+vn -0.821854 0.567451 0.050547
+vn -0.789265 0.611990 -0.050296
+vn -0.899399 0.436410 0.025075
+vn -0.874636 0.465255 -0.136195
+vn -0.899209 0.339516 -0.275956
+vn -0.967682 0.236333 -0.087969
+vn -0.901307 0.105708 -0.420085
+vn -0.990152 0.034147 -0.135770
+vn -0.994179 0.081954 0.069934
+vn -0.907051 0.212849 0.363254
+vn -0.998056 -0.003899 0.062207
+vn -0.913877 -0.154344 0.375508
+vn -0.877257 0.466635 0.112573
+vn -0.864069 0.503307 -0.008234
+vn -0.145026 0.810245 0.567865
+vn -0.097523 0.969757 0.223743
+vn -0.669594 0.723129 -0.169497
+vn -0.940677 0.283994 -0.185675
+vn -0.653132 0.752765 0.082235
+vn -0.877257 0.466635 0.112573
+vn 0.958207 0.200878 0.203685
+vn 0.781494 0.410453 0.469889
+vn 0.974473 0.065722 0.214668
+vn 0.826899 0.437953 0.352754
+vn 0.958207 0.200878 0.203685
+vn 0.966024 0.199941 -0.163773
+vn 0.642185 0.761102 0.091229
+vn 0.707970 0.670950 -0.220465
+vn 0.014826 0.803509 -0.595107
+vn -0.076802 0.995098 -0.062296
+vn 0.707970 0.670950 -0.220465
+vn 0.642185 0.761102 0.091229
+vn -0.669594 0.723129 -0.169497
+vn -0.653132 0.752765 0.082235
+vn -0.076802 0.995098 -0.062296
+vn -0.121654 0.937844 0.325037
+vn 0.957991 -0.036975 -0.284404
+vn 0.858733 -0.396735 -0.324313
+vn 0.242166 -0.052388 -0.968820
+vn 0.172610 -0.607962 -0.774976
+vn 0.976608 -0.205656 -0.062796
+vn 0.707826 -0.697487 0.111773
+vn 0.896833 -0.418410 0.143607
+vn 0.846712 -0.508212 0.157477
+vn -0.006727 -0.996688 -0.081042
+vn 0.779970 -0.614233 0.119850
+vn -0.152133 -0.848005 0.507685
+vn 0.544356 -0.645479 0.535755
+vn 0.202575 -0.562863 -0.801342
+vn 0.843938 -0.367122 -0.391140
+vn -0.006727 -0.996688 -0.081042
+vn 0.779970 -0.614233 0.119850
+vn -0.235684 -0.610849 0.755855
+vn -0.167453 -0.861951 0.478539
+vn 0.732913 -0.335253 0.591983
+vn 0.593112 -0.634614 0.495462
+vn 0.961852 -0.006938 -0.273481
+vn 0.874440 -0.381462 -0.299735
+vn 0.282923 0.003043 -0.959138
+vn 0.193995 -0.605577 -0.771779
+vn 0.988383 -0.133653 -0.072354
+vn 0.741576 -0.661106 0.114038
+vn 0.916130 -0.373774 0.144913
+vn 0.868201 -0.468432 0.163704
+vn 0.812422 -0.357276 0.460787
+vn 0.893584 -0.399362 0.204983
+vn 0.741576 -0.661106 0.114038
+vn 0.868201 -0.468432 0.163704
+vn 0.812422 -0.357276 0.460787
+vn 0.732913 -0.335253 0.591983
+vn 0.975222 -0.049675 0.215579
+vn 0.969865 -0.131404 0.205172
+vn 0.743021 -0.329868 0.582328
+vn 0.602472 -0.625837 0.495333
+vn 0.971216 -0.122220 0.204457
+vn 0.804700 -0.578896 0.131674
+vn 0.602472 -0.625837 0.495333
+vn -0.197570 -0.859525 0.471362
+vn 0.804700 -0.578896 0.131674
+vn -0.029987 -0.995925 -0.085056
+vn 0.184243 -0.548275 -0.815751
+vn 0.807131 -0.386435 -0.446327
+vn -0.055663 -0.994530 -0.088380
+vn 0.752358 -0.646343 0.127270
+vn 0.893584 -0.399362 0.204983
+vn 0.812422 -0.357276 0.460787
+vn 0.914253 -0.363334 0.179250
+vn 0.975222 -0.049675 0.215579
+vn 0.914253 -0.363334 0.179250
+vn 0.975222 -0.049675 0.215579
+vn 0.896833 -0.418410 0.143607
+vn 0.976608 -0.205656 -0.062796
+vn 0.926486 -0.328694 0.183260
+vn 0.975387 -0.045548 0.215746
+vn 0.916130 -0.373774 0.144913
+vn 0.988383 -0.133653 -0.072354
+vn 0.790809 0.555225 0.257579
+vn 0.924086 0.182069 0.336030
+vn 0.797925 0.543639 0.260333
+vn 0.925360 0.178276 0.334555
+vn -0.288668 0.941929 -0.171583
+vn -0.319070 0.931309 -0.175667
+vn -0.127562 0.979038 -0.158782
+vn -0.162640 0.974543 -0.154320
+vn 0.420132 0.904893 0.068256
+vn 0.229028 0.973075 -0.025929
+vn 0.435825 0.896184 0.083134
+vn 0.241964 0.970285 -0.000851
+vn 0.229028 0.973075 -0.025929
+vn 0.029564 0.993979 -0.105511
+vn 0.241964 0.970285 -0.000851
+vn 0.022304 0.996417 -0.081582
+vn -0.021121 0.996404 -0.082057
+vn -0.033093 0.995862 -0.084644
+vn -0.662682 0.717461 -0.214717
+vn -0.672587 0.707704 -0.216291
+vn -0.662682 0.717461 -0.214717
+vn -0.672587 0.707704 -0.216291
+vn -0.925894 0.285483 -0.247428
+vn -0.928295 0.277526 -0.247483
+vn -0.925894 0.285483 -0.247428
+vn -0.928295 0.277526 -0.247483
+vn -0.823407 0.511488 -0.245725
+vn -0.831475 0.497806 -0.246654
+vn -0.823407 0.511488 -0.245725
+vn -0.831475 0.497806 -0.246654
+vn -0.512042 0.834657 -0.202881
+vn -0.529390 0.822898 -0.206360
+vn -0.512042 0.834657 -0.202881
+vn -0.529390 0.822898 -0.206360
+vn -0.288668 0.941929 -0.171583
+vn -0.319070 0.931309 -0.175667
+vn 0.574137 0.815944 0.067845
+vn 0.556240 0.828623 0.063101
+vn -0.021121 0.996404 -0.082057
+vn -0.033093 0.995862 -0.084644
+vn -0.659229 0.740088 -0.132991
+vn 0.166266 0.955312 0.244407
+vn -0.668050 0.725333 -0.166137
+vn 0.183065 0.943172 0.277333
+vn -0.668050 0.725333 -0.166137
+vn 0.183065 0.943172 0.277333
+vn -0.595559 0.792651 -0.130440
+vn 0.085312 0.933115 0.349310
+vn 0.166266 0.955312 0.244407
+vn 0.160384 0.955230 0.248620
+vn 0.828741 0.395155 0.396283
+vn 0.826142 0.403832 0.392950
+vn -0.595559 0.792651 -0.130440
+vn 0.085312 0.933115 0.349310
+vn -0.522701 0.849084 -0.076424
+vn -0.237276 0.893795 0.380566
+vn -0.522701 0.849084 -0.076424
+vn -0.237276 0.893795 0.380566
+vn -0.504863 0.861206 -0.058622
+vn -0.313831 0.936244 0.157978
+vn 0.800592 0.429286 0.418050
+vn 0.778463 0.456031 0.431313
+vn 0.904394 0.138702 0.403526
+vn 0.893132 0.147016 0.425091
+vn 0.404850 0.386841 -0.828523
+vn 0.343864 0.281497 -0.895833
+vn 0.878159 0.292607 -0.378441
+vn 0.328340 -0.039314 -0.943741
+vn 0.259271 0.332001 -0.906948
+vn 0.041076 0.962302 -0.268864
+vn 0.211182 0.432073 -0.876764
+vn 0.102749 0.955299 -0.277212
+vn 0.211182 0.432073 -0.876764
+vn 0.102749 0.955299 -0.277212
+vn 0.327299 0.467982 -0.820895
+vn 0.404850 0.386841 -0.828523
+vn -0.102666 0.994225 0.031242
+vn -0.128290 0.991660 -0.012341
+vn -0.312030 0.949832 0.021361
+vn -0.184169 0.982584 -0.024724
+vn -0.080346 0.990455 0.111999
+vn -0.057497 0.997915 0.029333
+vn -0.042093 0.991406 0.123866
+vn -0.011988 0.999298 0.035486
+vn -0.080346 0.990455 0.111999
+vn -0.042093 0.991406 0.123866
+vn -0.091869 0.985605 0.141925
+vn -0.054297 0.985781 0.159021
+vn -0.033027 0.994812 0.096225
+vn -0.076073 0.993656 0.082830
+vn -0.054297 0.985781 0.159021
+vn -0.091869 0.985605 0.141925
+vn -0.076073 0.993656 0.082830
+vn -0.033027 0.994812 0.096225
+vn 0.041076 0.962302 -0.268864
+vn 0.102749 0.955299 -0.277212
+vn -0.435206 0.396655 0.808245
+vn -0.340984 0.507426 0.791359
+vn -0.860330 0.353791 0.366965
+vn -0.921914 0.316405 0.223525
+vn 0.632332 0.380741 0.674680
+vn 0.590298 0.473371 0.653811
+vn -0.340984 0.507426 0.791359
+vn -0.213750 0.759871 0.613928
+vn 0.797925 0.543639 0.260333
+vn 0.925360 0.178276 0.334555
+vn 0.798208 0.531740 0.283050
+vn 0.921756 0.173570 0.346755
+vn -0.960978 0.276536 -0.007045
+vn -0.961629 0.167435 -0.217337
+vn -0.980323 0.196310 0.020722
+vn -0.967265 0.067379 -0.244658
+vn -0.995090 0.081971 0.055469
+vn -0.980323 0.196310 0.020722
+vn -0.952942 -0.091500 -0.289013
+vn -0.967265 0.067379 -0.244658
+vn 0.997471 -0.070302 0.010480
+vn 0.702752 0.409906 0.581479
+vn 0.997242 -0.060896 -0.042430
+vn 0.680941 0.535093 0.499995
+vn 0.659102 -0.536915 -0.526599
+vn 0.628272 -0.581659 -0.516669
+vn 0.013919 -0.677469 -0.735420
+vn 0.033060 -0.757959 -0.651464
+vn -0.044275 -0.692298 -0.720253
+vn 0.013919 -0.677469 -0.735420
+vn -0.726277 -0.467211 -0.504217
+vn -0.671252 -0.511922 -0.536057
+vn -0.636543 -0.532402 -0.557998
+vn -0.044275 -0.692298 -0.720253
+vn -0.858548 -0.332375 -0.390413
+vn -0.726277 -0.467211 -0.504217
+vn -0.951807 -0.304902 -0.033146
+vn -0.873993 -0.466634 0.135603
+vn -0.977660 -0.148473 -0.148782
+vn -0.941496 -0.325287 0.088173
+vn -0.636543 -0.532402 -0.557998
+vn -0.812910 -0.241595 -0.529915
+vn -0.977660 -0.148473 -0.148782
+vn -0.974170 -0.084331 -0.209477
+vn -0.640926 -0.664322 0.384566
+vn -0.700585 -0.705722 0.105533
+vn -0.979377 -0.201403 -0.016052
+vn -0.951807 -0.304902 -0.033146
+vn -0.579703 -0.570241 0.582040
+vn -0.640926 -0.664322 0.384566
+vn -0.768623 -0.364619 0.525616
+vn -0.843274 -0.357186 0.401632
+vn 0.007134 -0.999653 -0.025367
+vn 0.340559 -0.936910 0.078867
+vn 0.073054 -0.961831 -0.263711
+vn 0.501348 -0.859685 -0.097934
+vn 0.340559 -0.936910 0.078867
+vn 0.108508 -0.994062 0.008158
+vn 0.501348 -0.859685 -0.097934
+vn 0.121011 -0.951619 -0.282449
+vn -0.985135 0.138771 -0.101255
+vn -0.967214 0.242099 0.076721
+vn -0.960980 0.251215 -0.115795
+vn -0.985495 0.075675 -0.151895
+vn -0.896426 0.370856 0.242664
+vn -0.916806 0.271865 0.292501
+vn -0.990429 0.046734 -0.129873
+vn -0.981517 0.147442 -0.122002
+vn -0.990429 0.046734 -0.129873
+vn -0.981517 0.147442 -0.122002
+vn -0.905216 0.175657 -0.386948
+vn -0.793939 0.094207 -0.600654
+vn 0.458438 0.502330 -0.733144
+vn -0.772674 0.138368 -0.619539
+vn 0.278252 -0.033763 -0.959915
+vn -0.674593 0.037079 -0.737258
+vn -0.992227 0.010515 -0.124000
+vn -0.981580 0.136826 -0.133337
+vn -0.772674 0.138368 -0.619539
+vn -0.674593 0.037079 -0.737258
+vn 0.023510 0.714181 0.699566
+vn -0.197676 0.461853 0.864648
+vn -0.896426 0.370856 0.242664
+vn -0.916806 0.271865 0.292501
+vn -0.268509 0.480816 0.834697
+vn -0.261265 0.425815 0.866269
+vn -0.935657 0.159034 0.315048
+vn -0.881615 0.267748 0.388671
+vn -0.935657 0.159034 0.315048
+vn -0.881615 0.267748 0.388671
+vn -0.992227 0.010515 -0.124000
+vn -0.981580 0.136826 -0.133337
+vn -0.767850 0.619586 0.162848
+vn -0.334074 0.940287 -0.065236
+vn -0.688282 0.687478 0.231605
+vn 0.028759 0.950885 0.308204
+vn -0.866726 0.465521 0.179099
+vn -0.941947 0.273720 0.194458
+vn -0.977902 0.164431 -0.129112
+vn -0.977411 0.156126 -0.142449
+vn -0.866726 0.465521 0.179099
+vn -0.553622 0.832169 0.031578
+vn 0.011032 0.804062 0.594443
+vn 0.078233 0.974644 0.209639
+vn -0.891732 0.353561 -0.282503
+vn -0.863946 0.132009 -0.485974
+vn 0.087487 0.794312 -0.601177
+vn 0.095026 0.160177 -0.982504
+vn -0.879008 0.281980 -0.384490
+vn 0.070217 0.822865 -0.563882
+vn -0.650195 0.739277 -0.175259
+vn -0.035893 0.997239 -0.065015
+vn -0.916457 0.399227 0.026904
+vn -0.941971 0.315638 0.114296
+vn -0.977322 0.097112 -0.188178
+vn -0.964945 0.177274 -0.193534
+vn -0.977322 0.097112 -0.188178
+vn -0.964945 0.177274 -0.193534
+vn -0.879008 0.281980 -0.384490
+vn -0.830526 0.146676 -0.537321
+vn -0.134183 0.917172 0.375222
+vn -0.213711 0.655133 0.724658
+vn -0.916457 0.399227 0.026904
+vn -0.941971 0.315638 0.114296
+vn -0.874346 0.272889 -0.401312
+vn -0.831926 0.125123 -0.540595
+vn 0.179688 0.771191 -0.610718
+vn 0.295159 0.171396 -0.939949
+vn -0.259460 0.592958 0.762287
+vn -0.170566 0.848435 0.501064
+vn -0.958484 0.262056 0.112407
+vn -0.845199 0.524426 0.103037
+vn -0.958484 0.262056 0.112407
+vn -0.845199 0.524426 0.103037
+vn -0.969566 0.152212 -0.191762
+vn -0.836662 0.511391 -0.196152
+vn -0.831926 0.125123 -0.540595
+vn -0.969566 0.152212 -0.191762
+vn -0.736146 0.415948 -0.533926
+vn -0.836662 0.511391 -0.196152
+vn -0.161338 0.837556 0.521986
+vn 0.827160 0.376818 0.416911
+vn -0.259460 0.592958 0.762287
+vn 0.831417 0.253505 0.494451
+vn -0.027906 0.986866 0.159113
+vn 0.624109 0.766774 0.150150
+vn -0.161338 0.837556 0.521986
+vn 0.827160 0.376818 0.416911
+vn -0.860330 0.353791 0.366965
+vn -0.910534 0.342729 -0.231223
+vn -0.767850 0.619586 0.162848
+vn -0.334074 0.940287 -0.065236
+vn 0.675271 -0.526987 0.516037
+vn 0.663964 -0.698881 0.265927
+vn 0.927367 -0.364383 0.084945
+vn 0.939925 -0.339871 0.032063
+vn 0.112184 -0.867919 0.483872
+vn 0.063818 -0.939926 0.335359
+vn 0.663964 -0.698881 0.265927
+vn 0.713242 -0.667680 0.213281
+vn -0.776526 -0.600706 0.190158
+vn -0.936896 -0.345878 -0.050935
+vn -0.900544 -0.427944 0.076709
+vn -0.987666 -0.139896 -0.070322
+vn 0.664225 0.171408 0.727616
+vn 0.954176 0.065620 0.291964
+vn 0.656536 0.389929 0.645691
+vn 0.938113 0.270099 0.216774
+vn 0.913146 -0.108202 0.393011
+vn 0.986681 -0.160861 0.024158
+vn 0.954176 0.065620 0.291964
+vn 0.999481 -0.027722 0.016431
+vn -0.023036 0.930504 0.365556
+vn -0.706504 0.663814 0.245363
+vn 0.008001 0.992188 0.124493
+vn -0.658139 0.752896 0.000516
+vn -0.706504 0.663814 0.245363
+vn -0.997392 -0.071807 -0.007256
+vn -0.658139 0.752896 0.000516
+vn -0.990222 -0.096545 -0.100692
+vn -0.997392 -0.071807 -0.007256
+vn -0.626985 -0.753720 -0.196966
+vn -0.990222 -0.096545 -0.100692
+vn -0.583224 -0.809636 -0.065870
+vn 0.676431 -0.709701 -0.196891
+vn 0.701572 -0.651354 -0.289023
+vn 0.999584 0.002528 0.028729
+vn 0.999366 0.000052 0.035602
+vn 0.672543 0.627150 0.392898
+vn 0.664809 0.690913 0.284022
+vn 0.999366 0.000052 0.035602
+vn 0.999584 0.002528 0.028729
+vn 0.979839 0.197540 -0.029896
+vn 0.938113 0.270099 0.216774
+vn 0.999481 -0.027722 0.016431
+vn 0.954176 0.065620 0.291964
+vn -0.705584 0.661153 -0.255006
+vn -0.640396 0.684594 -0.348171
+vn -0.765700 0.506000 -0.397075
+vn -0.798840 0.476531 -0.367115
+vn 0.000000 0.914084 -0.405526
+vn 0.000000 0.982607 -0.185696
+vn -0.384143 0.831267 -0.401784
+vn -0.404654 0.896296 -0.181406
+vn 0.810444 0.451070 -0.373787
+vn 0.977555 0.035295 -0.207704
+vn 0.914820 0.367445 -0.167598
+vn 0.991549 -0.027578 -0.126764
+vn 0.810444 0.451070 -0.373787
+vn 0.856622 0.305541 -0.415745
+vn 0.923376 0.016173 -0.383555
+vn 0.909508 0.059095 -0.411464
+vn 0.758039 0.479330 -0.442289
+vn 0.763974 0.473289 -0.438567
+vn 0.743929 0.166526 -0.647178
+vn 0.544476 0.250647 -0.800451
+vn -0.894979 0.406506 0.183756
+vn -0.899399 0.436410 0.025075
+vn -0.985387 0.065217 0.157349
+vn -0.988005 0.150047 -0.036506
+vn -0.994179 0.081954 0.069934
+vn -0.998056 -0.003899 0.062207
+vn -0.990152 0.034147 -0.135770
+vn -0.935830 -0.094431 -0.339567
+vn -0.899209 0.339516 -0.275956
+vn -0.901307 0.105708 -0.420085
+vn -0.961629 0.167435 -0.217337
+vn -0.873085 -0.023629 -0.486995
+vn -0.859918 0.235911 0.452645
+vn -0.846921 -0.150514 0.509972
+vn -0.907051 0.212849 0.363254
+vn -0.913877 -0.154344 0.375508
+vn -0.894979 0.406506 0.183756
+vn -0.985387 0.065217 0.157349
+vn -0.859918 0.235911 0.452645
+vn -0.846921 -0.150514 0.509972
+vn -0.145026 0.810245 0.567865
+vn -0.121654 0.937844 0.325037
+vn -0.877257 0.466635 0.112573
+vn -0.653132 0.752765 0.082235
+vn 0.781494 0.410453 0.469889
+vn 0.958207 0.200878 0.203685
+vn 0.529233 0.778137 0.338253
+vn 0.642185 0.761102 0.091229
+vn 0.955021 0.224620 0.193599
+vn 0.936826 0.282713 0.205986
+vn 0.602852 0.794248 0.075757
+vn 0.590351 0.803904 0.072277
+vn 0.781494 0.410453 0.469889
+vn -0.145026 0.810245 0.567865
+vn 0.826899 0.437953 0.352754
+vn -0.097523 0.969757 0.223743
+vn 0.826899 0.437953 0.352754
+vn 0.685232 0.720650 0.105452
+vn 0.936826 0.282713 0.205986
+vn 0.922759 0.341429 0.178725
+vn -0.167453 -0.861951 0.478539
+vn -0.757803 -0.625531 0.185597
+vn -0.021130 -0.996418 -0.081888
+vn -0.770777 -0.606112 -0.196295
+vn -0.770777 -0.606112 -0.196295
+vn -0.639539 -0.431767 -0.636056
+vn -0.021130 -0.996418 -0.081888
+vn 0.172610 -0.607962 -0.774976
+vn 0.858733 -0.396735 -0.324313
+vn 0.957991 -0.036975 -0.284404
+vn 0.793726 -0.595159 0.125638
+vn 0.969865 -0.131404 0.205172
+vn 0.957991 -0.036975 -0.284404
+vn 0.976608 -0.205656 -0.062796
+vn 0.969865 -0.131404 0.205172
+vn 0.975222 -0.049675 0.215579
+vn 0.688350 -0.374452 0.621257
+vn 0.544356 -0.645479 0.535755
+vn 0.967709 -0.144505 0.206538
+vn 0.779970 -0.614233 0.119850
+vn 0.874440 -0.381462 -0.299735
+vn 0.961852 -0.006938 -0.273481
+vn 0.804700 -0.578896 0.131674
+vn 0.971216 -0.122220 0.204457
+vn 0.961852 -0.006938 -0.273481
+vn 0.988383 -0.133653 -0.072354
+vn 0.971216 -0.122220 0.204457
+vn 0.975387 -0.045548 0.215746
+vn 0.804700 -0.578896 0.131674
+vn -0.029987 -0.995925 -0.085056
+vn 0.874440 -0.381462 -0.299735
+vn 0.193995 -0.605577 -0.771779
+vn 0.923094 0.185621 0.336813
+vn 0.890875 0.331237 0.310843
+vn 0.924086 0.182069 0.336030
+vn 0.892423 0.327208 0.310670
+vn 0.685085 0.700689 0.199234
+vn 0.435825 0.896184 0.083134
+vn 0.690264 0.694722 0.202230
+vn 0.443790 0.891612 0.089877
+vn 0.029564 0.993979 -0.105511
+vn -0.162640 0.974543 -0.154320
+vn 0.022304 0.996417 -0.081582
+vn -0.187178 0.972008 -0.142004
+vn 0.574137 0.815944 0.067845
+vn 0.590351 0.803904 0.072277
+vn 0.922759 0.341429 0.178725
+vn 0.936826 0.282713 0.205986
+vn 0.556240 0.828623 0.063101
+vn 0.574137 0.815944 0.067845
+vn 0.946939 0.274622 0.167000
+vn 0.922759 0.341429 0.178725
+vn 0.890875 0.331237 0.310843
+vn 0.690264 0.694722 0.202230
+vn 0.892423 0.327208 0.310670
+vn 0.695205 0.689024 0.204784
+vn 0.828741 0.395155 0.396283
+vn 0.837712 0.325109 0.438796
+vn 0.166266 0.955312 0.244407
+vn 0.183065 0.943172 0.277333
+vn 0.818052 0.411765 0.401547
+vn 0.800592 0.429286 0.418050
+vn 0.914415 0.133286 0.382205
+vn 0.904394 0.138702 0.403526
+vn 0.826142 0.403832 0.392950
+vn 0.818052 0.411765 0.401547
+vn 0.919134 0.129894 0.371915
+vn 0.914415 0.133286 0.382205
+vn 0.828741 0.395155 0.396283
+vn 0.826142 0.403832 0.392950
+vn 0.917762 0.126369 0.376490
+vn 0.919134 0.129894 0.371915
+vn 0.949586 0.168945 0.264092
+vn 0.957872 0.044163 -0.283779
+vn 0.869902 0.437974 0.226826
+vn 0.931104 0.181580 -0.316346
+vn 0.878159 0.292607 -0.378441
+vn 0.328340 -0.039314 -0.943741
+vn 0.957872 0.044163 -0.283779
+vn 0.303534 -0.032065 -0.952281
+vn 0.343864 0.281497 -0.895833
+vn 0.404850 0.386841 -0.828523
+vn 0.134897 0.960135 -0.244832
+vn 0.102749 0.955299 -0.277212
+vn -0.057497 0.997915 0.029333
+vn -0.024191 0.999561 -0.017114
+vn -0.011988 0.999298 0.035486
+vn 0.001434 0.999990 -0.004278
+vn -0.184169 0.982584 -0.024724
+vn -0.128290 0.991660 -0.012341
+vn -0.024191 0.999561 -0.017114
+vn -0.102666 0.994225 0.031242
+vn -0.312030 0.949832 0.021361
+vn -0.313831 0.936244 0.157978
+vn -0.102666 0.994225 0.031242
+vn -0.268172 0.533654 0.802058
+vn 0.590298 0.473371 0.653811
+vn 0.869902 0.437974 0.226826
+vn -0.213750 0.759871 0.613928
+vn 0.021402 0.997043 -0.073811
+vn 0.893132 0.147016 0.425091
+vn 0.891810 0.157108 0.424254
+vn 0.859642 0.279858 0.427429
+vn 0.857593 0.296836 0.420026
+vn 0.891810 0.157108 0.424254
+vn 0.906979 0.166661 0.386800
+vn 0.857593 0.296836 0.420026
+vn 0.873030 0.314035 0.373096
+vn 0.921756 0.173570 0.346755
+vn 0.889559 0.320923 0.325105
+vn 0.906979 0.166661 0.386800
+vn 0.873030 0.314035 0.373096
+vn 0.904394 0.138702 0.403526
+vn 0.893132 0.147016 0.425091
+vn 0.870994 0.269437 0.410821
+vn 0.859642 0.279858 0.427429
+vn -0.995459 -0.051063 0.080340
+vn -0.995090 0.081971 0.055469
+vn -0.858548 -0.332375 -0.390413
+vn -0.952942 -0.091500 -0.289013
+vn -0.601249 0.193949 0.775167
+vn -0.995459 -0.051063 0.080340
+vn -0.638377 0.301975 0.708016
+vn -0.996329 -0.059885 0.061176
+vn 0.187861 0.418921 0.888377
+vn -0.638377 0.301975 0.708016
+vn 0.051424 0.588536 0.806834
+vn -0.664039 0.433624 0.609116
+vn 0.702752 0.409906 0.581479
+vn 0.051424 0.588536 0.806834
+vn 0.680941 0.535093 0.499995
+vn 0.012169 0.725743 0.687858
+vn 0.997242 -0.060896 -0.042430
+vn 0.989288 -0.057495 -0.134176
+vn 0.628272 -0.581659 -0.516669
+vn 0.583279 -0.711794 -0.391324
+vn -0.858548 -0.332375 -0.390413
+vn -0.952942 -0.091500 -0.289013
+vn -0.636543 -0.532402 -0.557998
+vn -0.812910 -0.241595 -0.529915
+vn -0.977660 -0.148473 -0.148782
+vn -0.974170 -0.084331 -0.209477
+vn -0.951807 -0.304902 -0.033146
+vn -0.979377 -0.201403 -0.016052
+vn -0.640926 -0.664322 0.384566
+vn -0.979377 -0.201403 -0.016052
+vn -0.843274 -0.357186 0.401632
+vn -0.990994 -0.133401 0.011607
+vn -0.768623 -0.364619 0.525616
+vn -0.973808 -0.137483 0.181097
+vn -0.579703 -0.570241 0.582040
+vn -0.922664 -0.284367 0.260437
+vn -0.230678 -0.855446 0.463681
+vn -0.579703 -0.570241 0.582040
+vn -0.660270 -0.657824 0.362369
+vn -0.922664 -0.284367 0.260437
+vn -0.230678 -0.855446 0.463681
+vn -0.083933 -0.975549 0.203125
+vn 0.132750 -0.947574 0.290657
+vn 0.416058 -0.904926 0.089470
+vn -0.401308 -0.913510 0.066719
+vn -0.553369 -0.824734 -0.116603
+vn 0.108508 -0.994062 0.008158
+vn 0.121011 -0.951619 -0.282449
+vn -0.415445 -0.898414 0.142329
+vn -0.326613 -0.945157 -0.001567
+vn -0.401308 -0.913510 0.066719
+vn -0.553369 -0.824734 -0.116603
+vn -0.208805 -0.967199 0.144662
+vn 0.548709 -0.835567 -0.027312
+vn -0.326613 -0.945157 -0.001567
+vn 0.793677 -0.602161 -0.086482
+vn 0.132750 -0.947574 0.290657
+vn 0.416058 -0.904926 0.089470
+vn 0.548709 -0.835567 -0.027312
+vn 0.793677 -0.602161 -0.086482
+vn -0.936896 -0.345878 -0.050935
+vn -0.954646 0.048429 -0.293778
+vn -0.987666 -0.139896 -0.070322
+vn -0.962842 0.161324 -0.216588
+vn 0.007134 -0.999653 -0.025367
+vn 0.073054 -0.961831 -0.263711
+vn -0.954646 0.048429 -0.293778
+vn -0.748989 0.488852 -0.447257
+vn -0.905216 0.175657 -0.386948
+vn 0.324688 0.693699 -0.642930
+vn -0.698148 0.715599 -0.022533
+vn 0.112937 0.962118 0.248142
+vn -0.967214 0.242099 0.076721
+vn -0.698148 0.715599 -0.022533
+vn -0.263348 0.712169 0.650740
+vn 0.112937 0.962118 0.248142
+vn 0.278252 -0.033763 -0.959915
+vn 0.921941 -0.020501 -0.386787
+vn 0.458438 0.502330 -0.733144
+vn 0.985913 0.147465 -0.078929
+vn 0.236858 0.943905 0.230090
+vn 0.458438 0.502330 -0.733144
+vn 0.737338 0.643323 0.206078
+vn 0.985913 0.147465 -0.078929
+vn -0.197676 0.461853 0.864648
+vn 0.023510 0.714181 0.699566
+vn 0.777823 0.218808 0.589164
+vn 0.810749 0.328661 0.484426
+vn 0.023510 0.714181 0.699566
+vn 0.236858 0.943905 0.230090
+vn 0.810749 0.328661 0.484426
+vn 0.737338 0.643323 0.206078
+vn -0.261265 0.425815 0.866269
+vn -0.268509 0.480816 0.834697
+vn 0.646824 0.274864 0.711385
+vn 0.725857 0.393420 0.564227
+vn -0.268509 0.480816 0.834697
+vn -0.276713 0.764952 0.581617
+vn 0.725857 0.393420 0.564227
+vn 0.028759 0.950885 0.308204
+vn -0.967214 0.242099 0.076721
+vn -0.927273 0.283170 0.244909
+vn -0.985495 0.075675 -0.151895
+vn -0.979135 0.152338 -0.134491
+vn -0.985495 0.075675 -0.151895
+vn -0.979135 0.152338 -0.134491
+vn -0.894898 0.268670 -0.356334
+vn -0.809100 0.101702 -0.578804
+vn -0.894898 0.268670 -0.356334
+vn 0.204213 0.812568 -0.545921
+vn -0.553622 0.832169 0.031578
+vn 0.078233 0.974644 0.209639
+vn -0.941947 0.273720 0.194458
+vn -0.866726 0.465521 0.179099
+vn -0.066120 0.513090 0.855785
+vn 0.011032 0.804062 0.594443
+vn -0.941947 0.273720 0.194458
+vn -0.850391 0.470388 0.235736
+vn -0.977411 0.156126 -0.142449
+vn -0.877283 0.470637 -0.094213
+vn -0.977411 0.156126 -0.142449
+vn -0.877283 0.470637 -0.094213
+vn -0.863946 0.132009 -0.485974
+vn -0.803486 0.371568 -0.465132
+vn -0.027906 0.986866 0.159113
+vn 0.087487 0.794312 -0.601177
+vn 0.624109 0.766774 0.150150
+vn 0.991701 0.117389 -0.052424
+vn -0.879008 0.281980 -0.384490
+vn -0.830526 0.146676 -0.537321
+vn 0.070217 0.822865 -0.563882
+vn 0.190730 0.219293 -0.956835
+vn -0.035893 0.997239 -0.065015
+vn 0.685232 0.720650 0.105452
+vn -0.097523 0.969757 0.223743
+vn 0.826899 0.437953 0.352754
+vn -0.134183 0.917172 0.375222
+vn 0.840394 0.369180 0.396793
+vn -0.213711 0.655133 0.724658
+vn 0.822859 0.278266 0.495450
+vn -0.007759 0.999286 -0.036967
+vn 0.665767 0.738551 0.106285
+vn -0.134183 0.917172 0.375222
+vn 0.840394 0.369180 0.396793
+vn -0.007759 0.999286 -0.036967
+vn 0.179688 0.771191 -0.610718
+vn 0.665767 0.738551 0.106285
+vn 0.980209 0.197763 -0.008934
+vn -0.259460 0.592958 0.762287
+vn 0.831417 0.253505 0.494451
+vn -0.170566 0.848435 0.501064
+vn 0.724760 0.515471 0.457180
+vn -0.831926 0.125123 -0.540595
+vn -0.736146 0.415948 -0.533926
+vn 0.295159 0.171396 -0.939949
+vn 0.212208 0.666028 -0.715105
+vn -0.860330 0.353791 0.366965
+vn -0.921914 0.316405 0.223525
+vn -0.910534 0.342729 -0.231223
+vn -0.956463 0.156206 -0.246534
+vn 0.063818 -0.939926 0.335359
+vn -0.567340 -0.779343 0.265989
+vn 0.019464 -0.950217 0.310980
+vn -0.678042 -0.711924 0.182819
+vn -0.776526 -0.600706 0.190158
+vn -0.900544 -0.427944 0.076709
+vn -0.567340 -0.779343 0.265989
+vn -0.678042 -0.711924 0.182819
+vn 0.927367 -0.364383 0.084945
+vn 0.939925 -0.339871 0.032063
+vn 0.986681 -0.160861 0.024158
+vn 0.976572 -0.163975 -0.139357
+vn 0.664809 0.690913 0.284022
+vn -0.023036 0.930504 0.365556
+vn 0.652617 0.747865 0.121608
+vn 0.008001 0.992188 0.124493
+vn 0.020591 -0.964701 -0.262543
+vn 0.005583 -0.999476 -0.031885
+vn -0.626985 -0.753720 -0.196966
+vn -0.583224 -0.809636 -0.065870
+vn 0.999584 0.002528 0.028729
+vn 0.999399 0.003856 0.034455
+vn 0.676431 -0.709701 -0.196891
+vn 0.641525 -0.766870 -0.018873
+vn 0.676431 -0.709701 -0.196891
+vn 0.641525 -0.766870 -0.018873
+vn 0.020591 -0.964701 -0.262543
+vn 0.005583 -0.999476 -0.031885
+vn 0.999481 -0.027722 0.016431
+vn 0.964934 -0.124709 -0.230975
+vn 0.979839 0.197540 -0.029896
+vn 0.940418 0.094925 -0.326502
+vn 0.763974 0.473289 -0.438567
+vn 0.940418 0.094925 -0.326502
+vn 0.544476 0.250647 -0.800451
+vn 0.647946 -0.090056 -0.756344
+vn -0.789265 0.611990 -0.050296
+vn -0.718501 0.636393 -0.280641
+vn -0.874636 0.465255 -0.136195
+vn -0.657804 0.584721 -0.474758
+vn -0.705584 0.661153 -0.255006
+vn -0.765700 0.506000 -0.397075
+vn -0.718501 0.636393 -0.280641
+vn -0.640402 0.608318 -0.468865
+vn -0.640396 0.684594 -0.348171
+vn -0.724423 0.556533 -0.406797
+vn -0.798840 0.476531 -0.367115
+vn -0.837983 0.396743 -0.374672
+vn -0.724423 0.556533 -0.406797
+vn -0.512826 0.733147 -0.446661
+vn -0.872286 0.250070 -0.420217
+vn -0.878001 0.366196 -0.308245
+vn -0.878001 0.366196 -0.308245
+vn -0.384143 0.831267 -0.401784
+vn -0.923601 0.359041 -0.134355
+vn -0.404654 0.896296 -0.181406
+vn 0.382398 0.903451 -0.193775
+vn 0.397324 0.915640 -0.061137
+vn 0.000000 0.982607 -0.185696
+vn 0.000000 0.998695 -0.051075
+vn 0.810444 0.451070 -0.373787
+vn 0.923376 0.016173 -0.383555
+vn 0.977555 0.035295 -0.207704
+vn 0.946209 -0.025916 -0.322518
+vn 0.914820 0.367445 -0.167598
+vn 0.917888 0.389047 -0.078256
+vn 0.382398 0.903451 -0.193775
+vn 0.397324 0.915640 -0.061137
+vn 0.758039 0.479330 -0.442289
+vn 0.743929 0.166526 -0.647178
+vn 0.856622 0.305541 -0.415745
+vn 0.909508 0.059095 -0.411464
+vn -0.899399 0.436410 0.025075
+vn -0.874636 0.465255 -0.136195
+vn -0.988005 0.150047 -0.036506
+vn -0.942440 0.202366 -0.266185
+vn -0.901307 0.105708 -0.420085
+vn -0.990152 0.034147 -0.135770
+vn -0.873085 -0.023629 -0.486995
+vn -0.935830 -0.094431 -0.339567
+vn -0.998056 -0.003899 0.062207
+vn -0.913877 -0.154344 0.375508
+vn -0.998940 -0.040744 -0.021440
+vn -0.995425 -0.094097 -0.016560
+vn -0.145026 0.810245 0.567865
+vn 0.781494 0.410453 0.469889
+vn -0.121654 0.937844 0.325037
+vn 0.529233 0.778137 0.338253
+vn 0.642185 0.761102 0.091229
+vn -0.076802 0.995098 -0.062296
+vn 0.529233 0.778137 0.338253
+vn -0.121654 0.937844 0.325037
+vn -0.167453 -0.861951 0.478539
+vn -0.021130 -0.996418 -0.081888
+vn 0.593112 -0.634614 0.495462
+vn 0.793726 -0.595159 0.125638
+vn 0.172610 -0.607962 -0.774976
+vn 0.858733 -0.396735 -0.324313
+vn -0.021130 -0.996418 -0.081888
+vn 0.793726 -0.595159 0.125638
+vn 0.732913 -0.335253 0.591983
+vn 0.593112 -0.634614 0.495462
+vn 0.969865 -0.131404 0.205172
+vn 0.793726 -0.595159 0.125638
+vn 0.924086 0.182069 0.336030
+vn 0.892423 0.327208 0.310670
+vn 0.925360 0.178276 0.334555
+vn 0.894124 0.323193 0.309981
+vn -0.319070 0.931309 -0.175667
+vn -0.342495 0.923325 -0.173691
+vn -0.162640 0.974543 -0.154320
+vn -0.187178 0.972008 -0.142004
+vn -0.529390 0.822898 -0.206360
+vn -0.545921 0.811500 -0.208416
+vn -0.319070 0.931309 -0.175667
+vn -0.342495 0.923325 -0.173691
+vn 0.435825 0.896184 0.083134
+vn 0.241964 0.970285 -0.000851
+vn 0.443790 0.891612 0.089877
+vn 0.247830 0.968764 0.008703
+vn 0.241964 0.970285 -0.000851
+vn 0.022304 0.996417 -0.081582
+vn 0.247830 0.968764 0.008703
+vn 0.019947 0.997093 -0.073536
+vn 0.556240 0.828623 0.063101
+vn 0.536521 0.841899 0.057885
+vn -0.033093 0.995862 -0.084644
+vn -0.045519 0.995135 -0.087378
+vn -0.033093 0.995862 -0.084644
+vn -0.045519 0.995135 -0.087378
+vn -0.672587 0.707704 -0.216291
+vn -0.682807 0.697343 -0.217914
+vn -0.672587 0.707704 -0.216291
+vn -0.682807 0.697343 -0.217914
+vn -0.928295 0.277526 -0.247483
+vn -0.930642 0.269569 -0.247465
+vn -0.928295 0.277526 -0.247483
+vn -0.930642 0.269569 -0.247465
+vn -0.831475 0.497806 -0.246654
+vn -0.839241 0.484170 -0.247496
+vn -0.831475 0.497806 -0.246654
+vn -0.839241 0.484170 -0.247496
+vn -0.529390 0.822898 -0.206360
+vn -0.545921 0.811500 -0.208416
+vn 0.946939 0.274622 0.167000
+vn 0.953441 0.231054 0.193814
+vn 0.556240 0.828623 0.063101
+vn 0.536521 0.841899 0.057885
+vn 0.183065 0.943172 0.277333
+vn 0.837712 0.325109 0.438796
+vn 0.085312 0.933115 0.349310
+vn 0.784214 -0.123544 0.608067
+vn 0.837712 0.325109 0.438796
+vn 0.828741 0.395155 0.396283
+vn 0.916914 0.095317 0.387536
+vn 0.917762 0.126369 0.376490
+vn 0.085312 0.933115 0.349310
+vn 0.784214 -0.123544 0.608067
+vn -0.237276 0.893795 0.380566
+vn 0.217299 -0.639942 0.737058
+vn -0.237276 0.893795 0.380566
+vn 0.217299 -0.639942 0.737058
+vn -0.313831 0.936244 0.157978
+vn -0.268172 0.533654 0.802058
+vn 0.914415 0.133286 0.382205
+vn 0.904394 0.138702 0.403526
+vn 0.880889 0.263296 0.393332
+vn 0.870994 0.269437 0.410821
+vn 0.343864 0.281497 -0.895833
+vn 0.134897 0.960135 -0.244832
+vn 0.315662 0.369827 -0.873834
+vn 0.351787 0.927693 -0.125027
+vn 0.343864 0.281497 -0.895833
+vn 0.315662 0.369827 -0.873834
+vn 0.328340 -0.039314 -0.943741
+vn -0.521833 0.168360 -0.836269
+vn -0.024191 0.999561 -0.017114
+vn -0.102666 0.994225 0.031242
+vn 0.001434 0.999990 -0.004278
+vn -0.268172 0.533654 0.802058
+vn -0.011988 0.999298 0.035486
+vn 0.028263 0.997934 0.057694
+vn -0.042093 0.991406 0.123866
+vn -0.003732 0.990692 0.136070
+vn -0.054297 0.985781 0.159021
+vn -0.042093 0.991406 0.123866
+vn -0.013442 0.985940 0.166561
+vn -0.003732 0.990692 0.136070
+vn -0.033027 0.994812 0.096225
+vn -0.054297 0.985781 0.159021
+vn 0.009535 0.993829 0.110509
+vn -0.013442 0.985940 0.166561
+vn 0.102749 0.955299 -0.277212
+vn -0.033027 0.994812 0.096225
+vn 0.134897 0.960135 -0.244832
+vn 0.009535 0.993829 0.110509
+vn -0.921914 0.316405 0.223525
+vn -0.340984 0.507426 0.791359
+vn -0.850579 0.465078 0.245394
+vn -0.213750 0.759871 0.613928
+vn 0.925360 0.178276 0.334555
+vn 0.894124 0.323193 0.309981
+vn 0.921756 0.173570 0.346755
+vn 0.889559 0.320923 0.325105
+vn -0.961629 0.167435 -0.217337
+vn -0.873085 -0.023629 -0.486995
+vn -0.967265 0.067379 -0.244658
+vn -0.809217 -0.136705 -0.571384
+vn -0.967265 0.067379 -0.244658
+vn -0.809217 -0.136705 -0.571384
+vn -0.952942 -0.091500 -0.289013
+vn -0.812910 -0.241595 -0.529915
+vn -0.858548 -0.332375 -0.390413
+vn -0.726277 -0.467211 -0.504217
+vn -0.995459 -0.051063 0.080340
+vn -0.996329 -0.059885 0.061176
+vn 0.680941 0.535093 0.499995
+vn 0.655096 0.696889 0.291881
+vn 0.997242 -0.060896 -0.042430
+vn 0.989288 -0.057495 -0.134176
+vn 0.628272 -0.581659 -0.516669
+vn 0.583279 -0.711794 -0.391324
+vn 0.033060 -0.757959 -0.651464
+vn 0.014016 -0.899575 -0.436541
+vn 0.013919 -0.677469 -0.735420
+vn 0.033060 -0.757959 -0.651464
+vn -0.671252 -0.511922 -0.536057
+vn -0.648508 -0.591765 -0.478802
+vn -0.726277 -0.467211 -0.504217
+vn -0.671252 -0.511922 -0.536057
+vn -0.996329 -0.059885 0.061176
+vn -0.999297 -0.013242 0.035072
+vn -0.974170 -0.084331 -0.209477
+vn -0.812910 -0.241595 -0.529915
+vn -0.903245 -0.114683 -0.413517
+vn -0.809217 -0.136705 -0.571384
+vn -0.979377 -0.201403 -0.016052
+vn -0.974170 -0.084331 -0.209477
+vn -0.990994 -0.133401 0.011607
+vn -0.995425 -0.094097 -0.016560
+vn -0.768623 -0.364619 0.525616
+vn -0.843274 -0.357186 0.401632
+vn -0.846921 -0.150514 0.509972
+vn -0.913877 -0.154344 0.375508
+vn -0.973808 -0.137483 0.181097
+vn -0.768623 -0.364619 0.525616
+vn -0.985387 0.065217 0.157349
+vn -0.846921 -0.150514 0.509972
+vn -0.230678 -0.855446 0.463681
+vn -0.660270 -0.657824 0.362369
+vn -0.083933 -0.975549 0.203125
+vn -0.665828 -0.737761 0.111269
+vn 0.073054 -0.961831 -0.263711
+vn 0.501348 -0.859685 -0.097934
+vn -0.220767 -0.200882 -0.954415
+vn 0.637176 -0.725278 -0.260725
+vn 0.121011 -0.951619 -0.282449
+vn 0.689557 -0.677984 -0.254653
+vn 0.501348 -0.859685 -0.097934
+vn 0.637176 -0.725278 -0.260725
+vn -0.905216 0.175657 -0.386948
+vn -0.793939 0.094207 -0.600654
+vn 0.324688 0.693699 -0.642930
+vn 0.261667 0.060505 -0.963260
+vn -0.263348 0.712169 0.650740
+vn -0.148256 0.481170 0.864000
+vn -0.967214 0.242099 0.076721
+vn -0.927273 0.283170 0.244909
+vn -0.197676 0.461853 0.864648
+vn -0.157480 0.707784 0.688652
+vn -0.916806 0.271865 0.292501
+vn -0.821930 0.464264 0.329986
+vn -0.916806 0.271865 0.292501
+vn -0.821930 0.464264 0.329986
+vn -0.981517 0.147442 -0.122002
+vn -0.860972 0.503814 -0.069992
+vn -0.981517 0.147442 -0.122002
+vn -0.860972 0.503814 -0.069992
+vn -0.793939 0.094207 -0.600654
+vn -0.722101 0.341023 -0.601892
+vn 0.921941 -0.020501 -0.386787
+vn 0.278252 -0.033763 -0.959915
+vn 0.888562 0.139389 -0.437068
+vn 0.256818 0.413288 -0.873635
+vn -0.674593 0.037079 -0.737258
+vn -0.611543 0.232150 -0.756387
+vn 0.278252 -0.033763 -0.959915
+vn 0.256818 0.413288 -0.873635
+vn -0.881615 0.267748 0.388671
+vn -0.772453 0.474827 0.421729
+vn -0.981580 0.136826 -0.133337
+vn -0.844829 0.527708 -0.088252
+vn -0.981580 0.136826 -0.133337
+vn -0.844829 0.527708 -0.088252
+vn -0.674593 0.037079 -0.737258
+vn -0.611543 0.232150 -0.756387
+vn 0.777823 0.218808 0.589164
+vn 0.675856 0.419167 0.606232
+vn -0.197676 0.461853 0.864648
+vn -0.157480 0.707784 0.688652
+vn 0.646824 0.274864 0.711385
+vn 0.580694 0.426793 0.693283
+vn -0.261265 0.425815 0.866269
+vn -0.136870 0.679959 0.720363
+vn -0.881615 0.267748 0.388671
+vn -0.261265 0.425815 0.866269
+vn -0.772453 0.474827 0.421729
+vn -0.136870 0.679959 0.720363
+vn 0.725857 0.393420 0.564227
+vn 0.028759 0.950885 0.308204
+vn 0.187915 0.949616 -0.250833
+vn -0.334074 0.940287 -0.065236
+vn -0.910534 0.342729 -0.231223
+vn -0.521833 0.168360 -0.836269
+vn -0.334074 0.940287 -0.065236
+vn 0.187915 0.949616 -0.250833
+vn -0.894898 0.268670 -0.356334
+vn -0.809100 0.101702 -0.578804
+vn 0.204213 0.812568 -0.545921
+vn 0.172591 0.090294 -0.980846
+vn -0.066120 0.513090 0.855785
+vn -0.052944 0.750822 0.658380
+vn -0.941947 0.273720 0.194458
+vn -0.850391 0.470388 0.235736
+vn 0.011032 0.804062 0.594443
+vn 0.837122 0.301237 0.456599
+vn -0.066120 0.513090 0.855785
+vn 0.855309 0.183435 0.484560
+vn 0.078233 0.974644 0.209639
+vn 0.650462 0.711011 0.267136
+vn 0.011032 0.804062 0.594443
+vn 0.837122 0.301237 0.456599
+vn 0.095026 0.160177 -0.982504
+vn 0.980034 0.043302 -0.194060
+vn 0.087487 0.794312 -0.601177
+vn 0.991701 0.117389 -0.052424
+vn -0.863946 0.132009 -0.485974
+vn -0.803486 0.371568 -0.465132
+vn 0.095026 0.160177 -0.982504
+vn 0.084161 0.701132 -0.708047
+vn -0.035893 0.997239 -0.065015
+vn 0.070217 0.822865 -0.563882
+vn 0.685232 0.720650 0.105452
+vn 0.974719 0.223408 -0.003356
+vn -0.213711 0.655133 0.724658
+vn -0.153248 0.871042 0.466691
+vn -0.941971 0.315638 0.114296
+vn -0.806719 0.581366 0.105914
+vn -0.941971 0.315638 0.114296
+vn -0.806719 0.581366 0.105914
+vn -0.964945 0.177274 -0.193534
+vn -0.806111 0.560519 -0.189745
+vn -0.964945 0.177274 -0.193534
+vn -0.806111 0.560519 -0.189745
+vn -0.830526 0.146676 -0.537321
+vn -0.721015 0.463206 -0.515342
+vn 0.295159 0.171396 -0.939949
+vn 0.988148 0.067064 -0.138081
+vn 0.179688 0.771191 -0.610718
+vn 0.980209 0.197763 -0.008934
+vn -0.170566 0.848435 0.501064
+vn 0.007520 0.998351 -0.056914
+vn -0.845199 0.524426 0.103037
+vn -0.836662 0.511391 -0.196152
+vn -0.836662 0.511391 -0.196152
+vn 0.007520 0.998351 -0.056914
+vn -0.736146 0.415948 -0.533926
+vn 0.212208 0.666028 -0.715105
+vn 0.827160 0.376818 0.416911
+vn 0.624109 0.766774 0.150150
+vn 0.924677 0.336747 0.177691
+vn 0.914713 0.382092 0.131555
+vn 0.827160 0.376818 0.416911
+vn 0.977296 0.046805 0.206643
+vn 0.831417 0.253505 0.494451
+vn 0.973132 0.103716 0.205563
+vn 0.663964 -0.698881 0.265927
+vn 0.713242 -0.667680 0.213281
+vn 0.939925 -0.339871 0.032063
+vn 0.953330 -0.299707 0.036577
+vn 0.063818 -0.939926 0.335359
+vn 0.019464 -0.950217 0.310980
+vn 0.713242 -0.667680 0.213281
+vn 0.728313 -0.651942 0.211024
+vn -0.987666 -0.139896 -0.070322
+vn -0.962842 0.161324 -0.216588
+vn -0.900544 -0.427944 0.076709
+vn -0.991057 -0.049969 -0.123730
+vn 0.986681 -0.160861 0.024158
+vn 0.976572 -0.163975 -0.139357
+vn 0.999481 -0.027722 0.016431
+vn 0.964934 -0.124709 -0.230975
+vn 0.664809 0.690913 0.284022
+vn 0.652617 0.747865 0.121608
+vn 0.999584 0.002528 0.028729
+vn 0.999399 0.003856 0.034455
+vn 0.008001 0.992188 0.124493
+vn 0.039353 0.997918 -0.051095
+vn 0.652617 0.747865 0.121608
+vn 0.639120 0.766688 -0.060962
+vn 0.008001 0.992188 0.124493
+vn -0.658139 0.752896 0.000516
+vn 0.039353 0.997918 -0.051095
+vn -0.487263 0.846834 -0.213182
+vn -0.990222 -0.096545 -0.100692
+vn -0.901836 -0.157637 -0.402296
+vn -0.658139 0.752896 0.000516
+vn -0.487263 0.846834 -0.213182
+vn -0.990222 -0.096545 -0.100692
+vn -0.583224 -0.809636 -0.065870
+vn -0.901836 -0.157637 -0.402296
+vn -0.335054 -0.941456 -0.037398
+vn 0.940418 0.094925 -0.326502
+vn 0.964934 -0.124709 -0.230975
+vn 0.647946 -0.090056 -0.756344
+vn 0.726670 -0.250566 -0.639662
+vn -0.765700 0.506000 -0.397075
+vn -0.798840 0.476531 -0.367115
+vn -0.823821 0.376740 -0.423540
+vn -0.837983 0.396743 -0.374672
+vn -0.872286 0.250070 -0.420217
+vn -0.883262 0.264311 -0.387282
+vn -0.724423 0.556533 -0.406797
+vn -0.837983 0.396743 -0.374672
+vn -0.872286 0.250070 -0.420217
+vn -0.878001 0.366196 -0.308245
+vn -0.891878 0.031818 -0.451155
+vn -0.919153 0.003328 -0.393887
+vn -0.923601 0.359041 -0.134355
+vn -0.993388 -0.011565 -0.114219
+vn -0.878001 0.366196 -0.308245
+vn -0.979453 -0.018634 -0.200811
+vn -0.404654 0.896296 -0.181406
+vn 0.000000 0.982607 -0.185696
+vn -0.399802 0.914602 -0.060517
+vn 0.000000 0.998695 -0.051075
+vn 0.991549 -0.027578 -0.126764
+vn 0.977555 0.035295 -0.207704
+vn 0.969202 -0.121510 -0.214205
+vn 0.964189 -0.056842 -0.259053
+vn 0.991549 -0.027578 -0.126764
+vn 0.996373 -0.007808 -0.084737
+vn 0.914820 0.367445 -0.167598
+vn 0.917888 0.389047 -0.078256
+vn 0.923376 0.016173 -0.383555
+vn 0.909508 0.059095 -0.411464
+vn 0.737624 -0.092157 -0.668893
+vn 0.743929 0.166526 -0.647178
+vn -0.985387 0.065217 0.157349
+vn -0.988005 0.150047 -0.036506
+vn -0.973808 -0.137483 0.181097
+vn -0.998679 -0.016927 -0.048512
+vn -0.998056 -0.003899 0.062207
+vn -0.998940 -0.040744 -0.021440
+vn -0.935830 -0.094431 -0.339567
+vn -0.903245 -0.114683 -0.413517
+vn 0.685232 0.720650 0.105452
+vn 0.974719 0.223408 -0.003356
+vn 0.922759 0.341429 0.178725
+vn 0.946939 0.274622 0.167000
+vn 0.690264 0.694722 0.202230
+vn 0.443790 0.891612 0.089877
+vn 0.695205 0.689024 0.204784
+vn 0.450342 0.887913 0.093821
+vn 0.022304 0.996417 -0.081582
+vn -0.187178 0.972008 -0.142004
+vn 0.019947 0.997093 -0.073536
+vn -0.198026 0.970257 -0.139237
+vn 0.953441 0.231054 0.193814
+vn 0.946939 0.274622 0.167000
+vn 0.975626 0.046360 0.214485
+vn 0.974719 0.223408 -0.003356
+vn 0.892423 0.327208 0.310670
+vn 0.695205 0.689024 0.204784
+vn 0.894124 0.323193 0.309981
+vn 0.700112 0.683263 0.207354
+vn 0.916914 0.095317 0.387536
+vn 0.922695 -0.007141 0.385465
+vn 0.837712 0.325109 0.438796
+vn 0.784214 -0.123544 0.608067
+vn 0.919134 0.129894 0.371915
+vn 0.914415 0.133286 0.382205
+vn 0.886708 0.257734 0.383826
+vn 0.880889 0.263296 0.393332
+vn 0.917762 0.126369 0.376490
+vn 0.919134 0.129894 0.371915
+vn 0.887435 0.251944 0.385984
+vn 0.886708 0.257734 0.383826
+vn 0.916914 0.095317 0.387536
+vn 0.917762 0.126369 0.376490
+vn 0.891100 0.247359 0.380466
+vn 0.887435 0.251944 0.385984
+vn 0.869902 0.437974 0.226826
+vn 0.931104 0.181580 -0.316346
+vn 0.021402 0.997043 -0.073811
+vn 0.265659 0.431705 -0.862007
+vn 0.957872 0.044163 -0.283779
+vn 0.303534 -0.032065 -0.952281
+vn 0.931104 0.181580 -0.316346
+vn 0.265659 0.431705 -0.862007
+vn 0.303534 -0.032065 -0.952281
+vn 0.328340 -0.039314 -0.943741
+vn -0.661970 0.035692 -0.748680
+vn -0.521833 0.168360 -0.836269
+vn 0.001434 0.999990 -0.004278
+vn 0.029194 0.999573 0.001213
+vn -0.011988 0.999298 0.035486
+vn 0.028263 0.997934 0.057694
+vn -0.921914 0.316405 0.223525
+vn -0.850579 0.465078 0.245394
+vn -0.956463 0.156206 -0.246534
+vn -0.860237 0.454645 -0.230846
+vn -0.850579 0.465078 0.245394
+vn -0.213750 0.759871 0.613928
+vn -0.860237 0.454645 -0.230846
+vn 0.021402 0.997043 -0.073811
+vn 0.870994 0.269437 0.410821
+vn 0.859642 0.279858 0.427429
+vn 0.696668 0.599336 0.394271
+vn 0.680756 0.616205 0.396059
+vn 0.859642 0.279858 0.427429
+vn 0.857593 0.296836 0.420026
+vn 0.680756 0.616205 0.396059
+vn 0.672794 0.640602 0.370105
+vn 0.857593 0.296836 0.420026
+vn 0.873030 0.314035 0.373096
+vn 0.672794 0.640602 0.370105
+vn 0.683895 0.665414 0.299184
+vn 0.894124 0.323193 0.309981
+vn 0.700112 0.683263 0.207354
+vn 0.889559 0.320923 0.325105
+vn 0.697957 0.677784 0.231225
+vn 0.889559 0.320923 0.325105
+vn 0.697957 0.677784 0.231225
+vn 0.873030 0.314035 0.373096
+vn 0.683895 0.665414 0.299184
+vn 0.880889 0.263296 0.393332
+vn 0.870994 0.269437 0.410821
+vn 0.709151 0.588609 0.388130
+vn 0.696668 0.599336 0.394271
+vn -0.638377 0.301975 0.708016
+vn -0.996329 -0.059885 0.061176
+vn -0.664039 0.433624 0.609116
+vn -0.999297 -0.013242 0.035072
+vn 0.051424 0.588536 0.806834
+vn -0.664039 0.433624 0.609116
+vn 0.012169 0.725743 0.687858
+vn -0.664809 0.535028 0.521320
+vn 0.012169 0.725743 0.687858
+vn -0.011137 0.872826 0.487905
+vn 0.680941 0.535093 0.499995
+vn 0.655096 0.696889 0.291881
+vn 0.989288 -0.057495 -0.134176
+vn 0.655096 0.696889 0.291881
+vn 0.901836 0.003864 -0.432062
+vn 0.487263 0.865218 0.118210
+vn 0.989288 -0.057495 -0.134176
+vn 0.901836 0.003864 -0.432062
+vn 0.583279 -0.711794 -0.391324
+vn 0.335055 -0.859501 -0.386000
+vn -0.974170 -0.084331 -0.209477
+vn -0.903245 -0.114683 -0.413517
+vn -0.995425 -0.094097 -0.016560
+vn -0.998940 -0.040744 -0.021440
+vn -0.843274 -0.357186 0.401632
+vn -0.990994 -0.133401 0.011607
+vn -0.913877 -0.154344 0.375508
+vn -0.995425 -0.094097 -0.016560
+vn -0.973808 -0.137483 0.181097
+vn -0.998679 -0.016927 -0.048512
+vn -0.922664 -0.284367 0.260437
+vn -0.996591 -0.073890 -0.036695
+vn -0.660270 -0.657824 0.362369
+vn -0.922664 -0.284367 0.260437
+vn -0.973579 -0.226915 0.025574
+vn -0.996591 -0.073890 -0.036695
+vn -0.083933 -0.975549 0.203125
+vn -0.035944 -0.997343 0.063366
+vn 0.416058 -0.904926 0.089470
+vn 0.682070 -0.731287 -0.000252
+vn -0.326613 -0.945157 -0.001567
+vn -0.025820 -0.950341 -0.310138
+vn -0.553369 -0.824734 -0.116603
+vn -0.688920 -0.683914 -0.240106
+vn 0.121011 -0.951619 -0.282449
+vn -0.553369 -0.824734 -0.116603
+vn -0.672131 -0.678358 -0.296765
+vn -0.688920 -0.683914 -0.240106
+vn -0.326613 -0.945157 -0.001567
+vn 0.793677 -0.602161 -0.086482
+vn -0.025820 -0.950341 -0.310138
+vn 0.948524 -0.304993 -0.085328
+vn 0.416058 -0.904926 0.089470
+vn 0.682070 -0.731287 -0.000252
+vn 0.793677 -0.602161 -0.086482
+vn 0.948524 -0.304993 -0.085328
+vn -0.954646 0.048429 -0.293778
+vn -0.748989 0.488852 -0.447257
+vn -0.962842 0.161324 -0.216588
+vn -0.747973 0.552644 -0.367588
+vn 0.073054 -0.961831 -0.263711
+vn -0.220767 -0.200882 -0.954415
+vn -0.748989 0.488852 -0.447257
+vn -0.356941 0.757305 -0.546885
+vn 0.121011 -0.951619 -0.282449
+vn 0.011688 -0.920591 -0.390353
+vn 0.689557 -0.677984 -0.254653
+vn 0.678361 -0.679871 -0.278570
+vn 0.112937 0.962118 0.248142
+vn 0.324688 0.693699 -0.642930
+vn 0.659795 0.722998 0.204806
+vn 0.986342 0.152319 -0.062670
+vn -0.148256 0.481170 0.864000
+vn -0.263348 0.712169 0.650740
+vn 0.148640 0.682958 0.715174
+vn 0.148640 0.682958 0.715174
+vn -0.263348 0.712169 0.650740
+vn 0.112937 0.962118 0.248142
+vn 0.888562 0.139389 -0.437068
+vn 0.871363 0.438513 0.220075
+vn 0.921941 -0.020501 -0.386787
+vn 0.972791 0.075737 0.218954
+vn 0.921941 -0.020501 -0.386787
+vn 0.972791 0.075737 0.218954
+vn 0.985913 0.147465 -0.078929
+vn 0.975031 0.029701 0.220076
+vn 0.810749 0.328661 0.484426
+vn 0.737338 0.643323 0.206078
+vn 0.872410 0.426259 0.239176
+vn 0.823075 0.525207 0.216114
+vn 0.737338 0.643323 0.206078
+vn 0.985913 0.147465 -0.078929
+vn 0.823075 0.525207 0.216114
+vn 0.904715 0.381644 0.189310
+vn 0.777823 0.218808 0.589164
+vn 0.981351 0.070626 0.178779
+vn 0.675856 0.419167 0.606232
+vn 0.881995 0.423584 0.206547
+vn 0.810749 0.328661 0.484426
+vn 0.983923 0.011655 0.178213
+vn 0.777823 0.218808 0.589164
+vn 0.981351 0.070626 0.178779
+vn 0.646824 0.274864 0.711385
+vn 0.972791 0.075737 0.218954
+vn 0.580694 0.426793 0.693283
+vn 0.871363 0.438513 0.220075
+vn 0.725857 0.393420 0.564227
+vn 0.975031 0.029701 0.220076
+vn 0.646824 0.274864 0.711385
+vn 0.972791 0.075737 0.218954
+vn 0.725857 0.393420 0.564227
+vn 0.187915 0.949616 -0.250833
+vn 0.913592 0.391539 0.109762
+vn 0.722328 0.456529 -0.519446
+vn -0.910534 0.342729 -0.231223
+vn -0.956463 0.156206 -0.246534
+vn -0.521833 0.168360 -0.836269
+vn -0.661970 0.035692 -0.748680
+vn -0.148256 0.481170 0.864000
+vn -0.103991 0.664875 0.739681
+vn -0.927273 0.283170 0.244909
+vn -0.813310 0.470265 0.342605
+vn -0.927273 0.283170 0.244909
+vn -0.813310 0.470265 0.342605
+vn -0.979135 0.152338 -0.134491
+vn -0.856678 0.512480 -0.058886
+vn -0.979135 0.152338 -0.134491
+vn -0.856678 0.512480 -0.058886
+vn -0.809100 0.101702 -0.578804
+vn -0.738191 0.336024 -0.584946
+vn 0.078233 0.974644 0.209639
+vn 0.204213 0.812568 -0.545921
+vn 0.650462 0.711011 0.267136
+vn 0.980460 0.196551 -0.008129
+vn -0.066120 0.513090 0.855785
+vn 0.855309 0.183435 0.484560
+vn -0.052944 0.750822 0.658380
+vn 0.765076 0.405472 0.500251
+vn -0.850391 0.470388 0.235736
+vn -0.052944 0.750822 0.658380
+vn -0.877283 0.470637 -0.094213
+vn 0.005861 0.995733 0.092091
+vn -0.877283 0.470637 -0.094213
+vn 0.005861 0.995733 0.092091
+vn -0.803486 0.371568 -0.465132
+vn 0.084161 0.701132 -0.708047
+vn 0.980034 0.043302 -0.194060
+vn 0.095026 0.160177 -0.982504
+vn 0.925716 0.329901 -0.184974
+vn 0.084161 0.701132 -0.708047
+vn 0.624109 0.766774 0.150150
+vn 0.991701 0.117389 -0.052424
+vn 0.914713 0.382092 0.131555
+vn 0.969492 0.206023 0.132816
+vn 0.070217 0.822865 -0.563882
+vn 0.190730 0.219293 -0.956835
+vn 0.974719 0.223408 -0.003356
+vn 0.982800 0.091607 -0.160349
+vn -0.830526 0.146676 -0.537321
+vn -0.721015 0.463206 -0.515342
+vn 0.190730 0.219293 -0.956835
+vn 0.121882 0.701737 -0.701933
+vn -0.213711 0.655133 0.724658
+vn 0.822859 0.278266 0.495450
+vn -0.153248 0.871042 0.466691
+vn 0.687026 0.582313 0.434634
+vn 0.840394 0.369180 0.396793
+vn 0.665767 0.738551 0.106285
+vn 0.928149 0.310439 0.205349
+vn 0.903105 0.393776 0.171296
+vn 0.840394 0.369180 0.396793
+vn 0.975626 0.046360 0.214485
+vn 0.822859 0.278266 0.495450
+vn 0.970783 0.121516 0.206916
+vn 0.988148 0.067064 -0.138081
+vn 0.295159 0.171396 -0.939949
+vn 0.914026 0.367835 -0.171040
+vn 0.212208 0.666028 -0.715105
+vn 0.665767 0.738551 0.106285
+vn 0.980209 0.197763 -0.008934
+vn 0.903105 0.393776 0.171296
+vn 0.937082 0.309569 0.161383
+vn -0.170566 0.848435 0.501064
+vn 0.724760 0.515471 0.457180
+vn 0.007520 0.998351 -0.056914
+vn 0.861713 0.480367 0.163395
+vn 0.831417 0.253505 0.494451
+vn 0.973132 0.103716 0.205563
+vn 0.724760 0.515471 0.457180
+vn 0.861713 0.480367 0.163395
+vn 0.924677 0.336747 0.177691
+vn 0.949655 0.253425 0.184205
+vn 0.827160 0.376818 0.416911
+vn 0.977296 0.046805 0.206643
+vn 0.019464 -0.950217 0.310980
+vn -0.678042 -0.711924 0.182819
+vn 0.009085 -0.785833 0.618372
+vn -0.820731 -0.497891 0.280189
+vn -0.900544 -0.427944 0.076709
+vn -0.991057 -0.049969 -0.123730
+vn -0.678042 -0.711924 0.182819
+vn -0.990108 -0.106807 -0.090984
+vn 0.939925 -0.339871 0.032063
+vn 0.953330 -0.299707 0.036577
+vn 0.976572 -0.163975 -0.139357
+vn 0.954392 0.095650 -0.282819
+vn 0.005583 -0.999476 -0.031885
+vn 0.025159 -0.988582 0.148568
+vn -0.583224 -0.809636 -0.065870
+vn -0.335054 -0.941456 -0.037398
+vn 0.641525 -0.766870 -0.018873
+vn 0.618982 -0.778860 0.101184
+vn 0.005583 -0.999476 -0.031885
+vn 0.025159 -0.988582 0.148568
+vn 0.999399 0.003856 0.034455
+vn 0.652617 0.747865 0.121608
+vn 0.999604 -0.000771 -0.028128
+vn 0.639120 0.766688 -0.060962
+vn 0.641525 -0.766870 -0.018873
+vn 0.999399 0.003856 0.034455
+vn 0.618982 -0.778860 0.101184
+vn 0.999604 -0.000771 -0.028128
+vn 0.976572 -0.163975 -0.139357
+vn 0.803313 -0.060196 -0.592507
+vn 0.964934 -0.124709 -0.230975
+vn 0.726670 -0.250566 -0.639662
+vn -0.874636 0.465255 -0.136195
+vn -0.657804 0.584721 -0.474758
+vn -0.942440 0.202366 -0.266185
+vn -0.644627 0.278099 -0.712121
+vn -0.718501 0.636393 -0.280641
+vn -0.640402 0.608318 -0.468865
+vn -0.657804 0.584721 -0.474758
+vn -0.625123 0.521335 -0.580889
+vn -0.640402 0.608318 -0.468865
+vn -0.765700 0.506000 -0.397075
+vn -0.625123 0.521335 -0.580889
+vn -0.823821 0.376740 -0.423540
+vn -0.883262 0.264311 -0.387282
+vn -0.872286 0.250070 -0.420217
+vn -0.878770 0.167981 -0.446706
+vn -0.891878 0.031818 -0.451155
+vn -0.993388 -0.011565 -0.114219
+vn -0.923601 0.359041 -0.134355
+vn -0.995797 -0.004915 -0.091454
+vn -0.918161 0.388283 -0.078849
+vn -0.923601 0.359041 -0.134355
+vn -0.404654 0.896296 -0.181406
+vn -0.918161 0.388283 -0.078849
+vn -0.399802 0.914602 -0.060517
+vn 0.917888 0.389047 -0.078256
+vn 0.917842 0.392374 -0.060080
+vn 0.397324 0.915640 -0.061137
+vn 0.397557 0.917513 -0.010892
+vn 0.397324 0.915640 -0.061137
+vn 0.397557 0.917513 -0.010892
+vn 0.000000 0.998695 -0.051075
+vn 0.000000 0.999986 0.005218
+vn 0.946209 -0.025916 -0.322518
+vn 0.923376 0.016173 -0.383555
+vn 0.892171 -0.121527 -0.435043
+vn 0.737624 -0.092157 -0.668893
+vn 0.977555 0.035295 -0.207704
+vn 0.946209 -0.025916 -0.322518
+vn 0.964189 -0.056842 -0.259053
+vn 0.892171 -0.121527 -0.435043
+vn 0.991549 -0.027578 -0.126764
+vn 0.969202 -0.121510 -0.214205
+vn 0.933211 -0.317702 -0.167877
+vn 0.885382 -0.387520 -0.256762
+vn 0.996373 -0.007808 -0.084737
+vn 0.991549 -0.027578 -0.126764
+vn 0.932553 -0.338357 -0.125935
+vn 0.933211 -0.317702 -0.167877
+vn 0.996373 -0.007808 -0.084737
+vn 0.996072 -0.004091 -0.088457
+vn 0.917888 0.389047 -0.078256
+vn 0.917842 0.392374 -0.060080
+vn -0.988005 0.150047 -0.036506
+vn -0.942440 0.202366 -0.266185
+vn -0.998679 -0.016927 -0.048512
+vn -0.954335 0.046524 -0.295095
+vn -0.873085 -0.023629 -0.486995
+vn -0.935830 -0.094431 -0.339567
+vn -0.809217 -0.136705 -0.571384
+vn -0.903245 -0.114683 -0.413517
+vn -0.342495 0.923325 -0.173691
+vn -0.356272 0.917801 -0.175249
+vn -0.187178 0.972008 -0.142004
+vn -0.198026 0.970257 -0.139237
+vn -0.545921 0.811500 -0.208416
+vn -0.560258 0.800903 -0.211339
+vn -0.342495 0.923325 -0.173691
+vn -0.356272 0.917801 -0.175249
+vn -0.839241 0.484170 -0.247496
+vn -0.846769 0.470504 -0.248210
+vn -0.545921 0.811500 -0.208416
+vn -0.560258 0.800903 -0.211339
+vn 0.443790 0.891612 0.089877
+vn 0.247830 0.968764 0.008703
+vn 0.450342 0.887913 0.093821
+vn 0.253214 0.967332 0.012292
+vn 0.247830 0.968764 0.008703
+vn 0.019947 0.997093 -0.073536
+vn 0.253214 0.967332 0.012292
+vn 0.020466 0.997200 -0.071920
+vn 0.953441 0.231054 0.193814
+vn 0.928149 0.310439 0.205349
+vn 0.536521 0.841899 0.057885
+vn 0.515356 0.855387 0.052161
+vn 0.536521 0.841899 0.057885
+vn 0.515356 0.855387 0.052161
+vn -0.045519 0.995135 -0.087378
+vn -0.058101 0.994209 -0.090402
+vn -0.045519 0.995135 -0.087378
+vn -0.058101 0.994209 -0.090402
+vn -0.682807 0.697343 -0.217914
+vn -0.692632 0.687099 -0.219446
+vn -0.682807 0.697343 -0.217914
+vn -0.692632 0.687099 -0.219446
+vn -0.930642 0.269569 -0.247465
+vn -0.932953 0.261772 -0.247133
+vn -0.930642 0.269569 -0.247465
+vn -0.932953 0.261772 -0.247133
+vn -0.839241 0.484170 -0.247496
+vn -0.846769 0.470504 -0.248210
+vn 0.975626 0.046360 0.214485
+vn 0.840394 0.369180 0.396793
+vn 0.953441 0.231054 0.193814
+vn 0.928149 0.310439 0.205349
+vn 0.922695 -0.007141 0.385465
+vn 0.916914 0.095317 0.387536
+vn 0.906901 0.253125 0.336835
+vn 0.891100 0.247359 0.380466
+vn 0.784214 -0.123544 0.608067
+vn 0.634231 -0.616073 0.467124
+vn 0.217299 -0.639942 0.737058
+vn 0.223933 -0.857028 0.464066
+vn -0.268172 0.533654 0.802058
+vn 0.217299 -0.639942 0.737058
+vn -0.122627 -0.907069 0.402727
+vn 0.223933 -0.857028 0.464066
+vn 0.886708 0.257734 0.383826
+vn 0.880889 0.263296 0.393332
+vn 0.718833 0.580158 0.383008
+vn 0.709151 0.588609 0.388130
+vn -0.661970 0.035692 -0.748680
+vn -0.626471 0.203544 -0.752399
+vn 0.303534 -0.032065 -0.952281
+vn 0.265659 0.431705 -0.862007
+vn 0.134897 0.960135 -0.244832
+vn 0.009535 0.993829 0.110509
+vn 0.351787 0.927693 -0.125027
+vn 0.271786 0.949678 0.155703
+vn 0.315662 0.369827 -0.873834
+vn 0.351787 0.927693 -0.125027
+vn 0.722328 0.456529 -0.519446
+vn 0.913592 0.391539 0.109762
+vn -0.521833 0.168360 -0.836269
+vn 0.315662 0.369827 -0.873834
+vn 0.187915 0.949616 -0.250833
+vn 0.722328 0.456529 -0.519446
+vn 0.029194 0.999573 0.001213
+vn 0.001434 0.999990 -0.004278
+vn 0.059604 0.994441 0.086798
+vn -0.268172 0.533654 0.802058
+vn 0.029194 0.999573 0.001213
+vn 0.152082 0.984531 0.087010
+vn 0.028263 0.997934 0.057694
+vn 0.274417 0.951769 0.137227
+vn -0.003732 0.990692 0.136070
+vn 0.028263 0.997934 0.057694
+vn 0.220100 0.959414 0.176296
+vn 0.274417 0.951769 0.137227
+vn -0.013442 0.985940 0.166561
+vn -0.003732 0.990692 0.136070
+vn 0.228464 0.952507 0.201334
+vn 0.220100 0.959414 0.176296
+vn 0.009535 0.993829 0.110509
+vn -0.013442 0.985940 0.166561
+vn 0.271786 0.949678 0.155703
+vn 0.228464 0.952507 0.201334
+vn 0.021402 0.997043 -0.073811
+vn 0.265659 0.431705 -0.862007
+vn -0.860237 0.454645 -0.230846
+vn -0.626471 0.203544 -0.752399
+vn -0.011137 0.872826 0.487905
+vn 0.012169 0.725743 0.687858
+vn -0.652618 0.648470 0.391888
+vn -0.664809 0.535028 0.521320
+vn -0.011137 0.872826 0.487905
+vn -0.039350 0.944906 0.324967
+vn 0.655096 0.696889 0.291881
+vn 0.487263 0.865218 0.118210
+vn 0.033060 -0.757959 -0.651464
+vn 0.014016 -0.899575 -0.436541
+vn -0.648508 -0.591765 -0.478802
+vn -0.629206 -0.706887 -0.323127
+vn 0.014016 -0.899575 -0.436541
+vn 0.583279 -0.711794 -0.391324
+vn -0.025155 -0.972616 -0.231051
+vn 0.335055 -0.859501 -0.386000
+vn -0.671252 -0.511922 -0.536057
+vn -0.648508 -0.591765 -0.478802
+vn -0.999297 -0.013242 0.035072
+vn -0.999620 -0.008398 0.026271
+vn -0.083933 -0.975549 0.203125
+vn -0.665828 -0.737761 0.111269
+vn -0.035944 -0.997343 0.063366
+vn -0.742224 -0.669362 0.032528
+vn -0.660270 -0.657824 0.362369
+vn -0.973579 -0.226915 0.025574
+vn -0.665828 -0.737761 0.111269
+vn -0.986197 -0.160603 -0.040273
+vn 0.121011 -0.951619 -0.282449
+vn -0.672131 -0.678358 -0.296765
+vn 0.011688 -0.920591 -0.390353
+vn -0.660270 -0.691224 -0.293690
+vn -0.220767 -0.200882 -0.954415
+vn 0.637176 -0.725278 -0.260725
+vn 0.182154 -0.134824 -0.973983
+vn 0.800581 -0.479774 -0.359009
+vn 0.637176 -0.725278 -0.260725
+vn 0.689557 -0.677984 -0.254653
+vn 0.800581 -0.479774 -0.359009
+vn 0.885382 -0.387520 -0.256762
+vn 0.261667 0.060505 -0.963260
+vn 0.957326 0.022318 -0.288148
+vn 0.324688 0.693699 -0.642930
+vn 0.986342 0.152319 -0.062670
+vn -0.793939 0.094207 -0.600654
+vn -0.722101 0.341023 -0.601892
+vn 0.261667 0.060505 -0.963260
+vn 0.229751 0.594778 -0.770360
+vn 0.659795 0.722998 0.204806
+vn 0.749700 0.385356 0.538006
+vn 0.112937 0.962118 0.248142
+vn 0.148640 0.682958 0.715174
+vn 0.675856 0.419167 0.606232
+vn 0.881995 0.423584 0.206547
+vn -0.157480 0.707784 0.688652
+vn 0.019838 0.995195 0.095886
+vn -0.821930 0.464264 0.329986
+vn -0.157480 0.707784 0.688652
+vn -0.860972 0.503814 -0.069992
+vn 0.019838 0.995195 0.095886
+vn -0.860972 0.503814 -0.069992
+vn 0.019838 0.995195 0.095886
+vn -0.722101 0.341023 -0.601892
+vn 0.229751 0.594778 -0.770360
+vn 0.871363 0.438513 0.220075
+vn 0.888562 0.139389 -0.437068
+vn 0.047607 0.997452 0.053133
+vn 0.256818 0.413288 -0.873635
+vn -0.844829 0.527708 -0.088252
+vn 0.047607 0.997452 0.053133
+vn -0.611543 0.232150 -0.756387
+vn 0.256818 0.413288 -0.873635
+vn 0.872410 0.426259 0.239176
+vn 0.926681 0.311117 0.210877
+vn 0.810749 0.328661 0.484426
+vn 0.983923 0.011655 0.178213
+vn -0.772453 0.474827 0.421729
+vn -0.136870 0.679959 0.720363
+vn -0.844829 0.527708 -0.088252
+vn 0.047607 0.997452 0.053133
+vn 0.580694 0.426793 0.693283
+vn 0.871363 0.438513 0.220075
+vn -0.136870 0.679959 0.720363
+vn 0.047607 0.997452 0.053133
+vn 0.975031 0.029701 0.220076
+vn 0.725857 0.393420 0.564227
+vn 0.921182 0.325267 0.213601
+vn 0.913592 0.391539 0.109762
+vn -0.148256 0.481170 0.864000
+vn 0.726364 0.248101 0.640969
+vn -0.103991 0.664875 0.739681
+vn 0.652110 0.411713 0.636589
+vn 0.172591 0.090294 -0.980846
+vn 0.955967 0.039968 -0.290739
+vn 0.204213 0.812568 -0.545921
+vn 0.980460 0.196551 -0.008129
+vn -0.809100 0.101702 -0.578804
+vn -0.738191 0.336024 -0.584946
+vn 0.172591 0.090294 -0.980846
+vn 0.159985 0.600336 -0.783583
+vn 0.837122 0.301237 0.456599
+vn 0.650462 0.711011 0.267136
+vn 0.917432 0.297803 0.263879
+vn 0.900446 0.354555 0.251967
+vn 0.837122 0.301237 0.456599
+vn 0.983128 -0.000424 0.182918
+vn 0.855309 0.183435 0.484560
+vn 0.979593 0.069728 0.188510
+vn 0.925716 0.329901 -0.184974
+vn 0.887339 0.411565 0.207953
+vn 0.980034 0.043302 -0.194060
+vn 0.979593 0.069728 0.188510
+vn 0.980034 0.043302 -0.194060
+vn 0.979593 0.069728 0.188510
+vn 0.991701 0.117389 -0.052424
+vn 0.983128 -0.000424 0.182918
+vn -0.153248 0.871042 0.466691
+vn -0.035113 0.997476 -0.061719
+vn -0.806719 0.581366 0.105914
+vn -0.806111 0.560519 -0.189745
+vn -0.806111 0.560519 -0.189745
+vn -0.035113 0.997476 -0.061719
+vn -0.721015 0.463206 -0.515342
+vn 0.121882 0.701737 -0.701933
+vn 0.914026 0.367835 -0.171040
+vn 0.861713 0.480367 0.163395
+vn 0.988148 0.067064 -0.138081
+vn 0.973132 0.103716 0.205563
+vn 0.988148 0.067064 -0.138081
+vn 0.973132 0.103716 0.205563
+vn 0.980209 0.197763 -0.008934
+vn 0.977296 0.046805 0.206643
+vn 0.212208 0.666028 -0.715105
+vn 0.007520 0.998351 -0.056914
+vn 0.914026 0.367835 -0.171040
+vn 0.861713 0.480367 0.163395
+vn 0.949655 0.253425 0.184205
+vn 0.924677 0.336747 0.177691
+vn 0.454011 0.889278 0.055298
+vn 0.434572 0.895289 0.098002
+vn 0.924677 0.336747 0.177691
+vn 0.914713 0.382092 0.131555
+vn 0.434572 0.895289 0.098002
+vn 0.396463 0.905166 0.153269
+vn 0.949655 0.253425 0.184205
+vn 0.937082 0.309569 0.161383
+vn 0.977296 0.046805 0.206643
+vn 0.980209 0.197763 -0.008934
+vn 0.713242 -0.667680 0.213281
+vn 0.728313 -0.651942 0.211024
+vn 0.953330 -0.299707 0.036577
+vn 0.977250 -0.211728 -0.012434
+vn 0.019464 -0.950217 0.310980
+vn 0.009085 -0.785833 0.618372
+vn 0.728313 -0.651942 0.211024
+vn 0.853992 -0.402706 0.329432
+vn -0.962842 0.161324 -0.216588
+vn -0.747973 0.552644 -0.367588
+vn -0.991057 -0.049969 -0.123730
+vn -0.709786 0.587409 -0.388787
+vn 0.039353 0.997918 -0.051095
+vn 0.174904 0.983579 -0.044505
+vn 0.639120 0.766688 -0.060962
+vn 0.668703 0.735433 -0.109429
+vn -0.487263 0.846834 -0.213182
+vn -0.010292 0.999073 -0.041810
+vn 0.039353 0.997918 -0.051095
+vn 0.174904 0.983579 -0.044505
+vn -0.487263 0.846834 -0.213182
+vn -0.901836 -0.157637 -0.402296
+vn -0.729092 0.496830 -0.470728
+vn -0.637941 -0.309019 -0.705365
+vn -0.901836 -0.157637 -0.402296
+vn -0.335054 -0.941456 -0.037398
+vn -0.637941 -0.309019 -0.705365
+vn -0.159009 -0.917387 -0.364853
+vn 0.976572 -0.163975 -0.139357
+vn 0.954392 0.095650 -0.282819
+vn 0.803313 -0.060196 -0.592507
+vn 0.187609 0.377527 -0.906795
+vn 0.726670 -0.250566 -0.639662
+vn 0.570549 -0.276608 -0.773280
+vn 0.647946 -0.090056 -0.756344
+vn 0.737624 -0.092157 -0.668893
+vn -0.625123 0.521335 -0.580889
+vn -0.823821 0.376740 -0.423540
+vn -0.688255 0.228097 -0.688677
+vn -0.878770 0.167981 -0.446706
+vn -0.837983 0.396743 -0.374672
+vn -0.883262 0.264311 -0.387282
+vn -0.823821 0.376740 -0.423540
+vn -0.878770 0.167981 -0.446706
+vn -0.878770 0.167981 -0.446706
+vn -0.891878 0.031818 -0.451155
+vn -0.688255 0.228097 -0.688677
+vn -0.667223 0.072915 -0.741280
+vn -0.891878 0.031818 -0.451155
+vn -0.919153 0.003328 -0.393887
+vn -0.667223 0.072915 -0.741280
+vn -0.626606 0.197171 -0.753982
+vn -0.878001 0.366196 -0.308245
+vn -0.979453 -0.018634 -0.200811
+vn -0.919153 0.003328 -0.393887
+vn -0.888640 -0.027559 -0.457776
+vn -0.995797 -0.004915 -0.091454
+vn -0.930881 -0.338272 -0.137958
+vn -0.993388 -0.011565 -0.114219
+vn -0.932912 -0.312472 -0.178986
+vn -0.993388 -0.011565 -0.114219
+vn -0.932912 -0.312472 -0.178986
+vn -0.979453 -0.018634 -0.200811
+vn -0.764193 -0.451626 -0.460482
+vn -0.918161 0.388283 -0.078849
+vn -0.399802 0.914602 -0.060517
+vn -0.917759 0.392548 -0.060208
+vn -0.397912 0.917361 -0.010697
+vn -0.399802 0.914602 -0.060517
+vn 0.000000 0.998695 -0.051075
+vn -0.397912 0.917361 -0.010697
+vn 0.000000 0.999986 0.005218
+vn 0.969202 -0.121510 -0.214205
+vn 0.964189 -0.056842 -0.259053
+vn 0.932575 -0.184781 -0.310096
+vn 0.853414 -0.259883 -0.451825
+vn 0.932553 -0.338357 -0.125935
+vn 0.927221 -0.352421 -0.126731
+vn 0.996373 -0.007808 -0.084737
+vn 0.996072 -0.004091 -0.088457
+vn 0.892171 -0.121527 -0.435043
+vn 0.737624 -0.092157 -0.668893
+vn 0.682972 -0.320341 -0.656453
+vn 0.570549 -0.276608 -0.773280
+vn 0.695205 0.689024 0.204784
+vn 0.450342 0.887913 0.093821
+vn 0.700112 0.683263 0.207354
+vn 0.456806 0.884114 0.098342
+vn 0.019947 0.997093 -0.073536
+vn -0.198026 0.970257 -0.139237
+vn 0.020466 0.997200 -0.071920
+vn -0.204627 0.968754 -0.140156
+vn 0.975626 0.046360 0.214485
+vn 0.974719 0.223408 -0.003356
+vn 0.970783 0.121516 0.206916
+vn 0.982800 0.091607 -0.160349
+vn 0.784214 -0.123544 0.608067
+vn 0.922695 -0.007141 0.385465
+vn 0.634231 -0.616073 0.467124
+vn 0.928133 -0.108931 0.355955
+vn 0.922695 -0.007141 0.385465
+vn 0.906901 0.253125 0.336835
+vn 0.928133 -0.108931 0.355955
+vn 0.919538 0.283546 0.272123
+vn -0.122627 -0.907069 0.402727
+vn -0.447485 -0.854530 0.263696
+vn -0.268172 0.533654 0.802058
+vn -0.613247 -0.572910 0.543786
+vn 0.887435 0.251944 0.385984
+vn 0.886708 0.257734 0.383826
+vn 0.726887 0.571208 0.381258
+vn 0.718833 0.580158 0.383008
+vn 0.891100 0.247359 0.380466
+vn 0.887435 0.251944 0.385984
+vn 0.738729 0.565133 0.367293
+vn 0.726887 0.571208 0.381258
+vn 0.906901 0.253125 0.336835
+vn 0.891100 0.247359 0.380466
+vn 0.753797 0.576945 0.314523
+vn 0.738729 0.565133 0.367293
+vn -0.661970 0.035692 -0.748680
+vn -0.956463 0.156206 -0.246534
+vn -0.626471 0.203544 -0.752399
+vn -0.860237 0.454645 -0.230846
+vn 0.059604 0.994441 0.086798
+vn 0.102865 0.992602 0.064501
+vn 0.029194 0.999573 0.001213
+vn 0.152082 0.984531 0.087010
+vn -0.268172 0.533654 0.802058
+vn 0.131634 0.935449 0.328035
+vn 0.059604 0.994441 0.086798
+vn 0.214509 0.957468 0.192979
+vn 0.709151 0.588609 0.388130
+vn 0.696668 0.599336 0.394271
+vn 0.470390 0.815418 0.337383
+vn 0.459064 0.823888 0.332369
+vn 0.696668 0.599336 0.394271
+vn 0.680756 0.616205 0.396059
+vn 0.459064 0.823888 0.332369
+vn 0.444619 0.836231 0.320986
+vn 0.680756 0.616205 0.396059
+vn 0.672794 0.640602 0.370105
+vn 0.444619 0.836231 0.320986
+vn 0.436931 0.853789 0.283082
+vn 0.683895 0.665414 0.299184
+vn 0.445902 0.872102 0.201519
+vn 0.672794 0.640602 0.370105
+vn 0.436931 0.853789 0.283082
+vn 0.700112 0.683263 0.207354
+vn 0.456806 0.884114 0.098342
+vn 0.697957 0.677784 0.231225
+vn 0.456917 0.880536 0.126028
+vn 0.697957 0.677784 0.231225
+vn 0.456917 0.880536 0.126028
+vn 0.683895 0.665414 0.299184
+vn 0.445902 0.872102 0.201519
+vn 0.718833 0.580158 0.383008
+vn 0.709151 0.588609 0.388130
+vn 0.481360 0.809149 0.337002
+vn 0.470390 0.815418 0.337383
+vn -0.664039 0.433624 0.609116
+vn -0.999297 -0.013242 0.035072
+vn -0.664809 0.535028 0.521320
+vn -0.999620 -0.008398 0.026271
+vn -0.011137 0.872826 0.487905
+vn -0.652618 0.648470 0.391888
+vn -0.039350 0.944906 0.324967
+vn -0.639121 0.734058 0.229528
+vn 0.487263 0.865218 0.118210
+vn 0.729092 0.636595 -0.251340
+vn 0.901836 0.003864 -0.432062
+vn 0.637940 -0.023493 -0.769728
+vn 0.901836 0.003864 -0.432062
+vn 0.637940 -0.023493 -0.769728
+vn 0.335055 -0.859501 -0.386000
+vn 0.159004 -0.714985 -0.680819
+vn -0.025155 -0.972616 -0.231051
+vn -0.618980 -0.760363 -0.196755
+vn 0.014016 -0.899575 -0.436541
+vn -0.629206 -0.706887 -0.323127
+vn -0.998679 -0.016927 -0.048512
+vn -0.954335 0.046524 -0.295095
+vn -0.996591 -0.073890 -0.036695
+vn -0.967693 0.111289 -0.226239
+vn -0.973579 -0.226915 0.025574
+vn -0.996591 -0.073890 -0.036695
+vn -0.986197 -0.160603 -0.040273
+vn -0.967693 0.111289 -0.226239
+vn -0.035944 -0.997343 0.063366
+vn -0.007846 -0.999083 0.042082
+vn 0.682070 -0.731287 -0.000252
+vn 0.765496 -0.643120 0.020322
+vn -0.025820 -0.950341 -0.310138
+vn -0.764193 -0.451626 -0.460482
+vn -0.688920 -0.683914 -0.240106
+vn -0.672131 -0.678358 -0.296765
+vn -0.025820 -0.950341 -0.310138
+vn 0.948524 -0.304993 -0.085328
+vn -0.764193 -0.451626 -0.460482
+vn 0.883563 0.420414 -0.206322
+vn 0.682070 -0.731287 -0.000252
+vn 0.765496 -0.643120 0.020322
+vn 0.948524 -0.304993 -0.085328
+vn 0.999324 -0.023631 -0.028163
+vn -0.748989 0.488852 -0.447257
+vn -0.356941 0.757305 -0.546885
+vn -0.747973 0.552644 -0.367588
+vn -0.709786 0.587409 -0.388787
+vn -0.356941 0.757305 -0.546885
+vn -0.220767 -0.200882 -0.954415
+vn -0.085611 0.718381 -0.690361
+vn 0.182154 -0.134824 -0.973983
+vn 0.689557 -0.677984 -0.254653
+vn 0.678361 -0.679871 -0.278570
+vn 0.885382 -0.387520 -0.256762
+vn 0.933211 -0.317702 -0.167877
+vn 0.011688 -0.920591 -0.390353
+vn 0.000918 -0.947465 -0.319857
+vn 0.678361 -0.679871 -0.278570
+vn 0.599651 -0.763660 -0.239252
+vn 0.957326 0.022318 -0.288148
+vn 0.261667 0.060505 -0.963260
+vn 0.920500 0.250245 -0.300095
+vn 0.229751 0.594778 -0.770360
+vn 0.749700 0.385356 0.538006
+vn 0.659795 0.722998 0.204806
+vn 0.924761 0.289000 0.247580
+vn 0.878888 0.432450 0.201351
+vn 0.659795 0.722998 0.204806
+vn 0.986342 0.152319 -0.062670
+vn 0.878888 0.432450 0.201351
+vn 0.906893 0.377315 0.187562
+vn 0.148640 0.682958 0.715174
+vn 0.749700 0.385356 0.538006
+vn -0.148256 0.481170 0.864000
+vn 0.726364 0.248101 0.640969
+vn 0.985913 0.147465 -0.078929
+vn 0.975031 0.029701 0.220076
+vn 0.904715 0.381644 0.189310
+vn 0.921182 0.325267 0.213601
+vn 0.872410 0.426259 0.239176
+vn 0.274417 0.951769 0.137227
+vn 0.926681 0.311117 0.210877
+vn 0.403884 0.890511 0.209447
+vn 0.872410 0.426259 0.239176
+vn 0.823075 0.525207 0.216114
+vn 0.274417 0.951769 0.137227
+vn 0.220100 0.959414 0.176296
+vn 0.823075 0.525207 0.216114
+vn 0.904715 0.381644 0.189310
+vn 0.220100 0.959414 0.176296
+vn 0.228464 0.952507 0.201334
+vn 0.983923 0.011655 0.178213
+vn 0.986342 0.152319 -0.062670
+vn 0.981351 0.070626 0.178779
+vn 0.957326 0.022318 -0.288148
+vn 0.981351 0.070626 0.178779
+vn 0.957326 0.022318 -0.288148
+vn 0.881995 0.423584 0.206547
+vn 0.920500 0.250245 -0.300095
+vn 0.926681 0.311117 0.210877
+vn 0.906893 0.377315 0.187562
+vn 0.983923 0.011655 0.178213
+vn 0.986342 0.152319 -0.062670
+vn 0.921182 0.325267 0.213601
+vn 0.913592 0.391539 0.109762
+vn 0.271786 0.949678 0.155703
+vn 0.351787 0.927693 -0.125027
+vn -0.813310 0.470265 0.342605
+vn -0.103991 0.664875 0.739681
+vn -0.856678 0.512480 -0.058886
+vn 0.021864 0.992409 0.121026
+vn -0.856678 0.512480 -0.058886
+vn 0.021864 0.992409 0.121026
+vn -0.738191 0.336024 -0.584946
+vn 0.159985 0.600336 -0.783583
+vn 0.955967 0.039968 -0.290739
+vn 0.172591 0.090294 -0.980846
+vn 0.908463 0.263329 -0.324582
+vn 0.159985 0.600336 -0.783583
+vn 0.650462 0.711011 0.267136
+vn 0.980460 0.196551 -0.008129
+vn 0.900446 0.354555 0.251967
+vn 0.959574 0.197358 0.200670
+vn -0.052944 0.750822 0.658380
+vn 0.765076 0.405472 0.500251
+vn 0.005861 0.995733 0.092091
+vn 0.887339 0.411565 0.207953
+vn 0.855309 0.183435 0.484560
+vn 0.979593 0.069728 0.188510
+vn 0.765076 0.405472 0.500251
+vn 0.887339 0.411565 0.207953
+vn 0.917432 0.297803 0.263879
+vn 0.964917 0.167298 0.202353
+vn 0.837122 0.301237 0.456599
+vn 0.983128 -0.000424 0.182918
+vn 0.084161 0.701132 -0.708047
+vn 0.005861 0.995733 0.092091
+vn 0.925716 0.329901 -0.184974
+vn 0.887339 0.411565 0.207953
+vn 0.914713 0.382092 0.131555
+vn 0.969492 0.206023 0.132816
+vn 0.396463 0.905166 0.153269
+vn 0.362223 0.911260 0.195958
+vn 0.991701 0.117389 -0.052424
+vn 0.983128 -0.000424 0.182918
+vn 0.969492 0.206023 0.132816
+vn 0.964917 0.167298 0.202353
+vn 0.982800 0.091607 -0.160349
+vn 0.190730 0.219293 -0.956835
+vn 0.872148 0.448424 -0.195640
+vn 0.121882 0.701737 -0.701933
+vn -0.153248 0.871042 0.466691
+vn 0.687026 0.582313 0.434634
+vn -0.035113 0.997476 -0.061719
+vn 0.819701 0.553590 0.147067
+vn 0.822859 0.278266 0.495450
+vn 0.970783 0.121516 0.206916
+vn 0.687026 0.582313 0.434634
+vn 0.819701 0.553590 0.147067
+vn 0.928149 0.310439 0.205349
+vn 0.903105 0.393776 0.171296
+vn 0.515356 0.855387 0.052161
+vn 0.492767 0.868917 0.046519
+vn 0.903105 0.393776 0.171296
+vn 0.937082 0.309569 0.161383
+vn 0.492767 0.868917 0.046519
+vn 0.470418 0.881446 0.041955
+vn 0.454011 0.889278 0.055298
+vn 0.470418 0.881446 0.041955
+vn 0.949655 0.253425 0.184205
+vn 0.937082 0.309569 0.161383
+vn -0.820731 -0.497891 0.280189
+vn -0.834384 0.062518 0.547627
+vn 0.009085 -0.785833 0.618372
+vn 0.021661 0.250748 0.967810
+vn -0.678042 -0.711924 0.182819
+vn -0.990108 -0.106807 -0.090984
+vn -0.820731 -0.497891 0.280189
+vn -0.983847 -0.146590 -0.102747
+vn -0.991057 -0.049969 -0.123730
+vn -0.709786 0.587409 -0.388787
+vn -0.990108 -0.106807 -0.090984
+vn -0.697764 0.586925 -0.410664
+vn 0.953330 -0.299707 0.036577
+vn 0.977250 -0.211728 -0.012434
+vn 0.954392 0.095650 -0.282819
+vn 0.622199 0.593958 -0.509983
+vn 0.999604 -0.000771 -0.028128
+vn 0.639120 0.766688 -0.060962
+vn 0.992991 -0.040204 -0.111138
+vn 0.668703 0.735433 -0.109429
+vn -0.487263 0.846834 -0.213182
+vn -0.375487 0.925438 -0.050742
+vn -0.010292 0.999073 -0.041810
+vn -0.178344 0.983964 0.002891
+vn -0.487263 0.846834 -0.213182
+vn -0.729092 0.496830 -0.470728
+vn -0.375487 0.925438 -0.050742
+vn -0.572960 0.818261 -0.046542
+vn -0.335054 -0.941456 -0.037398
+vn 0.025159 -0.988582 0.148568
+vn 0.004136 -0.975574 0.219633
+vn 0.079881 -0.976687 0.199252
+vn 0.025159 -0.988582 0.148568
+vn 0.618982 -0.778860 0.101184
+vn 0.079881 -0.976687 0.199252
+vn 0.615318 -0.785994 0.059987
+vn 0.618982 -0.778860 0.101184
+vn 0.999604 -0.000771 -0.028128
+vn 0.615318 -0.785994 0.059987
+vn 0.992991 -0.040204 -0.111138
+vn 0.803313 -0.060196 -0.592507
+vn 0.478645 -0.255150 -0.840118
+vn 0.726670 -0.250566 -0.639662
+vn 0.570549 -0.276608 -0.773280
+vn -0.942440 0.202366 -0.266185
+vn -0.644627 0.278099 -0.712121
+vn -0.954335 0.046524 -0.295095
+vn -0.585679 0.138574 -0.798609
+vn -0.657804 0.584721 -0.474758
+vn -0.625123 0.521335 -0.580889
+vn -0.644627 0.278099 -0.712121
+vn -0.688255 0.228097 -0.688677
+vn -0.930881 -0.338272 -0.137958
+vn -0.995797 -0.004915 -0.091454
+vn -0.926850 -0.352097 -0.130296
+vn -0.995930 -0.003411 -0.090068
+vn -0.995797 -0.004915 -0.091454
+vn -0.918161 0.388283 -0.078849
+vn -0.995930 -0.003411 -0.090068
+vn -0.917759 0.392548 -0.060208
+vn 0.996072 -0.004091 -0.088457
+vn 0.997745 -0.000747 -0.067109
+vn 0.917842 0.392374 -0.060080
+vn 0.918180 0.394603 -0.035142
+vn 0.917842 0.392374 -0.060080
+vn 0.918180 0.394603 -0.035142
+vn 0.397557 0.917513 -0.010892
+vn 0.397489 0.917552 0.010054
+vn 0.397557 0.917513 -0.010892
+vn 0.397489 0.917552 0.010054
+vn 0.000000 0.999986 0.005218
+vn 0.000000 0.999743 0.022676
+vn 0.964189 -0.056842 -0.259053
+vn 0.892171 -0.121527 -0.435043
+vn 0.853414 -0.259883 -0.451825
+vn 0.682972 -0.320341 -0.656453
+vn 0.969202 -0.121510 -0.214205
+vn 0.932575 -0.184781 -0.310096
+vn 0.885382 -0.387520 -0.256762
+vn 0.800581 -0.479774 -0.359009
+vn 0.932553 -0.338357 -0.125935
+vn 0.933211 -0.317702 -0.167877
+vn 0.599651 -0.763660 -0.239252
+vn 0.678361 -0.679871 -0.278570
+vn 0.927221 -0.352421 -0.126731
+vn 0.932553 -0.338357 -0.125935
+vn 0.547626 -0.814935 -0.189703
+vn 0.599651 -0.763660 -0.239252
+vn 0.927221 -0.352421 -0.126731
+vn 0.930351 -0.350323 -0.108265
+vn 0.996072 -0.004091 -0.088457
+vn 0.997745 -0.000747 -0.067109
+vn -0.560258 0.800903 -0.211339
+vn -0.575001 0.789664 -0.214020
+vn -0.356272 0.917801 -0.175249
+vn -0.368025 0.912699 -0.177588
+vn -0.356272 0.917801 -0.175249
+vn -0.368025 0.912699 -0.177588
+vn -0.198026 0.970257 -0.139237
+vn -0.204627 0.968754 -0.140156
+vn -0.846769 0.470504 -0.248210
+vn -0.854382 0.456026 -0.249143
+vn -0.560258 0.800903 -0.211339
+vn -0.575001 0.789664 -0.214020
+vn -0.932953 0.261772 -0.247133
+vn -0.935011 0.254038 -0.247425
+vn -0.846769 0.470504 -0.248210
+vn -0.854382 0.456026 -0.249143
+vn 0.450342 0.887913 0.093821
+vn 0.253214 0.967332 0.012292
+vn 0.456806 0.884114 0.098342
+vn 0.258339 0.965901 0.017236
+vn 0.253214 0.967332 0.012292
+vn 0.020466 0.997200 -0.071920
+vn 0.258339 0.965901 0.017236
+vn 0.020214 0.997484 -0.067945
+vn -0.058101 0.994209 -0.090402
+vn 0.515356 0.855387 0.052161
+vn -0.071469 0.993098 -0.093003
+vn 0.492767 0.868917 0.046519
+vn -0.692632 0.687099 -0.219446
+vn -0.058101 0.994209 -0.090402
+vn -0.702405 0.676612 -0.220958
+vn -0.071469 0.993098 -0.093003
+vn -0.692632 0.687099 -0.219446
+vn -0.702405 0.676612 -0.220958
+vn -0.932953 0.261772 -0.247133
+vn -0.935011 0.254038 -0.247425
+vn 0.223933 -0.857028 0.464066
+vn 0.634231 -0.616073 0.467124
+vn 0.189270 -0.859459 0.474875
+vn 0.551098 -0.680843 0.482435
+vn -0.122627 -0.907069 0.402727
+vn -0.124573 -0.904990 0.406785
+vn -0.447485 -0.854530 0.263696
+vn -0.423277 -0.859172 0.287508
+vn 0.189270 -0.859459 0.474875
+vn -0.124573 -0.904990 0.406785
+vn 0.223933 -0.857028 0.464066
+vn -0.122627 -0.907069 0.402727
+vn 0.906901 0.253125 0.336835
+vn 0.753797 0.576945 0.314523
+vn 0.919538 0.283546 0.272123
+vn 0.747332 0.622138 0.233321
+vn 0.726887 0.571208 0.381258
+vn 0.718833 0.580158 0.383008
+vn 0.495518 0.802639 0.332012
+vn 0.481360 0.809149 0.337002
+vn 0.152082 0.984531 0.087010
+vn 0.102865 0.992602 0.064501
+vn 0.214509 0.957468 0.192979
+vn 0.059604 0.994441 0.086798
+vn -0.268172 0.533654 0.802058
+vn -0.613247 -0.572910 0.543786
+vn 0.131634 0.935449 0.328035
+vn -0.075259 0.883116 0.463080
+vn 0.274417 0.951769 0.137227
+vn 0.152082 0.984531 0.087010
+vn 0.403884 0.890511 0.209447
+vn 0.214509 0.957468 0.192979
+vn 0.271786 0.949678 0.155703
+vn 0.228464 0.952507 0.201334
+vn 0.921182 0.325267 0.213601
+vn 0.904715 0.381644 0.189310
+vn -0.664809 0.535028 0.521320
+vn -0.999620 -0.008398 0.026271
+vn -0.652618 0.648470 0.391888
+vn -0.999448 -0.010224 0.031609
+vn 0.487263 0.865218 0.118210
+vn -0.039350 0.944906 0.324967
+vn 0.010291 0.942514 0.334009
+vn -0.174900 0.929145 0.325730
+vn 0.487263 0.865218 0.118210
+vn 0.375486 0.877531 0.298245
+vn 0.729092 0.636595 -0.251340
+vn 0.572960 0.776527 0.262150
+vn 0.335055 -0.859501 -0.386000
+vn -0.004134 -0.987066 -0.160263
+vn -0.025155 -0.972616 -0.231051
+vn -0.079879 -0.980494 -0.179586
+vn -0.629206 -0.706887 -0.323127
+vn -0.999448 -0.010224 0.031609
+vn -0.648508 -0.591765 -0.478802
+vn -0.999620 -0.008398 0.026271
+vn -0.615318 -0.751607 -0.237636
+vn -0.618980 -0.760363 -0.196755
+vn -0.079879 -0.980494 -0.179586
+vn -0.025155 -0.972616 -0.231051
+vn -0.035944 -0.997343 0.063366
+vn -0.742224 -0.669362 0.032528
+vn -0.007846 -0.999083 0.042082
+vn -0.778764 -0.626978 0.020645
+vn -0.665828 -0.737761 0.111269
+vn -0.986197 -0.160603 -0.040273
+vn -0.742224 -0.669362 0.032528
+vn -0.992833 -0.113810 -0.036459
+vn 0.011688 -0.920591 -0.390353
+vn -0.660270 -0.691224 -0.293690
+vn 0.000918 -0.947465 -0.319857
+vn -0.594424 -0.764289 -0.250046
+vn -0.672131 -0.678358 -0.296765
+vn -0.764193 -0.451626 -0.460482
+vn -0.660270 -0.691224 -0.293690
+vn -0.932912 -0.312472 -0.178986
+vn -0.085611 0.718381 -0.690361
+vn 0.622199 0.593958 -0.509983
+vn -0.356941 0.757305 -0.546885
+vn -0.155282 0.830090 -0.535572
+vn -0.085611 0.718381 -0.690361
+vn 0.182154 -0.134824 -0.973983
+vn 0.187609 0.377527 -0.906795
+vn 0.228226 -0.204954 -0.951791
+vn 0.182154 -0.134824 -0.973983
+vn 0.800581 -0.479774 -0.359009
+vn 0.853414 -0.259883 -0.451825
+vn 0.932575 -0.184781 -0.310096
+vn 0.924761 0.289000 0.247580
+vn 0.971458 0.120078 0.204573
+vn 0.749700 0.385356 0.538006
+vn 0.981491 0.007306 0.191369
+vn 0.881995 0.423584 0.206547
+vn 0.920500 0.250245 -0.300095
+vn 0.019838 0.995195 0.095886
+vn 0.229751 0.594778 -0.770360
+vn 0.926681 0.311117 0.210877
+vn 0.403884 0.890511 0.209447
+vn 0.906893 0.377315 0.187562
+vn 0.396597 0.886837 0.237131
+vn 0.749700 0.385356 0.538006
+vn 0.981491 0.007306 0.191369
+vn 0.726364 0.248101 0.640969
+vn 0.976995 0.078162 0.198420
+vn 0.652110 0.411713 0.636589
+vn 0.870181 0.437606 0.226465
+vn -0.103991 0.664875 0.739681
+vn 0.021864 0.992409 0.121026
+vn 0.726364 0.248101 0.640969
+vn 0.976995 0.078162 0.198420
+vn 0.652110 0.411713 0.636589
+vn 0.870181 0.437606 0.226465
+vn 0.908463 0.263329 -0.324582
+vn 0.870181 0.437606 0.226465
+vn 0.955967 0.039968 -0.290739
+vn 0.976995 0.078162 0.198420
+vn 0.955967 0.039968 -0.290739
+vn 0.976995 0.078162 0.198420
+vn 0.980460 0.196551 -0.008129
+vn 0.981491 0.007306 0.191369
+vn 0.964917 0.167298 0.202353
+vn 0.917432 0.297803 0.263879
+vn 0.371422 0.900885 0.224615
+vn 0.399879 0.882437 0.247794
+vn 0.917432 0.297803 0.263879
+vn 0.900446 0.354555 0.251967
+vn 0.399879 0.882437 0.247794
+vn 0.426671 0.867299 0.256407
+vn 0.982800 0.091607 -0.160349
+vn 0.872148 0.448424 -0.195640
+vn 0.970783 0.121516 0.206916
+vn 0.819701 0.553590 0.147067
+vn 0.121882 0.701737 -0.701933
+vn -0.035113 0.997476 -0.061719
+vn 0.872148 0.448424 -0.195640
+vn 0.819701 0.553590 0.147067
+vn 0.454011 0.889278 0.055298
+vn -0.095669 0.993071 -0.068240
+vn 0.470418 0.881446 0.041955
+vn -0.083684 0.992053 -0.093958
+vn 0.454011 0.889278 0.055298
+vn 0.434572 0.895289 0.098002
+vn -0.095669 0.993071 -0.068240
+vn -0.124889 0.992135 0.008468
+vn 0.434572 0.895289 0.098002
+vn 0.396463 0.905166 0.153269
+vn -0.124889 0.992135 0.008468
+vn -0.171023 0.981220 0.089215
+vn 0.728313 -0.651942 0.211024
+vn 0.853992 -0.402706 0.329432
+vn 0.977250 -0.211728 -0.012434
+vn 0.991894 -0.094160 -0.085328
+vn 0.853992 -0.402706 0.329432
+vn 0.009085 -0.785833 0.618372
+vn 0.843194 0.129506 0.521778
+vn 0.021661 0.250748 0.967810
+vn -0.834384 0.062518 0.547627
+vn -0.820731 -0.497891 0.280189
+vn -0.989479 -0.141947 -0.027977
+vn -0.983847 -0.146590 -0.102747
+vn -0.010292 0.999073 -0.041810
+vn 0.190419 0.971218 0.143096
+vn 0.174904 0.983579 -0.044505
+vn 0.251578 0.959161 0.129301
+vn 0.174904 0.983579 -0.044505
+vn 0.251578 0.959161 0.129301
+vn 0.668703 0.735433 -0.109429
+vn 0.730921 0.681748 -0.031222
+vn -0.729092 0.496830 -0.470728
+vn -0.637941 -0.309019 -0.705365
+vn -0.832821 0.268089 -0.484290
+vn -0.498689 -0.388703 -0.774739
+vn -0.637941 -0.309019 -0.705365
+vn -0.159009 -0.917387 -0.364853
+vn -0.498689 -0.388703 -0.774739
+vn 0.167066 -0.830353 -0.531604
+vn -0.335054 -0.941456 -0.037398
+vn 0.104518 -0.978304 0.178877
+vn -0.159009 -0.917387 -0.364853
+vn 0.311383 -0.937069 0.157933
+vn -0.335054 -0.941456 -0.037398
+vn 0.004136 -0.975574 0.219633
+vn 0.104518 -0.978304 0.178877
+vn 0.104197 -0.973558 0.203294
+vn 0.187609 0.377527 -0.906795
+vn 0.954392 0.095650 -0.282819
+vn -0.085611 0.718381 -0.690361
+vn 0.622199 0.593958 -0.509983
+vn 0.187609 0.377527 -0.906795
+vn 0.228226 -0.204954 -0.951791
+vn 0.803313 -0.060196 -0.592507
+vn 0.478645 -0.255150 -0.840118
+vn 0.570549 -0.276608 -0.773280
+vn 0.478645 -0.255150 -0.840118
+vn 0.682972 -0.320341 -0.656453
+vn 0.228226 -0.204954 -0.951791
+vn -0.688255 0.228097 -0.688677
+vn -0.667223 0.072915 -0.741280
+vn -0.644627 0.278099 -0.712121
+vn -0.585679 0.138574 -0.798609
+vn -0.919153 0.003328 -0.393887
+vn -0.888640 -0.027559 -0.457776
+vn -0.626606 0.197171 -0.753982
+vn -0.470981 0.538889 -0.698409
+vn -0.667223 0.072915 -0.741280
+vn -0.626606 0.197171 -0.753982
+vn -0.585679 0.138574 -0.798609
+vn -0.525118 0.557302 -0.643168
+vn -0.979453 -0.018634 -0.200811
+vn -0.764193 -0.451626 -0.460482
+vn -0.888640 -0.027559 -0.457776
+vn -0.470981 0.538889 -0.698409
+vn -0.926850 -0.352097 -0.130296
+vn -0.545748 -0.815416 -0.193016
+vn -0.930881 -0.338272 -0.137958
+vn -0.594424 -0.764289 -0.250046
+vn -0.930881 -0.338272 -0.137958
+vn -0.594424 -0.764289 -0.250046
+vn -0.932912 -0.312472 -0.178986
+vn -0.660270 -0.691224 -0.293690
+vn -0.995930 -0.003411 -0.090068
+vn -0.917759 0.392548 -0.060208
+vn -0.997745 -0.000747 -0.067109
+vn -0.918180 0.394603 -0.035142
+vn -0.917759 0.392548 -0.060208
+vn -0.397912 0.917361 -0.010697
+vn -0.918180 0.394603 -0.035142
+vn -0.397489 0.917552 0.010054
+vn -0.397912 0.917361 -0.010697
+vn 0.000000 0.999986 0.005218
+vn -0.397489 0.917552 0.010054
+vn 0.000000 0.999743 0.022676
+vn 0.547626 -0.814935 -0.189703
+vn 0.550874 -0.818967 -0.160719
+vn 0.927221 -0.352421 -0.126731
+vn 0.930351 -0.350323 -0.108265
+vn 0.682972 -0.320341 -0.656453
+vn 0.228226 -0.204954 -0.951791
+vn 0.853414 -0.259883 -0.451825
+vn 0.182154 -0.134824 -0.973983
+vn 0.020466 0.997200 -0.071920
+vn -0.204627 0.968754 -0.140156
+vn 0.020214 0.997484 -0.067945
+vn -0.212574 0.967339 -0.138088
+vn 0.634231 -0.616073 0.467124
+vn 0.928133 -0.108931 0.355955
+vn 0.551098 -0.680843 0.482435
+vn 0.917695 -0.166610 0.360663
+vn 0.928133 -0.108931 0.355955
+vn 0.919538 0.283546 0.272123
+vn 0.917695 -0.166610 0.360663
+vn 0.912670 0.347171 0.215654
+vn -0.124573 -0.904990 0.406785
+vn -0.146896 -0.865063 0.479674
+vn -0.423277 -0.859172 0.287508
+vn -0.422392 -0.826715 0.371655
+vn -0.447485 -0.854530 0.263696
+vn -0.423277 -0.859172 0.287508
+vn -0.792250 -0.609096 0.036641
+vn -0.728495 -0.679050 0.090483
+vn -0.447485 -0.854530 0.263696
+vn -0.792250 -0.609096 0.036641
+vn -0.613247 -0.572910 0.543786
+vn -0.995021 -0.034171 0.093625
+vn -0.124573 -0.904990 0.406785
+vn 0.189270 -0.859459 0.474875
+vn -0.146896 -0.865063 0.479674
+vn 0.141482 -0.826921 0.544229
+vn 0.738729 0.565133 0.367293
+vn 0.726887 0.571208 0.381258
+vn 0.513320 0.798359 0.314843
+vn 0.495518 0.802639 0.332012
+vn 0.753797 0.576945 0.314523
+vn 0.738729 0.565133 0.367293
+vn 0.523441 0.807746 0.271211
+vn 0.513320 0.798359 0.314843
+vn 0.131634 0.935449 0.328035
+vn 0.396597 0.886837 0.237131
+vn 0.214509 0.957468 0.192979
+vn 0.403884 0.890511 0.209447
+vn 0.481360 0.809149 0.337002
+vn 0.470390 0.815418 0.337383
+vn 0.253158 0.927532 0.274945
+vn 0.244910 0.930205 0.273382
+vn 0.470390 0.815418 0.337383
+vn 0.459064 0.823888 0.332369
+vn 0.244910 0.930205 0.273382
+vn 0.239053 0.934770 0.262791
+vn 0.459064 0.823888 0.332369
+vn 0.444619 0.836231 0.320986
+vn 0.239053 0.934770 0.262791
+vn 0.231900 0.941250 0.245500
+vn 0.436931 0.853789 0.283082
+vn 0.230833 0.951437 0.203674
+vn 0.444619 0.836231 0.320986
+vn 0.231900 0.941250 0.245500
+vn 0.456917 0.880536 0.126028
+vn 0.256781 0.965409 0.045275
+vn 0.445902 0.872102 0.201519
+vn 0.243582 0.962344 0.120674
+vn 0.445902 0.872102 0.201519
+vn 0.243582 0.962344 0.120674
+vn 0.436931 0.853789 0.283082
+vn 0.230833 0.951437 0.203674
+vn 0.456806 0.884114 0.098342
+vn 0.258339 0.965901 0.017236
+vn 0.456917 0.880536 0.126028
+vn 0.256781 0.965409 0.045275
+vn 0.495518 0.802639 0.332012
+vn 0.481360 0.809149 0.337002
+vn 0.267819 0.925828 0.266676
+vn 0.253158 0.927532 0.274945
+vn -0.639121 0.734058 0.229528
+vn -0.652618 0.648470 0.391888
+vn -0.999604 0.009781 -0.026384
+vn -0.999448 -0.010224 0.031609
+vn -0.039350 0.944906 0.324967
+vn -0.639121 0.734058 0.229528
+vn -0.174900 0.929145 0.325730
+vn -0.668702 0.723148 0.172900
+vn 0.487263 0.865218 0.118210
+vn 0.010291 0.942514 0.334009
+vn 0.375486 0.877531 0.298245
+vn 0.178345 0.911816 0.369844
+vn 0.729092 0.636595 -0.251340
+vn 0.832821 0.429436 -0.349275
+vn 0.637940 -0.023493 -0.769728
+vn 0.498688 -0.071537 -0.863824
+vn 0.335055 -0.859501 -0.386000
+vn -0.104521 -0.974390 -0.199095
+vn -0.004134 -0.987066 -0.160263
+vn -0.104194 -0.979099 -0.174670
+vn 0.335055 -0.859501 -0.386000
+vn 0.159004 -0.714985 -0.680819
+vn -0.104521 -0.974390 -0.199095
+vn -0.311386 -0.928318 -0.203138
+vn 0.637940 -0.023493 -0.769728
+vn 0.498688 -0.071537 -0.863824
+vn 0.159004 -0.714985 -0.680819
+vn -0.167064 -0.572012 -0.803051
+vn -0.629206 -0.706887 -0.323127
+vn -0.618980 -0.760363 -0.196755
+vn -0.999448 -0.010224 0.031609
+vn -0.999604 0.009781 -0.026384
+vn -0.618980 -0.760363 -0.196755
+vn -0.615318 -0.751607 -0.237636
+vn -0.999604 0.009781 -0.026384
+vn -0.992991 0.004171 -0.118113
+vn -0.967693 0.111289 -0.226239
+vn -0.954335 0.046524 -0.295095
+vn -0.525118 0.557302 -0.643168
+vn -0.585679 0.138574 -0.798609
+vn -0.986197 -0.160603 -0.040273
+vn -0.967693 0.111289 -0.226239
+vn -0.992833 -0.113810 -0.036459
+vn -0.813585 0.552464 -0.181282
+vn -0.007846 -0.999083 0.042082
+vn -0.028436 -0.805938 0.591317
+vn 0.765496 -0.643120 0.020322
+vn 0.868791 -0.403770 0.286656
+vn 0.883563 0.420414 -0.206322
+vn -0.117384 0.935171 -0.334181
+vn -0.764193 -0.451626 -0.460482
+vn -0.470981 0.538889 -0.698409
+vn 0.948524 -0.304993 -0.085328
+vn 0.999324 -0.023631 -0.028163
+vn 0.883563 0.420414 -0.206322
+vn 0.747292 0.651112 -0.132694
+vn 0.765496 -0.643120 0.020322
+vn 0.868791 -0.403770 0.286656
+vn 0.999324 -0.023631 -0.028163
+vn 0.998472 0.009356 -0.054464
+vn -0.356941 0.757305 -0.546885
+vn -0.155282 0.830090 -0.535572
+vn -0.709786 0.587409 -0.388787
+vn -0.697764 0.586925 -0.410664
+vn 0.000918 -0.947465 -0.319857
+vn 0.001000 -0.976545 -0.215311
+vn 0.599651 -0.763660 -0.239252
+vn 0.547626 -0.814935 -0.189703
+vn 0.971458 0.120078 0.204573
+vn 0.924761 0.289000 0.247580
+vn 0.474406 0.849858 0.229522
+vn 0.427571 0.874817 0.227768
+vn 0.924761 0.289000 0.247580
+vn 0.878888 0.432450 0.201351
+vn 0.427571 0.874817 0.227768
+vn 0.394761 0.886945 0.239777
+vn 0.878888 0.432450 0.201351
+vn 0.906893 0.377315 0.187562
+vn 0.394761 0.886945 0.239777
+vn 0.396597 0.886837 0.237131
+vn 0.159985 0.600336 -0.783583
+vn 0.021864 0.992409 0.121026
+vn 0.908463 0.263329 -0.324582
+vn 0.870181 0.437606 0.226465
+vn 0.900446 0.354555 0.251967
+vn 0.959574 0.197358 0.200670
+vn 0.426671 0.867299 0.256407
+vn 0.454700 0.855959 0.246133
+vn 0.980460 0.196551 -0.008129
+vn 0.981491 0.007306 0.191369
+vn 0.959574 0.197358 0.200670
+vn 0.971458 0.120078 0.204573
+vn 0.371422 0.900885 0.224615
+vn 0.362223 0.911260 0.195958
+vn 0.964917 0.167298 0.202353
+vn 0.969492 0.206023 0.132816
+vn 0.396463 0.905166 0.153269
+vn 0.362223 0.911260 0.195958
+vn -0.171023 0.981220 0.089215
+vn -0.205817 0.970929 0.122212
+vn 0.470418 0.881446 0.041955
+vn -0.083684 0.992053 -0.093958
+vn 0.492767 0.868917 0.046519
+vn -0.071469 0.993098 -0.093003
+vn 0.843194 0.129506 0.521778
+vn 0.995049 -0.082690 -0.055139
+vn 0.853992 -0.402706 0.329432
+vn 0.991894 -0.094160 -0.085328
+vn -0.989479 -0.141947 -0.027977
+vn -0.997294 -0.065850 0.032678
+vn -0.834384 0.062518 0.547627
+vn -0.770489 0.173021 0.613523
+vn -0.834384 0.062518 0.547627
+vn -0.770489 0.173021 0.613523
+vn 0.021661 0.250748 0.967810
+vn 0.064126 0.321298 0.944805
+vn -0.990108 -0.106807 -0.090984
+vn -0.697764 0.586925 -0.410664
+vn -0.983847 -0.146590 -0.102747
+vn -0.720281 0.122985 -0.682694
+vn 0.977250 -0.211728 -0.012434
+vn 0.991894 -0.094160 -0.085328
+vn 0.622199 0.593958 -0.509983
+vn 0.704048 0.267029 -0.658036
+vn 0.615318 -0.785994 0.059987
+vn 0.992991 -0.040204 -0.111138
+vn 0.595196 -0.790377 -0.145073
+vn 0.978996 -0.076593 -0.188944
+vn 0.992991 -0.040204 -0.111138
+vn 0.668703 0.735433 -0.109429
+vn 0.978996 -0.076593 -0.188944
+vn 0.730921 0.681748 -0.031222
+vn 0.190419 0.971218 0.143096
+vn -0.010292 0.999073 -0.041810
+vn -0.126856 0.991916 0.003048
+vn -0.178344 0.983964 0.002891
+vn -0.375487 0.925438 -0.050742
+vn -0.591624 0.791300 0.154356
+vn -0.178344 0.983964 0.002891
+vn -0.126856 0.991916 0.003048
+vn -0.572960 0.818261 -0.046542
+vn -0.432294 0.786968 0.440232
+vn -0.375487 0.925438 -0.050742
+vn -0.591624 0.791300 0.154356
+vn -0.729092 0.496830 -0.470728
+vn -0.832821 0.268089 -0.484290
+vn -0.572960 0.818261 -0.046542
+vn -0.754101 0.655893 0.033702
+vn 0.079881 -0.976687 0.199252
+vn -0.055183 -0.997762 0.037770
+vn 0.004136 -0.975574 0.219633
+vn -0.085877 -0.975073 0.204592
+vn 0.079881 -0.976687 0.199252
+vn 0.615318 -0.785994 0.059987
+vn -0.055183 -0.997762 0.037770
+vn 0.595196 -0.790377 -0.145073
+vn -0.545748 -0.815416 -0.193016
+vn -0.926850 -0.352097 -0.130296
+vn -0.550874 -0.818967 -0.160719
+vn -0.930351 -0.350323 -0.108265
+vn -0.926850 -0.352097 -0.130296
+vn -0.995930 -0.003411 -0.090068
+vn -0.930351 -0.350323 -0.108265
+vn -0.997745 -0.000747 -0.067109
+vn 0.930351 -0.350323 -0.108265
+vn 0.934223 -0.347128 -0.082036
+vn 0.997745 -0.000747 -0.067109
+vn 0.998945 0.001365 -0.045896
+vn 0.997745 -0.000747 -0.067109
+vn 0.998945 0.001365 -0.045896
+vn 0.918180 0.394603 -0.035142
+vn 0.915507 0.401409 -0.026782
+vn 0.918180 0.394603 -0.035142
+vn 0.915507 0.401409 -0.026782
+vn 0.397489 0.917552 0.010054
+vn 0.395443 0.918473 -0.005712
+vn 0.397489 0.917552 0.010054
+vn 0.395443 0.918473 -0.005712
+vn 0.000000 0.999743 0.022676
+vn 0.000000 1.000000 0.000667
+vn 0.550874 -0.818967 -0.160719
+vn 0.547626 -0.814935 -0.189703
+vn 0.000000 -0.984642 -0.174586
+vn 0.001000 -0.976545 -0.215311
+vn 0.550874 -0.818967 -0.160719
+vn 0.566732 -0.812634 -0.135796
+vn 0.930351 -0.350323 -0.108265
+vn 0.934223 -0.347128 -0.082036
+vn -0.854382 0.456026 -0.249143
+vn -0.861571 0.441494 -0.250557
+vn -0.575001 0.789664 -0.214020
+vn -0.590545 0.777834 -0.215015
+vn -0.575001 0.789664 -0.214020
+vn -0.590545 0.777834 -0.215015
+vn -0.368025 0.912699 -0.177588
+vn -0.381239 0.907354 -0.177106
+vn -0.368025 0.912699 -0.177588
+vn -0.381239 0.907354 -0.177106
+vn -0.204627 0.968754 -0.140156
+vn -0.212574 0.967339 -0.138088
+vn -0.935011 0.254038 -0.247425
+vn -0.936623 0.246156 -0.249290
+vn -0.854382 0.456026 -0.249143
+vn -0.861571 0.441494 -0.250557
+vn -0.702405 0.676612 -0.220958
+vn -0.712408 0.665520 -0.222618
+vn -0.935011 0.254038 -0.247425
+vn -0.936623 0.246156 -0.249290
+vn 0.258339 0.965901 0.017236
+vn 0.020214 0.997484 -0.067945
+vn 0.256781 0.965409 0.045275
+vn 0.012391 0.999075 -0.041173
+vn -0.702405 0.676612 -0.220958
+vn -0.071469 0.993098 -0.093003
+vn -0.712408 0.665520 -0.222618
+vn -0.083684 0.992053 -0.093958
+vn 0.189270 -0.859459 0.474875
+vn 0.551098 -0.680843 0.482435
+vn 0.141482 -0.826921 0.544229
+vn 0.448187 -0.697278 0.559403
+vn -0.423277 -0.859172 0.287508
+vn -0.422392 -0.826715 0.371655
+vn -0.728495 -0.679050 0.090483
+vn -0.686104 -0.696036 0.211648
+vn -0.146896 -0.865063 0.479674
+vn -0.161231 -0.834756 0.526485
+vn -0.422392 -0.826715 0.371655
+vn -0.424970 -0.793362 0.435865
+vn -0.146896 -0.865063 0.479674
+vn 0.141482 -0.826921 0.544229
+vn -0.161231 -0.834756 0.526485
+vn 0.107920 -0.793508 0.598914
+vn 0.523441 0.807746 0.271211
+vn 0.504008 0.839513 0.202963
+vn 0.753797 0.576945 0.314523
+vn 0.747332 0.622138 0.233321
+vn 0.919538 0.283546 0.272123
+vn 0.747332 0.622138 0.233321
+vn 0.912670 0.347171 0.215654
+vn 0.696407 0.702234 0.147937
+vn 0.513320 0.798359 0.314843
+vn 0.495518 0.802639 0.332012
+vn 0.286139 0.925288 0.248930
+vn 0.267819 0.925828 0.266676
+vn -0.613247 -0.572910 0.543786
+vn -0.995021 -0.034171 0.093625
+vn -0.075259 0.883116 0.463080
+vn -0.237901 0.943097 0.232319
+vn 0.131634 0.935449 0.328035
+vn -0.075259 0.883116 0.463080
+vn 0.396597 0.886837 0.237131
+vn 0.394761 0.886945 0.239777
+vn -0.999604 0.009781 -0.026384
+vn -0.992991 0.004171 -0.118113
+vn -0.639121 0.734058 0.229528
+vn -0.668702 0.723148 0.172900
+vn 0.010291 0.942514 0.334009
+vn -0.174900 0.929145 0.325730
+vn -0.190421 0.847673 0.495167
+vn -0.251575 0.841635 0.477871
+vn 0.729092 0.636595 -0.251340
+vn 0.572960 0.776527 0.262150
+vn 0.832821 0.429436 -0.349275
+vn 0.754102 0.595943 0.276010
+vn 0.572960 0.776527 0.262150
+vn 0.375486 0.877531 0.298245
+vn 0.432292 0.565856 0.702090
+vn 0.591627 0.676546 0.438478
+vn -0.079879 -0.980494 -0.179586
+vn -0.004134 -0.987066 -0.160263
+vn 0.055181 -0.939790 -0.337268
+vn 0.085876 -0.980989 -0.174031
+vn -0.079879 -0.980494 -0.179586
+vn 0.055181 -0.939790 -0.337268
+vn -0.615318 -0.751607 -0.237636
+vn -0.595198 -0.679156 -0.429520
+vn -0.967693 0.111289 -0.226239
+vn -0.525118 0.557302 -0.643168
+vn -0.813585 0.552464 -0.181282
+vn -0.117384 0.935171 -0.334181
+vn -0.007846 -0.999083 0.042082
+vn -0.778764 -0.626978 0.020645
+vn -0.028436 -0.805938 0.591317
+vn -0.883797 -0.396712 0.248037
+vn -0.742224 -0.669362 0.032528
+vn -0.992833 -0.113810 -0.036459
+vn -0.778764 -0.626978 0.020645
+vn -0.999492 -0.000330 -0.031858
+vn 0.000918 -0.947465 -0.319857
+vn -0.594424 -0.764289 -0.250046
+vn 0.001000 -0.976545 -0.215311
+vn -0.545748 -0.815416 -0.193016
+vn 0.883563 0.420414 -0.206322
+vn 0.747292 0.651112 -0.132694
+vn -0.117384 0.935171 -0.334181
+vn 0.013258 0.982574 -0.185399
+vn 0.622199 0.593958 -0.509983
+vn 0.704048 0.267029 -0.658036
+vn -0.155282 0.830090 -0.535572
+vn -0.021123 0.396192 -0.917925
+vn 0.474406 0.849858 0.229522
+vn 0.454700 0.855959 0.246133
+vn 0.971458 0.120078 0.204573
+vn 0.959574 0.197358 0.200670
+vn 0.362223 0.911260 0.195958
+vn 0.371422 0.900885 0.224615
+vn -0.205817 0.970929 0.122212
+vn -0.218561 0.967108 0.130128
+vn 0.371422 0.900885 0.224615
+vn 0.399879 0.882437 0.247794
+vn -0.218561 0.967108 0.130128
+vn -0.219189 0.966526 0.133355
+vn 0.399879 0.882437 0.247794
+vn 0.426671 0.867299 0.256407
+vn -0.219189 0.966526 0.133355
+vn -0.214919 0.967688 0.131869
+vn -0.095669 0.993071 -0.068240
+vn -0.729617 0.653494 -0.201508
+vn -0.083684 0.992053 -0.093958
+vn -0.712408 0.665520 -0.222618
+vn -0.124889 0.992135 0.008468
+vn -0.762398 0.633575 -0.131650
+vn -0.095669 0.993071 -0.068240
+vn -0.729617 0.653494 -0.201508
+vn -0.124889 0.992135 0.008468
+vn -0.171023 0.981220 0.089215
+vn -0.762398 0.633575 -0.131650
+vn -0.794762 0.603722 -0.062238
+vn 0.995049 -0.082690 -0.055139
+vn 0.843194 0.129506 0.521778
+vn 0.997487 -0.040828 -0.057904
+vn 0.828893 0.195399 0.524172
+vn 0.843194 0.129506 0.521778
+vn 0.021661 0.250748 0.967810
+vn 0.828893 0.195399 0.524172
+vn 0.064126 0.321298 0.944805
+vn -0.989479 -0.141947 -0.027977
+vn -0.983847 -0.146590 -0.102747
+vn -0.703356 -0.366299 -0.609193
+vn -0.720281 0.122985 -0.682694
+vn -0.997294 -0.065850 0.032678
+vn -0.989479 -0.141947 -0.027977
+vn -0.766793 -0.321332 -0.555675
+vn -0.703356 -0.366299 -0.609193
+vn -0.697764 0.586925 -0.410664
+vn -0.155282 0.830090 -0.535572
+vn -0.720281 0.122985 -0.682694
+vn -0.021123 0.396192 -0.917925
+vn -0.126856 0.991916 0.003048
+vn -0.136593 0.988641 0.062704
+vn 0.190419 0.971218 0.143096
+vn 0.589302 0.793527 0.151783
+vn 0.190419 0.971218 0.143096
+vn -0.363859 0.732525 0.575338
+vn 0.251578 0.959161 0.129301
+vn 0.284247 0.878967 0.382912
+vn 0.251578 0.959161 0.129301
+vn 0.284247 0.878967 0.382912
+vn 0.730921 0.681748 -0.031222
+vn 0.798464 0.592039 0.109291
+vn -0.572960 0.818261 -0.046542
+vn -0.754101 0.655893 0.033702
+vn -0.432294 0.786968 0.440232
+vn -0.409027 0.705115 0.579232
+vn -0.832821 0.268089 -0.484290
+vn -0.498689 -0.388703 -0.774739
+vn -0.912558 0.071633 -0.402625
+vn -0.422766 -0.422025 -0.801975
+vn -0.498689 -0.388703 -0.774739
+vn 0.167066 -0.830353 -0.531604
+vn -0.422766 -0.422025 -0.801975
+vn 0.364626 -0.652014 -0.664775
+vn -0.159009 -0.917387 -0.364853
+vn 0.311383 -0.937069 0.157933
+vn 0.167066 -0.830353 -0.531604
+vn 0.692291 -0.720614 0.038066
+vn 0.311383 -0.937069 0.157933
+vn 0.104518 -0.978304 0.178877
+vn 0.280598 -0.672461 0.684881
+vn -0.310181 -0.892984 0.326140
+vn 0.104518 -0.978304 0.178877
+vn 0.104197 -0.973558 0.203294
+vn -0.310181 -0.892984 0.326140
+vn 0.100675 -0.980182 0.170608
+vn 0.104197 -0.973558 0.203294
+vn 0.004136 -0.975574 0.219633
+vn 0.100675 -0.980182 0.170608
+vn -0.085877 -0.975073 0.204592
+vn -0.626606 0.197171 -0.753982
+vn -0.470981 0.538889 -0.698409
+vn -0.525118 0.557302 -0.643168
+vn -0.117384 0.935171 -0.334181
+vn -0.550874 -0.818967 -0.160719
+vn 0.000000 -0.984642 -0.174586
+vn -0.545748 -0.815416 -0.193016
+vn 0.001000 -0.976545 -0.215311
+vn -0.930351 -0.350323 -0.108265
+vn -0.997745 -0.000747 -0.067109
+vn -0.934223 -0.347128 -0.082036
+vn -0.998945 0.001365 -0.045896
+vn -0.997745 -0.000747 -0.067109
+vn -0.918180 0.394603 -0.035142
+vn -0.998945 0.001365 -0.045896
+vn -0.915507 0.401409 -0.026782
+vn -0.918180 0.394603 -0.035142
+vn -0.397489 0.917552 0.010054
+vn -0.915507 0.401409 -0.026782
+vn -0.395443 0.918473 -0.005712
+vn -0.397489 0.917552 0.010054
+vn 0.000000 0.999743 0.022676
+vn -0.395443 0.918473 -0.005712
+vn 0.000000 1.000000 0.000667
+vn 0.000000 -0.984642 -0.174586
+vn 0.000000 -0.988118 -0.153695
+vn 0.550874 -0.818967 -0.160719
+vn 0.566732 -0.812634 -0.135796
+vn 0.020214 0.997484 -0.067945
+vn -0.212574 0.967339 -0.138088
+vn 0.012391 0.999075 -0.041173
+vn -0.228823 0.966819 -0.113583
+vn 0.551098 -0.680843 0.482435
+vn 0.917695 -0.166610 0.360663
+vn 0.448187 -0.697278 0.559403
+vn 0.867547 -0.207673 0.451923
+vn 0.917695 -0.166610 0.360663
+vn 0.912670 0.347171 0.215654
+vn 0.867547 -0.207673 0.451923
+vn 0.869719 0.446155 0.211032
+vn -0.792250 -0.609096 0.036641
+vn -0.728495 -0.679050 0.090483
+vn -0.969215 -0.102488 -0.223872
+vn -0.962746 -0.163750 -0.215187
+vn -0.995021 -0.034171 0.093625
+vn -0.792250 -0.609096 0.036641
+vn -0.980194 0.012390 -0.197650
+vn -0.969215 -0.102488 -0.223872
+vn 0.523441 0.807746 0.271211
+vn 0.513320 0.798359 0.314843
+vn 0.293537 0.930191 0.220412
+vn 0.286139 0.925288 0.248930
+vn 0.504008 0.839513 0.202963
+vn 0.523441 0.807746 0.271211
+vn 0.277141 0.944775 0.174906
+vn 0.293537 0.930191 0.220412
+vn 0.747332 0.622138 0.233321
+vn 0.504008 0.839513 0.202963
+vn 0.696407 0.702234 0.147937
+vn 0.444601 0.887135 0.123779
+vn 0.267819 0.925828 0.266676
+vn 0.253158 0.927532 0.274945
+vn -0.058307 0.984772 0.163780
+vn -0.062733 0.982198 0.177067
+vn 0.253158 0.927532 0.274945
+vn 0.244910 0.930205 0.273382
+vn -0.062733 0.982198 0.177067
+vn -0.060842 0.982180 0.177822
+vn 0.244910 0.930205 0.273382
+vn 0.239053 0.934770 0.262791
+vn -0.060842 0.982180 0.177822
+vn -0.054927 0.984227 0.168166
+vn 0.239053 0.934770 0.262791
+vn 0.231900 0.941250 0.245500
+vn -0.054927 0.984227 0.168166
+vn -0.047610 0.987207 0.152169
+vn 0.243582 0.962344 0.120674
+vn -0.009367 0.999457 0.031576
+vn 0.230833 0.951437 0.203674
+vn -0.033966 0.993105 0.112199
+vn 0.230833 0.951437 0.203674
+vn -0.033966 0.993105 0.112199
+vn 0.231900 0.941250 0.245500
+vn -0.047610 0.987207 0.152169
+vn 0.256781 0.965409 0.045275
+vn 0.012391 0.999075 -0.041173
+vn 0.243582 0.962344 0.120674
+vn -0.009367 0.999457 0.031576
+vn 0.286139 0.925288 0.248930
+vn 0.267819 0.925828 0.266676
+vn -0.049267 0.988449 0.143320
+vn -0.058307 0.984772 0.163780
+vn -0.174900 0.929145 0.325730
+vn -0.668702 0.723148 0.172900
+vn -0.251575 0.841635 0.477871
+vn -0.730918 0.644160 0.225427
+vn -0.190421 0.847673 0.495167
+vn 0.126857 0.919135 0.372959
+vn 0.010291 0.942514 0.334009
+vn 0.178345 0.911816 0.369844
+vn 0.375486 0.877531 0.298245
+vn 0.178345 0.911816 0.369844
+vn 0.591627 0.676546 0.438478
+vn 0.126857 0.919135 0.372959
+vn 0.572960 0.776527 0.262150
+vn 0.432292 0.565856 0.702090
+vn 0.754102 0.595943 0.276010
+vn 0.409028 0.438047 0.800507
+vn 0.832821 0.429436 -0.349275
+vn 0.912558 0.216697 -0.346815
+vn 0.498688 -0.071537 -0.863824
+vn 0.422767 -0.092289 -0.901527
+vn -0.104194 -0.979099 -0.174670
+vn -0.100671 -0.973048 -0.207468
+vn -0.004134 -0.987066 -0.160263
+vn 0.085876 -0.980989 -0.174031
+vn -0.104521 -0.974390 -0.199095
+vn 0.310179 -0.950185 -0.030632
+vn -0.104194 -0.979099 -0.174670
+vn -0.100671 -0.973048 -0.207468
+vn -0.311386 -0.928318 -0.203138
+vn -0.280599 -0.879451 0.384487
+vn -0.104521 -0.974390 -0.199095
+vn 0.310179 -0.950185 -0.030632
+vn 0.159004 -0.714985 -0.680819
+vn -0.167064 -0.572012 -0.803051
+vn -0.311386 -0.928318 -0.203138
+vn -0.692291 -0.682770 -0.233577
+vn 0.498688 -0.071537 -0.863824
+vn 0.422767 -0.092289 -0.901527
+vn -0.167064 -0.572012 -0.803051
+vn -0.364625 -0.356862 -0.860057
+vn -0.615318 -0.751607 -0.237636
+vn -0.595198 -0.679156 -0.429520
+vn -0.992991 0.004171 -0.118113
+vn -0.978996 -0.000556 -0.203877
+vn -0.992833 -0.113810 -0.036459
+vn -0.813585 0.552464 -0.181282
+vn -0.999492 -0.000330 -0.031858
+vn -0.711110 0.690329 -0.133300
+vn 0.868791 -0.403770 0.286656
+vn -0.028436 -0.805938 0.591317
+vn 0.744389 -0.092487 0.661310
+vn -0.098738 -0.137158 0.985616
+vn 0.999324 -0.023631 -0.028163
+vn 0.998472 0.009356 -0.054464
+vn 0.747292 0.651112 -0.132694
+vn 0.729059 0.391977 -0.561094
+vn 0.998472 0.009356 -0.054464
+vn 0.868791 -0.403770 0.286656
+vn 0.998031 -0.027522 0.056361
+vn 0.744389 -0.092487 0.661310
+vn 0.454700 0.855959 0.246133
+vn 0.474406 0.849858 0.229522
+vn -0.216427 0.968499 0.123166
+vn -0.238450 0.961654 0.135514
+vn 0.474406 0.849858 0.229522
+vn 0.427571 0.874817 0.227768
+vn -0.238450 0.961654 0.135514
+vn -0.237901 0.943097 0.232319
+vn 0.427571 0.874817 0.227768
+vn 0.394761 0.886945 0.239777
+vn -0.237901 0.943097 0.232319
+vn -0.075259 0.883116 0.463080
+vn 0.426671 0.867299 0.256407
+vn 0.454700 0.855959 0.246133
+vn -0.214919 0.967688 0.131869
+vn -0.216427 0.968499 0.123166
+vn -0.171023 0.981220 0.089215
+vn -0.205817 0.970929 0.122212
+vn -0.794762 0.603722 -0.062238
+vn -0.816098 0.575762 -0.049826
+vn 0.995049 -0.082690 -0.055139
+vn 0.688088 -0.339013 -0.641565
+vn 0.991894 -0.094160 -0.085328
+vn 0.704048 0.267029 -0.658036
+vn 0.997487 -0.040828 -0.057904
+vn 0.714381 -0.313492 -0.625605
+vn 0.995049 -0.082690 -0.055139
+vn 0.688088 -0.339013 -0.641565
+vn -0.766793 -0.321332 -0.555675
+vn -0.770548 -0.251029 -0.585868
+vn -0.997294 -0.065850 0.032678
+vn -0.997582 0.059254 0.036311
+vn -0.997294 -0.065850 0.032678
+vn -0.997582 0.059254 0.036311
+vn -0.770489 0.173021 0.613523
+vn -0.676445 0.345304 0.650529
+vn -0.770489 0.173021 0.613523
+vn -0.676445 0.345304 0.650529
+vn 0.064126 0.321298 0.944805
+vn 0.110704 0.396908 0.911158
+vn 0.595196 -0.790377 -0.145073
+vn 0.535729 -0.749900 -0.388130
+vn -0.055183 -0.997762 0.037770
+vn -0.200876 -0.938990 -0.279188
+vn 0.595196 -0.790377 -0.145073
+vn 0.978996 -0.076593 -0.188944
+vn 0.535729 -0.749900 -0.388130
+vn 0.965818 -0.102657 -0.238027
+vn 0.978996 -0.076593 -0.188944
+vn 0.730921 0.681748 -0.031222
+vn 0.965818 -0.102657 -0.238027
+vn 0.798464 0.592039 0.109291
+vn -0.136593 0.988641 0.062704
+vn -0.126856 0.991916 0.003048
+vn -0.754873 0.655817 0.008426
+vn -0.591624 0.791300 0.154356
+vn 0.190419 0.971218 0.143096
+vn 0.417572 -0.115859 0.901227
+vn -0.363859 0.732525 0.575338
+vn -0.913029 0.058132 0.403732
+vn -0.591624 0.791300 0.154356
+vn -0.432294 0.786968 0.440232
+vn -0.954367 -0.089525 0.284903
+vn -0.104520 0.126615 0.986430
+vn -0.832821 0.268089 -0.484290
+vn -0.912558 0.071633 -0.402625
+vn -0.754101 0.655893 0.033702
+vn -0.885577 0.434052 0.165383
+vn 0.311383 -0.937069 0.157933
+vn 0.280598 -0.672461 0.684881
+vn 0.692291 -0.720614 0.038066
+vn 0.730840 -0.292781 0.616564
+vn -0.055183 -0.997762 0.037770
+vn -0.200876 -0.938990 -0.279188
+vn -0.085877 -0.975073 0.204592
+vn -0.788153 -0.614036 0.042128
+vn 0.000000 -0.984642 -0.174586
+vn -0.550874 -0.818967 -0.160719
+vn 0.000000 -0.988118 -0.153695
+vn -0.566731 -0.812635 -0.135796
+vn -0.550874 -0.818967 -0.160719
+vn -0.930351 -0.350323 -0.108265
+vn -0.566731 -0.812635 -0.135796
+vn -0.934223 -0.347128 -0.082036
+vn 0.566732 -0.812634 -0.135796
+vn 0.580175 -0.810431 -0.081233
+vn 0.934223 -0.347128 -0.082036
+vn 0.935556 -0.347917 -0.060737
+vn 0.934223 -0.347128 -0.082036
+vn 0.935556 -0.347917 -0.060737
+vn 0.998945 0.001365 -0.045896
+vn 0.998795 0.002105 -0.049041
+vn 0.998945 0.001365 -0.045896
+vn 0.998795 0.002105 -0.049041
+vn 0.915507 0.401409 -0.026782
+vn 0.910676 0.409383 -0.055454
+vn 0.915507 0.401409 -0.026782
+vn 0.910676 0.409383 -0.055454
+vn 0.395443 0.918473 -0.005712
+vn 0.393179 0.917204 -0.064395
+vn 0.395443 0.918473 -0.005712
+vn 0.393179 0.917204 -0.064395
+vn 0.000000 1.000000 0.000667
+vn -0.000000 0.998068 -0.062137
+vn 0.000000 -0.988118 -0.153695
+vn 0.000000 -0.996239 -0.086650
+vn 0.566732 -0.812634 -0.135796
+vn 0.580175 -0.810431 -0.081233
+vn -0.936623 0.246156 -0.249290
+vn -0.942392 0.237105 -0.235962
+vn -0.861571 0.441494 -0.250557
+vn -0.872581 0.428933 -0.233706
+vn -0.861571 0.441494 -0.250557
+vn -0.872581 0.428933 -0.233706
+vn -0.590545 0.777834 -0.215015
+vn -0.613022 0.765980 -0.193595
+vn -0.590545 0.777834 -0.215015
+vn -0.613022 0.765980 -0.193595
+vn -0.381239 0.907354 -0.177106
+vn -0.402831 0.902223 -0.154017
+vn -0.381239 0.907354 -0.177106
+vn -0.402831 0.902223 -0.154017
+vn -0.212574 0.967339 -0.138088
+vn -0.228823 0.966819 -0.113583
+vn -0.712408 0.665520 -0.222618
+vn -0.729617 0.653494 -0.201508
+vn -0.936623 0.246156 -0.249290
+vn -0.942392 0.237105 -0.235962
+vn 0.141482 -0.826921 0.544229
+vn 0.448187 -0.697278 0.559403
+vn 0.107920 -0.793508 0.598914
+vn 0.341298 -0.683235 0.645527
+vn -0.728495 -0.679050 0.090483
+vn -0.686104 -0.696036 0.211648
+vn -0.962746 -0.163750 -0.215187
+vn -0.972447 -0.204465 -0.111986
+vn -0.422392 -0.826715 0.371655
+vn -0.424970 -0.793362 0.435865
+vn -0.686104 -0.696036 0.211648
+vn -0.644927 -0.682689 0.343519
+vn -0.161231 -0.834756 0.526485
+vn -0.172906 -0.807026 0.564635
+vn -0.424970 -0.793362 0.435865
+vn -0.434254 -0.759305 0.484644
+vn -0.995021 -0.034171 0.093625
+vn -0.980194 0.012390 -0.197650
+vn -0.888098 0.452894 -0.078547
+vn -0.972978 0.123508 -0.195091
+vn -0.161231 -0.834756 0.526485
+vn 0.107920 -0.793508 0.598914
+vn -0.172906 -0.807026 0.564635
+vn 0.088468 -0.759436 0.644539
+vn 0.277141 0.944775 0.174906
+vn 0.238023 0.964693 0.112753
+vn 0.504008 0.839513 0.202963
+vn 0.444601 0.887135 0.123779
+vn 0.912670 0.347171 0.215654
+vn 0.696407 0.702234 0.147937
+vn 0.869719 0.446155 0.211032
+vn 0.600998 0.795413 0.078220
+vn 0.293537 0.930191 0.220412
+vn 0.286139 0.925288 0.248930
+vn -0.040740 0.991337 0.124864
+vn -0.049267 0.988449 0.143320
+vn -0.995021 -0.034171 0.093625
+vn -0.888098 0.452894 -0.078547
+vn -0.237901 0.943097 0.232319
+vn -0.238450 0.961654 0.135514
+vn -0.992991 0.004171 -0.118113
+vn -0.978996 -0.000556 -0.203877
+vn -0.668702 0.723148 0.172900
+vn -0.730918 0.644160 0.225427
+vn 0.126857 0.919135 0.372959
+vn -0.190421 0.847673 0.495167
+vn 0.136595 0.893835 0.427083
+vn -0.589305 0.679573 0.436922
+vn -0.190421 0.847673 0.495167
+vn -0.251575 0.841635 0.477871
+vn 0.363857 0.464931 0.807123
+vn -0.284244 0.672597 0.683241
+vn 0.832821 0.429436 -0.349275
+vn 0.754102 0.595943 0.276010
+vn 0.912558 0.216697 -0.346815
+vn 0.885577 0.340990 0.315402
+vn 0.591627 0.676546 0.438478
+vn 0.954367 -0.189371 0.230918
+vn 0.432292 0.565856 0.702090
+vn 0.104519 -0.250613 0.962429
+vn 0.055181 -0.939790 -0.337268
+vn 0.085876 -0.980989 -0.174031
+vn 0.200878 -0.766991 -0.609404
+vn 0.788152 -0.585407 -0.190041
+vn -0.311386 -0.928318 -0.203138
+vn -0.692291 -0.682770 -0.233577
+vn -0.280599 -0.879451 0.384487
+vn -0.730841 -0.501704 0.462779
+vn -0.595198 -0.679156 -0.429520
+vn 0.055181 -0.939790 -0.337268
+vn -0.535731 -0.550905 -0.639919
+vn 0.200878 -0.766991 -0.609404
+vn -0.813585 0.552464 -0.181282
+vn -0.117384 0.935171 -0.334181
+vn -0.711110 0.690329 -0.133300
+vn 0.013258 0.982574 -0.185399
+vn -0.883797 -0.396712 0.248037
+vn -0.864793 -0.114943 0.488796
+vn -0.028436 -0.805938 0.591317
+vn -0.098738 -0.137158 0.985616
+vn -0.778764 -0.626978 0.020645
+vn -0.999492 -0.000330 -0.031858
+vn -0.883797 -0.396712 0.248037
+vn -0.992833 -0.016638 -0.118347
+vn 0.747292 0.651112 -0.132694
+vn 0.729059 0.391977 -0.561094
+vn 0.013258 0.982574 -0.185399
+vn 0.009236 0.601083 -0.799133
+vn 0.998031 -0.027522 0.056361
+vn 0.754952 0.025658 -0.655278
+vn 0.998472 0.009356 -0.054464
+vn 0.729059 0.391977 -0.561094
+vn -0.021123 0.396192 -0.917925
+vn 0.704048 0.267029 -0.658036
+vn -0.023068 -0.453503 -0.890956
+vn 0.688088 -0.339013 -0.641565
+vn -0.205817 0.970929 0.122212
+vn -0.218561 0.967108 0.130128
+vn -0.816098 0.575762 -0.049826
+vn -0.829050 0.554915 -0.068884
+vn -0.218561 0.967108 0.130128
+vn -0.219189 0.966526 0.133355
+vn -0.829050 0.554915 -0.068884
+vn -0.836399 0.540727 -0.089732
+vn -0.214919 0.967688 0.131869
+vn -0.840135 0.532705 -0.101977
+vn -0.219189 0.966526 0.133355
+vn -0.836399 0.540727 -0.089732
+vn -0.729617 0.653494 -0.201508
+vn -0.762398 0.633575 -0.131650
+vn -0.942392 0.237105 -0.235962
+vn -0.955529 0.225152 -0.190447
+vn -0.794762 0.603722 -0.062238
+vn -0.966576 0.210797 -0.145932
+vn -0.762398 0.633575 -0.131650
+vn -0.955529 0.225152 -0.190447
+vn 0.714381 -0.313492 -0.625605
+vn 0.997487 -0.040828 -0.057904
+vn 0.653525 -0.274637 -0.705322
+vn 0.989802 0.029254 -0.139411
+vn 0.997487 -0.040828 -0.057904
+vn 0.828893 0.195399 0.524172
+vn 0.989802 0.029254 -0.139411
+vn 0.809786 0.304228 0.501688
+vn 0.064126 0.321298 0.944805
+vn 0.110704 0.396908 0.911158
+vn 0.828893 0.195399 0.524172
+vn 0.809786 0.304228 0.501688
+vn -0.766793 -0.321332 -0.555675
+vn -0.703356 -0.366299 -0.609193
+vn -0.046282 -0.448711 -0.892478
+vn -0.023068 -0.453503 -0.890956
+vn -0.703356 -0.366299 -0.609193
+vn -0.720281 0.122985 -0.682694
+vn -0.023068 -0.453503 -0.890956
+vn -0.021123 0.396192 -0.917925
+vn -0.770548 -0.251029 -0.585868
+vn -0.766793 -0.321332 -0.555675
+vn -0.077022 -0.410030 -0.908814
+vn -0.046282 -0.448711 -0.892478
+vn -0.754873 0.655817 0.008426
+vn -0.744678 0.648552 0.157589
+vn -0.136593 0.988641 0.062704
+vn -0.133058 0.946645 0.293529
+vn 0.190419 0.971218 0.143096
+vn 0.589302 0.793527 0.151783
+vn 0.417572 -0.115859 0.901227
+vn 0.987665 0.009463 0.156293
+vn -0.136593 0.988641 0.062704
+vn -0.133058 0.946645 0.293529
+vn 0.589302 0.793527 0.151783
+vn 0.571022 0.763590 0.301437
+vn -0.363859 0.732525 0.575338
+vn -0.404082 0.611159 0.680590
+vn 0.284247 0.878967 0.382912
+vn 0.285936 0.725070 0.626510
+vn 0.284247 0.878967 0.382912
+vn 0.285936 0.725070 0.626510
+vn 0.798464 0.592039 0.109291
+vn 0.838809 0.461932 0.288128
+vn -0.591624 0.791300 0.154356
+vn -0.954367 -0.089525 0.284903
+vn -0.754873 0.655817 0.008426
+vn -0.997007 -0.075806 -0.015173
+vn -0.432294 0.786968 0.440232
+vn -0.409027 0.705115 0.579232
+vn -0.104520 0.126615 0.986430
+vn 0.261148 0.308024 0.914835
+vn -0.754101 0.655893 0.033702
+vn -0.885577 0.434052 0.165383
+vn -0.409027 0.705115 0.579232
+vn -0.466716 0.553894 0.689476
+vn -0.912558 0.071633 -0.402625
+vn -0.422766 -0.422025 -0.801975
+vn -0.940849 -0.114217 -0.318994
+vn -0.394411 -0.422019 -0.816297
+vn -0.422766 -0.422025 -0.801975
+vn 0.364626 -0.652014 -0.664775
+vn -0.394411 -0.422019 -0.816297
+vn 0.418978 -0.446740 -0.790494
+vn 0.167066 -0.830353 -0.531604
+vn 0.692291 -0.720614 0.038066
+vn 0.364626 -0.652014 -0.664775
+vn 0.867373 -0.479134 -0.134517
+vn 0.280598 -0.672461 0.684881
+vn -0.310181 -0.892984 0.326140
+vn -0.104520 0.126615 0.986430
+vn -0.954367 -0.089525 0.284903
+vn -0.310181 -0.892984 0.326140
+vn 0.100675 -0.980182 0.170608
+vn -0.625606 -0.779673 0.026963
+vn 0.126531 -0.990068 0.061279
+vn 0.100675 -0.980182 0.170608
+vn -0.085877 -0.975073 0.204592
+vn 0.126531 -0.990068 0.061279
+vn 0.716416 -0.685633 0.129057
+vn -0.566731 -0.812635 -0.135796
+vn -0.934223 -0.347128 -0.082036
+vn -0.580175 -0.810431 -0.081233
+vn -0.935556 -0.347917 -0.060737
+vn -0.934223 -0.347128 -0.082036
+vn -0.998945 0.001365 -0.045896
+vn -0.935556 -0.347917 -0.060737
+vn -0.998795 0.002105 -0.049041
+vn -0.998945 0.001365 -0.045896
+vn -0.915507 0.401409 -0.026782
+vn -0.998795 0.002105 -0.049041
+vn -0.910676 0.409383 -0.055454
+vn -0.915507 0.401409 -0.026782
+vn -0.395443 0.918473 -0.005712
+vn -0.910676 0.409383 -0.055454
+vn -0.393179 0.917204 -0.064396
+vn -0.395443 0.918473 -0.005712
+vn 0.000000 1.000000 0.000667
+vn -0.393179 0.917204 -0.064396
+vn -0.000000 0.998068 -0.062137
+vn 0.000000 -0.988118 -0.153695
+vn -0.566731 -0.812635 -0.135796
+vn 0.000000 -0.996239 -0.086650
+vn -0.580175 -0.810431 -0.081233
+vn 0.012391 0.999075 -0.041173
+vn -0.228823 0.966819 -0.113583
+vn -0.009367 0.999457 0.031576
+vn -0.261651 0.964136 -0.044500
+vn 0.448187 -0.697278 0.559403
+vn 0.867547 -0.207673 0.451923
+vn 0.341298 -0.683235 0.645527
+vn 0.738913 -0.240494 0.629420
+vn 0.867547 -0.207673 0.451923
+vn 0.869719 0.446155 0.211032
+vn 0.738913 -0.240494 0.629420
+vn 0.774773 0.560328 0.292848
+vn -0.980194 0.012390 -0.197650
+vn -0.969215 -0.102488 -0.223872
+vn -0.936057 0.262429 -0.234367
+vn -0.911935 0.289619 -0.290681
+vn -0.969215 -0.102488 -0.223872
+vn -0.962746 -0.163750 -0.215187
+vn -0.911935 0.289619 -0.290681
+vn -0.874566 0.353670 -0.331741
+vn 0.277141 0.944775 0.174906
+vn 0.293537 0.930191 0.220412
+vn -0.031245 0.994531 0.099654
+vn -0.040740 0.991337 0.124864
+vn 0.238023 0.964693 0.112753
+vn 0.277141 0.944775 0.174906
+vn -0.017914 0.998137 0.058328
+vn -0.031245 0.994531 0.099654
+vn 0.696407 0.702234 0.147937
+vn 0.444601 0.887135 0.123779
+vn 0.600998 0.795413 0.078220
+vn 0.365102 0.930180 0.038287
+vn -0.058307 0.984772 0.163780
+vn -0.398690 0.915926 0.046103
+vn -0.049267 0.988449 0.143320
+vn -0.405845 0.913703 0.020886
+vn -0.062733 0.982198 0.177067
+vn -0.386418 0.920050 0.064720
+vn -0.058307 0.984772 0.163780
+vn -0.398690 0.915926 0.046103
+vn -0.060842 0.982180 0.177822
+vn -0.371263 0.925708 0.072307
+vn -0.062733 0.982198 0.177067
+vn -0.386418 0.920050 0.064720
+vn -0.054927 0.984227 0.168166
+vn -0.352461 0.933136 0.070912
+vn -0.060842 0.982180 0.177822
+vn -0.371263 0.925708 0.072307
+vn -0.047610 0.987207 0.152169
+vn -0.329967 0.941842 0.063681
+vn -0.054927 0.984227 0.168166
+vn -0.352461 0.933136 0.070912
+vn -0.009367 0.999457 0.031576
+vn -0.261651 0.964136 -0.044500
+vn -0.033966 0.993105 0.112199
+vn -0.300403 0.953306 0.031069
+vn -0.033966 0.993105 0.112199
+vn -0.300403 0.953306 0.031069
+vn -0.047610 0.987207 0.152169
+vn -0.329967 0.941842 0.063681
+vn -0.049267 0.988449 0.143320
+vn -0.405845 0.913703 0.020886
+vn -0.040740 0.991337 0.124864
+vn -0.397049 0.917797 -0.001137
+vn -0.251575 0.841635 0.477871
+vn -0.730918 0.644160 0.225427
+vn -0.284244 0.672597 0.683241
+vn -0.798462 0.508498 0.322318
+vn 0.136595 0.893835 0.427083
+vn 0.754875 0.605303 0.252532
+vn 0.126857 0.919135 0.372959
+vn 0.591627 0.676546 0.438478
+vn -0.190421 0.847673 0.495167
+vn 0.363857 0.464931 0.807123
+vn -0.417578 -0.443777 0.792900
+vn 0.913028 -0.096716 0.396265
+vn 0.754102 0.595943 0.276010
+vn 0.409028 0.438047 0.800507
+vn 0.885577 0.340990 0.315402
+vn 0.466717 0.256613 0.846360
+vn 0.432292 0.565856 0.702090
+vn 0.104519 -0.250613 0.962429
+vn 0.409028 0.438047 0.800507
+vn -0.261148 -0.055591 0.963697
+vn 0.591627 0.676546 0.438478
+vn 0.754875 0.605303 0.252532
+vn 0.954367 -0.189371 0.230918
+vn 0.997007 -0.064670 -0.042364
+vn 0.912558 0.216697 -0.346815
+vn 0.940850 0.013064 -0.338573
+vn 0.422767 -0.092289 -0.901527
+vn 0.394410 -0.086939 -0.914813
+vn 0.310179 -0.950185 -0.030632
+vn 0.625602 -0.733423 -0.265918
+vn -0.100671 -0.973048 -0.207468
+vn -0.126526 -0.941424 -0.312588
+vn -0.100671 -0.973048 -0.207468
+vn -0.126526 -0.941424 -0.312588
+vn 0.085876 -0.980989 -0.174031
+vn -0.716416 -0.684269 -0.136106
+vn -0.280599 -0.879451 0.384487
+vn 0.104519 -0.250613 0.962429
+vn 0.310179 -0.950185 -0.030632
+vn 0.954367 -0.189371 0.230918
+vn -0.167064 -0.572012 -0.803051
+vn -0.364625 -0.356862 -0.860057
+vn -0.692291 -0.682770 -0.233577
+vn -0.867374 -0.394333 -0.303586
+vn 0.422767 -0.092289 -0.901527
+vn 0.394410 -0.086939 -0.914813
+vn -0.364625 -0.356862 -0.860057
+vn -0.418976 -0.119502 -0.900099
+vn -0.595198 -0.679156 -0.429520
+vn -0.535731 -0.550905 -0.639919
+vn -0.978996 -0.000556 -0.203877
+vn -0.965818 -0.006424 -0.259141
+vn -0.864793 -0.114943 0.488796
+vn -0.883797 -0.396712 0.248037
+vn -0.984482 -0.069695 -0.161050
+vn -0.992833 -0.016638 -0.118347
+vn -0.999492 -0.000330 -0.031858
+vn -0.711110 0.690329 -0.133300
+vn -0.992833 -0.016638 -0.118347
+vn -0.711538 0.386843 -0.586572
+vn 0.998031 -0.027522 0.056361
+vn 0.744389 -0.092487 0.661310
+vn 0.982871 -0.014321 0.183737
+vn 0.635202 -0.040713 0.771272
+vn 0.744389 -0.092487 0.661310
+vn -0.098738 -0.137158 0.985616
+vn 0.635202 -0.040713 0.771272
+vn -0.203698 -0.060557 0.977159
+vn -0.711110 0.690329 -0.133300
+vn 0.013258 0.982574 -0.185399
+vn -0.711538 0.386843 -0.586572
+vn 0.009236 0.601083 -0.799133
+vn 0.754952 0.025658 -0.655278
+vn 0.998031 -0.027522 0.056361
+vn 0.848731 0.005518 -0.528797
+vn 0.982871 -0.014321 0.183737
+vn -0.216427 0.968499 0.123166
+vn -0.846329 0.522157 -0.105256
+vn -0.214919 0.967688 0.131869
+vn -0.840135 0.532705 -0.101977
+vn -0.238450 0.961654 0.135514
+vn -0.888098 0.452894 -0.078547
+vn -0.216427 0.968499 0.123166
+vn -0.846329 0.522157 -0.105256
+vn -0.816098 0.575762 -0.049826
+vn -0.969717 0.197228 -0.144051
+vn -0.794762 0.603722 -0.062238
+vn -0.966576 0.210797 -0.145932
+vn 0.714381 -0.313492 -0.625605
+vn -0.046282 -0.448711 -0.892478
+vn 0.688088 -0.339013 -0.641565
+vn -0.023068 -0.453503 -0.890956
+vn 0.653525 -0.274637 -0.705322
+vn -0.077022 -0.410030 -0.908814
+vn 0.714381 -0.313492 -0.625605
+vn -0.046282 -0.448711 -0.892478
+vn -0.077022 -0.410030 -0.908814
+vn -0.076533 -0.320826 -0.944041
+vn -0.770548 -0.251029 -0.585868
+vn -0.673586 -0.156972 -0.722247
+vn -0.770548 -0.251029 -0.585868
+vn -0.673586 -0.156972 -0.722247
+vn -0.997582 0.059254 0.036311
+vn -0.981493 0.171606 -0.084986
+vn -0.997582 0.059254 0.036311
+vn -0.981493 0.171606 -0.084986
+vn -0.676445 0.345304 0.650529
+vn -0.871817 0.340967 0.351678
+vn 0.110704 0.396908 0.911158
+vn -0.676445 0.345304 0.650529
+vn 0.171429 0.469542 0.866108
+vn -0.273583 0.477721 0.834827
+vn 0.535729 -0.749900 -0.388130
+vn 0.483307 -0.654028 -0.581946
+vn -0.200876 -0.938990 -0.279188
+vn -0.278098 -0.790767 -0.545297
+vn 0.535729 -0.749900 -0.388130
+vn 0.965818 -0.102657 -0.238027
+vn 0.483307 -0.654028 -0.581946
+vn 0.963855 -0.118286 -0.238729
+vn 0.965818 -0.102657 -0.238027
+vn 0.798464 0.592039 0.109291
+vn 0.963855 -0.118286 -0.238729
+vn 0.838809 0.461932 0.288128
+vn -0.744678 0.648552 0.157589
+vn -0.754873 0.655817 0.008426
+vn -0.997845 -0.049173 -0.043449
+vn -0.997007 -0.075806 -0.015173
+vn -0.363859 0.732525 0.575338
+vn -0.913029 0.058132 0.403732
+vn -0.404082 0.611159 0.680590
+vn -0.931086 0.097659 0.351486
+vn -0.913029 0.058132 0.403732
+vn 0.417572 -0.115859 0.901227
+vn -0.788153 -0.614036 0.042128
+vn -0.085877 -0.975073 0.204592
+vn -0.885577 0.434052 0.165383
+vn -0.912558 0.071633 -0.402625
+vn -0.933916 0.202267 0.294769
+vn -0.940849 -0.114217 -0.318994
+vn 0.730840 -0.292781 0.616564
+vn 0.860427 -0.105587 0.498514
+vn 0.692291 -0.720614 0.038066
+vn 0.867373 -0.479134 -0.134517
+vn 0.730840 -0.292781 0.616564
+vn 0.280598 -0.672461 0.684881
+vn 0.261148 0.308024 0.914835
+vn -0.104520 0.126615 0.986430
+vn -0.310181 -0.892984 0.326140
+vn -0.625606 -0.779673 0.026963
+vn -0.954367 -0.089525 0.284903
+vn -0.997007 -0.075806 -0.015173
+vn -0.200876 -0.938990 -0.279188
+vn -0.278098 -0.790767 -0.545297
+vn -0.788153 -0.614036 0.042128
+vn -0.856517 -0.487905 -0.168307
+vn 0.580175 -0.810431 -0.081233
+vn 0.000000 -0.996239 -0.086650
+vn 0.593034 -0.804883 -0.021767
+vn 0.000000 -0.999969 -0.007922
+vn 0.580175 -0.810431 -0.081233
+vn 0.593034 -0.804883 -0.021767
+vn 0.935556 -0.347917 -0.060737
+vn 0.935257 -0.351132 -0.044732
+vn 0.935556 -0.347917 -0.060737
+vn 0.935257 -0.351132 -0.044732
+vn 0.998795 0.002105 -0.049041
+vn 0.998076 -0.002263 -0.061955
+vn 0.998795 0.002105 -0.049041
+vn 0.998076 -0.002263 -0.061955
+vn 0.910676 0.409383 -0.055454
+vn 0.909277 0.404882 -0.096367
+vn 0.393179 0.917204 -0.064395
+vn 0.910676 0.409383 -0.055454
+vn 0.396548 0.908029 -0.135029
+vn 0.909277 0.404882 -0.096367
+vn 0.393179 0.917204 -0.064395
+vn 0.396548 0.908029 -0.135029
+vn -0.000000 0.998068 -0.062137
+vn -0.000000 0.990715 -0.135958
+vn -0.942392 0.237105 -0.235962
+vn -0.955529 0.225152 -0.190447
+vn -0.872581 0.428933 -0.233706
+vn -0.893535 0.411472 -0.179684
+vn -0.872581 0.428933 -0.233706
+vn -0.893535 0.411472 -0.179684
+vn -0.613022 0.765980 -0.193595
+vn -0.651360 0.747909 -0.127916
+vn -0.613022 0.765980 -0.193595
+vn -0.651360 0.747909 -0.127916
+vn -0.402831 0.902223 -0.154017
+vn -0.441967 0.892880 -0.086195
+vn -0.402831 0.902223 -0.154017
+vn -0.441967 0.892880 -0.086195
+vn -0.228823 0.966819 -0.113583
+vn -0.261651 0.964136 -0.044500
+vn 0.341298 -0.683235 0.645527
+vn 0.270212 -0.653309 0.707229
+vn 0.107920 -0.793508 0.598914
+vn 0.088468 -0.759436 0.644539
+vn -0.962746 -0.163750 -0.215187
+vn -0.972447 -0.204465 -0.111986
+vn -0.874566 0.353670 -0.331741
+vn -0.835172 0.453644 -0.310958
+vn -0.686104 -0.696036 0.211648
+vn -0.644927 -0.682689 0.343519
+vn -0.972447 -0.204465 -0.111986
+vn -0.965431 -0.237588 0.107213
+vn -0.644927 -0.682689 0.343519
+vn -0.424970 -0.793362 0.435865
+vn -0.620009 -0.653057 0.434863
+vn -0.434254 -0.759305 0.484644
+vn -0.172906 -0.807026 0.564635
+vn -0.193590 -0.750205 0.632230
+vn -0.434254 -0.759305 0.484644
+vn -0.453390 -0.698174 0.554067
+vn -0.980194 0.012390 -0.197650
+vn -0.936057 0.262429 -0.234367
+vn -0.972978 0.123508 -0.195091
+vn -0.944958 0.264658 -0.192380
+vn -0.888098 0.452894 -0.078547
+vn -0.972978 0.123508 -0.195091
+vn -0.846329 0.522157 -0.105256
+vn -0.965725 0.161558 -0.203162
+vn -0.172906 -0.807026 0.564635
+vn 0.088468 -0.759436 0.644539
+vn -0.193590 -0.750205 0.632230
+vn 0.065486 -0.698297 0.712807
+vn -0.017914 0.998137 0.058328
+vn 0.003111 0.999938 -0.010661
+vn 0.238023 0.964693 0.112753
+vn 0.197284 0.979916 0.029053
+vn 0.444601 0.887135 0.123779
+vn 0.238023 0.964693 0.112753
+vn 0.365102 0.930180 0.038287
+vn 0.197284 0.979916 0.029053
+vn 0.869719 0.446155 0.211032
+vn 0.600998 0.795413 0.078220
+vn 0.774773 0.560328 0.292848
+vn 0.492226 0.869708 0.036342
+vn -0.040740 0.991337 0.124864
+vn -0.397049 0.917797 -0.001137
+vn -0.031245 0.994531 0.099654
+vn -0.356921 0.933878 -0.021902
+vn -0.978996 -0.000556 -0.203877
+vn -0.965818 -0.006424 -0.259141
+vn -0.730918 0.644160 0.225427
+vn -0.798462 0.508498 0.322318
+vn 0.754875 0.605303 0.252532
+vn 0.136595 0.893835 0.427083
+vn 0.744682 0.542901 0.388211
+vn 0.133058 0.768742 0.625565
+vn 0.136595 0.893835 0.427083
+vn -0.589305 0.679573 0.436922
+vn 0.133058 0.768742 0.625565
+vn -0.571025 0.595955 0.564595
+vn -0.190421 0.847673 0.495167
+vn -0.417578 -0.443777 0.792900
+vn -0.589305 0.679573 0.436922
+vn -0.987665 -0.049539 0.148537
+vn 0.363857 0.464931 0.807123
+vn -0.284244 0.672597 0.683241
+vn 0.404081 0.313057 0.859485
+vn -0.285934 0.438920 0.851816
+vn 0.885577 0.340990 0.315402
+vn 0.933917 0.077667 0.348952
+vn 0.912558 0.216697 -0.346815
+vn 0.940850 0.013064 -0.338573
+vn 0.310179 -0.950185 -0.030632
+vn 0.954367 -0.189371 0.230918
+vn 0.625602 -0.733423 -0.265918
+vn 0.997007 -0.064670 -0.042364
+vn 0.104519 -0.250613 0.962429
+vn -0.280599 -0.879451 0.384487
+vn -0.261148 -0.055591 0.963697
+vn -0.730841 -0.501704 0.462779
+vn -0.535731 -0.550905 -0.639919
+vn 0.200878 -0.766991 -0.609404
+vn -0.483311 -0.389636 -0.783961
+vn 0.278101 -0.530177 -0.800982
+vn 0.200878 -0.766991 -0.609404
+vn 0.788152 -0.585407 -0.190041
+vn 0.278101 -0.530177 -0.800982
+vn 0.856518 -0.389861 -0.338209
+vn 0.085876 -0.980989 -0.174031
+vn -0.417578 -0.443777 0.792900
+vn 0.788152 -0.585407 -0.190041
+vn 0.913028 -0.096716 0.396265
+vn -0.730841 -0.501704 0.462779
+vn -0.692291 -0.682770 -0.233577
+vn -0.860427 -0.283980 0.423108
+vn -0.867374 -0.394333 -0.303586
+vn -0.984482 -0.069695 -0.161050
+vn -0.976008 -0.039423 -0.214138
+vn -0.864793 -0.114943 0.488796
+vn -0.890304 -0.050384 0.452571
+vn -0.864793 -0.114943 0.488796
+vn -0.890304 -0.050384 0.452571
+vn -0.098738 -0.137158 0.985616
+vn -0.203698 -0.060557 0.977159
+vn 0.009236 0.601083 -0.799133
+vn 0.729059 0.391977 -0.561094
+vn 0.068310 0.041295 -0.996809
+vn 0.754952 0.025658 -0.655278
+vn 0.848731 0.005518 -0.528797
+vn 0.161333 0.006212 -0.986880
+vn 0.754952 0.025658 -0.655278
+vn 0.068310 0.041295 -0.996809
+vn -0.829050 0.554915 -0.068884
+vn -0.968058 0.185719 -0.168442
+vn -0.816098 0.575762 -0.049826
+vn -0.969717 0.197228 -0.144051
+vn -0.836399 0.540727 -0.089732
+vn -0.965244 0.176559 -0.192694
+vn -0.829050 0.554915 -0.068884
+vn -0.968058 0.185719 -0.168442
+vn -0.846329 0.522157 -0.105256
+vn -0.965725 0.161558 -0.203162
+vn -0.840135 0.532705 -0.101977
+vn -0.963946 0.169208 -0.205369
+vn -0.840135 0.532705 -0.101977
+vn -0.963946 0.169208 -0.205369
+vn -0.836399 0.540727 -0.089732
+vn -0.965244 0.176559 -0.192694
+vn -0.969717 0.197228 -0.144051
+vn -0.926840 0.356187 -0.118734
+vn -0.966576 0.210797 -0.145932
+vn -0.915052 0.383223 -0.125774
+vn -0.966576 0.210797 -0.145932
+vn -0.915052 0.383223 -0.125774
+vn -0.955529 0.225152 -0.190447
+vn -0.893535 0.411472 -0.179684
+vn -0.077022 -0.410030 -0.908814
+vn 0.653525 -0.274637 -0.705322
+vn -0.076533 -0.320826 -0.944041
+vn 0.469865 -0.223324 -0.854022
+vn 0.653525 -0.274637 -0.705322
+vn 0.989802 0.029254 -0.139411
+vn 0.469865 -0.223324 -0.854022
+vn 0.921984 0.063314 -0.382017
+vn 0.989802 0.029254 -0.139411
+vn 0.809786 0.304228 0.501688
+vn 0.921984 0.063314 -0.382017
+vn 0.953436 0.269084 0.136215
+vn 0.110704 0.396908 0.911158
+vn 0.171429 0.469542 0.866108
+vn 0.809786 0.304228 0.501688
+vn 0.567367 0.410386 0.713918
+vn -0.744678 0.648552 0.157589
+vn -0.997845 -0.049173 -0.043449
+vn -0.730261 0.533191 0.427114
+vn -0.996820 -0.079687 -0.000679
+vn -0.133058 0.946645 0.293529
+vn -0.744678 0.648552 0.157589
+vn -0.118867 0.783838 0.609483
+vn -0.730261 0.533191 0.427114
+vn 0.987665 0.009463 0.156293
+vn 0.716416 -0.685633 0.129057
+vn 0.417572 -0.115859 0.901227
+vn -0.085877 -0.975073 0.204592
+vn 0.987665 0.009463 0.156293
+vn 0.589302 0.793527 0.151783
+vn 0.989318 0.079558 0.122149
+vn 0.571022 0.763590 0.301437
+vn -0.133058 0.946645 0.293529
+vn -0.118867 0.783838 0.609483
+vn 0.571022 0.763590 0.301437
+vn 0.555820 0.640175 0.530321
+vn -0.913029 0.058132 0.403732
+vn -0.788153 -0.614036 0.042128
+vn -0.931086 0.097659 0.351486
+vn -0.856517 -0.487905 -0.168307
+vn 0.285936 0.725070 0.626510
+vn -0.404082 0.611159 0.680590
+vn 0.318568 0.459314 0.829183
+vn -0.366306 0.409380 0.835600
+vn 0.285936 0.725070 0.626510
+vn 0.318568 0.459314 0.829183
+vn 0.838809 0.461932 0.288128
+vn 0.855276 0.257469 0.449681
+vn -0.409027 0.705115 0.579232
+vn -0.466716 0.553894 0.689476
+vn 0.261148 0.308024 0.914835
+vn 0.296621 0.340290 0.892311
+vn -0.885577 0.434052 0.165383
+vn -0.933916 0.202267 0.294769
+vn -0.466716 0.553894 0.689476
+vn -0.483900 0.386674 0.785063
+vn -0.933916 0.202267 0.294769
+vn -0.940849 -0.114217 -0.318994
+vn -0.908863 -0.075163 0.410266
+vn -0.907200 -0.330436 -0.260385
+vn -0.940849 -0.114217 -0.318994
+vn -0.394411 -0.422019 -0.816297
+vn -0.907200 -0.330436 -0.260385
+vn -0.362558 -0.490515 -0.792431
+vn -0.394411 -0.422019 -0.816297
+vn 0.418978 -0.446740 -0.790494
+vn -0.362558 -0.490515 -0.792431
+vn 0.436013 -0.347942 -0.829957
+vn 0.364626 -0.652014 -0.664775
+vn 0.867373 -0.479134 -0.134517
+vn 0.418978 -0.446740 -0.790494
+vn 0.933386 -0.209911 -0.291080
+vn 0.860427 -0.105587 0.498514
+vn 0.730840 -0.292781 0.616564
+vn 0.296621 0.340290 0.892311
+vn 0.261148 0.308024 0.914835
+vn -0.625606 -0.779673 0.026963
+vn 0.126531 -0.990068 0.061279
+vn -0.637706 -0.750443 -0.173683
+vn 0.134109 -0.973422 -0.185648
+vn 0.126531 -0.990068 0.061279
+vn 0.716416 -0.685633 0.129057
+vn 0.134109 -0.973422 -0.185648
+vn 0.781936 -0.618258 -0.079577
+vn -0.580175 -0.810431 -0.081233
+vn -0.593034 -0.804883 -0.021767
+vn 0.000000 -0.996239 -0.086650
+vn 0.000000 -0.999969 -0.007922
+vn -0.580175 -0.810431 -0.081233
+vn -0.935556 -0.347917 -0.060737
+vn -0.593034 -0.804883 -0.021767
+vn -0.935257 -0.351132 -0.044732
+vn -0.935556 -0.347917 -0.060737
+vn -0.998795 0.002105 -0.049041
+vn -0.935257 -0.351132 -0.044732
+vn -0.998076 -0.002263 -0.061955
+vn -0.998795 0.002105 -0.049041
+vn -0.910676 0.409383 -0.055454
+vn -0.998076 -0.002263 -0.061955
+vn -0.909277 0.404882 -0.096367
+vn -0.393179 0.917204 -0.064396
+vn -0.396548 0.908029 -0.135029
+vn -0.910676 0.409383 -0.055454
+vn -0.909277 0.404882 -0.096367
+vn -0.393179 0.917204 -0.064396
+vn -0.000000 0.998068 -0.062137
+vn -0.396548 0.908029 -0.135029
+vn -0.000000 0.990715 -0.135958
+vn 0.341298 -0.683235 0.645527
+vn 0.738913 -0.240494 0.629420
+vn 0.270212 -0.653309 0.707229
+vn 0.587438 -0.241365 0.772437
+vn 0.738913 -0.240494 0.629420
+vn 0.774773 0.560328 0.292848
+vn 0.587438 -0.241365 0.772437
+vn 0.668562 0.626729 0.400295
+vn -0.644927 -0.682689 0.343519
+vn -0.620009 -0.653057 0.434863
+vn -0.965431 -0.237588 0.107213
+vn -0.920069 -0.238594 0.310718
+vn -0.620009 -0.653057 0.434863
+vn -0.434254 -0.759305 0.484644
+vn -0.627070 -0.603121 0.492980
+vn -0.453390 -0.698174 0.554067
+vn -0.936057 0.262429 -0.234367
+vn -0.911935 0.289619 -0.290681
+vn -0.799548 0.575301 -0.172484
+vn -0.753146 0.616447 -0.229704
+vn -0.911935 0.289619 -0.290681
+vn -0.874566 0.353670 -0.331741
+vn -0.753146 0.616447 -0.229704
+vn -0.664190 0.697670 -0.268530
+vn 0.270212 -0.653309 0.707229
+vn 0.243692 -0.603319 0.759355
+vn 0.088468 -0.759436 0.644539
+vn 0.065486 -0.698297 0.712807
+vn -0.031245 0.994531 0.099654
+vn -0.356921 0.933878 -0.021902
+vn -0.017914 0.998137 0.058328
+vn -0.285371 0.957264 -0.046998
+vn -0.017914 0.998137 0.058328
+vn -0.285371 0.957264 -0.046998
+vn 0.003111 0.999938 -0.010661
+vn -0.199918 0.975627 -0.090469
+vn 0.600998 0.795413 0.078220
+vn 0.365102 0.930180 0.038287
+vn 0.492226 0.869708 0.036342
+vn 0.302620 0.951475 -0.055819
+vn -0.386418 0.920050 0.064720
+vn -0.589985 0.807366 -0.008825
+vn -0.398690 0.915926 0.046103
+vn -0.609002 0.792678 -0.027880
+vn -0.398690 0.915926 0.046103
+vn -0.609002 0.792678 -0.027880
+vn -0.405845 0.913703 0.020886
+vn -0.623088 0.780192 -0.055332
+vn -0.371263 0.925708 0.072307
+vn -0.570578 0.821234 0.003950
+vn -0.386418 0.920050 0.064720
+vn -0.589985 0.807366 -0.008825
+vn -0.352461 0.933136 0.070912
+vn -0.548444 0.836113 0.011159
+vn -0.371263 0.925708 0.072307
+vn -0.570578 0.821234 0.003950
+vn -0.329967 0.941842 0.063681
+vn -0.521737 0.853008 0.012977
+vn -0.352461 0.933136 0.070912
+vn -0.548444 0.836113 0.011159
+vn -0.300403 0.953306 0.031069
+vn -0.486879 0.873368 -0.013287
+vn -0.329967 0.941842 0.063681
+vn -0.521737 0.853008 0.012977
+vn -0.261651 0.964136 -0.044500
+vn -0.441967 0.892880 -0.086195
+vn -0.300403 0.953306 0.031069
+vn -0.486879 0.873368 -0.013287
+vn -0.405845 0.913703 0.020886
+vn -0.623088 0.780192 -0.055332
+vn -0.397049 0.917797 -0.001137
+vn -0.614459 0.783606 -0.091661
+vn -0.284244 0.672597 0.683241
+vn -0.798462 0.508498 0.322318
+vn -0.285934 0.438920 0.851816
+vn -0.838808 0.321055 0.439687
+vn 0.744682 0.542901 0.388211
+vn 0.997845 -0.029408 -0.058658
+vn 0.754875 0.605303 0.252532
+vn 0.997007 -0.064670 -0.042364
+vn 0.363857 0.464931 0.807123
+vn 0.404081 0.313057 0.859485
+vn 0.913028 -0.096716 0.396265
+vn 0.931085 -0.040549 0.362542
+vn 0.885577 0.340990 0.315402
+vn 0.466717 0.256613 0.846360
+vn 0.933917 0.077667 0.348952
+vn 0.483898 0.065802 0.872647
+vn 0.409028 0.438047 0.800507
+vn -0.261148 -0.055591 0.963697
+vn 0.466717 0.256613 0.846360
+vn -0.296620 -0.017251 0.954840
+vn 0.933917 0.077667 0.348952
+vn 0.908864 -0.222823 0.352584
+vn 0.940850 0.013064 -0.338573
+vn 0.907201 -0.209408 -0.364877
+vn 0.940850 0.013064 -0.338573
+vn 0.907201 -0.209408 -0.364877
+vn 0.394410 -0.086939 -0.914813
+vn 0.362559 -0.159394 -0.918229
+vn 0.625602 -0.733423 -0.265918
+vn 0.637703 -0.631434 -0.441164
+vn -0.126526 -0.941424 -0.312588
+vn -0.134105 -0.833840 -0.535468
+vn -0.126526 -0.941424 -0.312588
+vn -0.134105 -0.833840 -0.535468
+vn -0.716416 -0.684269 -0.136106
+vn -0.781934 -0.543912 -0.304532
+vn 0.085876 -0.980989 -0.174031
+vn -0.716416 -0.684269 -0.136106
+vn -0.417578 -0.443777 0.792900
+vn -0.987665 -0.049539 0.148537
+vn -0.535731 -0.550905 -0.639919
+vn -0.483311 -0.389636 -0.783961
+vn -0.965818 -0.006424 -0.259141
+vn -0.963855 -0.020664 -0.265626
+vn -0.261148 -0.055591 0.963697
+vn -0.730841 -0.501704 0.462779
+vn -0.296620 -0.017251 0.954840
+vn -0.860427 -0.283980 0.423108
+vn -0.364625 -0.356862 -0.860057
+vn -0.418976 -0.119502 -0.900099
+vn -0.867374 -0.394333 -0.303586
+vn -0.933386 -0.086135 -0.348383
+vn 0.394410 -0.086939 -0.914813
+vn 0.362559 -0.159394 -0.918229
+vn -0.418976 -0.119502 -0.900099
+vn -0.436011 -0.013116 -0.899846
+vn -0.976008 -0.039423 -0.214138
+vn -0.984482 -0.069695 -0.161050
+vn -0.605610 -0.022737 -0.795437
+vn -0.634750 -0.009849 -0.772655
+vn -0.984482 -0.069695 -0.161050
+vn -0.992833 -0.016638 -0.118347
+vn -0.634750 -0.009849 -0.772655
+vn -0.711538 0.386843 -0.586572
+vn 0.848731 0.005518 -0.528797
+vn 0.982871 -0.014321 0.183737
+vn 0.872883 -0.013741 -0.487736
+vn 0.964399 0.047012 0.260240
+vn 0.982871 -0.014321 0.183737
+vn 0.635202 -0.040713 0.771272
+vn 0.964399 0.047012 0.260240
+vn 0.533860 0.163750 0.829566
+vn -0.203698 -0.060557 0.977159
+vn -0.317565 0.105438 0.942356
+vn 0.635202 -0.040713 0.771272
+vn 0.533860 0.163750 0.829566
+vn 0.009236 0.601083 -0.799133
+vn 0.068310 0.041295 -0.996809
+vn -0.711538 0.386843 -0.586572
+vn -0.634750 -0.009849 -0.772655
+vn 0.161333 0.006212 -0.986880
+vn 0.848731 0.005518 -0.528797
+vn 0.247302 -0.063820 -0.966834
+vn 0.872883 -0.013741 -0.487736
+vn -0.968058 0.185719 -0.168442
+vn -0.931403 0.335932 -0.140137
+vn -0.969717 0.197228 -0.144051
+vn -0.926840 0.356187 -0.118734
+vn -0.076533 -0.320826 -0.944041
+vn 0.008955 -0.134454 -0.990879
+vn -0.673586 -0.156972 -0.722247
+vn -0.597567 0.015865 -0.801662
+vn -0.673586 -0.156972 -0.722247
+vn -0.597567 0.015865 -0.801662
+vn -0.981493 0.171606 -0.084986
+vn -0.968684 0.199088 -0.148377
+vn -0.676445 0.345304 0.650529
+vn -0.871817 0.340967 0.351678
+vn -0.273583 0.477721 0.834827
+vn -0.608826 0.436398 0.662486
+vn -0.981493 0.171606 -0.084986
+vn -0.968684 0.199088 -0.148377
+vn -0.871817 0.340967 0.351678
+vn -0.895970 0.370387 0.245055
+vn 0.171429 0.469542 0.866108
+vn -0.273583 0.477721 0.834827
+vn 0.210888 0.575077 0.790451
+vn -0.182500 0.548246 0.816162
+vn 0.483307 -0.654028 -0.581946
+vn 0.437565 -0.479631 -0.760586
+vn -0.278098 -0.790767 -0.545297
+vn -0.317727 -0.521096 -0.792154
+vn 0.963855 -0.118286 -0.238729
+vn 0.960923 -0.148238 -0.233780
+vn 0.483307 -0.654028 -0.581946
+vn 0.437565 -0.479631 -0.760586
+vn 0.838809 0.461932 0.288128
+vn 0.855276 0.257469 0.449681
+vn 0.963855 -0.118286 -0.238729
+vn 0.960923 -0.148238 -0.233780
+vn -0.997845 -0.049173 -0.043449
+vn -0.997007 -0.075806 -0.015173
+vn -0.637706 -0.750443 -0.173683
+vn -0.625606 -0.779673 0.026963
+vn 0.716416 -0.685633 0.129057
+vn 0.987665 0.009463 0.156293
+vn 0.781936 -0.618258 -0.079577
+vn 0.989318 0.079558 0.122149
+vn 0.571022 0.763590 0.301437
+vn 0.555820 0.640175 0.530321
+vn 0.989318 0.079558 0.122149
+vn 0.986965 0.081157 0.138971
+vn -0.404082 0.611159 0.680590
+vn -0.931086 0.097659 0.351486
+vn -0.366306 0.409380 0.835600
+vn -0.928439 0.085601 0.361489
+vn -0.933916 0.202267 0.294769
+vn -0.908863 -0.075163 0.410266
+vn -0.483900 0.386674 0.785063
+vn -0.434887 0.187295 0.880792
+vn 0.860427 -0.105587 0.498514
+vn 0.911722 0.093390 0.400052
+vn 0.867373 -0.479134 -0.134517
+vn 0.933386 -0.209911 -0.291080
+vn 0.296621 0.340290 0.892311
+vn 0.309458 0.349532 0.884343
+vn 0.860427 -0.105587 0.498514
+vn 0.911722 0.093390 0.400052
+vn -0.856517 -0.487905 -0.168307
+vn -0.278098 -0.790767 -0.545297
+vn -0.885461 -0.312466 -0.343982
+vn -0.317727 -0.521096 -0.792154
+vn 0.593034 -0.804883 -0.021767
+vn 0.000000 -0.999969 -0.007922
+vn 0.609319 -0.792869 0.009464
+vn 0.000000 -0.999430 0.033750
+vn 0.935257 -0.351132 -0.044732
+vn 0.593034 -0.804883 -0.021767
+vn 0.935825 -0.350730 -0.034920
+vn 0.609319 -0.792869 0.009464
+vn 0.935257 -0.351132 -0.044732
+vn 0.935825 -0.350730 -0.034920
+vn 0.998076 -0.002263 -0.061955
+vn 0.997662 -0.007378 -0.067942
+vn 0.909277 0.404882 -0.096367
+vn 0.998076 -0.002263 -0.061955
+vn 0.910500 0.395740 -0.119916
+vn 0.997662 -0.007378 -0.067942
+vn 0.396548 0.908029 -0.135029
+vn 0.909277 0.404882 -0.096367
+vn 0.404730 0.896645 -0.179502
+vn 0.910500 0.395740 -0.119916
+vn -0.000000 0.990715 -0.135958
+vn 0.396548 0.908029 -0.135029
+vn -0.000001 0.983014 -0.183530
+vn 0.404730 0.896645 -0.179502
+vn -0.651360 0.747909 -0.127916
+vn -0.893535 0.411472 -0.179684
+vn -0.693465 0.718052 -0.059230
+vn -0.915052 0.383223 -0.125774
+vn -0.651360 0.747909 -0.127916
+vn -0.693465 0.718052 -0.059230
+vn -0.441967 0.892880 -0.086195
+vn -0.486879 0.873368 -0.013287
+vn -0.874566 0.353670 -0.331741
+vn -0.835172 0.453644 -0.310958
+vn -0.664190 0.697670 -0.268530
+vn -0.547054 0.791871 -0.271428
+vn -0.972447 -0.204465 -0.111986
+vn -0.965431 -0.237588 0.107213
+vn -0.835172 0.453644 -0.310958
+vn -0.799923 0.568662 -0.191695
+vn -0.620009 -0.653057 0.434863
+vn -0.627070 -0.603121 0.492980
+vn -0.920069 -0.238594 0.310718
+vn -0.829218 -0.273929 0.487196
+vn -0.193590 -0.750205 0.632230
+vn -0.239739 -0.574343 0.782723
+vn -0.453390 -0.698174 0.554067
+vn -0.562802 -0.476689 0.675294
+vn -0.972978 0.123508 -0.195091
+vn -0.944958 0.264658 -0.192380
+vn -0.965725 0.161558 -0.203162
+vn -0.942325 0.280618 -0.182422
+vn -0.936057 0.262429 -0.234367
+vn -0.799548 0.575301 -0.172484
+vn -0.944958 0.264658 -0.192380
+vn -0.808740 0.574943 -0.124017
+vn -0.193590 -0.750205 0.632230
+vn 0.065486 -0.698297 0.712807
+vn -0.239739 -0.574343 0.782723
+vn 0.088012 -0.477628 0.874143
+vn 0.270212 -0.653309 0.707229
+vn 0.587438 -0.241365 0.772437
+vn 0.243692 -0.603319 0.759355
+vn 0.413479 -0.276484 0.867520
+vn 0.197284 0.979916 0.029053
+vn 0.003111 0.999938 -0.010661
+vn 0.182624 0.979106 -0.089441
+vn 0.039354 0.990872 -0.128934
+vn 0.365102 0.930180 0.038287
+vn 0.197284 0.979916 0.029053
+vn 0.302620 0.951475 -0.055819
+vn 0.182624 0.979106 -0.089441
+vn 0.774773 0.560328 0.292848
+vn 0.492226 0.869708 0.036342
+vn 0.668562 0.626729 0.400295
+vn 0.424206 0.905075 0.029810
+vn -0.397049 0.917797 -0.001137
+vn -0.614459 0.783606 -0.091661
+vn -0.356921 0.933878 -0.021902
+vn -0.563730 0.815826 -0.128982
+vn -0.965818 -0.006424 -0.259141
+vn -0.963855 -0.020664 -0.265626
+vn -0.798462 0.508498 0.322318
+vn -0.838808 0.321055 0.439687
+vn 0.744682 0.542901 0.388211
+vn 0.730261 0.335303 0.595223
+vn 0.997845 -0.029408 -0.058658
+vn 0.996820 -0.073679 -0.030365
+vn 0.133058 0.768742 0.625565
+vn 0.118869 0.499797 0.857947
+vn 0.744682 0.542901 0.388211
+vn 0.730261 0.335303 0.595223
+vn 0.133058 0.768742 0.625565
+vn -0.571025 0.595955 0.564595
+vn 0.118869 0.499797 0.857947
+vn -0.555822 0.396049 0.730895
+vn -0.571025 0.595955 0.564595
+vn -0.589305 0.679573 0.436922
+vn -0.989318 0.028235 0.143015
+vn -0.987665 -0.049539 0.148537
+vn 0.913028 -0.096716 0.396265
+vn 0.931085 -0.040549 0.362542
+vn 0.788152 -0.585407 -0.190041
+vn 0.856518 -0.389861 -0.338209
+vn -0.285934 0.438920 0.851816
+vn -0.318568 0.116732 0.940685
+vn 0.404081 0.313057 0.859485
+vn 0.366307 0.068010 0.928005
+vn 0.625602 -0.733423 -0.265918
+vn 0.997007 -0.064670 -0.042364
+vn 0.637703 -0.631434 -0.441164
+vn 0.997845 -0.029408 -0.058658
+vn 0.933917 0.077667 0.348952
+vn 0.483898 0.065802 0.872647
+vn 0.908864 -0.222823 0.352584
+vn 0.434888 -0.154896 0.887062
+vn -0.483311 -0.389636 -0.783961
+vn 0.278101 -0.530177 -0.800982
+vn -0.437566 -0.161179 -0.884623
+vn 0.317727 -0.187871 -0.929384
+vn 0.856518 -0.389861 -0.338209
+vn 0.885460 -0.161542 -0.435734
+vn 0.278101 -0.530177 -0.800982
+vn 0.317727 -0.187871 -0.929384
+vn -0.296620 -0.017251 0.954840
+vn -0.860427 -0.283980 0.423108
+vn -0.309457 -0.005703 0.950896
+vn -0.911723 -0.062634 0.406004
+vn -0.860427 -0.283980 0.423108
+vn -0.867374 -0.394333 -0.303586
+vn -0.911723 -0.062634 0.406004
+vn -0.933386 -0.086135 -0.348383
+vn -0.605610 -0.022737 -0.795437
+vn -0.457521 -0.047573 -0.887925
+vn -0.976008 -0.039423 -0.214138
+vn -0.936850 0.020402 -0.349135
+vn -0.976008 -0.039423 -0.214138
+vn -0.936850 0.020402 -0.349135
+vn -0.890304 -0.050384 0.452571
+vn -0.933717 0.136832 0.330833
+vn -0.203698 -0.060557 0.977159
+vn -0.890304 -0.050384 0.452571
+vn -0.317565 0.105438 0.942356
+vn -0.933717 0.136832 0.330833
+vn 0.068310 0.041295 -0.996809
+vn 0.161333 0.006212 -0.986880
+vn -0.634750 -0.009849 -0.772655
+vn -0.605610 -0.022737 -0.795437
+vn 0.161333 0.006212 -0.986880
+vn 0.247302 -0.063820 -0.966834
+vn -0.605610 -0.022737 -0.795437
+vn -0.457521 -0.047573 -0.887925
+vn -0.965244 0.176559 -0.192694
+vn -0.933822 0.318410 -0.163068
+vn -0.968058 0.185719 -0.168442
+vn -0.931403 0.335932 -0.140137
+vn -0.963946 0.169208 -0.205369
+vn -0.937184 0.299658 -0.178581
+vn -0.965244 0.176559 -0.192694
+vn -0.933822 0.318410 -0.163068
+vn -0.965725 0.161558 -0.203162
+vn -0.942325 0.280618 -0.182422
+vn -0.963946 0.169208 -0.205369
+vn -0.937184 0.299658 -0.178581
+vn -0.931403 0.335932 -0.140137
+vn -0.746072 0.663782 -0.052635
+vn -0.926840 0.356187 -0.118734
+vn -0.724339 0.688245 -0.040635
+vn -0.926840 0.356187 -0.118734
+vn -0.724339 0.688245 -0.040635
+vn -0.915052 0.383223 -0.125774
+vn -0.693465 0.718052 -0.059230
+vn -0.076533 -0.320826 -0.944041
+vn 0.469865 -0.223324 -0.854022
+vn 0.008955 -0.134454 -0.990879
+vn 0.413516 -0.231214 -0.880650
+vn 0.921984 0.063314 -0.382017
+vn 0.792555 0.041055 -0.608417
+vn 0.469865 -0.223324 -0.854022
+vn 0.413516 -0.231214 -0.880650
+vn 0.953436 0.269084 0.136215
+vn 0.947062 0.320542 0.018056
+vn 0.921984 0.063314 -0.382017
+vn 0.792555 0.041055 -0.608417
+vn 0.809786 0.304228 0.501688
+vn 0.567367 0.410386 0.713918
+vn 0.953436 0.269084 0.136215
+vn 0.810319 0.338764 0.478144
+vn 0.171429 0.469542 0.866108
+vn 0.210888 0.575077 0.790451
+vn 0.567367 0.410386 0.713918
+vn 0.626022 0.448779 0.637726
+vn -0.118867 0.783838 0.609483
+vn -0.730261 0.533191 0.427114
+vn -0.103270 0.554047 0.826055
+vn -0.721916 0.349551 0.597203
+vn -0.730261 0.533191 0.427114
+vn -0.996820 -0.079687 -0.000679
+vn -0.721916 0.349551 0.597203
+vn -0.994570 -0.104016 -0.003284
+vn -0.997845 -0.049173 -0.043449
+vn -0.637706 -0.750443 -0.173683
+vn -0.996820 -0.079687 -0.000679
+vn -0.620449 -0.666740 -0.412917
+vn 0.989318 0.079558 0.122149
+vn 0.986965 0.081157 0.138971
+vn 0.781936 -0.618258 -0.079577
+vn 0.775890 -0.542685 -0.321695
+vn -0.118867 0.783838 0.609483
+vn -0.103270 0.554047 0.826055
+vn 0.555820 0.640175 0.530321
+vn 0.565998 0.461542 0.683099
+vn -0.931086 0.097659 0.351486
+vn -0.856517 -0.487905 -0.168307
+vn -0.928439 0.085601 0.361489
+vn -0.885461 -0.312466 -0.343982
+vn 0.318568 0.459314 0.829183
+vn -0.366306 0.409380 0.835600
+vn 0.316570 0.169409 0.933319
+vn -0.373368 0.186547 0.908733
+vn 0.318568 0.459314 0.829183
+vn 0.316570 0.169409 0.933319
+vn 0.855276 0.257469 0.449681
+vn 0.853154 0.032760 0.520630
+vn -0.466716 0.553894 0.689476
+vn -0.483900 0.386674 0.785063
+vn 0.296621 0.340290 0.892311
+vn 0.309458 0.349532 0.884343
+vn -0.907200 -0.330436 -0.260385
+vn -0.791622 -0.592431 -0.149535
+vn -0.908863 -0.075163 0.410266
+vn -0.683391 -0.515658 0.516792
+vn -0.907200 -0.330436 -0.260385
+vn -0.362558 -0.490515 -0.792431
+vn -0.791622 -0.592431 -0.149535
+vn -0.249337 -0.817398 -0.519319
+vn 0.436013 -0.347942 -0.829957
+vn 0.442547 -0.511261 -0.736725
+vn -0.362558 -0.490515 -0.792431
+vn -0.249337 -0.817398 -0.519319
+vn 0.418978 -0.446740 -0.790494
+vn 0.933386 -0.209911 -0.291080
+vn 0.436013 -0.347942 -0.829957
+vn 0.931986 -0.063622 -0.356867
+vn -0.637706 -0.750443 -0.173683
+vn 0.134109 -0.973422 -0.185648
+vn -0.620449 -0.666740 -0.412917
+vn 0.115941 -0.831109 -0.543889
+vn 0.781936 -0.618258 -0.079577
+vn 0.775890 -0.542685 -0.321695
+vn 0.134109 -0.973422 -0.185648
+vn 0.115941 -0.831109 -0.543889
+vn -0.593034 -0.804883 -0.021767
+vn -0.609319 -0.792869 0.009464
+vn 0.000000 -0.999969 -0.007922
+vn 0.000000 -0.999430 0.033750
+vn -0.935257 -0.351132 -0.044732
+vn -0.935825 -0.350730 -0.034920
+vn -0.593034 -0.804883 -0.021767
+vn -0.609319 -0.792869 0.009464
+vn -0.935257 -0.351132 -0.044732
+vn -0.998076 -0.002263 -0.061955
+vn -0.935825 -0.350730 -0.034920
+vn -0.997662 -0.007378 -0.067942
+vn -0.909277 0.404882 -0.096367
+vn -0.910500 0.395741 -0.119916
+vn -0.998076 -0.002263 -0.061955
+vn -0.997662 -0.007378 -0.067942
+vn -0.396548 0.908029 -0.135029
+vn -0.404731 0.896645 -0.179502
+vn -0.909277 0.404882 -0.096367
+vn -0.910500 0.395741 -0.119916
+vn -0.000000 0.990715 -0.135958
+vn -0.000001 0.983014 -0.183530
+vn -0.396548 0.908029 -0.135029
+vn -0.404731 0.896645 -0.179502
+vn 0.587438 -0.241365 0.772437
+vn 0.668562 0.626729 0.400295
+vn 0.413479 -0.276484 0.867520
+vn 0.566722 0.515411 0.642789
+vn -0.965431 -0.237588 0.107213
+vn -0.920069 -0.238594 0.310718
+vn -0.799923 0.568662 -0.191695
+vn -0.770467 0.635778 -0.046551
+vn -0.627070 -0.603121 0.492980
+vn -0.453390 -0.698174 0.554067
+vn -0.829218 -0.273929 0.487196
+vn -0.562802 -0.476689 0.675294
+vn -0.753146 0.616447 -0.229704
+vn -0.563730 0.815826 -0.128982
+vn -0.799548 0.575301 -0.172484
+vn -0.614459 0.783606 -0.091661
+vn -0.753146 0.616447 -0.229704
+vn -0.664190 0.697670 -0.268530
+vn -0.563730 0.815826 -0.128982
+vn -0.468773 0.869337 -0.156544
+vn 0.243692 -0.603319 0.759355
+vn 0.413479 -0.276484 0.867520
+vn 0.065486 -0.698297 0.712807
+vn 0.088012 -0.477628 0.874143
+vn -0.356921 0.933878 -0.021902
+vn -0.563730 0.815826 -0.128982
+vn -0.285371 0.957264 -0.046998
+vn -0.468773 0.869337 -0.156544
+vn -0.199918 0.975627 -0.090469
+vn -0.117945 0.977216 -0.176461
+vn 0.003111 0.999938 -0.010661
+vn 0.039354 0.990872 -0.128934
+vn -0.199918 0.975627 -0.090469
+vn -0.285371 0.957264 -0.046998
+vn -0.351631 0.918862 -0.179022
+vn -0.468773 0.869337 -0.156544
+vn 0.492226 0.869708 0.036342
+vn 0.302620 0.951475 -0.055819
+vn 0.424206 0.905075 0.029810
+vn 0.282525 0.952331 -0.115089
+vn -0.570578 0.821234 0.003950
+vn -0.763433 0.642202 -0.068894
+vn -0.589985 0.807366 -0.008825
+vn -0.779828 0.620137 -0.085435
+vn -0.589985 0.807366 -0.008825
+vn -0.779828 0.620137 -0.085435
+vn -0.609002 0.792678 -0.027880
+vn -0.796750 0.595939 -0.100232
+vn -0.609002 0.792678 -0.027880
+vn -0.796750 0.595939 -0.100232
+vn -0.623088 0.780192 -0.055332
+vn -0.808740 0.574943 -0.124017
+vn -0.548444 0.836113 0.011159
+vn -0.746072 0.663782 -0.052635
+vn -0.570578 0.821234 0.003950
+vn -0.763433 0.642202 -0.068894
+vn -0.521737 0.853008 0.012977
+vn -0.724339 0.688245 -0.040635
+vn -0.548444 0.836113 0.011159
+vn -0.746072 0.663782 -0.052635
+vn -0.486879 0.873368 -0.013287
+vn -0.693465 0.718052 -0.059230
+vn -0.521737 0.853008 0.012977
+vn -0.724339 0.688245 -0.040635
+vn -0.623088 0.780192 -0.055332
+vn -0.808740 0.574943 -0.124017
+vn -0.614459 0.783606 -0.091661
+vn -0.799548 0.575301 -0.172484
+vn -0.285934 0.438920 0.851816
+vn -0.838808 0.321055 0.439687
+vn -0.318568 0.116732 0.940685
+vn -0.855276 0.071075 0.513276
+vn -0.571025 0.595955 0.564595
+vn -0.989318 0.028235 0.143015
+vn -0.555822 0.396049 0.730895
+vn -0.986965 0.023439 0.159217
+vn -0.989318 0.028235 0.143015
+vn -0.987665 -0.049539 0.148537
+vn -0.781934 -0.543912 -0.304532
+vn -0.716416 -0.684269 -0.136106
+vn 0.404081 0.313057 0.859485
+vn 0.366307 0.068010 0.928005
+vn 0.931085 -0.040549 0.362542
+vn 0.928438 -0.055469 0.367322
+vn 0.466717 0.256613 0.846360
+vn -0.296620 -0.017251 0.954840
+vn 0.483898 0.065802 0.872647
+vn -0.309457 -0.005703 0.950896
+vn 0.997845 -0.029408 -0.058658
+vn 0.996820 -0.073679 -0.030365
+vn 0.637703 -0.631434 -0.441164
+vn 0.620448 -0.464505 -0.631886
+vn 0.907201 -0.209408 -0.364877
+vn 0.908864 -0.222823 0.352584
+vn 0.791622 -0.493843 -0.359796
+vn 0.683392 -0.671254 0.287042
+vn 0.907201 -0.209408 -0.364877
+vn 0.791622 -0.493843 -0.359796
+vn 0.362559 -0.159394 -0.918229
+vn 0.249337 -0.564576 -0.786819
+vn 0.637703 -0.631434 -0.441164
+vn 0.620448 -0.464505 -0.631886
+vn -0.134105 -0.833840 -0.535468
+vn -0.115938 -0.568130 -0.814731
+vn -0.781934 -0.543912 -0.304532
+vn -0.134105 -0.833840 -0.535468
+vn -0.775889 -0.383450 -0.500962
+vn -0.115938 -0.568130 -0.814731
+vn -0.963855 -0.020664 -0.265626
+vn -0.483311 -0.389636 -0.783961
+vn -0.960922 -0.050297 -0.272210
+vn -0.437566 -0.161179 -0.884623
+vn 0.931085 -0.040549 0.362542
+vn 0.928438 -0.055469 0.367322
+vn 0.856518 -0.389861 -0.338209
+vn 0.885460 -0.161542 -0.435734
+vn -0.418976 -0.119502 -0.900099
+vn -0.436011 -0.013116 -0.899846
+vn -0.933386 -0.086135 -0.348383
+vn -0.931985 0.074137 -0.354834
+vn -0.436011 -0.013116 -0.899846
+vn 0.362559 -0.159394 -0.918229
+vn -0.442542 -0.199428 -0.874291
+vn 0.249337 -0.564576 -0.786819
+vn 0.872883 -0.013741 -0.487736
+vn 0.831886 -0.035330 -0.553821
+vn 0.247302 -0.063820 -0.966834
+vn 0.256713 -0.164782 -0.952337
+vn 0.872883 -0.013741 -0.487736
+vn 0.964399 0.047012 0.260240
+vn 0.831886 -0.035330 -0.553821
+vn 0.965360 0.169088 0.198720
+vn 0.964399 0.047012 0.260240
+vn 0.533860 0.163750 0.829566
+vn 0.965360 0.169088 0.198720
+vn 0.754013 0.293945 0.587418
+vn -0.317565 0.105438 0.942356
+vn -0.408699 0.392797 0.823818
+vn 0.533860 0.163750 0.829566
+vn 0.053303 0.419220 0.906319
+vn -0.933822 0.318410 -0.163068
+vn -0.763433 0.642202 -0.068894
+vn -0.931403 0.335932 -0.140137
+vn -0.746072 0.663782 -0.052635
+vn 0.953436 0.269084 0.136215
+vn 0.810319 0.338764 0.478144
+vn 0.947062 0.320542 0.018056
+vn 0.745162 0.400913 0.532919
+vn -0.597567 0.015865 -0.801662
+vn 0.008955 -0.134454 -0.990879
+vn -0.492788 0.299297 -0.817056
+vn 0.083873 0.161289 -0.983337
+vn -0.968684 0.199088 -0.148377
+vn -0.597567 0.015865 -0.801662
+vn -0.981031 0.090517 -0.171422
+vn -0.956175 0.050543 -0.288400
+vn -0.273583 0.477721 0.834827
+vn -0.608826 0.436398 0.662486
+vn -0.182500 0.548246 0.816162
+vn -0.513589 0.564950 0.645800
+vn -0.871817 0.340967 0.351678
+vn -0.895970 0.370387 0.245055
+vn -0.608826 0.436398 0.662486
+vn -0.513589 0.564950 0.645800
+vn -0.968684 0.199088 -0.148377
+vn -0.981031 0.090517 -0.171422
+vn -0.895970 0.370387 0.245055
+vn -0.986681 0.072454 -0.145642
+vn 0.210888 0.575077 0.790451
+vn -0.182500 0.548246 0.816162
+vn 0.183965 0.778276 0.600370
+vn -0.584353 0.491408 0.645794
+vn 0.960923 -0.148238 -0.233780
+vn 0.955064 -0.159992 -0.249509
+vn 0.437565 -0.479631 -0.760586
+vn 0.432923 -0.238916 -0.869193
+vn 0.437565 -0.479631 -0.760586
+vn 0.432923 -0.238916 -0.869193
+vn -0.317727 -0.521096 -0.792154
+vn -0.317068 -0.177723 -0.931602
+vn 0.855276 0.257469 0.449681
+vn 0.853154 0.032760 0.520630
+vn 0.960923 -0.148238 -0.233780
+vn 0.955064 -0.159992 -0.249509
+vn 0.555820 0.640175 0.530321
+vn 0.565998 0.461542 0.683099
+vn 0.986965 0.081157 0.138971
+vn 0.989273 0.068490 0.129028
+vn -0.366306 0.409380 0.835600
+vn -0.928439 0.085601 0.361489
+vn -0.373368 0.186547 0.908733
+vn -0.934221 0.076894 0.348309
+vn -0.483900 0.386674 0.785063
+vn -0.434887 0.187295 0.880792
+vn 0.309458 0.349532 0.884343
+vn 0.337716 0.277101 0.899535
+vn -0.434887 0.187295 0.880792
+vn -0.908863 -0.075163 0.410266
+vn -0.343244 -0.100934 0.933807
+vn -0.683391 -0.515658 0.516792
+vn 0.436013 -0.347942 -0.829957
+vn 0.931986 -0.063622 -0.356867
+vn 0.442547 -0.511261 -0.736725
+vn 0.889415 -0.421485 -0.176892
+vn 0.911722 0.093390 0.400052
+vn 0.921300 0.184010 0.342560
+vn 0.933386 -0.209911 -0.291080
+vn 0.931986 -0.063622 -0.356867
+vn 0.309458 0.349532 0.884343
+vn 0.337716 0.277101 0.899535
+vn 0.911722 0.093390 0.400052
+vn 0.921300 0.184010 0.342560
+vn -0.928439 0.085601 0.361489
+vn -0.885461 -0.312466 -0.343982
+vn -0.934221 0.076894 0.348309
+vn -0.889686 -0.073083 -0.450686
+vn -0.885461 -0.312466 -0.343982
+vn -0.317727 -0.521096 -0.792154
+vn -0.889686 -0.073083 -0.450686
+vn -0.317068 -0.177723 -0.931602
+vn 0.935825 -0.350730 -0.034920
+vn 0.609319 -0.792869 0.009464
+vn 0.937957 -0.345658 -0.027507
+vn 0.629012 -0.776813 0.030090
+vn 0.609319 -0.792869 0.009464
+vn 0.000000 -0.999430 0.033750
+vn 0.629012 -0.776813 0.030090
+vn 0.000000 -0.998053 0.062368
+vn 0.935825 -0.350730 -0.034920
+vn 0.937957 -0.345658 -0.027507
+vn 0.997662 -0.007378 -0.067942
+vn 0.997310 -0.010272 -0.072576
+vn 0.997662 -0.007378 -0.067942
+vn 0.997310 -0.010272 -0.072576
+vn 0.910500 0.395740 -0.119916
+vn 0.910130 0.389106 -0.142341
+vn 0.404730 0.896645 -0.179502
+vn 0.910500 0.395740 -0.119916
+vn 0.412620 0.882955 -0.223910
+vn 0.910130 0.389106 -0.142341
+vn -0.000001 0.983014 -0.183530
+vn 0.404730 0.896645 -0.179502
+vn -0.000001 0.972691 -0.232105
+vn 0.412620 0.882955 -0.223910
+vn -0.664190 0.697670 -0.268530
+vn -0.547054 0.791871 -0.271428
+vn -0.468773 0.869337 -0.156544
+vn -0.351631 0.918862 -0.179022
+vn -0.835172 0.453644 -0.310958
+vn -0.799923 0.568662 -0.191695
+vn -0.547054 0.791871 -0.271428
+vn -0.434836 0.866655 -0.244594
+vn -0.920069 -0.238594 0.310718
+vn -0.829218 -0.273929 0.487196
+vn -0.770467 0.635778 -0.046551
+vn -0.823631 0.526971 0.209603
+vn -0.562802 -0.476689 0.675294
+vn -0.239739 -0.574343 0.782723
+vn -0.705091 -0.004530 0.709103
+vn -0.280660 -0.289175 0.915209
+vn -0.944958 0.264658 -0.192380
+vn -0.808740 0.574943 -0.124017
+vn -0.942325 0.280618 -0.182422
+vn -0.796750 0.595939 -0.100232
+vn -0.239739 -0.574343 0.782723
+vn 0.088012 -0.477628 0.874143
+vn -0.280660 -0.289175 0.915209
+vn 0.186272 -0.012784 0.982415
+vn -0.117945 0.977216 -0.176461
+vn -0.199918 0.975627 -0.090469
+vn -0.244170 0.945185 -0.216808
+vn -0.351631 0.918862 -0.179022
+vn 0.302620 0.951475 -0.055819
+vn 0.182624 0.979106 -0.089441
+vn 0.282525 0.952331 -0.115089
+vn 0.194955 0.964561 -0.177807
+vn 0.182624 0.979106 -0.089441
+vn 0.039354 0.990872 -0.128934
+vn 0.194955 0.964561 -0.177807
+vn 0.070141 0.970966 -0.228704
+vn 0.668562 0.626729 0.400295
+vn 0.424206 0.905075 0.029810
+vn 0.566722 0.515411 0.642789
+vn 0.405769 0.895506 0.182813
+vn -0.838808 0.321055 0.439687
+vn -0.963855 -0.020664 -0.265626
+vn -0.855276 0.071075 0.513276
+vn -0.960922 -0.050297 -0.272210
+vn 0.118869 0.499797 0.857947
+vn 0.103275 0.205791 0.973131
+vn 0.730261 0.335303 0.595223
+vn 0.721918 0.101461 0.684500
+vn 0.730261 0.335303 0.595223
+vn 0.721918 0.101461 0.684500
+vn 0.996820 -0.073679 -0.030365
+vn 0.994570 -0.095277 -0.041860
+vn 0.118869 0.499797 0.857947
+vn -0.555822 0.396049 0.730895
+vn 0.103275 0.205791 0.973131
+vn -0.565999 0.173311 0.805983
+vn -0.989318 0.028235 0.143015
+vn -0.781934 -0.543912 -0.304532
+vn -0.986965 0.023439 0.159217
+vn -0.775889 -0.383450 -0.500962
+vn -0.318568 0.116732 0.940685
+vn -0.316569 -0.191092 0.929122
+vn 0.366307 0.068010 0.928005
+vn 0.373374 -0.166019 0.912705
+vn 0.434888 -0.154896 0.887062
+vn 0.343248 -0.442094 0.828694
+vn 0.908864 -0.222823 0.352584
+vn 0.683392 -0.671254 0.287042
+vn 0.483898 0.065802 0.872647
+vn -0.309457 -0.005703 0.950896
+vn 0.434888 -0.154896 0.887062
+vn -0.337719 -0.078570 0.937962
+vn -0.960922 -0.050297 -0.272210
+vn -0.437566 -0.161179 -0.884623
+vn -0.955064 -0.055332 -0.291190
+vn -0.432923 0.102677 -0.895564
+vn -0.437566 -0.161179 -0.884623
+vn 0.317727 -0.187871 -0.929384
+vn -0.432923 0.102677 -0.895564
+vn 0.317066 0.182736 -0.930633
+vn 0.928438 -0.055469 0.367322
+vn 0.934219 -0.058631 0.351848
+vn 0.885460 -0.161542 -0.435734
+vn 0.889684 0.100368 -0.445408
+vn 0.885460 -0.161542 -0.435734
+vn 0.889684 0.100368 -0.445408
+vn 0.317727 -0.187871 -0.929384
+vn 0.317066 0.182736 -0.930633
+vn -0.309457 -0.005703 0.950896
+vn -0.911723 -0.062634 0.406004
+vn -0.337719 -0.078570 0.937962
+vn -0.921300 0.042894 0.386480
+vn -0.911723 -0.062634 0.406004
+vn -0.933386 -0.086135 -0.348383
+vn -0.921300 0.042894 0.386480
+vn -0.931985 0.074137 -0.354834
+vn -0.436011 -0.013116 -0.899846
+vn -0.442542 -0.199428 -0.874291
+vn -0.931985 0.074137 -0.354834
+vn -0.889415 -0.325031 -0.321396
+vn 0.247302 -0.063820 -0.966834
+vn 0.256713 -0.164782 -0.952337
+vn -0.457521 -0.047573 -0.887925
+vn -0.257999 -0.126665 -0.957806
+vn -0.936850 0.020402 -0.349135
+vn -0.457521 -0.047573 -0.887925
+vn -0.782286 0.076171 -0.618245
+vn -0.257999 -0.126665 -0.957806
+vn -0.936850 0.020402 -0.349135
+vn -0.782286 0.076171 -0.618245
+vn -0.933717 0.136832 0.330833
+vn -0.963959 0.240117 -0.114575
+vn -0.317565 0.105438 0.942356
+vn -0.933717 0.136832 0.330833
+vn -0.408699 0.392797 0.823818
+vn -0.762022 0.358301 0.539390
+vn -0.937184 0.299658 -0.178581
+vn -0.779828 0.620137 -0.085435
+vn -0.933822 0.318410 -0.163068
+vn -0.763433 0.642202 -0.068894
+vn -0.942325 0.280618 -0.182422
+vn -0.796750 0.595939 -0.100232
+vn -0.937184 0.299658 -0.178581
+vn -0.779828 0.620137 -0.085435
+vn 0.413516 -0.231214 -0.880650
+vn 0.471689 -0.270046 -0.839396
+vn 0.008955 -0.134454 -0.990879
+vn 0.083873 0.161289 -0.983337
+vn 0.947062 0.320542 0.018056
+vn 0.867790 0.483649 -0.114120
+vn 0.792555 0.041055 -0.608417
+vn 0.741683 0.061969 -0.667882
+vn 0.792555 0.041055 -0.608417
+vn 0.741683 0.061969 -0.667882
+vn 0.413516 -0.231214 -0.880650
+vn 0.283140 -0.424949 -0.859796
+vn 0.810319 0.338764 0.478144
+vn 0.567367 0.410386 0.713918
+vn 0.745162 0.400913 0.532919
+vn 0.626022 0.448779 0.637726
+vn 0.210888 0.575077 0.790451
+vn 0.183965 0.778276 0.600370
+vn 0.626022 0.448779 0.637726
+vn 0.842409 0.495740 0.211160
+vn -0.597567 0.015865 -0.801662
+vn -0.492788 0.299297 -0.817056
+vn -0.956175 0.050543 -0.288400
+vn -0.965675 0.213343 -0.148180
+vn -0.103270 0.554047 0.826055
+vn -0.721916 0.349551 0.597203
+vn -0.088241 0.282030 0.955339
+vn -0.730030 0.135158 0.669916
+vn -0.721916 0.349551 0.597203
+vn -0.994570 -0.104016 -0.003284
+vn -0.730030 0.135158 0.669916
+vn -0.983304 -0.181871 0.006074
+vn -0.996820 -0.079687 -0.000679
+vn -0.620449 -0.666740 -0.412917
+vn -0.994570 -0.104016 -0.003284
+vn -0.619358 -0.485901 -0.616682
+vn 0.986965 0.081157 0.138971
+vn 0.989273 0.068490 0.129028
+vn 0.775890 -0.542685 -0.321695
+vn 0.769442 -0.365137 -0.524055
+vn -0.103270 0.554047 0.826055
+vn -0.088241 0.282030 0.955339
+vn 0.565998 0.461542 0.683099
+vn 0.601179 0.250915 0.758700
+vn 0.316570 0.169409 0.933319
+vn -0.373368 0.186547 0.908733
+vn 0.284279 -0.129953 0.949894
+vn -0.425398 -0.033890 0.904372
+vn 0.316570 0.169409 0.933319
+vn 0.284279 -0.129953 0.949894
+vn 0.853154 0.032760 0.520630
+vn 0.842365 -0.192848 0.503221
+vn -0.434887 0.187295 0.880792
+vn -0.343244 -0.100934 0.933807
+vn 0.337716 0.277101 0.899535
+vn 0.347748 -0.162891 0.923330
+vn -0.791622 -0.592431 -0.149535
+vn -0.249337 -0.817398 -0.519319
+vn -0.683391 -0.515658 0.516792
+vn 0.134551 -0.922151 0.362675
+vn 0.442547 -0.511261 -0.736725
+vn 0.889415 -0.421485 -0.176892
+vn -0.249337 -0.817398 -0.519319
+vn 0.134551 -0.922151 0.362675
+vn -0.620449 -0.666740 -0.412917
+vn 0.115941 -0.831109 -0.543889
+vn -0.619358 -0.485901 -0.616682
+vn 0.103561 -0.561071 -0.821264
+vn 0.775890 -0.542685 -0.321695
+vn 0.769442 -0.365137 -0.524055
+vn 0.115941 -0.831109 -0.543889
+vn 0.103561 -0.561071 -0.821264
+vn -0.935825 -0.350730 -0.034920
+vn -0.937957 -0.345658 -0.027507
+vn -0.609319 -0.792869 0.009464
+vn -0.629012 -0.776813 0.030090
+vn -0.609319 -0.792869 0.009464
+vn -0.629012 -0.776813 0.030090
+vn 0.000000 -0.999430 0.033750
+vn 0.000000 -0.998053 0.062368
+vn -0.935825 -0.350730 -0.034920
+vn -0.997662 -0.007378 -0.067942
+vn -0.937957 -0.345658 -0.027507
+vn -0.997310 -0.010272 -0.072576
+vn -0.404731 0.896645 -0.179502
+vn -0.412621 0.882954 -0.223910
+vn -0.910500 0.395741 -0.119916
+vn -0.910129 0.389106 -0.142341
+vn -0.997662 -0.007378 -0.067942
+vn -0.910500 0.395741 -0.119916
+vn -0.997310 -0.010272 -0.072576
+vn -0.910129 0.389106 -0.142341
+vn -0.000001 0.983014 -0.183530
+vn -0.000001 0.972691 -0.232105
+vn -0.404731 0.896645 -0.179502
+vn -0.412621 0.882954 -0.223910
+vn 0.413479 -0.276484 0.867520
+vn 0.566722 0.515411 0.642789
+vn 0.088012 -0.477628 0.874143
+vn 0.186272 -0.012784 0.982415
+vn -0.799923 0.568662 -0.191695
+vn -0.770467 0.635778 -0.046551
+vn -0.434836 0.866655 -0.244594
+vn -0.376904 0.901990 -0.210610
+vn -0.829218 -0.273929 0.487196
+vn -0.562802 -0.476689 0.675294
+vn -0.823631 0.526971 0.209603
+vn -0.705091 -0.004530 0.709103
+vn -0.244170 0.945185 -0.216808
+vn -0.194177 0.948638 -0.249764
+vn -0.117945 0.977216 -0.176461
+vn -0.077637 0.964173 -0.253659
+vn -0.117945 0.977216 -0.176461
+vn -0.077637 0.964173 -0.253659
+vn 0.039354 0.990872 -0.128934
+vn 0.070141 0.970966 -0.228704
+vn -0.244170 0.945185 -0.216808
+vn -0.351631 0.918862 -0.179022
+vn -0.434836 0.866655 -0.244594
+vn -0.547054 0.791871 -0.271428
+vn 0.424206 0.905075 0.029810
+vn 0.282525 0.952331 -0.115089
+vn 0.405769 0.895506 0.182813
+vn 0.285663 0.956831 -0.053591
+vn -0.318568 0.116732 0.940685
+vn -0.855276 0.071075 0.513276
+vn -0.316569 -0.191092 0.929122
+vn -0.853154 -0.163878 0.495249
+vn -0.555822 0.396049 0.730895
+vn -0.986965 0.023439 0.159217
+vn -0.565999 0.173311 0.805983
+vn -0.989273 0.015397 0.145266
+vn 0.366307 0.068010 0.928005
+vn 0.373374 -0.166019 0.912705
+vn 0.928438 -0.055469 0.367322
+vn 0.934219 -0.058631 0.351848
+vn 0.996820 -0.073679 -0.030365
+vn 0.994570 -0.095277 -0.041860
+vn 0.620448 -0.464505 -0.631886
+vn 0.619359 -0.220692 -0.753452
+vn 0.434888 -0.154896 0.887062
+vn -0.337719 -0.078570 0.937962
+vn 0.343248 -0.442094 0.828694
+vn -0.347751 -0.495664 0.795856
+vn 0.791622 -0.493843 -0.359796
+vn 0.683392 -0.671254 0.287042
+vn 0.249337 -0.564576 -0.786819
+vn -0.134555 -0.990877 -0.007625
+vn 0.620448 -0.464505 -0.631886
+vn 0.619359 -0.220692 -0.753452
+vn -0.115938 -0.568130 -0.814731
+vn -0.103561 -0.214094 -0.971308
+vn -0.986965 0.023439 0.159217
+vn -0.775889 -0.383450 -0.500962
+vn -0.989273 0.015397 0.145266
+vn -0.769443 -0.143214 -0.622453
+vn -0.775889 -0.383450 -0.500962
+vn -0.115938 -0.568130 -0.814731
+vn -0.769443 -0.143214 -0.622453
+vn -0.103561 -0.214094 -0.971308
+vn -0.855276 0.071075 0.513276
+vn -0.960922 -0.050297 -0.272210
+vn -0.853154 -0.163878 0.495249
+vn -0.955064 -0.055332 -0.291190
+vn -0.442542 -0.199428 -0.874291
+vn 0.249337 -0.564576 -0.786819
+vn -0.889415 -0.325031 -0.321396
+vn -0.134555 -0.990877 -0.007625
+vn 0.256713 -0.164782 -0.952337
+vn 0.831886 -0.035330 -0.553821
+vn 0.146219 -0.081816 -0.985863
+vn 0.783058 0.089470 -0.615480
+vn 0.831886 -0.035330 -0.553821
+vn 0.965360 0.169088 0.198720
+vn 0.783058 0.089470 -0.615480
+vn 0.965665 0.211517 0.150839
+vn 0.965360 0.169088 0.198720
+vn 0.754013 0.293945 0.587418
+vn 0.965665 0.211517 0.150839
+vn 0.802863 0.344836 0.486311
+vn 0.533860 0.163750 0.829566
+vn 0.053303 0.419220 0.906319
+vn 0.754013 0.293945 0.587418
+vn 0.415516 0.414418 0.809694
+vn -0.408699 0.392797 0.823818
+vn -0.427086 0.561942 0.708391
+vn 0.053303 0.419220 0.906319
+vn -0.064450 0.540179 0.839079
+vn 0.413516 -0.231214 -0.880650
+vn 0.152216 -0.824578 -0.544887
+vn 0.471689 -0.270046 -0.839396
+vn 0.601340 -0.749551 -0.276702
+vn 0.947062 0.320542 0.018056
+vn 0.745162 0.400913 0.532919
+vn 0.867790 0.483649 -0.114120
+vn 0.589160 0.631247 0.504398
+vn 0.745162 0.400913 0.532919
+vn 0.626022 0.448779 0.637726
+vn 0.589160 0.631247 0.504398
+vn 0.056215 0.321521 0.945232
+vn 0.083873 0.161289 -0.983337
+vn 0.150393 0.317044 -0.936411
+vn -0.492788 0.299297 -0.817056
+vn -0.479425 0.657209 -0.581574
+vn -0.956175 0.050543 -0.288400
+vn -0.923920 -0.324218 -0.203112
+vn -0.981031 0.090517 -0.171422
+vn -0.986681 0.072454 -0.145642
+vn -0.513589 0.564950 0.645800
+vn -0.330654 0.742742 0.582239
+vn -0.182500 0.548246 0.816162
+vn 0.474156 0.501985 0.723317
+vn -0.895970 0.370387 0.245055
+vn -0.823924 0.523578 0.216830
+vn -0.513589 0.564950 0.645800
+vn -0.330654 0.742742 0.582239
+vn -0.895970 0.370387 0.245055
+vn -0.986681 0.072454 -0.145642
+vn -0.823924 0.523578 0.216830
+vn -0.978537 0.040230 -0.202107
+vn 0.183965 0.778276 0.600370
+vn -0.584353 0.491408 0.645794
+vn 0.101398 0.930764 0.351279
+vn -0.676040 0.587556 0.444689
+vn -0.182500 0.548246 0.816162
+vn -0.279066 -0.323556 0.904120
+vn -0.584353 0.491408 0.645794
+vn -0.944071 -0.078990 0.320141
+vn 0.853154 0.032760 0.520630
+vn 0.842365 -0.192848 0.503221
+vn 0.955064 -0.159992 -0.249509
+vn 0.934462 -0.234158 -0.268237
+vn 0.955064 -0.159992 -0.249509
+vn 0.934462 -0.234158 -0.268237
+vn 0.432923 -0.238916 -0.869193
+vn 0.426937 -0.134298 -0.894253
+vn 0.432923 -0.238916 -0.869193
+vn 0.426937 -0.134298 -0.894253
+vn -0.317068 -0.177723 -0.931602
+vn -0.303822 -0.019240 -0.952535
+vn 0.565998 0.461542 0.683099
+vn 0.601179 0.250915 0.758700
+vn 0.989273 0.068490 0.129028
+vn 0.990419 -0.010242 0.137713
+vn -0.373368 0.186547 0.908733
+vn -0.934221 0.076894 0.348309
+vn -0.425398 -0.033890 0.904372
+vn -0.945185 0.001521 0.326531
+vn -0.343244 -0.100934 0.933807
+vn -0.683391 -0.515658 0.516792
+vn 0.347748 -0.162891 0.923330
+vn 0.134551 -0.922151 0.362675
+vn 0.889415 -0.421485 -0.176892
+vn 0.931986 -0.063622 -0.356867
+vn 0.914702 0.006305 0.404081
+vn 0.921300 0.184010 0.342560
+vn 0.921300 0.184010 0.342560
+vn 0.337716 0.277101 0.899535
+vn 0.914702 0.006305 0.404081
+vn 0.347748 -0.162891 0.923330
+vn -0.934221 0.076894 0.348309
+vn -0.889686 -0.073083 -0.450686
+vn -0.945185 0.001521 0.326531
+vn -0.875645 0.029025 -0.482083
+vn -0.889686 -0.073083 -0.450686
+vn -0.317068 -0.177723 -0.931602
+vn -0.875645 0.029025 -0.482083
+vn -0.303822 -0.019240 -0.952535
+vn 0.937957 -0.345658 -0.027507
+vn 0.629012 -0.776813 0.030090
+vn 0.939735 -0.341569 -0.015143
+vn 0.644447 -0.761818 0.065739
+vn 0.629012 -0.776813 0.030090
+vn 0.000000 -0.998053 0.062368
+vn 0.644447 -0.761818 0.065739
+vn 0.000000 -0.993800 0.111184
+vn 0.937957 -0.345658 -0.027507
+vn 0.939735 -0.341569 -0.015143
+vn 0.997310 -0.010272 -0.072576
+vn 0.996528 -0.015343 -0.081834
+vn 0.997310 -0.010272 -0.072576
+vn 0.996528 -0.015343 -0.081834
+vn 0.910130 0.389106 -0.142341
+vn 0.908400 0.376172 -0.182493
+vn 0.412620 0.882955 -0.223910
+vn 0.910130 0.389106 -0.142341
+vn 0.419505 0.856603 -0.300412
+vn 0.908400 0.376172 -0.182493
+vn -0.000001 0.972691 -0.232105
+vn 0.412620 0.882955 -0.223910
+vn -0.000000 0.948946 -0.315440
+vn 0.419505 0.856603 -0.300412
+vn -0.770467 0.635778 -0.046551
+vn -0.823631 0.526971 0.209603
+vn -0.376904 0.901990 -0.210610
+vn -0.450930 0.889936 -0.068389
+vn -0.823631 0.526971 0.209603
+vn -0.705091 -0.004530 0.709103
+vn -0.450930 0.889936 -0.068389
+vn -0.616393 0.610021 0.497930
+vn -0.705091 -0.004530 0.709103
+vn -0.280660 -0.289175 0.915209
+vn -0.616393 0.610021 0.497930
+vn -0.285898 0.166329 0.943715
+vn 0.186272 -0.012784 0.982415
+vn 0.234570 0.624696 0.744803
+vn -0.280660 -0.289175 0.915209
+vn -0.285898 0.166329 0.943715
+vn -0.194177 0.948638 -0.249764
+vn -0.244170 0.945185 -0.216808
+vn -0.376904 0.901990 -0.210610
+vn -0.434836 0.866655 -0.244594
+vn 0.282525 0.952331 -0.115089
+vn 0.194955 0.964561 -0.177807
+vn 0.285663 0.956831 -0.053591
+vn 0.199226 0.966409 -0.162365
+vn 0.194955 0.964561 -0.177807
+vn 0.070141 0.970966 -0.228704
+vn 0.199226 0.966409 -0.162365
+vn 0.069988 0.971413 -0.226846
+vn 0.566722 0.515411 0.642789
+vn 0.405769 0.895506 0.182813
+vn 0.186272 -0.012784 0.982415
+vn 0.234570 0.624696 0.744803
+vn 0.103275 0.205791 0.973131
+vn 0.088242 -0.094822 0.991576
+vn 0.721918 0.101461 0.684500
+vn 0.730035 -0.124581 0.671959
+vn 0.721918 0.101461 0.684500
+vn 0.730035 -0.124581 0.671959
+vn 0.994570 -0.095277 -0.041860
+vn 0.983304 -0.171001 -0.062226
+vn 0.103275 0.205791 0.973131
+vn -0.565999 0.173311 0.805983
+vn 0.088242 -0.094822 0.991576
+vn -0.601182 -0.050314 0.797527
+vn -0.316569 -0.191092 0.929122
+vn -0.284277 -0.475013 0.832796
+vn 0.373374 -0.166019 0.912705
+vn 0.425396 -0.368906 0.826406
+vn 0.343248 -0.442094 0.828694
+vn -0.347751 -0.495664 0.795856
+vn 0.683392 -0.671254 0.287042
+vn -0.134555 -0.990877 -0.007625
+vn -0.853154 -0.163878 0.495249
+vn -0.955064 -0.055332 -0.291190
+vn -0.842366 -0.366694 0.394912
+vn -0.934462 -0.117151 -0.336239
+vn -0.955064 -0.055332 -0.291190
+vn -0.432923 0.102677 -0.895564
+vn -0.934462 -0.117151 -0.336239
+vn -0.426936 0.209091 -0.879777
+vn -0.432923 0.102677 -0.895564
+vn 0.317066 0.182736 -0.930633
+vn -0.426936 0.209091 -0.879777
+vn 0.303820 0.337586 -0.890915
+vn 0.373374 -0.166019 0.912705
+vn 0.425396 -0.368906 0.826406
+vn 0.934219 -0.058631 0.351848
+vn 0.945185 -0.120432 0.303515
+vn 0.934219 -0.058631 0.351848
+vn 0.945185 -0.120432 0.303515
+vn 0.889684 0.100368 -0.445408
+vn 0.875644 0.206817 -0.436433
+vn 0.889684 0.100368 -0.445408
+vn 0.875644 0.206817 -0.436433
+vn 0.317066 0.182736 -0.930633
+vn 0.303820 0.337586 -0.890915
+vn -0.921300 0.042894 0.386480
+vn -0.914702 -0.144931 0.377247
+vn -0.337719 -0.078570 0.937962
+vn -0.347751 -0.495664 0.795856
+vn -0.921300 0.042894 0.386480
+vn -0.931985 0.074137 -0.354834
+vn -0.914702 -0.144931 0.377247
+vn -0.889415 -0.325031 -0.321396
+vn 0.256713 -0.164782 -0.952337
+vn 0.146219 -0.081816 -0.985863
+vn -0.257999 -0.126665 -0.957806
+vn -0.203359 -0.198288 -0.958815
+vn -0.782286 0.076171 -0.618245
+vn -0.257999 -0.126665 -0.957806
+vn -0.555769 0.061493 -0.829059
+vn -0.203359 -0.198288 -0.958815
+vn -0.933717 0.136832 0.330833
+vn -0.963959 0.240117 -0.114575
+vn -0.762022 0.358301 0.539390
+vn -0.915069 0.338513 0.219222
+vn -0.963959 0.240117 -0.114575
+vn -0.782286 0.076171 -0.618245
+vn -0.888911 0.351063 -0.294265
+vn -0.555769 0.061493 -0.829059
+vn -0.408699 0.392797 0.823818
+vn -0.762022 0.358301 0.539390
+vn -0.427086 0.561942 0.708391
+vn -0.751777 0.457242 0.475143
+vn 0.413516 -0.231214 -0.880650
+vn 0.283140 -0.424949 -0.859796
+vn 0.152216 -0.824578 -0.544887
+vn -0.375123 -0.751822 -0.542260
+vn 0.471689 -0.270046 -0.839396
+vn 0.580162 -0.314494 -0.751336
+vn 0.083873 0.161289 -0.983337
+vn 0.150393 0.317044 -0.936411
+vn 0.867790 0.483649 -0.114120
+vn 0.750383 0.584029 -0.309574
+vn 0.741683 0.061969 -0.667882
+vn 0.738192 0.018690 -0.674332
+vn 0.741683 0.061969 -0.667882
+vn 0.738192 0.018690 -0.674332
+vn 0.283140 -0.424949 -0.859796
+vn 0.402515 -0.557121 -0.726359
+vn 0.626022 0.448779 0.637726
+vn 0.842409 0.495740 0.211160
+vn 0.975552 -0.203133 0.083882
+vn 0.969818 -0.048664 -0.238926
+vn 0.183965 0.778276 0.600370
+vn 0.101398 0.930764 0.351279
+vn 0.842409 0.495740 0.211160
+vn 0.797602 0.603098 0.010233
+vn -0.956175 0.050543 -0.288400
+vn -0.965675 0.213343 -0.148180
+vn -0.923920 -0.324218 -0.203112
+vn -0.938832 -0.081671 0.334550
+vn -0.492788 0.299297 -0.817056
+vn -0.479425 0.657209 -0.581574
+vn -0.965675 0.213343 -0.148180
+vn -0.819751 0.561536 0.112632
+vn -0.986681 0.072454 -0.145642
+vn -0.923920 -0.324218 -0.203112
+vn -0.978537 0.040230 -0.202107
+vn -0.635061 -0.573596 -0.517383
+vn -0.182500 0.548246 0.816162
+vn 0.474156 0.501985 0.723317
+vn -0.279066 -0.323556 0.904120
+vn 0.956033 -0.103371 0.274436
+vn -0.730030 0.135158 0.669916
+vn -0.673453 -0.162257 0.721203
+vn -0.088241 0.282030 0.955339
+vn -0.045651 -0.222016 0.973974
+vn -0.730030 0.135158 0.669916
+vn -0.983304 -0.181871 0.006074
+vn -0.673453 -0.162257 0.721203
+vn -0.814389 -0.555674 0.167325
+vn -0.994570 -0.104016 -0.003284
+vn -0.619358 -0.485901 -0.616682
+vn -0.983304 -0.181871 0.006074
+vn -0.611772 -0.400615 -0.682087
+vn 0.989273 0.068490 0.129028
+vn 0.990419 -0.010242 0.137713
+vn 0.769442 -0.365137 -0.524055
+vn 0.756001 -0.281680 -0.590863
+vn 0.601179 0.250915 0.758700
+vn -0.088241 0.282030 0.955339
+vn 0.590292 -0.052366 0.805489
+vn -0.045651 -0.222016 0.973974
+vn -0.425398 -0.033890 0.904372
+vn -0.450503 -0.330581 0.829315
+vn 0.284279 -0.129953 0.949894
+vn 0.173584 -0.595367 0.784479
+vn 0.842365 -0.192848 0.503221
+vn 0.284279 -0.129953 0.949894
+vn 0.753011 -0.481481 0.448497
+vn 0.173584 -0.595367 0.784479
+vn 0.914702 0.006305 0.404081
+vn 0.347748 -0.162891 0.923330
+vn 0.889415 -0.421485 -0.176892
+vn 0.134551 -0.922151 0.362675
+vn -0.619358 -0.485901 -0.616682
+vn 0.103561 -0.561071 -0.821264
+vn -0.611772 -0.400615 -0.682087
+vn 0.096827 -0.422224 -0.901305
+vn 0.769442 -0.365137 -0.524055
+vn 0.756001 -0.281680 -0.590863
+vn 0.103561 -0.561071 -0.821264
+vn 0.096827 -0.422224 -0.901305
+vn -0.937957 -0.345658 -0.027507
+vn -0.939735 -0.341569 -0.015143
+vn -0.629012 -0.776813 0.030090
+vn -0.644447 -0.761818 0.065739
+vn -0.629012 -0.776813 0.030090
+vn -0.644447 -0.761818 0.065739
+vn 0.000000 -0.998053 0.062368
+vn 0.000000 -0.993800 0.111184
+vn -0.937957 -0.345658 -0.027507
+vn -0.997310 -0.010272 -0.072576
+vn -0.939735 -0.341569 -0.015143
+vn -0.996528 -0.015343 -0.081834
+vn -0.000001 0.972691 -0.232105
+vn -0.000000 0.948946 -0.315440
+vn -0.412621 0.882954 -0.223910
+vn -0.419505 0.856603 -0.300412
+vn -0.412621 0.882954 -0.223910
+vn -0.419505 0.856603 -0.300412
+vn -0.910129 0.389106 -0.142341
+vn -0.908400 0.376172 -0.182492
+vn -0.997310 -0.010272 -0.072576
+vn -0.910129 0.389106 -0.142341
+vn -0.996528 -0.015343 -0.081834
+vn -0.908400 0.376172 -0.182492
+vn -0.376904 0.901990 -0.210610
+vn -0.450930 0.889936 -0.068389
+vn -0.194177 0.948638 -0.249764
+vn -0.235433 0.952545 -0.192951
+vn -0.194177 0.948638 -0.249764
+vn -0.235433 0.952545 -0.192951
+vn -0.077637 0.964173 -0.253659
+vn -0.090490 0.966296 -0.241007
+vn -0.077637 0.964173 -0.253659
+vn -0.090490 0.966296 -0.241007
+vn 0.070141 0.970966 -0.228704
+vn 0.069988 0.971413 -0.226846
+vn 0.405769 0.895506 0.182813
+vn 0.285663 0.956831 -0.053591
+vn 0.234570 0.624696 0.744803
+vn 0.180158 0.956825 0.228099
+vn -0.316569 -0.191092 0.929122
+vn -0.853154 -0.163878 0.495249
+vn -0.284277 -0.475013 0.832796
+vn -0.842366 -0.366694 0.394912
+vn -0.565999 0.173311 0.805983
+vn -0.989273 0.015397 0.145266
+vn -0.601182 -0.050314 0.797527
+vn -0.990419 -0.060891 0.123942
+vn 0.994570 -0.095277 -0.041860
+vn 0.983304 -0.171001 -0.062226
+vn 0.619359 -0.220692 -0.753452
+vn 0.611772 -0.117161 -0.782309
+vn 0.619359 -0.220692 -0.753452
+vn 0.611772 -0.117161 -0.782309
+vn -0.103561 -0.214094 -0.971308
+vn -0.096827 -0.055406 -0.993758
+vn -0.989273 0.015397 0.145266
+vn -0.769443 -0.143214 -0.622453
+vn -0.990419 -0.060891 0.123942
+vn -0.756001 -0.040854 -0.653294
+vn -0.769443 -0.143214 -0.622453
+vn -0.103561 -0.214094 -0.971308
+vn -0.756001 -0.040854 -0.653294
+vn -0.096827 -0.055406 -0.993758
+vn -0.914702 -0.144931 0.377247
+vn -0.889415 -0.325031 -0.321396
+vn -0.347751 -0.495664 0.795856
+vn -0.134555 -0.990877 -0.007625
+vn -0.963959 0.240117 -0.114575
+vn -0.888911 0.351063 -0.294265
+vn -0.915069 0.338513 0.219222
+vn -0.849441 0.455402 0.266570
+vn 0.783058 0.089470 -0.615480
+vn 0.577530 0.359142 -0.733128
+vn 0.146219 -0.081816 -0.985863
+vn 0.020063 0.135745 -0.990541
+vn 0.783058 0.089470 -0.615480
+vn 0.965665 0.211517 0.150839
+vn 0.986393 0.129830 0.100864
+vn 0.981356 0.096784 0.166053
+vn 0.965665 0.211517 0.150839
+vn 0.802863 0.344836 0.486311
+vn 0.981356 0.096784 0.166053
+vn 0.979320 0.066247 0.191162
+vn 0.754013 0.293945 0.587418
+vn 0.415516 0.414418 0.809694
+vn 0.802863 0.344836 0.486311
+vn 0.330104 0.547036 0.769274
+vn 0.053303 0.419220 0.906319
+vn -0.064450 0.540179 0.839079
+vn 0.415516 0.414418 0.809694
+vn 0.330104 0.547036 0.769274
+vn -0.427086 0.561942 0.708391
+vn -0.352338 0.761520 0.544009
+vn -0.064450 0.540179 0.839079
+vn 0.362074 0.474436 0.802380
+vn 0.471689 -0.270046 -0.839396
+vn 0.601340 -0.749551 -0.276702
+vn 0.580162 -0.314494 -0.751336
+vn 0.632264 -0.745988 -0.209151
+vn 0.601340 -0.749551 -0.276702
+vn 0.152216 -0.824578 -0.544887
+vn 0.450025 -0.882400 0.137289
+vn 0.096201 -0.987322 -0.126255
+vn 0.589160 0.631247 0.504398
+vn 0.277592 0.891236 0.358665
+vn 0.867790 0.483649 -0.114120
+vn 0.750383 0.584029 -0.309574
+vn 0.589160 0.631247 0.504398
+vn 0.056215 0.321521 0.945232
+vn 0.277592 0.891236 0.358665
+vn -0.425143 0.499859 0.754582
+vn 0.626022 0.448779 0.637726
+vn 0.975552 -0.203133 0.083882
+vn 0.056215 0.321521 0.945232
+vn -0.676947 -0.140830 0.722433
+vn 0.580162 -0.314494 -0.751336
+vn 0.529112 -0.389174 -0.754046
+vn 0.150393 0.317044 -0.936411
+vn 0.110415 0.338310 -0.934535
+vn 0.150393 0.317044 -0.936411
+vn 0.110415 0.338310 -0.934535
+vn -0.479425 0.657209 -0.581574
+vn -0.445895 0.792667 -0.415760
+vn -0.823924 0.523578 0.216830
+vn -0.779413 0.615237 0.118317
+vn -0.330654 0.742742 0.582239
+vn -0.127644 0.892108 0.433416
+vn -0.330654 0.742742 0.582239
+vn -0.127644 0.892108 0.433416
+vn 0.474156 0.501985 0.723317
+vn 0.662718 0.585800 0.466522
+vn -0.823924 0.523578 0.216830
+vn -0.978537 0.040230 -0.202107
+vn -0.779413 0.615237 0.118317
+vn -0.973555 -0.003572 -0.228423
+vn 0.101398 0.930764 0.351279
+vn -0.676040 0.587556 0.444689
+vn 0.063034 0.972832 0.222764
+vn -0.662772 0.646796 0.377344
+vn -0.584353 0.491408 0.645794
+vn -0.944071 -0.078990 0.320141
+vn -0.676040 0.587556 0.444689
+vn -0.961009 -0.051140 0.271747
+vn -0.944071 -0.078990 0.320141
+vn -0.279066 -0.323556 0.904120
+vn -0.767432 -0.635130 -0.087511
+vn 0.019843 -0.997419 -0.069005
+vn 0.842365 -0.192848 0.503221
+vn 0.753011 -0.481481 0.448497
+vn 0.934462 -0.234158 -0.268237
+vn 0.742704 -0.629103 -0.229391
+vn 0.426937 -0.134298 -0.894253
+vn 0.934462 -0.234158 -0.268237
+vn 0.394412 -0.316907 -0.862560
+vn 0.742704 -0.629103 -0.229391
+vn 0.426937 -0.134298 -0.894253
+vn 0.394412 -0.316907 -0.862560
+vn -0.303822 -0.019240 -0.952535
+vn -0.321509 -0.409387 -0.853835
+vn 0.601179 0.250915 0.758700
+vn 0.590292 -0.052366 0.805489
+vn 0.990419 -0.010242 0.137713
+vn 0.868498 -0.409336 0.279564
+vn -0.425398 -0.033890 0.904372
+vn -0.945185 0.001521 0.326531
+vn -0.450503 -0.330581 0.829315
+vn -0.859968 -0.428154 0.277738
+vn -0.875645 0.029025 -0.482083
+vn -0.872935 -0.157999 -0.461541
+vn -0.945185 0.001521 0.326531
+vn -0.859968 -0.428154 0.277738
+vn -0.875645 0.029025 -0.482083
+vn -0.303822 -0.019240 -0.952535
+vn -0.872935 -0.157999 -0.461541
+vn -0.321509 -0.409387 -0.853835
+vn 0.939735 -0.341569 -0.015143
+vn 0.644447 -0.761818 0.065739
+vn 0.939552 -0.342396 0.002548
+vn 0.649503 -0.752023 0.112286
+vn 0.644447 -0.761818 0.065739
+vn 0.000000 -0.993800 0.111184
+vn 0.649503 -0.752023 0.112286
+vn 0.000000 -0.984870 0.173293
+vn 0.939735 -0.341569 -0.015143
+vn 0.939552 -0.342396 0.002548
+vn 0.996528 -0.015343 -0.081834
+vn 0.995640 -0.025451 -0.089737
+vn 0.908400 0.376172 -0.182493
+vn 0.996528 -0.015343 -0.081834
+vn 0.908601 0.352289 -0.224358
+vn 0.995640 -0.025451 -0.089737
+vn -0.000000 0.948946 -0.315440
+vn 0.419505 0.856603 -0.300412
+vn -0.000000 0.912607 -0.408838
+vn 0.427985 0.817802 -0.384746
+vn 0.419505 0.856603 -0.300412
+vn 0.908400 0.376172 -0.182493
+vn 0.427985 0.817802 -0.384746
+vn 0.908601 0.352289 -0.224358
+vn -0.450930 0.889936 -0.068389
+vn -0.616393 0.610021 0.497930
+vn -0.235433 0.952545 -0.192951
+vn -0.298694 0.947145 0.117042
+vn -0.616393 0.610021 0.497930
+vn -0.285898 0.166329 0.943715
+vn -0.298694 0.947145 0.117042
+vn -0.122293 0.907917 0.400912
+vn 0.234570 0.624696 0.744803
+vn 0.180158 0.956825 0.228099
+vn -0.285898 0.166329 0.943715
+vn -0.122293 0.907917 0.400912
+vn 0.285663 0.956831 -0.053591
+vn 0.199226 0.966409 -0.162365
+vn 0.180158 0.956825 0.228099
+vn 0.140414 0.989891 -0.019985
+vn 0.199226 0.966409 -0.162365
+vn 0.069988 0.971413 -0.226846
+vn 0.140414 0.989891 -0.019985
+vn 0.011659 0.999226 -0.037578
+vn 0.730035 -0.124581 0.671959
+vn 0.088242 -0.094822 0.991576
+vn 0.673453 -0.419654 0.608565
+vn 0.045654 -0.569418 0.820780
+vn 0.730035 -0.124581 0.671959
+vn 0.673453 -0.419654 0.608565
+vn 0.983304 -0.171001 -0.062226
+vn 0.814389 -0.577974 -0.052112
+vn -0.601182 -0.050314 0.797527
+vn -0.590294 -0.349149 0.727769
+vn 0.088242 -0.094822 0.991576
+vn 0.045654 -0.569418 0.820780
+vn 0.425396 -0.368906 0.826406
+vn -0.284277 -0.475013 0.832796
+vn 0.450501 -0.616157 0.646065
+vn -0.173580 -0.845091 0.505660
+vn -0.842366 -0.366694 0.394912
+vn -0.753016 -0.614058 0.236434
+vn -0.284277 -0.475013 0.832796
+vn -0.173580 -0.845091 0.505660
+vn -0.842366 -0.366694 0.394912
+vn -0.934462 -0.117151 -0.336239
+vn -0.753016 -0.614058 0.236434
+vn -0.742706 -0.498064 -0.447571
+vn -0.426936 0.209091 -0.879777
+vn -0.394412 0.027849 -0.918512
+vn -0.934462 -0.117151 -0.336239
+vn -0.742706 -0.498064 -0.447571
+vn -0.426936 0.209091 -0.879777
+vn 0.303820 0.337586 -0.890915
+vn -0.394412 0.027849 -0.918512
+vn 0.321505 -0.061211 -0.944927
+vn 0.425396 -0.368906 0.826406
+vn 0.450501 -0.616157 0.646065
+vn 0.945185 -0.120432 0.303515
+vn 0.859969 -0.500865 0.097914
+vn 0.875644 0.206817 -0.436433
+vn 0.945185 -0.120432 0.303515
+vn 0.872940 0.025633 -0.487154
+vn 0.859969 -0.500865 0.097914
+vn 0.875644 0.206817 -0.436433
+vn 0.872940 0.025633 -0.487154
+vn 0.303820 0.337586 -0.890915
+vn 0.321505 -0.061211 -0.944927
+vn -0.203359 -0.198288 -0.958815
+vn 0.146219 -0.081816 -0.985863
+vn -0.371805 -0.255603 -0.892428
+vn 0.020063 0.135745 -0.990541
+vn -0.888911 0.351063 -0.294265
+vn -0.555769 0.061493 -0.829059
+vn -0.704727 0.512748 -0.490356
+vn -0.339878 0.090349 -0.936120
+vn -0.555769 0.061493 -0.829059
+vn -0.203359 -0.198288 -0.958815
+vn -0.339878 0.090349 -0.936120
+vn 0.170974 -0.433875 -0.884602
+vn -0.915069 0.338513 0.219222
+vn -0.849441 0.455402 0.266570
+vn -0.762022 0.358301 0.539390
+vn -0.751777 0.457242 0.475143
+vn -0.427086 0.561942 0.708391
+vn -0.751777 0.457242 0.475143
+vn -0.352338 0.761520 0.544009
+vn -0.867551 0.497344 -0.001789
+vn 0.783058 0.089470 -0.615480
+vn 0.986393 0.129830 0.100864
+vn 0.577530 0.359142 -0.733128
+vn 0.935802 0.325469 0.135444
+vn 0.152216 -0.824578 -0.544887
+vn -0.375123 -0.751822 -0.542260
+vn 0.096201 -0.987322 -0.126255
+vn -0.782404 -0.601982 0.159570
+vn 0.283140 -0.424949 -0.859796
+vn 0.402515 -0.557121 -0.726359
+vn -0.375123 -0.751822 -0.542260
+vn -0.219081 -0.911357 -0.348472
+vn 0.601340 -0.749551 -0.276702
+vn 0.450025 -0.882400 0.137289
+vn 0.632264 -0.745988 -0.209151
+vn 0.357169 -0.859281 0.366150
+vn 0.277592 0.891236 0.358665
+vn 0.185203 0.943992 0.273092
+vn 0.750383 0.584029 -0.309574
+vn 0.709184 0.629286 -0.317894
+vn 0.750383 0.584029 -0.309574
+vn 0.709184 0.629286 -0.317894
+vn 0.738192 0.018690 -0.674332
+vn 0.801974 0.006251 -0.597326
+vn 0.738192 0.018690 -0.674332
+vn 0.801974 0.006251 -0.597326
+vn 0.402515 -0.557121 -0.726359
+vn 0.555867 -0.628506 -0.544052
+vn 0.969818 -0.048664 -0.238926
+vn 0.620370 -0.610287 -0.492636
+vn 0.975552 -0.203133 0.083882
+vn 0.096201 -0.987322 -0.126255
+vn 0.842409 0.495740 0.211160
+vn 0.797602 0.603098 0.010233
+vn 0.969818 -0.048664 -0.238926
+vn 0.958159 -0.028465 -0.284817
+vn 0.101398 0.930764 0.351279
+vn 0.063034 0.972832 0.222764
+vn 0.797602 0.603098 0.010233
+vn 0.755567 0.653351 -0.047439
+vn -0.938832 -0.081671 0.334550
+vn -0.529952 -0.569267 0.628558
+vn -0.923920 -0.324218 -0.203112
+vn -0.142636 -0.957582 -0.250385
+vn -0.965675 0.213343 -0.148180
+vn -0.819751 0.561536 0.112632
+vn -0.938832 -0.081671 0.334550
+vn -0.738840 0.205784 0.641692
+vn -0.479425 0.657209 -0.581574
+vn -0.445895 0.792667 -0.415760
+vn -0.819751 0.561536 0.112632
+vn -0.682763 0.703731 0.196463
+vn 0.529112 -0.389174 -0.754046
+vn 0.580162 -0.314494 -0.751336
+vn 0.539299 -0.800165 -0.262474
+vn 0.632264 -0.745988 -0.209151
+vn -0.978537 0.040230 -0.202107
+vn -0.635061 -0.573596 -0.517383
+vn -0.973555 -0.003572 -0.228423
+vn -0.627748 -0.644680 -0.436257
+vn -0.923920 -0.324218 -0.203112
+vn -0.142636 -0.957582 -0.250385
+vn -0.635061 -0.573596 -0.517383
+vn 0.117657 -0.848118 -0.516578
+vn 0.956033 -0.103371 0.274436
+vn 0.755891 -0.627740 -0.185933
+vn -0.279066 -0.323556 0.904120
+vn 0.019843 -0.997419 -0.069005
+vn 0.474156 0.501985 0.723317
+vn 0.662718 0.585800 0.466522
+vn 0.956033 -0.103371 0.274436
+vn 0.979499 -0.068893 0.189305
+vn -0.944071 -0.078990 0.320141
+vn -0.767432 -0.635130 -0.087511
+vn -0.961009 -0.051140 0.271747
+vn -0.752452 -0.658597 -0.008104
+vn -0.673453 -0.162257 0.721203
+vn -0.814389 -0.555674 0.167325
+vn -0.045651 -0.222016 0.973974
+vn 0.055135 -0.924084 0.378191
+vn -0.814389 -0.555674 0.167325
+vn -0.983304 -0.181871 0.006074
+vn -0.585590 -0.560198 -0.585886
+vn -0.611772 -0.400615 -0.682087
+vn 0.756001 -0.281680 -0.590863
+vn 0.990419 -0.010242 0.137713
+vn 0.745184 -0.444480 -0.497131
+vn 0.868498 -0.409336 0.279564
+vn 0.590292 -0.052366 0.805489
+vn -0.045651 -0.222016 0.973974
+vn 0.868498 -0.409336 0.279564
+vn 0.055135 -0.924084 0.378191
+vn -0.450503 -0.330581 0.829315
+vn -0.859968 -0.428154 0.277738
+vn 0.173584 -0.595367 0.784479
+vn -0.123741 -0.992312 0.002139
+vn 0.753011 -0.481481 0.448497
+vn 0.173584 -0.595367 0.784479
+vn 0.742704 -0.629103 -0.229391
+vn -0.123741 -0.992312 0.002139
+vn -0.611772 -0.400615 -0.682087
+vn 0.096827 -0.422224 -0.901305
+vn -0.585590 -0.560198 -0.585886
+vn 0.108668 -0.744011 -0.659272
+vn 0.756001 -0.281680 -0.590863
+vn 0.745184 -0.444480 -0.497131
+vn 0.096827 -0.422224 -0.901305
+vn 0.108668 -0.744011 -0.659272
+vn -0.939735 -0.341569 -0.015143
+vn -0.939552 -0.342396 0.002548
+vn -0.644447 -0.761818 0.065739
+vn -0.649503 -0.752023 0.112286
+vn -0.644447 -0.761818 0.065739
+vn -0.649503 -0.752023 0.112286
+vn 0.000000 -0.993800 0.111184
+vn 0.000000 -0.984870 0.173293
+vn -0.939735 -0.341569 -0.015143
+vn -0.996528 -0.015343 -0.081834
+vn -0.939552 -0.342396 0.002548
+vn -0.995640 -0.025451 -0.089737
+vn -0.000000 0.948946 -0.315440
+vn -0.000000 0.912607 -0.408838
+vn -0.419505 0.856603 -0.300412
+vn -0.427985 0.817802 -0.384746
+vn -0.419505 0.856603 -0.300412
+vn -0.427985 0.817802 -0.384746
+vn -0.908400 0.376172 -0.182492
+vn -0.908601 0.352289 -0.224358
+vn -0.908400 0.376172 -0.182492
+vn -0.908601 0.352289 -0.224358
+vn -0.996528 -0.015343 -0.081834
+vn -0.995640 -0.025451 -0.089737
+vn -0.235433 0.952545 -0.192951
+vn -0.298694 0.947145 0.117042
+vn -0.090490 0.966296 -0.241007
+vn -0.118159 0.988945 -0.089590
+vn -0.090490 0.966296 -0.241007
+vn -0.118159 0.988945 -0.089590
+vn 0.069988 0.971413 -0.226846
+vn 0.011659 0.999226 -0.037578
+vn -0.601182 -0.050314 0.797527
+vn -0.990419 -0.060891 0.123942
+vn -0.590294 -0.349149 0.727769
+vn -0.868497 -0.484091 0.106627
+vn 0.611772 -0.117161 -0.782309
+vn 0.983304 -0.171001 -0.062226
+vn 0.585595 -0.301117 -0.752600
+vn 0.814389 -0.577974 -0.052112
+vn 0.611772 -0.117161 -0.782309
+vn 0.585595 -0.301117 -0.752600
+vn -0.096827 -0.055406 -0.993758
+vn -0.108668 -0.444271 -0.889278
+vn -0.756001 -0.040854 -0.653294
+vn -0.745190 -0.226874 -0.627073
+vn -0.990419 -0.060891 0.123942
+vn -0.868497 -0.484091 0.106627
+vn -0.756001 -0.040854 -0.653294
+vn -0.096827 -0.055406 -0.993758
+vn -0.745190 -0.226874 -0.627073
+vn -0.108668 -0.444271 -0.889278
+vn -0.203359 -0.198288 -0.958815
+vn -0.371805 -0.255603 -0.892428
+vn -0.097495 -0.859947 -0.500984
+vn -0.631895 -0.712993 -0.303891
+vn -0.888911 0.351063 -0.294265
+vn -0.704727 0.512748 -0.490356
+vn -0.849441 0.455402 0.266570
+vn -0.730653 0.660067 0.174522
+vn -0.849441 0.455402 0.266570
+vn -0.730653 0.660067 0.174522
+vn -0.751777 0.457242 0.475143
+vn -0.471319 0.337329 0.814904
+vn 0.577530 0.359142 -0.733128
+vn 0.382866 0.560200 -0.734567
+vn 0.020063 0.135745 -0.990541
+vn -0.096127 0.162298 -0.982048
+vn 0.986393 0.129830 0.100864
+vn 0.981356 0.096784 0.166053
+vn 0.939599 -0.314521 0.135023
+vn 0.979320 0.066247 0.191162
+vn 0.802863 0.344836 0.486311
+vn 0.729463 0.495459 0.471597
+vn 0.979320 0.066247 0.191162
+vn 0.990978 0.025689 0.131541
+vn 0.802863 0.344836 0.486311
+vn 0.330104 0.547036 0.769274
+vn 0.729463 0.495459 0.471597
+vn 0.163173 0.727662 0.666245
+vn 0.330104 0.547036 0.769274
+vn -0.064450 0.540179 0.839079
+vn 0.163173 0.727662 0.666245
+vn -0.678944 0.513366 0.524872
+vn -0.064450 0.540179 0.839079
+vn 0.362074 0.474436 0.802380
+vn -0.043564 -0.319919 0.946443
+vn 0.807190 -0.083777 0.584316
+vn -0.352338 0.761520 0.544009
+vn -0.201310 0.927222 0.315807
+vn 0.362074 0.474436 0.802380
+vn 0.515634 0.582361 0.628472
+vn 0.096201 -0.987322 -0.126255
+vn -0.015263 -0.964177 -0.264820
+vn 0.450025 -0.882400 0.137289
+vn 0.197613 -0.937310 0.287053
+vn 0.277592 0.891236 0.358665
+vn -0.425143 0.499859 0.754582
+vn 0.185203 0.943992 0.273092
+vn -0.450538 0.577739 0.680613
+vn 0.056215 0.321521 0.945232
+vn -0.676947 -0.140830 0.722433
+vn -0.425143 0.499859 0.754582
+vn -0.756747 -0.084516 0.648222
+vn 0.975552 -0.203133 0.083882
+vn 0.096201 -0.987322 -0.126255
+vn -0.676947 -0.140830 0.722433
+vn -0.782404 -0.601982 0.159570
+vn 0.969818 -0.048664 -0.238926
+vn 0.958159 -0.028465 -0.284817
+vn 0.620370 -0.610287 -0.492636
+vn 0.639000 -0.647811 -0.414752
+vn -0.938832 -0.081671 0.334550
+vn -0.738840 0.205784 0.641692
+vn -0.529952 -0.569267 0.628558
+vn -0.290144 -0.447007 0.846168
+vn 0.529112 -0.389174 -0.754046
+vn 0.539299 -0.800165 -0.262474
+vn 0.301694 -0.489082 -0.818400
+vn 0.148857 -0.905586 -0.397186
+vn 0.529112 -0.389174 -0.754046
+vn 0.301694 -0.489082 -0.818400
+vn 0.110415 0.338310 -0.934535
+vn -0.268523 0.061285 -0.961322
+vn -0.445895 0.792667 -0.415760
+vn 0.110415 0.338310 -0.934535
+vn -0.561257 0.685475 -0.463805
+vn -0.268523 0.061285 -0.961322
+vn -0.127644 0.892108 0.433416
+vn -0.779413 0.615237 0.118317
+vn -0.047462 0.951758 0.303158
+vn -0.742843 0.664297 0.083024
+vn -0.127644 0.892108 0.433416
+vn -0.047462 0.951758 0.303158
+vn 0.662718 0.585800 0.466522
+vn 0.672302 0.640093 0.371875
+vn -0.779413 0.615237 0.118317
+vn -0.973555 -0.003572 -0.228423
+vn -0.742843 0.664297 0.083024
+vn -0.994636 -0.015331 -0.102290
+vn -0.662772 0.646796 0.377344
+vn -0.563460 0.656864 0.501041
+vn 0.063034 0.972832 0.222764
+vn 0.152106 0.848790 0.506378
+vn -0.676040 0.587556 0.444689
+vn -0.961009 -0.051140 0.271747
+vn -0.662772 0.646796 0.377344
+vn -0.932453 -0.030250 0.360023
+vn 0.956033 -0.103371 0.274436
+vn 0.979499 -0.068893 0.189305
+vn 0.755891 -0.627740 -0.185933
+vn 0.730883 -0.667669 -0.141520
+vn 0.019843 -0.997419 -0.069005
+vn -0.015263 -0.964177 -0.264820
+vn -0.767432 -0.635130 -0.087511
+vn -0.122990 -0.882371 -0.454197
+vn 0.394412 -0.316907 -0.862560
+vn 0.742704 -0.629103 -0.229391
+vn -0.321509 -0.409387 -0.853835
+vn -0.123741 -0.992312 0.002139
+vn -0.585590 -0.560198 -0.585886
+vn 0.108668 -0.744011 -0.659272
+vn -0.814389 -0.555674 0.167325
+vn 0.055135 -0.924084 0.378191
+vn -0.872935 -0.157999 -0.461541
+vn -0.321509 -0.409387 -0.853835
+vn -0.859968 -0.428154 0.277738
+vn -0.123741 -0.992312 0.002139
+vn 0.939552 -0.342396 0.002548
+vn 0.649503 -0.752023 0.112286
+vn 0.938531 -0.344423 0.023089
+vn 0.648385 -0.744527 0.158985
+vn 0.649503 -0.752023 0.112286
+vn 0.000000 -0.984870 0.173293
+vn 0.648385 -0.744527 0.158985
+vn 0.000000 -0.972017 0.234911
+vn 0.939552 -0.342396 0.002548
+vn 0.938531 -0.344423 0.023089
+vn 0.995640 -0.025451 -0.089737
+vn 0.995288 -0.035450 -0.090255
+vn 0.427985 0.817802 -0.384746
+vn 0.908601 0.352289 -0.224358
+vn 0.434971 0.780131 -0.449662
+vn 0.910032 0.329078 -0.252092
+vn 0.908601 0.352289 -0.224358
+vn 0.995640 -0.025451 -0.089737
+vn 0.910032 0.329078 -0.252092
+vn 0.995288 -0.035450 -0.090255
+vn -0.000000 0.912607 -0.408838
+vn 0.427985 0.817802 -0.384746
+vn -0.000000 0.875547 -0.483133
+vn 0.434971 0.780131 -0.449662
+vn -0.298694 0.947145 0.117042
+vn -0.122293 0.907917 0.400912
+vn -0.118159 0.988945 -0.089590
+vn 0.011659 0.999226 -0.037578
+vn 0.180158 0.956825 0.228099
+vn 0.140414 0.989891 -0.019985
+vn -0.122293 0.907917 0.400912
+vn 0.011659 0.999226 -0.037578
+vn 0.673453 -0.419654 0.608565
+vn 0.045654 -0.569418 0.820780
+vn 0.814389 -0.577974 -0.052112
+vn -0.055132 -0.998461 0.006055
+vn -0.590294 -0.349149 0.727769
+vn -0.868497 -0.484091 0.106627
+vn 0.045654 -0.569418 0.820780
+vn -0.055132 -0.998461 0.006055
+vn 0.450501 -0.616157 0.646065
+vn -0.173580 -0.845091 0.505660
+vn 0.859969 -0.500865 0.097914
+vn 0.123743 -0.921438 -0.368294
+vn -0.753016 -0.614058 0.236434
+vn -0.742706 -0.498064 -0.447571
+vn -0.173580 -0.845091 0.505660
+vn 0.123743 -0.921438 -0.368294
+vn -0.394412 0.027849 -0.918512
+vn 0.321505 -0.061211 -0.944927
+vn -0.742706 -0.498064 -0.447571
+vn 0.123743 -0.921438 -0.368294
+vn 0.872940 0.025633 -0.487154
+vn 0.859969 -0.500865 0.097914
+vn 0.321505 -0.061211 -0.944927
+vn 0.123743 -0.921438 -0.368294
+vn -0.203359 -0.198288 -0.958815
+vn -0.097495 -0.859947 -0.500984
+vn 0.170974 -0.433875 -0.884602
+vn 0.597055 -0.770406 -0.223604
+vn -0.371805 -0.255603 -0.892428
+vn 0.020063 0.135745 -0.990541
+vn -0.450634 -0.396144 -0.799999
+vn -0.096127 0.162298 -0.982048
+vn -0.704727 0.512748 -0.490356
+vn -0.339878 0.090349 -0.936120
+vn -0.411659 0.583836 -0.699766
+vn -0.095933 0.032938 -0.994843
+vn -0.339878 0.090349 -0.936120
+vn 0.170974 -0.433875 -0.884602
+vn -0.095933 0.032938 -0.994843
+vn 0.262644 -0.547300 -0.794658
+vn -0.352338 0.761520 0.544009
+vn -0.867551 0.497344 -0.001789
+vn -0.201310 0.927222 0.315807
+vn -0.767320 0.603096 -0.217934
+vn -0.751777 0.457242 0.475143
+vn -0.945479 -0.298281 0.130763
+vn -0.867551 0.497344 -0.001789
+vn -0.865301 -0.049970 -0.498756
+vn 0.935802 0.325469 0.135444
+vn 0.786854 0.611355 0.084294
+vn 0.577530 0.359142 -0.733128
+vn 0.382866 0.560200 -0.734567
+vn 0.935802 0.325469 0.135444
+vn 0.986393 0.129830 0.100864
+vn 0.796660 -0.030684 0.603649
+vn 0.939599 -0.314521 0.135023
+vn 0.979320 0.066247 0.191162
+vn 0.990978 0.025689 0.131541
+vn 0.939599 -0.314521 0.135023
+vn 0.755556 -0.586776 -0.291254
+vn -0.064450 0.540179 0.839079
+vn -0.043564 -0.319919 0.946443
+vn -0.678944 0.513366 0.524872
+vn -0.994962 -0.076322 -0.065006
+vn -0.375123 -0.751822 -0.542260
+vn -0.219081 -0.911357 -0.348472
+vn -0.782404 -0.601982 0.159570
+vn -0.717168 -0.643082 0.268543
+vn 0.402515 -0.557121 -0.726359
+vn 0.555867 -0.628506 -0.544052
+vn -0.219081 -0.911357 -0.348472
+vn -0.010514 -0.996091 -0.087710
+vn 0.539299 -0.800165 -0.262474
+vn 0.632264 -0.745988 -0.209151
+vn 0.297246 -0.894400 0.334207
+vn 0.357169 -0.859281 0.366150
+vn 0.357169 -0.859281 0.366150
+vn 0.450025 -0.882400 0.137289
+vn -0.011571 -0.862641 0.505685
+vn 0.197613 -0.937310 0.287053
+vn 0.096201 -0.987322 -0.126255
+vn 0.620370 -0.610287 -0.492636
+vn -0.015263 -0.964177 -0.264820
+vn -0.122990 -0.882371 -0.454197
+vn 0.709184 0.629286 -0.317894
+vn 0.185203 0.943992 0.273092
+vn 0.749523 0.639092 -0.172558
+vn 0.361404 0.811308 0.459528
+vn 0.709184 0.629286 -0.317894
+vn 0.749523 0.639092 -0.172558
+vn 0.801974 0.006251 -0.597326
+vn 0.971384 -0.015863 -0.236984
+vn 0.555867 -0.628506 -0.544052
+vn 0.801974 0.006251 -0.597326
+vn 0.669757 -0.663735 -0.332989
+vn 0.971384 -0.015863 -0.236984
+vn 0.797602 0.603098 0.010233
+vn 0.755567 0.653351 -0.047439
+vn 0.958159 -0.028465 -0.284817
+vn 0.977230 -0.021991 -0.211041
+vn 0.755567 0.653351 -0.047439
+vn 0.063034 0.972832 0.222764
+vn 0.745670 0.657600 0.107420
+vn 0.152106 0.848790 0.506378
+vn -0.529952 -0.569267 0.628558
+vn -0.011571 -0.862641 0.505685
+vn -0.142636 -0.957582 -0.250385
+vn 0.019843 -0.997419 -0.069005
+vn -0.819751 0.561536 0.112632
+vn -0.682763 0.703731 0.196463
+vn -0.738840 0.205784 0.641692
+vn -0.668687 0.291851 0.683872
+vn -0.445895 0.792667 -0.415760
+vn -0.561257 0.685475 -0.463805
+vn -0.682763 0.703731 0.196463
+vn -0.879684 0.474404 0.033123
+vn -0.973555 -0.003572 -0.228423
+vn -0.627748 -0.644680 -0.436257
+vn -0.994636 -0.015331 -0.102290
+vn -0.691302 -0.699888 -0.179605
+vn -0.635061 -0.573596 -0.517383
+vn 0.117657 -0.848118 -0.516578
+vn -0.627748 -0.644680 -0.436257
+vn 0.077284 -0.916539 -0.392408
+vn -0.142636 -0.957582 -0.250385
+vn 0.019843 -0.997419 -0.069005
+vn 0.117657 -0.848118 -0.516578
+vn 0.755891 -0.627740 -0.185933
+vn -0.662772 0.646796 0.377344
+vn -0.932453 -0.030250 0.360023
+vn -0.563460 0.656864 0.501041
+vn -0.697661 -0.031168 0.715750
+vn 0.662718 0.585800 0.466522
+vn 0.672302 0.640093 0.371875
+vn 0.979499 -0.068893 0.189305
+vn 0.956469 -0.052213 0.287125
+vn -0.752452 -0.658597 -0.008104
+vn -0.689697 -0.695262 0.202309
+vn -0.961009 -0.051140 0.271747
+vn -0.932453 -0.030250 0.360023
+vn -0.767432 -0.635130 -0.087511
+vn -0.122990 -0.882371 -0.454197
+vn -0.752452 -0.658597 -0.008104
+vn -0.083480 -0.948942 -0.304203
+vn -0.015263 -0.964177 -0.264820
+vn 0.019843 -0.997419 -0.069005
+vn 0.197613 -0.937310 0.287053
+vn -0.011571 -0.862641 0.505685
+vn 0.745184 -0.444480 -0.497131
+vn 0.868498 -0.409336 0.279564
+vn 0.108668 -0.744011 -0.659272
+vn 0.055135 -0.924084 0.378191
+vn -0.939552 -0.342396 0.002548
+vn -0.938531 -0.344423 0.023089
+vn -0.649503 -0.752023 0.112286
+vn -0.648385 -0.744527 0.158985
+vn -0.649503 -0.752023 0.112286
+vn -0.648385 -0.744527 0.158985
+vn 0.000000 -0.984870 0.173293
+vn 0.000000 -0.972017 0.234911
+vn -0.939552 -0.342396 0.002548
+vn -0.995640 -0.025451 -0.089737
+vn -0.938531 -0.344423 0.023089
+vn -0.995288 -0.035450 -0.090255
+vn -0.000000 0.912607 -0.408838
+vn -0.000000 0.875547 -0.483133
+vn -0.427985 0.817802 -0.384746
+vn -0.434971 0.780131 -0.449662
+vn -0.427985 0.817802 -0.384746
+vn -0.434971 0.780131 -0.449662
+vn -0.908601 0.352289 -0.224358
+vn -0.910031 0.329078 -0.252092
+vn -0.908601 0.352289 -0.224358
+vn -0.910031 0.329078 -0.252092
+vn -0.995640 -0.025451 -0.089737
+vn -0.995288 -0.035450 -0.090255
+vn 0.585595 -0.301117 -0.752600
+vn 0.814389 -0.577974 -0.052112
+vn -0.108668 -0.444271 -0.889278
+vn -0.055132 -0.998461 0.006055
+vn -0.745190 -0.226874 -0.627073
+vn -0.108668 -0.444271 -0.889278
+vn -0.868497 -0.484091 0.106627
+vn -0.055132 -0.998461 0.006055
+vn -0.631895 -0.712993 -0.303891
+vn -0.539720 -0.825793 0.163613
+vn -0.097495 -0.859947 -0.500984
+vn -0.135464 -0.989394 -0.052427
+vn -0.631895 -0.712993 -0.303891
+vn -0.371805 -0.255603 -0.892428
+vn -0.558684 -0.816489 -0.145661
+vn -0.450634 -0.396144 -0.799999
+vn -0.730653 0.660067 0.174522
+vn -0.704727 0.512748 -0.490356
+vn -0.531475 0.841876 0.093703
+vn -0.411659 0.583836 -0.699766
+vn -0.751777 0.457242 0.475143
+vn -0.471319 0.337329 0.814904
+vn -0.945479 -0.298281 0.130763
+vn 0.110139 -0.191659 0.975262
+vn -0.730653 0.660067 0.174522
+vn -0.531475 0.841876 0.093703
+vn -0.471319 0.337329 0.814904
+vn -0.269365 0.467791 0.841792
+vn 0.786854 0.611355 0.084294
+vn 0.935802 0.325469 0.135444
+vn 0.635626 0.196661 0.746528
+vn 0.796660 -0.030684 0.603649
+vn 0.786854 0.611355 0.084294
+vn 0.704077 0.710074 0.008393
+vn 0.382866 0.560200 -0.734567
+vn 0.360898 0.595366 -0.717838
+vn 0.382866 0.560200 -0.734567
+vn 0.360898 0.595366 -0.717838
+vn -0.096127 0.162298 -0.982048
+vn -0.044048 0.066535 -0.996811
+vn 0.796660 -0.030684 0.603649
+vn 0.939599 -0.314521 0.135023
+vn 0.465628 -0.485094 0.740186
+vn 0.246557 -0.948398 -0.199375
+vn 0.729463 0.495459 0.471597
+vn 0.710735 0.603458 0.361517
+vn 0.990978 0.025689 0.131541
+vn 0.996203 -0.013195 0.086050
+vn 0.729463 0.495459 0.471597
+vn 0.163173 0.727662 0.666245
+vn 0.710735 0.603458 0.361517
+vn -0.000988 0.888550 0.458778
+vn 0.163173 0.727662 0.666245
+vn -0.678944 0.513366 0.524872
+vn -0.000988 0.888550 0.458778
+vn -0.771733 0.592096 0.232055
+vn 0.807190 -0.083777 0.584316
+vn 0.763073 -0.632466 0.133065
+vn -0.043564 -0.319919 0.946443
+vn 0.016068 -0.998294 -0.056131
+vn 0.362074 0.474436 0.802380
+vn 0.515634 0.582361 0.628472
+vn 0.807190 -0.083777 0.584316
+vn 0.840931 -0.055293 0.538310
+vn -0.201310 0.927222 0.315807
+vn -0.124158 0.972463 0.197234
+vn 0.515634 0.582361 0.628472
+vn 0.528419 0.646331 0.550481
+vn -0.676947 -0.140830 0.722433
+vn -0.782404 -0.601982 0.159570
+vn -0.756747 -0.084516 0.648222
+vn -0.717168 -0.643082 0.268543
+vn 0.297246 -0.894400 0.334207
+vn 0.078053 -0.975340 0.206447
+vn 0.539299 -0.800165 -0.262474
+vn 0.148857 -0.905586 -0.397186
+vn 0.357169 -0.859281 0.366150
+vn -0.290144 -0.447007 0.846168
+vn 0.297246 -0.894400 0.334207
+vn -0.285974 -0.469135 0.835542
+vn -0.011571 -0.862641 0.505685
+vn -0.529952 -0.569267 0.628558
+vn 0.357169 -0.859281 0.366150
+vn -0.290144 -0.447007 0.846168
+vn -0.450538 0.577739 0.680613
+vn -0.319205 0.603947 0.730313
+vn 0.185203 0.943992 0.273092
+vn 0.361404 0.811308 0.459528
+vn -0.425143 0.499859 0.754582
+vn -0.756747 -0.084516 0.648222
+vn -0.450538 0.577739 0.680613
+vn -0.707581 -0.052850 0.704653
+vn 0.555867 -0.628506 -0.544052
+vn 0.669757 -0.663735 -0.332989
+vn -0.010514 -0.996091 -0.087710
+vn 0.268575 -0.924964 0.268905
+vn 0.620370 -0.610287 -0.492636
+vn 0.639000 -0.647811 -0.414752
+vn -0.122990 -0.882371 -0.454197
+vn -0.083480 -0.948942 -0.304203
+vn 0.639000 -0.647811 -0.414752
+vn 0.958159 -0.028465 -0.284817
+vn 0.693303 -0.689057 -0.211028
+vn 0.977230 -0.021991 -0.211041
+vn 0.755567 0.653351 -0.047439
+vn 0.745670 0.657600 0.107420
+vn 0.977230 -0.021991 -0.211041
+vn 0.976931 -0.030688 0.211338
+vn -0.290144 -0.447007 0.846168
+vn -0.738840 0.205784 0.641692
+vn -0.285974 -0.469135 0.835542
+vn -0.668687 0.291851 0.683872
+vn 0.301694 -0.489082 -0.818400
+vn 0.148857 -0.905586 -0.397186
+vn -0.268523 0.061285 -0.961322
+vn -0.776539 -0.486558 -0.400310
+vn -0.561257 0.685475 -0.463805
+vn -0.268523 0.061285 -0.961322
+vn -0.879684 0.474404 0.033123
+vn -0.776539 -0.486558 -0.400310
+vn -0.742843 0.664297 0.083024
+vn -0.702248 0.639416 0.313042
+vn -0.047462 0.951758 0.303158
+vn -0.100998 0.785050 0.611143
+vn 0.672302 0.640093 0.371875
+vn -0.047462 0.951758 0.303158
+vn 0.562394 0.619560 0.547594
+vn -0.100998 0.785050 0.611143
+vn -0.742843 0.664297 0.083024
+vn -0.994636 -0.015331 -0.102290
+vn -0.702248 0.639416 0.313042
+vn -0.913702 -0.025086 0.405611
+vn -0.563460 0.656864 0.501041
+vn -0.697661 -0.031168 0.715750
+vn 0.152106 0.848790 0.506378
+vn 0.288742 -0.045202 0.956339
+vn 0.730883 -0.667669 -0.141520
+vn 0.077284 -0.916539 -0.392408
+vn 0.755891 -0.627740 -0.185933
+vn 0.117657 -0.848118 -0.516578
+vn 0.979499 -0.068893 0.189305
+vn 0.956469 -0.052213 0.287125
+vn 0.730883 -0.667669 -0.141520
+vn 0.678513 -0.728427 0.094943
+vn -0.689697 -0.695262 0.202309
+vn -0.752452 -0.658597 -0.008104
+vn 0.002699 -0.999951 -0.009497
+vn -0.083480 -0.948942 -0.304203
+vn 0.938531 -0.344423 0.023089
+vn 0.648385 -0.744527 0.158985
+vn 0.937842 -0.343706 0.048151
+vn 0.644022 -0.736084 0.208364
+vn 0.648385 -0.744527 0.158985
+vn 0.000000 -0.972017 0.234911
+vn 0.644022 -0.736084 0.208364
+vn 0.000000 -0.955413 0.295274
+vn 0.938531 -0.344423 0.023089
+vn 0.937842 -0.343706 0.048151
+vn 0.995288 -0.035450 -0.090255
+vn 0.995447 -0.041927 -0.085604
+vn -0.000000 0.875547 -0.483133
+vn 0.434971 0.780131 -0.449662
+vn -0.000000 0.836027 -0.548688
+vn 0.433173 0.744896 -0.507435
+vn 0.434971 0.780131 -0.449662
+vn 0.910032 0.329078 -0.252092
+vn 0.433173 0.744896 -0.507435
+vn 0.909967 0.310677 -0.274662
+vn 0.995288 -0.035450 -0.090255
+vn 0.995447 -0.041927 -0.085604
+vn 0.910032 0.329078 -0.252092
+vn 0.909967 0.310677 -0.274662
+vn 0.170974 -0.433875 -0.884602
+vn 0.597055 -0.770406 -0.223604
+vn 0.262644 -0.547300 -0.794658
+vn 0.475226 -0.875605 -0.086460
+vn -0.097495 -0.859947 -0.500984
+vn -0.135464 -0.989394 -0.052427
+vn 0.597055 -0.770406 -0.223604
+vn 0.523140 -0.636251 0.567019
+vn -0.539720 -0.825793 0.163613
+vn -0.631895 -0.712993 -0.303891
+vn -0.267992 -0.790045 0.551371
+vn -0.558684 -0.816489 -0.145661
+vn -0.558684 -0.816489 -0.145661
+vn -0.450634 -0.396144 -0.799999
+vn -0.300633 -0.951851 -0.060001
+vn -0.319650 -0.580881 -0.748599
+vn -0.450634 -0.396144 -0.799999
+vn -0.096127 0.162298 -0.982048
+vn -0.319650 -0.580881 -0.748599
+vn -0.044048 0.066535 -0.996811
+vn -0.531475 0.841876 0.093703
+vn -0.411659 0.583836 -0.699766
+vn -0.458545 0.887826 0.038752
+vn -0.317317 0.601654 -0.733022
+vn -0.411659 0.583836 -0.699766
+vn -0.095933 0.032938 -0.994843
+vn -0.317317 0.601654 -0.733022
+vn -0.107437 0.002754 -0.994208
+vn -0.095933 0.032938 -0.994843
+vn 0.262644 -0.547300 -0.794658
+vn -0.107437 0.002754 -0.994208
+vn 0.060505 -0.637055 -0.768440
+vn -0.201310 0.927222 0.315807
+vn -0.767320 0.603096 -0.217934
+vn -0.124158 0.972463 0.197234
+vn -0.711990 0.653005 -0.258175
+vn -0.867551 0.497344 -0.001789
+vn -0.865301 -0.049970 -0.498756
+vn -0.767320 0.603096 -0.217934
+vn -0.833916 -0.025683 -0.551294
+vn -0.865301 -0.049970 -0.498756
+vn -0.945479 -0.298281 0.130763
+vn -0.442986 -0.613088 -0.654130
+vn -0.135464 -0.989394 -0.052427
+vn 0.635626 0.196661 0.746528
+vn 0.639332 0.328642 0.695161
+vn 0.786854 0.611355 0.084294
+vn 0.704077 0.710074 0.008393
+vn 0.635626 0.196661 0.746528
+vn 0.796660 -0.030684 0.603649
+vn 0.297310 -0.292244 0.908956
+vn 0.465628 -0.485094 0.740186
+vn 0.939599 -0.314521 0.135023
+vn 0.755556 -0.586776 -0.291254
+vn 0.246557 -0.948398 -0.199375
+vn 0.029791 -0.841570 -0.539326
+vn 0.990978 0.025689 0.131541
+vn 0.996203 -0.013195 0.086050
+vn 0.755556 -0.586776 -0.291254
+vn 0.722852 -0.652602 -0.227147
+vn -0.678944 0.513366 0.524872
+vn -0.994962 -0.076322 -0.065006
+vn -0.771733 0.592096 0.232055
+vn -0.989773 -0.057433 -0.130580
+vn -0.994962 -0.076322 -0.065006
+vn -0.043564 -0.319919 0.946443
+vn -0.675226 -0.598772 -0.430745
+vn 0.016068 -0.998294 -0.056131
+vn 0.807190 -0.083777 0.584316
+vn 0.840931 -0.055293 0.538310
+vn 0.763073 -0.632466 0.133065
+vn 0.722193 -0.661158 0.203243
+vn -0.219081 -0.911357 -0.348472
+vn -0.010514 -0.996091 -0.087710
+vn -0.717168 -0.643082 0.268543
+vn -0.578801 -0.686999 0.439343
+vn 0.297246 -0.894400 0.334207
+vn -0.285974 -0.469135 0.835542
+vn 0.078053 -0.975340 0.206447
+vn -0.588052 -0.633449 0.502928
+vn -0.450538 0.577739 0.680613
+vn -0.707581 -0.052850 0.704653
+vn -0.319205 0.603947 0.730313
+vn -0.387781 -0.056946 0.919991
+vn 0.749523 0.639092 -0.172558
+vn 0.361404 0.811308 0.459528
+vn 0.971384 -0.015863 -0.236984
+vn 0.650340 -0.077208 0.755710
+vn 0.669757 -0.663735 -0.332989
+vn 0.971384 -0.015863 -0.236984
+vn 0.268575 -0.924964 0.268905
+vn 0.650340 -0.077208 0.755710
+vn 0.639000 -0.647811 -0.414752
+vn 0.693303 -0.689057 -0.211028
+vn -0.083480 -0.948942 -0.304203
+vn 0.002699 -0.999951 -0.009497
+vn 0.745670 0.657600 0.107420
+vn 0.152106 0.848790 0.506378
+vn 0.976931 -0.030688 0.211338
+vn 0.288742 -0.045202 0.956339
+vn -0.668687 0.291851 0.683872
+vn -0.682763 0.703731 0.196463
+vn -0.789830 0.188496 0.583642
+vn -0.879684 0.474404 0.033123
+vn 0.078053 -0.975340 0.206447
+vn -0.588052 -0.633449 0.502928
+vn 0.148857 -0.905586 -0.397186
+vn -0.776539 -0.486558 -0.400310
+vn 0.672302 0.640093 0.371875
+vn 0.562394 0.619560 0.547594
+vn 0.956469 -0.052213 0.287125
+vn 0.705310 -0.050193 0.707120
+vn -0.691302 -0.699888 -0.179605
+vn -0.707131 -0.673584 0.215060
+vn -0.994636 -0.015331 -0.102290
+vn -0.913702 -0.025086 0.405611
+vn -0.627748 -0.644680 -0.436257
+vn 0.077284 -0.916539 -0.392408
+vn -0.691302 -0.699888 -0.179605
+vn -0.009646 -0.998188 -0.059392
+vn -0.697661 -0.031168 0.715750
+vn -0.932453 -0.030250 0.360023
+vn -0.570797 -0.686629 0.450257
+vn -0.689697 -0.695262 0.202309
+vn 0.077284 -0.916539 -0.392408
+vn 0.730883 -0.667669 -0.141520
+vn -0.009646 -0.998188 -0.059392
+vn 0.678513 -0.728427 0.094943
+vn -0.689697 -0.695262 0.202309
+vn 0.002699 -0.999951 -0.009497
+vn -0.570797 -0.686629 0.450257
+vn 0.134624 -0.886855 0.442000
+vn -0.938531 -0.344423 0.023089
+vn -0.937842 -0.343706 0.048151
+vn -0.648385 -0.744527 0.158985
+vn -0.644023 -0.736084 0.208364
+vn -0.648385 -0.744527 0.158985
+vn -0.644023 -0.736084 0.208364
+vn 0.000000 -0.972017 0.234911
+vn 0.000000 -0.955413 0.295274
+vn -0.938531 -0.344423 0.023089
+vn -0.995288 -0.035450 -0.090255
+vn -0.937842 -0.343706 0.048151
+vn -0.995447 -0.041927 -0.085604
+vn -0.000000 0.875547 -0.483133
+vn -0.000000 0.836027 -0.548688
+vn -0.434971 0.780131 -0.449662
+vn -0.433173 0.744896 -0.507435
+vn -0.434971 0.780131 -0.449662
+vn -0.433173 0.744896 -0.507435
+vn -0.910031 0.329078 -0.252092
+vn -0.909967 0.310678 -0.274662
+vn -0.995288 -0.035450 -0.090255
+vn -0.910031 0.329078 -0.252092
+vn -0.995447 -0.041927 -0.085604
+vn -0.909967 0.310678 -0.274662
+vn -0.267992 -0.790045 0.551371
+vn 0.005266 -0.769544 0.638572
+vn -0.539720 -0.825793 0.163613
+vn -0.316005 -0.876331 0.363572
+vn -0.135464 -0.989394 -0.052427
+vn -0.539720 -0.825793 0.163613
+vn 0.081183 -0.971914 -0.220890
+vn -0.316005 -0.876331 0.363572
+vn -0.267992 -0.790045 0.551371
+vn -0.558684 -0.816489 -0.145661
+vn -0.055977 -0.788391 0.612623
+vn -0.300633 -0.951851 -0.060001
+vn -0.531475 0.841876 0.093703
+vn -0.458545 0.887826 0.038752
+vn -0.269365 0.467791 0.841792
+vn -0.306003 0.542624 0.782254
+vn 0.110139 -0.191659 0.975262
+vn 0.523140 -0.636251 0.567019
+vn -0.945479 -0.298281 0.130763
+vn -0.135464 -0.989394 -0.052427
+vn -0.471319 0.337329 0.814904
+vn -0.269365 0.467791 0.841792
+vn 0.110139 -0.191659 0.975262
+vn 0.106092 -0.101090 0.989204
+vn -0.865301 -0.049970 -0.498756
+vn -0.442986 -0.613088 -0.654130
+vn -0.833916 -0.025683 -0.551294
+vn -0.490829 -0.644172 -0.586625
+vn 0.639332 0.328642 0.695161
+vn 0.635626 0.196661 0.746528
+vn 0.328781 -0.258862 0.908237
+vn 0.297310 -0.292244 0.908956
+vn 0.639332 0.328642 0.695161
+vn 0.777048 0.254840 0.575546
+vn 0.704077 0.710074 0.008393
+vn 0.906644 0.421757 -0.010827
+vn 0.704077 0.710074 0.008393
+vn 0.906644 0.421757 -0.010827
+vn 0.360898 0.595366 -0.717838
+vn 0.601559 0.453272 -0.657777
+vn 0.360898 0.595366 -0.717838
+vn 0.601559 0.453272 -0.657777
+vn -0.044048 0.066535 -0.996811
+vn 0.424030 -0.235636 -0.874456
+vn 0.297310 -0.292244 0.908956
+vn 0.465628 -0.485094 0.740186
+vn -0.267992 -0.790045 0.551371
+vn 0.005266 -0.769544 0.638572
+vn 0.465628 -0.485094 0.740186
+vn 0.246557 -0.948398 -0.199375
+vn 0.005266 -0.769544 0.638572
+vn 0.016068 -0.998294 -0.056131
+vn 0.710735 0.603458 0.361517
+vn 0.686699 0.663217 0.297637
+vn 0.996203 -0.013195 0.086050
+vn 0.981468 -0.017497 0.190828
+vn 0.710735 0.603458 0.361517
+vn -0.000988 0.888550 0.458778
+vn 0.686699 0.663217 0.297637
+vn -0.041527 0.951385 0.305192
+vn -0.000988 0.888550 0.458778
+vn -0.771733 0.592096 0.232055
+vn -0.041527 0.951385 0.305192
+vn -0.751338 0.640356 0.159486
+vn -0.994962 -0.076322 -0.065006
+vn -0.675226 -0.598772 -0.430745
+vn -0.989773 -0.057433 -0.130580
+vn -0.662151 -0.654955 -0.364129
+vn 0.016068 -0.998294 -0.056131
+vn 0.763073 -0.632466 0.133065
+vn 0.081183 -0.971914 -0.220890
+vn 0.254374 -0.875524 -0.410794
+vn 0.515634 0.582361 0.628472
+vn 0.528419 0.646331 0.550481
+vn 0.840931 -0.055293 0.538310
+vn 0.792696 -0.031120 0.608823
+vn 0.528419 0.646331 0.550481
+vn -0.124158 0.972463 0.197234
+vn 0.401498 0.656865 0.638223
+vn -0.287204 0.848790 0.443925
+vn -0.756747 -0.084516 0.648222
+vn -0.717168 -0.643082 0.268543
+vn -0.707581 -0.052850 0.704653
+vn -0.578801 -0.686999 0.439343
+vn -0.319205 0.603947 0.730313
+vn -0.387781 -0.056946 0.919991
+vn 0.361404 0.811308 0.459528
+vn 0.650340 -0.077208 0.755710
+vn 0.268575 -0.924964 0.268905
+vn -0.405549 -0.702617 0.584687
+vn -0.010514 -0.996091 -0.087710
+vn -0.578801 -0.686999 0.439343
+vn 0.693303 -0.689057 -0.211028
+vn 0.977230 -0.021991 -0.211041
+vn 0.725877 -0.685249 0.059459
+vn 0.976931 -0.030688 0.211338
+vn -0.668687 0.291851 0.683872
+vn -0.789830 0.188496 0.583642
+vn -0.285974 -0.469135 0.835542
+vn -0.588052 -0.633449 0.502928
+vn -0.789830 0.188496 0.583642
+vn -0.879684 0.474404 0.033123
+vn -0.588052 -0.633449 0.502928
+vn -0.776539 -0.486558 -0.400310
+vn -0.702248 0.639416 0.313042
+vn -0.913702 -0.025086 0.405611
+vn -0.100998 0.785050 0.611143
+vn -0.184188 -0.053344 0.981442
+vn 0.562394 0.619560 0.547594
+vn -0.100998 0.785050 0.611143
+vn 0.705310 -0.050193 0.707120
+vn -0.184188 -0.053344 0.981442
+vn -0.691302 -0.699888 -0.179605
+vn -0.009646 -0.998188 -0.059392
+vn -0.707131 -0.673584 0.215060
+vn -0.107412 -0.860919 0.497274
+vn -0.570797 -0.686629 0.450257
+vn 0.134624 -0.886855 0.442000
+vn -0.697661 -0.031168 0.715750
+vn 0.288742 -0.045202 0.956339
+vn 0.678513 -0.728427 0.094943
+vn 0.956469 -0.052213 0.287125
+vn 0.560573 -0.694122 0.451610
+vn 0.705310 -0.050193 0.707120
+vn 0.937842 -0.343706 0.048151
+vn 0.644022 -0.736084 0.208364
+vn 0.935957 -0.342543 0.081543
+vn 0.620907 -0.737411 0.265892
+vn 0.644022 -0.736084 0.208364
+vn 0.000000 -0.955413 0.295274
+vn 0.620907 -0.737411 0.265892
+vn 0.000001 -0.937033 0.349242
+vn 0.937842 -0.343706 0.048151
+vn 0.935957 -0.342543 0.081543
+vn 0.995447 -0.041927 -0.085604
+vn 0.995961 -0.044258 -0.078115
+vn -0.000000 0.836027 -0.548688
+vn 0.433173 0.744896 -0.507435
+vn -0.000000 0.789484 -0.613771
+vn 0.421581 0.707330 -0.567410
+vn 0.433173 0.744896 -0.507435
+vn 0.909967 0.310677 -0.274662
+vn 0.421581 0.707330 -0.567410
+vn 0.908041 0.294027 -0.298346
+vn 0.995447 -0.041927 -0.085604
+vn 0.995961 -0.044258 -0.078115
+vn 0.909967 0.310677 -0.274662
+vn 0.908041 0.294027 -0.298346
+vn 0.262644 -0.547300 -0.794658
+vn 0.475226 -0.875605 -0.086460
+vn 0.060505 -0.637055 -0.768440
+vn 0.101890 -0.993922 -0.041678
+vn 0.597055 -0.770406 -0.223604
+vn 0.523140 -0.636251 0.567019
+vn 0.475226 -0.875605 -0.086460
+vn 0.384912 -0.624293 0.679781
+vn -0.135464 -0.989394 -0.052427
+vn 0.081183 -0.971914 -0.220890
+vn -0.442986 -0.613088 -0.654130
+vn 0.254374 -0.875524 -0.410794
+vn -0.267992 -0.790045 0.551371
+vn -0.055977 -0.788391 0.612623
+vn 0.297310 -0.292244 0.908956
+vn 0.328781 -0.258862 0.908237
+vn -0.055977 -0.788391 0.612623
+vn -0.300633 -0.951851 -0.060001
+vn 0.191767 -0.815127 0.546620
+vn 0.165634 -0.986187 0.001180
+vn -0.300633 -0.951851 -0.060001
+vn -0.319650 -0.580881 -0.748599
+vn 0.165634 -0.986187 0.001180
+vn 0.000693 -0.767443 -0.641117
+vn -0.319650 -0.580881 -0.748599
+vn -0.044048 0.066535 -0.996811
+vn 0.000693 -0.767443 -0.641117
+vn 0.424030 -0.235636 -0.874456
+vn -0.317317 0.601654 -0.733022
+vn -0.504231 0.570402 -0.648377
+vn -0.458545 0.887826 0.038752
+vn -0.717783 0.696228 0.007420
+vn -0.317317 0.601654 -0.733022
+vn -0.107437 0.002754 -0.994208
+vn -0.504231 0.570402 -0.648377
+vn -0.533533 -0.029566 -0.845262
+vn 0.060505 -0.637055 -0.768440
+vn -0.268865 -0.653601 -0.707472
+vn -0.107437 0.002754 -0.994208
+vn -0.533533 -0.029566 -0.845262
+vn -0.711990 0.653005 -0.258175
+vn -0.746063 0.657601 -0.104649
+vn -0.124158 0.972463 0.197234
+vn -0.287204 0.848790 0.443925
+vn -0.767320 0.603096 -0.217934
+vn -0.833916 -0.025683 -0.551294
+vn -0.711990 0.653005 -0.258175
+vn -0.878237 -0.021675 -0.477734
+vn 0.110139 -0.191659 0.975262
+vn 0.106092 -0.101090 0.989204
+vn 0.523140 -0.636251 0.567019
+vn 0.384912 -0.624293 0.679781
+vn 0.328781 -0.258862 0.908237
+vn 0.603521 -0.384150 0.698707
+vn 0.639332 0.328642 0.695161
+vn 0.777048 0.254840 0.575546
+vn 0.246557 -0.948398 -0.199375
+vn 0.029791 -0.841570 -0.539326
+vn 0.016068 -0.998294 -0.056131
+vn -0.675226 -0.598772 -0.430745
+vn 0.755556 -0.586776 -0.291254
+vn 0.722852 -0.652602 -0.227147
+vn 0.029791 -0.841570 -0.539326
+vn 0.030824 -0.914413 -0.403608
+vn 0.996203 -0.013195 0.086050
+vn 0.981468 -0.017497 0.190828
+vn 0.722852 -0.652602 -0.227147
+vn 0.710836 -0.702786 0.028359
+vn -0.771733 0.592096 0.232055
+vn -0.989773 -0.057433 -0.130580
+vn -0.751338 0.640356 0.159486
+vn -0.998733 -0.050247 -0.002721
+vn 0.763073 -0.632466 0.133065
+vn 0.722193 -0.661158 0.203243
+vn 0.254374 -0.875524 -0.410794
+vn 0.167278 -0.946858 -0.274733
+vn 0.722193 -0.661158 0.203243
+vn 0.840931 -0.055293 0.538310
+vn 0.603686 -0.696287 0.388263
+vn 0.792696 -0.031120 0.608823
+vn 0.081183 -0.971914 -0.220890
+vn -0.316005 -0.876331 0.363572
+vn 0.016068 -0.998294 -0.056131
+vn 0.005266 -0.769544 0.638572
+vn 0.528419 0.646331 0.550481
+vn 0.401498 0.656865 0.638223
+vn 0.792696 -0.031120 0.608823
+vn 0.470543 -0.031170 0.881826
+vn -0.387781 -0.056946 0.919991
+vn -0.707581 -0.052850 0.704653
+vn -0.405549 -0.702617 0.584687
+vn -0.578801 -0.686999 0.439343
+vn -0.405549 -0.702617 0.584687
+vn 0.268575 -0.924964 0.268905
+vn -0.387781 -0.056946 0.919991
+vn 0.650340 -0.077208 0.755710
+vn 0.693303 -0.689057 -0.211028
+vn 0.725877 -0.685249 0.059459
+vn 0.002699 -0.999951 -0.009497
+vn 0.134624 -0.886855 0.442000
+vn 0.725877 -0.685249 0.059459
+vn 0.976931 -0.030688 0.211338
+vn 0.134624 -0.886855 0.442000
+vn 0.288742 -0.045202 0.956339
+vn -0.707131 -0.673584 0.215060
+vn -0.107412 -0.860919 0.497274
+vn -0.913702 -0.025086 0.405611
+vn -0.184188 -0.053344 0.981442
+vn 0.678513 -0.728427 0.094943
+vn 0.560573 -0.694122 0.451610
+vn -0.009646 -0.998188 -0.059392
+vn -0.107412 -0.860919 0.497274
+vn -0.937842 -0.343706 0.048151
+vn -0.935957 -0.342542 0.081543
+vn -0.644023 -0.736084 0.208364
+vn -0.620908 -0.737411 0.265892
+vn -0.644023 -0.736084 0.208364
+vn -0.620908 -0.737411 0.265892
+vn 0.000000 -0.955413 0.295274
+vn 0.000001 -0.937033 0.349242
+vn -0.937842 -0.343706 0.048151
+vn -0.995447 -0.041927 -0.085604
+vn -0.935957 -0.342542 0.081543
+vn -0.995961 -0.044258 -0.078115
+vn -0.000000 0.836027 -0.548688
+vn -0.000000 0.789484 -0.613771
+vn -0.433173 0.744896 -0.507435
+vn -0.421580 0.707331 -0.567410
+vn -0.433173 0.744896 -0.507435
+vn -0.421580 0.707331 -0.567410
+vn -0.909967 0.310678 -0.274662
+vn -0.908040 0.294028 -0.298346
+vn -0.995447 -0.041927 -0.085604
+vn -0.909967 0.310678 -0.274662
+vn -0.995961 -0.044258 -0.078115
+vn -0.908040 0.294028 -0.298346
+vn -0.055977 -0.788391 0.612623
+vn 0.191767 -0.815127 0.546620
+vn 0.328781 -0.258862 0.908237
+vn 0.603521 -0.384150 0.698707
+vn -0.269365 0.467791 0.841792
+vn -0.306003 0.542624 0.782254
+vn 0.106092 -0.101090 0.989204
+vn -0.097769 -0.064636 0.993108
+vn -0.306003 0.542624 0.782254
+vn -0.458545 0.887826 0.038752
+vn -0.527211 0.536864 0.658655
+vn -0.717783 0.696228 0.007420
+vn 0.060505 -0.637055 -0.768440
+vn 0.101890 -0.993922 -0.041678
+vn -0.268865 -0.653601 -0.707472
+vn -0.456806 -0.888792 -0.037111
+vn -0.711990 0.653005 -0.258175
+vn -0.878237 -0.021675 -0.477734
+vn -0.746063 0.657601 -0.104649
+vn -0.997124 -0.030689 -0.069299
+vn -0.490829 -0.644172 -0.586625
+vn -0.605958 -0.688470 -0.398529
+vn -0.833916 -0.025683 -0.551294
+vn -0.878237 -0.021675 -0.477734
+vn -0.442986 -0.613088 -0.654130
+vn 0.254374 -0.875524 -0.410794
+vn -0.490829 -0.644172 -0.586625
+vn 0.167278 -0.946858 -0.274733
+vn 0.777048 0.254840 0.575546
+vn 0.603521 -0.384150 0.698707
+vn 0.906644 0.421757 -0.010827
+vn 0.868896 -0.494239 -0.027331
+vn 0.906644 0.421757 -0.010827
+vn 0.868896 -0.494239 -0.027331
+vn 0.601559 0.453272 -0.657777
+vn 0.424030 -0.235636 -0.874456
+vn 0.686699 0.663217 0.297637
+vn 0.587183 0.639415 0.496350
+vn 0.981468 -0.017497 0.190828
+vn 0.764460 -0.025088 0.644182
+vn 0.686699 0.663217 0.297637
+vn -0.041527 0.951385 0.305192
+vn 0.587183 0.639415 0.496350
+vn -0.073323 0.785051 0.615076
+vn -0.751338 0.640356 0.159486
+vn -0.692722 0.619560 0.369163
+vn -0.041527 0.951385 0.305192
+vn -0.073323 0.785051 0.615076
+vn -0.989773 -0.057433 -0.130580
+vn -0.662151 -0.654955 -0.364129
+vn -0.998733 -0.050247 -0.002721
+vn -0.679844 -0.725530 -0.106857
+vn -0.662151 -0.654955 -0.364129
+vn -0.675226 -0.598772 -0.430745
+vn 0.030824 -0.914413 -0.403608
+vn 0.029791 -0.841570 -0.539326
+vn 0.603686 -0.696287 0.388263
+vn -0.000579 -0.999946 -0.010349
+vn 0.722193 -0.661158 0.203243
+vn 0.167278 -0.946858 -0.274733
+vn 0.401498 0.656865 0.638223
+vn -0.287204 0.848790 0.443925
+vn 0.470543 -0.031170 0.881826
+vn -0.543828 -0.045203 0.837979
+vn 0.560573 -0.694122 0.451610
+vn 0.705310 -0.050193 0.707120
+vn -0.107412 -0.860919 0.497274
+vn -0.184188 -0.053344 0.981442
+vn 0.935957 -0.342543 0.081543
+vn 0.620907 -0.737411 0.265892
+vn 0.927266 -0.358616 0.107571
+vn 0.560119 -0.771026 0.302961
+vn 0.620907 -0.737411 0.265892
+vn 0.000001 -0.937033 0.349242
+vn 0.560119 -0.771026 0.302961
+vn 0.000001 -0.931726 0.363163
+vn 0.935957 -0.342543 0.081543
+vn 0.927266 -0.358616 0.107571
+vn 0.995961 -0.044258 -0.078115
+vn 0.996278 -0.047767 -0.071749
+vn -0.000000 0.789484 -0.613771
+vn 0.421581 0.707330 -0.567410
+vn -0.000001 0.764769 -0.644305
+vn 0.411989 0.689901 -0.595232
+vn 0.421581 0.707330 -0.567410
+vn 0.908041 0.294027 -0.298346
+vn 0.411989 0.689901 -0.595232
+vn 0.909205 0.283188 -0.305205
+vn 0.908041 0.294027 -0.298346
+vn 0.995961 -0.044258 -0.078115
+vn 0.909205 0.283188 -0.305205
+vn 0.996278 -0.047767 -0.071749
+vn 0.475226 -0.875605 -0.086460
+vn 0.384912 -0.624293 0.679781
+vn 0.101890 -0.993922 -0.041678
+vn 0.071897 -0.686443 0.723620
+vn 0.191767 -0.815127 0.546620
+vn 0.165634 -0.986187 0.001180
+vn 0.603521 -0.384150 0.698707
+vn 0.868896 -0.494239 -0.027331
+vn 0.165634 -0.986187 0.001180
+vn 0.000693 -0.767443 -0.641117
+vn 0.868896 -0.494239 -0.027331
+vn 0.424030 -0.235636 -0.874456
+vn -0.306003 0.542624 0.782254
+vn -0.527211 0.536864 0.658655
+vn -0.097769 -0.064636 0.993108
+vn -0.569048 -0.068259 0.819466
+vn -0.504231 0.570402 -0.648377
+vn -0.533533 -0.029566 -0.845262
+vn -0.717783 0.696228 0.007420
+vn -0.996025 -0.086034 -0.023091
+vn -0.268865 -0.653601 -0.707472
+vn -0.456806 -0.888792 -0.037111
+vn -0.533533 -0.029566 -0.845262
+vn -0.996025 -0.086034 -0.023091
+vn -0.746063 0.657601 -0.104649
+vn -0.997124 -0.030689 -0.069299
+vn -0.287204 0.848790 0.443925
+vn -0.543828 -0.045203 0.837979
+vn 0.106092 -0.101090 0.989204
+vn -0.097769 -0.064636 0.993108
+vn 0.384912 -0.624293 0.679781
+vn 0.071897 -0.686443 0.723620
+vn -0.605958 -0.688470 -0.398529
+vn -0.490829 -0.644172 -0.586625
+vn -0.000579 -0.999946 -0.010349
+vn 0.167278 -0.946858 -0.274733
+vn 0.722852 -0.652602 -0.227147
+vn 0.710836 -0.702786 0.028359
+vn 0.030824 -0.914413 -0.403608
+vn 0.023203 -0.998240 -0.054585
+vn 0.710836 -0.702786 0.028359
+vn 0.981468 -0.017497 0.190828
+vn 0.619179 -0.673584 0.403612
+vn 0.764460 -0.025088 0.644182
+vn -0.751338 0.640356 0.159486
+vn -0.998733 -0.050247 -0.002721
+vn -0.692722 0.619560 0.369163
+vn -0.874435 -0.050194 0.482540
+vn 0.030824 -0.914413 -0.403608
+vn 0.023203 -0.998240 -0.054585
+vn -0.662151 -0.654955 -0.364129
+vn -0.679844 -0.725530 -0.106857
+vn 0.603686 -0.696287 0.388263
+vn 0.422698 -0.686630 0.591494
+vn -0.000579 -0.999946 -0.010349
+vn -0.252473 -0.886856 0.386968
+vn 0.603686 -0.696287 0.388263
+vn 0.792696 -0.031120 0.608823
+vn 0.422698 -0.686630 0.591494
+vn 0.470543 -0.031170 0.881826
+vn -0.935957 -0.342542 0.081543
+vn -0.927267 -0.358616 0.107571
+vn -0.620908 -0.737411 0.265892
+vn -0.560119 -0.771026 0.302962
+vn -0.620908 -0.737411 0.265892
+vn -0.560119 -0.771026 0.302962
+vn 0.000001 -0.937033 0.349242
+vn 0.000001 -0.931726 0.363163
+vn -0.935957 -0.342542 0.081543
+vn -0.995961 -0.044258 -0.078115
+vn -0.927267 -0.358616 0.107571
+vn -0.996278 -0.047767 -0.071749
+vn -0.000000 0.789484 -0.613771
+vn -0.000001 0.764769 -0.644305
+vn -0.421580 0.707331 -0.567410
+vn -0.411988 0.689901 -0.595234
+vn -0.421580 0.707331 -0.567410
+vn -0.411988 0.689901 -0.595234
+vn -0.908040 0.294028 -0.298346
+vn -0.909205 0.283189 -0.305206
+vn -0.908040 0.294028 -0.298346
+vn -0.909205 0.283189 -0.305206
+vn -0.995961 -0.044258 -0.078115
+vn -0.996278 -0.047767 -0.071749
+vn -0.527211 0.536864 0.658655
+vn -0.717783 0.696228 0.007420
+vn -0.569048 -0.068259 0.819466
+vn -0.996025 -0.086034 -0.023091
+vn -0.456806 -0.888792 -0.037111
+vn 0.101890 -0.993922 -0.041678
+vn -0.301964 -0.689965 0.657849
+vn 0.071897 -0.686443 0.723620
+vn -0.997124 -0.030689 -0.069299
+vn -0.878237 -0.021675 -0.477734
+vn -0.713689 -0.685249 -0.145195
+vn -0.605958 -0.688470 -0.398529
+vn -0.605958 -0.688470 -0.398529
+vn -0.000579 -0.999946 -0.010349
+vn -0.713689 -0.685249 -0.145195
+vn -0.252473 -0.886856 0.386968
+vn 0.710836 -0.702786 0.028359
+vn 0.619179 -0.673584 0.403612
+vn 0.023203 -0.998240 -0.054585
+vn -0.035429 -0.860918 0.507508
+vn 0.587183 0.639415 0.496350
+vn -0.073323 0.785051 0.615076
+vn 0.764460 -0.025088 0.644182
+vn -0.096628 -0.053346 0.993890
+vn -0.692722 0.619560 0.369163
+vn -0.874435 -0.050194 0.482540
+vn -0.073323 0.785051 0.615076
+vn -0.096628 -0.053346 0.993890
+vn -0.679844 -0.725530 -0.106857
+vn -0.664224 -0.694123 0.277490
+vn -0.998733 -0.050247 -0.002721
+vn -0.874435 -0.050194 0.482540
+vn 0.422698 -0.686630 0.591494
+vn 0.470543 -0.031170 0.881826
+vn -0.252473 -0.886856 0.386968
+vn -0.543828 -0.045203 0.837979
+vn 0.927266 -0.358616 0.107571
+vn 0.560119 -0.771026 0.302961
+vn 0.913111 -0.397751 0.089565
+vn 0.488744 -0.830428 0.267428
+vn 0.560119 -0.771026 0.302961
+vn 0.000001 -0.931726 0.363163
+vn 0.488744 -0.830428 0.267428
+vn 0.000001 -0.951657 0.307164
+vn 0.927266 -0.358616 0.107571
+vn 0.913111 -0.397751 0.089565
+vn 0.996278 -0.047767 -0.071749
+vn 0.995662 -0.053096 -0.076412
+vn -0.000001 0.764769 -0.644305
+vn 0.411989 0.689901 -0.595232
+vn -0.000004 0.815047 -0.579395
+vn 0.415857 0.735227 -0.535261
+vn 0.411989 0.689901 -0.595232
+vn 0.909205 0.283188 -0.305205
+vn 0.415857 0.735227 -0.535261
+vn 0.913835 0.295811 -0.278213
+vn 0.909205 0.283188 -0.305205
+vn 0.996278 -0.047767 -0.071749
+vn 0.913835 0.295811 -0.278213
+vn 0.995662 -0.053096 -0.076412
+vn -0.569048 -0.068259 0.819466
+vn -0.301964 -0.689965 0.657849
+vn -0.097769 -0.064636 0.993108
+vn 0.071897 -0.686443 0.723620
+vn -0.301964 -0.689965 0.657849
+vn -0.569048 -0.068259 0.819466
+vn -0.456806 -0.888792 -0.037111
+vn -0.996025 -0.086034 -0.023091
+vn -0.713689 -0.685249 -0.145195
+vn -0.252473 -0.886856 0.386968
+vn -0.997124 -0.030689 -0.069299
+vn -0.543828 -0.045203 0.837979
+vn 0.619179 -0.673584 0.403612
+vn 0.764460 -0.025088 0.644182
+vn -0.035429 -0.860918 0.507508
+vn -0.096628 -0.053346 0.993890
+vn -0.679844 -0.725530 -0.106857
+vn 0.023203 -0.998240 -0.054585
+vn -0.664224 -0.694123 0.277490
+vn -0.035429 -0.860918 0.507508
+vn -0.927267 -0.358616 0.107571
+vn -0.913111 -0.397751 0.089565
+vn -0.560119 -0.771026 0.302962
+vn -0.488743 -0.830429 0.267429
+vn -0.560119 -0.771026 0.302962
+vn -0.488743 -0.830429 0.267429
+vn 0.000001 -0.931726 0.363163
+vn 0.000001 -0.951657 0.307164
+vn -0.927267 -0.358616 0.107571
+vn -0.996278 -0.047767 -0.071749
+vn -0.913111 -0.397751 0.089565
+vn -0.995662 -0.053096 -0.076412
+vn -0.000001 0.764769 -0.644305
+vn -0.000004 0.815047 -0.579395
+vn -0.411988 0.689901 -0.595234
+vn -0.415857 0.735227 -0.535261
+vn -0.411988 0.689901 -0.595234
+vn -0.415857 0.735227 -0.535261
+vn -0.909205 0.283189 -0.305206
+vn -0.913835 0.295811 -0.278213
+vn -0.909205 0.283189 -0.305206
+vn -0.913835 0.295811 -0.278213
+vn -0.996278 -0.047767 -0.071749
+vn -0.995662 -0.053096 -0.076412
+vn -0.664224 -0.694123 0.277490
+vn -0.035429 -0.860918 0.507508
+vn -0.874435 -0.050194 0.482540
+vn -0.096628 -0.053346 0.993890
+vn 0.913111 -0.397751 0.089565
+vn 0.488744 -0.830428 0.267428
+vn 0.907854 -0.417596 0.037616
+vn 0.460644 -0.868244 0.184280
+vn 0.488744 -0.830428 0.267428
+vn 0.000001 -0.951657 0.307164
+vn 0.460644 -0.868244 0.184280
+vn 0.000000 -0.975400 0.220441
+vn 0.913111 -0.397751 0.089565
+vn 0.907854 -0.417596 0.037616
+vn 0.995662 -0.053096 -0.076412
+vn 0.995169 -0.044543 -0.087493
+vn -0.000004 0.815047 -0.579395
+vn 0.415857 0.735227 -0.535261
+vn -0.000002 0.903894 -0.427757
+vn 0.423720 0.812060 -0.401274
+vn 0.415857 0.735227 -0.535261
+vn 0.913835 0.295811 -0.278213
+vn 0.423720 0.812060 -0.401274
+vn 0.913882 0.334169 -0.230543
+vn 0.995662 -0.053096 -0.076412
+vn 0.995169 -0.044543 -0.087493
+vn 0.913835 0.295811 -0.278213
+vn 0.913882 0.334169 -0.230543
+vn -0.913111 -0.397751 0.089565
+vn -0.907854 -0.417596 0.037615
+vn -0.488743 -0.830429 0.267429
+vn -0.460644 -0.868244 0.184280
+vn -0.488743 -0.830429 0.267429
+vn -0.460644 -0.868244 0.184280
+vn 0.000001 -0.951657 0.307164
+vn 0.000000 -0.975400 0.220441
+vn -0.913111 -0.397751 0.089565
+vn -0.995662 -0.053096 -0.076412
+vn -0.907854 -0.417596 0.037615
+vn -0.995169 -0.044543 -0.087493
+vn -0.000004 0.815047 -0.579395
+vn -0.000002 0.903894 -0.427757
+vn -0.415857 0.735227 -0.535261
+vn -0.423721 0.812060 -0.401273
+vn -0.415857 0.735227 -0.535261
+vn -0.423721 0.812060 -0.401273
+vn -0.913835 0.295811 -0.278213
+vn -0.913882 0.334169 -0.230543
+vn -0.995662 -0.053096 -0.076412
+vn -0.913835 0.295811 -0.278213
+vn -0.995169 -0.044543 -0.087493
+vn -0.913882 0.334169 -0.230543
+vn 0.907854 -0.417596 0.037616
+vn 0.460644 -0.868244 0.184280
+vn 0.912389 -0.409322 -0.001580
+vn 0.474290 -0.874235 0.103743
+vn 0.460644 -0.868244 0.184280
+vn 0.000000 -0.975400 0.220441
+vn 0.474290 -0.874235 0.103743
+vn -0.000001 -0.990837 0.135063
+vn 0.907854 -0.417596 0.037616
+vn 0.912389 -0.409322 -0.001580
+vn 0.995169 -0.044543 -0.087493
+vn 0.996150 -0.027641 -0.083193
+vn -0.000002 0.903894 -0.427757
+vn 0.423720 0.812060 -0.401274
+vn -0.000001 0.958942 -0.283603
+vn 0.435295 0.858344 -0.271595
+vn 0.423720 0.812060 -0.401274
+vn 0.913882 0.334169 -0.230543
+vn 0.435295 0.858344 -0.271595
+vn 0.915487 0.363487 -0.172515
+vn 0.995169 -0.044543 -0.087493
+vn 0.996150 -0.027641 -0.083193
+vn 0.913882 0.334169 -0.230543
+vn 0.915487 0.363487 -0.172515
+vn -0.907854 -0.417596 0.037615
+vn -0.912389 -0.409322 -0.001580
+vn -0.460644 -0.868244 0.184280
+vn -0.474292 -0.874234 0.103743
+vn -0.460644 -0.868244 0.184280
+vn -0.474292 -0.874234 0.103743
+vn 0.000000 -0.975400 0.220441
+vn -0.000001 -0.990837 0.135063
+vn -0.907854 -0.417596 0.037615
+vn -0.995169 -0.044543 -0.087493
+vn -0.912389 -0.409322 -0.001580
+vn -0.996150 -0.027641 -0.083193
+vn -0.000002 0.903894 -0.427757
+vn -0.000001 0.958942 -0.283603
+vn -0.423721 0.812060 -0.401273
+vn -0.435299 0.858342 -0.271595
+vn -0.423721 0.812060 -0.401273
+vn -0.435299 0.858342 -0.271595
+vn -0.913882 0.334169 -0.230543
+vn -0.915486 0.363488 -0.172516
+vn -0.995169 -0.044543 -0.087493
+vn -0.913882 0.334169 -0.230543
+vn -0.996150 -0.027641 -0.083193
+vn -0.915486 0.363488 -0.172516
+vn 0.912389 -0.409322 -0.001580
+vn 0.474290 -0.874235 0.103743
+vn 0.913128 -0.402597 -0.064139
+vn 0.492209 -0.869811 -0.034048
+vn 0.474290 -0.874235 0.103743
+vn -0.000001 -0.990837 0.135063
+vn 0.492209 -0.869811 -0.034048
+vn 0.000000 -0.999725 -0.023460
+vn 0.912389 -0.409322 -0.001580
+vn 0.913128 -0.402597 -0.064139
+vn 0.996150 -0.027641 -0.083193
+vn 0.995901 -0.016645 -0.088909
+vn -0.000001 0.958942 -0.283603
+vn 0.435295 0.858344 -0.271595
+vn -0.000004 0.982932 -0.183971
+vn 0.433637 0.883884 -0.175238
+vn 0.435295 0.858344 -0.271595
+vn 0.915487 0.363487 -0.172515
+vn 0.433637 0.883884 -0.175238
+vn 0.914275 0.383541 -0.130378
+vn 0.996150 -0.027641 -0.083193
+vn 0.995901 -0.016645 -0.088909
+vn 0.915487 0.363487 -0.172515
+vn 0.914275 0.383541 -0.130378
+vn -0.912389 -0.409322 -0.001580
+vn -0.913128 -0.402597 -0.064139
+vn -0.474292 -0.874234 0.103743
+vn -0.492210 -0.869811 -0.034048
+vn -0.474292 -0.874234 0.103743
+vn -0.492210 -0.869811 -0.034048
+vn -0.000001 -0.990837 0.135063
+vn 0.000000 -0.999725 -0.023460
+vn -0.912389 -0.409322 -0.001580
+vn -0.996150 -0.027641 -0.083193
+vn -0.913128 -0.402597 -0.064139
+vn -0.995901 -0.016645 -0.088910
+vn -0.000001 0.958942 -0.283603
+vn -0.000004 0.982932 -0.183971
+vn -0.435299 0.858342 -0.271595
+vn -0.433637 0.883884 -0.175238
+vn -0.435299 0.858342 -0.271595
+vn -0.433637 0.883884 -0.175238
+vn -0.915486 0.363488 -0.172516
+vn -0.914274 0.383542 -0.130378
+vn -0.996150 -0.027641 -0.083193
+vn -0.915486 0.363488 -0.172516
+vn -0.995901 -0.016645 -0.088910
+vn -0.914274 0.383542 -0.130378
+vn 0.492209 -0.869811 -0.034048
+vn 0.491476 -0.840697 -0.227331
+vn 0.913128 -0.402597 -0.064139
+vn 0.904228 -0.390867 -0.172033
+vn 0.000000 -0.999725 -0.023460
+vn 0.000000 -0.970457 -0.241275
+vn 0.492209 -0.869811 -0.034048
+vn 0.491476 -0.840697 -0.227331
+vn 0.913128 -0.402597 -0.064139
+vn 0.904228 -0.390867 -0.172033
+vn 0.995901 -0.016645 -0.088909
+vn 0.991123 0.011705 -0.132435
+vn -0.000004 0.982932 -0.183971
+vn 0.433637 0.883884 -0.175238
+vn -0.000006 0.992882 -0.119100
+vn 0.332771 0.936459 -0.110946
+vn 0.914275 0.383541 -0.130378
+vn 0.866522 0.482012 -0.129631
+vn 0.433637 0.883884 -0.175238
+vn 0.332771 0.936459 -0.110946
+vn 0.995901 -0.016645 -0.088909
+vn 0.991123 0.011705 -0.132435
+vn 0.914275 0.383541 -0.130378
+vn 0.866522 0.482012 -0.129631
+vn -0.492210 -0.869811 -0.034048
+vn -0.913128 -0.402597 -0.064139
+vn -0.491477 -0.840697 -0.227331
+vn -0.904228 -0.390867 -0.172033
+vn 0.000000 -0.999725 -0.023460
+vn -0.492210 -0.869811 -0.034048
+vn 0.000000 -0.970457 -0.241275
+vn -0.491477 -0.840697 -0.227331
+vn -0.913128 -0.402597 -0.064139
+vn -0.995901 -0.016645 -0.088910
+vn -0.904228 -0.390867 -0.172033
+vn -0.991123 0.011705 -0.132435
+vn -0.000004 0.982932 -0.183971
+vn -0.000006 0.992882 -0.119100
+vn -0.433637 0.883884 -0.175238
+vn -0.332773 0.936458 -0.110945
+vn -0.914274 0.383542 -0.130378
+vn -0.433637 0.883884 -0.175238
+vn -0.866521 0.482013 -0.129630
+vn -0.332773 0.936458 -0.110945
+vn -0.995901 -0.016645 -0.088910
+vn -0.914274 0.383542 -0.130378
+vn -0.991123 0.011705 -0.132435
+vn -0.866521 0.482013 -0.129630
+vn 0.000000 -0.970457 -0.241275
+vn 0.000000 -0.927112 -0.374785
+vn 0.491476 -0.840697 -0.227331
+vn 0.496056 -0.791037 -0.358035
+vn 0.491476 -0.840697 -0.227331
+vn 0.496056 -0.791037 -0.358035
+vn 0.904228 -0.390867 -0.172033
+vn 0.900588 -0.354258 -0.251879
+vn 0.904228 -0.390867 -0.172033
+vn 0.900588 -0.354258 -0.251879
+vn 0.991123 0.011705 -0.132435
+vn 0.980090 0.078346 -0.182443
+vn -0.000006 0.992882 -0.119100
+vn 0.332771 0.936459 -0.110946
+vn -0.332773 0.936458 -0.110945
+vn 0.000000 0.995193 -0.097937
+vn 0.991123 0.011705 -0.132435
+vn 0.980090 0.078346 -0.182443
+vn 0.866522 0.482012 -0.129631
+vn 0.745587 0.654342 -0.126240
+vn 0.332771 0.936459 -0.110946
+vn 0.866522 0.482012 -0.129631
+vn 0.000000 0.995193 -0.097937
+vn 0.745587 0.654342 -0.126240
+vn 0.000000 -0.970457 -0.241275
+vn -0.491477 -0.840697 -0.227331
+vn 0.000000 -0.927112 -0.374785
+vn -0.496057 -0.791037 -0.358035
+vn -0.491477 -0.840697 -0.227331
+vn -0.904228 -0.390867 -0.172033
+vn -0.496057 -0.791037 -0.358035
+vn -0.900589 -0.354255 -0.251878
+vn -0.904228 -0.390867 -0.172033
+vn -0.991123 0.011705 -0.132435
+vn -0.900589 -0.354255 -0.251878
+vn -0.980090 0.078346 -0.182443
+vn -0.991123 0.011705 -0.132435
+vn -0.866521 0.482013 -0.129630
+vn -0.980090 0.078346 -0.182443
+vn -0.745585 0.654345 -0.126239
+vn -0.332773 0.936458 -0.110945
+vn 0.000000 0.995193 -0.097937
+vn -0.866521 0.482013 -0.129630
+vn -0.745585 0.654345 -0.126239
+vn 0.000000 -0.927112 -0.374785
+vn 0.000000 -0.879437 -0.476016
+vn 0.496056 -0.791037 -0.358035
+vn 0.491354 -0.624034 -0.607580
+vn 0.900588 -0.354258 -0.251879
+vn 0.496056 -0.791037 -0.358035
+vn 0.871839 -0.342007 -0.350610
+vn 0.491354 -0.624034 -0.607580
+vn 0.900588 -0.354258 -0.251879
+vn 0.871839 -0.342007 -0.350610
+vn 0.980090 0.078346 -0.182443
+vn 0.891804 0.200530 -0.405553
+vn 0.745587 0.654342 -0.126240
+vn 0.980090 0.078346 -0.182443
+vn 0.692547 0.700998 -0.170236
+vn 0.891804 0.200530 -0.405553
+vn 0.745587 0.654342 -0.126240
+vn 0.692547 0.700998 -0.170236
+vn 0.000000 0.995193 -0.097937
+vn -0.000003 0.956366 -0.292171
+vn 0.000000 -0.927112 -0.374785
+vn -0.496057 -0.791037 -0.358035
+vn 0.000000 -0.879437 -0.476016
+vn -0.491354 -0.624034 -0.607580
+vn -0.900589 -0.354255 -0.251878
+vn -0.871840 -0.342006 -0.350609
+vn -0.496057 -0.791037 -0.358035
+vn -0.491354 -0.624034 -0.607580
+vn -0.900589 -0.354255 -0.251878
+vn -0.980090 0.078346 -0.182443
+vn -0.871840 -0.342006 -0.350609
+vn -0.891804 0.200535 -0.405551
+vn -0.745585 0.654345 -0.126239
+vn -0.692548 0.700997 -0.170236
+vn -0.980090 0.078346 -0.182443
+vn -0.891804 0.200535 -0.405551
+vn -0.745585 0.654345 -0.126239
+vn 0.000000 0.995193 -0.097937
+vn -0.692548 0.700997 -0.170236
+vn -0.000003 0.956366 -0.292171
+vn 0.000000 -0.879437 -0.476016
+vn -0.491354 -0.624034 -0.607580
+vn 0.491354 -0.624034 -0.607580
+vn -0.000002 0.297076 -0.954854
+vn 0.871839 -0.342007 -0.350610
+vn 0.491354 -0.624034 -0.607580
+vn 0.891804 0.200530 -0.405553
+vn -0.000002 0.297076 -0.954854
+vn 0.692547 0.700998 -0.170236
+vn 0.891804 0.200530 -0.405553
+vn -0.000003 0.956366 -0.292171
+vn -0.000002 0.297076 -0.954854
+vn -0.871840 -0.342006 -0.350609
+vn -0.891804 0.200535 -0.405551
+vn -0.491354 -0.624034 -0.607580
+vn -0.000002 0.297076 -0.954854
+vn -0.692548 0.700997 -0.170236
+vn -0.000003 0.956366 -0.292171
+vn -0.891804 0.200535 -0.405551
+vn -0.000002 0.297076 -0.954854
+vn 0.842209 -0.301714 0.446826
+vn 0.490732 -0.829858 0.265551
+vn 0.443542 -0.880971 0.164807
+vn 0.443542 -0.880971 0.164807
+vn 0.428649 -0.890211 0.154219
+vn 0.842209 -0.301714 0.446826
+vn 0.428649 -0.890211 0.154219
+vn 0.557730 -0.797058 0.231595
+vn 0.842209 -0.301714 0.446826
+vn 0.557730 -0.797058 0.231595
+vn 0.339167 -0.935837 0.095790
+vn 0.842209 -0.301714 0.446826
+vn 0.840957 -0.389976 0.375113
+vn 0.591405 -0.783039 0.192587
+vn 0.507272 -0.843656 0.175839
+vn 0.621329 -0.749180 0.229523
+vn 0.591405 -0.783039 0.192587
+vn 0.840957 -0.389976 0.375113
+vn 0.356900 -0.929141 0.096533
+vn 0.621329 -0.749180 0.229523
+vn 0.840957 -0.389976 0.375113
+vn 0.884366 -0.195531 0.423869
+vn 0.848742 -0.379498 0.368265
+vn 0.888964 -0.221293 0.400965
+vn 0.840957 -0.389976 0.375113
+vn 0.877013 -0.196902 0.438267
+vn 0.884366 -0.195531 0.423869
+vn 0.888964 -0.221293 0.400965
+vn 0.840957 -0.389976 0.375113
+vn 0.848742 -0.379498 0.368265
+vn 0.356900 -0.929141 0.096533
+vn 0.356900 -0.929141 0.096533
+vn 0.848742 -0.379498 0.368265
+vn 0.493956 -0.855310 0.156371
+vn 0.493956 -0.855310 0.156371
+vn 0.848742 -0.379498 0.368265
+vn 0.578108 -0.792663 0.193589
+vn 0.848742 -0.379498 0.368265
+vn 0.842209 -0.301714 0.446826
+vn 0.339167 -0.935837 0.095790
+vn 0.848742 -0.379498 0.368265
+vn 0.339167 -0.935837 0.095790
+vn 0.578108 -0.792663 0.193589
+vn 0.889527 -0.230052 0.394737
+vn 0.808135 -0.482080 0.338403
+vn 0.904702 -0.187571 0.382534
+vn 0.756582 -0.562955 0.332663
+vn 0.906734 -0.173320 0.384439
+vn 0.889527 -0.230052 0.394737
+vn 0.904702 -0.187571 0.382534
+vn 0.840957 -0.389976 0.375113
+vn 0.507272 -0.843656 0.175839
+vn 0.573839 -0.786285 0.229052
+vn 0.840957 -0.389976 0.375113
+vn 0.573839 -0.786285 0.229052
+vn 0.604403 -0.765261 0.221524
+vn 0.604403 -0.765261 0.221524
+vn 0.509438 -0.842490 0.175167
+vn 0.840957 -0.389976 0.375113
+vn 0.840957 -0.389976 0.375113
+vn 0.509438 -0.842490 0.175167
+vn 0.808135 -0.482080 0.338403
+vn 0.393877 -0.908493 0.139646
+vn 0.808135 -0.482080 0.338403
+vn 0.393877 -0.908493 0.139646
+vn 0.456586 -0.873470 0.169053
+vn 0.808135 -0.482080 0.338403
+vn 0.456586 -0.873470 0.169053
+vn 0.492928 -0.853353 0.169739
+vn 0.808135 -0.482080 0.338403
+vn 0.492928 -0.853353 0.169739
+vn 0.448239 -0.883399 0.136706
+vn 0.380276 -0.916433 0.124661
+vn 0.756582 -0.562955 0.332663
+vn 0.448239 -0.883399 0.136706
+vn 0.808135 -0.482080 0.338403
+vn 0.901984 0.166143 0.398523
+vn 0.943025 0.227116 0.243152
+vn 0.871800 0.401035 0.281311
+vn 0.943025 0.227116 0.243152
+vn 0.938020 0.310128 0.154725
+vn 0.871800 0.401035 0.281311
+vn 0.897836 0.410845 0.158418
+vn 0.900319 0.412764 0.138031
+vn 0.897836 0.410845 0.158418
+vn 0.938020 0.310128 0.154725
+vn 0.927249 0.361041 -0.099292
+vn 0.900319 0.412764 0.138031
+vn 0.927249 0.361041 -0.099292
+vn 0.938020 0.310128 0.154725
+vn 0.979816 0.137442 0.145153
+vn 0.380083 -0.923425 0.053136
+vn 0.689265 -0.722296 0.056597
+vn 0.216646 -0.975836 -0.028430
+vn 0.544476 0.250647 -0.800451
+vn 0.647946 -0.090056 -0.756344
+vn 0.743929 0.166526 -0.647178
+vn 0.737624 -0.092157 -0.668893
+s off
+g pSphere3
+usemtl lambert2SG
+f 1/1/1 2/2/2 3/3/3
+s 1
+f 4/4/4 2/2/5 5/5/6
+f 5/5/6 2/2/5 1/1/7
+s 2
+f 2/2/8 6/6/9 3/3/10
+f 3/3/10 6/6/9 7/7/11
+s 3
+f 8/8/12 6/6/13 4/4/14
+f 4/4/14 6/6/13 2/2/15
+s 4
+f 13/9/16 8/8/17 14/10/18
+f 14/10/18 8/8/17 4/4/19
+s 5
+f 9/13/20 6/6/21 16/12/22
+f 15/11/23 16/12/22 8/8/24
+f 6/6/21 8/8/24 16/12/22
+s 6
+f 13/9/25 21/14/26 8/8/27
+f 8/8/27 21/14/26 15/11/28
+s 7
+f 7/7/29 6/6/30 10/15/31
+f 10/15/31 6/6/30 9/13/32
+s 8
+f 3/3/33 7/7/34 12/17/35
+f 12/17/35 7/7/34 11/16/36
+s 9
+f 7/7/37 10/15/38 11/16/39
+f 11/16/39 10/15/38 17/18/40
+s 10
+f 19/20/41 10/15/42 18/19/43
+f 10/15/42 9/13/44 18/19/43
+f 18/19/43 9/13/44 20/21/45
+s 11
+f 10/15/46 19/20/47 17/18/48
+f 17/18/48 19/20/47 22/22/49
+s off
+f 19/20/50 18/19/51 23/23/52
+s 12
+f 22/22/53 19/20/54 24/24/55
+f 24/24/55 19/20/54 23/23/56
+s off
+f 9/13/57 16/12/58 20/21/59
+s 13
+f 25/25/60 26/26/61 28/28/62
+f 28/28/62 26/26/61 27/27/63
+s 14
+f 30/29/64 26/26/65 31/30/66
+f 31/30/66 26/26/65 25/25/67
+s 15
+f 26/26/68 32/31/69 27/27/70
+f 27/27/70 32/31/69 33/32/71
+s 16
+f 30/29/72 36/33/73 26/26/74
+f 26/26/74 36/33/73 32/31/75
+s 17
+f 37/34/76 33/32/77 39/36/78
+f 33/32/77 32/31/79 39/36/78
+f 32/31/79 38/35/80 39/36/78
+s 18
+f 27/37/81 33/38/82 41/40/83
+f 41/40/83 33/38/82 40/39/84
+s 19
+f 43/41/85 36/33/86 44/42/87
+f 44/42/87 36/33/86 30/29/88
+s 20
+f 36/33/89 45/43/90 32/31/91
+f 32/31/91 45/43/90 38/35/92
+s off
+f 40/44/93 33/32/94 37/34/95
+s 21
+f 52/46/96 45/43/97 51/45/98
+f 51/45/98 45/43/97 43/41/99
+f 36/33/100 43/41/99 45/43/97
+s 22
+f 38/35/101 45/43/102 53/47/103
+f 53/47/103 45/43/102 55/49/104
+f 45/43/102 54/48/105 55/49/104
+s 23
+f 45/43/106 52/46/107 54/48/108
+f 70/51/109 54/48/108 68/50/110
+f 54/48/108 52/46/107 68/50/110
+s 24
+f 53/47/111 57/52/112 38/35/113
+f 38/35/113 57/52/112 39/36/114
+s 25
+f 35/57/115 31/53/116 29/56/117
+f 31/53/116 25/54/118 29/56/117
+f 25/54/118 28/55/119 29/56/117
+s off
+f 28/55/120 27/58/121 34/59/122
+f 35/57/123 30/60/124 31/53/125
+s 26
+f 28/55/126 34/59/127 29/56/128
+f 29/56/128 34/59/127 50/61/129
+s 27
+f 35/57/130 42/62/131 30/60/132
+f 30/60/132 42/62/131 44/63/133
+s 28
+f 37/65/134 39/66/135 46/64/136
+f 46/64/136 39/66/135 47/67/137
+s off
+f 40/44/138 49/68/139 41/69/140
+s 29
+f 49/71/141 34/59/142 41/70/143
+f 41/70/143 34/59/142 27/58/144
+s 30
+f 51/72/145 43/73/146 42/62/147
+f 42/62/147 43/73/146 44/63/148
+s 31
+f 47/75/149 56/76/150 46/74/151
+f 46/74/151 56/76/150 64/77/152
+s 32
+f 37/34/153 46/74/154 40/44/155
+f 49/68/156 40/44/155 48/78/157
+f 46/74/154 48/78/157 40/44/155
+s off
+f 57/79/158 47/67/159 39/66/160
+s 33
+f 34/59/161 49/71/162 50/61/163
+f 50/61/163 49/71/162 48/80/164
+s 34
+f 50/61/165 58/81/166 29/56/167
+f 29/56/167 58/81/166 59/82/168
+s 35
+f 29/84/169 59/85/170 35/83/171
+f 35/83/171 59/85/170 60/86/172
+s 36
+f 35/83/173 60/86/174 42/87/175
+f 42/87/175 60/86/174 66/88/176
+s 37
+f 42/62/177 61/89/178 51/72/179
+f 51/72/179 61/89/178 52/90/180
+s off
+f 68/91/181 52/90/182 61/89/183
+s 38
+f 47/67/184 53/93/185 62/92/186
+f 62/92/186 53/93/185 55/94/187
+s 39
+f 47/75/188 62/95/189 56/76/190
+f 56/76/190 62/95/189 74/96/191
+s 40
+f 46/74/192 64/77/193 48/78/194
+f 48/78/194 64/77/193 76/97/195
+s off
+f 53/93/196 47/67/197 57/79/198
+s 41
+f 58/81/199 50/61/200 65/98/201
+f 65/98/201 50/61/200 77/99/202
+s 42
+f 61/101/203 42/87/204 67/100/205
+f 67/100/205 42/87/204 66/88/206
+s 43
+f 69/103/207 62/92/208 63/102/209
+f 63/102/209 62/92/208 55/94/210
+s off
+f 69/103/211 63/102/212 73/104/213
+s 44
+f 56/76/214 75/105/215 64/77/216
+f 64/77/216 75/105/215 86/106/217
+s 45
+f 50/108/218 48/78/219 77/107/220
+f 77/107/220 48/78/219 76/97/221
+s 46
+f 65/110/222 78/111/223 58/109/224
+f 58/109/224 78/111/223 79/112/225
+s 47
+f 58/109/226 79/112/227 59/85/228
+f 59/85/228 79/112/227 80/113/229
+s 48
+f 59/85/230 80/113/231 60/86/232
+f 60/86/232 80/113/231 87/114/233
+s 49
+f 66/88/234 60/86/235 81/115/236
+f 81/115/236 60/86/235 87/114/237
+s 50
+f 67/100/238 82/116/239 61/101/240
+f 61/101/240 82/116/239 90/117/241
+s 51
+f 62/95/242 69/118/243 74/96/244
+f 74/96/244 69/118/243 92/119/245
+s off
+f 71/120/246 84/121/247 72/122/248
+f 72/123/249 84/124/250 69/103/251
+s 52
+f 74/96/252 85/125/253 56/76/254
+f 56/76/254 85/125/253 75/105/255
+s 53
+f 64/77/256 86/106/257 76/97/258
+f 76/97/258 86/106/257 95/126/259
+s 54
+f 65/110/260 77/107/261 78/111/262
+f 78/111/262 77/107/261 96/127/263
+s 55
+f 81/115/264 88/128/265 66/88/266
+f 66/88/266 88/128/265 67/100/267
+s 56
+f 82/116/268 67/100/269 89/129/270
+f 89/129/270 67/100/269 88/128/271
+s 57
+f 61/89/272 91/130/273 68/91/274
+f 68/91/274 91/130/273 83/131/275
+s 58
+f 83/132/276 91/133/277 71/135/278
+f 71/135/278 91/133/277 84/134/279
+s 59
+f 69/118/280 84/121/281 92/119/282
+f 92/119/282 84/121/281 102/136/283
+s 60
+f 74/96/284 92/119/285 85/125/286
+f 85/125/286 92/119/285 103/137/287
+s 61
+f 85/139/288 93/140/289 75/138/290
+f 75/138/290 93/140/289 94/141/291
+s 62
+f 75/105/292 94/142/293 86/106/294
+f 86/106/294 94/142/293 105/143/295
+s 63
+f 77/107/296 76/97/297 96/127/298
+f 96/127/298 76/97/297 95/126/299
+s 64
+f 78/111/300 97/144/301 79/112/302
+f 79/112/302 97/144/301 98/145/303
+s 65
+f 79/112/304 98/145/305 80/113/306
+f 80/113/306 98/145/305 99/146/307
+s 66
+f 80/113/308 99/146/309 87/114/310
+f 87/114/310 99/146/309 106/147/311
+s 67
+f 88/128/312 81/115/313 100/148/314
+f 100/148/314 81/115/313 101/149/315
+s 68
+f 81/115/316 87/114/317 101/149/318
+f 101/149/318 87/114/317 106/147/319
+s 69
+f 82/116/320 89/129/321 90/117/322
+f 90/117/322 89/129/321 108/150/323
+s 70
+f 61/101/324 90/117/325 91/151/326
+f 91/151/326 90/117/325 109/152/327
+s 71
+f 84/121/328 91/151/329 102/136/330
+f 102/136/330 91/151/329 109/152/331
+s 72
+f 93/140/332 85/139/333 104/153/334
+f 104/153/334 85/139/333 110/154/335
+s 73
+f 86/106/336 105/143/337 95/126/338
+f 95/126/338 105/143/337 114/155/339
+s 74
+f 78/111/340 96/127/341 97/144/342
+f 97/144/342 96/127/341 115/156/343
+s 75
+f 100/148/344 107/157/345 88/128/346
+f 88/128/346 107/157/345 89/129/347
+s 76
+f 92/119/348 102/136/349 103/137/350
+f 103/137/350 102/136/349 119/158/351
+s 77
+f 85/125/352 103/137/353 110/159/354
+f 110/159/354 103/137/353 120/160/355
+s 78
+f 104/162/356 111/163/357 93/161/358
+f 93/161/358 111/163/357 112/164/359
+s 79
+f 93/140/360 112/165/361 94/141/362
+f 94/141/362 112/165/361 113/166/363
+s 80
+f 94/142/364 113/167/365 105/143/366
+f 105/143/366 113/167/365 122/168/367
+s 81
+f 96/127/368 95/126/369 115/156/370
+f 115/156/370 95/126/369 114/155/371
+s 82
+f 97/144/372 116/169/373 98/145/374
+f 98/145/374 116/169/373 117/170/375
+s 83
+f 98/145/376 117/170/377 99/146/378
+f 99/146/378 117/170/377 106/147/379
+s 84
+f 100/148/380 117/170/381 107/157/382
+f 107/157/382 117/170/381 124/171/383
+s 85
+f 100/148/384 101/149/385 117/170/386
+f 117/170/386 101/149/385 106/147/387
+s 86
+f 107/157/388 118/172/389 89/129/390
+f 89/129/390 118/172/389 108/150/391
+s 87
+f 90/117/392 108/150/393 109/152/394
+f 109/152/394 108/150/393 125/173/395
+s 88
+f 102/136/396 109/152/397 119/158/398
+f 119/158/398 109/152/397 125/173/399
+s 89
+f 110/159/400 121/174/401 104/162/402
+f 104/162/402 121/174/401 111/163/403
+s 90
+f 105/143/404 122/168/405 114/155/406
+f 114/155/406 122/168/405 130/175/407
+s 91
+f 115/156/408 123/176/409 97/144/410
+f 97/144/410 123/176/409 116/169/411
+s 92
+f 107/157/412 124/171/413 118/172/414
+f 118/172/414 124/171/413 134/177/415
+s 93
+f 108/150/416 118/172/417 125/173/418
+f 125/173/418 118/172/417 135/178/419
+s 94
+f 103/180/420 119/181/421 120/179/422
+f 120/179/422 119/181/421 136/182/423
+s 95
+f 120/160/424 126/183/425 110/159/426
+f 110/159/426 126/183/425 121/174/427
+s 96
+f 111/163/428 121/174/429 127/184/430
+f 127/184/430 121/174/429 138/185/431
+s 97
+f 111/163/432 127/184/433 112/164/434
+f 112/164/434 127/184/433 128/186/435
+s 98
+f 112/164/436 128/186/437 113/167/438
+f 113/167/438 128/186/437 129/187/439
+s 99
+f 113/167/440 129/187/441 122/168/442
+f 122/168/442 129/187/441 139/188/443
+s 100
+f 115/156/444 114/155/445 123/176/446
+f 123/176/446 114/155/445 130/175/447
+s 101
+f 123/176/448 131/189/449 116/169/450
+f 116/169/450 131/189/449 132/190/451
+s 102
+f 116/169/452 132/190/453 117/170/454
+f 117/170/454 132/190/453 133/191/455
+s 103
+f 117/170/456 133/191/457 124/171/458
+f 124/171/458 133/191/457 142/192/459
+s 104
+f 119/158/460 125/173/461 136/193/462
+f 136/193/462 125/173/461 135/178/463
+s 105
+f 120/160/464 136/193/465 126/183/466
+f 126/183/466 136/193/465 143/194/467
+s 106
+f 126/183/468 137/195/469 121/174/470
+f 121/174/470 137/195/469 138/185/471
+s 107
+f 122/168/472 140/196/473 130/175/474
+f 130/175/474 140/196/473 148/197/475
+s 108
+f 131/189/476 123/176/477 141/198/478
+f 141/198/478 123/176/477 149/199/479
+s 109
+f 124/171/480 142/192/481 134/177/482
+f 134/177/482 142/192/481 154/200/483
+s 110
+f 118/172/484 134/177/485 135/178/486
+f 135/178/486 134/177/485 155/201/487
+s 111
+f 137/195/488 126/183/489 144/202/490
+f 144/202/490 126/183/489 143/194/491
+s 112
+f 127/184/492 138/185/493 145/203/494
+f 145/203/494 138/185/493 156/204/495
+s 113
+f 127/184/496 145/203/497 128/186/498
+f 128/186/498 145/203/497 146/205/499
+s 114
+f 128/186/500 146/205/501 129/187/502
+f 129/187/502 146/205/501 139/188/503
+s 115
+f 139/188/504 147/206/505 122/168/506
+f 122/168/506 147/206/505 140/196/507
+s 116
+f 123/176/508 130/175/509 149/199/510
+f 149/199/510 130/175/509 148/197/511
+s 117
+f 141/198/512 150/207/513 131/189/514
+f 131/189/514 150/207/513 151/208/515
+s 118
+f 131/189/516 151/208/517 132/190/518
+f 132/190/518 151/208/517 152/209/519
+s 119
+f 132/190/520 152/209/521 133/191/522
+f 133/191/522 152/209/521 162/210/523
+s 120
+f 142/192/524 133/191/525 153/211/526
+f 153/211/526 133/191/525 162/210/527
+s 121
+f 136/193/528 135/178/529 143/194/530
+f 143/194/530 135/178/529 155/201/531
+s 122
+f 144/202/532 156/204/533 137/195/534
+f 137/195/534 156/204/533 138/185/535
+s 123
+f 147/206/536 139/188/537 157/212/538
+f 157/212/538 139/188/537 146/205/539
+s 124
+f 140/214/540 147/215/541 158/213/542
+f 158/213/542 147/215/541 168/216/543
+s 125
+f 148/197/544 140/196/545 159/217/546
+f 159/217/546 140/196/545 158/218/547
+s 126
+f 150/207/548 141/198/549 160/219/550
+f 160/219/550 141/198/549 161/220/551
+s 127
+f 141/198/552 149/199/553 161/220/554
+f 161/220/554 149/199/553 170/221/555
+s 128
+f 153/211/556 163/222/557 142/192/558
+f 142/192/558 163/222/557 154/200/559
+s 129
+f 154/200/560 164/223/561 134/177/562
+f 134/177/562 164/223/561 155/201/563
+s 130
+f 144/202/564 143/194/565 165/224/566
+f 165/224/566 143/194/565 178/225/567
+s 131
+f 156/204/568 144/202/569 166/226/570
+f 166/226/570 144/202/569 165/224/571
+s 132
+f 145/203/572 156/204/573 167/227/574
+f 167/227/574 156/204/573 179/228/575
+s 133
+f 146/205/576 145/203/577 157/212/578
+f 157/212/578 145/203/577 167/227/579
+s 134
+f 147/206/580 157/212/581 168/229/582
+f 168/229/582 157/212/581 180/230/583
+s 135
+f 148/197/584 159/217/585 169/231/586
+f 169/231/586 159/217/585 183/232/587
+s 136
+f 149/199/588 148/197/589 170/221/590
+f 170/221/590 148/197/589 169/231/591
+s 137
+f 160/219/592 171/233/593 150/207/594
+f 150/207/594 171/233/593 185/234/595
+s 138
+f 151/208/596 150/207/597 172/235/598
+f 172/235/598 150/207/597 185/234/599
+s 139
+f 151/208/600 173/236/601 152/209/602
+f 152/209/602 173/236/601 174/237/603
+s 140
+f 152/209/604 174/237/605 162/210/606
+f 162/210/606 174/237/605 188/238/607
+s 141
+f 153/211/608 162/210/609 175/239/610
+f 175/239/610 162/210/609 189/240/611
+s 142
+f 163/222/612 153/211/613 176/241/614
+f 176/241/614 153/211/613 175/239/615
+s 143
+f 164/223/616 154/200/617 177/242/618
+f 177/242/618 154/200/617 163/222/619
+s 144
+f 143/194/620 155/201/621 178/225/622
+f 178/225/622 155/201/621 164/223/623
+s 145
+f 156/204/624 166/226/625 179/228/626
+f 179/228/626 166/226/625 192/243/627
+s 146
+f 158/213/628 181/245/629 159/244/630
+f 159/244/630 181/245/629 196/246/631
+s 147
+f 158/213/632 168/216/633 182/247/634
+f 182/247/634 168/216/633 194/248/635
+s 148
+f 4235/250/636 4236/251/637 184/249/638
+f 184/249/638 4236/251/637 200/252/639
+s 149
+f 161/220/640 186/253/641 160/219/642
+f 160/219/642 186/253/641 201/254/643
+s off
+f 151/208/644 172/235/645 187/255/646
+s 150
+f 161/220/647 170/221/648 186/253/649
+f 186/253/649 170/221/648 197/256/650
+s 151
+f 151/208/651 187/255/652 173/236/653
+f 173/236/653 187/255/652 204/257/654
+s 152
+f 176/241/655 190/258/656 163/222/657
+f 163/222/657 190/258/656 177/242/658
+s 153
+f 177/242/659 191/259/660 164/223/661
+f 164/223/661 191/259/660 178/225/662
+s 154
+f 165/224/663 178/225/664 166/226/665
+f 166/226/665 178/225/664 191/259/666
+s 155
+f 167/227/667 179/228/668 193/260/669
+f 193/260/669 179/228/668 211/261/670
+s 156
+f 157/212/671 167/227/672 180/230/673
+f 180/230/673 167/227/672 193/260/674
+s 157
+f 168/216/675 180/262/676 194/248/677
+f 194/248/677 180/262/676 212/263/678
+s 158
+f 158/213/679 195/264/680 181/245/681
+f 181/245/681 195/264/680 213/265/682
+s 159
+f 158/213/683 182/247/684 195/264/685
+f 195/264/685 182/247/684 215/266/686
+s 160
+f 170/221/687 169/231/688 197/256/689
+f 197/256/689 169/231/688 198/267/690
+s 161
+f 169/269/691 183/270/692 198/268/693
+f 198/268/693 183/270/692 216/271/694
+s 162
+f 159/244/695 196/246/696 183/270/697
+f 183/270/697 196/246/696 217/272/698
+s 163
+f 172/274/699 202/275/700 187/273/701
+f 187/273/701 202/275/700 222/276/702
+s 164
+f 185/277/703 203/278/704 172/274/705
+f 172/274/705 203/278/704 202/275/706
+s 165
+f 174/237/707 173/236/708 205/279/709
+f 205/279/709 173/236/708 226/280/710
+s 166
+f 174/237/711 205/279/712 188/238/713
+f 188/238/713 205/279/712 227/281/714
+s 167
+f 162/210/715 188/238/716 189/240/717
+f 189/240/717 188/238/716 228/282/718
+s 168
+f 189/240/719 206/283/720 175/239/721
+f 175/239/721 206/283/720 230/284/722
+s 169
+f 176/241/723 175/239/724 207/285/725
+f 207/285/725 175/239/724 230/284/726
+s 170
+f 190/258/727 176/241/728 208/286/729
+f 208/286/729 176/241/728 207/285/730
+s 171
+f 191/259/731 177/242/732 209/287/733
+f 209/287/733 177/242/732 190/258/734
+s 172
+f 166/226/735 191/259/736 192/243/737
+f 192/243/737 191/259/736 209/287/738
+s 173
+f 192/243/739 210/288/740 179/228/741
+f 179/228/741 210/288/740 211/261/742
+s 174
+f 196/246/743 181/245/744 214/289/745
+f 214/289/745 181/245/744 235/290/746
+s 175
+f 194/248/747 212/263/748 182/247/749
+f 182/247/749 212/263/748 237/291/750
+s 176
+f 4233/293/751 4234/294/752 219/292/753
+f 219/292/753 4234/294/752 241/295/754
+s 177
+f 4236/251/755 201/254/756 200/252/757
+f 200/252/757 201/254/756 242/296/758
+s 178
+f 220/297/759 185/277/760 244/299/761
+f 244/299/761 185/277/760 171/298/762
+s 179
+f 186/253/763 221/300/764 201/254/765
+f 201/254/765 221/300/764 245/301/766
+s off
+f 187/302/767 222/303/768 225/304/769
+s 180
+f 185/277/770 223/305/771 203/278/772
+f 203/278/772 223/305/771 248/306/773
+s 181
+f 197/256/774 224/307/775 186/253/776
+f 186/253/776 224/307/775 221/300/777
+s off
+f 204/308/778 187/302/779 225/304/780
+f 173/236/781 204/257/782 226/280/783
+s 182
+f 206/283/784 189/240/785 229/309/786
+f 229/309/786 189/240/785 228/282/787
+s 183
+f 190/258/788 208/286/789 231/310/790
+f 231/310/790 208/286/789 256/311/791
+s 184
+f 190/258/792 231/310/793 209/287/794
+f 209/287/794 231/310/793 232/312/795
+s 185
+f 210/288/796 192/243/797 232/312/798
+f 232/312/798 192/243/797 209/287/799
+s 186
+f 193/314/800 211/315/801 233/313/802
+f 233/313/802 211/315/801 259/316/803
+s 187
+f 180/262/804 193/314/805 212/263/806
+f 212/263/806 193/314/805 233/313/807
+s 188
+f 195/264/808 234/317/809 213/265/810
+f 213/265/810 234/317/809 260/318/811
+s 189
+f 181/245/812 213/265/813 235/290/814
+f 235/290/814 213/265/813 261/319/815
+s 190
+f 214/289/816 236/320/817 196/246/818
+f 196/246/818 236/320/817 217/272/819
+s 191
+f 195/264/820 215/266/821 234/317/822
+f 234/317/822 215/266/821 264/321/823
+s 192
+f 182/247/824 237/291/825 215/266/826
+f 215/266/826 237/291/825 264/321/827
+s 193
+f 197/256/828 198/267/829 224/307/830
+f 224/307/830 198/267/829 265/322/831
+s 194
+f 198/268/832 216/271/833 238/323/834
+f 238/323/834 216/271/833 266/324/835
+s 195
+f 183/270/836 217/272/837 216/271/838
+f 216/271/838 217/272/837 267/325/839
+s 196
+f 199/326/840 240/327/841 171/298/842
+f 171/298/842 240/327/841 271/328/843
+s off
+f 243/329/844 185/277/845 220/297/846
+f 244/299/847 171/298/848 271/328/849
+s 197
+f 203/278/850 246/330/851 202/275/852
+f 202/275/852 246/330/851 222/276/853
+s off
+f 223/305/854 185/277/855 247/331/856
+s 198
+f 205/279/857 226/280/858 249/332/859
+f 249/332/859 226/280/858 281/333/860
+s 199
+f 227/281/861 205/279/862 250/334/863
+f 250/334/863 205/279/862 249/332/864
+s 200
+f 227/281/865 251/335/866 188/238/867
+f 188/238/867 251/335/866 228/282/868
+s 201
+f 229/309/869 252/336/870 206/283/871
+f 206/283/871 252/336/870 253/337/872
+s 202
+f 206/283/873 253/337/874 230/284/875
+f 230/284/875 253/337/874 286/338/876
+s 203
+f 207/285/877 230/284/878 254/339/879
+f 254/339/879 230/284/878 286/338/880
+s 204
+f 208/286/881 207/285/882 255/340/883
+f 255/340/883 207/285/882 254/339/884
+s 205
+f 232/342/885 257/343/886 210/341/887
+f 210/341/887 257/343/886 258/344/888
+s 206
+f 210/341/889 258/344/890 211/315/891
+f 211/315/891 258/344/890 259/316/892
+s 207
+f 235/346/893 262/347/894 214/345/895
+f 214/345/895 262/347/894 291/348/896
+s 208
+f 236/350/897 214/345/898 263/349/899
+f 263/349/899 214/345/898 291/348/900
+s 209
+f 212/263/901 233/313/902 237/291/903
+f 237/291/903 233/313/902 259/316/904
+s 210
+f 198/267/905 238/351/906 265/322/907
+f 265/322/907 238/351/906 294/352/908
+s 211
+f 236/320/909 268/353/910 217/272/911
+f 217/272/911 268/353/910 267/325/912
+s off
+f 240/327/913 199/326/914 298/354/915
+s 212
+f 219/292/916 241/295/917 274/355/918
+f 274/355/918 241/295/917 303/356/919
+s 213
+f 241/295/920 4234/294/921 304/357/922
+f 304/357/922 4234/294/921 242/296/923
+s 214
+f 201/254/924 245/301/925 242/296/926
+f 242/296/926 245/301/925 305/358/927
+s 215
+f 243/329/928 275/359/929 185/277/930
+f 185/277/930 275/359/929 247/331/931
+s off
+f 276/360/932 220/361/933 244/362/934
+s 216
+f 224/307/935 277/363/936 221/300/937
+f 221/300/937 277/363/936 278/364/938
+s 217
+f 221/300/939 278/364/940 245/301/941
+f 245/301/941 278/364/940 308/365/942
+s off
+f 248/306/943 246/330/944 203/278/945
+s 218
+f 246/366/946 279/367/947 222/303/948
+f 222/303/948 279/367/947 225/304/949
+s off
+f 204/308/950 225/304/951 280/368/952
+s 219
+f 250/334/953 282/369/954 227/281/955
+f 227/281/955 282/369/954 283/370/956
+s 220
+f 227/281/957 283/370/958 251/335/959
+f 251/335/959 283/370/958 315/371/960
+s 221
+f 251/335/961 284/372/962 228/282/963
+f 228/282/963 284/372/962 229/309/964
+s 222
+f 252/336/965 229/309/966 285/373/967
+f 285/373/967 229/309/966 284/372/968
+s 223
+f 208/375/969 255/376/970 256/374/971
+f 256/374/971 255/376/970 318/377/972
+s 224
+f 231/379/973 256/374/974 287/378/975
+f 287/378/975 256/374/974 320/380/976
+s 225
+f 232/342/977 231/379/978 288/381/979
+f 288/381/979 231/379/978 287/378/980
+s 226
+f 232/342/981 289/382/982 257/343/983
+f 257/343/983 289/382/982 293/383/984
+s 227
+f 213/265/985 260/318/986 261/319/987
+f 261/319/987 260/318/986 322/384/988
+s 228
+f 234/317/989 289/382/990 260/318/991
+f 260/318/991 289/382/990 321/385/992
+s 229
+f 262/347/993 235/346/994 290/386/995
+f 290/386/995 235/346/994 324/387/996
+s 230
+f 263/349/997 292/388/998 236/350/999
+f 236/350/999 292/388/998 268/389/1000
+s 231
+f 264/321/1001 293/383/1002 234/317/1003
+f 234/317/1003 293/383/1002 289/382/1004
+s 232
+f 264/321/1005 237/291/1006 293/383/1007
+f 293/383/1007 237/291/1006 257/343/1008
+s 233
+f 224/307/1009 265/322/1010 277/363/1011
+f 277/363/1011 265/322/1010 328/390/1012
+s 234
+f 238/323/1013 266/324/1014 295/391/1015
+f 295/391/1015 266/324/1014 330/392/1016
+s 235
+f 266/324/1017 216/271/1018 296/393/1019
+f 296/393/1019 216/271/1018 267/325/1020
+s 236
+f 240/395/1021 299/396/1022 271/394/1023
+f 271/394/1023 299/396/1022 307/397/1024
+s 237
+f 219/399/1025 273/400/1026 302/398/1027
+f 302/398/1027 273/400/1026 339/401/1028
+s 238
+f 219/399/1029 274/402/1030 273/400/1031
+f 273/400/1031 274/402/1030 340/403/1032
+s off
+f 244/404/1033 306/405/1034 345/406/1035
+s 239
+f 244/404/1036 271/394/1037 306/405/1038
+f 306/405/1038 271/394/1037 307/397/1039
+s 240
+f 248/306/1040 309/407/1041 246/330/1042
+f 246/330/1042 309/407/1041 279/408/1043
+s 241
+f 225/410/1044 279/408/1045 310/409/1046
+f 310/409/1046 279/408/1045 350/411/1047
+s 242
+f 225/304/1048 311/412/1049 280/368/1050
+f 280/368/1050 311/412/1049 352/413/1051
+s 243
+f 250/334/1052 249/332/1053 312/414/1054
+f 312/414/1054 249/332/1053 281/333/1055
+s 244
+f 226/280/1056 313/415/1057 281/333/1058
+f 281/333/1058 313/415/1057 354/416/1059
+s 245
+f 282/369/1060 250/334/1061 314/417/1062
+f 314/417/1062 250/334/1061 312/414/1063
+s 246
+f 251/335/1064 315/371/1065 284/372/1066
+f 284/372/1066 315/371/1065 357/418/1067
+s 247
+f 252/420/1068 285/421/1069 316/419/1070
+f 316/419/1070 285/421/1069 358/422/1071
+s 248
+f 252/420/1072 316/419/1073 253/423/1074
+f 253/423/1074 316/419/1073 317/424/1075
+s 249
+f 253/423/1076 317/424/1077 286/425/1078
+f 286/425/1078 317/424/1077 319/426/1079
+s 250
+f 255/428/1080 254/429/1081 318/427/1082
+f 318/427/1082 254/429/1081 359/430/1083
+s 251
+f 286/425/1084 319/426/1085 254/429/1086
+f 254/429/1086 319/426/1085 359/430/1087
+s 252
+f 288/381/1088 321/385/1089 232/342/1090
+f 232/342/1090 321/385/1089 289/382/1091
+s 253
+f 257/343/1092 237/291/1093 258/344/1094
+f 258/344/1094 237/291/1093 259/316/1095
+s 254
+f 262/347/1096 290/386/1097 323/431/1098
+f 323/431/1098 290/386/1097 363/432/1099
+s 255
+f 291/348/1100 262/347/1101 325/433/1102
+f 325/433/1102 262/347/1101 323/431/1103
+s 256
+f 263/349/1104 291/348/1105 326/434/1106
+f 326/434/1106 291/348/1105 366/435/1107
+s 257
+f 292/388/1108 263/349/1109 327/436/1110
+f 327/436/1110 263/349/1109 326/434/1111
+s 258
+f 265/322/1112 294/352/1113 328/390/1114
+f 328/390/1114 294/352/1113 368/437/1115
+s 259
+f 294/439/1116 238/323/1117 329/438/1118
+f 329/438/1118 238/323/1117 295/391/1119
+s 260
+f 296/393/1120 331/440/1121 266/324/1122
+f 266/324/1122 331/440/1121 371/441/1123
+s 261
+f 267/325/1124 268/353/1125 296/393/1126
+f 296/393/1126 268/353/1125 372/442/1127
+s 262
+f 292/388/1128 332/443/1129 268/389/1130
+f 268/389/1130 332/443/1129 372/444/1131
+s 263
+f 298/445/1132 335/446/1133 240/395/1134
+f 240/395/1134 335/446/1133 299/396/1135
+s 264
+f 199/447/1136 336/448/1137 298/445/1138
+f 298/445/1138 336/448/1137 335/446/1139
+s off
+f 301/449/1140 219/399/1141 302/398/1142
+s 265
+f 274/451/1143 303/452/1144 341/450/1145
+f 341/450/1145 303/452/1144 382/453/1146
+s 266
+f 303/356/1147 241/295/1148 342/454/1149
+f 342/454/1149 241/295/1148 304/357/1150
+s 267
+f 242/296/1151 343/455/1152 304/357/1153
+f 304/357/1153 343/455/1152 385/456/1154
+s 268
+f 242/296/1155 305/358/1156 343/455/1157
+f 343/455/1157 305/358/1156 370/457/1158
+s 269
+f 245/301/1159 308/365/1160 305/358/1161
+f 305/358/1161 308/365/1160 386/458/1162
+s 270
+f 276/460/1163 344/461/1164 220/459/1165
+f 220/459/1165 344/461/1164 388/462/1166
+s 271
+f 244/404/1167 345/406/1168 276/460/1169
+f 276/460/1169 345/406/1168 344/461/1170
+s 272
+f 277/363/1171 346/463/1172 278/364/1173
+f 278/364/1173 346/463/1172 347/464/1174
+s 273
+f 278/364/1175 347/464/1176 308/365/1177
+f 308/365/1177 347/464/1176 391/465/1178
+s 274
+f 309/407/1179 248/306/1180 348/466/1181
+f 348/466/1181 248/306/1180 223/305/1182
+s 275
+f 309/407/1183 349/467/1184 279/408/1185
+f 279/408/1185 349/467/1184 350/411/1186
+s 276
+f 225/469/1187 310/470/1188 311/468/1189
+f 311/468/1189 310/470/1188 393/471/1190
+s off
+f 223/472/1191 351/473/1192 348/474/1193
+f 204/308/1194 280/368/1195 226/475/1196
+f 313/415/1197 226/280/1198 398/476/1199
+s 277
+f 312/414/1200 281/333/1201 353/477/1202
+f 353/477/1202 281/333/1201 354/416/1203
+s 278
+f 314/417/1204 355/478/1205 282/369/1206
+f 282/369/1206 355/478/1205 356/479/1207
+s 279
+f 282/369/1208 356/479/1209 283/370/1210
+f 283/370/1210 356/479/1209 403/480/1211
+s 280
+f 315/371/1212 283/370/1213 357/418/1214
+f 357/418/1214 283/370/1213 403/480/1215
+s 281
+f 284/481/1216 357/482/1217 285/421/1218
+f 285/421/1218 357/482/1217 404/483/1219
+s 282
+f 256/374/1220 318/377/1221 320/380/1222
+f 320/380/1222 318/377/1221 408/484/1223
+s 283
+f 320/380/1224 360/485/1225 287/378/1226
+f 287/378/1226 360/485/1225 361/486/1227
+s 284
+f 287/378/1228 361/486/1229 288/381/1230
+f 288/381/1230 361/486/1229 362/487/1231
+s 285
+f 288/381/1232 362/487/1233 321/385/1234
+f 321/385/1234 362/487/1233 411/488/1235
+s 286
+f 260/318/1236 321/385/1237 322/384/1238
+f 322/384/1238 321/385/1237 411/488/1239
+s 287
+f 290/386/1240 324/387/1241 364/489/1242
+f 364/489/1242 324/387/1241 414/490/1243
+s 288
+f 324/492/1244 235/290/1245 365/491/1246
+f 365/491/1246 235/290/1245 415/493/1247
+s 289
+f 291/348/1248 325/433/1249 366/435/1250
+f 366/435/1250 325/433/1249 416/494/1251
+s 290
+f 327/436/1252 367/495/1253 292/388/1254
+f 292/388/1254 367/495/1253 373/496/1255
+s 291
+f 277/363/1256 328/390/1257 346/463/1258
+f 346/463/1258 328/390/1257 419/497/1259
+s 292
+f 329/438/1260 369/498/1261 294/439/1262
+f 294/439/1262 369/498/1261 368/499/1263
+s 293
+f 329/500/1264 295/501/1265 370/457/1266
+f 370/457/1266 295/501/1265 343/455/1267
+s 294
+f 295/501/1268 330/502/1269 343/455/1270
+f 343/455/1270 330/502/1269 385/456/1271
+s 295
+f 266/324/1272 371/441/1273 330/392/1274
+f 330/392/1274 371/441/1273 421/503/1275
+s 296
+f 296/393/1276 372/442/1277 331/440/1278
+f 331/440/1278 372/442/1277 422/504/1279
+s 297
+f 292/388/1280 373/496/1281 332/443/1282
+f 332/443/1282 373/496/1281 424/505/1283
+s 298
+f 199/447/1284 218/506/1285 336/448/1286
+f 336/448/1286 218/506/1285 428/507/1287
+s 299
+f 239/509/1288 375/510/1289 270/508/1290
+f 270/508/1290 375/510/1289 376/511/1291
+s 300
+f 270/508/1292 376/511/1293 218/506/1294
+f 218/506/1294 376/511/1293 428/507/1295
+s 301
+f 335/446/1296 377/512/1297 299/396/1298
+f 299/396/1298 377/512/1297 378/513/1299
+s 302
+f 299/396/1300 378/513/1301 307/397/1302
+f 307/397/1302 378/513/1301 431/514/1303
+s off
+f 272/515/1304 338/516/1305 434/517/1306
+s 303
+f 339/401/1307 380/518/1308 302/398/1309
+f 302/398/1309 380/518/1308 436/519/1310
+s 304
+f 273/400/1311 340/403/1312 339/401/1313
+f 339/401/1313 340/403/1312 438/520/1314
+s 305
+f 340/403/1315 274/402/1316 381/521/1317
+f 381/521/1317 274/402/1316 341/522/1318
+s 306
+f 342/523/1319 383/524/1320 303/452/1321
+f 303/452/1321 383/524/1320 382/453/1322
+s 307
+f 342/523/1323 304/526/1324 384/525/1325
+f 384/525/1325 304/526/1324 385/527/1326
+s 308
+f 243/529/1327 387/530/1328 275/528/1329
+f 275/528/1329 387/530/1328 395/531/1330
+s 309
+f 220/459/1331 388/462/1332 243/529/1333
+f 243/529/1333 388/462/1332 387/530/1334
+s 310
+f 307/533/1335 389/534/1336 306/532/1337
+f 306/532/1337 389/534/1336 445/535/1338
+s 311
+f 345/537/1339 306/532/1340 390/536/1341
+f 390/536/1341 306/532/1340 445/535/1342
+s 312
+f 348/466/1343 392/538/1344 309/407/1345
+f 309/407/1345 392/538/1344 349/467/1346
+s 313
+f 350/411/1347 394/539/1348 310/409/1349
+f 310/409/1349 394/539/1348 453/540/1350
+s 314
+f 275/528/1351 395/531/1352 247/541/1353
+f 247/541/1353 395/531/1352 396/542/1354
+s 315
+f 247/541/1355 396/542/1356 223/472/1357
+f 223/472/1357 396/542/1356 351/473/1358
+s 316
+f 352/544/1359 311/545/1360 397/543/1361
+f 397/543/1361 311/545/1360 455/546/1362
+s 317
+f 280/547/1363 352/544/1364 226/280/1365
+f 226/280/1365 352/544/1364 398/476/1366
+s 318
+f 314/417/1367 312/414/1368 399/548/1369
+f 399/548/1369 312/414/1368 400/549/1370
+s 319
+f 312/414/1371 353/477/1372 400/549/1373
+f 400/549/1373 353/477/1372 456/550/1374
+s 320
+f 313/415/1375 401/551/1376 354/416/1377
+f 354/416/1377 401/551/1376 457/552/1378
+s 321
+f 355/478/1379 314/417/1380 402/553/1381
+f 402/553/1381 314/417/1380 399/548/1382
+s 322
+f 285/421/1383 404/483/1384 358/422/1385
+f 358/422/1385 404/483/1384 461/554/1386
+s 323
+f 316/419/1387 358/422/1388 405/555/1389
+f 405/555/1389 358/422/1388 462/556/1390
+s 324
+f 317/424/1391 316/419/1392 406/557/1393
+f 406/557/1393 316/419/1392 405/555/1394
+s 325
+f 319/426/1395 317/424/1396 407/558/1397
+f 407/558/1397 317/424/1396 406/557/1398
+s 326
+f 318/427/1399 359/430/1400 408/559/1401
+f 408/559/1401 359/430/1400 410/560/1402
+s 327
+f 359/430/1403 319/426/1404 409/561/1405
+f 409/561/1405 319/426/1404 407/558/1406
+s 328
+f 360/485/1407 320/380/1408 410/562/1409
+f 410/562/1409 320/380/1408 408/484/1410
+s 329
+f 325/433/1411 323/431/1412 412/563/1413
+f 412/563/1413 323/431/1412 466/564/1414
+s 330
+f 468/566/1415 323/431/1416 413/565/1417
+f 323/431/1416 363/432/1418 413/565/1417
+s 331
+f 290/386/1419 364/489/1420 363/432/1421
+f 363/432/1421 364/489/1420 467/567/1422
+s 332
+f 324/492/1423 365/491/1424 414/568/1425
+f 414/568/1425 365/491/1424 470/569/1426
+s 333
+f 326/434/1427 366/435/1428 417/570/1429
+f 417/570/1429 366/435/1428 472/571/1430
+s 334
+f 327/436/1431 326/434/1432 418/572/1433
+f 418/572/1433 326/434/1432 417/570/1434
+s 335
+f 327/436/1435 418/572/1436 367/495/1437
+f 367/495/1437 418/572/1436 473/573/1438
+s 336
+f 328/390/1439 368/437/1440 419/497/1441
+f 419/497/1441 368/437/1440 475/574/1442
+s 337
+f 369/576/1443 329/577/1444 420/575/1445
+f 420/575/1445 329/577/1444 370/578/1446
+s 338
+f 371/441/1447 331/440/1448 423/579/1449
+f 423/579/1449 331/440/1448 422/504/1450
+s 339
+f 332/580/1451 425/581/1452 372/442/1453
+f 372/442/1453 425/581/1452 478/582/1454
+s 340
+f 334/583/1455 427/584/1456 239/509/1457
+f 239/509/1457 427/584/1456 375/510/1458
+s 341
+f 334/583/1459 269/585/1460 427/584/1461
+f 427/584/1461 269/585/1460 484/586/1462
+s 342
+f 335/588/1463 336/589/1464 429/587/1465
+f 429/587/1465 336/589/1464 489/590/1466
+s 343
+f 377/592/1467 335/588/1468 430/591/1469
+f 430/591/1469 335/588/1468 429/587/1470
+s 344
+f 301/594/1471 435/595/1472 338/593/1473
+f 338/593/1473 435/595/1472 495/596/1474
+s 345
+f 302/597/1475 436/598/1476 301/594/1477
+f 301/594/1477 436/598/1476 435/595/1478
+s 346
+f 380/518/1479 339/401/1480 437/599/1481
+f 437/599/1481 339/401/1480 438/520/1482
+s 347
+f 381/521/1483 439/600/1484 340/403/1485
+f 340/403/1485 439/600/1484 438/520/1486
+s 348
+f 381/521/1487 341/522/1488 440/601/1489
+f 440/601/1489 341/522/1488 441/602/1490
+s 349
+f 341/450/1491 382/453/1492 441/603/1493
+f 441/603/1493 382/453/1492 499/604/1494
+s 350
+f 383/524/1495 342/523/1496 423/605/1497
+f 423/605/1497 342/523/1496 384/525/1498
+s 351
+f 305/358/1499 386/458/1500 370/457/1501
+f 370/457/1501 386/458/1500 420/606/1502
+s 352
+f 386/458/1503 308/365/1504 442/607/1505
+f 442/607/1505 308/365/1504 391/465/1506
+s 353
+f 345/406/1507 443/608/1508 344/461/1509
+f 344/461/1509 443/608/1508 444/609/1510
+s 354
+f 344/461/1511 444/609/1512 388/462/1513
+f 388/462/1513 444/609/1512 503/610/1514
+s 355
+f 307/397/1515 431/514/1516 389/611/1517
+f 389/611/1517 431/514/1516 504/612/1518
+s 356
+f 390/536/1519 446/613/1520 345/537/1521
+f 345/537/1521 446/613/1520 443/614/1522
+s 357
+f 346/463/1523 447/615/1524 347/464/1525
+f 347/464/1525 447/615/1524 448/616/1526
+s 358
+f 347/464/1527 448/616/1528 391/465/1529
+f 391/465/1529 448/616/1528 507/617/1530
+s 359
+f 392/538/1531 348/466/1532 449/618/1533
+f 449/618/1533 348/466/1532 351/619/1534
+s 360
+f 349/467/1535 392/538/1536 450/620/1537
+f 450/620/1537 392/538/1536 508/621/1538
+s 361
+f 349/467/1539 450/620/1540 350/411/1541
+f 350/411/1541 450/620/1540 394/539/1542
+s 362
+f 393/471/1543 451/622/1544 311/468/1545
+f 311/468/1545 451/622/1544 455/623/1546
+s 363
+f 393/471/1547 310/470/1548 452/624/1549
+f 452/624/1549 310/470/1548 453/625/1550
+s 364
+f 396/542/1551 454/626/1552 351/473/1553
+f 351/473/1553 454/626/1552 512/627/1554
+s 365
+f 313/415/1555 398/476/1556 401/551/1557
+f 401/551/1557 398/476/1556 515/628/1558
+s 366
+f 354/416/1559 457/552/1560 353/477/1561
+f 353/477/1561 457/552/1560 519/629/1562
+s 367
+f 355/478/1563 402/553/1564 458/630/1565
+f 458/630/1565 402/553/1564 521/631/1566
+s 368
+f 355/478/1567 458/630/1568 356/479/1569
+f 356/479/1569 458/630/1568 522/632/1570
+s 369
+f 403/480/1571 356/479/1572 459/633/1573
+f 459/633/1573 356/479/1572 522/632/1574
+s 370
+f 403/480/1575 460/634/1576 357/418/1577
+f 357/418/1577 460/634/1576 404/635/1578
+s 371
+f 359/430/1579 409/561/1580 410/560/1581
+f 410/560/1581 409/561/1580 463/636/1582
+s 372
+f 410/562/1583 463/637/1584 360/485/1585
+f 360/485/1585 463/637/1584 464/638/1586
+s 373
+f 360/485/1587 464/638/1588 361/486/1589
+f 361/486/1589 464/638/1588 526/639/1590
+s 374
+f 362/487/1591 361/486/1592 465/640/1593
+f 465/640/1593 361/486/1592 526/639/1594
+s 375
+f 325/433/1595 412/563/1596 416/494/1597
+f 416/494/1597 412/563/1596 528/641/1598
+s 376
+f 363/432/1599 467/567/1600 413/565/1601
+f 413/565/1601 467/567/1600 530/642/1602
+s 377
+f 364/489/1603 414/490/1604 469/643/1605
+f 469/643/1605 414/490/1604 532/644/1606
+s 378
+f 365/491/1607 415/493/1608 470/569/1609
+f 470/569/1609 415/493/1608 533/645/1610
+s 379
+f 235/647/1611 471/648/1612 415/646/1613
+f 415/646/1613 471/648/1612 534/649/1614
+s 380
+f 366/435/1615 416/494/1616 472/571/1617
+f 472/571/1617 416/494/1616 535/650/1618
+s 381
+f 367/495/1619 474/651/1620 373/496/1621
+f 373/496/1621 474/651/1620 480/652/1622
+s 382
+f 346/463/1623 419/497/1624 447/615/1625
+f 447/615/1625 419/497/1624 538/653/1626
+s 383
+f 369/654/1627 476/655/1628 368/437/1629
+f 368/437/1629 476/655/1628 475/574/1630
+s 384
+f 420/606/1631 477/656/1632 369/654/1633
+f 369/654/1633 477/656/1632 476/655/1634
+s 385
+f 330/657/1635 421/658/1636 385/527/1637
+f 385/527/1637 421/658/1636 384/525/1638
+s 386
+f 421/503/1639 371/441/1640 384/659/1641
+f 384/659/1641 371/441/1640 423/579/1642
+s 387
+f 372/442/1643 478/582/1644 422/504/1645
+f 422/504/1645 478/582/1644 540/660/1646
+s 388
+f 424/505/1647 479/661/1648 332/443/1649
+f 332/443/1649 479/661/1648 425/662/1650
+s 389
+f 373/496/1651 480/652/1652 424/505/1653
+f 424/505/1653 480/652/1652 542/663/1654
+s 390
+f 374/665/1655 481/666/1656 333/664/1657
+f 333/664/1657 481/666/1656 482/667/1658
+s 391
+f 333/664/1659 482/667/1660 297/668/1661
+f 297/668/1661 482/667/1660 483/669/1662
+s 392
+f 297/668/1663 483/669/1664 269/585/1665
+f 269/585/1665 483/669/1664 484/586/1666
+s 393
+f 428/670/1667 485/671/1668 336/589/1669
+f 336/589/1669 485/671/1668 489/590/1670
+s 394
+f 375/673/1671 427/674/1672 486/672/1673
+f 486/672/1673 427/674/1672 548/675/1674
+s 395
+f 375/510/1675 487/676/1676 376/511/1677
+f 376/511/1677 487/676/1676 488/677/1678
+s 396
+f 376/511/1679 488/677/1680 428/507/1681
+f 428/507/1681 488/677/1680 546/678/1682
+s 397
+f 430/591/1683 490/679/1684 377/592/1685
+f 377/592/1685 490/679/1684 491/680/1686
+s 398
+f 377/512/1687 491/681/1688 378/513/1689
+f 378/513/1689 491/681/1688 492/682/1690
+s 399
+f 378/513/1691 492/682/1692 431/514/1693
+f 431/514/1693 492/682/1692 552/683/1694
+s 400
+f 272/685/1695 434/686/1696 494/684/1697
+f 494/684/1697 434/686/1696 555/687/1698
+s 401
+f 338/593/1699 495/596/1700 434/686/1701
+f 434/686/1701 495/596/1700 555/687/1702
+s 402
+f 437/599/1703 496/688/1704 380/518/1705
+f 380/518/1705 496/688/1704 497/689/1706
+s 403
+f 380/518/1707 497/689/1708 436/519/1709
+f 436/519/1709 497/689/1708 560/690/1710
+s 404
+f 439/600/1711 381/521/1712 498/691/1713
+f 498/691/1713 381/521/1712 440/601/1714
+s 405
+f 383/524/1715 500/692/1716 382/453/1717
+f 382/453/1717 500/692/1716 499/604/1718
+s 406
+f 442/607/1719 477/656/1720 386/458/1721
+f 386/458/1721 477/656/1720 420/606/1722
+s 407
+f 388/694/1723 501/695/1724 387/693/1725
+f 387/693/1725 501/695/1724 566/696/1726
+s 408
+f 395/698/1727 387/693/1728 502/697/1729
+f 502/697/1729 387/693/1728 566/696/1730
+s 409
+f 445/535/1731 389/534/1732 505/699/1733
+f 505/699/1733 389/534/1732 571/700/1734
+s 410
+f 390/536/1735 506/701/1736 446/613/1737
+f 446/613/1737 506/701/1736 572/702/1738
+s 411
+f 445/535/1739 505/699/1740 390/536/1741
+f 390/536/1741 505/699/1740 506/701/1742
+s 412
+f 391/465/1743 507/617/1744 442/607/1745
+f 442/607/1745 507/617/1744 574/703/1746
+s 413
+f 392/538/1747 449/618/1748 508/621/1749
+f 508/621/1749 449/618/1748 576/704/1750
+s 414
+f 393/471/1751 452/624/1752 451/622/1753
+f 451/622/1753 452/624/1752 578/705/1754
+s 415
+f 394/539/1755 450/620/1756 509/706/1757
+f 509/706/1757 450/620/1756 577/707/1758
+s 416
+f 453/709/1759 394/710/1760 510/708/1761
+f 510/708/1761 394/710/1760 509/711/1762
+s 417
+f 395/531/1763 511/712/1764 396/542/1765
+f 396/542/1765 511/712/1764 454/626/1766
+s 418
+f 351/473/1767 512/627/1768 449/713/1769
+f 449/713/1769 512/627/1768 582/714/1770
+s 419
+f 455/546/1771 513/715/1772 397/543/1773
+f 397/543/1773 513/715/1772 514/716/1774
+s 420
+f 352/544/1775 397/543/1776 398/476/1777
+f 514/716/1778 398/476/1777 397/543/1776
+s 421
+f 402/718/1779 399/719/1780 516/717/1781
+f 516/717/1781 399/719/1780 517/720/1782
+s 422
+f 399/719/1783 400/721/1784 517/720/1785
+f 517/720/1785 400/721/1784 518/722/1786
+s 423
+f 400/721/1787 456/723/1788 518/722/1789
+f 518/722/1789 456/723/1788 589/724/1790
+s 424
+f 353/477/1791 519/629/1792 456/550/1793
+f 456/550/1793 519/629/1792 590/725/1794
+s 425
+f 457/552/1795 401/551/1796 520/726/1797
+f 520/726/1797 401/551/1796 592/727/1798
+s 426
+f 403/480/1799 459/633/1800 460/634/1801
+f 460/634/1801 459/633/1800 596/728/1802
+s 427
+f 404/483/1803 460/729/1804 461/554/1805
+f 461/554/1805 460/729/1804 597/730/1806
+s 428
+f 358/422/1807 461/554/1808 462/556/1809
+f 462/556/1809 461/554/1808 598/731/1810
+s 429
+f 405/555/1811 462/556/1812 523/732/1813
+f 523/732/1813 462/556/1812 599/733/1814
+s 430
+f 406/557/1815 405/555/1816 524/734/1817
+f 524/734/1817 405/555/1816 523/732/1818
+s 431
+f 407/558/1819 406/557/1820 525/735/1821
+f 525/735/1821 406/557/1820 524/734/1822
+s 432
+f 407/558/1823 525/735/1824 409/561/1825
+f 409/561/1825 525/735/1824 600/736/1826
+s 433
+f 465/640/1827 527/737/1828 362/487/1829
+f 362/487/1829 527/737/1828 604/738/1830
+s 434
+f 412/563/1831 466/564/1832 529/739/1833
+f 529/739/1833 466/564/1832 606/740/1834
+s 435
+f 323/431/1835 468/566/1836 466/564/1837
+f 466/564/1837 468/566/1836 607/741/1838
+s 436
+f 413/743/1839 530/744/1840 468/742/1841
+f 468/742/1841 530/744/1840 608/745/1842
+s 437
+f 467/567/1843 364/489/1844 531/746/1845
+f 531/746/1845 364/489/1844 469/643/1846
+s 438
+f 414/568/1847 470/569/1848 532/747/1849
+f 532/747/1849 470/569/1848 611/748/1850
+s 439
+f 417/570/1851 472/571/1852 536/749/1853
+f 536/749/1853 472/571/1852 614/750/1854
+s 440
+f 417/570/1855 536/749/1856 418/572/1857
+f 418/572/1857 536/749/1856 537/751/1858
+s 441
+f 367/495/1859 473/573/1860 474/651/1861
+f 474/651/1861 473/573/1860 615/752/1862
+s 442
+f 418/572/1863 537/751/1864 473/573/1865
+f 473/573/1865 537/751/1864 616/753/1866
+s 443
+f 419/497/1867 475/574/1868 538/653/1869
+f 538/653/1869 475/574/1868 618/754/1870
+s 444
+f 423/579/1871 422/504/1872 539/755/1873
+f 539/755/1873 422/504/1872 540/660/1874
+s 445
+f 479/661/1875 424/505/1876 541/756/1877
+f 541/756/1877 424/505/1876 542/663/1878
+s 446
+f 479/661/1879 543/757/1880 425/662/1881
+f 425/662/1881 543/757/1880 544/758/1882
+s 447
+f 425/662/1883 544/758/1884 478/759/1885
+f 478/759/1885 544/758/1884 621/760/1886
+s 448
+f 374/665/1887 426/761/1888 481/666/1889
+f 481/666/1889 426/761/1888 624/762/1890
+s 449
+f 484/763/1891 545/764/1892 427/674/1893
+f 427/674/1893 545/764/1892 548/675/1894
+s 450
+f 428/507/1895 546/678/1896 485/765/1897
+f 485/765/1897 546/678/1896 629/766/1898
+s 451
+f 486/672/1899 547/767/1900 375/673/1901
+f 375/673/1901 547/767/1900 487/768/1902
+s 452
+f 429/587/1903 549/769/1904 430/591/1905
+f 430/591/1905 549/769/1904 551/770/1906
+s 453
+f 489/590/1907 550/771/1908 429/587/1909
+f 429/587/1909 550/771/1908 549/769/1910
+s 454
+f 430/591/1911 551/770/1912 490/679/1913
+f 490/679/1913 551/770/1912 635/772/1914
+s 455
+f 379/774/1915 553/775/1916 433/773/1917
+f 433/773/1917 553/775/1916 638/776/1918
+s 456
+f 300/777/1919 554/778/1920 379/774/1921
+f 379/774/1921 554/778/1920 553/775/1922
+s 457
+f 272/685/1923 494/684/1924 300/777/1925
+f 300/777/1925 494/684/1924 554/778/1926
+s 458
+f 435/780/1927 436/519/1928 556/779/1929
+f 556/779/1929 436/519/1928 560/690/1930
+s 459
+f 435/595/1931 557/781/1932 495/596/1933
+f 495/596/1933 557/781/1932 640/782/1934
+s 460
+f 496/688/1935 437/599/1936 558/783/1937
+f 558/783/1937 437/599/1936 559/784/1938
+s 461
+f 437/599/1939 438/520/1940 559/784/1941
+f 559/784/1941 438/520/1940 439/600/1942
+s 462
+f 498/691/1943 561/785/1944 439/600/1945
+f 439/600/1945 561/785/1944 559/784/1946
+s 463
+f 498/691/1947 440/601/1948 562/786/1949
+f 562/786/1949 440/601/1948 645/787/1950
+s 464
+f 441/602/1951 563/788/1952 440/601/1953
+f 440/601/1953 563/788/1952 645/787/1954
+s 465
+f 441/603/1955 499/604/1956 563/789/1957
+f 563/789/1957 499/604/1956 646/790/1958
+s 466
+f 500/692/1959 383/524/1960 564/791/1961
+f 564/791/1961 383/524/1960 423/605/1962
+s 467
+f 477/656/1963 442/607/1964 565/792/1965
+f 565/792/1965 442/607/1964 574/703/1966
+s 468
+f 388/462/1967 503/610/1968 501/793/1969
+f 501/793/1969 503/610/1968 648/794/1970
+s 469
+f 502/697/1971 567/795/1972 395/698/1973
+f 395/698/1973 567/795/1972 511/796/1974
+s 470
+f 446/613/1975 568/797/1976 443/614/1977
+f 443/614/1977 568/797/1976 569/798/1978
+s 471
+f 443/608/1979 569/799/1980 444/609/1981
+f 444/609/1981 569/799/1980 570/800/1982
+s 472
+f 444/609/1983 570/800/1984 503/610/1985
+f 503/610/1985 570/800/1984 651/801/1986
+s 473
+f 389/803/1987 504/804/1988 571/802/1989
+f 571/802/1989 504/804/1988 652/805/1990
+s 474
+f 431/514/1991 552/683/1992 504/612/1993
+f 504/612/1993 552/683/1992 653/806/1994
+s 475
+f 447/615/1995 573/807/1996 448/616/1997
+f 448/616/1997 573/807/1996 575/808/1998
+s 476
+f 448/616/1999 575/808/2000 507/617/2001
+f 507/617/2001 575/808/2000 657/809/2002
+s 477
+f 450/620/2003 508/621/2004 577/707/2005
+f 577/707/2005 508/621/2004 658/810/2006
+s 478
+f 451/811/2007 579/812/2008 455/546/2009
+f 455/546/2009 579/812/2008 585/813/2010
+s 479
+f 453/709/2011 580/815/2012 452/814/2013
+f 452/814/2013 580/815/2012 661/816/2014
+s 480
+f 453/709/2015 510/708/2016 581/817/2017
+f 581/817/2017 510/708/2016 664/818/2018
+s 481
+f 511/712/2019 583/819/2020 454/626/2021
+f 454/626/2021 583/819/2020 584/820/2022
+s 482
+f 454/626/2023 584/820/2024 512/627/2025
+f 512/627/2025 584/820/2024 666/821/2026
+s 483
+f 455/546/2027 585/813/2028 513/715/2029
+f 513/715/2029 585/813/2028 667/822/2030
+s 484
+f 586/823/2031 398/476/2032 670/824/2033
+f 670/824/2033 398/476/2032 514/716/2034
+s 485
+f 515/628/2035 587/825/2036 401/551/2037
+f 401/551/2037 587/825/2036 592/727/2038
+s 486
+f 398/476/2039 588/826/2040 515/628/2041
+f 515/628/2041 588/826/2040 673/827/2042
+s 487
+f 402/718/2043 516/717/2044 521/828/2045
+f 521/828/2045 516/717/2044 674/829/2046
+s 488
+f 519/629/2047 457/552/2048 591/830/2049
+f 591/830/2049 457/552/2048 520/726/2050
+s 489
+f 458/630/2051 521/631/2052 593/831/2053
+f 593/831/2053 521/631/2052 680/832/2054
+s 490
+f 522/632/2055 458/630/2056 594/833/2057
+f 594/833/2057 458/630/2056 593/831/2058
+s 491
+f 459/633/2059 522/632/2060 595/834/2061
+f 595/834/2061 522/632/2060 594/833/2062
+s 492
+f 409/561/2063 600/736/2064 463/636/2065
+f 463/636/2065 600/736/2064 464/835/2066
+s 493
+f 526/837/2067 464/838/2068 601/836/2069
+f 601/836/2069 464/838/2068 600/839/2070
+s 494
+f 526/837/2071 602/841/2072 465/840/2073
+f 465/840/2073 602/841/2072 603/842/2074
+s 495
+f 465/840/2075 603/842/2076 527/843/2077
+f 527/843/2077 603/842/2076 686/844/2078
+s 496
+f 412/563/2079 529/739/2080 528/641/2081
+f 528/641/2081 529/739/2080 688/845/2082
+s 497
+f 528/641/2083 605/846/2084 416/494/2085
+f 416/494/2085 605/846/2084 613/847/2086
+s 498
+f 467/567/2087 531/746/2088 530/642/2089
+f 530/642/2089 531/746/2088 690/848/2090
+s 499
+f 469/643/2091 532/644/2092 609/849/2093
+f 609/849/2093 532/644/2092 691/850/2094
+s 500
+f 531/746/2095 469/643/2096 610/851/2097
+f 610/851/2097 469/643/2096 609/849/2098
+s 501
+f 470/569/2099 533/645/2100 611/748/2101
+f 611/748/2101 533/645/2100 693/852/2102
+s 502
+f 415/646/2103 534/649/2104 533/853/2105
+f 533/853/2105 534/649/2104 694/854/2106
+s 503
+f 471/648/2107 612/855/2108 534/649/2109
+f 534/649/2109 612/855/2108 694/854/2110
+s 504
+f 416/494/2111 613/847/2112 535/650/2113
+f 535/650/2113 613/847/2112 695/856/2114
+s 505
+f 472/571/2115 535/650/2116 614/750/2117
+f 614/750/2117 535/650/2116 696/857/2118
+s 506
+f 474/651/2119 617/858/2120 480/652/2121
+f 480/652/2121 617/858/2120 623/859/2122
+s 507
+f 447/615/2123 538/653/2124 573/807/2125
+f 573/807/2125 538/653/2124 700/860/2126
+s 508
+f 476/655/2127 619/861/2128 475/574/2129
+f 475/574/2129 619/861/2128 618/754/2130
+s 509
+f 477/656/2131 565/792/2132 476/655/2133
+f 476/655/2133 565/792/2132 619/861/2134
+s 510
+f 539/863/2135 620/864/2136 423/862/2137
+f 423/862/2137 620/864/2136 647/865/2138
+s 511
+f 478/759/2139 621/760/2140 540/866/2141
+f 540/866/2141 621/760/2140 539/863/2142
+s 512
+f 541/756/2143 622/867/2144 479/661/2145
+f 479/661/2145 622/867/2144 543/757/2146
+s 513
+f 480/652/2147 623/859/2148 542/663/2149
+f 542/663/2149 623/859/2148 704/868/2150
+s 514
+f 482/870/2151 481/871/2152 625/869/2153
+f 625/869/2153 481/871/2152 710/872/2154
+s 515
+f 482/667/2155 626/873/2156 483/669/2157
+f 483/669/2157 626/873/2156 627/874/2158
+s 516
+f 483/669/2159 627/874/2160 484/586/2161
+f 484/586/2161 627/874/2160 628/875/2162
+s 517
+f 484/586/2163 628/875/2164 545/876/2165
+f 545/876/2165 628/875/2164 711/877/2166
+s 518
+f 489/590/2167 485/671/2168 550/771/2169
+f 550/771/2169 485/671/2168 714/878/2170
+s 519
+f 486/672/2171 630/879/2172 547/767/2173
+f 547/767/2173 630/879/2172 715/880/2174
+s 520
+f 548/675/2175 631/881/2176 486/672/2177
+f 486/672/2177 631/881/2176 630/879/2178
+s 521
+f 547/767/2179 632/882/2180 487/768/2181
+f 487/768/2181 632/882/2180 633/883/2182
+s 522
+f 487/676/2183 633/884/2184 488/677/2185
+f 488/677/2185 633/884/2184 634/885/2186
+s 523
+f 488/677/2187 634/885/2188 546/678/2189
+f 546/678/2189 634/885/2188 713/886/2190
+s 524
+f 490/679/2191 636/887/2192 491/680/2193
+f 491/680/2193 636/887/2192 492/888/2194
+s 525
+f 492/888/2195 636/887/2196 552/889/2197
+f 552/889/2197 636/887/2196 653/890/2198
+s 526
+f 493/892/2199 637/893/2200 337/891/2201
+f 337/891/2201 637/893/2200 720/894/2202
+s 527
+f 493/892/2203 433/773/2204 637/893/2205
+f 637/893/2205 433/773/2204 638/776/2206
+s 528
+f 555/896/2207 639/897/2208 494/895/2209
+f 494/895/2209 639/897/2208 725/898/2210
+s 529
+f 495/596/2211 640/782/2212 555/687/2213
+f 555/687/2213 640/782/2212 724/899/2214
+s 530
+f 435/901/2215 556/902/2216 557/900/2217
+f 557/900/2217 556/902/2216 726/903/2218
+s 531
+f 558/783/2219 641/904/2220 496/688/2221
+f 496/688/2221 641/904/2220 642/905/2222
+s 532
+f 496/688/2223 642/905/2224 497/689/2225
+f 497/689/2225 642/905/2224 643/906/2226
+s 533
+f 497/689/2227 643/906/2228 560/690/2229
+f 560/690/2229 643/906/2228 556/779/2230
+s 534
+f 561/785/2231 498/691/2232 644/907/2233
+f 644/907/2233 498/691/2232 562/786/2234
+s 535
+f 499/604/2235 500/692/2236 646/790/2237
+f 646/790/2237 500/692/2236 564/791/2238
+s 536
+f 423/605/2239 647/908/2240 564/791/2241
+f 564/791/2241 647/908/2240 735/909/2242
+s 537
+f 566/696/2243 501/695/2244 649/910/2245
+f 649/910/2245 501/695/2244 738/911/2246
+s 538
+f 502/697/2247 650/912/2248 567/795/2249
+f 567/795/2249 650/912/2248 739/913/2250
+s 539
+f 566/696/2251 649/910/2252 502/697/2253
+f 502/697/2253 649/910/2252 650/912/2254
+s 540
+f 446/613/2255 572/702/2256 568/797/2257
+f 568/797/2257 572/702/2256 740/914/2258
+s 541
+f 505/916/2259 571/917/2260 654/915/2261
+f 654/915/2261 571/917/2260 743/918/2262
+s 542
+f 506/920/2263 505/916/2264 655/919/2265
+f 655/919/2265 505/916/2264 654/915/2266
+s 543
+f 506/920/2267 656/922/2268 572/921/2269
+f 572/921/2269 656/922/2268 745/923/2270
+s 544
+f 507/617/2271 657/809/2272 574/703/2273
+f 574/703/2273 657/809/2272 747/924/2274
+s 545
+f 508/926/2275 576/927/2276 658/925/2277
+f 658/925/2277 576/927/2276 749/928/2278
+s 546
+f 576/930/2279 449/931/2280 659/929/2281
+f 659/929/2281 449/931/2280 582/932/2282
+s 547
+f 451/934/2283 578/935/2284 579/933/2285
+f 579/933/2285 578/935/2284 752/936/2286
+s 548
+f 578/938/2287 452/814/2288 660/937/2289
+f 660/937/2289 452/814/2288 661/816/2290
+s 549
+f 453/709/2291 581/817/2292 580/815/2293
+f 580/815/2293 581/817/2292 755/939/2294
+s 550
+f 510/941/2295 509/706/2296 662/940/2297
+f 662/940/2297 509/706/2296 663/942/2298
+s 551
+f 509/706/2299 577/707/2300 663/942/2301
+f 663/942/2301 577/707/2300 751/943/2302
+s 552
+f 567/795/2303 665/944/2304 511/796/2305
+f 511/796/2305 665/944/2304 583/945/2306
+s 553
+f 512/627/2307 666/821/2308 582/714/2309
+f 582/714/2309 666/821/2308 759/946/2310
+s 554
+f 513/715/2311 668/947/2312 514/716/2313
+f 514/716/2313 668/947/2312 670/824/2314
+s 555
+f 586/823/2315 669/948/2316 398/476/2317
+f 398/476/2317 669/948/2316 763/949/2318
+s 556
+f 587/825/2319 515/628/2320 671/950/2321
+f 671/950/2321 515/628/2320 673/827/2322
+s 557
+f 398/476/2323 672/951/2324 588/826/2325
+f 588/826/2325 672/951/2324 766/952/2326
+s 558
+f 516/717/2327 517/720/2328 675/953/2329
+f 675/953/2329 517/720/2328 676/954/2330
+s 559
+f 517/720/2331 518/722/2332 676/954/2333
+f 676/954/2333 518/722/2332 677/955/2334
+s 560
+f 518/957/2335 589/958/2336 677/956/2337
+f 677/956/2337 589/958/2336 769/959/2338
+s 561
+f 456/960/2339 590/961/2340 589/958/2341
+f 589/958/2341 590/961/2340 770/962/2342
+s 562
+f 519/629/2343 591/830/2344 590/725/2345
+f 590/725/2345 591/830/2344 771/963/2346
+s 563
+f 591/830/2347 520/726/2348 678/964/2349
+f 678/964/2349 520/726/2348 679/965/2350
+s 564
+f 520/726/2351 592/727/2352 679/965/2353
+f 679/965/2353 592/727/2352 772/966/2354
+s 565
+f 595/834/2355 681/967/2356 459/633/2357
+f 459/633/2357 681/967/2356 596/728/2358
+s 566
+f 596/968/2359 682/969/2360 460/729/2361
+f 460/729/2361 682/969/2360 597/730/2362
+s 567
+f 461/554/2363 597/730/2364 598/731/2365
+f 598/731/2365 597/730/2364 778/970/2366
+s 568
+f 462/556/2367 598/731/2368 599/733/2369
+f 599/733/2369 598/731/2368 779/971/2370
+s 569
+f 523/973/2371 599/974/2372 683/972/2373
+f 683/972/2373 599/974/2372 780/975/2374
+s 570
+f 524/977/2375 523/973/2376 684/976/2377
+f 684/976/2377 523/973/2376 683/972/2378
+s 571
+f 524/977/2379 684/976/2380 525/978/2381
+f 525/978/2381 684/976/2380 685/979/2382
+s 572
+f 525/978/2383 685/979/2384 600/839/2385
+f 600/839/2385 685/979/2384 601/836/2386
+s 573
+f 526/837/2387 601/836/2388 602/841/2389
+f 602/841/2389 601/836/2388 781/980/2390
+s 574
+f 362/487/2391 604/738/2392 687/981/2393
+f 687/981/2393 604/738/2392 785/982/2394
+s 575
+f 527/843/2395 609/849/2396 604/983/2397
+f 604/983/2397 609/849/2396 691/850/2398
+s 576
+f 528/641/2399 688/845/2400 605/846/2401
+f 605/846/2401 688/845/2400 786/984/2402
+s 577
+f 529/739/2403 606/740/2404 689/985/2405
+f 689/985/2405 606/740/2404 788/986/2406
+s 578
+f 466/564/2407 607/741/2408 606/740/2409
+f 606/740/2409 607/741/2408 789/987/2410
+s 579
+f 468/989/2411 608/990/2412 607/988/2413
+f 607/988/2413 608/990/2412 790/991/2414
+s 580
+f 530/642/2415 690/848/2416 608/992/2417
+f 608/992/2417 690/848/2416 791/993/2418
+s 581
+f 610/851/2419 692/994/2420 531/746/2421
+f 531/746/2421 692/994/2420 690/848/2422
+s 582
+f 532/747/2423 611/748/2424 691/995/2425
+f 691/995/2425 611/748/2424 693/852/2426
+s 583
+f 536/749/2427 614/750/2428 697/996/2429
+f 697/996/2429 614/750/2428 796/997/2430
+s 584
+f 536/749/2431 698/998/2432 537/751/2433
+f 537/751/2433 698/998/2432 699/999/2434
+s 585
+f 474/651/2435 615/752/2436 617/858/2437
+f 617/858/2437 615/752/2436 798/1000/2438
+s 586
+f 473/573/2439 616/753/2440 615/752/2441
+f 615/752/2441 616/753/2440 799/1001/2442
+s 587
+f 537/751/2443 699/999/2444 616/753/2445
+f 616/753/2445 699/999/2444 706/1002/2446
+s 588
+f 538/653/2447 618/754/2448 700/860/2449
+f 700/860/2449 618/754/2448 801/1003/2450
+s 589
+f 620/864/2451 539/863/2452 701/1004/2453
+f 701/1004/2453 539/863/2452 621/760/2454
+s 590
+f 622/867/2455 541/756/2456 702/1005/2457
+f 702/1005/2457 541/756/2456 703/1006/2458
+s 591
+f 541/756/2459 542/663/2460 703/1006/2461
+f 703/1006/2461 542/663/2460 704/868/2462
+s 592
+f 622/867/2463 705/1007/2464 543/757/2465
+f 543/757/2465 705/1007/2464 706/1002/2466
+s 593
+f 543/757/2467 706/1002/2468 544/758/2469
+f 544/758/2469 706/1002/2468 699/999/2470
+s 594
+f 621/760/2471 544/758/2472 701/1004/2473
+f 701/1004/2473 544/758/2472 699/999/2474
+s 595
+f 624/1008/2475 707/1009/2476 481/871/2477
+f 481/871/2477 707/1009/2476 710/872/2478
+s 596
+f 624/762/2479 426/761/2480 708/1010/2481
+f 708/1010/2481 426/761/2480 432/1011/2482
+s 597
+f 625/869/2483 709/1012/2484 482/870/2485
+f 482/870/2485 709/1012/2484 626/1013/2486
+s 598
+f 548/675/2487 545/764/2488 631/881/2489
+f 631/881/2489 545/764/2488 814/1014/2490
+s 599
+f 485/1015/2491 629/1016/2492 714/1018/2493
+f 714/1018/2493 629/1016/2492 712/1017/2494
+s 600
+f 546/678/2495 713/886/2496 629/766/2497
+f 629/766/2497 713/886/2496 816/1019/2498
+s 601
+f 547/767/2499 715/880/2500 632/882/2501
+f 632/882/2501 715/880/2500 820/1020/2502
+s 602
+f 549/1022/2503 550/1023/2504 716/1021/2505
+f 716/1021/2505 550/1023/2504 823/1024/2506
+s 603
+f 549/1022/2507 717/1026/2508 551/1025/2509
+f 551/1025/2509 717/1026/2508 719/1027/2510
+s 604
+f 635/772/2511 718/1028/2512 490/679/2513
+f 490/679/2513 718/1028/2512 636/887/2514
+s 605
+f 551/1025/2515 719/1027/2516 635/1029/2517
+f 635/1029/2517 719/1027/2516 718/1030/2518
+s 606
+f 337/891/2519 720/894/2520 432/1011/2521
+f 432/1011/2521 720/894/2520 708/1010/2522
+s 607
+f 554/778/2523 721/1031/2524 553/775/2525
+f 553/775/2525 721/1031/2524 722/1032/2526
+s 608
+f 553/775/2527 722/1032/2528 638/776/2529
+f 638/776/2529 722/1032/2528 827/1033/2530
+s 609
+f 554/1035/2531 494/895/2532 723/1034/2533
+f 723/1034/2533 494/895/2532 725/898/2534
+s 610
+f 555/687/2535 724/899/2536 639/1036/2537
+f 639/1036/2537 724/899/2536 828/1037/2538
+s 611
+f 557/781/2539 727/1038/2540 640/782/2541
+f 640/782/2541 727/1038/2540 830/1039/2542
+s 612
+f 641/1041/2543 558/1042/2544 728/1040/2545
+f 728/1040/2545 558/1042/2544 833/1043/2546
+s 613
+f 559/1044/2547 729/1045/2548 558/1042/2549
+f 558/1042/2549 729/1045/2548 833/1043/2550
+s 614
+f 561/1047/2551 730/1048/2552 559/1046/2553
+f 559/1046/2553 730/1048/2552 729/1049/2554
+s 615
+f 644/1050/2555 731/1051/2556 561/1047/2557
+f 561/1047/2557 731/1051/2556 730/1048/2558
+s 616
+f 562/786/2559 732/1052/2560 644/907/2561
+f 644/907/2561 732/1052/2560 837/1053/2562
+s off
+f 645/787/2563 732/1052/2564 562/786/2565
+s 617
+f 563/788/2566 733/1054/2567 645/787/2568
+f 645/787/2568 733/1054/2567 838/1055/2569
+s 618
+f 646/790/2570 734/1056/2571 563/789/2572
+f 563/789/2572 734/1056/2571 733/1057/2573
+s 619
+f 564/791/2574 735/909/2575 646/790/2576
+f 646/790/2576 735/909/2575 734/1056/2577
+s 620
+f 565/792/2578 574/703/2579 736/1058/2580
+f 736/1058/2580 574/703/2579 747/924/2581
+s 621
+f 648/1060/2582 737/1061/2583 501/1059/2584
+f 501/1059/2584 737/1061/2583 738/1062/2585
+s 622
+f 503/610/2586 651/801/2587 648/794/2588
+f 648/794/2588 651/801/2587 841/1063/2589
+s 623
+f 568/797/2590 741/1064/2591 569/798/2592
+f 569/798/2592 741/1064/2591 570/1065/2593
+s 624
+f 570/1065/2594 741/1064/2595 651/1066/2596
+f 651/1066/2596 741/1064/2595 841/1067/2597
+s 625
+f 652/805/2598 719/1068/2599 571/802/2600
+f 571/802/2600 719/1068/2599 717/1069/2601
+s 626
+f 652/805/2602 504/804/2603 742/1070/2604
+f 742/1070/2604 504/804/2603 653/1071/2605
+s 627
+f 655/919/2606 744/1072/2607 506/920/2608
+f 506/920/2608 744/1072/2607 656/922/2609
+s 628
+f 573/1074/2610 746/1075/2611 575/1073/2612
+f 575/1073/2612 746/1075/2611 748/1076/2613
+s 629
+f 575/1073/2614 748/1076/2615 657/1077/2616
+f 657/1077/2616 748/1076/2615 849/1078/2617
+s 630
+f 659/1079/2618 750/1080/2619 576/927/2620
+f 576/927/2620 750/1080/2619 844/1081/2621
+s 631
+f 577/707/2622 658/810/2623 751/943/2624
+f 751/943/2624 658/810/2623 850/1082/2625
+s 632
+f 578/938/2626 660/937/2627 753/1083/2628
+f 753/1083/2628 660/937/2627 853/1084/2629
+s 633
+f 585/813/2630 579/812/2631 754/1085/2632
+f 754/1085/2632 579/812/2631 852/1086/2633
+s 634
+f 580/815/2634 756/1087/2635 661/816/2636
+f 661/816/2636 756/1087/2635 854/1088/2637
+s 635
+f 510/941/2638 662/940/2639 664/1089/2640
+f 664/1089/2640 662/940/2639 857/1090/2641
+s 636
+f 581/1092/2642 664/1093/2643 757/1091/2644
+f 757/1091/2644 664/1093/2643 860/1094/2645
+s 637
+f 567/795/2646 739/913/2647 665/944/2648
+f 665/944/2648 739/913/2647 861/1095/2649
+s 638
+f 659/929/2650 582/932/2651 758/1096/2652
+f 758/1096/2652 582/932/2651 759/1097/2653
+s 639
+f 665/944/2654 760/1098/2655 583/945/2656
+f 583/945/2656 760/1098/2655 584/1099/2657
+s 640
+f 584/1099/2658 760/1098/2659 666/1100/2660
+f 666/1100/2660 760/1098/2659 759/1101/2661
+s 641
+f 667/822/2662 761/1102/2663 513/715/2664
+f 513/715/2664 761/1102/2663 668/947/2665
+s 642
+f 667/822/2666 585/813/2667 762/1103/2668
+f 762/1103/2668 585/813/2667 754/1085/2669
+s 643
+f 587/825/2670 671/950/2671 764/1104/2672
+f 764/1104/2672 671/950/2671 866/1105/2673
+s 644
+f 587/825/2674 765/1106/2675 592/727/2676
+f 592/727/2676 765/1106/2675 772/966/2677
+s off
+f 672/951/2678 398/476/2679 763/949/2680
+s 645
+f 588/826/2681 767/1107/2682 673/827/2683
+f 673/827/2683 767/1107/2682 869/1108/2684
+s 646
+f 674/829/2685 516/717/2686 768/1109/2687
+f 768/1109/2687 516/717/2686 675/953/2688
+s 647
+f 521/828/2689 674/829/2690 680/1110/2691
+f 680/1110/2691 674/829/2690 871/1111/2692
+s 648
+f 591/1113/2693 678/1114/2694 771/1112/2695
+f 771/1112/2695 678/1114/2694 877/1115/2696
+s 649
+f 593/831/2697 680/832/2698 773/1116/2699
+f 773/1116/2699 680/832/2698 879/1117/2700
+s 650
+f 594/833/2701 593/831/2702 774/1118/2703
+f 774/1118/2703 593/831/2702 773/1116/2704
+s 651
+f 595/834/2705 594/833/2706 775/1119/2707
+f 775/1119/2707 594/833/2706 774/1118/2708
+s 652
+f 681/967/2709 595/834/2710 776/1120/2711
+f 776/1120/2711 595/834/2710 775/1119/2712
+s 653
+f 682/969/2713 596/968/2714 777/1121/2715
+f 777/1121/2715 596/968/2714 681/1122/2716
+s 654
+f 597/730/2717 682/969/2718 778/970/2719
+f 778/970/2719 682/969/2718 881/1123/2720
+s 655
+f 602/841/2721 782/1124/2722 603/842/2723
+f 603/842/2723 782/1124/2722 783/1125/2724
+s 656
+f 527/843/2725 686/844/2726 609/849/2727
+f 609/849/2727 686/844/2726 610/851/2728
+s 657
+f 603/842/2729 783/1125/2730 686/844/2731
+f 686/844/2731 783/1125/2730 885/1126/2732
+s 658
+f 362/1128/2733 687/1129/2734 784/1127/2735
+f 784/1127/2735 687/1129/2734 793/1130/2736
+s 659
+f 529/739/2737 689/985/2738 688/845/2739
+f 688/845/2739 689/985/2738 886/1131/2740
+s 660
+f 605/846/2741 787/1132/2742 613/847/2743
+f 613/847/2743 787/1132/2742 794/1133/2744
+s 661
+f 692/994/2745 610/851/2746 792/1134/2747
+f 792/1134/2747 610/851/2746 890/1135/2748
+s 662
+f 693/852/2749 533/645/2750 785/982/2751
+f 785/982/2751 533/645/2750 687/981/2752
+s 663
+f 694/854/2753 793/1130/2754 533/853/2755
+f 533/853/2755 793/1130/2754 687/1129/2756
+s 664
+f 694/854/2757 612/855/2758 793/1130/2759
+f 793/1130/2759 612/855/2758 784/1127/2760
+s 665
+f 613/847/2761 794/1133/2762 695/856/2763
+f 695/856/2763 794/1133/2762 891/1136/2764
+s 666
+f 535/650/2765 695/856/2766 696/857/2767
+f 696/857/2767 695/856/2766 892/1137/2768
+s 667
+f 696/857/2769 795/1138/2770 614/750/2771
+f 614/750/2771 795/1138/2770 796/997/2772
+s 668
+f 697/996/2773 797/1139/2774 536/749/2775
+f 536/749/2775 797/1139/2774 698/998/2776
+s 669
+f 617/858/2777 800/1140/2778 623/859/2779
+f 623/859/2779 800/1140/2778 805/1141/2780
+s 670
+f 573/1143/2781 700/1144/2782 746/1142/2783
+f 746/1142/2783 700/1144/2782 895/1145/2784
+s 671
+f 619/861/2785 802/1146/2786 618/754/2787
+f 618/754/2787 802/1146/2786 801/1003/2788
+s 672
+f 565/792/2789 736/1058/2790 619/861/2791
+f 619/861/2791 736/1058/2790 802/1146/2792
+s 673
+f 701/1004/2793 803/1147/2794 620/864/2795
+f 620/864/2795 803/1147/2794 804/1148/2796
+s 674
+f 620/864/2797 804/1148/2798 647/865/2799
+f 647/865/2799 804/1148/2798 839/1149/2800
+s 675
+f 622/867/2801 702/1005/2802 705/1007/2803
+f 705/1007/2803 702/1005/2802 896/1150/2804
+s 676
+f 623/859/2805 805/1141/2806 704/868/2807
+f 704/868/2807 805/1141/2806 899/1151/2808
+s 677
+f 624/762/2809 806/1153/2810 707/1152/2811
+f 707/1152/2811 806/1153/2810 900/1154/2812
+s 678
+f 708/1010/2813 807/1155/2814 624/762/2815
+f 624/762/2815 807/1155/2814 806/1153/2816
+s 679
+f 625/869/2817 808/1156/2818 709/1012/2819
+f 709/1012/2819 808/1156/2818 902/1157/2820
+s 680
+f 710/872/2821 809/1158/2822 625/869/2823
+f 625/869/2823 809/1158/2822 808/1156/2824
+s 681
+f 626/1013/2825 709/1012/2826 810/1159/2827
+f 810/1159/2827 709/1012/2826 903/1160/2828
+s 682
+f 626/873/2829 810/1161/2830 627/874/2831
+f 627/874/2831 810/1161/2830 811/1162/2832
+s 683
+f 627/874/2833 811/1162/2834 628/875/2835
+f 628/875/2835 811/1162/2834 813/1163/2836
+s 684
+f 711/1165/2837 812/1166/2838 545/1164/2839
+f 545/1164/2839 812/1166/2838 814/1167/2840
+s 685
+f 628/875/2841 813/1163/2842 711/877/2843
+f 711/877/2843 813/1163/2842 905/1168/2844
+s 686
+f 712/1017/2845 629/1016/2846 815/1169/2847
+f 815/1169/2847 629/1016/2846 816/1170/2848
+s 687
+f 714/1171/2849 817/1172/2850 550/1023/2851
+f 550/1023/2851 817/1172/2850 823/1024/2852
+s 688
+f 630/1174/2853 631/1175/2854 818/1173/2855
+f 818/1173/2855 631/1175/2854 910/1176/2856
+s 689
+f 630/1174/2857 819/1178/2858 715/1177/2859
+f 715/1177/2859 819/1178/2858 908/1179/2860
+s 690
+f 632/882/2861 821/1180/2862 633/883/2863
+f 633/883/2863 821/1180/2862 634/1181/2864
+s 691
+f 634/885/2865 821/1182/2866 713/886/2867
+f 713/886/2867 821/1182/2866 816/1019/2868
+s 692
+f 716/1021/2869 822/1183/2870 549/1022/2871
+f 549/1022/2871 822/1183/2870 717/1026/2872
+s 693
+f 718/1028/2873 742/1184/2874 636/887/2875
+f 636/887/2875 742/1184/2874 653/890/2876
+s 694
+f 720/1186/2877 637/1187/2878 824/1185/2879
+f 824/1185/2879 637/1187/2878 914/1188/2880
+s 695
+f 638/1189/2881 825/1190/2882 637/1187/2883
+f 637/1187/2883 825/1190/2882 914/1188/2884
+s 696
+f 721/1192/2885 554/1193/2886 826/1191/2887
+f 826/1191/2887 554/1193/2886 723/1194/2888
+s 697
+f 725/898/2889 639/897/2890 829/1195/2891
+f 829/1195/2891 639/897/2890 921/1196/2892
+s 698
+f 640/782/2893 830/1039/2894 724/899/2895
+f 724/899/2895 830/1039/2894 920/1197/2896
+s 699
+f 557/900/2897 726/903/2898 727/1198/2899
+f 727/1198/2899 726/903/2898 922/1199/2900
+s 700
+f 726/903/2901 556/902/2902 831/1200/2903
+f 831/1200/2903 556/902/2902 643/1201/2904
+s 701
+f 641/1203/2905 728/1204/2906 832/1202/2907
+f 832/1202/2907 728/1204/2906 927/1205/2908
+s 702
+f 641/1203/2909 834/1207/2910 642/1206/2911
+f 642/1206/2911 834/1207/2910 835/1208/2912
+s 703
+f 642/1210/2913 835/1211/2914 643/1209/2915
+f 643/1209/2915 835/1211/2914 931/1212/2916
+s 704
+f 644/1214/2917 836/1215/2918 731/1213/2919
+f 731/1213/2919 836/1215/2918 933/1216/2920
+s 705
+f 645/787/2921 838/1055/2922 732/1052/2923
+f 732/1052/2923 838/1055/2922 934/1217/2924
+s 706
+f 647/865/2925 839/1149/2926 735/1218/2927
+f 735/1218/2927 839/1149/2926 734/1219/2928
+s 707
+f 737/1061/2929 648/1060/2930 840/1220/2931
+f 840/1220/2931 648/1060/2930 841/1221/2932
+s 708
+f 649/1223/2933 738/1224/2934 842/1222/2935
+f 842/1222/2935 738/1224/2934 848/1225/2936
+s 709
+f 650/1227/2937 649/1223/2938 843/1226/2939
+f 843/1226/2939 649/1223/2938 842/1222/2940
+s 710
+f 650/1227/2941 844/1081/2942 739/1228/2943
+f 739/1228/2943 844/1081/2942 750/1080/2944
+s 711
+f 568/797/2945 740/914/2946 741/1064/2947
+f 741/1064/2947 740/914/2946 937/1229/2948
+s 712
+f 572/921/2949 745/923/2950 740/1230/2951
+f 740/1230/2951 745/923/2950 937/1231/2952
+s 713
+f 719/1068/2953 652/805/2954 718/1232/2955
+f 718/1232/2955 652/805/2954 742/1070/2956
+s 714
+f 655/1234/2957 654/1235/2958 845/1233/2959
+f 845/1233/2959 654/1235/2958 846/1236/2960
+s 715
+f 654/1235/2961 743/1237/2962 846/1236/2963
+f 846/1236/2963 743/1237/2962 939/1238/2964
+s 716
+f 571/917/2965 717/1026/2966 743/918/2967
+f 743/918/2967 717/1026/2966 822/1183/2968
+s 717
+f 744/1240/2969 655/1234/2970 847/1239/2971
+f 847/1239/2971 655/1234/2970 845/1233/2972
+s 718
+f 744/1072/2973 848/1225/2974 656/922/2975
+f 656/922/2975 848/1225/2974 738/1224/2976
+s 719
+f 656/922/2977 738/1224/2978 745/923/2979
+f 745/923/2979 738/1224/2978 737/1241/2980
+s 720
+f 657/1077/2981 849/1078/2982 747/1242/2983
+f 747/1242/2983 849/1078/2982 942/1243/2984
+s 721
+f 658/810/2985 749/1244/2986 850/1082/2987
+f 850/1082/2987 749/1244/2986 944/1245/2988
+s 722
+f 576/927/2989 844/1081/2990 749/928/2991
+f 749/928/2991 844/1081/2990 938/1246/2992
+s 723
+f 750/1080/2993 659/1079/2994 851/1247/2995
+f 851/1247/2995 659/1079/2994 758/1248/2996
+s 724
+f 579/933/2997 752/936/2998 852/1249/2999
+f 852/1249/2999 752/936/2998 946/1250/3000
+s 725
+f 578/938/3001 753/1083/3002 752/1251/3003
+f 752/1251/3003 753/1083/3002 947/1252/3004
+s 726
+f 661/816/3005 854/1088/3006 660/937/3007
+f 660/937/3007 854/1088/3006 949/1253/3008
+s 727
+f 755/939/3009 855/1254/3010 580/815/3011
+f 580/815/3011 855/1254/3010 756/1087/3012
+s 728
+f 755/1256/3013 581/1092/3014 856/1255/3015
+f 856/1255/3015 581/1092/3014 757/1091/3016
+s 729
+f 662/940/3017 663/942/3018 858/1257/3019
+f 858/1257/3019 663/942/3018 859/1258/3020
+s 730
+f 663/942/3021 751/943/3022 859/1258/3023
+f 859/1258/3023 751/943/3022 945/1259/3024
+s 731
+f 665/944/3025 861/1095/3026 760/1098/3027
+f 760/1098/3027 861/1095/3026 851/1260/3028
+s 732
+f 761/1102/3029 667/822/3030 862/1261/3031
+f 862/1261/3031 667/822/3030 762/1103/3032
+s 733
+f 761/1263/3033 863/1264/3034 668/1262/3035
+f 668/1262/3035 863/1264/3034 956/1265/3036
+s 734
+f 668/947/3037 864/1266/3038 670/824/3039
+f 670/824/3039 864/1266/3038 586/823/3040
+s off
+f 865/1267/3041 587/825/3042 764/1104/3043
+s 735
+f 671/950/3044 673/827/3045 867/1268/3046
+f 867/1268/3046 673/827/3045 869/1108/3047
+s 736
+f 766/952/3048 868/1269/3049 588/826/3050
+f 588/826/3050 868/1269/3049 767/1107/3051
+s 737
+f 768/1109/3052 870/1270/3053 674/829/3054
+f 674/829/3054 870/1270/3053 871/1111/3055
+s 738
+f 768/1272/3056 675/1273/3057 872/1271/3058
+f 872/1271/3058 675/1273/3057 873/1274/3059
+s 739
+f 675/1273/3060 676/1275/3061 873/1274/3062
+f 873/1274/3062 676/1275/3061 874/1276/3063
+s 740
+f 676/1275/3064 677/1277/3065 874/1276/3066
+f 874/1276/3066 677/1277/3065 965/1278/3067
+s 741
+f 769/1279/3068 875/1280/3069 677/1277/3070
+f 677/1277/3070 875/1280/3069 965/1278/3071
+s 742
+f 769/959/3072 589/958/3073 876/1281/3074
+f 876/1281/3074 589/958/3073 770/962/3075
+s 743
+f 590/961/3076 771/1112/3077 770/962/3078
+f 770/962/3078 771/1112/3077 968/1282/3079
+s 744
+f 678/964/3080 679/965/3081 877/1283/3082
+f 877/1283/3082 679/965/3081 878/1284/3083
+s 745
+f 679/965/3084 772/966/3085 878/1284/3086
+f 878/1284/3086 772/966/3085 969/1285/3087
+s 746
+f 776/1286/3088 880/1287/3089 681/1122/3090
+f 681/1122/3090 880/1287/3089 777/1121/3091
+s 747
+f 682/969/3092 777/1121/3093 881/1123/3094
+f 881/1123/3094 777/1121/3093 975/1288/3095
+s 748
+f 598/731/3096 778/970/3097 779/971/3098
+f 779/971/3098 778/970/3097 976/1289/3099
+s 749
+f 599/974/3100 779/1290/3101 780/975/3102
+f 780/975/3102 779/1290/3101 977/1291/3103
+s 750
+f 683/972/3104 780/975/3105 882/1292/3106
+f 882/1292/3106 780/975/3105 978/1293/3107
+s 751
+f 683/972/3108 882/1292/3109 684/976/3110
+f 684/976/3110 882/1292/3109 883/1294/3111
+s 752
+f 684/976/3112 883/1294/3113 685/979/3114
+f 685/979/3114 883/1294/3113 884/1295/3115
+s 753
+f 685/979/3116 884/1295/3117 601/836/3118
+f 601/836/3118 884/1295/3117 781/980/3119
+s 754
+f 602/841/3120 781/980/3121 782/1124/3122
+f 782/1124/3122 781/980/3121 980/1296/3123
+s 755
+f 604/738/3124 691/995/3125 785/982/3126
+f 785/982/3126 691/995/3125 693/852/3127
+s 756
+f 786/984/3128 887/1297/3129 605/846/3130
+f 605/846/3130 887/1297/3129 787/1132/3131
+s 757
+f 688/845/3132 886/1131/3133 786/984/3134
+f 786/984/3134 886/1131/3133 984/1298/3135
+s 758
+f 689/985/3136 788/986/3137 888/1299/3138
+f 888/1299/3138 788/986/3137 987/1300/3139
+s 759
+f 606/740/3140 789/987/3141 788/986/3142
+f 788/986/3142 789/987/3141 988/1301/3143
+s 760
+f 607/741/3144 790/1302/3145 789/987/3146
+f 789/987/3146 790/1302/3145 989/1303/3147
+s 761
+f 608/992/3148 791/993/3149 790/1302/3150
+f 790/1302/3150 791/993/3149 990/1304/3151
+s 762
+f 692/994/3152 889/1305/3153 690/848/3154
+f 690/848/3154 889/1305/3153 791/993/3155
+s 763
+f 610/851/3156 686/844/3157 890/1135/3158
+f 890/1135/3158 686/844/3157 885/1126/3159
+s 764
+f 692/994/3160 792/1134/3161 889/1305/3162
+f 889/1305/3162 792/1134/3161 991/1306/3163
+s 765
+f 994/1308/3164 893/1307/3165 696/857/3166
+f 893/1307/3165 795/1138/3167 696/857/3166
+s 766
+f 797/1139/3168 894/1309/3169 698/998/3170
+f 698/998/3170 894/1309/3169 803/1147/3171
+s 767
+f 698/998/3172 803/1147/3173 699/999/3174
+f 699/999/3174 803/1147/3173 701/1004/3175
+s 768
+f 617/858/3176 798/1000/3177 800/1140/3178
+f 800/1140/3178 798/1000/3177 998/1310/3179
+s 769
+f 615/752/3180 799/1001/3181 798/1000/3182
+f 798/1000/3182 799/1001/3181 999/1311/3183
+s 770
+f 616/753/3184 706/1002/3185 799/1001/3186
+f 799/1001/3186 706/1002/3185 705/1007/3187
+s 771
+f 700/1144/3188 801/1312/3189 895/1145/3190
+f 895/1145/3190 801/1312/3189 1001/1313/3191
+s 772
+f 702/1005/3192 703/1006/3193 897/1314/3194
+f 897/1314/3194 703/1006/3193 898/1315/3195
+s 773
+f 703/1006/3196 704/868/3197 898/1315/3198
+f 898/1315/3198 704/868/3197 899/1151/3199
+s 774
+f 710/872/3200 707/1009/3201 809/1158/3202
+f 809/1158/3202 707/1009/3201 1008/1316/3203
+s 775
+f 807/1155/3204 708/1010/3205 901/1317/3206
+f 901/1317/3206 708/1010/3205 720/894/3207
+s 776
+f 812/1166/3208 711/1165/3209 904/1318/3210
+f 904/1318/3210 711/1165/3209 905/1319/3211
+s 777
+f 814/1320/3212 906/1321/3213 631/1175/3214
+f 631/1175/3214 906/1321/3213 910/1176/3215
+s 778
+f 815/1323/3216 907/1324/3217 712/1322/3218
+f 712/1322/3218 907/1324/3217 908/1179/3219
+s 779
+f 712/1322/3220 908/1179/3221 714/1171/3222
+f 714/1171/3222 908/1179/3221 819/1178/3223
+s 780
+f 714/1171/3224 819/1178/3225 817/1172/3226
+f 817/1172/3226 819/1178/3225 909/1325/3227
+s 781
+f 818/1173/3228 909/1325/3229 630/1174/3230
+f 630/1174/3230 909/1325/3229 819/1178/3231
+s 782
+f 632/882/3232 820/1020/3233 821/1180/3234
+f 821/1180/3234 820/1020/3233 907/1326/3235
+s 783
+f 715/1177/3236 908/1179/3237 820/1327/3238
+f 820/1327/3238 908/1179/3237 907/1324/3239
+s 784
+f 822/1329/3240 716/1330/3241 911/1328/3242
+f 911/1328/3242 716/1330/3241 912/1331/3243
+s 785
+f 716/1330/3244 823/1332/3245 912/1331/3246
+f 912/1331/3246 823/1332/3245 1015/1333/3247
+s 786
+f 824/1335/3248 913/1336/3249 720/1334/3250
+f 720/1334/3250 913/1336/3249 901/1337/3251
+s 787
+f 638/776/3252 827/1033/3253 825/1338/3254
+f 825/1338/3254 827/1033/3253 1020/1339/3255
+s 788
+f 826/1341/3256 915/1342/3257 721/1340/3258
+f 721/1340/3258 915/1342/3257 916/1343/3259
+s 789
+f 721/1031/3260 916/1344/3261 722/1032/3262
+f 722/1032/3262 916/1344/3261 917/1345/3263
+s 790
+f 722/1032/3264 917/1345/3265 827/1033/3266
+f 827/1033/3266 917/1345/3265 1022/1346/3267
+s 791
+f 723/1034/3268 918/1347/3269 826/1341/3270
+f 826/1341/3270 918/1347/3269 1021/1348/3271
+s 792
+f 725/898/3272 829/1195/3273 723/1034/3274
+f 723/1034/3274 829/1195/3273 918/1347/3275
+s 793
+f 828/1350/3276 919/1351/3277 639/1349/3278
+f 639/1349/3278 919/1351/3277 921/1352/3279
+s 794
+f 724/899/3280 920/1197/3281 828/1037/3282
+f 828/1037/3282 920/1197/3281 1024/1353/3283
+s 795
+f 831/1200/3284 923/1354/3285 726/903/3286
+f 726/903/3286 923/1354/3285 922/1199/3287
+s 796
+f 643/1209/3288 924/1356/3289 831/1355/3290
+f 831/1355/3290 924/1356/3289 1026/1357/3291
+s 797
+f 830/1359/3292 727/1360/3293 925/1358/3294
+f 925/1358/3294 727/1360/3293 922/1361/3295
+s 798
+f 832/1202/3296 926/1362/3297 641/1203/3298
+f 641/1203/3298 926/1362/3297 834/1207/3299
+s 799
+f 728/1040/3300 833/1043/3301 928/1363/3302
+f 928/1363/3302 833/1043/3301 1029/1364/3303
+s 800
+f 730/1048/3304 929/1365/3305 729/1049/3306
+f 729/1049/3306 929/1365/3305 930/1366/3307
+s 801
+f 729/1045/3308 930/1367/3309 833/1043/3310
+f 833/1043/3310 930/1367/3309 1029/1364/3311
+s 802
+f 731/1051/3312 932/1368/3313 730/1048/3314
+f 730/1048/3314 932/1368/3313 929/1365/3315
+s 803
+f 644/907/3316 837/1053/3317 836/1369/3318
+f 836/1369/3318 837/1053/3317 1031/1370/3319
+s 804
+f 732/1052/3320 934/1217/3321 837/1053/3322
+f 837/1053/3322 934/1217/3321 1033/1371/3323
+s 805
+f 734/1219/3324 839/1149/3325 733/1372/3326
+f 733/1372/3326 839/1149/3325 935/1373/3327
+s 806
+f 733/1054/3328 935/1374/3329 838/1055/3330
+f 838/1055/3330 935/1374/3329 1034/1375/3331
+s 807
+f 736/1377/3332 747/1242/3333 936/1376/3334
+f 936/1376/3334 747/1242/3333 942/1243/3335
+s 808
+f 840/1378/3336 937/1231/3337 737/1241/3338
+f 737/1241/3338 937/1231/3337 745/923/3339
+s 809
+f 843/1226/3340 938/1246/3341 650/1227/3342
+f 650/1227/3342 938/1246/3341 844/1081/3343
+s 810
+f 841/1067/3344 741/1064/3345 840/1379/3346
+f 840/1379/3346 741/1064/3345 937/1229/3347
+s 811
+f 847/1239/3348 940/1380/3349 744/1240/3350
+f 744/1240/3350 940/1380/3349 848/1381/3351
+s 812
+f 746/1383/3352 941/1384/3353 748/1382/3354
+f 748/1382/3354 941/1384/3353 943/1385/3355
+s 813
+f 748/1076/3356 943/1386/3357 849/1078/3358
+f 849/1078/3358 943/1386/3357 1043/1387/3359
+s 814
+f 851/1247/3360 861/1388/3361 750/1080/3362
+f 750/1080/3362 861/1388/3361 739/1228/3363
+s 815
+f 751/943/3364 850/1082/3365 945/1259/3366
+f 945/1259/3366 850/1082/3365 1044/1389/3367
+s 816
+f 753/1083/3368 853/1084/3369 948/1390/3370
+f 948/1390/3370 853/1084/3369 1047/1391/3371
+s 817
+f 660/937/3372 949/1253/3373 853/1084/3374
+f 853/1084/3374 949/1253/3373 1048/1392/3375
+s 818
+f 762/1394/3376 754/1395/3377 950/1393/3378
+f 950/1393/3378 754/1395/3377 852/1396/3379
+s 819
+f 755/1256/3380 856/1255/3381 855/1397/3382
+f 855/1397/3382 856/1255/3381 1049/1398/3383
+s 820
+f 855/1400/3384 951/1401/3385 756/1399/3386
+f 756/1399/3386 951/1401/3385 854/1402/3387
+s 821
+f 664/1404/3388 857/1405/3389 860/1403/3390
+f 860/1403/3390 857/1405/3389 1050/1406/3391
+s 822
+f 662/940/3392 952/1407/3393 857/1090/3394
+f 857/1090/3394 952/1407/3393 1051/1408/3395
+s 823
+f 662/940/3396 858/1257/3397 952/1407/3398
+f 952/1407/3398 858/1257/3397 1052/1409/3399
+s 824
+f 856/1411/3400 757/1412/3401 953/1410/3402
+f 953/1410/3402 757/1412/3401 954/1413/3403
+s 825
+f 757/1415/3404 860/1403/3405 954/1414/3406
+f 954/1414/3406 860/1403/3405 1053/1416/3407
+s 826
+f 851/1260/3408 758/1417/3409 760/1098/3410
+f 760/1098/3410 758/1417/3409 759/1101/3411
+s 827
+f 862/1418/3412 955/1419/3413 761/1263/3414
+f 761/1263/3414 955/1419/3413 863/1264/3415
+s 828
+f 762/1394/3416 950/1393/3417 862/1418/3418
+f 862/1418/3418 950/1393/3417 955/1419/3419
+s 829
+f 668/1262/3420 956/1265/3421 864/1420/3422
+f 864/1420/3422 956/1265/3421 1054/1421/3423
+s 830
+f 586/823/3424 864/1266/3425 669/948/3426
+f 669/948/3426 864/1266/3425 1056/1422/3427
+s 831
+f 865/1267/3428 957/1423/3429 587/825/3430
+f 587/825/3430 957/1423/3429 1057/1424/3431
+s 832
+f 866/1105/3432 671/950/3433 958/1425/3434
+f 958/1425/3434 671/950/3433 867/1268/3435
+s 833
+f 587/825/3436 959/1426/3437 765/1106/3438
+f 765/1106/3438 959/1426/3437 1061/1427/3439
+s 834
+f 765/1106/3440 961/1428/3441 772/966/3442
+f 772/966/3442 961/1428/3441 969/1285/3443
+s 835
+f 767/1107/3444 868/1269/3445 962/1429/3446
+f 962/1429/3446 868/1269/3445 1064/1430/3447
+s 836
+f 869/1108/3448 767/1107/3449 963/1431/3450
+f 963/1431/3450 767/1107/3449 962/1429/3451
+s 837
+f 870/1433/3452 768/1272/3453 964/1432/3454
+f 964/1432/3454 768/1272/3453 872/1271/3455
+s 838
+f 680/1110/3456 871/1111/3457 879/1434/3458
+f 879/1434/3458 871/1111/3457 1067/1435/3459
+s 839
+f 875/1280/3460 769/1279/3461 966/1436/3462
+f 966/1436/3462 769/1279/3461 876/1437/3463
+s 840
+f 876/1281/3464 770/962/3465 967/1438/3466
+f 967/1438/3466 770/962/3465 968/1282/3467
+s 841
+f 771/1112/3468 877/1115/3469 968/1282/3470
+f 968/1282/3470 877/1115/3469 1075/1439/3471
+s 842
+f 773/1116/3472 879/1117/3473 970/1440/3474
+f 970/1440/3474 879/1117/3473 1077/1441/3475
+s 843
+f 774/1118/3476 773/1116/3477 971/1442/3478
+f 971/1442/3478 773/1116/3477 970/1440/3479
+s 844
+f 775/1119/3480 774/1118/3481 972/1443/3482
+f 972/1443/3482 774/1118/3481 971/1442/3483
+s 845
+f 776/1120/3484 775/1119/3485 973/1444/3486
+f 973/1444/3486 775/1119/3485 972/1443/3487
+s 846
+f 880/1287/3488 776/1286/3489 974/1445/3490
+f 974/1445/3490 776/1286/3489 973/1446/3491
+s 847
+f 777/1121/3492 880/1287/3493 975/1288/3494
+f 975/1288/3494 880/1287/3493 1078/1447/3495
+s 848
+f 778/1449/3496 881/1450/3497 976/1448/3498
+f 976/1448/3498 881/1450/3497 1079/1451/3499
+s 849
+f 884/1295/3500 979/1452/3501 781/980/3502
+f 781/980/3502 979/1452/3501 980/1296/3503
+s 850
+f 782/1124/3504 981/1453/3505 783/1125/3506
+f 783/1125/3506 981/1453/3505 982/1454/3507
+s 851
+f 783/1125/3508 982/1454/3509 885/1126/3510
+f 885/1126/3510 982/1454/3509 890/1135/3511
+s 852
+f 689/985/3512 888/1299/3513 886/1131/3514
+f 886/1131/3514 888/1299/3513 1082/1455/3515
+s 853
+f 887/1297/3516 786/984/3517 983/1456/3518
+f 983/1456/3518 786/984/3517 984/1298/3519
+s 854
+f 887/1297/3520 985/1457/3521 787/1132/3522
+f 787/1132/3522 985/1457/3521 986/1458/3523
+s 855
+f 787/1132/3524 986/1458/3525 794/1133/3526
+f 794/1133/3526 986/1458/3525 1084/1459/3527
+s 856
+f 791/993/3528 889/1305/3529 990/1304/3530
+f 990/1304/3530 889/1305/3529 1086/1460/3531
+s 857
+f 792/1134/3532 890/1135/3533 991/1306/3534
+f 991/1306/3534 890/1135/3533 982/1454/3535
+s 858
+f 794/1133/3536 992/1461/3537 891/1136/3538
+f 891/1136/3538 992/1461/3537 979/1452/3539
+s 859
+f 695/856/3540 891/1136/3541 892/1137/3542
+f 892/1137/3542 891/1136/3541 883/1294/3543
+s 860
+f 696/857/3544 892/1137/3545 993/1462/3546
+f 993/1462/3546 892/1137/3545 1081/1463/3547
+s 861
+f 795/1465/3548 893/1466/3549 995/1464/3550
+f 995/1464/3550 893/1466/3549 1088/1467/3551
+s 862
+f 796/1469/3552 795/1465/3553 996/1468/3554
+f 996/1468/3554 795/1465/3553 995/1464/3555
+s 863
+f 697/1470/3556 796/1469/3557 1091/1472/3558
+f 1091/1472/3558 796/1469/3557 997/1471/3559
+s 864
+f 800/1140/3560 1000/1473/3561 805/1141/3562
+f 805/1141/3562 1000/1473/3561 1004/1474/3563
+s 865
+f 746/1383/3564 895/1475/3565 941/1384/3566
+f 941/1384/3566 895/1475/3565 1095/1476/3567
+s 866
+f 802/1146/3568 1002/1477/3569 801/1003/3570
+f 801/1003/3570 1002/1477/3569 1001/1478/3571
+s 867
+f 736/1058/3572 936/1479/3573 802/1146/3574
+f 802/1146/3574 936/1479/3573 1002/1477/3575
+s 868
+f 804/1148/3576 803/1147/3577 1003/1480/3578
+f 1003/1480/3578 803/1147/3577 894/1309/3579
+s 869
+f 839/1149/3580 804/1148/3581 935/1373/3582
+f 935/1373/3582 804/1148/3581 1003/1480/3583
+s 870
+f 702/1005/3584 897/1314/3585 896/1150/3586
+f 896/1150/3586 897/1314/3585 1096/1481/3587
+s 871
+f 705/1007/3588 896/1150/3589 799/1001/3590
+f 799/1001/3590 896/1150/3589 999/1311/3591
+s 872
+f 805/1141/3592 1004/1474/3593 899/1151/3594
+f 899/1151/3594 1004/1474/3593 1099/1482/3595
+s 873
+f 807/1155/3596 1005/1483/3597 806/1153/3598
+f 806/1153/3598 1005/1483/3597 1007/1484/3599
+s 874
+f 900/1486/3600 1006/1487/3601 707/1485/3602
+f 707/1485/3602 1006/1487/3601 1008/1488/3603
+s 875
+f 806/1153/3604 1007/1484/3605 900/1154/3606
+f 900/1154/3606 1007/1484/3605 1101/1489/3607
+s 876
+f 901/1317/3608 1009/1490/3609 807/1155/3610
+f 807/1155/3610 1009/1490/3609 1005/1483/3611
+s 877
+f 808/1492/3612 809/1493/3613 1010/1491/3614
+f 1010/1491/3614 809/1493/3613 1105/1494/3615
+s 878
+f 709/1012/3616 902/1157/3617 903/1160/3618
+f 903/1160/3618 902/1157/3617 1106/1495/3619
+s 879
+f 808/1492/3620 1011/1497/3621 902/1496/3622
+f 902/1496/3622 1011/1497/3621 1014/1498/3623
+s 880
+f 903/1160/3624 1012/1499/3625 810/1159/3626
+f 810/1159/3626 1012/1499/3625 811/1500/3627
+s 881
+f 811/1162/3628 1012/1501/3629 813/1163/3630
+f 813/1163/3630 1012/1501/3629 905/1168/3631
+s 882
+f 904/1503/3632 1013/1504/3633 812/1502/3634
+f 812/1502/3634 1013/1504/3633 1014/1498/3635
+s 883
+f 812/1502/3636 1014/1498/3637 814/1320/3638
+f 814/1320/3638 1014/1498/3637 1011/1497/3639
+s 884
+f 814/1320/3640 1011/1497/3641 906/1321/3642
+f 906/1321/3642 1011/1497/3641 1104/1505/3643
+s 885
+f 907/1326/3644 815/1506/3645 821/1180/3646
+f 821/1180/3646 815/1506/3645 816/1507/3647
+s 886
+f 823/1332/3648 817/1508/3649 1015/1333/3650
+f 1015/1333/3650 817/1508/3649 1108/1509/3651
+s 887
+f 818/1511/3652 1016/1512/3653 909/1510/3654
+f 909/1510/3654 1016/1512/3653 1109/1513/3655
+s 888
+f 910/1514/3656 1017/1515/3657 818/1511/3658
+f 818/1511/3658 1017/1515/3657 1016/1512/3659
+s 889
+f 911/1328/3660 939/1238/3661 822/1329/3662
+f 822/1329/3662 939/1238/3661 743/1237/3663
+s 890
+f 824/1517/3664 1018/1518/3665 913/1516/3666
+f 913/1516/3666 1018/1518/3665 1113/1519/3667
+s 891
+f 914/1188/3668 1019/1520/3669 824/1185/3670
+f 824/1185/3670 1019/1520/3669 1018/1521/3671
+s 892
+f 914/1188/3672 825/1190/3673 1019/1520/3674
+f 1019/1520/3674 825/1190/3673 1115/1522/3675
+s 893
+f 826/1341/3676 1021/1348/3677 915/1342/3678
+f 915/1342/3678 1021/1348/3677 1116/1523/3679
+s 894
+f 919/1351/3680 828/1350/3681 1023/1524/3682
+f 1023/1524/3682 828/1350/3681 1024/1525/3683
+s 895
+f 921/1527/3684 1025/1528/3685 829/1526/3686
+f 829/1526/3686 1025/1528/3685 1120/1529/3687
+s 896
+f 830/1039/3688 925/1530/3689 920/1197/3690
+f 920/1197/3690 925/1530/3689 1024/1353/3691
+s 897
+f 831/1355/3692 1026/1357/3693 923/1531/3694
+f 923/1531/3694 1026/1357/3693 1121/1532/3695
+s 898
+f 643/1209/3696 931/1212/3697 924/1356/3698
+f 924/1356/3698 931/1212/3697 1122/1533/3699
+s 899
+f 926/1535/3700 832/1536/3701 1027/1534/3702
+f 1027/1534/3702 832/1536/3701 1032/1537/3703
+s 900
+f 927/1205/3704 1028/1538/3705 832/1202/3706
+f 832/1202/3706 1028/1538/3705 1032/1539/3707
+s 901
+f 728/1204/3708 928/1540/3709 927/1205/3710
+f 927/1205/3710 928/1540/3709 1125/1541/3711
+s 902
+f 926/1535/3712 1030/1543/3713 834/1542/3714
+f 834/1542/3714 1030/1543/3713 1126/1544/3715
+s 903
+f 835/1546/3716 834/1542/3717 931/1545/3718
+f 931/1545/3718 834/1542/3717 1126/1544/3719
+s 904
+f 731/1213/3720 933/1216/3721 932/1547/3722
+f 932/1547/3722 933/1216/3721 1127/1548/3723
+s 905
+f 836/1215/3724 1032/1549/3725 933/1216/3726
+f 933/1216/3726 1032/1549/3725 1028/1550/3727
+s 906
+f 838/1055/3728 1034/1375/3729 934/1217/3730
+f 934/1217/3730 1034/1375/3729 1130/1551/3731
+s 907
+f 843/1553/3732 842/1554/3733 1035/1552/3734
+f 1035/1552/3734 842/1554/3733 1036/1555/3735
+s 908
+f 842/1554/3736 848/1381/3737 1036/1555/3738
+f 1036/1555/3738 848/1381/3737 940/1380/3739
+s 909
+f 938/1557/3740 843/1553/3741 1037/1556/3742
+f 1037/1556/3742 843/1553/3741 1035/1552/3743
+s 910
+f 847/1239/3744 845/1233/3745 1038/1558/3746
+f 1038/1558/3746 845/1233/3745 1039/1559/3747
+s 911
+f 845/1233/3748 846/1236/3749 1039/1559/3750
+f 1039/1559/3750 846/1236/3749 1040/1560/3751
+s 912
+f 846/1236/3752 939/1238/3753 1040/1560/3754
+f 1040/1560/3754 939/1238/3753 1110/1561/3755
+s 913
+f 940/1380/3756 847/1239/3757 1041/1562/3758
+f 1041/1562/3758 847/1239/3757 1038/1558/3759
+s 914
+f 942/1243/3760 849/1078/3761 1042/1563/3762
+f 1042/1563/3762 849/1078/3761 1043/1387/3763
+s 915
+f 850/1082/3764 944/1245/3765 1044/1389/3766
+f 1044/1389/3766 944/1245/3765 1134/1564/3767
+s 916
+f 749/1244/3768 938/1557/3769 944/1245/3770
+f 944/1245/3770 938/1557/3769 1037/1556/3771
+s 917
+f 852/1396/3772 946/1565/3773 950/1393/3774
+f 950/1393/3774 946/1565/3773 1045/1566/3775
+s 918
+f 946/1568/3776 752/1251/3777 1045/1567/3778
+f 1045/1567/3778 752/1251/3777 947/1252/3779
+s 919
+f 947/1252/3780 753/1083/3781 1046/1569/3782
+f 1046/1569/3782 753/1083/3781 948/1390/3783
+s 920
+f 854/1402/3784 951/1401/3785 949/1570/3786
+f 949/1570/3786 951/1401/3785 1138/1571/3787
+s 921
+f 855/1400/3788 1049/1572/3789 951/1401/3790
+f 951/1401/3790 1049/1572/3789 1139/1573/3791
+s 922
+f 859/1258/3792 945/1259/3793 858/1257/3794
+f 858/1257/3794 945/1259/3793 1135/1574/3795
+s 923
+f 856/1411/3796 953/1410/3797 1049/1575/3798
+f 1049/1575/3798 953/1410/3797 1139/1576/3799
+s 924
+f 863/1577/3800 955/1578/3801 1046/1569/3802
+f 1046/1569/3802 955/1578/3801 1136/1579/3803
+s 925
+f 956/1580/3804 863/1577/3805 948/1390/3806
+f 948/1390/3806 863/1577/3805 1046/1569/3807
+s 926
+f 763/949/3808 669/948/3809 1055/1581/3810
+f 1055/1581/3810 669/948/3809 1056/1422/3811
+s 927
+f 958/1425/3812 867/1268/3813 1058/1582/3814
+f 1058/1582/3814 867/1268/3813 1059/1583/3815
+s 928
+f 867/1268/3816 869/1108/3817 1059/1583/3818
+f 1059/1583/3818 869/1108/3817 963/1431/3819
+s 929
+f 959/1426/3820 587/825/3821 1149/1585/3822
+f 587/825/3821 1060/1584/3823 1149/1585/3822
+s 930
+f 765/1587/3824 960/1588/3825 961/1586/3826
+f 961/1586/3826 960/1588/3825 1150/1589/3827
+s 931
+f 960/1590/3828 765/1591/3829 1151/1593/3830
+f 1151/1593/3830 765/1591/3829 1062/1592/3831
+s 932
+f 766/952/3832 1063/1594/3833 868/1269/3834
+f 868/1269/3834 1063/1594/3833 1064/1430/3835
+s 933
+f 766/952/3836 672/951/3837 1063/1594/3838
+f 1063/1594/3838 672/951/3837 1145/1595/3839
+s 934
+f 964/1432/3840 1065/1596/3841 870/1433/3842
+f 870/1433/3842 1065/1596/3841 1066/1597/3843
+s 935
+f 870/1270/3844 1066/1598/3845 871/1111/3846
+f 871/1111/3846 1066/1598/3845 1067/1435/3847
+s 936
+f 964/1432/3848 872/1271/3849 1068/1599/3850
+f 1068/1599/3850 872/1271/3849 1069/1600/3851
+s 937
+f 872/1271/3852 873/1274/3853 1069/1600/3854
+f 1069/1600/3854 873/1274/3853 1157/1601/3855
+s 938
+f 874/1276/3856 1070/1602/3857 873/1274/3858
+f 873/1274/3858 1070/1602/3857 1157/1601/3859
+s 939
+f 965/1278/3860 1071/1603/3861 874/1276/3862
+f 874/1276/3862 1071/1603/3861 1070/1602/3863
+s 940
+f 966/1436/3864 1072/1604/3865 875/1280/3866
+f 875/1280/3866 1072/1604/3865 1159/1605/3867
+s 941
+f 965/1278/3868 875/1280/3869 1073/1606/3870
+f 1073/1606/3870 875/1280/3869 1159/1605/3871
+s 942
+f 966/1436/3872 876/1437/3873 1074/1607/3874
+f 1074/1607/3874 876/1437/3873 967/1608/3875
+s 943
+f 877/1115/3876 878/1609/3877 1075/1439/3878
+f 1075/1439/3878 878/1609/3877 1076/1610/3879
+s 944
+f 878/1609/3880 969/1611/3881 1076/1610/3882
+f 1076/1610/3882 969/1611/3881 1162/1612/3883
+s 945
+f 880/1287/3884 974/1445/3885 1078/1447/3886
+f 1078/1447/3886 974/1445/3885 1168/1613/3887
+s 946
+f 881/1450/3888 975/1614/3889 1079/1451/3890
+f 1079/1451/3890 975/1614/3889 1169/1615/3891
+s 947
+f 976/1448/3892 1080/1616/3893 779/1290/3894
+f 779/1290/3894 1080/1616/3893 977/1291/3895
+s 948
+f 780/975/3896 977/1291/3897 978/1293/3898
+f 978/1293/3898 977/1291/3897 1080/1616/3899
+s 949
+f 882/1292/3900 978/1293/3901 1081/1463/3902
+f 1081/1463/3902 978/1293/3901 1170/1617/3903
+s 950
+f 882/1292/3904 1081/1463/3905 883/1294/3906
+f 883/1294/3906 1081/1463/3905 892/1137/3907
+s 951
+f 883/1294/3908 891/1136/3909 884/1295/3910
+f 884/1295/3910 891/1136/3909 979/1452/3911
+s 952
+f 782/1124/3912 980/1296/3913 981/1453/3914
+f 981/1453/3914 980/1296/3913 1171/1618/3915
+s 953
+f 983/1456/3916 1083/1619/3917 887/1297/3918
+f 887/1297/3918 1083/1619/3917 985/1457/3919
+s 954
+f 886/1131/3920 1082/1455/3921 984/1298/3922
+f 984/1298/3922 1082/1455/3921 983/1456/3923
+s 955
+f 987/1300/3924 21/14/3925 888/1299/3926
+f 21/14/3925 13/9/3927 888/1299/3926
+f 1085/1620/3928 888/1299/3926 13/9/3927
+s 956
+f 788/986/3929 988/1301/3930 987/1300/3931
+f 987/1300/3931 988/1301/3930 1177/1621/3932
+s 957
+f 789/987/3933 989/1303/3934 988/1301/3935
+f 988/1301/3935 989/1303/3934 1178/1622/3936
+s 958
+f 790/1302/3937 990/1304/3938 989/1303/3939
+f 989/1303/3939 990/1304/3938 1086/1460/3940
+s 959
+f 889/1305/3941 991/1306/3942 1086/1460/3943
+f 1086/1460/3943 991/1306/3942 1180/1623/3944
+s 960
+f 794/1133/3945 1087/1624/3946 992/1461/3947
+f 992/1461/3947 1087/1624/3946 1181/1625/3948
+s 961
+f 696/857/3949 993/1462/3950 994/1308/3951
+f 994/1308/3951 993/1462/3950 1182/1626/3952
+s 962
+f 893/1307/3953 994/1308/3954 1088/1627/3955
+f 1088/1627/3955 994/1308/3954 1183/1628/3956
+s 963
+f 996/1468/3957 1186/1630/3958 796/1469/3959
+f 1089/1629/3960 796/1469/3959 1186/1630/3958
+s 964
+f 997/1471/3961 796/1469/3962 1188/1632/3963
+f 796/1469/3962 1090/1631/3964 1188/1632/3963
+s off
+f 697/1470/3965 1092/1633/3966 1191/1634/3967
+f 1093/1635/3968 697/1470/3969 1191/1634/3970
+s 965
+f 800/1140/3971 998/1310/3972 1000/1473/3973
+f 1000/1473/3973 998/1310/3972 1196/1636/3974
+s 966
+f 798/1000/3975 999/1311/3976 998/1310/3977
+f 998/1310/3977 999/1311/3976 1197/1637/3978
+s 967
+f 895/1145/3979 1001/1313/3980 1095/1638/3981
+f 1095/1638/3981 1001/1313/3980 1199/1639/3982
+s 968
+f 897/1314/3983 898/1315/3984 1097/1640/3985
+f 1097/1640/3985 898/1315/3984 1098/1641/3986
+s 969
+f 898/1315/3987 899/1151/3988 1098/1641/3989
+f 1098/1641/3989 899/1151/3988 1099/1482/3990
+s 970
+f 1006/1487/3991 900/1486/3992 1100/1642/3993
+f 1100/1642/3993 900/1486/3992 1101/1643/3994
+s 971
+f 1008/1644/3995 1102/1645/3996 809/1493/3997
+f 809/1493/3997 1102/1645/3996 1105/1494/3998
+s 972
+f 1009/1647/3999 901/1337/4000 1103/1646/4001
+f 1103/1646/4001 901/1337/4000 913/1336/4002
+s 973
+f 1010/1491/4003 1104/1505/4004 808/1492/4005
+f 808/1492/4005 1104/1505/4004 1011/1497/4006
+s 974
+f 1012/1499/4007 903/1160/4008 1013/1648/4009
+f 1013/1648/4009 903/1160/4008 1106/1495/4010
+s 975
+f 1013/1648/4011 904/1649/4012 1012/1499/4013
+f 1012/1499/4013 904/1649/4012 905/1650/4014
+s 976
+f 906/1651/4015 1107/1652/4016 910/1514/4017
+f 910/1514/4017 1107/1652/4016 1017/1515/4018
+s 977
+f 817/1508/4019 909/1510/4020 1108/1509/4021
+f 1108/1509/4021 909/1510/4020 1109/1513/4022
+s 978
+f 939/1238/4023 911/1328/4024 1110/1561/4025
+f 1110/1561/4025 911/1328/4024 1111/1653/4026
+s 979
+f 911/1328/4027 912/1331/4028 1111/1653/4029
+f 1111/1653/4029 912/1331/4028 1112/1654/4030
+s 980
+f 912/1331/4031 1015/1333/4032 1112/1654/4033
+f 1112/1654/4033 1015/1333/4032 1209/1655/4034
+s 981
+f 1020/1657/4035 1114/1658/4036 825/1656/4037
+f 825/1656/4037 1114/1658/4036 1115/1659/4038
+s 982
+f 827/1033/4039 1022/1346/4040 1020/1339/4041
+f 1020/1339/4041 1022/1346/4040 1215/1660/4042
+s 983
+f 915/1342/4043 1117/1661/4044 916/1343/4045
+f 916/1343/4045 1117/1661/4044 917/1662/4046
+s 984
+f 917/1345/4047 1117/1663/4048 1022/1346/4049
+f 1022/1346/4049 1117/1663/4048 1215/1660/4050
+s 985
+f 918/1665/4051 829/1526/4052 1118/1664/4053
+f 1118/1664/4053 829/1526/4052 1120/1529/4054
+s 986
+f 918/1665/4055 1119/1667/4056 1021/1666/4057
+f 1021/1666/4057 1119/1667/4056 1218/1668/4058
+s 987
+f 919/1669/4059 1023/1670/4060 1026/1357/4061
+f 1026/1357/4061 1023/1670/4060 1121/1532/4062
+s 988
+f 919/1669/4063 1026/1357/4064 921/1527/4065
+f 921/1527/4065 1026/1357/4064 924/1356/4066
+s 989
+f 1025/1528/4067 921/1527/4068 1122/1533/4069
+f 1122/1533/4069 921/1527/4068 924/1356/4070
+s 990
+f 922/1361/4071 923/1671/4072 925/1358/4073
+f 925/1358/4073 923/1671/4072 1121/1672/4074
+s 991
+f 1027/1534/4075 1123/1673/4076 926/1535/4077
+f 926/1535/4077 1123/1673/4076 1030/1543/4078
+s 992
+f 1028/1538/4079 927/1205/4080 1124/1674/4081
+f 1124/1674/4081 927/1205/4080 1125/1541/4082
+s 993
+f 928/1676/4083 1029/1677/4084 1125/1675/4085
+f 1125/1675/4085 1029/1677/4084 1128/1678/4086
+s 994
+f 932/1680/4087 1127/1681/4088 929/1679/4089
+f 929/1679/4089 1127/1681/4088 1128/1682/4090
+s 995
+f 929/1365/4091 1128/1683/4092 930/1366/4093
+f 930/1366/4093 1128/1683/4092 1029/1684/4094
+s 996
+f 836/1369/4095 1031/1370/4096 1032/1537/4097
+f 1032/1537/4097 1031/1370/4096 1222/1685/4098
+s 997
+f 837/1687/4099 1129/1688/4100 1031/1686/4101
+f 1031/1686/4101 1129/1688/4100 1225/1689/4102
+s 998
+f 934/1691/4103 1130/1692/4104 1033/1690/4105
+f 1033/1690/4105 1130/1692/4104 1226/1693/4106
+s 999
+f 837/1695/4107 1033/1696/4108 1129/1694/4109
+f 1129/1694/4109 1033/1696/4108 1227/1697/4110
+s 1000
+f 935/1374/4111 1003/1698/4112 1034/1375/4113
+f 1034/1375/4113 1003/1698/4112 1228/1699/4114
+s 1001
+f 936/1479/4115 942/1701/4116 1131/1700/4117
+f 1131/1700/4117 942/1701/4116 1042/1702/4118
+s 1002
+f 1041/1562/4119 1132/1703/4120 940/1380/4121
+f 940/1380/4121 1132/1703/4120 1036/1555/4122
+s 1003
+f 941/1384/4123 1095/1476/4124 943/1385/4125
+f 943/1385/4125 1095/1476/4124 1133/1704/4126
+s 1004
+f 943/1385/4127 1133/1704/4128 1043/1705/4129
+f 1043/1705/4129 1133/1704/4128 1042/1702/4130
+s 1005
+f 945/1259/4131 1044/1389/4132 1135/1574/4133
+f 1135/1574/4133 1044/1389/4132 1236/1706/4134
+s 1006
+f 1045/1567/4135 947/1252/4136 1136/1579/4137
+f 1136/1579/4137 947/1252/4136 1046/1569/4138
+s 1007
+f 948/1390/4139 1047/1391/4140 1137/1707/4141
+f 1137/1707/4141 1047/1391/4140 1237/1708/4142
+s 1008
+f 853/1084/4143 1048/1392/4144 1047/1391/4145
+f 1047/1391/4145 1048/1392/4144 1238/1709/4146
+s 1009
+f 949/1570/4147 1138/1571/4148 1048/1710/4149
+f 1048/1710/4149 1138/1571/4148 1239/1711/4150
+s 1010
+f 860/1403/4151 1050/1406/4152 1053/1416/4153
+f 1053/1416/4153 1050/1406/4152 1240/1712/4154
+s 1011
+f 857/1405/4155 1051/1713/4156 1050/1406/4157
+f 1050/1406/4157 1051/1713/4156 1241/1714/4158
+s 1012
+f 1051/1408/4159 952/1407/4160 1140/1715/4161
+f 1140/1715/4161 952/1407/4160 1242/1716/4162
+s 1013
+f 1052/1409/4163 1141/1717/4164 952/1407/4165
+f 952/1407/4165 1141/1717/4164 1242/1716/4166
+s 1014
+f 858/1257/4167 1135/1574/4168 1052/1409/4169
+f 1052/1409/4169 1135/1574/4168 1141/1717/4170
+s 1015
+f 953/1410/4171 954/1413/4172 1142/1718/4173
+f 1142/1718/4173 954/1413/4172 1143/1719/4174
+s 1016
+f 954/1414/4175 1053/1416/4176 1143/1720/4177
+f 1143/1720/4177 1053/1416/4176 1245/1721/4178
+s 1017
+f 955/1419/4179 950/1393/4180 1136/1722/4181
+f 1136/1722/4181 950/1393/4180 1045/1566/4182
+s 1018
+f 948/1723/4183 1137/1724/4184 956/1265/4185
+f 956/1265/4185 1137/1724/4184 1054/1421/4186
+s 1019
+f 1054/1421/4187 1144/1725/4188 864/1420/4189
+f 864/1420/4189 1144/1725/4188 1056/1726/4190
+s 1020
+f 1055/1581/4191 1145/1595/4192 763/949/4193
+f 763/949/4193 1145/1595/4192 672/951/4194
+s 1021
+f 1057/1424/4195 1146/1727/4196 587/825/4197
+f 587/825/4197 1146/1727/4196 1060/1584/4198
+s 1022
+f 764/1104/4199 866/1105/4200 1147/1728/4201
+f 1147/1728/4201 866/1105/4200 1148/1729/4202
+s 1023
+f 866/1105/4203 958/1425/4204 1148/1729/4205
+f 1148/1729/4205 958/1425/4204 1058/1582/4206
+s off
+f 765/1106/4207 1061/1427/4208 1062/1730/4209
+s 1024
+f 961/1732/4210 1152/1733/4211 969/1731/4212
+f 969/1731/4212 1152/1733/4211 1162/1734/4213
+s 1025
+f 963/1431/4214 962/1429/4215 1153/1735/4216
+f 1153/1735/4216 962/1429/4215 1154/1736/4217
+s 1026
+f 962/1429/4218 1064/1430/4219 1154/1736/4220
+f 1154/1736/4220 1064/1430/4219 1261/1737/4221
+s 1027
+f 963/1739/4222 1155/1740/4223 1059/1738/4224
+f 1059/1738/4224 1155/1740/4223 1262/1741/4225
+s 1028
+f 1065/1596/4226 964/1432/4227 1156/1742/4228
+f 1156/1742/4228 964/1432/4227 1068/1599/4229
+s 1029
+f 879/1434/4230 1067/1435/4231 1077/1743/4232
+f 1077/1743/4232 1067/1435/4231 1266/1744/4233
+s 1030
+f 1071/1603/4234 965/1278/4235 1158/1745/4236
+f 1158/1745/4236 965/1278/4235 1073/1606/4237
+s 1031
+f 966/1436/4238 1074/1607/4239 1072/1604/4240
+f 1072/1604/4240 1074/1607/4239 1268/1746/4241
+s 1032
+f 1074/1607/4242 967/1608/4243 1160/1747/4244
+f 1160/1747/4244 967/1608/4243 1161/1748/4245
+s 1033
+f 967/1438/4246 968/1282/4247 1161/1749/4248
+f 1161/1749/4248 968/1282/4247 1075/1439/4249
+s 1034
+f 970/1751/4250 1077/1743/4251 1163/1750/4252
+f 1163/1750/4252 1077/1743/4251 1275/1752/4253
+s 1035
+f 971/1442/4254 970/1440/4255 1164/1753/4256
+f 1164/1753/4256 970/1440/4255 1277/1754/4257
+s 1036
+f 972/1443/4258 971/1442/4259 1165/1755/4260
+f 1165/1755/4260 971/1442/4259 1164/1753/4261
+s 1037
+f 972/1443/4262 1166/1756/4263 973/1444/4264
+f 973/1444/4264 1166/1756/4263 1279/1757/4265
+s 1038
+f 974/1759/4266 973/1760/4267 1167/1758/4268
+f 1167/1758/4268 973/1760/4267 1279/1761/4269
+s 1039
+f 975/1614/4270 1078/1762/4271 1169/1615/4272
+f 1169/1615/4272 1078/1762/4271 1267/1763/4273
+s 1040
+f 976/1448/4274 1079/1451/4275 1157/1601/4276
+f 1157/1601/4276 1079/1451/4275 1069/1600/4277
+s 1041
+f 976/1448/4278 1157/1601/4279 1080/1616/4280
+f 1080/1616/4280 1157/1601/4279 1070/1602/4281
+s 1042
+f 979/1452/4282 992/1461/4283 980/1296/4284
+f 980/1296/4284 992/1461/4283 1171/1618/4285
+s 1043
+f 981/1453/4286 1172/1764/4287 982/1454/4288
+f 982/1454/4288 1172/1764/4287 1179/1765/4289
+s 1044
+f 888/1767/4290 1085/1768/4291 1082/1766/4292
+f 1082/1766/4292 1085/1768/4291 1280/1769/4293
+s 1045
+f 1083/1619/4294 983/1456/4295 1173/1770/4296
+f 1173/1770/4296 983/1456/4295 1082/1455/4297
+s 1046
+f 1083/1619/4298 1174/1771/4299 985/1457/4300
+f 985/1457/4300 1174/1771/4299 1175/1772/4301
+s 1047
+f 985/1457/4302 1175/1772/4303 986/1458/4304
+f 986/1458/4304 1175/1772/4303 1084/1459/4305
+s 1048
+f 1084/1459/4306 1176/1773/4307 794/1133/4308
+f 794/1133/4308 1176/1773/4307 1087/1624/4309
+s 1049
+f 982/1454/4310 1179/1765/4311 991/1306/4312
+f 991/1306/4312 1179/1765/4311 1180/1623/4313
+s 1050
+f 1081/1463/4314 1170/1617/4315 993/1462/4316
+f 993/1462/4316 1170/1617/4315 1270/1774/4317
+s 1051
+f 1088/1467/4318 1184/1775/4319 995/1464/4320
+f 995/1464/4320 1184/1775/4319 996/1468/4321
+s 1052
+f 1089/1629/4322 1291/1777/4323 796/1469/4324
+f 1185/1776/4325 796/1469/4324 1291/1777/4323
+s 1053
+f 1090/1631/4326 796/1469/4327 1187/1778/4328
+f 1187/1778/4328 796/1469/4327 1185/1776/4329
+s 1054
+f 1091/1472/4330 1189/1779/4331 697/1470/4332
+f 697/1470/4332 1189/1779/4331 1092/1633/4333
+s 1055
+f 997/1781/4334 1190/1782/4335 1091/1780/4336
+f 1091/1780/4336 1190/1782/4335 1189/1783/4337
+s 1056
+f 797/1785/4338 697/1470/4339 1192/1784/4340
+f 1192/1784/4340 697/1470/4339 1299/1786/4341
+s off
+f 1193/1787/4342 697/1470/4343 1301/1788/4344
+f 697/1470/4345 1093/1635/4346 1301/1788/4347
+s 1057
+f 894/1789/4348 1094/1790/4349 1003/1698/4350
+f 1003/1698/4350 1094/1790/4349 1228/1699/4351
+s 1058
+f 894/1309/4352 1195/1792/4353 1094/1791/4354
+f 1094/1791/4354 1195/1792/4353 1305/1793/4355
+s 1059
+f 999/1311/4356 896/1150/4357 1197/1637/4358
+f 1197/1637/4358 896/1150/4357 1096/1481/4359
+s 1060
+f 1000/1473/4360 1198/1794/4361 1004/1474/4362
+f 1004/1474/4362 1198/1794/4361 1201/1795/4363
+s 1061
+f 1002/1477/4364 1200/1796/4365 1001/1478/4366
+f 1001/1478/4366 1200/1796/4365 1199/1797/4367
+s 1062
+f 936/1479/4368 1131/1700/4369 1002/1477/4370
+f 1002/1477/4370 1131/1700/4369 1200/1796/4371
+s 1063
+f 897/1314/4372 1097/1640/4373 1096/1481/4374
+f 1096/1481/4374 1097/1640/4373 1307/1798/4375
+s 1064
+f 1004/1800/4376 1201/1801/4377 1099/1799/4378
+f 1099/1799/4378 1201/1801/4377 1310/1802/4379
+s 1065
+f 1005/1804/4380 1009/1805/4381 1202/1803/4382
+f 1202/1803/4382 1009/1805/4381 1103/1806/4383
+s 1066
+f 1005/1483/4384 1202/1807/4385 1007/1484/4386
+f 1007/1484/4386 1202/1807/4385 1101/1489/4387
+s 1067
+f 1100/1809/4388 1203/1810/4389 1006/1808/4390
+f 1006/1808/4390 1203/1810/4389 1204/1811/4391
+s 1068
+f 1006/1808/4392 1204/1811/4393 1008/1644/4394
+f 1008/1644/4394 1204/1811/4393 1205/1812/4395
+s 1069
+f 1008/1644/4396 1205/1812/4397 1102/1645/4398
+f 1102/1645/4398 1205/1812/4397 1311/1813/4399
+s 1070
+f 1010/1815/4400 1206/1816/4401 1104/1814/4402
+f 1104/1814/4402 1206/1816/4401 1208/1817/4403
+s 1071
+f 1105/1818/4404 1207/1819/4405 1010/1815/4406
+f 1010/1815/4406 1207/1819/4405 1206/1816/4407
+s 1072
+f 902/1496/4408 1014/1498/4409 1106/1820/4410
+f 1106/1820/4410 1014/1498/4409 1013/1504/4411
+s 1073
+f 913/1516/4412 1113/1519/4413 1103/1821/4414
+f 1103/1821/4414 1113/1519/4413 1313/1822/4415
+s 1074
+f 1104/1814/4416 1208/1817/4417 906/1651/4418
+f 906/1651/4418 1208/1817/4417 1107/1652/4419
+s 1075
+f 1015/1333/4420 1108/1509/4421 1209/1655/4422
+f 1209/1655/4422 1108/1509/4421 1314/1823/4423
+s 1076
+f 1017/1515/4424 1210/1824/4425 1016/1512/4426
+f 1016/1512/4426 1210/1824/4425 1211/1825/4427
+s 1077
+f 1016/1512/4428 1211/1825/4429 1109/1513/4430
+f 1109/1513/4430 1211/1825/4429 1315/1826/4431
+s 1078
+f 1107/1652/4432 1212/1827/4433 1017/1515/4434
+f 1017/1515/4434 1212/1827/4433 1210/1824/4435
+s 1079
+f 1018/1518/4436 1019/1829/4437 1213/1828/4438
+f 1213/1828/4438 1019/1829/4437 1319/1830/4439
+s 1080
+f 1018/1518/4440 1205/1812/4441 1113/1519/4442
+f 1113/1519/4442 1205/1812/4441 1204/1811/4443
+s 1081
+f 1114/1658/4444 1020/1657/4445 1214/1831/4446
+f 1214/1831/4446 1020/1657/4445 1215/1832/4447
+s 1082
+f 1115/1833/4448 1216/1834/4449 1019/1829/4450
+f 1019/1829/4450 1216/1834/4449 1319/1830/4451
+s 1083
+f 1116/1523/4452 1217/1835/4453 915/1342/4454
+f 915/1342/4454 1217/1835/4453 1117/1661/4455
+s 1084
+f 1021/1666/4456 1218/1668/4457 1116/1836/4458
+f 1116/1836/4458 1218/1668/4457 1217/1837/4459
+s 1085
+f 1118/1664/4460 1219/1838/4461 918/1665/4462
+f 918/1665/4462 1219/1838/4461 1119/1667/4463
+s 1086
+f 1024/1525/4464 925/1839/4465 1023/1524/4466
+f 1023/1524/4466 925/1839/4465 1121/1840/4467
+s 1087
+f 1120/1842/4468 1025/1843/4469 1220/1841/4470
+f 1220/1841/4470 1025/1843/4469 1322/1844/4471
+s 1088
+f 931/1545/4472 1126/1544/4473 1122/1845/4474
+f 1122/1845/4474 1126/1544/4473 1323/1846/4475
+s off
+f 1221/1847/4476 1123/1673/4477 1027/1534/4478
+s 1089
+f 1032/1537/4479 1222/1685/4480 1027/1534/4481
+f 1027/1534/4481 1222/1685/4480 1221/1847/4482
+s 1090
+f 1124/1674/4483 1127/1848/4484 1028/1538/4485
+f 1028/1538/4485 1127/1848/4484 933/1849/4486
+s 1091
+f 1123/1673/4487 1223/1850/4488 1030/1543/4489
+f 1030/1543/4489 1223/1850/4488 1224/1851/4490
+s 1092
+f 1030/1543/4491 1224/1851/4492 1126/1544/4493
+f 1126/1544/4493 1224/1851/4492 1323/1846/4494
+s 1093
+f 1034/1375/4495 1228/1699/4496 1130/1551/4497
+f 1130/1551/4497 1228/1699/4496 1327/1852/4498
+s 1094
+f 1037/1556/4499 1035/1552/4500 1229/1853/4501
+f 1229/1853/4501 1035/1552/4500 1230/1854/4502
+s 1095
+f 1035/1552/4503 1036/1555/4504 1230/1854/4505
+f 1230/1854/4505 1036/1555/4504 1132/1703/4506
+s 1096
+f 944/1245/4507 1037/1556/4508 1134/1564/4509
+f 1134/1564/4509 1037/1556/4508 1229/1853/4510
+s 1097
+f 1041/1562/4511 1038/1558/4512 1231/1855/4513
+f 1231/1855/4513 1038/1558/4512 1232/1856/4514
+s 1098
+f 1038/1558/4515 1039/1559/4516 1232/1856/4517
+f 1232/1856/4517 1039/1559/4516 1233/1857/4518
+s 1099
+f 1039/1559/4519 1040/1560/4520 1233/1857/4521
+f 1233/1857/4521 1040/1560/4520 1234/1858/4522
+s 1100
+f 1040/1560/4523 1110/1561/4524 1234/1858/4525
+f 1234/1858/4525 1110/1561/4524 1316/1859/4526
+s 1101
+f 1132/1703/4527 1041/1562/4528 1235/1860/4529
+f 1235/1860/4529 1041/1562/4528 1231/1855/4530
+s 1102
+f 1131/1700/4531 1042/1702/4532 1200/1796/4533
+f 1200/1796/4533 1042/1702/4532 1133/1704/4534
+s 1103
+f 1044/1389/4535 1134/1564/4536 1236/1706/4537
+f 1236/1706/4537 1134/1564/4536 1329/1861/4538
+s 1104
+f 951/1401/4539 1139/1573/4540 1138/1571/4541
+f 1138/1571/4541 1139/1573/4540 1244/1862/4542
+s 1105
+f 1140/1863/4543 1243/1864/4544 1051/1713/4545
+f 1051/1713/4545 1243/1864/4544 1241/1714/4546
+s 1106
+f 1139/1576/4547 953/1410/4548 1244/1865/4549
+f 1244/1865/4549 953/1410/4548 1142/1718/4550
+s 1107
+f 1054/1421/4551 1137/1724/4552 1144/1725/4553
+f 1144/1725/4553 1137/1724/4552 1331/1866/4554
+s 1108
+f 1145/1595/4555 1055/1581/4556 1246/1867/4557
+f 1246/1867/4557 1055/1581/4556 1247/1868/4558
+s 1109
+f 1055/1581/4559 1056/1422/4560 1247/1868/4561
+f 1247/1868/4561 1056/1422/4560 1248/1869/4562
+s 1110
+f 1056/1422/4563 1144/1870/4564 1248/1869/4565
+f 1248/1869/4565 1144/1870/4564 1340/1871/4566
+s 1111
+f 1057/1424/4567 957/1423/4568 1249/1872/4569
+f 1249/1872/4569 957/1423/4568 1250/1873/4570
+s 1112
+f 957/1423/4571 865/1267/4572 1250/1873/4573
+f 1250/1873/4573 865/1267/4572 1251/1874/4574
+s 1113
+f 865/1267/4575 764/1104/4576 1251/1874/4577
+f 1251/1874/4577 764/1104/4576 1147/1728/4578
+s 1114
+f 1148/1729/4579 1058/1582/4580 1252/1875/4581
+f 1252/1875/4581 1058/1582/4580 1344/1876/4582
+s 1115
+f 1058/1878/4583 1059/1738/4584 1253/1877/4585
+f 1253/1877/4585 1059/1738/4584 1262/1741/4586
+s 1116
+f 1150/1589/4587 1254/1879/4588 961/1586/4589
+f 961/1586/4589 1254/1879/4588 1152/1880/4590
+s 1117
+f 1150/1882/4591 960/1590/4592 1255/1881/4593
+f 1255/1881/4593 960/1590/4592 1151/1593/4594
+s 1118
+f 1062/1730/4595 1061/1427/4596 1256/1883/4597
+f 1256/1883/4597 1061/1427/4596 1345/1884/4598
+s 1119
+f 1062/1730/4599 1257/1886/4600 1151/1885/4601
+f 1151/1885/4601 1257/1886/4600 1349/1887/4602
+s 1120
+f 1064/1889/4603 1063/1890/4604 1258/1888/4605
+f 1258/1888/4605 1063/1890/4604 1353/1891/4606
+s 1121
+f 1145/1892/4607 1259/1893/4608 1063/1890/4609
+f 1063/1890/4609 1259/1893/4608 1353/1891/4610
+s 1122
+f 1153/1895/4611 1260/1896/4612 963/1894/4613
+f 963/1894/4613 1260/1896/4612 1155/1897/4614
+s 1123
+f 1156/1742/4615 1263/1898/4616 1065/1596/4617
+f 1065/1596/4617 1263/1898/4616 1264/1899/4618
+s 1124
+f 1065/1596/4619 1264/1899/4620 1066/1597/4621
+f 1066/1597/4621 1264/1899/4620 1265/1900/4622
+s 1125
+f 1066/1598/4623 1265/1901/4624 1067/1435/4625
+f 1067/1435/4625 1265/1901/4624 1266/1744/4626
+s 1126
+f 1156/1742/4627 1068/1599/4628 1267/1763/4629
+f 1267/1763/4629 1068/1599/4628 1169/1615/4630
+s 1127
+f 1068/1599/4631 1069/1600/4632 1169/1615/4633
+f 1169/1615/4633 1069/1600/4632 1079/1451/4634
+s 1128
+f 1071/1603/4635 978/1293/4636 1070/1602/4637
+f 1070/1602/4637 978/1293/4636 1080/1616/4638
+s 1129
+f 1158/1745/4639 1170/1617/4640 1071/1603/4641
+f 1071/1603/4641 1170/1617/4640 978/1293/4642
+s 1130
+f 1072/1604/4643 1269/1902/4644 1159/1605/4645
+f 1159/1605/4645 1269/1902/4644 1271/1903/4646
+s 1131
+f 1073/1606/4647 1270/1774/4648 1158/1745/4649
+f 1158/1745/4649 1270/1774/4648 1170/1617/4650
+s 1132
+f 1159/1605/4651 1271/1903/4652 1073/1606/4653
+f 1073/1606/4653 1271/1903/4652 1270/1774/4654
+s 1133
+f 1074/1607/4655 1160/1747/4656 1268/1746/4657
+f 1268/1746/4657 1160/1747/4656 1360/1904/4658
+s 1134
+f 1161/1749/4659 1075/1439/4660 1272/1905/4661
+f 1272/1905/4661 1075/1439/4660 1361/1906/4662
+s 1135
+f 1075/1439/4663 1076/1610/4664 1273/1907/4665
+f 1273/1907/4665 1076/1610/4664 1274/1908/4666
+s 1136
+f 1076/1610/4667 1162/1612/4668 1274/1908/4669
+f 1274/1908/4669 1162/1612/4668 1362/1909/4670
+s 1137
+f 970/1751/4671 1163/1750/4672 1276/1910/4673
+f 1276/1910/4673 1163/1750/4672 1365/1911/4674
+s 1138
+f 1165/1755/4675 1278/1912/4676 972/1443/4677
+f 972/1443/4677 1278/1912/4676 1166/1756/4678
+s 1139
+f 974/1759/4679 1167/1758/4680 1168/1913/4681
+f 1168/1913/4681 1167/1758/4680 1371/1914/4682
+s 1140
+f 1078/1762/4683 1168/1915/4684 1267/1763/4685
+f 1267/1763/4685 1168/1915/4684 1359/1916/4686
+s 1141
+f 981/1453/4687 1171/1618/4688 1172/1764/4689
+f 1172/1764/4689 1171/1618/4688 1286/1917/4690
+s 1142
+f 1173/1770/4691 1281/1918/4692 1083/1619/4693
+f 1083/1619/4693 1281/1918/4692 1174/1771/4694
+s 1143
+f 1084/1459/4695 1175/1772/4696 1176/1773/4697
+f 1176/1773/4697 1175/1772/4696 1285/1919/4698
+s off
+f 1085/1620/4699 13/9/4700 14/10/4701
+s 1144
+f 21/14/4702 987/1300/4703 15/11/4704
+f 1177/1621/4705 16/12/4706 987/1300/4703
+f 987/1300/4703 16/12/4706 15/11/4704
+s 1145
+f 1177/1621/4707 988/1301/4708 1282/1920/4709
+f 1282/1920/4709 988/1301/4708 1178/1622/4710
+s 1146
+f 1178/1622/4711 989/1303/4712 1283/1921/4713
+f 1283/1921/4713 989/1303/4712 1284/1922/4714
+s 1147
+f 989/1303/4715 1086/1460/4716 1284/1922/4717
+f 1284/1922/4717 1086/1460/4716 1180/1623/4718
+s 1148
+f 1176/1773/4719 1285/1919/4720 1087/1624/4721
+f 1087/1624/4721 1285/1919/4720 1287/1923/4722
+s 1149
+f 1181/1625/4723 1286/1917/4724 992/1461/4725
+f 992/1461/4725 1286/1917/4724 1171/1618/4726
+s 1150
+f 1087/1624/4727 1287/1923/4728 1181/1625/4729
+f 1181/1625/4729 1287/1923/4728 1377/1924/4730
+s 1151
+f 994/1926/4731 1182/1927/4732 1183/1925/4733
+f 1183/1925/4733 1182/1927/4732 1288/1928/4734
+s 1152
+f 1270/1774/4735 1288/1929/4736 993/1462/4737
+f 1288/1929/4736 1182/1626/4738 993/1462/4737
+s 1153
+f 1183/1628/4739 1289/1930/4740 1088/1627/4741
+f 1088/1627/4741 1289/1930/4740 1184/1931/4742
+s 1154
+f 1184/1775/4743 1290/1932/4744 996/1468/4745
+f 996/1468/4745 1290/1932/4744 1186/1630/4746
+s 1155
+f 1089/1934/4747 1186/1935/4748 1292/1933/4749
+f 1292/1933/4749 1186/1935/4748 1290/1936/4750
+s 1156
+f 1187/1938/4751 1293/1939/4752 1090/1937/4753
+f 1090/1937/4753 1293/1939/4752 1295/1940/4754
+s 1157
+f 1188/1941/4755 1294/1942/4756 997/1781/4757
+f 997/1781/4757 1294/1942/4756 1190/1782/4758
+s 1158
+f 1090/1937/4759 1295/1940/4760 1188/1941/4761
+f 1188/1941/4761 1295/1940/4760 1294/1942/4762
+s 1159
+f 1092/1944/4763 1189/1945/4764 1296/1943/4765
+f 1296/1943/4765 1189/1945/4764 1382/1946/4766
+s 1160
+f 1191/1948/4767 1092/1944/4768 1297/1947/4769
+f 1297/1947/4769 1092/1944/4768 1296/1943/4770
+s 1161
+f 797/1785/4771 1192/1784/4772 1298/1949/4773
+f 1298/1949/4773 1192/1784/4772 1385/1950/4774
+s off
+f 1300/1951/4775 697/1470/4776 1388/1952/4777
+f 697/1470/4778 1193/1787/4779 1388/1952/4780
+s 1162
+f 1093/1954/4781 1191/1948/4782 1302/1953/4783
+f 1302/1953/4783 1191/1948/4782 1297/1947/4784
+s off
+f 894/1955/4785 797/1785/4786 1303/1956/4787
+s 1163
+f 1195/1792/4788 894/1309/4789 1391/1958/4790
+f 1391/1958/4790 894/1309/4789 1194/1957/4791
+s 1164
+f 1000/1473/4792 1196/1636/4793 1198/1794/4794
+f 1198/1794/4794 1196/1636/4793 1393/1959/4795
+s 1165
+f 998/1310/4796 1197/1637/4797 1196/1636/4798
+f 1196/1636/4798 1197/1637/4797 1306/1960/4799
+s 1166
+f 1095/1476/4800 1199/1797/4801 1133/1704/4802
+f 1133/1704/4802 1199/1797/4801 1200/1796/4803
+s 1167
+f 1197/1637/4804 1096/1481/4805 1306/1960/4806
+f 1306/1960/4806 1096/1481/4805 1307/1798/4807
+s 1168
+f 1097/1962/4808 1098/1963/4809 1308/1961/4810
+f 1308/1961/4810 1098/1963/4809 1309/1964/4811
+s 1169
+f 1098/1963/4812 1099/1799/4813 1309/1964/4814
+f 1309/1964/4814 1099/1799/4813 1310/1802/4815
+s 1170
+f 1203/1965/4816 1100/1966/4817 1202/1803/4818
+f 1202/1803/4818 1100/1966/4817 1101/1967/4819
+s 1171
+f 1102/1968/4820 1312/1969/4821 1105/1818/4822
+f 1105/1818/4822 1312/1969/4821 1207/1819/4823
+s 1172
+f 1103/1806/4824 1313/1970/4825 1202/1803/4826
+f 1202/1803/4826 1313/1970/4825 1203/1965/4827
+s 1173
+f 1107/1652/4828 1208/1817/4829 1212/1827/4830
+f 1212/1827/4830 1208/1817/4829 1400/1971/4831
+s 1174
+f 1108/1509/4832 1109/1513/4833 1314/1823/4834
+f 1314/1823/4834 1109/1513/4833 1315/1826/4835
+s 1175
+f 1110/1561/4836 1111/1653/4837 1316/1859/4838
+f 1316/1859/4838 1111/1653/4837 1317/1972/4839
+s 1176
+f 1111/1653/4840 1112/1654/4841 1317/1972/4842
+f 1317/1972/4842 1112/1654/4841 1404/1973/4843
+s 1177
+f 1209/1655/4844 1318/1974/4845 1112/1654/4846
+f 1112/1654/4846 1318/1974/4845 1404/1973/4847
+s 1178
+f 1213/1828/4848 1311/1813/4849 1018/1518/4850
+f 1018/1518/4850 1311/1813/4849 1205/1812/4851
+s 1179
+f 1214/1976/4852 1217/1837/4853 1114/1975/4854
+f 1114/1975/4854 1217/1837/4853 1218/1668/4855
+s 1180
+f 1114/1975/4856 1218/1668/4857 1115/1833/4858
+f 1115/1833/4858 1218/1668/4857 1119/1667/4859
+s 1181
+f 1115/1833/4860 1119/1667/4861 1216/1834/4862
+f 1216/1834/4862 1119/1667/4861 1219/1838/4863
+s 1182
+f 1217/1835/4864 1214/1977/4865 1117/1661/4866
+f 1117/1661/4866 1214/1977/4865 1215/1978/4867
+s 1183
+f 1219/1980/4868 1118/1981/4869 1320/1979/4870
+f 1320/1979/4870 1118/1981/4869 1321/1982/4871
+s 1184
+f 1118/1981/4872 1120/1842/4873 1321/1982/4874
+f 1321/1982/4874 1120/1842/4873 1220/1841/4875
+s 1185
+f 1025/1843/4876 1122/1845/4877 1322/1844/4878
+f 1322/1844/4878 1122/1845/4877 1323/1846/4879
+s 1186
+f 1221/1847/4880 1324/1983/4881 1123/1673/4882
+f 1123/1673/4882 1324/1983/4881 1325/1984/4883
+s 1187
+f 1127/1848/4884 1124/1674/4885 1128/1985/4886
+f 1128/1985/4886 1124/1674/4885 1125/1541/4887
+s 1188
+f 1123/1673/4888 1325/1984/4889 1223/1850/4890
+f 1223/1850/4890 1325/1984/4889 1411/1986/4891
+s 1189
+f 1031/1686/4892 1225/1689/4893 1222/1987/4894
+f 1222/1987/4894 1225/1689/4893 1414/1988/4895
+s 1190
+f 1129/1688/4896 1326/1989/4897 1225/1689/4898
+f 1225/1689/4898 1326/1989/4897 1415/1990/4899
+s 1191
+f 1033/1690/4900 1226/1693/4901 1227/1991/4902
+f 1227/1991/4902 1226/1693/4901 1416/1992/4903
+s 1192
+f 1130/1692/4904 1327/1993/4905 1226/1693/4906
+f 1226/1693/4906 1327/1993/4905 1417/1994/4907
+s 1193
+f 1129/1694/4908 1227/1697/4909 1326/1995/4910
+f 1326/1995/4910 1227/1697/4909 1418/1996/4911
+s 1194
+f 1235/1860/4912 1328/1997/4913 1132/1703/4914
+f 1132/1703/4914 1328/1997/4913 1230/1854/4915
+s 1195
+f 1236/1706/4916 1330/1998/4917 1135/1574/4918
+f 1135/1574/4918 1330/1998/4917 1334/1999/4919
+s 1196
+f 1137/1707/4920 1237/1708/4921 1331/2000/4922
+f 1331/2000/4922 1237/1708/4921 1427/2001/4923
+s 1197
+f 1047/1391/4924 1238/1709/4925 1237/1708/4926
+f 1237/1708/4926 1238/1709/4925 1428/2002/4927
+s 1198
+f 1048/1710/4928 1239/1711/4929 1238/2003/4930
+f 1238/2003/4930 1239/1711/4929 1429/2004/4931
+s 1199
+f 1138/1571/4932 1244/1862/4933 1239/1711/4934
+f 1239/1711/4934 1244/1862/4933 1336/2005/4935
+s 1200
+f 1053/1416/4936 1240/1712/4937 1245/1721/4938
+f 1245/1721/4938 1240/1712/4937 1430/2006/4939
+s 1201
+f 1050/1406/4940 1241/1714/4941 1240/1712/4942
+f 1240/1712/4942 1241/1714/4941 1431/2007/4943
+s 1202
+f 1140/1715/4944 1242/1716/4945 1332/2008/4946
+f 1332/2008/4946 1242/1716/4945 1433/2009/4947
+s 1203
+f 1243/1864/4948 1140/1863/4949 1333/2010/4950
+f 1333/2010/4950 1140/1863/4949 1332/2011/4951
+s 1204
+f 1135/1574/4952 1334/1999/4953 1141/1717/4954
+f 1141/1717/4954 1334/1999/4953 1435/2012/4955
+s 1205
+f 1242/1716/4956 1141/1717/4957 1335/2013/4958
+f 1335/2013/4958 1141/1717/4957 1435/2012/4959
+s 1206
+f 1244/1865/4960 1142/1718/4961 1336/2014/4962
+f 1336/2014/4962 1142/1718/4961 1337/2015/4963
+s 1207
+f 1142/1718/4964 1143/1719/4965 1337/2015/4966
+f 1337/2015/4966 1143/1719/4965 1338/2016/4967
+s 1208
+f 1143/1720/4968 1245/1721/4969 1338/2017/4970
+f 1338/2017/4970 1245/1721/4969 1436/2018/4971
+s 1209
+f 1246/2019/4972 1339/2020/4973 1145/1892/4974
+f 1145/1892/4974 1339/2020/4973 1259/1893/4975
+s 1210
+f 1249/1872/4976 1341/2021/4977 1057/1424/4978
+f 1057/1424/4978 1341/2021/4977 1146/1727/4979
+s 1211
+f 1147/2023/4980 1342/2024/4981 1251/2022/4982
+f 1251/2022/4982 1342/2024/4981 1446/2025/4983
+s 1212
+f 1147/1728/4984 1148/1729/4985 1343/2026/4986
+f 1343/2026/4986 1148/1729/4985 1252/1875/4987
+s 1213
+f 1058/1582/4988 1253/2027/4989 1344/1876/4990
+f 1344/1876/4990 1253/2027/4989 1449/2028/4991
+s 1214
+f 1061/1427/4992 959/1426/4993 1345/1884/4994
+f 1345/1884/4994 959/1426/4993 1346/2029/4995
+s 1215
+f 959/1426/4996 1149/1585/4997 1346/2029/4998
+f 1346/2029/4998 1149/1585/4997 1450/2030/4999
+s 1216
+f 1254/1879/5000 1150/1589/5001 1347/2031/5002
+f 1347/2031/5002 1150/1589/5001 1255/2032/5003
+s 1217
+f 1256/1883/5004 1348/2033/5005 1062/1730/5006
+f 1062/1730/5006 1348/2033/5005 1454/2034/5007
+s 1218
+f 1151/1885/5008 1349/1887/5009 1255/2035/5010
+f 1255/2035/5010 1349/1887/5009 1456/2036/5011
+s 1219
+f 1257/1886/5012 1062/1730/5013 1350/2037/5014
+f 1350/2037/5014 1062/1730/5013 1454/2034/5015
+s 1220
+f 1254/1879/5016 1351/2038/5017 1152/1880/5018
+f 1152/1880/5018 1351/2038/5017 1352/2039/5019
+s 1221
+f 1152/1880/5020 1352/2039/5021 1162/2040/5022
+f 1162/2040/5022 1352/2039/5021 1362/2041/5023
+s 1222
+f 1064/1430/5024 1258/2042/5025 1261/1737/5026
+f 1261/1737/5026 1258/2042/5025 1459/2043/5027
+s 1223
+f 1260/1896/5028 1153/1895/5029 1354/2044/5030
+f 1354/2044/5030 1153/1895/5029 1355/2045/5031
+s 1224
+f 1153/1735/5032 1154/1736/5033 1355/2046/5034
+f 1355/2046/5034 1154/1736/5033 1463/2047/5035
+s 1225
+f 1261/1737/5036 1356/2048/5037 1154/1736/5038
+f 1154/1736/5038 1356/2048/5037 1463/2047/5039
+s 1226
+f 1155/2050/5040 1260/2051/5041 1357/2049/5042
+f 1357/2049/5042 1260/2051/5041 1462/2052/5043
+s 1227
+f 1262/1741/5044 1155/1740/5045 1358/2053/5046
+f 1358/2053/5046 1155/1740/5045 1357/2054/5047
+s 1228
+f 1263/1898/5048 1156/1742/5049 1359/1916/5050
+f 1359/1916/5050 1156/1742/5049 1267/1763/5051
+s 1229
+f 1077/1743/5052 1266/1744/5053 1275/1752/5054
+f 1275/1752/5054 1266/1744/5053 1468/2055/5055
+s 1230
+f 1072/1604/5056 1268/1746/5057 1269/1902/5058
+f 1269/1902/5058 1268/1746/5057 1469/2056/5059
+s 1231
+f 1160/1747/5060 1161/1748/5061 1360/1904/5062
+f 1360/1904/5062 1161/1748/5061 1272/2057/5063
+s 1232
+f 1075/1439/5064 1273/1907/5065 1361/1906/5066
+f 1361/1906/5066 1273/1907/5065 1474/2058/5067
+s 1233
+f 1163/1750/5068 1275/1752/5069 1363/2059/5070
+f 1363/2059/5070 1275/1752/5069 1476/2060/5071
+s 1234
+f 1276/2061/5072 1364/2062/5073 970/1440/5074
+f 970/1440/5074 1364/2062/5073 1277/1754/5075
+s 1235
+f 1165/2064/5076 1164/2065/5077 1366/2063/5078
+f 1366/2063/5078 1164/2065/5077 1367/2066/5079
+s 1236
+f 1164/2065/5080 1277/2067/5081 1367/2066/5082
+f 1367/2066/5082 1277/2067/5081 1480/2068/5083
+s 1237
+f 1278/1912/5084 1165/1755/5085 1368/2069/5086
+f 1368/2069/5086 1165/1755/5085 1366/2070/5087
+s 1238
+f 1278/1912/5088 1369/2071/5089 1166/1756/5090
+f 1166/1756/5090 1369/2071/5089 1482/2072/5091
+s 1239
+f 1279/1761/5092 1166/2074/5093 1370/2073/5094
+f 1370/2073/5094 1166/2074/5093 1482/2075/5095
+s 1240
+f 1167/1758/5096 1279/1761/5097 1372/2076/5098
+f 1372/2076/5098 1279/1761/5097 1370/2073/5099
+s 1241
+f 1172/2078/5100 1373/2079/5101 1179/2077/5102
+f 1179/2077/5102 1373/2079/5101 1376/2080/5103
+s 1242
+f 1082/1766/5104 1280/1769/5105 1173/2081/5106
+f 1173/2081/5106 1280/1769/5105 5/2082/5107
+s 1243
+f 4/2083/5108 1280/1769/5109 14/2084/5110
+f 14/2084/5110 1280/1769/5109 1085/1768/5111
+s 1244
+f 1281/2086/5112 1173/2081/5113 1/2085/5114
+f 1/2085/5114 1173/2081/5113 5/2082/5115
+s 1245
+f 1281/1918/5116 1374/2087/5117 1174/1771/5118
+f 1174/1771/5118 1374/2087/5117 1484/2088/5119
+s 1246
+f 1175/1772/5120 1174/1771/5121 1285/1919/5122
+f 1285/1919/5122 1174/1771/5121 1484/2088/5123
+s 1247
+f 18/2090/5124 20/2091/5125 1282/2089/5126
+f 1282/2089/5126 20/2091/5125 1177/2092/5127
+s 1248
+f 1282/1920/5128 1178/1622/5129 1375/2093/5130
+f 1375/2093/5130 1178/1622/5129 1283/1921/5131
+s 1249
+f 1179/2077/5132 1376/2080/5133 1180/2094/5134
+f 1180/2094/5134 1376/2080/5133 1284/2095/5135
+s 1250
+f 1181/2097/5136 1377/2098/5137 1286/2096/5138
+f 1286/2096/5138 1377/2098/5137 1487/2099/5139
+s 1251
+f 1183/2101/5140 1378/2102/5141 1289/2100/5142
+f 1289/2100/5142 1378/2102/5141 1492/2103/5143
+s 1252
+f 1289/1930/5144 1379/2104/5145 1184/1931/5146
+f 1184/1931/5146 1379/2104/5145 1290/2105/5147
+s 1253
+f 1187/1938/5148 1185/2106/5149 1293/1939/5150
+f 1293/1939/5150 1185/2106/5149 1380/2107/5151
+s 1254
+f 1185/2106/5152 1291/2108/5153 1380/2107/5154
+f 1380/2107/5154 1291/2108/5153 1381/2109/5155
+s 1255
+f 1291/2108/5156 1089/1934/5157 1381/2109/5158
+f 1381/2109/5158 1089/1934/5157 1292/1933/5159
+s 1256
+f 1189/1945/5160 1190/2110/5161 1382/1946/5162
+f 1382/1946/5162 1190/2110/5161 1383/2111/5163
+s 1257
+f 1190/2110/5164 1294/2112/5165 1383/2111/5166
+f 1383/2111/5166 1294/2112/5165 1497/2113/5167
+s 1258
+f 1298/1949/5168 1384/2114/5169 797/1785/5170
+f 797/1785/5170 1384/2114/5169 1502/2115/5171
+s 1259
+f 1192/1784/5172 1299/1786/5173 1386/2116/5174
+f 1386/2116/5174 1299/1786/5173 1387/2117/5175
+s 1260
+f 1299/1786/5176 697/1470/5177 1387/2117/5178
+f 1387/2117/5178 697/1470/5177 1300/1951/5179
+s 1261
+f 1193/2119/5180 1301/2120/5181 1389/2118/5182
+f 1389/2118/5182 1301/2120/5181 1390/2121/5183
+s 1262
+f 1301/2120/5184 1093/1954/5185 1390/2121/5186
+f 1390/2121/5186 1093/1954/5185 1302/1953/5187
+s 1263
+f 1304/2122/5188 1510/2123/5189 894/1309/5190
+f 1194/1957/5191 894/1309/5190 1510/2123/5189
+s 1264
+f 1094/1791/5192 1305/1793/5193 1228/2124/5194
+f 1228/2124/5194 1305/1793/5193 1327/1993/5195
+s 1265
+f 1305/1793/5196 1195/1792/5197 1392/2125/5198
+f 1392/2125/5198 1195/1792/5197 1511/2126/5199
+s 1266
+f 1198/1794/5200 1394/2127/5201 1201/1795/5202
+f 1201/1795/5202 1394/2127/5201 1395/2128/5203
+s 1267
+f 1097/2130/5204 1308/2131/5205 1307/2129/5206
+f 1307/2129/5206 1308/2131/5205 1514/2132/5207
+s 1268
+f 1201/1801/5208 1395/2133/5209 1310/1802/5210
+f 1310/1802/5210 1395/2133/5209 1517/2134/5211
+s 1269
+f 1203/1810/5212 1313/1822/5213 1204/1811/5214
+f 1204/1811/5214 1313/1822/5213 1113/1519/5215
+s 1270
+f 1311/2135/5216 1396/2136/5217 1102/1968/5218
+f 1102/1968/5218 1396/2136/5217 1312/1969/5219
+s 1271
+f 1207/1819/5220 1397/2137/5221 1206/1816/5222
+f 1206/1816/5222 1397/2137/5221 1398/2138/5223
+s 1272
+f 1206/1816/5224 1398/2138/5225 1208/1817/5226
+f 1208/1817/5226 1398/2138/5225 1400/1971/5227
+s 1273
+f 1312/1969/5228 1399/2139/5229 1207/1819/5230
+f 1207/1819/5230 1399/2139/5229 1397/2137/5231
+s 1274
+f 1209/1655/5232 1314/1823/5233 1318/1974/5234
+f 1318/1974/5234 1314/1823/5233 1520/2140/5235
+s 1275
+f 1212/1827/5236 1401/2141/5237 1210/1824/5238
+f 1210/1824/5238 1401/2141/5237 1402/2142/5239
+s 1276
+f 1210/1824/5240 1402/2142/5241 1211/1825/5242
+f 1211/1825/5242 1402/2142/5241 1403/2143/5243
+s 1277
+f 1211/1825/5244 1403/2143/5245 1315/1826/5246
+f 1315/1826/5246 1403/2143/5245 1521/2144/5247
+s 1278
+f 1311/2135/5248 1213/2145/5249 1396/2136/5250
+f 1396/2136/5250 1213/2145/5249 1405/2146/5251
+s 1279
+f 1213/2145/5252 1319/2147/5253 1405/2146/5254
+f 1405/2146/5254 1319/2147/5253 1406/2148/5255
+s 1280
+f 1319/2147/5256 1216/2149/5257 1406/2148/5258
+f 1406/2148/5258 1216/2149/5257 1407/2150/5259
+s 1281
+f 1320/1979/5260 1407/2150/5261 1219/1980/5262
+f 1219/1980/5262 1407/2150/5261 1216/2149/5263
+s 1282
+f 1321/1982/5264 1220/1841/5265 1408/2151/5266
+f 1408/2151/5266 1220/1841/5265 1409/2152/5267
+s 1283
+f 1220/1841/5268 1322/1844/5269 1409/2152/5270
+f 1409/2152/5270 1322/1844/5269 1413/2153/5271
+s 1284
+f 1222/1685/5272 1410/2154/5273 1221/1847/5274
+f 1221/1847/5274 1410/2154/5273 1324/1983/5275
+s 1285
+f 1223/1850/5276 1412/2155/5277 1224/1851/5278
+f 1224/1851/5278 1412/2155/5277 1413/2153/5279
+s 1286
+f 1224/1851/5280 1413/2153/5281 1323/1846/5282
+f 1323/1846/5282 1413/2153/5281 1322/1844/5283
+s 1287
+f 1134/1564/5284 1229/1853/5285 1329/1861/5286
+f 1329/1861/5286 1229/1853/5285 1419/2156/5287
+s 1288
+f 1229/1853/5288 1230/1854/5289 1419/2156/5290
+f 1419/2156/5290 1230/1854/5289 1328/1997/5291
+s 1289
+f 1231/1855/5292 1420/2157/5293 1235/1860/5294
+f 1235/1860/5294 1420/2157/5293 1425/2158/5295
+s 1290
+f 1232/1856/5296 1421/2159/5297 1231/1855/5298
+f 1231/1855/5298 1421/2159/5297 1420/2157/5299
+s 1291
+f 1233/1857/5300 1422/2160/5301 1232/1856/5302
+f 1232/1856/5302 1422/2160/5301 1421/2159/5303
+s 1292
+f 1234/1858/5304 1423/2161/5305 1233/1857/5306
+f 1233/1857/5306 1423/2161/5305 1422/2160/5307
+s 1293
+f 1316/1859/5308 1424/2162/5309 1234/1858/5310
+f 1234/1858/5310 1424/2162/5309 1423/2161/5311
+s 1294
+f 1235/1860/5312 1425/2158/5313 1328/1997/5314
+f 1328/1997/5314 1425/2158/5313 1530/2163/5315
+s 1295
+f 1329/1861/5316 1426/2164/5317 1236/1706/5318
+f 1236/1706/5318 1426/2164/5317 1330/1998/5319
+s 1296
+f 1243/1864/5320 1432/2165/5321 1241/1714/5322
+f 1241/1714/5322 1432/2165/5321 1431/2007/5323
+s 1297
+f 1333/2010/5324 1434/2166/5325 1243/1864/5326
+f 1243/1864/5326 1434/2166/5325 1432/2165/5327
+s 1298
+f 1242/1716/5328 1335/2013/5329 1433/2009/5330
+f 1433/2009/5330 1335/2013/5329 1540/2167/5331
+s 1299
+f 1144/2169/5332 1331/2170/5333 1340/2168/5334
+f 1340/2168/5334 1331/2170/5333 1544/2171/5335
+s 1300
+f 1339/2020/5336 1246/2019/5337 1437/2172/5338
+f 1437/2172/5338 1246/2019/5337 1438/2173/5339
+s 1301
+f 1246/1867/5340 1247/1868/5341 1438/2174/5342
+f 1438/2174/5342 1247/1868/5341 1439/2175/5343
+s 1302
+f 1247/1868/5344 1248/1869/5345 1439/2175/5346
+f 1439/2175/5346 1248/1869/5345 1440/2176/5347
+s 1303
+f 1248/1869/5348 1340/1871/5349 1440/2176/5350
+f 1440/2176/5350 1340/1871/5349 1546/2177/5351
+s 1304
+f 1341/2021/5352 1249/1872/5353 1441/2178/5354
+f 1441/2178/5354 1249/1872/5353 1442/2179/5355
+s 1305
+f 1249/1872/5356 1250/1873/5357 1442/2179/5358
+f 1442/2179/5358 1250/1873/5357 1548/2180/5359
+s 1306
+f 1250/2182/5360 1251/2022/5361 1443/2181/5362
+f 1443/2181/5362 1251/2022/5361 1446/2025/5363
+s 1307
+f 1341/2021/5364 1444/2183/5365 1146/1727/5366
+f 1146/1727/5366 1444/2183/5365 1060/1584/5367
+s 1308
+f 1342/2185/5368 1147/2186/5369 1445/2184/5370
+f 1445/2184/5370 1147/2186/5369 1343/2187/5371
+s 1309
+f 1343/2026/5372 1252/1875/5373 1447/2188/5374
+f 1447/2188/5374 1252/1875/5373 1448/2189/5375
+s 1310
+f 1252/1875/5376 1344/1876/5377 1448/2189/5378
+f 1448/2189/5378 1344/1876/5377 1553/2190/5379
+s 1311
+f 1262/1741/5380 1358/2053/5381 1253/1877/5382
+f 1253/1877/5382 1358/2053/5381 1555/2191/5383
+s 1312
+f 1149/1585/5384 1060/1584/5385 1450/2030/5386
+f 1450/2030/5386 1060/1584/5385 1444/2183/5387
+s 1313
+f 1347/2031/5388 1451/2192/5389 1254/1879/5390
+f 1254/1879/5390 1451/2192/5389 1351/2038/5391
+s 1314
+f 1347/2194/5392 1255/2195/5393 1452/2193/5394
+f 1452/2193/5394 1255/2195/5393 1456/2196/5395
+s 1315
+f 1348/2198/5396 1256/2199/5397 1453/2197/5398
+f 1453/2197/5398 1256/2199/5397 1560/2200/5399
+s 1316
+f 1345/2201/5400 1455/2202/5401 1256/2199/5402
+f 1256/2199/5402 1455/2202/5401 1560/2200/5403
+s 1317
+f 1350/2204/5404 1457/2205/5405 1257/2203/5406
+f 1257/2203/5406 1457/2205/5405 1458/2206/5407
+s 1318
+f 1257/2208/5408 1458/2209/5409 1349/2207/5410
+f 1349/2207/5410 1458/2209/5409 1566/2210/5411
+s 1319
+f 1353/1891/5412 1460/2211/5413 1258/1888/5414
+f 1258/1888/5414 1460/2211/5413 1570/2212/5415
+s 1320
+f 1259/2214/5416 1339/2215/5417 1461/2213/5418
+f 1461/2213/5418 1339/2215/5417 1545/2216/5419
+s 1321
+f 1353/1891/5420 1259/1893/5421 1460/2211/5422
+f 1460/2211/5422 1259/1893/5421 1461/2217/5423
+s 1322
+f 1260/2051/5424 1354/2218/5425 1462/2052/5426
+f 1462/2052/5426 1354/2218/5425 1571/2219/5427
+s 1323
+f 1261/1737/5428 1459/2043/5429 1356/2048/5430
+f 1356/2048/5430 1459/2043/5429 1573/2220/5431
+s 1324
+f 1359/1916/5432 1464/2221/5433 1263/1898/5434
+f 1263/1898/5434 1464/2221/5433 1465/2222/5435
+s 1325
+f 1263/1898/5436 1465/2222/5437 1264/1899/5438
+f 1264/1899/5438 1465/2222/5437 1577/2223/5439
+s 1326
+f 1264/1899/5440 1466/2224/5441 1265/1900/5442
+f 1265/1900/5442 1466/2224/5441 1467/2225/5443
+s 1327
+f 1265/1901/5444 1467/2226/5445 1266/1744/5446
+f 1266/1744/5446 1467/2226/5445 1468/2055/5447
+s 1328
+f 1271/1903/5448 1269/1902/5449 1470/2227/5450
+f 1470/2227/5450 1269/1902/5449 1579/2228/5451
+s 1329
+f 1270/1774/5452 1271/1903/5453 1471/2229/5454
+f 1471/2229/5454 1271/1903/5453 1470/2227/5455
+s 1330
+f 1268/1746/5456 1360/1904/5457 1469/2056/5458
+f 1469/2056/5458 1360/1904/5457 1472/2230/5459
+s 1331
+f 1360/1904/5460 1272/2057/5461 1472/2230/5462
+f 1472/2230/5462 1272/2057/5461 1473/2231/5463
+s 1332
+f 1272/2057/5464 1361/2232/5465 1473/2231/5466
+f 1473/2231/5466 1361/2232/5465 1580/2233/5467
+s 1333
+f 1273/1907/5468 1274/1908/5469 1475/2234/5470
+f 1475/2234/5470 1274/1908/5469 1362/1909/5471
+s 1334
+f 1363/2059/5472 1477/2235/5473 1163/1750/5474
+f 1163/1750/5474 1477/2235/5473 1365/1911/5475
+s 1335
+f 1364/2237/5476 1276/1910/5477 1478/2236/5478
+f 1478/2236/5478 1276/1910/5477 1479/2238/5479
+s 1336
+f 1276/1910/5480 1365/1911/5481 1479/2238/5482
+f 1479/2238/5482 1365/1911/5481 1477/2235/5483
+s 1337
+f 1277/2067/5484 1364/2237/5485 1480/2068/5486
+f 1480/2068/5486 1364/2237/5485 1478/2236/5487
+s 1338
+f 1368/2069/5488 1481/2239/5489 1278/1912/5490
+f 1278/1912/5490 1481/2239/5489 1369/2071/5491
+s 1339
+f 1167/1758/5492 1372/2076/5493 1371/1914/5494
+f 1371/1914/5494 1372/2076/5493 1591/2240/5495
+s 1340
+f 1371/2241/5496 1483/2242/5497 1168/1915/5498
+f 1168/1915/5498 1483/2242/5497 1359/1916/5499
+s 1341
+f 1172/2244/5500 1286/2096/5501 1373/2243/5502
+f 1373/2243/5502 1286/2096/5501 1487/2099/5503
+s off
+f 3/3/5504 1281/1918/5505 1/1/5506
+s 1342
+f 1281/2246/5507 3/2247/5508 1374/2245/5509
+f 1374/2245/5509 3/2247/5508 12/2248/5510
+s off
+f 16/2249/5511 1177/2092/5512 20/2091/5513
+s 1343
+f 18/2090/5514 1282/2089/5515 23/2251/5516
+f 23/2251/5516 1282/2089/5515 1375/2250/5517
+s 1344
+f 1283/1921/5518 1284/1922/5519 1485/2252/5520
+f 1485/2252/5520 1284/1922/5519 1376/2253/5521
+s 1345
+f 1375/2093/5522 1283/1921/5523 1486/2254/5524
+f 1486/2254/5524 1283/1921/5523 1485/2252/5525
+s 1346
+f 1285/1919/5526 1484/2088/5527 1287/1923/5528
+f 1287/1923/5528 1484/2088/5527 1488/2255/5529
+s 1347
+f 1287/1923/5530 1488/2255/5531 1377/1924/5532
+f 1377/1924/5532 1488/2255/5531 1595/2256/5533
+s 1348
+f 1471/2260/5534 1489/2257/5535 1270/2259/5536
+f 1489/2257/5535 1288/2258/5537 1270/2259/5536
+s 1349
+f 1183/1925/5538 1288/1928/5539 1490/2261/5540
+f 1490/2261/5540 1288/1928/5539 1489/2262/5541
+s 1350
+f 1183/2264/5542 1491/2265/5543 1378/2263/5544
+f 1378/2263/5544 1491/2265/5543 1596/2266/5545
+s 1351
+f 1379/2268/5546 1289/2100/5547 1493/2267/5548
+f 1493/2267/5548 1289/2100/5547 1492/2103/5549
+s 1352
+f 1379/2104/5550 1494/2269/5551 1290/2105/5552
+f 1290/2105/5552 1494/2269/5551 1292/2270/5553
+s 1353
+f 1381/2272/5554 1292/2270/5555 1495/2271/5556
+f 1495/2271/5556 1292/2270/5555 1494/2269/5557
+s 1354
+f 1295/2274/5558 1293/2275/5559 1496/2273/5560
+f 1496/2273/5560 1293/2275/5559 1599/2276/5561
+s 1355
+f 1294/2112/5562 1295/2274/5563 1497/2113/5564
+f 1497/2113/5564 1295/2274/5563 1496/2273/5565
+s 1356
+f 1297/2278/5566 1296/2279/5567 1498/2277/5568
+f 1498/2277/5568 1296/2279/5567 1604/2280/5569
+s 1357
+f 1382/2281/5570 1499/2282/5571 1296/2279/5572
+f 1296/2279/5572 1499/2282/5571 1604/2280/5573
+s 1358
+f 1302/1953/5574 1297/1947/5575 1500/2283/5576
+f 1500/2283/5576 1297/1947/5575 1603/2284/5577
+s 1359
+f 1384/2286/5578 1298/2287/5579 1501/2285/5580
+f 1501/2285/5580 1298/2287/5579 1503/2288/5581
+s 1360
+f 1298/2287/5582 1385/2289/5583 1503/2288/5584
+f 1503/2288/5584 1385/2289/5583 1504/2290/5585
+s 1361
+f 1385/2289/5586 1192/2291/5587 1504/2290/5588
+f 1504/2290/5588 1192/2291/5587 1386/2292/5589
+s 1362
+f 1387/2294/5590 1300/2295/5591 1505/2293/5592
+f 1505/2293/5592 1300/2295/5591 1506/2296/5593
+s 1363
+f 1300/2295/5594 1388/2297/5595 1506/2296/5596
+f 1506/2296/5596 1388/2297/5595 1609/2298/5597
+s 1364
+f 1193/2119/5598 1389/2118/5599 1388/2297/5600
+f 1388/2297/5600 1389/2118/5599 1609/2298/5601
+s 1365
+f 1390/2121/5602 1302/1953/5603 1507/2299/5604
+f 1507/2299/5604 1302/1953/5603 1500/2283/5605
+s off
+f 1303/1956/5606 797/1785/5607 1508/2300/5608
+f 1304/2122/5609 894/1309/5610 1614/2301/5611
+s 1366
+f 894/1309/5612 1303/2302/5613 1614/2301/5614
+f 1303/2302/5613 1509/2303/5615 1614/2301/5614
+s 1367
+f 1195/1792/5616 1391/1958/5617 1511/2126/5618
+f 1511/2126/5618 1391/1958/5617 1512/2304/5619
+s 1368
+f 1391/1958/5620 1194/1957/5621 1512/2304/5622
+f 1512/2304/5622 1194/1957/5621 1615/2305/5623
+s 1369
+f 1392/2125/5624 1417/1994/5625 1305/1793/5626
+f 1305/1793/5626 1417/1994/5625 1327/1993/5627
+s 1370
+f 1198/1794/5628 1393/1959/5629 1394/2127/5630
+f 1394/2127/5630 1393/1959/5629 1619/2306/5631
+s 1371
+f 1196/2308/5632 1306/2309/5633 1393/2307/5634
+f 1393/2307/5634 1306/2309/5633 1513/2310/5635
+s 1372
+f 1306/2309/5636 1307/2129/5637 1513/2310/5638
+f 1513/2310/5638 1307/2129/5637 1514/2132/5639
+s 1373
+f 1308/2312/5640 1309/2313/5641 1515/2311/5642
+f 1515/2311/5642 1309/2313/5641 1516/2314/5643
+s 1374
+f 1309/2313/5644 1310/2315/5645 1516/2314/5646
+f 1516/2314/5646 1310/2315/5645 1517/2316/5647
+s 1375
+f 1396/2136/5648 1518/2317/5649 1312/1969/5650
+f 1312/1969/5650 1518/2317/5649 1399/2139/5651
+s 1376
+f 1400/1971/5652 1519/2318/5653 1212/1827/5654
+f 1212/1827/5654 1519/2318/5653 1401/2141/5655
+s 1377
+f 1314/1823/5656 1315/1826/5657 1520/2140/5658
+f 1520/2140/5658 1315/1826/5657 1521/2144/5659
+s 1378
+f 1317/1972/5660 1522/2319/5661 1316/1859/5662
+f 1316/1859/5662 1522/2319/5661 1424/2162/5663
+s 1379
+f 1317/1972/5664 1404/1973/5665 1522/2319/5666
+f 1522/2319/5666 1404/1973/5665 1630/2320/5667
+s 1380
+f 1318/1974/5668 1523/2321/5669 1404/1973/5670
+f 1404/1973/5670 1523/2321/5669 1630/2320/5671
+s 1381
+f 1407/2150/5672 1320/1979/5673 1524/2322/5674
+f 1524/2322/5674 1320/1979/5673 1525/2323/5675
+s 1382
+f 1320/1979/5676 1321/1982/5677 1525/2323/5678
+f 1525/2323/5678 1321/1982/5677 1408/2151/5679
+s 1383
+f 1222/1987/5680 1414/1988/5681 1410/2324/5682
+f 1410/2324/5682 1414/1988/5681 1636/2325/5683
+s 1384
+f 1410/2327/5684 1526/2328/5685 1324/2326/5686
+f 1324/2326/5686 1526/2328/5685 1527/2329/5687
+s 1385
+f 1324/1983/5688 1527/2330/5689 1325/1984/5690
+f 1325/1984/5690 1527/2330/5689 1528/2331/5691
+s 1386
+f 1223/1850/5692 1411/1986/5693 1412/2155/5694
+f 1412/2155/5694 1411/1986/5693 1638/2332/5695
+s 1387
+f 1325/1984/5696 1528/2331/5697 1411/1986/5698
+f 1411/1986/5698 1528/2331/5697 1639/2333/5699
+s 1388
+f 1225/1689/5700 1415/1990/5701 1414/1988/5702
+f 1414/1988/5702 1415/1990/5701 1640/2334/5703
+s 1389
+f 1326/1995/5704 1418/1996/5705 1415/2335/5706
+f 1415/2335/5706 1418/1996/5705 1641/2336/5707
+s 1390
+f 1227/1991/5708 1416/1992/5709 1418/2337/5710
+f 1418/2337/5710 1416/1992/5709 1642/2338/5711
+s 1391
+f 1226/1693/5712 1529/2339/5713 1416/1992/5714
+f 1416/1992/5714 1529/2339/5713 1643/2340/5715
+s 1392
+f 1226/1693/5716 1417/1994/5717 1529/2339/5718
+f 1529/2339/5718 1417/1994/5717 1617/2341/5719
+s 1393
+f 1328/1997/5720 1530/2163/5721 1419/2156/5722
+f 1419/2156/5722 1530/2163/5721 1531/2342/5723
+s 1394
+f 1426/2164/5724 1329/1861/5725 1531/2342/5726
+f 1531/2342/5726 1329/1861/5725 1419/2156/5727
+s 1395
+f 1426/2164/5728 1532/2343/5729 1330/1998/5730
+f 1330/1998/5730 1532/2343/5729 1533/2344/5731
+s 1396
+f 1330/1998/5732 1533/2344/5733 1334/1999/5734
+f 1334/1999/5734 1533/2344/5733 1539/2345/5735
+s 1397
+f 1331/2000/5736 1427/2001/5737 1534/2346/5738
+f 1534/2346/5738 1427/2001/5737 1652/2347/5739
+s 1398
+f 1237/2349/5740 1428/2350/5741 1427/2348/5742
+f 1427/2348/5742 1428/2350/5741 1654/2351/5743
+s 1399
+f 1238/2003/5744 1429/2004/5745 1428/2352/5746
+f 1428/2352/5746 1429/2004/5745 1655/2353/5747
+s 1400
+f 1239/1711/5748 1336/2005/5749 1429/2004/5750
+f 1429/2004/5750 1336/2005/5749 1541/2354/5751
+s 1401
+f 1245/1721/5752 1430/2006/5753 1436/2018/5754
+f 1436/2018/5754 1430/2006/5753 1656/2355/5755
+s 1402
+f 1430/2006/5756 1240/1712/5757 1535/2356/5758
+f 1535/2356/5758 1240/1712/5757 1431/2007/5759
+s 1403
+f 1332/2358/5760 1433/2359/5761 1536/2357/5762
+f 1536/2357/5762 1433/2359/5761 1659/2360/5763
+s 1404
+f 1333/2010/5764 1332/2011/5765 1537/2361/5766
+f 1537/2361/5766 1332/2011/5765 1536/2362/5767
+s 1405
+f 1434/2166/5768 1333/2010/5769 1538/2363/5770
+f 1538/2363/5770 1333/2010/5769 1537/2361/5771
+s 1406
+f 1334/1999/5772 1539/2345/5773 1435/2012/5774
+f 1435/2012/5774 1539/2345/5773 1335/2013/5775
+s 1407
+f 1336/2014/5776 1337/2015/5777 1541/2364/5778
+f 1541/2364/5778 1337/2015/5777 1542/2365/5779
+s 1408
+f 1337/2015/5780 1338/2016/5781 1542/2365/5782
+f 1542/2365/5782 1338/2016/5781 1543/2366/5783
+s 1409
+f 1338/2017/5784 1436/2018/5785 1543/2367/5786
+f 1543/2367/5786 1436/2018/5785 1662/2368/5787
+s 1410
+f 1339/2215/5788 1437/2369/5789 1545/2216/5790
+f 1545/2216/5790 1437/2369/5789 1664/2370/5791
+s 1411
+f 1441/2372/5792 1547/2373/5793 1341/2371/5794
+f 1341/2371/5794 1547/2373/5793 1549/2374/5795
+s 1412
+f 1250/1873/5796 1443/2375/5797 1548/2180/5798
+f 1548/2180/5798 1443/2375/5797 1669/2376/5799
+s 1413
+f 1341/2378/5800 1549/2379/5801 1444/2377/5802
+f 1444/2377/5802 1549/2379/5801 1670/2380/5803
+s 1414
+f 1342/2382/5804 1445/2383/5805 1550/2381/5806
+f 1550/2381/5806 1445/2383/5805 1671/2384/5807
+s 1415
+f 1446/2025/5808 1342/2024/5809 1551/2385/5810
+f 1551/2385/5810 1342/2024/5809 1550/2386/5811
+s 1416
+f 1445/2184/5812 1343/2187/5813 1552/2387/5814
+f 1552/2387/5814 1343/2187/5813 1447/2388/5815
+s 1417
+f 1344/1876/5816 1449/2028/5817 1553/2190/5818
+f 1553/2190/5818 1449/2028/5817 1673/2389/5819
+s 1418
+f 1449/2391/5820 1253/2392/5821 1554/2390/5822
+f 1554/2390/5822 1253/2392/5821 1555/2393/5823
+s 1419
+f 1345/1884/5824 1346/2029/5825 1556/2394/5826
+f 1556/2394/5826 1346/2029/5825 1557/2395/5827
+s 1420
+f 1346/2029/5828 1450/2030/5829 1557/2395/5830
+f 1557/2395/5830 1450/2030/5829 1677/2396/5831
+s 1421
+f 1451/2398/5832 1347/2194/5833 1558/2397/5834
+f 1558/2397/5834 1347/2194/5833 1452/2193/5835
+s 1422
+f 1453/2399/5836 1559/2400/5837 1348/2033/5838
+f 1348/2033/5838 1559/2400/5837 1682/2401/5839
+s 1423
+f 1454/2034/5840 1348/2033/5841 1561/2402/5842
+f 1561/2402/5842 1348/2033/5841 1682/2401/5843
+s 1424
+f 1455/2404/5844 1345/2405/5845 1562/2403/5846
+f 1562/2403/5846 1345/2405/5845 1556/2406/5847
+s 1425
+f 1456/2408/5848 1349/2207/5849 1563/2407/5850
+f 1563/2407/5850 1349/2207/5849 1566/2210/5851
+s 1426
+f 1457/2205/5852 1350/2204/5853 1564/2409/5854
+f 1564/2409/5854 1350/2204/5853 1565/2410/5855
+s 1427
+f 1350/2037/5856 1454/2034/5857 1565/2411/5858
+f 1565/2411/5858 1454/2034/5857 1561/2402/5859
+s 1428
+f 1451/2192/5860 1567/2412/5861 1351/2038/5862
+f 1351/2038/5862 1567/2412/5861 1688/2413/5863
+s 1429
+f 1352/2039/5864 1351/2038/5865 1568/2414/5866
+f 1568/2414/5866 1351/2038/5865 1688/2413/5867
+s 1430
+f 1352/2039/5868 1568/2414/5869 1362/2041/5870
+f 1362/2041/5870 1568/2414/5869 1475/2415/5871
+s 1431
+f 1459/2417/5872 1258/2418/5873 1569/2416/5874
+f 1569/2416/5874 1258/2418/5873 1570/2419/5875
+s 1432
+f 1354/2421/5876 1355/2422/5877 1572/2420/5878
+f 1572/2420/5878 1355/2422/5877 1463/2423/5879
+s 1433
+f 1463/2047/5880 1356/2048/5881 1572/2424/5882
+f 1572/2424/5882 1356/2048/5881 1573/2220/5883
+s 1434
+f 1357/2049/5884 1574/2426/5885 1358/2425/5886
+f 1358/2425/5886 1574/2426/5885 1675/2427/5887
+s 1435
+f 1357/2049/5888 1462/2052/5889 1575/2428/5890
+f 1575/2428/5890 1462/2052/5889 1692/2429/5891
+s 1436
+f 1464/2221/5892 1359/1916/5893 1576/2430/5894
+f 1576/2430/5894 1359/1916/5893 1483/2242/5895
+s 1437
+f 1264/1899/5896 1577/2223/5897 1466/2224/5898
+f 1466/2224/5898 1577/2223/5897 1697/2431/5899
+s 1438
+f 1275/1752/5900 1468/2055/5901 1476/2060/5902
+f 1476/2060/5902 1468/2055/5901 1700/2432/5903
+s 1439
+f 1469/2056/5904 1578/2433/5905 1269/1902/5906
+f 1269/1902/5906 1578/2433/5905 1579/2228/5907
+s 1440
+f 1361/2232/5908 1474/2434/5909 1580/2233/5910
+f 1580/2233/5910 1474/2434/5909 1707/2435/5911
+s 1441
+f 1273/1907/5912 1475/2234/5913 1474/2058/5914
+f 1474/2058/5914 1475/2234/5913 1707/2436/5915
+s 1442
+f 1476/2438/5916 1581/2439/5917 1363/2437/5918
+f 1363/2437/5918 1581/2439/5917 1709/2440/5919
+s 1443
+f 1363/2442/5920 1582/2443/5921 1477/2441/5922
+f 1477/2441/5922 1582/2443/5921 1711/2444/5923
+s 1444
+f 1368/2446/5924 1366/2063/5925 1583/2445/5926
+f 1583/2445/5926 1366/2063/5925 1584/2447/5927
+s 1445
+f 1366/2063/5928 1367/2066/5929 1584/2447/5930
+f 1584/2447/5930 1367/2066/5929 1714/2448/5931
+s 1446
+f 1480/2068/5932 1585/2449/5933 1367/2066/5934
+f 1367/2066/5934 1585/2449/5933 1714/2448/5935
+s 1447
+f 1481/2239/5936 1368/2069/5937 1586/2450/5938
+f 1586/2450/5938 1368/2069/5937 1583/2451/5939
+s 1448
+f 1481/2239/5940 1587/2452/5941 1369/2071/5942
+f 1369/2071/5942 1587/2452/5941 1588/2453/5943
+s 1449
+f 1369/2071/5944 1588/2453/5945 1482/2072/5946
+f 1482/2072/5946 1588/2453/5945 1716/2454/5947
+s 1450
+f 1372/2076/5948 1370/2073/5949 1589/2455/5950
+f 1589/2455/5950 1370/2073/5949 1590/2456/5951
+s 1451
+f 1370/2073/5952 1482/2075/5953 1590/2456/5954
+f 1590/2456/5954 1482/2075/5953 1717/2457/5955
+s 1452
+f 1483/2459/5956 1371/1914/5957 1592/2458/5958
+f 1592/2458/5958 1371/1914/5957 1591/2240/5959
+s 1453
+f 1373/2460/5960 1593/2461/5961 1376/2253/5962
+f 1376/2253/5962 1593/2461/5961 1485/2252/5963
+s off
+f 1280/1769/5964 4/2083/5965 5/2082/5966
+f 11/2462/5967 1374/2245/5968 12/2248/5969
+s 1454
+f 1484/2088/5970 1374/2087/5971 1488/2255/5972
+f 1488/2255/5972 1374/2087/5971 1719/2463/5973
+s off
+f 24/2464/5974 1375/2250/5975 1486/2465/5976
+s 1455
+f 1487/2467/5977 1377/1924/5978 1594/2466/5979
+f 1594/2466/5979 1377/1924/5978 1595/2256/5980
+s 1456
+f 1183/1628/5981 1490/2469/5982 1491/2468/5983
+f 1491/2468/5983 1490/2469/5982 1721/2470/5984
+s 1457
+f 1492/2103/5985 1378/2102/5986 1597/2471/5987
+f 1597/2471/5987 1378/2102/5986 1659/2472/5988
+s 1458
+f 1493/2267/5989 1598/2473/5990 1379/2268/5991
+f 1379/2268/5991 1598/2473/5990 1494/2474/5992
+s 1459
+f 1293/2275/5993 1380/2475/5994 1599/2276/5995
+f 1599/2276/5995 1380/2475/5994 1600/2476/5996
+s 1460
+f 1380/2475/5997 1381/2272/5998 1600/2476/5999
+f 1600/2476/5999 1381/2272/5998 1495/2271/6000
+s 1461
+f 1382/1946/6001 1383/2111/6002 1601/2477/6003
+f 1601/2477/6003 1383/2111/6002 1602/2478/6004
+s 1462
+f 1383/2111/6005 1497/2113/6006 1602/2478/6007
+f 1602/2478/6007 1497/2113/6006 1729/2479/6008
+s 1463
+f 1297/2481/6009 1498/2482/6010 1603/2480/6011
+f 1603/2480/6011 1498/2482/6010 1730/2483/6012
+s 1464
+f 1499/2282/6013 1382/2281/6014 1605/2484/6015
+f 1605/2484/6015 1382/2281/6014 1601/2485/6016
+s 1465
+f 1501/2285/6017 1606/2486/6018 1384/2286/6019
+f 1384/2286/6019 1606/2486/6018 1502/2487/6020
+s 1466
+f 1502/2115/6021 1607/2488/6022 797/1785/6023
+f 797/1785/6023 1607/2488/6022 1508/2300/6024
+s 1467
+f 1386/2292/6025 1608/2489/6026 1504/2290/6027
+f 1504/2290/6027 1608/2489/6026 1738/2490/6028
+s 1468
+f 1386/2292/6029 1387/2294/6030 1608/2489/6031
+f 1608/2489/6031 1387/2294/6030 1505/2293/6032
+s 1469
+f 1390/2492/6033 1610/2493/6034 1389/2491/6035
+f 1389/2491/6035 1610/2493/6034 1743/2494/6036
+s 1470
+f 1507/2299/6037 1611/2495/6038 1390/2121/6039
+f 1390/2121/6039 1611/2495/6038 1610/2496/6040
+s off
+f 1303/2302/6041 1612/2497/6042 1509/2303/6043
+f 1303/2302/6044 1613/2498/6045 1612/2497/6046
+s 1471
+f 1194/1957/6047 1510/2123/6048 1615/2305/6049
+f 1615/2305/6049 1510/2123/6048 1750/2499/6050
+s 1472
+f 1304/2122/6051 1616/2500/6052 1510/2123/6053
+f 1510/2123/6053 1616/2500/6052 1750/2499/6054
+s 1473
+f 1417/2502/6055 1392/2503/6056 1617/2501/6057
+f 1617/2501/6057 1392/2503/6056 1618/2504/6058
+s 1474
+f 1392/2503/6059 1511/2505/6060 1618/2504/6061
+f 1618/2504/6061 1511/2505/6060 1753/2506/6062
+s 1475
+f 1394/2127/6063 1619/2306/6064 1395/2128/6065
+f 1395/2128/6065 1619/2306/6064 1620/2507/6066
+s 1476
+f 1308/2312/6067 1515/2311/6068 1514/2508/6069
+f 1514/2508/6069 1515/2311/6068 1754/2509/6070
+s 1477
+f 1395/2128/6071 1620/2507/6072 1517/2316/6073
+f 1517/2316/6073 1620/2507/6072 1516/2314/6074
+s 1478
+f 1396/2136/6075 1405/2146/6076 1518/2317/6077
+f 1518/2317/6077 1405/2146/6076 1631/2510/6078
+s 1479
+f 1399/2139/6079 1621/2511/6080 1397/2137/6081
+f 1397/2137/6081 1621/2511/6080 1622/2512/6082
+s 1480
+f 1397/2137/6083 1622/2512/6084 1398/2138/6085
+f 1398/2138/6085 1622/2512/6084 1623/2513/6086
+s 1481
+f 1398/2138/6087 1623/2513/6088 1400/1971/6089
+f 1400/1971/6089 1623/2513/6088 1519/2318/6090
+s 1482
+f 1518/2317/6091 1624/2514/6092 1399/2139/6093
+f 1399/2139/6093 1624/2514/6092 1621/2511/6094
+s 1483
+f 1520/2140/6095 1625/2515/6096 1318/1974/6097
+f 1318/1974/6097 1625/2515/6096 1523/2321/6098
+s 1484
+f 1519/2318/6099 1626/2516/6100 1401/2141/6101
+f 1401/2141/6101 1626/2516/6100 1627/2517/6102
+s 1485
+f 1401/2141/6103 1627/2517/6104 1402/2142/6105
+f 1402/2142/6105 1627/2517/6104 1756/2518/6106
+s 1486
+f 1403/2143/6107 1402/2142/6108 1628/2519/6109
+f 1628/2519/6109 1402/2142/6108 1756/2518/6110
+s 1487
+f 1521/2144/6111 1403/2143/6112 1629/2520/6113
+f 1629/2520/6113 1403/2143/6112 1628/2519/6114
+s 1488
+f 1405/2146/6115 1406/2148/6116 1631/2510/6117
+f 1631/2510/6117 1406/2148/6116 1632/2521/6118
+s 1489
+f 1406/2148/6119 1407/2150/6120 1632/2521/6121
+f 1632/2521/6121 1407/2150/6120 1524/2322/6122
+s 1490
+f 1633/2522/6123 1634/2523/6124 1408/2151/6125
+f 1408/2151/6125 1634/2523/6124 1525/2323/6126
+s 1491
+f 1635/2524/6127 1633/2522/6128 1409/2152/6129
+f 1409/2152/6129 1633/2522/6128 1408/2151/6130
+s 1492
+f 1409/2152/6131 1413/2153/6132 1635/2524/6133
+f 1635/2524/6133 1413/2153/6132 1412/2155/6134
+s 1493
+f 1526/2328/6135 1410/2327/6136 1637/2525/6137
+f 1637/2525/6137 1410/2327/6136 1636/2526/6138
+s 1494
+f 1421/2159/6139 1644/2527/6140 1420/2157/6141
+f 1420/2157/6141 1644/2527/6140 1645/2528/6142
+s 1495
+f 1420/2157/6143 1645/2528/6144 1425/2158/6145
+f 1425/2158/6145 1645/2528/6144 1650/2529/6146
+s 1496
+f 1422/2160/6147 1646/2530/6148 1421/2159/6149
+f 1421/2159/6149 1646/2530/6148 1644/2527/6150
+s 1497
+f 1423/2161/6151 1647/2531/6152 1422/2160/6153
+f 1422/2160/6153 1647/2531/6152 1646/2530/6154
+s 1498
+f 1424/2162/6155 1648/2532/6156 1423/2161/6157
+f 1423/2161/6157 1648/2532/6156 1647/2531/6158
+s 1499
+f 1522/2319/6159 1649/2533/6160 1424/2162/6161
+f 1424/2162/6161 1649/2533/6160 1648/2532/6162
+s 1500
+f 1425/2158/6163 1650/2529/6164 1530/2163/6165
+f 1530/2163/6165 1650/2529/6164 1767/2534/6166
+s 1501
+f 1531/2342/6167 1651/2535/6168 1426/2164/6169
+f 1426/2164/6169 1651/2535/6168 1532/2343/6170
+s 1502
+f 1534/2346/6171 1653/2536/6172 1331/2000/6173
+f 1331/2000/6173 1653/2536/6172 1544/2537/6174
+s 1503
+f 1430/2006/6175 1535/2356/6176 1657/2538/6177
+f 1657/2538/6177 1535/2356/6176 1772/2539/6178
+s 1504
+f 1431/2007/6179 1432/2165/6180 1535/2356/6181
+f 1535/2356/6181 1432/2165/6180 1773/2540/6182
+s 1505
+f 1434/2166/6183 1658/2541/6184 1432/2165/6185
+f 1432/2165/6185 1658/2541/6184 1773/2540/6186
+s 1506
+f 1538/2363/6187 1660/2542/6188 1434/2166/6189
+f 1434/2166/6189 1660/2542/6188 1658/2541/6190
+s 1507
+f 1540/2167/6191 1335/2013/6192 1661/2543/6193
+f 1661/2543/6193 1335/2013/6192 1539/2345/6194
+s 1508
+f 1540/2545/6195 1597/2546/6196 1433/2544/6197
+f 1433/2544/6197 1597/2546/6196 1659/2547/6198
+s 1509
+f 1544/2171/6199 1663/2548/6200 1340/2168/6201
+f 1340/2168/6201 1663/2548/6200 1546/2549/6202
+s 1510
+f 1437/2172/6203 1438/2173/6204 1665/2550/6205
+f 1665/2550/6205 1438/2173/6204 1439/2551/6206
+s 1511
+f 1439/2175/6207 1440/2176/6208 1665/2552/6209
+f 1665/2552/6209 1440/2176/6208 1546/2177/6210
+s 1512
+f 1547/2373/6211 1441/2372/6212 1666/2553/6213
+f 1666/2553/6213 1441/2372/6212 1667/2554/6214
+s 1513
+f 1441/2178/6215 1442/2179/6216 1667/2555/6217
+f 1667/2555/6217 1442/2179/6216 1668/2556/6218
+s 1514
+f 1442/2179/6219 1548/2180/6220 1668/2556/6221
+f 1668/2556/6221 1548/2180/6220 1783/2557/6222
+s 1515
+f 1446/2025/6223 1551/2385/6224 1443/2181/6225
+f 1443/2181/6225 1551/2385/6224 1785/2558/6226
+s 1516
+f 1445/2383/6227 1552/2559/6228 1671/2384/6229
+f 1671/2384/6229 1552/2559/6228 1788/2560/6230
+s 1517
+f 1447/2388/6231 1448/2561/6232 1552/2387/6233
+f 1552/2387/6233 1448/2561/6232 1672/2562/6234
+s 1518
+f 1448/2189/6235 1553/2190/6236 1672/2563/6237
+f 1672/2563/6237 1553/2190/6236 1673/2389/6238
+s 1519
+f 1554/2390/6239 1674/2564/6240 1449/2391/6241
+f 1449/2391/6241 1674/2564/6240 1673/2565/6242
+s 1520
+f 1358/2425/6243 1675/2427/6244 1555/2566/6245
+f 1555/2566/6245 1675/2427/6244 1791/2567/6246
+s 1521
+f 1450/2569/6247 1444/2377/6248 1676/2568/6249
+f 1676/2568/6249 1444/2377/6248 1670/2380/6250
+s 1522
+f 1558/2397/6251 1678/2570/6252 1451/2398/6253
+f 1451/2398/6253 1678/2570/6252 1567/2571/6254
+s 1523
+f 1558/2397/6255 1452/2193/6256 1679/2572/6257
+f 1679/2572/6257 1452/2193/6256 1796/2573/6258
+s 1524
+f 1452/2575/6259 1456/2408/6260 1680/2574/6261
+f 1680/2574/6261 1456/2408/6260 1563/2407/6262
+s 1525
+f 1559/2577/6263 1453/2578/6264 1681/2576/6265
+f 1681/2576/6265 1453/2578/6264 1798/2579/6266
+s 1526
+f 1560/2200/6267 1683/2580/6268 1453/2197/6269
+f 1453/2197/6269 1683/2580/6268 1798/2581/6270
+s 1527
+f 1562/2583/6271 1684/2584/6272 1455/2582/6273
+f 1455/2582/6273 1684/2584/6272 1685/2585/6274
+s 1528
+f 1455/2582/6275 1685/2585/6276 1560/2586/6277
+f 1560/2586/6277 1685/2585/6276 1683/2587/6278
+s 1529
+f 1564/2589/6279 1686/2590/6280 1457/2588/6281
+f 1457/2588/6281 1686/2590/6280 1687/2591/6282
+s 1530
+f 1457/2592/6283 1687/2593/6284 1458/2209/6285
+f 1458/2209/6285 1687/2593/6284 1566/2210/6286
+s 1531
+f 1569/2416/6287 1689/2594/6288 1459/2417/6289
+f 1459/2417/6289 1689/2594/6288 1573/2595/6290
+s 1532
+f 1460/2597/6291 1690/2598/6292 1570/2596/6293
+f 1570/2596/6293 1690/2598/6292 1810/2599/6294
+s 1533
+f 1461/2213/6295 1691/2600/6296 1460/2597/6297
+f 1460/2597/6297 1691/2600/6296 1690/2598/6298
+s 1534
+f 1461/2213/6299 1545/2216/6300 1534/2346/6301
+f 1534/2346/6301 1545/2216/6300 1653/2536/6302
+s 1535
+f 1462/2052/6303 1571/2219/6304 1692/2429/6305
+f 1692/2429/6305 1571/2219/6304 1809/2601/6306
+s 1536
+f 1354/2218/6307 1572/2602/6308 1571/2219/6309
+f 1571/2219/6309 1572/2602/6308 1809/2601/6310
+s 1537
+f 1574/2426/6311 1357/2049/6312 1693/2603/6313
+f 1693/2603/6313 1357/2049/6312 1575/2428/6314
+s 1538
+f 1576/2430/6315 1694/2604/6316 1464/2221/6317
+f 1464/2221/6317 1694/2604/6316 1695/2605/6318
+s 1539
+f 1464/2221/6319 1695/2605/6320 1465/2222/6321
+f 1465/2222/6321 1695/2605/6320 1696/2606/6322
+s 1540
+f 1465/2222/6323 1696/2606/6324 1577/2223/6325
+f 1577/2223/6325 1696/2606/6324 1813/2607/6326
+s 1541
+f 1467/2226/6327 1466/2609/6328 1698/2608/6329
+f 1698/2608/6329 1466/2609/6328 1815/2610/6330
+s 1542
+f 1467/2226/6331 1699/2611/6332 1468/2055/6333
+f 1468/2055/6333 1699/2611/6332 1700/2432/6334
+s 1543
+f 1578/2433/6335 1469/2056/6336 1701/2612/6337
+f 1701/2612/6337 1469/2056/6336 1472/2230/6338
+s 1544
+f 1470/2613/6339 1702/2614/6340 1471/2260/6341
+f 1471/2260/6341 1702/2614/6340 1704/2615/6342
+s off
+f 1703/2616/6343 1470/2227/6344 1579/2228/6345
+s 1545
+f 1471/2260/6346 1704/2615/6347 1489/2257/6348
+f 1489/2257/6348 1704/2615/6347 1490/2617/6349
+s 1546
+f 1473/2231/6350 1705/2618/6351 1472/2230/6352
+f 1472/2230/6352 1705/2618/6351 1701/2612/6353
+s 1547
+f 1580/2233/6354 1706/2619/6355 1473/2231/6356
+f 1473/2231/6356 1706/2619/6355 1705/2618/6357
+s 1548
+f 1475/2415/6358 1568/2414/6359 1707/2620/6360
+f 1707/2620/6360 1568/2414/6359 1808/2621/6361
+s 1549
+f 1581/2439/6362 1476/2438/6363 1708/2622/6364
+f 1708/2622/6364 1476/2438/6363 1700/2623/6365
+s 1550
+f 1582/2443/6366 1363/2442/6367 1710/2624/6368
+f 1710/2624/6368 1363/2442/6367 1709/2625/6369
+s 1551
+f 1480/2627/6370 1478/2628/6371 1712/2626/6372
+f 1712/2626/6372 1478/2628/6371 1713/2629/6373
+s 1552
+f 1478/2628/6374 1479/2630/6375 1713/2629/6376
+f 1713/2629/6376 1479/2630/6375 1822/2631/6377
+s 1553
+f 1477/2235/6378 1711/2632/6379 1479/2238/6380
+f 1479/2238/6380 1711/2632/6379 1821/2633/6381
+s 1554
+f 1480/2068/6382 1712/2634/6383 1585/2449/6384
+f 1585/2449/6384 1712/2634/6383 1825/2635/6385
+s 1555
+f 1586/2450/6386 1715/2636/6387 1481/2239/6388
+f 1481/2239/6388 1715/2636/6387 1587/2452/6389
+s 1556
+f 1372/2076/6390 1589/2455/6391 1591/2240/6392
+f 1591/2240/6392 1589/2455/6391 1831/2637/6393
+s 1557
+f 1592/2638/6394 1718/2639/6395 1483/2242/6396
+f 1483/2242/6396 1718/2639/6395 1576/2430/6397
+s 1558
+f 1373/2460/6398 1487/2467/6399 1593/2461/6400
+f 1593/2461/6400 1487/2467/6399 1594/2466/6401
+s 1559
+f 17/2640/6402 1719/2641/6403 11/2462/6404
+f 11/2462/6404 1719/2641/6403 1374/2245/6405
+s off
+f 23/2251/6406 1375/2250/6407 24/2464/6408
+s 1560
+f 1486/2254/6409 1485/2252/6410 1720/2642/6411
+f 1720/2642/6411 1485/2252/6410 1593/2461/6412
+s off
+f 24/24/6413 1486/2254/6414 22/22/6415
+s 1561
+f 1488/2255/6416 1719/2463/6417 1595/2256/6418
+f 1595/2256/6418 1719/2463/6417 1594/2466/6419
+s 1562
+f 1596/2266/6420 1722/2643/6421 1378/2263/6422
+f 1378/2263/6422 1722/2643/6421 1659/2644/6423
+s 1563
+f 1596/2266/6424 1491/2265/6425 1723/2645/6426
+f 1723/2645/6426 1491/2265/6425 1837/2646/6427
+s 1564
+f 1493/2267/6428 1492/2103/6429 1724/2647/6430
+f 1724/2647/6430 1492/2103/6429 1597/2471/6431
+s 1565
+f 1493/2267/6432 1724/2647/6433 1598/2473/6434
+f 1598/2473/6434 1724/2647/6433 1838/2648/6435
+s 1566
+f 1598/2473/6436 1725/2649/6437 1494/2474/6438
+f 1494/2474/6438 1725/2649/6437 1495/2650/6439
+s 1567
+f 1600/2476/6440 1495/2271/6441 1726/2651/6442
+f 1726/2651/6442 1495/2271/6441 1840/2652/6443
+s 1568
+f 1599/2654/6444 1727/2655/6445 1496/2653/6446
+f 1496/2653/6446 1727/2655/6445 1842/2656/6447
+s 1569
+f 1497/2658/6448 1496/2653/6449 1728/2657/6450
+f 1728/2657/6450 1496/2653/6449 1842/2656/6451
+s 1570
+f 1604/2280/6452 1731/2659/6453 1498/2277/6454
+f 1498/2277/6454 1731/2659/6453 1847/2660/6455
+s 1571
+f 1499/2282/6456 1605/2484/6457 1732/2661/6458
+f 1732/2661/6458 1605/2484/6457 1848/2662/6459
+s 1572
+f 1604/2280/6460 1499/2282/6461 1731/2659/6462
+f 1731/2659/6462 1499/2282/6461 1732/2661/6463
+s 1573
+f 1507/2299/6464 1500/2283/6465 1733/2663/6466
+f 1733/2663/6466 1500/2283/6465 1734/2664/6467
+s 1574
+f 1500/2283/6468 1603/2284/6469 1734/2664/6470
+f 1734/2664/6470 1603/2284/6469 1846/2665/6471
+s 1575
+f 1606/2486/6472 1501/2285/6473 1735/2666/6474
+f 1735/2666/6474 1501/2285/6473 1736/2667/6475
+s 1576
+f 1501/2285/6476 1503/2288/6477 1736/2667/6478
+f 1736/2667/6478 1503/2288/6477 1737/2668/6479
+s 1577
+f 1502/2487/6480 1606/2486/6481 1607/2669/6482
+f 1607/2669/6482 1606/2486/6481 1745/2670/6483
+s 1578
+f 1503/2288/6484 1504/2290/6485 1737/2668/6486
+f 1737/2668/6486 1504/2290/6485 1738/2490/6487
+s 1579
+f 1505/2672/6488 1739/2673/6489 1608/2671/6490
+f 1608/2671/6490 1739/2673/6489 1851/2674/6491
+s 1580
+f 1505/2293/6492 1506/2296/6493 1740/2675/6494
+f 1740/2675/6494 1506/2296/6493 1741/2676/6495
+s 1581
+f 1506/2296/6496 1609/2298/6497 1741/2676/6498
+f 1741/2676/6498 1609/2298/6497 1852/2677/6499
+s 1582
+f 1609/2679/6500 1389/2491/6501 1742/2678/6502
+f 1742/2678/6502 1389/2491/6501 1743/2494/6503
+s 1583
+f 1611/2495/6504 1507/2299/6505 1744/2680/6506
+f 1744/2680/6506 1507/2299/6505 1733/2663/6507
+s 1584
+f 1607/2669/6508 1745/2670/6509 1508/2681/6510
+f 1508/2681/6510 1745/2670/6509 1747/2682/6511
+s off
+f 1303/2302/6512 1746/2683/6513 1613/2498/6514
+s 1585
+f 1303/2302/6515 1508/2681/6516 1746/2683/6517
+f 1746/2683/6517 1508/2681/6516 1747/2682/6518
+s 1586
+f 1304/2122/6519 1614/2301/6520 1616/2500/6521
+f 1616/2500/6521 1614/2301/6520 1749/2684/6522
+s 1587
+f 1509/2303/6523 1612/2497/6524 1748/2685/6525
+f 1748/2685/6525 1612/2497/6524 1857/2686/6526
+s 1588
+f 1614/2301/6527 1509/2303/6528 1749/2684/6529
+f 1749/2684/6529 1509/2303/6528 1748/2685/6530
+s 1589
+f 1512/2687/6531 1751/2688/6532 1511/2505/6533
+f 1511/2505/6533 1751/2688/6532 1753/2506/6534
+s 1590
+f 1512/2304/6535 1615/2305/6536 1752/2689/6537
+f 1752/2689/6537 1615/2305/6536 1858/2690/6538
+s 1591
+f 1393/1959/6539 1513/2691/6540 1619/2306/6541
+f 1619/2306/6541 1513/2691/6540 1861/2692/6542
+s 1592
+f 1514/2132/6543 1754/2693/6544 1513/2310/6545
+f 1513/2310/6545 1754/2693/6544 1861/2694/6546
+s 1593
+f 1515/2311/6547 1516/2314/6548 1754/2509/6549
+f 1754/2509/6549 1516/2314/6548 1620/2507/6550
+s 1594
+f 1518/2317/6551 1631/2510/6552 1624/2514/6553
+f 1624/2514/6553 1631/2510/6552 1864/2695/6554
+s 1595
+f 1623/2513/6555 1755/2696/6556 1519/2318/6557
+f 1519/2318/6557 1755/2696/6556 1626/2516/6558
+s 1596
+f 1521/2144/6559 1629/2520/6560 1520/2140/6561
+f 1520/2140/6561 1629/2520/6560 1625/2515/6562
+s 1597
+f 1630/2320/6563 1757/2697/6564 1522/2319/6565
+f 1522/2319/6565 1757/2697/6564 1649/2533/6566
+s 1598
+f 1625/2515/6567 1758/2698/6568 1523/2321/6569
+f 1523/2321/6569 1758/2698/6568 1759/2699/6570
+s 1599
+f 1523/2321/6571 1759/2699/6572 1630/2320/6573
+f 1630/2320/6573 1759/2699/6572 1757/2697/6574
+s 1600
+f 1760/2700/6575 1761/2701/6576 1524/2322/6577
+f 1524/2322/6577 1761/2701/6576 1632/2521/6578
+s 1601
+f 1634/2523/6579 1760/2700/6580 1525/2323/6581
+f 1525/2323/6581 1760/2700/6580 1524/2322/6582
+s 1602
+f 1633/2522/6583 1762/2702/6584 1634/2523/6585
+f 1634/2523/6585 1762/2702/6584 1871/2703/6586
+s 1603
+f 1635/2524/6587 1763/2704/6588 1633/2522/6589
+f 1633/2522/6589 1763/2704/6588 1762/2702/6590
+s 1604
+f 1414/1988/6591 1640/2334/6592 1636/2325/6593
+f 1636/2325/6593 1640/2334/6592 1872/2705/6594
+s 1605
+f 1526/2706/6595 1637/2707/6596 1529/2339/6597
+f 1529/2339/6597 1637/2707/6596 1643/2340/6598
+s 1606
+f 1526/2328/6599 1764/2708/6600 1527/2329/6601
+f 1527/2329/6601 1764/2708/6600 1874/2709/6602
+s 1607
+f 1528/2711/6603 1527/2712/6604 1765/2710/6605
+f 1765/2710/6605 1527/2712/6604 1874/2713/6606
+s 1608
+f 1412/2155/6607 1638/2332/6608 1635/2524/6609
+f 1635/2524/6609 1638/2332/6608 1763/2704/6610
+s 1609
+f 1411/1986/6611 1639/2333/6612 1638/2332/6613
+f 1638/2332/6613 1639/2333/6612 1875/2714/6614
+s 1610
+f 1639/2333/6615 1528/2331/6616 1766/2715/6617
+f 1766/2715/6617 1528/2331/6616 1765/2716/6618
+s 1611
+f 1415/1990/6619 1641/2717/6620 1640/2334/6621
+f 1640/2334/6621 1641/2717/6620 1872/2705/6622
+s 1612
+f 1418/2337/6623 1642/2338/6624 1641/2718/6625
+f 1641/2718/6625 1642/2338/6624 1876/2719/6626
+s 1613
+f 1416/1992/6627 1643/2340/6628 1642/2338/6629
+f 1642/2338/6629 1643/2340/6628 1876/2719/6630
+s 1614
+f 1529/2339/6631 1617/2341/6632 1526/2706/6633
+f 1526/2706/6633 1617/2341/6632 1764/2720/6634
+s 1615
+f 1530/2163/6635 1767/2534/6636 1531/2342/6637
+f 1531/2342/6637 1767/2534/6636 1651/2535/6638
+s 1616
+f 1651/2535/6639 1768/2721/6640 1532/2343/6641
+f 1532/2343/6641 1768/2721/6640 1769/2722/6642
+s 1617
+f 1532/2343/6643 1769/2722/6644 1533/2344/6645
+f 1533/2344/6645 1769/2722/6644 1770/2723/6646
+s 1618
+f 1533/2344/6647 1770/2723/6648 1539/2345/6649
+f 1539/2345/6649 1770/2723/6648 1661/2543/6650
+s 1619
+f 1427/2001/6651 1654/2724/6652 1652/2347/6653
+f 1652/2347/6653 1654/2724/6652 1886/2725/6654
+s 1620
+f 1534/2346/6655 1652/2347/6656 1461/2213/6657
+f 1461/2213/6657 1652/2347/6656 1691/2600/6658
+s 1621
+f 1654/2727/6659 1428/2352/6660 1771/2726/6661
+f 1771/2726/6661 1428/2352/6660 1655/2353/6662
+s 1622
+f 1429/2004/6663 1541/2354/6664 1655/2353/6665
+f 1655/2353/6665 1541/2354/6664 1778/2728/6666
+s 1623
+f 1436/2018/6667 1656/2355/6668 1662/2368/6669
+f 1662/2368/6669 1656/2355/6668 1889/2729/6670
+s 1624
+f 1430/2006/6671 1657/2538/6672 1656/2355/6673
+f 1656/2355/6673 1657/2538/6672 1890/2730/6674
+s 1625
+f 1659/2360/6675 1774/2731/6676 1536/2357/6677
+f 1536/2357/6677 1774/2731/6676 1895/2732/6678
+s 1626
+f 1537/2734/6679 1536/2735/6680 1775/2733/6681
+f 1775/2733/6681 1536/2735/6680 1895/2736/6682
+s 1627
+f 1538/2738/6683 1537/2734/6684 1776/2737/6685
+f 1776/2737/6685 1537/2734/6684 1775/2733/6686
+s 1628
+f 1660/2740/6687 1538/2738/6688 1777/2739/6689
+f 1777/2739/6689 1538/2738/6688 1776/2737/6690
+s 1629
+f 1661/2741/6691 1724/2742/6692 1540/2545/6693
+f 1540/2545/6693 1724/2742/6692 1597/2546/6694
+s 1630
+f 1541/2364/6695 1542/2365/6696 1778/2743/6697
+f 1778/2743/6697 1542/2365/6696 1779/2744/6698
+s 1631
+f 1542/2365/6699 1543/2366/6700 1779/2744/6701
+f 1779/2744/6701 1543/2366/6700 1780/2745/6702
+s 1632
+f 1543/2367/6703 1662/2368/6704 1780/2746/6705
+f 1780/2746/6705 1662/2368/6704 1897/2747/6706
+s 1633
+f 1544/2537/6707 1653/2536/6708 1663/2748/6709
+f 1663/2748/6709 1653/2536/6708 1898/2749/6710
+s 1634
+f 1545/2216/6711 1664/2370/6712 1653/2536/6713
+f 1653/2536/6713 1664/2370/6712 1898/2749/6714
+s 1635
+f 1437/2172/6715 1665/2550/6716 1664/2750/6717
+f 1664/2750/6717 1665/2550/6716 1898/2751/6718
+s 1636
+f 1546/2752/6719 1663/2753/6720 1665/2550/6721
+f 1665/2550/6721 1663/2753/6720 1898/2751/6722
+s 1637
+f 1547/2755/6723 1666/2756/6724 1781/2754/6725
+f 1781/2754/6725 1666/2756/6724 1900/2757/6726
+s off
+f 1782/2758/6727 1549/2374/6728 1547/2373/6729
+s 1638
+f 1548/2180/6730 1669/2376/6731 1783/2557/6732
+f 1783/2557/6732 1669/2376/6731 1902/2759/6733
+s 1639
+f 1669/2761/6734 1443/2762/6735 1784/2760/6736
+f 1784/2760/6736 1443/2762/6735 1785/2763/6737
+s off
+f 1670/2380/6738 1549/2379/6739 1782/2764/6740
+s 1640
+f 1550/2381/6741 1786/2766/6742 1551/2765/6743
+f 1551/2765/6743 1786/2766/6742 1904/2767/6744
+s 1641
+f 1550/2381/6745 1671/2384/6746 1787/2768/6747
+f 1787/2768/6747 1671/2384/6746 1790/2769/6748
+s 1642
+f 1674/2771/6749 1554/2772/6750 1789/2770/6751
+f 1789/2770/6751 1554/2772/6750 1790/2769/6752
+s 1643
+f 1554/2772/6753 1555/2566/6754 1790/2769/6755
+f 1790/2769/6755 1555/2566/6754 1787/2768/6756
+s 1644
+f 1450/2030/6757 1676/2773/6758 1677/2396/6759
+f 1677/2396/6759 1676/2773/6758 1908/2774/6760
+s 1645
+f 1562/2403/6761 1556/2406/6762 1792/2775/6763
+f 1792/2775/6763 1556/2406/6762 1793/2776/6764
+s 1646
+f 1556/2394/6765 1557/2395/6766 1793/2777/6767
+f 1793/2777/6767 1557/2395/6766 1794/2778/6768
+s 1647
+f 1557/2395/6769 1677/2396/6770 1794/2778/6771
+f 1794/2778/6771 1677/2396/6770 1909/2779/6772
+s 1648
+f 1678/2570/6773 1558/2397/6774 1795/2780/6775
+f 1795/2780/6775 1558/2397/6774 1679/2572/6776
+s 1649
+f 1452/2782/6777 1680/2783/6778 1796/2781/6779
+f 1796/2781/6779 1680/2783/6778 1913/2784/6780
+s 1650
+f 1681/2576/6781 1797/2785/6782 1559/2577/6783
+f 1559/2577/6783 1797/2785/6782 1915/2786/6784
+s 1651
+f 1682/2401/6785 1559/2400/6786 1799/2787/6787
+f 1799/2787/6787 1559/2400/6786 1915/2788/6788
+s 1652
+f 1565/2411/6789 1561/2402/6790 1800/2789/6791
+f 1800/2789/6791 1561/2402/6790 1801/2790/6792
+s 1653
+f 1561/2402/6793 1682/2401/6794 1801/2790/6795
+f 1801/2790/6795 1682/2401/6794 1799/2787/6796
+s 1654
+f 1684/2584/6797 1562/2583/6798 1802/2791/6799
+f 1802/2791/6799 1562/2583/6798 1792/2792/6800
+s 1655
+f 1680/2574/6801 1563/2407/6802 1803/2793/6803
+f 1803/2793/6803 1563/2407/6802 1804/2794/6804
+s 1656
+f 1563/2407/6805 1566/2210/6806 1804/2794/6807
+f 1804/2794/6807 1566/2210/6806 1687/2593/6808
+s 1657
+f 1686/2590/6809 1564/2589/6810 1805/2795/6811
+f 1805/2795/6811 1564/2589/6810 1921/2796/6812
+s 1658
+f 1565/2410/6813 1800/2797/6814 1564/2409/6815
+f 1564/2409/6815 1800/2797/6814 1921/2798/6816
+s 1659
+f 1678/2570/6817 1806/2799/6818 1567/2571/6819
+f 1567/2571/6819 1806/2799/6818 1807/2800/6820
+s 1660
+f 1567/2571/6821 1807/2800/6822 1688/2801/6823
+f 1688/2801/6823 1807/2800/6822 1925/2802/6824
+s 1661
+f 1568/2414/6825 1688/2413/6826 1808/2621/6827
+f 1808/2621/6827 1688/2413/6826 1926/2803/6828
+s 1662
+f 1689/2804/6829 1569/2805/6830 1809/2601/6831
+f 1809/2601/6831 1569/2805/6830 1692/2429/6832
+s 1663
+f 1569/2805/6833 1570/2596/6834 1692/2429/6835
+f 1692/2429/6835 1570/2596/6834 1575/2428/6836
+s 1664
+f 1573/2807/6837 1689/2808/6838 1572/2806/6839
+f 1572/2806/6839 1689/2808/6838 1809/2809/6840
+s 1665
+f 1693/2603/6841 1811/2810/6842 1574/2426/6843
+f 1574/2426/6843 1811/2810/6842 1812/2811/6844
+s 1666
+f 1574/2426/6845 1812/2811/6846 1675/2427/6847
+f 1675/2427/6847 1812/2811/6846 1907/2812/6848
+s 1667
+f 1693/2603/6849 1575/2428/6850 1810/2599/6851
+f 1810/2599/6851 1575/2428/6850 1570/2596/6852
+s 1668
+f 1576/2430/6853 1718/2639/6854 1694/2604/6855
+f 1694/2604/6855 1718/2639/6854 1930/2813/6856
+s 1669
+f 1577/2815/6857 1813/2816/6858 1697/2814/6859
+f 1697/2814/6859 1813/2816/6858 1814/2817/6860
+s 1670
+f 1697/2814/6861 1814/2817/6862 1466/2609/6863
+f 1466/2609/6863 1814/2817/6862 1815/2610/6864
+s 1671
+f 1467/2226/6865 1698/2608/6866 1699/2611/6867
+f 1699/2611/6867 1698/2608/6866 1934/2818/6868
+s off
+f 1816/2819/6869 1578/2433/6870 1701/2612/6871
+f 1579/2228/6872 1578/2433/6873 1703/2616/6874
+s 1672
+f 1470/2613/6875 1817/2820/6876 1702/2614/6877
+f 1702/2614/6877 1817/2820/6876 1940/2821/6878
+s off
+f 1818/2822/6879 1470/2227/6880 1703/2616/6881
+s 1673
+f 1706/2619/6882 1580/2233/6883 1808/2823/6884
+f 1808/2823/6884 1580/2233/6883 1707/2435/6885
+s 1674
+f 1581/2439/6886 1708/2622/6887 1819/2824/6888
+f 1819/2824/6888 1708/2622/6887 1944/2825/6889
+s 1675
+f 1581/2826/6890 1819/2827/6891 1709/2625/6892
+f 1709/2625/6892 1819/2827/6891 1945/2828/6893
+s 1676
+f 1710/2624/6894 1820/2829/6895 1582/2443/6896
+f 1582/2443/6896 1820/2829/6895 1946/2830/6897
+s 1677
+f 1711/2444/6898 1582/2443/6899 1821/2831/6900
+f 1821/2831/6900 1582/2443/6899 1946/2830/6901
+s 1678
+f 1586/2450/6902 1583/2451/6903 1823/2832/6904
+f 1823/2832/6904 1583/2451/6903 1584/2833/6905
+s 1679
+f 1714/2448/6906 1824/2834/6907 1584/2447/6908
+f 1584/2447/6908 1824/2834/6907 1823/2835/6909
+s 1680
+f 1585/2449/6910 1826/2836/6911 1714/2448/6912
+f 1714/2448/6912 1826/2836/6911 1824/2834/6913
+s 1681
+f 1715/2636/6914 1586/2450/6915 1827/2837/6916
+f 1827/2837/6916 1586/2450/6915 1823/2832/6917
+s 1682
+f 1715/2636/6918 1828/2838/6919 1587/2452/6920
+f 1587/2452/6920 1828/2838/6919 1829/2839/6921
+s 1683
+f 1587/2452/6922 1829/2839/6923 1588/2453/6924
+f 1588/2453/6924 1829/2839/6923 1830/2840/6925
+s 1684
+f 1482/2072/6926 1716/2454/6927 1717/2841/6928
+f 1717/2841/6928 1716/2454/6927 1952/2842/6929
+s 1685
+f 1588/2453/6930 1830/2840/6931 1716/2454/6932
+f 1716/2454/6932 1830/2840/6931 1953/2843/6933
+s 1686
+f 1589/2455/6934 1590/2456/6935 1832/2844/6936
+f 1832/2844/6936 1590/2456/6935 1833/2845/6937
+s 1687
+f 1590/2456/6938 1717/2457/6939 1833/2845/6940
+f 1833/2845/6940 1717/2457/6939 1954/2846/6941
+s 1688
+f 1592/2458/6942 1591/2240/6943 1834/2847/6944
+f 1834/2847/6944 1591/2240/6943 1831/2637/6945
+s 1689
+f 1592/2638/6946 1835/2848/6947 1718/2639/6948
+f 1718/2639/6948 1835/2848/6947 1955/2849/6949
+s off
+f 22/22/6950 1719/2463/6951 17/18/6952
+f 22/22/6953 1486/2254/6954 1720/2642/6955
+s 1690
+f 1593/2461/6956 1594/2466/6957 1720/2642/6958
+f 1720/2642/6958 1594/2466/6957 1719/2463/6959
+s 1691
+f 1490/2469/6960 1704/2850/6961 1721/2470/6962
+f 1721/2470/6962 1704/2850/6961 1702/2851/6963
+s 1692
+f 1721/2470/6964 1836/2852/6965 1491/2468/6966
+f 1491/2468/6966 1836/2852/6965 1837/2853/6967
+s 1693
+f 1596/2266/6968 1723/2645/6969 1722/2643/6970
+f 1722/2643/6970 1723/2645/6969 1956/2854/6971
+s 1694
+f 1598/2473/6972 1838/2648/6973 1725/2649/6974
+f 1725/2649/6974 1838/2648/6973 1958/2855/6975
+s 1695
+f 1599/2276/6976 1600/2476/6977 1839/2856/6978
+f 1839/2856/6978 1600/2476/6977 1726/2651/6979
+s 1696
+f 1495/2858/6980 1725/2859/6981 1840/2857/6982
+f 1840/2857/6982 1725/2859/6981 1959/2860/6983
+s 1697
+f 1727/2862/6984 1599/2276/6985 1841/2861/6986
+f 1841/2861/6986 1599/2276/6985 1839/2856/6987
+s 1698
+f 1497/2864/6988 1728/2865/6989 1729/2863/6990
+f 1729/2863/6990 1728/2865/6989 1964/2866/6991
+s 1699
+f 1605/2868/6992 1601/2477/6993 1843/2867/6994
+f 1843/2867/6994 1601/2477/6993 1844/2869/6995
+s 1700
+f 1601/2477/6996 1602/2478/6997 1844/2869/6998
+f 1844/2869/6998 1602/2478/6997 1845/2870/6999
+s 1701
+f 1602/2478/7000 1729/2479/7001 1845/2870/7002
+f 1845/2870/7002 1729/2479/7001 1965/2871/7003
+s 1702
+f 1603/2480/7004 1730/2483/7005 1846/2872/7006
+f 1846/2872/7006 1730/2483/7005 1966/2873/7007
+s 1703
+f 1498/2482/7008 1847/2874/7009 1730/2483/7010
+f 1730/2483/7010 1847/2874/7009 1967/2875/7011
+s 1704
+f 1606/2486/7012 1735/2666/7013 1745/2670/7014
+f 1745/2670/7014 1735/2666/7013 1970/2876/7015
+s 1705
+f 1738/2878/7016 1608/2671/7017 1849/2877/7018
+f 1849/2877/7018 1608/2671/7017 1851/2674/7019
+s 1706
+f 1739/2880/7020 1505/2293/7021 1850/2879/7022
+f 1850/2879/7022 1505/2293/7021 1740/2675/7023
+s 1707
+f 1609/2882/7024 1742/2883/7025 1852/2881/7026
+f 1852/2881/7026 1742/2883/7025 1980/2884/7027
+s 1708
+f 1610/2493/7028 1611/2886/7029 1853/2885/7030
+f 1853/2885/7030 1611/2886/7029 1855/2887/7031
+s 1709
+f 1743/2494/7032 1610/2493/7033 1854/2888/7034
+f 1854/2888/7034 1610/2493/7033 1853/2885/7035
+s 1710
+f 1611/2886/7036 1744/2889/7037 1855/2887/7038
+f 1855/2887/7038 1744/2889/7037 1981/2890/7039
+s 1711
+f 1613/2498/7040 1856/2891/7041 1612/2497/7042
+f 1612/2497/7042 1856/2891/7041 1857/2686/7043
+s 1712
+f 1613/2498/7044 1746/2683/7045 1856/2891/7046
+f 1856/2891/7046 1746/2683/7045 1983/2892/7047
+s 1713
+f 1615/2305/7048 1750/2499/7049 1858/2690/7050
+f 1858/2690/7050 1750/2499/7049 1987/2893/7051
+s 1714
+f 1750/2895/7052 1616/2896/7053 1859/2894/7054
+f 1859/2894/7054 1616/2896/7053 1988/2897/7055
+s 1715
+f 1512/2304/7056 1752/2689/7057 1751/2898/7058
+f 1751/2898/7058 1752/2689/7057 1989/2899/7059
+s 1716
+f 1617/2501/7060 1618/2504/7061 1764/2900/7062
+f 1764/2900/7062 1618/2504/7061 1860/2901/7063
+s 1717
+f 1618/2504/7064 1753/2506/7065 1860/2901/7066
+f 1860/2901/7066 1753/2506/7065 1751/2688/7067
+s 1718
+f 1619/2306/7068 1861/2692/7069 1620/2507/7070
+f 1620/2507/7070 1861/2692/7069 1754/2509/7071
+s 1719
+f 1624/2514/7072 1862/2902/7073 1621/2511/7074
+f 1621/2511/7074 1862/2902/7073 1863/2903/7075
+s 1720
+f 1621/2511/7076 1863/2903/7077 1622/2512/7078
+f 1622/2512/7078 1863/2903/7077 1992/2904/7079
+s 1721
+f 1623/2513/7080 1622/2512/7081 1755/2696/7082
+f 1755/2696/7082 1622/2512/7081 1992/2904/7083
+s 1722
+f 1629/2520/7084 1865/2905/7085 1625/2515/7086
+f 1625/2515/7086 1865/2905/7085 1758/2698/7087
+s 1723
+f 1755/2696/7088 1866/2906/7089 1626/2516/7090
+f 1626/2516/7090 1866/2906/7089 1867/2907/7091
+s 1724
+f 1626/2516/7092 1867/2907/7093 1627/2517/7094
+f 1627/2517/7094 1867/2907/7093 1868/2908/7095
+s 1725
+f 1627/2517/7096 1868/2908/7097 1756/2518/7098
+f 1756/2518/7098 1868/2908/7097 1993/2909/7099
+s 1726
+f 1628/2519/7100 1756/2518/7101 1869/2910/7102
+f 1869/2910/7102 1756/2518/7101 1993/2909/7103
+s 1727
+f 1629/2520/7104 1628/2519/7105 1865/2905/7106
+f 1865/2905/7106 1628/2519/7105 1869/2910/7107
+s 1728
+f 1631/2510/7108 1632/2521/7109 1864/2695/7110
+f 1864/2695/7110 1632/2521/7109 1761/2701/7111
+s 1729
+f 1760/2700/7112 1870/2911/7113 1761/2701/7114
+f 1761/2701/7114 1870/2911/7113 1996/2912/7115
+s 1730
+f 1634/2523/7116 1871/2703/7117 1760/2700/7118
+f 1760/2700/7118 1871/2703/7117 1870/2911/7119
+s 1731
+f 1637/2525/7120 1636/2526/7121 1873/2913/7122
+f 1873/2913/7122 1636/2526/7121 1872/2914/7123
+s 1732
+f 1639/2333/7124 1766/2715/7125 1875/2714/7126
+f 1875/2714/7126 1766/2715/7125 2000/2915/7127
+s 1733
+f 1637/2707/7128 1873/2916/7129 1643/2340/7130
+f 1643/2340/7130 1873/2916/7129 1876/2719/7131
+s 1734
+f 1646/2530/7132 1877/2917/7133 1644/2527/7134
+f 1644/2527/7134 1877/2917/7133 1878/2918/7135
+s 1735
+f 1644/2527/7136 1878/2918/7137 1645/2528/7138
+f 1645/2528/7138 1878/2918/7137 1879/2919/7139
+s 1736
+f 1645/2528/7140 1879/2919/7141 1650/2529/7142
+f 1650/2529/7142 1879/2919/7141 1884/2920/7143
+s 1737
+f 1647/2531/7144 1880/2921/7145 1646/2530/7146
+f 1646/2530/7146 1880/2921/7145 1877/2917/7147
+s 1738
+f 1648/2532/7148 1881/2922/7149 1647/2531/7150
+f 1647/2531/7150 1881/2922/7149 1880/2921/7151
+s 1739
+f 1649/2533/7152 1882/2923/7153 1648/2532/7154
+f 1648/2532/7154 1882/2923/7153 1881/2922/7155
+s 1740
+f 1757/2697/7156 1883/2924/7157 1649/2533/7158
+f 1649/2533/7158 1883/2924/7157 1882/2923/7159
+s 1741
+f 1650/2529/7160 1884/2920/7161 1767/2534/7162
+f 1767/2534/7162 1884/2920/7161 1885/2925/7163
+s 1742
+f 1767/2534/7164 1885/2925/7165 1651/2535/7166
+f 1651/2535/7166 1885/2925/7165 1768/2721/7167
+s 1743
+f 1771/2726/7168 1887/2926/7169 1654/2727/7170
+f 1654/2727/7170 1887/2926/7169 1886/2927/7171
+s 1744
+f 1771/2726/7172 1655/2353/7173 1888/2928/7174
+f 1888/2928/7174 1655/2353/7173 1778/2728/7175
+s 1745
+f 1657/2538/7176 1772/2539/7177 1891/2929/7178
+f 1891/2929/7178 1772/2539/7177 1892/2930/7179
+s 1746
+f 1772/2539/7180 1535/2356/7181 1892/2930/7182
+f 1892/2930/7182 1535/2356/7181 1773/2540/7183
+s 1747
+f 1660/2542/7184 1893/2931/7185 1658/2541/7186
+f 1658/2541/7186 1893/2931/7185 1894/2932/7187
+s 1748
+f 1658/2541/7188 1894/2932/7189 1773/2540/7190
+f 1773/2540/7190 1894/2932/7189 2004/2933/7191
+s 1749
+f 1659/2935/7192 1722/2936/7193 1774/2934/7194
+f 1774/2934/7194 1722/2936/7193 2005/2937/7195
+s 1750
+f 1777/2739/7196 1896/2938/7197 1660/2740/7198
+f 1660/2740/7198 1896/2938/7197 1893/2939/7199
+s 1751
+f 1724/2647/7200 1661/2543/7201 1838/2648/7202
+f 1838/2648/7202 1661/2543/7201 1770/2723/7203
+s 1752
+f 1781/2754/7204 1899/2940/7205 1547/2755/7206
+f 1547/2755/7206 1899/2940/7205 1782/2941/7207
+s 1753
+f 1667/2554/7208 1668/2942/7209 1666/2553/7210
+f 1666/2553/7210 1668/2942/7209 1901/2943/7211
+s 1754
+f 1668/2556/7212 1783/2557/7213 1901/2944/7214
+f 1901/2944/7214 1783/2557/7213 1902/2759/7215
+s 1755
+f 1784/2760/7216 1903/2945/7217 1669/2761/7218
+f 1669/2761/7218 1903/2945/7217 1902/2946/7219
+s 1756
+f 1551/2765/7220 1904/2767/7221 1785/2947/7222
+f 1785/2947/7222 1904/2767/7221 2015/2948/7223
+s 1757
+f 1670/2380/7224 1905/2949/7225 1676/2568/7226
+f 1676/2568/7226 1905/2949/7225 2016/2950/7227
+s 1758
+f 1786/2766/7228 1550/2381/7229 1906/2951/7230
+f 1906/2951/7230 1550/2381/7229 1787/2768/7231
+s 1759
+f 1671/2384/7232 1788/2560/7233 1790/2769/7234
+f 1790/2769/7234 1788/2560/7233 1789/2770/7235
+s 1760
+f 1552/2559/7236 1672/2952/7237 1788/2560/7238
+f 1788/2560/7238 1672/2952/7237 1789/2770/7239
+s 1761
+f 1673/2953/7240 1674/2771/7241 1672/2952/7242
+f 1672/2952/7242 1674/2771/7241 1789/2770/7243
+s 1762
+f 1555/2566/7244 1791/2567/7245 1787/2768/7246
+f 1787/2768/7246 1791/2567/7245 1906/2951/7247
+s 1763
+f 1675/2427/7248 1907/2812/7249 1791/2567/7250
+f 1791/2567/7250 1907/2812/7249 2019/2954/7251
+s 1764
+f 1678/2956/7252 1795/2957/7253 1910/2955/7254
+f 1910/2955/7254 1795/2957/7253 2023/2958/7255
+s 1765
+f 1795/2780/7256 1679/2572/7257 1911/2959/7258
+f 1911/2959/7258 1679/2572/7257 2024/2960/7259
+s 1766
+f 1796/2573/7260 1912/2961/7261 1679/2572/7262
+f 1679/2572/7262 1912/2961/7261 2024/2960/7263
+s 1767
+f 1797/2963/7264 1681/2964/7265 1914/2962/7266
+f 1914/2962/7266 1681/2964/7265 1916/2965/7267
+s 1768
+f 1681/2964/7268 1798/2966/7269 1916/2965/7270
+f 1916/2965/7270 1798/2966/7269 1922/2967/7271
+s 1769
+f 1685/2585/7272 1917/2968/7273 1683/2587/7274
+f 1683/2587/7274 1917/2968/7273 1918/2969/7275
+s 1770
+f 1683/2587/7276 1918/2969/7277 1798/2966/7278
+f 1798/2966/7278 1918/2969/7277 2027/2970/7279
+s 1771
+f 1684/2584/7280 1802/2791/7281 1919/2971/7282
+f 1919/2971/7282 1802/2791/7281 2021/2972/7283
+s 1772
+f 1685/2585/7284 1684/2584/7285 1920/2973/7286
+f 1920/2973/7286 1684/2584/7285 1919/2971/7287
+s 1773
+f 1680/2783/7288 1803/2974/7289 1913/2784/7290
+f 1913/2784/7290 1803/2974/7289 2028/2975/7291
+s 1774
+f 1686/2590/7292 1805/2795/7293 1916/2965/7294
+f 1916/2965/7294 1805/2795/7293 1914/2962/7295
+s 1775
+f 1687/2591/7296 1686/2590/7297 1922/2967/7298
+f 1922/2967/7298 1686/2590/7297 1916/2965/7299
+s 1776
+f 1687/2591/7300 1923/2977/7301 1804/2976/7302
+f 1804/2976/7302 1923/2977/7301 2031/2978/7303
+s 1777
+f 1806/2980/7304 1678/2981/7305 1924/2979/7306
+f 1924/2979/7306 1678/2981/7305 1910/2982/7307
+s 1778
+f 1690/2598/7308 1691/2600/7309 1927/2983/7310
+f 1927/2983/7310 1691/2600/7309 1929/2984/7311
+s 1779
+f 1810/2599/7312 1690/2598/7313 1928/2985/7314
+f 1928/2985/7314 1690/2598/7313 1927/2983/7315
+s 1780
+f 1691/2600/7316 1652/2347/7317 1929/2984/7318
+f 1929/2984/7318 1652/2347/7317 1886/2725/7319
+s 1781
+f 1693/2603/7320 1810/2599/7321 1811/2810/7322
+f 1811/2810/7322 1810/2599/7321 1928/2985/7323
+s 1782
+f 1695/2987/7324 1694/2988/7325 1931/2986/7326
+f 1931/2986/7326 1694/2988/7325 2034/2989/7327
+s 1783
+f 1695/2987/7328 1931/2986/7329 1696/2990/7330
+f 1696/2990/7330 1931/2986/7329 1932/2991/7331
+s 1784
+f 1696/2990/7332 1932/2991/7333 1813/2816/7334
+f 1813/2816/7334 1932/2991/7333 2035/2992/7335
+s 1785
+f 1815/2610/7336 1933/2993/7337 1698/2608/7338
+f 1698/2608/7338 1933/2993/7337 2036/2994/7339
+s 1786
+f 1700/2432/7340 1699/2611/7341 1935/2995/7342
+f 1935/2995/7342 1699/2611/7341 2037/2996/7343
+s 1787
+f 1700/2623/7344 1936/2997/7345 1708/2622/7346
+f 1708/2622/7346 1936/2997/7345 2039/2998/7347
+s off
+f 1937/2999/7348 1578/2433/7349 1816/2819/7350
+f 1703/2616/7351 1578/2433/7352 1938/3000/7353
+s 1788
+f 1817/3001/7354 1470/2227/7355 2044/3003/7356
+f 2044/3003/7356 1470/2227/7355 1939/3002/7357
+s off
+f 1941/3004/7358 1470/2227/7359 1818/2822/7360
+f 1942/3005/7361 1703/2616/7362 2048/3006/7363
+f 1701/3007/7364 1705/3008/7365 2049/3009/7366
+s 1789
+f 1706/3010/7367 1943/3011/7368 1705/3008/7369
+f 1705/3008/7369 1943/3011/7368 2049/3009/7370
+s 1790
+f 1808/2621/7371 1926/2803/7372 1706/3010/7373
+f 1706/3010/7373 1926/2803/7372 1943/3011/7374
+s 1791
+f 1709/2625/7375 1945/2828/7376 1710/2624/7377
+f 1710/2624/7377 1945/2828/7376 1820/2829/7378
+s 1792
+f 1712/2626/7379 1713/2629/7380 1947/3012/7381
+f 1947/3012/7381 1713/2629/7380 1948/3013/7382
+s 1793
+f 1713/2629/7383 1822/2631/7384 1948/3013/7385
+f 1948/3013/7385 1822/2631/7384 2054/3014/7386
+s 1794
+f 1822/3016/7387 1479/3017/7388 1949/3015/7389
+f 1949/3015/7389 1479/3017/7388 1821/3018/7390
+s 1795
+f 1585/2449/7391 1825/2635/7392 1826/2836/7393
+f 1826/2836/7393 1825/2635/7392 2058/3019/7394
+s 1796
+f 1825/2635/7395 1712/2634/7396 1950/3020/7397
+f 1950/3020/7397 1712/2634/7396 1947/3021/7398
+s 1797
+f 1827/2837/7399 1951/3022/7400 1715/2636/7401
+f 1715/2636/7401 1951/3022/7400 1828/2838/7402
+s 1798
+f 1589/2455/7403 1832/2844/7404 1831/2637/7405
+f 1831/2637/7405 1832/2844/7404 2065/3023/7406
+s 1799
+f 1592/2638/7407 1834/3024/7408 1835/2848/7409
+f 1835/2848/7409 1834/3024/7408 2068/3025/7410
+s off
+f 1719/2463/7411 22/22/7412 1720/2642/7413
+s 1800
+f 1721/2470/7414 1702/2851/7415 1836/2852/7416
+f 1836/2852/7416 1702/2851/7415 1940/3026/7417
+s 1801
+f 1723/3028/7418 1837/3029/7419 1957/3027/7420
+f 1957/3027/7420 1837/3029/7419 2072/3030/7421
+s 1802
+f 1839/2856/7422 1726/2651/7423 1960/3031/7424
+f 1960/3031/7424 1726/2651/7423 1961/3032/7425
+s 1803
+f 1726/2651/7426 1840/2652/7427 1961/3032/7428
+f 1961/3032/7428 1840/2652/7427 2075/3033/7429
+s 1804
+f 1727/2655/7430 1841/3035/7431 1962/3034/7432
+f 1962/3034/7432 1841/3035/7431 2076/3036/7433
+s 1805
+f 1842/2656/7434 1727/2655/7435 1963/3037/7436
+f 1963/3037/7436 1727/2655/7435 1962/3034/7437
+s 1806
+f 1842/2656/7438 1963/3037/7439 1728/2657/7440
+f 1728/2657/7440 1963/3037/7439 2078/3038/7441
+s 1807
+f 1605/2484/7442 1843/3039/7443 1848/2662/7444
+f 1848/2662/7444 1843/3039/7443 2079/3040/7445
+s 1808
+f 1731/3042/7446 1880/3043/7447 1847/3041/7448
+f 1847/3041/7448 1880/3043/7447 1881/3044/7449
+s 1809
+f 1732/3045/7450 1877/3046/7451 1731/3042/7452
+f 1731/3042/7452 1877/3046/7451 1880/3043/7453
+s 1810
+f 1732/3045/7454 1848/3048/7455 1968/3047/7456
+f 1968/3047/7456 1848/3048/7455 2083/3049/7457
+s 1811
+f 1744/2889/7458 1733/3051/7459 1969/3050/7460
+f 1969/3050/7460 1733/3051/7459 1734/3052/7461
+s 1812
+f 1734/3052/7462 1846/3053/7463 1969/3050/7464
+f 1969/3050/7464 1846/3053/7463 1966/3054/7465
+s 1813
+f 1736/3056/7466 1971/3057/7467 1735/3055/7468
+f 1735/3055/7468 1971/3057/7467 2087/3058/7469
+s 1814
+f 1736/2667/7470 1737/2668/7471 1972/3059/7472
+f 1972/3059/7472 1737/2668/7471 1973/3060/7473
+s 1815
+f 1737/2668/7474 1738/2490/7475 1973/3060/7476
+f 1973/3060/7476 1738/2490/7475 1974/3061/7477
+s 1816
+f 1738/3063/7478 1849/3064/7479 1974/3062/7480
+f 1974/3062/7480 1849/3064/7479 2088/3065/7481
+s 1817
+f 1739/2673/7482 1850/3067/7483 1975/3066/7484
+f 1975/3066/7484 1850/3067/7483 2089/3068/7485
+s 1818
+f 1851/2674/7486 1739/2673/7487 1976/3069/7488
+f 1976/3069/7488 1739/2673/7487 1975/3066/7489
+s 1819
+f 1850/2879/7490 1740/2675/7491 1977/3070/7492
+f 1977/3070/7492 1740/2675/7491 1978/3071/7493
+s 1820
+f 1740/2675/7494 1741/2676/7495 1978/3071/7496
+f 1978/3071/7496 1741/2676/7495 1979/3072/7497
+s 1821
+f 1741/2676/7498 1852/2677/7499 1979/3072/7500
+f 1979/3072/7500 1852/2677/7499 2090/3073/7501
+s 1822
+f 1743/2494/7502 1854/2888/7503 1742/2678/7504
+f 1742/2678/7504 1854/2888/7503 2092/3074/7505
+s 1823
+f 1747/2682/7506 1745/2670/7507 1982/3075/7508
+f 1982/3075/7508 1745/2670/7507 1970/2876/7509
+s 1824
+f 1746/2683/7510 1747/2682/7511 1983/2892/7512
+f 1983/2892/7512 1747/2682/7511 1982/3075/7513
+s 1825
+f 1749/3076/7514 1984/3077/7515 1616/2896/7516
+f 1616/2896/7516 1984/3077/7515 1988/2897/7517
+s 1826
+f 1749/2684/7518 1748/2685/7519 1985/3078/7520
+f 1985/3078/7520 1748/2685/7519 1986/3079/7521
+s 1827
+f 1748/2685/7522 1857/2686/7523 1986/3079/7524
+f 1986/3079/7524 1857/2686/7523 2097/3080/7525
+s 1828
+f 1750/3082/7526 1859/3083/7527 1987/3081/7528
+f 1987/3081/7528 1859/3083/7527 2099/3084/7529
+s 1829
+f 1752/2689/7530 1858/2690/7531 1990/3085/7532
+f 1990/3085/7532 1858/2690/7531 2098/3086/7533
+s 1830
+f 1862/2902/7534 1624/2514/7535 1991/3087/7536
+f 1991/3087/7536 1624/2514/7535 1864/2695/7537
+s 1831
+f 1755/2696/7538 1992/2904/7539 1866/2906/7540
+f 1866/2906/7540 1992/2904/7539 2104/3088/7541
+s 1832
+f 1865/2905/7542 1994/3089/7543 1758/2698/7544
+f 1758/2698/7544 1994/3089/7543 1995/3090/7545
+s 1833
+f 1758/2698/7546 1995/3090/7547 1759/2699/7548
+f 1759/2699/7548 1995/3090/7547 2108/3091/7549
+s 1834
+f 1757/2697/7550 1759/2699/7551 1883/2924/7552
+f 1883/2924/7552 1759/2699/7551 2108/3091/7553
+s 1835
+f 1761/2701/7554 1996/2912/7555 1864/2695/7556
+f 1864/2695/7556 1996/2912/7555 1991/3087/7557
+s 1836
+f 1763/2704/7558 1997/3092/7559 1762/2702/7560
+f 1762/2702/7560 1997/3092/7559 1998/3093/7561
+s 1837
+f 1762/2702/7562 1998/3093/7563 1871/2703/7564
+f 1871/2703/7564 1998/3093/7563 2109/3094/7565
+s 1838
+f 1638/2332/7566 1875/2714/7567 1763/2704/7568
+f 1763/2704/7568 1875/2714/7567 1997/3092/7569
+s 1839
+f 1764/3095/7570 1860/3096/7571 1874/2713/7572
+f 1874/2713/7572 1860/3096/7571 1765/2710/7573
+s 1840
+f 1766/3098/7574 1765/2710/7575 1999/3097/7576
+f 1999/3097/7576 1765/2710/7575 1860/3096/7577
+s 1841
+f 1641/3099/7578 1876/3100/7579 1872/2914/7580
+f 1872/2914/7580 1876/3100/7579 1873/2913/7581
+s 1842
+f 1885/3102/7582 1962/3103/7583 1768/3101/7584
+f 1768/3101/7584 1962/3103/7583 2001/3104/7585
+s 1843
+f 1768/3101/7586 2001/3104/7587 1769/3105/7588
+f 1769/3105/7588 2001/3104/7587 1958/3106/7589
+s 1844
+f 1769/3105/7590 1958/3106/7591 1770/3107/7592
+f 1770/3107/7592 1958/3106/7591 1838/3108/7593
+s 1845
+f 1887/2926/7594 1771/2726/7595 2002/3109/7596
+f 2002/3109/7596 1771/2726/7595 1888/2928/7597
+s 1846
+f 1662/2368/7598 1889/2729/7599 1897/2747/7600
+f 1897/2747/7600 1889/2729/7599 2113/3110/7601
+s 1847
+f 1656/2355/7602 1890/2730/7603 1889/2729/7604
+f 1889/2729/7604 1890/2730/7603 2003/3111/7605
+s 1848
+f 1890/2730/7606 1657/2538/7607 2003/3111/7608
+f 2003/3111/7608 1657/2538/7607 1891/2929/7609
+s 1849
+f 1773/2540/7610 2004/2933/7611 1892/2930/7612
+f 1892/2930/7612 2004/2933/7611 2116/3112/7613
+s 1850
+f 1895/3114/7614 1774/3115/7615 2006/3113/7616
+f 2006/3113/7616 1774/3115/7615 2120/3116/7617
+s 1851
+f 1895/3114/7618 2006/3113/7619 1775/3117/7620
+f 1775/3117/7620 2006/3113/7619 2007/3118/7621
+s 1852
+f 1775/2733/7622 2007/3119/7623 1776/2737/7624
+f 1776/2737/7624 2007/3119/7623 2121/3120/7625
+s 1853
+f 1777/2739/7626 1776/2737/7627 2008/3121/7628
+f 2008/3121/7628 1776/2737/7627 2121/3120/7629
+s 1854
+f 1896/2938/7630 1777/2739/7631 2009/3122/7632
+f 2009/3122/7632 1777/2739/7631 2008/3121/7633
+s 1855
+f 1778/2743/7634 1779/2744/7635 1888/3123/7636
+f 1888/3123/7636 1779/2744/7635 2010/3124/7637
+s 1856
+f 1779/2744/7638 1780/2745/7639 2010/3124/7640
+f 2010/3124/7640 1780/2745/7639 2011/3125/7641
+s 1857
+f 1780/2746/7642 1897/2747/7643 2011/3126/7644
+f 2011/3126/7644 1897/2747/7643 2123/3127/7645
+s 1858
+f 1899/2940/7646 1781/2754/7647 2012/3128/7648
+f 2012/3128/7648 1781/2754/7647 2013/3129/7649
+s 1859
+f 1781/2754/7650 1900/2757/7651 2013/3129/7652
+f 2013/3129/7652 1900/2757/7651 2014/3130/7653
+s 1860
+f 1900/2757/7654 1666/2756/7655 2014/3130/7656
+f 2014/3130/7656 1666/2756/7655 1901/3131/7657
+s 1861
+f 1903/3132/7658 1784/3133/7659 2014/3130/7660
+f 2014/3130/7660 1784/3133/7659 2013/3129/7661
+s 1862
+f 1784/3133/7662 1785/2947/7663 2013/3129/7664
+f 2013/3129/7664 1785/2947/7663 2012/3128/7665
+s 1863
+f 1905/2949/7666 1670/2380/7667 1899/3134/7668
+f 1899/3134/7668 1670/2380/7667 1782/2764/7669
+s 1864
+f 1906/2951/7670 2017/3135/7671 1786/2766/7672
+f 1786/2766/7672 2017/3135/7671 2018/3136/7673
+s 1865
+f 1786/2766/7674 2018/3136/7675 1904/2767/7676
+f 1904/2767/7676 2018/3136/7675 2125/3137/7677
+s 1866
+f 1677/2396/7678 1908/2774/7679 1909/2779/7680
+f 1909/2779/7680 1908/2774/7679 2129/3138/7681
+s 1867
+f 1908/3140/7682 1676/3141/7683 2020/3139/7684
+f 2020/3139/7684 1676/3141/7683 2016/3142/7685
+s 1868
+f 1802/2791/7686 1792/2792/7687 2021/2972/7688
+f 2021/2972/7688 1792/2792/7687 2022/3143/7689
+s 1869
+f 1793/2776/7690 1794/3144/7691 1792/2775/7692
+f 1792/2775/7692 1794/3144/7691 2022/3145/7693
+s 1870
+f 1794/2778/7694 1909/2779/7695 2022/3146/7696
+f 2022/3146/7696 1909/2779/7695 2129/3138/7697
+s 1871
+f 1795/2957/7698 1911/3147/7699 2023/2958/7700
+f 2023/2958/7700 1911/3147/7699 2133/3148/7701
+s 1872
+f 1796/2573/7702 1913/3149/7703 1912/2961/7704
+f 1912/2961/7704 1913/3149/7703 2134/3150/7705
+s 1873
+f 1914/3151/7706 2025/3152/7707 1797/2785/7708
+f 1797/2785/7708 2025/3152/7707 1915/2786/7709
+s 1874
+f 1801/2790/7710 1799/2787/7711 2025/3153/7712
+f 2025/3153/7712 1799/2787/7711 1915/2788/7713
+s 1875
+f 1917/2968/7714 1685/2585/7715 2026/3154/7716
+f 2026/3154/7716 1685/2585/7715 1920/2973/7717
+s 1876
+f 1800/2797/7718 1801/3155/7719 1921/2798/7720
+f 1921/2798/7720 1801/3155/7719 2025/3156/7721
+s 1877
+f 1803/3158/7722 1804/3159/7723 2029/3157/7724
+f 2029/3157/7724 1804/3159/7723 2031/3160/7725
+s 1878
+f 1805/2795/7726 1921/2796/7727 1914/2962/7728
+f 1914/2962/7728 1921/2796/7727 2025/3161/7729
+s 1879
+f 1922/2967/7730 2030/3162/7731 1687/2591/7732
+f 1687/2591/7732 2030/3162/7731 1923/2977/7733
+s 1880
+f 1806/2980/7734 1924/2979/7735 2032/3163/7736
+f 2032/3163/7736 1924/2979/7735 2142/3164/7737
+s 1881
+f 1807/2800/7738 1806/2799/7739 1925/2802/7740
+f 1925/2802/7740 1806/2799/7739 2032/3165/7741
+s 1882
+f 1688/2413/7742 1925/3166/7743 1926/2803/7744
+f 1926/2803/7744 1925/3166/7743 2143/3167/7745
+s 1883
+f 1812/3169/7746 1811/3170/7747 2033/3168/7748
+f 2033/3168/7748 1811/3170/7747 2146/3171/7749
+s 1884
+f 1812/3169/7750 2033/3168/7751 1907/3172/7752
+f 1907/3172/7752 2033/3168/7751 2128/3173/7753
+s 1885
+f 1718/2639/7754 1955/2849/7755 1930/2813/7756
+f 1930/2813/7756 1955/2849/7755 2147/3174/7757
+s 1886
+f 1694/3176/7758 1930/3177/7759 2034/3175/7760
+f 2034/3175/7760 1930/3177/7759 2148/3178/7761
+s 1887
+f 1813/2816/7762 2035/2992/7763 1814/2817/7764
+f 1814/2817/7764 2035/2992/7763 2152/3179/7765
+s 1888
+f 1815/2610/7766 1814/2817/7767 1933/2993/7768
+f 1933/2993/7768 1814/2817/7767 2152/3179/7769
+s 1889
+f 1698/3181/7770 2036/3182/7771 1934/3180/7772
+f 1934/3180/7772 2036/3182/7771 2153/3183/7773
+s 1890
+f 1699/2611/7774 1934/2818/7775 2037/2996/7776
+f 2037/2996/7776 1934/2818/7775 2154/3184/7777
+s 1891
+f 1700/2623/7778 1935/3186/7779 2038/3185/7780
+f 2038/3185/7780 1935/3186/7779 2156/3187/7781
+s 1892
+f 1700/2623/7782 2038/3185/7783 1936/2997/7784
+f 1936/2997/7784 2038/3185/7783 2157/3188/7785
+s 1893
+f 1937/2999/7786 2160/3190/7787 1578/2433/7788
+f 2040/3189/7789 1578/2433/7788 2160/3190/7787
+s 1894
+f 1816/2819/7790 1701/2612/7791 2041/3191/7792
+f 2041/3191/7792 1701/2612/7791 2161/3192/7793
+s off
+f 1938/3000/7794 1578/2433/7795 2042/3193/7796
+f 1703/2616/7797 2043/3194/7798 2048/3006/7799
+f 1939/3002/7800 1470/2227/7801 1941/3004/7802
+s 1895
+f 1817/3001/7803 2045/3195/7804 1940/3026/7805
+f 1940/3026/7805 2045/3195/7804 1836/2852/7806
+s off
+f 2046/3196/7807 1818/2822/7808 2047/3197/7809
+s 1896
+f 2047/3197/7810 1818/2822/7811 1942/3005/7812
+f 1942/3005/7812 1818/2822/7811 1703/2616/7813
+s 1897
+f 1819/2824/7814 1944/2825/7815 2050/3198/7816
+f 2050/3198/7816 1944/2825/7815 2173/3199/7817
+s 1898
+f 1708/2622/7818 2039/2998/7819 1944/2825/7820
+f 1944/2825/7820 2039/2998/7819 2174/3200/7821
+s 1899
+f 1819/3202/7822 2050/3203/7823 1945/3201/7824
+f 1945/3201/7824 2050/3203/7823 2175/3204/7825
+s 1900
+f 1945/2828/7826 2051/3205/7827 1820/2829/7828
+f 1820/2829/7828 2051/3205/7827 2052/3206/7829
+s 1901
+f 1820/2829/7830 2052/3206/7831 1946/2830/7832
+f 1946/2830/7832 2052/3206/7831 2176/3207/7833
+s 1902
+f 1946/2830/7834 2053/3208/7835 1821/2831/7836
+f 1821/2831/7836 2053/3208/7835 1949/3209/7837
+s 1903
+f 1949/3015/7838 2055/3210/7839 1822/3016/7840
+f 1822/3016/7840 2055/3210/7839 2054/3211/7841
+s 1904
+f 1827/2837/7842 1823/2832/7843 2056/3212/7844
+f 2056/3212/7844 1823/2832/7843 1824/3213/7845
+s 1905
+f 1826/3214/7846 2057/3215/7847 1824/3213/7848
+f 1824/3213/7848 2057/3215/7847 2056/3212/7849
+s 1906
+f 1825/2635/7850 1950/3020/7851 2058/3019/7852
+f 2058/3019/7852 1950/3020/7851 2182/3216/7853
+s 1907
+f 1951/3022/7854 1827/2837/7855 2059/3217/7856
+f 2059/3217/7856 1827/2837/7855 2056/3212/7857
+s 1908
+f 1951/3022/7858 2060/3218/7859 1828/2838/7860
+f 1828/2838/7860 2060/3218/7859 2184/3219/7861
+s 1909
+f 1829/2839/7862 1828/2838/7863 2061/3220/7864
+f 2061/3220/7864 1828/2838/7863 2184/3219/7865
+s 1910
+f 1829/2839/7866 2062/3221/7867 1830/2840/7868
+f 1830/2840/7868 2062/3221/7867 2186/3222/7869
+s 1911
+f 1952/3223/7870 2063/3224/7871 1717/2457/7872
+f 1717/2457/7872 2063/3224/7871 1954/2846/7873
+s 1912
+f 1716/2454/7874 1953/2843/7875 1952/2842/7876
+f 1952/2842/7876 1953/2843/7875 2063/3225/7877
+s 1913
+f 1953/2843/7878 1830/2840/7879 2064/3226/7880
+f 2064/3226/7880 1830/2840/7879 2186/3222/7881
+s 1914
+f 1831/2637/7882 2065/3023/7883 1834/2847/7884
+f 1834/2847/7884 2065/3023/7883 2188/3227/7885
+s 1915
+f 1832/2844/7886 1833/2845/7887 2066/3228/7888
+f 2066/3228/7888 1833/2845/7887 2067/3229/7889
+s 1916
+f 1833/2845/7890 1954/2846/7891 2067/3229/7892
+f 2067/3229/7892 1954/2846/7891 2189/3230/7893
+s 1917
+f 1955/2849/7894 1835/2848/7895 2069/3231/7896
+f 2069/3231/7896 1835/2848/7895 2191/3232/7897
+s 1918
+f 1837/2853/7898 1836/2852/7899 2070/3233/7900
+f 2070/3233/7900 1836/2852/7899 2045/3195/7901
+s 1919
+f 1956/3234/7902 2071/3235/7903 1722/2936/7904
+f 1722/2936/7904 2071/3235/7903 2005/2937/7905
+s 1920
+f 1723/3236/7906 1957/3237/7907 1956/3234/7908
+f 1956/3234/7908 1957/3237/7907 2194/3238/7909
+s 1921
+f 1958/3106/7910 2073/3240/7911 1725/3239/7912
+f 1725/3239/7912 2073/3240/7911 1959/3241/7913
+s 1922
+f 1841/2861/7914 1839/2856/7915 2074/3242/7916
+f 2074/3242/7916 1839/2856/7915 1960/3031/7917
+s 1923
+f 1840/2857/7918 1959/2860/7919 2075/3243/7920
+f 2075/3243/7920 1959/2860/7919 2197/3244/7921
+s 1924
+f 1729/2863/7922 1964/2866/7923 1965/3245/7924
+f 1965/3245/7924 1964/2866/7923 2200/3246/7925
+s 1925
+f 1964/3248/7926 1728/3249/7927 2077/3247/7928
+f 2077/3247/7928 1728/3249/7927 2078/3250/7929
+s 1926
+f 1843/3039/7930 1844/3252/7931 2080/3251/7932
+f 2080/3251/7932 1844/3252/7931 1845/3253/7933
+s 1927
+f 1845/3253/7934 1965/3254/7935 2080/3251/7936
+f 2080/3251/7936 1965/3254/7935 2200/3255/7937
+s 1928
+f 1966/2873/7938 1730/2483/7939 2081/3256/7940
+f 2081/3256/7940 1730/2483/7939 1967/2875/7941
+s 1929
+f 1967/3258/7942 1847/3041/7943 2082/3257/7944
+f 2082/3257/7944 1847/3041/7943 2093/3259/7945
+s 1930
+f 1877/3046/7946 1732/3045/7947 1878/3260/7948
+f 1878/3260/7948 1732/3045/7947 1968/3047/7949
+s 1931
+f 1969/3050/7950 2084/3261/7951 1744/2889/7952
+f 1744/2889/7952 2084/3261/7951 1981/2890/7953
+s 1932
+f 1970/3263/7954 1735/3055/7955 2085/3262/7956
+f 2085/3262/7956 1735/3055/7955 2087/3058/7957
+s 1933
+f 1971/3265/7958 1736/2667/7959 2086/3264/7960
+f 2086/3264/7960 1736/2667/7959 1972/3059/7961
+s 1934
+f 1851/2674/7962 1976/3069/7963 1849/2877/7964
+f 1849/2877/7964 1976/3069/7963 2210/3266/7965
+s 1935
+f 1850/3067/7966 1977/3267/7967 2089/3068/7968
+f 2089/3068/7968 1977/3267/7967 2212/3268/7969
+s 1936
+f 1852/2881/7970 1980/2884/7971 2090/3269/7972
+f 2090/3269/7972 1980/2884/7971 2214/3270/7973
+s 1937
+f 2091/3271/7974 1980/3272/7975 2092/3274/7976
+f 2092/3274/7976 1980/3272/7975 1742/3273/7977
+s 1938
+f 1853/3276/7978 1883/3277/7979 1854/3275/7980
+f 1854/3275/7980 1883/3277/7979 2108/3278/7981
+s 1939
+f 1853/3276/7982 1855/3279/7983 2093/3259/7984
+f 2093/3259/7984 1855/3279/7983 2082/3257/7985
+s 1940
+f 1855/3279/7986 1981/3280/7987 2082/3257/7988
+f 2082/3257/7988 1981/3280/7987 2084/3281/7989
+s 1941
+f 1857/3283/7990 1856/3284/7991 2094/3282/7992
+f 2094/3282/7992 1856/3284/7991 2217/3285/7993
+s 1942
+f 1983/3286/7994 2095/3287/7995 1856/3284/7996
+f 1856/3284/7996 2095/3287/7995 2217/3285/7997
+s 1943
+f 1984/3289/7998 1749/2684/7999 2096/3288/8000
+f 2096/3288/8000 1749/2684/7999 1985/3078/8001
+s 1944
+f 1858/2690/8002 1987/2893/8003 2098/3086/8004
+f 2098/3086/8004 1987/2893/8003 2223/3290/8005
+s 1945
+f 1988/2897/8006 2100/3291/8007 1859/2894/8008
+f 1859/2894/8008 2100/3291/8007 2225/3292/8009
+s 1946
+f 1989/3294/8010 2101/3295/8011 1751/3293/8012
+f 1751/3293/8012 2101/3295/8011 1860/3296/8013
+s 1947
+f 1752/2689/8014 1990/3085/8015 1989/2899/8016
+f 1989/2899/8016 1990/3085/8015 2227/3297/8017
+s 1948
+f 1991/3087/8018 2102/3298/8019 1862/2902/8020
+f 1862/2902/8020 2102/3298/8019 2103/3299/8021
+s 1949
+f 1862/2902/8022 2103/3299/8023 1863/2903/8024
+f 1863/2903/8024 2103/3299/8023 2230/3300/8025
+s 1950
+f 1992/2904/8026 1863/2903/8027 2104/3088/8028
+f 2104/3088/8028 1863/2903/8027 2230/3300/8029
+s 1951
+f 1867/2907/8030 1866/2906/8031 2105/3301/8032
+f 2105/3301/8032 1866/2906/8031 2231/3302/8033
+s 1952
+f 1867/2907/8034 2105/3301/8035 1868/2908/8036
+f 1868/2908/8036 2105/3301/8035 2232/3303/8037
+s 1953
+f 1993/2909/8038 1868/2908/8039 2106/3304/8040
+f 2106/3304/8040 1868/2908/8039 2232/3303/8041
+s 1954
+f 1869/2910/8042 1993/2909/8043 2107/3305/8044
+f 2107/3305/8044 1993/2909/8043 2106/3304/8045
+s 1955
+f 1865/2905/8046 1869/2910/8047 1994/3089/8048
+f 1994/3089/8048 1869/2910/8047 2107/3305/8049
+s 1956
+f 1871/2703/8050 2109/3094/8051 1870/2911/8052
+f 1870/2911/8052 2109/3094/8051 2110/3306/8053
+s 1957
+f 1870/2911/8054 2110/3306/8055 1996/2912/8056
+f 1996/2912/8056 2110/3306/8055 2229/3307/8057
+s 1958
+f 2000/3308/8058 1766/3098/8059 2225/3309/8060
+f 2225/3309/8060 1766/3098/8059 1999/3097/8061
+s 1959
+f 1875/2714/8062 2000/2915/8063 1997/3092/8064
+f 1997/3092/8064 2000/2915/8063 2233/3310/8065
+s 1960
+f 1878/3260/8066 1968/3047/8067 1879/3311/8068
+f 1879/3311/8068 1968/3047/8067 2078/3250/8069
+s 1961
+f 1879/3311/8070 2078/3250/8071 1884/3312/8072
+f 1884/3312/8072 2078/3250/8071 1963/3313/8073
+s 1962
+f 1882/3314/8074 2093/3259/8075 1881/3044/8076
+f 1881/3044/8076 2093/3259/8075 1847/3041/8077
+s 1963
+f 1883/3277/8078 1853/3276/8079 1882/3314/8080
+f 1882/3314/8080 1853/3276/8079 2093/3259/8081
+s 1964
+f 1884/3312/8082 1963/3313/8083 1885/3102/8084
+f 1885/3102/8084 1963/3313/8083 1962/3103/8085
+s 1965
+f 1929/3316/8086 1886/2927/8087 2111/3315/8088
+f 2111/3315/8088 1886/2927/8087 1887/2926/8089
+s 1966
+f 2002/3109/8090 2112/3317/8091 1887/2926/8092
+f 1887/2926/8092 2112/3317/8091 2111/3315/8093
+s 1967
+f 1888/3123/8094 2010/3124/8095 2002/3318/8096
+f 2002/3318/8096 2010/3124/8095 2235/3319/8097
+s 1968
+f 1891/2929/8098 2114/3320/8099 2003/3111/8100
+f 2003/3111/8100 2114/3320/8099 2236/3321/8101
+s 1969
+f 1891/2929/8102 1892/2930/8103 2115/3322/8104
+f 2115/3322/8104 1892/2930/8103 2116/3112/8105
+s 1970
+f 1896/2938/8106 2117/3323/8107 1893/2939/8108
+f 1893/2939/8108 2117/3323/8107 2118/3324/8109
+s 1971
+f 1893/2931/8110 2118/3325/8111 1894/2932/8112
+f 1894/2932/8112 2118/3325/8111 2119/3326/8113
+s 1972
+f 1894/2932/8114 2119/3326/8115 2004/2933/8116
+f 2004/2933/8116 2119/3326/8115 2237/3327/8117
+s 1973
+f 1774/2934/8118 2005/2937/8119 2120/3328/8120
+f 2120/3328/8120 2005/2937/8119 2238/3329/8121
+s 1974
+f 2009/3122/8122 2122/3330/8123 1896/2938/8124
+f 1896/2938/8124 2122/3330/8123 2117/3323/8125
+s 1975
+f 2012/3128/8126 2124/3331/8127 1899/2940/8128
+f 1899/2940/8128 2124/3331/8127 2126/3332/8129
+s 1976
+f 1902/3333/8130 1903/3132/8131 1901/3131/8132
+f 1901/3131/8132 1903/3132/8131 2014/3130/8133
+s 1977
+f 1785/2947/8134 2015/2948/8135 2012/3128/8136
+f 2012/3128/8136 2015/2948/8135 2124/3331/8137
+s 1978
+f 1904/2767/8138 2125/3137/8139 2015/2948/8140
+f 2015/2948/8140 2125/3137/8139 2244/3334/8141
+s 1979
+f 1899/2940/8142 2126/3332/8143 1905/3335/8144
+f 1905/3335/8144 2126/3332/8143 2127/3336/8145
+s 1980
+f 1905/3335/8146 2127/3336/8147 2016/3337/8148
+f 2016/3337/8148 2127/3336/8147 2137/3338/8149
+s 1981
+f 2017/3135/8150 1906/2951/8151 2019/2954/8152
+f 2019/2954/8152 1906/2951/8151 1791/2567/8153
+s 1982
+f 1907/3172/8154 2128/3173/8155 2019/3339/8156
+f 2019/3339/8156 2128/3173/8155 2245/3340/8157
+s 1983
+f 2020/3139/8158 2130/3341/8159 1908/3140/8160
+f 1908/3140/8160 2130/3341/8159 2129/3342/8161
+s 1984
+f 1924/2979/8162 1910/2982/8163 2131/3343/8164
+f 2131/3343/8164 1910/2982/8163 2132/3344/8165
+s 1985
+f 1910/2955/8166 2023/2958/8167 2132/3345/8168
+f 2132/3345/8168 2023/2958/8167 2248/3346/8169
+s 1986
+f 1911/3147/8170 2024/3347/8171 2133/3148/8172
+f 2133/3148/8172 2024/3347/8171 2249/3348/8173
+s 1987
+f 1912/2961/8174 2134/3150/8175 2024/2960/8176
+f 2024/2960/8176 2134/3150/8175 2249/3349/8177
+s 1988
+f 1798/2966/8178 2027/2970/8179 1922/2967/8180
+f 1922/2967/8180 2027/2970/8179 2030/3162/8181
+s 1989
+f 1917/2968/8182 2026/3154/8183 2135/3350/8184
+f 2135/3350/8184 2026/3154/8183 2250/3351/8185
+s 1990
+f 1917/2968/8186 2135/3350/8187 1918/2969/8188
+f 1918/2969/8188 2135/3350/8187 2136/3352/8189
+s 1991
+f 1918/2969/8190 2136/3352/8191 2027/2970/8192
+f 2027/2970/8192 2136/3352/8191 2251/3353/8193
+s 1992
+f 1920/2973/8194 1919/2971/8195 2016/3337/8196
+f 2016/3337/8196 1919/2971/8195 2020/3354/8197
+s 1993
+f 1919/2971/8198 2021/2972/8199 2020/3354/8200
+f 2020/3354/8200 2021/2972/8199 2130/3355/8201
+s 1994
+f 2026/3154/8202 1920/2973/8203 2137/3338/8204
+f 2137/3338/8204 1920/2973/8203 2016/3337/8205
+s 1995
+f 2028/2975/8206 2138/3356/8207 1913/2784/8208
+f 1913/2784/8208 2138/3356/8207 2134/3357/8209
+s 1996
+f 1803/2974/8210 2139/3358/8211 2028/2975/8212
+f 2028/2975/8212 2139/3358/8211 2252/3359/8213
+s 1997
+f 1803/3158/8214 2029/3157/8215 2139/3360/8216
+f 2139/3360/8216 2029/3157/8215 2253/3361/8217
+s 1998
+f 2030/3162/8218 2140/3362/8219 1923/2977/8220
+f 1923/2977/8220 2140/3362/8219 2141/3363/8221
+s 1999
+f 1923/3365/8222 2141/3366/8223 2031/3364/8224
+f 2031/3364/8224 2141/3366/8223 2029/3367/8225
+s 2000
+f 1928/3369/8226 1927/3370/8227 2144/3368/8228
+f 2144/3368/8228 1927/3370/8227 2145/3371/8229
+s 2001
+f 1927/3370/8230 1929/3316/8231 2145/3371/8232
+f 2145/3371/8232 1929/3316/8231 2111/3315/8233
+s 2002
+f 1811/3170/8234 1928/3369/8235 2146/3171/8236
+f 2146/3171/8236 1928/3369/8235 2144/3368/8237
+s 2003
+f 1931/2986/8238 2034/2989/8239 2149/3372/8240
+f 2149/3372/8240 2034/2989/8239 2148/3373/8241
+s 2004
+f 1932/2991/8242 1931/2986/8243 2150/3374/8244
+f 2150/3374/8244 1931/2986/8243 2149/3372/8245
+s 2005
+f 2035/2992/8246 1932/2991/8247 2151/3375/8248
+f 2151/3375/8248 1932/2991/8247 2150/3374/8249
+s 2006
+f 2036/3182/8250 1933/3376/8251 2153/3183/8252
+f 2153/3183/8252 1933/3376/8251 2258/3377/8253
+s 2007
+f 1935/3186/8254 2037/3379/8255 2155/3378/8256
+f 2155/3378/8256 2037/3379/8255 2154/3380/8257
+s 2008
+f 2039/2998/8258 1936/2997/8259 2158/3381/8260
+f 2158/3381/8260 1936/2997/8259 2262/3382/8261
+s 2009
+f 2040/3189/8262 2159/3383/8263 1578/2433/8264
+f 1578/2433/8264 2159/3383/8263 2265/3384/8265
+s off
+f 2042/3193/8266 1578/2433/8267 2265/3384/8268
+s 2010
+f 1703/2616/8269 1938/3000/8270 2043/3194/8271
+f 2043/3194/8271 1938/3000/8270 2162/3385/8272
+s off
+f 1938/3000/8273 2163/3386/8274 2162/3385/8275
+f 1939/3002/8276 2164/3387/8277 2166/3388/8278
+s 2011
+f 2044/3003/8279 2165/3389/8280 1817/3001/8281
+f 1817/3001/8281 2165/3389/8280 2045/3195/8282
+s 2012
+f 1939/3002/8283 2166/3388/8284 2044/3003/8285
+f 2044/3003/8285 2166/3388/8284 2165/3389/8286
+s 2013
+f 2164/3387/8287 1939/3002/8288 2167/3390/8289
+f 2167/3390/8289 1939/3002/8288 1941/3004/8290
+s off
+f 2167/3390/8291 1941/3004/8292 2168/3391/8293
+s 2014
+f 2168/3391/8294 1941/3004/8295 2046/3196/8296
+f 2046/3196/8296 1941/3004/8295 1818/2822/8297
+s 2015
+f 1942/3005/8298 2169/3392/8299 2047/3197/8300
+f 2047/3197/8300 2169/3392/8299 2274/3393/8301
+s 2016
+f 2048/3006/8302 2170/3394/8303 1942/3005/8304
+f 1942/3005/8304 2170/3394/8303 2169/3392/8305
+s 2017
+f 1701/3395/8306 2049/3396/8307 2161/3398/8308
+f 2161/3398/8308 2049/3396/8307 2171/3397/8309
+s 2018
+f 1926/2803/8310 2143/3167/8311 1943/3011/8312
+f 1943/3011/8312 2143/3167/8311 2172/3399/8313
+s 2019
+f 1943/3011/8314 2172/3399/8315 2049/3009/8316
+f 2049/3009/8316 2172/3399/8315 2171/3400/8317
+s 2020
+f 1945/2828/8318 2175/3401/8319 2051/3205/8320
+f 2051/3205/8320 2175/3401/8319 2277/3402/8321
+s 2021
+f 1946/2830/8322 2176/3207/8323 2053/3208/8324
+f 2053/3208/8324 2176/3207/8323 2183/3403/8325
+s 2022
+f 1950/3405/8326 1947/3406/8327 2177/3404/8328
+f 2177/3404/8328 1947/3406/8327 2178/3407/8329
+s 2023
+f 1947/3012/8330 1948/3013/8331 2178/3408/8332
+f 2178/3408/8332 1948/3013/8331 2179/3409/8333
+s 2024
+f 1948/3013/8334 2054/3014/8335 2179/3409/8336
+f 2179/3409/8336 2054/3014/8335 2279/3410/8337
+s 2025
+f 1949/3015/8338 2180/3411/8339 2055/3210/8340
+f 2055/3210/8340 2180/3411/8339 2281/3412/8341
+s 2026
+f 1949/3015/8342 2053/3413/8343 2180/3411/8344
+f 2180/3411/8344 2053/3413/8343 2282/3414/8345
+s 2027
+f 2057/3416/8346 1826/3417/8347 2181/3415/8348
+f 2181/3415/8348 1826/3417/8347 2058/3418/8349
+s 2028
+f 2059/3217/8350 2183/3403/8351 1951/3022/8352
+f 1951/3022/8352 2183/3403/8351 2060/3218/8353
+s 2029
+f 2061/3220/8354 2185/3419/8355 1829/2839/8356
+f 1829/2839/8356 2185/3419/8355 2062/3221/8357
+s 2030
+f 1953/3421/8358 2064/3422/8359 2187/3420/8360
+f 2187/3420/8360 2064/3422/8359 2287/3423/8361
+s 2031
+f 1832/2844/8362 2066/3228/8363 2065/3023/8364
+f 2065/3023/8364 2066/3228/8363 2289/3424/8365
+s 2032
+f 2063/3225/8366 2190/3426/8367 1954/3425/8368
+f 1954/3425/8368 2190/3426/8367 2292/3427/8369
+s 2033
+f 1835/2848/8370 2068/3025/8371 2191/3232/8372
+f 2191/3232/8372 2068/3025/8371 2293/3428/8373
+s 2034
+f 2068/3025/8374 1834/3024/8375 2192/3429/8376
+f 2192/3429/8376 1834/3024/8375 2188/3430/8377
+s 2035
+f 1955/2849/8378 2069/3231/8379 2147/3174/8380
+f 2147/3174/8380 2069/3231/8379 2294/3431/8381
+s 2036
+f 1837/2853/8382 2070/3233/8383 2072/3432/8384
+f 2072/3432/8384 2070/3233/8383 2296/3433/8385
+s 2037
+f 1956/3234/8386 2193/3434/8387 2071/3235/8388
+f 2071/3235/8388 2193/3434/8387 2297/3435/8389
+s 2038
+f 2072/3432/8390 2195/3437/8391 1957/3436/8392
+f 1957/3436/8392 2195/3437/8391 2298/3438/8393
+s 2039
+f 2073/3240/8394 1958/3106/8395 2196/3439/8396
+f 2196/3439/8396 1958/3106/8395 2001/3104/8397
+s 2040
+f 1841/3035/8398 2074/3440/8399 2076/3036/8400
+f 2076/3036/8400 2074/3440/8399 2301/3441/8401
+s 2041
+f 2073/3240/8402 2198/3442/8403 1959/3241/8404
+f 1959/3241/8404 2198/3442/8403 2197/3443/8405
+s 2042
+f 2074/3440/8406 1960/3445/8407 2199/3444/8408
+f 2199/3444/8408 1960/3445/8407 1961/3446/8409
+s 2043
+f 1961/3446/8410 2075/3447/8411 2199/3444/8412
+f 2199/3444/8412 2075/3447/8411 2197/3448/8413
+s 2044
+f 1962/3103/8414 2076/3449/8415 2001/3104/8416
+f 2001/3104/8416 2076/3449/8415 2196/3439/8417
+s 2045
+f 2077/3247/8418 2201/3450/8419 1964/3248/8420
+f 1964/3248/8420 2201/3450/8419 2200/3451/8421
+s 2046
+f 1848/3048/8422 2079/3452/8423 2083/3049/8424
+f 2083/3049/8424 2079/3452/8423 2302/3453/8425
+s 2047
+f 1843/3039/8426 2080/3251/8427 2079/3040/8428
+f 2079/3040/8428 2080/3251/8427 2302/3454/8429
+s 2048
+f 1966/3054/8430 2081/3455/8431 1969/3050/8432
+f 1969/3050/8432 2081/3455/8431 2084/3261/8433
+s 2049
+f 2081/3456/8434 1967/3258/8435 2084/3281/8436
+f 2084/3281/8436 1967/3258/8435 2082/3257/8437
+s 2050
+f 1968/3047/8438 2083/3049/8439 2078/3250/8440
+f 2078/3250/8440 2083/3049/8439 2077/3247/8441
+s 2051
+f 1982/3075/8442 1970/2876/8443 2202/3457/8444
+f 2202/3457/8444 1970/2876/8443 2203/3458/8445
+s 2052
+f 1970/3460/8446 2085/3461/8447 2203/3459/8448
+f 2203/3459/8448 2085/3461/8447 2303/3462/8449
+s 2053
+f 1971/3057/8450 2086/3464/8451 2204/3463/8452
+f 2204/3463/8452 2086/3464/8451 2304/3465/8453
+s 2054
+f 2087/3058/8454 1971/3057/8455 2205/3466/8456
+f 2205/3466/8456 1971/3057/8455 2204/3463/8457
+s 2055
+f 1972/3059/8458 2206/3467/8459 2086/3264/8460
+f 2086/3264/8460 2206/3467/8459 2305/3468/8461
+s 2056
+f 1972/3059/8462 1973/3060/8463 2206/3467/8464
+f 2206/3467/8464 1973/3060/8463 2207/3469/8465
+s 2057
+f 1973/3060/8466 1974/3061/8467 2207/3469/8468
+f 2207/3469/8468 1974/3061/8467 2208/3470/8469
+s 2058
+f 1974/3062/8470 2088/3065/8471 2208/3471/8472
+f 2208/3471/8472 2088/3065/8471 2306/3472/8473
+s 2059
+f 2088/3474/8474 1849/3475/8475 2209/3473/8476
+f 2209/3473/8476 1849/3475/8475 2210/3476/8477
+s 2060
+f 1975/3478/8478 2107/3479/8479 1976/3477/8480
+f 1976/3477/8480 2107/3479/8479 2106/3480/8481
+s 2061
+f 1975/3478/8482 2089/3482/8483 2211/3481/8484
+f 2211/3481/8484 2089/3482/8483 2308/3483/8485
+s 2062
+f 1977/3267/8486 1978/3485/8487 2213/3484/8488
+f 2213/3484/8488 1978/3485/8487 1979/3486/8489
+s 2063
+f 1979/3486/8490 2090/3487/8491 2213/3484/8492
+f 2213/3484/8492 2090/3487/8491 2214/3488/8493
+s 2064
+f 2091/3271/8494 2215/3489/8495 1980/3272/8496
+f 1980/3272/8496 2215/3489/8495 2214/3490/8497
+s 2065
+f 2092/3274/8498 1854/3275/8499 1995/3491/8500
+f 1995/3491/8500 1854/3275/8499 2108/3278/8501
+s 2066
+f 1983/2892/8502 1982/3075/8503 2216/3492/8504
+f 2216/3492/8504 1982/3075/8503 2202/3457/8505
+s 2067
+f 1857/3494/8506 2094/3495/8507 2097/3493/8508
+f 2097/3493/8508 2094/3495/8507 2310/3496/8509
+s 2068
+f 2095/3498/8510 1983/2892/8511 2218/3497/8512
+f 2218/3497/8512 1983/2892/8511 2216/3492/8513
+s 2069
+f 1984/3077/8514 2096/3500/8515 2219/3499/8516
+f 2219/3499/8516 2096/3500/8515 2313/3501/8517
+s 2070
+f 1988/2897/8518 1984/3077/8519 2100/3291/8520
+f 2100/3291/8520 1984/3077/8519 2219/3499/8521
+s 2071
+f 2096/3288/8522 1985/3078/8523 2220/3502/8524
+f 2220/3502/8524 1985/3078/8523 2221/3503/8525
+s 2072
+f 1985/3078/8526 1986/3079/8527 2221/3503/8528
+f 2221/3503/8528 1986/3079/8527 2222/3504/8529
+s 2073
+f 1986/3079/8530 2097/3080/8531 2222/3504/8532
+f 2222/3504/8532 2097/3080/8531 2314/3505/8533
+s 2074
+f 1987/3081/8534 2099/3084/8535 2223/3506/8536
+f 2223/3506/8536 2099/3084/8535 2315/3507/8537
+s 2075
+f 2099/3509/8538 1859/3510/8539 2224/3508/8540
+f 2224/3508/8540 1859/3510/8539 2225/3309/8541
+s 2076
+f 2101/3295/8542 1989/3294/8543 2226/3511/8544
+f 2226/3511/8544 1989/3294/8543 2227/3512/8545
+s 2077
+f 1860/3096/8546 2101/3513/8547 1999/3097/8548
+f 1999/3097/8548 2101/3513/8547 2317/3514/8549
+s 2078
+f 2098/3086/8550 2228/3515/8551 1990/3085/8552
+f 1990/3085/8552 2228/3515/8551 2227/3297/8553
+s 2079
+f 2102/3298/8554 1991/3087/8555 2229/3307/8556
+f 2229/3307/8556 1991/3087/8555 1996/2912/8557
+s 2080
+f 1866/2906/8558 2104/3088/8559 2231/3302/8560
+f 2231/3302/8560 2104/3088/8559 2321/3516/8561
+s 2081
+f 1994/3517/8562 2211/3481/8563 1995/3491/8564
+f 1995/3491/8564 2211/3481/8563 2092/3274/8565
+s 2082
+f 1997/3092/8566 2233/3310/8567 1998/3093/8568
+f 1998/3093/8568 2233/3310/8567 2234/3518/8569
+s 2083
+f 1998/3093/8570 2234/3518/8571 2109/3094/8572
+f 2109/3094/8572 2234/3518/8571 2323/3519/8573
+s 2084
+f 2002/3318/8574 2235/3319/8575 2112/3520/8576
+f 2112/3520/8576 2235/3319/8575 2326/3521/8577
+s 2085
+f 1897/2747/8578 2113/3110/8579 2123/3127/8580
+f 2123/3127/8580 2113/3110/8579 2327/3522/8581
+s 2086
+f 1889/2729/8582 2003/3111/8583 2113/3110/8584
+f 2113/3110/8584 2003/3111/8583 2236/3321/8585
+s 2087
+f 1891/2929/8586 2115/3322/8587 2114/3320/8588
+f 2114/3320/8588 2115/3322/8587 2328/3523/8589
+s 2088
+f 2004/2933/8590 2237/3327/8591 2116/3112/8592
+f 2116/3112/8592 2237/3327/8591 2115/3322/8593
+s 2089
+f 2005/2937/8594 2071/3235/8595 2238/3329/8596
+f 2238/3329/8596 2071/3235/8595 2334/3524/8597
+s 2090
+f 2006/3113/8598 2120/3116/8599 2239/3525/8600
+f 2239/3525/8600 2120/3116/8599 2238/3526/8601
+s 2091
+f 2006/3113/8602 2239/3525/8603 2007/3118/8604
+f 2007/3118/8604 2239/3525/8603 2121/3527/8605
+s 2092
+f 2008/3529/8606 2121/3527/8607 2240/3528/8608
+f 2240/3528/8608 2121/3527/8607 2239/3525/8609
+s 2093
+f 2009/3531/8610 2008/3529/8611 2241/3530/8612
+f 2241/3530/8612 2008/3529/8611 2240/3528/8613
+s 2094
+f 2122/3533/8614 2009/3531/8615 2242/3532/8616
+f 2242/3532/8616 2009/3531/8615 2241/3530/8617
+s 2095
+f 2010/3124/8618 2011/3125/8619 2235/3319/8620
+f 2235/3319/8620 2011/3125/8619 2243/3534/8621
+s 2096
+f 2011/3126/8622 2123/3127/8623 2243/3535/8624
+f 2243/3535/8624 2123/3127/8623 2336/3536/8625
+s 2097
+f 2019/3339/8626 2245/3340/8627 2017/3537/8628
+f 2017/3537/8628 2245/3340/8627 2246/3538/8629
+s 2098
+f 2017/3537/8630 2246/3538/8631 2018/3539/8632
+f 2018/3539/8632 2246/3538/8631 2247/3540/8633
+s 2099
+f 2018/3539/8634 2247/3540/8635 2125/3541/8636
+f 2125/3541/8636 2247/3540/8635 2338/3542/8637
+s 2100
+f 2021/2972/8638 2022/3143/8639 2130/3355/8640
+f 2130/3355/8640 2022/3143/8639 2129/3543/8641
+s 2101
+f 1924/2979/8642 2131/3343/8643 2142/3164/8644
+f 2142/3164/8644 2131/3343/8643 2342/3544/8645
+s 2102
+f 2023/2958/8646 2133/3148/8647 2248/3346/8648
+f 2248/3346/8648 2133/3148/8647 2344/3545/8649
+s 2103
+f 2026/3154/8650 2137/3338/8651 2250/3351/8652
+f 2250/3351/8652 2137/3338/8651 2349/3546/8653
+s 2104
+f 2028/2975/8654 2252/3359/8655 2138/3356/8656
+f 2138/3356/8656 2252/3359/8655 2345/3547/8657
+s 2105
+f 2027/2970/8658 2251/3353/8659 2030/3162/8660
+f 2030/3162/8660 2251/3353/8659 2140/3362/8661
+s 2106
+f 1925/2802/8662 2032/3165/8663 2143/3548/8664
+f 2143/3548/8664 2032/3165/8663 2352/3549/8665
+s 2107
+f 2032/3551/8666 2142/3552/8667 2254/3550/8668
+f 2254/3550/8668 2142/3552/8667 2353/3553/8669
+s 2108
+f 2033/3168/8670 2146/3171/8671 2255/3554/8672
+f 2255/3554/8672 2146/3171/8671 2354/3555/8673
+s 2109
+f 2128/3173/8674 2033/3168/8675 2256/3556/8676
+f 2256/3556/8676 2033/3168/8675 2255/3554/8677
+s 2110
+f 2147/3174/8678 2257/3557/8679 1930/2813/8680
+f 1930/2813/8680 2257/3557/8679 2148/3558/8681
+s 2111
+f 2035/2992/8682 2151/3375/8683 2152/3179/8684
+f 2152/3179/8684 2151/3375/8683 2360/3559/8685
+s 2112
+f 1933/2993/8686 2152/3179/8687 2258/3560/8688
+f 2258/3560/8688 2152/3179/8687 2361/3561/8689
+s 2113
+f 1934/3180/8690 2153/3183/8691 2259/3562/8692
+f 2259/3562/8692 2153/3183/8691 2362/3563/8693
+s 2114
+f 1934/3565/8694 2260/3566/8695 2154/3564/8696
+f 2154/3564/8696 2260/3566/8695 2366/3567/8697
+s 2115
+f 1935/3186/8698 2155/3378/8699 2156/3187/8700
+f 2156/3187/8700 2155/3378/8699 2367/3568/8701
+s 2116
+f 2156/3187/8702 2261/3569/8703 2038/3185/8704
+f 2038/3185/8704 2261/3569/8703 2263/3570/8705
+s 2117
+f 1936/2997/8706 2157/3188/8707 2262/3382/8708
+f 2262/3382/8708 2157/3188/8707 2369/3571/8709
+s 2118
+f 2038/3185/8710 2263/3570/8711 2157/3188/8712
+f 2157/3188/8712 2263/3570/8711 2370/3572/8713
+s 2119
+f 2158/3381/8714 2264/3573/8715 2039/2998/8716
+f 2039/2998/8716 2264/3573/8715 2174/3200/8717
+s 2120
+f 2041/3191/8718 2266/3574/8719 1816/2819/8720
+f 1816/2819/8720 2266/3574/8719 2374/3575/8721
+s 2121
+f 2041/3191/8722 2161/3192/8723 2267/3576/8724
+f 2267/3576/8724 2161/3192/8723 2377/3577/8725
+s 2122
+f 2042/3193/8726 2269/3578/8727 1938/3000/8728
+f 1938/3000/8728 2269/3578/8727 2163/3386/8729
+s 2123
+f 2162/3385/8730 2270/3579/8731 2043/3194/8732
+f 2043/3194/8732 2270/3579/8731 2271/3580/8733
+s 2124
+f 2043/3194/8734 2271/3580/8735 2048/3006/8736
+f 2048/3006/8736 2271/3580/8735 2170/3394/8737
+s 2125
+f 2165/3389/8738 2272/3581/8739 2045/3195/8740
+f 2045/3195/8740 2272/3581/8739 2070/3233/8741
+s 2126
+f 2046/3196/8742 2273/3582/8743 2168/3391/8744
+f 2168/3391/8744 2273/3582/8743 2382/3583/8745
+s 2127
+f 2046/3196/8746 2047/3197/8747 2273/3582/8748
+f 2273/3582/8748 2047/3197/8747 2274/3393/8749
+s 2128
+f 2050/3198/8750 2173/3199/8751 2275/3584/8752
+f 2275/3584/8752 2173/3199/8751 2387/3585/8753
+s 2129
+f 1944/2825/8754 2174/3200/8755 2173/3199/8756
+f 2173/3199/8756 2174/3200/8755 2388/3586/8757
+s 2130
+f 2050/3587/8758 2276/3588/8759 2175/3401/8760
+f 2175/3401/8760 2276/3588/8759 2389/3589/8761
+s 2131
+f 2052/3206/8762 2051/3205/8763 2278/3590/8764
+f 2278/3590/8764 2051/3205/8763 2285/3591/8765
+s 2132
+f 2052/3206/8766 2278/3590/8767 2176/3207/8768
+f 2176/3207/8768 2278/3590/8767 2284/3592/8769
+s 2133
+f 1950/3020/8770 2177/3593/8771 2182/3216/8772
+f 2182/3216/8772 2177/3593/8771 2390/3594/8773
+s 2134
+f 2055/3210/8774 2280/3595/8775 2054/3211/8776
+f 2054/3211/8776 2280/3595/8775 2279/3596/8777
+s 2135
+f 2059/3217/8778 2056/3212/8779 2282/3597/8780
+f 2282/3597/8780 2056/3212/8779 2057/3215/8781
+s 2136
+f 2181/3415/8782 2180/3598/8783 2057/3416/8784
+f 2057/3416/8784 2180/3598/8783 2282/3599/8785
+s 2137
+f 2181/3415/8786 2058/3418/8787 2283/3600/8788
+f 2283/3600/8788 2058/3418/8787 2182/3601/8789
+s 2138
+f 2183/3403/8790 2059/3217/8791 2053/3208/8792
+f 2053/3208/8792 2059/3217/8791 2282/3597/8793
+s 2139
+f 2183/3403/8794 2176/3207/8795 2060/3218/8796
+f 2060/3218/8796 2176/3207/8795 2284/3592/8797
+s 2140
+f 2060/3603/8798 2284/3604/8799 2184/3602/8800
+f 2184/3602/8800 2284/3604/8799 2061/3605/8801
+s 2141
+f 2061/3220/8802 2284/3592/8803 2185/3419/8804
+f 2185/3419/8804 2284/3592/8803 2278/3590/8805
+s 2142
+f 2062/3221/8806 2185/3419/8807 2285/3591/8808
+f 2285/3591/8808 2185/3419/8807 2278/3590/8809
+s 2143
+f 2062/3221/8810 2285/3591/8811 2186/3222/8812
+f 2186/3222/8812 2285/3591/8811 2064/3226/8813
+s 2144
+f 1953/2843/8814 2286/3606/8815 2063/3225/8816
+f 2063/3225/8816 2286/3606/8815 2190/3426/8817
+s 2145
+f 2187/3607/8818 2288/3608/8819 1953/2843/8820
+f 1953/2843/8820 2288/3608/8819 2286/3606/8821
+s 2146
+f 2065/3023/8822 2289/3424/8823 2188/3227/8824
+f 2188/3227/8824 2289/3424/8823 2399/3609/8825
+s 2147
+f 2066/3228/8826 2067/3229/8827 2290/3610/8828
+f 2290/3610/8828 2067/3229/8827 2291/3611/8829
+s 2148
+f 2067/3229/8830 2189/3230/8831 2291/3611/8832
+f 2291/3611/8832 2189/3230/8831 2400/3612/8833
+s 2149
+f 1954/3425/8834 2292/3427/8835 2189/3613/8836
+f 2189/3613/8836 2292/3427/8835 2401/3614/8837
+s 2150
+f 2068/3025/8838 2192/3429/8839 2293/3428/8840
+f 2293/3428/8840 2192/3429/8839 2404/3615/8841
+s 2151
+f 2191/3232/8842 2295/3616/8843 2069/3231/8844
+f 2069/3231/8844 2295/3616/8843 2405/3617/8845
+s 2152
+f 1956/3234/8846 2194/3238/8847 2193/3434/8848
+f 2193/3434/8848 2194/3238/8847 2407/3618/8849
+s 2153
+f 1957/3237/8850 2298/3619/8851 2194/3238/8852
+f 2194/3238/8852 2298/3619/8851 2409/3620/8853
+s 2154
+f 2195/3437/8854 2072/3432/8855 2299/3621/8856
+f 2299/3621/8856 2072/3432/8855 2296/3433/8857
+s 2155
+f 2196/3439/8858 2300/3622/8859 2073/3240/8860
+f 2073/3240/8860 2300/3622/8859 2198/3442/8861
+s 2156
+f 2074/3440/8862 2199/3444/8863 2301/3441/8864
+f 2301/3441/8864 2199/3444/8863 2300/3623/8865
+s 2157
+f 2201/3450/8866 2077/3247/8867 2302/3453/8868
+f 2302/3453/8868 2077/3247/8867 2083/3049/8869
+s 2158
+f 2200/3255/8870 2201/3624/8871 2080/3251/8872
+f 2080/3251/8872 2201/3624/8871 2302/3454/8873
+s 2159
+f 2087/3058/8874 2205/3466/8875 2085/3262/8876
+f 2085/3262/8876 2205/3466/8875 2415/3625/8877
+s 2160
+f 2209/3473/8878 2307/3626/8879 2088/3474/8880
+f 2088/3474/8880 2307/3626/8879 2306/3627/8881
+s 2161
+f 2210/3476/8882 1976/3477/8883 2232/3628/8884
+f 2232/3628/8884 1976/3477/8883 2106/3480/8885
+s 2162
+f 2107/3479/8886 1975/3478/8887 1994/3517/8888
+f 1994/3517/8888 1975/3478/8887 2211/3481/8889
+s 2163
+f 2089/3482/8890 2212/3629/8891 2308/3483/8892
+f 2308/3483/8892 2212/3629/8891 2309/3630/8893
+s 2164
+f 1977/3267/8894 2213/3484/8895 2212/3268/8896
+f 2212/3268/8896 2213/3484/8895 2309/3631/8897
+s 2165
+f 2215/3489/8898 2091/3271/8899 2309/3630/8900
+f 2309/3630/8900 2091/3271/8899 2308/3483/8901
+s 2166
+f 2091/3271/8902 2092/3274/8903 2308/3483/8904
+f 2308/3483/8904 2092/3274/8903 2211/3481/8905
+s 2167
+f 2217/3285/8906 2311/3632/8907 2094/3282/8908
+f 2094/3282/8908 2311/3632/8907 2421/3633/8909
+s 2168
+f 2095/3287/8910 2218/3635/8911 2312/3634/8912
+f 2312/3634/8912 2218/3635/8911 2422/3636/8913
+s 2169
+f 2217/3285/8914 2095/3287/8915 2311/3632/8916
+f 2311/3632/8916 2095/3287/8915 2312/3634/8917
+s 2170
+f 2096/3500/8918 2220/3637/8919 2313/3501/8920
+f 2313/3501/8920 2220/3637/8919 2424/3638/8921
+s 2171
+f 2098/3640/8922 2223/3506/8923 2228/3639/8924
+f 2228/3639/8924 2223/3506/8923 2315/3507/8925
+s 2172
+f 2224/3508/8926 2316/3641/8927 2099/3509/8928
+f 2099/3509/8928 2316/3641/8927 2315/3642/8929
+s 2173
+f 2225/3309/8930 2100/3643/8931 2000/3308/8932
+f 2000/3308/8932 2100/3643/8931 2233/3644/8933
+s 2174
+f 2101/3513/8934 2226/3645/8935 2317/3514/8936
+f 2317/3514/8936 2226/3645/8935 2426/3646/8937
+s 2175
+f 2229/3307/8938 2318/3647/8939 2102/3298/8940
+f 2102/3298/8940 2318/3647/8939 2319/3648/8941
+s 2176
+f 2102/3298/8942 2319/3648/8943 2103/3299/8944
+f 2103/3299/8944 2319/3648/8943 2320/3649/8945
+s 2177
+f 2103/3299/8946 2320/3649/8947 2230/3300/8948
+f 2230/3300/8948 2320/3649/8947 2427/3650/8949
+s 2178
+f 2104/3088/8950 2230/3300/8951 2321/3516/8952
+f 2321/3516/8952 2230/3300/8951 2427/3650/8953
+s 2179
+f 2231/3652/8954 2204/3653/8955 2105/3651/8956
+f 2105/3651/8956 2204/3653/8955 2322/3654/8957
+s 2180
+f 2105/3651/8958 2322/3654/8959 2232/3628/8960
+f 2232/3628/8960 2322/3654/8959 2210/3476/8961
+s 2181
+f 2109/3094/8962 2323/3519/8963 2110/3306/8964
+f 2110/3306/8964 2323/3519/8963 2324/3655/8965
+s 2182
+f 2110/3306/8966 2324/3655/8967 2229/3307/8968
+f 2229/3307/8968 2324/3655/8967 2318/3647/8969
+s 2183
+f 1999/3097/8970 2317/3514/8971 2225/3309/8972
+f 2225/3309/8972 2317/3514/8971 2224/3508/8973
+s 2184
+f 2145/3371/8974 2111/3315/8975 2325/3656/8976
+f 2325/3656/8976 2111/3315/8975 2112/3317/8977
+s 2185
+f 2236/3321/8978 2114/3320/8979 2329/3657/8980
+f 2329/3657/8980 2114/3320/8979 2428/3658/8981
+s 2186
+f 2122/3330/8982 2330/3659/8983 2117/3323/8984
+f 2117/3323/8984 2330/3659/8983 2331/3660/8985
+s 2187
+f 2117/3323/8986 2331/3660/8987 2118/3324/8988
+f 2118/3324/8988 2331/3660/8987 2332/3661/8989
+s 2188
+f 2118/3325/8990 2332/3662/8991 2119/3326/8992
+f 2119/3326/8992 2332/3662/8991 2333/3663/8993
+s 2189
+f 2119/3326/8994 2333/3663/8995 2237/3327/8996
+f 2237/3327/8996 2333/3663/8995 2429/3664/8997
+s 2190
+f 2242/3532/8998 2335/3665/8999 2122/3533/9000
+f 2122/3533/9000 2335/3665/8999 2330/3666/9001
+s 2191
+f 2015/2948/9002 2244/3334/9003 2124/3331/9004
+f 2124/3331/9004 2244/3334/9003 2337/3667/9005
+s 2192
+f 2124/3331/9006 2337/3667/9007 2126/3332/9008
+f 2126/3332/9008 2337/3667/9007 2339/3668/9009
+s 2193
+f 2125/3541/9010 2338/3542/9011 2244/3669/9012
+f 2244/3669/9012 2338/3542/9011 2434/3670/9013
+s 2194
+f 2126/3332/9014 2339/3668/9015 2127/3336/9016
+f 2127/3336/9016 2339/3668/9015 2340/3671/9017
+s 2195
+f 2127/3336/9018 2340/3671/9019 2137/3338/9020
+f 2137/3338/9020 2340/3671/9019 2349/3546/9021
+s 2196
+f 2245/3340/9022 2128/3173/9023 2341/3672/9024
+f 2341/3672/9024 2128/3173/9023 2256/3556/9025
+s 2197
+f 2132/3344/9026 2343/3673/9027 2131/3343/9028
+f 2131/3343/9028 2343/3673/9027 2439/3674/9029
+s 2198
+f 2132/3675/9030 2248/3676/9031 2139/3360/9032
+f 2139/3360/9032 2248/3676/9031 2252/3677/9033
+s 2199
+f 2133/3679/9034 2249/3680/9035 2344/3678/9036
+f 2344/3678/9036 2249/3680/9035 2345/3681/9037
+s 2200
+f 2138/3356/9038 2345/3547/9039 2134/3357/9040
+f 2134/3357/9040 2345/3547/9039 2249/3682/9041
+s 2201
+f 2135/3684/9042 2250/3685/9043 2346/3683/9044
+f 2346/3683/9044 2250/3685/9043 2440/3686/9045
+s 2202
+f 2135/3684/9046 2347/3688/9047 2136/3687/9048
+f 2136/3687/9048 2347/3688/9047 2348/3689/9049
+s 2203
+f 2136/3687/9050 2348/3689/9051 2251/3690/9052
+f 2251/3690/9052 2348/3689/9051 2350/3691/9053
+s 2204
+f 2139/3360/9054 2253/3361/9055 2132/3675/9056
+f 2132/3675/9056 2253/3361/9055 2343/3692/9057
+s 2205
+f 2029/3367/9058 2141/3366/9059 2253/3693/9060
+f 2253/3693/9060 2141/3366/9059 2441/3694/9061
+s 2206
+f 2251/3690/9062 2350/3691/9063 2140/3695/9064
+f 2140/3695/9064 2350/3691/9063 2351/3696/9065
+s 2207
+f 2140/3695/9066 2351/3696/9067 2141/3366/9068
+f 2141/3366/9068 2351/3696/9067 2441/3694/9069
+s 2208
+f 2032/3165/9070 2254/3697/9071 2352/3549/9072
+f 2352/3549/9072 2254/3697/9071 2442/3698/9073
+s 2209
+f 2146/3171/9074 2144/3368/9075 2354/3555/9076
+f 2354/3555/9076 2144/3368/9075 2355/3699/9077
+s 2210
+f 2144/3368/9078 2145/3371/9079 2355/3699/9080
+f 2355/3699/9080 2145/3371/9079 2325/3656/9081
+s 2211
+f 2257/3557/9082 2147/3174/9083 2356/3700/9084
+f 2356/3700/9084 2147/3174/9083 2294/3431/9085
+s 2212
+f 2149/3702/9086 2148/3558/9087 2357/3701/9088
+f 2357/3701/9088 2148/3558/9087 2257/3557/9089
+s 2213
+f 2150/3704/9090 2149/3702/9091 2358/3703/9092
+f 2358/3703/9092 2149/3702/9091 2357/3701/9093
+s 2214
+f 2151/3706/9094 2150/3704/9095 2359/3705/9096
+f 2359/3705/9096 2150/3704/9095 2358/3703/9097
+s 2215
+f 2153/3183/9098 2258/3377/9099 2362/3563/9100
+f 2362/3563/9100 2258/3377/9099 2447/3707/9101
+s 2216
+f 1934/3709/9102 2259/3710/9103 2363/3708/9104
+f 2363/3708/9104 2259/3710/9103 2449/3711/9105
+s 2217
+f 2155/3713/9106 2154/3564/9107 2364/3712/9108
+f 2364/3712/9108 2154/3564/9107 2366/3567/9109
+s 2218
+f 2260/3715/9110 1934/3709/9111 2365/3714/9112
+f 2365/3714/9112 1934/3709/9111 2363/3708/9113
+s 2219
+f 2261/3717/9114 2156/3718/9115 2368/3716/9116
+f 2368/3716/9116 2156/3718/9115 2367/3719/9117
+s 2220
+f 2264/3573/9118 2158/3381/9119 2371/3720/9120
+f 2371/3720/9120 2158/3381/9119 2372/3721/9121
+s 2221
+f 2158/3381/9122 2262/3382/9123 2372/3721/9124
+f 2372/3721/9124 2262/3382/9123 2455/3722/9125
+s 2222
+f 1937/2999/9126 2373/3723/9127 2160/3190/9128
+f 2160/3190/9128 2373/3723/9127 2458/3724/9129
+s 2223
+f 1816/2819/9130 2374/3575/9131 1937/2999/9132
+f 1937/2999/9132 2374/3575/9131 2373/3723/9133
+s 2224
+f 2266/3574/9134 2041/3191/9135 2375/3725/9136
+f 2375/3725/9136 2041/3191/9135 2460/3726/9137
+s 2225
+f 2267/3576/9138 2376/3727/9139 2041/3191/9140
+f 2041/3191/9140 2376/3727/9139 2460/3726/9141
+s 2226
+f 2161/3192/9142 2171/3728/9143 2377/3577/9144
+f 2377/3577/9144 2171/3728/9143 2464/3729/9145
+s off
+f 2265/3730/9146 2268/3731/9147 2042/3732/9148
+s 2227
+f 2163/3386/9149 2378/3733/9150 2162/3385/9151
+f 2162/3385/9151 2378/3733/9150 2270/3579/9152
+s 2228
+f 2269/3578/9153 2379/3734/9154 2163/3386/9155
+f 2163/3386/9155 2379/3734/9154 2378/3733/9156
+s 2229
+f 2166/3388/9157 2164/3387/9158 2380/3735/9159
+f 2380/3735/9159 2164/3387/9158 2470/3736/9160
+s 2230
+f 2166/3388/9161 2380/3735/9162 2165/3389/9163
+f 2165/3389/9163 2380/3735/9162 2272/3581/9164
+s 2231
+f 2167/3390/9165 2381/3737/9166 2164/3387/9167
+f 2164/3387/9167 2381/3737/9166 2470/3736/9168
+s 2232
+f 2168/3391/9169 2382/3583/9170 2167/3390/9171
+f 2167/3390/9171 2382/3583/9170 2381/3737/9172
+s 2233
+f 2170/3394/9173 2383/3738/9174 2169/3392/9175
+f 2169/3392/9175 2383/3738/9174 2384/3739/9176
+s 2234
+f 2169/3392/9177 2384/3739/9178 2274/3393/9179
+f 2274/3393/9179 2384/3739/9178 2475/3740/9180
+s 2235
+f 2170/3742/9181 2271/3743/9182 2385/3741/9183
+f 2385/3741/9183 2271/3743/9182 2476/3744/9184
+s 2236
+f 2172/3745/9185 2386/3746/9186 2171/3728/9187
+f 2171/3728/9187 2386/3746/9186 2464/3729/9188
+s 2237
+f 2143/3747/9189 2352/3748/9190 2172/3745/9191
+f 2172/3745/9191 2352/3748/9190 2386/3746/9192
+s 2238
+f 2050/3198/9193 2275/3584/9194 2276/3749/9195
+f 2276/3749/9195 2275/3584/9194 2477/3750/9196
+s 2239
+f 2174/3200/9197 2264/3573/9198 2388/3586/9199
+f 2388/3586/9199 2264/3573/9198 2456/3751/9200
+s 2240
+f 2051/3753/9201 2277/3754/9202 2285/3752/9203
+f 2285/3752/9203 2277/3754/9202 2395/3755/9204
+s 2241
+f 2175/3401/9205 2389/3589/9206 2277/3402/9207
+f 2277/3402/9207 2389/3589/9206 2480/3756/9208
+s 2242
+f 2177/3404/9209 2178/3407/9210 2391/3757/9211
+f 2391/3757/9211 2178/3407/9210 2392/3758/9212
+s 2243
+f 2178/3408/9213 2179/3409/9214 2392/3759/9215
+f 2392/3759/9215 2179/3409/9214 2393/3760/9216
+s 2244
+f 2179/3409/9217 2279/3410/9218 2393/3760/9219
+f 2393/3760/9219 2279/3410/9218 2481/3761/9220
+s 2245
+f 2280/3595/9221 2055/3210/9222 2394/3762/9223
+f 2394/3762/9223 2055/3210/9222 2281/3412/9224
+s 2246
+f 2180/3598/9225 2181/3415/9226 2281/3763/9227
+f 2281/3763/9227 2181/3415/9226 2283/3600/9228
+s 2247
+f 2182/3601/9229 2390/3764/9230 2283/3600/9231
+f 2283/3600/9231 2390/3764/9230 2483/3765/9232
+s 2248
+f 2285/3766/9233 2395/3767/9234 2064/3422/9235
+f 2064/3422/9235 2395/3767/9234 2287/3423/9236
+s 2249
+f 2187/3607/9237 2287/3769/9238 2396/3768/9239
+f 2396/3768/9239 2287/3769/9238 2395/3770/9240
+s 2250
+f 2288/3608/9241 2187/3607/9242 2397/3771/9243
+f 2397/3771/9243 2187/3607/9242 2396/3768/9244
+s 2251
+f 2192/3429/9245 2188/3430/9246 2398/3772/9247
+f 2398/3772/9247 2188/3430/9246 2485/3773/9248
+s 2252
+f 2066/3228/9249 2290/3610/9250 2289/3424/9251
+f 2289/3424/9251 2290/3610/9250 2486/3774/9252
+s 2253
+f 2286/3606/9253 2402/3775/9254 2190/3426/9255
+f 2190/3426/9255 2402/3775/9254 2292/3427/9256
+s 2254
+f 2191/3232/9257 2293/3428/9258 2403/3776/9259
+f 2403/3776/9259 2293/3428/9258 2490/3777/9260
+s 2255
+f 2069/3231/9261 2405/3617/9262 2294/3431/9263
+f 2294/3431/9263 2405/3617/9262 2491/3778/9264
+s 2256
+f 2191/3232/9265 2403/3776/9266 2295/3616/9267
+f 2295/3616/9267 2403/3776/9266 2493/3779/9268
+s 2257
+f 2272/3581/9269 2406/3780/9270 2070/3233/9271
+f 2070/3233/9271 2406/3780/9270 2296/3433/9272
+s 2258
+f 2071/3235/9273 2297/3435/9274 2334/3524/9275
+f 2334/3524/9275 2297/3435/9274 2430/3781/9276
+s 2259
+f 2193/3434/9277 2408/3782/9278 2297/3435/9279
+f 2297/3435/9279 2408/3782/9278 2499/3783/9280
+s 2260
+f 2299/3785/9281 2410/3786/9282 2195/3784/9283
+f 2195/3784/9283 2410/3786/9282 2298/3787/9284
+s 2261
+f 2300/3622/9285 2196/3439/9286 2301/3788/9287
+f 2301/3788/9287 2196/3439/9286 2076/3449/9288
+s 2262
+f 2197/3448/9289 2198/3789/9290 2199/3444/9291
+f 2199/3444/9291 2198/3789/9290 2300/3623/9292
+s 2263
+f 2216/3492/9293 2202/3457/9294 2411/3790/9295
+f 2411/3790/9295 2202/3457/9294 2412/3791/9296
+s 2264
+f 2202/3457/9297 2203/3458/9298 2412/3791/9299
+f 2412/3791/9299 2203/3458/9298 2413/3792/9300
+s 2265
+f 2203/3459/9301 2303/3462/9302 2413/3793/9303
+f 2413/3793/9303 2303/3462/9302 2500/3794/9304
+s 2266
+f 2303/3796/9305 2085/3797/9306 2414/3795/9307
+f 2414/3795/9307 2085/3797/9306 2415/3798/9308
+s 2267
+f 2204/3653/9309 2231/3652/9310 2205/3799/9311
+f 2205/3799/9311 2231/3652/9310 2321/3800/9312
+s 2268
+f 2204/3653/9313 2304/3801/9314 2322/3654/9315
+f 2322/3654/9315 2304/3801/9314 2418/3802/9316
+s 2269
+f 2086/3464/9317 2305/3803/9318 2304/3465/9319
+f 2304/3465/9319 2305/3803/9318 2502/3804/9320
+s 2270
+f 2305/3803/9321 2206/3806/9322 2416/3805/9323
+f 2416/3805/9323 2206/3806/9322 2207/3807/9324
+s 2271
+f 2207/3807/9325 2208/3808/9326 2416/3805/9327
+f 2416/3805/9327 2208/3808/9326 2306/3809/9328
+s 2272
+f 2307/3626/9329 2209/3473/9330 2417/3810/9331
+f 2417/3810/9331 2209/3473/9330 2418/3802/9332
+s 2273
+f 2209/3473/9333 2210/3476/9334 2418/3802/9335
+f 2418/3802/9335 2210/3476/9334 2322/3654/9336
+s 2274
+f 2214/3488/9337 2215/3811/9338 2213/3484/9339
+f 2213/3484/9339 2215/3811/9338 2309/3631/9340
+s 2275
+f 2218/3497/9341 2216/3492/9342 2419/3812/9343
+f 2419/3812/9343 2216/3492/9342 2411/3790/9344
+s 2276
+f 2097/3493/9345 2310/3496/9346 2314/3813/9347
+f 2314/3813/9347 2310/3496/9346 2503/3814/9348
+s 2277
+f 2310/3816/9349 2094/3817/9350 2420/3815/9351
+f 2420/3815/9351 2094/3817/9350 2421/3818/9352
+s 2278
+f 2219/3819/9353 2234/3820/9354 2100/3643/9355
+f 2100/3643/9355 2234/3820/9354 2233/3644/9356
+s 2279
+f 2219/3819/9357 2313/3822/9358 2423/3821/9359
+f 2423/3821/9359 2313/3822/9358 2506/3823/9360
+s 2280
+f 2220/3502/9361 2221/3503/9362 2425/3824/9363
+f 2425/3824/9363 2221/3503/9362 2222/3504/9364
+s 2281
+f 2222/3826/9365 2314/3827/9366 2425/3825/9367
+f 2425/3825/9367 2314/3827/9366 2503/3828/9368
+s 2282
+f 2224/3508/9369 2317/3514/9370 2316/3641/9371
+f 2316/3641/9371 2317/3514/9370 2426/3646/9372
+s 2283
+f 2227/3830/9373 2228/3831/9374 2226/3829/9375
+f 2226/3829/9375 2228/3831/9374 2426/3832/9376
+s 2284
+f 2234/3820/9377 2219/3819/9378 2323/3833/9379
+f 2323/3833/9379 2219/3819/9378 2423/3821/9380
+s 2285
+f 2112/3520/9381 2326/3521/9382 2325/3834/9383
+f 2325/3834/9383 2326/3521/9382 2508/3835/9384
+s 2286
+f 2235/3319/9385 2243/3534/9386 2326/3521/9387
+f 2326/3521/9387 2243/3534/9386 2433/3836/9388
+s 2287
+f 2123/3127/9389 2327/3522/9390 2336/3536/9391
+f 2336/3536/9391 2327/3522/9390 2509/3837/9392
+s 2288
+f 2113/3110/9393 2236/3321/9394 2327/3522/9395
+f 2327/3522/9395 2236/3321/9394 2329/3657/9396
+s 2289
+f 2114/3320/9397 2328/3523/9398 2428/3658/9399
+f 2428/3658/9399 2328/3523/9398 2510/3838/9400
+s 2290
+f 2328/3523/9401 2115/3322/9402 2429/3664/9403
+f 2429/3664/9403 2115/3322/9402 2237/3327/9404
+s 2291
+f 2238/3526/9405 2334/3839/9406 2239/3525/9407
+f 2239/3525/9407 2334/3839/9406 2240/3528/9408
+s 2292
+f 2241/3530/9409 2240/3528/9410 2430/3840/9411
+f 2430/3840/9411 2240/3528/9410 2334/3839/9412
+s 2293
+f 2242/3532/9413 2241/3530/9414 2431/3841/9415
+f 2431/3841/9415 2241/3530/9414 2430/3840/9416
+s 2294
+f 2335/3665/9417 2242/3532/9418 2432/3842/9419
+f 2432/3842/9419 2242/3532/9418 2431/3841/9420
+s 2295
+f 2243/3535/9421 2336/3536/9422 2433/3843/9423
+f 2433/3843/9423 2336/3536/9422 2519/3844/9424
+s 2296
+f 2246/3538/9425 2245/3340/9426 2435/3845/9427
+f 2435/3845/9427 2245/3340/9426 2341/3672/9428
+s 2297
+f 2247/3540/9429 2246/3538/9430 2436/3846/9431
+f 2436/3846/9431 2246/3538/9430 2435/3845/9432
+s 2298
+f 2338/3542/9433 2247/3540/9434 2437/3847/9435
+f 2437/3847/9435 2247/3540/9434 2436/3846/9436
+s 2299
+f 2142/3552/9437 2342/3848/9438 2353/3553/9439
+f 2353/3553/9439 2342/3848/9438 2525/3849/9440
+s 2300
+f 2342/3544/9441 2131/3343/9442 2438/3850/9443
+f 2438/3850/9443 2131/3343/9442 2439/3674/9444
+s 2301
+f 2248/3676/9445 2344/3678/9446 2252/3677/9447
+f 2252/3677/9447 2344/3678/9446 2345/3681/9448
+s 2302
+f 2135/3684/9449 2346/3683/9450 2347/3688/9451
+f 2347/3688/9451 2346/3683/9450 2528/3851/9452
+s 2303
+f 2250/3685/9453 2349/3852/9454 2440/3686/9455
+f 2440/3686/9455 2349/3852/9454 2532/3853/9456
+s 2304
+f 2254/3550/9457 2353/3553/9458 2443/3854/9459
+f 2443/3854/9459 2353/3553/9458 2534/3855/9460
+s 2305
+f 2256/3857/9461 2255/3858/9462 2444/3856/9463
+f 2444/3856/9463 2255/3858/9462 2445/3859/9464
+s 2306
+f 2255/3858/9465 2354/3860/9466 2445/3859/9467
+f 2445/3859/9467 2354/3860/9466 2536/3861/9468
+s 2307
+f 2341/3863/9469 2256/3857/9470 2446/3862/9471
+f 2446/3862/9471 2256/3857/9470 2444/3856/9472
+s 2308
+f 2257/3557/9473 2356/3700/9474 2357/3701/9475
+f 2357/3701/9475 2356/3700/9474 2537/3864/9476
+s 2309
+f 2151/3866/9477 2359/3867/9478 2360/3865/9479
+f 2360/3865/9479 2359/3867/9478 2539/3868/9480
+s 2310
+f 2152/3179/9481 2360/3559/9482 2361/3561/9483
+f 2361/3561/9483 2360/3559/9482 2540/3869/9484
+s 2311
+f 2258/3560/9485 2361/3561/9486 2447/3870/9487
+f 2447/3870/9487 2361/3561/9486 2541/3871/9488
+s 2312
+f 2259/3562/9489 2362/3563/9490 2448/3872/9491
+f 2448/3872/9491 2362/3563/9490 2542/3873/9492
+s 2313
+f 2364/3712/9493 2450/3874/9494 2155/3713/9495
+f 2155/3713/9495 2450/3874/9494 2367/3719/9496
+s 2314
+f 2365/3875/9497 2451/3876/9498 2260/3566/9499
+f 2260/3566/9499 2451/3876/9498 2452/3877/9500
+s 2315
+f 2260/3566/9501 2452/3877/9502 2366/3567/9503
+f 2366/3567/9503 2452/3877/9502 2364/3712/9504
+s 2316
+f 2368/3878/9505 2453/3879/9506 2261/3569/9507
+f 2261/3569/9507 2453/3879/9506 2548/3880/9508
+s 2317
+f 2263/3570/9509 2261/3569/9510 2454/3881/9511
+f 2454/3881/9511 2261/3569/9510 2548/3880/9512
+s 2318
+f 2262/3382/9513 2369/3571/9514 2455/3722/9515
+f 2455/3722/9515 2369/3571/9514 2549/3882/9516
+s 2319
+f 2157/3188/9517 2370/3572/9518 2369/3571/9519
+f 2369/3571/9519 2370/3572/9518 2550/3883/9520
+s 2320
+f 2263/3570/9521 2454/3881/9522 2370/3572/9523
+f 2370/3572/9523 2454/3881/9522 2551/3884/9524
+s 2321
+f 2264/3886/9525 2371/3887/9526 2456/3885/9527
+f 2456/3885/9527 2371/3887/9526 2552/3888/9528
+s 2322
+f 2040/3189/9529 2457/3889/9530 2159/3383/9531
+f 2159/3383/9531 2457/3889/9530 2555/3890/9532
+s 2323
+f 2160/3190/9533 2458/3724/9534 2040/3189/9535
+f 2040/3189/9535 2458/3724/9534 2457/3889/9536
+s 2324
+f 2375/3892/9537 2459/3893/9538 2266/3891/9539
+f 2266/3891/9539 2459/3893/9538 2559/3894/9540
+s 2325
+f 2374/3896/9541 2266/3891/9542 2461/3895/9543
+f 2461/3895/9543 2266/3891/9542 2559/3894/9544
+s 2326
+f 2376/3727/9545 2267/3576/9546 2462/3897/9547
+f 2462/3897/9547 2267/3576/9546 2463/3898/9548
+s 2327
+f 2267/3900/9549 2377/3901/9550 2463/3899/9551
+f 2463/3899/9551 2377/3901/9550 2564/3902/9552
+s 2328
+f 2265/3904/9553 2465/3905/9554 2268/3903/9555
+f 2268/3903/9555 2465/3905/9554 2466/3906/9556
+s 2329
+f 2268/3903/9557 2466/3906/9558 2042/3907/9559
+f 2042/3907/9559 2466/3906/9558 2467/3908/9560
+s 2330
+f 2042/3193/9561 2467/3909/9562 2269/3578/9563
+f 2269/3578/9563 2467/3909/9562 2379/3734/9564
+s 2331
+f 2378/3733/9565 2468/3910/9566 2270/3579/9567
+f 2270/3579/9567 2468/3910/9566 2568/3911/9568
+s 2332
+f 2270/3912/9569 2469/3913/9570 2271/3743/9571
+f 2271/3743/9571 2469/3913/9570 2476/3744/9572
+s 2333
+f 2272/3915/9573 2380/3916/9574 2471/3914/9575
+f 2471/3914/9575 2380/3916/9574 2570/3917/9576
+s 2334
+f 2382/3919/9577 2273/3920/9578 2472/3918/9579
+f 2472/3918/9579 2273/3920/9578 2574/3921/9580
+s 2335
+f 2274/3922/9581 2473/3923/9582 2273/3920/9583
+f 2273/3920/9583 2473/3923/9582 2574/3921/9584
+s 2336
+f 2383/3738/9585 2170/3394/9586 2474/3924/9587
+f 2474/3924/9587 2170/3394/9586 2385/3925/9588
+s 2337
+f 2275/3584/9589 2387/3585/9590 2478/3926/9591
+f 2478/3926/9591 2387/3585/9590 2581/3927/9592
+s 2338
+f 2173/3199/9593 2388/3586/9594 2387/3585/9595
+f 2387/3585/9595 2388/3586/9594 2581/3927/9596
+s 2339
+f 2276/3588/9597 2479/3928/9598 2389/3589/9599
+f 2389/3589/9599 2479/3928/9598 2583/3929/9600
+s 2340
+f 2177/3404/9601 2391/3757/9602 2390/3930/9603
+f 2390/3930/9603 2391/3757/9602 2584/3931/9604
+s 2341
+f 2279/3596/9605 2280/3595/9606 2481/3932/9607
+f 2481/3932/9607 2280/3595/9606 2588/3933/9608
+s 2342
+f 2394/3762/9609 2482/3934/9610 2280/3595/9611
+f 2280/3595/9611 2482/3934/9610 2588/3933/9612
+s 2343
+f 2281/3763/9613 2283/3600/9614 2394/3935/9615
+f 2394/3935/9615 2283/3600/9614 2483/3765/9616
+s 2344
+f 2288/3608/9617 2484/3936/9618 2286/3606/9619
+f 2286/3606/9619 2484/3936/9618 2402/3775/9620
+s 2345
+f 2288/3608/9621 2397/3771/9622 2484/3936/9623
+f 2484/3936/9623 2397/3771/9622 2591/3937/9624
+s 2346
+f 2192/3429/9625 2398/3772/9626 2404/3615/9627
+f 2404/3615/9627 2398/3772/9626 2592/3938/9628
+s 2347
+f 2188/3430/9629 2399/3939/9630 2485/3773/9631
+f 2485/3773/9631 2399/3939/9630 2594/3940/9632
+s 2348
+f 2289/3941/9633 2486/3942/9634 2399/3939/9635
+f 2399/3939/9635 2486/3942/9634 2595/3943/9636
+s 2349
+f 2290/3610/9637 2291/3611/9638 2487/3944/9639
+f 2487/3944/9639 2291/3611/9638 2596/3945/9640
+s 2350
+f 2400/3947/9641 2488/3948/9642 2291/3946/9643
+f 2291/3946/9643 2488/3948/9642 2596/3949/9644
+s 2351
+f 2400/3947/9645 2189/3613/9646 2489/3950/9647
+f 2489/3950/9647 2189/3613/9646 2401/3614/9648
+s 2352
+f 2292/3427/9649 2402/3775/9650 2401/3614/9651
+f 2401/3614/9651 2402/3775/9650 2489/3950/9652
+s 2353
+f 2293/3428/9653 2404/3615/9654 2490/3777/9655
+f 2490/3777/9655 2404/3615/9654 2601/3951/9656
+s 2354
+f 2356/3700/9657 2294/3431/9658 2492/3952/9659
+f 2492/3952/9659 2294/3431/9658 2491/3778/9660
+s 2355
+f 2405/3617/9661 2295/3616/9662 2494/3953/9663
+f 2494/3953/9663 2295/3616/9662 2603/3954/9664
+s 2356
+f 2406/3780/9665 2272/3581/9666 2495/3955/9667
+f 2495/3955/9667 2272/3581/9666 2471/3956/9668
+s 2357
+f 2299/3621/9669 2296/3433/9670 2496/3957/9671
+f 2496/3957/9671 2296/3433/9670 2406/3780/9672
+s 2358
+f 2407/3618/9673 2497/3958/9674 2193/3434/9675
+f 2193/3434/9675 2497/3958/9674 2408/3782/9676
+s 2359
+f 2407/3618/9677 2194/3238/9678 2498/3959/9679
+f 2498/3959/9679 2194/3238/9678 2409/3620/9680
+s 2360
+f 2298/3787/9681 2410/3786/9682 2409/3960/9683
+f 2409/3960/9683 2410/3786/9682 2498/3961/9684
+s 2361
+f 2299/3785/9685 2496/3962/9686 2410/3786/9687
+f 2410/3786/9687 2496/3962/9686 2604/3963/9688
+s 2362
+f 2414/3795/9689 2501/3964/9690 2303/3796/9691
+f 2303/3796/9691 2501/3964/9690 2500/3965/9692
+s 2363
+f 2415/3798/9693 2205/3799/9694 2427/3966/9695
+f 2427/3966/9695 2205/3799/9694 2321/3800/9696
+s 2364
+f 2416/3805/9697 2417/3967/9698 2305/3803/9699
+f 2305/3803/9699 2417/3967/9698 2502/3804/9700
+s 2365
+f 2306/3627/9701 2307/3626/9702 2416/3968/9703
+f 2416/3968/9703 2307/3626/9702 2417/3810/9704
+s 2366
+f 2218/3635/9705 2419/3969/9706 2422/3636/9707
+f 2422/3636/9707 2419/3969/9706 2610/3970/9708
+s 2367
+f 2420/3815/9709 2504/3971/9710 2310/3816/9711
+f 2310/3816/9711 2504/3971/9710 2503/3972/9712
+s 2368
+f 2421/3818/9713 2311/3974/9714 2324/3973/9715
+f 2324/3973/9715 2311/3974/9714 2318/3975/9716
+s 2369
+f 2312/3976/9717 2319/3977/9718 2311/3974/9719
+f 2311/3974/9719 2319/3977/9718 2318/3975/9720
+s 2370
+f 2312/3976/9721 2422/3979/9722 2505/3978/9723
+f 2505/3978/9723 2422/3979/9722 2609/3980/9724
+s 2371
+f 2313/3822/9725 2424/3981/9726 2506/3823/9727
+f 2506/3823/9727 2424/3981/9726 2507/3982/9728
+s 2372
+f 2424/3638/9729 2220/3637/9730 2507/3983/9731
+f 2507/3983/9731 2220/3637/9730 2425/3984/9732
+s 2373
+f 2315/3642/9733 2316/3641/9734 2228/3985/9735
+f 2228/3985/9735 2316/3641/9734 2426/3646/9736
+s 2374
+f 2319/3977/9737 2312/3976/9738 2320/3986/9739
+f 2320/3986/9739 2312/3976/9738 2505/3978/9740
+s 2375
+f 2320/3986/9741 2505/3978/9742 2427/3966/9743
+f 2427/3966/9743 2505/3978/9742 2415/3798/9744
+s 2376
+f 2323/3833/9745 2423/3821/9746 2324/3973/9747
+f 2324/3973/9747 2423/3821/9746 2421/3818/9748
+s 2377
+f 2325/3834/9749 2508/3835/9750 2355/3987/9751
+f 2355/3987/9751 2508/3835/9750 2535/3988/9752
+s 2378
+f 2429/3664/9753 2511/3989/9754 2328/3523/9755
+f 2328/3523/9755 2511/3989/9754 2510/3838/9756
+s 2379
+f 2327/3522/9757 2329/3657/9758 2509/3837/9759
+f 2509/3837/9759 2329/3657/9758 2512/3990/9760
+s 2380
+f 2329/3657/9761 2428/3658/9762 2512/3990/9763
+f 2512/3990/9763 2428/3658/9762 2611/3991/9764
+s 2381
+f 2335/3665/9765 2513/3992/9766 2330/3666/9767
+f 2330/3666/9767 2513/3992/9766 2514/3993/9768
+s 2382
+f 2330/3659/9769 2514/3994/9770 2331/3660/9771
+f 2331/3660/9771 2514/3994/9770 2515/3995/9772
+s 2383
+f 2331/3660/9773 2515/3995/9774 2332/3661/9775
+f 2332/3661/9775 2515/3995/9774 2516/3996/9776
+s 2384
+f 2332/3662/9777 2516/3997/9778 2333/3663/9779
+f 2333/3663/9779 2516/3997/9778 2517/3998/9780
+s 2385
+f 2333/3663/9781 2517/3998/9782 2429/3664/9783
+f 2429/3664/9783 2517/3998/9782 2511/3989/9784
+s 2386
+f 2432/3842/9785 2518/3999/9786 2335/3665/9787
+f 2335/3665/9787 2518/3999/9786 2513/3992/9788
+s 2387
+f 2244/3669/9789 2434/3670/9790 2337/4000/9791
+f 2337/4000/9791 2434/3670/9790 2520/4001/9792
+s 2388
+f 2337/4000/9793 2520/4001/9794 2339/4002/9795
+f 2339/4002/9795 2520/4001/9794 2522/4003/9796
+s 2389
+f 2434/3670/9797 2338/3542/9798 2521/4004/9799
+f 2521/4004/9799 2338/3542/9798 2437/3847/9800
+s 2390
+f 2339/4002/9801 2522/4003/9802 2340/4005/9803
+f 2340/4005/9803 2522/4003/9802 2523/4006/9804
+s 2391
+f 2340/4005/9805 2523/4006/9806 2349/3852/9807
+f 2349/3852/9807 2523/4006/9806 2532/3853/9808
+s 2392
+f 2435/4008/9809 2341/3863/9810 2524/4007/9811
+f 2524/4007/9811 2341/3863/9810 2446/3862/9812
+s 2393
+f 2438/4010/9813 2526/4011/9814 2342/4009/9815
+f 2342/4009/9815 2526/4011/9814 2619/4012/9816
+s 2394
+f 2253/3693/9817 2441/3694/9818 2343/4013/9819
+f 2343/4013/9819 2441/3694/9818 2527/4014/9820
+s 2395
+f 2343/4016/9821 2527/4017/9822 2439/4015/9823
+f 2439/4015/9823 2527/4017/9822 2438/4018/9824
+s 2396
+f 2529/4019/9825 2530/4020/9826 2440/3686/9827
+f 2440/3686/9827 2530/4020/9826 2346/3683/9828
+s 2397
+f 2348/3689/9829 2347/3688/9830 2531/4021/9831
+f 2531/4021/9831 2347/3688/9830 2621/4022/9832
+s 2398
+f 2348/3689/9833 2531/4021/9834 2350/3691/9835
+f 2350/3691/9835 2531/4021/9834 2622/4023/9836
+s 2399
+f 2533/4024/9837 2351/3696/9838 2622/4023/9839
+f 2622/4023/9839 2351/3696/9838 2350/3691/9840
+s 2400
+f 2351/3696/9841 2533/4024/9842 2441/3694/9843
+f 2441/3694/9843 2533/4024/9842 2527/4014/9844
+s 2401
+f 2352/3748/9845 2442/4025/9846 2386/3746/9847
+f 2386/3746/9847 2442/4025/9846 2623/4026/9848
+s 2402
+f 2254/3697/9849 2443/4027/9850 2442/3698/9851
+f 2442/3698/9851 2443/4027/9850 2624/4028/9852
+s 2403
+f 2355/3987/9853 2535/3988/9854 2354/3860/9855
+f 2354/3860/9855 2535/3988/9854 2536/3861/9856
+s 2404
+f 2357/3701/9857 2537/3864/9858 2358/3703/9859
+f 2358/3703/9859 2537/3864/9858 2538/4029/9860
+s 2405
+f 2359/3705/9861 2358/3703/9862 2629/4030/9863
+f 2629/4030/9863 2358/3703/9862 2538/4029/9864
+s 2406
+f 2362/3563/9865 2447/3707/9866 2542/3873/9867
+f 2542/3873/9867 2447/3707/9866 2630/4031/9868
+s 2407
+f 2259/3710/9869 2448/4032/9870 2449/3711/9871
+f 2449/3711/9871 2448/4032/9870 2632/4033/9872
+s 2408
+f 2363/3708/9873 2449/3711/9874 2543/4034/9875
+f 2543/4034/9875 2449/3711/9874 2633/4035/9876
+s 2409
+f 2365/3714/9877 2363/3708/9878 2544/4036/9879
+f 2544/4036/9879 2363/3708/9878 2543/4034/9880
+s 2410
+f 2450/3874/9881 2364/3712/9882 2451/3876/9883
+f 2451/3876/9883 2364/3712/9882 2452/3877/9884
+s 2411
+f 2365/3875/9885 2545/4037/9886 2451/3876/9887
+f 2451/3876/9887 2545/4037/9886 2634/4038/9888
+s 2412
+f 2368/3716/9889 2367/3719/9890 2546/4039/9891
+f 2546/4039/9891 2367/3719/9890 2450/3874/9892
+s 2413
+f 2453/4041/9893 2368/3716/9894 2547/4040/9895
+f 2547/4040/9895 2368/3716/9894 2635/4042/9896
+s 2414
+f 2371/3720/9897 2372/3721/9898 2553/4043/9899
+f 2553/4043/9899 2372/3721/9898 2554/4044/9900
+s 2415
+f 2372/3721/9901 2455/3722/9902 2554/4044/9903
+f 2554/4044/9903 2455/3722/9902 2642/4045/9904
+s 2416
+f 2159/3383/9905 2555/3890/9906 2265/3384/9907
+f 2265/3384/9907 2555/3890/9906 2465/4046/9908
+s 2417
+f 2374/3575/9909 2556/4047/9910 2373/3723/9911
+f 2373/3723/9911 2556/4047/9910 2557/4048/9912
+s 2418
+f 2373/3723/9913 2557/4048/9914 2458/3724/9915
+f 2458/3724/9915 2557/4048/9914 2645/4049/9916
+s 2419
+f 2459/4051/9917 2375/4052/9918 2558/4050/9919
+f 2558/4050/9919 2375/4052/9918 2647/4053/9920
+s 2420
+f 2460/3726/9921 2560/4054/9922 2375/3725/9923
+f 2375/3725/9923 2560/4054/9922 2647/4055/9924
+s 2421
+f 2461/4056/9925 2561/4057/9926 2374/3575/9927
+f 2374/3575/9927 2561/4057/9926 2556/4047/9928
+s 2422
+f 2462/3897/9929 2562/4058/9930 2376/3727/9931
+f 2376/3727/9931 2562/4058/9930 2563/4059/9932
+s 2423
+f 2376/3727/9933 2563/4059/9934 2460/3726/9935
+f 2460/3726/9935 2563/4059/9934 2560/4054/9936
+s 2424
+f 2464/4060/9937 2565/4061/9938 2377/3901/9939
+f 2377/3901/9939 2565/4061/9938 2564/3902/9940
+s 2425
+f 2379/3734/9941 2566/4062/9942 2378/3733/9943
+f 2378/3733/9943 2566/4062/9942 2468/3910/9944
+s 2426
+f 2379/4064/9945 2467/4065/9946 2567/4063/9947
+f 2567/4063/9947 2467/4065/9946 2657/4066/9948
+s 2427
+f 2270/3579/9949 2568/3911/9950 2469/4067/9951
+f 2469/4067/9951 2568/3911/9950 2660/4068/9952
+s 2428
+f 2470/4069/9953 2569/4070/9954 2380/3916/9955
+f 2380/3916/9955 2569/4070/9954 2570/3917/9956
+s 2429
+f 2382/3583/9957 2571/4071/9958 2381/3737/9959
+f 2381/3737/9959 2571/4071/9958 2572/4072/9960
+s 2430
+f 2381/3737/9961 2572/4072/9962 2470/3736/9963
+f 2470/3736/9963 2572/4072/9962 2661/4073/9964
+s 2431
+f 2472/4074/9965 2573/4075/9966 2382/3583/9967
+f 2382/3583/9967 2573/4075/9966 2571/4071/9968
+s 2432
+f 2274/4077/9969 2475/4078/9970 2473/4076/9971
+f 2473/4076/9971 2475/4078/9970 2664/4079/9972
+s 2433
+f 2474/3924/9973 2575/4080/9974 2383/3738/9975
+f 2383/3738/9975 2575/4080/9974 2576/4081/9976
+s 2434
+f 2383/3738/9977 2576/4081/9978 2384/3739/9979
+f 2384/3739/9979 2576/4081/9978 2666/4082/9980
+s 2435
+f 2475/3740/9981 2384/3739/9982 2577/4083/9983
+f 2577/4083/9983 2384/3739/9982 2666/4082/9984
+s 2436
+f 2385/4085/9985 2578/4086/9986 2474/4084/9987
+f 2474/4084/9987 2578/4086/9986 2665/4087/9988
+s 2437
+f 2476/3744/9989 2579/4088/9990 2385/3741/9991
+f 2385/3741/9991 2579/4088/9990 2578/4089/9992
+s 2438
+f 2386/3746/9993 2580/4090/9994 2464/3729/9995
+f 2464/3729/9995 2580/4090/9994 2565/4091/9996
+s 2439
+f 2276/3588/9997 2477/4092/9998 2479/3928/9999
+f 2479/3928/9999 2477/4092/9998 2667/4093/10000
+s 2440
+f 2275/3584/10001 2478/3926/10002 2477/3750/10003
+f 2477/3750/10003 2478/3926/10002 2668/4094/10004
+s 2441
+f 2388/4096/10005 2456/3885/10006 2582/4095/10007
+f 2582/4095/10007 2456/3885/10006 2641/4097/10008
+s 2442
+f 2277/3402/10009 2480/3756/10010 2395/3770/10011
+f 2395/3770/10011 2480/3756/10010 2396/3768/10012
+s 2443
+f 2389/3589/10013 2583/3929/10014 2480/3756/10015
+f 2480/3756/10015 2583/3929/10014 2590/4098/10016
+s 2444
+f 2391/3757/10017 2392/3758/10018 2585/4099/10019
+f 2585/4099/10019 2392/3758/10018 2586/4100/10020
+s 2445
+f 2392/3759/10021 2393/3760/10022 2586/4101/10023
+f 2586/4101/10023 2393/3760/10022 2587/4102/10024
+s 2446
+f 2393/3760/10025 2481/3761/10026 2587/4102/10027
+f 2587/4102/10027 2481/3761/10026 2671/4103/10028
+s 2447
+f 2482/4105/10029 2394/3935/10030 2589/4104/10031
+f 2589/4104/10031 2394/3935/10030 2483/3765/10032
+s 2448
+f 2390/3764/10033 2584/4106/10034 2483/3765/10035
+f 2483/3765/10035 2584/4106/10034 2589/4104/10036
+s 2449
+f 2397/3771/10037 2396/3768/10038 2590/4098/10039
+f 2590/4098/10039 2396/3768/10038 2480/3756/10040
+s 2450
+f 2398/3772/10041 2485/3773/10042 2593/4107/10043
+f 2593/4107/10043 2485/3773/10042 2677/4108/10044
+s 2451
+f 2290/3610/10045 2487/3944/10046 2486/3774/10047
+f 2486/3774/10047 2487/3944/10046 2680/4109/10048
+s 2452
+f 2400/3947/10049 2597/4110/10050 2488/3948/10051
+f 2488/3948/10051 2597/4110/10050 2682/4111/10052
+s 2453
+f 2400/3947/10053 2489/3950/10054 2598/4112/10055
+f 2598/4112/10055 2489/3950/10054 2684/4113/10056
+s 2454
+f 2402/4115/10057 2484/4116/10058 2599/4114/10059
+f 2599/4114/10059 2484/4116/10058 2676/4117/10060
+s 2455
+f 2403/3776/10061 2490/3777/10062 2600/4118/10063
+f 2600/4118/10063 2490/3777/10062 2685/4119/10064
+s 2456
+f 2405/3617/10065 2494/3953/10066 2491/3778/10067
+f 2491/3778/10067 2494/3953/10066 2686/4120/10068
+s 2457
+f 2356/3700/10069 2492/3952/10070 2537/3864/10071
+f 2537/3864/10071 2492/3952/10070 2687/4121/10072
+s 2458
+f 2493/3779/10073 2602/4122/10074 2295/3616/10075
+f 2295/3616/10075 2602/4122/10074 2603/3954/10076
+s 2459
+f 2403/3776/10077 2600/4118/10078 2493/3779/10079
+f 2493/3779/10079 2600/4118/10078 2602/4122/10080
+s 2460
+f 2495/3955/10081 2604/4123/10082 2406/3780/10083
+f 2406/3780/10083 2604/4123/10082 2496/3957/10084
+s 2461
+f 2497/3958/10085 2407/3618/10086 2605/4124/10087
+f 2605/4124/10087 2407/3618/10086 2498/3959/10088
+s 2462
+f 2297/3435/10089 2499/3783/10090 2430/3781/10091
+f 2430/3781/10091 2499/3783/10090 2431/4125/10092
+s 2463
+f 2497/4127/10093 2495/4128/10094 2408/4126/10095
+f 2408/4126/10095 2495/4128/10094 2471/3914/10096
+s 2464
+f 2408/3782/10097 2606/4129/10098 2499/3783/10099
+f 2499/3783/10099 2606/4129/10098 2612/4130/10100
+s 2465
+f 2419/3969/10101 2411/4132/10102 2607/4131/10103
+f 2607/4131/10103 2411/4132/10102 2412/4133/10104
+s 2466
+f 2412/4133/10105 2413/4134/10106 2607/4131/10107
+f 2607/4131/10107 2413/4134/10106 2500/4135/10108
+s 2467
+f 2501/3964/10109 2414/3795/10110 2608/4136/10111
+f 2608/4136/10111 2414/3795/10110 2609/3980/10112
+s 2468
+f 2414/3795/10113 2415/3798/10114 2609/3980/10115
+f 2609/3980/10115 2415/3798/10114 2505/3978/10116
+s 2469
+f 2304/3801/10117 2502/4137/10118 2418/3802/10119
+f 2418/3802/10119 2502/4137/10118 2417/3810/10120
+s 2470
+f 2504/3971/10121 2420/3815/10122 2507/3982/10123
+f 2507/3982/10123 2420/3815/10122 2506/3823/10124
+s 2471
+f 2420/3815/10125 2421/3818/10126 2506/3823/10127
+f 2506/3823/10127 2421/3818/10126 2423/3821/10128
+s 2472
+f 2507/3982/10129 2425/4138/10130 2504/3971/10131
+f 2504/3971/10131 2425/4138/10130 2503/3972/10132
+s 2473
+f 2326/3521/10133 2433/3836/10134 2508/3835/10135
+f 2508/3835/10135 2433/3836/10134 2614/4139/10136
+s 2474
+f 2336/3536/10137 2509/3837/10138 2519/3844/10139
+f 2519/3844/10139 2509/3837/10138 2689/4140/10140
+s 2475
+f 2428/3658/10141 2510/3838/10142 2611/3991/10143
+f 2611/3991/10143 2510/3838/10142 2690/4141/10144
+s 2476
+f 2432/4142/10145 2431/4125/10146 2612/4130/10147
+f 2612/4130/10147 2431/4125/10146 2499/3783/10148
+s 2477
+f 2518/4144/10149 2432/4142/10150 2613/4143/10151
+f 2613/4143/10151 2432/4142/10150 2612/4130/10152
+s 2478
+f 2433/3843/10153 2519/3844/10154 2614/4145/10155
+f 2614/4145/10155 2519/3844/10154 2700/4146/10156
+s 2479
+f 2521/4004/10157 2615/4147/10158 2434/3670/10159
+f 2434/3670/10159 2615/4147/10158 2520/4001/10160
+s 2480
+f 2436/4149/10161 2435/4008/10162 2616/4148/10163
+f 2616/4148/10163 2435/4008/10162 2524/4007/10164
+s 2481
+f 2437/4151/10165 2436/4149/10166 2617/4150/10167
+f 2617/4150/10167 2436/4149/10166 2616/4148/10168
+s 2482
+f 2521/4153/10169 2437/4151/10170 2618/4152/10171
+f 2618/4152/10171 2437/4151/10170 2617/4150/10172
+s 2483
+f 2353/3553/10173 2525/3849/10174 2534/3855/10175
+f 2534/3855/10175 2525/3849/10174 2705/4154/10176
+s 2484
+f 2342/3848/10177 2619/4155/10178 2525/3849/10179
+f 2525/3849/10179 2619/4155/10178 2706/4156/10180
+s 2485
+f 2526/4158/10181 2438/4159/10182 2620/4157/10183
+f 2620/4157/10183 2438/4159/10182 2527/4014/10184
+s 2486
+f 2347/3688/10185 2528/3851/10186 2621/4022/10187
+f 2621/4022/10187 2528/3851/10186 2708/4160/10188
+s 2487
+f 2346/3683/10189 2530/4020/10190 2528/3851/10191
+f 2528/3851/10191 2530/4020/10190 2529/4019/10192
+s 2488
+f 2440/3686/10193 2532/3853/10194 2529/4019/10195
+f 2529/4019/10195 2532/3853/10194 2709/4161/10196
+s 2489
+f 2443/4027/10197 2534/4162/10198 2624/4028/10199
+f 2624/4028/10199 2534/4162/10198 2714/4163/10200
+s 2490
+f 2446/3862/10201 2444/3856/10202 2625/4164/10203
+f 2625/4164/10203 2444/3856/10202 2626/4165/10204
+s 2491
+f 2444/3856/10205 2445/3859/10206 2626/4165/10207
+f 2626/4165/10207 2445/3859/10206 2716/4166/10208
+s 2492
+f 2536/3861/10209 2627/4167/10210 2445/3859/10211
+f 2445/3859/10211 2627/4167/10210 2716/4166/10212
+s 2493
+f 2524/4007/10213 2446/3862/10214 2628/4168/10215
+f 2628/4168/10215 2446/3862/10214 2625/4164/10216
+s 2494
+f 2539/4170/10217 2359/3705/10218 2544/4169/10219
+f 2544/4169/10219 2359/3705/10218 2629/4030/10220
+s 2495
+f 2360/4172/10221 2539/4170/10222 2540/4171/10223
+f 2540/4171/10223 2539/4170/10222 2718/4173/10224
+s 2496
+f 2361/3561/10225 2540/3869/10226 2541/3871/10227
+f 2541/3871/10227 2540/3869/10226 2719/4174/10228
+s 2497
+f 2447/3870/10229 2541/3871/10230 2630/4175/10231
+f 2630/4175/10231 2541/3871/10230 2720/4176/10232
+s 2498
+f 2542/3873/10233 2631/4177/10234 2448/3872/10235
+f 2448/3872/10235 2631/4177/10234 2722/4178/10236
+s 2499
+f 2544/4169/10237 2629/4030/10238 2365/3875/10239
+f 2365/3875/10239 2629/4030/10238 2545/4037/10240
+s 2500
+f 2451/3876/10241 2634/4038/10242 2450/3874/10243
+f 2450/3874/10243 2634/4038/10242 2546/4039/10244
+s 2501
+f 2368/3716/10245 2546/4039/10246 2635/4042/10247
+f 2635/4042/10247 2546/4039/10246 2724/4179/10248
+s 2502
+f 2547/4040/10249 2636/4180/10250 2453/4041/10251
+f 2453/4041/10251 2636/4180/10250 2725/4181/10252
+s 2503
+f 2548/3880/10253 2453/3879/10254 2637/4182/10255
+f 2637/4182/10255 2453/3879/10254 2725/4183/10256
+s 2504
+f 2548/3880/10257 2638/4184/10258 2454/3881/10259
+f 2454/3881/10259 2638/4184/10258 2640/4185/10260
+s 2505
+f 2549/3882/10261 2639/4186/10262 2455/3722/10263
+f 2455/3722/10263 2639/4186/10262 2642/4045/10264
+s 2506
+f 2369/3571/10265 2550/3883/10266 2549/3882/10267
+f 2549/3882/10267 2550/3883/10266 2639/4186/10268
+s 2507
+f 2370/3572/10269 2551/3884/10270 2550/3883/10271
+f 2550/3883/10271 2551/3884/10270 2726/4187/10272
+s 2508
+f 2454/3881/10273 2640/4185/10274 2551/3884/10275
+f 2551/3884/10275 2640/4185/10274 2726/4187/10276
+s 2509
+f 2456/3885/10277 2552/3888/10278 2641/4097/10279
+f 2641/4097/10279 2552/3888/10278 2727/4188/10280
+s 2510
+f 2371/3887/10281 2553/4189/10282 2552/3888/10283
+f 2552/3888/10283 2553/4189/10282 2728/4190/10284
+s 2511
+f 2458/4192/10285 2643/4193/10286 2457/4191/10287
+f 2457/4191/10287 2643/4193/10286 2731/4194/10288
+s 2512
+f 2555/4196/10289 2457/4191/10290 2644/4195/10291
+f 2644/4195/10291 2457/4191/10290 2731/4194/10292
+s 2513
+f 2558/4198/10293 2646/4199/10294 2459/4197/10295
+f 2459/4197/10295 2646/4199/10294 2737/4200/10296
+s 2514
+f 2559/4202/10297 2459/4197/10298 2648/4201/10299
+f 2648/4201/10299 2459/4197/10298 2737/4200/10300
+s 2515
+f 2561/4204/10301 2461/4205/10302 2649/4203/10303
+f 2649/4203/10303 2461/4205/10302 2650/4206/10304
+s 2516
+f 2461/3895/10305 2559/3894/10306 2650/4207/10307
+f 2650/4207/10307 2559/3894/10306 2648/4208/10308
+s 2517
+f 2562/4210/10309 2462/4211/10310 2651/4209/10311
+f 2651/4209/10311 2462/4211/10310 2652/4212/10312
+s 2518
+f 2462/4214/10313 2463/3899/10314 2652/4213/10315
+f 2652/4213/10315 2463/3899/10314 2564/3902/10316
+s 2519
+f 2555/3890/10317 2653/4215/10318 2465/4046/10319
+f 2465/4046/10319 2653/4215/10318 2654/4216/10320
+s 2520
+f 2465/4046/10321 2654/4216/10322 2466/4217/10323
+f 2466/4217/10323 2654/4216/10322 2745/4218/10324
+s 2521
+f 2466/4219/10325 2655/4220/10326 2467/4065/10327
+f 2467/4065/10327 2655/4220/10326 2657/4066/10328
+s 2522
+f 2566/4062/10329 2379/3734/10330 2656/4221/10331
+f 2656/4221/10331 2379/3734/10330 2567/4222/10332
+s 2523
+f 2566/4062/10333 2658/4223/10334 2468/3910/10335
+f 2468/3910/10335 2658/4223/10334 2659/4224/10336
+s 2524
+f 2468/3910/10337 2659/4224/10338 2568/3911/10339
+f 2568/3911/10339 2659/4224/10338 2749/4225/10340
+s 2525
+f 2476/3744/10341 2469/3913/10342 2579/4088/10343
+f 2579/4088/10343 2469/3913/10342 2751/4226/10344
+s 2526
+f 2470/4228/10345 2661/4229/10346 2569/4227/10347
+f 2569/4227/10347 2661/4229/10346 2752/4230/10348
+s 2527
+f 2570/3917/10349 2606/4231/10350 2471/3914/10351
+f 2471/3914/10351 2606/4231/10350 2408/4126/10352
+s 2528
+f 2472/3918/10353 2662/4233/10354 2573/4232/10355
+f 2573/4232/10355 2662/4233/10354 2756/4234/10356
+s 2529
+f 2574/3921/10357 2663/4235/10358 2472/3918/10359
+f 2472/3918/10359 2663/4235/10358 2662/4233/10360
+s 2530
+f 2574/3921/10361 2473/3923/10362 2663/4235/10363
+f 2663/4235/10363 2473/3923/10362 2758/4236/10364
+s 2531
+f 2474/4084/10365 2665/4087/10366 2575/4237/10367
+f 2575/4237/10367 2665/4087/10366 2759/4238/10368
+s 2532
+f 2475/4078/10369 2577/4239/10370 2664/4079/10371
+f 2664/4079/10371 2577/4239/10370 2761/4240/10372
+s 2533
+f 2386/3746/10373 2623/4026/10374 2580/4090/10375
+f 2580/4090/10375 2623/4026/10374 2764/4241/10376
+s 2534
+f 2478/3926/10377 2581/3927/10378 2669/4242/10379
+f 2669/4242/10379 2581/3927/10378 2765/4243/10380
+s 2535
+f 2388/3586/10381 2582/4244/10382 2581/3927/10383
+f 2581/3927/10383 2582/4244/10382 2765/4243/10384
+s 2536
+f 2479/3928/10385 2667/4093/10386 2583/3929/10387
+f 2583/3929/10387 2667/4093/10386 2766/4245/10388
+s 2537
+f 2584/3931/10389 2391/3757/10390 2670/4246/10391
+f 2670/4246/10391 2391/3757/10390 2585/4099/10392
+s 2538
+f 2588/3933/10393 2672/4247/10394 2481/3932/10395
+f 2481/3932/10395 2672/4247/10394 2671/4248/10396
+s 2539
+f 2589/4104/10397 2673/4249/10398 2482/4105/10399
+f 2482/4105/10399 2673/4249/10398 2674/4250/10400
+s 2540
+f 2482/3934/10401 2674/4251/10402 2588/3933/10403
+f 2588/3933/10403 2674/4251/10402 2672/4247/10404
+s 2541
+f 2590/4098/10405 2675/4252/10406 2397/3771/10407
+f 2397/3771/10407 2675/4252/10406 2591/3937/10408
+s 2542
+f 2484/3936/10409 2591/3937/10410 2676/4253/10411
+f 2676/4253/10411 2591/3937/10410 2769/4254/10412
+s 2543
+f 2404/3615/10413 2592/3938/10414 2601/3951/10415
+f 2601/3951/10415 2592/3938/10414 2770/4255/10416
+s 2544
+f 2398/3772/10417 2593/4107/10418 2592/3938/10419
+f 2592/3938/10419 2593/4107/10418 2771/4256/10420
+s 2545
+f 2485/3773/10421 2594/3940/10422 2677/4108/10423
+f 2677/4108/10423 2594/3940/10422 2773/4257/10424
+s 2546
+f 2594/3940/10425 2399/3939/10426 2678/4258/10427
+f 2678/4258/10427 2399/3939/10426 2595/3943/10428
+s 2547
+f 2595/3943/10429 2486/3942/10430 2679/4259/10431
+f 2679/4259/10431 2486/3942/10430 2680/4260/10432
+s 2548
+f 2596/3945/10433 2681/4261/10434 2487/3944/10435
+f 2487/3944/10435 2681/4261/10434 2778/4262/10436
+s 2549
+f 2400/3947/10437 2598/4112/10438 2597/4110/10439
+f 2597/4110/10439 2598/4112/10438 2779/4263/10440
+s 2550
+f 2488/3948/10441 2683/4264/10442 2596/3949/10443
+f 2596/3949/10443 2683/4264/10442 2681/4265/10444
+s 2551
+f 2402/3775/10445 2599/4266/10446 2489/3950/10447
+f 2489/3950/10447 2599/4266/10446 2684/4113/10448
+s 2552
+f 2490/3777/10449 2601/3951/10450 2685/4119/10451
+f 2685/4119/10451 2601/3951/10450 2783/4267/10452
+s 2553
+f 2492/3952/10453 2491/3778/10454 2687/4121/10455
+f 2687/4121/10455 2491/3778/10454 2686/4120/10456
+s 2554
+f 2494/3953/10457 2603/3954/10458 2688/4268/10459
+f 2688/4268/10459 2603/3954/10458 2784/4269/10460
+s 2555
+f 2495/4128/10461 2497/4127/10462 2604/3963/10463
+f 2604/3963/10463 2497/4127/10462 2605/4270/10464
+s 2556
+f 2498/3961/10465 2410/3786/10466 2605/4270/10467
+f 2605/4270/10467 2410/3786/10466 2604/3963/10468
+s 2557
+f 2419/3969/10469 2607/4131/10470 2610/3970/10471
+f 2610/3970/10471 2607/4131/10470 2608/4271/10472
+s 2558
+f 2500/3965/10473 2501/3964/10474 2607/4272/10475
+f 2607/4272/10475 2501/3964/10474 2608/4136/10476
+s 2559
+f 2422/3979/10477 2610/4273/10478 2609/3980/10479
+f 2609/3980/10479 2610/4273/10478 2608/4136/10480
+s 2560
+f 2508/3835/10481 2614/4139/10482 2535/3988/10483
+f 2535/3988/10483 2614/4139/10482 2715/4274/10484
+s 2561
+f 2511/3989/10485 2691/4275/10486 2510/3838/10487
+f 2510/3838/10487 2691/4275/10486 2690/4141/10488
+s 2562
+f 2517/3998/10489 2692/4276/10490 2511/3989/10491
+f 2511/3989/10491 2692/4276/10490 2691/4275/10492
+s 2563
+f 2509/3837/10493 2512/3990/10494 2689/4140/10495
+f 2689/4140/10495 2512/3990/10494 2693/4277/10496
+s 2564
+f 2512/3990/10497 2611/3991/10498 2693/4277/10499
+f 2693/4277/10499 2611/3991/10498 2786/4278/10500
+s 2565
+f 2518/3999/10501 2694/4279/10502 2513/3992/10503
+f 2513/3992/10503 2694/4279/10502 2695/4280/10504
+s 2566
+f 2513/3992/10505 2695/4280/10506 2514/3993/10507
+f 2514/3993/10507 2695/4280/10506 2696/4281/10508
+s 2567
+f 2514/3994/10509 2696/4282/10510 2515/3995/10511
+f 2515/3995/10511 2696/4282/10510 2697/4283/10512
+s 2568
+f 2515/3995/10513 2697/4283/10514 2516/3996/10515
+f 2516/3996/10515 2697/4283/10514 2698/4284/10516
+s 2569
+f 2516/3997/10517 2698/4285/10518 2517/3998/10519
+f 2517/3998/10519 2698/4285/10518 2692/4276/10520
+s 2570
+f 2613/4143/10521 2699/4286/10522 2518/4144/10523
+f 2518/4144/10523 2699/4286/10522 2694/4287/10524
+s 2571
+f 2520/4001/10525 2615/4147/10526 2522/4003/10527
+f 2522/4003/10527 2615/4147/10526 2702/4288/10528
+s 2572
+f 2615/4290/10529 2521/4153/10530 2701/4289/10531
+f 2701/4289/10531 2521/4153/10530 2618/4152/10532
+s 2573
+f 2522/4003/10533 2702/4288/10534 2523/4006/10535
+f 2523/4006/10535 2702/4288/10534 2703/4291/10536
+s 2574
+f 2523/4006/10537 2703/4291/10538 2532/3853/10539
+f 2532/3853/10539 2703/4291/10538 2709/4161/10540
+s 2575
+f 2616/4148/10541 2524/4007/10542 2704/4292/10543
+f 2704/4292/10543 2524/4007/10542 2628/4168/10544
+s 2576
+f 2526/4158/10545 2620/4157/10546 2707/4293/10547
+f 2707/4293/10547 2620/4157/10546 2793/4294/10548
+s 2577
+f 2526/4011/10549 2707/4295/10550 2619/4012/10551
+f 2619/4012/10551 2707/4295/10550 2744/4296/10552
+s 2578
+f 2528/3851/10553 2529/4019/10554 2708/4160/10555
+f 2708/4160/10555 2529/4019/10554 2709/4161/10556
+s 2579
+f 2621/4022/10557 2710/4297/10558 2531/4021/10559
+f 2531/4021/10559 2710/4297/10558 2795/4298/10560
+s 2580
+f 2622/4023/10561 2531/4021/10562 2711/4299/10563
+f 2711/4299/10563 2531/4021/10562 2795/4298/10564
+s 2581
+f 2533/4024/10565 2622/4023/10566 2712/4300/10567
+f 2712/4300/10567 2622/4023/10566 2711/4299/10568
+s 2582
+f 2527/4014/10569 2533/4024/10570 2620/4157/10571
+f 2620/4157/10571 2533/4024/10570 2712/4300/10572
+s 2583
+f 2623/4026/10573 2442/4025/10574 2713/4301/10575
+f 2713/4301/10575 2442/4025/10574 2624/4302/10576
+s 2584
+f 2535/3988/10577 2715/4274/10578 2536/3861/10579
+f 2536/3861/10579 2715/4274/10578 2627/4167/10580
+s 2585
+f 2537/3864/10581 2687/4121/10582 2538/4029/10583
+f 2538/4029/10583 2687/4121/10582 2717/4303/10584
+s 2586
+f 2538/4029/10585 2717/4303/10586 2629/4030/10587
+f 2629/4030/10587 2717/4303/10586 2545/4037/10588
+s 2587
+f 2544/4169/10589 2543/4304/10590 2539/4170/10591
+f 2539/4170/10591 2543/4304/10590 2718/4173/10592
+s 2588
+f 2630/4031/10593 2721/4305/10594 2542/3873/10595
+f 2542/3873/10595 2721/4305/10594 2631/4177/10596
+s 2589
+f 2448/4032/10597 2722/4306/10598 2632/4033/10599
+f 2632/4033/10599 2722/4306/10598 2805/4307/10600
+s 2590
+f 2449/3711/10601 2632/4033/10602 2633/4035/10603
+f 2633/4035/10603 2632/4033/10602 2806/4308/10604
+s 2591
+f 2543/4304/10605 2633/4309/10606 2718/4173/10607
+f 2718/4173/10607 2633/4309/10606 2807/4310/10608
+s 2592
+f 2634/4038/10609 2545/4037/10610 2723/4311/10611
+f 2723/4311/10611 2545/4037/10610 2717/4303/10612
+s 2593
+f 2546/4039/10613 2634/4038/10614 2724/4179/10615
+f 2724/4179/10615 2634/4038/10614 2784/4269/10616
+s 2594
+f 2547/4040/10617 2635/4042/10618 2602/4122/10619
+f 2602/4122/10619 2635/4042/10618 2603/3954/10620
+s 2595
+f 2636/4180/10621 2547/4040/10622 2600/4118/10623
+f 2600/4118/10623 2547/4040/10622 2602/4122/10624
+s 2596
+f 2548/3880/10625 2637/4182/10626 2638/4184/10627
+f 2638/4184/10627 2637/4182/10626 2809/4312/10628
+s 2597
+f 2553/4314/10629 2554/4315/10630 2729/4313/10631
+f 2729/4313/10631 2554/4315/10630 2815/4316/10632
+s 2598
+f 2642/4045/10633 2730/4317/10634 2554/4044/10635
+f 2554/4044/10635 2730/4317/10634 2815/4318/10636
+s 2599
+f 2458/4320/10637 2645/4321/10638 2643/4319/10639
+f 2643/4319/10639 2645/4321/10638 2817/4322/10640
+s 2600
+f 2644/4323/10641 2732/4324/10642 2555/3890/10643
+f 2555/3890/10643 2732/4324/10642 2653/4215/10644
+s 2601
+f 2561/4057/10645 2733/4325/10646 2556/4047/10647
+f 2556/4047/10647 2733/4325/10646 2734/4326/10648
+s 2602
+f 2556/4047/10649 2734/4326/10650 2557/4048/10651
+f 2557/4048/10651 2734/4326/10650 2735/4327/10652
+s 2603
+f 2557/4048/10653 2735/4327/10654 2645/4049/10655
+f 2645/4049/10655 2735/4327/10654 2820/4328/10656
+s 2604
+f 2646/4199/10657 2558/4198/10658 2736/4329/10659
+f 2736/4329/10659 2558/4198/10658 2822/4330/10660
+s 2605
+f 2647/4053/10661 2738/4331/10662 2558/4050/10663
+f 2558/4050/10663 2738/4331/10662 2822/4332/10664
+s 2606
+f 2563/4059/10665 2739/4333/10666 2560/4054/10667
+f 2560/4054/10667 2739/4333/10666 2740/4334/10668
+s 2607
+f 2560/4054/10669 2740/4334/10670 2647/4055/10671
+f 2647/4055/10671 2740/4334/10670 2738/4335/10672
+s 2608
+f 2649/4203/10673 2741/4336/10674 2561/4204/10675
+f 2561/4204/10675 2741/4336/10674 2733/4337/10676
+s 2609
+f 2651/4209/10677 2742/4338/10678 2562/4210/10679
+f 2562/4210/10679 2742/4338/10678 2828/4339/10680
+s 2610
+f 2563/4059/10681 2562/4058/10682 2739/4333/10683
+f 2739/4333/10683 2562/4058/10682 2828/4340/10684
+s 2611
+f 2652/4213/10685 2564/3902/10686 2743/4341/10687
+f 2743/4341/10687 2564/3902/10686 2565/4061/10688
+s 2612
+f 2580/4342/10689 2744/4343/10690 2565/4061/10691
+f 2565/4061/10691 2744/4343/10690 2743/4341/10692
+s 2613
+f 2466/4345/10693 2745/4346/10694 2655/4344/10695
+f 2655/4344/10695 2745/4346/10694 2834/4347/10696
+s 2614
+f 2656/4221/10697 2746/4348/10698 2566/4062/10699
+f 2566/4062/10699 2746/4348/10698 2658/4223/10700
+s 2615
+f 2567/4350/10701 2747/4351/10702 2656/4349/10703
+f 2656/4349/10703 2747/4351/10702 2835/4352/10704
+s 2616
+f 2657/4066/10705 2748/4353/10706 2567/4063/10707
+f 2567/4063/10707 2748/4353/10706 2747/4354/10708
+s 2617
+f 2660/4356/10709 2750/4357/10710 2469/4355/10711
+f 2469/4355/10711 2750/4357/10710 2751/4358/10712
+s 2618
+f 2568/3911/10713 2749/4225/10714 2660/4068/10715
+f 2660/4068/10715 2749/4225/10714 2838/4359/10716
+s 2619
+f 2570/3917/10717 2569/4070/10718 2606/4231/10719
+f 2606/4231/10719 2569/4070/10718 2785/4360/10720
+s 2620
+f 2573/4075/10721 2753/4361/10722 2571/4071/10723
+f 2571/4071/10723 2753/4361/10722 2754/4362/10724
+s 2621
+f 2571/4071/10725 2754/4362/10726 2572/4072/10727
+f 2572/4072/10727 2754/4362/10726 2755/4363/10728
+s 2622
+f 2572/4365/10729 2755/4366/10730 2661/4364/10731
+f 2661/4364/10731 2755/4366/10730 2840/4367/10732
+s 2623
+f 2664/4369/10733 2757/4370/10734 2473/4368/10735
+f 2473/4368/10735 2757/4370/10734 2758/4371/10736
+s 2624
+f 2575/4080/10737 2760/4372/10738 2576/4081/10739
+f 2576/4081/10739 2760/4372/10738 2666/4082/10740
+s 2625
+f 2666/4082/10741 2760/4372/10742 2577/4083/10743
+f 2577/4083/10743 2760/4372/10742 2761/4373/10744
+s 2626
+f 2578/4375/10745 2579/4376/10746 2762/4374/10747
+f 2762/4374/10747 2579/4376/10746 2839/4377/10748
+s 2627
+f 2578/4375/10749 2763/4379/10750 2665/4378/10751
+f 2665/4378/10751 2763/4379/10750 2844/4380/10752
+s 2628
+f 2477/4092/10753 2668/4381/10754 2667/4093/10755
+f 2667/4093/10755 2668/4381/10754 2846/4382/10756
+s 2629
+f 2478/3926/10757 2669/4242/10758 2668/4094/10759
+f 2668/4094/10759 2669/4242/10758 2847/4383/10760
+s 2630
+f 2641/4097/10761 2727/4188/10762 2582/4095/10763
+f 2582/4095/10763 2727/4188/10762 2849/4384/10764
+s 2631
+f 2583/3929/10765 2766/4245/10766 2590/4098/10767
+f 2590/4098/10767 2766/4245/10766 2675/4252/10768
+s 2632
+f 2584/4106/10769 2670/4385/10770 2589/4104/10771
+f 2589/4104/10771 2670/4385/10770 2673/4249/10772
+s 2633
+f 2585/4099/10773 2767/4386/10774 2670/4246/10775
+f 2670/4246/10775 2767/4386/10774 2850/4387/10776
+s 2634
+f 2585/4099/10777 2586/4100/10778 2767/4386/10779
+f 2767/4386/10779 2586/4100/10778 2851/4388/10780
+s 2635
+f 2587/4102/10781 2768/4389/10782 2586/4101/10783
+f 2586/4101/10783 2768/4389/10782 2851/4390/10784
+s 2636
+f 2587/4102/10785 2671/4103/10786 2768/4389/10787
+f 2768/4389/10787 2671/4103/10786 2852/4391/10788
+s 2637
+f 2591/3937/10789 2675/4252/10790 2769/4254/10791
+f 2769/4254/10791 2675/4252/10790 2857/4392/10792
+s 2638
+f 2593/4107/10793 2677/4108/10794 2772/4393/10795
+f 2772/4393/10795 2677/4108/10794 2773/4257/10796
+s 2639
+f 2678/4258/10797 2774/4394/10798 2594/3940/10799
+f 2594/3940/10799 2774/4394/10798 2773/4257/10800
+s 2640
+f 2678/4258/10801 2595/3943/10802 2775/4395/10803
+f 2775/4395/10803 2595/3943/10802 2860/4396/10804
+s 2641
+f 2679/4259/10805 2776/4397/10806 2595/3943/10807
+f 2595/3943/10807 2776/4397/10806 2862/4398/10808
+s 2642
+f 2680/4109/10809 2487/3944/10810 2777/4399/10811
+f 2777/4399/10811 2487/3944/10810 2778/4262/10812
+s 2643
+f 2682/4111/10813 2597/4110/10814 2780/4400/10815
+f 2780/4400/10815 2597/4110/10814 2867/4401/10816
+s 2644
+f 2682/4111/10817 2781/4402/10818 2488/3948/10819
+f 2488/3948/10819 2781/4402/10818 2683/4264/10820
+s 2645
+f 2598/4112/10821 2684/4113/10822 2782/4403/10823
+f 2782/4403/10823 2684/4113/10822 2599/4266/10824
+s 2646
+f 2600/4118/10825 2685/4119/10826 2636/4180/10827
+f 2636/4180/10827 2685/4119/10826 2808/4404/10828
+s 2647
+f 2494/3953/10829 2688/4268/10830 2686/4120/10831
+f 2686/4120/10831 2688/4268/10830 2723/4311/10832
+s 2648
+f 2606/4129/10833 2785/4405/10834 2612/4130/10835
+f 2612/4130/10835 2785/4405/10834 2613/4143/10836
+s 2649
+f 2519/3844/10837 2689/4140/10838 2700/4146/10839
+f 2700/4146/10839 2689/4140/10838 2871/4406/10840
+s 2650
+f 2611/3991/10841 2690/4141/10842 2786/4278/10843
+f 2786/4278/10843 2690/4141/10842 2873/4407/10844
+s 2651
+f 2699/4286/10845 2613/4143/10846 2787/4408/10847
+f 2787/4408/10847 2613/4143/10846 2785/4405/10848
+s 2652
+f 2614/4145/10849 2700/4146/10850 2715/4409/10851
+f 2715/4409/10851 2700/4146/10850 2800/4410/10852
+s 2653
+f 2701/4289/10853 2788/4411/10854 2615/4290/10855
+f 2615/4290/10855 2788/4411/10854 2702/4412/10856
+s 2654
+f 2617/4150/10857 2616/4148/10858 2789/4413/10859
+f 2789/4413/10859 2616/4148/10858 2704/4292/10860
+s 2655
+f 2618/4152/10861 2617/4150/10862 2790/4414/10863
+f 2790/4414/10863 2617/4150/10862 2789/4413/10864
+s 2656
+f 2701/4289/10865 2618/4152/10866 2791/4415/10867
+f 2791/4415/10867 2618/4152/10866 2790/4414/10868
+s 2657
+f 2534/3855/10869 2705/4154/10870 2714/4416/10871
+f 2714/4416/10871 2705/4154/10870 2885/4417/10872
+s 2658
+f 2525/3849/10873 2706/4156/10874 2705/4154/10875
+f 2705/4154/10875 2706/4156/10874 2885/4417/10876
+s 2659
+f 2706/4419/10877 2619/4012/10878 2792/4418/10879
+f 2792/4418/10879 2619/4012/10878 2744/4296/10880
+s 2660
+f 2708/4160/10881 2794/4420/10882 2621/4022/10883
+f 2621/4022/10883 2794/4420/10882 2710/4297/10884
+s 2661
+f 2623/4026/10885 2713/4301/10886 2764/4241/10887
+f 2764/4241/10887 2713/4301/10886 2796/4421/10888
+s 2662
+f 2713/4301/10889 2624/4302/10890 2796/4421/10891
+f 2796/4421/10891 2624/4302/10890 2714/4422/10892
+s 2663
+f 2628/4168/10893 2625/4164/10894 2797/4423/10895
+f 2797/4423/10895 2625/4164/10894 2798/4424/10896
+s 2664
+f 2625/4164/10897 2626/4165/10898 2798/4424/10899
+f 2798/4424/10899 2626/4165/10898 2799/4425/10900
+s 2665
+f 2626/4165/10901 2716/4166/10902 2799/4425/10903
+f 2799/4425/10903 2716/4166/10902 2893/4426/10904
+s 2666
+f 2715/4409/10905 2800/4410/10906 2627/4427/10907
+f 2627/4427/10907 2800/4410/10906 2801/4428/10908
+s 2667
+f 2627/4427/10909 2801/4428/10910 2716/4429/10911
+f 2716/4429/10911 2801/4428/10910 2893/4430/10912
+s 2668
+f 2704/4292/10913 2628/4168/10914 2802/4431/10915
+f 2802/4431/10915 2628/4168/10914 2797/4423/10916
+s 2669
+f 2540/4171/10917 2718/4173/10918 2719/4432/10919
+f 2719/4432/10919 2718/4173/10918 2807/4310/10920
+s 2670
+f 2541/3871/10921 2719/4174/10922 2720/4176/10923
+f 2720/4176/10923 2719/4174/10922 2894/4433/10924
+s 2671
+f 2720/4176/10925 2803/4434/10926 2630/4175/10927
+f 2630/4175/10927 2803/4434/10926 2721/4435/10928
+s 2672
+f 2631/4177/10929 2721/4305/10930 2804/4436/10931
+f 2804/4436/10931 2721/4305/10930 2897/4437/10932
+s 2673
+f 2631/4177/10933 2804/4436/10934 2722/4178/10935
+f 2722/4178/10935 2804/4436/10934 2898/4438/10936
+s 2674
+f 2634/4038/10937 2723/4311/10938 2784/4269/10939
+f 2784/4269/10939 2723/4311/10938 2688/4268/10940
+s 2675
+f 2635/4042/10941 2724/4179/10942 2603/3954/10943
+f 2603/3954/10943 2724/4179/10942 2784/4269/10944
+s 2676
+f 2636/4180/10945 2808/4404/10946 2725/4181/10947
+f 2725/4181/10947 2808/4404/10946 2900/4439/10948
+s 2677
+f 2637/4441/10949 2725/4181/10950 2810/4440/10951
+f 2810/4440/10951 2725/4181/10950 2900/4439/10952
+s 2678
+f 2638/4184/10953 2811/4442/10954 2640/4185/10955
+f 2640/4185/10955 2811/4442/10954 2814/4443/10956
+s 2679
+f 2550/3883/10957 2812/4444/10958 2639/4186/10959
+f 2639/4186/10959 2812/4444/10958 2901/4445/10960
+s 2680
+f 2642/4045/10961 2639/4186/10962 2813/4446/10963
+f 2813/4446/10963 2639/4186/10962 2901/4445/10964
+s 2681
+f 2550/3883/10965 2726/4187/10966 2812/4444/10967
+f 2812/4444/10967 2726/4187/10966 2902/4447/10968
+s 2682
+f 2640/4449/10969 2814/4450/10970 2726/4448/10971
+f 2726/4448/10971 2814/4450/10970 2902/4451/10972
+s 2683
+f 2552/3888/10973 2728/4190/10974 2727/4188/10975
+f 2727/4188/10975 2728/4190/10974 2903/4452/10976
+s 2684
+f 2553/4189/10977 2729/4453/10978 2728/4190/10979
+f 2728/4190/10979 2729/4453/10978 2904/4454/10980
+s 2685
+f 2642/4456/10981 2816/4457/10982 2730/4455/10983
+f 2730/4455/10983 2816/4457/10982 2906/4458/10984
+s 2686
+f 2731/4460/10985 2643/4461/10986 2818/4459/10987
+f 2818/4459/10987 2643/4461/10986 2910/4462/10988
+s off
+f 2732/4463/10989 2644/4464/10990 2819/4465/10991
+f 2819/4466/10992 2644/4195/10993 2731/4194/10994
+s 2687
+f 2736/4329/10995 2821/4467/10996 2646/4199/10997
+f 2646/4199/10997 2821/4467/10996 2823/4468/10998
+s 2688
+f 2646/4199/10999 2823/4468/11000 2737/4200/11001
+f 2737/4200/11001 2823/4468/11000 2829/4469/11002
+s 2689
+f 2650/4471/11003 2648/4201/11004 2824/4470/11005
+f 2824/4470/11005 2648/4201/11004 2825/4472/11006
+s 2690
+f 2648/4201/11007 2737/4200/11008 2825/4472/11009
+f 2825/4472/11009 2737/4200/11008 2915/4473/11010
+s 2691
+f 2649/4475/11011 2826/4476/11012 2741/4474/11013
+f 2741/4474/11013 2826/4476/11012 2911/4477/11014
+s 2692
+f 2650/4471/11015 2827/4478/11016 2649/4475/11017
+f 2649/4475/11017 2827/4478/11016 2826/4476/11018
+s 2693
+f 2651/4480/11019 2823/4468/11020 2742/4479/11021
+f 2742/4479/11021 2823/4468/11020 2821/4467/11022
+s 2694
+f 2652/4481/11023 2829/4469/11024 2651/4480/11025
+f 2651/4480/11025 2829/4469/11024 2823/4468/11026
+s 2695
+f 2652/4481/11027 2743/4483/11028 2830/4482/11029
+f 2830/4482/11029 2743/4483/11028 2887/4484/11030
+s 2696
+f 2580/4090/11031 2764/4241/11032 2744/4485/11033
+f 2744/4485/11033 2764/4241/11032 2792/4486/11034
+s 2697
+f 2732/4324/11035 2831/4487/11036 2653/4215/11037
+f 2653/4215/11037 2831/4487/11036 2832/4488/11038
+s 2698
+f 2653/4215/11039 2832/4488/11040 2654/4216/11041
+f 2654/4216/11041 2832/4488/11040 2833/4489/11042
+s 2699
+f 2654/4216/11043 2833/4489/11044 2745/4218/11045
+f 2745/4218/11045 2833/4489/11044 2918/4490/11046
+s 2700
+f 2657/4066/11047 2655/4220/11048 2748/4353/11049
+f 2748/4353/11049 2655/4220/11048 2920/4491/11050
+s 2701
+f 2656/4493/11051 2835/4494/11052 2746/4492/11053
+f 2746/4492/11053 2835/4494/11052 2921/4495/11054
+s 2702
+f 2658/4223/11055 2746/4348/11056 2659/4224/11057
+f 2659/4224/11057 2746/4348/11056 2836/4496/11058
+s 2703
+f 2659/4224/11059 2836/4496/11060 2749/4225/11061
+f 2749/4225/11061 2836/4496/11060 2838/4359/11062
+s 2704
+f 2750/4357/11063 2660/4356/11064 2837/4497/11065
+f 2837/4497/11065 2660/4356/11064 2838/4498/11066
+s 2705
+f 2579/4376/11067 2751/4358/11068 2839/4377/11069
+f 2839/4377/11069 2751/4358/11068 2926/4499/11070
+s 2706
+f 2569/4500/11071 2752/4501/11072 2785/4405/11073
+f 2785/4405/11073 2752/4501/11072 2927/4502/11074
+s 2707
+f 2661/4229/11075 2840/4503/11076 2752/4230/11077
+f 2752/4230/11077 2840/4503/11076 2928/4504/11078
+s 2708
+f 2573/4232/11079 2756/4234/11080 2753/4505/11081
+f 2753/4505/11081 2756/4234/11080 2929/4506/11082
+s 2709
+f 2662/4508/11083 2663/4509/11084 2841/4507/11085
+f 2841/4507/11085 2663/4509/11084 2843/4510/11086
+s 2710
+f 2662/4508/11087 2787/4408/11088 2756/4511/11089
+f 2756/4511/11089 2787/4408/11088 2931/4512/11090
+s 2711
+f 2757/4370/11091 2664/4369/11092 2842/4513/11093
+f 2842/4513/11093 2664/4369/11092 2761/4514/11094
+s 2712
+f 2663/4509/11095 2758/4371/11096 2843/4510/11097
+f 2843/4510/11097 2758/4371/11096 2933/4515/11098
+s 2713
+f 2575/4517/11099 2759/4518/11100 2760/4516/11101
+f 2760/4516/11101 2759/4518/11100 2932/4519/11102
+s 2714
+f 2665/4378/11103 2844/4380/11104 2759/4520/11105
+f 2759/4520/11105 2844/4380/11104 2932/4521/11106
+s 2715
+f 2762/4374/11107 2845/4522/11108 2578/4375/11109
+f 2578/4375/11109 2845/4522/11108 2763/4379/11110
+s 2716
+f 2669/4242/11111 2765/4243/11112 2848/4523/11113
+f 2848/4523/11113 2765/4243/11112 2936/4524/11114
+s 2717
+f 2582/4095/11115 2849/4384/11116 2765/4525/11117
+f 2765/4525/11117 2849/4384/11116 2937/4526/11118
+s 2718
+f 2667/4093/11119 2846/4382/11120 2766/4245/11121
+f 2766/4245/11121 2846/4382/11120 2938/4527/11122
+s 2719
+f 2672/4247/11123 2853/4528/11124 2671/4248/11125
+f 2671/4248/11125 2853/4528/11124 2852/4529/11126
+s 2720
+f 2674/4251/11127 2854/4530/11128 2672/4247/11129
+f 2672/4247/11129 2854/4530/11128 2853/4528/11130
+s 2721
+f 2673/4249/11131 2670/4385/11132 2855/4531/11133
+f 2855/4531/11133 2670/4385/11132 2850/4532/11134
+s 2722
+f 2674/4250/11135 2673/4249/11136 2854/4533/11137
+f 2854/4533/11137 2673/4249/11136 2855/4531/11138
+s 2723
+f 2766/4245/11139 2856/4534/11140 2675/4252/11141
+f 2675/4252/11141 2856/4534/11140 2857/4392/11142
+s 2724
+f 2601/3951/11143 2770/4255/11144 2783/4267/11145
+f 2783/4267/11145 2770/4255/11144 2944/4535/11146
+s 2725
+f 2592/4537/11147 2771/4538/11148 2770/4536/11149
+f 2770/4536/11149 2771/4538/11148 2858/4539/11150
+s 2726
+f 2771/4256/11151 2593/4107/11152 2858/4540/11153
+f 2858/4540/11153 2593/4107/11152 2772/4393/11154
+s 2727
+f 2774/4394/11155 2678/4258/11156 2859/4541/11157
+f 2859/4541/11157 2678/4258/11156 2775/4395/11158
+s 2728
+f 2776/4397/11159 2679/4259/11160 2861/4542/11161
+f 2861/4542/11161 2679/4259/11160 2863/4543/11162
+s 2729
+f 2679/4259/11163 2680/4260/11164 2863/4543/11165
+f 2863/4543/11165 2680/4260/11164 2777/4544/11166
+s 2730
+f 2683/4264/11167 2864/4545/11168 2681/4265/11169
+f 2681/4265/11169 2864/4545/11168 2865/4546/11170
+s 2731
+f 2681/4261/11171 2865/4547/11172 2778/4262/11173
+f 2778/4262/11173 2865/4547/11172 2951/4548/11174
+s 2732
+f 2779/4263/11175 2598/4112/11176 2866/4549/11177
+f 2866/4549/11177 2598/4112/11176 2782/4403/11178
+s 2733
+f 2597/4110/11179 2779/4263/11180 2867/4401/11181
+f 2867/4401/11181 2779/4263/11180 2866/4549/11182
+s 2734
+f 2682/4111/11183 2780/4400/11184 2868/4550/11185
+f 2868/4550/11185 2780/4400/11184 2952/4551/11186
+s 2735
+f 2781/4402/11187 2682/4111/11188 2869/4552/11189
+f 2869/4552/11189 2682/4111/11188 2868/4550/11190
+s 2736
+f 2781/4402/11191 2870/4553/11192 2683/4264/11193
+f 2683/4264/11193 2870/4553/11192 2864/4545/11194
+s 2737
+f 2685/4119/11195 2783/4267/11196 2808/4404/11197
+f 2808/4404/11197 2783/4267/11196 2956/4554/11198
+s 2738
+f 2687/4121/11199 2686/4120/11200 2717/4303/11201
+f 2717/4303/11201 2686/4120/11200 2723/4311/11202
+s 2739
+f 2691/4275/11203 2872/4555/11204 2690/4141/11205
+f 2690/4141/11205 2872/4555/11204 2873/4407/11206
+s 2740
+f 2692/4276/11207 2874/4556/11208 2691/4275/11209
+f 2691/4275/11209 2874/4556/11208 2872/4555/11210
+s 2741
+f 2698/4285/11211 2875/4557/11212 2692/4276/11213
+f 2692/4276/11213 2875/4557/11212 2874/4556/11214
+s 2742
+f 2689/4140/11215 2693/4277/11216 2871/4406/11217
+f 2871/4406/11217 2693/4277/11216 2876/4558/11218
+s 2743
+f 2693/4277/11219 2786/4278/11220 2876/4558/11221
+f 2876/4558/11221 2786/4278/11220 2957/4559/11222
+s 2744
+f 2699/4286/11223 2841/4507/11224 2694/4287/11225
+f 2694/4287/11225 2841/4507/11224 2877/4560/11226
+s 2745
+f 2694/4279/11227 2877/4561/11228 2695/4280/11229
+f 2695/4280/11229 2877/4561/11228 2878/4562/11230
+s 2746
+f 2695/4280/11231 2878/4562/11232 2696/4281/11233
+f 2696/4281/11233 2878/4562/11232 2879/4563/11234
+s 2747
+f 2696/4282/11235 2879/4564/11236 2697/4283/11237
+f 2697/4283/11237 2879/4564/11236 2880/4565/11238
+s 2748
+f 2697/4283/11239 2880/4565/11240 2698/4284/11241
+f 2698/4284/11241 2880/4565/11240 2875/4566/11242
+s 2749
+f 2787/4408/11243 2662/4508/11244 2699/4286/11245
+f 2699/4286/11245 2662/4508/11244 2841/4507/11246
+s 2750
+f 2788/4411/11247 2701/4289/11248 2881/4567/11249
+f 2881/4567/11249 2701/4289/11248 2791/4415/11250
+s 2751
+f 2702/4569/11251 2882/4570/11252 2703/4568/11253
+f 2703/4568/11253 2882/4570/11252 2959/4571/11254
+s 2752
+f 2709/4573/11255 2703/4568/11256 2883/4572/11257
+f 2883/4572/11257 2703/4568/11256 2959/4571/11258
+s 2753
+f 2789/4413/11259 2704/4292/11260 2884/4574/11261
+f 2884/4574/11261 2704/4292/11260 2802/4431/11262
+s 2754
+f 2792/4418/11263 2886/4575/11264 2706/4419/11265
+f 2706/4419/11265 2886/4575/11264 2885/4576/11266
+s 2755
+f 2620/4157/11267 2712/4300/11268 2793/4294/11269
+f 2793/4294/11269 2712/4300/11268 2892/4577/11270
+s 2756
+f 2707/4293/11271 2793/4294/11272 2887/4578/11273
+f 2887/4578/11273 2793/4294/11272 2830/4579/11274
+s 2757
+f 2744/4296/11275 2707/4295/11276 2743/4580/11277
+f 2743/4580/11277 2707/4295/11276 2887/4581/11278
+s 2758
+f 2794/4420/11279 2708/4160/11280 2888/4582/11281
+f 2888/4582/11281 2708/4160/11280 2709/4161/11282
+s 2759
+f 2794/4420/11283 2889/4583/11284 2710/4297/11285
+f 2710/4297/11285 2889/4583/11284 2966/4584/11286
+s 2760
+f 2795/4298/11287 2710/4297/11288 2890/4585/11289
+f 2890/4585/11289 2710/4297/11288 2966/4584/11290
+s 2761
+f 2711/4299/11291 2795/4298/11292 2891/4586/11293
+f 2891/4586/11293 2795/4298/11292 2890/4585/11294
+s 2762
+f 2712/4300/11295 2711/4299/11296 2892/4577/11297
+f 2892/4577/11297 2711/4299/11296 2891/4586/11298
+s 2763
+f 2714/4422/11299 2885/4587/11300 2796/4421/11301
+f 2796/4421/11301 2885/4587/11300 2886/4588/11302
+s 2764
+f 2803/4434/11303 2720/4176/11304 2895/4589/11305
+f 2895/4589/11305 2720/4176/11304 2894/4433/11306
+s 2765
+f 2803/4591/11307 2896/4592/11308 2721/4590/11309
+f 2721/4590/11309 2896/4592/11308 2897/4593/11310
+s 2766
+f 2632/4033/11311 2805/4307/11312 2806/4308/11313
+f 2806/4308/11313 2805/4307/11312 2976/4594/11314
+s 2767
+f 2805/4307/11315 2722/4306/11316 2899/4595/11317
+f 2899/4595/11317 2722/4306/11316 2898/4596/11318
+s 2768
+f 2633/4309/11319 2806/4597/11320 2807/4310/11321
+f 2807/4310/11321 2806/4597/11320 2978/4598/11322
+s 2769
+f 2638/4184/11323 2809/4312/11324 2811/4442/11325
+f 2811/4442/11325 2809/4312/11324 2979/4599/11326
+s 2770
+f 2637/4441/11327 2810/4440/11328 2809/4600/11329
+f 2809/4600/11329 2810/4440/11328 2980/4601/11330
+s 2771
+f 2642/4045/11331 2813/4446/11332 2816/4602/11333
+f 2816/4602/11333 2813/4446/11332 2983/4603/11334
+s 2772
+f 2729/4313/11335 2815/4316/11336 2905/4604/11337
+f 2905/4604/11337 2815/4316/11336 2907/4605/11338
+s 2773
+f 2815/4607/11339 2730/4455/11340 2907/4606/11341
+f 2907/4606/11341 2730/4455/11340 2952/4551/11342
+s 2774
+f 2817/4608/11343 2908/4609/11344 2643/4461/11345
+f 2643/4461/11345 2908/4609/11344 2910/4462/11346
+s 2775
+f 2645/4321/11347 2820/4610/11348 2817/4322/11349
+f 2817/4322/11349 2820/4610/11348 2988/4611/11350
+s 2776
+f 2818/4612/11351 2909/4613/11352 2731/4194/11353
+f 2731/4194/11353 2909/4613/11352 2819/4466/11354
+s 2777
+f 2741/4336/11355 2911/4614/11356 2733/4337/11357
+f 2733/4337/11357 2911/4614/11356 2912/4615/11358
+s 2778
+f 2734/4326/11359 2733/4325/11360 2735/4327/11361
+f 2735/4327/11361 2733/4325/11360 2912/4616/11362
+s 2779
+f 2735/4327/11363 2912/4616/11364 2820/4328/11365
+f 2820/4328/11365 2912/4616/11364 2988/4617/11366
+s 2780
+f 2821/4467/11367 2736/4329/11368 2913/4618/11369
+f 2913/4618/11369 2736/4329/11368 2822/4330/11370
+s 2781
+f 2740/4334/11371 2913/4619/11372 2738/4335/11373
+f 2738/4335/11373 2913/4619/11372 2822/4620/11374
+s 2782
+f 2824/4470/11375 2914/4621/11376 2650/4471/11377
+f 2650/4471/11377 2914/4621/11376 2827/4478/11378
+s 2783
+f 2739/4333/11379 2828/4340/11380 2740/4334/11381
+f 2740/4334/11381 2828/4340/11380 2913/4619/11382
+s 2784
+f 2742/4338/11383 2821/4622/11384 2828/4339/11385
+f 2828/4339/11385 2821/4622/11384 2913/4623/11386
+s 2785
+f 2829/4469/11387 2652/4481/11388 2916/4624/11389
+f 2916/4624/11389 2652/4481/11388 2830/4482/11390
+s 2786
+f 2732/4463/11391 2917/4626/11392 2831/4625/11393
+f 2831/4625/11393 2917/4626/11392 2992/4627/11394
+s 2787
+f 2834/4629/11395 2919/4630/11396 2655/4628/11397
+f 2655/4628/11397 2919/4630/11396 2920/4631/11398
+s 2788
+f 2745/4346/11399 2918/4632/11400 2834/4347/11401
+f 2834/4347/11401 2918/4632/11400 2995/4633/11402
+s 2789
+f 2747/4635/11403 2748/4636/11404 2922/4634/11405
+f 2922/4634/11405 2748/4636/11404 2996/4637/11406
+s 2790
+f 2747/4635/11407 2923/4638/11408 2835/4494/11409
+f 2835/4494/11409 2923/4638/11408 2925/4639/11410
+s 2791
+f 2837/4497/11411 2924/4640/11412 2750/4357/11413
+f 2750/4357/11413 2924/4640/11412 2925/4639/11414
+s 2792
+f 2750/4357/11415 2925/4639/11416 2751/4358/11417
+f 2751/4358/11417 2925/4639/11416 2923/4638/11418
+s 2793
+f 2753/4361/11419 2930/4641/11420 2754/4362/11421
+f 2754/4362/11421 2930/4641/11420 2755/4363/11422
+s 2794
+f 2755/4643/11423 2930/4644/11424 2840/4642/11425
+f 2840/4642/11425 2930/4644/11424 2928/4645/11426
+s 2795
+f 2842/4513/11427 2932/4521/11428 2757/4370/11429
+f 2757/4370/11429 2932/4521/11428 2844/4380/11430
+s 2796
+f 2757/4370/11431 2844/4380/11432 2758/4371/11433
+f 2758/4371/11433 2844/4380/11432 2763/4379/11434
+s 2797
+f 2761/4514/11435 2760/4646/11436 2842/4513/11437
+f 2842/4513/11437 2760/4646/11436 2932/4521/11438
+s 2798
+f 2845/4648/11439 2762/4649/11440 2934/4647/11441
+f 2934/4647/11441 2762/4649/11440 2935/4650/11442
+s 2799
+f 2762/4649/11443 2839/4651/11444 2935/4650/11445
+f 2935/4650/11445 2839/4651/11444 2998/4652/11446
+s 2800
+f 2845/4522/11447 2933/4515/11448 2763/4379/11449
+f 2763/4379/11449 2933/4515/11448 2758/4371/11450
+s 2801
+f 2668/4381/11451 2847/4653/11452 2846/4382/11453
+f 2846/4382/11453 2847/4653/11452 3002/4654/11454
+s 2802
+f 2669/4242/11455 2848/4523/11456 2847/4383/11457
+f 2847/4383/11457 2848/4523/11456 3003/4655/11458
+s 2803
+f 2727/4188/11459 2903/4452/11460 2849/4384/11461
+f 2849/4384/11461 2903/4452/11460 3005/4656/11462
+s 2804
+f 2767/4386/11463 2939/4657/11464 2850/4387/11465
+f 2850/4387/11465 2939/4657/11464 3007/4658/11466
+s 2805
+f 2851/4388/11467 2940/4659/11468 2767/4386/11469
+f 2767/4386/11469 2940/4659/11468 2939/4657/11470
+s 2806
+f 2851/4390/11471 2768/4389/11472 2941/4660/11473
+f 2941/4660/11473 2768/4389/11472 2942/4661/11474
+s 2807
+f 2768/4389/11475 2852/4391/11476 2942/4661/11477
+f 2942/4661/11477 2852/4391/11476 3009/4662/11478
+s 2808
+f 2766/4245/11479 2938/4527/11480 2856/4534/11481
+f 2856/4534/11481 2938/4527/11480 3012/4663/11482
+s 2809
+f 2857/4392/11483 2943/4664/11484 2769/4254/11485
+f 2769/4254/11485 2943/4664/11484 2782/4403/11486
+s 2810
+f 2858/4540/11487 2772/4393/11488 2945/4665/11489
+f 2945/4665/11489 2772/4393/11488 2859/4541/11490
+s 2811
+f 2773/4257/11491 2774/4394/11492 2772/4393/11493
+f 2772/4393/11493 2774/4394/11492 2859/4541/11494
+s 2812
+f 2859/4541/11495 2775/4395/11496 2945/4665/11497
+f 2945/4665/11497 2775/4395/11496 2946/4666/11498
+s 2813
+f 2775/4395/11499 2860/4396/11500 2946/4666/11501
+f 2946/4666/11501 2860/4396/11500 3014/4667/11502
+s 2814
+f 2595/3943/11503 2862/4398/11504 2860/4396/11505
+f 2860/4396/11505 2862/4398/11504 3015/4668/11506
+s 2815
+f 2861/4542/11507 2947/4669/11508 2776/4397/11509
+f 2776/4397/11509 2947/4669/11508 2948/4670/11510
+s 2816
+f 2776/4397/11511 2948/4670/11512 2862/4398/11513
+f 2862/4398/11513 2948/4670/11512 2982/4671/11514
+s 2817
+f 2863/4543/11515 2777/4544/11516 2949/4672/11517
+f 2949/4672/11517 2777/4544/11516 2950/4673/11518
+s 2818
+f 2777/4399/11519 2778/4262/11520 2950/4674/11521
+f 2950/4674/11521 2778/4262/11520 2951/4548/11522
+s 2819
+f 2780/4400/11523 2867/4401/11524 2953/4675/11525
+f 2953/4675/11525 2867/4401/11524 3021/4676/11526
+s 2820
+f 2869/4552/11527 2954/4677/11528 2781/4402/11529
+f 2781/4402/11529 2954/4677/11528 2870/4553/11530
+s 2821
+f 2866/4549/11531 2782/4403/11532 2955/4678/11533
+f 2955/4678/11533 2782/4403/11532 2943/4664/11534
+s 2822
+f 2700/4146/11535 2871/4406/11536 2800/4410/11537
+f 2800/4410/11537 2871/4406/11536 2971/4679/11538
+s 2823
+f 2786/4278/11539 2873/4407/11540 2957/4559/11541
+f 2957/4559/11541 2873/4407/11540 3027/4680/11542
+s 2824
+f 2787/4408/11543 2785/4405/11544 2931/4512/11545
+f 2931/4512/11545 2785/4405/11544 2927/4502/11546
+s 2825
+f 2702/4412/11547 2788/4411/11548 2882/4681/11549
+f 2882/4681/11549 2788/4411/11548 2958/4682/11550
+s 2826
+f 2788/4411/11551 2881/4567/11552 2958/4682/11553
+f 2958/4682/11553 2881/4567/11552 3033/4683/11554
+s 2827
+f 2883/4572/11555 2960/4684/11556 2709/4573/11557
+f 2709/4573/11557 2960/4684/11556 3037/4685/11558
+s 2828
+f 2790/4414/11559 2789/4413/11560 2961/4686/11561
+f 2961/4686/11561 2789/4413/11560 2884/4574/11562
+s 2829
+f 2791/4415/11563 2790/4414/11564 2962/4687/11565
+f 2962/4687/11565 2790/4414/11564 2961/4686/11566
+s 2830
+f 2881/4567/11567 2791/4415/11568 2963/4688/11569
+f 2963/4688/11569 2791/4415/11568 2962/4687/11570
+s 2831
+f 2792/4486/11571 2764/4241/11572 2886/4588/11573
+f 2886/4588/11573 2764/4241/11572 2796/4421/11574
+s 2832
+f 2888/4582/11575 2964/4689/11576 2794/4420/11577
+f 2794/4420/11577 2964/4689/11576 2889/4583/11578
+s 2833
+f 2709/4161/11579 2965/4690/11580 2888/4582/11581
+f 2888/4582/11581 2965/4690/11580 3039/4691/11582
+s 2834
+f 2802/4693/11583 2797/4694/11584 2967/4692/11585
+f 2967/4692/11585 2797/4694/11584 2968/4695/11586
+s 2835
+f 2797/4694/11587 2798/4696/11588 2968/4695/11589
+f 2968/4695/11589 2798/4696/11588 2969/4697/11590
+s 2836
+f 2798/4696/11591 2799/4698/11592 2969/4697/11593
+f 2969/4697/11593 2799/4698/11592 3041/4699/11594
+s 2837
+f 2893/4430/11595 2970/4700/11596 2799/4698/11597
+f 2799/4698/11597 2970/4700/11596 3041/4699/11598
+s 2838
+f 2800/4410/11599 2971/4679/11600 2801/4428/11601
+f 2801/4428/11601 2971/4679/11600 2972/4701/11602
+s 2839
+f 2801/4428/11603 2972/4701/11604 2893/4430/11605
+f 2893/4430/11605 2972/4701/11604 2970/4700/11606
+s 2840
+f 2884/4703/11607 2802/4693/11608 2973/4702/11609
+f 2973/4702/11609 2802/4693/11608 2967/4692/11610
+s 2841
+f 2719/4432/11611 2807/4310/11612 2894/4704/11613
+f 2894/4704/11613 2807/4310/11612 2978/4598/11614
+s 2842
+f 2803/4591/11615 2895/4705/11616 2896/4592/11617
+f 2896/4592/11617 2895/4705/11616 3042/4706/11618
+s 2843
+f 2897/4437/11619 2974/4707/11620 2804/4436/11621
+f 2804/4436/11621 2974/4707/11620 2975/4708/11622
+s 2844
+f 2804/4436/11623 2975/4708/11624 2898/4438/11625
+f 2898/4438/11625 2975/4708/11624 3046/4709/11626
+s 2845
+f 2899/4595/11627 2977/4710/11628 2805/4307/11629
+f 2805/4307/11629 2977/4710/11628 2976/4594/11630
+s 2846
+f 2808/4404/11631 2956/4554/11632 2900/4439/11633
+f 2900/4439/11633 2956/4554/11632 3049/4711/11634
+s 2847
+f 2810/4440/11635 2900/4439/11636 2980/4601/11637
+f 2980/4601/11637 2900/4439/11636 3049/4711/11638
+s 2848
+f 2811/4442/11639 2981/4712/11640 2814/4443/11641
+f 2814/4443/11641 2981/4712/11640 2984/4713/11642
+s 2849
+f 2812/4444/11643 2982/4714/11644 2901/4445/11645
+f 2901/4445/11645 2982/4714/11644 2813/4446/11646
+s 2850
+f 2812/4716/11647 2902/4451/11648 2982/4715/11649
+f 2982/4715/11649 2902/4451/11648 3050/4717/11650
+s 2851
+f 2814/4450/11651 2984/4718/11652 2902/4451/11653
+f 2902/4451/11653 2984/4718/11652 3051/4719/11654
+s 2852
+f 2728/4721/11655 2904/4722/11656 2903/4720/11657
+f 2903/4720/11657 2904/4722/11656 3005/4723/11658
+s 2853
+f 2904/4722/11659 2729/4725/11660 2985/4724/11661
+f 2985/4724/11661 2729/4725/11660 2905/4726/11662
+s 2854
+f 2730/4455/11663 2906/4458/11664 2952/4551/11665
+f 2952/4551/11665 2906/4458/11664 2868/4550/11666
+s 2855
+f 2816/4602/11667 2986/4728/11668 2906/4727/11669
+f 2906/4727/11669 2986/4728/11668 3022/4729/11670
+s 2856
+f 2908/4609/11671 2817/4608/11672 2987/4730/11673
+f 2987/4730/11673 2817/4608/11672 2988/4731/11674
+s 2857
+f 2909/4733/11675 2818/4459/11676 2989/4732/11677
+f 2989/4732/11677 2818/4459/11676 2990/4734/11678
+s 2858
+f 2818/4459/11679 2910/4462/11680 2990/4734/11681
+f 2990/4734/11681 2910/4462/11680 2991/4735/11682
+s 2859
+f 2819/4465/11683 2909/4736/11684 2732/4463/11685
+f 2732/4463/11685 2909/4736/11684 2917/4626/11686
+s 2860
+f 2737/4200/11687 2829/4469/11688 2915/4473/11689
+f 2915/4473/11689 2829/4469/11688 2916/4624/11690
+s 2861
+f 2824/4738/11691 2966/4584/11692 2914/4737/11693
+f 2914/4737/11693 2966/4584/11692 3040/4739/11694
+s 2862
+f 2824/4738/11695 2825/4740/11696 2966/4584/11697
+f 2966/4584/11697 2825/4740/11696 2890/4585/11698
+s 2863
+f 2825/4740/11699 2915/4741/11700 2890/4585/11701
+f 2890/4585/11701 2915/4741/11700 2891/4586/11702
+s 2864
+f 2827/4478/11703 2910/4462/11704 2826/4476/11705
+f 2826/4476/11705 2910/4462/11704 2908/4609/11706
+s 2865
+f 2826/4476/11707 2908/4609/11708 2911/4477/11709
+f 2911/4477/11709 2908/4609/11708 2987/4730/11710
+s 2866
+f 2914/4621/11711 2991/4735/11712 2827/4478/11713
+f 2827/4478/11713 2991/4735/11712 2910/4462/11714
+s 2867
+f 2916/4742/11715 2830/4579/11716 2892/4577/11717
+f 2892/4577/11717 2830/4579/11716 2793/4294/11718
+s 2868
+f 2832/4488/11719 2831/4487/11720 2833/4489/11721
+f 2833/4489/11721 2831/4487/11720 2993/4743/11722
+s 2869
+f 2833/4489/11723 2993/4743/11724 2918/4490/11725
+f 2918/4490/11725 2993/4743/11724 2995/4744/11726
+s 2870
+f 2919/4630/11727 2834/4629/11728 2994/4745/11729
+f 2994/4745/11729 2834/4629/11728 2995/4746/11730
+s 2871
+f 2748/4636/11731 2920/4631/11732 2996/4637/11733
+f 2996/4637/11733 2920/4631/11732 3057/4747/11734
+s 2872
+f 2746/4492/11735 2921/4495/11736 2836/4748/11737
+f 2836/4748/11737 2921/4495/11736 2924/4640/11738
+s 2873
+f 2835/4494/11739 2925/4639/11740 2921/4495/11741
+f 2921/4495/11741 2925/4639/11740 2924/4640/11742
+s 2874
+f 2922/4634/11743 2997/4749/11744 2747/4635/11745
+f 2747/4635/11745 2997/4749/11744 2923/4638/11746
+s 2875
+f 2838/4498/11747 2836/4748/11748 2837/4497/11749
+f 2837/4497/11749 2836/4748/11748 2924/4640/11750
+s 2876
+f 2839/4651/11751 2926/4750/11752 2998/4652/11753
+f 2998/4652/11753 2926/4750/11752 3060/4751/11754
+s 2877
+f 2751/4358/11755 2923/4638/11756 2926/4499/11757
+f 2926/4499/11757 2923/4638/11756 2997/4749/11758
+s 2878
+f 2927/4502/11759 2752/4501/11760 2999/4752/11761
+f 2999/4752/11761 2752/4501/11760 2928/4753/11762
+s 2879
+f 2753/4505/11763 2929/4506/11764 2930/4754/11765
+f 2930/4754/11765 2929/4506/11764 3061/4755/11766
+s 2880
+f 2756/4511/11767 2931/4512/11768 2929/4756/11769
+f 2929/4756/11769 2931/4512/11768 3061/4757/11770
+s 2881
+f 2841/4507/11771 2843/4510/11772 2877/4560/11773
+f 2877/4560/11773 2843/4510/11772 3000/4758/11774
+s 2882
+f 2843/4760/11775 2933/4761/11776 3000/4759/11777
+f 3000/4759/11777 2933/4761/11776 3001/4762/11778
+s 2883
+f 2934/4647/11779 3001/4762/11780 2845/4648/11781
+f 2845/4648/11781 3001/4762/11780 2933/4761/11782
+s 2884
+f 2936/4764/11783 3004/4765/11784 2848/4763/11785
+f 2848/4763/11785 3004/4765/11784 3066/4766/11786
+s 2885
+f 2765/4525/11787 2937/4526/11788 2936/4767/11789
+f 2936/4767/11789 2937/4526/11788 3067/4768/11790
+s 2886
+f 2849/4384/11791 3005/4656/11792 2937/4526/11793
+f 2937/4526/11793 3005/4656/11792 3068/4769/11794
+s 2887
+f 2846/4382/11795 3002/4654/11796 2938/4527/11797
+f 2938/4527/11797 3002/4654/11796 3052/4770/11798
+s 2888
+f 2855/4531/11799 2850/4532/11800 3006/4771/11801
+f 3006/4771/11801 2850/4532/11800 3007/4772/11802
+s 2889
+f 2851/4388/11803 3008/4773/11804 2940/4659/11805
+f 2940/4659/11805 3008/4773/11804 3071/4774/11806
+s 2890
+f 2851/4390/11807 2941/4660/11808 3008/4775/11809
+f 3008/4775/11809 2941/4660/11808 3072/4776/11810
+s 2891
+f 2852/4529/11811 2853/4528/11812 3010/4777/11813
+f 3010/4777/11813 2853/4528/11812 3076/4778/11814
+s 2892
+f 2853/4528/11815 2854/4530/11816 3076/4778/11817
+f 3076/4778/11817 2854/4530/11816 3011/4779/11818
+s 2893
+f 2854/4533/11819 2855/4531/11820 3011/4780/11821
+f 3011/4780/11821 2855/4531/11820 3006/4771/11822
+s 2894
+f 2856/4782/11823 3013/4783/11824 2857/4781/11825
+f 2857/4781/11825 3013/4783/11824 2943/4784/11826
+s 2895
+f 2783/4267/11827 2944/4535/11828 2956/4554/11829
+f 2956/4554/11829 2944/4535/11828 3078/4785/11830
+s 2896
+f 2770/4536/11831 2858/4539/11832 2944/4786/11833
+f 2944/4786/11833 2858/4539/11832 2945/4787/11834
+s 2897
+f 2947/4669/11835 2861/4542/11836 3016/4788/11837
+f 3016/4788/11837 2861/4542/11836 3017/4789/11838
+s 2898
+f 2861/4542/11839 2863/4543/11840 3017/4789/11841
+f 3017/4789/11841 2863/4543/11840 2949/4672/11842
+s 2899
+f 2870/4553/11843 3018/4790/11844 2864/4545/11845
+f 2864/4545/11845 3018/4790/11844 3019/4791/11846
+s 2900
+f 2864/4545/11847 3019/4791/11848 2865/4546/11849
+f 2865/4546/11849 3019/4791/11848 3020/4792/11850
+s 2901
+f 2865/4547/11851 3020/4793/11852 2951/4548/11853
+f 2951/4548/11853 3020/4793/11852 3084/4794/11854
+s 2902
+f 2867/4401/11855 2866/4549/11856 3021/4676/11857
+f 3021/4676/11857 2866/4549/11856 2955/4678/11858
+s 2903
+f 2780/4400/11859 2953/4675/11860 2952/4551/11861
+f 2952/4551/11861 2953/4675/11860 2907/4606/11862
+s 2904
+f 2869/4552/11863 2868/4550/11864 3022/4795/11865
+f 3022/4795/11865 2868/4550/11864 2906/4458/11866
+s 2905
+f 2954/4677/11867 2869/4552/11868 3023/4796/11869
+f 3023/4796/11869 2869/4552/11868 3022/4795/11870
+s 2906
+f 2954/4677/11871 3024/4797/11872 2870/4553/11873
+f 2870/4553/11873 3024/4797/11872 3018/4790/11874
+s 2907
+f 2874/4556/11875 3025/4798/11876 2872/4555/11877
+f 2872/4555/11877 3025/4798/11876 3026/4799/11878
+s 2908
+f 2872/4555/11879 3026/4799/11880 2873/4407/11881
+f 2873/4407/11881 3026/4799/11880 3027/4680/11882
+s 2909
+f 2875/4557/11883 3028/4800/11884 2874/4556/11885
+f 2874/4556/11885 3028/4800/11884 3025/4798/11886
+s 2910
+f 2880/4565/11887 3029/4801/11888 2875/4566/11889
+f 2875/4566/11889 3029/4801/11888 3028/4802/11890
+s 2911
+f 2871/4406/11891 2876/4558/11892 2971/4679/11893
+f 2971/4679/11893 2876/4558/11892 3030/4803/11894
+s 2912
+f 2876/4558/11895 2957/4559/11896 3030/4803/11897
+f 3030/4803/11897 2957/4559/11896 3086/4804/11898
+s 2913
+f 2878/4562/11899 2877/4561/11900 3031/4805/11901
+f 3031/4805/11901 2877/4561/11900 3000/4759/11902
+s 2914
+f 2879/4563/11903 2878/4562/11904 3032/4806/11905
+f 3032/4806/11905 2878/4562/11904 3031/4805/11906
+s 2915
+f 2879/4564/11907 3032/4807/11908 2880/4565/11909
+f 2880/4565/11909 3032/4807/11908 3029/4801/11910
+s 2916
+f 2959/4571/11911 2882/4570/11912 3034/4808/11913
+f 3034/4808/11913 2882/4570/11912 3087/4809/11914
+s 2917
+f 2883/4572/11915 3035/4810/11916 2960/4684/11917
+f 2960/4684/11917 3035/4810/11916 3036/4811/11918
+s 2918
+f 3034/4808/11919 3035/4810/11920 2959/4571/11921
+f 2959/4571/11921 3035/4810/11920 2883/4572/11922
+s 2919
+f 2881/4567/11923 2963/4688/11924 3033/4683/11925
+f 3033/4683/11925 2963/4688/11924 3095/4812/11926
+s 2920
+f 2961/4814/11927 2884/4703/11928 3038/4813/11929
+f 3038/4813/11929 2884/4703/11928 2973/4702/11930
+s 2921
+f 2889/4583/11931 2964/4689/11932 3039/4691/11933
+f 3039/4691/11933 2964/4689/11932 2888/4582/11934
+s 2922
+f 2709/4161/11935 3037/4815/11936 2965/4690/11937
+f 2965/4690/11937 3037/4815/11936 3096/4816/11938
+s 2923
+f 2966/4584/11939 2889/4583/11940 3040/4739/11941
+f 3040/4739/11941 2889/4583/11940 3039/4691/11942
+s 2924
+f 2892/4577/11943 2891/4586/11944 2916/4742/11945
+f 2916/4742/11945 2891/4586/11944 2915/4741/11946
+s 2925
+f 2894/4704/11947 2978/4598/11948 2895/4817/11949
+f 2895/4817/11949 2978/4598/11948 3047/4818/11950
+s 2926
+f 2897/4593/11951 2896/4592/11952 3043/4819/11953
+f 3043/4819/11953 2896/4592/11952 3106/4820/11954
+s 2927
+f 2897/4437/11955 3044/4821/11956 2974/4707/11957
+f 2974/4707/11957 3044/4821/11956 3107/4822/11958
+s 2928
+f 2898/4596/11959 3045/4823/11960 2899/4595/11961
+f 2899/4595/11961 3045/4823/11960 3110/4824/11962
+s 2929
+f 2976/4825/11963 3047/4818/11964 2806/4597/11965
+f 2806/4597/11965 3047/4818/11964 2978/4598/11966
+s 2930
+f 3048/4826/11967 2977/4710/11968 3110/4824/11969
+f 3110/4824/11969 2977/4710/11968 2899/4595/11970
+s 2931
+f 2811/4442/11971 2979/4599/11972 2981/4712/11973
+f 2981/4712/11973 2979/4599/11972 3113/4827/11974
+s 2932
+f 2809/4600/11975 2980/4601/11976 2979/4828/11977
+f 2979/4828/11977 2980/4601/11976 3114/4829/11978
+s 2933
+f 2816/4602/11979 2983/4603/11980 2986/4728/11981
+f 2986/4728/11981 2983/4603/11980 3080/4830/11982
+s 2934
+f 2813/4446/11983 2982/4714/11984 2983/4603/11985
+f 2983/4603/11985 2982/4714/11984 2948/4831/11986
+s 2935
+f 2985/4724/11987 3052/4832/11988 2904/4722/11989
+f 2904/4722/11989 3052/4832/11988 3118/4833/11990
+s 2936
+f 2985/4835/11991 2905/4836/11992 3012/4834/11993
+f 3012/4834/11993 2905/4836/11992 3077/4837/11994
+s 2937
+f 2905/4604/11995 2907/4605/11996 3021/4838/11997
+f 3021/4838/11997 2907/4605/11996 2953/4839/11998
+s 2938
+f 2989/4732/11999 3053/4840/12000 2909/4733/12001
+f 2909/4733/12001 3053/4840/12000 3054/4841/12002
+s 2939
+f 2911/4477/12003 2987/4730/12004 2912/4842/12005
+f 2912/4842/12005 2987/4730/12004 2988/4731/12006
+s 2940
+f 2914/4737/12007 3040/4739/12008 2991/4843/12009
+f 2991/4843/12009 3040/4739/12008 3097/4844/12010
+s 2941
+f 2909/4733/12011 3054/4841/12012 2917/4845/12013
+f 2917/4845/12013 3054/4841/12012 3056/4846/12014
+s 2942
+f 2992/4627/12015 3055/4847/12016 2831/4625/12017
+f 2831/4625/12017 3055/4847/12016 2993/4848/12018
+s 2943
+f 2917/4845/12019 3056/4846/12020 2992/4849/12021
+f 2992/4849/12021 3056/4846/12020 3055/4850/12022
+s 2944
+f 2994/4745/12023 3055/4850/12024 2919/4630/12025
+f 2919/4630/12025 3055/4850/12024 3056/4846/12026
+s 2945
+f 2919/4630/12027 3056/4846/12028 2920/4631/12029
+f 2920/4631/12029 3056/4846/12028 3054/4841/12030
+s 2946
+f 2997/4852/12031 2922/4853/12032 3058/4851/12033
+f 3058/4851/12033 2922/4853/12032 3059/4854/12034
+s 2947
+f 2922/4634/12035 2996/4637/12036 3059/4855/12037
+f 3059/4855/12037 2996/4637/12036 3123/4856/12038
+s 2948
+f 2927/4502/12039 2999/4752/12040 2931/4512/12041
+f 2931/4512/12041 2999/4752/12040 3061/4757/12042
+s 2949
+f 2928/4753/12043 2930/4857/12044 2999/4752/12045
+f 2999/4752/12045 2930/4857/12044 3061/4757/12046
+s 2950
+f 2934/4647/12047 3062/4858/12048 3001/4762/12049
+f 3001/4762/12049 3062/4858/12048 3125/4859/12050
+s 2951
+f 2934/4647/12051 2935/4650/12052 3062/4858/12053
+f 3062/4858/12053 2935/4650/12052 3063/4860/12054
+s 2952
+f 2935/4650/12055 2998/4652/12056 3063/4860/12057
+f 3063/4860/12057 2998/4652/12056 3124/4861/12058
+s 2953
+f 2847/4653/12059 3003/4862/12060 3002/4654/12061
+f 3002/4654/12061 3003/4862/12060 3126/4863/12062
+s 2954
+f 3003/4865/12063 2848/4763/12064 3064/4864/12065
+f 3064/4864/12065 2848/4763/12064 3066/4766/12066
+s 2955
+f 3004/4867/12067 2936/4767/12068 3065/4866/12069
+f 3065/4866/12069 2936/4767/12068 3067/4768/12070
+s 2956
+f 2940/4659/12071 3069/4868/12072 2939/4657/12073
+f 2939/4657/12073 3069/4868/12072 3070/4869/12074
+s 2957
+f 2939/4657/12075 3070/4869/12076 3007/4658/12077
+f 3007/4658/12077 3070/4869/12076 3133/4870/12078
+s 2958
+f 2941/4660/12079 2942/4661/12080 3073/4871/12081
+f 3073/4871/12081 2942/4661/12080 3074/4872/12082
+s 2959
+f 2942/4874/12083 3009/4875/12084 3074/4873/12085
+f 3074/4873/12085 3009/4875/12084 3136/4876/12086
+s 2960
+f 2852/4529/12087 3075/4877/12088 3009/4875/12089
+f 3009/4875/12089 3075/4877/12088 3137/4878/12090
+s 2961
+f 2852/4529/12091 3010/4777/12092 3075/4877/12093
+f 3075/4877/12093 3010/4777/12092 3138/4879/12094
+s 2962
+f 3012/4880/12095 2938/4881/12096 2985/4724/12097
+f 2985/4724/12097 2938/4881/12096 3052/4832/12098
+s 2963
+f 3012/4834/12099 3077/4837/12100 2856/4782/12101
+f 2856/4782/12101 3077/4837/12100 3013/4783/12102
+s 2964
+f 2943/4664/12103 3013/4882/12104 2955/4678/12105
+f 2955/4678/12105 3013/4882/12104 3077/4883/12106
+s 2965
+f 2945/4787/12107 2946/4884/12108 2944/4786/12109
+f 2944/4786/12109 2946/4884/12108 3078/4885/12110
+s 2966
+f 2860/4396/12111 3015/4668/12112 3014/4667/12113
+f 3014/4667/12113 3015/4668/12112 3140/4886/12114
+s 2967
+f 2946/4884/12115 3014/4887/12116 3078/4885/12117
+f 3078/4885/12117 3014/4887/12116 3112/4888/12118
+s 2968
+f 2862/4398/12119 2982/4671/12120 3015/4668/12121
+f 3015/4668/12121 2982/4671/12120 3140/4886/12122
+s 2969
+f 3016/4788/12123 3079/4889/12124 2947/4669/12125
+f 2947/4669/12125 3079/4889/12124 3080/4890/12126
+s 2970
+f 2947/4669/12127 3080/4890/12128 2948/4670/12129
+f 2948/4670/12129 3080/4890/12128 2983/4891/12130
+s 2971
+f 3017/4789/12131 2949/4672/12132 3081/4892/12133
+f 3081/4892/12133 2949/4672/12132 3082/4893/12134
+s 2972
+f 2949/4672/12135 2950/4673/12136 3082/4893/12137
+f 3082/4893/12137 2950/4673/12136 3083/4894/12138
+s 2973
+f 2950/4674/12139 2951/4548/12140 3083/4895/12141
+f 3083/4895/12141 2951/4548/12140 3084/4794/12142
+s 2974
+f 3023/4796/12143 3085/4896/12144 2954/4677/12145
+f 2954/4677/12145 3085/4896/12144 3024/4797/12146
+s 2975
+f 2955/4897/12147 3077/4898/12148 3021/4838/12149
+f 3021/4838/12149 3077/4898/12148 2905/4604/12150
+s 2976
+f 2957/4559/12151 3027/4680/12152 3086/4804/12153
+f 3086/4804/12153 3027/4680/12152 3152/4899/12154
+s 2977
+f 2882/4681/12155 2958/4682/12156 3087/4900/12157
+f 3087/4900/12157 2958/4682/12156 3088/4901/12158
+s 2978
+f 2958/4682/12159 3033/4683/12160 3088/4901/12161
+f 3088/4901/12161 3033/4683/12160 3155/4902/12162
+s 2979
+f 3035/4810/12163 3089/4903/12164 3036/4811/12165
+f 3036/4811/12165 3089/4903/12164 3090/4904/12166
+s 2980
+f 2960/4906/12167 3036/4907/12168 3091/4905/12169
+f 3091/4905/12169 3036/4907/12168 3156/4908/12170
+s 2981
+f 2960/4906/12171 3091/4905/12172 3037/4909/12173
+f 3037/4909/12173 3091/4905/12172 3158/4910/12174
+s 2982
+f 3035/4810/12175 3034/4808/12176 3089/4903/12177
+f 3089/4903/12177 3034/4808/12176 3092/4911/12178
+s 2983
+f 2962/4913/12179 2961/4814/12180 3093/4912/12181
+f 3093/4912/12181 2961/4814/12180 3038/4813/12182
+s 2984
+f 2963/4915/12183 2962/4913/12184 3094/4914/12185
+f 3094/4914/12185 2962/4913/12184 3093/4912/12186
+s 2985
+f 2965/4690/12187 3097/4844/12188 3039/4691/12189
+f 3039/4691/12189 3097/4844/12188 3040/4739/12190
+s 2986
+f 2973/4702/12191 2967/4692/12192 3098/4916/12193
+f 3098/4916/12193 2967/4692/12192 3099/4917/12194
+s 2987
+f 2967/4692/12195 2968/4695/12196 3099/4917/12197
+f 3099/4917/12197 2968/4695/12196 3100/4918/12198
+s 2988
+f 2968/4695/12199 2969/4697/12200 3100/4918/12201
+f 3100/4918/12201 2969/4697/12200 3161/4919/12202
+s 2989
+f 3041/4699/12203 3101/4920/12204 2969/4697/12205
+f 2969/4697/12205 3101/4920/12204 3161/4919/12206
+s 2990
+f 2972/4701/12207 3102/4921/12208 2970/4700/12209
+f 2970/4700/12209 3102/4921/12208 3103/4922/12210
+s 2991
+f 2970/4700/12211 3103/4922/12212 3041/4699/12213
+f 3041/4699/12213 3103/4922/12212 3101/4920/12214
+s 2992
+f 2971/4679/12215 3030/4803/12216 2972/4701/12217
+f 2972/4701/12217 3030/4803/12216 3102/4921/12218
+s 2993
+f 3038/4813/12219 2973/4702/12220 3104/4923/12221
+f 3104/4923/12221 2973/4702/12220 3098/4916/12222
+s 2994
+f 3042/4925/12223 2895/4817/12224 3105/4924/12225
+f 3105/4924/12225 2895/4817/12224 3047/4818/12226
+s 2995
+f 2896/4592/12227 3042/4706/12228 3106/4820/12229
+f 3106/4820/12229 3042/4706/12228 3163/4926/12230
+s 2996
+f 2897/4593/12231 3043/4819/12232 3044/4927/12233
+f 3044/4927/12233 3043/4819/12232 3165/4928/12234
+s 2997
+f 2974/4707/12235 3108/4929/12236 2975/4708/12237
+f 2975/4708/12237 3108/4929/12236 3111/4930/12238
+s 2998
+f 2898/4596/12239 3109/4931/12240 3045/4823/12241
+f 3045/4823/12241 3109/4931/12240 3167/4932/12242
+s 2999
+f 2898/4596/12243 3046/4933/12244 3109/4931/12245
+f 3109/4931/12245 3046/4933/12244 3169/4934/12246
+s 3000
+f 2975/4936/12247 3111/4937/12248 3046/4935/12249
+f 3046/4935/12249 3111/4937/12248 3170/4938/12250
+s 3001
+f 2976/4825/12251 2977/4939/12252 3047/4818/12253
+f 3047/4818/12253 2977/4939/12252 3105/4924/12254
+s 3002
+f 2977/4939/12255 3048/4940/12256 3105/4924/12257
+f 3105/4924/12257 3048/4940/12256 3162/4941/12258
+s 3003
+f 3049/4711/12259 2956/4554/12260 3112/4942/12261
+f 3112/4942/12261 2956/4554/12260 3078/4785/12262
+s 3004
+f 2980/4601/12263 3049/4711/12264 3114/4829/12265
+f 3114/4829/12265 3049/4711/12264 3171/4943/12266
+s 3005
+f 2981/4712/12267 3115/4944/12268 2984/4713/12269
+f 2984/4713/12269 3115/4944/12268 3117/4945/12270
+s 3006
+f 3050/4947/12271 3116/4948/12272 2982/4946/12273
+f 2982/4946/12273 3116/4948/12272 3140/4949/12274
+s 3007
+f 2902/4451/12275 3051/4719/12276 3050/4717/12277
+f 3050/4717/12277 3051/4719/12276 3172/4950/12278
+s 3008
+f 2984/4718/12279 3117/4951/12280 3051/4719/12281
+f 3051/4719/12281 3117/4951/12280 3173/4952/12282
+s 3009
+f 2904/4722/12283 3118/4833/12284 3005/4723/12285
+f 3005/4723/12285 3118/4833/12284 3068/4953/12286
+s 3010
+f 2986/4728/12287 3119/4954/12288 3022/4729/12289
+f 3022/4729/12289 3119/4954/12288 3023/4955/12290
+s 3011
+f 3053/4840/12291 2989/4732/12292 3120/4956/12293
+f 3120/4956/12293 2989/4732/12292 3121/4957/12294
+s 3012
+f 2989/4959/12295 2990/4960/12296 3121/4958/12297
+f 3121/4958/12297 2990/4960/12296 3122/4961/12298
+s 3013
+f 2990/4960/12299 2991/4843/12300 3122/4961/12301
+f 3122/4961/12301 2991/4843/12300 3097/4844/12302
+s 3014
+f 2995/4746/12303 2993/4962/12304 2994/4745/12305
+f 2994/4745/12305 2993/4962/12304 3055/4850/12306
+s 3015
+f 2996/4637/12307 3057/4747/12308 3123/4856/12309
+f 3123/4856/12309 3057/4747/12308 3175/4963/12310
+s 3016
+f 2920/4631/12311 3054/4841/12312 3057/4747/12313
+f 3057/4747/12313 3054/4841/12312 3053/4840/12314
+s 3017
+f 3058/4851/12315 3060/4751/12316 2997/4852/12317
+f 2997/4852/12317 3060/4751/12316 2926/4750/12318
+s 3018
+f 2998/4652/12319 3060/4751/12320 3124/4861/12321
+f 3124/4861/12321 3060/4751/12320 3176/4964/12322
+s 3019
+f 3001/4762/12323 3125/4859/12324 3000/4759/12325
+f 3000/4759/12325 3125/4859/12324 3031/4805/12326
+s 3020
+f 3064/4965/12327 3127/4966/12328 3003/4862/12329
+f 3003/4862/12329 3127/4966/12328 3126/4863/12330
+s 3021
+f 3065/4866/12331 3128/4967/12332 3004/4867/12333
+f 3004/4867/12333 3128/4967/12332 3129/4968/12334
+s 3022
+f 3004/4765/12335 3129/4969/12336 3066/4766/12337
+f 3066/4766/12337 3129/4969/12336 3185/4970/12338
+s 3023
+f 2937/4526/12339 3068/4769/12340 3067/4768/12341
+f 3067/4768/12341 3068/4769/12340 3186/4971/12342
+s 3024
+f 3002/4654/12343 3126/4863/12344 3052/4770/12345
+f 3052/4770/12345 3126/4863/12344 3174/4972/12346
+s 3025
+f 3011/4780/12347 3006/4771/12348 3130/4973/12349
+f 3130/4973/12349 3006/4771/12348 3131/4974/12350
+s 3026
+f 3006/4771/12351 3007/4772/12352 3131/4974/12353
+f 3131/4974/12353 3007/4772/12352 3133/4975/12354
+s 3027
+f 3069/4868/12355 2940/4659/12356 3132/4976/12357
+f 3132/4976/12357 2940/4659/12356 3071/4774/12358
+s 3028
+f 3008/4773/12359 3134/4977/12360 3071/4774/12361
+f 3071/4774/12361 3134/4977/12360 3132/4976/12362
+s 3029
+f 3072/4978/12363 3135/4979/12364 3008/4773/12365
+f 3008/4773/12365 3135/4979/12364 3134/4977/12366
+s 3030
+f 2941/4660/12367 3073/4871/12368 3072/4776/12369
+f 3072/4776/12369 3073/4871/12368 3190/4980/12370
+s 3031
+f 3076/4778/12371 3139/4981/12372 3010/4777/12373
+f 3010/4777/12373 3139/4981/12372 3196/4982/12374
+s 3032
+f 3076/4778/12375 3011/4779/12376 3139/4981/12377
+f 3139/4981/12377 3011/4779/12376 3130/4983/12378
+s 3033
+f 3079/4889/12379 3016/4788/12380 3141/4984/12381
+f 3141/4984/12381 3016/4788/12380 3142/4985/12382
+s 3034
+f 3016/4788/12383 3017/4789/12384 3142/4985/12385
+f 3142/4985/12385 3017/4789/12384 3081/4892/12386
+s 3035
+f 3024/4797/12387 3143/4986/12388 3018/4790/12389
+f 3018/4790/12389 3143/4986/12388 3144/4987/12390
+s 3036
+f 3018/4790/12391 3144/4987/12392 3019/4791/12393
+f 3019/4791/12393 3144/4987/12392 3145/4988/12394
+s 3037
+f 3019/4791/12395 3145/4988/12396 3020/4792/12397
+f 3020/4792/12397 3145/4988/12396 3146/4989/12398
+s 3038
+f 3020/4793/12399 3146/4990/12400 3084/4794/12401
+f 3084/4794/12401 3146/4990/12400 3201/4991/12402
+s 3039
+f 3085/4993/12403 3023/4955/12404 3147/4992/12405
+f 3147/4992/12405 3023/4955/12404 3119/4954/12406
+s 3040
+f 3085/4896/12407 3148/4994/12408 3024/4797/12409
+f 3024/4797/12409 3148/4994/12408 3143/4986/12410
+s 3041
+f 3028/4800/12411 3149/4995/12412 3025/4798/12413
+f 3025/4798/12413 3149/4995/12412 3150/4996/12414
+s 3042
+f 3025/4798/12415 3150/4996/12416 3026/4799/12417
+f 3026/4799/12417 3150/4996/12416 3151/4997/12418
+s 3043
+f 3026/4799/12419 3151/4997/12420 3027/4680/12421
+f 3027/4680/12421 3151/4997/12420 3152/4899/12422
+s 3044
+f 3029/4801/12423 3153/4998/12424 3028/4802/12425
+f 3028/4802/12425 3153/4998/12424 3149/4999/12426
+s 3045
+f 3032/4807/12427 3154/5000/12428 3029/4801/12429
+f 3029/4801/12429 3154/5000/12428 3153/4998/12430
+s 3046
+f 3030/4803/12431 3086/4804/12432 3102/4921/12433
+f 3102/4921/12433 3086/4804/12432 3203/5001/12434
+s 3047
+f 3032/4806/12435 3031/4805/12436 3154/5002/12437
+f 3154/5002/12437 3031/4805/12436 3125/4859/12438
+s 3048
+f 3034/4808/12439 3087/4809/12440 3092/4911/12441
+f 3092/4911/12441 3087/4809/12440 3204/5003/12442
+s 3049
+f 3036/4907/12443 3090/5004/12444 3156/4908/12445
+f 3156/4908/12445 3090/5004/12444 3206/5005/12446
+s 3050
+f 3089/4903/12447 3157/5006/12448 3090/4904/12449
+f 3090/4904/12449 3157/5006/12448 3207/5007/12450
+s 3051
+f 3089/4903/12451 3092/4911/12452 3157/5006/12453
+f 3157/5006/12453 3092/4911/12452 3210/5008/12454
+s 3052
+f 3094/4914/12455 3159/5009/12456 2963/4915/12457
+f 2963/4915/12457 3159/5009/12456 3095/5010/12458
+s 3053
+f 3033/4683/12459 3095/4812/12460 3155/4902/12461
+f 3155/4902/12461 3095/4812/12460 3213/5011/12462
+s 3054
+f 3093/4912/12463 3038/4813/12464 3160/5012/12465
+f 3160/5012/12465 3038/4813/12464 3104/4923/12466
+s 3055
+f 3037/4815/12467 3158/5013/12468 3096/4816/12469
+f 3096/4816/12469 3158/5013/12468 3214/5014/12470
+s 3056
+f 2965/4690/12471 3096/4816/12472 3097/4844/12473
+f 3097/4844/12473 3096/4816/12472 3122/4961/12474
+s 3057
+f 3105/4924/12475 3162/4941/12476 3042/4925/12477
+f 3042/4925/12477 3162/4941/12476 3163/5015/12478
+s 3058
+f 3043/4819/12479 3106/4820/12480 3164/5016/12481
+f 3164/5016/12481 3106/4820/12480 3222/5017/12482
+s 3059
+f 2974/4707/12483 3107/4822/12484 3108/4929/12485
+f 3108/4929/12485 3107/4822/12484 3225/5018/12486
+s 3060
+f 3107/5020/12487 3044/4927/12488 3166/5019/12489
+f 3166/5019/12489 3044/4927/12488 3224/5021/12490
+s 3061
+f 3110/4824/12491 3045/4823/12492 3168/5022/12493
+f 3168/5022/12493 3045/4823/12492 3229/5023/12494
+s 3062
+f 3110/4824/12495 3168/5022/12496 3048/4826/12497
+f 3048/4826/12497 3168/5022/12496 3232/5024/12498
+s 3063
+f 3049/5026/12499 3112/5027/12500 3171/5025/12501
+f 3171/5025/12501 3112/5027/12500 3116/5028/12502
+s 3064
+f 2981/4712/12503 3113/4827/12504 3115/4944/12505
+f 3115/4944/12505 3113/4827/12504 3233/5029/12506
+s 3065
+f 2979/4828/12507 3114/4829/12508 3113/5030/12509
+f 3113/5030/12509 3114/4829/12508 3234/5031/12510
+s 3066
+f 2986/4728/12511 3080/4830/12512 3119/4954/12513
+f 3119/4954/12513 3080/4830/12512 3079/5032/12514
+s 3067
+f 3050/5033/12515 3172/5034/12516 3116/5028/12517
+f 3116/5028/12517 3172/5034/12516 3236/5035/12518
+s 3068
+f 3052/4832/12519 3174/5036/12520 3118/4833/12521
+f 3118/4833/12521 3174/5036/12520 3238/5037/12522
+s 3069
+f 3120/4956/12523 3175/4963/12524 3053/4840/12525
+f 3053/4840/12525 3175/4963/12524 3057/4747/12526
+s 3070
+f 3060/4751/12527 3058/4851/12528 3176/4964/12529
+f 3176/4964/12529 3058/4851/12528 3177/5038/12530
+s 3071
+f 3058/4851/12531 3059/4854/12532 3177/5038/12533
+f 3177/5038/12533 3059/4854/12532 3178/5039/12534
+s 3072
+f 3059/4854/12535 3123/5040/12536 3178/5039/12537
+f 3178/5039/12537 3123/5040/12536 3241/5041/12538
+s 3073
+f 3062/4858/12539 3179/5042/12540 3125/4859/12541
+f 3125/4859/12541 3179/5042/12540 3154/5002/12542
+s 3074
+f 3063/4860/12543 3180/5043/12544 3062/4858/12545
+f 3062/4858/12545 3180/5043/12544 3179/5042/12546
+s 3075
+f 3063/4860/12547 3124/4861/12548 3180/5043/12549
+f 3180/5043/12549 3124/4861/12548 3242/5044/12550
+s 3076
+f 3127/4966/12551 3064/4965/12552 3181/5045/12553
+f 3181/5045/12553 3064/4965/12552 3182/5046/12554
+s 3077
+f 3064/4864/12555 3066/4766/12556 3182/5047/12557
+f 3182/5047/12557 3066/4766/12556 3185/4970/12558
+s 3078
+f 3065/4866/12559 3067/4768/12560 3183/5048/12561
+f 3183/5048/12561 3067/4768/12560 3186/4971/12562
+s 3079
+f 3128/4967/12563 3065/4866/12564 3184/5049/12565
+f 3184/5049/12565 3065/4866/12564 3183/5048/12566
+s 3080
+f 3068/4953/12567 3118/4833/12568 3186/5050/12569
+f 3186/5050/12569 3118/4833/12568 3238/5037/12570
+s 3081
+f 3132/4976/12571 3187/5051/12572 3069/4868/12573
+f 3069/4868/12573 3187/5051/12572 3251/5052/12574
+s 3082
+f 3069/4868/12575 3188/5053/12576 3070/4869/12577
+f 3070/4869/12577 3188/5053/12576 3189/5054/12578
+s 3083
+f 3070/4869/12579 3189/5054/12580 3133/4870/12581
+f 3133/4870/12581 3189/5054/12580 3253/5055/12582
+s 3084
+f 3072/4776/12583 3190/4980/12584 3135/5056/12585
+f 3135/5056/12585 3190/4980/12584 3255/5057/12586
+s 3085
+f 3073/4871/12587 3074/4872/12588 3191/5058/12589
+f 3191/5058/12589 3074/4872/12588 3192/5059/12590
+s 3086
+f 3074/4873/12591 3136/4876/12592 3192/5060/12593
+f 3192/5060/12593 3136/4876/12592 3256/5061/12594
+s 3087
+f 3009/4875/12595 3137/4878/12596 3136/4876/12597
+f 3136/4876/12597 3137/4878/12596 3257/5062/12598
+s 3088
+f 3137/4878/12599 3075/4877/12600 3193/5063/12601
+f 3193/5063/12601 3075/4877/12600 3194/5064/12602
+s 3089
+f 3075/4877/12603 3138/4879/12604 3194/5064/12605
+f 3194/5064/12605 3138/4879/12604 3195/5065/12606
+s 3090
+f 3138/4879/12607 3010/4777/12608 3195/5065/12609
+f 3195/5065/12609 3010/4777/12608 3196/4982/12610
+s 3091
+f 3014/4887/12611 3140/4949/12612 3112/4888/12613
+f 3112/4888/12613 3140/4949/12612 3116/4948/12614
+s 3092
+f 3141/5066/12615 3147/4992/12616 3079/5032/12617
+f 3079/5032/12617 3147/4992/12616 3119/4954/12618
+s 3093
+f 3142/4985/12619 3081/4892/12620 3197/5067/12621
+f 3197/5067/12621 3081/4892/12620 3198/5068/12622
+s 3094
+f 3081/4892/12623 3082/4893/12624 3198/5068/12625
+f 3198/5068/12625 3082/4893/12624 3199/5069/12626
+s 3095
+f 3082/4893/12627 3083/4894/12628 3199/5069/12629
+f 3199/5069/12629 3083/4894/12628 3200/5070/12630
+s 3096
+f 3083/4895/12631 3084/4794/12632 3200/5071/12633
+f 3200/5071/12633 3084/4794/12632 3201/4991/12634
+s 3097
+f 3147/4992/12635 3202/5072/12636 3085/4993/12637
+f 3085/4993/12637 3202/5072/12636 3148/5073/12638
+s 3098
+f 3086/4804/12639 3152/4899/12640 3203/5001/12641
+f 3203/5001/12641 3152/4899/12640 3270/5074/12642
+s 3099
+f 3087/4900/12643 3088/4901/12644 3204/5075/12645
+f 3204/5075/12645 3088/4901/12644 3205/5076/12646
+s 3100
+f 3088/4901/12647 3155/4902/12648 3205/5076/12649
+f 3205/5076/12649 3155/4902/12648 3271/5077/12650
+s 3101
+f 3091/4905/12651 3156/4908/12652 3208/5078/12653
+f 3208/5078/12653 3156/4908/12652 3272/5079/12654
+s 3102
+f 3158/4910/12655 3091/4905/12656 3209/5080/12657
+f 3209/5080/12657 3091/4905/12656 3208/5078/12658
+s 3103
+f 3094/4914/12659 3093/4912/12660 3211/5081/12661
+f 3211/5081/12661 3093/4912/12660 3160/5012/12662
+s 3104
+f 3159/5009/12663 3094/4914/12664 3212/5082/12665
+f 3212/5082/12665 3094/4914/12664 3211/5081/12666
+s 3105
+f 3095/5010/12667 3159/5009/12668 3213/5083/12669
+f 3213/5083/12669 3159/5009/12668 3276/5084/12670
+s 3106
+f 3104/4923/12671 3098/4916/12672 3215/5085/12673
+f 3215/5085/12673 3098/4916/12672 3216/5086/12674
+s 3107
+f 3098/4916/12675 3099/4917/12676 3216/5086/12677
+f 3216/5086/12677 3099/4917/12676 3217/5087/12678
+s 3108
+f 3099/4917/12679 3100/4918/12680 3217/5087/12681
+f 3217/5087/12681 3100/4918/12680 3218/5088/12682
+s 3109
+f 3100/4918/12683 3161/4919/12684 3218/5088/12685
+f 3218/5088/12685 3161/4919/12684 3278/5089/12686
+s 3110
+f 3103/4922/12687 3219/5090/12688 3101/4920/12689
+f 3101/4920/12689 3219/5090/12688 3220/5091/12690
+s 3111
+f 3101/4920/12691 3220/5091/12692 3161/4919/12693
+f 3161/4919/12693 3220/5091/12692 3278/5089/12694
+s 3112
+f 3102/4921/12695 3203/5001/12696 3103/4922/12697
+f 3103/4922/12697 3203/5001/12696 3219/5090/12698
+s 3113
+f 3160/5012/12699 3104/4923/12700 3221/5092/12701
+f 3221/5092/12701 3104/4923/12700 3215/5085/12702
+s 3114
+f 3106/4820/12703 3163/4926/12704 3222/5017/12705
+f 3222/5017/12705 3163/4926/12704 3280/5093/12706
+s 3115
+f 3164/5016/12707 3223/5094/12708 3043/4819/12709
+f 3043/4819/12709 3223/5094/12708 3165/4928/12710
+s 3116
+f 3044/4927/12711 3165/4928/12712 3224/5021/12713
+f 3224/5021/12713 3165/4928/12712 3223/5094/12714
+s 3117
+f 3107/4822/12715 3166/5095/12716 3225/5018/12717
+f 3225/5018/12717 3166/5095/12716 3283/5096/12718
+s 3118
+f 3108/4929/12719 3226/5097/12720 3111/4930/12721
+f 3111/4930/12721 3226/5097/12720 3231/5098/12722
+s 3119
+f 3167/4932/12723 3227/5099/12724 3045/4823/12725
+f 3045/4823/12725 3227/5099/12724 3229/5023/12726
+s 3120
+f 3109/4931/12727 3228/5100/12728 3167/4932/12729
+f 3167/4932/12729 3228/5100/12728 3227/5099/12730
+s 3121
+f 3169/4934/12731 3230/5101/12732 3109/4931/12733
+f 3109/4931/12733 3230/5101/12732 3228/5100/12734
+s 3122
+f 3046/4933/12735 3170/5102/12736 3169/4934/12737
+f 3169/4934/12737 3170/5102/12736 3286/5103/12738
+s 3123
+f 3111/4937/12739 3231/5104/12740 3170/4938/12741
+f 3170/4938/12741 3231/5104/12740 3287/5105/12742
+s 3124
+f 3048/4940/12743 3232/5106/12744 3162/4941/12745
+f 3162/4941/12745 3232/5106/12744 3279/5107/12746
+s 3125
+f 3114/4829/12747 3171/4943/12748 3234/5031/12749
+f 3234/5031/12749 3171/4943/12748 3289/5108/12750
+s 3126
+f 3117/5110/12751 3115/5111/12752 3235/5109/12753
+f 3235/5109/12753 3115/5111/12752 3291/5112/12754
+s 3127
+f 3051/4719/12755 3173/4952/12756 3172/4950/12757
+f 3172/4950/12757 3173/4952/12756 3292/5113/12758
+s 3128
+f 3173/4952/12759 3117/4951/12760 3237/5114/12761
+f 3237/5114/12761 3117/4951/12760 3235/5115/12762
+s 3129
+f 3175/5117/12763 3120/5118/12764 3239/5116/12765
+f 3239/5116/12765 3120/5118/12764 3240/5119/12766
+s 3130
+f 3120/5118/12767 3121/4958/12768 3240/5119/12769
+f 3240/5119/12769 3121/4958/12768 3214/5014/12770
+s 3131
+f 3121/4958/12771 3122/4961/12772 3214/5014/12773
+f 3214/5014/12773 3122/4961/12772 3096/4816/12774
+s 3132
+f 3123/5040/12775 3175/5117/12776 3241/5041/12777
+f 3241/5041/12777 3175/5117/12776 3239/5116/12778
+s 3133
+f 3124/4861/12779 3176/4964/12780 3242/5044/12781
+f 3242/5044/12781 3176/4964/12780 3295/5120/12782
+s 3134
+f 3127/4966/12783 3243/5121/12784 3126/4863/12785
+f 3126/4863/12785 3243/5121/12784 3174/4972/12786
+s 3135
+f 3181/5045/12787 3244/5122/12788 3127/4966/12789
+f 3127/4966/12789 3244/5122/12788 3243/5121/12790
+s 3136
+f 3184/5049/12791 3245/5123/12792 3128/4967/12793
+f 3128/4967/12793 3245/5123/12792 3246/5124/12794
+s 3137
+f 3128/4967/12795 3246/5124/12796 3129/4968/12797
+f 3129/4968/12797 3246/5124/12796 3247/5125/12798
+s 3138
+f 3129/4969/12799 3247/5126/12800 3185/4970/12801
+f 3185/4970/12801 3247/5126/12800 3301/5127/12802
+s 3139
+f 3130/4983/12803 3248/5128/12804 3139/4981/12805
+f 3139/4981/12805 3248/5128/12804 3258/5129/12806
+s 3140
+f 3130/4973/12807 3131/4974/12808 3248/5130/12809
+f 3248/5130/12809 3131/4974/12808 3249/5131/12810
+s 3141
+f 3131/4974/12811 3133/4975/12812 3249/5131/12813
+f 3249/5131/12813 3133/4975/12812 3253/5132/12814
+s 3142
+f 3187/5051/12815 3132/4976/12816 3250/5133/12817
+f 3250/5133/12817 3132/4976/12816 3134/4977/12818
+s 3143
+f 3069/5135/12819 3252/5136/12820 3188/5134/12821
+f 3188/5134/12821 3252/5136/12820 3306/5137/12822
+s 3144
+f 3134/5139/12823 3135/5140/12824 3254/5138/12825
+f 3254/5138/12825 3135/5140/12824 3309/5141/12826
+s 3145
+f 3073/4871/12827 3191/5058/12828 3190/4980/12829
+f 3190/4980/12829 3191/5058/12828 3310/5142/12830
+s 3146
+f 3137/4878/12831 3193/5063/12832 3257/5062/12833
+f 3257/5062/12833 3193/5063/12832 3313/5143/12834
+s 3147
+f 3139/4981/12835 3258/5129/12836 3196/4982/12837
+f 3196/4982/12837 3258/5129/12836 3316/5144/12838
+s 3148
+f 3147/4992/12839 3141/5066/12840 3202/5072/12841
+f 3202/5072/12841 3141/5066/12840 3259/5145/12842
+s 3149
+f 3141/4984/12843 3142/4985/12844 3259/5146/12845
+f 3259/5146/12845 3142/4985/12844 3197/5067/12846
+s 3150
+f 3148/4994/12847 3260/5147/12848 3143/4986/12849
+f 3143/4986/12849 3260/5147/12848 3261/5148/12850
+s 3151
+f 3143/4986/12851 3261/5148/12852 3144/4987/12853
+f 3144/4987/12853 3261/5148/12852 3262/5149/12854
+s 3152
+f 3144/4987/12855 3262/5149/12856 3145/4988/12857
+f 3145/4988/12857 3262/5149/12856 3263/5150/12858
+s 3153
+f 3145/4988/12859 3263/5150/12860 3146/4989/12861
+f 3146/4989/12861 3263/5150/12860 3264/5151/12862
+s 3154
+f 3146/4990/12863 3264/5152/12864 3201/4991/12865
+f 3201/4991/12865 3264/5152/12864 3322/5153/12866
+s 3155
+f 3202/5072/12867 3265/5154/12868 3148/5073/12869
+f 3148/5073/12869 3265/5154/12868 3260/5155/12870
+s 3156
+f 3153/4998/12871 3266/5156/12872 3149/4999/12873
+f 3149/4999/12873 3266/5156/12872 3267/5157/12874
+s 3157
+f 3149/4995/12875 3267/5158/12876 3150/4996/12877
+f 3150/4996/12877 3267/5158/12876 3268/5159/12878
+s 3158
+f 3150/4996/12879 3268/5159/12880 3151/4997/12881
+f 3151/4997/12881 3268/5159/12880 3269/5160/12882
+s 3159
+f 3151/4997/12883 3269/5160/12884 3152/4899/12885
+f 3152/4899/12885 3269/5160/12884 3270/5074/12886
+s 3160
+f 3154/5000/12887 3179/5161/12888 3153/4998/12889
+f 3153/4998/12889 3179/5161/12888 3266/5156/12890
+s 3161
+f 3092/4911/12891 3204/5003/12892 3210/5008/12893
+f 3210/5008/12893 3204/5003/12892 3323/5162/12894
+s 3162
+f 3156/4908/12895 3206/5005/12896 3272/5079/12897
+f 3272/5079/12897 3206/5005/12896 3325/5163/12898
+s 3163
+f 3090/5004/12899 3207/5164/12900 3206/5005/12901
+f 3206/5005/12901 3207/5164/12900 3326/5165/12902
+s 3164
+f 3157/5006/12903 3273/5166/12904 3207/5007/12905
+f 3207/5007/12905 3273/5166/12904 3327/5167/12906
+s 3165
+f 3158/4910/12907 3209/5080/12908 3274/5168/12909
+f 3274/5168/12909 3209/5080/12908 3330/5169/12910
+s 3166
+f 3157/5006/12911 3210/5008/12912 3273/5166/12913
+f 3273/5166/12913 3210/5008/12912 3331/5170/12914
+s 3167
+f 3212/5082/12915 3275/5171/12916 3159/5009/12917
+f 3159/5009/12917 3275/5171/12916 3276/5084/12918
+s 3168
+f 3155/5173/12919 3213/5083/12920 3271/5172/12921
+f 3271/5172/12921 3213/5083/12920 3334/5174/12922
+s 3169
+f 3211/5081/12923 3160/5012/12924 3277/5175/12925
+f 3277/5175/12925 3160/5012/12924 3221/5092/12926
+s 3170
+f 3158/5013/12927 3274/5176/12928 3214/5014/12929
+f 3214/5014/12929 3274/5176/12928 3240/5119/12930
+s 3171
+f 3162/4941/12931 3279/5107/12932 3163/5015/12933
+f 3163/5015/12933 3279/5107/12932 3280/5177/12934
+s 3172
+f 3223/5094/12935 3164/5016/12936 3281/5178/12937
+f 3281/5178/12937 3164/5016/12936 3345/5179/12938
+s 3173
+f 3164/5016/12939 3222/5017/12940 3282/5180/12941
+f 3282/5180/12941 3222/5017/12940 3343/5181/12942
+s 3174
+f 3108/4929/12943 3225/5018/12944 3226/5097/12945
+f 3226/5097/12945 3225/5018/12944 3347/5182/12946
+s 3175
+f 3224/5184/12947 3284/5185/12948 3166/5183/12949
+f 3166/5183/12949 3284/5185/12948 3348/5186/12950
+s 3176
+f 3168/5022/12951 3229/5023/12952 3285/5187/12953
+f 3285/5187/12953 3229/5023/12952 3352/5188/12954
+s 3177
+f 3169/4934/12955 3286/5103/12956 3230/5101/12957
+f 3230/5101/12957 3286/5103/12956 3353/5189/12958
+s 3178
+f 3232/5024/12959 3168/5022/12960 3288/5190/12961
+f 3288/5190/12961 3168/5022/12960 3285/5187/12962
+s 3179
+f 3171/5025/12963 3116/5028/12964 3289/5191/12965
+f 3289/5191/12965 3116/5028/12964 3236/5035/12966
+s 3180
+f 3233/5192/12967 3290/5193/12968 3115/5111/12969
+f 3115/5111/12969 3290/5193/12968 3291/5112/12970
+s 3181
+f 3113/5030/12971 3234/5031/12972 3233/5194/12973
+f 3233/5194/12973 3234/5031/12972 3356/5195/12974
+s 3182
+f 3172/5034/12975 3292/5196/12976 3236/5035/12977
+f 3236/5035/12977 3292/5196/12976 3360/5197/12978
+s 3183
+f 3237/5114/12979 3293/5198/12980 3173/4952/12981
+f 3173/4952/12981 3293/5198/12980 3292/5113/12982
+s 3184
+f 3238/5200/12983 3174/5201/12984 3294/5199/12985
+f 3294/5199/12985 3174/5201/12984 3243/5202/12986
+s 3185
+f 3176/4964/12987 3177/5038/12988 3295/5120/12989
+f 3295/5120/12989 3177/5038/12988 3296/5203/12990
+s 3186
+f 3177/5038/12991 3178/5039/12992 3296/5203/12993
+f 3296/5203/12993 3178/5039/12992 3363/5204/12994
+s 3187
+f 3241/5041/12995 3297/5205/12996 3178/5039/12997
+f 3178/5039/12997 3297/5205/12996 3363/5204/12998
+s 3188
+f 3179/5161/12999 3180/5206/13000 3266/5156/13001
+f 3266/5156/13001 3180/5206/13000 3365/5207/13002
+s 3189
+f 3242/5208/13003 3298/5209/13004 3180/5206/13005
+f 3180/5206/13005 3298/5209/13004 3365/5207/13006
+s 3190
+f 3244/5122/13007 3181/5045/13008 3299/5210/13009
+f 3299/5210/13009 3181/5045/13008 3300/5211/13010
+s 3191
+f 3181/5045/13011 3182/5046/13012 3300/5211/13013
+f 3300/5211/13013 3182/5046/13012 3366/5212/13014
+s 3192
+f 3185/4970/13015 3301/5127/13016 3182/5047/13017
+f 3182/5047/13017 3301/5127/13016 3366/5213/13018
+s 3193
+f 3184/5215/13019 3183/5216/13020 3302/5214/13021
+f 3302/5214/13021 3183/5216/13020 3294/5199/13022
+s 3194
+f 3183/5216/13023 3186/5217/13024 3294/5199/13025
+f 3294/5199/13025 3186/5217/13024 3238/5200/13026
+s 3195
+f 3245/5219/13027 3184/5215/13028 3303/5218/13029
+f 3303/5218/13029 3184/5215/13028 3302/5214/13030
+s 3196
+f 3250/5133/13031 3304/5220/13032 3187/5051/13033
+f 3187/5051/13033 3304/5220/13032 3305/5221/13034
+s 3197
+f 3069/5223/13035 3251/5224/13036 3252/5222/13037
+f 3252/5222/13037 3251/5224/13036 3374/5225/13038
+s 3198
+f 3187/5051/13039 3305/5221/13040 3251/5052/13041
+f 3251/5052/13041 3305/5221/13040 3375/5226/13042
+s 3199
+f 3188/5053/13043 3307/5227/13044 3189/5054/13045
+f 3189/5054/13045 3307/5227/13044 3308/5228/13046
+s 3200
+f 3189/5229/13047 3308/5230/13048 3253/5132/13049
+f 3253/5132/13049 3308/5230/13048 3376/5231/13050
+s 3201
+f 3134/5139/13051 3254/5138/13052 3250/5232/13053
+f 3250/5232/13053 3254/5138/13052 3377/5233/13054
+s 3202
+f 3135/5235/13055 3255/5236/13056 3309/5234/13057
+f 3309/5234/13057 3255/5236/13056 3378/5237/13058
+s 3203
+f 3190/4980/13059 3310/5142/13060 3255/5057/13061
+f 3255/5057/13061 3310/5142/13060 3379/5238/13062
+s 3204
+f 3191/5058/13063 3192/5059/13064 3311/5239/13065
+f 3311/5239/13065 3192/5059/13064 3312/5240/13066
+s 3205
+f 3192/5060/13067 3256/5061/13068 3312/5241/13069
+f 3312/5241/13069 3256/5061/13068 3381/5242/13070
+s 3206
+f 3136/4876/13071 3257/5062/13072 3256/5061/13073
+f 3256/5061/13073 3257/5062/13072 3382/5243/13074
+s 3207
+f 3193/5244/13075 3194/5245/13076 3309/5234/13077
+f 3309/5234/13077 3194/5245/13076 3254/5246/13078
+s 3208
+f 3194/5064/13079 3195/5065/13080 3314/5247/13081
+f 3314/5247/13081 3195/5065/13080 3315/5248/13082
+s 3209
+f 3195/5065/13083 3196/4982/13084 3315/5248/13085
+f 3315/5248/13085 3196/4982/13084 3384/5249/13086
+s 3210
+f 3259/5146/13087 3197/5067/13088 3317/5250/13089
+f 3317/5250/13089 3197/5067/13088 3318/5251/13090
+s 3211
+f 3197/5067/13091 3198/5068/13092 3318/5251/13093
+f 3318/5251/13093 3198/5068/13092 3319/5252/13094
+s 3212
+f 3198/5068/13095 3199/5069/13096 3319/5252/13097
+f 3319/5252/13097 3199/5069/13096 3320/5253/13098
+s 3213
+f 3199/5069/13099 3200/5070/13100 3320/5253/13101
+f 3320/5253/13101 3200/5070/13100 3321/5254/13102
+s 3214
+f 3200/5071/13103 3201/4991/13104 3321/5255/13105
+f 3321/5255/13105 3201/4991/13104 3322/5153/13106
+s 3215
+f 3202/5072/13107 3259/5145/13108 3265/5154/13109
+f 3265/5154/13109 3259/5145/13108 3317/5256/13110
+s 3216
+f 3203/5001/13111 3270/5074/13112 3219/5090/13113
+f 3219/5090/13113 3270/5074/13112 3340/5257/13114
+s 3217
+f 3204/5075/13115 3205/5076/13116 3323/5258/13117
+f 3323/5258/13117 3205/5076/13116 3324/5259/13118
+s 3218
+f 3205/5076/13119 3271/5077/13120 3324/5259/13121
+f 3324/5259/13121 3271/5077/13120 3393/5260/13122
+s 3219
+f 3209/5080/13123 3208/5078/13124 3328/5261/13125
+f 3328/5261/13125 3208/5078/13124 3329/5262/13126
+s 3220
+f 3208/5078/13127 3272/5079/13128 3329/5262/13129
+f 3329/5262/13129 3272/5079/13128 3395/5263/13130
+s 3221
+f 3212/5082/13131 3211/5081/13132 3332/5264/13133
+f 3332/5264/13133 3211/5081/13132 3277/5175/13134
+s 3222
+f 3275/5171/13135 3212/5082/13136 3333/5265/13137
+f 3333/5265/13137 3212/5082/13136 3332/5264/13138
+s 3223
+f 3213/5083/13139 3276/5084/13140 3334/5174/13141
+f 3334/5174/13141 3276/5084/13140 3399/5266/13142
+s 3224
+f 3215/5085/13143 3335/5267/13144 3221/5092/13145
+f 3221/5092/13145 3335/5267/13144 3342/5268/13146
+s 3225
+f 3216/5086/13147 3336/5269/13148 3215/5085/13149
+f 3215/5085/13149 3336/5269/13148 3335/5267/13150
+s 3226
+f 3217/5087/13151 3337/5270/13152 3216/5086/13153
+f 3216/5086/13153 3337/5270/13152 3336/5269/13154
+s 3227
+f 3218/5088/13155 3338/5271/13156 3217/5087/13157
+f 3217/5087/13157 3338/5271/13156 3337/5270/13158
+s 3228
+f 3278/5089/13159 3339/5272/13160 3218/5088/13161
+f 3218/5088/13161 3339/5272/13160 3338/5271/13162
+s 3229
+f 3219/5090/13163 3340/5257/13164 3220/5091/13165
+f 3220/5091/13165 3340/5257/13164 3341/5273/13166
+s 3230
+f 3220/5091/13167 3341/5273/13168 3278/5089/13169
+f 3278/5089/13169 3341/5273/13168 3339/5272/13170
+s 3231
+f 3221/5092/13171 3342/5268/13172 3277/5175/13173
+f 3277/5175/13173 3342/5268/13172 3400/5274/13174
+s 3232
+f 3222/5017/13175 3280/5093/13176 3343/5181/13177
+f 3343/5181/13177 3280/5093/13176 3402/5275/13178
+s 3233
+f 3281/5178/13179 3344/5276/13180 3223/5094/13181
+f 3223/5094/13181 3344/5276/13180 3224/5021/13182
+s 3234
+f 3164/5278/13183 3282/5279/13184 3346/5277/13185
+f 3346/5277/13185 3282/5279/13184 3405/5280/13186
+s 3235
+f 3225/5018/13187 3283/5096/13188 3347/5182/13189
+f 3347/5182/13189 3283/5096/13188 3408/5281/13190
+s 3236
+f 3166/5183/13191 3348/5186/13192 3283/5282/13193
+f 3283/5282/13193 3348/5186/13192 3409/5283/13194
+s 3237
+f 3224/5285/13195 3344/5286/13196 3284/5284/13197
+f 3284/5284/13197 3344/5286/13196 3410/5287/13198
+s 3238
+f 3226/5097/13199 3349/5288/13200 3231/5098/13201
+f 3231/5098/13201 3349/5288/13200 3354/5289/13202
+s 3239
+f 3228/5100/13203 3350/5290/13204 3227/5099/13205
+f 3227/5099/13205 3350/5290/13204 3351/5291/13206
+s 3240
+f 3227/5099/13207 3351/5291/13208 3229/5023/13209
+f 3229/5023/13209 3351/5291/13208 3411/5292/13210
+s 3241
+f 3230/5101/13211 3348/5293/13212 3228/5100/13213
+f 3228/5100/13213 3348/5293/13212 3284/5294/13214
+s 3242
+f 3170/5102/13215 3287/5295/13216 3286/5103/13217
+f 3286/5103/13217 3287/5295/13216 3415/5296/13218
+s 3243
+f 3231/5104/13219 3354/5297/13220 3287/5105/13221
+f 3287/5105/13221 3354/5297/13220 3416/5298/13222
+s 3244
+f 3232/5106/13223 3288/5299/13224 3279/5107/13225
+f 3279/5107/13225 3288/5299/13224 3401/5300/13226
+s 3245
+f 3290/5302/13227 3233/5194/13228 3355/5301/13229
+f 3355/5301/13229 3233/5194/13228 3356/5195/13230
+s 3246
+f 3234/5031/13231 3289/5108/13232 3356/5195/13233
+f 3356/5195/13233 3289/5108/13232 3359/5303/13234
+s 3247
+f 3237/5114/13235 3235/5115/13236 3357/5304/13237
+f 3357/5304/13237 3235/5115/13236 3358/5305/13238
+s 3248
+f 3235/5109/13239 3291/5112/13240 3358/5306/13241
+f 3358/5306/13241 3291/5112/13240 3419/5307/13242
+s 3249
+f 3289/5191/13243 3236/5035/13244 3359/5308/13245
+f 3359/5308/13245 3236/5035/13244 3360/5197/13246
+s 3250
+f 3293/5198/13247 3237/5114/13248 3361/5309/13249
+f 3361/5309/13249 3237/5114/13248 3357/5304/13250
+s 3251
+f 3239/5116/13251 3362/5310/13252 3241/5041/13253
+f 3241/5041/13253 3362/5310/13252 3297/5205/13254
+s 3252
+f 3240/5119/13255 3274/5176/13256 3239/5116/13257
+f 3239/5116/13257 3274/5176/13256 3362/5310/13258
+s 3253
+f 3295/5311/13259 3364/5312/13260 3242/5208/13261
+f 3242/5208/13261 3364/5312/13260 3298/5209/13262
+s 3254
+f 3244/5313/13263 3302/5214/13264 3243/5202/13265
+f 3243/5202/13265 3302/5214/13264 3294/5199/13266
+s 3255
+f 3299/5314/13267 3303/5218/13268 3244/5313/13269
+f 3244/5313/13269 3303/5218/13268 3302/5214/13270
+s 3256
+f 3303/5218/13271 3367/5315/13272 3245/5219/13273
+f 3245/5219/13273 3367/5315/13272 3368/5316/13274
+s 3257
+f 3245/5123/13275 3368/5317/13276 3246/5124/13277
+f 3246/5124/13277 3368/5317/13276 3369/5318/13278
+s 3258
+f 3246/5124/13279 3369/5318/13280 3247/5125/13281
+f 3247/5125/13281 3369/5318/13280 3430/5319/13282
+s 3259
+f 3301/5127/13283 3247/5126/13284 3370/5320/13285
+f 3370/5320/13285 3247/5126/13284 3431/5321/13286
+s 3260
+f 3248/5128/13287 3371/5322/13288 3258/5129/13289
+f 3258/5129/13289 3371/5322/13288 3385/5323/13290
+s 3261
+f 3248/5130/13291 3249/5131/13292 3371/5324/13293
+f 3371/5324/13293 3249/5131/13292 3372/5325/13294
+s 3262
+f 3249/5131/13295 3253/5132/13296 3372/5325/13297
+f 3372/5325/13297 3253/5132/13296 3376/5231/13298
+s 3263
+f 3304/5327/13299 3250/5232/13300 3373/5326/13301
+f 3373/5326/13301 3250/5232/13300 3377/5233/13302
+s 3264
+f 3188/5134/13303 3306/5137/13304 3307/5328/13305
+f 3307/5328/13305 3306/5137/13304 3435/5329/13306
+s 3265
+f 3306/5137/13307 3252/5136/13308 3316/5330/13309
+f 3316/5330/13309 3252/5136/13308 3196/5331/13310
+s 3266
+f 3310/5142/13311 3191/5058/13312 3380/5332/13313
+f 3380/5332/13313 3191/5058/13312 3311/5239/13314
+s 3267
+f 3313/5334/13315 3383/5335/13316 3257/5333/13317
+f 3257/5333/13317 3383/5335/13316 3382/5336/13318
+s 3268
+f 3313/5337/13319 3193/5244/13320 3378/5237/13321
+f 3378/5237/13321 3193/5244/13320 3309/5234/13322
+s 3269
+f 3194/5338/13323 3314/5339/13324 3254/5138/13325
+f 3254/5138/13325 3314/5339/13324 3377/5233/13326
+s 3270
+f 3258/5129/13327 3385/5323/13328 3316/5144/13329
+f 3316/5144/13329 3385/5323/13328 3443/5340/13330
+s 3271
+f 3260/5155/13331 3265/5154/13332 3386/5341/13333
+f 3386/5341/13333 3265/5154/13332 3448/5342/13334
+s 3272
+f 3260/5147/13335 3386/5343/13336 3261/5148/13337
+f 3261/5148/13337 3386/5343/13336 3387/5344/13338
+s 3273
+f 3261/5148/13339 3387/5344/13340 3262/5149/13341
+f 3262/5149/13341 3387/5344/13340 3388/5345/13342
+s 3274
+f 3262/5149/13343 3388/5345/13344 3263/5150/13345
+f 3263/5150/13345 3388/5345/13344 3449/5346/13346
+s 3275
+f 3264/5151/13347 3263/5150/13348 3389/5347/13349
+f 3389/5347/13349 3263/5150/13348 3449/5346/13350
+s 3276
+f 3264/5152/13351 3389/5348/13352 3322/5153/13353
+f 3322/5153/13353 3389/5348/13352 3450/5349/13354
+s 3277
+f 3266/5156/13355 3365/5207/13356 3267/5157/13357
+f 3267/5157/13357 3365/5207/13356 3390/5350/13358
+s 3278
+f 3267/5158/13359 3390/5351/13360 3268/5159/13361
+f 3268/5159/13361 3390/5351/13360 3391/5352/13362
+s 3279
+f 3268/5159/13363 3391/5352/13364 3269/5160/13365
+f 3269/5160/13365 3391/5352/13364 3392/5353/13366
+s 3280
+f 3269/5160/13367 3392/5353/13368 3270/5074/13369
+f 3270/5074/13369 3392/5353/13368 3340/5257/13370
+s 3281
+f 3323/5162/13371 3394/5354/13372 3210/5008/13373
+f 3210/5008/13373 3394/5354/13372 3331/5170/13374
+s 3282
+f 3272/5079/13375 3325/5163/13376 3395/5263/13377
+f 3395/5263/13377 3325/5163/13376 3452/5355/13378
+s 3283
+f 3206/5005/13379 3326/5165/13380 3325/5163/13381
+f 3325/5163/13381 3326/5165/13380 3453/5356/13382
+s 3284
+f 3326/5165/13383 3207/5164/13384 3396/5357/13385
+f 3396/5357/13385 3207/5164/13384 3327/5358/13386
+s 3285
+f 3273/5166/13387 3397/5359/13388 3327/5167/13389
+f 3327/5167/13389 3397/5359/13388 3455/5360/13390
+s 3286
+f 3209/5080/13391 3328/5261/13392 3330/5169/13393
+f 3330/5169/13393 3328/5261/13392 3456/5361/13394
+s 3287
+f 3274/5168/13395 3330/5169/13396 3362/5362/13397
+f 3362/5362/13397 3330/5169/13396 3424/5363/13398
+s 3288
+f 3273/5166/13399 3331/5170/13400 3397/5359/13401
+f 3397/5359/13401 3331/5170/13400 3459/5364/13402
+s 3289
+f 3333/5265/13403 3398/5365/13404 3275/5171/13405
+f 3275/5171/13405 3398/5365/13404 3463/5366/13406
+s 3290
+f 3276/5084/13407 3275/5171/13408 3399/5266/13409
+f 3399/5266/13409 3275/5171/13408 3463/5366/13410
+s 3291
+f 3271/5172/13411 3334/5174/13412 3393/5367/13413
+f 3393/5367/13413 3334/5174/13412 3464/5368/13414
+s 3292
+f 3277/5175/13415 3400/5274/13416 3332/5264/13417
+f 3332/5264/13417 3400/5274/13416 3461/5369/13418
+s 3293
+f 3279/5107/13419 3401/5300/13420 3280/5177/13421
+f 3280/5177/13421 3401/5300/13420 3402/5370/13422
+s 3294
+f 3344/5276/13423 3281/5178/13424 3403/5371/13425
+f 3403/5371/13425 3281/5178/13424 3404/5372/13426
+s 3295
+f 3281/5178/13427 3345/5179/13428 3404/5372/13429
+f 3404/5372/13429 3345/5179/13428 3474/5373/13430
+s 3296
+f 3164/5375/13431 3346/5376/13432 3345/5374/13433
+f 3345/5374/13433 3346/5376/13432 3475/5377/13434
+s 3297
+f 3282/5180/13435 3343/5181/13436 3406/5378/13437
+f 3406/5378/13437 3343/5181/13436 3472/5379/13438
+s 3298
+f 3347/5182/13439 3407/5380/13440 3226/5097/13441
+f 3226/5097/13441 3407/5380/13440 3349/5288/13442
+s 3299
+f 3228/5382/13443 3284/5284/13444 3350/5381/13445
+f 3350/5381/13445 3284/5284/13444 3410/5287/13446
+s 3300
+f 3348/5186/13447 3230/5383/13448 3409/5283/13449
+f 3409/5283/13449 3230/5383/13448 3353/5384/13450
+s 3301
+f 3288/5190/13451 3285/5187/13452 3412/5385/13453
+f 3412/5385/13453 3285/5187/13452 3413/5386/13454
+s 3302
+f 3285/5187/13455 3352/5188/13456 3413/5386/13457
+f 3413/5386/13457 3352/5188/13456 3480/5387/13458
+s 3303
+f 3229/5389/13459 3346/5277/13460 3352/5388/13461
+f 3352/5388/13461 3346/5277/13460 3405/5280/13462
+s 3304
+f 3353/5391/13463 3286/5392/13464 3414/5390/13465
+f 3414/5390/13465 3286/5392/13464 3415/5393/13466
+s 3305
+f 3355/5301/13467 3417/5394/13468 3290/5302/13469
+f 3290/5302/13469 3417/5394/13468 3418/5395/13470
+s 3306
+f 3290/5193/13471 3418/5396/13472 3291/5112/13473
+f 3291/5112/13473 3418/5396/13472 3419/5307/13474
+s 3307
+f 3360/5398/13475 3292/5399/13476 3420/5397/13477
+f 3420/5397/13477 3292/5399/13476 3293/5400/13478
+s 3308
+f 3361/5401/13479 3421/5402/13480 3293/5400/13481
+f 3293/5400/13481 3421/5402/13480 3420/5397/13482
+s 3309
+f 3296/5403/13483 3422/5404/13484 3295/5311/13485
+f 3295/5311/13485 3422/5404/13484 3364/5312/13486
+s 3310
+f 3363/5405/13487 3423/5406/13488 3296/5403/13489
+f 3296/5403/13489 3423/5406/13488 3422/5404/13490
+s 3311
+f 3362/5362/13491 3424/5363/13492 3297/5407/13493
+f 3297/5407/13493 3424/5363/13492 3425/5408/13494
+s 3312
+f 3297/5407/13495 3425/5408/13496 3363/5405/13497
+f 3363/5405/13497 3425/5408/13496 3423/5406/13498
+s 3313
+f 3364/5312/13499 3426/5409/13500 3298/5209/13501
+f 3298/5209/13501 3426/5409/13500 3427/5410/13502
+s 3314
+f 3298/5209/13503 3427/5410/13504 3365/5207/13505
+f 3365/5207/13505 3427/5410/13504 3390/5350/13506
+s 3315
+f 3303/5218/13507 3299/5314/13508 3367/5315/13509
+f 3367/5315/13509 3299/5314/13508 3428/5411/13510
+s 3316
+f 3299/5210/13511 3300/5211/13512 3428/5412/13513
+f 3428/5412/13513 3300/5211/13512 3429/5413/13514
+s 3317
+f 3300/5211/13515 3366/5212/13516 3429/5413/13517
+f 3429/5413/13517 3366/5212/13516 3490/5414/13518
+s 3318
+f 3301/5127/13519 3370/5320/13520 3366/5213/13521
+f 3366/5213/13521 3370/5320/13520 3491/5415/13522
+s 3319
+f 3304/5327/13523 3373/5326/13524 3432/5416/13525
+f 3432/5416/13525 3373/5326/13524 3499/5417/13526
+s 3320
+f 3305/5221/13527 3304/5220/13528 3433/5418/13529
+f 3433/5418/13529 3304/5220/13528 3432/5419/13530
+s 3321
+f 3374/5225/13531 3384/5420/13532 3252/5222/13533
+f 3252/5222/13533 3384/5420/13532 3196/5421/13534
+s 3322
+f 3374/5225/13535 3251/5224/13536 3434/5422/13537
+f 3434/5422/13537 3251/5224/13536 3375/5423/13538
+s 3323
+f 3305/5221/13539 3433/5418/13540 3375/5226/13541
+f 3375/5226/13541 3433/5418/13540 3501/5424/13542
+s 3324
+f 3306/5137/13543 3316/5330/13544 3435/5329/13545
+f 3435/5329/13545 3316/5330/13544 3443/5425/13546
+s 3325
+f 3308/5228/13547 3307/5227/13548 3436/5426/13549
+f 3436/5426/13549 3307/5227/13548 3502/5427/13550
+s 3326
+f 3308/5230/13551 3436/5428/13552 3376/5231/13553
+f 3376/5231/13553 3436/5428/13552 3498/5429/13554
+s 3327
+f 3255/5236/13555 3379/5430/13556 3378/5237/13557
+f 3378/5237/13557 3379/5430/13556 3440/5431/13558
+s 3328
+f 3310/5142/13559 3380/5332/13560 3379/5238/13561
+f 3379/5238/13561 3380/5332/13560 3503/5432/13562
+s 3329
+f 3380/5332/13563 3311/5239/13564 3437/5433/13565
+f 3437/5433/13565 3311/5239/13564 3438/5434/13566
+s 3330
+f 3311/5239/13567 3312/5240/13568 3438/5434/13569
+f 3438/5434/13569 3312/5240/13568 3439/5435/13570
+s 3331
+f 3312/5437/13571 3381/5438/13572 3439/5436/13573
+f 3439/5436/13573 3381/5438/13572 3504/5439/13574
+s 3332
+f 3256/5441/13575 3382/5336/13576 3381/5440/13577
+f 3381/5440/13577 3382/5336/13576 3505/5442/13578
+s 3333
+f 3383/5443/13579 3313/5337/13580 3440/5431/13581
+f 3440/5431/13581 3313/5337/13580 3378/5237/13582
+s 3334
+f 3314/5247/13583 3315/5248/13584 3441/5444/13585
+f 3441/5444/13585 3315/5248/13584 3442/5445/13586
+s 3335
+f 3315/5248/13587 3384/5249/13588 3442/5445/13589
+f 3442/5445/13589 3384/5249/13588 3500/5446/13590
+s 3336
+f 3317/5256/13591 3444/5447/13592 3265/5154/13593
+f 3265/5154/13593 3444/5447/13592 3448/5342/13594
+s 3337
+f 3317/5250/13595 3318/5251/13596 3444/5448/13597
+f 3444/5448/13597 3318/5251/13596 3445/5449/13598
+s 3338
+f 3318/5251/13599 3319/5252/13600 3445/5449/13601
+f 3445/5449/13601 3319/5252/13600 3446/5450/13602
+s 3339
+f 3319/5252/13603 3320/5253/13604 3446/5450/13605
+f 3446/5450/13605 3320/5253/13604 3509/5451/13606
+s 3340
+f 3321/5254/13607 3447/5452/13608 3320/5253/13609
+f 3320/5253/13609 3447/5452/13608 3509/5451/13610
+s 3341
+f 3321/5255/13611 3322/5153/13612 3447/5453/13613
+f 3447/5453/13613 3322/5153/13612 3450/5349/13614
+s 3342
+f 3323/5162/13615 3324/5454/13616 3394/5354/13617
+f 3394/5354/13617 3324/5454/13616 3451/5455/13618
+s 3343
+f 3324/5259/13619 3393/5260/13620 3451/5456/13621
+f 3451/5456/13621 3393/5260/13620 3516/5457/13622
+s 3344
+f 3326/5165/13623 3396/5357/13624 3453/5356/13625
+f 3453/5356/13625 3396/5357/13624 3518/5458/13626
+s 3345
+f 3396/5357/13627 3327/5358/13628 3454/5459/13629
+f 3454/5459/13629 3327/5358/13628 3455/5460/13630
+s 3346
+f 3328/5261/13631 3329/5262/13632 3457/5461/13633
+f 3457/5461/13633 3329/5262/13632 3458/5462/13634
+s 3347
+f 3329/5464/13635 3395/5465/13636 3458/5463/13637
+f 3458/5463/13637 3395/5465/13636 3517/5466/13638
+s 3348
+f 3394/5354/13639 3460/5467/13640 3331/5170/13641
+f 3331/5170/13641 3460/5467/13640 3459/5364/13642
+s 3349
+f 3332/5264/13643 3461/5369/13644 3333/5265/13645
+f 3333/5265/13645 3461/5369/13644 3462/5468/13646
+s 3350
+f 3333/5265/13647 3462/5468/13648 3398/5365/13649
+f 3398/5365/13649 3462/5468/13648 3520/5469/13650
+s 3351
+f 3334/5174/13651 3399/5266/13652 3464/5368/13653
+f 3464/5368/13653 3399/5266/13652 3522/5470/13654
+s 3352
+f 3336/5269/13655 3465/5471/13656 3335/5267/13657
+f 3335/5267/13657 3465/5471/13656 3466/5472/13658
+s 3353
+f 3335/5267/13659 3466/5472/13660 3342/5268/13661
+f 3342/5268/13661 3466/5472/13660 3471/5473/13662
+s 3354
+f 3337/5270/13663 3467/5474/13664 3336/5269/13665
+f 3336/5269/13665 3467/5474/13664 3465/5471/13666
+s 3355
+f 3338/5271/13667 3468/5475/13668 3337/5270/13669
+f 3337/5270/13669 3468/5475/13668 3467/5474/13670
+s 3356
+f 3339/5272/13671 3469/5476/13672 3338/5271/13673
+f 3338/5271/13673 3469/5476/13672 3468/5475/13674
+s 3357
+f 3341/5273/13675 3470/5477/13676 3339/5272/13677
+f 3339/5272/13677 3470/5477/13676 3469/5476/13678
+s 3358
+f 3340/5257/13679 3392/5353/13680 3341/5273/13681
+f 3341/5273/13681 3392/5353/13680 3470/5477/13682
+s 3359
+f 3342/5268/13683 3471/5473/13684 3400/5274/13685
+f 3400/5274/13685 3471/5473/13684 3523/5478/13686
+s 3360
+f 3343/5480/13687 3402/5370/13688 3472/5479/13689
+f 3472/5479/13689 3402/5370/13688 3525/5481/13690
+s 3361
+f 3403/5482/13691 3473/5483/13692 3344/5286/13693
+f 3344/5286/13693 3473/5483/13692 3410/5287/13694
+s 3362
+f 3282/5279/13695 3406/5484/13696 3405/5280/13697
+f 3405/5280/13697 3406/5484/13696 3529/5485/13698
+s 3363
+f 3347/5182/13699 3408/5281/13700 3407/5380/13701
+f 3407/5380/13701 3408/5281/13700 3531/5486/13702
+s 3364
+f 3283/5282/13703 3409/5283/13704 3408/5487/13705
+f 3408/5487/13705 3409/5283/13704 3481/5488/13706
+s 3365
+f 3407/5380/13707 3476/5489/13708 3349/5288/13709
+f 3349/5288/13709 3476/5489/13708 3477/5490/13710
+s 3366
+f 3349/5288/13711 3477/5490/13712 3354/5289/13713
+f 3354/5289/13713 3477/5490/13712 3482/5491/13714
+s 3367
+f 3350/5290/13715 3478/5492/13716 3351/5291/13717
+f 3351/5291/13717 3478/5492/13716 3479/5493/13718
+s 3368
+f 3351/5291/13719 3479/5493/13720 3411/5292/13721
+f 3411/5292/13721 3479/5493/13720 3532/5494/13722
+s 3369
+f 3229/5495/13723 3411/5496/13724 3346/5376/13725
+f 3346/5376/13725 3411/5496/13724 3475/5377/13726
+s 3370
+f 3288/5299/13727 3412/5497/13728 3401/5300/13729
+f 3401/5300/13729 3412/5497/13728 3524/5498/13730
+s 3371
+f 3409/5283/13731 3353/5384/13732 3481/5488/13733
+f 3481/5488/13733 3353/5384/13732 3414/5499/13734
+s 3372
+f 3287/5105/13735 3416/5298/13736 3415/5500/13737
+f 3415/5500/13737 3416/5298/13736 3537/5501/13738
+s 3373
+f 3354/5297/13739 3482/5502/13740 3416/5298/13741
+f 3416/5298/13741 3482/5502/13740 3538/5503/13742
+s 3374
+f 3417/5394/13743 3355/5301/13744 3483/5504/13745
+f 3483/5504/13745 3355/5301/13744 3484/5505/13746
+s 3375
+f 3355/5301/13747 3356/5195/13748 3484/5505/13749
+f 3484/5505/13749 3356/5195/13748 3359/5303/13750
+s 3376
+f 3361/5309/13751 3357/5304/13752 3485/5506/13753
+f 3485/5506/13753 3357/5304/13752 3486/5507/13754
+s 3377
+f 3357/5304/13755 3358/5305/13756 3486/5507/13757
+f 3486/5507/13757 3358/5305/13756 3541/5508/13758
+s 3378
+f 3419/5307/13759 3487/5509/13760 3358/5306/13761
+f 3358/5306/13761 3487/5509/13760 3541/5510/13762
+s 3379
+f 3360/5398/13763 3420/5397/13764 3359/5511/13765
+f 3359/5511/13765 3420/5397/13764 3484/5512/13766
+s 3380
+f 3421/5514/13767 3361/5309/13768 3488/5513/13769
+f 3488/5513/13769 3361/5309/13768 3485/5506/13770
+s 3381
+f 3422/5404/13771 3489/5515/13772 3364/5312/13773
+f 3364/5312/13773 3489/5515/13772 3426/5409/13774
+s 3382
+f 3367/5315/13775 3492/5516/13776 3368/5316/13777
+f 3368/5316/13777 3492/5516/13776 3493/5517/13778
+s 3383
+f 3368/5317/13779 3493/5518/13780 3369/5318/13781
+f 3369/5318/13781 3493/5518/13780 3494/5519/13782
+s 3384
+f 3247/5125/13783 3430/5319/13784 3431/5520/13785
+f 3431/5520/13785 3430/5319/13784 3549/5521/13786
+s 3385
+f 3369/5318/13787 3494/5519/13788 3430/5319/13789
+f 3430/5319/13789 3494/5519/13788 3550/5522/13790
+s 3386
+f 3370/5320/13791 3431/5321/13792 3495/5523/13793
+f 3495/5523/13793 3431/5321/13792 3551/5524/13794
+s 3387
+f 3371/5322/13795 3496/5525/13796 3385/5323/13797
+f 3385/5323/13797 3496/5525/13796 3552/5526/13798
+s 3388
+f 3372/5325/13799 3497/5527/13800 3371/5324/13801
+f 3371/5324/13801 3497/5527/13800 3496/5528/13802
+s 3389
+f 3376/5231/13803 3498/5429/13804 3372/5325/13805
+f 3372/5325/13805 3498/5429/13804 3497/5527/13806
+s 3390
+f 3373/5326/13807 3377/5233/13808 3441/5529/13809
+f 3441/5529/13809 3377/5233/13808 3314/5339/13810
+s 3391
+f 3384/5420/13811 3374/5225/13812 3500/5530/13813
+f 3500/5530/13813 3374/5225/13812 3434/5422/13814
+s 3392
+f 3375/5423/13815 3501/5531/13816 3434/5422/13817
+f 3434/5422/13817 3501/5531/13816 3555/5532/13818
+s 3393
+f 3307/5328/13819 3435/5329/13820 3502/5533/13821
+f 3502/5533/13821 3435/5329/13820 3556/5534/13822
+s 3394
+f 3380/5332/13823 3437/5433/13824 3503/5432/13825
+f 3503/5432/13825 3437/5433/13824 3558/5535/13826
+s 3395
+f 3383/5335/13827 3506/5536/13828 3382/5336/13829
+f 3382/5336/13829 3506/5536/13828 3505/5442/13830
+s 3396
+f 3440/5431/13831 3507/5537/13832 3383/5443/13833
+f 3383/5443/13833 3507/5537/13832 3506/5538/13834
+s 3397
+f 3443/5340/13835 3385/5323/13836 3508/5539/13837
+f 3508/5539/13837 3385/5323/13836 3552/5526/13838
+s 3398
+f 3386/5341/13839 3448/5342/13840 3510/5540/13841
+f 3510/5540/13841 3448/5342/13840 3567/5541/13842
+s 3399
+f 3387/5344/13843 3386/5343/13844 3511/5542/13845
+f 3511/5542/13845 3386/5343/13844 3510/5543/13846
+s 3400
+f 3387/5344/13847 3511/5542/13848 3388/5345/13849
+f 3388/5345/13849 3511/5542/13848 3568/5544/13850
+s 3401
+f 3449/5346/13851 3388/5345/13852 3512/5545/13853
+f 3512/5545/13853 3388/5345/13852 3568/5544/13854
+s 3402
+f 3389/5347/13855 3449/5346/13856 3513/5546/13857
+f 3513/5546/13857 3449/5346/13856 3512/5545/13858
+s 3403
+f 3450/5349/13859 3389/5348/13860 3514/5547/13861
+f 3514/5547/13861 3389/5348/13860 3513/5548/13862
+s 3404
+f 3391/5352/13863 3390/5351/13864 3515/5549/13865
+f 3515/5549/13865 3390/5351/13864 3427/5550/13866
+s 3405
+f 3391/5352/13867 3515/5549/13868 3392/5353/13869
+f 3392/5353/13869 3515/5549/13868 3470/5477/13870
+s 3406
+f 3395/5465/13871 3452/5551/13872 3517/5466/13873
+f 3517/5466/13873 3452/5551/13872 3570/5552/13874
+s 3407
+f 3325/5163/13875 3453/5356/13876 3452/5355/13877
+f 3452/5355/13877 3453/5356/13876 3571/5553/13878
+s 3408
+f 3396/5357/13879 3454/5459/13880 3518/5458/13881
+f 3518/5458/13881 3454/5459/13880 3572/5554/13882
+s 3409
+f 3397/5359/13883 3519/5555/13884 3455/5360/13885
+f 3455/5360/13885 3519/5555/13884 3573/5556/13886
+s 3410
+f 3330/5169/13887 3456/5361/13888 3424/5363/13889
+f 3424/5363/13889 3456/5361/13888 3544/5557/13890
+s 3411
+f 3328/5261/13891 3457/5461/13892 3456/5361/13893
+f 3456/5361/13893 3457/5461/13892 3574/5558/13894
+s 3412
+f 3397/5359/13895 3459/5364/13896 3519/5555/13897
+f 3519/5555/13897 3459/5364/13896 3576/5559/13898
+s 3413
+f 3394/5561/13899 3451/5562/13900 3460/5560/13901
+f 3460/5560/13901 3451/5562/13900 3569/5563/13902
+s 3414
+f 3463/5366/13903 3398/5365/13904 3521/5564/13905
+f 3521/5564/13905 3398/5365/13904 3579/5565/13906
+s 3415
+f 3399/5266/13907 3463/5366/13908 3522/5470/13909
+f 3522/5470/13909 3463/5366/13908 3521/5564/13910
+s 3416
+f 3393/5367/13911 3464/5368/13912 3516/5566/13913
+f 3516/5566/13913 3464/5368/13912 3580/5567/13914
+s 3417
+f 3400/5274/13915 3523/5478/13916 3461/5369/13917
+f 3461/5369/13917 3523/5478/13916 3575/5568/13918
+s 3418
+f 3401/5300/13919 3524/5498/13920 3402/5370/13921
+f 3402/5370/13921 3524/5498/13920 3525/5481/13922
+s 3419
+f 3403/5482/13923 3526/5569/13924 3473/5483/13925
+f 3473/5483/13925 3526/5569/13924 3584/5570/13926
+s 3420
+f 3404/5372/13927 3527/5571/13928 3403/5371/13929
+f 3403/5371/13929 3527/5571/13928 3526/5572/13930
+s 3421
+f 3404/5372/13931 3474/5373/13932 3527/5571/13933
+f 3527/5571/13933 3474/5373/13932 3585/5573/13934
+s 3422
+f 3474/5575/13935 3345/5374/13936 3528/5574/13937
+f 3528/5574/13937 3345/5374/13936 3475/5377/13938
+s 3423
+f 3405/5280/13939 3529/5485/13940 3352/5388/13941
+f 3352/5388/13941 3529/5485/13940 3480/5576/13942
+s 3424
+f 3472/5578/13943 3530/5579/13944 3406/5577/13945
+f 3406/5577/13945 3530/5579/13944 3586/5580/13946
+s 3425
+f 3350/5381/13947 3410/5287/13948 3478/5581/13949
+f 3478/5581/13949 3410/5287/13948 3473/5483/13950
+s 3426
+f 3407/5380/13951 3531/5486/13952 3476/5489/13953
+f 3476/5489/13953 3531/5486/13952 3587/5582/13954
+s 3427
+f 3412/5584/13955 3413/5585/13956 3533/5583/13957
+f 3533/5583/13957 3413/5585/13956 3592/5586/13958
+s 3428
+f 3480/5576/13959 3534/5588/13960 3413/5587/13961
+f 3413/5587/13961 3534/5588/13960 3592/5589/13962
+s 3429
+f 3481/5488/13963 3414/5499/13964 3535/5590/13965
+f 3535/5590/13965 3414/5499/13964 3536/5591/13966
+s 3430
+f 3414/5390/13967 3415/5393/13968 3536/5592/13969
+f 3536/5592/13969 3415/5393/13968 3537/5593/13970
+s 3431
+f 3483/5504/13971 3539/5594/13972 3417/5394/13973
+f 3417/5394/13973 3539/5594/13972 3540/5595/13974
+s 3432
+f 3417/5394/13975 3540/5595/13976 3418/5395/13977
+f 3418/5395/13977 3540/5595/13976 3595/5596/13978
+s 3433
+f 3419/5598/13979 3418/5395/13980 3487/5597/13981
+f 3487/5597/13981 3418/5395/13980 3595/5596/13982
+s 3434
+f 3420/5397/13983 3421/5402/13984 3484/5512/13985
+f 3484/5512/13985 3421/5402/13984 3483/5599/13986
+s 3435
+f 3421/5402/13987 3488/5600/13988 3483/5599/13989
+f 3483/5599/13989 3488/5600/13988 3539/5601/13990
+s 3436
+f 3423/5406/13991 3542/5602/13992 3422/5404/13993
+f 3422/5404/13993 3542/5602/13992 3489/5515/13994
+s 3437
+f 3425/5408/13995 3543/5603/13996 3423/5406/13997
+f 3423/5406/13997 3543/5603/13996 3542/5602/13998
+s 3438
+f 3424/5363/13999 3544/5557/14000 3425/5408/14001
+f 3425/5408/14001 3544/5557/14000 3543/5603/14002
+s 3439
+f 3489/5605/14003 3545/5606/14004 3426/5604/14005
+f 3426/5604/14005 3545/5606/14004 3546/5607/14006
+s 3440
+f 3426/5604/14007 3546/5607/14008 3427/5550/14009
+f 3427/5550/14009 3546/5607/14008 3515/5549/14010
+s 3441
+f 3367/5315/14011 3428/5411/14012 3492/5516/14013
+f 3492/5516/14013 3428/5411/14012 3599/5608/14014
+s 3442
+f 3429/5413/14015 3547/5609/14016 3428/5412/14017
+f 3428/5412/14017 3547/5609/14016 3599/5610/14018
+s 3443
+f 3490/5414/14019 3548/5611/14020 3429/5413/14021
+f 3429/5413/14021 3548/5611/14020 3547/5609/14022
+s 3444
+f 3366/5212/14023 3491/5612/14024 3490/5414/14025
+f 3490/5414/14025 3491/5612/14024 3600/5613/14026
+s 3445
+f 3370/5320/14027 3495/5523/14028 3491/5415/14029
+f 3491/5415/14029 3495/5523/14028 3601/5614/14030
+s 3446
+f 3433/5418/14031 3432/5419/14032 3553/5615/14033
+f 3553/5615/14033 3432/5419/14032 3554/5616/14034
+s 3447
+f 3432/5416/14035 3499/5417/14036 3554/5617/14037
+f 3554/5617/14037 3499/5417/14036 3608/5618/14038
+s 3448
+f 3373/5326/14039 3441/5529/14040 3499/5417/14041
+f 3499/5417/14041 3441/5529/14040 3561/5619/14042
+s 3449
+f 3434/5422/14043 3555/5532/14044 3500/5530/14045
+f 3500/5530/14045 3555/5532/14044 3562/5620/14046
+s 3450
+f 3433/5418/14047 3553/5615/14048 3501/5424/14049
+f 3501/5424/14049 3553/5615/14048 3609/5621/14050
+s 3451
+f 3435/5329/14051 3443/5425/14052 3556/5534/14053
+f 3556/5534/14053 3443/5425/14052 3508/5622/14054
+s 3452
+f 3436/5624/14055 3502/5625/14056 3557/5623/14057
+f 3557/5623/14057 3502/5625/14056 3610/5626/14058
+s 3453
+f 3436/5428/14059 3557/5627/14060 3498/5429/14061
+f 3498/5429/14061 3557/5627/14060 3607/5628/14062
+s 3454
+f 3379/5430/14063 3503/5629/14064 3440/5431/14065
+f 3440/5431/14065 3503/5629/14064 3507/5537/14066
+s 3455
+f 3438/5434/14067 3559/5630/14068 3437/5433/14069
+f 3437/5433/14069 3559/5630/14068 3612/5631/14070
+s 3456
+f 3438/5434/14071 3439/5435/14072 3559/5630/14073
+f 3559/5630/14073 3439/5435/14072 3613/5632/14074
+s 3457
+f 3504/5439/14075 3560/5633/14076 3439/5436/14077
+f 3439/5436/14077 3560/5633/14076 3613/5634/14078
+s 3458
+f 3381/5440/14079 3505/5442/14080 3504/5635/14081
+f 3504/5635/14081 3505/5442/14080 3614/5636/14082
+s 3459
+f 3441/5444/14083 3442/5445/14084 3561/5637/14085
+f 3561/5637/14085 3442/5445/14084 3617/5638/14086
+s 3460
+f 3500/5446/14087 3562/5639/14088 3442/5445/14089
+f 3442/5445/14089 3562/5639/14088 3617/5638/14090
+s 3461
+f 3444/5447/14091 3563/5640/14092 3448/5342/14093
+f 3448/5342/14093 3563/5640/14092 3567/5541/14094
+s 3462
+f 3445/5449/14095 3564/5641/14096 3444/5448/14097
+f 3444/5448/14097 3564/5641/14096 3563/5642/14098
+s 3463
+f 3445/5449/14099 3446/5450/14100 3564/5641/14101
+f 3564/5641/14101 3446/5450/14100 3620/5643/14102
+s 3464
+f 3509/5451/14103 3565/5644/14104 3446/5450/14105
+f 3446/5450/14105 3565/5644/14104 3620/5643/14106
+s 3465
+f 3447/5452/14107 3566/5645/14108 3509/5451/14109
+f 3509/5451/14109 3566/5645/14108 3565/5644/14110
+s 3466
+f 3450/5349/14111 3514/5547/14112 3447/5453/14113
+f 3447/5453/14113 3514/5547/14112 3566/5646/14114
+s 3467
+f 3451/5456/14115 3516/5457/14116 3569/5647/14117
+f 3569/5647/14117 3516/5457/14116 3626/5648/14118
+s 3468
+f 3453/5356/14119 3518/5458/14120 3571/5553/14121
+f 3571/5553/14121 3518/5458/14120 3628/5649/14122
+s 3469
+f 3454/5459/14123 3455/5460/14124 3572/5554/14125
+f 3572/5554/14125 3455/5460/14124 3573/5650/14126
+s 3470
+f 3458/5463/14127 3575/5568/14128 3457/5651/14129
+f 3457/5651/14129 3575/5568/14128 3523/5478/14130
+s 3471
+f 3458/5463/14131 3517/5466/14132 3575/5568/14133
+f 3575/5568/14133 3517/5466/14132 3627/5652/14134
+s 3472
+f 3460/5467/14135 3569/5653/14136 3459/5364/14137
+f 3459/5364/14137 3569/5653/14136 3576/5559/14138
+s 3473
+f 3461/5369/14139 3575/5568/14140 3462/5468/14141
+f 3462/5468/14141 3575/5568/14140 3627/5652/14142
+s 3474
+f 3520/5469/14143 3577/5654/14144 3398/5365/14145
+f 3398/5365/14145 3577/5654/14144 3579/5565/14146
+s 3475
+f 3520/5469/14147 3462/5468/14148 3578/5655/14149
+f 3578/5655/14149 3462/5468/14148 3627/5652/14150
+s 3476
+f 3464/5368/14151 3522/5470/14152 3580/5567/14153
+f 3580/5567/14153 3522/5470/14152 3632/5656/14154
+s 3477
+f 3467/5474/14155 3581/5657/14156 3465/5471/14157
+f 3465/5471/14157 3581/5657/14156 3582/5658/14158
+s 3478
+f 3465/5471/14159 3582/5658/14160 3466/5472/14161
+f 3466/5472/14161 3582/5658/14160 3583/5659/14162
+s 3479
+f 3466/5472/14163 3583/5659/14164 3471/5473/14165
+f 3471/5473/14165 3583/5659/14164 3574/5660/14166
+s 3480
+f 3468/5475/14167 3545/5606/14168 3467/5474/14169
+f 3467/5474/14169 3545/5606/14168 3581/5657/14170
+s 3481
+f 3469/5476/14171 3546/5607/14172 3468/5475/14173
+f 3468/5475/14173 3546/5607/14172 3545/5606/14174
+s 3482
+f 3470/5477/14175 3515/5549/14176 3469/5476/14177
+f 3469/5476/14177 3515/5549/14176 3546/5607/14178
+s 3483
+f 3471/5473/14179 3574/5660/14180 3523/5478/14181
+f 3523/5478/14181 3574/5660/14180 3457/5651/14182
+s 3484
+f 3472/5479/14183 3525/5481/14184 3530/5661/14185
+f 3530/5661/14185 3525/5481/14184 3634/5662/14186
+s 3485
+f 3474/5575/14187 3528/5574/14188 3585/5663/14189
+f 3585/5663/14189 3528/5574/14188 3637/5664/14190
+s 3486
+f 3528/5574/14191 3475/5377/14192 3532/5665/14193
+f 3532/5665/14193 3475/5377/14192 3411/5496/14194
+s 3487
+f 3406/5484/14195 3586/5666/14196 3529/5485/14197
+f 3529/5485/14197 3586/5666/14196 3593/5667/14198
+s 3488
+f 3408/5487/14199 3481/5488/14200 3531/5668/14201
+f 3531/5668/14201 3481/5488/14200 3535/5590/14202
+s 3489
+f 3473/5483/14203 3584/5570/14204 3478/5581/14205
+f 3478/5581/14205 3584/5570/14204 3589/5669/14206
+s 3490
+f 3477/5490/14207 3476/5489/14208 3588/5670/14209
+f 3588/5670/14209 3476/5489/14208 3640/5671/14210
+s 3491
+f 3477/5490/14211 3588/5670/14212 3482/5491/14213
+f 3482/5491/14213 3588/5670/14212 3641/5672/14214
+s 3492
+f 3478/5492/14215 3589/5673/14216 3479/5493/14217
+f 3479/5493/14217 3589/5673/14216 3642/5674/14218
+s 3493
+f 3532/5494/14219 3479/5493/14220 3590/5675/14221
+f 3590/5675/14221 3479/5493/14220 3642/5674/14222
+s 3494
+f 3524/5498/14223 3412/5497/14224 3591/5676/14225
+f 3591/5676/14225 3412/5497/14224 3533/5677/14226
+s 3495
+f 3529/5485/14227 3593/5667/14228 3480/5576/14229
+f 3480/5576/14229 3593/5667/14228 3534/5588/14230
+s 3496
+f 3416/5298/14231 3538/5503/14232 3537/5501/14233
+f 3537/5501/14233 3538/5503/14232 3649/5678/14234
+s 3497
+f 3538/5503/14235 3482/5502/14236 3594/5679/14237
+f 3594/5679/14237 3482/5502/14236 3641/5680/14238
+s 3498
+f 3485/5506/14239 3596/5681/14240 3488/5513/14241
+f 3488/5513/14241 3596/5681/14240 3650/5682/14242
+s 3499
+f 3485/5506/14243 3486/5507/14244 3596/5681/14245
+f 3596/5681/14245 3486/5507/14244 3597/5683/14246
+s 3500
+f 3486/5507/14247 3541/5508/14248 3597/5683/14249
+f 3597/5683/14249 3541/5508/14248 3652/5684/14250
+s 3501
+f 3487/5509/14251 3598/5685/14252 3541/5510/14253
+f 3541/5510/14253 3598/5685/14252 3653/5686/14254
+s 3502
+f 3542/5687/14255 3581/5657/14256 3489/5605/14257
+f 3489/5605/14257 3581/5657/14256 3545/5606/14258
+s 3503
+f 3490/5414/14259 3600/5613/14260 3548/5611/14261
+f 3548/5611/14261 3600/5613/14260 3657/5688/14262
+s 3504
+f 3493/5517/14263 3492/5516/14264 3602/5689/14265
+f 3602/5689/14265 3492/5516/14264 3659/5690/14266
+s 3505
+f 3494/5519/14267 3493/5518/14268 3603/5691/14269
+f 3603/5691/14269 3493/5518/14268 3658/5692/14270
+s 3506
+f 3431/5321/14271 3549/5693/14272 3551/5524/14273
+f 3551/5524/14273 3549/5693/14272 3660/5694/14274
+s 3507
+f 3430/5319/14275 3550/5522/14276 3549/5521/14277
+f 3549/5521/14277 3550/5522/14276 3660/5695/14278
+s 3508
+f 3494/5519/14279 3603/5691/14280 3550/5522/14281
+f 3550/5522/14281 3603/5691/14280 3661/5696/14282
+s 3509
+f 3495/5523/14283 3551/5524/14284 3604/5697/14285
+f 3604/5697/14285 3551/5524/14284 3662/5698/14286
+s 3510
+f 3497/5527/14287 3605/5699/14288 3496/5528/14289
+f 3496/5528/14289 3605/5699/14288 3606/5700/14290
+s 3511
+f 3496/5702/14291 3606/5703/14292 3552/5701/14293
+f 3552/5701/14293 3606/5703/14292 3663/5704/14294
+s 3512
+f 3498/5429/14295 3607/5628/14296 3497/5527/14297
+f 3497/5527/14297 3607/5628/14296 3605/5699/14298
+s 3513
+f 3501/5531/14299 3609/5705/14300 3555/5532/14301
+f 3555/5532/14301 3609/5705/14300 3666/5706/14302
+s 3514
+f 3502/5533/14303 3556/5534/14304 3610/5707/14305
+f 3610/5707/14305 3556/5534/14304 3618/5708/14306
+s 3515
+f 3503/5629/14307 3558/5709/14308 3507/5537/14309
+f 3507/5537/14309 3558/5709/14308 3616/5710/14310
+s 3516
+f 3558/5535/14311 3437/5433/14312 3611/5711/14313
+f 3611/5711/14313 3437/5433/14312 3612/5631/14314
+s 3517
+f 3504/5635/14315 3614/5636/14316 3560/5712/14317
+f 3560/5712/14317 3614/5636/14316 3668/5713/14318
+s 3518
+f 3506/5536/14319 3615/5714/14320 3505/5442/14321
+f 3505/5442/14321 3615/5714/14320 3614/5636/14322
+s 3519
+f 3507/5537/14323 3616/5710/14324 3506/5538/14325
+f 3506/5538/14325 3616/5710/14324 3615/5715/14326
+s 3520
+f 3556/5534/14327 3508/5622/14328 3618/5708/14329
+f 3618/5708/14329 3508/5622/14328 3619/5716/14330
+s 3521
+f 3508/5622/14331 3552/5717/14332 3619/5716/14333
+f 3619/5716/14333 3552/5717/14332 3663/5718/14334
+s 3522
+f 3511/5542/14335 3510/5543/14336 3621/5719/14337
+f 3621/5719/14337 3510/5543/14336 3622/5720/14338
+s 3523
+f 3510/5540/14339 3567/5541/14340 3622/5721/14341
+f 3622/5721/14341 3567/5541/14340 3675/5722/14342
+s 3524
+f 3511/5542/14343 3621/5719/14344 3568/5544/14345
+f 3568/5544/14345 3621/5719/14344 3623/5723/14346
+s 3525
+f 3568/5544/14347 3623/5723/14348 3512/5545/14349
+f 3512/5545/14349 3623/5723/14348 3676/5724/14350
+s 3526
+f 3513/5546/14351 3512/5545/14352 3624/5725/14353
+f 3624/5725/14353 3512/5545/14352 3676/5724/14354
+s 3527
+f 3514/5547/14355 3513/5548/14356 3625/5726/14357
+f 3625/5726/14357 3513/5548/14356 3624/5727/14358
+s 3528
+f 3517/5466/14359 3570/5552/14360 3627/5652/14361
+f 3627/5652/14361 3570/5552/14360 3578/5655/14362
+s 3529
+f 3452/5551/14363 3571/5728/14364 3570/5552/14365
+f 3570/5552/14365 3571/5728/14364 3677/5729/14366
+s 3530
+f 3518/5458/14367 3572/5554/14368 3628/5649/14369
+f 3628/5649/14369 3572/5554/14368 3678/5730/14370
+s 3531
+f 3573/5732/14371 3519/5733/14372 3629/5731/14373
+f 3629/5731/14373 3519/5733/14372 3630/5734/14374
+s 3532
+f 3456/5361/14375 3574/5558/14376 3544/5557/14377
+f 3544/5557/14377 3574/5558/14376 3583/5735/14378
+s 3533
+f 3519/5733/14379 3576/5736/14380 3630/5734/14381
+f 3630/5734/14381 3576/5736/14380 3679/5737/14382
+s 3534
+f 3577/5654/14383 3520/5469/14384 3631/5738/14385
+f 3631/5738/14385 3520/5469/14384 3578/5655/14386
+s 3535
+f 3522/5470/14387 3521/5564/14388 3632/5656/14389
+f 3632/5656/14389 3521/5564/14388 3633/5739/14390
+s 3536
+f 3521/5564/14391 3579/5565/14392 3633/5739/14393
+f 3633/5739/14393 3579/5565/14392 3682/5740/14394
+s 3537
+f 3516/5566/14395 3580/5567/14396 3626/5741/14397
+f 3626/5741/14397 3580/5567/14396 3683/5742/14398
+s 3538
+f 3525/5481/14399 3524/5498/14400 3634/5662/14401
+f 3634/5662/14401 3524/5498/14400 3591/5676/14402
+s 3539
+f 3527/5744/14403 3635/5745/14404 3526/5743/14405
+f 3526/5743/14405 3635/5745/14404 3636/5746/14406
+s 3540
+f 3526/5569/14407 3636/5747/14408 3584/5570/14409
+f 3584/5570/14409 3636/5747/14408 3684/5748/14410
+s 3541
+f 3527/5744/14411 3585/5749/14412 3635/5745/14413
+f 3635/5745/14413 3585/5749/14412 3685/5750/14414
+s 3542
+f 3528/5574/14415 3532/5665/14416 3637/5664/14417
+f 3637/5664/14417 3532/5665/14416 3590/5751/14418
+s 3543
+f 3530/5579/14419 3638/5752/14420 3586/5580/14421
+f 3586/5580/14421 3638/5752/14420 3686/5753/14422
+s 3544
+f 3587/5582/14423 3639/5754/14424 3476/5489/14425
+f 3476/5489/14425 3639/5754/14424 3640/5671/14426
+s 3545
+f 3531/5668/14427 3535/5590/14428 3587/5755/14429
+f 3587/5755/14429 3535/5590/14428 3647/5756/14430
+s 3546
+f 3591/5676/14431 3533/5677/14432 3643/5757/14433
+f 3643/5757/14433 3533/5677/14432 3644/5758/14434
+s 3547
+f 3533/5583/14435 3592/5586/14436 3644/5759/14437
+f 3644/5759/14437 3592/5586/14436 3691/5760/14438
+s 3548
+f 3593/5667/14439 3645/5761/14440 3534/5588/14441
+f 3534/5588/14441 3645/5761/14440 3646/5762/14442
+s 3549
+f 3534/5588/14443 3646/5762/14444 3592/5589/14445
+f 3592/5589/14445 3646/5762/14444 3691/5763/14446
+s 3550
+f 3535/5590/14447 3536/5591/14448 3647/5756/14449
+f 3647/5756/14449 3536/5591/14448 3648/5764/14450
+s 3551
+f 3536/5592/14451 3537/5593/14452 3648/5765/14453
+f 3648/5765/14453 3537/5593/14452 3649/5766/14454
+s 3552
+f 3538/5503/14455 3594/5679/14456 3649/5678/14457
+f 3649/5678/14457 3594/5679/14456 3692/5767/14458
+s 3553
+f 3488/5600/14459 3650/5768/14460 3539/5601/14461
+f 3539/5601/14461 3650/5768/14460 3693/5769/14462
+s 3554
+f 3540/5595/14463 3539/5594/14464 3651/5770/14465
+f 3651/5770/14465 3539/5594/14464 3693/5771/14466
+s 3555
+f 3540/5595/14467 3651/5770/14468 3595/5596/14469
+f 3595/5596/14469 3651/5770/14468 3694/5772/14470
+s 3556
+f 3487/5597/14471 3595/5596/14472 3598/5773/14473
+f 3598/5773/14473 3595/5596/14472 3695/5774/14474
+s 3557
+f 3543/5603/14475 3582/5775/14476 3542/5602/14477
+f 3542/5602/14477 3582/5775/14476 3581/5776/14478
+s 3558
+f 3544/5557/14479 3583/5735/14480 3543/5603/14481
+f 3543/5603/14481 3583/5735/14480 3582/5775/14482
+s 3559
+f 3599/5608/14483 3654/5777/14484 3492/5516/14485
+f 3492/5516/14485 3654/5777/14484 3659/5690/14486
+s 3560
+f 3548/5611/14487 3655/5778/14488 3547/5609/14489
+f 3547/5609/14489 3655/5778/14488 3656/5779/14490
+s 3561
+f 3547/5609/14491 3656/5779/14492 3599/5610/14493
+f 3599/5610/14493 3656/5779/14492 3701/5780/14494
+s 3562
+f 3600/5613/14495 3491/5612/14496 3657/5688/14497
+f 3657/5688/14497 3491/5612/14496 3601/5781/14498
+s 3563
+f 3495/5523/14499 3604/5697/14500 3601/5614/14501
+f 3601/5614/14501 3604/5697/14500 3703/5782/14502
+s 3564
+f 3493/5518/14503 3602/5783/14504 3658/5692/14505
+f 3658/5692/14505 3602/5783/14504 3704/5784/14506
+s 3565
+f 3553/5786/14507 3554/5787/14508 3664/5785/14509
+f 3664/5785/14509 3554/5787/14508 3665/5788/14510
+s 3566
+f 3554/5617/14511 3608/5618/14512 3665/5789/14513
+f 3665/5789/14513 3608/5618/14512 3714/5790/14514
+s 3567
+f 3499/5417/14515 3561/5619/14516 3608/5618/14517
+f 3608/5618/14517 3561/5619/14516 3669/5791/14518
+s 3568
+f 3555/5532/14519 3666/5706/14520 3562/5620/14521
+f 3562/5620/14521 3666/5706/14520 3670/5792/14522
+s 3569
+f 3553/5786/14523 3664/5785/14524 3609/5793/14525
+f 3609/5793/14525 3664/5785/14524 3715/5794/14526
+s 3570
+f 3557/5623/14527 3610/5626/14528 3667/5795/14529
+f 3667/5795/14529 3610/5626/14528 3716/5796/14530
+s 3571
+f 3557/5627/14531 3667/5797/14532 3607/5628/14533
+f 3607/5628/14533 3667/5797/14532 3711/5798/14534
+s 3572
+f 3558/5709/14535 3611/5799/14536 3616/5710/14537
+f 3616/5710/14537 3611/5799/14536 3717/5800/14538
+s 3573
+f 3559/5630/14539 3613/5632/14540 3612/5631/14541
+f 3612/5631/14541 3613/5632/14540 3718/5801/14542
+s 3574
+f 3560/5803/14543 3668/5804/14544 3613/5802/14545
+f 3613/5802/14545 3668/5804/14544 3718/5805/14546
+s 3575
+f 3561/5637/14547 3617/5638/14548 3669/5806/14549
+f 3669/5806/14549 3617/5638/14548 3720/5807/14550
+s 3576
+f 3562/5639/14551 3670/5808/14552 3617/5638/14553
+f 3617/5638/14553 3670/5808/14552 3720/5807/14554
+s 3577
+f 3564/5641/14555 3671/5809/14556 3563/5642/14557
+f 3563/5642/14557 3671/5809/14556 3672/5810/14558
+s 3578
+f 3563/5640/14559 3672/5811/14560 3567/5541/14561
+f 3567/5541/14561 3672/5811/14560 3675/5722/14562
+s 3579
+f 3564/5641/14563 3620/5643/14564 3671/5809/14565
+f 3671/5809/14565 3620/5643/14564 3674/5812/14566
+s 3580
+f 3566/5645/14567 3673/5813/14568 3565/5644/14569
+f 3565/5644/14569 3673/5813/14568 3723/5814/14570
+s 3581
+f 3620/5643/14571 3565/5644/14572 3674/5812/14573
+f 3674/5812/14573 3565/5644/14572 3723/5814/14574
+s 3582
+f 3514/5547/14575 3625/5726/14576 3566/5646/14577
+f 3566/5646/14577 3625/5726/14576 3673/5815/14578
+s 3583
+f 3569/5816/14579 3626/5817/14580 3576/5736/14581
+f 3576/5736/14581 3626/5817/14580 3679/5737/14582
+s 3584
+f 3571/5728/14583 3628/5818/14584 3677/5729/14585
+f 3677/5729/14585 3628/5818/14584 3729/5819/14586
+s 3585
+f 3572/5554/14587 3573/5650/14588 3678/5730/14589
+f 3678/5730/14589 3573/5650/14588 3629/5820/14590
+s 3586
+f 3631/5738/14591 3680/5821/14592 3577/5654/14593
+f 3577/5654/14593 3680/5821/14592 3681/5822/14594
+s 3587
+f 3577/5654/14595 3681/5822/14596 3579/5565/14597
+f 3579/5565/14597 3681/5822/14596 3682/5740/14598
+s 3588
+f 3631/5738/14599 3578/5655/14600 3677/5729/14601
+f 3677/5729/14601 3578/5655/14600 3570/5552/14602
+s 3589
+f 3580/5567/14603 3632/5656/14604 3683/5742/14605
+f 3683/5742/14605 3632/5656/14604 3733/5823/14606
+s 3590
+f 3530/5661/14607 3634/5662/14608 3638/5824/14609
+f 3638/5824/14609 3634/5662/14608 3690/5825/14610
+s 3591
+f 3585/5663/14611 3637/5664/14612 3685/5826/14613
+f 3685/5826/14613 3637/5664/14612 3688/5827/14614
+s 3592
+f 3586/5666/14615 3686/5828/14616 3593/5667/14617
+f 3593/5667/14617 3686/5828/14616 3645/5761/14618
+s 3593
+f 3584/5570/14619 3684/5748/14620 3589/5669/14621
+f 3589/5669/14621 3684/5748/14620 3687/5829/14622
+s 3594
+f 3587/5755/14623 3647/5756/14624 3639/5830/14625
+f 3639/5830/14625 3647/5756/14624 3738/5831/14626
+s 3595
+f 3588/5670/14627 3640/5671/14628 3641/5672/14629
+f 3641/5672/14629 3640/5671/14628 3739/5832/14630
+s 3596
+f 3589/5834/14631 3687/5835/14632 3642/5833/14633
+f 3642/5833/14633 3687/5835/14632 3740/5836/14634
+s 3597
+f 3637/5664/14635 3590/5751/14636 3688/5827/14637
+f 3688/5827/14637 3590/5751/14636 3689/5837/14638
+s 3598
+f 3590/5839/14639 3642/5833/14640 3689/5838/14641
+f 3689/5838/14641 3642/5833/14640 3740/5836/14642
+s 3599
+f 3634/5662/14643 3591/5676/14644 3690/5825/14645
+f 3690/5825/14645 3591/5676/14644 3643/5757/14646
+s 3600
+f 3594/5679/14647 3641/5680/14648 3692/5767/14649
+f 3692/5767/14649 3641/5680/14648 3739/5840/14650
+s 3601
+f 3650/5768/14651 3596/5842/14652 3696/5841/14653
+f 3696/5841/14653 3596/5842/14652 3697/5843/14654
+s 3602
+f 3596/5681/14655 3597/5683/14656 3697/5844/14657
+f 3697/5844/14657 3597/5683/14656 3698/5845/14658
+s 3603
+f 3597/5683/14659 3652/5684/14660 3698/5845/14661
+f 3698/5845/14661 3652/5684/14660 3750/5846/14662
+s 3604
+f 3541/5510/14663 3653/5686/14664 3652/5847/14665
+f 3652/5847/14665 3653/5686/14664 3751/5848/14666
+s 3605
+f 3598/5685/14667 3699/5849/14668 3653/5686/14669
+f 3653/5686/14669 3699/5849/14668 3752/5850/14670
+s 3606
+f 3599/5608/14671 3700/5851/14672 3654/5777/14673
+f 3654/5777/14673 3700/5851/14672 3753/5852/14674
+s 3607
+f 3548/5611/14675 3657/5688/14676 3655/5778/14677
+f 3655/5778/14677 3657/5688/14676 3702/5853/14678
+s 3608
+f 3657/5688/14679 3601/5781/14680 3702/5853/14681
+f 3702/5853/14681 3601/5781/14680 3757/5854/14682
+s 3609
+f 3659/5690/14683 3705/5855/14684 3602/5689/14685
+f 3602/5689/14685 3705/5855/14684 3759/5856/14686
+s 3610
+f 3658/5692/14687 3706/5857/14688 3603/5691/14689
+f 3603/5691/14689 3706/5857/14688 3661/5696/14690
+s 3611
+f 3660/5694/14691 3707/5858/14692 3551/5524/14693
+f 3551/5524/14693 3707/5858/14692 3760/5859/14694
+s 3612
+f 3550/5522/14695 3708/5860/14696 3660/5695/14697
+f 3660/5695/14697 3708/5860/14696 3707/5861/14698
+s 3613
+f 3550/5522/14699 3661/5696/14700 3708/5860/14701
+f 3708/5860/14701 3661/5696/14700 3761/5862/14702
+s 3614
+f 3604/5697/14703 3662/5698/14704 3709/5863/14705
+f 3709/5863/14705 3662/5698/14704 3762/5864/14706
+s 3615
+f 3551/5524/14707 3710/5865/14708 3662/5698/14709
+f 3662/5698/14709 3710/5865/14708 3763/5866/14710
+s 3616
+f 3607/5628/14711 3711/5798/14712 3605/5699/14713
+f 3605/5699/14713 3711/5798/14712 3712/5867/14714
+s 3617
+f 3605/5699/14715 3712/5867/14716 3606/5700/14717
+f 3606/5700/14717 3712/5867/14716 3713/5868/14718
+s 3618
+f 3606/5703/14719 3713/5869/14720 3663/5704/14721
+f 3663/5704/14721 3713/5869/14720 3764/5870/14722
+s 3619
+f 3609/5705/14723 3715/5871/14724 3666/5706/14725
+f 3666/5706/14725 3715/5871/14724 3766/5872/14726
+s 3620
+f 3610/5707/14727 3618/5708/14728 3716/5873/14729
+f 3716/5873/14729 3618/5708/14728 3721/5874/14730
+s 3621
+f 3611/5799/14731 3612/5875/14732 3717/5800/14733
+f 3717/5800/14733 3612/5875/14732 3718/5876/14734
+s 3622
+f 3668/5713/14735 3614/5636/14736 3719/5877/14737
+f 3719/5877/14737 3614/5636/14736 3615/5714/14738
+s 3623
+f 3615/5715/14739 3616/5710/14740 3719/5878/14741
+f 3719/5878/14741 3616/5710/14740 3717/5800/14742
+s 3624
+f 3618/5708/14743 3619/5716/14744 3721/5874/14745
+f 3721/5874/14745 3619/5716/14744 3722/5879/14746
+s 3625
+f 3619/5716/14747 3663/5718/14748 3722/5879/14749
+f 3722/5879/14749 3663/5718/14748 3764/5880/14750
+s 3626
+f 3621/5719/14751 3622/5720/14752 3724/5881/14753
+f 3724/5881/14753 3622/5720/14752 3725/5882/14754
+s 3627
+f 3622/5721/14755 3675/5722/14756 3725/5883/14757
+f 3725/5883/14757 3675/5722/14756 3776/5884/14758
+s 3628
+f 3621/5719/14759 3724/5881/14760 3623/5723/14761
+f 3623/5723/14761 3724/5881/14760 3726/5885/14762
+s 3629
+f 3623/5723/14763 3726/5885/14764 3676/5724/14765
+f 3676/5724/14765 3726/5885/14764 3777/5886/14766
+s 3630
+f 3624/5725/14767 3676/5724/14768 3727/5887/14769
+f 3727/5887/14769 3676/5724/14768 3777/5886/14770
+s 3631
+f 3625/5726/14771 3624/5727/14772 3728/5888/14773
+f 3728/5888/14773 3624/5727/14772 3727/5889/14774
+s 3632
+f 3628/5818/14775 3678/5890/14776 3729/5819/14777
+f 3729/5819/14777 3678/5890/14776 3730/5891/14778
+s 3633
+f 3678/5890/14779 3629/5892/14780 3730/5891/14781
+f 3730/5891/14781 3629/5892/14780 3731/5893/14782
+s 3634
+f 3629/5731/14783 3630/5734/14784 3731/5894/14785
+f 3731/5894/14785 3630/5734/14784 3778/5895/14786
+s 3635
+f 3679/5737/14787 3732/5896/14788 3630/5734/14789
+f 3630/5734/14789 3732/5896/14788 3778/5895/14790
+s 3636
+f 3680/5821/14791 3631/5738/14792 3729/5819/14793
+f 3729/5819/14793 3631/5738/14792 3677/5729/14794
+s 3637
+f 3632/5656/14795 3633/5739/14796 3733/5823/14797
+f 3733/5823/14797 3633/5739/14796 3734/5897/14798
+s 3638
+f 3633/5739/14799 3682/5740/14800 3734/5897/14801
+f 3734/5897/14801 3682/5740/14800 3781/5898/14802
+s 3639
+f 3626/5817/14803 3683/5899/14804 3679/5737/14805
+f 3679/5737/14805 3683/5899/14804 3732/5896/14806
+s 3640
+f 3635/5745/14807 3735/5900/14808 3636/5746/14809
+f 3636/5746/14809 3735/5900/14808 3736/5901/14810
+s 3641
+f 3636/5747/14811 3736/5902/14812 3684/5748/14813
+f 3684/5748/14813 3736/5902/14812 3782/5903/14814
+s 3642
+f 3635/5745/14815 3685/5750/14816 3735/5900/14817
+f 3735/5900/14817 3685/5750/14816 3783/5904/14818
+s 3643
+f 3638/5752/14819 3737/5905/14820 3686/5753/14821
+f 3686/5753/14821 3737/5905/14820 3744/5906/14822
+s 3644
+f 3639/5830/14823 3738/5831/14824 3640/5907/14825
+f 3640/5907/14825 3738/5831/14824 3739/5908/14826
+s 3645
+f 3690/5825/14827 3643/5757/14828 3741/5909/14829
+f 3741/5909/14829 3643/5757/14828 3742/5910/14830
+s 3646
+f 3643/5757/14831 3644/5758/14832 3742/5910/14833
+f 3742/5910/14833 3644/5758/14832 3743/5911/14834
+s 3647
+f 3644/5759/14835 3691/5760/14836 3743/5912/14837
+f 3743/5912/14837 3691/5760/14836 3787/5913/14838
+s 3648
+f 3686/5828/14839 3744/5914/14840 3645/5761/14841
+f 3645/5761/14841 3744/5914/14840 3745/5915/14842
+s 3649
+f 3645/5761/14843 3745/5915/14844 3646/5762/14845
+f 3646/5762/14845 3745/5915/14844 3746/5916/14846
+s 3650
+f 3646/5762/14847 3746/5916/14848 3691/5763/14849
+f 3691/5763/14849 3746/5916/14848 3787/5917/14850
+s 3651
+f 3648/5764/14851 3747/5918/14852 3647/5756/14853
+f 3647/5756/14853 3747/5918/14852 3738/5831/14854
+s 3652
+f 3648/5765/14855 3649/5766/14856 3747/5919/14857
+f 3747/5919/14857 3649/5766/14856 3692/5920/14858
+s 3653
+f 3650/5768/14859 3696/5841/14860 3693/5769/14861
+f 3693/5769/14861 3696/5841/14860 3788/5921/14862
+s 3654
+f 3651/5923/14863 3693/5769/14864 3748/5922/14865
+f 3748/5922/14865 3693/5769/14864 3788/5921/14866
+s 3655
+f 3595/5596/14867 3694/5772/14868 3695/5774/14869
+f 3695/5774/14869 3694/5772/14868 3789/5924/14870
+s 3656
+f 3694/5772/14871 3651/5770/14872 3749/5925/14873
+f 3749/5925/14873 3651/5770/14872 3748/5926/14874
+s 3657
+f 3598/5773/14875 3695/5774/14876 3699/5927/14877
+f 3699/5927/14877 3695/5774/14876 3790/5928/14878
+s 3658
+f 3599/5608/14879 3701/5929/14880 3700/5851/14881
+f 3700/5851/14881 3701/5929/14880 3795/5930/14882
+s 3659
+f 3654/5777/14883 3754/5931/14884 3659/5690/14885
+f 3659/5690/14885 3754/5931/14884 3705/5855/14886
+s 3660
+f 3655/5778/14887 3755/5932/14888 3656/5779/14889
+f 3656/5779/14889 3755/5932/14888 3756/5933/14890
+s 3661
+f 3656/5779/14891 3756/5933/14892 3701/5780/14893
+f 3701/5780/14893 3756/5933/14892 3798/5934/14894
+s 3662
+f 3601/5936/14895 3703/5937/14896 3758/5935/14897
+f 3758/5935/14897 3703/5937/14896 3799/5938/14898
+s 3663
+f 3604/5940/14899 3709/5941/14900 3703/5939/14901
+f 3703/5939/14901 3709/5941/14900 3800/5942/14902
+s 3664
+f 3658/5692/14903 3704/5784/14904 3706/5857/14905
+f 3706/5857/14905 3704/5784/14904 3801/5943/14906
+s 3665
+f 3602/5783/14907 3759/5944/14908 3704/5784/14909
+f 3704/5784/14909 3759/5944/14908 3802/5945/14910
+s 3666
+f 3661/5696/14911 3706/5857/14912 3761/5862/14913
+f 3761/5862/14913 3706/5857/14912 3807/5946/14914
+s 3667
+f 3551/5524/14915 3760/5859/14916 3710/5865/14917
+f 3710/5865/14917 3760/5859/14916 3809/5947/14918
+s 3668
+f 3665/5788/14919 3765/5948/14920 3664/5785/14921
+f 3664/5785/14921 3765/5948/14920 3812/5949/14922
+s 3669
+f 3665/5789/14923 3714/5790/14924 3765/5950/14925
+f 3765/5950/14925 3714/5790/14924 3813/5951/14926
+s 3670
+f 3608/5618/14927 3669/5791/14928 3714/5790/14929
+f 3714/5790/14929 3669/5791/14928 3770/5952/14930
+s 3671
+f 3666/5706/14931 3766/5872/14932 3670/5792/14933
+f 3670/5792/14933 3766/5872/14932 3771/5953/14934
+s 3672
+f 3715/5794/14935 3664/5785/14936 3767/5954/14937
+f 3767/5954/14937 3664/5785/14936 3812/5949/14938
+s 3673
+f 3716/5796/14939 3768/5955/14940 3667/5795/14941
+f 3667/5795/14941 3768/5955/14940 3814/5956/14942
+s 3674
+f 3711/5798/14943 3667/5797/14944 3769/5957/14945
+f 3769/5957/14945 3667/5797/14944 3814/5958/14946
+s 3675
+f 3719/5877/14947 3717/5959/14948 3668/5713/14949
+f 3668/5713/14949 3717/5959/14948 3718/5960/14950
+s 3676
+f 3669/5962/14951 3720/5963/14952 3770/5961/14953
+f 3770/5961/14953 3720/5963/14952 3815/5964/14954
+s 3677
+f 3670/5965/14955 3771/5966/14956 3720/5963/14957
+f 3720/5963/14957 3771/5966/14956 3815/5964/14958
+s 3678
+f 3671/5809/14959 3772/5967/14960 3672/5810/14961
+f 3672/5810/14961 3772/5967/14960 3773/5968/14962
+s 3679
+f 3672/5811/14963 3773/5969/14964 3675/5722/14965
+f 3675/5722/14965 3773/5969/14964 3776/5884/14966
+s 3680
+f 3671/5809/14967 3674/5812/14968 3772/5967/14969
+f 3772/5967/14969 3674/5812/14968 3775/5970/14970
+s 3681
+f 3625/5726/14971 3728/5888/14972 3673/5815/14973
+f 3673/5815/14973 3728/5888/14972 3774/5971/14974
+s 3682
+f 3673/5813/14975 3774/5972/14976 3723/5814/14977
+f 3723/5814/14977 3774/5972/14976 3817/5973/14978
+s 3683
+f 3674/5812/14979 3723/5814/14980 3775/5970/14981
+f 3775/5970/14981 3723/5814/14980 3817/5973/14982
+s 3684
+f 3729/5819/14983 3730/5891/14984 3680/5821/14985
+f 3680/5821/14985 3730/5891/14984 3779/5974/14986
+s 3685
+f 3680/5821/14987 3779/5974/14988 3681/5822/14989
+f 3681/5822/14989 3779/5974/14988 3780/5975/14990
+s 3686
+f 3681/5822/14991 3780/5975/14992 3682/5740/14993
+f 3682/5740/14993 3780/5975/14992 3781/5898/14994
+s 3687
+f 3683/5742/14995 3733/5823/14996 3732/5976/14997
+f 3732/5976/14997 3733/5823/14996 3824/5977/14998
+s 3688
+f 3638/5824/14999 3690/5825/15000 3737/5978/15001
+f 3737/5978/15001 3690/5825/15000 3741/5909/15002
+s 3689
+f 3685/5826/15003 3688/5827/15004 3783/5979/15005
+f 3783/5979/15005 3688/5827/15004 3785/5980/15006
+s 3690
+f 3684/5748/15007 3782/5903/15008 3687/5829/15009
+f 3687/5829/15009 3782/5903/15008 3784/5981/15010
+s 3691
+f 3687/5835/15011 3784/5982/15012 3740/5836/15013
+f 3740/5836/15013 3784/5982/15012 3829/5983/15014
+s 3692
+f 3688/5827/15015 3689/5837/15016 3785/5980/15017
+f 3785/5980/15017 3689/5837/15016 3786/5984/15018
+s 3693
+f 3689/5838/15019 3740/5836/15020 3786/5985/15021
+f 3786/5985/15021 3740/5836/15020 3829/5983/15022
+s 3694
+f 3747/5919/15023 3692/5920/15024 3738/5986/15025
+f 3738/5986/15025 3692/5920/15024 3739/5987/15026
+s 3695
+f 3694/5772/15027 3749/5925/15028 3789/5924/15029
+f 3789/5924/15029 3749/5925/15028 3836/5988/15030
+s 3696
+f 3697/5843/15031 3791/5989/15032 3696/5841/15033
+f 3696/5841/15033 3791/5989/15032 3837/5990/15034
+s 3697
+f 3697/5844/15035 3698/5845/15036 3792/5991/15037
+f 3792/5991/15037 3698/5845/15036 3793/5992/15038
+s 3698
+f 3698/5845/15039 3750/5846/15040 3793/5992/15041
+f 3793/5992/15041 3750/5846/15040 3838/5993/15042
+s 3699
+f 3652/5684/15043 3751/5994/15044 3750/5846/15045
+f 3750/5846/15045 3751/5994/15044 3839/5995/15046
+s 3700
+f 3653/5686/15047 3752/5850/15048 3751/5848/15049
+f 3751/5848/15049 3752/5850/15048 3839/5996/15050
+s 3701
+f 3699/5849/15051 3794/5997/15052 3752/5850/15053
+f 3752/5850/15053 3794/5997/15052 3840/5998/15054
+s 3702
+f 3654/6000/15055 3753/6001/15056 3754/5999/15057
+f 3754/5999/15057 3753/6001/15056 3842/6002/15058
+s 3703
+f 3753/6001/15059 3700/6004/15060 3796/6003/15061
+f 3796/6003/15061 3700/6004/15060 3841/6005/15062
+s 3704
+f 3702/5853/15063 3797/6006/15064 3655/5778/15065
+f 3655/5778/15065 3797/6006/15064 3755/5932/15066
+s 3705
+f 3702/6008/15067 3757/6009/15068 3797/6007/15069
+f 3797/6007/15069 3757/6009/15068 3846/6010/15070
+s 3706
+f 3601/6011/15071 3758/6012/15072 3757/6009/15073
+f 3757/6009/15073 3758/6012/15072 3847/6013/15074
+s 3707
+f 3754/5931/15075 3803/6014/15076 3705/5855/15077
+f 3705/5855/15077 3803/6014/15076 3804/6015/15078
+s 3708
+f 3705/5855/15079 3804/6015/15080 3759/5856/15081
+f 3759/5856/15081 3804/6015/15080 3850/6016/15082
+s 3709
+f 3708/6018/15083 3805/6019/15084 3707/6017/15085
+f 3707/6017/15085 3805/6019/15084 3806/6020/15086
+s 3710
+f 3707/5858/15087 3806/6021/15088 3760/5859/15089
+f 3760/5859/15089 3806/6021/15088 3852/6022/15090
+s 3711
+f 3708/5860/15091 3761/5862/15092 3805/6023/15093
+f 3805/6023/15093 3761/5862/15092 3853/6024/15094
+s 3712
+f 3709/5941/15095 3762/6026/15096 3808/6025/15097
+f 3808/6025/15097 3762/6026/15096 3855/6027/15098
+s 3713
+f 3662/6029/15099 3763/6030/15100 3762/6028/15101
+f 3762/6028/15101 3763/6030/15100 3856/6031/15102
+s 3714
+f 3763/6030/15103 3710/6033/15104 3810/6032/15105
+f 3810/6032/15105 3710/6033/15104 3858/6034/15106
+s 3715
+f 3711/5798/15107 3769/5957/15108 3712/5867/15109
+f 3712/5867/15109 3769/5957/15108 3859/6035/15110
+s 3716
+f 3713/5868/15111 3712/5867/15112 3811/6036/15113
+f 3811/6036/15113 3712/5867/15112 3859/6035/15114
+s 3717
+f 3713/5869/15115 3811/6037/15116 3764/5870/15117
+f 3764/5870/15117 3811/6037/15116 3860/6038/15118
+s 3718
+f 3715/5871/15119 3767/6039/15120 3766/5872/15121
+f 3766/5872/15121 3767/6039/15120 3863/6040/15122
+s 3719
+f 3716/5873/15123 3721/5874/15124 3768/6041/15125
+f 3768/6041/15125 3721/5874/15124 3864/6042/15126
+s 3720
+f 3722/5879/15127 3816/6043/15128 3721/5874/15129
+f 3721/5874/15129 3816/6043/15128 3864/6042/15130
+s 3721
+f 3722/5879/15131 3764/5880/15132 3816/6043/15133
+f 3816/6043/15133 3764/5880/15132 3860/6044/15134
+s 3722
+f 3724/5881/15135 3725/5882/15136 3818/6045/15137
+f 3818/6045/15137 3725/5882/15136 3819/6046/15138
+s 3723
+f 3725/5883/15139 3776/5884/15140 3819/6047/15141
+f 3819/6047/15141 3776/5884/15140 3869/6048/15142
+s 3724
+f 3724/5881/15143 3818/6045/15144 3726/5885/15145
+f 3726/5885/15145 3818/6045/15144 3870/6049/15146
+s 3725
+f 3777/5886/15147 3726/5885/15148 3820/6050/15149
+f 3820/6050/15149 3726/5885/15148 3870/6049/15150
+s 3726
+f 3728/5888/15151 3727/5889/15152 3821/6051/15153
+f 3821/6051/15153 3727/5889/15152 3822/6052/15154
+s 3727
+f 3727/5887/15155 3777/5886/15156 3822/6053/15157
+f 3822/6053/15157 3777/5886/15156 3820/6050/15158
+s 3728
+f 3730/5891/15159 3731/5893/15160 3779/5974/15161
+f 3779/5974/15161 3731/5893/15160 3823/6054/15162
+s 3729
+f 3731/5893/15163 3778/6055/15164 3823/6054/15165
+f 3823/6054/15165 3778/6055/15164 3871/6056/15166
+s 3730
+f 3732/5976/15167 3824/5977/15168 3778/6055/15169
+f 3778/6055/15169 3824/5977/15168 3871/6056/15170
+s 3731
+f 3733/5823/15171 3734/5897/15172 3824/5977/15173
+f 3824/5977/15173 3734/5897/15172 3825/6057/15174
+s 3732
+f 3734/5897/15175 3781/5898/15176 3825/6057/15177
+f 3825/6057/15177 3781/5898/15176 3873/6058/15178
+s 3733
+f 3736/5901/15179 3735/5900/15180 3826/6059/15181
+f 3826/6059/15181 3735/5900/15180 3874/6060/15182
+s 3734
+f 3736/5902/15183 3826/6061/15184 3782/5903/15185
+f 3782/5903/15185 3826/6061/15184 3875/6062/15186
+s 3735
+f 3783/5904/15187 3827/6063/15188 3735/5900/15189
+f 3735/5900/15189 3827/6063/15188 3874/6060/15190
+s 3736
+f 3744/5906/15191 3737/5905/15192 3828/6064/15193
+f 3828/6064/15193 3737/5905/15192 3876/6065/15194
+s 3737
+f 3741/5909/15195 3830/6066/15196 3737/5978/15197
+f 3737/5978/15197 3830/6066/15196 3876/6067/15198
+s 3738
+f 3741/5909/15199 3742/5910/15200 3830/6066/15201
+f 3830/6066/15201 3742/5910/15200 3879/6068/15202
+s 3739
+f 3743/5911/15203 3831/6069/15204 3742/5910/15205
+f 3742/5910/15205 3831/6069/15204 3879/6068/15206
+s 3740
+f 3743/5912/15207 3787/5913/15208 3831/6070/15209
+f 3831/6070/15209 3787/5913/15208 3880/6071/15210
+s 3741
+f 3744/5914/15211 3828/6072/15212 3745/5915/15213
+f 3745/5915/15213 3828/6072/15212 3881/6073/15214
+s 3742
+f 3746/5916/15215 3745/5915/15216 3832/6074/15217
+f 3832/6074/15217 3745/5915/15216 3881/6073/15218
+s 3743
+f 3746/5916/15219 3832/6074/15220 3787/5917/15221
+f 3787/5917/15221 3832/6074/15220 3880/6075/15222
+s 3744
+f 3788/5921/15223 3696/5841/15224 3833/6076/15225
+f 3833/6076/15225 3696/5841/15224 3837/5990/15226
+s 3745
+f 3749/5925/15227 3748/5926/15228 3834/6077/15229
+f 3834/6077/15229 3748/5926/15228 3835/6078/15230
+s 3746
+f 3748/5922/15231 3788/5921/15232 3835/6079/15233
+f 3835/6079/15233 3788/5921/15232 3883/6080/15234
+s 3747
+f 3789/5924/15235 3836/5988/15236 3695/5774/15237
+f 3695/5774/15237 3836/5988/15236 3790/5928/15238
+s 3748
+f 3699/5927/15239 3790/5928/15240 3794/6081/15241
+f 3794/6081/15241 3790/5928/15240 3884/6082/15242
+s 3749
+f 3697/5844/15243 3792/5991/15244 3791/6083/15245
+f 3791/6083/15245 3792/5991/15244 3886/6084/15246
+s 3750
+f 3700/6004/15247 3795/6085/15248 3841/6005/15249
+f 3841/6005/15249 3795/6085/15248 3893/6086/15250
+s 3751
+f 3701/5929/15251 3798/6087/15252 3795/5930/15253
+f 3795/5930/15253 3798/6087/15252 3894/6088/15254
+s 3752
+f 3753/6001/15255 3796/6003/15256 3842/6002/15257
+f 3842/6002/15257 3796/6003/15256 3895/6089/15258
+s 3753
+f 3797/6091/15259 3843/6092/15260 3755/6090/15261
+f 3755/6090/15261 3843/6092/15260 3844/6093/15262
+s 3754
+f 3755/5932/15263 3844/6094/15264 3756/5933/15265
+f 3756/5933/15265 3844/6094/15264 3845/6095/15266
+s 3755
+f 3756/5933/15267 3845/6095/15268 3798/5934/15269
+f 3798/5934/15269 3845/6095/15268 3897/6096/15270
+s 3756
+f 3799/5938/15271 3848/6097/15272 3758/5935/15273
+f 3758/5935/15273 3848/6097/15272 3841/6098/15274
+s 3757
+f 3703/5937/15275 3800/6099/15276 3799/5938/15277
+f 3799/5938/15277 3800/6099/15276 3898/6100/15278
+s 3758
+f 3709/5941/15279 3808/6025/15280 3800/5942/15281
+f 3800/5942/15281 3808/6025/15280 3899/6101/15282
+s 3759
+f 3801/5943/15283 3849/6102/15284 3706/5857/15285
+f 3706/5857/15285 3849/6102/15284 3854/6103/15286
+s 3760
+f 3704/5784/15287 3802/5945/15288 3801/5943/15289
+f 3801/5943/15289 3802/5945/15288 3900/6104/15290
+s 3761
+f 3759/5944/15291 3850/6105/15292 3802/5945/15293
+f 3802/5945/15293 3850/6105/15292 3901/6106/15294
+s 3762
+f 3803/6108/15295 3754/5999/15296 3851/6107/15297
+f 3851/6107/15297 3754/5999/15296 3842/6002/15298
+s 3763
+f 3761/5862/15299 3807/5946/15300 3853/6024/15301
+f 3853/6024/15301 3807/5946/15300 3906/6109/15302
+s 3764
+f 3706/6111/15303 3854/6112/15304 3807/6110/15305
+f 3807/6110/15305 3854/6112/15304 3907/6113/15306
+s 3765
+f 3809/6115/15307 3857/6116/15308 3710/6114/15309
+f 3710/6114/15309 3857/6116/15308 3858/6117/15310
+s 3766
+f 3760/6118/15311 3852/6119/15312 3809/6115/15313
+f 3809/6115/15313 3852/6119/15312 3909/6120/15314
+s 3767
+f 3763/6030/15315 3810/6032/15316 3856/6031/15317
+f 3856/6031/15317 3810/6032/15316 3910/6121/15318
+s 3768
+f 3765/5950/15319 3813/5951/15320 3812/6122/15321
+f 3812/6122/15321 3813/5951/15320 3911/6123/15322
+s 3769
+f 3813/5951/15323 3714/5790/15324 3861/6124/15325
+f 3861/6124/15325 3714/5790/15324 3770/5952/15326
+s 3770
+f 3771/5953/15327 3766/5872/15328 3862/6125/15329
+f 3862/6125/15329 3766/5872/15328 3863/6040/15330
+s 3771
+f 3767/5954/15331 3812/5949/15332 3863/6126/15333
+f 3863/6126/15333 3812/5949/15332 3911/6127/15334
+s 3772
+f 3768/5955/15335 3864/6128/15336 3814/5956/15337
+f 3814/5956/15337 3864/6128/15336 3913/6129/15338
+s 3773
+f 3769/5957/15339 3814/5958/15340 3859/6035/15341
+f 3859/6035/15341 3814/5958/15340 3913/6130/15342
+s 3774
+f 3770/5961/15343 3815/5964/15344 3861/6131/15345
+f 3861/6131/15345 3815/5964/15344 3912/6132/15346
+s 3775
+f 3771/5966/15347 3862/6133/15348 3815/5964/15349
+f 3815/5964/15349 3862/6133/15348 3912/6132/15350
+s 3776
+f 3772/5967/15351 3865/6134/15352 3773/5968/15353
+f 3773/5968/15353 3865/6134/15352 3866/6135/15354
+s 3777
+f 3773/5969/15355 3866/6136/15356 3776/5884/15357
+f 3776/5884/15357 3866/6136/15356 3869/6048/15358
+s 3778
+f 3772/5967/15359 3775/5970/15360 3865/6134/15361
+f 3865/6134/15361 3775/5970/15360 3914/6137/15362
+s 3779
+f 3728/5888/15363 3821/6051/15364 3774/5971/15365
+f 3774/5971/15365 3821/6051/15364 3867/6138/15366
+s 3780
+f 3774/5972/15367 3867/6139/15368 3817/5973/15369
+f 3817/5973/15369 3867/6139/15368 3868/6140/15370
+s 3781
+f 3817/5973/15371 3868/6140/15372 3775/5970/15373
+f 3775/5970/15373 3868/6140/15372 3914/6137/15374
+s 3782
+f 3779/5974/15375 3823/6054/15376 3780/5975/15377
+f 3780/5975/15377 3823/6054/15376 3872/6141/15378
+s 3783
+f 3780/5975/15379 3872/6141/15380 3781/5898/15381
+f 3781/5898/15381 3872/6141/15380 3873/6058/15382
+s 3784
+f 3783/5979/15383 3785/5980/15384 3827/6142/15385
+f 3827/6142/15385 3785/5980/15384 3920/6143/15386
+s 3785
+f 3784/5981/15387 3782/5903/15388 3877/6144/15389
+f 3877/6144/15389 3782/5903/15388 3875/6062/15390
+s 3786
+f 3784/5982/15391 3877/6145/15392 3829/5983/15393
+f 3829/5983/15393 3877/6145/15392 3921/6146/15394
+s 3787
+f 3786/5984/15395 3878/6147/15396 3785/5980/15397
+f 3785/5980/15397 3878/6147/15396 3920/6143/15398
+s 3788
+f 3786/5985/15399 3829/5983/15400 3878/6148/15401
+f 3878/6148/15401 3829/5983/15400 3921/6146/15402
+s 3789
+f 3788/5921/15403 3833/6076/15404 3882/6149/15405
+f 3882/6149/15405 3833/6076/15404 3922/6150/15406
+s 3790
+f 3749/5925/15407 3834/6077/15408 3836/5988/15409
+f 3836/5988/15409 3834/6077/15408 3885/6151/15410
+s 3791
+f 3836/5988/15411 3885/6151/15412 3790/5928/15413
+f 3790/5928/15413 3885/6151/15412 3927/6152/15414
+s 3792
+f 3791/5989/15415 3887/6153/15416 3837/5990/15417
+f 3837/5990/15417 3887/6153/15416 3930/6154/15418
+s 3793
+f 3792/5991/15419 3793/5992/15420 3888/6155/15421
+f 3888/6155/15421 3793/5992/15420 3838/5993/15422
+s 3794
+f 3750/5846/15423 3889/6156/15424 3838/5993/15425
+f 3838/5993/15425 3889/6156/15424 3931/6157/15426
+s 3795
+f 3750/6159/15427 3839/5996/15428 3889/6158/15429
+f 3889/6158/15429 3839/5996/15428 3890/6160/15430
+s 3796
+f 3839/5996/15431 3752/5850/15432 3890/6160/15433
+f 3890/6160/15433 3752/5850/15432 3932/6161/15434
+s 3797
+f 3752/5850/15435 3840/5998/15436 3891/6162/15437
+f 3891/6162/15437 3840/5998/15436 3933/6163/15438
+s 3798
+f 3794/5997/15439 3892/6164/15440 3840/5998/15441
+f 3840/5998/15441 3892/6164/15440 3934/6165/15442
+s 3799
+f 3841/6005/15443 3896/6166/15444 3796/6003/15445
+f 3796/6003/15445 3896/6166/15444 3937/6167/15446
+s 3800
+f 3797/6091/15447 3846/6168/15448 3843/6092/15449
+f 3843/6092/15449 3846/6168/15448 3938/6169/15450
+s 3801
+f 3757/6009/15451 3847/6013/15452 3846/6010/15453
+f 3846/6010/15453 3847/6013/15452 3941/6170/15454
+s 3802
+f 3758/6012/15455 3841/6171/15456 3847/6013/15457
+f 3847/6013/15457 3841/6171/15456 3893/6172/15458
+s 3803
+f 3799/5938/15459 3898/6100/15460 3848/6097/15461
+f 3848/6097/15461 3898/6100/15460 3942/6173/15462
+s 3804
+f 3801/5943/15463 3900/6104/15464 3849/6102/15465
+f 3849/6102/15465 3900/6104/15464 3944/6174/15466
+s 3805
+f 3803/6014/15467 3851/6176/15468 3902/6175/15469
+f 3902/6175/15469 3851/6176/15468 3945/6177/15470
+s 3806
+f 3803/6014/15471 3902/6175/15472 3804/6015/15473
+f 3804/6015/15473 3902/6175/15472 3946/6178/15474
+s 3807
+f 3850/6016/15475 3804/6015/15476 3903/6179/15477
+f 3903/6179/15477 3804/6015/15476 3946/6178/15478
+s 3808
+f 3806/6020/15479 3805/6019/15480 3904/6180/15481
+f 3904/6180/15481 3805/6019/15480 3905/6181/15482
+s 3809
+f 3806/6020/15483 3904/6180/15484 3852/6182/15485
+f 3852/6182/15485 3904/6180/15484 3947/6183/15486
+s 3810
+f 3805/6023/15487 3853/6024/15488 3905/6184/15489
+f 3905/6184/15489 3853/6024/15488 3948/6185/15490
+s 3811
+f 3855/6027/15491 3908/6186/15492 3808/6025/15493
+f 3808/6025/15493 3908/6186/15492 3950/6187/15494
+s 3812
+f 3762/6028/15495 3856/6031/15496 3855/6188/15497
+f 3855/6188/15497 3856/6031/15496 3949/6189/15498
+s 3813
+f 3809/6115/15499 3909/6120/15500 3857/6116/15501
+f 3857/6116/15501 3909/6120/15500 3951/6190/15502
+s 3814
+f 3858/6192/15503 3896/6166/15504 3810/6191/15505
+f 3810/6191/15505 3896/6166/15504 3953/6193/15506
+s 3815
+f 3811/6037/15507 3859/6194/15508 3860/6038/15509
+f 3860/6038/15509 3859/6194/15508 3913/6195/15510
+s 3816
+f 3861/6197/15511 3912/6198/15512 3813/6196/15513
+f 3813/6196/15513 3912/6198/15512 3911/6199/15514
+s 3817
+f 3816/6043/15515 3860/6044/15516 3864/6042/15517
+f 3864/6042/15517 3860/6044/15516 3913/6200/15518
+s 3818
+f 3818/6045/15519 3819/6046/15520 3915/6201/15521
+f 3915/6201/15521 3819/6046/15520 3916/6202/15522
+s 3819
+f 3819/6047/15523 3869/6048/15524 3916/6203/15525
+f 3916/6203/15525 3869/6048/15524 3958/6204/15526
+s 3820
+f 3818/6045/15527 3915/6201/15528 3870/6049/15529
+f 3870/6049/15529 3915/6201/15528 3959/6205/15530
+s 3821
+f 3822/6053/15531 3820/6050/15532 3917/6206/15533
+f 3917/6206/15533 3820/6050/15532 3918/6207/15534
+s 3822
+f 3820/6050/15535 3870/6049/15536 3918/6207/15537
+f 3918/6207/15537 3870/6049/15536 3959/6205/15538
+s 3823
+f 3821/6051/15539 3822/6052/15540 3919/6208/15541
+f 3919/6208/15541 3822/6052/15540 3917/6209/15542
+s 3824
+f 3823/6054/15543 3871/6056/15544 3872/6141/15545
+f 3872/6141/15545 3871/6056/15544 3873/6058/15546
+s 3825
+f 3824/5977/15547 3825/6057/15548 3871/6056/15549
+f 3871/6056/15549 3825/6057/15548 3873/6058/15550
+s 3826
+f 3826/6061/15551 3874/6210/15552 3875/6062/15553
+f 3875/6062/15553 3874/6210/15552 3960/6211/15554
+s 3827
+f 3827/6063/15555 3920/6212/15556 3874/6060/15557
+f 3874/6060/15557 3920/6212/15556 3960/6213/15558
+s 3828
+f 3828/6215/15559 3876/6216/15560 3881/6214/15561
+f 3881/6214/15561 3876/6216/15560 3961/6217/15562
+s 3829
+f 3830/6066/15563 3879/6068/15564 3876/6067/15565
+f 3876/6067/15565 3879/6068/15564 3961/6218/15566
+s 3830
+f 3831/6070/15567 3880/6071/15568 3879/6219/15569
+f 3879/6219/15569 3880/6071/15568 3961/6220/15570
+s 3831
+f 3832/6074/15571 3881/6073/15572 3880/6075/15573
+f 3880/6075/15573 3881/6073/15572 3961/6221/15574
+s 3832
+f 3788/5921/15575 3882/6149/15576 3883/6080/15577
+f 3883/6080/15577 3882/6149/15576 3962/6222/15578
+s 3833
+f 3833/6076/15579 3837/5990/15580 3923/6223/15581
+f 3923/6223/15581 3837/5990/15580 3930/6154/15582
+s 3834
+f 3834/6225/15583 3835/6079/15584 3924/6224/15585
+f 3924/6224/15585 3835/6079/15584 3925/6226/15586
+s 3835
+f 3835/6079/15587 3883/6080/15588 3925/6226/15589
+f 3925/6226/15589 3883/6080/15588 3966/6227/15590
+s 3836
+f 3794/6081/15591 3884/6082/15592 3892/6228/15593
+f 3892/6228/15593 3884/6082/15592 3967/6229/15594
+s 3837
+f 3790/5928/15595 3926/6230/15596 3884/6082/15597
+f 3884/6082/15597 3926/6230/15596 3968/6231/15598
+s 3838
+f 3886/6084/15599 3928/6232/15600 3791/6083/15601
+f 3791/6083/15601 3928/6232/15600 3887/6233/15602
+s 3839
+f 3886/6084/15603 3792/5991/15604 3929/6234/15605
+f 3929/6234/15605 3792/5991/15604 3888/6155/15606
+s 3840
+f 3838/5993/15607 3931/6157/15608 3888/6155/15609
+f 3888/6155/15609 3931/6157/15608 3973/6235/15610
+s 3841
+f 3752/6237/15611 3891/6238/15612 3932/6236/15613
+f 3932/6236/15613 3891/6238/15612 3976/6239/15614
+s 3842
+f 3795/6085/15615 3894/6240/15616 3893/6086/15617
+f 3893/6086/15617 3894/6240/15616 3979/6241/15618
+s 3843
+f 3798/6242/15619 3897/6243/15620 3894/6240/15621
+f 3894/6240/15621 3897/6243/15620 3980/6244/15622
+s 3844
+f 3851/6107/15623 3842/6002/15624 3935/6245/15625
+f 3935/6245/15625 3842/6002/15624 3895/6089/15626
+s 3845
+f 3895/6089/15627 3796/6003/15628 3936/6246/15629
+f 3936/6246/15629 3796/6003/15628 3937/6167/15630
+s 3846
+f 3841/6005/15631 3848/6247/15632 3896/6166/15633
+f 3896/6166/15633 3848/6247/15632 3953/6193/15634
+s 3847
+f 3844/6093/15635 3843/6092/15636 3939/6248/15637
+f 3939/6248/15637 3843/6092/15636 3983/6249/15638
+s 3848
+f 3844/6094/15639 3939/6250/15640 3845/6095/15641
+f 3845/6095/15641 3939/6250/15640 3984/6251/15642
+s 3849
+f 3897/6096/15643 3845/6095/15644 3940/6252/15645
+f 3940/6252/15645 3845/6095/15644 3984/6251/15646
+s 3850
+f 3800/6099/15647 3899/6253/15648 3898/6100/15649
+f 3898/6100/15649 3899/6253/15648 3986/6254/15650
+s 3851
+f 3899/6101/15651 3808/6025/15652 3943/6255/15653
+f 3943/6255/15653 3808/6025/15652 3950/6187/15654
+s 3852
+f 3849/6256/15655 3936/6246/15656 3854/6112/15657
+f 3854/6112/15657 3936/6246/15656 3858/6192/15658
+s 3853
+f 3802/5945/15659 3901/6106/15660 3900/6104/15661
+f 3900/6104/15661 3901/6106/15660 3988/6257/15662
+s 3854
+f 3850/6105/15663 3903/6258/15664 3901/6106/15665
+f 3901/6106/15665 3903/6258/15664 3989/6259/15666
+s 3855
+f 3853/6024/15667 3906/6109/15668 3948/6185/15669
+f 3948/6185/15669 3906/6109/15668 3992/6260/15670
+s 3856
+f 3807/6110/15671 3907/6113/15672 3906/6261/15673
+f 3906/6261/15673 3907/6113/15672 3993/6262/15674
+s 3857
+f 3854/6112/15675 3858/6192/15676 3907/6113/15677
+f 3907/6113/15677 3858/6192/15676 3857/6263/15678
+s 3858
+f 3855/6188/15679 3949/6189/15680 3908/6264/15681
+f 3908/6264/15681 3949/6189/15680 3994/6265/15682
+s 3859
+f 3852/6119/15683 3947/6266/15684 3909/6120/15685
+f 3909/6120/15685 3947/6266/15684 3995/6267/15686
+s 3860
+f 3910/6121/15687 3952/6268/15688 3856/6031/15689
+f 3856/6031/15689 3952/6268/15688 3949/6189/15690
+s 3861
+f 3810/6191/15691 3953/6193/15692 3910/6269/15693
+f 3910/6269/15693 3953/6193/15692 3997/6270/15694
+s 3862
+f 3896/6166/15695 3858/6192/15696 3937/6167/15697
+f 3937/6167/15697 3858/6192/15696 3936/6246/15698
+s 3863
+f 3862/6125/15699 3863/6040/15700 3912/6271/15701
+f 3912/6271/15701 3863/6040/15700 3911/6272/15702
+s 3864
+f 3865/6134/15703 3954/6273/15704 3866/6135/15705
+f 3866/6135/15705 3954/6273/15704 3955/6274/15706
+s 3865
+f 3866/6136/15707 3955/6275/15708 3869/6048/15709
+f 3869/6048/15709 3955/6275/15708 3958/6204/15710
+s 3866
+f 3865/6134/15711 3914/6137/15712 3954/6273/15713
+f 3954/6273/15713 3914/6137/15712 3998/6276/15714
+s 3867
+f 3821/6051/15715 3919/6208/15716 3867/6138/15717
+f 3867/6138/15717 3919/6208/15716 3956/6277/15718
+s 3868
+f 3867/6139/15719 3956/6278/15720 3868/6140/15721
+f 3868/6140/15721 3956/6278/15720 3957/6279/15722
+s 3869
+f 3868/6140/15723 3957/6279/15724 3914/6137/15725
+f 3914/6137/15725 3957/6279/15724 3998/6276/15726
+s 3870
+f 3877/6145/15727 3875/6280/15728 3921/6146/15729
+f 3921/6146/15729 3875/6280/15728 3960/6281/15730
+s 3871
+f 3878/6147/15731 3921/6282/15732 3920/6143/15733
+f 3920/6143/15733 3921/6282/15732 3960/6283/15734
+s 3872
+f 3922/6285/15735 3963/6286/15736 3882/6284/15737
+f 3882/6284/15737 3963/6286/15736 4004/6287/15738
+s 3873
+f 3922/6150/15739 3833/6076/15740 3964/6288/15741
+f 3964/6288/15741 3833/6076/15740 3923/6223/15742
+s 3874
+f 3885/6151/15743 3834/6077/15744 3965/6289/15745
+f 3965/6289/15745 3834/6077/15744 3924/6290/15746
+s 3875
+f 3790/6292/15747 3927/6293/15748 3926/6291/15749
+f 3926/6291/15749 3927/6293/15748 4011/6294/15750
+s 3876
+f 3885/6151/15751 3965/6289/15752 3927/6152/15753
+f 3927/6152/15753 3965/6289/15752 4013/6295/15754
+s 3877
+f 3928/6232/15755 3886/6084/15756 3969/6296/15757
+f 3969/6296/15757 3886/6084/15756 3929/6234/15758
+s 3878
+f 3928/6232/15759 3970/6297/15760 3887/6233/15761
+f 3887/6233/15761 3970/6297/15760 3971/6298/15762
+s 3879
+f 3887/6153/15763 3971/6299/15764 3930/6154/15765
+f 3930/6154/15765 3971/6299/15764 4016/6300/15766
+s 3880
+f 3929/6234/15767 3888/6155/15768 3972/6301/15769
+f 3972/6301/15769 3888/6155/15768 4017/6302/15770
+s 3881
+f 3889/6156/15771 3974/6303/15772 3931/6157/15773
+f 3931/6157/15773 3974/6303/15772 4018/6304/15774
+s 3882
+f 3889/6158/15775 3890/6160/15776 3974/6305/15777
+f 3974/6305/15777 3890/6160/15776 3975/6306/15778
+s 3883
+f 3890/6160/15779 3932/6161/15780 3975/6306/15781
+f 3975/6306/15781 3932/6161/15780 4019/6307/15782
+s 3884
+f 3933/6309/15783 3977/6310/15784 3891/6308/15785
+f 3891/6308/15785 3977/6310/15784 4022/6311/15786
+s 3885
+f 3840/5998/15787 3934/6165/15788 3933/6163/15789
+f 3933/6163/15789 3934/6165/15788 4021/6312/15790
+s 3886
+f 3892/6314/15791 3978/6315/15792 3934/6313/15793
+f 3934/6313/15793 3978/6315/15792 4023/6316/15794
+s 3887
+f 3847/6318/15795 3893/6319/15796 3941/6317/15797
+f 3941/6317/15797 3893/6319/15796 3979/6320/15798
+s 3888
+f 3935/6245/15799 3981/6321/15800 3851/6107/15801
+f 3851/6107/15801 3981/6321/15800 3945/6322/15802
+s 3889
+f 3895/6089/15803 3944/6323/15804 3935/6245/15805
+f 3935/6245/15805 3944/6323/15804 3987/6324/15806
+s 3890
+f 3936/6246/15807 3849/6256/15808 3895/6089/15809
+f 3895/6089/15809 3849/6256/15808 3944/6323/15810
+s 3891
+f 3938/6326/15811 3982/6327/15812 3843/6325/15813
+f 3843/6325/15813 3982/6327/15812 3983/6328/15814
+s 3892
+f 3846/6010/15815 3941/6170/15816 3938/6326/15817
+f 3938/6326/15817 3941/6170/15816 4024/6329/15818
+s 3893
+f 3897/6243/15819 3940/6330/15820 3980/6244/15821
+f 3980/6244/15821 3940/6330/15820 4025/6331/15822
+s 3894
+f 3848/6247/15823 3942/6332/15824 3953/6193/15825
+f 3953/6193/15825 3942/6332/15824 3997/6270/15826
+s 3895
+f 3942/6173/15827 3898/6100/15828 3985/6333/15829
+f 3985/6333/15829 3898/6100/15828 3986/6254/15830
+s 3896
+f 3899/6253/15831 3943/6334/15832 3986/6254/15833
+f 3986/6254/15833 3943/6334/15832 4026/6335/15834
+s 3897
+f 3944/6337/15835 3900/6338/15836 3987/6336/15837
+f 3987/6336/15837 3900/6338/15836 3988/6339/15838
+s 3898
+f 3902/6175/15839 3945/6177/15840 3946/6178/15841
+f 3946/6178/15841 3945/6177/15840 4028/6340/15842
+s 3899
+f 3903/6258/15843 3946/6341/15844 3989/6259/15845
+f 3989/6259/15845 3946/6341/15844 4028/6342/15846
+s 3900
+f 3905/6181/15847 3990/6343/15848 3904/6180/15849
+f 3904/6180/15849 3990/6343/15848 4030/6344/15850
+s 3901
+f 3947/6183/15851 3904/6180/15852 3991/6345/15853
+f 3991/6345/15853 3904/6180/15852 4030/6344/15854
+s 3902
+f 3905/6184/15855 3948/6185/15856 3990/6346/15857
+f 3990/6346/15857 3948/6185/15856 4031/6347/15858
+s 3903
+f 3908/6186/15859 3994/6348/15860 3950/6187/15861
+f 3950/6187/15861 3994/6348/15860 4034/6349/15862
+s 3904
+f 3951/6350/15863 3993/6262/15864 3857/6263/15865
+f 3857/6263/15865 3993/6262/15864 3907/6113/15866
+s 3905
+f 3909/6120/15867 3995/6267/15868 3951/6190/15869
+f 3951/6190/15869 3995/6267/15868 4036/6351/15870
+s 3906
+f 3952/6353/15871 3910/6269/15872 3996/6352/15873
+f 3996/6352/15873 3910/6269/15872 3997/6270/15874
+s 3907
+f 3915/6201/15875 3916/6202/15876 3999/6354/15877
+f 3999/6354/15877 3916/6202/15876 4000/6355/15878
+s 3908
+f 3916/6203/15879 3958/6204/15880 4000/6356/15881
+f 4000/6356/15881 3958/6204/15880 4041/6357/15882
+s 3909
+f 3915/6201/15883 3999/6354/15884 3959/6205/15885
+f 3959/6205/15885 3999/6354/15884 4003/6358/15886
+s 3910
+f 3919/6208/15887 3917/6209/15888 4001/6359/15889
+f 4001/6359/15889 3917/6209/15888 4002/6360/15890
+s 3911
+f 3917/6206/15891 3918/6207/15892 4002/6361/15893
+f 4002/6361/15893 3918/6207/15892 4042/6362/15894
+s 3912
+f 3959/6205/15895 4003/6358/15896 3918/6207/15897
+f 3918/6207/15897 4003/6358/15896 4042/6362/15898
+s 3913
+f 3883/6364/15899 3962/6365/15900 3966/6363/15901
+f 3966/6363/15901 3962/6365/15900 4043/6366/15902
+s 3914
+f 3882/6284/15903 4004/6287/15904 3962/6365/15905
+f 3962/6365/15905 4004/6287/15904 4044/6367/15906
+s 3915
+f 3963/6286/15907 3922/6285/15908 4005/6368/15909
+f 4005/6368/15909 3922/6285/15908 3964/6369/15910
+s 3916
+f 3964/6369/15911 3923/6371/15912 4006/6370/15913
+f 4006/6370/15913 3923/6371/15912 4007/6372/15914
+s 3917
+f 3923/6223/15915 3930/6154/15916 4007/6373/15917
+f 4007/6373/15917 3930/6154/15916 4016/6300/15918
+s 3918
+f 3965/6375/15919 3924/6376/15920 4008/6374/15921
+f 4008/6374/15921 3924/6376/15920 4009/6377/15922
+s 3919
+f 3924/6224/15923 3925/6226/15924 4009/6378/15925
+f 4009/6378/15925 3925/6226/15924 4010/6379/15926
+s 3920
+f 3925/6226/15927 3966/6227/15928 4010/6379/15929
+f 4010/6379/15929 3966/6227/15928 4048/6380/15930
+s 3921
+f 3892/6314/15931 3967/6381/15932 3978/6315/15933
+f 3978/6315/15933 3967/6381/15932 4049/6382/15934
+s 3922
+f 3884/6082/15935 3968/6231/15936 3967/6229/15937
+f 3967/6229/15937 3968/6231/15936 4050/6383/15938
+s 3923
+f 3968/6385/15939 3926/6386/15940 4012/6384/15941
+f 4012/6384/15941 3926/6386/15940 4004/6387/15942
+s 3924
+f 3969/6296/15943 4014/6388/15944 3928/6232/15945
+f 3928/6232/15945 4014/6388/15944 3970/6297/15946
+s 3925
+f 3969/6296/15947 3929/6234/15948 4015/6389/15949
+f 4015/6389/15949 3929/6234/15948 3972/6301/15950
+s 3926
+f 3888/6391/15951 3973/6392/15952 4017/6390/15953
+f 4017/6390/15953 3973/6392/15952 4055/6393/15954
+s 3927
+f 3931/6157/15955 4018/6304/15956 3973/6235/15957
+f 3973/6235/15957 4018/6304/15956 4056/6394/15958
+s 3928
+f 3932/6236/15959 3976/6239/15960 4019/6395/15961
+f 4019/6395/15961 3976/6239/15960 4059/6396/15962
+s 3929
+f 3976/6239/15963 3891/6238/15964 4020/6397/15965
+f 4020/6397/15965 3891/6238/15964 4022/6398/15966
+s 3930
+f 3933/6309/15967 4021/6399/15968 3977/6310/15969
+f 3977/6310/15969 4021/6399/15968 4060/6400/15970
+s 3931
+f 3894/6240/15971 3980/6244/15972 3979/6241/15973
+f 3979/6241/15973 3980/6244/15972 4062/6401/15974
+s 3932
+f 3935/6245/15975 3987/6324/15976 3981/6321/15977
+f 3981/6321/15977 3987/6324/15976 4029/6402/15978
+s 3933
+f 3938/6326/15979 4024/6329/15980 3982/6327/15981
+f 3982/6327/15981 4024/6329/15980 4063/6403/15982
+s 3934
+f 3939/6250/15983 3983/6404/15984 3984/6251/15985
+f 3984/6251/15985 3983/6404/15984 4064/6405/15986
+s 3935
+f 3940/6252/15987 3984/6251/15988 4025/6406/15989
+f 4025/6406/15989 3984/6251/15988 4064/6405/15990
+s 3936
+f 3942/6332/15991 3985/6407/15992 3997/6270/15993
+f 3997/6270/15993 3985/6407/15992 3996/6352/15994
+s 3937
+f 3943/6334/15995 3950/6408/15996 4026/6335/15997
+f 4026/6335/15997 3950/6408/15996 4034/6409/15998
+s 3938
+f 3988/6257/15999 3901/6106/16000 4027/6410/16001
+f 4027/6410/16001 3901/6106/16000 3989/6259/16002
+s 3939
+f 3981/6321/16003 4029/6402/16004 3945/6322/16005
+f 3945/6322/16005 4029/6402/16004 4028/6411/16006
+s 3940
+f 3947/6266/16007 3991/6412/16008 3995/6267/16009
+f 3995/6267/16009 3991/6412/16008 4067/6413/16010
+s 3941
+f 3992/6260/16011 4032/6414/16012 3948/6185/16013
+f 3948/6185/16013 4032/6414/16012 4031/6347/16014
+s 3942
+f 3906/6261/16015 3993/6262/16016 3992/6415/16017
+f 3992/6415/16017 3993/6262/16016 4035/6416/16018
+s 3943
+f 3994/6265/16019 3949/6189/16020 4033/6417/16021
+f 4033/6417/16021 3949/6189/16020 3952/6268/16022
+s 3944
+f 3993/6262/16023 3951/6350/16024 4035/6416/16025
+f 4035/6416/16025 3951/6350/16024 4036/6418/16026
+s 3945
+f 3952/6353/16027 3996/6352/16028 4033/6419/16029
+f 4033/6419/16029 3996/6352/16028 4068/6420/16030
+s 3946
+f 3954/6273/16031 4037/6421/16032 3955/6274/16033
+f 3955/6274/16033 4037/6421/16032 4038/6422/16034
+s 3947
+f 3955/6275/16035 4038/6423/16036 3958/6204/16037
+f 3958/6204/16037 4038/6423/16036 4041/6357/16038
+s 3948
+f 3954/6273/16039 3998/6276/16040 4037/6421/16041
+f 4037/6421/16041 3998/6276/16040 4040/6424/16042
+s 3949
+f 3919/6208/16043 4001/6359/16044 3956/6277/16045
+f 3956/6277/16045 4001/6359/16044 4039/6425/16046
+s 3950
+f 3956/6278/16047 4039/6426/16048 3957/6279/16049
+f 3957/6279/16049 4039/6426/16048 4070/6427/16050
+s 3951
+f 3998/6276/16051 3957/6279/16052 4040/6424/16053
+f 4040/6424/16053 3957/6279/16052 4070/6427/16054
+s 3952
+f 4005/6368/16055 4045/6428/16056 3963/6286/16057
+f 3963/6286/16057 4045/6428/16056 4076/6429/16058
+s 3953
+f 4004/6287/16059 3963/6286/16060 4046/6430/16061
+f 4046/6430/16061 3963/6286/16060 4076/6429/16062
+s 3954
+f 4005/6368/16063 3964/6369/16064 4047/6431/16065
+f 4047/6431/16065 3964/6369/16064 4006/6370/16066
+s 3955
+f 3965/6375/16067 4008/6374/16068 4013/6432/16069
+f 4013/6432/16069 4008/6374/16068 4080/6433/16070
+s 3956
+f 4011/6294/16071 4044/6434/16072 3926/6291/16073
+f 3926/6291/16073 4044/6434/16072 4004/6435/16074
+s 3957
+f 3927/6293/16075 4013/6436/16076 4011/6294/16077
+f 4011/6294/16077 4013/6436/16076 4084/6437/16078
+s 3958
+f 3968/6231/16079 4012/6438/16080 4050/6383/16081
+f 4050/6383/16081 4012/6438/16080 4085/6439/16082
+s 3959
+f 4014/6441/16083 3969/6442/16084 4051/6440/16085
+f 4051/6440/16085 3969/6442/16084 4015/6443/16086
+s 3960
+f 4014/6388/16087 4052/6444/16088 3970/6297/16089
+f 3970/6297/16089 4052/6444/16088 4053/6445/16090
+s 3961
+f 3970/6297/16091 4053/6445/16092 3971/6298/16093
+f 3971/6298/16093 4053/6445/16092 4054/6446/16094
+s 3962
+f 3971/6299/16095 4054/6447/16096 4016/6300/16097
+f 4016/6300/16097 4054/6447/16096 4087/6448/16098
+s 3963
+f 4015/6443/16099 3972/6450/16100 4005/6449/16101
+f 4005/6449/16101 3972/6450/16100 4045/6451/16102
+s 3964
+f 3972/6452/16103 4017/6390/16104 4045/6428/16105
+f 4045/6428/16105 4017/6390/16104 4022/6453/16106
+s 3965
+f 3974/6303/16107 4057/6454/16108 4018/6304/16109
+f 4018/6304/16109 4057/6454/16108 4088/6455/16110
+s 3966
+f 3974/6457/16111 3975/6458/16112 4057/6456/16113
+f 4057/6456/16113 3975/6458/16112 4058/6459/16114
+s 3967
+f 3975/6458/16115 4019/6460/16116 4058/6459/16117
+f 4058/6459/16117 4019/6460/16116 4089/6461/16118
+s 3968
+f 3976/6239/16119 4020/6397/16120 4059/6396/16121
+f 4059/6396/16121 4020/6397/16120 4090/6462/16122
+s 3969
+f 4022/6453/16123 3977/6463/16124 4046/6430/16125
+f 4046/6430/16125 3977/6463/16124 4091/6464/16126
+s 3970
+f 3934/6165/16127 4023/6465/16128 4021/6312/16129
+f 4021/6312/16129 4023/6465/16128 4093/6466/16130
+s 3971
+f 4023/6316/16131 3978/6315/16132 4061/6467/16133
+f 4061/6467/16133 3978/6315/16132 4094/6468/16134
+s 3972
+f 3941/6170/16135 3979/6469/16136 4024/6329/16137
+f 4024/6329/16137 3979/6469/16136 4062/6470/16138
+s 3973
+f 3982/6327/16139 4063/6403/16140 3983/6328/16141
+f 3983/6328/16141 4063/6403/16140 4064/6471/16142
+s 3974
+f 4025/6331/16143 4065/6472/16144 3980/6244/16145
+f 3980/6244/16145 4065/6472/16144 4062/6401/16146
+s 3975
+f 3985/6333/16147 3986/6254/16148 4066/6473/16149
+f 4066/6473/16149 3986/6254/16148 4026/6335/16150
+s 3976
+f 3988/6257/16151 4027/6410/16152 3987/6474/16153
+f 3987/6474/16153 4027/6410/16152 4029/6475/16154
+s 3977
+f 4027/6410/16155 3989/6259/16156 4029/6475/16157
+f 4029/6475/16157 3989/6259/16156 4028/6342/16158
+s 3978
+f 3990/6346/16159 4031/6347/16160 4030/6476/16161
+f 4030/6476/16161 4031/6347/16160 4095/6477/16162
+s 3979
+f 3991/6479/16163 4030/6480/16164 4067/6478/16165
+f 4067/6478/16165 4030/6480/16164 4095/6481/16166
+s 3980
+f 3992/6415/16167 4035/6416/16168 4032/6482/16169
+f 4032/6482/16169 4035/6416/16168 4096/6483/16170
+s 3981
+f 4033/6419/16171 4068/6420/16172 3994/6484/16173
+f 3994/6484/16173 4068/6420/16172 4034/6485/16174
+s 3982
+f 4036/6351/16175 3995/6267/16176 4069/6486/16177
+f 4069/6486/16177 3995/6267/16176 4067/6413/16178
+s 3983
+f 3999/6354/16179 4000/6355/16180 4071/6487/16181
+f 4071/6487/16181 4000/6355/16180 4072/6488/16182
+s 3984
+f 4000/6356/16183 4041/6357/16184 4072/6489/16185
+f 4072/6489/16185 4041/6357/16184 4101/6490/16186
+s 3985
+f 3999/6354/16187 4071/6487/16188 4003/6358/16189
+f 4003/6358/16189 4071/6487/16188 4075/6491/16190
+s 3986
+f 4001/6359/16191 4002/6360/16192 4073/6492/16193
+f 4073/6492/16193 4002/6360/16192 4074/6493/16194
+s 3987
+f 4002/6361/16195 4042/6362/16196 4074/6494/16197
+f 4074/6494/16197 4042/6362/16196 4102/6495/16198
+s 3988
+f 4003/6358/16199 4075/6491/16200 4042/6362/16201
+f 4042/6362/16201 4075/6491/16200 4102/6495/16202
+s 3989
+f 3966/6363/16203 4043/6366/16204 4048/6496/16205
+f 4048/6496/16205 4043/6366/16204 4103/6497/16206
+s 3990
+f 3962/6365/16207 4044/6367/16208 4043/6366/16209
+f 4043/6366/16209 4044/6367/16208 4104/6498/16210
+s 3991
+f 4004/6287/16211 4046/6430/16212 4012/6499/16213
+f 4012/6499/16213 4046/6430/16212 4091/6464/16214
+s 3992
+f 4005/6449/16215 4047/6500/16216 4015/6443/16217
+f 4015/6443/16217 4047/6500/16216 4051/6440/16218
+s 3993
+f 4047/6431/16219 4006/6370/16220 4077/6501/16221
+f 4077/6501/16221 4006/6370/16220 4078/6502/16222
+s 3994
+f 4006/6370/16223 4007/6372/16224 4078/6502/16225
+f 4078/6502/16225 4007/6372/16224 4079/6503/16226
+s 3995
+f 4007/6373/16227 4016/6300/16228 4079/6504/16229
+f 4079/6504/16229 4016/6300/16228 4087/6448/16230
+s 3996
+f 4009/6377/16231 4081/6505/16232 4008/6374/16233
+f 4008/6374/16233 4081/6505/16232 4106/6506/16234
+s 3997
+f 4009/6378/16235 4010/6379/16236 4081/6507/16237
+f 4081/6507/16237 4010/6379/16236 4107/6508/16238
+s 3998
+f 4048/6380/16239 4082/6509/16240 4010/6379/16241
+f 4010/6379/16241 4082/6509/16240 4107/6508/16242
+s 3999
+f 4049/6382/16243 4083/6510/16244 3978/6315/16245
+f 3978/6315/16245 4083/6510/16244 4094/6468/16246
+s 4000
+f 3967/6229/16247 4050/6383/16248 4049/6511/16249
+f 4049/6511/16249 4050/6383/16248 4108/6512/16250
+s 4001
+f 4011/6294/16251 4084/6437/16252 4044/6434/16253
+f 4044/6434/16253 4084/6437/16252 4104/6513/16254
+s 4002
+f 4051/6514/16255 4086/6515/16256 4014/6388/16257
+f 4014/6388/16257 4086/6515/16256 4052/6444/16258
+s 4003
+f 4017/6390/16259 4055/6393/16260 4022/6453/16261
+f 4022/6453/16261 4055/6393/16260 4020/6516/16262
+s 4004
+f 3973/6392/16263 4056/6517/16264 4055/6393/16265
+f 4055/6393/16265 4056/6517/16264 4111/6518/16266
+s 4005
+f 4018/6304/16267 4088/6455/16268 4056/6394/16269
+f 4056/6394/16269 4088/6455/16268 4112/6519/16270
+s 4006
+f 4019/6395/16271 4059/6396/16272 4089/6520/16273
+f 4089/6520/16273 4059/6396/16272 4115/6521/16274
+s 4007
+f 3977/6310/16275 4060/6400/16276 4091/6522/16277
+f 4091/6522/16277 4060/6400/16276 4116/6523/16278
+s 4008
+f 4060/6400/16279 4021/6399/16280 4092/6524/16281
+f 4092/6524/16281 4021/6399/16280 4093/6525/16282
+s 4009
+f 4046/6430/16283 4076/6429/16284 4022/6453/16285
+f 4022/6453/16285 4076/6429/16284 4045/6428/16286
+s 4010
+f 4023/6465/16287 4061/6526/16288 4093/6466/16289
+f 4093/6466/16289 4061/6526/16288 4118/6527/16290
+s 4011
+f 4063/6403/16291 4024/6329/16292 4065/6528/16293
+f 4065/6528/16293 4024/6329/16292 4062/6470/16294
+s 4012
+f 4065/6472/16295 4025/6331/16296 4063/6529/16297
+f 4063/6529/16297 4025/6331/16296 4064/6530/16298
+s 4013
+f 3985/6407/16299 4066/6531/16300 3996/6352/16301
+f 3996/6352/16301 4066/6531/16300 4068/6420/16302
+s 4014
+f 4066/6473/16303 4026/6335/16304 4068/6532/16305
+f 4068/6532/16305 4026/6335/16304 4034/6409/16306
+s 4015
+f 4032/6414/16307 4096/6533/16308 4031/6347/16309
+f 4031/6347/16309 4096/6533/16308 4095/6477/16310
+s 4016
+f 4036/6418/16311 4069/6534/16312 4035/6416/16313
+f 4035/6416/16313 4069/6534/16312 4096/6483/16314
+s 4017
+f 4037/6421/16315 4097/6535/16316 4038/6422/16317
+f 4038/6422/16317 4097/6535/16316 4098/6536/16318
+s 4018
+f 4038/6423/16319 4098/6537/16320 4041/6357/16321
+f 4041/6357/16321 4098/6537/16320 4101/6490/16322
+s 4019
+f 4037/6421/16323 4040/6424/16324 4097/6535/16325
+f 4097/6535/16325 4040/6424/16324 4100/6538/16326
+s 4020
+f 4001/6359/16327 4073/6492/16328 4039/6425/16329
+f 4039/6425/16329 4073/6492/16328 4099/6539/16330
+s 4021
+f 4039/6426/16331 4099/6540/16332 4070/6427/16333
+f 4070/6427/16333 4099/6540/16332 4119/6541/16334
+s 4022
+f 4040/6424/16335 4070/6427/16336 4100/6538/16337
+f 4100/6538/16337 4070/6427/16336 4119/6541/16338
+s 4023
+f 4047/6431/16339 4077/6501/16340 4051/6542/16341
+f 4051/6542/16341 4077/6501/16340 4086/6543/16342
+s 4024
+f 4013/6436/16343 4080/6544/16344 4084/6437/16345
+f 4084/6437/16345 4080/6544/16344 4125/6545/16346
+s 4025
+f 4080/6433/16347 4008/6374/16348 4105/6546/16349
+f 4105/6546/16349 4008/6374/16348 4106/6506/16350
+s 4026
+f 4048/6496/16351 4103/6497/16352 4082/6547/16353
+f 4082/6547/16353 4103/6497/16352 4126/6548/16354
+s 4027
+f 4049/6511/16355 4108/6512/16356 4083/6549/16357
+f 4083/6549/16357 4108/6512/16356 4127/6550/16358
+s 4028
+f 4085/6439/16359 4109/6551/16360 4050/6383/16361
+f 4050/6383/16361 4109/6551/16360 4108/6512/16362
+s 4029
+f 4012/6499/16363 4091/6464/16364 4085/6552/16365
+f 4085/6552/16365 4091/6464/16364 4116/6553/16366
+s 4030
+f 4052/6444/16367 4086/6515/16368 4053/6445/16369
+f 4053/6445/16369 4086/6515/16368 4110/6554/16370
+s 4031
+f 4053/6445/16371 4110/6554/16372 4054/6446/16373
+f 4054/6446/16373 4110/6554/16372 4087/6555/16374
+s 4032
+f 4057/6454/16375 4113/6556/16376 4088/6455/16377
+f 4088/6455/16377 4113/6556/16376 4129/6557/16378
+s 4033
+f 4057/6456/16379 4058/6459/16380 4113/6558/16381
+f 4113/6558/16381 4058/6459/16380 4130/6559/16382
+s 4034
+f 4089/6461/16383 4114/6560/16384 4058/6459/16385
+f 4058/6459/16385 4114/6560/16384 4130/6559/16386
+s 4035
+f 4059/6396/16387 4090/6462/16388 4115/6521/16389
+f 4115/6521/16389 4090/6462/16388 4131/6561/16390
+s 4036
+f 4090/6562/16391 4020/6516/16392 4111/6518/16393
+f 4111/6518/16393 4020/6516/16392 4055/6393/16394
+s 4037
+f 4092/6564/16395 4117/6565/16396 4060/6563/16397
+f 4060/6563/16397 4117/6565/16396 4116/6553/16398
+s 4038
+f 4061/6526/16399 4094/6566/16400 4118/6527/16401
+f 4118/6527/16401 4094/6566/16400 4134/6567/16402
+s 4039
+f 4069/6534/16403 4067/6568/16404 4096/6483/16405
+f 4096/6483/16405 4067/6568/16404 4095/6569/16406
+s 4040
+f 4071/6487/16407 4072/6488/16408 4120/6570/16409
+f 4120/6570/16409 4072/6488/16408 4121/6571/16410
+s 4041
+f 4072/6489/16411 4101/6490/16412 4121/6572/16413
+f 4121/6572/16413 4101/6490/16412 4139/6573/16414
+s 4042
+f 4071/6487/16415 4120/6570/16416 4075/6491/16417
+f 4075/6491/16417 4120/6570/16416 4140/6574/16418
+s 4043
+f 4073/6492/16419 4074/6493/16420 4122/6575/16421
+f 4122/6575/16421 4074/6493/16420 4123/6576/16422
+s 4044
+f 4074/6494/16423 4102/6495/16424 4123/6577/16425
+f 4123/6577/16425 4102/6495/16424 4124/6578/16426
+s 4045
+f 4102/6495/16427 4075/6491/16428 4124/6578/16429
+f 4124/6578/16429 4075/6491/16428 4140/6574/16430
+s 4046
+f 4043/6366/16431 4104/6498/16432 4103/6497/16433
+f 4103/6497/16433 4104/6498/16432 4141/6579/16434
+s 4047
+f 4077/6501/16435 4078/6502/16436 4086/6543/16437
+f 4086/6543/16437 4078/6502/16436 4110/6580/16438
+s 4048
+f 4078/6502/16439 4079/6503/16440 4110/6580/16441
+f 4110/6580/16441 4079/6503/16440 4087/6581/16442
+s 4049
+f 4080/6544/16443 4105/6582/16444 4125/6545/16445
+f 4125/6545/16445 4105/6582/16444 4142/6583/16446
+s 4050
+f 4081/6585/16447 4107/6586/16448 4106/6584/16449
+f 4106/6584/16449 4107/6586/16448 4143/6587/16450
+s 4051
+f 4082/6509/16451 4126/6588/16452 4107/6508/16453
+f 4107/6508/16453 4126/6588/16452 4143/6589/16454
+s 4052
+f 4083/6549/16455 4127/6550/16456 4094/6590/16457
+f 4094/6590/16457 4127/6550/16456 4134/6591/16458
+s 4053
+f 4084/6437/16459 4125/6545/16460 4104/6513/16461
+f 4104/6513/16461 4125/6545/16460 4141/6592/16462
+s 4054
+f 4109/6593/16463 4085/6552/16464 4117/6565/16465
+f 4117/6565/16465 4085/6552/16464 4116/6553/16466
+s 4055
+f 4056/6517/16467 4112/6594/16468 4111/6518/16469
+f 4111/6518/16469 4112/6594/16468 4132/6595/16470
+s 4056
+f 4112/6519/16471 4088/6455/16472 4128/6596/16473
+f 4128/6596/16473 4088/6455/16472 4129/6557/16474
+s 4057
+f 4089/6520/16475 4115/6521/16476 4114/6597/16477
+f 4114/6597/16477 4115/6521/16476 4146/6598/16478
+s 4058
+f 4111/6518/16479 4132/6595/16480 4090/6562/16481
+f 4090/6562/16481 4132/6595/16480 4131/6599/16482
+s 4059
+f 4092/6564/16483 4133/6600/16484 4117/6565/16485
+f 4117/6565/16485 4133/6600/16484 4148/6601/16486
+s 4060
+f 4092/6603/16487 4093/6466/16488 4133/6602/16489
+f 4133/6602/16489 4093/6466/16488 4118/6527/16490
+s 4061
+f 4097/6535/16491 4135/6604/16492 4098/6536/16493
+f 4098/6536/16493 4135/6604/16492 4136/6605/16494
+s 4062
+f 4098/6537/16495 4136/6606/16496 4101/6490/16497
+f 4101/6490/16497 4136/6606/16496 4139/6573/16498
+s 4063
+f 4097/6535/16499 4100/6538/16500 4135/6604/16501
+f 4135/6604/16501 4100/6538/16500 4149/6607/16502
+s 4064
+f 4073/6492/16503 4122/6575/16504 4099/6539/16505
+f 4099/6539/16505 4122/6575/16504 4137/6608/16506
+s 4065
+f 4099/6540/16507 4137/6609/16508 4119/6541/16509
+f 4119/6541/16509 4137/6609/16508 4138/6610/16510
+s 4066
+f 4119/6541/16511 4138/6610/16512 4100/6538/16513
+f 4100/6538/16513 4138/6610/16512 4149/6607/16514
+s 4067
+f 4105/6612/16515 4106/6584/16516 4142/6611/16517
+f 4142/6611/16517 4106/6584/16516 4143/6587/16518
+s 4068
+f 4126/6548/16519 4103/6497/16520 4144/6613/16521
+f 4144/6613/16521 4103/6497/16520 4141/6579/16522
+s 4069
+f 4127/6550/16523 4108/6512/16524 4145/6614/16525
+f 4145/6614/16525 4108/6512/16524 4109/6551/16526
+s 4070
+f 4109/6593/16527 4117/6565/16528 4145/6615/16529
+f 4145/6615/16529 4117/6565/16528 4148/6601/16530
+s 4071
+f 4112/6594/16531 4128/6616/16532 4132/6595/16533
+f 4132/6595/16533 4128/6616/16532 4155/6617/16534
+s 4072
+f 4113/6619/16535 4130/6620/16536 4129/6618/16537
+f 4129/6618/16537 4130/6620/16536 4156/6621/16538
+s 4073
+f 4114/6597/16539 4146/6598/16540 4130/6622/16541
+f 4130/6622/16541 4146/6598/16540 4156/6623/16542
+s 4074
+f 4131/6561/16543 4147/6624/16544 4115/6521/16545
+f 4115/6521/16545 4147/6624/16544 4146/6598/16546
+s 4075
+f 4133/6602/16547 4118/6527/16548 4148/6625/16549
+f 4148/6625/16549 4118/6527/16548 4134/6567/16550
+s 4076
+f 4120/6570/16551 4121/6571/16552 4150/6626/16553
+f 4150/6626/16553 4121/6571/16552 4151/6627/16554
+s 4077
+f 4121/6572/16555 4139/6573/16556 4151/6628/16557
+f 4151/6628/16557 4139/6573/16556 4161/6629/16558
+s 4078
+f 4120/6570/16559 4150/6626/16560 4140/6574/16561
+f 4140/6574/16561 4150/6626/16560 4162/6630/16562
+s 4079
+f 4122/6575/16563 4123/6576/16564 4152/6631/16565
+f 4152/6631/16565 4123/6576/16564 4153/6632/16566
+s 4080
+f 4123/6577/16567 4124/6578/16568 4153/6633/16569
+f 4153/6633/16569 4124/6578/16568 4154/6634/16570
+s 4081
+f 4124/6578/16571 4140/6574/16572 4154/6634/16573
+f 4154/6634/16573 4140/6574/16572 4162/6630/16574
+s 4082
+f 4142/6583/16575 4144/6635/16576 4125/6545/16577
+f 4125/6545/16577 4144/6635/16576 4141/6592/16578
+s 4083
+f 4144/6613/16579 4142/6636/16580 4126/6548/16581
+f 4126/6548/16581 4142/6636/16580 4143/6637/16582
+s 4084
+f 4145/6614/16583 4148/6638/16584 4127/6550/16585
+f 4127/6550/16585 4148/6638/16584 4134/6591/16586
+s 4085
+f 4128/6616/16587 4129/6639/16588 4155/6617/16589
+f 4155/6617/16589 4129/6639/16588 4156/6640/16590
+s 4086
+f 4131/6599/16591 4132/6595/16592 4147/6641/16593
+f 4147/6641/16593 4132/6595/16592 4155/6617/16594
+s 4087
+f 4135/6604/16595 4157/6642/16596 4136/6605/16597
+f 4136/6605/16597 4157/6642/16596 4158/6643/16598
+s 4088
+f 4136/6606/16599 4158/6644/16600 4139/6573/16601
+f 4139/6573/16601 4158/6644/16600 4161/6629/16602
+s 4089
+f 4135/6604/16603 4149/6607/16604 4157/6642/16605
+f 4157/6642/16605 4149/6607/16604 4163/6645/16606
+s 4090
+f 4122/6575/16607 4152/6631/16608 4137/6608/16609
+f 4137/6608/16609 4152/6631/16608 4159/6646/16610
+s 4091
+f 4137/6609/16611 4159/6647/16612 4138/6610/16613
+f 4138/6610/16613 4159/6647/16612 4160/6648/16614
+s 4092
+f 4138/6610/16615 4160/6648/16616 4149/6607/16617
+f 4149/6607/16617 4160/6648/16616 4163/6645/16618
+s 4093
+f 4147/6624/16619 4155/6649/16620 4146/6598/16621
+f 4146/6598/16621 4155/6649/16620 4156/6623/16622
+s 4094
+f 4150/6626/16623 4151/6627/16624 4164/6650/16625
+f 4164/6650/16625 4151/6627/16624 4165/6651/16626
+s 4095
+f 4151/6628/16627 4161/6629/16628 4165/6652/16629
+f 4165/6652/16629 4161/6629/16628 4173/6653/16630
+s 4096
+f 4150/6626/16631 4164/6650/16632 4162/6630/16633
+f 4162/6630/16633 4164/6650/16632 4168/6654/16634
+s 4097
+f 4152/6631/16635 4153/6632/16636 4166/6655/16637
+f 4166/6655/16637 4153/6632/16636 4167/6656/16638
+s 4098
+f 4153/6633/16639 4154/6634/16640 4167/6657/16641
+f 4167/6657/16641 4154/6634/16640 4174/6658/16642
+s 4099
+f 4162/6630/16643 4168/6654/16644 4154/6634/16645
+f 4154/6634/16645 4168/6654/16644 4174/6658/16646
+s 4100
+f 4157/6642/16647 4169/6659/16648 4158/6643/16649
+f 4158/6643/16649 4169/6659/16648 4170/6660/16650
+s 4101
+f 4158/6644/16651 4170/6661/16652 4161/6629/16653
+f 4161/6629/16653 4170/6661/16652 4173/6653/16654
+s 4102
+f 4157/6642/16655 4163/6645/16656 4169/6659/16657
+f 4169/6659/16657 4163/6645/16656 4172/6662/16658
+s 4103
+f 4152/6631/16659 4166/6655/16660 4159/6646/16661
+f 4159/6646/16661 4166/6655/16660 4171/6663/16662
+s 4104
+f 4159/6647/16663 4171/6664/16664 4160/6648/16665
+f 4160/6648/16665 4171/6664/16664 4175/6665/16666
+s 4105
+f 4163/6645/16667 4160/6648/16668 4172/6662/16669
+f 4172/6662/16669 4160/6648/16668 4175/6665/16670
+s 4106
+f 4164/6650/16671 4165/6651/16672 4176/6666/16673
+f 4176/6666/16673 4165/6651/16672 4177/6667/16674
+s 4107
+f 4165/6652/16675 4173/6653/16676 4177/6668/16677
+f 4177/6668/16677 4173/6653/16676 4185/6669/16678
+s 4108
+f 4164/6650/16679 4176/6666/16680 4168/6654/16681
+f 4168/6654/16681 4176/6666/16680 4180/6670/16682
+s 4109
+f 4166/6655/16683 4167/6656/16684 4178/6671/16685
+f 4178/6671/16685 4167/6656/16684 4179/6672/16686
+s 4110
+f 4167/6657/16687 4174/6658/16688 4179/6673/16689
+f 4179/6673/16689 4174/6658/16688 4186/6674/16690
+s 4111
+f 4168/6654/16691 4180/6670/16692 4174/6658/16693
+f 4174/6658/16693 4180/6670/16692 4186/6674/16694
+s 4112
+f 4169/6659/16695 4181/6675/16696 4170/6660/16697
+f 4170/6660/16697 4181/6675/16696 4182/6676/16698
+s 4113
+f 4170/6661/16699 4182/6677/16700 4173/6653/16701
+f 4173/6653/16701 4182/6677/16700 4185/6669/16702
+s 4114
+f 4169/6659/16703 4172/6662/16704 4181/6675/16705
+f 4181/6675/16705 4172/6662/16704 4184/6678/16706
+s 4115
+f 4166/6655/16707 4178/6671/16708 4171/6663/16709
+f 4171/6663/16709 4178/6671/16708 4183/6679/16710
+s 4116
+f 4171/6664/16711 4183/6680/16712 4175/6665/16713
+f 4175/6665/16713 4183/6680/16712 4187/6681/16714
+s 4117
+f 4172/6662/16715 4175/6665/16716 4184/6678/16717
+f 4184/6678/16717 4175/6665/16716 4187/6681/16718
+s 4118
+f 4176/6666/16719 4177/6667/16720 4188/6682/16721
+f 4188/6682/16721 4177/6667/16720 4189/6683/16722
+s 4119
+f 4177/6668/16723 4185/6669/16724 4189/6684/16725
+f 4189/6684/16725 4185/6669/16724 4197/6685/16726
+s 4120
+f 4176/6666/16727 4188/6682/16728 4180/6670/16729
+f 4180/6670/16729 4188/6682/16728 4192/6686/16730
+s 4121
+f 4178/6671/16731 4179/6672/16732 4190/6687/16733
+f 4190/6687/16733 4179/6672/16732 4191/6688/16734
+s 4122
+f 4179/6673/16735 4186/6674/16736 4191/6689/16737
+f 4191/6689/16737 4186/6674/16736 4198/6690/16738
+s 4123
+f 4180/6670/16739 4192/6686/16740 4186/6674/16741
+f 4186/6674/16741 4192/6686/16740 4198/6690/16742
+s 4124
+f 4181/6675/16743 4193/6691/16744 4182/6676/16745
+f 4182/6676/16745 4193/6691/16744 4194/6692/16746
+s 4125
+f 4182/6677/16747 4194/6693/16748 4185/6669/16749
+f 4185/6669/16749 4194/6693/16748 4197/6685/16750
+s 4126
+f 4181/6675/16751 4184/6678/16752 4193/6691/16753
+f 4193/6691/16753 4184/6678/16752 4196/6694/16754
+s 4127
+f 4178/6671/16755 4190/6687/16756 4183/6679/16757
+f 4183/6679/16757 4190/6687/16756 4195/6695/16758
+s 4128
+f 4183/6680/16759 4195/6696/16760 4187/6681/16761
+f 4187/6681/16761 4195/6696/16760 4199/6697/16762
+s 4129
+f 4184/6678/16763 4187/6681/16764 4196/6694/16765
+f 4196/6694/16765 4187/6681/16764 4199/6697/16766
+s 4130
+f 4189/6683/16767 4200/6698/16768 4188/6682/16769
+f 4188/6682/16769 4200/6698/16768 4202/6699/16770
+s 4131
+f 4197/6685/16771 4201/6700/16772 4189/6684/16773
+f 4189/6684/16773 4201/6700/16772 4200/6701/16774
+s 4132
+f 4188/6682/16775 4202/6699/16776 4192/6686/16777
+f 4192/6686/16777 4202/6699/16776 4205/6702/16778
+s 4133
+f 4190/6687/16779 4191/6688/16780 4203/6703/16781
+f 4203/6703/16781 4191/6688/16780 4210/6704/16782
+s 4134
+f 4198/6690/16783 4204/6705/16784 4191/6689/16785
+f 4191/6689/16785 4204/6705/16784 4210/6706/16786
+s 4135
+f 4192/6686/16787 4205/6702/16788 4198/6690/16789
+f 4198/6690/16789 4205/6702/16788 4204/6705/16790
+s 4136
+f 4194/6692/16791 4193/6691/16792 4206/6707/16793
+f 4206/6707/16793 4193/6691/16792 4207/6708/16794
+s 4137
+f 4197/6685/16795 4194/6693/16796 4201/6700/16797
+f 4201/6700/16797 4194/6693/16796 4206/6709/16798
+s 4138
+f 4193/6691/16799 4196/6694/16800 4207/6708/16801
+f 4207/6708/16801 4196/6694/16800 4209/6710/16802
+s 4139
+f 4190/6687/16803 4203/6703/16804 4195/6695/16805
+f 4195/6695/16805 4203/6703/16804 4211/6711/16806
+s 4140
+f 4199/6697/16807 4195/6696/16808 4208/6712/16809
+f 4208/6712/16809 4195/6696/16808 4211/6713/16810
+s 4141
+f 4196/6694/16811 4199/6697/16812 4209/6710/16813
+f 4209/6710/16813 4199/6697/16812 4208/6712/16814
+s 4142
+f 4201/6700/16815 4212/6714/16816 4200/6701/16817
+f 4200/6701/16817 4212/6714/16816 4213/6715/16818
+s 4143
+f 4200/6698/16819 4213/6716/16820 4202/6699/16821
+f 4202/6699/16821 4213/6716/16820 4214/6717/16822
+s 4144
+f 4202/6699/16823 4214/6717/16824 4205/6702/16825
+f 4205/6702/16825 4214/6717/16824 4215/6718/16826
+s 4145
+f 4203/6703/16827 4210/6704/16828 4211/6711/16829
+f 4211/6711/16829 4210/6704/16828 4216/6719/16830
+s 4146
+f 4205/6702/16831 4215/6718/16832 4204/6705/16833
+f 4204/6705/16833 4215/6718/16832 4220/6720/16834
+s 4147
+f 4210/6704/16835 4204/6721/16836 4216/6719/16837
+f 4216/6719/16837 4204/6721/16836 4220/6722/16838
+s 4148
+f 4201/6700/16839 4206/6709/16840 4212/6714/16841
+f 4212/6714/16841 4206/6709/16840 4217/6723/16842
+s 4149
+f 4206/6707/16843 4207/6708/16844 4217/6724/16845
+f 4217/6724/16845 4207/6708/16844 4218/6725/16846
+s 4150
+f 4207/6708/16847 4209/6710/16848 4218/6725/16849
+f 4218/6725/16849 4209/6710/16848 4219/6726/16850
+s 4151
+f 4209/6710/16851 4208/6712/16852 4219/6726/16853
+f 4219/6726/16853 4208/6712/16852 4221/6727/16854
+s 4152
+f 4211/6711/16855 4216/6719/16856 4208/6728/16857
+f 4208/6728/16857 4216/6719/16856 4221/6729/16858
+s 4153
+f 4212/6714/16859 4222/6730/16860 4213/6715/16861
+f 4213/6715/16861 4222/6730/16860 4227/6731/16862
+s 4154
+f 4214/6717/16863 4213/6716/16864 4223/6732/16865
+f 4223/6732/16865 4213/6716/16864 4227/6733/16866
+s 4155
+f 4214/6717/16867 4223/6732/16868 4215/6718/16869
+f 4215/6718/16869 4223/6732/16868 4228/6734/16870
+s 4156
+f 4220/6720/16871 4215/6718/16872 4224/6735/16873
+f 4224/6735/16873 4215/6718/16872 4228/6734/16874
+s 4157
+f 4220/6722/16875 4224/6736/16876 4216/6719/16877
+f 4216/6719/16877 4224/6736/16876 4229/6737/16878
+s 4158
+f 4212/6714/16879 4217/6723/16880 4222/6730/16881
+f 4222/6730/16881 4217/6723/16880 4230/6738/16882
+s 4159
+f 4218/6725/16883 4225/6739/16884 4217/6724/16885
+f 4217/6724/16885 4225/6739/16884 4230/6740/16886
+s 4160
+f 4218/6725/16887 4219/6726/16888 4225/6739/16889
+f 4225/6739/16889 4219/6726/16888 4231/6741/16890
+s 4161
+f 4221/6727/16891 4226/6742/16892 4219/6726/16893
+f 4219/6726/16893 4226/6742/16892 4231/6741/16894
+s 4162
+f 4221/6729/16895 4216/6719/16896 4226/6743/16897
+f 4226/6743/16897 4216/6719/16896 4229/6737/16898
+s 4163
+f 4222/6730/16899 4230/6738/16900 4227/6731/16901
+f 4227/6731/16901 4230/6738/16900 4232/6744/16902
+s 4164
+f 4223/6732/16903 4227/6733/16904 4228/6734/16905
+f 4228/6734/16905 4227/6733/16904 4232/6745/16906
+s 4165
+f 4224/6735/16907 4228/6734/16908 4229/6746/16909
+f 4229/6746/16909 4228/6734/16908 4232/6745/16910
+s 4166
+f 4225/6739/16911 4231/6741/16912 4230/6740/16913
+f 4230/6740/16913 4231/6741/16912 4232/6747/16914
+s 4167
+f 4226/6742/16915 4229/6748/16916 4231/6741/16917
+f 4231/6741/16917 4229/6748/16916 4232/6747/16918
+s off
+f 219/399/16919 301/449/16920 338/516/16921
+f 338/516/16922 272/515/16923 219/399/16924
+f 272/515/16925 300/6749/16926 219/399/16927
+f 300/6749/16928 379/6750/16929 219/399/16930
+f 184/6751/16931 426/6752/16932 374/6753/16933
+f 432/6754/16934 426/6752/16935 184/6751/16936
+f 337/6755/16937 432/6754/16938 184/6751/16939
+s 4168
+f 4234/294/16940 4233/293/16941 200/252/16942
+f 200/252/16942 4233/293/16941 184/249/16943
+s off
+f 242/296/16944 4234/294/16945 200/252/16946
+f 184/6751/16947 4233/6756/16948 337/6755/16949
+f 337/6755/16950 4233/6756/16951 493/6757/16952
+f 493/6757/16953 4233/6756/16954 433/6758/16955
+f 4233/6756/16956 219/399/16957 379/6750/16958
+f 4233/6756/16959 379/6750/16960 433/6758/16961
+s 4169
+f 4236/251/16962 4235/250/16963 160/219/16964
+f 160/219/16964 4235/250/16963 171/233/16965
+s off
+f 201/254/16966 4236/251/16967 160/219/16968
+f 184/6751/16969 374/6753/16970 333/6759/16971
+f 184/6751/16972 333/6759/16973 297/6760/16974
+f 297/6760/16975 269/6761/16976 184/6751/16977
+s 4170
+f 184/6751/16978 269/6761/16979 4235/6762/16980
+f 4235/6762/16980 269/6761/16979 334/6763/16981
+s off
+f 4235/6762/16982 334/6763/16983 239/6764/16984
+f 4235/6762/16985 239/6764/16986 270/6765/16987
+f 4235/6762/16988 270/6765/16989 218/6766/16990
+s 4171
+f 199/326/16991 171/298/16992 218/6766/16993
+f 218/6766/16993 171/298/16992 4235/6762/16994
+s off
+f 55/49/16995 54/48/16996 63/6767/16997
+s 4172
+f 54/48/16998 70/51/16999 63/6767/17000
+f 63/6767/17000 70/51/16999 73/6768/17001
+f 70/51/16999 71/120/17002 73/6768/17001
+f 71/120/17002 72/122/17003 73/6768/17001
+s off
+f 70/51/17004 83/6769/17005 71/120/17006
+f 83/6769/17007 70/51/17008 68/50/17009
+f 72/123/17010 69/103/17011 73/104/17012
+s 4173
+f 2676/4117/17013 2769/6770/17014 2599/4114/17015
+f 2599/4114/17015 2769/6770/17014 2782/6771/17016
using System;
using System.Runtime.InteropServices;
-using Dali;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
-namespace MyCSharpExample
+namespace ControlDashboard
{
- class Example
- {
- // This is simple structure to contain Control name and implement state at once
- // name : control name
- // isImplemented : the state which the control is implemented in public or not
- private struct Item
+ class Example : NUIApplication
{
- public String name;
- public bool isImplemented;
-
- public Item(String name, bool isImplemented)
- {
- this.name = name;
- this.isImplemented = isImplemented;
- }
- }
+ // This is simple structure to contain Control name and implement state at once
+ // name : control name
+ // isImplemented : the state which the control is implemented in public or not
+ private struct Item
+ {
+ public String name;
+ public bool isImplemented;
- private Dali.Application _application;
- private TableView _contentContainer;
- private Stage _stage;
- private Popup _popup;
+ public Item(String name, bool isImplemented)
+ {
+ this.name = name;
+ this.isImplemented = isImplemented;
+ }
+ }
- // List of items
- private Item[] mViewList = {
+ private TableView _contentContainer;
+ private Timer _timer;
+ private Stage _stage;
+ private Popup _popup;
+ private ProgressBar _progressBar;
+ private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res";
+
+ // List of items
+ private Item[] mViewList = {
new Item("PushButton", true), new Item("DropDown", false), new Item("Toggle", true),
new Item("InputField", false), new Item("AnimateGif", false), new Item("Loading", false),
- new Item("ProgressBar", false), new Item("CheckBox", false), new Item("RadioButton", true),
+ new Item("ProgressBar", true), new Item("CheckBox", false), new Item("RadioButton", true),
new Item("Tooltip", true), new Item("Popup", true), new Item("Toast", true),
new Item("ItemView", false), new Item("CheckBox", true)
};
- public Example(Dali.Application application)
- {
- _application = application;
- _application.Initialized += OnInitialize;
- }
-
- public void OnInitialize(object source, NUIApplicationInitEventArgs e)
- {
- Console.WriteLine("Customized Application Initialize event handler");
- _stage = Stage.GetCurrent();
- _stage.BackgroundColor = Color.White;
-
- // Top label
- TextLabel topLabel = new TextLabel();
- topLabel.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
- topLabel.SetResizePolicy(ResizePolicyType.SIZE_RELATIVE_TO_PARENT, DimensionType.HEIGHT);
- topLabel.AnchorPoint = NDalic.AnchorPointTopCenter;
- topLabel.ParentOrigin = NDalic.ParentOriginTopCenter;
- topLabel.SetSizeModeFactor(new Vector3( 0.0f, 0.1f, 0.0f ) );
- topLabel.BackgroundColor = new Color(43.0f / 255.0f, 145.0f / 255.0f, 175.0f / 255.0f, 1.0f);
- topLabel.TextColor = NDalic.WHITE;
- topLabel.Text = " DALi Views";
- topLabel.HorizontalAlignment = "BEGIN";
- topLabel.VerticalAlignment = "CENTER";
- topLabel.PointSize = 42.0f;
- _stage.Add(topLabel);
-
- // Grid container to contain items. Use tableView because FlexContainer support focus navigation just two direction ( up/down or left/right )
- _contentContainer = new TableView(6, 5);
- _contentContainer.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
- _contentContainer.SetResizePolicy(ResizePolicyType.SIZE_RELATIVE_TO_PARENT, DimensionType.HEIGHT);
- _contentContainer.SetSizeModeFactor(new Vector3( 0.0f, 0.9f, 0.0f ) );
- _contentContainer.AnchorPoint = NDalic.AnchorPointBottomCenter;
- _contentContainer.ParentOrigin = NDalic.ParentOriginBottomCenter;
- _contentContainer.SetRelativeHeight(0, 0.07f);
- _contentContainer.SetRelativeHeight(1, 0.26f);
- _contentContainer.SetRelativeHeight(2, 0.07f);
- _contentContainer.SetRelativeHeight(3, 0.26f);
- _contentContainer.SetRelativeHeight(4, 0.07f);
- _contentContainer.SetRelativeHeight(5, 0.26f);
- _contentContainer.SetKeyboardFocusable(true);
- _stage.Add(_contentContainer);
-
- CreateContent();
-
- FocusManager.Instance.PreFocusChange += OnPreFocusChange;
- }
-
- // Callback for KeyboardFocusManager
- private Actor OnPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
- {
- if (!e.Proposed && !e.Current)
- {
- e.Proposed = _contentContainer.GetChildAt(1);
- }
- return e.Proposed;
- }
-
- private void CreateContent()
- {
- for (int i = 0; i < mViewList.Length; i++)
- {
- CreateItem(mViewList[i], i);
- }
- }
-
- private void CreateItem(Item item, int idx)
- {
- // Make label for item
- TextLabel itemLabel = new TextLabel(" " + item.name);
- itemLabel.Size = new Vector3(_stage.GetSize().Width * 0.2f, _stage.GetSize().Height * 0.05f, 0.0f);
- itemLabel.HorizontalAlignment = "BEGIN";
- itemLabel.VerticalAlignment = "BOTTOM";
- itemLabel.PointSize = 18.0f;
- _contentContainer.AddChild(itemLabel, new TableView.CellPosition(((uint)idx / 5) * 2, (uint)idx % 5));
-
- // If item is implemented in public, attach it on stage
- if (item.isImplemented)
- {
- if (item.name.CompareTo("PushButton") == 0)
+ public Example() : base()
{
- PushButton pushButton = new PushButton();
- pushButton.LabelText = "Push Button";
- pushButton.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
- pushButton.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
- pushButton.UnselectedColor = new Vector4(1.0f,0.0f,0.0f,1.0f);
- pushButton.SelectedColor = new Vector4(0.0f,1.0f,0.0f,1.0f);
- pushButton.Clicked += (obj, e) =>
- {
- e.Button.LabelText = "Click Me";
- e.Button.UnselectedColor = new Vector4(0.0f,0.0f,1.0f,1.0f);
- return true;
- };
-
- _contentContainer.AddChild(pushButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
}
- if (item.name.CompareTo("DropDown") == 0)
- {
- }
- if (item.name.CompareTo("Toggle") == 0)
+ public Example(string stylesheet) : base(stylesheet)
{
- ToggleButton toggleButton = new ToggleButton();
- Dali.Property.Array array = new Dali.Property.Array();
- array.Add( new Dali.Property.Value("./images/star-highlight.png") );
- array.Add( new Dali.Property.Value("./images/star-mod.png") );
- array.Add( new Dali.Property.Value("./images/star-dim.png") );
- toggleButton.StateVisuals = array;
-
- Dali.Property.Array tooltips = new Dali.Property.Array();
- tooltips.Add( new Dali.Property.Value("State A") );
- tooltips.Add( new Dali.Property.Value("State B") );
- tooltips.Add( new Dali.Property.Value("State C") );
- toggleButton.Tooltips = tooltips;
-
- toggleButton.WidthResizePolicy = "FILL_TO_PARENT";
- toggleButton.HeightResizePolicy = "FILL_TO_PARENT";
- toggleButton.Clicked += (obj, e) =>
- {
- Console.WriteLine("Toggle button state changed.");
- return true;
- };
-
- _contentContainer.AddChild(toggleButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
}
- if (item.name.CompareTo("InputField") == 0)
- {
- }
- if (item.name.CompareTo("AnimateGif") == 0)
+ public Example(string stylesheet, NUIApplication.WindowMode windowMode) : base(stylesheet, windowMode)
{
-
}
- if (item.name.CompareTo("Loading") == 0)
- {
- }
- if (item.name.CompareTo("ProgressBar") == 0)
+ protected override void OnCreate()
{
-
+ base.OnCreate();
+ Initialize();
}
- if (item.name.CompareTo("ScrollBar") == 0)
- {
- }
- if (item.name.CompareTo("CheckBox") == 0)
+ public void Initialize()
{
- CheckBoxButton checkBoxButton = new CheckBoxButton();
- checkBoxButton.LabelText = "Yes";
-
- _contentContainer.AddChild(checkBoxButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ Console.WriteLine("Customized Application Initialize event handler");
+ _stage = Stage.Instance;
+ _stage.BackgroundColor = Color.White;
+
+ // Top label
+ TextLabel topLabel = new TextLabel();
+ topLabel.WidthResizePolicy = ResizePolicyType.FillToParent;
+ topLabel.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ topLabel.AnchorPoint = AnchorPoint.TopCenter;
+ topLabel.ParentOrigin = ParentOrigin.TopCenter;
+ topLabel.SetSizeModeFactor(new Vector3(0.0f, 0.1f, 0.0f));
+ topLabel.BackgroundColor = new Color(43.0f / 255.0f, 145.0f / 255.0f, 175.0f / 255.0f, 1.0f);
+ topLabel.TextColor = Color.White;
+ topLabel.Text = " DALi Views";
+ topLabel.HorizontalAlignment = "BEGIN";
+ topLabel.VerticalAlignment = "CENTER";
+ topLabel.PointSize = 42.0f;
+ _stage.GetDefaultLayer().Add(topLabel);
+ //StyleManager.Get().ApplyStyle(topLabel, _resPath + "/json/control-dashboard-theme.json", "TextFieldFontSize4");
+ topLabel.SetStyleName("TextFieldFontSize4");
+
+ // Grid container to contain items. Use tableView because FlexContainer support focus navigation just two direction ( up/down or left/right )
+ _contentContainer = new TableView(6, 5);
+ _contentContainer.WidthResizePolicy = ResizePolicyType.FillToParent;
+ _contentContainer.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ _contentContainer.SetSizeModeFactor(new Vector3(0.0f, 0.9f, 0.0f));
+ _contentContainer.AnchorPoint = AnchorPoint.BottomCenter;
+ _contentContainer.ParentOrigin = ParentOrigin.BottomCenter;
+ _contentContainer.SetRelativeHeight(0, 0.07f);
+ _contentContainer.SetRelativeHeight(1, 0.26f);
+ _contentContainer.SetRelativeHeight(2, 0.07f);
+ _contentContainer.SetRelativeHeight(3, 0.26f);
+ _contentContainer.SetRelativeHeight(4, 0.07f);
+ _contentContainer.SetRelativeHeight(5, 0.26f);
+ _contentContainer.Focusable = (true);
+ _stage.GetDefaultLayer().Add(_contentContainer);
+
+ CreateContent();
+
+ FocusManager.Instance.PreFocusChange += OnPreFocusChange;
}
- if (item.name.CompareTo("RadioButton") == 0)
- {
- TableView tableView = new TableView(2, 1);
- tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
- tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
- RadioButton rButton = new RadioButton();
- rButton.LabelText = "Yes";
- rButton.Selected = true;
- tableView.AddChild(rButton, new TableView.CellPosition(0, 0));
-
- rButton = new RadioButton();
- rButton.LabelText = "No";
+ // Callback for KeyboardFocusManager
+ private View OnPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
+ {
+ if (!e.ProposedView && !e.CurrentView)
+ {
+ e.ProposedView = View.DownCast(_contentContainer.GetChildAt(1));
+ }
+ return e.ProposedView;
+ }
- tableView.AddChild(rButton, new TableView.CellPosition(1, 0));
+ private void CreateContent()
+ {
+ for (int i = 0; i < mViewList.Length; i++)
+ {
+ CreateItem(mViewList[i], i);
+ }
+ }
- _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ private void CreateItem(Item item, int idx)
+ {
+ // Make label for item
+ TextLabel itemLabel = new TextLabel(" " + item.name);
+ itemLabel.Size = new Vector3(_stage.Size.Width * 0.2f, _stage.Size.Height * 0.05f, 0.0f);
+ itemLabel.HorizontalAlignment = "BEGIN";
+ itemLabel.VerticalAlignment = "BOTTOM";
+ //itemLabel.PointSize = 18.0f;
+ _contentContainer.AddChild(itemLabel, new TableView.CellPosition(((uint)idx / 5) * 2, (uint)idx % 5));
+
+ // If item is implemented in public, attach it on stage
+ if (item.isImplemented)
+ {
+ if (item.name.CompareTo("PushButton") == 0)
+ {
+ PushButton pushButton = new PushButton();
+ pushButton.LabelText = "Push Button";
+ pushButton.WidthResizePolicy = ResizePolicyType.FillToParent;
+ pushButton.HeightResizePolicy = ResizePolicyType.FillToParent;
+ pushButton.UnselectedColor = new Vector4(1.0f, 0.0f, 0.0f, 1.0f);
+ pushButton.SelectedColor = new Vector4(0.0f, 1.0f, 0.0f, 1.0f);
+ pushButton.Clicked += (obj, e) =>
+ {
+ Button sender = obj as Button;
+ sender.LabelText = "Click Me";
+ sender.UnselectedColor = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);
+ return true;
+ };
+
+ _contentContainer.AddChild(pushButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("DropDown") == 0)
+ {
+
+ }
+ if (item.name.CompareTo("Toggle") == 0)
+ {
+ ToggleButton toggleButton = new ToggleButton();
+ PropertyArray array = new PropertyArray();
+ array.Add(new PropertyValue(_resPath + "/images/star-highlight.png"));
+ array.Add(new PropertyValue(_resPath + "/images/star-mod.png"));
+ array.Add(new PropertyValue(_resPath + "/images/star-dim.png"));
+ toggleButton.StateVisuals = array;
+
+ PropertyArray tooltips = new PropertyArray();
+ tooltips.Add(new PropertyValue("State A"));
+ tooltips.Add(new PropertyValue("State B"));
+ tooltips.Add(new PropertyValue("State C"));
+ toggleButton.Tooltips = tooltips;
+
+ toggleButton.WidthResizePolicy = ResizePolicyType.FillToParent;
+ toggleButton.HeightResizePolicy = ResizePolicyType.FillToParent;
+ toggleButton.Clicked += (obj, e) =>
+ {
+ Console.WriteLine("Toggle button state changed.");
+ return true;
+ };
+
+ _contentContainer.AddChild(toggleButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("InputField") == 0)
+ {
+
+ }
+ if (item.name.CompareTo("AnimateGif") == 0)
+ {
+
+ }
+ if (item.name.CompareTo("Loading") == 0)
+ {
+
+ }
+ if (item.name.CompareTo("ProgressBar") == 0)
+ {
+ _progressBar = new ProgressBar();
+ _progressBar.WidthResizePolicy = ResizePolicyType.FillToParent;
+ _progressBar.HeightResizePolicy = ResizePolicyType.Fixed;
+ _progressBar.Size2D = new Size2D(0, 100);
+
+ _progressBar.ValueChanged += OnProgressBarValueChanged;
+
+ _timer = new Timer(100);
+ _timer.Tick += (obj, e) =>
+ {
+ float progress = (float)Math.Round(_progressBar.ProgressValue, 2);
+
+ if (progress == 1.0f)
+ {
+ _progressBar.ProgressValue = 0.0f;
+ _progressBar.SecondaryProgressValue = 0.01f;
+ }
+ else
+ {
+ _progressBar.ProgressValue = progress + 0.01f;
+ _progressBar.SecondaryProgressValue = progress + 0.21f;
+ }
+ return true;
+ };
+ _timer.Start();
+
+ _contentContainer.AddChild(_progressBar, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("ScrollBar") == 0)
+ {
+
+ }
+ if (item.name.CompareTo("CheckBox") == 0)
+ {
+ CheckBoxButton checkBoxButton = new CheckBoxButton();
+ checkBoxButton.LabelText = "Yes";
+
+ _contentContainer.AddChild(checkBoxButton, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("RadioButton") == 0)
+ {
+ TableView tableView = new TableView(2, 1);
+ tableView.WidthResizePolicy = ResizePolicyType.FillToParent;
+ tableView.HeightResizePolicy = ResizePolicyType.FillToParent;
+
+ RadioButton rButton = new RadioButton();
+ rButton.LabelText = "Yes";
+ rButton.Selected = true;
+ tableView.AddChild(rButton, new TableView.CellPosition(0, 0));
+
+ rButton = new RadioButton();
+ rButton.LabelText = "No";
+
+ tableView.AddChild(rButton, new TableView.CellPosition(1, 0));
+
+ _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("Tooltip") == 0)
+ {
+ TableView tableView = new TableView(2, 1);
+ tableView.WidthResizePolicy = ResizePolicyType.FillToParent;
+ tableView.HeightResizePolicy = ResizePolicyType.FillToParent;
+
+ // Create two push buttons and add them to a table view
+ PushButton buttonWithSimpleTooltip = new PushButton();
+ buttonWithSimpleTooltip.LabelText = "Tooltip with text only";
+ buttonWithSimpleTooltip.UnselectedColor = new Vector4(0.5f, 0.5f, 0.7f, 1.0f);
+ buttonWithSimpleTooltip.SelectedColor = new Vector4(0.7f, 0.5f, 0.7f, 1.0f);
+ buttonWithSimpleTooltip.WidthResizePolicy = ResizePolicyType.FillToParent;
+ tableView.AddChild(buttonWithSimpleTooltip, new TableView.CellPosition(0, 0));
+
+ PushButton buttonWithIconTooltip = new PushButton();
+ buttonWithIconTooltip.LabelText = "Tooltip with Text and Icon";
+ buttonWithIconTooltip.WidthResizePolicy = ResizePolicyType.FillToParent;
+ buttonWithIconTooltip.UnselectedColor = new Vector4(0.5f, 0.5f, 0.7f, 1.0f);
+ buttonWithIconTooltip.SelectedColor = new Vector4(0.7f, 0.5f, 0.7f, 1.0f);
+ tableView.AddChild(buttonWithIconTooltip, new TableView.CellPosition(1, 0));
+
+ // Add a simple text only tooltip to the first push button
+ buttonWithSimpleTooltip.TooltipText = "Simple Tooltip";
+
+ // Create a property map for a tooltip with one icon and one text
+ PropertyArray iconTooltipContent = new PropertyArray();
+
+ PropertyMap iconVisual = new PropertyMap();
+ iconVisual.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image))
+ .Add(ImageVisualProperty.URL, new PropertyValue(_resPath + "/images/star-highlight.png"));
+ iconTooltipContent.Add(new PropertyValue(iconVisual));
+
+ PropertyMap textVisual = new PropertyMap();
+ textVisual.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text))
+ .Add(TextVisualProperty.Text, new PropertyValue("Tooltip with Icon"));
+ iconTooltipContent.Add(new PropertyValue(textVisual));
+
+ PropertyMap iconTooltip = new PropertyMap();
+ iconTooltip.Add(Tooltip.Property.Content, new PropertyValue(iconTooltipContent))
+ .Add(Tooltip.Property.Tail, new PropertyValue(true));
+
+ // Add the tooltip with icon and text to the second push button
+ buttonWithIconTooltip.Tooltip = iconTooltip;
+
+ _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("Popup") == 0)
+ {
+ PushButton button = new PushButton();
+ button.LabelText = "Popup";
+ button.ParentOrigin = ParentOrigin.Center;
+ button.AnchorPoint = AnchorPoint.Center;
+ button.MaximumSize = new Size2D(150, 100);
+ _popup = CreatePopup();
+ _popup.SetTitle(CreateTitle("Popup"));
+
+ TextLabel text = new TextLabel("This will erase the file permanently. Are you sure?");
+ text.BackgroundColor = Color.White;
+ text.MultiLine = true;
+ text.WidthResizePolicy = ResizePolicyType.FillToParent;
+ text.HeightResizePolicy = ResizePolicyType.DimensionDependency;
+ text.SetPadding(new PaddingType(10.0f, 10.0f, 20.0f, 0.0f));
+ _popup.SetContent(text);
+ _popup.Focusable = (true);
+ _popup.SetDisplayState(Popup.DisplayStateType.Hidden);
+
+ button.Clicked += (obj, ee) =>
+ {
+ _stage.GetDefaultLayer().Add(_popup);
+ _popup.SetDisplayState(Popup.DisplayStateType.Shown);
+ FocusManager.Instance.SetCurrentFocusView(View.DownCast((_popup.FindChildByName("Footer")).FindChildByName("OKButton")));
+ return true;
+ };
+ _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("Toast") == 0)
+ {
+ PushButton button = new PushButton();
+ button.LabelText = "Toast";
+ button.ParentOrigin = ParentOrigin.Center;
+ button.AnchorPoint = AnchorPoint.Center;
+ button.Clicked += (obj, ee) =>
+ {
+ TypeInfo typeInfo = new TypeInfo(TypeRegistry.Get().GetTypeInfo("PopupToast"));
+ if (typeInfo)
+ {
+ BaseHandle baseHandle = typeInfo.CreateInstance();
+ if (baseHandle)
+ {
+ Popup toast = Popup.DownCast(baseHandle);
+ TextLabel text = new TextLabel("This is a Toast.\nIt will auto-hide itself");
+ text.TextColor = Color.White;
+ text.MultiLine = true;
+ text.HorizontalAlignment = "center";
+ toast.SetTitle(text);
+ _stage.GetDefaultLayer().Add(toast);
+ toast.SetDisplayState(Popup.DisplayStateType.Shown);
+ }
+ }
+ return true;
+ };
+ _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
+ if (item.name.CompareTo("ItemView") == 0)
+ {
+
+ }
+ }
+ else
+ {
+ ImageView notSupportView = new ImageView(_resPath + "/images/not_yet_sign.png");
+ notSupportView.Size = new Vector3(_stage.Size.Width * 0.2f, _stage.Size.Height * 0.25f, 0.0f);
+ notSupportView.Focusable = (true);
+ _contentContainer.AddChild(notSupportView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ }
}
- if (item.name.CompareTo("Tooltip") == 0)
+ Popup CreatePopup()
{
- TableView tableView = new TableView(2, 1);
- tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
- tableView.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
-
- // Create two push buttons and add them to a table view
- PushButton buttonWithSimpleTooltip = new PushButton();
- buttonWithSimpleTooltip.LabelText = "Tooltip with text only";
- buttonWithSimpleTooltip.UnselectedColor = new Vector4(0.5f,0.5f,0.7f,1.0f);
- buttonWithSimpleTooltip.SelectedColor = new Vector4(0.7f,0.5f,0.7f,1.0f);
- buttonWithSimpleTooltip.WidthResizePolicy = "FILL_TO_PARENT";
- tableView.AddChild(buttonWithSimpleTooltip, new TableView.CellPosition(0, 0));
-
- PushButton buttonWithIconTooltip = new PushButton();
- buttonWithIconTooltip.LabelText = "Tooltip with Text and Icon";
- buttonWithIconTooltip.WidthResizePolicy = "FILL_TO_PARENT";
- buttonWithIconTooltip.UnselectedColor = new Vector4(0.5f,0.5f,0.7f,1.0f);
- buttonWithIconTooltip.SelectedColor = new Vector4(0.7f,0.5f,0.7f,1.0f);
- tableView.AddChild(buttonWithIconTooltip, new TableView.CellPosition(1, 0));
-
- // Add a simple text only tooltip to the first push button
- buttonWithSimpleTooltip.TooltipText = "Simple Tooltip";
-
- // Create a property map for a tooltip with one icon and one text
- Property.Array iconTooltipContent = new Property.Array();
-
- Property.Map iconVisual = new Property.Map();
- iconVisual.Add( Dali.Constants.Visual.Property.Type, new Property.Value((int)Dali.Constants.Visual.Type.Image) )
- .Add( Dali.Constants.ImageVisualProperty.URL, new Property.Value("./images/star-highlight.png") );
- iconTooltipContent.Add(new Property.Value(iconVisual));
-
- Property.Map textVisual = new Property.Map();
- textVisual.Add( Dali.Constants.Visual.Property.Type, new Property.Value((int)Dali.Constants.Visual.Type.Text) )
- .Add( Dali.Constants.TextVisualProperty.Text, new Property.Value("Tooltip with Icon") );
- iconTooltipContent.Add(new Property.Value(textVisual));
-
- Property.Map iconTooltip = new Property.Map();
- iconTooltip.Add( Dali.Constants.Tooltip.Property.Content, new Property.Value(iconTooltipContent) )
- .Add( Dali.Constants.Tooltip.Property.Tail, new Property.Value(true) );
-
- // Add the tooltip with icon and text to the second push button
- buttonWithIconTooltip.Tooltip = iconTooltip;
-
- _contentContainer.AddChild(tableView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ Popup confirmationPopup = new Popup();
+
+ Actor footer = new Actor();
+ footer.Name = ("Footer");
+ footer.WidthResizePolicy = ResizePolicyType.FillToParent;
+ footer.HeightResizePolicy = ResizePolicyType.Fixed;
+ footer.Size = new Size(0.0f, 80.0f, 0.0f);
+ footer.ParentOrigin = ParentOrigin.Center;
+ footer.AnchorPoint = AnchorPoint.Center;
+
+ PushButton okButton = CreateOKButton();
+ okButton.ParentOrigin = ParentOrigin.Center;
+ okButton.AnchorPoint = AnchorPoint.Center;
+ okButton.WidthResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;
+ okButton.HeightResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;
+ okButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));
+
+ PushButton cancelButton = CreateCancelButton();
+ cancelButton.ParentOrigin = ParentOrigin.Center;
+ cancelButton.AnchorPoint = AnchorPoint.Center;
+ cancelButton.WidthResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;
+ cancelButton.HeightResizePolicy = ResizePolicyType.SizeFixedOffsetFromParent;
+ cancelButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));
+
+ TableView controlLayout = new TableView(1, 2);
+ controlLayout.ParentOrigin = ParentOrigin.Center;
+ controlLayout.AnchorPoint = AnchorPoint.Center;
+ controlLayout.WidthResizePolicy = ResizePolicyType.FillToParent;
+ controlLayout.HeightResizePolicy = ResizePolicyType.FillToParent;
+ controlLayout.SetCellPadding(new Size2D(10, 10));
+ controlLayout.SetRelativeWidth(0, 0.5f);
+ controlLayout.SetRelativeWidth(1, 0.5f);
+ controlLayout.SetCellAlignment(new TableView.CellPosition(0, 0), HorizontalAlignmentType.Center, VerticalAlignmentType.Center);
+ controlLayout.SetCellAlignment(new TableView.CellPosition(0, 1), HorizontalAlignmentType.Center, VerticalAlignmentType.Center);
+ controlLayout.AddChild(okButton, new TableView.CellPosition(0, 0));
+ controlLayout.AddChild(cancelButton, new TableView.CellPosition(0, 1));
+
+ footer.Add(controlLayout);
+
+ confirmationPopup.SetFooter(footer);
+ return confirmationPopup;
}
- if (item.name.CompareTo("Popup") == 0)
+ Actor CreateTitle(string title)
{
- PushButton button = new PushButton();
- button.LabelText = "Popup";
- button.ParentOrigin = NDalic.ParentOriginCenter;
- button.AnchorPoint = NDalic.AnchorPointCenter;
- button.MaximumSize = new Vector2(90.0f,50.0f);
- _popup = CreatePopup();
- _popup.SetTitle(CreateTitle("Popup"));
-
- TextLabel text = new TextLabel("This will erase the file permanently. Are you sure?");
- text.BackgroundColor = Color.White;
- text.MultiLine = true;
- text.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
- text.SetResizePolicy(ResizePolicyType.DIMENSION_DEPENDENCY, DimensionType.HEIGHT);
- text.SetPadding(new PaddingType(10.0f, 10.0f, 20.0f, 0.0f));
- _popup.SetContent(text);
- _popup.SetKeyboardFocusable(true);
- _popup.SetDisplayState(Popup.DisplayStateType.HIDDEN);
-
- button.Clicked += (obj, ee) =>
- {
- _stage.Add(_popup);
- _popup.SetDisplayState(Popup.DisplayStateType.SHOWN);
- FocusManager.Instance.SetCurrentFocusActor((_popup.FindChildByName( "Footer" )).FindChildByName("OKButton"));
- return true;
- };
- _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ TextLabel titleActor = new TextLabel(title);
+ titleActor.TextColor = Color.White;
+ titleActor.MultiLine = true;
+ titleActor.HorizontalAlignment = "center";
+ return titleActor;
}
- if (item.name.CompareTo("Toast") == 0)
+
+ PushButton CreateOKButton()
{
- PushButton button = new PushButton();
- button.LabelText = "Toast";
- button.ParentOrigin = NDalic.ParentOriginCenter;
- button.AnchorPoint = NDalic.AnchorPointCenter;
- button.Clicked += (obj, ee) =>
- {
- TypeInfo typeInfo = new TypeInfo(TypeRegistry.Get().GetTypeInfo( "PopupToast" ));
- if( typeInfo )
+ PushButton okayButton = new PushButton();
+ okayButton.Name = ("OKButton");
+ okayButton.LabelText = "OK";
+ okayButton.Focusable = (true);
+ okayButton.Clicked += (obj, ee) =>
{
- BaseHandle baseHandle = typeInfo.CreateInstance();
- if( baseHandle )
- {
- Popup toast = Popup.DownCast( baseHandle );
- TextLabel text = new TextLabel("This is a Toast.\nIt will auto-hide itself");
- text.TextColor = Color.White;
- text.MultiLine = true;
- text.HorizontalAlignment = "center";
- toast.SetTitle( text);
- _stage.Add(toast);
- toast.SetDisplayState( Popup.DisplayStateType.SHOWN);
- }
- }
- return true;
- };
- _contentContainer.AddChild(button, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
+ _popup.SetDisplayState(Popup.DisplayStateType.Hidden);
+ return true;
+ };
+ return okayButton;
}
- if (item.name.CompareTo("ItemView") == 0)
+ PushButton CreateCancelButton()
{
-
+ PushButton cancelButton = new PushButton();
+ cancelButton.LabelText = "Cancel";
+ cancelButton.Focusable = (true);
+ cancelButton.Clicked += (obj, ee) =>
+ {
+ _popup.SetDisplayState(Popup.DisplayStateType.Hidden);
+ return true;
+ };
+ return cancelButton;
}
- }
- else
- {
- ImageView notSupportView = new ImageView("images/not_yet_sign.png");
- notSupportView.Size = new Vector3(_stage.GetSize().Width * 0.2f, _stage.GetSize().Height * 0.25f, 0.0f);
- notSupportView.SetKeyboardFocusable(true);
- _contentContainer.AddChild(notSupportView, new TableView.CellPosition(((uint)idx / 5) * 2 + 1, (uint)idx % 5));
- }
- }
- Popup CreatePopup()
- {
- Popup confirmationPopup = new Popup();
-
- Actor footer = new Actor();
- footer.SetName("Footer");
- footer.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.WIDTH);
- footer.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.HEIGHT);
- footer.SetSize(0.0f, 80.0f);
- footer.ParentOrigin = NDalic.ParentOriginCenter;
- footer.AnchorPoint = NDalic.AnchorPointCenter;
-
- PushButton okButton = CreateOKButton();
- okButton.ParentOrigin = NDalic.ParentOriginCenter;
- okButton.AnchorPoint = NDalic.AnchorPointCenter;
- okButton.SetResizePolicy(ResizePolicyType.SIZE_FIXED_OFFSET_FROM_PARENT, DimensionType.ALL_DIMENSIONS);
- okButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));
-
- PushButton cancelButton = CreateCancelButton();
- cancelButton.ParentOrigin = NDalic.ParentOriginCenter;
- cancelButton.AnchorPoint = NDalic.AnchorPointCenter;
- cancelButton.SetResizePolicy(ResizePolicyType.SIZE_FIXED_OFFSET_FROM_PARENT, DimensionType.ALL_DIMENSIONS);
- cancelButton.SetSizeModeFactor(new Vector3(-20.0f, -20.0f, 0.0f));
-
- TableView controlLayout = new TableView(1, 2);
- controlLayout.ParentOrigin = NDalic.ParentOriginCenter;
- controlLayout.AnchorPoint = NDalic.AnchorPointCenter;
- controlLayout.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.ALL_DIMENSIONS);
- controlLayout.SetCellPadding(new Size(10.0f, 10.0f));
- controlLayout.SetRelativeWidth(0, 0.5f);
- controlLayout.SetRelativeWidth(1, 0.5f);
- controlLayout.SetCellAlignment(new TableView.CellPosition(0, 0), HorizontalAlignmentType.CENTER, VerticalAlignmentType.CENTER);
- controlLayout.SetCellAlignment(new TableView.CellPosition(0, 1), HorizontalAlignmentType.CENTER, VerticalAlignmentType.CENTER);
- controlLayout.AddChild(okButton, new TableView.CellPosition(0, 0));
- controlLayout.AddChild(cancelButton, new TableView.CellPosition(0, 1));
-
- footer.Add(controlLayout);
-
- confirmationPopup.SetFooter(footer);
- return confirmationPopup;
- }
- Actor CreateTitle(string title)
- {
- TextLabel titleActor = new TextLabel(title);
- titleActor.TextColor = Color.White;
- titleActor.MultiLine = true;
- titleActor.HorizontalAlignment = "center";
- return titleActor;
- }
- PushButton CreateOKButton()
- {
- PushButton okayButton = new PushButton();
- okayButton.SetName("OKButton");
- okayButton.LabelText = "OK";
- okayButton.SetKeyboardFocusable(true);
- okayButton.Clicked += (obj, ee) =>
- {
- _popup.SetDisplayState(Popup.DisplayStateType.HIDDEN);
- return true;
- };
- return okayButton;
- }
- PushButton CreateCancelButton()
- {
- PushButton cancelButton = new PushButton();
- cancelButton.LabelText = "Cancel";
- cancelButton.SetKeyboardFocusable(true);
- cancelButton.Clicked += (obj, ee) =>
- {
- _popup.SetDisplayState(Popup.DisplayStateType.HIDDEN);
- return true;
- };
- return cancelButton;
- }
+ void OnProgressBarValueChanged(object source, ProgressBar.ValueChangedEventArgs e)
+ {
+ PropertyMap labelVisual = new PropertyMap();
+ labelVisual.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text))
+ .Add(TextVisualProperty.Text, new PropertyValue(Math.Round(e.ProgressBar.ProgressValue, 2) + " / " + Math.Round(e.ProgressBar.SecondaryProgressValue, 2)))
+ .Add(TextVisualProperty.PointSize, new PropertyValue(10.0f));
+ e.ProgressBar.LabelVisual = labelVisual;
+ return;
+ }
- public void MainLoop()
- {
- _application.MainLoop();
- }
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
- [STAThread]
- static void Main(string[] args)
- {
- Console.WriteLine("Hello Mono World");
+ [STAThread]
+ static void _Main(string[] args)
+ {
+ Console.WriteLine("Hello Mono World");
- Example example = new Example(Application.NewApplication("json/control-dashboard.json"));
- example.MainLoop();
- }
- }
+ Example example = new Example("/home/owner/apps_rw/NUISamples.TizenTV/res/json/control-dashboard-theme.json");
+ example.Run(args);
+ }
+ }
}
using System;
using System.Runtime.InteropServices;
-using Dali;
+using Tizen.NUI;
-namespace MyCSharpExample
+namespace CustomControlTest
{
// A custom control for star rating (draggable to change the rating)
class StarRating : CustomView
private int _currentValue;
private int _myRating;
private bool _myDragEnabled;
+ private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res/";
// Called by DALi Builder if it finds a StarRating control in a JSON file
static CustomView CreateInstance()
ViewRegistry.Instance.Register(CreateInstance, typeof(StarRating) );
}
- public StarRating() : base(typeof(StarRating).Name, ViewWrapperImpl.CustomViewBehaviour.VIEW_BEHAVIOUR_DEFAULT)
+ public StarRating() : base(typeof(StarRating).Name, CustomViewBehaviour.ViewBehaviourDefault)
{
}
// Create a container for the star images
_container = new FlexContainer();
- _container.ParentOrigin = NDalic.ParentOriginTopLeft;
- _container.AnchorPoint = NDalic.AnchorPointTopLeft;
- _container.FlexDirection = (int)FlexContainer.FlexDirectionType.ROW;
- _container.WidthResizePolicy = "FILL_TO_PARENT";
- _container.HeightResizePolicy = "FILL_TO_PARENT";
+ //_container.ParentOrigin = ParentOrigin.TopLeft;
+ //_container.AnchorPoint = AnchorPoint.TopLeft;
+ _container.FlexDirection = FlexContainer.FlexDirectionType.Row;
+ _container.WidthResizePolicy = ResizePolicyType.FillToParent;
+ _container.HeightResizePolicy = ResizePolicyType.FillToParent;
this.Add(_container);
for(int i = 0; i < 5; i++)
{
- _images[i] = new ImageView("./images/star-dim.png");
+ _images[i] = new ImageView(_resPath+"images/star-dim.png");
_container.Add( _images[i] );
}
{
for(int i = 0; i < rating; i++)
{
- _images[i].WidthResizePolicy = "USE_NATURAL_SIZE";
- _images[i].HeightResizePolicy = "USE_NATURAL_SIZE";
- _images[i].SetImage("./images/star-highlight.png");
+ _images[i].WidthResizePolicy = ResizePolicyType.UseNaturalSize;
+ _images[i].HeightResizePolicy = ResizePolicyType.UseNaturalSize;
+ _images[i].SetImage(_resPath+"images/star-highlight.png");
}
for(int i = rating; i < 5; i++)
{
- _images[i].WidthResizePolicy = "USE_NATURAL_SIZE";
- _images[i].HeightResizePolicy = "USE_NATURAL_SIZE";
- _images[i].SetImage("./images/star-dim.png");
+ _images[i].WidthResizePolicy = ResizePolicyType.UseNaturalSize;
+ _images[i].HeightResizePolicy = ResizePolicyType.UseNaturalSize;
+ _images[i].SetImage(_resPath+"images/star-dim.png");
}
}
}
}
- class Example
+ class Example : NUIApplication
{
- private Dali.Application _application;
+ private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res/";
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
delegate void CallbackDelegate();
- public Example(Dali.Application application)
+ public Example() : base()
{
- _application = application;
- _application.Initialized += Initialize;
}
- public void Initialize(object source, NUIApplicationInitEventArgs e)
+ public Example(string stylesheet) : base(stylesheet)
{
- Stage stage = Stage.GetCurrent();
+ }
+
+ public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+ {
+ }
+
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
+
+ public void Initialize()
+ {
+ Stage stage = Stage.Instance;
stage.BackgroundColor = Color.White;
// Create a container to layout the rows of image and rating vertically
FlexContainer container = new FlexContainer();
- container.ParentOrigin = NDalic.ParentOriginTopLeft;
- container.AnchorPoint = NDalic.AnchorPointTopLeft;
- container.FlexDirection = (int)FlexContainer.FlexDirectionType.COLUMN;
- container.WidthResizePolicy = "FILL_TO_PARENT";
- container.HeightResizePolicy = "FILL_TO_PARENT";
+ container.ParentOrigin = ParentOrigin.TopLeft;
+ container.AnchorPoint = AnchorPoint.TopLeft;
+ container.FlexDirection = (int)FlexContainer.FlexDirectionType.Column;
+ container.WidthResizePolicy = ResizePolicyType.FillToParent;
+ container.HeightResizePolicy = ResizePolicyType.FillToParent;
- stage.Add(container);
+ stage.GetDefaultLayer().Add(container);
Random random = new Random();
{
// Create a container to layout the image and rating (in each row) horizontally
FlexContainer imageRow = new FlexContainer();
- imageRow.ParentOrigin = NDalic.ParentOriginTopLeft;
- imageRow.AnchorPoint = NDalic.AnchorPointTopLeft;
- imageRow.FlexDirection = (int)FlexContainer.FlexDirectionType.ROW;
+ imageRow.ParentOrigin = ParentOrigin.TopLeft;
+ imageRow.AnchorPoint = AnchorPoint.TopLeft;
+ imageRow.FlexDirection = FlexContainer.FlexDirectionType.Row;
imageRow.Flex = 1.0f;
container.Add(imageRow);
// Add the image view to the row
- ImageView image = new ImageView("./images/gallery-" + i + ".jpg");
+ ImageView image = new ImageView(_resPath+"images/gallery-" + i + ".jpg");
image.Size = new Vector3(120.0f, 120.0f, 0.0f);
- image.WidthResizePolicy = "FIXED";
- image.HeightResizePolicy = "FIXED";
- image.AlignSelf = (int)FlexContainer.Alignment.ALIGN_CENTER;
+ image.WidthResizePolicy = ResizePolicyType.Fixed;
+ image.HeightResizePolicy = ResizePolicyType.Fixed;
+ image.AlignSelf = (int)FlexContainer.Alignment.AlignCenter;
image.Flex = 0.3f;
image.FlexMargin = new Vector4(10.0f, 0.0f, 0.0f, 0.0f);
imageRow.Add(image);
StarRating view = new StarRating();
// Add the rating control to the row
- view.ParentOrigin = NDalic.ParentOriginCenter;
- view.AnchorPoint = NDalic.AnchorPointCenter;
+ view.ParentOrigin = ParentOrigin.Center;
+ view.AnchorPoint = AnchorPoint.Center;
view.Size = new Vector3(200.0f, 40.0f, 0.0f);
view.Flex = 0.7f;
- view.AlignSelf = (int)FlexContainer.Alignment.ALIGN_CENTER;
+ view.AlignSelf = (int)FlexContainer.Alignment.AlignCenter;
view.FlexMargin = new Vector4(30.0f, 0.0f, 0.0f, 0.0f);
imageRow.Add(view);
}
}
- public void MainLoop()
- {
- _application.MainLoop ();
- }
-
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
- static void Main(string[] args)
+ static void _Main(string[] args)
{
- System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (typeof(MyCSharpExample.StarRating).TypeHandle);
+ //System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (typeof(MyCSharpExample.StarRating).TypeHandle);
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
+ Example example = new Example();
+ example.Run(args);
}
}
}
+++ /dev/null
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-using System;
-using System.Runtime.InteropServices;
-using Dali;
-
-namespace MyCSharpExample
-{
- class Example
- {
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate void CallbackDelegate(IntPtr appPtr); // void, void delgate
-
- private Dali.Application _application;
-
- public Example(Dali.Application application)
- {
- _application = application;
- Console.WriteLine( "InitSignal connection count = " + _application.InitSignal().GetConnectionCount() );
-
- _application.Initialized += Initialize;
- Console.WriteLine( "InitSignal connection count = " + _application.InitSignal().GetConnectionCount() );
- }
-
- public void Initialize(object source, NUIApplicationInitEventArgs e)
- {
-
- OperatorTests();
-
- Handle handle = new Handle();
- int myPropertyIndex = handle.RegisterProperty("myProperty", new Property.Value(10.0f), Property.AccessMode.READ_WRITE);
- float myProperty = 0.0f;
- handle.GetProperty(myPropertyIndex).Get(ref myProperty);
- Console.WriteLine( "myProperty value: " + myProperty );
-
- int myPropertyIndex2 = handle.RegisterProperty("myProperty2", new Property.Value(new Size(5.0f, 5.0f)), Property.AccessMode.READ_WRITE);
- Size myProperty2 = new Size(0.0f, 0.0f);
- handle.GetProperty(myPropertyIndex2).Get(myProperty2);
- Console.WriteLine( "myProperty2 value: " + myProperty2.W + ", " + myProperty2.H );
-
- Actor actor = new Actor();
- actor.Size = new Position(200.0f, 200.0f, 0.0f);
- actor.Name = "MyActor";
- actor.Color = new Color(1.0f, 0.0f, 1.0f, 0.8f);
- Console.WriteLine("Actor id: {0}", actor.GetId());
- Console.WriteLine("Actor size: " + actor.Size.X + ", " + actor.Size.Y);
- Console.WriteLine("Actor name: " + actor.Name);
-
- Stage stage = Stage.GetCurrent();
- stage.BackgroundColor = Color.White;
-
- Size stageSize = stage.Size;
- Console.WriteLine("Stage size: " + stageSize.W + ", " + stageSize.H);
- stage.Add(actor);
-
- TextLabel text = new TextLabel("Hello Mono World");
- text.ParentOrigin = NDalic.ParentOriginCenter;
- text.AnchorPoint = NDalic.AnchorPointCenter;
- text.HorizontalAlignment = "CENTER";
- stage.Add(text);
-
- Console.WriteLine( "Text label text: " + text.Text );
-
- Console.WriteLine( "Text label point size: " + text.PointSize );
- text.PointSize = 32.0f;
- Console.WriteLine( "Text label new point size: " + text.PointSize );
-
- using (RectInteger ri = new RectInteger(02,05,20,30))
- {
- Console.WriteLine( " Created " + ri );
- Console.WriteLine( " IsEmpty() = " + ri.IsEmpty() );
- Console.WriteLine( " Left = " + ri.Left() );
- Console.WriteLine( " Right = " + ri.Right() );
- Console.WriteLine( " Top = " + ri.Top() );
- Console.WriteLine( " Bottom = " + ri.Bottom() );
- Console.WriteLine( " Area = " + ri.Area() );
- }
- Console.WriteLine( " *************************" );
- using (RectInteger ri2 = new RectInteger(02,05,20,30))
- {
- Console.WriteLine( " Created " + ri2 );
- ri2.Set(1,1,40,40);
- Console.WriteLine( " IsEmpty() = " + ri2.IsEmpty() );
- Console.WriteLine( " Left = " + ri2.Left() );
- Console.WriteLine( " Right = " + ri2.Right() );
- Console.WriteLine( " Top = " + ri2.Top() );
- Console.WriteLine( " Bottom = " + ri2.Bottom() );
- Console.WriteLine( " Area = " + ri2.Area() );
- }
- Console.WriteLine( " *************************" );
- using (RectDouble rd = new RectDouble(02,05,20.5,30.5))
- {
- Console.WriteLine( " Created " + rd );
- Console.WriteLine( " IsEmpty() = " + rd.IsEmpty() );
- Console.WriteLine( " Left = " + rd.Left() );
- Console.WriteLine( " Right = " + rd.Right() );
- Console.WriteLine( " Top = " + rd.Top() );
- Console.WriteLine( " Bottom = " + rd.Bottom() );
- Console.WriteLine( " Area = " + rd.Area() );
- }
- Console.WriteLine( " *************************" );
- RectDouble rd2 = new RectDouble();
- rd2.x = 10;
- rd2.y = 10;
- rd2.width = 20;
- rd2.height = 20;
- Console.WriteLine( " Created " + rd2 );
- Console.WriteLine( " IsEmpty() = " + rd2.IsEmpty() );
- Console.WriteLine( " Left = " + rd2.Left() );
- Console.WriteLine( " Right = " + rd2.Right() );
- Console.WriteLine( " Top = " + rd2.Top() );
- Console.WriteLine( " Bottom = " + rd2.Bottom() );
- Console.WriteLine( " Area = " + rd2.Area() );
-
- Console.WriteLine( " *************************" );
- Size Size = new Size(100, 50);
- Console.WriteLine( " Created " + Size );
- Console.WriteLine( " Size x = " + Size.W + ", y = " + Size.H );
- Size += new Size(20, 20);
- Console.WriteLine( " Size x = " + Size.W + ", y = " + Size.H );
- Size.W += 10;
- Size.H += 10;
- Console.WriteLine( " Size width = " + Size.W + ", height = " + Size.H );
-
- Console.WriteLine( " *************************" );
- Position Position = new Position(20, 100, 50);
- Console.WriteLine( " Created " + Position );
- Console.WriteLine( " Position x = " + Position.X + ", y = " + Position.Y + ", z = " + Position.Z );
- Position += new Position(20, 20, 20);
- Console.WriteLine( " Position x = " + Position.X + ", y = " + Position.Y + ", z = " + Position.Z );
- Position.X += 10;
- Position.Y += 10;
- Position.Z += 10;
- Console.WriteLine( " Position width = " + Position.X + ", height = " + Position.Y + ", depth = " + Position.Z );
- Position parentOrigin = new Dali.Position(NDalic.ParentOriginBottomRight);
- Console.WriteLine( " parentOrigin x = " + parentOrigin.X + ", y = " + parentOrigin.Y + ", z = " + parentOrigin.Z );
-
- Console.WriteLine( " *************************" );
- Color color = new Color(20, 100, 50, 200);
- Console.WriteLine( " Created " + color );
- Console.WriteLine( " Color R = " + color.R + ", G = " + color.G + ", B = " + color.B + ", A = " + color.A );
- color += new Color(20, 20, 20, 20);
- Console.WriteLine( " Color R = " + color.R + ", G = " + color.G + ", B = " + color.B + ", A = " + color.A );
- color.R += 10;
- color.G += 10;
- color.B += 10;
- color.A += 10;
- Console.WriteLine( " Color r = " + color.R + ", g = " + color.G + ", b = " + color.B + ", a = " + color.A );
- }
-
-
- public void OperatorTests()
- {
- Actor actor = new Actor();
- Actor differentActor = new Actor();
- Actor actorSame = actor;
- Actor nullActor = null;
-
- // test the true operator
- if ( actor )
- {
- Console.WriteLine ("BaseHandle Operator true (actor) : test passed ");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator true (actor): test failed ");
- }
-
- Actor parent = actor.GetParent ();
-
- if ( parent )
- {
- Console.WriteLine ("Handle with Empty body :failed ");
- }
- else
- {
- Console.WriteLine ("Valid with Empty body :passed ");
- }
-
- actor.Add( differentActor );
- // here we test two different C# objects, which on the native side have the same body/ ref-object
- if ( actor == differentActor.GetParent() )
- {
- Console.WriteLine ("actor == differentActor.GetParent() :passed ");
- }
- else
- {
- Console.WriteLine ("actor == differentActor.GetParent() :failed ");
- }
-
- if ( differentActor == differentActor.GetParent() )
- {
- Console.WriteLine ("differentActor == differentActor.GetParent() :failed ");
- }
- else
- {
- Console.WriteLine ("differentActor == differentActor.GetParent() :passed ");
- }
-
-
- if ( nullActor )
- {
- Console.WriteLine ("BaseHandle Operator true (nullActor) : test failed ");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator true (nullActor): test passed ");
- }
-
- // ! operator
- if ( !actor )
- {
- Console.WriteLine ("BaseHandle Operator !(actor) : test failed ");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator !(actor): test passed ");
- }
-
- if ( !nullActor )
- {
- Console.WriteLine ("BaseHandle Operator !(nullActor) : test passed ");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator !(nullActor): test failed ");
- }
-
- // Note: operator false only used inside & operator
- // test equality operator ==
- if ( actor == actorSame )
- {
- Console.WriteLine ("BaseHandle Operator (actor == actorSame) : test passed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (actor == actorSame) : test failed");
- }
-
- if ( actor == differentActor )
- {
- Console.WriteLine ("BaseHandle Operator (actor == differentActor) : test failed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (actor == differentActor) : test passed");
- }
-
- if ( actor == nullActor )
- {
- Console.WriteLine ("BaseHandle Operator (actor == nullActor) : test failed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (actor == nullActor) : test passed");
- }
-
- if ( nullActor == nullActor )
- {
- Console.WriteLine ("BaseHandle Operator (nullActor == nullActor) : test passed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (nullActor == nullActor) : test failed");
- }
-
- // test || operator
- if ( actor || actorSame )
- {
- Console.WriteLine ("BaseHandle Operator (actor || actorSame) : test passed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (actor || actorSame) : test failed");
- }
-
- if ( actor || nullActor )
- {
- Console.WriteLine ("BaseHandle Operator (actor || nullActor) : test passed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (actor || nullActor) : test failed");
- }
-
- if ( nullActor || nullActor )
- {
- Console.WriteLine ("BaseHandle Operator (nullActor || nullActor) : test failed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (nullActor || nullActor) : test passed");
- }
-
-
- // test && operator
- if ( actor && actorSame )
- {
- Console.WriteLine ("BaseHandle Operator (actor && actorSame) : test passed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (actor && actorSame) : test failed");
- }
-
- if ( actor && nullActor )
- {
- Console.WriteLine ("BaseHandle Operator (actor && nullActor) : test failed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (actor && nullActor) : test passed");
- }
-
- if ( nullActor && nullActor )
- {
- Console.WriteLine ("BaseHandle Operator (nullActor && nullActor) : test failed");
- }
- else
- {
- Console.WriteLine ("BaseHandle Operator (nullActor && nullActor) : test passed");
- }
-
- }
-
- public void MainLoop()
- {
- _application.MainLoop ();
- }
-
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main(string[] args)
- {
- Console.WriteLine ("Hello Mono World");
-
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
- }
- }
-}
using System;
using System.Runtime.InteropServices;
-using Dali;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
-namespace MyCSharpExample
+namespace DaliTest
{
- class Example
+ class MyView : View
+ {
+ private string _myOwnName;
+ public int _myCurrentValue;
+
+ public MyView()
+ {
+ _myCurrentValue = 0;
+ }
+
+ public string MyOwnName
+ {
+ get
+ {
+ return _myOwnName;
+ }
+ set
+ {
+ _myOwnName = value;
+ }
+ }
+ }
+
+ class MyButton : PushButton
+ {
+ private string _myOwnName;
+ public int _myCurrentValue;
+
+ public MyButton()
+ {
+ _myCurrentValue = 0;
+ }
+
+ public string MyOwnName
+ {
+ get
+ {
+ return _myOwnName;
+ }
+ set
+ {
+ _myOwnName = value;
+ }
+ }
+ }
+
+ class MySpin : Spin
+ {
+ private string _myOwnName;
+ public int _myCurrentValue;
+
+ public MySpin()
+ {
+ _myCurrentValue = 0;
+ }
+
+ public string MyOwnName
+ {
+ get
+ {
+ return _myOwnName;
+ }
+ set
+ {
+ _myOwnName = value;
+ }
+ }
+ }
+
+ class Example : NUIApplication
{
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
delegate void CallbackDelegate(IntPtr appPtr); // void, void delgate
- private Dali.Application _application;
+ public Example() : base()
+ {
+ }
- public Example(Dali.Application application)
+ public Example(string stylesheet) : base(stylesheet)
{
- _application = application;
- Console.WriteLine( "InitSignal connection count = " + _application.InitSignal().GetConnectionCount() );
+ }
- _application.Initialized += Initialize;
- Console.WriteLine( "InitSignal connection count = " + _application.InitSignal().GetConnectionCount() );
+ public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+ {
}
- public void Initialize(object source, NUIApplicationInitEventArgs e)
+ protected override void OnCreate()
{
+ base.OnCreate();
+ Initialize();
+ }
+
+ public void Initialize()
+ {
+ NavigationPropertiesTests();
+
OperatorTests();
CustomViewPropertyTest();
Handle handle = new Handle();
- int myPropertyIndex = handle.RegisterProperty("myProperty", new Property.Value(10.0f), Property.AccessMode.READ_WRITE);
+ int myPropertyIndex = handle.RegisterProperty("myProperty", new PropertyValue(10.0f), PropertyAccessMode.ReadWrite);
float myProperty = 0.0f;
handle.GetProperty(myPropertyIndex).Get(ref myProperty);
Console.WriteLine( "myProperty value: " + myProperty );
- int myPropertyIndex2 = handle.RegisterProperty("myProperty2", new Property.Value(new Size(5.0f, 5.0f)), Property.AccessMode.READ_WRITE);
- Size myProperty2 = new Size(0.0f, 0.0f);
+ int myPropertyIndex2 = handle.RegisterProperty("myProperty2", new PropertyValue(new Size(5.0f, 5.0f, 0.0f)), PropertyAccessMode.ReadWrite);
+ Size myProperty2 = new Size(0.0f, 0.0f, 0.0f);
handle.GetProperty(myPropertyIndex2).Get(myProperty2);
- Console.WriteLine( "myProperty2 value: " + myProperty2.W + ", " + myProperty2.H );
+ Console.WriteLine( "myProperty2 value: " + myProperty2.Width + ", " + myProperty2.Height );
Actor actor = new Actor();
- actor.Size = new Position(200.0f, 200.0f, 0.0f);
+ actor.Size = new Size(200.0f, 200.0f, 0.0f);
actor.Name = "MyActor";
- actor.Color = new Color(1.0f, 0.0f, 1.0f, 0.8f);
- Console.WriteLine("Actor id: {0}", actor.GetId());
- Console.WriteLine("Actor size: " + actor.Size.X + ", " + actor.Size.Y);
+ actor.MixColor = new Color(1.0f, 0.0f, 1.0f, 0.8f);
+ Console.WriteLine("Actor size: " + actor.Size.Width + ", " + actor.Size.Height);
Console.WriteLine("Actor name: " + actor.Name);
- Stage stage = Stage.GetCurrent();
+ Stage stage = Stage.Instance;
stage.BackgroundColor = Color.White;
- Size stageSize = stage.Size;
- Console.WriteLine("Stage size: " + stageSize.W + ", " + stageSize.H);
- stage.Add(actor);
+ Size stageSize = new Size(stage.Size.Width, stage.Size.Height, 0.0f);
+ Console.WriteLine("Stage size: " + stageSize.Width + ", " + stageSize.Height);
+ stage.GetDefaultLayer().Add(actor);
TextLabel text = new TextLabel("Hello Mono World");
- text.ParentOrigin = NDalic.ParentOriginCenter;
- text.AnchorPoint = NDalic.AnchorPointCenter;
+ text.ParentOrigin = ParentOrigin.Center;
+ text.AnchorPoint = AnchorPoint.Center;
text.HorizontalAlignment = "CENTER";
- stage.Add(text);
+ stage.GetDefaultLayer().Add(text);
Console.WriteLine( "Text label text: " + text.Text );
RectanglePaddingClassTest();
Console.WriteLine( " *************************" );
- Size Size = new Size(100, 50);
+ Size Size = new Size(100, 50, 0);
Console.WriteLine( " Created " + Size );
- Console.WriteLine( " Size x = " + Size.W + ", y = " + Size.H );
- Size += new Size(20, 20);
- Console.WriteLine( " Size x = " + Size.W + ", y = " + Size.H );
- Size.W += 10;
- Size.H += 10;
- Console.WriteLine( " Size width = " + Size.W + ", height = " + Size.H );
+ Console.WriteLine( " Size x = " + Size.Width + ", y = " + Size.Height );
+ Size += new Size(20, 20, 0);
+ Console.WriteLine( " Size x = " + Size.Width + ", y = " + Size.Height );
+ Size.Width += 10;
+ Size.Height += 10;
+ Console.WriteLine( " Size width = " + Size.Width + ", height = " + Size.Height );
Console.WriteLine( " *************************" );
Position Position = new Position(20, 100, 50);
Position.Y += 10;
Position.Z += 10;
Console.WriteLine( " Position width = " + Position.X + ", height = " + Position.Y + ", depth = " + Position.Z );
- Position parentOrigin = new Dali.Position(NDalic.ParentOriginBottomRight);
- Console.WriteLine( " parentOrigin x = " + parentOrigin.X + ", y = " + parentOrigin.Y + ", z = " + parentOrigin.Z );
Console.WriteLine( " *************************" );
Color color = new Color(20, 100, 50, 200);
color.B += 10;
color.A += 10;
Console.WriteLine( " Color r = " + color.R + ", g = " + color.G + ", b = " + color.B + ", a = " + color.A );
+
+ ViewDownCastTest();
}
public void RectanglePaddingClassTest()
}
}
+ public void NavigationPropertiesTests()
+ {
+ View view = new View();
+ View leftView, rightView, upView, downView, tmpView;
+
+ leftView = new View();
+ leftView.Name = "leftView";
+ rightView = new View();
+ rightView.Name = "rightView";
+ upView = new View();
+ upView.Name = "upView";
+ downView = new View();
+ downView.Name = "downView";
+
+ Stage.Instance.GetDefaultLayer().Add(leftView);
+ Stage.Instance.GetDefaultLayer().Add(rightView);
+ Stage.Instance.GetDefaultLayer().Add(upView);
+ Stage.Instance.GetDefaultLayer().Add(downView);
+
+ view.LeftFocusableView = leftView;
+ tmpView = view.LeftFocusableView;
+ if (string.Compare(tmpView.Name, "leftView") == 0)
+ {
+ Console.WriteLine("Passed: LeftFocusedView = " + tmpView.Name);
+ }
+ else
+ {
+ Console.WriteLine("Failed: LeftFocusedView = " + tmpView.Name);
+ }
+
+ view.RightFocusableView = rightView;
+ tmpView = view.RightFocusableView;
+ if (string.Compare(tmpView.Name, "rightView") == 0)
+ {
+ Console.WriteLine("Passed: RightFocusedView = " + tmpView.Name);
+ }
+ else
+ {
+ Console.WriteLine("Failed: RightFocusedView = " + tmpView.Name);
+ }
+
+ Stage.Instance.GetDefaultLayer().Add(view);
+
+ view.UpFocusableView = upView;
+ tmpView = view.UpFocusableView;
+ if (string.Compare(tmpView.Name, "upView") == 0)
+ {
+ Console.WriteLine("Passed: UpFocusedView = " + tmpView.Name);
+ }
+ else
+ {
+ Console.WriteLine("Failed: UpFocusedView = " + tmpView.Name);
+ }
+
+ view.DownFocusableView = downView;
+ tmpView = view.DownFocusableView;
+ if (string.Compare(tmpView.Name, "downView") == 0)
+ {
+ Console.WriteLine("Passed: DownFocusedView = " + tmpView.Name);
+ }
+ else
+ {
+ Console.WriteLine("Failed: DownFocusedView = " + tmpView.Name);
+ }
+
+ Stage.Instance.GetDefaultLayer().Remove(leftView);
+ tmpView = view.LeftFocusableView;
+ if (!tmpView)
+ {
+ Console.WriteLine("Passed: NULL LeftFocusedView");
+ }
+ else
+ {
+ Console.WriteLine("Failed: LeftFocusedView = " + tmpView.Name);
+ }
+ }
+
public void OperatorTests()
{
Actor actor = new Actor();
Console.WriteLine ("BaseHandle Operator true (actor): test failed ");
}
- Actor parent = actor.GetParent ();
+ Actor parent = actor.Parent;
if ( parent )
{
actor.Add( differentActor );
// here we test two different C# objects, which on the native side have the same body/ ref-object
- if ( actor == differentActor.GetParent() )
+ if ( actor == differentActor.Parent )
{
Console.WriteLine ("actor == differentActor.GetParent() :passed ");
}
Console.WriteLine ("actor == differentActor.GetParent() :failed ");
}
- if ( differentActor == differentActor.GetParent() )
+ if ( differentActor == differentActor.Parent )
{
Console.WriteLine ("differentActor == differentActor.GetParent() :failed ");
}
Spin spin = new Spin();
// Background property
- Property.Map background = new Property.Map();
- background.Add( Dali.Constants.Visual.Property.Type, new Property.Value((int)Dali.Constants.Visual.Type.Color) )
- .Add( Dali.Constants.ColorVisualProperty.MixColor, new Property.Value(Color.Red) );
+ PropertyMap background = new PropertyMap();
+ background.Add( Visual.Property.Type, new PropertyValue((int)Visual.Type.Color) )
+ .Add( ColorVisualProperty.MixColor, new PropertyValue(Color.Red) );
spin.Background = background;
background = spin.Background;
- Vector4 backgroundColor = new Vector4();
- background.Find(Dali.Constants.ColorVisualProperty.MixColor).Get(backgroundColor);
+ Color backgroundColor = new Color();
+ background.Find(ColorVisualProperty.MixColor).Get(backgroundColor);
if( backgroundColor == Color.Red )
{
Console.WriteLine ("Custom View Background property : test passed");
Console.WriteLine ("Custom View BackgroundColor property : test failed");
}
+ // BackgroundImage property
+ spin.BackgroundImage = "background-image.jpg";
+ if(spin.BackgroundImage == "background-image.jpg")
+ {
+ Console.WriteLine ("Custom View BackgroundImage property : test passed");
+ }
+ else
+ {
+ Console.WriteLine ("Custom View BackgroundImage property : test failed");
+ }
+
// StyleName property
spin.StyleName = "MyCustomStyle";
if(spin.StyleName == "MyCustomStyle")
}
}
- public void MainLoop()
+ public void ViewDownCastTest()
{
- _application.MainLoop ();
+ View container = new View();
+ container.Position = new Position(-800.0f, -800.0f, 0.0f);
+ Stage.Instance.GetDefaultLayer().Add(container);
+
+ // Test downcast for native control
+ TextLabel myLabel = new TextLabel();
+ myLabel.Name = "MyLabelName";
+ myLabel.Text = "MyText";
+
+ Console.WriteLine("myLabel.Name = " + myLabel.Name + ", Text = " + myLabel.Text);
+
+ container.Add(myLabel);
+
+ Actor myLabelActor = container.FindChildByName("MyLabelName");
+ if(myLabelActor)
+ {
+ TextLabel newLabel = View.DownCast<TextLabel>(myLabelActor);
+ if(newLabel)
+ {
+ Console.WriteLine("Downcast to TextLabel successful: newLabel Name = " + newLabel.Name + ", Text = " + newLabel.Text);
+ }
+ else
+ {
+ Console.WriteLine("Downcast to TextLabel failed!");
+ }
+ }
+
+ // Test downcast for class directly inherited from View
+ MyView myView = new MyView();
+ myView.Name = "MyViewName";
+ myView.MyOwnName = "MyOwnViewName";
+ myView._myCurrentValue = 5;
+
+ Console.WriteLine("myView.Name = " + myView.Name + ", MyOwnName = " + myView.MyOwnName + ", myCurrentValue = " + myView._myCurrentValue);
+
+ container.Add(myView);
+
+ Actor myViewActor = container.FindChildByName("MyViewName");
+ if(myViewActor)
+ {
+ MyView newView = View.DownCast<MyView>(myViewActor);
+ if(newView)
+ {
+ Console.WriteLine("Downcast to MyView successful: newView Name = " + newView.Name + ", MyOwnName = " + newView.MyOwnName + ", myCurrentValue = " + newView._myCurrentValue);
+ }
+ else
+ {
+ Console.WriteLine("Downcast to MyView failed!");
+ }
+ }
+
+ // Test downcast for class directly inherited from native control
+ MyButton myButton = new MyButton();
+ myButton.Name = "MyButtonName";
+ myButton.MyOwnName = "MyOwnViewName";
+ myButton.LabelText = "MyLabelText";
+ myButton._myCurrentValue = 5;
+
+ Console.WriteLine("myButton.Name = " + myButton.Name + ", MyOwnName = " + myButton.MyOwnName + ", LabelText = " + myButton.LabelText + ", myCurrentValue = " + myButton._myCurrentValue);
+
+ container.Add(myButton);
+
+ Actor myButtonActor = container.FindChildByName("MyButtonName");
+ if(myButtonActor)
+ {
+ MyButton newButton = View.DownCast<MyButton>(myButtonActor);
+ if(newButton)
+ {
+ Console.WriteLine("Downcast to MyButton successful: newButton Name = " + newButton.Name + ", MyOwnName = " + newButton.MyOwnName + ", LabelText = " + myButton.LabelText + ", myCurrentValue = " + newButton._myCurrentValue);
+ }
+ else
+ {
+ Console.WriteLine("Downcast to MyButton failed!");
+ }
+ }
+
+ // Test downcast for a CustomView
+ Spin spin = new Spin();
+ spin.Name = "SpinName";
+ spin.MaxValue = 8888;
+
+ Console.WriteLine("spin.Name = " + spin.Name + ", MaxValue = " + spin.MaxValue);
+
+ container.Add(spin);
+
+ Actor spinActor = container.FindChildByName("SpinName");
+ if(spinActor)
+ {
+ Spin newSpin = View.DownCast<Spin>(spinActor);
+ if(newSpin)
+ {
+ Console.WriteLine("Downcast to Spin successful: newSpin Name = " + newSpin.Name + ", MaxValue = " + newSpin.MaxValue);
+ }
+ else
+ {
+ Console.WriteLine("Downcast to Spin failed!");
+ }
+ }
+
+ // Test downcast for class inherited from a CustomView
+ MySpin mySpin = new MySpin();
+ mySpin.Name = "MySpinName";
+ mySpin.MyOwnName = "MyOwnSpinName";
+ mySpin.MaxValue = 8888;
+ mySpin._myCurrentValue = 5;
+
+ Console.WriteLine("mySpin.Name = " + mySpin.Name + ", MyOwnName = " + mySpin.MyOwnName + ", MaxValue = " + mySpin.MaxValue + ", currentValue = " + mySpin._myCurrentValue);
+
+ container.Add(mySpin);
+
+ Actor mySpinActor = container.FindChildByName("MySpinName");
+ if(mySpinActor)
+ {
+ MySpin newSpin = View.DownCast<MySpin>(mySpinActor);
+ if(newSpin)
+ {
+ Console.WriteLine("Downcast to MySpin successful: newSpin Name = " + newSpin.Name + ", MyOwnName = " + newSpin.MyOwnName + ", MaxValue = " + newSpin.MaxValue + ", currentValue = " + newSpin._myCurrentValue);
+ }
+ else
+ {
+ Console.WriteLine("Downcast to MySpin failed!");
+ }
+ }
}
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
- static void Main(string[] args)
+ static void _Main(string[] args)
{
Console.WriteLine ("Hello Mono World");
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
+ Example example = new Example();
+ example.Run(args);
}
}
}
+++ /dev/null
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-using System;
-using System.Runtime.InteropServices;
-using Dali;
-
-namespace MyCSharpExample
-{
- // A spin control (for continously changing values when users can easily predict a set of values)
-
- class Example
- {
- private Dali.Application _application;
- private Spin _spinYear; // spin control for year
- private Spin _spinMonth; // spin control for month
- private Spin _spinDay; // spin control for day
- private Builder _builder; // DALi Builder
-
- public Example(Dali.Application application)
- {
- _application = application;
- _application.Initialized += Initialize;
- }
-
- public void Initialize(object source, NUIApplicationInitEventArgs e)
- {
-
- Stage stage = Stage.GetCurrent();
- stage.BackgroundColor = Color.White;
-
- // load date JSON template...
-
- _builder = new Builder ();
-
- // Optional constant to see logging information coming out
- // of DALi JSON parser (builder)
- Property.Map constants = new Property.Map();
- constants.Insert( "CONFIG_SCRIPT_LOG_LEVEL", new Property.Value( "Verbose") );
- _builder.AddConstants( constants );
-
- _builder.LoadFromFile( "./json/date-picker.json" );
-
- // create the date-picker from the template in the json file
- BaseHandle handle = _builder.Create( "date-picker");
-
- Actor actorTree = Actor.DownCast( handle );
-
- stage.Add( actorTree );
-
- Actor year = actorTree.FindChildByName("Year");
- Actor month = actorTree.FindChildByName("Month" );
- Actor day = actorTree.FindChildByName("Day");
-
- // need to get the actual C# View associated with the actor,
- _spinYear = (Spin ) ViewRegistry.GetCustomViewFromActor( year );
- _spinMonth = (Spin ) ViewRegistry.GetCustomViewFromActor( month );
- _spinDay = (Spin ) ViewRegistry.GetCustomViewFromActor( day );
-
- _spinYear.Value = 2099;
- _spinMonth.Value = 5;
- _spinDay.Value = 23;
-
-
- _spinYear.SetKeyboardFocusable(true);
- _spinMonth.SetKeyboardFocusable(true);
- _spinDay.SetKeyboardFocusable(true);
-
-
- FocusManager keyboardFocusManager = FocusManager.Instance;
- keyboardFocusManager.PreFocusChange += OnKeyboardPreFocusChange;
- keyboardFocusManager.FocusedActorEnterKeyPressed += OnFocusedActorEnterKeyPressed;
-
- }
-
- private Actor OnKeyboardPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
- {
- Actor nextFocusActor = e.Proposed;
-
- // When nothing has been focused initially, focus the text field in the first spin
- if (!e.Current && !e.Proposed)
- {
- nextFocusActor = _spinYear.SpinText;
- }
- else if(e.Direction == View.KeyboardFocus.Direction.LEFT)
- {
- // Move the focus to the spin in the left of the current focused spin
- if(e.Current == _spinMonth.SpinText)
- {
- nextFocusActor = _spinYear.SpinText;
- }
- else if(e.Current == _spinDay.SpinText)
- {
- nextFocusActor = _spinMonth.SpinText;
- }
- }
- else if(e.Direction == View.KeyboardFocus.Direction.RIGHT)
- {
- // Move the focus to the spin in the right of the current focused spin
- if(e.Current == _spinYear.SpinText)
- {
- nextFocusActor = _spinMonth.SpinText;
- }
- else if(e.Current == _spinMonth.SpinText)
- {
- nextFocusActor = _spinDay.SpinText;
- }
- }
-
- return nextFocusActor;
- }
-
- private void OnFocusedActorEnterKeyPressed(object source, FocusManager.FocusedActorEnterKeyEventArgs e)
- {
- // Make the text field in the current focused spin to take the key input
- KeyInputFocusManager manager = KeyInputFocusManager.Get();
-
- if (e.Actor == _spinYear.SpinText)
- {
- if (manager.GetCurrentFocusControl() != _spinYear.SpinText)
- {
- manager.SetFocus(_spinYear.SpinText);
- }
- }
- else if (e.Actor == _spinMonth.SpinText)
- {
- if (manager.GetCurrentFocusControl() != _spinMonth.SpinText)
- {
- manager.SetFocus(_spinMonth.SpinText);
- }
- }
- else if (e.Actor == _spinDay.SpinText)
- {
- if (manager.GetCurrentFocusControl() != _spinDay.SpinText)
- {
- manager.SetFocus(_spinDay.SpinText);
- }
- }
- }
-
- public void MainLoop()
- {
- _application.MainLoop ();
- }
-
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main(string[] args)
- {
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
- }
- }
-}
using System.Runtime.InteropServices;
using Tizen.NUI;
-namespace MyCSharpExample
+namespace DatePickerTest
{
// A spin control (for continously changing values when users can easily predict a set of values)
- class Example
+ class Example : NUIApplication
{
- private Application _application;
private FlexContainer _container; // Flex container to hold spin controls
private Spin _spinYear; // spin control for year
private Spin _spinMonth; // spin control for month
private Spin _spinDay; // spin control for day
- public Example(Application application)
+ public Example() : base()
{
- _application = application;
- _application.Initialized += Initialize;
+
}
- public void Initialize(object source, NUIApplicationInitEventArgs e)
+ protected override void OnCreate()
{
+ base.OnCreate();
+ Initialize();
+ }
- Stage stage = Stage.GetCurrent();
- stage.BackgroundColor = Color.Cyan;
+ public void Initialize()
+ {
+
+ Stage stage = Stage.Instance;
+ stage.BackgroundColor = Color.White;
// Create a container for the spins
_container = new FlexContainer();
- _container.ParentOrigin = NDalic.ParentOriginCenter;
- _container.AnchorPoint = NDalic.AnchorPointCenter;
- _container.FlexDirection = (int)FlexContainer.FlexDirectionType.ROW;
+ _container.ParentOrigin = ParentOrigin.Center;
+ _container.AnchorPoint = AnchorPoint.Center;
+ _container.FlexDirection = FlexContainer.FlexDirectionType.Row;
_container.Size = new Vector3(480.0f, 150.0f, 0.0f);
- stage.Add(_container);
+ stage.GetDefaultLayer().Add(_container);
// Create a Spin control for year
_spinYear = new Spin();
- _spinYear.ParentOrigin = NDalic.ParentOriginCenter;
- _spinYear.AnchorPoint = NDalic.AnchorPointCenter;
+ _spinYear.ParentOrigin = ParentOrigin.Center;
+ _spinYear.AnchorPoint = AnchorPoint.Center;
_spinYear.Flex = 0.3f;
_spinYear.FlexMargin = new Vector4(5.0f, 0.0f, 5.0f, 0.0f);
_container.Add(_spinYear);
_spinYear.Value = 2016;
_spinYear.Step = 1;
_spinYear.MaxTextLength = 4;
- _spinYear.TextPointSize = 13;
- _spinYear.TextColor = Color.Blue;
- _spinYear.SetKeyboardFocusable(true);
+ _spinYear.TextPointSize = 15;
+ _spinYear.TextColor = Color.Red;
+ _spinYear.Focusable = (true);
_spinYear.Name = "_spinYear";
// Create a Spin control for month
_spinMonth = new Spin();
- _spinMonth.ParentOrigin = NDalic.ParentOriginCenter;
- _spinMonth.AnchorPoint = NDalic.AnchorPointCenter;
+ _spinMonth.ParentOrigin = ParentOrigin.Center;
+ _spinMonth.AnchorPoint = AnchorPoint.Center;
_spinMonth.Flex = 0.3f;
_spinMonth.FlexMargin = new Vector4(5.0f, 0.0f, 5.0f, 0.0f);
_container.Add(_spinMonth);
_spinMonth.Value = 10;
_spinMonth.Step = 1;
_spinMonth.MaxTextLength = 2;
- _spinMonth.TextPointSize = 13;
- _spinMonth.TextColor = Color.Red;
- _spinMonth.SetKeyboardFocusable(true);
+ _spinMonth.TextPointSize = 15;
+ _spinMonth.TextColor = Color.Green;
+ _spinMonth.Focusable = (true);
_spinMonth.Name = "_spinMonth";
// Create a Spin control for day
_spinDay = new Spin();
- _spinDay.ParentOrigin = NDalic.ParentOriginCenter;
- _spinDay.AnchorPoint = NDalic.AnchorPointCenter;
+ _spinDay.ParentOrigin = ParentOrigin.Center;
+ _spinDay.AnchorPoint = AnchorPoint.Center;
_spinDay.Flex = 0.3f;
_spinDay.FlexMargin = new Vector4(5.0f, 0.0f, 5.0f, 0.0f);
_container.Add(_spinDay);
_spinDay.Value = 26;
_spinDay.Step = 1;
_spinDay.MaxTextLength = 2;
- _spinDay.TextPointSize = 13;
- _spinDay.TextColor = Color.Green;
- _spinDay.SetKeyboardFocusable(true);
+ _spinDay.TextPointSize = 15;
+ _spinDay.TextColor = Color.Blue;
+ _spinDay.Focusable = (true);
_spinDay.Name = "_spinDay";
FocusManager keyboardFocusManager = FocusManager.Instance;
keyboardFocusManager.PreFocusChange += OnKeyboardPreFocusChange;
- keyboardFocusManager.FocusedActorEnterKeyPressed += OnFocusedActorEnterKeyPressed;
+ keyboardFocusManager.FocusedViewEnterKeyPressed += OnFocusedActorEnterKeyPressed;
}
- private Actor OnKeyboardPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
+ private View OnKeyboardPreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
{
-
- //Console.WriteLine ("[Date-picker]OnKeyboardPreFocusChange()!");
-
- Actor nextFocusActor = e.Proposed;
+ View nextFocusView = e.ProposedView;
// When nothing has been focused initially, focus the text field in the first spin
- if (!e.Current && !e.Proposed)
+ if (!e.CurrentView && !e.ProposedView)
{
- nextFocusActor = _spinYear.SpinText;
+ nextFocusView = _spinYear.SpinText;
}
- else if(e.Direction == View.KeyboardFocus.Direction.LEFT)
+ else if(e.Direction == View.FocusDirection.Left)
{
// Move the focus to the spin in the left of the current focused spin
- if(e.Current == _spinMonth.SpinText)
+ if(e.CurrentView == _spinMonth.SpinText)
{
- nextFocusActor = _spinYear.SpinText;
+ nextFocusView = _spinYear.SpinText;
}
- else if(e.Current == _spinDay.SpinText)
+ else if(e.CurrentView == _spinDay.SpinText)
{
- nextFocusActor = _spinMonth.SpinText;
+ nextFocusView = _spinMonth.SpinText;
}
}
- else if(e.Direction == View.KeyboardFocus.Direction.RIGHT)
+ else if(e.Direction == View.FocusDirection.Right)
{
// Move the focus to the spin in the right of the current focused spin
- if(e.Current == _spinYear.SpinText)
+ if(e.CurrentView == _spinYear.SpinText)
{
- nextFocusActor = _spinMonth.SpinText;
+ nextFocusView = _spinMonth.SpinText;
}
- else if(e.Current == _spinMonth.SpinText)
+ else if(e.CurrentView == _spinMonth.SpinText)
{
- nextFocusActor = _spinDay.SpinText;
+ nextFocusView = _spinDay.SpinText;
}
}
- return nextFocusActor;
+ return nextFocusView;
}
- private void OnFocusedActorEnterKeyPressed(object source, FocusManager.FocusedActorEnterKeyEventArgs e)
+ private void OnFocusedActorEnterKeyPressed(object source, FocusManager.FocusedViewEnterKeyEventArgs e)
{
- //Console.WriteLine ("[Date-picker]OnFocusedActorEnterKeyPressed()!");
-
// Make the text field in the current focused spin to take the key input
KeyInputFocusManager manager = KeyInputFocusManager.Get();
- if (e.Actor == _spinYear.SpinText)
+ if (e.View == _spinYear.SpinText)
{
if (manager.GetCurrentFocusControl() != _spinYear.SpinText)
{
manager.SetFocus(_spinYear.SpinText);
}
}
- else if (e.Actor == _spinMonth.SpinText)
+ else if (e.View == _spinMonth.SpinText)
{
if (manager.GetCurrentFocusControl() != _spinMonth.SpinText)
{
manager.SetFocus(_spinMonth.SpinText);
}
}
- else if (e.Actor == _spinDay.SpinText)
+ else if (e.View == _spinDay.SpinText)
{
if (manager.GetCurrentFocusControl() != _spinDay.SpinText)
{
}
}
- public void MainLoop()
- {
- _application.MainLoop ();
- }
-
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
- static void Main(string[] args)
+ static void _Main(string[] args)
{
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
+ Example example = new Example();
+ example.Run(args);
}
}
}
--- /dev/null
+
+using System;
+using Tizen.NUI;
+
+namespace FlexContainerTest
+{
+ public class SampleMain : NUIApplication
+ {
+ public readonly static string[] samples = new string[]
+ {
+ "AnimationSample",
+ "BasicElement",
+ "TextSample",
+ "ImageViewSample",
+ "EventSample",
+ "FlexContainer",
+ "FrameAnimationSample"
+ };
+
+ TextLabel[] label;
+ FlexContainer container;
+ View focusIndicator;
+ int numOfSamples;
+ PushButton pushButton1, pushButton2;
+ private int _cnt;
+ private Animation _ani;
+
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+
+ Stage.Instance.BackgroundColor = new Color(0.1f, 0.8f, 0.1f, 1.0f);
+
+ container = new FlexContainer();
+ container.Size = new Size(Stage.Instance.Size.Width, Stage.Instance.Size.Height, 0);
+ container.AnchorPoint = AnchorPoint.TopLeft;
+ container.Padding = new Vector4(100, 100, 100, 100);
+
+ container.FlexWrap = FlexContainer.WrapType.Wrap;
+ container.FlexDirection = FlexContainer.FlexDirectionType.Column;
+
+ Stage.Instance.GetDefaultLayer().Add(container);
+
+ numOfSamples = samples.GetLength(0);
+ Tizen.Log.Debug("NUI", "NUM = " + numOfSamples);
+ label = new TextLabel[numOfSamples];
+ for (int i = 0; i < numOfSamples; i++)
+ {
+ label[i] = new TextLabel();
+ label[i].Focusable = true;
+ label[i].BackgroundColor = Color.Red;
+ //label[i].Size = new Size(100, 50, 0);
+ label[i].Text = samples[i];
+ label[i].FlexMargin = new Vector4(20, 20, 20, 20);
+ label[i].PointSize = 10;
+ label[i].Name = "label" + i.ToString();
+ container.Add(label[i]);
+ }
+
+ //label[3].SetKeyInputFocus(); //removed
+ FocusManager.Instance.SetCurrentFocusView(label[3]);
+
+ FocusManager.Instance.PreFocusChange += Instance_PreFocusChange;
+ FocusManager.Instance.FocusChanged += (sender, e) =>
+ {
+ Tizen.Log.Debug("NUI", "FocusChanged signal callback e.CurrentView.Name=" + e.CurrentView?.Name);
+ Tizen.Log.Debug("NUI", "FocusChanged signal callback e.NextView.Name=" + e.NextView?.Name);
+ };
+ FocusManager.Instance.FocusedViewEnterKeyPressed += (sender, e) =>
+ {
+ Tizen.Log.Debug("NUI", "FocusedViewEnterKeyPressed signal callback e.View.Name=" + e.View?.Name);
+ };
+
+ pushButton1 = new PushButton();
+ pushButton1.MinimumSize = new Size2D(400, 200);
+ pushButton1.LabelText = "+PreFocusChange";
+ pushButton1.ParentOrigin = ParentOrigin.TopLeft;
+ pushButton1.AnchorPoint = AnchorPoint.TopLeft;
+ pushButton1.Position2D = new Position2D(200, 800);
+ pushButton1.Clicked += (sender, e) =>
+ {
+ Tizen.Log.Debug("NUI", "pushbutton1 clicked! add handler!");
+ FocusManager.Instance.PreFocusChange += Instance_PreFocusChange;
+ return true;
+ };
+ Stage.Instance.GetDefaultLayer().Add(pushButton1);
+
+ pushButton2 = new PushButton();
+ pushButton2.MinimumSize = new Size2D(400, 200);
+ pushButton2.LabelText = "-PreFocusChange";
+ pushButton2.ParentOrigin = ParentOrigin.TopLeft;
+ pushButton2.AnchorPoint = AnchorPoint.TopLeft;
+ pushButton2.Position2D = new Position2D(800, 800);
+ pushButton2.Clicked += (sender, e) =>
+ {
+ Tizen.Log.Debug("NUI", "pushbutton2 clicked! add handler!");
+ FocusManager.Instance.PreFocusChange -= Instance_PreFocusChange;
+ return true;
+ };
+ Stage.Instance.GetDefaultLayer().Add(pushButton2);
+
+ _ani = new Animation(2000);
+ _ani.AnimateTo(pushButton1, "Opacity", 0.0f);
+ _ani.AnimateTo(pushButton2, "Opacity", 0.0f);
+ _ani.EndAction = Animation.EndActions.Discard;
+
+ }
+
+
+
+ private View Instance_PreFocusChange(object source, FocusManager.PreFocusChangeEventArgs e)
+ {
+ View nextView;
+ Tizen.Log.Debug("NUI", "Instance_PreFocusChange = " + e.Direction.ToString());
+
+ if (e.CurrentView == null) e.CurrentView = label[0];
+ if (e.ProposedView == null) e.ProposedView = label[0];
+
+ Tizen.Log.Debug("NUI", "currentView name=" + e.CurrentView.Name + " nextView name=" + e.CurrentView.Name);
+
+ int index = Array.FindIndex(label, x => x == e.CurrentView);
+
+
+ Tizen.Log.Debug("NUI", "index = " + index);
+
+ switch (e.Direction)
+ {
+ case View.FocusDirection.Up:
+ index = (index + numOfSamples - 1) % numOfSamples;
+ _ani.Play();
+ break;
+ case View.FocusDirection.Down:
+ index = (index + 1) % numOfSamples;
+ Tizen.Log.Debug("NUI", "pushbutton1 Visible=" + pushButton1.Visible + " pushbutton2 Visible=" + pushButton2.Visible);
+ break;
+ case View.FocusDirection.Left:
+ pushButton1.Show();
+ pushButton2.Show();
+ break;
+ case View.FocusDirection.Right:
+ pushButton1.Hide();
+ pushButton2.Hide();
+ break;
+ default:
+ break;
+ }
+
+ Tizen.Log.Debug("NUI", "next index = " + index);
+ nextView = label[index];
+
+ if (e.CurrentView.HasKeyInputFocus())
+ {
+ //currentView?.ClearKeyInputFocus(); //removed
+ }
+ //nextView?.SetKeyInputFocus(); //removed
+
+
+ return nextView;
+
+ }
+
+ static void _Main(string[] args)
+ {
+
+ SampleMain sample = new SampleMain();
+ sample.Run(args);
+ }
+ }
+}
+
using System;
using System.Runtime.InteropServices;
-using Dali;
-using Tizen.Applications;
+using Tizen.NUI;
+//using Tizen.Applications;
//------------------------------------------------------------------------------
// <manual-generated />
// This file can only run on Tizen target. You should compile it with DaliApplication.cs, and
// add tizen c# application related library as reference.
//------------------------------------------------------------------------------
-namespace MyCSharpExample
+namespace HelloTest
{
- class Example : DaliApplication
+ class Example : NUIApplication
{
- protected override void OnCreate()
- {
- base.OnCreate();
- Initialize();
- }
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate void CallbackDelegate(IntPtr data);
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate void TouchCallbackDelegate(IntPtr data);
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate void AnimationCallbackDelegate(IntPtr data);
-
private Animation _animation;
private TextLabel _text;
+ private Stage _stage;
public Example():base()
{
{
}
- public Example(string stylesheet, Dali.Application.WINDOW_MODE windowMode):base(stylesheet, windowMode)
+ public Example(string stylesheet, WindowMode windowMode):base(stylesheet, windowMode)
{
}
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
+
private void Initialize()
{
// Connect the signal callback for stage touched signal
- TouchCallbackDelegate stageTouchedCallback = new TouchCallbackDelegate(OnStageTouched);
- stage.TouchSignal().Connect(stageTouchedCallback);
+ _stage = Stage.Instance;
+ _stage.Touch += OnStageTouched;
// Add a _text label to the stage
_text = new TextLabel("Hello Mono World");
- _text.ParentOrigin = NDalic.ParentOriginCenter;
- _text.AnchorPoint = NDalic.AnchorPointCenter;
+ _text.ParentOrigin = ParentOrigin.Center;
+ _text.AnchorPoint = AnchorPoint.Center;
_text.HorizontalAlignment = "CENTER";
_text.PointSize = 32.0f;
- stage.Add(_text);
+ _stage.GetDefaultLayer().Add(_text);
}
// Callback for _animation finished signal handling
- private void AnimationFinished(IntPtr data)
+ private void AnimationFinished(object sender, EventArgs e)
{
- Animation _animation = Animation.GetAnimationFromPtr( data );
- Console.WriteLine("Animation finished: duration = " + _animation.GetDuration());
+ if (_animation)
+ {
+ Console.WriteLine("Duration= " + _animation.Duration);
+ Console.WriteLine("EndAction= " + _animation.EndAction);
+ }
}
// Callback for stage touched signal handling
- private void OnStageTouched(IntPtr data)
+ private void OnStageTouched(object sender, Stage.TouchEventArgs e)
{
- TouchData touchData = TouchData.GetTouchDataFromPtr( data );
-
// Only animate the _text label when touch down happens
- if (touchData.GetState(0) == PointStateType.DOWN)
+ if (e.Touch.GetState(0) == PointStateType.Down)
{
// Create a new _animation
if (_animation)
_animation.Reset();
}
- _animation = new Animation(1.0f); // 1 second of duration
+ _animation = new Animation(1000); // 1 second of duration
- _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Quaternion(new Radian(new Degree(180.0f)), Vector3.XAXIS)), new AlphaFunction(AlphaFunction.BuiltinFunction.LINEAR), new TimePeriod(0.0f, 0.5f));
- _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Quaternion(new Radian(new Degree(0.0f)), Vector3.XAXIS)), new AlphaFunction(AlphaFunction.BuiltinFunction.LINEAR), new TimePeriod(0.5f, 0.5f));
+ _animation.AnimateTo(_text, "Orientation", new Rotation(new Radian(new Degree(180.0f)), Vector3.XAxis), 0, 500);
+ _animation.AnimateTo(_text, "Orientation", new Rotation(new Radian(new Degree(0.0f)), Vector3.XAxis), 500, 1000);
+ _animation.EndAction = Animation.EndActions.Discard;
// Connect the signal callback for animaiton finished signal
- AnimationCallbackDelegate animFinishedDelegate = new AnimationCallbackDelegate(AnimationFinished);
- _animation.FinishedSignal().Connect(animFinishedDelegate);
+ _animation.Finished += AnimationFinished;
// Play the _animation
_animation.Play();
/// </summary>
[STAThread]
- static void Main(string[] args)
+ static void _Main(string[] args)
{
Console.WriteLine("Hello mono world.");
//Example example = new Example();
//Example example = new Example("stylesheet");
- Example example = new Example("stylesheet", Dali.Application.WINDOW_MODE.TRANSPARENT);
+ Example example = new Example("stylesheet", WindowMode.Transparent);
example.Run(args);
}
}
_text.HorizontalAlignment = "CENTER";
_text.PointSize = 32.0f;
_text.TextColor = Color.Magenta;
- stage.Add(_text);
+ stage.GetDefaultLayer().Add(_text);
}
// Callback for _animation finished signal handling
public void OnStageTouched(object sender, Stage.TouchEventArgs e)
{
// Only animate the _text label when touch down happens
- if( e.Touch.GetState(0) == PointStateType.DOWN )
+ if( e.Touch.GetState(0) == PointStateType.Down )
{
Console.WriteLine("Customized Stage Touch event handler");
// Create a new _animation
{
//_animation.Stop(Dali.Constants.Animation.EndAction.Stop);
_animation.Reset();
- }
-
- _animation = new Animation {
- Duration = 2000,
- StartTime = 0,
- EndTime = 500,
- TargetProperty = "Orientation",
- Destination = new Quaternion( new Radian( new Degree( 180.0f ) ), Vect3.Xaxis)
- };
- _animation.AnimateTo(_text);
-
- _animation.StartTime = 500;
- _animation.EndTime = 1000;
- _animation.TargetProperty = "Orientation";
- _animation.Destination = new Quaternion( new Radian( new Degree( 0.0f ) ), Vect3.Xaxis );
- _animation.AnimateTo(_text);
-
- _animation.StartTime = 1000;
- _animation.EndTime = 1500;
- _animation.TargetProperty = "ScaleX";
- _animation.Destination = 3.0f;
- _animation.AnimateBy(_text);
-
- _animation.StartTime = 1500;
- _animation.EndTime = 2000;
- _animation.TargetProperty = "ScaleY";
- _animation.Destination = 4.0f;
- _animation.AnimateBy(_text);
-
+ }\r
+\r
+ _animation = new Animation
+ {
+ Duration = 2000
+ };\r
+\r
+ _animation.AnimateTo(_text, "Orientation", new Rotation(new Radian(new Degree(180.0f)), Vector3.XAxis), 0, 500);
+ _animation.AnimateTo(_text, "Orientation", new Rotation(new Radian(new Degree(0.0f)), Vector3.XAxis), 500, 1000);
+
+ _animation.AnimateBy(_text, "ScaleX", 3.0f, 1000, 1500);
+ _animation.AnimateBy(_text, "ScaleY", 4.0f, 1250, 2000);\r
+\r
_animation.EndAction = Animation.EndActions.Discard;
// Connect the signal callback for animaiton finished signal
/// The main entry point for the application.
/// </summary>
[STAThread]
- static void Main(string[] args)
+ static void _Main(string[] args)
{
Console.WriteLine ("Main() called!");
using System;
using System.Runtime.InteropServices;
-using Dali;
-using Dali.Constants;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
-namespace ImageViewExample
+namespace ImageViewTest
{
-
- class Example
- {
- public static void Log(string str)
+ class Example : NUIApplication
{
- Console.WriteLine("[DALI C# SAMPLE] " + str);
- }
+ public static void Log(string str)
+ {
+ Console.WriteLine("[DALI C# SAMPLE] " + str);
+ }
- private Dali.Application _application;
- private Animation _animation;
- private ImageView _imageView;
- private bool _isAniFinised = true;
- private Layer layer, _layer1, _layer2;
- private PushButton _pushButton1, _pushButton2;
- private Stage stage;
+ private Animation _animation;
+ private ImageView _imageView;
+ private bool _isAniFinised = true;
+ private Layer layer, _layer1, _layer2;
+ private PushButton _pushButton1, _pushButton2;
+ private Stage stage;
+ private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res/";
- public Example(Dali.Application application)
- {
- _application = application;
- _application.Initialized += Initialize;
- }
+ public Example() : base()
+ {
+ }
- public void Initialize(object source, NUIApplicationInitEventArgs e)
- {
- Log("Customized Application Initialize event handler");
- stage = Stage.Instance;
- stage.BackgroundColor = Color.Cyan;
- stage.Touch += OnStageTouched;
- stage.Wheel += OnStageWheelMoved;
- stage.Key += OnStageKeyPressed;
- //stage.EventProcessingFinished += OnStageEventProcessingFinished;
-
- layer = stage.GetDefaultLayer();
- _layer1 = new Layer();
- _layer2 = new Layer();
- stage.AddLayer(_layer1);
- stage.AddLayer(_layer2);
- Log("_layer1.Behavior =" + _layer1.Behavior );
- if( _layer1.Behavior == Layer.LayerBehavior.LAYER_UI )
- {
- _layer1.Behavior = Layer.LayerBehavior.LAYER_2D;
- Log("again _layer1.Behavior =" + _layer1.Behavior );
- }
- // Add a ImageView to the stage
- _imageView = new ImageView();
- _imageView.ResourceUrl = "./images/gallery-3.jpg";
- _imageView.ParentOrigin = ParentOrigin.Center;
- _imageView.AnchorPoint = AnchorPoint.Center;
- _imageView.PixelArea = new Vector4(0.0f, 0.0f, 0.5f, 0.5f);
- //_imageView.SetResizePolicy(ResizePolicyType.USE_NATURAL_SIZE, DimensionType.ALL_DIMENSIONS);
- layer.Add(_imageView);
-
- _pushButton1 = new PushButton();
- _pushButton1.ParentOrigin = ParentOrigin.BottomLeft;
- _pushButton1.AnchorPoint = AnchorPoint.BottomLeft;
- _pushButton1.LabelText = "start animation";
- _pushButton1.Position = new Vector3(0.0f, stage.Size.Height * 0.1f, 0.0f);
- _pushButton1.Clicked += OnPushButtonClicked1;
- _layer1.Add(_pushButton1);
-
- _pushButton2 = new PushButton();
- _pushButton2.ParentOrigin = ParentOrigin.BottomLeft;
- _pushButton2.AnchorPoint = AnchorPoint.BottomLeft;
- _pushButton2.LabelText = "reload image with same URL";
- _pushButton2.Position = new Vector3(0.0f, stage.Size.Height * 0.2f, 0.0f);
- _pushButton2.Clicked += OnPushButtonClicked2;
- _layer2.Add(_pushButton2);
+ public Example(string stylesheet) : base(stylesheet)
+ {
+ }
- }
+ public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+ {
+ }
- public bool OnPushButtonClicked2(object sender, Button.ClickedEventArgs e)
- {
- if( _imageView )
- {
- Log("OnPushButtonClicked2()!");
- layer.Remove(_imageView);
- _imageView = new ImageView();
- _imageView.ResourceUrl = "./images/gallery-3.jpg";
- _imageView.ParentOrigin = ParentOrigin.Center;
- _imageView.AnchorPoint = AnchorPoint.Center;
- _imageView.PixelArea = new Vector4(0.0f, 0.0f, 0.5f, 0.5f);
- //_imageView.SetResizePolicy(ResizePolicyType.USE_NATURAL_SIZE, DimensionType.ALL_DIMENSIONS);
- layer.Add(_imageView);
- }
-
- return true;
- }
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
+ public void Initialize()
+ {
+ Log("Customized Application Initialize event handler");
+ stage = Stage.Instance;
+ stage.BackgroundColor = Color.Cyan;
+ stage.Touch += OnStageTouched;
+ stage.Wheel += OnStageWheelMoved;
+ stage.Key += OnStageKeyPressed;
+ //stage.EventProcessingFinished += OnStageEventProcessingFinished;
+
+ layer = stage.GetDefaultLayer();
+ _layer1 = new Layer();
+ _layer2 = new Layer();
+ stage.AddLayer(_layer1);
+ stage.AddLayer(_layer2);
+ Log("_layer1.Behavior =" + _layer1.Behavior);
+ if (_layer1.Behavior == Layer.LayerBehavior.LayerUI)
+ {
+ _layer1.Behavior = Layer.LayerBehavior.Layer2D;
+ Log("again _layer1.Behavior =" + _layer1.Behavior);
+ }
+ // Add a ImageView to the stage
+ _imageView = new ImageView();
+ _imageView.ResourceUrl = _resPath+"images/gallery-3.jpg";
+ _imageView.ParentOrigin = ParentOrigin.Center;
+ _imageView.AnchorPoint = AnchorPoint.Center;
+ _imageView.PixelArea = new Vector4(0.0f, 0.0f, 0.5f, 0.5f);
+ //_imageView.SetResizePolicy(ResizePolicyType.USE_NATURAL_SIZE, DimensionType.ALL_DIMENSIONS);
+ layer.Add(_imageView);
+
+ _pushButton1 = new PushButton();
+ _pushButton1.ParentOrigin = ParentOrigin.BottomLeft;
+ _pushButton1.AnchorPoint = AnchorPoint.BottomLeft;
+ _pushButton1.LabelText = "start animation";
+ _pushButton1.Position = new Vector3(0.0f, stage.Size.Height * 0.1f, 0.0f);
+ _pushButton1.Clicked += OnPushButtonClicked1;
+ _layer1.Add(_pushButton1);
+
+ _pushButton2 = new PushButton();
+ _pushButton2.ParentOrigin = ParentOrigin.BottomLeft;
+ _pushButton2.AnchorPoint = AnchorPoint.BottomLeft;
+ _pushButton2.LabelText = "reload image with same URL";
+ _pushButton2.Position = new Vector3(0.0f, stage.Size.Height * 0.2f, 0.0f);
+ _pushButton2.Clicked += OnPushButtonClicked2;
+ _layer2.Add(_pushButton2);
- public bool OnPushButtonClicked1(object sender, Button.ClickedEventArgs e)
- {
- if( _isAniFinised == true )
- {
- _isAniFinised = false;
- Log("OnPushButtonClicked1()!");
+ }
- // Create a new _animation
- if( _animation )
+ public bool OnPushButtonClicked2(object sender, EventArgs e)
{
- //_animation.Stop(Dali.Constants.Animation.EndAction.Stop);
- _animation.Reset();
+ if (_imageView)
+ {
+ Log("OnPushButtonClicked2()!");
+ layer.Remove(_imageView);
+ _imageView = new ImageView();
+ _imageView.ResourceUrl = _resPath+"images/gallery-3.jpg";
+ _imageView.ParentOrigin = ParentOrigin.Center;
+ _imageView.AnchorPoint = AnchorPoint.Center;
+ _imageView.PixelArea = new Vector4(0.0f, 0.0f, 0.5f, 0.5f);
+ //_imageView.SetResizePolicy(ResizePolicyType.USE_NATURAL_SIZE, DimensionType.ALL_DIMENSIONS);
+ layer.Add(_imageView);
+ }
+
+ return true;
}
- _animation = new Animation();
- _animation.StartTime = 0;
- _animation.EndTime = 1000;
- _animation.TargetProperty = "PixelArea";
- _animation.Destination = new Vector4(0.5f, 0.0f, 0.5f, 0.5f);
- _animation.AnimateTo(_imageView);
-
- _animation.StartTime = 1000;
- _animation.EndTime = 2000;
- _animation.TargetProperty = "PixelArea";
- _animation.Destination = new Vector4(0.5f, 0.5f, 0.5f, 0.5f);
- _animation.AnimateTo(_imageView);
-
- _animation.StartTime = 2000;
- _animation.EndTime = 3000;
- _animation.TargetProperty = "PixelArea";
- _animation.Destination = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);
- _animation.AnimateTo(_imageView);
-
- _animation.StartTime = 3000;
- _animation.EndTime = 4000;
- _animation.TargetProperty = "PixelArea";
- _animation.Destination = new Vector4(0.5f, 0.5f, 0.5f, 0.5f);
- _animation.AnimateTo(_imageView);
-
- _animation.StartTime = 4000;
- _animation.EndTime = 6000;
- _animation.TargetProperty = "Size";
- KeyFrames _keyFrames = new KeyFrames();
- _keyFrames.Add(0.0f, new Size3D(0.0f, 0.0f, 0.0f) );
- _keyFrames.Add(0.3f, new Size3D( (stage.Size * 0.7f) ) );
- _keyFrames.Add(1.0f, new Size3D( stage.Size ) );
- _animation.AnimateBetween(_imageView, _keyFrames, Animation.Interpolation.Linear);
-
- _animation.EndAction = Animation.EndActions.Discard;
-
- // Connect the signal callback for animaiton finished signal
- _animation.Finished += AnimationFinished;
- _animation.Finished += AnimationFinished2;
-
- // Play the _animation
- _animation.Play();
- }
-
- return true;
- }
-
- // Callback for _animation finished signal handling
- public void AnimationFinished(object sender, EventArgs e)
- {
- Log("AnimationFinished()!");
- }
+ public bool OnPushButtonClicked1(object sender, EventArgs e)
+ {
+ if (_isAniFinised == true)
+ {
+ _isAniFinised = false;
+ Log("OnPushButtonClicked1()!");
+
+ // Create a new _animation
+ if (_animation)
+ {
+ //_animation.Stop(Tizen.NUI.Constants.Animation.EndAction.Stop);
+ _animation.Reset();
+ }
+
+ _animation = new Animation();
+ _animation.AnimateTo(_imageView, "PixelArea", new Vector4(0.5f, 0.0f, 0.5f, 0.5f), 0, 1000);
+ _animation.AnimateTo(_imageView, "PixelArea", new Vector4(0.5f, 0.5f, 0.5f, 0.5f), 1000, 2000);
+ _animation.AnimateTo(_imageView, "PixelArea", new Vector4(0.0f, 0.0f, 1.0f, 1.0f), 2000, 3000);
+ _animation.AnimateTo(_imageView, "PixelArea", new Vector4(0.5f, 0.5f, 0.5f, 0.5f), 3000, 4000);
+
+ KeyFrames _keyFrames = new KeyFrames();
+ _keyFrames.Add(0.0f, new Size(0.0f, 0.0f, 0.0f));
+ _keyFrames.Add(0.3f, new Size(stage.Size.Width * 0.7f, stage.Size.Height * 0.7f, 0.0f));
+ _keyFrames.Add(1.0f, new Size(stage.Size));
+ _animation.AnimateBetween(_imageView, "Size", _keyFrames, 4000, 6000, Animation.Interpolation.Linear);
+
+ _animation.EndAction = Animation.EndActions.Discard;
+
+ // Connect the signal callback for animaiton finished signal
+ _animation.Finished += AnimationFinished;
+ _animation.Finished += AnimationFinished2;
+
+ // Play the _animation
+ _animation.Play();
+ }
+
+ return true;
+ }
- // Callback for second _animation finished signal handling
- public void AnimationFinished2(object sender, EventArgs e)
- {
- Log("AnimationFinished2()!");
- if(_animation)
- {
- Log("Duration= " + _animation.Duration);
- Log("EndAction= " + _animation.EndAction);
- _isAniFinised = true;
- }
- }
+ // Callback for _animation finished signal handling
+ public void AnimationFinished(object sender, EventArgs e)
+ {
+ Log("AnimationFinished()!");
+ }
- public void OnStageEventProcessingFinished(object sender, EventArgs e)
- {
- Log("OnStageEventProcessingFinished()!");
- if( e != null)
- {
- Log("e != null !");
- }
- }
+ // Callback for second _animation finished signal handling
+ public void AnimationFinished2(object sender, EventArgs e)
+ {
+ Log("AnimationFinished2()!");
+ if (_animation)
+ {
+ Log("Duration= " + _animation.Duration);
+ Log("EndAction= " + _animation.EndAction);
+ _isAniFinised = true;
+ }
+ }
- public void OnStageKeyPressed(object sender, Stage.KeyEventArgs e)
- {
- Log("OnStageKeyEventOccured()!");
- Log("keyPressedName=" + e.Key.KeyPressedName);
- Log("state=" + e.Key.State);
- }
+ public void OnStageEventProcessingFinished(object sender, EventArgs e)
+ {
+ Log("OnStageEventProcessingFinished()!");
+ if (e != null)
+ {
+ Log("e != null !");
+ }
+ }
- public void OnStageWheelMoved(object sender, Stage.WheelEventArgs e)
- {
- Log("OnStageWheelEventOccured()!");
- Log("direction=" + e.Wheel.Direction);
- Log("type=" + e.Wheel.Type);
- }
+ public void OnStageKeyPressed(object sender, Stage.KeyEventArgs e)
+ {
+ Log("OnStageKeyEventOccured()!");
+ Log("keyPressedName=" + e.Key.KeyPressedName);
+ Log("state=" + e.Key.State);
+ }
- // Callback for stage touched signal handling
- public void OnStageTouched(object sender, Stage.TouchEventArgs e)
- {
- Log("OnStageTouched()! e.TouchData.GetState(0)=" + e.Touch.GetState(0));
- }
+ public void OnStageWheelMoved(object sender, Stage.WheelEventArgs e)
+ {
+ Log("OnStageWheelEventOccured()!");
+ Log("direction=" + e.Wheel.Direction);
+ Log("type=" + e.Wheel.Type);
+ }
- public void MainLoop()
- {
- _application.MainLoop ();
- }
+ // Callback for stage touched signal handling
+ public void OnStageTouched(object sender, Stage.TouchEventArgs e)
+ {
+ Log("OnStageTouched()! e.TouchData.GetState(0)=" + e.Touch.GetState(0));
+ }
- /// <summary>
- /// The main entry point for the application.
- /// </summary>
- [STAThread]
- static void Main(string[] args)
- {
- Log("Main() called!");
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void _Main(string[] args)
+ {
+ Log("Main() called!");
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
+ Example example = new Example();
+ example.Run(args);
+ }
}
- }
}
using System;
using System.Runtime.InteropServices;
-using Dali;
+using Tizen.NUI;
-namespace MyExampleApp
+namespace JsonLoaderTest
{
- class Example
+ class Example : NUIApplication
{
- private Dali.Application _application;
private Builder _builder;
private string _jsonFileName;
- public Example(Dali.Application application, string fileName)
+ public Example() : base()
{
- _application = application;
- _jsonFileName = fileName;
- _application.Initialized += Initialize;
}
- public void Initialize(object source, NUIApplicationInitEventArgs e)
+ public Example(string stylesheet) : base(stylesheet)
+ {
+ _jsonFileName = stylesheet;
+ }
+
+ public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+ {
+ }
+
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
+
+ public void Initialize()
{
if( _jsonFileName.Length == 0)
{
_builder = new Builder ();
- Property.Map constants = new Property.Map();
+ PropertyMap constants = new PropertyMap();
// In dali-demo we have some JSON files that can be loaded, but they need 3 different macros defining.
// The JSON folder is typically installed into dali-env/opt/share/com.samsung.dali-demo/res:
//
//string demoDirectory = ".../dali-env/opt/share/com.samsung.dali-demo/res";
- //constants.Insert( "DEMO_IMAGE_DIR" , new Property.Value( demoDirectory+"/images") );
- //constants.Insert( "DEMO_MODEL_DIR" , new Property.Value( demoDirectory+"/models") );
- //constants.Insert( "DEMO_SCRIPT_DIR", new Property.Value( demoDirectory+"/scripts") );
- constants.Insert( "CONFIG_SCRIPT_LOG_LEVEL", new Property.Value( "Verbose") );
+ //constants.Insert( "DEMO_IMAGE_DIR" , new PropertyValue( demoDirectory+"/images") );
+ //constants.Insert( "DEMO_MODEL_DIR" , new PropertyValue( demoDirectory+"/models") );
+ //constants.Insert( "DEMO_SCRIPT_DIR", new PropertyValue( demoDirectory+"/scripts") );
+ constants.Insert( "CONFIG_SCRIPT_LOG_LEVEL", new PropertyValue( "Verbose") );
_builder.AddConstants( constants );
- Stage stage = Stage.GetCurrent();
+ Stage stage = Stage.Instance;
stage.BackgroundColor = Color.White;
_builder.LoadFromFile( _jsonFileName );
- _builder.AddActors( stage.GetRootLayer() );
-
- }
-
+ _builder.AddActors( stage.GetDefaultLayer() );
- public void MainLoop()
- {
- _application.MainLoop ();
}
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
- static void Main(string[] args)
+ static void _Main(string[] args)
{
string fileName= "";
}
Console.WriteLine("arguments = " + args.Length);
- Example example = new Example(Application.NewApplication(), fileName);
- example.MainLoop ();
+ Example example = new Example(fileName);
+ example.Run(args);
}
}
}
using System;
using System.Runtime.InteropServices;
-using Dali;
+using Tizen.NUI;
-namespace MyCSharpExample
+namespace ScrollViewTest
{
- class Example
+ class Example : NUIApplication
{
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
delegate void CallbackDelegate(IntPtr data);
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
delegate void ActorCallbackDelegate(IntPtr data);
- private Dali.Application _application;
private ScrollView _scrollView;
private ScrollBar _scrollBar;
private Animation _animation;
private TextLabel _text;
+ private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res/";\r
+\r
+ public Example() : base()
+ {
+ }
+
+ public Example(string stylesheet) : base(stylesheet)
+ {
+ }
- public Example(Dali.Application application)
+ public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
{
- _application = application;
- _application.Initialized += Initialize;
}
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
- public void Initialize(object source, NUIApplicationInitEventArgs e)
+ public void Initialize()
{
CreateScrollView();
}
private void CreateScrollView()
{
- Stage stage = Stage.GetCurrent();
+ Stage stage = Stage.Instance;
stage.BackgroundColor = Color.White;
// Create a scroll view
_scrollView = new ScrollView();
- Size stageSize = stage.Size;
- _scrollView.Size = new Position(stageSize.W, stageSize.H, 0.0f);
- _scrollView.ParentOrigin = NDalic.ParentOriginCenter;
- _scrollView.AnchorPoint = NDalic.AnchorPointCenter;
- stage.Add(_scrollView);
+ Size stageSize = new Size(stage.Size.Width, stage.Size.Height, 0.0f);
+ _scrollView.Size = new Size(stageSize.Width, stageSize.Height, 0.0f);
+ _scrollView.ParentOrigin = ParentOrigin.Center;
+ _scrollView.AnchorPoint = AnchorPoint.Center;
+ stage.GetDefaultLayer().Add(_scrollView);
// Add actors to a scroll view with 3 pages
int pageRows = 1;
for(int pageColumn = 0; pageColumn < pageColumns; pageColumn++)
{
View pageActor = new View();
- pageActor.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.ALL_DIMENSIONS);
- pageActor.ParentOrigin = NDalic.ParentOriginCenter;
- pageActor.AnchorPoint = NDalic.AnchorPointCenter;
- pageActor.Position = new Position(pageColumn * stageSize.W, pageRow * stageSize.H, 0.0f);
+ pageActor.WidthResizePolicy = ResizePolicyType.FillToParent;
+ pageActor.HeightResizePolicy = ResizePolicyType.FillToParent;
+ pageActor.ParentOrigin = ParentOrigin.Center;
+ pageActor.AnchorPoint = AnchorPoint.Center;
+ pageActor.Position = new Position(pageColumn * stageSize.Width, pageRow * stageSize.Height, 0.0f);
// Add images in a 3x4 grid layout for each page
int imageRows = 4;
int imageColumns = 3;
float margin = 10.0f;
- Position imageSize = new Position((stageSize.W / imageColumns) - margin, (stageSize.H / imageRows) - margin, 0.0f);
+ Position imageSize = new Position((stageSize.Width / imageColumns) - margin, (stageSize.Height / imageRows) - margin, 0.0f);
for(int row = 0; row < imageRows; row++)
{
for(int column = 0; column < imageColumns;column++)
{
int imageId = (row * imageColumns + column) % 2 + 1;
- ImageView imageView = new ImageView("images/image-" + imageId + ".jpg");
- imageView.ParentOrigin = NDalic.ParentOriginCenter;
- imageView.AnchorPoint = NDalic.AnchorPointCenter;
- imageView.Size = imageSize;
- imageView.Position = new Position( margin * 0.5f + (imageSize.X + margin) * column - stageSize.W * 0.5f + imageSize.X * 0.5f,
- margin * 0.5f + (imageSize.Y + margin) * row - stageSize.H * 0.5f + imageSize.Y * 0.5f, 0.0f );
+ ImageView imageView = new ImageView(_resPath+"images/image-" + imageId + ".jpg");
+ imageView.ParentOrigin = ParentOrigin.Center;
+ imageView.AnchorPoint = AnchorPoint.Center;
+ imageView.Size = new Size(imageSize.X, imageSize.Y, imageSize.Z);
+ imageView.Position = new Position( margin * 0.5f + (imageSize.X + margin) * column - stageSize.Width * 0.5f + imageSize.X * 0.5f,
+ margin * 0.5f + (imageSize.Y + margin) * row - stageSize.Height * 0.5f + imageSize.Y * 0.5f, 0.0f );
pageActor.Add(imageView);
}
}
// Set scroll view to have 3 pages in X axis and allow page snapping,
// and also disable scrolling in Y axis.
- RulerPtr scrollRulerX = new RulerPtr(new FixedRuler(stageSize.W));
+ RulerPtr scrollRulerX = new RulerPtr(new FixedRuler(stageSize.Width));
RulerPtr scrollRulerY = new RulerPtr(new DefaultRuler());
- scrollRulerX.SetDomain(new RulerDomain(0.0f, stageSize.W * pageColumns, true));
+ scrollRulerX.SetDomain(new RulerDomain(0.0f, stageSize.Width * pageColumns, true));
scrollRulerY.Disable();
_scrollView.SetRulerX(scrollRulerX);
_scrollView.SetRulerY(scrollRulerY);
// Create a horizontal scroll bar in the bottom of scroll view (which is optional)
- _scrollBar = new ScrollBar();
- _scrollBar.ParentOrigin = NDalic.ParentOriginBottomLeft;
- _scrollBar.AnchorPoint = NDalic.AnchorPointTopLeft;
- _scrollBar.SetResizePolicy(ResizePolicyType.FIT_TO_CHILDREN, DimensionType.WIDTH);
- _scrollBar.SetResizePolicy(ResizePolicyType.FILL_TO_PARENT, DimensionType.HEIGHT);
- _scrollBar.Orientation = new Quaternion( new Radian( new Degree( 270.0f ) ), Vector3.ZAXIS );
- _scrollBar.SetScrollDirection(ScrollBar.Direction.Horizontal);
+ _scrollBar = new ScrollBar(ScrollBar.Direction.Horizontal);
+ _scrollBar.ParentOrigin = ParentOrigin.BottomLeft;
+ _scrollBar.AnchorPoint = AnchorPoint.TopLeft;
+ _scrollBar.WidthResizePolicy = ResizePolicyType.FitToChildren;
+ _scrollBar.HeightResizePolicy = ResizePolicyType.FillToParent;
+ _scrollBar.Orientation = new Rotation( new Radian( new Degree( 270.0f ) ), Vector3.ZAxis );
_scrollView.Add(_scrollBar);
// Connect to the OnRelayout signal
_scrollView.OnRelayoutEvent += OnScrollViewRelayout;
_scrollView.Touched += OnTouch;
_scrollView.WheelMoved += Onwheel;
- _scrollView.KeyInputFocusGained += OnKey;
+ _scrollView.FocusGained += OnKey;
_text = new TextLabel("View Touch Event Handler Test");
- _text.ParentOrigin = NDalic.ParentOriginCenter;
- _text.AnchorPoint = NDalic.AnchorPointCenter;
+ _text.ParentOrigin = ParentOrigin.Center;
+ _text.AnchorPoint = AnchorPoint.Center;
_text.HorizontalAlignment = "CENTER";
_text.PointSize = 48.0f;
{
Console.WriteLine("Customized Animation Finished Event handler");
}
- private void OnKey(object source, View.KeyInputFocusGainedEventArgs e)
+ private void OnKey(object source, EventArgs e)
{
Console.WriteLine("View Keyevent EVENT callback....");
}
Console.WriteLine("View TOUCH EVENT callback....");
// Only animate the _text label when touch down happens
- if( e.Touch.GetState(0) == PointStateType.DOWN )
+ if( e.Touch.GetState(0) == PointStateType.Down )
{
Console.WriteLine("Customized Stage Touch event handler");
// Create a new _animation
_animation.Reset();
}
- _animation = new Animation(1.0f); // 1 second of duration
+ _animation = new Animation(1); // 1 second of duration
- _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Quaternion( new Radian( new Degree( 180.0f ) ), Vector3.XAXIS )), new AlphaFunction(AlphaFunction.BuiltinFunction.Linear), new TimePeriod(0.0f, 0.5f));
- _animation.AnimateTo(new Property(_text, Actor.Property.ORIENTATION), new Property.Value(new Quaternion( new Radian( new Degree( 0.0f ) ), Vector3.XAXIS )), new AlphaFunction(AlphaFunction.BuiltinFunction.Linear), new TimePeriod(0.5f, 0.5f));
+ _animation.AnimateTo(_text, "Orientation", new Rotation( new Radian( new Degree( 180.0f ) ), Vector3.XAxis ), 0, 500);
+ _animation.AnimateTo(_text, "Orientation", new Rotation( new Radian( new Degree( 0.0f ) ), Vector3.XAxis ), 500, 1000);
// Connect the signal callback for animaiton finished signal
_animation.Finished += AnimationFinished;
return true;
}
- private void OnScrollViewRelayout(object source, View.OnRelayoutEventArgs e)
+ private void OnScrollViewRelayout(object source, EventArgs e)
{
Console.WriteLine("View OnRelayoutEventArgs EVENT callback....");
// Set the correct scroll bar size after size negotiation of scroll view is done
- _scrollBar.Size = new Position(0.0f, _scrollView.GetRelayoutSize(DimensionType.WIDTH), 0.0f);
- }
-
- public void MainLoop()
- {
- _application.MainLoop ();
+ _scrollBar.Size = new Size(0.0f, _scrollView.GetRelayoutSize(DimensionType.Width), 0.0f);
}
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
- static void Main(string[] args)
+ static void _Main(string[] args)
{
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
+ Example example = new Example();
+ example.Run(args);
}
}
}
using System;
using System.Runtime.InteropServices;
-using Dali;
-using Dali.Constants;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
-namespace MyCSharpExample
+namespace UserAlphaFunctionTest
{
- class Example
- {
- private Dali.Application _application;
- private Animation _animation;
- private TextLabel _text;
- private View _view1, _view2, _view3;
- private UserAlphaFunctionDelegate _user_alpha_func;
- private int myCount;
-
- public static void Log(string str)
+ class Example : NUIApplication
{
- Console.WriteLine("[DALI C# SAMPLE] " + str);
- }
+ private Animation _animation;
+ private TextLabel _text;
+ private View _view1, _view2, _view3;
+ private UserAlphaFunctionDelegate _user_alpha_func;
+ private int myCount;
- public Example(Dali.Application application)
- {
- _application = application;
- _application.Initialized += Initialize;
- }
+ public static void Log(string str)
+ {
+ Console.WriteLine("[DALI C# SAMPLE] " + str);
+ }
- // Declare user alpha function delegate
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate float UserAlphaFunctionDelegate(float progress);
+ public Example() : base()
+ {
+ }
- public void Initialize(object source, NUIApplicationInitEventArgs e)
- {
- Log("Initialize() is called!");
- Stage stage = Stage.GetCurrent();
- stage.BackgroundColor = Color.White;
- stage.Touch += OnStageTouched;
- stage.Touch += OnStageTouched2;
- //stage.EventProcessingFinished += OnEventProcessingFinished;
- stage.Wheel += OnStageWheelEvent;
-
- // Add a _text label to the stage
- _text = new TextLabel("Hello Mono World");
- _text.ParentOrigin = ParentOrigin.BottomCenter;
- _text.AnchorPoint = AnchorPoint.BottomCenter;
- _text.HorizontalAlignment = "CENTER";
- _text.PointSize = 32.0f;
- stage.Add(_text);
-
- _view1 = new View();
- _view1.Size = new Vector3(200.0f, 200.0f, 0.0f);
- _view1.BackgroundColor = Color.Green;
- _view1.ParentOrigin = ParentOrigin.Center;
- _view1.AnchorPoint = AnchorPoint.Center;
- _view1.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.ALL_DIMENSIONS);
- _view1.OnStageEvent += OnStage;
- stage.Add(_view1);
-
- _view2 = new View();
- _view2.BackgroundColor = Color.Red;
- _view2.Size = new Vector3(50.0f, 50.0f, 0.0f);
- _view2.ParentOrigin = ParentOrigin.TopLeft;
- _view2.AnchorPoint = AnchorPoint.TopLeft;
- _view2.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.ALL_DIMENSIONS);
- _view1.Add(_view2);
-
- _view3 = new View();
- _view3.BackgroundColor = Color.Blue;
- _view3.Size = new Vector3(50.0f, 50.0f, 0.0f);
- _view3.ParentOrigin = ParentOrigin.TopLeft;
- _view3.AnchorPoint = AnchorPoint.TopLeft;
- _view3.SetResizePolicy(ResizePolicyType.FIXED, DimensionType.ALL_DIMENSIONS);
- _view1.Add(_view3);
-
- _user_alpha_func = new UserAlphaFunctionDelegate(body);
-
- MyAnimating();
- }
+ public Example(string stylesheet) : base(stylesheet)
+ {
+ }
- // User defines alpha function as custom alpha function
- // Important Notification : when this custom alpha-function is implemented,
- // the other function call nor other data excess is prevented.
- // this method must be implemented to calculate the values of input and output purely.
- // unless, this will cause application crash.
- float body(float progress)
- {
- if (progress > 0.2f && progress< 0.7f)
- {
- return progress + 0.8f;
- }
- return progress;
- }
+ public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+ {
+ }
- // Callback for _animation finished signal handling
- public void AnimationFinished(object sender, EventArgs e)
- {
- Log("AnimationFinished() is called!");
- myCount = 0;
- }
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
- public void MyAnimating()
- {
- // Create a new _animation
- if( _animation )
- {
- _animation.Clear();
- _animation.Reset();
- }
-
- _animation = new Animation(10000); // 10000 milli-second of duration
- _animation.StartTime = 5000;
- _animation.EndTime = 10000;
- _animation.TargetProperty = "Position";
- _animation.AlphaFunction = new AlphaFunction(_user_alpha_func);
- _animation.Destination = new Vector3(150.0f, 150.0f, 0.0f);
- _animation.AnimateTo(_view2);
- // Connect the signal callback for animaiton finished signal
- _animation.Finished += AnimationFinished;
- _animation.EndAction = Animation.EndActions.Discard;
- // Play the _animation
- _animation.Play();
- }
+ // Declare user alpha function delegate
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ delegate float UserAlphaFunctionDelegate(float progress);
- // Callback for stage touched signal handling
- public void OnStageTouched(object source, Stage.TouchEventArgs e)
- {
- // Only animate the _text label when touch down happens
- if( e.Touch.GetState(0) == PointStateType.DOWN )
- {
- Log("OnStageTouched() is called! PointStateType.DOWN came!");
- myCount++;
- if( myCount > 1 )
+ public void Initialize()
{
- _animation.Stop();
- Log("_animation.Stop() is called!");
+ Log("Initialize() is called!");
+ Stage stage = Stage.Instance;
+ stage.BackgroundColor = Color.White;
+ stage.Touch += OnStageTouched;
+ stage.Touch += OnStageTouched2;
+ //stage.EventProcessingFinished += OnEventProcessingFinished;
+ stage.Wheel += OnStageWheelEvent;
+
+ // Add a _text label to the stage
+ _text = new TextLabel("Hello Mono World");
+ _text.ParentOrigin = ParentOrigin.BottomCenter;
+ _text.AnchorPoint = AnchorPoint.BottomCenter;
+ _text.HorizontalAlignment = "CENTER";
+ _text.PointSize = 32.0f;
+ stage.GetDefaultLayer().Add(_text);
+
+ _view1 = new View();
+ _view1.Size = new Vector3(200.0f, 200.0f, 0.0f);
+ _view1.BackgroundColor = Color.Green;
+ _view1.ParentOrigin = ParentOrigin.Center;
+ _view1.AnchorPoint = AnchorPoint.Center;
+ _view1.WidthResizePolicy = ResizePolicyType.Fixed;
+ _view1.HeightResizePolicy = ResizePolicyType.Fixed;
+ _view1.OnStageEvent += OnStage;
+ stage.GetDefaultLayer().Add(_view1);
+
+ _view2 = new View();
+ _view2.BackgroundColor = Color.Red;
+ _view2.Size = new Vector3(50.0f, 50.0f, 0.0f);
+ _view2.ParentOrigin = ParentOrigin.TopLeft;
+ _view2.AnchorPoint = AnchorPoint.TopLeft;
+ _view2.WidthResizePolicy = ResizePolicyType.Fixed;
+ _view2.HeightResizePolicy = ResizePolicyType.Fixed;
+ _view1.Add(_view2);
+
+ _view3 = new View();
+ _view3.BackgroundColor = Color.Blue;
+ _view3.Size = new Vector3(50.0f, 50.0f, 0.0f);
+ _view3.ParentOrigin = ParentOrigin.TopLeft;
+ _view3.AnchorPoint = AnchorPoint.TopLeft;
+ _view3.WidthResizePolicy = ResizePolicyType.Fixed;
+ _view3.HeightResizePolicy = ResizePolicyType.Fixed;
+ _view1.Add(_view3);
+
+ _user_alpha_func = new UserAlphaFunctionDelegate(body);
+
+ MyAnimating();
}
- }
- }
- // Callback for stage touched signal handling
- public void OnStageTouched2(object source, Stage.TouchEventArgs e)
- {
- Log("OnStageTouched2() is called!state="+ e.Touch.GetState(0) );
- }
+ // User defines alpha function as custom alpha function
+ // Important Notification : when this custom alpha-function is implemented,
+ // the other function call nor other data excess is prevented.
+ // this method must be implemented to calculate the values of input and output purely.
+ // unless, this will cause application crash.
+ float body(float progress)
+ {
+ if (progress > 0.2f && progress < 0.7f)
+ {
+ return progress + 0.8f;
+ }
+ return progress;
+ }
- public void OnEventProcessingFinished(object source)
- {
- Log("OnEventProcessingFinished() is called!");
- }
+ // Callback for _animation finished signal handling
+ public void AnimationFinished(object sender, EventArgs e)
+ {
+ Log("AnimationFinished() is called!");
+ myCount = 0;
+ }
- public void OnStageWheelEvent(object source, Stage.WheelEventArgs e)
- {
- Log("OnStageWheelEvent() is called!");
- //Log("OnStageWheelEvent() is called!direction="+ e.WheelEvent.direction + " timeStamp=" + e.WheelEvent.timeStamp );
- }
+ public void MyAnimating()
+ {
+ // Create a new _animation
+ if (_animation)
+ {
+ _animation.Clear();
+ _animation.Reset();
+ }
+
+ _animation = new Animation(10000); // 10000 milli-second of duration
+ _animation.AnimateTo(_view2, "Position", new Vector3(150.0f, 150.0f, 0.0f), 5000, 10000, new AlphaFunction(_user_alpha_func));
+ // Connect the signal callback for animaiton finished signal
+ _animation.Finished += AnimationFinished;
+ _animation.EndAction = Animation.EndActions.Discard;
+ // Play the _animation
+ _animation.Play();
+ }
+ // Callback for stage touched signal handling
+ public void OnStageTouched(object source, Stage.TouchEventArgs e)
+ {
+ // Only animate the _text label when touch down happens
+ if (e.Touch.GetState(0) == PointStateType.Down)
+ {
+ Log("OnStageTouched() is called! PointStateType.DOWN came!");
+ myCount++;
+ if (myCount > 1)
+ {
+ _animation.Stop();
+ Log("_animation.Stop() is called!");
+ }
+ }
+ }
- public void OnStage(object source , View.OnStageEventArgs e)
- {
- Log("OnStage() is called!");
- }
+ // Callback for stage touched signal handling
+ public void OnStageTouched2(object source, Stage.TouchEventArgs e)
+ {
+ Log("OnStageTouched2() is called!state=" + e.Touch.GetState(0));
+ }
- public void MainLoop()
- {
- _application.MainLoop ();
- }
+ public void OnEventProcessingFinished(object source)
+ {
+ Log("OnEventProcessingFinished() is called!");
+ }
- [STAThread]
- static void Main(string[] args)
- {
- Log("Main() is called!");
+ public void OnStageWheelEvent(object source, Stage.WheelEventArgs e)
+ {
+ Log("OnStageWheelEvent() is called!");
+ //Log("OnStageWheelEvent() is called!direction="+ e.WheelEvent.direction + " timeStamp=" + e.WheelEvent.timeStamp );
+ }
- Example example = new Example(Application.NewApplication());
- example.MainLoop ();
- Log("After MainLoop()");
+ public void OnStage(object source, EventArgs e)
+ {
+ Log("OnStage() is called!");
+ }
+
+ [STAThread]
+ static void _Main(string[] args)
+ {
+ Log("Main() is called!");
+
+ Example example = new Example();
+ example.Run(args);
+
+ Log("After MainLoop()");
+ }
}
- }
}
using System.Runtime.InteropServices;\r
using Tizen.NUI;\r
\r
-namespace MyCSharpExample\r
+namespace VisualViewTest\r
{\r
- // A spin control (for continously changing values when users can easily predict a set of values)\r
-\r
- class Example\r
+ // An example of Visual View control.\r
+ class Example : NUIApplication\r
{\r
- private Application _application;\r
- private VisualView _visualView;\r
+ private VisualView _visualView = null;\r
+ private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res/";\r
\r
- public Example(Application application)\r
+ public Example() : base()\r
{\r
- _application = application;\r
- _application.Initialized += Initialize;\r
}\r
\r
- public void Initialize(object source, NUIApplicationInitEventArgs e)\r
+ public Example(string stylesheet) : base(stylesheet)\r
{\r
- Stage stage = Stage.GetCurrent();\r
- stage.BackgroundColor = Color.White;\r
+ }\r
\r
- // Create a conttent view\r
- _visualView = new VisualView();\r
- _visualView.ParentOrigin = NDalic.ParentOriginTopLeft;\r
- _visualView.AnchorPoint = NDalic.AnchorPointTopLeft;\r
- _visualView.Size = new Vector3(80.0f, 50.0f, 0.0f);\r
- _visualView.BackgroundColor = new Color(1.0f, 0.0f, 0.0f, 1.0f);\r
- _visualView.Position = new Position(100.0f, 100.0f, 0.0f);\r
- stage.Add(_visualView);\r
-\r
- ImageVisual imageVisual1 = new ImageVisual("/home/owner/apps_rw/NUISamples.TizenTV/res/images/image-1.jpg");\r
- imageVisual1.Size = new Vector2(30.0f, 30.0f);\r
- imageVisual1.Position = new Vector2(50.0f, 50.0f);\r
- imageVisual1.OffsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f);\r
- imageVisual1.Origin = AlignType.TOP_BEGIN;\r
- imageVisual1.AnchorPoint = AlignType.TOP_BEGIN;\r
- imageVisual1.ParentSize = new Vector2(80.0f, 50.0f);\r
- imageVisual1.Instantiate();\r
-\r
- _visualView.AddVisual(imageVisual1);\r
-\r
- ImageVisual imageVisual2 = new ImageVisual("/home/owner/apps_rw/NUISamples.TizenTV/res/images/image-2.jpg");\r
- imageVisual2.Size = new Vector2(350.0f, 300.0f);\r
- imageVisual2.Position = new Vector2(400.0f, 50.0f);\r
- imageVisual2.OffsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f);\r
- imageVisual2.Origin = AlignType.TOP_BEGIN;\r
- imageVisual2.AnchorPoint = AlignType.TOP_BEGIN;\r
- imageVisual2.ParentSize = new Vector2(80.0f, 50.0f);\r
- imageVisual2.Instantiate();\r
-\r
- _visualView.AddVisual(imageVisual2);\r
-\r
- TextVisual textVisual1 = new TextVisual("Hello Goodbye");\r
- textVisual1.Size = new Vector2(40.0f, 50.0f);\r
- textVisual1.Position = new Vector2(250.0f, 400.0f);\r
- textVisual1.OffsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f);\r
- textVisual1.Origin = AlignType.TOP_BEGIN;\r
- textVisual1.AnchorPoint = AlignType.TOP_BEGIN;\r
- textVisual1.ParentSize = new Vector2(80.0f, 50.0f);\r
- textVisual1.Instantiate();\r
-\r
- _visualView.AddVisual(textVisual1);\r
+ public Example(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)\r
+ {\r
}\r
\r
- public void MainLoop()\r
+ protected override void OnCreate()\r
{\r
- _application.MainLoop ();\r
+ base.OnCreate();\r
+ Initialize();\r
+ }\r
+\r
+ public void Initialize()\r
+ {\r
+ Stage stage = Stage.Instance;\r
+\r
+ /* Create a visual view. */\r
+ _visualView = new VisualView();\r
+ _visualView.ParentOrigin = ParentOrigin.TopLeft;\r
+ _visualView.AnchorPoint = AnchorPoint.TopLeft;\r
+ _visualView.Size = new Size(stage.Size.Width, stage.Size.Height-100.0f, 0.0f);\r
+\r
+ /* color visual */\r
+ ColorVisualMap colorVisualMap1 = new ColorVisualMap();\r
+ colorVisualMap1.MixColor = Color.Green;\r
+ _visualView.Background = colorVisualMap1.OutputVisualMap;\r
+ stage.GetDefaultLayer().Add(_visualView);\r
+\r
+ /* image visual 1. */\r
+ ImageVisualMap imageVisualMap1 = new ImageVisualMap();\r
+ imageVisualMap1.URL = _resPath+"images/image-1.jpg";\r
+ imageVisualMap1.VisualSize = new Vector2(200.0f, 200.0f);\r
+ imageVisualMap1.Offset = new Vector2(10.0f, 10.0f);\r
+ imageVisualMap1.OffsetPolicy = new Vector2(1, 1);\r
+ imageVisualMap1.SizePolicy = new Vector2(1, 1);\r
+ imageVisualMap1.Origin = AlignType.TopBegin;\r
+ imageVisualMap1.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual("imageVisual1", imageVisualMap1);\r
+\r
+ /* image visual 2. */\r
+ ImageVisualMap imageVisualMap2 = new ImageVisualMap();\r
+ imageVisualMap2.URL = _resPath+"images/image-2.jpg";\r
+ imageVisualMap2.VisualSize = new Vector2(250.0f, 200.0f);\r
+ imageVisualMap2.Offset = new Vector2(220.0f, 10.0f);\r
+ imageVisualMap2.OffsetPolicy = new Vector2(1, 1);\r
+ imageVisualMap2.SizePolicy = new Vector2(1, 1);\r
+ imageVisualMap2.Origin = AlignType.TopBegin;\r
+ imageVisualMap2.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual("imageVisual2", imageVisualMap2);\r
+\r
+ /* Modify imageVisual2, we just need do this. */\r
+ //imageVisualMap2.URL = "./examples/images/image-3.jpg";\r
+ //_visualView.AddVisual("imageVisual2", imageVisualMap2); //update a visual with same visual name.\r
+\r
+ //_visualView.RemoveVisual( "imageVisual1" );\r
+ //_visualView.RemoveVisual( imageVisualMap1 );\r
+\r
+ //_visualView.RemoveAll(); //Delete all visuals of visual view.\r
+\r
+ /* text visual. */\r
+ TextVisualMap textVisualMap1 = new TextVisualMap();\r
+ textVisualMap1.Text = "Hello Goodbye";\r
+ textVisualMap1.PointSize = 20.0f;\r
+\r
+ textVisualMap1.VisualSize = new Vector2(200.0f, 50.0f);\r
+ textVisualMap1.Offset = new Vector2(10.0f, 220.0f);\r
+ textVisualMap1.OffsetPolicy = new Vector2(1, 1);\r
+ textVisualMap1.SizePolicy = new Vector2(1, 1);\r
+ textVisualMap1.Origin = AlignType.TopBegin;\r
+ textVisualMap1.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual("textVisual1", textVisualMap1);\r
+\r
+ /* border visual */\r
+ BorderVisualMap borderVisualMap1 = new BorderVisualMap();\r
+ borderVisualMap1.Color = Color.Red;\r
+ borderVisualMap1.Size = 5.0f;\r
+\r
+ borderVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);\r
+ borderVisualMap1.Offset = new Vector2(10.0f, 280.0f);\r
+ borderVisualMap1.OffsetPolicy = new Vector2(1, 1);\r
+ borderVisualMap1.SizePolicy = new Vector2(1, 1);\r
+ borderVisualMap1.Origin = AlignType.TopBegin;\r
+ borderVisualMap1.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "borderVisual1", borderVisualMap1);\r
+\r
+ /* gradient visual */\r
+ GradientVisualMap gradientVisualMap1 = new GradientVisualMap();\r
+ PropertyArray stopOffset = new PropertyArray();\r
+ stopOffset.Add(new PropertyValue(0.0f));\r
+ stopOffset.Add(new PropertyValue(0.3f));\r
+ stopOffset.Add(new PropertyValue(0.6f));\r
+ stopOffset.Add(new PropertyValue(0.8f));\r
+ stopOffset.Add(new PropertyValue(1.0f));\r
+ gradientVisualMap1.StopOffset = stopOffset;\r
+ PropertyArray stopColor = new PropertyArray();\r
+ stopColor.Add(new PropertyValue(new Vector4( 129.0f, 198.0f, 193.0f, 255.0f )/255.0f));\r
+ stopColor.Add(new PropertyValue(new Vector4( 196.0f, 198.0f, 71.0f, 122.0f )/255.0f));\r
+ stopColor.Add(new PropertyValue(new Vector4( 214.0f, 37.0f, 139.0f, 191.0f )/255.0f));\r
+ stopColor.Add(new PropertyValue(new Vector4( 129.0f, 198.0f, 193.0f, 150.0f )/255.0f));\r
+ stopColor.Add(new PropertyValue(Color.Yellow));\r
+ gradientVisualMap1.StopColor = stopColor;\r
+ // gradientVisualMap1.StartPosition = new Vector2( 0.5f, 0.5f );\r
+ // gradientVisualMap1.EndPosition = new Vector2( -0.5f, -0.5f );\r
+ gradientVisualMap1.Center = new Vector2( 0.5f, 0.5f);\r
+ gradientVisualMap1.Radius = 1.414f;\r
+\r
+ gradientVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);\r
+ gradientVisualMap1.Offset = new Vector2(120.0f, 280.0f);\r
+ gradientVisualMap1.OffsetPolicy = new Vector2(1, 1);\r
+ gradientVisualMap1.SizePolicy = new Vector2(1, 1);\r
+ gradientVisualMap1.Origin = AlignType.TopBegin;\r
+ gradientVisualMap1.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "gradientVisual1", gradientVisualMap1);\r
+\r
+ /* primitive visual: Cone */\r
+ PrimitiveVisualMap primitiveVisualMap1 = new PrimitiveVisualMap();\r
+ primitiveVisualMap1.Shape = PrimitiveVisualShapeType.Cone;\r
+ primitiveVisualMap1.BevelPercentage = 0.3f;\r
+ primitiveVisualMap1.BevelSmoothness = 0.0f;\r
+ primitiveVisualMap1.ScaleDimensions = new Vector3(1.0f,1.0f,0.3f);\r
+ primitiveVisualMap1.MixColor = new Vector4((245.0f/255.0f), (188.0f/255.0f), (73.0f/255.0f), 1.0f);\r
+\r
+ primitiveVisualMap1.VisualSize = new Vector2(100.0f, 100.0f);\r
+ primitiveVisualMap1.Offset = new Vector2(230.0f, 280.0f);\r
+ primitiveVisualMap1.OffsetPolicy = new Vector2(1, 1);\r
+ primitiveVisualMap1.SizePolicy = new Vector2(1, 1);\r
+ primitiveVisualMap1.Origin = AlignType.TopBegin;\r
+ primitiveVisualMap1.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "primitiveVisual1", primitiveVisualMap1);\r
+\r
+ /* primitive visual: Sphere */\r
+ PrimitiveVisualMap primitiveVisualMap2 = new PrimitiveVisualMap();\r
+ primitiveVisualMap2.Shape = PrimitiveVisualShapeType.Sphere;\r
+ primitiveVisualMap2.BevelPercentage = 0.3f;\r
+ primitiveVisualMap2.BevelSmoothness = 0.0f;\r
+ primitiveVisualMap2.ScaleDimensions = new Vector3(1.0f,1.0f,0.3f);\r
+ primitiveVisualMap2.MixColor = new Vector4((245.0f/255.0f), (188.0f/255.0f), (73.0f/255.0f), 1.0f);\r
+\r
+ primitiveVisualMap2.VisualSize = new Vector2(100.0f, 100.0f);\r
+ primitiveVisualMap2.Offset = new Vector2(340.0f, 280.0f);\r
+ primitiveVisualMap2.OffsetPolicy = new Vector2(1, 1);\r
+ primitiveVisualMap2.SizePolicy = new Vector2(1, 1);\r
+ primitiveVisualMap2.Origin = AlignType.TopBegin;\r
+ primitiveVisualMap2.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "primitiveVisual2", primitiveVisualMap2);\r
+\r
+ /* primitive visual: Cylinder */\r
+ PrimitiveVisualMap primitiveVisualMap3 = new PrimitiveVisualMap();\r
+ primitiveVisualMap3.Shape = PrimitiveVisualShapeType.Cylinder;\r
+ primitiveVisualMap3.BevelPercentage = 0.3f;\r
+ primitiveVisualMap3.BevelSmoothness = 0.0f;\r
+ primitiveVisualMap3.ScaleDimensions = new Vector3(1.0f,1.0f,0.3f);\r
+ primitiveVisualMap3.MixColor = new Vector4((245.0f/255.0f), (188.0f/255.0f), (73.0f/255.0f), 1.0f);\r
+\r
+ primitiveVisualMap3.VisualSize = new Vector2(100.0f, 100.0f);\r
+ primitiveVisualMap3.Offset = new Vector2(10.0f, 390.0f);\r
+ primitiveVisualMap3.OffsetPolicy = new Vector2(1, 1);\r
+ primitiveVisualMap3.SizePolicy = new Vector2(1, 1);\r
+ primitiveVisualMap3.Origin = AlignType.TopBegin;\r
+ primitiveVisualMap3.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "primitiveVisual3", primitiveVisualMap3);\r
+\r
+ /* primitive visual: ConicalFrustrum */\r
+ PrimitiveVisualMap primitiveVisualMap4 = new PrimitiveVisualMap();\r
+ primitiveVisualMap4.Shape = PrimitiveVisualShapeType.ConicalFrustrum;\r
+ primitiveVisualMap4.BevelPercentage = 0.3f;\r
+ primitiveVisualMap4.BevelSmoothness = 0.0f;\r
+ primitiveVisualMap4.ScaleDimensions = new Vector3(1.0f,1.0f,0.3f);\r
+ primitiveVisualMap4.MixColor = new Vector4((245.0f/255.0f), (188.0f/255.0f), (73.0f/255.0f), 1.0f);\r
+\r
+ primitiveVisualMap4.VisualSize = new Vector2(100.0f, 100.0f);\r
+ primitiveVisualMap4.Offset = new Vector2(120.0f, 390.0f);\r
+ primitiveVisualMap4.OffsetPolicy = new Vector2(1, 1);\r
+ primitiveVisualMap4.SizePolicy = new Vector2(1, 1);\r
+ primitiveVisualMap4.Origin = AlignType.TopBegin;\r
+ primitiveVisualMap4.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "primitiveVisual4", primitiveVisualMap4);\r
+\r
+ /* primitive visual: Cube */\r
+ PrimitiveVisualMap primitiveVisualMap5 = new PrimitiveVisualMap();\r
+ primitiveVisualMap5.Shape = PrimitiveVisualShapeType.Cube;\r
+ primitiveVisualMap5.BevelPercentage = 0.3f;\r
+ primitiveVisualMap5.BevelSmoothness = 0.0f;\r
+ primitiveVisualMap5.ScaleDimensions = new Vector3(1.0f,1.0f,0.3f);\r
+ primitiveVisualMap5.MixColor = new Vector4((245.0f/255.0f), (188.0f/255.0f), (73.0f/255.0f), 1.0f);\r
+\r
+ primitiveVisualMap5.VisualSize = new Vector2(100.0f, 100.0f);\r
+ primitiveVisualMap5.Offset = new Vector2(230.0f, 390.0f);\r
+ primitiveVisualMap5.OffsetPolicy = new Vector2(1, 1);\r
+ primitiveVisualMap5.SizePolicy = new Vector2(1, 1);\r
+ primitiveVisualMap5.Origin = AlignType.TopBegin;\r
+ primitiveVisualMap5.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "primitiveVisual5", primitiveVisualMap5);\r
+\r
+ /* mesh visual nothing show. */\r
+ MeshVisualMap meshVisualMap1 = new MeshVisualMap();\r
+ meshVisualMap1.ObjectURL = _resPath + "models/Dino.obj";\r
+ meshVisualMap1.MaterialtURL = _resPath + "models/Dino.mtl";\r
+ meshVisualMap1.TexturesPath = _resPath + "images/";\r
+ meshVisualMap1.ShadingMode = MeshVisualShadingModeValue.TexturedWithSpecularLighting;\r
+\r
+ meshVisualMap1.VisualSize = new Vector2(200.0f, 200.0f);\r
+ meshVisualMap1.Offset = new Vector2(10.0f, 500.0f);\r
+ meshVisualMap1.OffsetPolicy = new Vector2(1, 1);\r
+ meshVisualMap1.SizePolicy = new Vector2(1, 1);\r
+ meshVisualMap1.Origin = AlignType.TopBegin;\r
+ meshVisualMap1.AnchorPoint = AlignType.TopBegin;\r
+ _visualView.AddVisual( "meshVisual1", meshVisualMap1);\r
+\r
+ //_visualView.RemoveVisual("primitiveVisual5");\r
+ PushButton remove = new PushButton();\r
+ remove.LabelText = "Remove One";\r
+ remove.ParentOrigin = ParentOrigin.BottomLeft;\r
+ remove.AnchorPoint = AnchorPoint.BottomLeft;\r
+ remove.Clicked += (obj, e) =>\r
+ {\r
+ _visualView.RemoveVisual("primitiveVisual5");\r
+ return true;\r
+ };\r
+ stage.GetDefaultLayer().Add(remove);\r
+\r
+ PushButton add = new PushButton();\r
+ add.LabelText = "Add One";\r
+ add.ParentOrigin = ParentOrigin.BottomCenter;\r
+ add.AnchorPoint = AnchorPoint.BottomCenter;\r
+ add.Clicked += (obj, e) =>\r
+ {\r
+ _visualView.AddVisual( "primitiveVisual5", primitiveVisualMap5);\r
+ return true;\r
+ };\r
+ stage.GetDefaultLayer().Add(add);\r
+\r
+ PushButton removeAll = new PushButton();\r
+ removeAll.LabelText = "Remove All";\r
+ removeAll.ParentOrigin = ParentOrigin.BottomRight;\r
+ removeAll.AnchorPoint = AnchorPoint.BottomRight;\r
+ removeAll.Clicked += (obj, e) =>\r
+ {\r
+ _visualView.RemoveAll();\r
+ return true;\r
+ };\r
+ stage.GetDefaultLayer().Add(removeAll);\r
}\r
\r
- /// <summary>\r
- /// The main entry point for the application.\r
- /// </summary>\r
[STAThread]\r
- static void Main(string[] args)\r
+ static void _Main(string[] args)\r
{\r
- Example example = new Example(Application.NewApplication());\r
- example.MainLoop ();\r
+ Example example = new Example();\r
+ example.Run(args);\r
}\r
}\r
}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+using System;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
+
+namespace MyCSharpExample
+{
+ class VisualExample : NUIApplication
+ {
+ private TextLabel _title;
+
+ public VisualExample() : base()
+ {
+ }
+
+ public VisualExample(string stylesheet) : base(stylesheet)
+ {
+ }
+
+ public VisualExample(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+ {
+ }
+
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
+
+ public void Initialize()
+ {
+ Stage stage = Stage.Instance;
+ stage.BackgroundColor = Color.White;
+
+ TableView contentLayout = new TableView(4, 1);
+ contentLayout.Name = ("ContentLayout");\r
+ contentLayout.WidthResizePolicy = ResizePolicyType.FillToParent;\r
+ contentLayout.HeightResizePolicy = ResizePolicyType.FillToParent;
+ contentLayout.ParentOrigin = ParentOrigin.Center;
+ contentLayout.AnchorPoint = AnchorPoint.Center;
+
+ contentLayout.SetCellPadding(new Size2D(0, 5));
+ contentLayout.BackgroundColor = Color.Red;//new Color(0.949f, 0.949f, 0.949f, 1.0f);
+
+ stage.GetDefaultLayer().Add(contentLayout);
+
+ _title = new TextLabel("Visuals Example");
+ _title.Name = "Title";
+ _title.StyleName = "Title";
+ _title.WidthResizePolicy = ResizePolicyType.FillToParent;
+ _title.HeightResizePolicy = ResizePolicyType.UseNaturalSize;
+ _title.HorizontalAlignment = "CENTER";
+ _title.BackgroundColor = Color.Yellow;
+ contentLayout.Add(_title);
+ contentLayout.SetFitHeight(0);
+
+ // Color Visual example
+ View colorView = new View();
+ colorView.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ colorView.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ PropertyMap colorVisual = new PropertyMap();
+ colorVisual.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Color ))
+ .Add( ColorVisualProperty.MixColor, new PropertyValue( Color.Green ));
+ colorView.Background = colorVisual;
+ contentLayout.Add(colorView);
+
+ // Image Visual example
+ View imageView = new View();
+ imageView.WidthResizePolicy = ResizePolicyType.UseNaturalSize;
+ imageView.HeightResizePolicy = ResizePolicyType.UseNaturalSize;
+ PropertyMap imageVisual = new PropertyMap();
+ imageVisual.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Image ));
+ imageVisual.Add(ImageVisualProperty.URL, new PropertyValue("/home/owner/apps_rw/NUISamples.TizenTV/res/images/gallery-0.jpg"));
+ imageView.Background = imageVisual;
+ contentLayout.SetCellAlignment(new TableView.CellPosition(2, 0), HorizontalAlignmentType.Center, VerticalAlignmentType.Center);
+ contentLayout.Add(imageView);
+ for(int i =1; i<=5; i++)
+ {
+ PropertyMap imageVisual1 = new PropertyMap();
+ imageVisual1.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Image ));
+ imageVisual1.Add(ImageVisualProperty.URL, new PropertyValue("/home/owner/apps_rw/NUISamples.TizenTV/res/images/gallery-" + i+".jpg" ));
+ imageView.Background = imageVisual1;
+ }
+
+ // Primitive Visual example
+ View primitiveView = new View();
+ primitiveView.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ primitiveView.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ PropertyMap primitiveVisual = new PropertyMap();
+ primitiveVisual.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Primitive ))
+ .Add( PrimitiveVisualProperty.Shape, new PropertyValue((int)PrimitiveVisualShapeType.BevelledCube))
+ .Add( PrimitiveVisualProperty.BevelPercentage, new PropertyValue(0.3f))
+ .Add( PrimitiveVisualProperty.BevelSmoothness, new PropertyValue(0.0f))
+ .Add( PrimitiveVisualProperty.ScaleDimensions, new PropertyValue(new Vector3(1.0f,1.0f,0.3f)))
+ .Add( PrimitiveVisualProperty.MixColor, new PropertyValue(new Vector4(0.7f, 0.5f, 0.05f, 1.0f)));
+ primitiveView.Background = primitiveVisual;
+ Radian rad = new Radian(new Degree(45.0f));
+ primitiveView.Orientation = new Rotation(rad, Vector3.YAxis);
+ contentLayout.Add(primitiveView);
+
+ // Text Visual example
+ View textView = new View();
+ textView.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ textView.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;
+ PropertyMap textVisual = new PropertyMap();
+ textVisual.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Text ))
+ .Add( TextVisualProperty.Text, new PropertyValue("I am text visual"))
+ .Add( TextVisualProperty.TextColor, new PropertyValue(Color.Blue))
+ .Add( TextVisualProperty.PointSize, new PropertyValue(20));
+ textView.Background = textVisual;
+ contentLayout.Add(textView);
+ }
+
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void _Main(string[] args)
+ {
+ VisualExample example = new VisualExample("/home/owner/apps_rw/NUISamples.TizenTV/res/json/style-example-theme-one.json");
+ example.Run(args);
+ }
+ }
+}
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+using System;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
+
+namespace VisualsUsingCustomView
+{
+ // The collection of contacts
+ static class ContactsList
+ {
+ private const string _resPath = "/home/owner/apps_rw/NUISamples.TizenTV/res/";
+
+ public static readonly ContactItem[] s_contactData = new ContactItem[]
+ {
+ new ContactItem ("Emmett Yates", _resPath+"images/gallery-small-43.jpg",
+ new Color((73.0f/255.0f),(182.0f/255.0f), (245.0f/255.0f), 1.0f),
+ (int)PrimitiveVisualShapeType.Cone),
+ new ContactItem ("Leslie Wong", _resPath+"images/gallery-2.jpg",
+ new Color((51.0f/255.0f), (51.0f/255.0f), (102.0f/255.0f), 1.0f),
+ (int)PrimitiveVisualShapeType.Sphere),
+ new ContactItem ("Walter Jensen", _resPath+"images/gallery-0.jpg",
+ new Color((151.0f/255.0f), (214.0f/255.0f), (240.0f/255.0f), 1.0f),
+ (int)PrimitiveVisualShapeType.Cylinder),
+ new ContactItem ("Dan Haynes", _resPath+"images/gallery-1.jpg",
+ new Color((102.0f/255.0f), (251.0f/255.0f), (102.0f/255.0f), 1.0f),
+ (int)PrimitiveVisualShapeType.ConicalFrustrum),
+ new ContactItem ("Mable Hodges", _resPath+"images/gallery-3.jpg",
+ new Color((255.0f/255.0f), (102.0f/255.0f), (102.0f/255.0f), 1.0f),
+ (int)PrimitiveVisualShapeType.Cube)
+ };
+ }
+
+ // The information for an individual contact
+ class ContactItem
+ {
+ private string _name;
+ private string _imageURL;
+ private Color _color;
+ private int _shape;
+
+ public ContactItem (string name, string imageURL, Color color, int shape)
+ {
+ _name = name;
+ _imageURL = imageURL;
+ _color = color;
+ _shape = shape;
+ }
+
+ public string ImageURL
+ {
+ get
+ {
+ return _imageURL;
+ }
+ set
+ {
+ _imageURL = value;
+ }
+ }
+
+ public string Name
+ {
+ get
+ {
+ return _name;
+ }
+ set
+ {
+ _name = value;
+ }
+ }
+
+ public Color Color
+ {
+ get
+ {
+ return _color;
+ }
+ set
+ {
+ _color = value;
+ }
+ }
+
+ public int Shape
+ {
+ get
+ {
+ return _shape;
+ }
+ set
+ {
+ _shape = value;
+ }
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+using System;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
+
+// A ContactView is a Custom View which consists of four visuals (Image, Primitive, Text and Color).
+// All of these visuals can be configured via properties - ImageURL (Image), Shape (Primitive), Name (Text) and Color.
+// Tap gesture is also enabled on the ContactView which changes the color visual to some random color when ContactView is tapped.
+
+namespace VisualsUsingCustomView
+{
+ public class ContactView : CustomView
+ {
+ private const int ColorVisualPropertyIndex = 0;
+ private const int PrimitiveVisualPropertyIndex = 1;
+ private const int ImageVisualPropertyIndex = 2;
+ private const int TextVisualPropertyIndex = 3;
+ private VisualBase _imageVisual;
+ private VisualBase _colorVisual;
+ private VisualBase _primitiveVisual;
+ private VisualBase _textVisual;
+ private int _shape;
+ private string _imageURL;
+ private string _name;
+ private Color _color;
+
+ public ContactView() : base(typeof(ContactView).Name, CustomViewBehaviour.RequiresKeyboardNavigationSupport)
+ {
+ }
+
+ public string ImageURL
+ {
+ get
+ {
+ return _imageURL;
+ }
+ set
+ {
+ _imageURL = value;
+
+ // Create and Register Image Visual
+ PropertyMap imageVisual = new PropertyMap();
+ imageVisual.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Image ))
+ .Add( ImageVisualProperty.URL, new PropertyValue( _imageURL ));
+ _imageVisual = VisualFactory.Get().CreateVisual( imageVisual );
+ RegisterVisual( ImageVisualPropertyIndex, _imageVisual );
+
+ // Set the depth index for Image visual
+ _imageVisual.DepthIndex = ImageVisualPropertyIndex;
+ }
+ }
+
+ public string Name
+ {
+ get
+ {
+ return _name;
+ }
+ set
+ {
+ _name = value;
+
+ // Create and Register Text Visual
+ PropertyMap textVisual = new PropertyMap();
+ textVisual.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text))
+ .Add(TextVisualProperty.Text, new PropertyValue(_name))
+ .Add(TextVisualProperty.TextColor, new PropertyValue(Color.White))
+ .Add(TextVisualProperty.PointSize, new PropertyValue(15))
+ .Add( TextVisualProperty.HorizontalAlignment, new PropertyValue("CENTER"))
+ .Add( TextVisualProperty.VerticalAlignment, new PropertyValue("CENTER"));
+ _textVisual = VisualFactory.Get().CreateVisual( textVisual );
+ RegisterVisual( TextVisualPropertyIndex, _textVisual );
+
+ // Set the depth index for Text visual
+ _textVisual.DepthIndex = TextVisualPropertyIndex;
+ }
+ }
+
+ public Color Color
+ {
+ get
+ {
+ return _color;
+ }
+ set
+ {
+ _color = value;
+
+ // Create and Register Color Visual
+ PropertyMap colorVisual = new PropertyMap();
+ colorVisual.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Color ))
+ .Add( ColorVisualProperty.MixColor, new PropertyValue( _color ));
+ _colorVisual = VisualFactory.Get().CreateVisual( colorVisual );
+ RegisterVisual( ColorVisualPropertyIndex, _colorVisual );
+
+ // Set the depth index for Color visual
+ _colorVisual.DepthIndex = ColorVisualPropertyIndex;
+ }
+ }
+
+ public int Shape
+ {
+ get
+ {
+ return _shape;
+ }
+ set
+ {
+ _shape = value;
+
+ // Create and Register Primitive Visual
+ PropertyMap primitiveVisual = new PropertyMap();
+ primitiveVisual.Add( Visual.Property.Type, new PropertyValue( (int)Visual.Type.Primitive ))
+ .Add( PrimitiveVisualProperty.Shape, new PropertyValue(_shape))
+ .Add( PrimitiveVisualProperty.BevelPercentage, new PropertyValue(0.3f))
+ .Add( PrimitiveVisualProperty.BevelSmoothness, new PropertyValue(0.0f))
+ .Add( PrimitiveVisualProperty.ScaleDimensions, new PropertyValue(new Vector3(1.0f,1.0f,0.3f)))
+ .Add( PrimitiveVisualProperty.MixColor, new PropertyValue(new Vector4((245.0f/255.0f), (188.0f/255.0f), (73.0f/255.0f), 1.0f)));
+ _primitiveVisual = VisualFactory.Get().CreateVisual( primitiveVisual );
+ RegisterVisual( PrimitiveVisualPropertyIndex, _primitiveVisual );
+
+ // Set the depth index for Primitive visual
+ _primitiveVisual.DepthIndex = PrimitiveVisualPropertyIndex;
+ }
+ }
+
+ public override void OnInitialize()
+ {
+ // Enable Tap gesture on ContactView
+ EnableGestureDetection(Gesture.GestureType.Tap);
+ }
+
+ public override void OnTap(TapGesture tap)
+ {
+ // Change the Color visual of ContactView with some random color
+ Random random = new Random();
+ Color = new Color((random.Next(0, 256) / 255.0f), (random.Next(0, 256) / 255.0f), (random.Next(0, 256) / 255.0f), 1.0f);
+ }
+
+ public override void OnRelayout(Vector2 size, RelayoutContainer container)
+ {
+ // Configure the transform and size of Image visual.
+ PropertyMap imageVisualTransform = new PropertyMap();
+ imageVisualTransform.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(new Vector2(10.0f, 0.0f)))
+ .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
+ .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
+ .Add((int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(40.0f, 40.0f)))
+ .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.CenterBegin))
+ .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.CenterBegin));
+ _imageVisual.SetTransformAndSize(imageVisualTransform, size);
+
+ // Configure the transform and size of Text visual.
+ PropertyMap textVisualTransform = new PropertyMap();
+ textVisualTransform.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(new Vector2(0.0f, 0.0f)))
+ .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Relative, (int)VisualTransformPolicyType.Relative)))
+ .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
+ .Add((int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(size.X - 100.0f, 50.0f)))
+ .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.Center))
+ .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.Center));
+ _textVisual.SetTransformAndSize(textVisualTransform, size);
+
+ // Configure the transform and size of Primitive visual.
+ PropertyMap primitiveVisualTransform = new PropertyMap();
+ primitiveVisualTransform.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(new Vector2(size.X - 60.0f, 0.0f)))
+ .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
+ .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute)))
+ .Add((int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(40.0f, 40.0f)))
+ .Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.CenterBegin))
+ .Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.CenterBegin));
+ _primitiveVisual.SetTransformAndSize(primitiveVisualTransform, size);
+
+ // Configure the transform and size of Color visual. This is also the default value.
+ PropertyMap colorVisualTransform = new PropertyMap();
+ colorVisualTransform.Add( (int)VisualTransformPropertyType.Offset, new PropertyValue(new Vector2(0.0f,0.0f)))
+ .Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Relative, (int)VisualTransformPolicyType.Relative)))
+ .Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(new Vector2((int)VisualTransformPolicyType.Relative, (int)VisualTransformPolicyType.Relative)))
+ .Add( (int)VisualTransformPropertyType.Size, new PropertyValue(new Vector2(1.0f, 1.0f)) )
+ .Add( (int)VisualTransformPropertyType.Origin, new PropertyValue((int)AlignType.TopBegin) )
+ .Add( (int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)AlignType.TopBegin) );
+ _colorVisual.SetTransformAndSize(colorVisualTransform, size);
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+using System;
+using Tizen.NUI;
+using Tizen.NUI.Constants;
+
+namespace VisualsUsingCustomView
+{
+ class VisualsExample : NUIApplication
+ {
+ public VisualsExample() : base()
+ {
+ }
+
+ public VisualsExample(string stylesheet) : base(stylesheet)
+ {
+ }
+
+ public VisualsExample(string stylesheet, WindowMode windowMode) : base(stylesheet, windowMode)
+ {
+ }
+
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ Initialize();
+ }
+
+ private void Initialize()
+ {
+ Stage stage = Stage.Instance;
+ stage.BackgroundColor = Color.White;
+
+ TableView contentLayout = new TableView(14, 1);
+ contentLayout.Name = "ContentLayout";
+ //contentLayout.WidthResizePolicy = ResizePolicyType.FillToParent;
+ //contentLayout.HeightResizePolicy = ResizePolicyType.FillToParent;
+ contentLayout.AnchorPoint = AnchorPoint.Center;
+ contentLayout.ParentOrigin = ParentOrigin.Center;
+ contentLayout.Size = new Vector3(stage.Size.Width, stage.Size.Height, 0.0f);
+ contentLayout.SetCellPadding(new Size2D(5, 5));
+ contentLayout.BackgroundColor = new Color(0.949f, 0.949f, 0.949f, 1.0f);
+
+ stage.GetDefaultLayer().Add(contentLayout);
+
+ TextLabel title = new TextLabel("Contacts List with Visuals");
+ title.Name = "Title";
+ title.StyleName = "Title";
+ title.WidthResizePolicy = ResizePolicyType.FillToParent;
+ title.HeightResizePolicy = ResizePolicyType.UseNaturalSize;
+ title.HorizontalAlignment = "CENTER";
+ contentLayout.Add(title);
+ contentLayout.SetFitHeight(0);
+
+ // Create ContactView(s) from ContactItem(s) in ContactsList and add them to TableView
+ ContactView contactView;
+ foreach (ContactItem contact in ContactsList.s_contactData)
+ {
+ contactView = new ContactView();
+ contactView.WidthResizePolicy = ResizePolicyType.FillToParent;
+ contactView.HeightResizePolicy = ResizePolicyType.FillToParent;
+
+ // Configure visuals of ContactView via properties
+ contactView.Name = contact.Name;
+ contactView.ImageURL = contact.ImageURL;
+ contactView.Color = contact.Color;
+ contactView.Shape = contact.Shape;
+ contentLayout.Add(contactView);
+ }
+ }
+
+ /// <summary>
+ /// The main entry point for the application.
+ /// </summary>
+ [STAThread]
+ static void _Main(string[] args)
+ {
+ VisualsExample visualsExample = new VisualsExample();
+ visualsExample.Run(args);
+ }
+ }
+}
// Hide Bottom Container (Menu ScrollContainer) when it is not focused
private void HideBottomContainer()
{
- _topClipLayer.ClippingBox = new RectInteger(0,
+ _topClipLayer.ClippingBox = new Rectangle(0,
Convert.ToInt32(_stageSize.Height * Constants.TopContainerPositionFactor),
Convert.ToInt32((_stageSize.Width)),
Convert.ToInt32((_stageSize.Height * Constants.TopClipLayerExpandHeightFactor))); // X, Y, Width, Height
// Show (unhide) Bottom Container (Menu ScrollContainer) when it is focused
private void ShowBottomContainer()
{
- _topClipLayer.ClippingBox = new RectInteger(0,
+ _topClipLayer.ClippingBox = new Rectangle(0,
Convert.ToInt32(_stageSize.Height * Constants.TopContainerPositionFactor),
Convert.ToInt32((_stageSize.Width)),
Convert.ToInt32((_stageSize.Height * Constants.TopClipLayerHeightFactor))); // X, Y, Width, Height
_topClipLayer.AnchorPoint = AnchorPoint.BottomCenter;
_topClipLayer.ParentOrigin = ParentOrigin.BottomCenter;
_topClipLayer.ClippingEnable = true;
- _topClipLayer.ClippingBox = new RectInteger(0,
+ _topClipLayer.ClippingBox = new Rectangle(0,
Convert.ToInt32(_stageSize.Height * Constants.TopContainerPositionFactor),
Convert.ToInt32((_stageSize.Width)),
Convert.ToInt32((_stageSize.Height * Constants.TopClipLayerHeightFactor))); // X, Y, Width, Height
_bottomClipLayer.AnchorPoint = AnchorPoint.BottomCenter;
_bottomClipLayer.ParentOrigin = ParentOrigin.BottomCenter;
_bottomClipLayer.ClippingEnable = true;
- _bottomClipLayer.ClippingBox = new RectInteger(Convert.ToInt32(Constants.LauncherWidth),
+ _bottomClipLayer.ClippingBox = new Rectangle(Convert.ToInt32(Constants.LauncherWidth),
Convert.ToInt32(_stageSize.Height * Constants.BottomContainerShowPositionFactor),
Convert.ToInt32((_stageSize.Width)),
Convert.ToInt32((_stageSize.Height - (_stageSize.Height * Constants.BottomClipLayerHeightFactor)))); // X, Y, Width, Height
keyFrames.Add(focusData.KeyFrameEnd + 0.2f, initSize);
}
- _animation.AnimateBetween(focusData.ImageItem, "Size", keyFrames, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
+ _animation.AnimateBetween(focusData.ImageItem, "Size", keyFrames, Animation.Interpolation.Linear, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
// Simulate the vertical frame growing from the top.
// Vertical items are anchored to the bottom of the parent... so when they grow
keyFramesV.Add(focusData.KeyFrameEnd, (-itemHeight / 2)); // animate to halfway up the control
- _animation.AnimateBetween(focusData.ImageItem, "PositionY", keyFramesV, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
+ _animation.AnimateBetween(focusData.ImageItem, "PositionY", keyFramesV, Animation.Interpolation.Linear, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
}
keyFramesTL.Add(focusData.KeyFrameEnd, (itemWidth / 2)); // animate to halfway up the control
// grow these from the left or right
- _animation.AnimateBetween(focusData.ImageItem, "PositionX", keyFramesTL, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
+ _animation.AnimateBetween(focusData.ImageItem, "PositionX", keyFramesTL, Animation.Interpolation.Linear, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
}
keyFramesTR.Add(focusData.KeyFrameEnd, (-itemWidth / 2)); // animate to halfway up the control
// grow these from the left or right
- _animation.AnimateBetween(focusData.ImageItem, "PositionX", keyFramesTR, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
+ _animation.AnimateBetween(focusData.ImageItem, "PositionX", keyFramesTR, Animation.Interpolation.Linear, new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSine));
}
private Animation _focusTransitionAnimation; // Focus Transition (scaling /unscaling) animation on items of ScrollContainer.
private Path _circularPath; // Circular path used for SpotLight Animation applied to the focused item on ScrollContainer.
- public ScrollContainer() : base(ViewBehaviour.DisableStyleChangeSignals |
- ViewBehaviour.RequiresKeyboardNavigationSupport)
+ static CustomView CreateInstance()\r
+ {\r
+ return new ScrollContainer();\r
+ }\r
+\r
+ // static constructor registers the control type (for user can add kinds of visuals to it)\r
+ static ScrollContainer()\r
+ {\r
+ // ViewRegistry registers control type with DALi type registery\r
+ // also uses introspection to find any properties that need to be registered with type registry\r
+ ViewRegistry.Instance.Register(CreateInstance, typeof(ScrollContainer));\r
+ }
+
+ public ScrollContainer() : base(typeof(ScrollContainer).Name, CustomViewBehaviour.DisableStyleChangeSignals |
+ CustomViewBehaviour.RequiresKeyboardNavigationSupport)
{
}
+
public bool IsFocused
{
get
// This override function supports two dimensional keyboard navigation.
// This function returns the next keyboard focusable actor in ScrollContainer control towards the given direction.
- public override View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)\r
+ public override View GetNextKeyboardFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)\r
{\r
if (direction == View.FocusDirection.Left)\r
{\r
}\r
}\r
\r
- public override void OnFocusChangeCommitted(View commitedFocusableView)\r
+ public override void OnKeyboardFocusChangeCommitted(View commitedFocusableView)\r
{
Focus(_focusedItem);
}
--- /dev/null
+newmtl lambert2SG
+illum 4
+Kd 0.00 0.00 0.00
+Ka 0.00 0.00 0.00
+Tf 1.00 1.00 1.00
+map_Kd Dino-Painted_lambert2SG_color.png
+bump Dino-Painted_lambert2SG_nmap.png -bm 0.05
+Ni 1.00
+Ks 0.00 0.00 0.00
+map_Ks Dino-Painted_lambert2SG_gloss.png
+Ns 100.00
--- /dev/null
+# This file uses centimeters as units for non-parametric coordinates.
+
+mtllib Dino-Painted-trangulated.mtl
+g default
+v -2.990040 4.546638 1.637447
+v -3.030455 4.597074 1.650190
+v -2.963290 4.600993 1.261707
+v -2.986865 4.613688 2.074133
+v -2.984807 4.561486 1.833176
+v -3.074069 4.692977 1.663944
+v -2.995825 4.692977 1.222233
+v -3.037874 4.692977 2.069571
+v -3.088796 4.792712 1.668587
+v -3.009018 4.792712 1.218222
+v -2.912962 4.709117 1.028547
+v -2.935804 4.642348 1.139036
+v -2.989674 4.692977 2.171791
+v -2.971988 4.660830 2.167292
+v -3.048938 4.771697 2.079508
+v -3.057724 4.785048 2.003756
+v -2.868148 4.791738 0.898626
+v -3.030407 4.903895 1.445206
+v -2.995825 4.892447 1.222233
+v -3.076795 4.873988 1.664803
+v -3.013235 4.743669 2.143333
+v -2.811894 4.907079 0.819860
+v -2.974720 4.944247 1.228645
+v -2.814317 4.968375 0.889671
+v 0.455584 4.547046 2.756721
+v 0.481858 4.597074 2.789532
+v 0.222459 4.616557 3.111761
+v 0.372136 4.557773 2.879383
+v 0.420687 4.540450 2.917933
+v 0.651557 4.597762 2.404856
+v 0.534114 4.546803 2.581911
+v 0.510445 4.692977 2.825228
+v 0.254663 4.692977 3.142117
+v 0.220835 4.619258 3.140612
+v 0.622644 4.529284 2.582747
+v 0.691218 4.692977 2.414677
+v 0.240461 4.764953 3.165817
+v 0.520097 4.792712 2.837280
+v 0.341916 4.794654 3.057560
+v 0.167087 4.691651 3.193762
+v 0.156736 4.666129 3.183384
+v 0.765641 4.629588 2.287937
+v 0.729375 4.692977 2.199276
+v 0.694993 4.644406 2.275637
+v 0.704412 4.792712 2.418686
+v 0.256515 4.787745 3.223396
+v 0.482839 4.851830 2.972919
+v 0.168730 4.713521 3.305191
+v 0.153433 4.671968 3.220102
+v 0.209310 4.621598 3.239428
+v 0.751748 4.747441 2.115835
+v 0.770873 4.792197 2.043095
+v 0.510677 4.868237 2.830769
+v 0.691218 4.892447 2.414677
+v 0.596171 4.898145 2.624561
+v 0.508482 4.934960 3.017540
+v 0.432447 4.836648 2.935291
+v 0.312167 4.527642 3.195509
+v 0.468131 4.474055 2.907187
+v 0.642339 4.461905 2.567822
+v 0.866843 4.784387 2.024237
+v 0.708911 4.913047 2.628614
+v 0.669520 4.936469 2.417770
+v 0.261788 4.841069 3.285316
+v 0.219998 4.570489 3.336966
+v 0.789241 4.543365 2.273237
+v 0.889611 4.637389 2.031778
+v 0.772241 4.871970 1.969259
+v 0.795942 4.978660 2.265333
+v 0.769463 4.892447 1.972963
+v 0.753300 4.926269 1.969049
+v 0.729422 4.961356 2.031981
+v 0.693749 4.956565 2.244970
+v 0.751457 5.013865 2.633951
+v 0.408207 4.999633 3.137053
+v 0.157385 4.742076 3.379255
+v 0.156410 4.648410 3.372192
+v 0.229493 4.511500 3.368607
+v 0.382138 4.417754 3.112616
+v 0.506229 4.368457 2.833979
+v 0.762303 4.413838 2.252232
+v 0.924224 4.662934 1.851789
+v 0.765210 4.897405 1.951271
+v 0.817109 4.998960 1.994362
+v 0.699023 5.145885 2.669857
+v 0.164288 4.867402 3.464420
+v 0.626710 4.348125 2.517887
+v 0.859457 4.484944 2.018017
+v 0.902350 4.560369 1.793125
+v 0.911923 4.765121 1.799110
+v 0.845590 4.924233 1.926987
+v 0.844697 5.067893 2.192581
+v 0.393336 5.101588 2.986498
+v 0.146577 4.979251 3.448448
+v 0.071258 4.748240 3.587563
+v 0.102024 4.632739 3.543339
+v 0.186785 4.399665 3.426092
+v 0.419461 4.253200 2.899746
+v 0.527222 4.236503 2.672653
+v 0.753151 4.285945 2.069679
+v 0.703018 4.264556 2.249393
+v 0.865190 5.052543 1.848772
+v 0.809127 5.166337 2.103058
+v 0.505989 5.178515 2.801128
+v -0.081421 4.842570 3.905304
+v 0.600042 4.195041 2.425415
+v 0.818360 4.418443 1.798864
+v 0.901680 4.697299 1.638012
+v 0.889922 4.923305 1.757860
+v 0.652088 5.222653 2.561951
+v 0.424532 5.196681 2.880194
+v 0.196770 5.068938 3.184803
+v -0.071354 4.943797 3.734213
+v -0.137792 4.722613 4.075380
+v -0.041926 4.586080 3.926401
+v 0.261961 3.894729 3.102314
+v 0.603771 3.931193 2.197435
+v 0.846819 4.634048 1.560886
+v 0.835295 5.101600 1.687571
+v 0.693387 5.223634 2.080078
+v 0.594395 5.285541 2.591530
+v -0.362580 4.872828 4.403009
+v -0.206754 4.293944 4.360867
+v 0.908654 4.115762 1.422665
+v 0.872738 4.911481 1.567692
+v 0.612370 5.288276 2.125343
+v 0.485958 5.274169 2.975882
+v 0.206070 5.085402 3.352097
+v -0.040533 4.963262 3.776821
+v -0.419675 4.751824 4.655651
+v 0.124615 2.864311 3.451979
+v 0.625109 2.656433 1.990156
+v 1.073750 2.754673 0.767452
+v 0.977689 4.555261 1.167225
+v 0.786697 4.904763 1.479681
+v 0.711164 5.133616 1.628370
+v 0.680970 5.408751 2.240541
+v 0.682976 5.418855 2.616066
+v -0.119832 5.024333 4.049026
+v -0.563771 5.148402 4.629547
+v -0.366821 3.006401 4.718588
+v 1.409631 3.530934 0.218189
+v 0.651097 5.213618 1.415319
+v 0.767691 5.434764 1.773457
+v 0.568517 5.431529 3.054033
+v 0.233926 5.183860 3.549667
+v -0.208201 5.291366 4.125612
+v -0.724304 4.922492 5.141321
+v -0.531069 4.225640 5.129166
+v -0.320944 1.906097 4.262461
+v 0.464342 1.374343 2.461773
+v 1.005460 1.341977 0.860397
+v 1.904244 2.964683 -1.195360
+v 1.524641 4.440833 0.056517
+v 0.857457 4.911487 1.090441
+v 0.867795 5.606433 2.262928
+v 0.208008 5.441598 3.614326
+v -0.816905 5.575858 4.293909
+v -1.222739 5.300570 5.093716
+v -1.111336 2.081815 6.148703
+v -0.843238 3.130846 5.879112
+v 1.586324 1.341363 -0.939814
+v 2.020470 4.319388 -1.253695
+v 1.310672 4.939981 -0.003416
+v 0.944071 5.391015 0.838634
+v 1.084799 5.516816 0.593628
+v 0.550461 5.689313 3.080498
+v -0.243570 5.617236 3.926716
+v -1.088509 4.714080 6.106033
+v -0.871260 4.131904 5.997808
+v -1.175763 1.770711 5.966213
+v 0.194945 1.324512 2.733149
+v 0.680304 0.884205 1.881313
+v 1.132243 0.608562 0.483812
+v 1.975448 2.717726 -2.198786
+v 1.997969 4.219544 -2.245869
+v 1.710731 4.989612 -1.258345
+v 1.029792 5.199626 0.202564
+v 0.825845 5.849452 2.161259
+v 0.162411 5.743880 3.435080
+v -1.847071 5.577395 4.027824
+v -0.299525 5.891921 3.154528
+v -1.550822 5.035323 6.024529
+v -2.100235 1.698786 8.119534
+v -0.482822 1.594781 4.113649
+v -1.298672 3.285789 7.022678
+v 0.435926 1.090675 2.275763
+v 1.575565 0.365889 -1.096914
+v 1.809132 1.213356 -2.102665
+v 1.622024 5.059735 -2.130798
+v 1.315239 5.275283 -0.735912
+v 1.040846 5.736957 0.493748
+v 0.468231 5.940673 2.983255
+v -0.163867 5.854817 3.372477
+v -0.733281 5.740264 2.977743
+v -2.078737 5.426599 4.858477
+v -1.314404 3.933066 7.061584
+v -1.646940 4.277703 7.558582
+v -1.554191 1.724760 6.437229
+v -2.110226 1.980695 8.329247
+v -1.595020 2.749145 7.595623
+v 0.187837 1.260801 2.578400
+v -0.049984 1.370219 3.001387
+v 0.436324 0.886145 2.273993
+v 1.076371 0.229618 0.666611
+v 1.631134 1.219631 -2.683949
+v 1.690262 4.079940 -2.974463
+v 1.494689 4.828715 -2.892811
+v 1.278546 5.443246 -1.183214
+v 0.872465 5.957227 0.593445
+v 0.681681 6.070928 2.120993
+v 0.131231 5.975974 2.900934
+v -1.531636 5.694680 2.777596
+v -2.914564 5.300570 4.557446
+v -0.322719 5.877017 2.760509
+v -2.084802 4.538129 7.535072
+v -2.362797 5.142406 5.787764
+v -1.657311 1.713145 6.679090
+v -2.811605 1.593273 9.688974
+v -0.830360 1.608630 4.731524
+v -1.626691 3.423009 7.888271
+v 0.279368 1.161167 2.314341
+v -0.352679 1.447525 3.602535
+v -1.592312 3.771247 7.773996
+v 0.284567 1.016128 2.256865
+v 0.491360 0.672600 2.365932
+v 1.558293 -0.346143 -1.042540
+v 1.753694 0.365514 -2.070625
+v 1.609195 0.456095 -2.627880
+v 1.696950 2.652245 -2.852160
+v 1.032491 5.376510 -2.296043
+v 0.858594 5.732759 -1.155466
+v 0.358269 6.078769 2.690296
+v -0.370833 5.812644 1.627151
+v -2.712164 5.644416 3.188606
+v -3.162978 5.035325 5.512608
+v 0.137091 6.102895 2.001640
+v -2.184335 3.999497 8.854624
+v -1.860075 1.690306 7.154665
+v -1.362345 1.746367 5.987267
+v -2.817795 1.892673 9.822083
+v -2.195858 2.736475 8.927835
+v -0.712426 1.569448 4.452789
+v -1.050337 1.681712 5.251431
+v -1.833240 3.159286 8.369289
+v 0.094873 1.239719 2.626530
+v -0.471043 1.489251 3.882286
+v -0.097778 1.337858 3.020527
+v 0.908753 -0.021426 1.215004
+v 1.130506 -0.635589 0.540497
+v 1.757695 -0.207803 -2.140516
+v 1.084633 0.486288 -2.959242
+v 1.099090 1.221723 -3.023323
+v 1.191175 4.009906 -3.360504
+v 1.221661 4.657718 -3.282688
+v 1.031359 5.101766 -2.908772
+v 0.530401 5.998528 0.490358
+v 0.639906 6.083411 0.947172
+v 0.463268 6.167468 2.019012
+v -1.118419 5.763494 1.277090
+v -2.523887 5.694680 2.368753
+v -3.199463 5.148402 3.798393
+v -3.589910 4.714080 5.315928
+v -0.040622 5.960101 1.792061
+v -1.777683 3.967135 8.132954
+v -2.641439 4.008719 9.161499
+v -2.835413 4.624938 7.333904
+v -3.564820 4.538131 7.063540
+v -2.062828 1.667469 7.630207
+v -1.758317 1.701768 6.915997
+v -1.268388 1.744404 5.766388
+v -2.785246 1.588494 9.322689
+v -3.037239 1.619172 9.876841
+v -3.210586 1.630346 10.245050
+v -0.591395 1.529236 4.166735
+v -0.941417 1.645526 4.994003
+v -1.672823 3.716844 8.061214
+v -1.720861 3.494287 8.214890
+v 0.059092 1.167917 2.601109
+v 0.281853 0.873319 2.303871
+v 0.396870 0.142040 2.606798
+v 1.443335 -1.729705 -0.329977
+v 1.680724 -1.342895 -1.747480
+v 1.604607 -0.135609 -2.660795
+v 1.061661 -0.097718 -2.978884
+v 1.142461 2.630418 -3.215561
+v 0.178714 5.482100 -2.552019
+v -0.109925 5.684011 -1.677275
+v 0.130258 5.808276 0.149406
+v -3.212385 5.291366 3.181831
+v -3.352484 4.922492 4.312464
+v -3.939070 4.277703 6.832439
+v 0.306263 5.926478 0.702667
+v -2.076635 3.916091 8.850494
+v -2.433489 3.759585 9.530678
+v -3.281064 4.107974 8.791744
+v -2.140587 1.658711 7.812580
+v -1.454142 1.736029 6.202568
+v -1.357871 1.652757 5.972706
+v -2.727772 1.593172 9.189312
+v -2.940918 1.574419 9.673973
+v -3.018337 1.565463 9.798004
+v -3.210696 1.863332 10.334526
+v -2.754690 2.605837 9.893169
+v -2.164376 3.216939 9.110569
+v -1.195519 1.663089 5.505184
+v -1.289415 1.661602 5.756945
+v -1.887983 3.338809 8.637421
+v -0.132816 1.277617 3.002419
+v 0.058015 1.056817 2.301720
+v 0.063247 0.996122 2.591085
+v 0.404566 -0.638859 2.463314
+v -0.344768 0.727441 4.114187
+v 1.009445 -2.105568 1.110703
+v 1.769697 -0.888597 -2.350193
+v 0.370040 0.486288 -3.177658
+v 0.390024 1.221723 -3.241737
+v 0.859809 4.798703 -3.306459
+v 0.449976 2.630418 -3.433979
+v 0.335458 5.216281 -3.063990
+v -0.593409 5.768874 -0.304386
+v -2.074691 5.763494 0.834452
+v -3.239524 4.872828 3.498119
+v -3.071935 5.617236 3.036673
+v -3.333416 4.751824 3.739513
+v -3.709393 4.131904 5.104780
+v -3.936789 3.933066 6.234499
+v -1.802945 3.849277 8.353754
+v -2.287709 3.768867 9.371983
+v -2.650314 3.726106 9.700542
+v -3.484226 3.825299 9.456129
+v -4.218194 3.999497 8.207422
+v -2.208982 1.651007 7.972996
+v -1.965451 1.680763 7.401817
+v -1.470772 1.648812 6.184765
+v -1.586272 1.667659 6.428957
+v -2.488410 1.619534 8.628378
+v -2.883988 1.580452 9.556732
+v -3.110366 1.557650 9.909164
+v -3.203115 1.611521 10.084549
+v -3.382319 1.630346 10.278852
+v -3.180602 2.562291 10.218212
+v -2.426599 3.393428 9.562998
+v -0.936967 1.555750 4.978798
+v -1.068476 1.597062 5.233818
+v -1.667831 3.707688 8.150980
+v -1.710697 3.527001 8.285187
+v -0.272390 1.349679 3.315523
+v -0.237417 1.257002 2.953630
+v -0.049983 1.148184 2.537155
+v -0.371695 1.371554 3.582260
+v 0.098440 0.906450 2.612976
+v -0.540077 -0.296350 4.236645
+v -0.339370 0.258249 4.166752
+v 1.456208 -3.682472 0.050482
+v 1.736658 -3.064567 -1.260437
+v 1.590842 -1.052727 -2.759539
+v 0.323785 -0.087349 -3.182938
+v 0.495791 4.209281 -3.580940
+v -0.327919 5.101766 -3.323652
+v -0.678281 5.376510 -2.798590
+v -1.312694 5.755704 -1.427189
+v -3.242789 5.024333 3.068943
+v -3.271432 5.441598 2.525282
+v -2.828225 5.854817 2.532562
+v -3.505760 4.225640 4.194397
+v -4.104706 3.771249 6.980532
+v -2.011109 3.871293 8.845715
+v -2.197199 3.762599 9.290298
+v -2.340444 3.533227 9.518360
+v -3.169327 3.742534 9.678127
+v -4.012457 4.008719 8.722347
+v -4.151750 3.967135 7.381767
+v -2.278270 1.643203 8.135506
+v -1.875711 1.602784 7.138521
+v -1.753919 1.608155 6.901619
+v -1.443473 1.514649 6.076212
+v -1.344688 1.522587 5.929604
+v -2.659464 1.600268 9.029575
+v -3.131376 1.500986 9.844860
+v -3.348227 1.611521 10.134392
+v -3.425001 1.843917 10.352207
+v -3.470072 2.484629 10.238171
+v -3.101342 3.302632 10.007988
+v -2.716179 3.335677 9.887035
+v -2.115115 3.407611 9.151436
+v -0.745962 1.518644 4.438808
+v -0.850236 1.527256 4.716364
+v -1.377668 1.633334 5.666645
+v -1.207268 1.578980 5.259012
+v -1.861339 3.399865 8.659004
+v -0.375567 1.330215 3.273468
+v -0.042146 1.035961 2.524994
+v -0.158343 1.176779 2.471237
+v -0.610016 1.450465 4.147289
+v -0.466920 1.404950 3.866861
+v -0.094508 0.930744 3.007551
+v -0.494024 0.898242 4.101727
+v 0.330969 -2.527024 1.782942
+v -0.288998 -1.294191 2.991552
+v -1.167742 0.761076 5.827059
+v 0.770654 -4.138286 0.695307
+v 1.655533 -2.283554 -2.673096
+v 0.992743 -1.052130 -3.037804
+v -0.344553 0.486288 -3.396074
+v -0.319042 1.221723 -3.460154
+v -0.242510 2.630418 -3.652395
+v 0.423257 4.939692 -3.348560
+v -0.197984 4.009906 -3.806499
+v 0.040033 4.798703 -3.561531
+v -1.590907 5.768874 -0.708443
+v -3.242640 4.722613 3.100830
+v -3.156356 4.963262 2.798918
+v -3.133490 5.743880 2.402134
+v -2.594051 5.891921 2.427652
+v -3.345055 4.293944 3.376093
+v -3.666272 3.130846 4.990700
+v -3.928077 3.285789 6.193445
+v -1.786465 3.816844 8.405735
+v -2.264205 3.586829 9.466030
+v -2.953958 3.659770 9.815735
+v -3.866493 3.742536 9.454391
+v -3.637720 3.325147 9.957787
+v -4.305101 3.916091 8.143810
+v -4.389611 3.759585 8.907238
+v -2.349018 1.635235 8.301443
+v -1.994748 1.620988 7.393299
+v -1.674989 1.625653 6.665260
+v -1.602669 1.618930 6.208096
+v -1.564333 1.510597 6.104424
+v -1.312871 1.529645 5.767187
+v -2.421796 1.627037 8.472141
+v -2.592902 1.605184 8.873459
+v -2.835960 1.584749 9.441299
+v -2.948959 1.490261 9.655094
+v -3.040708 1.508229 9.764891
+v -3.214275 1.498572 9.901592
+v -3.211124 1.555046 9.987785
+v -3.328926 1.555046 10.035122
+v -3.511413 1.611521 10.146606
+v -3.556849 1.630346 10.281462
+v -2.066036 3.451367 9.123074
+v -1.038056 1.451838 5.115887
+v -0.923792 1.426858 4.935480
+v -1.296852 1.643269 5.477173
+v -1.165716 1.458585 5.148041
+v -1.689229 3.681621 8.271044
+v -1.725713 3.548528 8.381817
+v -0.456314 1.334658 3.462767
+v -0.342834 1.276956 2.906929
+v -0.190478 1.077545 2.848600
+v -0.147982 1.010144 2.460539
+v -0.034627 1.044694 2.074642
+v -0.453854 1.277884 3.823467
+v -0.121352 1.040911 2.999779
+v -1.009134 -0.723372 4.301090
+v -1.192414 0.294861 5.809227
+v 1.662404 -5.277057 -0.884420
+v 1.662404 -3.576808 -3.306650
+v 0.936098 -2.150220 -3.273520
+v 0.185020 -1.010651 -3.198771
+v -0.414090 -0.097718 -3.361111
+v -0.268492 4.657718 -3.756172
+v -0.720336 4.828715 -3.567503
+v -1.495051 5.443246 -2.021793
+v -3.194288 4.842570 2.928303
+v -3.256767 5.183860 2.457184
+v -3.107012 4.943797 2.780809
+v -3.256783 5.689311 1.891258
+v -2.809156 5.975972 1.976650
+v -2.413194 5.694680 2.588154
+v -3.412369 3.006401 3.762161
+v -4.140089 3.423009 7.094500
+v -4.198522 3.716844 7.263680
+v -1.974991 3.834632 8.839825
+v -2.141804 3.741212 9.243620
+v -2.200841 3.594239 9.407806
+v -4.305517 3.726106 9.171207
+v -4.421684 3.768867 8.694180
+v -4.254217 3.849277 7.578968
+v -2.304968 1.585549 8.125618
+v -2.223247 1.563297 7.956928
+v -2.136262 1.565098 7.798378
+v -2.081993 1.579387 7.623917
+v -1.753766 1.600907 6.571928
+v -1.999959 1.571529 7.164854
+v -1.845747 1.468685 7.025944
+v -1.740761 1.477986 6.858576
+v -1.682602 1.647030 6.404354
+v -1.529752 1.401818 6.009781
+v -1.442541 1.433727 5.998222
+v -1.365019 1.410810 5.878668
+v -2.540665 1.608933 8.750938
+v -2.809821 1.530227 9.315414
+v -2.880622 1.492448 9.546453
+v -3.192231 1.479749 9.772804
+v -3.130729 1.481511 9.742849
+v -3.472089 1.555046 10.052422
+v -3.596779 1.785670 10.360754
+v -3.619583 2.251643 10.288250
+v -0.933226 1.491570 4.603477
+v -0.750834 1.433393 4.167173
+v -0.876679 1.400576 4.732635
+v -1.392915 1.531056 5.691551
+v -1.399249 1.665035 5.452442
+v -1.295051 1.595897 5.165398
+v -1.856111 3.454583 8.694618
+v -0.480048 1.346413 3.234835
+v -0.191980 1.249965 2.439917
+v -0.079147 1.171531 2.045515
+v -0.577137 1.305500 4.022261
+v -0.398349 1.248709 3.597702
+v -0.232850 1.053457 3.309578
+v -0.237584 0.949108 3.325190
+v -1.234162 0.920566 5.796761
+v -0.127368 -4.325669 0.834579
+v -0.509472 -2.749150 1.860485
+v -1.049739 -1.536999 2.992762
+v -1.367507 -0.217351 5.762156
+v -2.054707 0.219536 7.448586
+v 0.949945 -5.844391 -0.251310
+v 1.899890 -4.400968 -2.114904
+v -0.963389 0.456095 -3.415791
+v -0.950057 1.219631 -3.472754
+v -0.912718 2.652245 -3.641260
+v -1.277464 5.059735 -2.935621
+v -2.222663 5.736957 -0.522911
+v -3.238797 4.586080 2.923725
+v -3.143197 4.748240 2.579512
+v -3.123279 5.085402 2.308926
+v -3.256951 5.431529 1.859226
+v -3.134324 5.940673 1.856581
+v -2.312845 6.102897 1.228968
+v -2.354645 5.877017 2.113899
+v -3.111623 2.864311 2.437267
+v -3.594846 2.081815 5.364063
+v -4.002485 2.749160 6.832422
+v -1.791982 3.762559 8.473642
+v -4.105922 3.302632 9.685499
+v -4.120131 3.659770 9.442261
+v -4.451011 3.762599 8.575867
+v -4.356710 3.871293 8.103230
+v -4.459802 3.533227 8.845022
+v -4.413380 3.393428 8.930185
+v -2.156334 1.552870 7.541454
+v -1.697029 1.485760 6.674068
+v -1.960743 1.463302 7.059055
+v -2.082531 1.599311 7.367496
+v -1.692257 1.648664 6.132317
+v -1.778956 1.669305 6.379808
+v -1.642338 1.511660 6.029417
+v -1.346403 1.444939 5.769131
+v -2.655221 1.506657 9.015560
+v -2.742913 1.504601 9.180626
+v -2.850192 1.500185 9.431257
+v -3.029888 1.457795 9.646273
+v -2.930068 1.372764 9.596039
+v -3.233339 1.430497 9.785454
+v -3.303229 1.460273 9.938210
+v -3.064826 1.486800 9.716106
+v -3.440237 1.449318 9.981821
+v -3.627931 1.555046 10.054707
+v -3.726151 1.630346 10.246914
+v -3.720370 2.406967 10.228016
+v -2.153309 3.595468 9.345490
+v -0.846414 1.499593 4.399670
+v -0.707282 1.312359 4.051426
+v -1.125658 1.338666 5.040648
+v -1.033517 1.362251 5.026033
+v -0.944215 1.314871 4.881227
+v -1.517523 1.662281 5.703449
+v -1.239564 1.448166 5.051476
+v -1.738775 3.654656 8.372093
+v -2.035100 3.491092 9.098112
+v -1.769961 3.561511 8.462414
+v -0.603058 1.367861 3.494867
+v -0.380317 1.338426 2.895077
+v -0.337712 1.059000 2.882711
+v -0.226993 1.173495 2.914169
+v -0.073949 0.883587 2.075682
+v -0.136059 1.023353 1.916386
+v -0.471538 1.237173 3.487614
+v -0.570283 1.215001 3.924606
+v -0.474590 1.165767 3.766949
+v -0.161451 1.165712 3.035553
+v -0.473105 0.979805 3.881729
+v -2.064644 0.731088 7.486109
+v -0.994059 0.995479 5.155415
+v -1.651596 -0.904903 4.230543
+v -1.752350 -0.514831 5.704731
+v -2.172800 -0.182022 7.274693
+v -2.035810 0.601889 7.568626
+v 1.751958 -7.029008 -1.892666
+v 2.002237 -5.803017 -3.038298
+v 1.751958 -4.654113 -4.131132
+v 0.949945 -3.165261 -3.823544
+v 0.046255 -2.072716 -3.387951
+v -0.622702 -1.052130 -3.256218
+v -1.036631 -0.135609 -3.359501
+v -0.839951 4.079940 -3.734962
+v -1.549633 4.219544 -3.176258
+v -1.862203 4.989612 -2.189165
+v -1.776422 5.275283 -1.657738
+v -2.141957 5.957227 -0.343351
+v -3.148659 4.399665 2.381060
+v -3.151441 4.867402 2.425413
+v -3.127844 4.979251 2.422070
+v -3.022085 5.068938 2.175407
+v -2.972505 5.849452 0.976336
+v -3.062969 5.606433 1.036190
+v -2.879515 6.078769 1.675114
+v -1.908651 5.763494 1.163551
+v -3.029990 3.894729 2.070576
+v -3.195468 1.906097 3.358307
+v -4.244610 3.494287 7.417953
+v -4.237804 3.159284 7.608782
+v -4.252822 3.707688 7.335323
+v -1.955514 3.775630 8.832357
+v -2.101369 3.705123 9.189938
+v -4.156716 2.562291 9.900698
+v -4.355286 3.335677 9.363018
+v -4.493712 3.586829 8.759027
+v -4.296918 3.816844 7.612862
+v -2.362853 1.547464 8.285414
+v -2.328990 1.532286 7.957088
+v -2.200979 1.428121 7.864382
+v -2.123129 1.434928 7.755394
+v -2.100691 1.439627 7.627174
+v -1.765796 1.486566 6.589535
+v -2.077402 1.600412 7.081188
+v -2.170286 1.620538 7.341629
+v -1.923222 1.354873 6.957333
+v -1.840175 1.387778 6.941828
+v -1.758235 1.365886 6.806973
+v -1.590452 1.431617 5.963373
+v -1.461087 1.372378 5.840611
+v -2.566396 1.555669 8.742893
+v -2.603967 1.520051 8.853374
+v -2.918671 1.471632 9.373558
+v -2.872559 1.378713 9.520321
+v -3.217793 1.462348 9.660610
+v -3.162727 1.495789 9.658297
+v -3.106171 1.477407 9.606224
+v -3.572989 1.498577 9.969963
+v -3.674589 1.592696 10.078123
+v -3.748053 1.824501 10.318577
+v -3.929709 2.484629 10.084373
+v -0.950471 1.389929 4.633162
+v -0.948112 1.516900 4.364029
+v -0.836010 1.446396 4.057051
+v -0.913961 1.324210 4.741282
+v -1.515814 1.527353 5.719135
+v -1.401189 1.417162 5.700130
+v -1.436106 1.734118 5.452463
+v -1.323663 1.694465 5.180058
+v -1.206704 1.554463 4.891914
+v -1.880354 3.495765 8.721558
+v -0.518739 1.400990 3.230049
+v -0.603664 1.244434 3.518478
+v -0.357301 0.926100 2.873089
+v -0.184500 0.902844 2.443560
+v -0.281732 1.271138 1.969297
+v -0.290502 1.337943 2.448162
+v -0.167238 1.139046 1.892811
+v -0.664662 1.191624 3.937916
+v -0.438434 1.173052 3.610622
+v -0.218343 1.170329 3.262074
+v -0.372461 1.064476 3.584822
+v -0.591102 0.995185 4.160557
+v -0.355534 0.964481 3.603909
+v -1.583574 0.933930 6.424473
+v -0.827122 1.025946 4.718271
+v -1.271548 1.002872 5.787088
+v 0.000000 -6.050869 -0.084101
+v -1.045226 -4.138286 0.628839
+v -1.429257 -2.527024 1.517078
+v -1.929274 -1.294106 2.557816
+v -2.649624 -0.107955 8.210930
+v -2.750652 0.121067 8.696941
+v 1.001119 -7.802956 -1.276796
+v 1.001119 -4.111424 -4.588615
+v 0.000000 -3.062641 -3.913277
+v -1.390712 0.365514 -3.038103
+v -1.424971 1.213356 -3.073717
+v -1.538374 2.717726 -3.171028
+v -2.310954 5.516814 -0.468243
+v -1.801428 5.998528 -0.237272
+v -3.143969 4.632739 2.525646
+v -3.098130 4.742076 2.358652
+v -3.144885 5.274169 1.840559
+v -2.831346 6.070928 1.024208
+v -3.107011 5.418855 1.432102
+v -2.593100 6.167468 1.061409
+v -2.048862 5.960101 1.154818
+v -2.709289 2.656433 0.945444
+v -2.839818 1.374343 1.426479
+v -3.536643 1.765000 5.287889
+v -3.985980 1.980695 7.730371
+v -4.249562 2.736475 8.274569
+v -1.823227 3.711303 8.528324
+v -4.326554 2.605837 9.388773
+v -4.513662 3.594239 8.675341
+v -4.470812 3.741212 8.506205
+v -4.383336 3.834632 8.078159
+v -4.441403 3.407611 8.414852
+v -4.377759 3.216939 8.408493
+v -2.432034 1.519982 8.205334
+v -2.417504 1.533427 8.458014
+v -2.298663 1.423000 7.872681
+v -2.384897 1.563246 8.095554
+v -2.169244 1.438423 7.561188
+v -1.883300 1.481556 6.622379
+v -1.730757 1.400537 6.681099
+v -1.885037 1.624454 6.607737
+v -2.027003 1.463734 6.974789
+v -1.717687 1.752785 6.140873
+v -1.626193 1.654471 5.910946
+v -1.565923 1.408170 5.831244
+v -1.612560 1.519066 5.866371
+v -2.504788 1.531292 8.620079
+v -2.722253 1.368545 9.095213
+v -2.642115 1.376487 8.972637
+v -2.840984 1.471735 9.189718
+v -2.862474 1.380176 9.428936
+v -2.883321 1.506064 9.293068
+v -3.011302 1.363727 9.600288
+v -2.933706 1.301409 9.549339
+v -3.240725 1.282745 9.664074
+v -3.304352 1.282735 9.867195
+v -3.417216 1.282734 9.917707
+v -3.509460 1.282739 9.900215
+v -3.696595 1.555046 10.020947
+v -3.882197 1.630346 10.169243
+v -3.893724 1.785670 10.258282
+v -3.835191 2.251643 10.213833
+v -2.134108 3.594361 9.286167
+v -1.078075 1.396446 4.662411
+v -1.076478 1.524721 4.637888
+v -0.778492 1.300422 3.939636
+v -1.182765 1.359462 4.977461
+v -1.040556 1.275808 4.833225
+v -1.496127 1.443137 5.733723
+v -1.542139 1.761656 5.710051
+v -1.214555 1.655988 4.915733
+v -1.192395 1.421655 4.845722
+v -1.818226 3.642819 8.404816
+v -2.033517 3.521316 9.071796
+v -1.847494 3.568601 8.484615
+v -0.632769 1.448407 3.506298
+v -0.724967 1.271649 3.715570
+v -0.500522 1.414561 2.874556
+v -0.351010 1.185989 2.934700
+v -0.484889 1.071109 3.184353
+v -0.198162 1.238787 3.041716
+v -0.125860 0.877503 1.925007
+v -0.137447 0.803546 2.163452
+v -0.292975 1.031598 2.011322
+v -0.589932 1.169767 3.551435
+v -0.487854 1.135234 3.515059
+v -0.571873 1.126317 3.712143
+v -0.338035 1.181241 3.456558
+v -0.235198 1.265826 3.198467
+v -0.710332 1.010725 4.442295
+v -1.789416 0.914883 6.801050
+v -2.728430 0.505726 8.868849
+v -0.937800 1.040372 4.979809
+v -1.160796 1.069431 5.506756
+v -0.949945 -5.844391 -0.251312
+v -2.372516 -0.723032 3.895460
+v -2.249154 -0.609762 5.601379
+v -2.441555 -0.368838 7.195648
+v -2.739930 0.409233 8.930410
+v 1.848793 -9.078012 -3.172918
+v 2.112906 -7.334826 -4.175535
+v 1.848793 -5.717846 -5.108013
+v 1.056453 -5.002886 -5.469471
+v 0.000000 -3.991637 -4.658518
+v -0.843588 -2.150220 -3.328123
+v -1.253701 -1.052727 -3.193010
+v -1.428503 -0.207803 -3.024197
+v -2.156487 4.319388 -2.270969
+v -2.209246 4.939981 -0.976784
+v -2.057072 5.199626 -0.734478
+v -1.480214 5.768874 -0.489042
+v -2.145678 6.083411 0.078722
+v -3.151912 4.511500 2.309526
+v -3.047255 4.253200 1.814589
+v -3.132117 4.841069 2.222414
+v -3.170549 4.999633 2.017651
+v -3.074092 5.101588 1.901123
+v -3.040528 5.196681 1.795544
+v -2.895490 5.408751 1.121841
+v -1.732658 5.926478 0.062433
+v -2.808733 3.931193 1.132406
+v -2.768171 1.295780 1.801918
+v -3.133375 1.566049 3.325380
+v -3.874907 1.753552 7.626225
+v -4.292314 3.527001 7.470562
+v -4.342299 3.338809 7.861706
+v -4.302194 3.681621 7.446838
+v -1.960253 3.720450 8.820423
+v -2.086783 3.671105 9.137707
+v -4.234222 1.892673 9.363998
+v -4.195463 1.863332 10.009579
+v -4.330297 3.762559 7.672255
+v -2.375393 1.408247 8.275646
+v -2.404382 1.403257 8.415052
+v -2.404794 1.559397 7.887886
+v -2.464781 1.583844 8.065384
+v -2.199307 1.346313 7.793747
+v -2.137682 1.322537 7.702745
+v -2.270152 1.433364 7.573072
+v -2.125975 1.354853 7.619101
+v -2.273277 1.575825 7.564281
+v -1.867993 1.397312 6.642891
+v -1.777012 1.372321 6.605190
+v -1.907809 1.728684 6.611031
+v -2.099844 1.704400 7.086283
+v -1.998936 1.607287 6.833057
+v -1.975182 1.384221 6.903856
+v -1.845732 1.326485 6.766918
+v -1.632016 1.763789 5.929920
+v -1.811105 1.740915 6.371708
+v -2.605620 1.499254 8.623524
+v -2.672169 1.491308 8.783844
+v -2.815180 1.361326 9.117018
+v -2.612241 1.381179 8.834881
+v -2.923514 1.375754 9.377682
+v -2.956761 1.524795 9.270576
+v -2.888463 1.281520 9.486942
+v -3.070588 1.357697 9.548885
+v -3.335826 1.454573 9.648758
+v -3.238059 1.282738 9.760281
+v -3.196017 1.567966 9.617096
+v -3.143498 1.543905 9.614943
+v -3.526131 1.479767 9.843147
+v -3.692067 1.498577 9.911211
+v -3.844026 1.611521 10.030571
+v -4.028898 1.843917 10.147533
+v -1.063160 1.321218 4.690125
+v -0.964224 1.287174 4.654490
+v -0.985385 1.575168 4.360546
+v -0.865156 1.532766 4.069279
+v -0.739476 1.400816 3.761686
+v -1.424004 1.775244 5.158201
+v -1.532934 1.817505 5.431507
+v -1.318295 1.734231 4.892965
+v -1.103543 1.616838 4.646795
+v -1.942124 3.516213 8.717110
+v -0.643844 1.470147 3.200645
+v -0.677925 1.161091 3.686026
+v -0.241685 1.268201 2.937538
+v -0.492136 0.944180 3.208714
+v -0.218357 0.791815 2.439903
+v -0.173593 0.766365 2.048180
+v -0.272480 0.887437 2.017845
+v -0.399740 1.214509 1.807362
+v -0.784912 1.391548 2.236074
+v -0.593520 1.410913 2.500942
+v -0.354605 1.141471 1.992317
+v -0.720021 1.211358 3.863907
+v -0.328621 1.249877 3.354977
+v -0.460893 1.192342 3.481834
+v -0.503969 1.048973 3.868149
+v -1.905457 0.865192 7.062742
+v -1.678144 0.957397 6.556633
+v -1.422713 1.040393 6.050119
+v -1.047360 1.054650 5.238705
+v -1.283962 1.069688 5.778912
+v -1.001119 -7.802956 -1.276796
+v 0.000000 -8.076919 -1.101303
+v -1.662404 -5.277057 -0.884422
+v -1.721640 -3.682472 -0.065653
+v -2.071173 -2.105568 0.646173
+v -2.943701 -0.295841 3.515415
+v -2.760131 -0.514322 5.416531
+v -2.938431 -0.197208 8.455620
+v -3.104656 0.088243 9.166412
+v 1.056453 -10.171596 -2.601040
+v 0.000000 -4.870910 -5.507446
+v -0.949945 -3.165261 -3.823544
+v -1.782038 0.365889 -2.135946
+v -1.881967 1.341363 -1.991684
+v -2.059236 2.964683 -2.240463
+v -2.329989 5.391015 -0.187635
+v -3.093375 4.648410 2.353342
+v -3.135298 4.417754 2.011957
+v -3.066136 4.713521 2.290899
+v -3.019922 5.285541 1.461260
+v -2.706299 5.434764 0.686077
+v -2.409168 2.754673 -0.290644
+v -2.394328 1.341977 -0.202705
+v -2.663507 1.155693 1.289415
+v -4.156692 1.653220 9.288879
+v -1.883932 3.687955 8.540628
+v -4.466208 3.451367 8.363907
+v -4.518208 3.595468 8.597103
+v -4.474306 3.705123 8.439095
+v -4.395297 3.775630 8.061085
+v -2.436055 1.406595 8.203676
+v -2.485537 1.395598 8.536293
+v -2.363992 1.421735 7.803104
+v -2.269332 1.313592 7.790710
+v -2.250547 1.350196 7.577961
+v -2.172269 1.325159 7.557091
+v -2.290796 1.680251 7.558853
+v -1.941999 1.361309 6.755550
+v -1.985779 1.471882 6.790012
+v -2.003334 1.716605 6.847439
+v -2.199499 1.691797 7.332911
+v -1.723830 1.850123 5.913479
+v -1.807462 1.838814 6.126434
+v -2.581376 1.389242 8.553770
+v -2.643279 1.532394 8.718029
+v -2.783893 1.252154 9.030300
+v -2.717618 1.286394 9.023951
+v -2.654094 1.263525 8.922014
+v -2.909831 1.496484 9.131716
+v -3.006500 1.368325 9.382078
+v -2.884155 1.307376 9.425604
+v -3.012211 1.490715 9.378994
+v -2.992520 1.270281 9.546917
+v -3.038313 1.290725 9.514458
+v -3.070093 1.479777 9.482971
+v -2.956997 1.243141 9.454926
+v -3.324884 1.575992 9.611479
+v -3.334737 1.282758 9.645685
+v -3.270051 1.173295 9.674801
+v -3.394390 1.134977 9.842758
+v -3.314102 1.173285 9.817165
+v -3.111601 1.569867 9.577003
+v -3.466833 1.173290 9.842260
+v -3.513894 1.282754 9.803112
+v -3.822626 1.555046 9.926119
+v -4.022634 1.630346 10.060781
+v -2.155733 3.594777 9.236950
+v -1.145667 1.310969 4.813910
+v -0.747929 1.491422 3.785286
+v -1.635928 1.847102 5.690670
+v -1.210721 1.692494 4.623043
+v -1.902282 3.631705 8.489534
+v -2.072499 3.536572 9.039371
+v -1.944100 3.581386 8.551918
+v -0.754371 1.514831 3.477980
+v -0.854102 1.478511 2.801849
+v -0.338232 1.253394 2.968416
+v -0.469543 1.195508 3.133930
+v -0.582132 1.079040 3.486567
+v -0.390984 0.823435 2.873096
+v -0.324549 1.306052 3.134550
+v -0.316207 0.754805 2.415417
+v -1.079306 1.278195 1.648304
+v -0.446054 0.916234 2.380516
+v -0.469440 1.059832 2.374023
+v -0.417110 1.282336 3.363289
+v -0.504460 1.102331 3.599859
+v -2.015982 0.817285 7.311090
+v -1.559842 0.997609 6.312115
+v -2.419269 0.663787 8.182035
+v -2.826934 0.479832 8.979286
+v -3.059445 0.430605 9.388990
+v -1.156014 1.169919 5.491016
+v -1.295789 1.158507 5.760235
+v -1.751958 -7.029008 -1.892668
+v -2.672157 -0.638778 1.593214
+v -3.166348 -0.216587 5.238888
+v -3.093268 -0.368499 7.007542
+v -2.776526 -0.408476 7.132814
+v -3.093804 0.345015 9.440159
+v 2.225711 -11.604720 -4.558300
+v 2.343181 -8.691053 -5.166656
+v 2.179320 -6.547776 -6.227448
+v 1.120079 -5.568252 -6.401737
+v 0.000000 -5.436342 -6.411232
+v -1.001119 -4.111424 -4.588615
+v -1.627967 -2.283554 -2.805674
+v -1.531251 -0.888597 -2.992004
+v -1.848886 -0.346143 -2.007395
+v -2.415063 3.530934 -0.848333
+v -2.443060 4.440833 -0.989691
+v -2.410500 4.911487 0.098049
+v -2.411422 5.213618 0.458828
+v -3.123659 4.527642 2.119793
+v -3.126363 4.570489 2.288597
+v -3.082376 4.368457 1.711567
+v -3.009611 4.236503 1.566065
+v -3.093146 4.787745 2.174019
+v -3.186825 4.934960 1.862513
+v -3.150364 5.145885 1.467739
+v -3.063820 5.178515 1.684462
+v -2.774287 5.288276 1.064657
+v -2.638571 4.115762 0.344913
+v -2.695509 0.884205 0.825537
+v -2.712182 1.090675 1.287989
+v -2.675804 1.260369 1.677574
+v -2.715184 1.369249 2.161215
+v -3.062567 1.660767 4.065578
+v -4.333876 3.548528 7.559078
+v -4.376431 3.399865 7.864712
+v -4.317622 3.654656 7.558317
+v -1.996780 3.695245 8.801128
+v -2.108937 3.655927 9.095387
+v -4.145108 1.630346 9.933865
+v -4.334973 3.711303 7.735058
+v -2.417312 1.290586 8.362938
+v -2.533047 1.400604 8.219231
+v -2.400386 1.323152 8.270210
+v -2.539953 1.542424 8.221304
+v -2.481633 1.313674 8.463852
+v -2.425258 1.663247 7.891617
+v -2.357910 1.561901 7.721453
+v -2.216416 1.282263 7.659557
+v -2.303919 1.316213 7.645056
+v -2.344778 1.426496 7.678473
+v -1.897646 1.825419 6.356043
+v -2.171381 1.785518 7.050322
+v -2.269570 1.769396 7.302097
+v -2.678325 1.525125 8.561926
+v -2.720082 1.552018 8.692966
+v -2.670108 1.378647 8.767532
+v -2.871839 1.358438 9.051451
+v -2.636485 1.295859 8.830585
+v -2.990321 1.298121 9.390852
+v -2.926679 1.279301 9.379963
+v -3.028739 1.590315 9.378675
+v -3.062256 1.360768 9.457647
+v -3.491926 1.576000 9.601978
+v -3.449369 1.282766 9.695301
+v -3.262589 1.134980 9.733078
+v -3.302335 1.650064 9.539896
+v -3.659119 1.479767 9.776949
+v -3.496171 1.503836 9.708929
+v -3.808215 1.449318 9.845396
+v -3.970032 1.611521 9.921581
+v -0.979652 1.602840 4.043251
+v -1.096198 1.648060 4.335686
+v -0.866008 1.558746 3.758097
+v -1.620268 1.797193 4.799389
+v -1.716289 1.839051 5.067543
+v -1.815243 1.882181 5.343840
+v -1.522552 1.754593 4.526478
+v -2.095398 3.559180 8.953745
+v -1.995659 3.545609 8.733253
+v -1.007563 1.530079 3.088161
+v -0.423597 1.284710 3.102360
+v -0.525276 1.198732 3.365194
+v -0.607745 0.959639 3.496780
+v -0.524887 0.848034 3.208843
+v -0.283393 0.805257 2.122236
+v -0.561357 1.211018 1.930347
+v -1.013906 1.239663 1.613125
+v -1.176842 1.353741 1.907782
+v -0.539598 1.167765 2.354548
+v -0.596375 1.078564 3.827026
+v -0.705514 1.119575 4.426483
+v -0.607388 1.098825 4.141735
+v -2.110704 0.780125 7.515478
+v -1.575494 1.085359 6.251493
+v -1.448426 1.083467 6.016392
+v -2.267242 0.721117 7.853455
+v -2.528694 0.629965 8.411736
+v -2.692348 0.588719 8.754807
+v -0.967237 1.094642 4.970181
+v -1.062237 1.145540 5.221157
+v -1.848793 -9.078012 -3.172918
+v -1.056453 -10.171596 -2.601040
+v 0.000000 -10.555984 -2.422785
+v -2.002237 -5.803017 -3.038298
+v -1.899890 -4.400968 -2.114906
+v -2.078008 -1.729705 -0.858782
+v -2.327668 -0.635589 -0.386009
+v -3.348872 0.295370 5.157158
+v -2.875051 0.142125 1.593534
+v -3.361242 -0.181512 6.924885
+v -3.259833 -0.169829 8.718737
+v -3.262585 0.116773 9.257822
+v 1.159389 -12.640322 -4.031254
+v -1.056453 -5.002886 -5.469471
+v -1.662404 -3.576808 -3.306652
+v -1.785967 -1.342895 -2.303076
+v -2.292883 0.608562 -0.582245
+v -3.062998 4.621598 2.213694
+v -3.091728 4.474055 1.793560
+v -2.931767 4.195041 1.320362
+v -3.005914 4.671968 2.228893
+v -3.051182 5.222653 1.404491
+v -2.859799 4.285945 0.939827
+v -2.604058 1.160196 1.407467
+v -2.803017 1.476557 2.736094
+v -2.978133 1.601939 3.633083
+v -3.125997 1.701013 4.447735
+v -3.198858 1.718762 4.866838
+v -3.296703 1.746367 5.370476
+v -4.082931 1.619172 9.531672
+v -1.962057 3.664134 8.592985
+v -4.477884 3.491092 8.325920
+v -4.500962 3.594361 8.537186
+v -4.457200 3.671105 8.387636
+v -4.384702 3.720450 8.053839
+v -2.516825 1.317382 8.228989
+v -2.441067 1.293089 8.204405
+v -2.559932 1.646215 8.224915
+v -2.550058 1.280075 8.466976
+v -2.362228 1.671218 7.735632
+v -2.491347 1.654889 8.055178
+v -2.321013 1.341599 7.749420
+v -2.360158 1.754401 7.534830
+v -1.989873 1.811578 6.590357
+v -2.079634 1.798928 6.817429
+v -1.910501 1.912664 5.611015
+v -1.995436 1.916579 5.851807
+v -2.075756 1.904345 6.079853
+v -2.640885 1.387225 8.483723
+v -2.764243 1.371785 8.787556
+v -2.774670 1.513018 8.799664
+v -2.828780 1.279013 8.991005
+v -2.725107 1.221538 8.884897
+v -2.926324 1.600445 9.130543
+v -2.856276 1.498890 8.954819
+v -2.981160 1.595206 9.262878
+v -3.030736 1.268062 9.439939
+v -3.072784 1.583603 9.490814
+v -3.512313 1.624106 9.547211
+v -3.424353 1.173308 9.699097
+v -3.338281 1.134995 9.657549
+v -3.161156 1.630013 9.567936
+v -3.470083 1.134992 9.767227
+v -3.363122 1.085733 9.739639
+v -3.704821 1.282739 9.814955
+v -3.930208 1.555046 9.827385
+v -2.136772 3.597732 9.093273
+v -1.418516 1.709238 4.235912
+v -2.045565 3.611455 8.767820
+v -1.107971 1.573853 3.368591
+v -1.372455 1.494967 2.547682
+v -0.467661 1.263246 3.285894
+v -0.689587 1.057583 3.788733
+v -0.486369 0.789214 2.852842
+v -0.413592 0.795162 2.389240
+v -1.641560 1.214509 1.426929
+v -1.682377 1.391548 1.951117
+v -0.612606 0.950643 2.822454
+v -0.635306 1.094241 2.815212
+v -0.678593 1.134613 4.022467
+v -0.844137 1.121457 4.704155
+v -2.193249 0.749479 7.691175
+v -1.805353 1.004437 6.757399
+v -1.675633 1.063329 6.509752
+v -2.340107 0.693175 8.013386
+v -3.024093 0.446979 9.229010
+v -2.859524 0.519255 9.023129
+v -3.213894 0.430605 9.447754
+v -1.256213 1.354726 5.640697
+v -1.141490 1.346761 5.443470
+v -1.418539 1.184627 5.790871
+v -2.112906 -7.334826 -4.175535
+v -1.895326 -3.064567 -1.392639
+v -2.524038 -0.021425 0.152992
+v -3.136957 0.258588 3.309980
+v -3.485606 -0.107729 7.953932
+v -3.381932 -0.197123 8.315647
+v -3.256169 0.352147 9.504929
+v 2.417676 -14.381248 -5.508099
+v 2.804344 -9.566360 -5.651705
+v 3.036652 -8.166239 -6.388248
+v 2.310318 -6.129172 -7.278549
+v 0.000000 -5.423817 -7.321046
+v -1.120079 -5.568251 -6.401737
+v -1.751958 -4.654113 -4.131132
+v -2.353328 0.229618 -0.396053
+v -2.558775 4.555261 0.108770
+v -2.557870 4.904765 0.431858
+v -3.058433 4.540450 1.828985
+v -3.046387 4.461905 1.414806
+v -3.005535 4.348125 1.382137
+v -2.918702 4.264556 1.116861
+v -3.140648 4.851830 1.839846
+v -3.173732 5.013865 1.408663
+v -2.578395 5.133616 0.597363
+v -2.816103 5.223634 0.981850
+v -2.762473 4.418443 0.678827
+v -2.762177 0.983489 1.289942
+v -2.576242 1.015573 1.356903
+v -2.625692 1.235836 1.769436
+v -2.889105 1.539909 3.177061
+v -2.718925 1.390140 2.307842
+v -2.925143 1.562177 3.419292
+v -3.028801 1.633813 3.950050
+v -3.143942 1.681712 4.585968
+v -3.090306 1.645526 4.311644
+v -3.251097 1.744404 5.134821
+v -3.714772 1.726956 7.066828
+v -3.389242 1.724760 5.850792
+v -4.030990 1.580452 9.180599
+v -4.054533 1.565463 9.455740
+v -4.342262 3.561511 7.650637
+v -4.400665 3.454583 7.891321
+v -4.270093 3.642819 7.629848
+v -2.027816 3.672210 8.794655
+v -2.113356 3.641929 8.994814
+v -4.291564 3.687955 7.779184
+v -2.491179 1.249470 8.321346
+v -2.573813 1.282578 8.308443
+v -2.613049 1.392580 8.342394
+v -2.626168 1.527983 8.385344
+v -2.489283 1.736531 7.863529
+v -2.553559 1.728108 8.027748
+v -2.429106 1.744370 7.710598
+v -2.157172 1.886379 6.308800
+v -2.479894 1.809642 7.209938
+v -2.386024 1.836324 6.942514
+v -2.568419 1.784296 7.463200
+v -2.694974 1.629137 8.559120
+v -2.748721 1.288795 8.796055
+v -2.675089 1.265145 8.768185
+v -2.796121 1.616346 8.809437
+v -2.804888 1.253774 8.876472
+v -2.843173 1.363486 8.911911
+v -2.860508 1.608203 8.968784
+v -3.032299 1.667395 9.248589
+v -3.556250 1.576000 9.569542
+v -3.609823 1.503836 9.651834
+v -3.461983 1.679837 9.382729
+v -3.268601 1.679837 9.440056
+v -3.646883 1.282754 9.736916
+v -3.896961 1.460273 9.731441
+v -3.791010 1.282734 9.777908
+v -4.061602 1.611521 9.796600
+v -1.209392 1.618068 3.651850
+v -1.312637 1.663079 3.940203
+v -1.936710 1.782254 4.393501
+v -2.021358 1.824854 4.670406
+v -2.104543 1.866712 4.942486
+v -2.190278 1.909842 5.222822
+v -1.846586 1.736899 4.098686
+v -1.490591 1.557740 2.934135
+v -0.722867 0.975032 3.783636
+v -0.639206 0.869076 3.495329
+v -0.616746 0.815985 3.186579
+v -0.732926 1.235340 2.299522
+v -1.017220 1.234200 1.794924
+v -1.928862 1.270983 1.448677
+v -1.491564 1.211018 1.658300
+v -0.581047 0.829571 2.830051
+v -0.703408 1.202174 2.793486
+v -0.810621 1.296227 4.580769
+v -0.690978 1.286608 4.378910
+v -0.631589 1.280481 4.153942
+v -2.089341 0.893536 7.469572
+v -2.017354 0.910462 7.271944
+v -1.925966 0.911134 7.028160
+v -1.662791 1.263310 6.454853
+v -1.626269 1.123880 6.131807
+v -3.166121 0.447006 9.291767
+v -3.010261 0.496100 9.176308
+v -2.626061 0.645979 8.581367
+v -2.798582 0.589688 8.944489
+v -1.130379 1.175752 5.118876
+v -0.971010 1.158181 4.732119
+v -1.369430 1.357471 5.686646
+v -1.083978 1.339572 5.230104
+v -1.527079 1.096138 5.976635
+v -2.346902 -8.855957 -5.216896
+v -2.221169 -11.313633 -4.603817
+v -1.296176 -12.437016 -4.133923
+v -0.034197 -13.022543 -3.900948
+v -1.848793 -5.717847 -5.108013
+v -3.549910 0.219876 6.989889
+v -3.371098 0.761203 5.136202
+v -2.810365 0.672610 1.333464
+v -3.095431 0.727526 3.253860
+v -3.636128 0.088243 8.987997
+v -3.430419 0.145304 9.279285
+v -3.370306 0.202364 9.372004
+v 1.353367 -14.899152 -5.374649
+v 2.810258 -12.911759 -5.167152
+v 2.687846 -11.077540 -5.160954
+v 3.260634 -7.459031 -7.151056
+v 1.196128 -5.536132 -7.321046
+v -3.017323 4.619258 2.125313
+v -3.038412 4.529284 1.438189
+v -3.135506 4.913047 1.428013
+v -3.004314 5.067893 0.990578
+v -2.924818 5.166337 0.936222
+v -2.969398 4.413838 1.086082
+v -2.653054 4.634048 0.465595
+v -2.918989 4.484944 0.837580
+v -2.711522 0.886145 1.286299
+v -2.581845 1.161121 1.768353
+v -2.686288 1.332033 2.203794
+v -2.821048 1.488730 2.886292
+v -2.743722 1.398210 2.539026
+v -2.917941 1.529236 3.430073
+v -3.035617 1.608630 4.031933
+v -2.977541 1.569448 3.734905
+v -3.165486 1.663089 4.877510
+v -3.228402 1.661602 5.138739
+v -3.695400 1.712160 7.395647
+v -3.645296 1.727201 6.730797
+v -3.487705 1.701768 6.361855
+v -3.340981 1.736029 5.600302
+v -3.292274 1.652757 5.355904
+v -3.902246 1.660944 8.368647
+v -3.981991 1.588494 8.931355
+v -4.040419 1.557650 9.599340
+v -4.395637 3.495765 7.927208
+v -4.464489 3.521316 8.303217
+v -4.455544 3.594777 8.508461
+v -4.415198 3.655927 8.364925
+v -4.343664 3.695245 8.058254
+v -2.630451 1.637297 8.399439
+v -2.620941 1.719205 8.200392
+v -2.597047 1.307580 8.424339
+v -2.235984 1.867706 6.528122
+v -2.308495 1.853350 6.727301
+v -2.274297 1.940467 5.497505
+v -2.352334 1.944811 5.752623
+v -2.496261 1.910895 6.223301
+v -2.745570 1.622739 8.684334
+v -2.915105 1.680405 8.953268
+v -2.979056 1.672644 9.115616
+v -3.078619 1.662495 9.365005
+v -3.121797 1.655779 9.477680
+v -3.698145 1.575992 9.478230
+v -3.678155 1.650064 9.410656
+v -3.707744 1.173290 9.743076
+v -4.000892 1.555046 9.720842
+v -1.754866 1.690740 3.798647
+v -1.577571 1.601514 3.218670
+v -1.973619 1.530079 2.780109
+v -0.812607 1.109390 4.059128
+v -1.914526 1.139046 1.365612
+v -1.753761 1.141471 1.592728
+v -1.940467 1.478511 2.455961
+v -2.207306 1.336972 1.838867
+v -0.707805 0.856342 3.161480
+v -0.738158 0.977414 3.153112
+v -0.760426 1.121012 3.145613
+v -0.929903 1.303135 4.620070
+v -0.693069 1.284046 4.045311
+v -2.177310 0.846696 7.644798
+v -1.914985 1.017269 6.769627
+v -1.772452 1.232686 6.633215
+v -1.602301 1.291908 6.249836
+v -2.509466 0.723903 8.356895
+v -2.406165 0.772198 8.173149
+v -3.143214 0.496210 9.242439
+v -2.669041 0.694919 8.675678
+v -2.891618 0.556337 9.053802
+v -2.777658 0.667091 8.910145
+v -3.293042 0.447089 9.293156
+v -3.347980 0.430605 9.446354
+v -1.055543 1.115573 4.941360
+v -1.326505 1.516445 5.570194
+v -1.245071 1.472308 5.546329
+v -1.118069 1.461504 5.241421
+v -1.484305 1.157787 5.707808
+v -1.607898 1.079489 5.952374
+v -2.154722 -6.611860 -6.252206
+v -3.669264 0.121151 8.402172
+v -3.554824 0.116773 9.155989
+v -3.385764 0.373545 9.531782
+v 3.050724 -16.035881 -6.642187
+v 2.811294 -12.117941 -5.135525
+v 2.903868 -14.088450 -5.551931
+v 3.798486 -9.235888 -6.375035
+v 3.481645 -10.059160 -5.813522
+v 4.019506 -8.755458 -6.974242
+v 3.551210 -7.418768 -8.232668
+v 1.257823 -5.430916 -9.240535
+v -1.196128 -5.536132 -7.321046
+v 0.000000 -5.315126 -9.240535
+v -2.678326 4.911481 0.456753
+v -2.992116 4.629588 1.113825
+v -3.004584 4.978662 1.078148
+v -2.714304 5.101600 0.577082
+v -2.828841 4.560369 0.627132
+v -2.413641 1.054875 1.520704
+v -2.647143 1.267424 2.208361
+v -2.858675 1.489251 3.126953
+v -2.800387 1.446554 2.828840
+v -3.119073 1.597062 4.581499
+v -3.085496 1.555750 4.296547
+v -3.711865 1.692336 7.505684
+v -3.647004 1.707484 7.169031
+v -3.587616 1.678437 6.880449
+v -3.536788 1.690306 6.616625
+v -3.438983 1.713145 6.108967
+v -3.358046 1.667659 5.861860
+v -3.317259 1.648812 5.594833
+v -4.049350 1.574419 9.309628
+v -3.987082 1.500986 9.557762
+v -4.290443 3.568601 7.712374
+v -4.247809 3.631705 7.747070
+v -4.256107 3.664134 7.866257
+v -2.690435 1.709926 8.378595
+v -2.740383 1.755229 7.945913
+v -2.681520 1.763844 7.779655
+v -2.804198 1.745638 8.127380
+v -2.629913 1.771282 7.635927
+v -2.846664 1.788174 7.369684
+v -2.764591 1.820401 7.101171
+v -2.679137 1.854098 6.821602
+v -2.598878 1.935962 5.942327
+v -2.753949 1.701446 8.541414
+v -2.803393 1.694940 8.667904
+v -2.852525 1.688548 8.793407
+v -3.137640 1.696710 9.071800
+v -3.185961 1.691458 9.206329
+v -3.708574 1.454573 9.510874
+v -3.650732 1.679837 9.310482
+v -3.425887 1.686555 9.264687
+v -3.228278 1.686555 9.324638
+v -3.640084 1.282766 9.611460
+v -3.663121 1.134992 9.682674
+v -3.856274 1.282735 9.672949
+v -3.950113 1.498572 9.651133
+v -3.768033 1.134977 9.703003
+v -1.665429 1.645729 3.506073
+v -2.350867 1.754593 4.260527
+v -2.422448 1.797193 4.541426
+v -2.492789 1.839051 4.817430
+v -2.565282 1.882181 5.101814
+v -2.635752 1.912637 5.376558
+v -2.274657 1.709238 3.961456
+v -2.047172 1.573853 3.068748
+v -0.838291 0.990466 4.071243
+v -0.753080 0.890030 3.780729
+v -0.727074 0.838889 3.468128
+v -0.898000 1.285509 2.793375
+v -1.125825 1.257866 2.186384
+v -1.537578 1.235340 2.068686
+v -2.135840 1.170560 1.399437
+v -1.787468 1.167765 1.999981
+v -1.987372 1.410913 2.057877
+v -0.827227 1.228945 3.123116
+v -0.885752 1.447845 4.500635
+v -0.799862 1.404291 4.481831
+v -0.706559 1.435449 4.319767
+v -0.667663 1.393051 4.164406
+v -2.153712 1.047890 7.542200
+v -2.070220 1.084810 7.415005
+v -2.074225 0.940589 7.169346
+v -2.269928 0.772599 7.821318
+v -1.874941 1.218788 6.658825
+v -1.999107 0.917521 6.984215
+v -1.759597 1.378242 6.540802
+v -1.673871 1.448588 6.397345
+v -1.647328 1.299730 6.144258
+v -2.340983 0.784903 7.997883
+v -3.257039 0.496540 9.249626
+v -3.127880 0.584466 9.216009
+v -2.727725 0.680932 8.614559
+v -2.699377 0.678851 8.795483
+v -2.610285 0.726021 8.362883
+v -3.007065 0.545220 9.146641
+v -2.862009 0.648080 8.935219
+v -2.867771 0.582907 8.988634
+v -1.142395 1.339157 5.135746
+v -1.144724 1.097743 4.915483
+v -1.044908 1.128401 4.635002
+v -1.425888 1.355636 5.594870
+v -1.155550 1.508413 5.387812
+v -2.882921 -8.566765 -6.542990
+v -2.819231 -10.225972 -5.852654
+v -2.662066 -12.784907 -5.732979
+v -1.900517 -14.085930 -5.785326
+v -0.136787 -15.011072 -5.388191
+v -3.625079 0.601974 7.063282
+v -2.962269 0.898242 3.321754
+v -2.761545 0.801579 1.794250
+v -3.802385 0.409254 8.583010
+v -3.793553 0.345015 9.203125
+v -3.529677 0.202364 9.314774
+v -3.491985 0.359280 9.480730
+v 1.721330 -16.536388 -6.680020
+v 3.261102 -14.768540 -6.052561
+v 3.091331 -12.486153 -5.185661
+v 3.316827 -13.606776 -5.534569
+v 3.172532 -11.233293 -5.275185
+v 4.267865 -8.710279 -7.682971
+v 2.597791 -5.955510 -9.196577
+v -2.280540 -6.219387 -7.297649
+v -3.003451 4.543365 1.088446
+v -2.829154 5.052543 0.694040
+v -2.870689 4.998960 0.841633
+v -2.741600 4.697299 0.498888
+v -2.951658 4.637389 0.832140
+v -2.660867 0.828444 1.282656
+v -2.600263 0.873319 1.397400
+v -2.579686 0.996122 1.757719
+v -2.455751 1.140416 1.776279
+v -2.533229 1.245351 2.226360
+v -2.706502 1.342882 2.545982
+v -2.773306 1.370466 2.822655
+v -2.941949 1.518644 3.742052
+v -3.010682 1.527256 4.030472
+v -3.104832 1.633334 5.113186
+v -3.018181 1.578980 4.679953
+v -3.279106 1.522587 5.312794
+v -3.705086 1.651007 7.490160
+v -3.745209 1.700528 7.654175
+v -3.672094 1.658711 7.318922
+v -3.634586 1.667469 7.124245
+v -3.514816 1.602784 6.611977
+v -3.483314 1.608155 6.347477
+v -3.279206 1.514649 5.489567
+v -3.797123 1.688404 7.923634
+v -3.922379 1.600266 8.618011
+v -4.006266 1.584749 9.058044
+v -4.017497 1.508229 9.440784
+v -4.032139 1.490261 9.298470
+v -4.341982 3.516213 7.958038
+v -4.414078 3.536572 8.298119
+v -4.390959 3.597732 8.378727
+v -4.355333 3.641929 8.284000
+v -4.314335 3.672210 8.070229
+v -2.870657 1.735275 8.316730
+v -2.899212 1.773177 7.541601
+v -2.560747 1.888988 6.434275
+v -2.616447 1.873507 6.616505
+v -2.700025 1.916474 5.623640
+v -2.821490 1.886067 6.092871
+v -3.022105 1.712615 8.746239
+v -3.079303 1.704473 8.907730
+v -3.812597 1.462348 9.453512
+v -3.806694 1.567966 9.406488
+v -3.808433 1.630013 9.347340
+v -3.869417 1.430497 9.565485
+v -2.197096 1.663079 3.657091
+v -2.121466 1.618068 3.360298
+v -2.398826 1.514588 2.952991
+v -2.335395 1.469176 2.661264
+v -0.947394 1.128878 4.336971
+v -1.260402 1.294764 2.605783
+v -1.986341 1.023353 1.366730
+v -1.870879 1.031598 1.570263
+v -1.914186 1.059832 1.966824
+v -2.271816 1.413105 2.310534
+v -2.283783 1.246081 1.775003
+v -0.814127 0.879246 3.438076
+v -0.843145 1.000319 3.428057
+v -0.865123 1.143916 3.420605
+v -0.813758 1.292384 4.080372
+v -0.989976 1.305271 4.515680
+v -0.708128 1.433527 4.069569
+v -2.238250 0.999443 7.570320
+v -2.032995 1.106064 7.270832
+v -2.224370 0.857716 7.659029
+v -1.972400 0.988121 6.670618
+v -2.075195 0.892707 6.956068
+v -1.832985 1.417897 6.550322
+v -1.633394 1.421994 6.256063
+v -1.749258 1.287315 6.167324
+v -1.743212 1.077507 6.160358
+v -2.477454 0.931543 8.254295
+v -2.389794 0.958320 8.130913
+v -3.229200 0.597828 9.232140
+v -2.733794 0.852555 8.612324
+v -2.673506 0.643764 8.503448
+v -2.689716 0.853921 8.769768
+v -2.577207 0.912673 8.276754
+v -3.003622 0.561594 9.055771
+v -2.844693 0.822288 8.867043
+v -2.757833 0.838170 8.856651
+v -2.927060 0.566922 9.014126
+v -3.346958 0.502403 9.227732
+v -3.470071 0.430605 9.409039
+v -1.257570 1.343320 5.179111
+v -1.258020 1.148699 5.164444
+v -1.371336 1.473403 5.511616
+v -1.236519 1.563333 5.347744
+v -1.156229 1.502710 5.157019
+v -1.510654 1.064586 5.720592
+v -1.385744 1.171053 5.429390
+v -3.141520 -7.819892 -7.227461
+v -2.895430 -11.853647 -5.482492
+v -3.552557 0.731088 7.005775
+v -3.296420 0.920566 5.140879
+v -3.695533 0.352147 9.350742
+v 2.346220 -17.140345 -7.996155
+v 3.824750 -14.880322 -6.958536
+v 4.559366 -9.248202 -6.783781
+v 4.548416 -9.608829 -6.337490
+v 4.170288 -11.177142 -5.199188
+v 4.829044 -9.309041 -7.211036
+v 4.451545 -9.147305 -8.671693
+v 3.983298 -8.019485 -9.925621
+v 0.000000 -5.592071 -13.173342
+v 1.278388 -5.776996 -13.173342
+v -1.257823 -5.430917 -9.240535
+v -2.607601 -6.109752 -9.042771
+v -2.798836 4.923305 0.604836
+v -2.840115 4.765121 0.626745
+v -2.879744 4.662934 0.663551
+v -2.455445 1.035961 1.761814
+v -2.329150 1.169983 1.782177
+v -2.597530 1.322447 2.568771
+v -2.891649 1.450465 3.424355
+v -2.853471 1.404950 3.111858
+v -3.078367 1.451840 4.466711
+v -3.072202 1.426858 4.253263
+v -3.214697 1.529645 5.160341
+v -3.065891 1.643269 4.910913
+v -2.990587 1.458585 4.564714
+v -3.738508 1.643203 7.663635
+v -3.772025 1.678287 7.817940
+v -3.558588 1.620988 6.889759
+v -3.416611 1.625653 6.107380
+v -3.221034 1.618930 5.687887
+v -3.194854 1.510597 5.580502
+v -3.890271 1.607765 8.451365
+v -3.865075 1.613648 8.320580
+v -3.955063 1.593172 8.788639
+v -4.028034 1.492448 9.170197
+v -3.957569 1.530227 8.939053
+v -3.896400 1.479749 9.532022
+v -3.930608 1.481511 9.472816
+v -4.248031 3.581386 7.822166
+v -4.284636 3.611455 8.057896
+v -3.050797 1.747215 8.037533
+v -2.993174 1.757264 7.849010
+v -2.941595 1.766008 7.680262
+v -3.111311 1.736129 8.235523
+v -2.878768 1.867343 6.318766
+v -3.171565 1.771282 7.457596
+v -3.125978 1.784270 7.280006
+v -2.986083 1.836118 6.746325
+v -2.930024 1.853040 6.524490
+v -2.761199 1.907001 5.856892
+v -2.931182 1.725833 8.489058
+v -2.977198 1.719007 8.619453
+v -3.347334 1.696710 9.007708
+v -3.296484 1.704473 8.841347
+v -3.389069 1.691458 9.144249
+v -3.707314 1.282758 9.506256
+v -3.795467 1.282745 9.468966
+v -3.619616 1.686555 9.192251
+v -3.790705 1.655779 9.250870
+v -3.662929 1.173308 9.600626
+v -3.736307 1.085733 9.600021
+v -3.820240 1.173285 9.636913
+v -3.851440 1.282738 9.547249
+v -2.722457 1.734231 4.441423
+v -2.660722 1.692494 4.157494
+v -2.783123 1.775244 4.720428
+v -2.845638 1.817505 5.007919
+v -2.905168 1.847062 5.280355
+v -2.956877 1.849965 5.514189
+v -2.594998 1.648059 3.855219
+v -2.462893 1.558746 3.247650
+v -0.954805 1.006045 4.361567
+v -0.931994 1.300573 4.286472
+v -0.867233 0.911038 4.066818
+v -0.837090 0.861696 3.749001
+v -0.938565 1.302836 3.113596
+v -1.175125 1.341057 3.020868
+v -1.904470 1.202174 2.444813
+v -2.204311 1.043939 1.390530
+v -2.024016 1.094241 2.408665
+v -2.382132 1.332601 2.257668
+v -0.931058 1.251849 3.398251
+v -0.802186 1.401444 4.111166
+v -0.933134 1.411414 4.432360
+v -0.792091 1.489717 4.269238
+v -2.216079 1.219403 7.466383
+v -2.149483 1.188862 7.464025
+v -2.081893 1.257255 7.359852
+v -2.087260 1.107511 7.191784
+v -2.315100 0.781817 7.765209
+v -1.920527 1.225126 6.555794
+v -1.743129 1.510413 6.342632
+v -1.662276 1.477352 6.164398
+v -1.742417 1.419996 6.195698
+v -1.640109 1.034596 5.965145
+v -2.395787 0.808620 7.910599
+v -2.354199 0.978306 7.991192
+v -3.306513 0.586621 9.196728
+v -3.198758 0.769818 9.157078
+v -3.062582 0.613540 9.076908
+v -2.823949 0.836120 8.620487
+v -2.671364 0.861423 8.667843
+v -2.750782 0.606586 8.482912
+v -2.635320 0.909835 8.209953
+v -2.679354 0.680406 8.301212
+v -2.903828 0.813973 8.813759
+v -2.949614 0.585829 8.917213
+v -3.417246 0.450040 9.236198
+v -1.246076 1.463860 5.204412
+v -1.176786 1.035726 4.914684
+v -1.068830 1.021291 4.645687
+v -1.370334 1.349866 5.378922
+v -1.393185 1.064651 5.453896
+v -3.753534 -9.269876 -7.181281
+v -3.476463 -9.801279 -6.711079
+v -3.457693 -11.104701 -6.180049
+v -3.056500 -12.505926 -5.758546
+v -3.215024 -14.042873 -6.574084
+v -2.119420 -15.576136 -6.812881
+v -0.172864 -17.073536 -7.423943
+v -3.775431 0.505726 8.523281
+v -2.706352 0.847104 2.147478
+v -3.260046 1.002872 5.153751
+v -2.669826 0.828321 1.666212
+v -3.791906 0.430605 9.139565
+v -3.697701 0.430605 9.277523
+v -3.605273 0.373545 9.452978
+v 1.290138 -17.480043 -8.957268
+v 3.435475 -16.615496 -7.879304
+v 3.970455 -15.517035 -7.649375
+v 3.656670 -14.433051 -6.433687
+v 3.496515 -12.481677 -4.448809
+v 3.347882 -13.185542 -4.631725
+v 4.360331 -10.267878 -5.834957
+v 4.932606 -9.732585 -8.051034
+v 3.556529 -6.995344 -11.654930
+v 2.397960 -6.197948 -13.305439
+v -3.532130 -7.875890 -8.055553
+v -2.928583 4.784387 0.838610
+v -2.856630 4.924233 0.769848
+v -2.621073 0.906450 1.756205
+v -2.331754 1.010144 1.767515
+v -2.513418 1.077545 2.113041
+v -2.419806 1.266762 2.246548
+v -2.636430 1.332716 2.770859
+v -2.840044 1.277884 3.068575
+v -2.786112 1.433393 3.519539
+v -2.878850 1.491570 3.983244
+v -2.997871 1.400576 4.058739
+v -3.106121 1.531056 5.142357
+v -2.967247 1.665035 4.947630
+v -2.893149 1.595897 4.651386
+v -3.236393 1.433727 5.424377
+v -3.233798 1.410810 5.281921
+v -3.710864 1.585549 7.670355
+v -3.684288 1.563297 7.484808
+v -3.667739 1.565098 7.304729
+v -3.615196 1.579387 7.129740
+v -3.426608 1.571528 6.703247
+v -3.476723 1.468685 6.501883
+v -3.470159 1.477986 6.304432
+v -3.299194 1.600907 6.074015
+v -3.264499 1.647030 5.895294
+v -3.170609 1.401818 5.482700
+v -3.772634 1.635234 7.840765
+v -3.839870 1.619534 8.189754
+v -3.807739 1.627037 8.022976
+v -3.918062 1.506656 8.604019
+v -3.937666 1.504601 8.789898
+v -3.988866 1.500185 9.057671
+v -3.960169 1.457795 9.336380
+v -4.014784 1.372764 9.238941
+v -3.970255 1.486800 9.413811
+v -4.347257 3.559180 8.239910
+v -3.209135 1.763844 7.605614
+v -3.057776 1.809538 7.020538
+v -2.923519 1.878040 5.771454
+v -3.114756 1.811035 6.224010
+v -3.060212 1.824952 5.978189
+v -3.246453 1.712615 8.677666
+v -3.207174 1.719007 8.549162
+v -3.553395 1.696710 8.931950
+v -3.588547 1.691458 9.070503
+v -3.856848 1.495789 9.420586
+v -3.853769 1.569867 9.324608
+v -3.837759 1.583603 9.231449
+v -2.528113 1.602840 3.547604
+v -2.575102 1.491422 3.201258
+v -2.514587 1.447436 2.905567
+v -2.454665 1.397107 2.612780
+v -0.947326 0.884562 4.030384
+v -1.341628 1.329004 2.871403
+v -1.684193 1.285509 2.567898
+v -2.167942 0.883587 1.421209
+v -1.909984 0.887437 1.562960
+v -1.956426 0.916234 1.955770
+v -2.063865 0.950643 2.396618
+v -0.920273 0.902053 3.714396
+v -0.948000 1.023126 3.702862
+v -0.969725 1.166723 3.695572
+v -2.305447 1.032644 7.478918
+v -2.274846 0.847420 7.638453
+v -2.058649 1.229021 7.263721
+v -2.183354 1.092868 7.202391
+v -2.184612 0.887152 7.196510
+v -1.993078 0.898110 6.691862
+v -1.874554 1.050089 6.400419
+v -1.869117 1.374925 6.482698
+v -1.821389 1.446661 6.317375
+v -1.859478 1.255208 6.348230
+v -1.768749 0.989806 6.200386
+v -2.542876 1.099829 8.187929
+v -2.471965 1.064379 8.181795
+v -2.402316 1.127129 8.078548
+v -3.248260 0.770148 9.107779
+v -3.125294 0.769487 9.137379
+v -2.803047 0.971156 8.614370
+v -2.831538 0.620233 8.632355
+v -2.692128 0.982514 8.652485
+v -2.754072 0.963204 8.789307
+v -2.700458 1.017013 8.715984
+v -2.588398 1.054864 8.147539
+v -3.042600 0.584579 8.952007
+v -2.999481 0.549814 8.966141
+v -2.862063 0.952337 8.753174
+v -3.394291 0.552295 9.161182
+v -3.408194 0.519107 9.206619
+v -3.588533 0.430605 9.360054
+v -1.327184 1.510742 5.339399
+v -1.283347 1.049971 5.180206
+v -1.417591 1.012005 5.447399
+v -1.535584 1.016721 5.720478
+v -3.538862 -12.440080 -5.870554
+v -3.561612 -13.067352 -6.064956
+v -3.368419 -13.299362 -6.365681
+v -3.685431 0.629965 8.032625
+v -2.796085 0.887347 2.731167
+v -3.120049 1.007771 4.436771
+v 3.155786 -17.419430 -9.107851
+v 4.280141 -14.514027 -8.226232
+v 3.938392 -13.643520 -6.161867
+v 3.641829 -13.785387 -4.983912
+v 5.093268 -9.746372 -6.683663
+v 5.095427 -10.493339 -6.078096
+v 4.153467 -12.288424 -4.353180
+v 4.966973 -11.445198 -5.354500
+v 5.278678 -10.215538 -7.612520
+v 4.909069 -10.213886 -8.836039
+v 4.530416 -9.894007 -9.424498
+v 4.360431 -8.869938 -11.310456
+v -1.278388 -5.776996 -13.173342
+v 0.000000 -6.403301 -17.492580
+v 1.285678 -6.642293 -17.492580
+v -2.478350 -6.371359 -13.253270
+v -3.639059 -7.653692 -10.683542
+v -2.681746 0.930744 2.191208
+v -2.655165 1.040911 2.199764
+v -2.489390 1.339617 2.595127
+v -2.849013 1.305500 3.302307
+v -2.759855 1.248709 2.850353
+v -2.757503 1.312359 3.399221
+v -2.836865 1.499593 3.765736
+v -2.963755 1.338666 4.453279
+v -3.031915 1.362251 4.389669
+v -3.024967 1.314871 4.219692
+v -3.188005 1.444939 5.180691
+v -3.009547 1.662277 5.221859
+v -2.875448 1.448166 4.525915
+v -3.507529 1.552870 7.102907
+v -3.399968 1.463302 6.593605
+v -3.471453 1.599311 6.917421
+v -3.403274 1.485760 6.127003
+v -3.104471 1.648630 5.675110
+v -3.170959 1.669227 5.928764
+v -3.088319 1.511660 5.561901
+v -3.839264 1.555669 8.328289
+v -3.869883 1.520051 8.440893
+v -4.020109 1.378713 9.144020
+v -3.899894 1.471632 9.048096
+v -3.874598 1.477407 9.345802
+v -4.306658 3.545609 8.001343
+v -3.352594 1.735275 8.156651
+v -3.301832 1.745638 7.962502
+v -3.166258 1.726047 8.415295
+v -3.167315 1.798463 6.462526
+v -3.412600 1.736531 7.558958
+v -3.376987 1.744370 7.398521
+v -3.335875 1.754362 7.214247
+v -3.221483 1.785208 6.706991
+v -3.467163 1.712615 8.597431
+v -3.510029 1.704473 8.763302
+v -3.711009 1.134995 9.518074
+v -3.777170 1.173295 9.494247
+v -3.848549 1.543905 9.373892
+v -3.763501 1.662495 9.133314
+v -3.815921 1.134980 9.538403
+v -2.877641 1.694465 4.679531
+v -2.820307 1.655988 4.399384
+v -2.761971 1.616838 4.114346
+v -2.936728 1.734118 4.968246
+v -2.992843 1.761630 5.241083
+v -3.041259 1.763684 5.473598
+v -3.088174 1.752576 5.696363
+v -2.699881 1.575168 3.810959
+v -2.636703 1.532766 3.502254
+v -0.982390 0.932244 4.355366
+v -1.058312 0.907643 4.313478
+v -1.026578 0.924919 3.991058
+v -1.048314 1.326954 3.368006
+v -1.094441 1.344305 3.145031
+v -1.446588 1.381387 3.217113
+v -1.565911 1.341057 2.909845
+v -2.108122 1.121012 2.748043
+v -1.993593 1.228945 2.784668
+v -2.010544 0.877503 1.367844
+v -2.146299 0.977414 2.735832
+v -1.034902 1.274656 3.673704
+v -0.887321 1.445922 4.250437
+v -2.354245 0.814715 7.574970
+v -2.261675 1.181714 7.416382
+v -2.152914 1.314178 7.312191
+v -2.094670 1.278604 7.192432
+v -2.170228 1.222784 7.213785
+v -2.104547 0.845035 6.968885
+v -2.420228 0.741769 7.767229
+v -1.883775 0.945339 6.439159
+v -1.666518 0.990336 5.978634
+v -2.410645 0.976802 7.919714
+v -2.380160 1.099418 7.985493
+v -3.273370 0.615083 9.039406
+v -3.208820 0.885154 9.038082
+v -3.118225 0.884860 9.062222
+v -3.069068 0.769377 9.040874
+v -2.847205 1.008510 8.662540
+v -2.733516 1.026643 8.597902
+v -2.888771 0.820921 8.709602
+v -2.695165 0.591124 8.310848
+v -2.773989 0.558952 8.481621
+v -2.598058 0.931154 8.065556
+v -2.610869 0.728141 8.111988
+v -2.814147 0.998880 8.780621
+v -2.906501 0.617966 8.768814
+v -2.964817 0.501369 8.904743
+v -3.352618 0.563358 9.024860
+v -3.467635 0.502403 9.179668
+v -3.547980 0.447089 9.200861
+v -1.202059 0.972643 4.906000
+v -1.307947 0.992031 5.171780
+v -1.095136 0.952996 4.637913
+v -4.133581 -9.222945 -7.752186
+v -4.028979 -9.867767 -6.907958
+v -4.190089 -11.151975 -6.296322
+v -3.793946 -14.211752 -6.036093
+v -3.760495 -15.058372 -6.984800
+v -2.429810 -16.688824 -8.599585
+v -0.066868 -18.210079 -12.171689
+v -3.647709 0.663787 7.781010
+v -3.351859 0.942526 5.897480
+v -2.901589 0.930947 3.295015
+v -2.712517 0.878554 2.296324
+v -3.022604 0.978092 3.938217
+v -3.195127 1.069431 4.859407
+v -3.649991 0.447006 9.121117
+v 2.096629 -17.748638 -9.963371
+v 4.176260 -16.273643 -9.017170
+v 4.361975 -13.214584 -7.212796
+v 3.692899 -13.496507 -3.488291
+v 3.545807 -13.969369 -3.723587
+v 4.312619 -13.666583 -5.587357
+v 4.211751 -13.331510 -3.407150
+v 5.188031 -10.698091 -8.529448
+v 3.199898 -6.721099 -13.701727
+v 4.421769 -8.117497 -14.160173
+v 2.617403 -7.170758 -17.511280
+v -3.991857 -8.625296 -9.176752
+v -2.410517 1.059000 2.223606
+v -2.519812 1.173495 2.187815
+v -2.532810 1.366773 2.879484
+v -2.637705 1.237173 2.799971
+v -2.800118 1.215001 3.217505
+v -2.791281 1.165767 3.033298
+v -2.654012 1.446396 3.475824
+v -2.732704 1.516900 3.793016
+v -2.881153 1.389929 4.017496
+v -2.971820 1.324210 4.086744
+v -3.104060 1.417162 5.154093
+v -3.019729 1.527353 5.233912
+v -2.813499 1.554463 4.375244
+v -3.132950 1.372378 5.304054
+v -3.752214 1.547464 7.835205
+v -3.596785 1.532286 7.544035
+v -3.651015 1.428121 7.395628
+v -3.654595 1.434928 7.261747
+v -3.601527 1.439627 7.142891
+v -3.315700 1.600379 6.677147
+v -3.384304 1.620512 6.945015
+v -3.374203 1.354873 6.488289
+v -3.434331 1.387778 6.429022
+v -3.426846 1.365886 6.271410
+v -3.299068 1.486566 6.095337
+v -3.094391 1.431617 5.478142
+v -3.803399 1.533427 8.008863
+v -3.821666 1.531292 8.192024
+v -3.861509 1.471735 8.852242
+v -3.907048 1.368545 8.707527
+v -3.904932 1.376487 8.561104
+v -3.977393 1.380176 9.062611
+v -3.884195 1.506064 8.961597
+v -3.949867 1.363727 9.287865
+v -3.985674 1.301409 9.202253
+v -3.398758 1.725833 8.333366
+v -3.253285 1.755229 7.776369
+v -3.280855 1.769241 6.970650
+v -3.246413 1.716295 6.441875
+v -3.193418 1.728323 6.192421
+v -3.433510 1.719007 8.467207
+v -3.736811 1.667395 9.010899
+v -3.706606 1.672644 8.870884
+v -3.835604 1.479777 9.223440
+v -3.811576 1.590315 9.113850
+v -2.568917 1.400816 3.176966
+v -1.133380 0.948000 4.268681
+v -1.224256 1.372067 3.336887
+v -1.846550 1.302836 2.855907
+v -2.292016 0.902844 1.773844
+v -2.039442 0.766365 1.493469
+v -1.966668 0.805257 1.641047
+v -2.104911 0.829571 2.376610
+v -2.186570 0.856342 2.717779
+v -1.052995 1.045991 3.977951
+v -1.074464 1.189590 3.970812
+v -2.288805 0.863999 7.386633
+v -2.271616 1.065849 7.327188
+v -2.232937 1.251678 7.293985
+v -2.210776 0.794136 7.233046
+v -2.511605 0.748504 7.939125
+v -1.906736 0.904414 6.456451
+v -2.012794 0.856496 6.702568
+v -1.795274 0.947888 6.223433
+v -2.508731 0.959265 7.937496
+v -2.558489 1.120636 8.029474
+v -2.475895 1.183599 8.039270
+v -3.232596 0.770258 8.997280
+v -3.165744 0.925324 9.053764
+v -2.768694 1.071208 8.672453
+v -2.613187 0.624586 8.133247
+v -2.847492 0.530744 8.643732
+v -3.053725 0.769487 8.933472
+v -3.033436 0.496915 8.933594
+v -2.913510 0.509170 8.795345
+v -2.994191 0.514474 8.940208
+v -3.481288 0.586621 9.123123
+v -1.601316 1.000766 5.687479
+v -4.091049 -9.501571 -7.229911
+v -4.340962 -12.725185 -5.758205
+v -3.684734 -14.427818 -6.408340
+v -2.765826 -16.114586 -7.645758
+v -1.301537 -17.540363 -11.379889
+v 0.854674 -18.023069 -11.719982
+v -3.590017 0.721117 7.423594
+v -3.741590 0.588719 8.408558
+v -3.447826 0.865192 6.565765
+v -3.281820 1.040393 5.456329
+v -2.816889 0.915545 2.885698
+v -2.740735 0.949108 2.534548
+v -3.085370 1.040372 4.297850
+v -3.139295 1.054650 4.573750
+v -3.245192 1.069688 5.153908
+v -3.731787 0.446979 8.987150
+v 4.077778 -18.082066 -9.799907
+v 4.646818 -13.575301 -9.713284
+v 4.424479 -12.812675 -8.982063
+v 4.745570 -12.737321 -6.915695
+v 3.747838 -14.402936 -4.005667
+v 4.276353 -14.450051 -4.227161
+v 5.341959 -11.036375 -6.905029
+v 5.236117 -12.022042 -5.991919
+v 4.839362 -12.497217 -4.473026
+v 5.236387 -11.558940 -7.752205
+v 4.904712 -10.875801 -8.839834
+v 4.563971 -10.410211 -9.217511
+v 4.486142 -10.239489 -10.173481
+v 3.522126 -7.369809 -15.874384
+v 4.660849 -9.448269 -12.266574
+v -1.285678 -6.642293 -17.492580
+v 0.000000 -7.897473 -20.571358
+v 1.307546 -8.094729 -20.571358
+v -3.521459 -7.414746 -13.493056
+v -4.362571 -9.700236 -10.014812
+v -2.735935 1.053457 2.518959
+v -2.388913 0.926100 2.226574
+v -2.641942 1.165712 2.251839
+v -2.545505 1.244434 2.899401
+v -2.729375 1.191624 3.281282
+v -2.733871 1.173052 2.883469
+v -2.636043 1.300422 3.346323
+v -2.791794 1.396446 4.113058
+v -2.779413 1.524721 4.091833
+v -2.881136 1.359462 4.432800
+v -2.918333 1.275808 4.233728
+v -3.044189 1.443137 5.235004
+v -3.021869 1.519066 5.410065
+v -2.799538 1.421655 4.328947
+v -3.040871 1.408170 5.354874
+v -3.650156 1.519982 7.807465
+v -3.574736 1.423000 7.457096
+v -3.627855 1.563246 7.690094
+v -3.507863 1.438423 7.126486
+v -3.297988 1.463734 6.560757
+v -3.379264 1.400537 6.151682
+v -3.220088 1.481556 6.188236
+v -3.210460 1.624396 6.177050
+v -3.035486 1.654445 5.454638
+v -3.774530 1.491308 8.421354
+v -3.740063 1.499254 8.251228
+v -3.842256 1.361326 8.777538
+v -3.852694 1.381179 8.430183
+v -3.988281 1.281520 9.125231
+v -3.898187 1.375754 9.054220
+v -3.810791 1.524795 8.983994
+v -3.872031 1.357697 9.278374
+v -3.572188 1.701446 8.268961
+v -3.533811 1.709926 8.098459
+v -3.451126 1.728108 7.731047
+v -3.445493 1.671218 7.378981
+v -3.355234 1.691694 6.954115
+v -3.299956 1.704193 6.693909
+v -3.139783 1.740603 5.939943
+v -3.668853 1.680405 8.700527
+v -3.631357 1.688548 8.533001
+v -1.167133 0.930230 4.591198
+v -1.238263 0.970588 4.541557
+v -1.152867 1.352828 3.637100
+v -1.548301 1.428338 3.525547
+v -1.713723 1.372067 3.200981
+v -1.710835 1.344305 2.971956
+v -2.215901 1.000319 3.023029
+v -2.179020 1.143916 3.034935
+v -2.068379 1.251849 3.070646
+v -2.156389 0.803546 1.539095
+v -1.998654 0.795162 1.933861
+v -2.255624 0.879246 3.007023
+v -1.138869 1.297522 3.949394
+v -2.304358 0.753434 7.447151
+v -2.125336 0.800711 6.986660
+v -2.387054 0.719339 7.628460
+v -2.460625 0.688262 7.794231
+v -1.729930 0.975583 5.956535
+v -2.417929 1.147936 7.920094
+v -2.495111 1.091088 7.947079
+v -3.310942 0.551431 8.888542
+v -3.209481 0.585861 8.904581
+v -3.196226 0.925434 8.950613
+v -3.074472 0.925213 8.986229
+v -2.731158 0.543966 8.275181
+v -2.818552 0.519308 8.471771
+v -2.533269 0.657559 7.957987
+v -3.070049 0.884860 8.926403
+v -3.113473 0.596531 8.902655
+v -2.956633 0.462883 8.788589
+v -3.007571 0.458902 8.898464
+v -3.421098 0.615083 8.975090
+v -3.552134 0.496540 9.140266
+v -1.374728 0.972717 5.123081
+v -1.270873 0.951615 4.856461
+v -1.483896 0.994456 5.404875
+v -4.361151 -9.561668 -8.537300
+v -4.387308 -9.407585 -7.641455
+v -4.480674 -9.645700 -7.340717
+v -4.788004 -11.010864 -6.603907
+v -5.050541 -12.776568 -5.859840
+v -4.248182 -13.958399 -5.656813
+v -3.782010 -15.340961 -5.948811
+v -3.831128 -15.615227 -7.974550
+v -3.859580 -16.130009 -9.031269
+v -2.467270 -17.119619 -10.961109
+v -1.122148 -18.063782 -13.591816
+v 0.827467 -18.523451 -14.850253
+v -3.560621 0.749479 7.247684
+v -3.619035 0.693175 7.596928
+v -3.753058 0.519255 8.724470
+v -3.314641 0.997609 5.750206
+v -3.353291 0.957397 6.019072
+v -2.914729 0.995185 3.424788
+v -2.798788 0.964481 2.831575
+v -2.856653 0.979805 3.127645
+v -2.973412 1.010725 3.725033
+v -3.030894 1.025946 4.019135
+v -3.190293 1.169919 4.843687
+v -3.224958 1.158507 5.145031
+v -3.713794 0.496100 8.935720
+v -3.641064 0.496210 9.066319
+v 2.732258 -18.590559 -10.922850
+v 1.621707 -18.176683 -12.271843
+v 5.048706 -16.437634 -9.574749
+v 4.577985 -11.987797 -8.303679
+v 4.247025 -14.036179 -2.471319
+v 3.790406 -14.189162 -2.530540
+v 3.649963 -14.590889 -2.711123
+v 4.889395 -13.490766 -5.416918
+v 5.074823 -12.999486 -4.936539
+v 4.744043 -13.460522 -3.507748
+v 4.915175 -11.722982 -8.056074
+v 4.797453 -10.448000 -9.098315
+v 4.486142 -10.512026 -9.581589
+v 4.486142 -9.578882 -11.467708
+v 5.476848 -9.169221 -13.601950
+v -2.577765 -7.183267 -17.584322
+v 2.444794 -8.442010 -20.348928
+v 3.845688 -7.966028 -16.924498
+v -4.482596 -9.311453 -11.599814
+v -3.581752 -7.656901 -16.203487
+v -2.457170 1.071109 2.555971
+v -2.428554 1.185989 2.274147
+v -2.614976 1.238787 2.277464
+v -2.555164 1.271649 3.130617
+v -2.639527 1.135234 2.831844
+v -2.575297 1.169767 2.919056
+v -2.680067 1.126317 3.042219
+v -2.881680 1.287174 4.042866
+v -2.819638 1.321218 4.127705
+v -3.790260 1.403257 7.965908
+v -3.736367 1.408247 7.834114
+v -3.495321 1.559397 7.529015
+v -3.544822 1.583844 7.709717
+v -3.612926 1.346313 7.336123
+v -3.613118 1.322537 7.226227
+v -3.576071 1.354853 7.150326
+v -3.430917 1.433364 7.192734
+v -3.423416 1.575821 7.187191
+v -3.242030 1.607210 6.427536
+v -3.301275 1.384222 6.472982
+v -3.331981 1.326485 6.287094
+v -3.298528 1.372321 6.114588
+v -3.244230 1.397312 6.196692
+v -3.790789 1.395597 8.111794
+v -3.761681 1.532394 8.350636
+v -3.721165 1.389242 8.179842
+v -3.772064 1.496484 8.842623
+v -3.819711 1.252154 8.688148
+v -3.871063 1.286394 8.645847
+v -3.866718 1.263525 8.525826
+v -3.957572 1.307376 9.071960
+v -3.831902 1.368325 9.104242
+v -3.825446 1.490715 9.104877
+v -3.879526 1.290725 9.231787
+v -3.935600 1.270281 9.233112
+v -3.913618 1.243141 9.136982
+v -3.601920 1.694940 8.401478
+v -3.491789 1.719205 7.911860
+v -3.480452 1.663247 7.543547
+v -3.405872 1.680225 7.192478
+v -3.786278 1.595206 8.991243
+v -3.757748 1.600445 8.850864
+v -1.158403 1.069072 4.253748
+v -1.332961 1.407144 3.585604
+v -1.905953 1.326954 3.127039
+v -2.251466 0.791815 1.800737
+v -2.125340 0.754805 1.868130
+v -2.228050 0.789214 2.316589
+v -2.307383 0.815985 2.663618
+v -2.374793 0.838889 2.959005
+v -1.179570 1.212670 4.246622
+v -2.234537 0.746859 7.263391
+v -1.855311 0.933915 6.209614
+v -1.963033 0.890773 6.444284
+v -2.065654 0.842624 6.689293
+v -3.176051 0.770148 8.897678
+v -3.130188 0.977159 8.951536
+v -2.638895 0.576915 8.092560
+v -2.890376 0.489479 8.635761
+v -3.102906 0.769818 8.881075
+v -3.126084 0.491355 8.904940
+v -3.478344 0.770148 9.011902
+v -1.665916 1.041124 5.650396
+v -1.791365 1.015940 5.926617
+v -4.528235 -9.694925 -8.329797
+v -3.919246 -15.424293 -5.354185
+v -4.019528 -16.597004 -5.546144
+v -4.306890 -14.879189 -7.579360
+v -2.941859 -17.540882 -13.446955
+v -0.102589 -18.906734 -15.866870
+v -2.036315 -17.777822 -13.904502
+v 1.534213 -18.270391 -14.269977
+v -3.530813 0.780125 7.055868
+v -3.699574 0.645979 8.227699
+v -3.759590 0.589688 8.625204
+v -3.495058 0.817285 6.833460
+v -3.397707 0.914883 6.283924
+v -3.267798 1.085359 5.708687
+v -3.241671 1.083467 5.442734
+v -2.774102 1.064476 2.825207
+v -3.055604 1.094642 4.306316
+v -3.117165 1.145540 4.567514
+v 3.925449 -19.432449 -11.417793
+v 5.376694 -18.071728 -10.359677
+v 5.437163 -13.653374 -10.119398
+v 4.470726 -11.212248 -9.554605
+v 3.816875 -14.978310 -2.892435
+v 4.282317 -15.088373 -2.953846
+v 4.775162 -14.289412 -4.127319
+v 5.116167 -12.566482 -6.662100
+v 4.931453 -13.869696 -3.817659
+v 4.586931 -10.945292 -9.021564
+v 4.623662 -10.965946 -10.577785
+v 4.619907 -8.629103 -16.351437
+v 5.184970 -9.489334 -12.285465
+v 5.653653 -9.574806 -15.820564
+v -1.307546 -8.094729 -20.571358
+v 0.000000 -9.340547 -22.970987
+v 1.309463 -9.470577 -22.970984
+v 3.534513 -8.172333 -18.155279
+v -4.444673 -8.648066 -13.954831
+v -4.472454 -10.118191 -9.191871
+v -4.642447 -10.740340 -10.660515
+v -2.721405 1.170329 2.471460
+v -2.464782 0.944180 2.580221
+v -2.520702 1.268201 2.215403
+v -2.671896 1.265826 2.428137
+v -2.577621 1.161091 3.079828
+v -2.642159 1.211358 3.250854
+v -2.820468 1.310969 4.276455
+v -3.645898 1.406595 7.808336
+v -3.481739 1.421735 7.435913
+v -3.553224 1.313592 7.372738
+v -3.503069 1.325159 7.124779
+v -3.449890 1.350196 7.185829
+v -3.228878 1.471882 6.384506
+v -3.245885 1.361309 6.331465
+v -3.767121 1.378647 8.406677
+v -3.684056 1.552018 8.372776
+v -3.645414 1.525125 8.240784
+v -3.758680 1.358438 8.754835
+v -3.830209 1.295859 8.440168
+v -3.896840 1.279301 9.057880
+v -3.850206 1.298121 9.102474
+v -3.827946 1.360768 9.198063
+v -3.658118 1.622739 8.379862
+v -3.630055 1.629137 8.247761
+v -3.594266 1.637297 8.079296
+v -3.517109 1.654889 7.716101
+v -3.441145 1.561901 7.364809
+v -3.721870 1.608204 8.679956
+v -3.686157 1.616346 8.511845
+v -1.338811 0.991972 4.803986
+v -1.261974 1.091660 4.525009
+v -1.254925 1.378690 3.913593
+v -1.772006 1.407144 3.463268
+v -1.431344 1.441991 3.863302
+v -2.324068 0.902053 3.293995
+v -2.284845 1.023126 3.307812
+v -2.249226 1.166723 3.319321
+v -2.142369 1.274656 3.353844
+v -2.350358 0.823435 2.254072
+v -2.441735 0.861696 3.252542
+v -1.243070 1.320603 4.225245
+v -2.330570 0.704741 7.487423
+v -2.175734 0.785936 6.973387
+v -2.416717 0.669638 7.664082
+v -2.496259 0.636832 7.798693
+v -1.912905 0.974272 6.185425
+v -3.398381 0.585861 8.826660
+v -3.228495 0.497649 8.869646
+v -3.160359 0.885154 8.899509
+v -3.104954 0.925324 8.883080
+v -2.766157 0.531182 8.058125
+v -2.902972 0.526511 8.234968
+v -2.959900 0.506093 8.425571
+v -2.570038 0.606023 7.928955
+v -3.023504 0.475724 8.592525
+v -3.082710 0.447454 8.747936
+v -3.564080 0.597828 9.105831
+v -3.429568 0.770258 8.911524
+v -1.549336 1.034813 5.359468
+v -1.440632 1.013074 5.071459
+v -4.566902 -10.152218 -8.957321
+v -4.684922 -9.968154 -8.127892
+v -5.023020 -11.324447 -7.505238
+v -5.299202 -13.078661 -6.756243
+v -5.009529 -14.216314 -5.537343
+v -4.387420 -15.388073 -5.091091
+v -3.852617 -16.487656 -5.118752
+v -4.517408 -15.624834 -6.595522
+v -4.384912 -15.450776 -8.623554
+v -4.668878 -14.620790 -7.475020
+v -4.261207 -15.283923 -7.989812
+v -3.756445 -16.527533 -10.879921
+v -3.896382 -16.621923 -12.790886
+v -1.237824 -18.599977 -16.373146
+v -2.027128 -17.938637 -15.062645
+v 1.790797 -18.259329 -15.426045
+v 0.996155 -18.735231 -16.914036
+v -3.653598 0.772198 7.766319
+v -3.670713 0.723903 7.976410
+v -3.716675 0.694919 8.329922
+v -3.757730 0.667091 8.585037
+v -3.743612 0.556337 8.767839
+v -3.329171 1.063329 5.978794
+v -3.360109 1.004437 6.256634
+v -2.823500 1.048973 3.133631
+v -2.968566 1.119575 3.709227
+v -3.008910 1.121457 4.016937
+v -3.190938 1.354726 5.023796
+v -3.175752 1.346761 4.796144
+v -3.140396 1.184627 5.239031
+v -3.638620 0.584466 9.034607
+v 3.117608 -19.496195 -12.104679
+v 2.213455 -19.344856 -13.862419
+v 5.979264 -16.393253 -10.394150
+v 4.712468 -14.146242 -2.532730
+v 4.254239 -14.444717 -1.652031
+v 3.814775 -14.588894 -1.680984
+v 3.682787 -14.987185 -1.758358
+v 4.738936 -14.935390 -2.894625
+v 5.422725 -10.935276 -11.125690
+v 6.123750 -10.734465 -12.378278
+v 6.466701 -11.161672 -15.087220
+v -3.762630 -8.128601 -17.413021
+v -2.380598 -8.480203 -20.463795
+v 2.641108 -10.186878 -22.575493
+v 3.241444 -8.694821 -19.681631
+v 4.379012 -9.391080 -18.161198
+v -5.311064 -10.315386 -12.194746
+v -4.400787 -8.515989 -16.122650
+v -4.486142 -10.732841 -9.993492
+v -2.730943 1.181241 2.699614
+v -2.441703 1.195508 2.505587
+v -2.545507 1.079040 2.860907
+v -2.457981 1.253394 2.294960
+v -2.562159 1.306052 2.425072
+v -3.753539 1.313674 8.049541
+v -3.750425 1.290586 7.929920
+v -3.712626 1.323152 7.843571
+v -3.574245 1.400604 7.875435
+v -3.569684 1.542424 7.881014
+v -3.523762 1.282263 7.234413
+v -3.443175 1.316213 7.271290
+v -3.428004 1.426496 7.321835
+v -3.698604 1.280075 8.090370
+v -3.700333 1.371785 8.475887
+v -3.698462 1.513018 8.491753
+v -3.632725 1.387225 8.155014
+v -3.717570 1.498890 8.666012
+v -3.760569 1.279013 8.680653
+v -3.787151 1.221538 8.534733
+v -3.844159 1.268062 9.165762
+v -3.555151 1.646215 7.895174
+v -1.641464 1.469175 3.804771
+v -1.978540 1.352828 3.404215
+v -2.427274 0.848034 2.606661
+v -2.493040 0.869076 2.908165
+v -2.558482 0.890030 3.208244
+v -1.282865 1.235257 4.517962
+v -2.283638 0.731100 7.253391
+v -2.017756 0.931130 6.424112
+v -2.117728 0.882982 6.670347
+v -2.224635 0.826293 6.951788
+v -3.365536 0.497649 8.816582
+v -3.297031 0.515650 8.843109
+v -2.721875 0.541553 7.953150
+v -3.122057 0.444820 8.862009
+v -3.546900 0.769817 9.025116
+v -3.472066 0.885154 8.932072
+v -1.811844 1.137012 5.916643
+v -1.687449 1.162196 5.638035
+v -1.932104 1.095345 6.177361
+v -3.993059 -16.455978 -4.629387
+v -4.049222 -17.772629 -4.456699
+v -4.484970 -16.858637 -5.529576
+v -4.306159 -15.490077 -9.680772
+v -4.486831 -14.642684 -8.250269
+v -4.386477 -14.943979 -8.074126
+v -4.646968 -16.799423 -13.627773
+v -2.759115 -18.259476 -15.184810
+v 0.009717 -19.291613 -18.553566
+v 1.999516 -18.967812 -15.072716
+v -3.569832 0.772599 7.398449
+v -3.609646 0.784903 7.584562
+v -3.633907 0.680932 8.312035
+v -3.758497 0.678851 8.446213
+v -3.590542 0.726021 8.037716
+v -3.701869 0.648080 8.652966
+v -3.726946 0.582907 8.700476
+v -3.699863 0.545220 8.909336
+v -3.522855 0.893536 7.005867
+v -3.472045 0.910462 6.801765
+v -3.411510 0.911134 6.548552
+v -3.309128 1.263310 5.926098
+v -3.158851 1.123880 5.637821
+v -2.890721 1.098825 3.418282
+v -2.673162 1.102331 2.911442
+v -2.919440 1.158181 4.111027
+v -3.003560 1.175752 4.520782
+v -3.122832 1.357471 5.125166
+v -3.104156 1.339572 4.587082
+v -3.154299 1.096138 5.453720
+v 5.002934 -19.196106 -12.018473
+v 3.874673 -20.727905 -14.689722
+v 5.917397 -17.709742 -11.865386
+v 6.259753 -13.544988 -11.188015
+v 3.846569 -15.377898 -1.835421
+v 4.732218 -15.357125 -1.838627
+v 4.879379 -14.533663 -2.714043
+v 5.577852 -10.401210 -17.887974
+v -3.206382 -8.004064 -18.404819
+v -1.309463 -9.470577 -22.970987
+v 0.000000 -9.998482 -25.252779
+v 2.207547 -10.932720 -25.051235
+v 3.515371 -9.673038 -20.170444
+v -5.284949 -9.812222 -14.700721
+v -4.503701 -10.724659 -9.371143
+v -4.556378 -10.568093 -9.186411
+v -5.111362 -10.894861 -10.979269
+v -4.486142 -11.651937 -9.538235
+v -2.643296 1.192342 2.789230
+v -2.681973 1.249877 2.610123
+v -2.524777 1.198732 2.728495
+v -2.462120 1.284710 2.453732
+v -2.529999 0.959639 2.883690
+v -3.642154 1.293089 7.811741
+v -3.593137 1.317382 7.874462
+v -3.487339 1.341599 7.367382
+v -3.763360 1.265145 8.410004
+v -3.717941 1.288795 8.474262
+v -3.589938 1.527983 8.065214
+v -3.704445 1.363486 8.623114
+v -3.716353 1.253774 8.572329
+v -1.361457 1.113045 4.786495
+v -1.357184 1.402769 4.190208
+v -1.858620 1.441991 3.744251
+v -2.058467 1.378690 3.686962
+v -1.530193 1.469065 4.142107
+v -2.508879 0.884562 3.546928
+v -2.392736 0.924919 3.581863
+v -2.354023 1.045991 3.593508
+v -2.319682 1.189590 3.604660
+v -2.216659 1.297522 3.638123
+v -2.624101 0.911038 3.509123
+v -1.345538 1.343190 4.496815
+v -2.379733 0.688510 7.486137
+v -2.329966 0.771458 7.230761
+v -2.476670 0.648902 7.652435
+v -2.587098 0.603013 7.733095
+v -2.035997 1.052203 6.417389
+v -3.420747 0.770148 8.797337
+v -3.467915 0.491355 8.781296
+v -3.289510 0.445546 8.818676
+v -2.863795 0.524929 8.008612
+v -2.813163 0.522793 7.872629
+v -2.789660 0.526988 7.965378
+v -3.149639 0.506093 8.361189
+v -2.679379 0.563133 7.807028
+v -3.250264 0.447454 8.690336
+v -3.433617 0.925434 8.852505
+v -1.462600 1.134146 5.054251
+v -1.571149 1.155885 5.344336
+v -4.711500 -10.537411 -8.852173
+v -4.989389 -11.811279 -8.402500
+v -5.270140 -14.545654 -6.175315
+v -4.938575 -15.497462 -5.155422
+v -4.449678 -16.427357 -4.460051
+v -3.885441 -17.484501 -4.210754
+v -4.986040 -15.911541 -6.167372
+v -5.124947 -14.746965 -7.008589
+v -4.848177 -13.526343 -8.115924
+v -4.201169 -15.193763 -10.539911
+v -5.103718 -14.518445 -12.168935
+v -3.917228 -18.086512 -14.773738
+v -0.957288 -19.059048 -18.500135
+v -2.401538 -18.026505 -17.156441
+v -2.497774 -18.189093 -15.666453
+v 2.182411 -18.733326 -15.934093
+v 2.360691 -18.170738 -16.189919
+v 1.483467 -18.511879 -18.129606
+v -3.547908 0.846696 7.200323
+v -3.639894 0.931544 7.873446
+v -3.643558 0.958320 7.722149
+v -3.627630 0.852555 8.313572
+v -3.616725 0.643764 8.189604
+v -3.752129 0.853921 8.419491
+v -3.569811 0.912673 7.947815
+v -3.678115 0.822288 8.586760
+v -3.744258 0.838170 8.529598
+v -3.692079 0.566922 8.754745
+v -3.651930 0.561594 8.832064
+v -3.317963 1.232686 6.135277
+v -3.276127 1.017269 6.328041
+v -3.244665 1.291908 5.722294
+v -2.765086 1.134613 3.359177
+v -2.723973 1.078564 3.151173
+v -2.967721 1.296227 3.895897
+v -2.954022 1.286608 3.661657
+v -2.890874 1.303135 3.995144
+v -2.966348 1.115573 4.331768
+v -3.093311 1.516445 5.004618
+v -3.147431 1.472308 4.939320
+v -3.082240 1.461504 4.615519
+v -3.039500 1.157787 5.206909
+v -3.073793 1.079489 5.478769
+v -3.614901 0.613540 8.882538
+v 2.898387 -20.382143 -14.482897
+v 2.436626 -20.475409 -17.006248
+v 6.294302 -16.281822 -12.694378
+v 4.703747 -14.564198 -1.675934
+v 4.228344 -14.599416 -1.055630
+v 3.791748 -14.724952 -1.045046
+v 3.666714 -15.095341 -1.029308
+v 4.294415 -15.499341 -1.863453
+v 4.865867 -14.956872 -1.757126
+v 6.578827 -13.748240 -13.906740
+v 6.266082 -11.917891 -17.735559
+v -4.338640 -8.809469 -17.337772
+v -3.873507 -8.780760 -18.109459
+v -2.984661 -8.847593 -20.141106
+v -2.583825 -10.475450 -22.677214
+v 1.256895 -10.106104 -25.252779
+v 2.734525 -12.031039 -22.915844
+v 3.290338 -11.589272 -20.998051
+v 4.262107 -11.157269 -18.998280
+v -5.804394 -11.816028 -12.472257
+v -5.049112 -9.535397 -17.188936
+v -5.265757 -12.223587 -11.063880
+v -4.572484 -12.307289 -10.184896
+v -2.613314 1.282336 2.666466
+v -2.528188 1.263246 2.630543
+v -2.625358 1.057583 3.171511
+v -3.665994 1.249470 7.936712
+v -3.590332 1.282578 7.972193
+v -3.576803 1.392580 8.022270
+v -3.635854 1.307580 8.081276
+v -1.735499 1.498246 4.086605
+v -2.594942 0.975032 3.185883
+v -2.660054 0.990466 3.488869
+v -1.382170 1.256642 4.779789
+v -2.425213 0.728868 7.469589
+v -2.135087 1.004054 6.664032
+v -2.240935 0.947365 6.944590
+v -2.345409 0.892529 7.223215
+v -3.475795 0.596531 8.767956
+v -3.448546 0.444820 8.747845
+v -3.085662 0.525987 8.162643
+v -3.201753 0.475724 8.531654
+v -3.596746 0.769487 8.967726
+v -3.516513 0.925324 8.921001
+v -1.949715 1.238942 6.171974
+v -1.830558 1.280610 5.910862
+v -1.591435 1.299483 5.338093
+v -2.052851 1.195800 6.412239
+v -5.195547 -13.404305 -7.743053
+v -4.017429 -17.212259 -3.947371
+v -3.869368 -17.948099 -3.517414
+v -4.497068 -17.920444 -4.499369
+v -4.941589 -17.012449 -5.245625
+v -4.498472 -13.730445 -8.651589
+v -4.400558 -14.565763 -11.587035
+v -5.790842 -14.256640 -13.354607
+v -5.180489 -17.998566 -15.272104
+v -4.131280 -18.852259 -16.648418
+v -1.435424 -18.688499 -19.307005
+v -3.168143 -18.733330 -16.847414
+v 2.252904 -19.754730 -16.592638
+v -0.001341 -19.127056 -21.435316
+v -3.515469 0.808620 7.542814
+v -3.516877 0.857716 7.238420
+v -3.594960 0.978306 7.586403
+v -3.557510 0.836120 8.370722
+v -3.710371 0.861423 8.324720
+v -3.541235 0.606586 8.215759
+v -3.484339 0.909835 7.924900
+v -3.498861 0.680406 8.025179
+v -3.599350 0.813973 8.575623
+v -3.619236 0.585829 8.686991
+v -3.510119 1.047890 7.102062
+v -3.508200 1.084810 6.949934
+v -3.367598 0.940589 6.748474
+v -3.247377 1.218788 6.213787
+v -3.326364 0.917521 6.552986
+v -3.276968 1.378242 6.051464
+v -3.267810 1.448588 5.884604
+v -3.148365 1.299730 5.659914
+v -2.877495 1.280481 3.441927
+v -2.803952 1.128401 4.071796
+v -2.878012 1.097743 4.360149
+v -3.003034 1.339157 4.541487
+v -3.024776 1.355635 5.080616
+v -3.133001 1.508413 4.757851
+v 5.638865 -18.404341 -13.777104
+v 4.798553 -20.499329 -15.224672
+v 3.877667 -21.697708 -17.775438
+v 4.676991 -14.724213 -1.065313
+v 3.834547 -15.468099 -1.025833
+v 4.276551 -15.600740 -1.052032
+v 4.838180 -15.104815 -1.078354
+v 4.706502 -15.483050 -1.079132
+v 6.315798 -14.127770 -16.732990
+v 5.111912 -11.343553 -18.750849
+v -3.473932 -8.602509 -18.673977
+v -3.027694 -10.234321 -21.417757
+v -2.211589 -10.958425 -25.099072
+v -1.256895 -10.106104 -25.252779
+v 1.169165 -10.289432 -27.428160
+v 2.545714 -12.982082 -24.446592
+v 2.048033 -11.057269 -27.346647
+v 3.652482 -10.835378 -20.068048
+v -5.837398 -11.380249 -15.512897
+v -4.522153 -11.430696 -9.200741
+v -4.630184 -11.055757 -9.096251
+v -4.486142 -12.386351 -9.074480
+v -1.457735 1.425356 4.462471
+v -1.946504 1.469065 4.029364
+v -2.139890 1.402769 3.974806
+v -2.292341 1.320603 3.927349
+v -1.627197 1.491653 4.415827
+v -2.690398 0.932244 3.813030
+v -2.576891 0.907643 3.844858
+v -2.462466 0.948000 3.873796
+v -2.424325 1.069072 3.883442
+v -2.391329 1.212670 3.894419
+v -2.725783 1.006045 3.794712
+v -1.444307 1.364575 4.759668
+v -2.440372 0.849940 7.464073
+v -2.541367 0.682858 7.677837
+v -2.690370 0.601515 7.704868
+v -2.151457 1.147651 6.658974
+v -3.434768 0.885154 8.790085
+v -3.472058 0.769818 8.742693
+v -3.559384 0.496915 8.748882
+v -3.001562 0.522831 7.919729
+v -2.902446 0.524315 7.639187
+v -3.275077 0.526511 8.109257
+v -3.380002 0.475724 8.470783
+v -3.417817 0.447454 8.632736
+v -3.560602 0.884860 8.901459
+v -3.488836 0.977159 8.816364
+v -1.483141 1.277744 5.047897
+v -1.707194 1.305793 5.631901
+v -4.781364 -12.189919 -8.697878
+v -5.132272 -15.770517 -5.600760
+v -4.915121 -16.506556 -4.558094
+v -4.456892 -17.112104 -3.852383
+v -3.994401 -17.598593 -3.393806
+v -4.037201 -18.295231 -3.653282
+v -4.559948 -12.401299 -8.789247
+v -4.246165 -14.353775 -10.579421
+v -5.504758 -16.647423 -14.426367
+v -2.839470 -18.236664 -17.252865
+v 2.372510 -19.682272 -17.440157
+v 2.693780 -18.809404 -16.961315
+v 3.213127 -18.031851 -17.011456
+v 1.585609 -17.597321 -21.874037
+v -3.501057 0.781817 7.377169
+v -3.455806 0.999443 7.172621
+v -3.548610 1.099829 7.854977
+v -3.603924 1.064379 7.810261
+v -3.603921 1.127129 7.685726
+v -3.571406 0.971156 8.353970
+v -3.557855 0.620233 8.384804
+v -3.684589 0.982514 8.323589
+v -3.709739 0.963204 8.471657
+v -3.713175 1.017013 8.380898
+v -3.488328 1.054864 7.846924
+v -3.600091 0.952337 8.502045
+v -3.605271 0.549814 8.755428
+v -3.561723 0.584579 8.768040
+v -3.458467 1.106064 6.809586
+v -3.221496 1.417897 6.100370
+v -3.173237 0.988121 6.278030
+v -3.247606 0.892707 6.572168
+v -3.222388 1.421994 5.744833
+v -3.076819 1.287315 5.736002
+v -3.077933 1.077507 5.726849
+v -2.765861 1.284046 3.386211
+v -2.860702 1.447845 3.871439
+v -2.921341 1.404291 3.807846
+v -2.908063 1.435449 3.621323
+v -2.782774 1.305271 3.942160
+v -2.931862 1.343320 4.641809
+v -2.923291 1.148699 4.629900
+v -3.023439 1.473403 4.981096
+v -3.043538 1.563333 4.769875
+v -3.003463 1.502710 4.566856
+v -3.024817 1.064586 5.232235
+v -2.965553 1.171053 4.920969
+v -3.589391 0.769377 8.856285
+v 2.921307 -21.562050 -18.216969
+v 6.000237 -16.766064 -15.815670
+v 4.258381 -14.612415 -0.513508
+v 3.547766 -15.104903 -0.485868
+v 5.336394 -12.704113 -18.806343
+v -4.619647 -9.634929 -18.351143
+v -4.141411 -9.119733 -18.008512
+v -3.723799 -9.564291 -19.280600
+v -3.354230 -9.205942 -19.710855
+v -3.270071 -9.971164 -20.639057
+v -3.265703 -11.739372 -21.030657
+v -2.561881 -13.084896 -24.637943
+v -1.169165 -10.289432 -27.428160
+v 0.000000 -10.184891 -27.428160
+v 3.045569 -12.121562 -21.622208
+v 2.789495 -14.303283 -22.322468
+v 2.346310 -12.942629 -27.102119
+v 3.971157 -12.977036 -19.502113
+v -5.442083 -11.060653 -18.436758
+v -4.426147 -13.135187 -9.407797
+v -2.674560 1.109390 3.464468
+v -1.827495 1.520833 4.362318
+v -2.718178 1.128878 3.770180
+v -2.522470 0.833293 7.677795
+v -2.257028 1.090963 6.939497
+v -2.361254 1.036127 7.218128
+v -2.455828 0.993537 7.459183
+v -3.542080 0.769487 8.758654
+v -3.561500 0.458902 8.706398
+v -3.166233 0.524929 7.906590
+v -3.339378 0.506093 8.296806
+v -3.554377 0.925213 8.813995
+v -2.103412 1.303733 6.396786
+v -2.002550 1.346875 6.155815
+v -1.886702 1.388543 5.893518
+v -1.544763 1.385677 5.028839
+v -1.652293 1.407416 5.319363
+v -2.200569 1.255584 6.643799
+v -4.430997 -17.478174 -3.356781
+v -3.750420 -18.159756 -3.016794
+v -4.479204 -18.408518 -3.727085
+v -4.934871 -17.866180 -4.380289
+v -5.082032 -16.798338 -4.870874
+v -5.897129 -13.825171 -16.173536
+v -5.125870 -18.563734 -17.096643
+v -5.606254 -17.498199 -16.506014
+v -4.205405 -19.179399 -19.811665
+v -2.658425 -17.486631 -19.562254
+v -1.520827 -17.791107 -21.828266
+v -3.338956 -18.854805 -20.018887
+v 2.412130 -17.706881 -18.715240
+v -0.012023 -17.565849 -24.511578
+v -3.508256 0.976802 7.558678
+v -3.415103 0.741769 7.437595
+v -3.463567 0.847420 7.249569
+v -3.570270 1.099418 7.596184
+v -3.561747 1.008510 8.418587
+v -3.619801 1.026643 8.301456
+v -3.553616 0.820921 8.480841
+v -3.491148 0.591124 8.042004
+v -3.521289 0.558952 8.227657
+v -3.434509 0.931154 7.784344
+v -3.449846 0.728141 7.830004
+v -3.655121 0.998880 8.498024
+v -3.572018 0.617966 8.539848
+v -3.599674 0.501369 8.685146
+v -3.416088 1.219403 7.074047
+v -3.469935 1.188862 7.034878
+v -3.467709 1.257255 6.910725
+v -3.369339 1.107511 6.774364
+v -3.152039 1.225126 6.153831
+v -3.179866 1.510413 5.877941
+v -3.098342 1.419996 5.755707
+v -3.147238 1.477352 5.684967
+v -3.054245 1.034596 5.507360
+v -2.853460 1.393051 3.470762
+v -2.790107 1.021291 4.094025
+v -2.955523 1.463860 4.656366
+v -2.851008 1.035726 4.377405
+v -2.950114 1.349866 4.870510
+v -2.973083 1.064651 4.945446
+v 5.326267 -19.813587 -16.829521
+v 4.708159 -21.563734 -18.219650
+v 3.886650 -22.071123 -18.834690
+v 2.562610 -20.631218 -18.946220
+v 4.684436 -14.738305 -0.529955
+v 3.655863 -14.683772 -0.419413
+v 3.731267 -15.445430 -0.253353
+v 4.295041 -15.515339 -0.413219
+v 4.698798 -15.425539 -0.483204
+v 4.829919 -15.087934 -0.520983
+v 5.295169 -16.440598 -17.576029
+v 5.392079 -14.548226 -18.124176
+v -4.132546 -9.761125 -18.833107
+v -3.469275 -10.532671 -20.422359
+v -3.113646 -13.000391 -21.254414
+v -2.350352 -12.968332 -27.149954
+v -2.778682 -13.384315 -22.473423
+v -2.049044 -11.063695 -27.358606
+v 1.864789 -11.019173 -29.487228
+v 1.065594 -10.308676 -29.508547
+v 3.339652 -13.375937 -20.616756
+v 2.979999 -13.494449 -21.627930
+v 2.207547 -15.299158 -24.547668
+v 2.048033 -14.950785 -27.034012
+v 2.131187 -12.769504 -29.423271
+v -1.554665 1.446741 4.725906
+v -2.219106 1.425356 4.254967
+v -2.032202 1.491653 4.307377
+v -2.365996 1.343190 4.209049
+v -2.461159 1.235257 4.177044
+v -1.720043 1.513037 4.678272
+v -2.755247 0.952996 4.110340
+v -2.643328 0.930230 4.136017
+v -2.530491 0.970588 4.158787
+v -2.492879 1.091660 4.166378
+v -2.537581 0.971130 7.673126
+v -2.632082 0.736378 7.861628
+v -2.938259 0.610024 7.767862
+v -2.305304 1.198896 6.924221
+v -3.471480 0.925324 8.745499
+v -3.524607 0.884860 8.761917
+v -3.595159 0.514474 8.730968
+v -3.121891 0.522793 7.768686
+v -3.276511 0.531182 7.886166
+v -3.479725 0.519308 8.247330
+v -3.511875 0.489479 8.423443
+v -3.542399 0.462883 8.587193
+v -1.766429 1.413726 5.613501
+v -4.906400 -17.214035 -3.919140
+v -4.879645 -17.590343 -3.412334
+v -4.461035 -17.692526 -2.858667
+v -3.858516 -17.793842 -2.797995
+v -3.933921 -18.562449 -2.928139
+v -4.497695 -18.567656 -3.102547
+v -5.731097 -16.185112 -16.549091
+v -1.912546 -17.989904 -19.927788
+v -2.983516 -17.886969 -20.637638
+v 2.595861 -19.536968 -18.026705
+v 3.465264 -19.364046 -18.669168
+v 4.089086 -17.203691 -17.303156
+v 1.256895 -16.911358 -24.581360
+v 3.200130 -16.581133 -19.216473
+v -3.436942 0.959265 7.628237
+v -3.362318 0.814715 7.241301
+v -3.435472 0.748504 7.631193
+v -3.447124 1.120636 7.732311
+v -3.521019 1.183597 7.694275
+v -3.632324 1.071208 8.382935
+v -3.459807 0.624586 7.848927
+v -3.550997 0.530744 8.403154
+v -3.581039 0.509170 8.565763
+v -3.349062 1.032644 7.134384
+v -3.433242 1.229021 6.818024
+v -3.295666 1.092868 6.836861
+v -3.291337 0.887152 6.832687
+v -3.153775 1.374925 6.064489
+v -3.167979 0.898110 6.307201
+v -3.103289 1.050089 5.999304
+v -3.100924 1.446661 5.900734
+v -3.086615 1.255208 5.947605
+v -3.079148 0.989806 5.774311
+v -2.685479 1.292384 3.482729
+v -2.766942 1.433527 3.414738
+v -2.783296 1.411414 3.841305
+v -2.808973 1.489717 3.627224
+v -2.702713 1.300573 3.719700
+v -2.963773 1.510742 4.813623
+v -2.911121 1.049971 4.657125
+v -2.940863 1.012005 4.959747
+v -2.996103 1.016721 5.252270
+v 3.094630 -21.963696 -19.240356
+v 2.712909 -21.360857 -20.078457
+v 5.424982 -18.889521 -18.200432
+v 4.433393 -14.595860 0.142944
+v 4.057863 -14.573668 0.214668
+v 3.202958 -14.938513 -0.040464
+v 3.271964 -15.205423 -0.089922
+v 4.379463 -14.900000 -18.681984
+v -4.695763 -11.001632 -19.494793
+v -3.928229 -10.920026 -19.789246
+v -3.781302 -12.913196 -20.116098
+v -2.064072 -14.987968 -26.958744
+v -2.271703 -15.447892 -24.246595
+v -1.864789 -11.019173 -29.487228
+v -1.065594 -10.308676 -29.508547
+v 0.000000 -10.213386 -29.508547
+v 2.521536 -15.975723 -22.019978
+v 3.265449 -15.395545 -20.178827
+v 1.864789 -14.598433 -29.359312
+v 3.849742 -15.073487 -19.008095
+v -5.495056 -13.437280 -18.900530
+v -1.914541 1.542218 4.623184
+v -2.588343 0.856289 7.875023
+v -2.763301 0.647046 7.821442
+v -3.113217 0.647046 7.714283
+v -2.408789 1.144060 7.202858
+v -2.502197 1.101470 7.444508
+v -2.582914 1.074894 7.659117
+v -3.199201 0.526988 7.827425
+v -3.200146 0.563133 7.634254
+v -3.439474 0.543966 8.036198
+v -2.284896 1.337750 6.616282
+v -2.190771 1.385900 6.369123
+v -2.094288 1.429041 6.127407
+v -1.870014 1.495893 5.582081
+v -1.653312 1.467843 4.995670
+v -1.759012 1.489582 5.286907
+v -2.387538 1.281062 6.896353
+v -3.405612 -18.171585 -2.541471
+v -3.474618 -18.400764 -2.686954
+v -4.909156 -18.289215 -3.708313
+v -4.901452 -18.458229 -3.133965
+v -5.068521 -17.548052 -4.140995
+v -5.070100 -18.852423 -20.183529
+v -5.511144 -17.631577 -18.379662
+v -4.210555 -19.272888 -22.678036
+v -2.751413 -16.200703 -21.424038
+v -1.304986 -17.009785 -24.302237
+v -3.393265 -18.984394 -22.941359
+v 4.511966 -18.956387 -18.672670
+v -0.003006 -16.435612 -26.993866
+v -3.453579 1.091088 7.628572
+v -3.502435 1.147936 7.563061
+v -3.365033 0.719339 7.303989
+v -3.396730 0.688262 7.482559
+v -3.428067 0.657559 7.658939
+v -3.350375 1.181714 7.058069
+v -3.382243 1.314178 6.910896
+v -3.312906 1.222784 6.838972
+v -3.363563 1.278604 6.779041
+v -3.230455 0.845035 6.599199
+v -3.117301 0.945339 6.036581
+v -3.032114 0.990336 5.539127
+v -2.712273 1.401444 3.501795
+v -2.816522 0.972643 4.391422
+v -2.877351 0.992031 4.669991
+v 5.075001 -21.159201 -19.550863
+v 4.676363 -21.971680 -19.244778
+v 3.163450 -22.422380 -19.127636
+v 2.826969 -20.148643 -19.545980
+v 4.874684 -15.016675 0.071724
+v 4.778315 -14.718493 0.101065
+v 3.591788 -14.652080 0.167414
+v 3.379123 -15.429614 0.057364
+v 4.072839 -15.336843 0.273022
+v 4.746111 -15.296959 0.082096
+v 5.061866 -17.945946 -18.033571
+v 4.693569 -16.088823 -17.900393
+v -3.618275 -14.825089 -20.366501
+v -3.013664 -14.131717 -21.242569
+v -1.864789 -14.598433 -29.359312
+v -2.131187 -12.769504 -29.423271
+v 1.946164 -12.536846 -31.591909
+v 1.702894 -10.907518 -31.598875
+v 0.973082 -10.249687 -31.601200
+v 3.559533 -15.196174 -19.405909
+v 1.169165 -16.082623 -27.011312
+v 1.065594 -15.544731 -29.337990
+v 1.702894 -14.249395 -31.584938
+v -2.434202 1.364575 4.470753
+v -2.292409 1.446741 4.514669
+v -2.112259 1.513037 4.567064
+v -2.526162 1.256642 4.440998
+v -2.556815 1.113045 4.431080
+v -1.814637 1.534139 4.946980
+v -2.705742 0.951615 4.410089
+v -2.594047 0.991972 4.425831
+v -2.603339 0.976842 7.870426
+v -2.820683 0.727739 8.009178
+v -2.995641 0.690717 7.955599
+v -3.170600 0.727739 7.902020
+v -3.114483 0.601515 7.571861
+v -2.489214 1.226226 7.175186
+v -3.251099 0.541553 7.775423
+v -3.411267 0.576915 7.833328
+v -1.984571 1.470709 5.863655
+v -4.887090 -17.803185 -2.920900
+v -4.260516 -17.928295 -2.168629
+v -3.794442 -17.983410 -2.241728
+v -4.275493 -18.658121 -2.399265
+v -3.581777 -18.663721 -2.633965
+v -5.040834 -17.938593 -3.566454
+v -4.948765 -18.549877 -2.561518
+v -5.435143 -16.011583 -19.487028
+v -3.235932 -16.913441 -22.483007
+v -3.064437 -18.113285 -23.736744
+v 4.883280 -20.639059 -20.900944
+v -3.332212 0.753434 7.107433
+v -3.311276 0.863999 7.048563
+v -3.305779 1.251678 6.940517
+v -3.292295 1.065849 6.989666
+v -3.290081 0.794136 6.877604
+v -3.100365 0.904414 6.068367
+v -3.150170 0.856496 6.331141
+v -3.062376 0.947888 5.813454
+v -2.719581 1.445922 3.664854
+v -2.837055 0.994456 4.979683
+v -2.899209 1.000766 5.280224
+v 4.672076 -22.437908 -19.148418
+v 2.862814 -22.169395 -20.265871
+v 3.922549 -22.513523 -18.757351
+v 2.783607 -21.651876 -20.463036
+v 2.960150 -21.007044 -21.158319
+v 4.321025 -14.591992 0.965080
+v 4.659937 -14.647119 0.827986
+v 3.869668 -14.576805 0.333540
+v 3.232875 -14.808080 0.258120
+v 2.857518 -15.215517 0.279902
+v 2.966332 -15.416633 0.224134
+v 3.694095 -15.392502 0.273903
+v 4.416203 -15.365895 0.159353
+v 4.461820 -16.751169 -17.809332
+v -4.657100 -13.306227 -19.810387
+v -1.065594 -15.544731 -29.337990
+v -1.181187 -16.107227 -26.941528
+v -1.946164 -12.536846 -31.591909
+v -1.702894 -10.907518 -31.598875
+v -0.973082 -10.249687 -31.601200
+v 0.000000 -10.163646 -31.601200
+v 0.973082 -15.156901 -31.582615
+v -2.003372 1.563320 4.890205
+v -2.689465 0.810140 8.049364
+v -2.645726 0.909260 8.062757
+v -3.052266 0.794705 8.140858
+v -3.227224 0.831726 8.087276
+v -3.244436 0.736562 7.674097
+v -2.877308 0.831726 8.194437
+v -2.580441 1.183636 7.418625
+v -2.659383 1.153955 7.635178
+v -2.648328 1.068100 7.856638
+v -3.233802 0.603013 7.522551
+v -3.375753 0.606023 7.660124
+v -2.505503 1.347358 6.853474
+v -2.406912 1.404047 6.574196
+v -2.318019 1.452195 6.327353
+v -2.128463 1.537005 5.820309
+v -1.916881 1.555878 5.239487
+v -2.022811 1.562189 5.536896
+v -2.603728 1.292523 7.132879
+v -5.032573 -18.130913 -3.043041
+v -4.636046 -17.922121 -2.243454
+v -3.435528 -18.161987 -2.215784
+v -3.060172 -18.548126 -2.347610
+v -3.896749 -18.710087 -2.419216
+v -4.618857 -18.642662 -2.515564
+v -3.168986 -18.713905 -2.474396
+v -4.465149 -15.488886 -20.416769
+v -5.025276 -18.978394 -22.987177
+v -5.420276 -17.865534 -21.302036
+v -4.217680 -19.337671 -23.662098
+v -4.081401 -16.489775 -22.432777
+v -3.423342 -19.077028 -23.943369
+v 3.773008 -20.734131 -21.249668
+v 0.000000 -15.797223 -29.337990
+v -3.326464 0.704741 7.159416
+v -3.354240 0.669638 7.354822
+v -3.363707 0.636832 7.511173
+v -3.215877 0.800711 6.629032
+v -2.943856 0.975583 5.573719
+v -2.768772 0.972717 4.685253
+v 4.980463 -21.662872 -20.469362
+v 4.943992 -22.190626 -20.294226
+v 3.038639 -23.578548 -19.652887
+v 3.321621 -23.654984 -18.717924
+v 4.834658 -15.227796 0.631031
+v 4.960490 -15.004500 0.671318
+v 3.955236 -14.561141 0.851522
+v 4.915864 -14.760933 0.756781
+v 3.657543 -14.676002 0.701895
+v 3.320489 -14.833595 0.579428
+v 3.124642 -15.563269 0.314095
+v 3.463666 -15.431876 0.349009
+v 3.903896 -15.323158 0.392628
+v 4.579211 -15.280794 0.695341
+v -3.365662 -15.740166 -21.093288
+v -0.973082 -15.156901 -31.582615
+v -1.702894 -14.249397 -31.584938
+v 1.607429 -13.910974 -33.772270
+v 1.837061 -12.318800 -33.789886
+v 1.607429 -10.811393 -33.807503
+v 0.918530 -10.198311 -33.813374
+v 0.000000 -15.409393 -31.582615
+v 0.918531 -14.778353 -33.766399
+v -2.593184 1.277744 4.710876
+v -2.504372 1.385677 4.738379
+v -2.367610 1.467843 4.780313
+v -2.194153 1.534139 4.832787
+v -2.622787 1.134146 4.701710
+v -2.659284 1.013074 4.697596
+v -2.660722 1.005298 8.058163
+v -3.301818 0.810417 7.861835
+v -3.107251 0.912872 8.320751
+v -3.220094 0.682888 7.466644
+v -2.724205 1.137844 7.833345
+v -2.691524 1.249933 7.380112
+v -2.228607 1.495337 6.085276
+v -5.077338 -18.285965 -2.466553
+v -4.980968 -18.020266 -2.328068
+v -4.523678 -18.225307 -1.479254
+v -4.072321 -17.975559 -2.059511
+v -3.523142 -18.305555 -1.927206
+v -4.106550 -18.690056 -2.283192
+v -4.781865 -18.763706 -1.986534
+v -3.666320 -18.774643 -2.364227
+v -3.327296 -18.883518 -2.445648
+v -5.132016 -16.863173 -22.330631
+v -3.305766 -17.238905 -24.840364
+v -3.099025 -18.266598 -24.811787
+v 4.735350 -21.351316 -21.692364
+v -3.280353 0.746859 6.919353
+v -2.981887 0.933915 5.851173
+v -3.024199 0.890773 6.103598
+v -3.076584 0.842624 6.361805
+v -2.732353 1.034813 4.996746
+v -2.800973 1.041124 5.304161
+v 4.866925 -23.608477 -19.734655
+v 4.664211 -23.677166 -18.778929
+v 3.082472 -21.921715 -21.411198
+v 3.212729 -23.509594 -20.608295
+v 4.006294 -23.690262 -18.433310
+v 3.021799 -21.342800 -21.687298
+v 3.926274 -14.552378 1.531494
+v 4.604486 -14.896525 1.487652
+v 4.844571 -14.863548 1.455879
+v 2.887752 -15.079716 0.497738
+v 2.628531 -15.620112 0.594923
+v 2.757896 -15.758256 0.521902
+v 3.490511 -15.278191 0.617931
+v 3.722696 -15.252090 0.717607
+v 3.976965 -15.242002 0.824003
+v 4.290070 -15.168470 0.884462
+v -1.607429 -13.910974 -33.772270
+v -1.837061 -12.318800 -33.789886
+v -1.607429 -10.811393 -33.807503
+v -0.918531 -10.198311 -33.813374
+v 0.000000 -10.115351 -33.813374
+v 0.000000 -15.030844 -33.766399
+v -2.100723 1.585059 5.184391
+v -2.746089 0.906452 8.234623
+v -2.702350 0.982543 8.248016
+v -3.358443 0.906636 8.047092
+v -3.268669 0.947842 8.271317
+v -3.288176 0.857027 7.660704
+v -3.231417 0.833478 7.458290
+v -2.945832 0.947842 8.370182
+v -2.767901 1.217680 7.600716
+v -2.831867 1.193856 7.800232
+v -2.705710 1.078453 8.044374
+v -3.279680 0.648902 7.392838
+v -2.731944 1.321703 7.085522
+v -2.638577 1.376539 6.805035
+v -2.545545 1.433227 6.526215
+v -2.463443 1.481376 6.279451
+v -2.199990 1.591370 5.484785
+v -2.294570 1.566186 5.770437
+v -2.815054 1.279114 7.337286
+v -4.862590 -18.225296 -1.627016
+v -4.157889 -18.154312 -1.573095
+v -3.860196 -18.205044 -1.754776
+v -3.090406 -18.503416 -2.094833
+v -2.831184 -19.041048 -2.206314
+v -4.179619 -18.775726 -1.852690
+v -3.925350 -18.745384 -1.955166
+v -4.492723 -18.730068 -1.769159
+v -3.693165 -18.732409 -2.057381
+v -2.960550 -19.141966 -2.325607
+v -5.037312 -18.690538 -2.026423
+v -5.003491 -19.055401 -23.961994
+v -5.346392 -18.100546 -23.909164
+v -3.473645 -19.898066 -24.035627
+v -4.171028 -16.920113 -25.044062
+v -3.130943 -19.235470 -24.880356
+v 3.877420 -21.243620 -22.097708
+v -3.213073 0.731100 6.948429
+v -3.265395 0.688510 7.197651
+v -3.144839 0.785936 6.656616
+v -2.852864 1.015940 5.600719
+v 4.695614 -21.938038 -21.432943
+v 4.612567 -23.532305 -20.669941
+v 3.276369 -25.439056 -19.673870
+v 3.109997 -25.345928 -18.924583
+v 3.376719 -25.478844 -17.972162
+v 4.950655 -15.348528 1.177860
+v 5.075350 -15.164885 1.249352
+v 3.692544 -14.661620 1.459137
+v 4.168602 -14.599836 1.581404
+v 4.348029 -14.892138 1.183931
+v 5.054322 -14.961786 1.366236
+v 3.620040 -14.966415 0.842047
+v 3.006772 -15.057892 0.724499
+v 2.936642 -15.842270 0.568190
+v 3.242894 -15.535629 0.533442
+v 4.723239 -15.388410 1.224392
+v -0.918531 -14.778353 -33.766399
+v 0.875392 -14.507343 -35.860916
+v 1.531936 -13.679147 -35.882027
+v 1.750784 -12.204523 -35.945339
+v 1.531936 -10.814666 -36.008652
+v 0.875392 -10.240767 -36.029758
+v 0.000000 -14.759834 -35.860916
+v -2.697452 1.155885 5.002436
+v -2.669069 1.299483 5.011284
+v -2.583921 1.407416 5.037830
+v -2.452515 1.489582 5.078299
+v -2.285358 1.555878 5.128906
+v -2.717347 1.051123 8.243422
+v -3.345558 0.910367 7.848438
+v -3.159713 1.036103 8.492390
+v -3.198848 0.728868 7.221170
+v -2.889250 1.179422 7.987972
+v -2.781587 1.134552 8.021082
+v -2.887981 1.245709 7.562584
+v -2.382906 1.524518 6.036831
+v -5.163144 -18.498405 -1.905722
+v -5.118517 -18.304319 -1.735548
+v -4.128927 -18.399910 -0.938969
+v -4.807140 -18.702845 -1.108063
+v -3.209425 -18.567785 -1.876307
+v -3.822694 -18.526779 -1.733116
+v -4.925892 -19.060965 -1.535852
+v -3.445547 -18.939724 -2.231833
+v -3.139295 -19.237185 -2.314014
+v -5.153309 -19.006599 -1.564138
+v -5.089707 -17.220676 -24.807095
+v -4.970357 -19.869171 -24.116524
+v -4.239357 -20.106258 -23.789894
+v -3.325509 -17.448784 -25.686527
+v -3.307737 -18.562986 -25.752216
+v 3.884257 -21.846500 -21.802746
+v -2.897627 0.974272 5.878933
+v -2.944862 0.931130 6.131311
+v -3.070388 0.826293 6.676462
+v -2.822534 1.137012 5.609720
+v 4.587674 -25.520329 -19.764648
+v 4.879823 -25.417440 -19.075195
+v 4.104342 -25.271294 -17.886124
+v 3.899270 -23.496759 -20.954231
+v 3.911059 -25.512363 -19.959049
+v 3.640695 -14.740166 2.171391
+v 3.862617 -14.648273 2.217241
+v 4.492459 -15.087073 1.430918
+v 4.749331 -15.238773 1.990583
+v 4.970717 -15.213586 1.965912
+v 3.424577 -15.034533 0.697050
+v 2.651247 -15.501897 0.778339
+v 2.531418 -16.080246 0.868687
+v 2.668002 -16.164812 0.776644
+v 3.272360 -15.394012 0.743862
+v 3.731004 -15.138631 1.406551
+v 3.960664 -15.179186 1.441702
+v 4.526155 -15.297075 1.328793
+v -0.875392 -14.507343 -35.860916
+v -1.531936 -13.679147 -35.882027
+v -1.750784 -12.204523 -35.945339
+v -1.531936 -10.814666 -36.008652
+v -0.875392 -10.240767 -36.029758
+v -0.000001 -10.157807 -36.029758
+v -2.824768 1.012591 8.407257
+v -2.784414 1.066958 8.419617
+v -3.402182 0.983280 8.033697
+v -3.389732 1.012638 8.234241
+v -3.280511 1.064920 8.455395
+v -3.215719 0.971406 7.462790
+v -3.272844 0.977948 7.665340
+v -3.176665 0.849940 7.229010
+v -3.038914 1.064920 8.529381
+v -2.950797 1.218429 7.763666
+v -3.008179 1.199051 7.951405
+v -2.762335 1.103317 8.229633
+v -2.853474 1.292523 7.042686
+v -2.766138 1.347358 6.760479
+v -2.679725 1.404047 6.481001
+v -2.605333 1.452196 6.233410
+v -2.534580 1.495337 5.989485
+v -2.376721 1.562189 5.432589
+v -2.459085 1.537005 5.720995
+v -2.930637 1.249933 7.298468
+v -5.047224 -18.660393 -1.125235
+v -3.895197 -18.474264 -1.046864
+v -4.371255 -18.462564 -0.910374
+v -4.550683 -18.585438 -1.388208
+v -2.853901 -18.999813 -1.992035
+v -3.627230 -18.535870 -1.893057
+v -2.734071 -19.570101 -2.124022
+v -3.933657 -18.897198 -1.273645
+v -4.163318 -18.947941 -1.256166
+v -4.728808 -19.015181 -1.404909
+v -3.475013 -18.886854 -1.983765
+v -2.870655 -19.614212 -2.240973
+v -5.208926 -19.195923 -24.988899
+v -5.302229 -18.237080 -24.837078
+v -3.203860 -21.908464 -24.960035
+v -3.588633 -22.212864 -24.228857
+v -5.050165 -17.426138 -25.705841
+v -4.183574 -17.166002 -25.986769
+v -3.265028 -21.601414 -25.768148
+v -3.141031 0.771458 6.965485
+v -3.000479 0.882982 6.387329
+v -2.869540 1.095345 5.888186
+v -2.768228 1.162196 5.312141
+v 4.800494 -25.506334 -18.134523
+v 3.908222 -27.211252 -19.224058
+v 3.137196 -27.042728 -19.003201
+v 2.875801 -26.938128 -18.381462
+v 4.183147 -26.926559 -17.139359
+v 5.047303 -15.601337 1.640253
+v 5.169365 -15.455296 1.732357
+v 3.586201 -14.957232 2.107103
+v 4.252397 -14.819987 1.558270
+v 4.097566 -14.695340 2.224491
+v 5.156694 -15.292066 1.866915
+v 3.634542 -14.911575 1.414927
+v 3.164314 -15.198712 0.807043
+v 2.776668 -15.457731 0.952843
+v 2.545099 -15.987155 1.042425
+v 2.848992 -16.200699 0.791895
+v 3.062062 -15.798104 0.742695
+v 3.084779 -15.679888 0.926109
+v 4.181727 -15.063038 1.499302
+v 4.829084 -15.628252 1.668617
+v 0.817119 -14.442139 -37.837742
+v 1.429958 -13.649906 -37.874901
+v 1.634238 -12.283175 -37.986385
+v 0.817119 -10.463275 -38.135033
+v -2.741353 1.305793 5.320667
+v -2.660728 1.413726 5.346245
+v -2.535975 1.495893 5.384882
+v -2.798250 1.110774 8.415379
+v -2.948314 1.115839 8.557127
+v -3.330226 1.006958 7.853077
+v -3.371110 1.115839 8.427650
+v -3.199603 1.142399 8.622896
+v -3.064805 1.189351 8.136662
+v -2.838212 1.143322 8.206341
+v -2.999135 1.217680 7.527636
+v -5.278004 -18.862896 -1.429287
+v -5.256975 -18.718081 -1.245062
+v -3.843349 -18.812912 -0.415361
+v -4.065270 -18.744762 -0.338535
+v -4.695113 -18.858458 -1.231800
+v -4.951985 -19.208038 -0.769163
+v -2.747753 -19.548559 -1.928095
+v -2.979321 -19.023952 -1.813654
+v -3.366967 -18.729237 -1.852272
+v -3.837195 -18.689669 -1.181150
+v -4.384381 -18.861677 -1.159388
+v -5.249956 -19.413692 -1.229481
+v -5.031737 -19.449244 -1.213209
+v -3.287432 -19.220085 -1.921352
+v -3.264716 -19.261324 -2.135633
+v -3.051646 -19.653198 -2.240213
+v -4.987620 -21.897871 -25.267746
+v -4.891483 -22.205431 -24.459295
+v -4.288164 -22.311142 -24.087471
+v -4.100513 -18.325134 -26.079359
+v -3.903317 -21.495192 -26.140316
+v -2.918416 1.052203 6.140549
+v -2.975110 1.004054 6.395838
+v -3.117017 0.892529 6.971169
+v -3.045571 0.947365 6.683077
+v -2.846465 1.238942 5.894999
+v -2.797568 1.280610 5.617476
+v 4.722398 -27.288315 -19.078354
+v 5.113246 -27.118528 -18.600391
+v 2.925609 -27.028740 -17.641293
+v 3.539516 -27.048538 -17.047943
+v 3.642185 -15.019691 2.707628
+v 3.844101 -14.946583 2.752552
+v 4.191139 -14.895163 2.172983
+v 4.630436 -15.386543 1.902170
+v 5.021799 -15.665661 2.297369
+v 2.591048 -16.448017 1.232492
+v 2.581603 -16.523859 1.065273
+v 2.717994 -16.570816 0.961615
+v 2.955413 -15.541745 0.999130
+v 3.682941 -15.158780 2.059286
+v 3.914723 -15.204123 2.062847
+v 4.646274 -15.551498 1.771303
+v -0.817119 -14.442139 -37.837738
+v -1.429958 -13.649906 -37.874901
+v -1.634238 -12.283175 -37.986389
+v -0.817119 -10.463276 -38.135033
+v 0.000000 -14.694632 -37.837738
+v 1.429958 -11.001209 -38.097874
+v 0.000000 -10.380316 -38.135033
+v -2.918115 1.153330 8.566376
+v -3.386851 1.052230 8.038334
+v -3.430087 1.067143 8.221882
+v -3.334384 1.169971 8.542248
+v -3.279286 1.162486 8.596718
+v -3.159863 0.993537 7.233089
+v -3.168622 1.075079 7.476284
+v -3.226851 1.068838 7.679253
+v -3.118927 1.162486 8.645824
+v -3.042813 1.169971 8.631540
+v -3.060475 1.193856 7.730007
+v -3.117857 1.179422 7.917746
+v -2.945875 1.175339 8.173229
+v -2.839757 1.143868 8.402655
+v -2.879070 1.281062 6.724171
+v -2.960284 1.226226 7.008390
+v -2.799119 1.337750 6.442963
+v -2.732044 1.385900 6.193609
+v -2.670425 1.429041 5.947575
+v -2.606841 1.470709 5.676319
+v -3.031147 1.183636 7.266775
+v -5.173370 -19.175465 -0.782656
+v -3.788854 -18.990313 -0.556004
+v -4.300219 -18.791138 -0.349371
+v -4.455050 -18.658184 -1.013985
+v -2.793702 -20.047062 -1.923725
+v -2.784257 -20.055029 -2.107166
+v -3.885595 -19.159458 -0.675573
+v -4.117376 -19.202854 -0.689190
+v -4.848927 -19.416351 -1.089298
+v -3.158066 -19.119169 -1.802059
+v -2.920647 -20.059914 -2.220860
+v -4.637817 -21.592958 -25.999271
+v -4.927999 -18.532564 -25.834135
+v -3.193817 -24.962013 -25.648413
+v -3.205999 -24.928408 -24.910902
+v -4.410537 -24.926514 -24.175892
+v -3.745924 -25.011972 -26.050293
+v -2.896796 1.195800 6.146519
+v 5.221474 -27.049126 -17.996704
+v 4.804203 -27.059591 -17.295830
+v 3.782427 -28.570312 -18.844564
+v 2.800702 -28.425232 -18.607222
+v 2.584369 -28.154991 -18.033772
+v 4.311724 -28.400969 -16.253956
+v 5.077800 -15.928411 1.935877
+v 5.192636 -15.833213 2.046871
+v 5.185989 -15.722779 2.196304
+v 3.593136 -15.190606 2.609993
+v 4.133478 -15.110501 2.105007
+v 4.059709 -14.983384 2.735476
+v 4.821545 -15.677084 2.311625
+v 2.664639 -15.934216 1.190567
+v 2.895566 -16.572632 0.957457
+v 2.968532 -16.147758 0.940037
+v 2.982213 -16.054668 1.113775
+v 2.845629 -15.970101 1.205818
+v 4.713356 -15.882717 2.051197
+v -1.429958 -11.001210 -38.097874
+v 0.752230 -14.496537 -39.691574
+v 1.316403 -13.739120 -39.744415
+v 1.316403 -11.299308 -40.061440
+v 0.752230 -10.796186 -40.114277
+v 0.000000 -10.713228 -40.114281
+v -2.722669 1.388543 5.640745
+v -2.928469 1.180707 8.563202
+v -3.284234 1.079559 7.866989
+v -3.401309 1.153330 8.418400
+v -3.216874 1.209762 8.679399
+v -3.174483 1.175339 8.103004
+v -3.008361 1.189448 8.348217
+v -2.909579 1.169131 8.380564
+v -3.094852 1.154001 7.498117
+v -5.372018 -19.312565 -1.089533
+v -5.359348 -19.211334 -0.903786
+v -3.844839 -19.272345 -0.022160
+v -4.046755 -19.221277 0.046799
+v -4.393792 -18.957310 -0.471722
+v -4.833090 -19.312143 -0.906330
+v -5.224452 -19.718569 -0.643827
+v -2.867292 -19.554724 -1.770899
+v -4.336132 -19.131727 -0.615141
+v -5.280454 -19.827450 -1.077255
+v -4.916009 -19.828087 -0.953215
+v -3.048283 -19.593712 -1.770142
+v -3.184867 -19.637821 -1.887091
+v -3.171185 -19.659359 -2.083017
+v -3.098219 -20.060049 -2.225395
+v -4.447270 -25.035492 -26.018908
+v -4.882807 -24.989788 -25.456631
+v -3.677798 -25.248104 -24.139078
+v -2.954681 1.147651 6.401005
+v -3.026243 1.090963 6.687426
+v -3.098848 1.036127 6.975037
+v -2.831935 1.303733 6.164425
+v -2.777241 1.346875 5.915436
+v 5.504467 -28.589373 -18.192551
+v 5.592593 -28.336275 -17.734804
+v 3.088197 -27.445837 -17.065132
+v 2.500909 -28.498487 -17.139662
+v 3.545908 -28.691616 -16.086321
+v 4.877546 -15.939837 1.950132
+v 3.855273 -15.364114 3.129417
+v 3.673773 -15.419981 3.074875
+v 4.149835 -15.142199 2.647123
+v 4.706709 -15.772285 2.200630
+v 5.014020 -16.152920 2.465862
+v 2.705148 -16.388433 1.363773
+v 2.704883 -16.748146 1.172771
+v 2.934441 -16.767483 1.086535
+v 3.683261 -15.349421 2.521641
+v 4.100785 -15.313114 2.549486
+v -0.752230 -14.496537 -39.691574
+v -1.316403 -13.739120 -39.744411
+v -1.316403 -11.299310 -40.061440
+v -0.752230 -10.796188 -40.114281
+v 0.000000 -14.749030 -39.691574
+v 1.504460 -12.476831 -39.902927
+v -3.055407 1.213689 8.665279
+v -3.340858 1.104054 8.052248
+v -3.415942 1.111050 8.226162
+v -3.342805 1.213689 8.577263
+v -3.281526 1.220068 8.652493
+v -3.109456 1.101470 7.245331
+v -3.154594 1.138029 7.701218
+v -3.148247 1.220068 8.693306
+v -3.219277 1.189448 8.283424
+v -3.268603 1.143507 8.074211
+v -3.117720 1.198371 8.313280
+v -2.959531 1.201285 8.553682
+v -2.893394 1.255584 6.416504
+v -2.968257 1.198896 6.700472
+v -3.044339 1.144060 6.986643
+v -3.795790 -19.394482 -0.176519
+v -4.262362 -19.249050 0.017223
+v -5.024199 -19.734486 -0.634867
+v -2.907801 -20.040770 -1.779692
+v -2.907537 -20.303226 -2.091125
+v -3.885915 -19.508854 -0.317751
+v -4.303439 -19.485563 -0.278370
+v -5.395288 -19.780544 -0.938755
+v -5.080200 -19.843369 -1.068293
+v -4.909363 -19.781393 -0.773367
+v -3.137094 -20.288988 -2.178349
+v -5.005812 -25.270857 -24.655899
+v -3.090541 -27.042730 -25.307093
+v -3.025581 -26.938131 -24.593010
+v -4.652909 -26.926559 -23.676212
+v 4.998868 -29.105553 -18.525677
+v 5.187792 -27.427338 -17.473806
+v 4.983160 -28.672182 -16.546246
+v 2.784728 -29.425934 -18.792742
+v 2.484024 -28.796347 -17.891758
+v 4.559080 -29.439438 -15.290837
+v 5.163979 -16.249739 2.207628
+v 5.057950 -16.294956 2.083090
+v 5.160759 -16.190823 2.366734
+v 3.629915 -15.544050 2.944637
+v 4.049255 -15.387331 3.099916
+v 4.833011 -16.149727 2.470442
+v 2.794307 -16.650124 1.388830
+v 2.733182 -16.783199 1.325733
+v 2.827360 -16.853830 1.121088
+v 3.009665 -16.513048 1.088737
+v 3.019110 -16.437206 1.255959
+v 2.882720 -16.390249 1.359615
+v 3.898870 -15.386224 2.504566
+v 4.726982 -16.194944 2.345905
+v 4.730202 -16.253862 2.186798
+v -1.504460 -12.476831 -39.902927
+v 1.206177 -13.862658 -41.484055
+v 0.689244 -14.584344 -41.417130
+v 1.378488 -12.707569 -41.684853
+v 0.689244 -11.169857 -41.952579
+v 0.000000 -11.086898 -41.952579
+v -3.062303 1.235725 8.665829
+v -3.211977 1.134828 7.888954
+v -3.390724 1.180707 8.421602
+v -3.281555 1.250628 8.663128
+v -3.221280 1.248054 8.694035
+v -3.306663 1.169177 8.258661
+v -3.011187 1.216950 8.535200
+v -3.083323 1.229590 8.505144
+v -5.388642 -19.733850 -0.758907
+v -4.057926 -19.749277 0.240644
+v -3.876426 -19.780756 0.169193
+v -4.352488 -19.363424 -0.124008
+v -5.216673 -20.233505 -0.669325
+v -2.996960 -20.292908 -1.854094
+v -2.935836 -20.392828 -1.962292
+v -3.030013 -20.381994 -2.178511
+v -4.101523 -19.536629 -0.347326
+v -5.366632 -20.226973 -0.945034
+v -5.260603 -20.222454 -1.077450
+v -4.929635 -20.227734 -0.796301
+v -4.932855 -20.223026 -0.965899
+v -3.085373 -20.040899 -1.784227
+v -3.221763 -20.045788 -1.897921
+v -3.212318 -20.053751 -2.081364
+v -3.782273 -27.211252 -25.689951
+v -5.138977 -27.118532 -25.338570
+v -3.298906 -27.028740 -23.829857
+v -4.060254 -27.048538 -23.409046
+v 3.994952 -29.875256 -18.783493
+v 6.028922 -29.258369 -17.392277
+v 5.990757 -29.707588 -17.733969
+v 5.410607 -28.404066 -17.188078
+v 2.517630 -29.080086 -18.199104
+v 3.425344 -29.566406 -18.915859
+v 2.909442 -28.508247 -16.495966
+v 2.354557 -29.210770 -17.278849
+v 4.053417 -29.607662 -15.213109
+v 4.876941 -16.291765 2.087669
+v 3.880679 -15.817669 3.339828
+v 3.712215 -15.860824 3.280149
+v 4.130558 -15.500517 2.978027
+v 4.963584 -16.608507 2.487000
+v 3.040377 -16.794191 1.203579
+v 3.711219 -15.657236 2.822750
+v 4.086701 -15.624586 2.847792
+v -1.206177 -13.862658 -41.484055
+v -0.689244 -14.584344 -41.417130
+v -0.689244 -11.169858 -41.952579
+v -1.378488 -12.707568 -41.684853
+v 0.000000 -14.836834 -41.417130
+v 1.206177 -11.637245 -41.885654
+v -3.373509 1.144053 8.238997
+v -3.337246 1.235725 8.581608
+v -3.154051 1.250628 8.702187
+v -3.308348 1.216950 8.443974
+v -3.241165 1.229590 8.456657
+v -3.163972 1.235153 8.475100
+v -3.081002 1.250672 8.660982
+v -3.832569 -19.847269 0.002068
+v -4.251908 -19.759808 0.204613
+v -5.035665 -20.232254 -0.663883
+v -3.913872 -19.906796 -0.153252
+v -4.333212 -19.819338 0.049292
+v -4.289354 -19.885849 -0.117834
+v -5.363412 -20.231682 -0.775436
+v -5.079594 -20.221201 -1.072010
+v -3.243031 -20.357443 -2.079725
+v -4.624008 -27.288315 -25.710732
+v -5.411162 -27.049126 -24.788960
+v -5.205751 -27.059591 -23.999563
+v -3.740435 -28.623590 -25.378536
+v -2.827909 -28.432163 -24.961805
+v -2.827655 -28.154991 -24.229359
+v -5.021946 -28.400969 -22.880116
+v 4.828053 -29.871254 -17.974899
+v 5.751837 -30.216282 -17.817257
+v 5.758615 -29.160023 -16.918434
+v 5.032077 -29.603767 -15.516452
+v 2.512292 -29.650707 -18.437490
+v 2.862786 -30.292675 -19.238483
+v 2.493535 -29.640987 -17.584429
+v 2.645552 -29.464909 -15.633814
+v 2.205900 -29.591579 -15.946321
+v 4.889646 -30.086391 -14.208299
+v 3.534255 -29.665771 -15.992339
+v 5.099555 -16.633078 2.390532
+v 5.102212 -16.655981 2.229364
+v 5.003554 -16.666180 2.100254
+v 3.671106 -15.949911 3.132076
+v 4.060425 -15.830544 3.303373
+v 4.795613 -16.594969 2.486708
+v 2.946200 -16.723562 1.408222
+v 2.915587 -16.891418 1.299335
+v 3.023864 -16.669460 1.302593
+v 3.905201 -15.680453 2.793249
+v 4.696956 -16.605167 2.357597
+v 4.699612 -16.628071 2.196430
+v -1.206177 -11.637245 -41.885647
+v 1.094364 -14.054595 -43.064114
+v 0.625351 -14.728170 -42.983315
+v 1.250701 -13.016285 -43.306503
+v 0.625351 -11.629686 -43.629692
+v 0.000000 -11.546726 -43.629692
+v -3.358969 1.201285 8.431208
+v -3.318583 1.250672 8.588137
+v -3.273693 1.267134 8.669041
+v -3.163517 1.267134 8.702824
+v -3.110396 1.260942 8.647209
+v -3.149372 1.268949 8.620977
+v -4.083332 -20.248587 0.266617
+v -3.914869 -20.266356 0.195145
+v -5.166238 -20.664074 -0.819715
+v -3.148853 -20.368280 -1.863506
+v -3.118241 -20.483379 -2.027164
+v -4.107854 -19.917328 -0.189283
+v -5.302209 -20.650877 -0.918385
+v -5.304865 -20.611980 -1.076456
+v -5.206207 -20.573269 -1.200045
+v -4.998266 -20.651405 -0.814936
+v -4.899609 -20.612690 -0.938524
+v -4.902265 -20.573799 -1.096596
+v -3.226518 -20.278669 -1.941319
+v -5.623739 -28.589375 -25.096766
+v -5.851847 -28.336275 -24.689816
+v -3.045064 -28.498487 -23.236021
+v -3.622026 -27.445837 -23.299770
+v -4.343801 -28.691616 -22.499638
+v 4.054360 -30.155613 -18.372272
+v 3.172915 -30.574909 -19.141388
+v 6.639112 -29.895771 -16.804691
+v 6.662358 -30.469410 -17.053610
+v 5.403624 -29.394932 -16.593952
+v 4.982079 -29.592709 -16.607548
+v 2.492153 -30.145489 -19.075787
+v 3.094340 -29.646523 -15.450580
+v 2.081914 -30.027424 -16.202124
+v 4.416976 -30.269001 -14.109136
+v 3.867045 -30.117622 -15.379046
+v 4.835583 -16.652641 2.099964
+v 3.781962 -16.127630 3.311886
+v 4.135386 -15.909537 3.163042
+v 4.034002 -16.105713 3.328695
+v 4.786943 -16.836430 2.406977
+v 5.006942 -16.864014 2.337362
+v 3.746067 -16.028906 2.991745
+v 4.094276 -15.998627 3.014969
+v -1.094364 -14.054595 -43.064114
+v -0.625351 -14.728170 -42.983315
+v -0.625351 -11.629686 -43.629692
+v -1.250701 -13.016285 -43.306503
+v 0.000000 -14.973773 -42.983315
+v 1.094364 -12.059296 -43.548897
+v -3.222579 1.267134 8.698933
+v -3.288050 1.260942 8.592669
+v -3.246882 1.268949 8.591024
+v -3.198208 1.272129 8.599714
+v -3.873760 -20.293756 0.024523
+v -4.263079 -20.246927 0.227989
+v -3.948720 -20.314682 -0.135149
+v -4.338039 -20.267857 0.068316
+v -4.296929 -20.295254 -0.102304
+v -5.038236 -20.560600 -1.195265
+v -5.050006 -29.140644 -25.274099
+v -5.524542 -27.427338 -24.277391
+v -5.620737 -28.672182 -23.350826
+v -2.677499 -29.469254 -25.197472
+v -2.676879 -29.053112 -24.405355
+v -2.777268 -28.796347 -24.042942
+v -5.524313 -29.439438 -22.079287
+v 5.419876 -30.493038 -17.515869
+v 3.877544 -30.303673 -17.885059
+v 6.320920 -29.733910 -16.427116
+v 6.455650 -31.070290 -17.084459
+v 5.120450 -30.091473 -15.794170
+v 5.341671 -30.261753 -14.390916
+v 2.553904 -30.008011 -18.034935
+v 2.296880 -30.288273 -18.681778
+v 2.321790 -31.142185 -19.545126
+v 2.120569 -30.842258 -19.612965
+v 1.914696 -30.321701 -14.805067
+v 2.371086 -30.170410 -14.637800
+v 2.248883 -30.490295 -16.303045
+v 5.267850 -30.386261 -12.964628
+v 3.245733 -30.135529 -15.582595
+v 3.994024 -30.621048 -15.648766
+v 4.938058 -16.871998 2.122835
+v 3.910116 -16.189774 3.383593
+v 3.758374 -16.269205 3.221104
+v 4.895015 -16.934538 2.399490
+v 3.925813 -16.041780 2.955290
+v 4.718060 -16.844414 2.192450
+v -1.094364 -12.059296 -43.548897
+v 0.976045 -14.349008 -44.454861
+v 0.557740 -14.950638 -44.359074
+v 0.976045 -12.609736 -45.029587
+v 0.000000 -12.138118 -45.125374
+v 0.557740 -12.221077 -45.125374
+v -3.260158 1.275265 8.667269
+v -3.174565 1.275265 8.693546
+v -3.185116 1.280704 8.672684
+v -3.984615 -20.525734 0.125029
+v -4.236655 -20.511671 0.148804
+v -4.989597 -20.845676 -0.979006
+v -4.128467 -20.313023 -0.173777
+v -5.209595 -20.845293 -1.053885
+v -5.140712 -20.772648 -1.255898
+v -4.920713 -20.773031 -1.181019
+v -4.039348 -30.191082 -25.339884
+v -6.400191 -29.258369 -24.629314
+v -6.204698 -29.707588 -24.914429
+v -5.864477 -28.404066 -24.108074
+v -3.348484 -29.779530 -25.435276
+v -2.871725 -29.210770 -23.339331
+v -3.631346 -28.508247 -22.712696
+v -5.060347 -29.607662 -21.863714
+v 4.636926 -29.906254 -17.268393
+v 3.186671 -30.837284 -18.756027
+v 7.186625 -30.164413 -15.476364
+v 7.531819 -30.328819 -15.807641
+v 7.609514 -30.871048 -15.980434
+v 5.943491 -29.967041 -16.144720
+v 5.187733 -29.945473 -16.700335
+v 4.895472 -30.585716 -15.968109
+v 2.855428 -30.265141 -17.769899
+v 1.862343 -30.666271 -19.419580
+v 2.312858 -31.407417 -19.174213
+v 2.835240 -30.347195 -14.550544
+v 1.775512 -30.805202 -14.962322
+v 2.877509 -30.067535 -17.166277
+v 4.809195 -30.556160 -12.846150
+v 4.238328 -30.809788 -14.186022
+v 3.106171 -30.597507 -15.869495
+v 3.490851 -29.999546 -16.760578
+v 4.995706 -16.950815 2.208649
+v 4.804029 -16.930435 2.110319
+v 3.805976 -16.235094 3.091927
+v 4.058017 -16.213177 3.108736
+v 4.093325 -16.240078 3.243443
+v 4.703338 -16.914158 2.301161
+v -0.976045 -14.349008 -44.454861
+v -0.557740 -14.950638 -44.359074
+v -0.557740 -12.221078 -45.125374
+v -0.976045 -12.609736 -45.029587
+v 0.000000 -15.175578 -44.359074
+v 1.115480 -13.443878 -44.742226
+v -3.220575 1.275520 8.690395
+v -3.243165 1.280704 8.654852
+v -3.215075 1.281726 8.664719
+v -4.112770 -20.610146 0.168369
+v -3.961028 -20.623207 -0.012024
+v -5.097669 -20.933905 -1.022560
+v -4.008630 -20.543358 -0.119143
+v -4.260670 -20.529295 -0.095369
+v -5.198359 -20.877794 -1.205692
+v -5.006681 -20.822195 -1.289314
+v -4.905991 -20.878305 -1.106182
+v -5.096152 -29.937695 -24.677263
+v -5.977623 -30.216282 -24.869446
+v -5.915693 -29.603767 -22.427784
+v -6.412794 -29.160023 -24.075085
+v -2.498443 -29.542801 -24.688770
+v -2.290256 -30.229088 -25.449360
+v -2.893560 -29.614471 -23.671688
+v -3.175968 -29.591576 -22.016830
+v -3.685295 -29.464909 -21.839231
+v -4.370560 -29.665771 -22.421549
+v -6.139874 -30.086391 -21.186958
+v 5.172599 -30.436550 -17.065123
+v 6.083979 -31.313885 -16.807838
+v 3.045137 -30.937172 -18.219187
+v 4.076650 -30.122803 -16.941221
+v 7.447736 -31.425537 -15.947970
+v 5.458386 -30.794884 -14.564394
+v 5.716020 -30.552483 -13.120538
+v 2.306187 -30.569885 -18.298580
+v 1.700262 -30.772861 -19.006815
+v 1.767854 -31.396748 -19.657490
+v 1.447445 -31.020599 -19.548941
+v 2.160605 -30.479374 -13.667051
+v 1.696230 -30.630051 -13.773374
+v 1.941878 -31.299374 -15.037330
+v 2.682095 -30.698044 -16.150908
+v 5.152139 -30.725212 -12.136088
+v 2.997712 -30.847900 -14.633324
+v 4.364694 -31.346848 -14.357500
+v 3.933384 -16.362947 3.260511
+v 3.941582 -16.319510 3.080956
+v 4.832835 -17.033123 2.242046
+v -1.115480 -13.443878 -44.742226
+v 0.861776 -14.703773 -45.666073
+v 0.492443 -15.227282 -45.557590
+v 0.492444 -12.877151 -46.425385
+v 0.861776 -13.221540 -46.316914
+v 0.000000 -12.796673 -46.425385
+v -4.295978 -20.604521 0.019571
+v -4.144236 -20.617584 -0.160822
+v -4.278041 -30.421375 -24.849009
+v -3.177817 -31.077297 -25.524872
+v -7.104223 -29.895771 -24.606695
+v -6.950076 -30.469410 -24.807293
+v -5.651779 -29.592709 -23.421398
+v -6.289767 -29.394932 -23.610430
+v -2.168287 -30.119732 -24.935087
+v -2.704287 -29.842300 -24.170437
+v -2.719629 -30.643871 -25.659277
+v -2.985604 -30.027420 -22.227943
+v -4.167368 -29.646519 -21.788330
+v -4.835113 -30.117622 -21.971136
+v -5.713568 -30.269001 -20.959995
+v 2.150777 -31.514015 -18.761452
+v 3.291930 -30.356274 -17.610468
+v 3.738477 -30.215622 -17.524715
+v 6.813401 -30.365582 -15.191864
+v 8.015597 -30.627926 -15.060275
+v 7.983611 -31.373634 -15.123764
+v 5.742539 -30.578388 -16.181345
+v 5.270086 -31.331741 -14.643278
+v 5.823914 -30.724571 -12.339245
+v 2.549294 -30.839188 -18.168320
+v 1.589835 -31.700596 -19.471092
+v 1.468031 -31.250156 -19.782660
+v 2.627476 -30.645729 -13.599257
+v 1.544766 -31.102997 -13.860180
+v 4.642327 -31.060951 -12.856565
+v 5.568738 -30.626324 -11.971756
+v 2.854634 -31.337933 -14.798353
+v 4.777736 -31.564514 -12.958443
+v 4.428414 -30.769661 -15.882380
+v -0.861776 -14.703773 -45.666073
+v -0.492443 -15.227282 -45.557590
+v -0.492443 -12.877151 -46.425385
+v -0.861776 -13.221540 -46.316914
+v 0.000000 -15.427171 -45.557590
+v 0.984887 -13.932805 -45.991489
+v -4.136037 -20.724884 -0.010443
+v -5.035488 -20.966619 -1.205421
+v -5.870277 -30.493038 -24.433392
+v -4.267701 -30.462986 -24.259598
+v -3.386230 -31.242615 -25.006178
+v -7.147832 -29.733910 -24.109932
+v -6.792057 -31.070290 -24.689034
+v -6.523097 -30.261753 -21.488316
+v -5.923166 -30.091473 -22.719128
+v -2.335804 -30.292667 -24.426168
+v -1.612741 -30.638203 -25.186213
+v -1.697004 -30.784054 -25.672098
+v -3.188004 -30.209873 -23.903742
+v -3.117832 -30.490292 -22.371395
+v -3.281468 -30.321701 -20.867712
+v -3.766393 -30.170410 -20.834265
+v -4.275970 -30.135529 -21.957310
+v -4.881893 -30.621048 -22.265556
+v -6.848496 -30.386261 -20.116362
+v 5.771543 -31.162491 -16.436035
+v 7.074513 -31.626698 -15.663470
+v 1.641177 -31.672173 -19.076992
+v 7.483723 -30.649490 -14.603292
+v 7.952708 -30.578808 -14.591642
+v 8.303638 -31.040154 -14.925139
+v 5.684562 -31.560841 -13.232826
+v 5.851428 -31.056046 -13.222412
+v 1.892551 -31.338028 -18.568066
+v 1.691330 -31.038097 -18.635904
+v 1.175214 -31.171539 -19.310551
+v 1.713948 -30.799244 -13.208433
+v 2.403759 -30.810852 -13.079457
+v 1.703718 -31.581158 -13.888947
+v 2.402138 -31.482685 -14.957849
+v 5.108764 -31.084507 -11.853992
+v 2.786427 -31.123894 -13.628023
+v 5.225905 -31.730736 -13.114348
+v 4.807068 -31.518280 -14.542115
+v -0.984887 -13.932805 -45.991489
+v 0.762111 -15.076772 -46.707516
+v 0.435492 -15.533634 -46.592087
+v 0.000000 -13.457998 -47.515503
+v 0.435492 -13.531030 -47.515503
+v 0.870984 -14.425527 -47.053799
+v -5.095640 -29.923958 -23.932491
+v -3.425784 -31.124374 -24.326195
+v -2.391005 -31.699940 -25.206335
+v -2.254555 -31.572613 -25.700502
+v -8.047930 -30.164413 -24.144131
+v -8.011974 -30.328819 -24.621216
+v -7.928096 -30.871048 -24.791096
+v -6.078373 -29.945473 -23.594048
+v -5.658627 -30.585716 -22.823477
+v -7.088691 -29.967041 -23.642994
+v -1.723044 -30.757786 -24.705357
+v -2.774889 -30.724785 -24.232300
+v -1.967082 -31.181423 -25.849644
+v -3.410352 -30.053722 -23.345543
+v -3.103972 -30.805202 -20.979948
+v -4.236475 -30.347195 -20.879820
+v -4.061981 -30.597507 -22.193949
+v -5.520570 -30.809792 -20.984049
+v -4.112956 -30.008327 -23.125641
+v -6.441031 -30.556160 -19.874756
+v 6.651623 -30.920067 -15.159398
+v 7.936796 -31.525517 -14.640939
+v 6.015707 -31.085518 -12.128170
+v 1.320769 -31.296024 -18.968441
+v 1.174512 -31.551376 -19.490923
+v 1.297018 -31.621983 -18.998985
+v 2.024379 -30.707684 -12.948930
+v 1.555286 -31.148960 -13.056175
+v 1.713082 -31.480263 -13.260620
+v 5.137038 -31.431709 -12.186537
+v 5.667355 -31.093853 -11.641611
+v 2.170589 -31.747513 -13.821152
+v 2.634964 -31.596836 -13.714829
+v -0.762111 -15.076772 -46.707516
+v -0.435492 -15.533634 -46.592087
+v -0.435492 -13.531030 -47.515503
+v -0.870984 -14.425527 -47.053799
+v 0.000000 -15.713470 -46.592087
+v 0.762111 -13.827682 -47.400082
+v -6.736836 -31.313885 -24.229244
+v -5.898561 -30.436550 -23.907764
+v -3.755195 -30.435337 -23.824524
+v -4.627901 -30.146023 -23.461201
+v -2.332889 -31.561829 -24.707140
+v -7.850214 -31.425529 -24.645626
+v -7.235459 -30.552483 -20.390995
+v -6.586841 -30.794884 -21.687449
+v -2.036664 -31.156723 -24.542906
+v -1.355248 -31.103531 -24.980429
+v -1.161507 -31.111122 -25.374887
+v -1.347409 -31.117073 -25.672012
+v -3.576279 -30.698044 -22.346020
+v -3.242844 -31.299374 -21.098343
+v -3.381553 -30.630051 -19.825369
+v -3.857160 -30.479374 -19.852676
+v -4.369440 -30.847900 -21.004601
+v -5.594141 -31.346848 -21.183949
+v -6.968278 -30.725212 -19.288401
+v 6.729318 -31.462296 -15.332193
+v 7.585865 -31.064167 -14.307444
+v 8.216146 -31.104362 -14.298415
+v 7.451736 -31.395199 -14.666780
+v 5.808813 -31.431068 -12.389692
+v 2.486532 -31.164631 -12.882058
+v 5.555733 -31.543697 -12.010405
+v 2.402894 -31.491871 -13.131645
+v -0.762111 -13.827682 -47.400082
+v 0.676708 -15.484887 -47.623055
+v 0.386690 -15.871074 -47.508846
+v 0.000000 -14.113971 -48.422462
+v 0.386690 -14.176828 -48.422462
+v 0.773380 -14.934712 -47.965652
+v -4.211464 -30.308495 -23.868618
+v -1.715083 -31.649296 -24.978613
+v -1.555858 -31.800480 -25.374044
+v -1.684002 -31.655956 -25.682030
+v -8.029963 -30.365582 -23.675180
+v -8.576690 -30.627926 -24.518951
+v -8.507360 -31.373634 -24.534668
+v -7.556820 -30.724571 -19.670729
+v -6.934592 -30.578388 -23.531887
+v -6.384017 -31.331741 -21.710732
+v -1.363179 -31.450611 -24.916462
+v -1.354185 -31.460991 -25.832474
+v -3.211898 -31.102997 -19.866522
+v -4.324429 -30.645729 -19.917679
+v -4.186038 -31.337936 -21.123220
+v -5.233966 -30.769661 -22.610977
+v -6.379524 -31.564514 -19.973831
+v -6.277873 -31.060951 -19.838251
+v -7.414169 -30.626324 -19.246685
+v 1.972680 -31.171246 -12.710789
+v 2.017439 -31.605907 -12.989304
+v -0.676707 -15.484887 -47.623055
+v -0.386690 -15.871075 -47.508846
+v -0.386690 -14.176828 -48.422462
+v -0.773380 -14.934712 -47.965656
+v 0.000000 -16.023170 -47.508846
+v 0.676708 -14.429156 -48.308258
+v -7.832248 -31.626698 -24.176678
+v -6.784364 -31.162491 -23.739628
+v -8.590857 -30.649490 -23.817863
+v -8.786341 -30.578808 -24.172272
+v -8.752322 -31.040154 -24.655195
+v -7.337111 -31.056046 -20.526571
+v -7.173953 -31.560837 -20.490070
+v -1.144286 -31.551376 -25.433865
+v -3.707019 -31.482685 -21.150284
+v -3.356534 -31.581158 -19.938450
+v -3.556014 -30.799244 -19.287745
+v -4.254440 -30.810852 -19.356123
+v -4.469065 -31.123894 -19.989605
+v -5.967536 -31.518280 -21.484535
+v -6.766488 -31.730736 -20.248465
+v -7.005239 -31.084507 -19.005394
+v -0.676707 -14.429156 -48.308258
+v 0.605223 -15.945004 -48.456543
+v 0.345842 -16.240973 -48.354198
+v 0.000000 -14.756471 -49.172997
+v 0.345842 -14.808669 -49.172997
+v 0.605223 -15.026958 -49.070644
+v -7.952081 -30.920067 -23.529716
+v -8.738186 -31.525517 -24.191359
+v -7.799839 -31.085518 -19.521469
+v -3.540638 -31.480263 -19.337627
+v -3.446071 -31.148960 -19.097305
+v -3.926467 -30.707684 -19.125040
+v -4.299410 -31.596836 -20.030762
+v -3.823802 -31.747513 -20.003452
+v -6.939715 -31.431709 -19.332644
+v -7.600888 -31.093853 -18.957106
+v -0.605223 -15.945004 -48.456543
+v -0.345842 -16.240973 -48.354198
+v -0.345841 -14.808669 -49.172997
+v -0.605223 -15.026957 -49.070648
+v 0.000000 -16.344955 -48.354198
+v 0.691683 -15.473034 -48.763596
+v -7.868202 -31.462296 -23.699594
+v -8.772203 -31.064167 -23.708441
+v -9.036322 -31.104362 -24.188951
+v -8.521523 -31.395199 -23.833580
+v -7.528257 -31.431068 -19.714970
+v -4.388947 -31.164631 -19.189615
+v -4.239065 -31.491871 -19.406006
+v -7.390908 -31.543697 -19.280178
+v -0.691683 -15.473034 -48.763596
+v 0.540626 -16.354780 -49.243664
+v 0.308929 -16.574348 -49.161842
+v 0.000000 -15.291397 -49.816475
+v 0.308929 -15.334400 -49.816483
+v 0.540626 -15.528085 -49.734646
+v -3.908551 -31.605907 -19.161880
+v -3.943185 -31.171246 -18.881927
+v -0.540626 -16.354782 -49.243664
+v -0.308929 -16.574348 -49.161839
+v -0.308929 -15.334400 -49.816475
+v -0.540626 -15.528085 -49.734642
+v 0.000000 -16.634609 -49.161839
+v 0.617858 -15.937119 -49.489159
+v -0.617858 -15.937119 -49.489155
+v 0.475886 -16.611877 -50.020096
+v 0.271935 -16.802216 -49.965496
+v 0.000000 -15.624648 -50.402264
+v 0.271935 -15.661880 -50.402264
+v 0.543870 -16.223591 -50.183884
+v -0.475886 -16.611877 -50.020096
+v -0.271935 -16.802216 -49.965496
+v -0.271935 -15.661880 -50.402264
+v -0.543870 -16.223591 -50.183884
+v 0.000000 -16.847902 -49.965500
+v 0.475886 -15.839538 -50.347672
+v -0.475886 -15.839536 -50.347668
+v 0.420611 -16.751410 -50.724262
+v 0.240349 -16.936008 -50.694969
+v -0.000001 -15.813523 -50.929333
+v 0.240349 -15.847706 -50.929333
+v 0.480698 -16.380352 -50.812153
+v -0.420611 -16.751408 -50.724262
+v -0.240349 -16.936008 -50.694973
+v -0.240349 -15.847706 -50.929333
+v -0.480698 -16.380352 -50.812153
+v 0.000000 -16.981691 -50.694969
+v 0.420610 -16.015049 -50.900040
+v -0.420611 -16.015049 -50.900032
+v 0.384407 -16.808500 -51.294621
+v 0.219661 -16.987148 -51.280048
+v 0.000000 -15.915323 -51.396648
+v 0.219661 -15.948487 -51.396648
+v 0.439322 -16.455299 -51.338348
+v -0.384407 -16.808500 -51.294621
+v -0.219661 -16.987148 -51.280048
+v -0.219661 -15.948489 -51.396645
+v -0.439322 -16.455299 -51.338348
+v 0.000000 -17.032831 -51.280048
+v 0.384407 -16.108358 -51.382072
+v -0.384407 -16.108358 -51.382072
+v 0.192761 -16.914864 -51.858109
+v 0.000000 -16.957006 -51.858727
+v 0.337332 -16.754078 -51.862877
+v 0.000000 -15.967505 -51.702847
+v 0.328423 -16.133892 -51.887840
+v 0.385522 -16.440285 -51.879646
+v -0.192761 -16.914864 -51.858109
+v -0.337332 -16.754078 -51.862873
+v -0.328423 -16.133892 -51.887840
+v -0.385522 -16.440285 -51.879646
+v 0.157127 -15.995308 -51.866882
+v -0.157126 -15.995310 -51.866882
+v 0.000000 -16.709892 -52.569008
+v 0.142539 -16.678383 -52.566536
+v 0.249443 -16.559069 -52.560726
+v 0.285078 -16.327164 -52.553230
+v 0.000000 -16.019251 -52.402718
+v -0.142539 -16.678383 -52.566536
+v -0.249443 -16.559069 -52.560726
+v -0.285078 -16.327162 -52.553226
+v 0.213808 -16.106083 -52.511417
+v -0.213808 -16.106083 -52.511417
+v 0.000000 -16.498852 -52.993443
+v 0.164634 -16.388527 -52.979282
+v 0.130873 -16.108318 -52.938587
+v -0.164634 -16.388527 -52.979282
+v -0.130873 -16.108318 -52.938580
+v 0.075962 -16.402218 -53.137794
+v 0.151925 -16.217007 -53.110874
+v 0.000000 -16.059956 -53.054592
+v -0.075962 -16.402218 -53.137794
+v -0.151925 -16.217007 -53.110874
+v 0.000000 -16.210886 -53.304363
+v -2.434903 1.642859 8.857885
+v -2.372223 1.948102 8.882011
+v -1.761311 1.715637 7.431217
+v -1.731890 2.018994 7.503353
+vt 0.728660 0.086176
+vt 0.729153 0.086051
+vt 0.729191 0.089845
+vt 0.729315 0.081911
+vt 0.728805 0.084264
+vt 0.730089 0.085917
+vt 0.730089 0.090230
+vt 0.730089 0.081956
+vt 0.730089 0.080958
+vt 0.729775 0.081002
+vt 0.730858 0.081859
+vt 0.730988 0.082599
+vt 0.731063 0.085871
+vt 0.730584 0.081236
+vt 0.731063 0.090269
+vt 0.730247 0.092122
+vt 0.729595 0.091043
+vt 0.731053 0.093390
+vt 0.732149 0.088053
+vt 0.732037 0.090230
+vt 0.731857 0.085908
+vt 0.732180 0.094159
+vt 0.732543 0.090168
+vt 0.732778 0.093478
+vt 0.354065 0.549436
+vt 0.354554 0.549756
+vt 0.354744 0.552903
+vt 0.354170 0.550633
+vt 0.354560 0.546000
+vt 0.354063 0.547728
+vt 0.355490 0.550104
+vt 0.355490 0.553199
+vt 0.355490 0.546095
+vt 0.356193 0.553430
+vt 0.356464 0.550222
+vt 0.356483 0.552373
+vt 0.907097 0.963996
+vt 0.907843 0.963682
+vt 0.907831 0.964537
+vt 0.907581 0.964638
+vt 0.355490 0.543992
+vt 0.355016 0.544738
+vt 0.356464 0.546135
+vt 0.355477 0.553703
+vt 0.356022 0.543177
+vt 0.356459 0.542467
+vt 0.357202 0.550159
+vt 0.357438 0.546095
+vt 0.357494 0.548145
+vt 0.357238 0.541746
+vt 0.357438 0.541782
+vt 0.356893 0.551179
+vt 0.389756 0.831805
+vt 0.388989 0.830097
+vt 0.388174 0.828900
+vt 0.388648 0.828523
+vt 0.390621 0.831796
+vt 0.386713 0.826630
+vt 0.386697 0.826349
+vt 0.390903 0.833534
+vt 0.386584 0.825384
+vt 0.392017 0.834675
+vt 0.391327 0.834795
+vt 0.336995 0.836089
+vt 0.336838 0.835527
+vt 0.337829 0.834470
+vt 0.339205 0.833643
+vt 0.355285 0.553961
+vt 0.355228 0.553602
+vt 0.386071 0.825931
+vt 0.386039 0.825573
+vt 0.391881 0.836356
+vt 0.391663 0.835541
+vt 0.356416 0.553993
+vt 0.357041 0.551547
+vt 0.357853 0.551982
+vt 0.356936 0.554597
+vt 0.355691 0.554791
+vt 0.338713 0.833276
+vt 0.386188 0.824742
+vt 0.387589 0.825813
+vt 0.389112 0.828628
+vt 0.353892 0.547737
+vt 0.354001 0.551010
+vt 0.353352 0.550905
+vt 0.353234 0.547591
+vt 0.354871 0.544858
+vt 0.354029 0.544714
+vt 0.393005 0.837250
+vt 0.392068 0.837066
+vt 0.392081 0.837787
+vt 0.341413 0.830281
+vt 0.339477 0.832255
+vt 0.340312 0.830241
+vt 0.357639 0.548185
+vt 0.358624 0.548237
+vt 0.355970 0.555515
+vt 0.386689 0.824431
+vt 0.386068 0.824087
+vt 0.354947 0.542356
+vt 0.356383 0.542283
+vt 0.341028 0.828222
+vt 0.342263 0.826733
+vt 0.341265 0.826535
+vt 0.358485 0.553150
+vt 0.357194 0.556346
+vt 0.355055 0.555446
+vt 0.354793 0.554149
+vt 0.353876 0.553720
+vt 0.354294 0.555102
+vt 0.353718 0.555411
+vt 0.352803 0.552911
+vt 0.352321 0.550190
+vt 0.352123 0.547103
+vt 0.352764 0.544509
+vt 0.355197 0.540599
+vt 0.356195 0.540084
+vt 0.358280 0.544637
+vt 0.359151 0.543927
+vt 0.357768 0.541744
+vt 0.358478 0.541991
+vt 0.358111 0.542358
+vt 0.341613 0.824455
+vt 0.342469 0.824087
+vt 0.359913 0.548587
+vt 0.356030 0.557549
+vt 0.354902 0.557117
+vt 0.353459 0.542222
+vt 0.354195 0.540026
+vt 0.392798 0.838200
+vt 0.392013 0.837963
+vt 0.894621 0.964529
+vt 0.894384 0.963745
+vt 0.895042 0.964023
+vt 0.894795 0.964646
+vt 0.359001 0.540569
+vt 0.360113 0.543052
+vt 0.281241 0.813522
+vt 0.284081 0.818084
+vt 0.281096 0.814992
+vt 0.278686 0.810481
+vt 0.358286 0.556190
+vt 0.356951 0.560652
+vt 0.352626 0.555972
+vt 0.351196 0.550832
+vt 0.351033 0.548615
+vt 0.350628 0.546200
+vt 0.351516 0.542726
+vt 0.351307 0.544481
+vt 0.355532 0.538511
+vt 0.357749 0.541333
+vt 0.357739 0.539681
+vt 0.282196 0.816802
+vt 0.283622 0.819138
+vt 0.355780 0.562312
+vt 0.354446 0.560858
+vt 0.352809 0.540082
+vt 0.359480 0.538995
+vt 0.360663 0.547534
+vt 0.360672 0.542828
+vt 0.359480 0.551679
+vt 0.360232 0.549869
+vt 0.360409 0.550641
+vt 0.359162 0.553616
+vt 0.279176 0.813055
+vt 0.276558 0.807690
+vt 0.357939 0.558981
+vt 0.357246 0.565512
+vt 0.347695 0.552810
+vt 0.348051 0.543974
+vt 0.349854 0.536408
+vt 0.354915 0.537758
+vt 0.357624 0.537825
+vt 0.361277 0.547822
+vt 0.356065 0.567979
+vt 0.351594 0.565100
+vt 0.354145 0.533914
+vt 0.357558 0.536965
+vt 0.255510 0.822836
+vt 0.256641 0.822611
+vt 0.256896 0.826669
+vt 0.255684 0.827247
+vt 0.361303 0.543270
+vt 0.361166 0.551576
+vt 0.362579 0.548062
+vt 0.359322 0.555249
+vt 0.358130 0.559397
+vt 0.358726 0.562055
+vt 0.337633 0.556225
+vt 0.335603 0.541950
+vt 0.336562 0.530010
+vt 0.344143 0.524646
+vt 0.359793 0.538417
+vt 0.360574 0.536337
+vt 0.362480 0.544395
+vt 0.359937 0.567724
+vt 0.357731 0.572721
+vt 0.339021 0.568593
+vt 0.350927 0.572603
+vt 0.353028 0.523068
+vt 0.357624 0.533164
+vt 0.362734 0.539834
+vt 0.362702 0.552339
+vt 0.364410 0.544614
+vt 0.360284 0.557179
+vt 0.361333 0.562803
+vt 0.328276 0.564139
+vt 0.323083 0.546555
+vt 0.322767 0.530918
+vt 0.322761 0.513338
+vt 0.338613 0.510843
+vt 0.362801 0.557810
+vt 0.538182 0.682119
+vt 0.540654 0.678841
+vt 0.544127 0.683762
+vt 0.543781 0.685704
+vt 0.361423 0.572257
+vt 0.364112 0.564446
+vt 0.329992 0.582559
+vt 0.340236 0.579926
+vt 0.350011 0.581085
+vt 0.351842 0.510273
+vt 0.357902 0.522482
+vt 0.362307 0.530705
+vt 0.360438 0.524494
+vt 0.363535 0.528313
+vt 0.365220 0.552597
+vt 0.366783 0.543621
+vt 0.364516 0.560861
+vt 0.365752 0.556060
+vt 0.355696 0.582142
+vt 0.358833 0.581346
+vt 0.326954 0.580777
+vt 0.325236 0.562686
+vt 0.322597 0.549205
+vt 0.318297 0.540887
+vt 0.315605 0.527240
+vt 0.313236 0.511804
+vt 0.336202 0.501044
+vt 0.321511 0.501983
+vt 0.350867 0.500585
+vt 0.358387 0.510228
+vt 0.365685 0.527337
+vt 0.534220 0.674309
+vt 0.528123 0.684717
+vt 0.525861 0.676606
+vt 0.543235 0.693245
+vt 0.544559 0.691117
+vt 0.326252 0.601804
+vt 0.326416 0.595083
+vt 0.329378 0.595787
+vt 0.329004 0.603852
+vt 0.341749 0.591093
+vt 0.336508 0.596688
+vt 0.320313 0.544739
+vt 0.348070 0.591473
+vt 0.318316 0.544722
+vt 0.359072 0.501708
+vt 0.361176 0.515330
+vt 0.367674 0.551648
+vt 0.368946 0.543228
+vt 0.547746 0.690505
+vt 0.547441 0.695721
+vt 0.538999 0.694971
+vt 0.531203 0.696926
+vt 0.543008 0.697093
+vt 0.351435 0.596326
+vt 0.530077 0.650239
+vt 0.535530 0.664423
+vt 0.531016 0.665219
+vt 0.525801 0.650468
+vt 0.523087 0.667531
+vt 0.170472 0.636037
+vt 0.168118 0.640504
+vt 0.168049 0.638993
+vt 0.168943 0.636414
+vt 0.161500 0.653984
+vt 0.165727 0.643123
+vt 0.311905 0.529025
+vt 0.316231 0.545619
+vt 0.306282 0.512335
+vt 0.313232 0.502296
+vt 0.321573 0.496307
+vt 0.335562 0.494664
+vt 0.349504 0.493470
+vt 0.356816 0.494267
+vt 0.362817 0.510962
+vt 0.367836 0.528311
+vt 0.517699 0.679545
+vt 0.519675 0.692912
+vt 0.547498 0.704503
+vt 0.325221 0.617130
+vt 0.325705 0.609014
+vt 0.328686 0.609250
+vt 0.328145 0.618430
+vt 0.336385 0.609697
+vt 0.158106 0.660018
+vt 0.154733 0.672075
+vt 0.155958 0.665095
+vt 0.343089 0.599546
+vt 0.340514 0.604243
+vt 0.090767 0.814846
+vt 0.089238 0.815534
+vt 0.089289 0.814118
+vt 0.162771 0.648993
+vt 0.165260 0.643310
+vt 0.346489 0.598430
+vt 0.090771 0.812849
+vt 0.314116 0.496854
+vt 0.362165 0.500095
+vt 0.359482 0.494111
+vt 0.365644 0.511232
+vt 0.549658 0.697778
+vt 0.550732 0.694917
+vt 0.552816 0.703338
+vt 0.550684 0.704333
+vt 0.542538 0.708160
+vt 0.535238 0.711578
+vt 0.521514 0.700918
+vt 0.515273 0.670218
+vt 0.545763 0.706550
+vt 0.348402 0.601935
+vt 0.524829 0.637583
+vt 0.520366 0.634586
+vt 0.518471 0.652433
+vt 0.151038 0.676675
+vt 0.152911 0.672281
+vt 0.153829 0.670124
+vt 0.159258 0.657296
+vt 0.167141 0.639463
+vt 0.161615 0.651725
+vt 0.309453 0.534380
+vt 0.311050 0.547971
+vt 0.303456 0.527794
+vt 0.307633 0.501613
+vt 0.314411 0.493618
+vt 0.321593 0.492993
+vt 0.335349 0.491115
+vt 0.348820 0.489700
+vt 0.355146 0.490460
+vt 0.554679 0.718254
+vt 0.554544 0.735333
+vt 0.551339 0.719261
+vt 0.552408 0.714800
+vt 0.736022 0.057661
+vt 0.739380 0.071028
+vt 0.734536 0.065074
+vt 0.732330 0.060054
+vt 0.730295 0.050255
+vt 0.733432 0.048334
+vt 0.348718 0.608982
+vt 0.347904 0.608942
+vt 0.511349 0.655073
+vt 0.152015 0.674383
+vt 0.325583 0.622560
+vt 0.327858 0.623434
+vt 0.335109 0.619124
+vt 0.341077 0.611482
+vt 0.160440 0.654503
+vt 0.780635 0.867729
+vt 0.780995 0.866645
+vt 0.780282 0.868793
+vt 0.345958 0.601235
+vt 0.343785 0.602735
+vt 0.342267 0.606861
+vt 0.087437 0.816302
+vt 0.087087 0.815600
+vt 0.089263 0.812724
+vt 0.292772 0.519294
+vt 0.296549 0.505451
+vt 0.300985 0.499566
+vt 0.308339 0.496533
+vt 0.308708 0.493427
+vt 0.556231 0.752454
+vt 0.560755 0.752298
+vt 0.558089 0.756105
+vt 0.554556 0.756337
+vt 0.547905 0.748970
+vt 0.556242 0.746470
+vt 0.549435 0.753970
+vt 0.545086 0.740428
+vt 0.547432 0.722590
+vt 0.549150 0.717188
+vt 0.525900 0.715901
+vt 0.540365 0.727022
+vt 0.735932 0.071094
+vt 0.739115 0.072512
+vt 0.726034 0.035446
+vt 0.728577 0.033189
+vt 0.347251 0.604091
+vt 0.522396 0.630981
+vt 0.520279 0.629322
+vt 0.514120 0.638197
+vt 0.484841 0.786593
+vt 0.484861 0.788750
+vt 0.483947 0.788608
+vt 0.484033 0.786501
+vt 0.136740 0.709493
+vt 0.138759 0.708428
+vt 0.136556 0.710263
+vt 0.135842 0.710579
+vt 0.134863 0.713858
+vt 0.134936 0.712291
+vt 0.484229 0.781565
+vt 0.484047 0.784043
+vt 0.483403 0.781393
+vt 0.164918 0.643133
+vt 0.166792 0.639214
+vt 0.166781 0.636291
+vt 0.168994 0.635853
+vt 0.165727 0.638590
+vt 0.087128 0.813923
+vt 0.087472 0.813047
+vt 0.303424 0.546570
+vt 0.316766 0.562691
+vt 0.312184 0.563205
+vt 0.289102 0.533362
+vt 0.299383 0.495569
+vt 0.342351 0.670553
+vt 0.349329 0.670553
+vt 0.349105 0.676256
+vt 0.341899 0.676154
+vt 0.349470 0.663371
+vt 0.342546 0.663371
+vt 0.349894 0.649615
+vt 0.343132 0.649615
+vt 0.347134 0.628441
+vt 0.350667 0.629818
+vt 0.350369 0.636144
+vt 0.343579 0.634197
+vt 0.731845 0.068006
+vt 0.733325 0.072197
+vt 0.730664 0.065649
+vt 0.724610 0.052317
+vt 0.725525 0.061207
+vt 0.722668 0.041285
+vt 0.347466 0.608895
+vt 0.523820 0.632531
+vt 0.525881 0.637623
+vt 0.512136 0.631709
+vt 0.515211 0.629541
+vt 0.506977 0.638875
+vt 0.723317 0.022019
+vt 0.723407 0.016991
+vt 0.484760 0.790853
+vt 0.483908 0.790679
+vt 0.484650 0.793144
+vt 0.484092 0.793063
+vt 0.137496 0.708282
+vt 0.581676 0.830024
+vt 0.583353 0.830024
+vt 0.583352 0.832299
+vt 0.581259 0.832110
+vt 0.334684 0.622298
+vt 0.342800 0.615900
+vt 0.342236 0.619064
+vt 0.344165 0.615464
+vt 0.342938 0.611881
+vt 0.483516 0.776488
+vt 0.483876 0.779051
+vt 0.482999 0.778902
+vt 0.482721 0.776340
+vt 0.345869 0.602111
+vt 0.344104 0.603422
+vt 0.342863 0.607072
+vt 0.163555 0.646191
+vt 0.163896 0.642657
+vt 0.117693 0.802533
+vt 0.119854 0.805797
+vt 0.117642 0.805359
+vt 0.116664 0.803179
+vt 0.481942 0.765463
+vt 0.481200 0.765265
+vt 0.480987 0.762660
+vt 0.091309 0.810764
+vt 0.318434 0.562570
+vt 0.306769 0.563887
+vt 0.273703 0.523009
+vt 0.279737 0.510207
+vt 0.287363 0.496413
+vt 0.354407 0.676625
+vt 0.354272 0.685581
+vt 0.348432 0.685575
+vt 0.550293 0.756748
+vt 0.542957 0.756505
+vt 0.539536 0.751378
+vt 0.533341 0.737986
+vt 0.530624 0.730967
+vt 0.737399 0.077506
+vt 0.740351 0.078708
+vt 0.518542 0.699319
+vt 0.516162 0.694396
+vt 0.520828 0.700343
+vt 0.726192 0.069197
+vt 0.721088 0.034000
+vt 0.723001 0.030082
+vt 0.346935 0.604599
+vt 0.524704 0.633328
+vt 0.526521 0.637670
+vt 0.346466 0.614034
+vt 0.346376 0.615584
+vt 0.346049 0.617243
+vt 0.517314 0.628197
+vt 0.508403 0.631726
+vt 0.722503 0.022640
+vt 0.484536 0.795506
+vt 0.483682 0.795371
+vt 0.484425 0.797819
+vt 0.484313 0.800150
+vt 0.483458 0.799992
+vt 0.483511 0.797679
+vt 0.482598 0.789619
+vt 0.482675 0.788187
+vt 0.482744 0.786601
+vt 0.139017 0.704851
+vt 0.138052 0.707137
+vt 0.138521 0.706010
+vt 0.135637 0.709951
+vt 0.136522 0.709170
+vt 0.134858 0.711346
+vt 0.133519 0.712778
+vt 0.133186 0.714188
+vt 0.583646 0.839125
+vt 0.580819 0.838366
+vt 0.584420 0.846354
+vt 0.587805 0.839550
+vt 0.588181 0.846677
+vt 0.482740 0.770972
+vt 0.483133 0.773766
+vt 0.482637 0.773629
+vt 0.481971 0.770783
+vt 0.227430 0.809624
+vt 0.226513 0.812082
+vt 0.225652 0.811201
+vt 0.226441 0.809350
+vt 0.227316 0.807220
+vt 0.228671 0.806974
+vt 0.162547 0.645780
+vt 0.164669 0.637946
+vt 0.165877 0.634073
+vt 0.482350 0.768195
+vt 0.481527 0.768044
+vt 0.318752 0.551885
+vt 0.318514 0.548032
+vt 0.319390 0.547818
+vt 0.319827 0.551809
+vt 0.318191 0.545013
+vt 0.284986 0.539926
+vt 0.297025 0.551729
+vt 0.302599 0.564516
+vt 0.317095 0.579418
+vt 0.312542 0.579244
+vt 0.269252 0.529306
+vt 0.340544 0.685170
+vt 0.335373 0.670553
+vt 0.334694 0.676256
+vt 0.335622 0.663371
+vt 0.336369 0.649615
+vt 0.342871 0.627065
+vt 0.339128 0.628441
+vt 0.336804 0.636144
+vt 0.546551 0.758828
+vt 0.730378 0.071885
+vt 0.731550 0.073570
+vt 0.732728 0.074834
+vt 0.732538 0.075011
+vt 0.734883 0.078171
+vt 0.515561 0.700592
+vt 0.518728 0.704747
+vt 0.714835 0.053431
+vt 0.713619 0.065427
+vt 0.716348 0.041686
+vt 0.717688 0.032887
+vt 0.347108 0.608838
+vt 0.718975 0.865886
+vt 0.719630 0.867602
+vt 0.718746 0.867663
+vt 0.718231 0.865362
+vt 0.510637 0.626810
+vt 0.504968 0.643903
+vt 0.503295 0.637069
+vt 0.504116 0.634491
+vt 0.484220 0.802563
+vt 0.483636 0.802480
+vt 0.484090 0.804794
+vt 0.483230 0.804732
+vt 0.138906 0.803503
+vt 0.140194 0.803275
+vt 0.139066 0.805659
+vt 0.138125 0.805419
+vt 0.139280 0.802490
+vt 0.140460 0.802215
+vt 0.483240 0.823606
+vt 0.483182 0.824751
+vt 0.482360 0.824567
+vt 0.482381 0.823506
+vt 0.483094 0.825962
+vt 0.482535 0.825639
+vt 0.134827 0.710505
+vt 0.133707 0.711808
+vt 0.131925 0.712897
+vt 0.131482 0.714214
+vt 0.579972 0.830024
+vt 0.579582 0.831541
+vt 0.579182 0.846574
+vt 0.344688 0.614953
+vt 0.343366 0.611604
+vt 0.481984 0.780241
+vt 0.481741 0.778479
+vt 0.481484 0.776499
+vt 0.483757 0.785619
+vt 0.482758 0.785863
+vt 0.227721 0.806136
+vt 0.228968 0.805822
+vt 0.345614 0.603284
+vt 0.344314 0.604365
+vt 0.343397 0.607420
+vt 0.161759 0.647629
+vt 0.162585 0.648795
+vt 0.162867 0.642201
+vt 0.161527 0.645403
+vt 0.115215 0.800019
+vt 0.115890 0.798542
+vt 0.115630 0.803808
+vt 0.116737 0.807577
+vt 0.480286 0.767620
+vt 0.480001 0.765416
+vt 0.318652 0.579122
+vt 0.307540 0.578784
+vt 0.258132 0.513879
+vt 0.252591 0.520062
+vt 0.266687 0.501863
+vt 0.274735 0.490226
+vt 0.288665 0.490549
+vt 0.299388 0.492851
+vt 0.336116 0.629818
+vt 0.543538 0.760729
+vt 0.539126 0.758886
+vt 0.533685 0.752716
+vt 0.531560 0.743792
+vt 0.729045 0.073615
+vt 0.733921 0.079618
+vt 0.739818 0.083697
+vt 0.742273 0.084036
+vt 0.523574 0.712048
+vt 0.655561 0.787574
+vt 0.654407 0.780143
+vt 0.657327 0.786007
+vt 0.657899 0.790638
+vt 0.712232 0.078365
+vt 0.720557 0.031235
+vt 0.721850 0.028156
+vt 0.346405 0.605262
+vt 0.346405 0.613237
+vt 0.346196 0.612781
+vt 0.344761 0.614384
+vt 0.588824 0.850489
+vt 0.585859 0.849842
+vt 0.515875 0.626320
+vt 0.505926 0.631844
+vt 0.721065 0.017266
+vt 0.720974 0.015185
+vt 0.722065 0.023036
+vt 0.483929 0.808141
+vt 0.483853 0.809728
+vt 0.483290 0.809631
+vt 0.483073 0.807984
+vt 0.484005 0.806575
+vt 0.483091 0.806436
+vt 0.138199 0.807967
+vt 0.137430 0.807056
+vt 0.182461 0.803079
+vt 0.183675 0.802822
+vt 0.182512 0.805310
+vt 0.181655 0.805058
+vt 0.482149 0.798893
+vt 0.482240 0.797259
+vt 0.482316 0.795457
+vt 0.139618 0.801566
+vt 0.140469 0.801453
+vt 0.481808 0.788857
+vt 0.481584 0.787690
+vt 0.481917 0.786620
+vt 0.482750 0.821250
+vt 0.483319 0.821321
+vt 0.483282 0.822479
+vt 0.482457 0.822381
+vt 0.135042 0.709247
+vt 0.135643 0.708954
+vt 0.136286 0.708693
+vt 0.132309 0.711977
+vt 0.579359 0.836091
+vt 0.302462 0.814533
+vt 0.301444 0.817243
+vt 0.300633 0.816140
+vt 0.301481 0.814150
+vt 0.302414 0.811880
+vt 0.303789 0.811686
+vt 0.225441 0.809109
+vt 0.224286 0.811560
+vt 0.226458 0.806306
+vt 0.227000 0.805193
+vt 0.343754 0.611360
+vt 0.160326 0.647942
+vt 0.113777 0.799686
+vt 0.164340 0.637640
+vt 0.162501 0.642085
+vt 0.294381 0.800390
+vt 0.293143 0.800106
+vt 0.294432 0.796233
+vt 0.295147 0.796539
+vt 0.480555 0.769562
+vt 0.480840 0.764098
+vt 0.479888 0.764341
+vt 0.319950 0.554834
+vt 0.318931 0.554987
+vt 0.791404 0.755932
+vt 0.800173 0.757762
+vt 0.795879 0.773496
+vt 0.787672 0.771327
+vt 0.789825 0.785535
+vt 0.782396 0.783164
+vt 0.782793 0.791109
+vt 0.776519 0.789336
+vt 0.304635 0.578223
+vt 0.311807 0.595252
+vt 0.315540 0.596424
+vt 0.278754 0.485178
+vt 0.347879 0.696298
+vt 0.339189 0.695542
+vt 0.332657 0.685575
+vt 0.329330 0.670847
+vt 0.328615 0.676625
+vt 0.329460 0.663391
+vt 0.329825 0.649402
+vt 0.330535 0.635460
+vt 0.524455 0.729156
+vt 0.525243 0.727402
+vt 0.730629 0.076976
+vt 0.731792 0.078481
+vt 0.732885 0.078514
+vt 0.034383 0.807569
+vt 0.033901 0.807746
+vt 0.034224 0.802961
+vt 0.035212 0.801657
+vt 0.737301 0.084010
+vt 0.515553 0.705920
+vt 0.518041 0.707692
+vt 0.704591 0.049785
+vt 0.702875 0.069371
+vt 0.711107 0.035446
+vt 0.718384 0.029728
+vt 0.715112 0.027865
+vt 0.346532 0.608765
+vt 0.506065 0.629469
+vt 0.721004 0.018421
+vt 0.718764 0.015793
+vt 0.717399 0.014961
+vt 0.720647 0.012607
+vt 0.716835 0.010734
+vt 0.483775 0.811348
+vt 0.482918 0.811192
+vt 0.181660 0.807562
+vt 0.180934 0.806756
+vt 0.483440 0.794460
+vt 0.482324 0.794631
+vt 0.182844 0.802046
+vt 0.183967 0.801722
+vt 0.138031 0.802763
+vt 0.138518 0.801758
+vt 0.137184 0.805180
+vt 0.139025 0.801113
+vt 0.483482 0.816934
+vt 0.483434 0.818459
+vt 0.482520 0.818322
+vt 0.482651 0.816738
+vt 0.483365 0.820019
+vt 0.482500 0.819934
+vt 0.136628 0.708011
+vt 0.137418 0.708098
+vt 0.481212 0.823990
+vt 0.481270 0.823251
+vt 0.134641 0.709370
+vt 0.133958 0.710862
+vt 0.132620 0.711288
+vt 0.130788 0.712000
+vt 0.130332 0.712228
+vt 0.129828 0.713877
+vt 0.578318 0.830024
+vt 0.578104 0.831920
+vt 0.578375 0.837608
+vt 0.344773 0.613776
+vt 0.482372 0.775237
+vt 0.481380 0.775527
+vt 0.302840 0.810750
+vt 0.304110 0.810465
+vt 0.228113 0.805088
+vt 0.229012 0.804945
+vt 0.481110 0.779364
+vt 0.480647 0.777950
+vt 0.480738 0.776583
+vt 0.630648 0.857208
+vt 0.632014 0.857491
+vt 0.631865 0.858489
+vt 0.630665 0.858526
+vt 0.481646 0.785946
+vt 0.345351 0.604270
+vt 0.344441 0.605152
+vt 0.343799 0.607683
+vt 0.161149 0.645356
+vt 0.320185 0.550333
+vt 0.321122 0.550973
+vt 0.321046 0.552158
+vt 0.292805 0.796337
+vt 0.291569 0.800095
+vt 0.291757 0.796503
+vt 0.292934 0.801651
+vt 0.294064 0.801881
+vt 0.479672 0.768608
+vt 0.479191 0.767069
+vt 0.479262 0.765542
+vt 0.321091 0.554370
+vt 0.319231 0.560421
+vt 0.319081 0.557708
+vt 0.316802 0.595619
+vt 0.319384 0.572859
+vt 0.319456 0.579027
+vt 0.801924 0.741101
+vt 0.792647 0.739085
+vt 0.307885 0.593554
+vt 0.241024 0.504034
+vt 0.233466 0.510048
+vt 0.252995 0.492846
+vt 0.264215 0.482175
+vt 0.331703 0.628148
+vt 0.725466 0.133182
+vt 0.733670 0.130832
+vt 0.731414 0.137003
+vt 0.724103 0.138638
+vt 0.737416 0.121909
+vt 0.732986 0.123543
+vt 0.735775 0.118353
+vt 0.740284 0.107272
+vt 0.738134 0.106738
+vt 0.729501 0.077502
+vt 0.727225 0.078914
+vt 0.722294 0.081946
+vt 0.735764 0.084192
+vt 0.741382 0.092631
+vt 0.743545 0.092164
+vt 0.739009 0.092047
+vt 0.520838 0.713684
+vt 0.658307 0.799279
+vt 0.660885 0.800003
+vt 0.662254 0.799918
+vt 0.710202 0.092933
+vt 0.697682 0.088236
+vt 0.720468 0.030535
+vt 0.721534 0.027825
+vt 0.345904 0.605796
+vt 0.345844 0.612257
+vt 0.716732 0.004926
+vt 0.716512 0.007585
+vt 0.709283 0.005484
+vt 0.708524 0.003690
+vt 0.720000 0.009961
+vt 0.719287 0.016632
+vt 0.721707 0.023281
+vt 0.027888 0.794547
+vt 0.028921 0.794546
+vt 0.028123 0.796193
+vt 0.027342 0.795900
+vt 0.481753 0.807080
+vt 0.481819 0.806016
+vt 0.481865 0.804764
+vt 0.482971 0.803927
+vt 0.481853 0.804120
+vt 0.136148 0.807405
+vt 0.181705 0.802262
+vt 0.182197 0.801223
+vt 0.180798 0.804805
+vt 0.183211 0.801052
+vt 0.184022 0.800901
+vt 0.481359 0.798072
+vt 0.481145 0.796755
+vt 0.481484 0.795526
+vt 0.140288 0.799914
+vt 0.141226 0.800286
+vt 0.141408 0.799216
+vt 0.140873 0.798542
+vt 0.483622 0.814541
+vt 0.483519 0.815738
+vt 0.482998 0.815659
+vt 0.482760 0.814460
+vt 0.012830 0.806402
+vt 0.012436 0.807533
+vt 0.011767 0.806970
+vt 0.012112 0.806184
+vt 0.481285 0.822358
+vt 0.773137 0.867645
+vt 0.772952 0.868793
+vt 0.772162 0.868476
+vt 0.772344 0.867557
+vt 0.134793 0.708151
+vt 0.135330 0.708129
+vt 0.135883 0.707620
+vt 0.131324 0.711172
+vt 0.576331 0.838366
+vt 0.577254 0.836091
+vt 0.300488 0.813802
+vt 0.299234 0.816477
+vt 0.301582 0.810805
+vt 0.302144 0.809658
+vt 0.227555 0.804471
+vt 0.553631 0.805430
+vt 0.552956 0.805430
+vt 0.552929 0.802979
+vt 0.553900 0.802915
+vt 0.553243 0.808090
+vt 0.552281 0.808233
+vt 0.550838 0.809346
+vt 0.551876 0.810904
+vt 0.550579 0.811355
+vt 0.344049 0.611103
+vt 0.550378 0.827132
+vt 0.549845 0.827086
+vt 0.550054 0.824546
+vt 0.550841 0.824435
+vt 0.739505 0.866765
+vt 0.739511 0.865560
+vt 0.740944 0.865884
+vt 0.740796 0.866836
+vt 0.813404 0.868147
+vt 0.813761 0.869085
+vt 0.812323 0.869265
+vt 0.812193 0.868025
+vt 0.291985 0.792309
+vt 0.293282 0.792215
+vt 0.291510 0.801567
+vt 0.163464 0.633045
+vt 0.165442 0.633789
+vt 0.163378 0.637721
+vt 0.161327 0.641885
+vt 0.303256 0.809641
+vt 0.304177 0.809511
+vt 0.478893 0.764609
+vt 0.320057 0.557522
+vt 0.319381 0.563144
+vt 0.319533 0.565895
+vt 0.318783 0.585252
+vt 0.319681 0.568590
+vt 0.319822 0.571144
+vt 0.782441 0.757762
+vt 0.778691 0.773496
+vt 0.773808 0.785535
+vt 0.321819 0.733307
+vt 0.330407 0.737554
+vt 0.324530 0.749641
+vt 0.317490 0.746369
+vt 0.330804 0.750330
+vt 0.323546 0.764037
+vt 0.318695 0.763027
+vt 0.306061 0.592782
+vt 0.308608 0.602697
+vt 0.310845 0.607443
+vt 0.313659 0.609722
+vt 0.269514 0.477707
+vt 0.348014 0.706210
+vt 0.338737 0.705208
+vt 0.330500 0.696298
+vt 0.326495 0.685581
+vt 0.687831 0.131833
+vt 0.688715 0.135521
+vt 0.682937 0.134971
+vt 0.682232 0.131697
+vt 0.696110 0.132181
+vt 0.696171 0.136077
+vt 0.710161 0.137723
+vt 0.710801 0.133131
+vt 0.726441 0.124342
+vt 0.528569 0.726366
+vt 0.525207 0.723281
+vt 0.742435 0.105518
+vt 0.728317 0.079613
+vt 0.730569 0.079133
+vt 0.731535 0.080463
+vt 0.733084 0.082463
+vt 0.089874 0.802046
+vt 0.090078 0.798542
+vt 0.090907 0.804454
+vt 0.090399 0.807133
+vt 0.733760 0.080922
+vt 0.735008 0.084632
+vt 0.737177 0.088181
+vt 0.518511 0.714048
+vt 0.701497 0.050529
+vt 0.699554 0.069693
+vt 0.703603 0.026677
+vt 0.710984 0.021363
+vt 0.718703 0.029214
+vt 0.716865 0.025395
+vt 0.715675 0.020055
+vt 0.345993 0.608648
+vt 0.709708 0.010483
+vt 0.719360 0.017450
+vt 0.720795 0.019101
+vt 0.717537 0.019993
+vt 0.027557 0.797754
+vt 0.026882 0.796972
+vt 0.482781 0.812877
+vt 0.483695 0.813015
+vt 0.028184 0.793723
+vt 0.029138 0.793642
+vt 0.179792 0.806979
+vt 0.646825 0.857796
+vt 0.646707 0.858913
+vt 0.645560 0.858962
+vt 0.645543 0.857566
+vt 0.481208 0.794784
+vt 0.182703 0.800530
+vt 0.553813 0.798708
+vt 0.552796 0.798791
+vt 0.552998 0.796375
+vt 0.553697 0.796454
+vt 0.551458 0.799796
+vt 0.552853 0.800953
+vt 0.551531 0.801388
+vt 0.139264 0.799823
+vt 0.550677 0.800441
+vt 0.550448 0.801731
+vt 0.481171 0.819100
+vt 0.481249 0.817903
+vt 0.481294 0.816558
+vt 0.012526 0.805175
+vt 0.013483 0.805086
+vt 0.482178 0.821818
+vt 0.481242 0.821858
+vt 0.480516 0.823534
+vt 0.480321 0.822925
+vt 0.527665 0.855801
+vt 0.527698 0.857555
+vt 0.526479 0.857244
+vt 0.526725 0.855801
+vt 0.524988 0.857535
+vt 0.525681 0.855801
+vt 0.341470 0.843377
+vt 0.340132 0.843270
+vt 0.340357 0.841644
+vt 0.341459 0.841644
+vt 0.338836 0.843751
+vt 0.339456 0.841644
+vt 0.130117 0.711670
+vt 0.130161 0.710598
+vt 0.128305 0.713118
+vt 0.128677 0.711764
+vt 0.576682 0.831541
+vt 0.576795 0.830024
+vt 0.344762 0.613196
+vt 0.705462 0.854643
+vt 0.705294 0.855636
+vt 0.704048 0.855572
+vt 0.704063 0.854319
+vt 0.480377 0.775735
+vt 0.228944 0.803062
+vt 0.229884 0.803531
+vt 0.230180 0.802164
+vt 0.229689 0.801317
+vt 0.629720 0.858607
+vt 0.629587 0.857284
+vt 0.630857 0.859348
+vt 0.631784 0.859602
+vt 0.552868 0.810671
+vt 0.107892 0.806587
+vt 0.108196 0.807469
+vt 0.107421 0.807149
+vt 0.107135 0.806370
+vt 0.106814 0.804056
+vt 0.106211 0.804099
+vt 0.548849 0.824316
+vt 0.549115 0.822391
+vt 0.550376 0.821941
+vt 0.159928 0.645069
+vt 0.293401 0.789269
+vt 0.292161 0.789031
+vt 0.321760 0.552219
+vt 0.322047 0.551201
+vt 0.290788 0.799238
+vt 0.290673 0.796539
+vt 0.164582 0.632298
+vt 0.162311 0.631463
+vt 0.422763 0.852659
+vt 0.424295 0.852578
+vt 0.423990 0.853708
+vt 0.422161 0.853732
+vt 0.302715 0.808918
+vt 0.739639 0.867495
+vt 0.740636 0.867832
+vt 0.304162 0.807436
+vt 0.305112 0.807972
+vt 0.305465 0.806445
+vt 0.304982 0.805512
+vt 0.321198 0.556270
+vt 0.322024 0.553749
+vt 0.318597 0.588929
+vt 0.319012 0.586542
+vt 0.314601 0.609121
+vt 0.320106 0.576290
+vt 0.320108 0.578948
+vt 0.783371 0.741101
+vt 0.802423 0.721976
+vt 0.792647 0.719300
+vt 0.316816 0.778596
+vt 0.319441 0.779368
+vt 0.314784 0.788510
+vt 0.311964 0.790899
+vt 0.221015 0.491532
+vt 0.210336 0.497116
+vt 0.238037 0.481741
+vt 0.253827 0.472635
+vt 0.260809 0.469106
+vt 0.338737 0.714280
+vt 0.348513 0.715450
+vt 0.329461 0.706210
+vt 0.732501 0.111704
+vt 0.735037 0.109338
+vt 0.736906 0.103998
+vt 0.666438 0.816056
+vt 0.668073 0.825217
+vt 0.663301 0.813597
+vt 0.663972 0.810671
+vt 0.729654 0.079185
+vt 0.725795 0.084446
+vt 0.722650 0.091107
+vt 0.737079 0.091211
+vt 0.737333 0.095466
+vt 0.711161 0.105004
+vt 0.697366 0.104145
+vt 0.696915 0.084570
+vt 0.701385 0.027694
+vt 0.720213 0.029446
+vt 0.721003 0.027245
+vt 0.303652 0.821193
+vt 0.304428 0.820874
+vt 0.303603 0.822399
+vt 0.303010 0.822519
+vt 0.345511 0.611747
+vt 0.702744 0.010725
+vt 0.702457 0.004421
+vt 0.702268 0.003074
+vt 0.717965 0.020491
+vt 0.721131 0.023448
+vt 0.482650 0.810410
+vt 0.481559 0.811096
+vt 0.481543 0.810394
+vt 0.481510 0.812458
+vt 0.027148 0.793872
+vt 0.027546 0.793044
+vt 0.026562 0.795605
+vt 0.029155 0.792952
+vt 0.028471 0.792923
+vt 0.480954 0.806391
+vt 0.480722 0.805502
+vt 0.481037 0.804685
+vt 0.660868 0.855965
+vt 0.660742 0.857082
+vt 0.659756 0.857132
+vt 0.659726 0.855741
+vt 0.480747 0.804080
+vt 0.645709 0.859784
+vt 0.646598 0.860028
+vt 0.552560 0.794149
+vt 0.553578 0.794117
+vt 0.553340 0.789476
+vt 0.552325 0.789526
+vt 0.552521 0.786982
+vt 0.553217 0.787067
+vt 0.550990 0.790564
+vt 0.552392 0.791949
+vt 0.551070 0.792369
+vt 0.183967 0.799193
+vt 0.184822 0.799584
+vt 0.480760 0.796364
+vt 0.553920 0.800768
+vt 0.139946 0.798871
+vt 0.560323 0.855090
+vt 0.561308 0.855057
+vt 0.560706 0.856256
+vt 0.559955 0.856013
+vt 0.560339 0.857335
+vt 0.559673 0.856656
+vt 0.860313 0.996545
+vt 0.861220 0.996615
+vt 0.861019 0.997944
+vt 0.860061 0.997623
+vt 0.011395 0.805964
+vt 0.010854 0.807023
+vt 0.480574 0.822326
+vt 0.773101 0.866949
+vt 0.772527 0.866645
+vt 0.771765 0.867498
+vt 0.771417 0.868667
+vt 0.205836 0.816518
+vt 0.206989 0.816442
+vt 0.206765 0.818196
+vt 0.205847 0.818196
+vt 0.207526 0.816116
+vt 0.207201 0.815411
+vt 0.207714 0.815646
+vt 0.551124 0.764868
+vt 0.551303 0.764360
+vt 0.551773 0.764783
+vt 0.552027 0.765154
+vt 0.433026 0.851578
+vt 0.433707 0.853685
+vt 0.432469 0.853502
+vt 0.432078 0.851578
+vt 0.128886 0.710744
+vt 0.706249 0.002426
+vt 0.701699 0.001992
+vt 0.704194 0.856307
+vt 0.705160 0.856639
+vt 0.552078 0.816093
+vt 0.551509 0.816059
+vt 0.551586 0.813385
+vt 0.552485 0.813298
+vt 0.551664 0.818937
+vt 0.550821 0.819057
+vt 0.549396 0.820203
+vt 0.227917 0.802874
+vt 0.549972 0.810069
+vt 0.549498 0.811666
+vt 0.630176 0.859689
+vt 0.152309 0.664185
+vt 0.153289 0.664398
+vt 0.152191 0.667058
+vt 0.151246 0.666854
+vt 0.151156 0.669574
+vt 0.150240 0.669384
+vt 0.153341 0.661595
+vt 0.154355 0.661817
+vt 0.550333 0.813145
+vt 0.105318 0.800636
+vt 0.104938 0.800952
+vt 0.160036 0.648054
+vt 0.158848 0.647777
+vt 0.551261 0.821710
+vt 0.548035 0.822680
+vt 0.548120 0.823994
+vt 0.813261 0.867223
+vt 0.812318 0.867367
+vt 0.294522 0.791707
+vt 0.294615 0.789761
+vt 0.290982 0.792308
+vt 0.290425 0.800364
+vt 0.422963 0.851251
+vt 0.424394 0.851154
+vt 0.158550 0.635650
+vt 0.160419 0.638236
+vt 0.157874 0.641175
+vt 0.303126 0.807181
+vt 0.321868 0.555278
+vt 0.315344 0.810478
+vt 0.315680 0.811730
+vt 0.314480 0.811483
+vt 0.314055 0.810331
+vt 0.319906 0.560289
+vt 0.318111 0.591484
+vt 0.319822 0.581596
+vt 0.319961 0.573672
+vt 0.782871 0.721976
+vt 0.632730 0.110802
+vt 0.627190 0.104620
+vt 0.643851 0.096025
+vt 0.648302 0.102807
+vt 0.659585 0.087351
+vt 0.663700 0.095855
+vt 0.671624 0.077188
+vt 0.678024 0.086608
+vt 0.677201 0.064126
+vt 0.681373 0.067837
+vt 0.313705 0.761222
+vt 0.313545 0.777982
+vt 0.307737 0.605086
+vt 0.310524 0.612027
+vt 0.313032 0.614700
+vt 0.349054 0.724155
+vt 0.338737 0.722866
+vt 0.328961 0.715450
+vt 0.322840 0.697600
+vt 0.673982 0.133346
+vt 0.675584 0.131383
+vt 0.687835 0.123023
+vt 0.680881 0.121768
+vt 0.697360 0.121614
+vt 0.713212 0.124044
+vt 0.727627 0.111830
+vt 0.727401 0.082518
+vt 0.728893 0.079817
+vt 0.730290 0.079795
+vt 0.731014 0.080936
+vt 0.732452 0.083978
+vt 0.734079 0.083601
+vt 0.734512 0.087833
+vt 0.734830 0.085716
+vt 0.735875 0.087896
+vt 0.735902 0.091769
+vt 0.695547 0.089574
+vt 0.694912 0.089588
+vt 0.700405 0.011458
+vt 0.718913 0.028350
+vt 0.717462 0.025366
+vt 0.302265 0.825252
+vt 0.301908 0.825063
+vt 0.719372 0.018214
+vt 0.720443 0.019757
+vt 0.025828 0.797128
+vt 0.481435 0.813642
+vt 0.659948 0.857944
+vt 0.660712 0.858189
+vt 0.552085 0.784808
+vt 0.553105 0.784861
+vt 0.551164 0.794006
+vt 0.550342 0.793806
+vt 0.549990 0.792705
+vt 0.553460 0.791808
+vt 0.183027 0.799082
+vt 0.550214 0.791257
+vt 0.149381 0.671560
+vt 0.150278 0.671721
+vt 0.149441 0.673781
+vt 0.148565 0.673640
+vt 0.148529 0.676035
+vt 0.147684 0.675882
+vt 0.653619 0.860020
+vt 0.652635 0.859707
+vt 0.652871 0.858632
+vt 0.653807 0.858694
+vt 0.482370 0.816059
+vt 0.481270 0.815900
+vt 0.013685 0.804252
+vt 0.012778 0.804465
+vt 0.013083 0.803618
+vt 0.013730 0.803556
+vt 0.480369 0.818404
+vt 0.480146 0.817408
+vt 0.480461 0.816516
+vt 0.011853 0.804608
+vt 0.012224 0.803824
+vt 0.682095 0.856503
+vt 0.682048 0.857439
+vt 0.681237 0.857512
+vt 0.681181 0.856317
+vt 0.480300 0.821880
+vt 0.772080 0.866844
+vt 0.549955 0.765428
+vt 0.551147 0.766072
+vt 0.549985 0.766319
+vt 0.853116 0.997214
+vt 0.853428 0.996545
+vt 0.854038 0.996986
+vt 0.854014 0.997561
+vt 0.205943 0.815333
+vt 0.527560 0.854732
+vt 0.526991 0.854358
+vt 0.340580 0.840201
+vt 0.341364 0.840575
+vt 0.526170 0.854732
+vt 0.339872 0.840575
+vt 0.131782 0.709934
+vt 0.130483 0.709287
+vt 0.129027 0.709956
+vt 0.700182 0.002861
+vt 0.700182 0.003921
+vt 0.126933 0.712059
+vt 0.127447 0.710700
+vt 0.104125 0.799023
+vt 0.104336 0.798542
+vt 0.549599 0.812875
+vt 0.228723 0.801665
+vt 0.154392 0.658959
+vt 0.155439 0.659191
+vt 0.344511 0.605369
+vt 0.345235 0.604590
+vt 0.345127 0.605417
+vt 0.344635 0.606026
+vt 0.106191 0.805713
+vt 0.105688 0.803942
+vt 0.548526 0.820943
+vt 0.156376 0.643971
+vt 0.293478 0.786318
+vt 0.292312 0.786218
+vt 0.291222 0.789030
+vt 0.315812 0.814875
+vt 0.316684 0.814250
+vt 0.317046 0.815781
+vt 0.316621 0.816798
+vt 0.423928 0.850069
+vt 0.422856 0.850448
+vt 0.184720 0.786213
+vt 0.184367 0.787339
+vt 0.182974 0.783753
+vt 0.183930 0.783514
+vt 0.237537 0.791566
+vt 0.239367 0.792538
+vt 0.237096 0.793372
+vt 0.235518 0.792171
+vt 0.155675 0.629910
+vt 0.156314 0.629567
+vt 0.154723 0.632444
+vt 0.413803 0.766265
+vt 0.413521 0.762724
+vt 0.414929 0.762660
+vt 0.415205 0.766202
+vt 0.236416 0.787839
+vt 0.238139 0.791381
+vt 0.235731 0.788029
+vt 0.303985 0.805867
+vt 0.315772 0.812722
+vt 0.314908 0.812641
+vt 0.314060 0.807711
+vt 0.313157 0.808112
+vt 0.320393 0.562960
+vt 0.317644 0.593910
+vt 0.317281 0.595905
+vt 0.319405 0.584154
+vt 0.316145 0.602414
+vt 0.315814 0.604657
+vt 0.313868 0.614200
+vt 0.321087 0.576136
+vt 0.320849 0.573501
+vt 0.320976 0.578765
+vt 0.615622 0.120648
+vt 0.608065 0.114634
+vt 0.802964 0.698846
+vt 0.792647 0.695092
+vt 0.682147 0.051007
+vt 0.679239 0.049272
+vt 0.310452 0.776759
+vt 0.308826 0.793469
+vt 0.196341 0.478003
+vt 0.186228 0.483150
+vt 0.224793 0.472063
+vt 0.245723 0.461704
+vt 0.255288 0.460002
+vt 0.338737 0.728388
+vt 0.349675 0.729676
+vt 0.328421 0.724155
+vt 0.661962 0.129563
+vt 0.663264 0.134665
+vt 0.653352 0.139503
+vt 0.649334 0.134455
+vt 0.718742 0.110450
+vt 0.732223 0.101208
+vt 0.735173 0.097685
+vt 0.729392 0.080548
+vt 0.728475 0.081465
+vt 0.726920 0.085452
+vt 0.725632 0.086873
+vt 0.725227 0.089272
+vt 0.735261 0.088450
+vt 0.724452 0.098797
+vt 0.692896 0.094104
+vt 0.690204 0.107851
+vt 0.063209 0.630855
+vt 0.062307 0.632069
+vt 0.063329 0.627065
+vt 0.063909 0.628217
+vt 0.062824 0.635578
+vt 0.058741 0.646946
+vt 0.054803 0.666110
+vt 0.059432 0.654174
+vt 0.058813 0.657906
+vt 0.719950 0.028358
+vt 0.720503 0.026632
+vt 0.345676 0.605916
+vt 0.345443 0.606427
+vt 0.345363 0.611333
+vt 0.345747 0.608460
+vt 0.344766 0.612716
+vt 0.700182 0.005160
+vt 0.718353 0.020862
+vt 0.720592 0.023519
+vt 0.480410 0.811949
+vt 0.480728 0.811043
+vt 0.667871 0.856536
+vt 0.667832 0.857643
+vt 0.666885 0.857701
+vt 0.666818 0.856317
+vt 0.480434 0.810401
+vt 0.480635 0.812934
+vt 0.552939 0.781612
+vt 0.551924 0.781648
+vt 0.552163 0.779915
+vt 0.552857 0.780014
+vt 0.027966 0.792520
+vt 0.550580 0.782476
+vt 0.551949 0.783273
+vt 0.550627 0.783693
+vt 0.028987 0.791642
+vt 0.029756 0.792064
+vt 0.480329 0.805080
+vt 0.550694 0.784722
+vt 0.549882 0.784674
+vt 0.549550 0.784019
+vt 0.553016 0.783135
+vt 0.183750 0.797982
+vt 0.184639 0.797614
+vt 0.147585 0.678372
+vt 0.146783 0.678170
+vt 0.146652 0.680680
+vt 0.145710 0.683013
+vt 0.145011 0.682661
+vt 0.145907 0.680387
+vt 0.144736 0.685421
+vt 0.144052 0.685120
+vt 0.550263 0.775146
+vt 0.551337 0.774464
+vt 0.551590 0.775066
+vt 0.550243 0.775830
+vt 0.559205 0.855769
+vt 0.559613 0.854489
+vt 0.558672 0.856811
+vt 0.012645 0.803234
+vt 0.681395 0.858197
+vt 0.682017 0.858381
+vt 0.551587 0.768146
+vt 0.551254 0.767087
+vt 0.552226 0.767090
+vt 0.552274 0.768221
+vt 0.479947 0.822612
+vt 0.549301 0.765764
+vt 0.549079 0.766492
+vt 0.552161 0.765995
+vt 0.132116 0.707579
+vt 0.133747 0.707672
+vt 0.133640 0.708036
+vt 0.132074 0.708623
+vt 0.204727 0.818196
+vt 0.204270 0.816037
+vt 0.206478 0.819265
+vt 0.205812 0.819639
+vt 0.135005 0.707726
+vt 0.133967 0.706972
+vt 0.135346 0.707246
+vt 0.135830 0.707335
+vt 0.135518 0.707705
+vt 0.432460 0.850509
+vt 0.431727 0.850135
+vt 0.431158 0.853737
+vt 0.431025 0.851578
+vt 0.127836 0.709780
+vt 0.156648 0.653297
+vt 0.157766 0.653551
+vt 0.156592 0.656396
+vt 0.155510 0.656153
+vt 0.157758 0.650513
+vt 0.158911 0.650778
+vt 0.150393 0.660681
+vt 0.149455 0.663299
+vt 0.148489 0.665998
+vt 0.147559 0.668607
+vt 0.151347 0.658016
+vt 0.104714 0.801789
+vt 0.155395 0.646709
+vt 0.315678 0.816497
+vt 0.314845 0.815189
+vt 0.295486 0.790070
+vt 0.295181 0.791378
+vt 0.294647 0.787503
+vt 0.182244 0.779284
+vt 0.181313 0.779481
+vt 0.183295 0.786616
+vt 0.182023 0.784009
+vt 0.152813 0.638693
+vt 0.412719 0.763743
+vt 0.412620 0.766351
+vt 0.294584 0.786364
+vt 0.295463 0.787522
+vt 0.295277 0.788277
+vt 0.293705 0.785212
+vt 0.320595 0.565741
+vt 0.320261 0.583562
+vt 0.320243 0.581267
+vt 0.316704 0.599206
+vt 0.316432 0.600767
+vt 0.201048 0.804549
+vt 0.206127 0.801317
+vt 0.205048 0.802279
+vt 0.202610 0.804204
+vt 0.262923 0.824803
+vt 0.263176 0.823725
+vt 0.263986 0.822611
+vt 0.263308 0.825232
+vt 0.320352 0.571050
+vt 0.320614 0.568452
+vt 0.595614 0.133149
+vt 0.584935 0.127565
+vt 0.782331 0.698846
+vt 0.627594 0.131835
+vt 0.641286 0.122818
+vt 0.654336 0.115765
+vt 0.667371 0.110552
+vt 0.678055 0.105935
+vt 0.687146 0.051805
+vt 0.686787 0.069843
+vt 0.685649 0.086604
+vt 0.682489 0.034543
+vt 0.680663 0.033736
+vt 0.310341 0.797841
+vt 0.308799 0.798733
+vt 0.310447 0.800514
+vt 0.308861 0.801146
+vt 0.327800 0.729676
+vt 0.644113 0.146974
+vt 0.638814 0.142506
+vt 0.671148 0.124655
+vt 0.686504 0.106033
+vt 0.728744 0.101103
+vt 0.727951 0.084651
+vt 0.729884 0.080400
+vt 0.731640 0.084199
+vt 0.733223 0.088410
+vt 0.735271 0.092578
+vt 0.726114 0.092988
+vt 0.727408 0.095537
+vt 0.693865 0.089569
+vt 0.695591 0.088421
+vt 0.694179 0.088915
+vt 0.061967 0.641192
+vt 0.062788 0.637010
+vt 0.060257 0.649951
+vt 0.059762 0.653046
+vt 0.058101 0.661999
+vt 0.057591 0.664615
+vt 0.057146 0.666917
+vt 0.719040 0.027456
+vt 0.717996 0.025106
+vt 0.302247 0.823031
+vt 0.301605 0.825000
+vt 0.719361 0.018799
+vt 0.720110 0.020259
+vt 0.667043 0.858514
+vt 0.667783 0.858751
+vt 0.551759 0.778392
+vt 0.552772 0.778357
+vt 0.653177 0.857566
+vt 0.653845 0.857894
+vt 0.028133 0.791500
+vt 0.028654 0.790845
+vt 0.029419 0.790641
+vt 0.143845 0.687627
+vt 0.143168 0.687393
+vt 0.146729 0.670958
+vt 0.145945 0.673185
+vt 0.145150 0.675420
+vt 0.674910 0.856529
+vt 0.674930 0.857629
+vt 0.674011 0.857696
+vt 0.673909 0.856317
+vt 0.480161 0.815906
+vt 0.013657 0.802198
+vt 0.014351 0.802561
+vt 0.479736 0.817046
+vt 0.552325 0.769513
+vt 0.551310 0.769502
+vt 0.549962 0.770286
+vt 0.551334 0.771229
+vt 0.550011 0.771648
+vt 0.550059 0.767057
+vt 0.549373 0.766971
+vt 0.853697 0.998008
+vt 0.852969 0.997934
+vt 0.131917 0.707044
+vt 0.204971 0.819265
+vt 0.902610 0.959808
+vt 0.902778 0.959142
+vt 0.903347 0.959069
+vt 0.903412 0.960051
+vt 0.896525 0.959375
+vt 0.896521 0.960082
+vt 0.895788 0.960114
+vt 0.895518 0.959069
+vt 0.340885 0.839720
+vt 0.341867 0.840201
+vt 0.130964 0.708066
+vt 0.329510 0.843568
+vt 0.328198 0.843751
+vt 0.329138 0.841644
+vt 0.329901 0.841644
+vt 0.698414 0.006024
+vt 0.699447 0.005236
+vt 0.699447 0.006200
+vt 0.698521 0.007137
+vt 0.348710 0.841744
+vt 0.348834 0.843852
+vt 0.347700 0.843371
+vt 0.347868 0.841744
+vt 0.125737 0.710820
+vt 0.126553 0.709479
+vt 0.344795 0.611313
+vt 0.344198 0.610786
+vt 0.344419 0.609950
+vt 0.152363 0.655178
+vt 0.344929 0.608135
+vt 0.344286 0.607797
+vt 0.151659 0.642466
+vt 0.293268 0.783367
+vt 0.292462 0.783417
+vt 0.291428 0.786232
+vt 0.180937 0.776005
+vt 0.180040 0.776223
+vt 0.233843 0.788566
+vt 0.231099 0.795269
+vt 0.231067 0.793494
+vt 0.150185 0.627748
+vt 0.147379 0.627961
+vt 0.149786 0.632867
+vt 0.414139 0.770581
+vt 0.415541 0.770510
+vt 0.234796 0.783530
+vt 0.234131 0.783743
+vt 0.314414 0.813397
+vt 0.313297 0.811437
+vt 0.312247 0.808486
+vt 0.312355 0.806204
+vt 0.313050 0.805039
+vt 0.316981 0.597621
+vt 0.319471 0.588503
+vt 0.320046 0.586084
+vt 0.315412 0.608008
+vt 0.828149 0.995203
+vt 0.828985 0.994868
+vt 0.828985 0.996376
+vt 0.828219 0.996789
+vt 0.322892 0.577598
+vt 0.322814 0.575672
+vt 0.322744 0.573588
+vt 0.123651 0.813714
+vt 0.125141 0.816216
+vt 0.123942 0.815917
+vt 0.122883 0.814103
+vt 0.612636 0.142940
+vt 0.803969 0.674738
+vt 0.792313 0.671006
+vt 0.684052 0.100671
+vt 0.686409 0.033908
+vt 0.683210 0.024494
+vt 0.682337 0.020962
+vt 0.307633 0.789533
+vt 0.816256 0.657738
+vt 0.814382 0.684851
+vt 0.805863 0.652680
+vt 0.216246 0.467326
+vt 0.201489 0.472118
+vt 0.229918 0.460134
+vt 0.249811 0.451440
+vt 0.255602 0.451025
+vt 0.873449 0.470262
+vt 0.873449 0.461378
+vt 0.884387 0.461285
+vt 0.885130 0.470262
+vt 0.635408 0.155576
+vt 0.628426 0.152046
+vt 0.732157 0.097948
+vt 0.734392 0.096332
+vt 0.051939 0.791395
+vt 0.051908 0.790641
+vt 0.052496 0.791247
+vt 0.052385 0.792258
+vt 0.728600 0.084305
+vt 0.727833 0.088350
+vt 0.726722 0.088669
+vt 0.725905 0.091259
+vt 0.690830 0.089144
+vt 0.063698 0.631752
+vt 0.061126 0.645498
+vt 0.061790 0.642658
+vt 0.060774 0.647863
+vt 0.058637 0.659256
+vt 0.662681 0.830198
+vt 0.662288 0.833929
+vt 0.662139 0.831527
+vt 0.662493 0.828848
+vt 0.053063 0.683482
+vt 0.051499 0.688944
+vt 0.053742 0.680200
+vt 0.056242 0.671607
+vt 0.056713 0.669161
+vt 0.125624 0.704521
+vt 0.126344 0.706892
+vt 0.700073 0.009087
+vt 0.699549 0.009829
+vt 0.699472 0.008427
+vt 0.719834 0.027659
+vt 0.720275 0.026201
+vt 0.345227 0.610351
+vt 0.345522 0.608397
+vt 0.718648 0.021083
+vt 0.045071 0.793754
+vt 0.045557 0.790641
+vt 0.045981 0.791072
+vt 0.045472 0.793797
+vt 0.584526 0.855262
+vt 0.585248 0.855668
+vt 0.584619 0.856654
+vt 0.583951 0.856684
+vt 0.480008 0.811543
+vt 0.550374 0.778412
+vt 0.549561 0.778317
+vt 0.549221 0.777541
+vt 0.550295 0.777210
+vt 0.551618 0.776790
+vt 0.552685 0.776653
+vt 0.143147 0.689354
+vt 0.142532 0.690877
+vt 0.141907 0.690603
+vt 0.142494 0.689109
+vt 0.141886 0.692474
+vt 0.141279 0.692206
+vt 0.549798 0.783000
+vt 0.549197 0.775993
+vt 0.549465 0.776410
+vt 0.144380 0.677562
+vt 0.141998 0.684220
+vt 0.142915 0.681609
+vt 0.143672 0.679507
+vt 0.141134 0.686693
+vt 0.552605 0.775093
+vt 0.551852 0.773786
+vt 0.552543 0.773871
+vt 0.674162 0.858506
+vt 0.674881 0.858737
+vt 0.551472 0.772744
+vt 0.552481 0.772649
+vt 0.012878 0.802116
+vt 0.549186 0.770876
+vt 0.548940 0.771994
+vt 0.552401 0.771093
+vt 0.681721 0.858734
+vt 0.681001 0.858491
+vt 0.136604 0.704128
+vt 0.137103 0.704267
+vt 0.136639 0.705398
+vt 0.136152 0.705265
+vt 0.136209 0.706493
+vt 0.135730 0.706365
+vt 0.131488 0.707262
+vt 0.204525 0.819639
+vt 0.204097 0.818196
+vt 0.132408 0.705438
+vt 0.134297 0.705998
+vt 0.127146 0.708739
+vt 0.154405 0.649475
+vt 0.153397 0.652291
+vt 0.147303 0.656717
+vt 0.146476 0.659421
+vt 0.145664 0.662078
+vt 0.144826 0.664816
+vt 0.144006 0.667498
+vt 0.148183 0.653838
+vt 0.150810 0.645245
+vt 0.180388 0.779704
+vt 0.224970 0.797087
+vt 0.226435 0.794828
+vt 0.412956 0.770655
+vt 0.311046 0.805846
+vt 0.322321 0.567248
+vt 0.322227 0.565276
+vt 0.322167 0.563080
+vt 0.320742 0.561796
+vt 0.322202 0.562019
+vt 0.318388 0.595457
+vt 0.318554 0.593527
+vt 0.318560 0.591147
+vt 0.321999 0.585548
+vt 0.322278 0.583546
+vt 0.121914 0.812587
+vt 0.122410 0.811419
+vt 0.201997 0.805591
+vt 0.200474 0.806057
+vt 0.263082 0.826727
+vt 0.262602 0.827242
+vt 0.315971 0.606314
+vt 0.316732 0.604122
+vt 0.314733 0.610628
+vt 0.315421 0.609860
+vt 0.315095 0.610927
+vt 0.258070 0.808734
+vt 0.258736 0.807735
+vt 0.259663 0.810186
+vt 0.258801 0.810467
+vt 0.260866 0.812784
+vt 0.259627 0.812511
+vt 0.462363 0.850528
+vt 0.462749 0.852445
+vt 0.461644 0.852471
+vt 0.461164 0.850784
+vt 0.597782 0.153109
+vt 0.573783 0.147122
+vt 0.562813 0.142534
+vt 0.779990 0.676724
+vt 0.691695 0.052010
+vt 0.691366 0.070391
+vt 0.685445 0.020117
+vt 0.305151 0.796098
+vt 0.305945 0.797739
+vt 0.307160 0.798943
+vt 0.307747 0.799848
+vt 0.307596 0.801408
+vt 0.820090 0.672088
+vt 0.821004 0.660597
+vt 0.236824 0.452685
+vt 0.862512 0.461285
+vt 0.861769 0.470262
+vt 0.629887 0.164679
+vt 0.619696 0.163219
+vt 0.729514 0.097619
+vt 0.728491 0.088121
+vt 0.727363 0.091560
+vt 0.732238 0.088221
+vt 0.733750 0.092492
+vt 0.734711 0.093023
+vt 0.728058 0.093986
+vt 0.728794 0.096041
+vt 0.594172 0.855948
+vt 0.592845 0.856681
+vt 0.592357 0.855634
+vt 0.592851 0.854684
+vt 0.692915 0.089605
+vt 0.695600 0.084897
+vt 0.696330 0.084887
+vt 0.063106 0.635994
+vt 0.659724 0.848836
+vt 0.660489 0.846912
+vt 0.659645 0.851094
+vt 0.659078 0.852110
+vt 0.661714 0.838153
+vt 0.661325 0.840240
+vt 0.661004 0.840135
+vt 0.661396 0.837159
+vt 0.662025 0.835058
+vt 0.661779 0.834258
+vt 0.700502 0.054536
+vt 0.701045 0.054640
+vt 0.700684 0.057383
+vt 0.699857 0.057427
+vt 0.700487 0.051985
+vt 0.701296 0.052023
+vt 0.053252 0.686693
+vt 0.053725 0.684480
+vt 0.055280 0.676598
+vt 0.055756 0.674128
+vt 0.700401 0.049864
+vt 0.701315 0.049722
+vt 0.048748 0.705180
+vt 0.051232 0.696194
+vt 0.699695 0.012516
+vt 0.699636 0.011256
+vt 0.719109 0.026853
+vt 0.718398 0.024755
+vt 0.044380 0.798194
+vt 0.043936 0.798474
+vt 0.044364 0.797014
+vt 0.044774 0.796792
+vt 0.583719 0.855136
+vt 0.584276 0.854360
+vt 0.585016 0.854120
+vt 0.141217 0.694132
+vt 0.140621 0.693892
+vt 0.583492 0.856268
+vt 0.140533 0.688380
+vt 0.143244 0.669989
+vt 0.140836 0.671842
+vt 0.141838 0.674586
+vt 0.550092 0.772863
+vt 0.549282 0.772780
+vt 0.013427 0.801331
+vt 0.014146 0.801058
+vt 0.137748 0.701244
+vt 0.138282 0.701396
+vt 0.137639 0.702975
+vt 0.137124 0.702829
+vt 0.130102 0.706370
+vt 0.130297 0.705710
+vt 0.205569 0.820120
+vt 0.130565 0.704732
+vt 0.330731 0.843803
+vt 0.331126 0.841644
+vt 0.329840 0.840575
+vt 0.330430 0.840201
+vt 0.696788 0.006683
+vt 0.696788 0.007708
+vt 0.699447 0.007240
+vt 0.698895 0.007921
+vt 0.348681 0.840675
+vt 0.348092 0.840301
+vt 0.149078 0.650908
+vt 0.146942 0.640962
+vt 0.147266 0.637797
+vt 0.293774 0.780727
+vt 0.292613 0.780608
+vt 0.291632 0.783445
+vt 0.179820 0.773207
+vt 0.178962 0.773473
+vt 0.179150 0.776468
+vt 0.232231 0.783744
+vt 0.230006 0.789671
+vt 0.147519 0.627150
+vt 0.145358 0.627480
+vt 0.223874 0.795468
+vt 0.222304 0.797686
+vt 0.146808 0.633910
+vt 0.144660 0.631771
+vt 0.413218 0.773892
+vt 0.414400 0.773810
+vt 0.415802 0.773737
+vt 0.233574 0.780304
+vt 0.232922 0.780524
+vt 0.261193 0.813989
+vt 0.260028 0.813605
+vt 0.317931 0.597168
+vt 0.043518 0.804486
+vt 0.044696 0.807130
+vt 0.043626 0.807010
+vt 0.042804 0.804915
+vt 0.321700 0.587290
+vt 0.320638 0.582394
+vt 0.322355 0.582515
+vt 0.317203 0.602328
+vt 0.317327 0.600616
+vt 0.202479 0.805367
+vt 0.203124 0.804069
+vt 0.316449 0.607235
+vt 0.316292 0.608405
+vt 0.314507 0.612124
+vt 0.314987 0.611834
+vt 0.316177 0.609524
+vt 0.201983 0.806830
+vt 0.200487 0.807367
+vt 0.199915 0.806470
+vt 0.199653 0.807736
+vt 0.321144 0.572502
+vt 0.322740 0.572667
+vt 0.462063 0.854024
+vt 0.462858 0.853593
+vt 0.324040 0.576676
+vt 0.324393 0.575128
+vt 0.323934 0.573699
+vt 0.294247 0.764627
+vt 0.294509 0.763816
+vt 0.296197 0.764834
+vt 0.296179 0.765730
+vt 0.122093 0.814340
+vt 0.123300 0.816728
+vt 0.791312 0.651588
+vt 0.690140 0.033192
+vt 0.685123 0.014397
+vt 0.306191 0.799289
+vt 0.822438 0.641580
+vt 0.809456 0.636693
+vt 0.183578 0.472058
+vt 0.191330 0.472367
+vt 0.829740 0.707983
+vt 0.822301 0.718428
+vt 0.820032 0.704756
+vt 0.826646 0.699944
+vt 0.818895 0.689999
+vt 0.823628 0.688478
+vt 0.224165 0.454411
+vt 0.219473 0.460263
+vt 0.237218 0.442123
+vt 0.251506 0.432710
+vt 0.885732 0.489006
+vt 0.896010 0.469847
+vt 0.898817 0.488577
+vt 0.873449 0.489006
+vt 0.113518 0.814962
+vt 0.113718 0.816578
+vt 0.112542 0.816335
+vt 0.112190 0.815160
+vt 0.051983 0.795152
+vt 0.052702 0.795111
+vt 0.052682 0.792758
+vt 0.052828 0.791849
+vt 0.052651 0.797023
+vt 0.052179 0.798968
+vt 0.729470 0.091289
+vt 0.728628 0.091537
+vt 0.267840 0.813461
+vt 0.268867 0.813629
+vt 0.268414 0.815773
+vt 0.267790 0.817483
+vt 0.732879 0.091637
+vt 0.111196 0.811207
+vt 0.110135 0.811653
+vt 0.196949 0.818042
+vt 0.195881 0.820147
+vt 0.195233 0.818761
+vt 0.196085 0.817424
+vt 0.141003 0.631082
+vt 0.141057 0.627065
+vt 0.142645 0.628664
+vt 0.142234 0.631160
+vt 0.696638 0.080601
+vt 0.697269 0.080645
+vt 0.661108 0.842606
+vt 0.660613 0.843095
+vt 0.660608 0.845445
+vt 0.660196 0.846006
+vt 0.700330 0.060062
+vt 0.699454 0.060209
+vt 0.699970 0.062793
+vt 0.699175 0.062807
+vt 0.053092 0.687767
+vt 0.052766 0.689217
+vt 0.054305 0.681662
+vt 0.054801 0.679085
+vt 0.700546 0.044924
+vt 0.701104 0.045032
+vt 0.701214 0.047478
+vt 0.700362 0.047531
+vt 0.699773 0.014950
+vt 0.699737 0.013713
+vt 0.699998 0.006500
+vt 0.698919 0.008833
+vt 0.698990 0.009975
+vt 0.719726 0.026514
+vt 0.720042 0.025350
+vt 0.096844 0.800827
+vt 0.096488 0.798542
+vt 0.096932 0.798823
+vt 0.097336 0.800877
+vt 0.046327 0.791923
+vt 0.045759 0.793914
+vt 0.140528 0.695836
+vt 0.139942 0.695632
+vt 0.139455 0.691407
+vt 0.140029 0.689784
+vt 0.138831 0.693179
+vt 0.141209 0.676646
+vt 0.138417 0.685780
+vt 0.139218 0.683158
+vt 0.140053 0.680428
+vt 0.140665 0.678425
+vt 0.139898 0.697395
+vt 0.139322 0.697222
+vt 0.139404 0.698618
+vt 0.138839 0.698457
+vt 0.138910 0.699839
+vt 0.138360 0.699683
+vt 0.135575 0.702402
+vt 0.135103 0.703715
+vt 0.134690 0.704871
+vt 0.130000 0.706689
+vt 0.132761 0.704285
+vt 0.149952 0.648052
+vt 0.143258 0.655419
+vt 0.144002 0.652498
+vt 0.142559 0.658162
+vt 0.141872 0.660857
+vt 0.141164 0.663634
+vt 0.140476 0.666317
+vt 0.144760 0.649526
+vt 0.146224 0.643781
+vt 0.225985 0.790820
+vt 0.223545 0.791491
+vt 0.143913 0.631147
+vt 0.535030 0.855886
+vt 0.535172 0.857345
+vt 0.533863 0.857591
+vt 0.533852 0.855804
+vt 0.260459 0.814771
+vt 0.261298 0.814955
+vt 0.323376 0.566281
+vt 0.323680 0.564699
+vt 0.323266 0.563182
+vt 0.323661 0.562256
+vt 0.319895 0.596166
+vt 0.320256 0.594924
+vt 0.320464 0.593516
+vt 0.042071 0.803107
+vt 0.042626 0.802105
+vt 0.317207 0.598892
+vt 0.160166 0.813091
+vt 0.159775 0.811123
+vt 0.160846 0.810998
+vt 0.161167 0.813227
+vt 0.323121 0.586388
+vt 0.323808 0.584987
+vt 0.323549 0.583607
+vt 0.120772 0.812309
+vt 0.202408 0.806479
+vt 0.099037 0.812279
+vt 0.098175 0.812429
+vt 0.098174 0.811131
+vt 0.098654 0.811099
+vt 0.541540 0.856557
+vt 0.540943 0.855984
+vt 0.541864 0.855565
+vt 0.542625 0.856028
+vt 0.544056 0.854426
+vt 0.543998 0.855410
+vt 0.231366 0.815802
+vt 0.231570 0.816558
+vt 0.230747 0.816372
+vt 0.230690 0.815735
+vt 0.517707 0.855267
+vt 0.518775 0.854358
+vt 0.518343 0.855034
+vt 0.518095 0.855613
+vt 0.257930 0.810720
+vt 0.256824 0.808289
+vt 0.293960 0.775103
+vt 0.294251 0.774155
+vt 0.295666 0.775249
+vt 0.295687 0.776268
+vt 0.258905 0.813459
+vt 0.297749 0.765971
+vt 0.297329 0.766543
+vt 0.324337 0.572875
+vt 0.600606 0.166059
+vt 0.584404 0.159317
+vt 0.568509 0.155703
+vt 0.559415 0.158149
+vt 0.546711 0.158660
+vt 0.774089 0.660622
+vt 0.693033 0.069728
+vt 0.693251 0.051964
+vt 0.692089 0.084644
+vt 0.688258 0.018351
+vt 0.687631 0.012296
+vt 0.685402 0.012756
+vt 0.687700 0.010854
+vt 0.306559 0.800910
+vt 0.824492 0.653956
+vt 0.822835 0.676244
+vt 0.820100 0.679839
+vt 0.825037 0.665301
+vt 0.224606 0.447491
+vt 0.861167 0.489006
+vt 0.630201 0.173656
+vt 0.623528 0.173428
+vt 0.196703 0.815333
+vt 0.197879 0.815398
+vt 0.052082 0.805818
+vt 0.051630 0.802650
+vt 0.052363 0.804374
+vt 0.052632 0.805572
+vt 0.268600 0.819083
+vt 0.269119 0.810045
+vt 0.269410 0.811514
+vt 0.733600 0.095388
+vt 0.734079 0.096530
+vt 0.733077 0.093947
+vt 0.729546 0.094039
+vt 0.729796 0.095686
+vt 0.541719 0.850795
+vt 0.541225 0.850760
+vt 0.540260 0.850299
+vt 0.540736 0.845799
+vt 0.593938 0.854559
+vt 0.593346 0.854120
+vt 0.073849 0.805406
+vt 0.072261 0.807006
+vt 0.072228 0.803092
+vt 0.073441 0.803052
+vt 0.141477 0.635555
+vt 0.140365 0.635379
+vt 0.697375 0.077304
+vt 0.697915 0.077372
+vt 0.697644 0.074602
+vt 0.698387 0.074541
+vt 0.699091 0.065624
+vt 0.699587 0.065694
+vt 0.699195 0.068670
+vt 0.698426 0.068726
+vt 0.290868 0.815964
+vt 0.289662 0.816213
+vt 0.290276 0.813662
+vt 0.291249 0.813989
+vt 0.290729 0.810772
+vt 0.291714 0.811733
+vt 0.699130 0.050285
+vt 0.699199 0.051774
+vt 0.700384 0.029023
+vt 0.700787 0.028872
+vt 0.700981 0.029946
+vt 0.700459 0.030695
+vt 0.700935 0.032159
+vt 0.700545 0.032596
+vt 0.701126 0.033157
+vt 0.700652 0.034977
+vt 0.699913 0.037599
+vt 0.700768 0.037553
+vt 0.700880 0.040041
+vt 0.699965 0.040182
+vt 0.700991 0.042511
+vt 0.700136 0.042526
+vt 0.699052 0.048559
+vt 0.052259 0.691849
+vt 0.699819 0.016343
+vt 0.700481 0.020445
+vt 0.699888 0.018009
+vt 0.698814 0.011365
+vt 0.698835 0.012617
+vt 0.719234 0.025781
+vt 0.098544 0.806597
+vt 0.098038 0.807200
+vt 0.097517 0.804499
+vt 0.098040 0.804198
+vt 0.719394 0.020346
+vt 0.719365 0.019079
+vt 0.719962 0.020481
+vt 0.719825 0.021271
+vt 0.720346 0.023476
+vt 0.720121 0.023359
+vt 0.138182 0.695028
+vt 0.137904 0.687459
+vt 0.139849 0.668730
+vt 0.139251 0.671007
+vt 0.138663 0.673312
+vt 0.136704 0.699222
+vt 0.136145 0.700799
+vt 0.332108 0.843322
+vt 0.332153 0.841644
+vt 0.216284 0.815422
+vt 0.216182 0.816607
+vt 0.215166 0.816531
+vt 0.215224 0.815500
+vt 0.129042 0.705670
+vt 0.129025 0.705092
+vt 0.130869 0.703578
+vt 0.129198 0.704150
+vt 0.331231 0.840575
+vt 0.349117 0.840301
+vt 0.348402 0.839820
+vt 0.695345 0.007414
+vt 0.695719 0.008060
+vt 0.698231 0.008757
+vt 0.696788 0.008935
+vt 0.698712 0.009084
+vt 0.145498 0.646628
+vt 0.142790 0.642651
+vt 0.143409 0.639802
+vt 0.144030 0.636377
+vt 0.293965 0.778014
+vt 0.292765 0.777773
+vt 0.568517 0.853992
+vt 0.568367 0.856800
+vt 0.567536 0.856829
+vt 0.567742 0.854035
+vt 0.178708 0.770421
+vt 0.177888 0.770730
+vt 0.178112 0.773767
+vt 0.231835 0.780617
+vt 0.228692 0.785576
+vt 0.551936 0.855913
+vt 0.552638 0.857043
+vt 0.550476 0.857351
+vt 0.549808 0.856114
+vt 0.222731 0.795688
+vt 0.221603 0.797675
+vt 0.222308 0.791815
+vt 0.413441 0.776593
+vt 0.414624 0.776495
+vt 0.416026 0.776422
+vt 0.232552 0.777619
+vt 0.231908 0.777837
+vt 0.297079 0.776415
+vt 0.296724 0.777082
+vt 0.270646 0.822768
+vt 0.270876 0.824733
+vt 0.270051 0.824260
+vt 0.270186 0.822876
+vt 0.318848 0.592525
+vt 0.320478 0.592744
+vt 0.321694 0.822279
+vt 0.322598 0.824002
+vt 0.322139 0.823863
+vt 0.321253 0.822826
+vt 0.292590 0.755225
+vt 0.292875 0.754258
+vt 0.294843 0.755340
+vt 0.294905 0.756346
+vt 0.042061 0.805190
+vt 0.043065 0.807977
+vt 0.160576 0.815036
+vt 0.161293 0.814648
+vt 0.324089 0.582712
+vt 0.354791 0.841771
+vt 0.355787 0.841650
+vt 0.355992 0.843367
+vt 0.354851 0.843820
+vt 0.318759 0.603120
+vt 0.319021 0.601915
+vt 0.319216 0.600551
+vt 0.099168 0.813269
+vt 0.098179 0.813540
+vt 0.316312 0.606638
+vt 0.317988 0.606616
+vt 0.318075 0.607158
+vt 0.318001 0.608154
+vt 0.285972 0.824612
+vt 0.285649 0.822789
+vt 0.286634 0.822768
+vt 0.286947 0.824796
+vt 0.517688 0.856360
+vt 0.516801 0.856394
+vt 0.230916 0.818073
+vt 0.231764 0.818228
+vt 0.317848 0.609002
+vt 0.202622 0.807357
+vt 0.202540 0.808043
+vt 0.200852 0.808559
+vt 0.200152 0.808773
+vt 0.477124 0.853346
+vt 0.478249 0.853386
+vt 0.478366 0.854982
+vt 0.477120 0.855246
+vt 0.763432 0.868590
+vt 0.762553 0.866418
+vt 0.763348 0.866651
+vt 0.764222 0.868199
+vt 0.324929 0.574737
+vt 0.293482 0.762239
+vt 0.293337 0.764502
+vt 0.293044 0.762114
+vt 0.294377 0.767346
+vt 0.296123 0.767839
+vt 0.607899 0.172743
+vt 0.562140 0.158398
+vt 0.790959 0.631447
+vt 0.691401 0.033753
+vt 0.686238 0.011206
+vt 0.687909 0.009856
+vt 0.305452 0.800639
+vt 0.833688 0.457654
+vt 0.820706 0.457285
+vt 0.826808 0.444432
+vt 0.837445 0.445573
+vt 0.165446 0.463412
+vt 0.153070 0.457654
+vt 0.164354 0.454565
+vt 0.168722 0.459690
+vt 0.837170 0.707863
+vt 0.831898 0.712674
+vt 0.837063 0.704341
+vt 0.835227 0.697905
+vt 0.833371 0.689026
+vt 0.218759 0.452099
+vt 0.219353 0.456271
+vt 0.220338 0.437836
+vt 0.231351 0.425591
+vt 0.241352 0.408704
+vt 0.873449 0.527411
+vt 0.885933 0.527411
+vt 0.896866 0.528700
+vt 0.847986 0.487075
+vt 0.851180 0.470034
+vt 0.732223 0.097705
+vt 0.732338 0.096259
+vt 0.052855 0.806651
+vt 0.730982 0.093976
+vt 0.270977 0.808204
+vt 0.270426 0.807735
+vt 0.730794 0.096045
+vt 0.730131 0.097294
+vt 0.693989 0.085001
+vt 0.692790 0.088520
+vt 0.693113 0.085016
+vt 0.143470 0.631217
+vt 0.144689 0.627393
+vt 0.140850 0.638899
+vt 0.139785 0.638676
+vt 0.698804 0.071630
+vt 0.697981 0.071778
+vt 0.698439 0.058547
+vt 0.698195 0.060632
+vt 0.697938 0.062531
+vt 0.688226 0.855614
+vt 0.688092 0.854326
+vt 0.689299 0.854602
+vt 0.689286 0.855601
+vt 0.291984 0.810608
+vt 0.291127 0.809651
+vt 0.700308 0.027329
+vt 0.700867 0.027421
+vt 0.052504 0.690816
+vt 0.700091 0.034886
+vt 0.699684 0.032543
+vt 0.190975 0.802499
+vt 0.191373 0.799891
+vt 0.192313 0.800800
+vt 0.191888 0.802825
+vt 0.699013 0.047671
+vt 0.700071 0.046623
+vt 0.699962 0.019637
+vt 0.700019 0.020914
+vt 0.698911 0.013716
+vt 0.699204 0.014874
+vt 0.494401 0.855279
+vt 0.493877 0.856442
+vt 0.493516 0.855530
+vt 0.494067 0.854701
+vt 0.493219 0.854388
+vt 0.493680 0.854125
+vt 0.719528 0.023479
+vt 0.718797 0.021133
+vt 0.719017 0.021702
+vt 0.137591 0.696711
+vt 0.136423 0.692302
+vt 0.136986 0.690461
+vt 0.137490 0.688813
+vt 0.135832 0.694235
+vt 0.138103 0.675518
+vt 0.135244 0.686639
+vt 0.135689 0.684904
+vt 0.136355 0.682371
+vt 0.137055 0.679693
+vt 0.137603 0.677527
+vt 0.137142 0.697984
+vt 0.133528 0.701776
+vt 0.134024 0.700151
+vt 0.133120 0.703109
+vt 0.215334 0.818285
+vt 0.216195 0.818285
+vt 0.139630 0.657185
+vt 0.140233 0.654413
+vt 0.140874 0.651461
+vt 0.139037 0.659910
+vt 0.138427 0.662717
+vt 0.137845 0.665378
+vt 0.137341 0.667661
+vt 0.141527 0.648457
+vt 0.142164 0.645528
+vt 0.295641 0.778507
+vt 0.295561 0.780519
+vt 0.229525 0.781522
+vt 0.227899 0.782982
+vt 0.224554 0.785945
+vt 0.222403 0.787147
+vt 0.221235 0.787500
+vt 0.142953 0.635861
+vt 0.082711 0.798630
+vt 0.083448 0.802297
+vt 0.082705 0.802367
+vt 0.081474 0.798542
+vt 0.533965 0.854739
+vt 0.534883 0.854426
+vt 0.261374 0.817031
+vt 0.262209 0.816537
+vt 0.324210 0.564205
+vt 0.270267 0.826408
+vt 0.270918 0.826110
+vt 0.321272 0.595403
+vt 0.321940 0.594386
+vt 0.321664 0.593447
+vt 0.040993 0.802842
+vt 0.296787 0.756400
+vt 0.296367 0.757060
+vt 0.162130 0.815335
+vt 0.161453 0.815939
+vt 0.324412 0.584452
+vt 0.354858 0.840476
+vt 0.355641 0.839915
+vt 0.293463 0.760208
+vt 0.292607 0.759817
+vt 0.320465 0.821407
+vt 0.321000 0.820554
+vt 0.099058 0.814024
+vt 0.098236 0.814418
+vt 0.100847 0.812971
+vt 0.100844 0.812254
+vt 0.517482 0.856936
+vt 0.516123 0.857574
+vt 0.294741 0.823169
+vt 0.295621 0.823009
+vt 0.295680 0.824685
+vt 0.294667 0.825278
+vt 0.542826 0.856782
+vt 0.541366 0.857571
+vt 0.290031 0.738700
+vt 0.291853 0.739541
+vt 0.291826 0.740193
+vt 0.289585 0.739302
+vt 0.289228 0.737327
+vt 0.288864 0.737528
+vt 0.289270 0.733111
+vt 0.290971 0.733777
+vt 0.290890 0.734297
+vt 0.288662 0.733287
+vt 0.518865 0.854977
+vt 0.519041 0.855833
+vt 0.477237 0.852169
+vt 0.478114 0.851789
+vt 0.294158 0.769933
+vt 0.293661 0.772364
+vt 0.293055 0.772372
+vt 0.293194 0.769779
+vt 0.292914 0.774999
+vt 0.297694 0.768225
+vt 0.298207 0.768143
+vt 0.293338 0.767107
+vt 0.593740 0.172292
+vt 0.588551 0.167700
+vt 0.575823 0.162514
+vt 0.562783 0.159492
+vt 0.761252 0.661042
+vt 0.766652 0.673326
+vt 0.759754 0.668303
+vt 0.771951 0.646070
+vt 0.689200 0.018935
+vt 0.538776 0.830883
+vt 0.541275 0.842350
+vt 0.541632 0.847050
+vt 0.694055 0.051838
+vt 0.542311 0.849675
+vt 0.688466 0.012916
+vt 0.688466 0.011569
+vt 0.200423 0.809879
+vt 0.201330 0.809716
+vt 0.816496 0.435047
+vt 0.802209 0.450020
+vt 0.158137 0.447819
+vt 0.147410 0.445573
+vt 0.380124 0.809854
+vt 0.392315 0.817923
+vt 0.380081 0.817049
+vt 0.373251 0.811640
+vt 0.369138 0.820456
+vt 0.367394 0.815079
+vt 0.828355 0.657232
+vt 0.831106 0.664942
+vt 0.826791 0.676287
+vt 0.833207 0.678175
+vt 0.214623 0.443896
+vt 0.860966 0.527411
+vt 0.624599 0.190469
+vt 0.607352 0.180829
+vt 0.053292 0.807919
+vt 0.052702 0.808505
+vt 0.732347 0.094648
+vt 0.074649 0.802996
+vt 0.075893 0.806678
+vt 0.072875 0.799622
+vt 0.071491 0.798775
+vt 0.142585 0.635752
+vt 0.141906 0.639156
+vt 0.140470 0.640872
+vt 0.139133 0.641378
+vt 0.696740 0.072200
+vt 0.696455 0.074331
+vt 0.368186 0.832976
+vt 0.368678 0.829873
+vt 0.369708 0.830803
+vt 0.369213 0.833207
+vt 0.368803 0.835331
+vt 0.367515 0.835792
+vt 0.292212 0.814347
+vt 0.291799 0.817025
+vt 0.292935 0.811454
+vt 0.293108 0.810229
+vt 0.698262 0.049196
+vt 0.698038 0.050587
+vt 0.698372 0.051575
+vt 0.699745 0.027263
+vt 0.699527 0.029075
+vt 0.699545 0.030834
+vt 0.700650 0.025822
+vt 0.700230 0.025599
+vt 0.215635 0.808886
+vt 0.216063 0.806174
+vt 0.216924 0.807065
+vt 0.216486 0.809157
+vt 0.698603 0.038674
+vt 0.698694 0.040602
+vt 0.698770 0.042335
+vt 0.191550 0.804571
+vt 0.190403 0.804897
+vt 0.697950 0.048626
+vt 0.700749 0.024790
+vt 0.700150 0.023820
+vt 0.700076 0.022191
+vt 0.698954 0.016331
+vt 0.698974 0.018146
+vt 0.699105 0.019739
+vt 0.493076 0.852998
+vt 0.493779 0.853369
+vt 0.697667 0.011946
+vt 0.697725 0.012873
+vt 0.718598 0.024454
+vt 0.718885 0.024031
+vt 0.097989 0.801445
+vt 0.098385 0.803775
+vt 0.135296 0.695991
+vt 0.134877 0.688084
+vt 0.137666 0.670173
+vt 0.135799 0.674592
+vt 0.136331 0.672192
+vt 0.134513 0.698553
+vt 0.134896 0.697298
+vt 0.131515 0.701036
+vt 0.131939 0.699389
+vt 0.131172 0.702389
+vt 0.332038 0.840201
+vt 0.698542 0.009851
+vt 0.696788 0.009700
+vt 0.214734 0.816205
+vt 0.214815 0.815735
+vt 0.403358 0.818563
+vt 0.403945 0.818785
+vt 0.403339 0.819362
+vt 0.403104 0.819044
+vt 0.129464 0.703002
+vt 0.128739 0.703960
+vt 0.128582 0.704870
+vt 0.331237 0.839720
+vt 0.694864 0.008420
+vt 0.695345 0.009022
+vt 0.698868 0.010172
+vt 0.141069 0.645075
+vt 0.141660 0.642187
+vt 0.142245 0.639328
+vt 0.291837 0.780652
+vt 0.292045 0.777834
+vt 0.176811 0.767983
+vt 0.177593 0.767627
+vt 0.177076 0.771068
+vt 0.230763 0.778132
+vt 0.230313 0.780310
+vt 0.550163 0.854548
+vt 0.551700 0.854489
+vt 0.276031 0.802143
+vt 0.277439 0.802072
+vt 0.277359 0.804059
+vt 0.275934 0.804049
+vt 0.276313 0.798307
+vt 0.277715 0.798199
+vt 0.276649 0.794002
+vt 0.278051 0.793885
+vt 0.084293 0.807010
+vt 0.083650 0.806902
+vt 0.413664 0.779291
+vt 0.414846 0.779178
+vt 0.416249 0.779107
+vt 0.231530 0.774934
+vt 0.230894 0.775147
+vt 0.296626 0.780219
+vt 0.297061 0.778859
+vt 0.259997 0.815438
+vt 0.260444 0.817214
+vt 0.262194 0.818980
+vt 0.261275 0.818574
+vt 0.293025 0.747332
+vt 0.292701 0.746440
+vt 0.294849 0.747454
+vt 0.294481 0.747943
+vt 0.269693 0.822775
+vt 0.322148 0.592751
+vt 0.377851 0.842885
+vt 0.378790 0.842742
+vt 0.378917 0.844372
+vt 0.377839 0.844894
+vt 0.321646 0.824064
+vt 0.291658 0.752438
+vt 0.291711 0.755018
+vt 0.291193 0.752313
+vt 0.293195 0.757864
+vt 0.295198 0.758373
+vt 0.297068 0.758675
+vt 0.296808 0.759863
+vt 0.295512 0.760140
+vt 0.317559 0.599764
+vt 0.319201 0.599853
+vt 0.286308 0.826439
+vt 0.287000 0.826093
+vt 0.320057 0.602412
+vt 0.320669 0.601404
+vt 0.320399 0.600495
+vt 0.100851 0.813455
+vt 0.369742 0.841829
+vt 0.368975 0.840022
+vt 0.370333 0.840306
+vt 0.370685 0.841828
+vt 0.294945 0.821851
+vt 0.295624 0.821309
+vt 0.319257 0.607008
+vt 0.319688 0.606475
+vt 0.319068 0.608344
+vt 0.319594 0.607629
+vt 0.293242 0.740803
+vt 0.293681 0.740408
+vt 0.518701 0.856741
+vt 0.518563 0.856320
+vt 0.292241 0.734889
+vt 0.292695 0.734621
+vt 0.231801 0.819449
+vt 0.231214 0.819798
+vt 0.098723 0.814881
+vt 0.098399 0.815017
+vt 0.097725 0.815105
+vt 0.098236 0.815597
+vt 0.202885 0.809320
+vt 0.297236 0.769543
+vt 0.296059 0.769790
+vt 0.836126 0.994868
+vt 0.836910 0.996730
+vt 0.836033 0.996267
+vt 0.835241 0.994949
+vt 0.292823 0.767170
+vt 0.292869 0.764503
+vt 0.292612 0.761983
+vt 0.594198 0.177867
+vt 0.762800 0.676051
+vt 0.764373 0.682420
+vt 0.758090 0.676694
+vt 0.757868 0.670568
+vt 0.755926 0.651126
+vt 0.690413 0.023726
+vt 0.540399 0.836650
+vt 0.541215 0.840896
+vt 0.694103 0.058840
+vt 0.688466 0.010763
+vt 0.834714 0.433577
+vt 0.824371 0.425222
+vt 0.142285 0.444432
+vt 0.139560 0.433576
+vt 0.150749 0.434462
+vt 0.167931 0.442186
+vt 0.180621 0.452082
+vt 0.176432 0.462344
+vt 0.214488 0.457249
+vt 0.215831 0.460629
+vt 0.842405 0.695704
+vt 0.842384 0.702998
+vt 0.841150 0.686409
+vt 0.209907 0.448179
+vt 0.209923 0.436231
+vt 0.213046 0.430484
+vt 0.223047 0.412068
+vt 0.249139 0.392587
+vt 0.244030 0.388717
+vt 0.230394 0.384240
+vt 0.873449 0.569588
+vt 0.886004 0.569588
+vt 0.899009 0.569771
+vt 0.849248 0.528191
+vt 0.609522 0.206492
+vt 0.600034 0.191778
+vt 0.692350 0.085895
+vt 0.692534 0.081195
+vt 0.693350 0.080768
+vt 0.694426 0.080684
+vt 0.073880 0.798542
+vt 0.141482 0.641933
+vt 0.697010 0.069918
+vt 0.725454 0.866551
+vt 0.725322 0.865362
+vt 0.726659 0.865731
+vt 0.726647 0.866664
+vt 0.697077 0.068972
+vt 0.698259 0.067797
+vt 0.697082 0.855556
+vt 0.696956 0.854319
+vt 0.698244 0.854668
+vt 0.698221 0.855660
+vt 0.697334 0.058679
+vt 0.698505 0.057590
+vt 0.697564 0.059300
+vt 0.697101 0.060960
+vt 0.697193 0.062258
+vt 0.688487 0.856442
+vt 0.689306 0.856713
+vt 0.690229 0.854319
+vt 0.690130 0.855637
+vt 0.699373 0.025654
+vt 0.216134 0.810968
+vt 0.215082 0.811230
+vt 0.698551 0.037778
+vt 0.699608 0.036707
+vt 0.638582 0.858574
+vt 0.638452 0.857208
+vt 0.639598 0.857450
+vt 0.639599 0.858566
+vt 0.193451 0.800675
+vt 0.192568 0.799751
+vt 0.193609 0.799570
+vt 0.192802 0.803152
+vt 0.192805 0.798796
+vt 0.193549 0.798752
+vt 0.699453 0.020839
+vt 0.699215 0.022169
+vt 0.697739 0.013668
+vt 0.079092 0.815654
+vt 0.078223 0.815748
+vt 0.078529 0.814589
+vt 0.079245 0.814809
+vt 0.698497 0.010995
+vt 0.697578 0.011468
+vt 0.494787 0.854191
+vt 0.494614 0.853461
+vt 0.133476 0.693465
+vt 0.133972 0.691569
+vt 0.134446 0.689752
+vt 0.135286 0.676922
+vt 0.132890 0.687628
+vt 0.133238 0.686062
+vt 0.133640 0.684262
+vt 0.134177 0.681884
+vt 0.134757 0.679309
+vt 0.132358 0.697769
+vt 0.132686 0.696498
+vt 0.215512 0.819354
+vt 0.216159 0.819728
+vt 0.128994 0.702812
+vt 0.695719 0.009453
+vt 0.138114 0.659510
+vt 0.138674 0.656775
+vt 0.139244 0.653991
+vt 0.139850 0.651029
+vt 0.137537 0.662330
+vt 0.136989 0.664994
+vt 0.136517 0.667265
+vt 0.136058 0.669440
+vt 0.140467 0.648014
+vt 0.175728 0.765218
+vt 0.176469 0.764809
+vt 0.176037 0.768367
+vt 0.226874 0.779606
+vt 0.225709 0.782606
+vt 0.220414 0.784186
+vt 0.221532 0.783829
+vt 0.222968 0.783133
+vt 0.195419 0.720337
+vt 0.196985 0.720038
+vt 0.196655 0.723719
+vt 0.195607 0.723781
+vt 0.276910 0.790690
+vt 0.278312 0.790571
+vt 0.290897 0.746394
+vt 0.291216 0.745774
+vt 0.271578 0.826778
+vt 0.270884 0.827333
+vt 0.322496 0.593920
+vt 0.377979 0.841617
+vt 0.378717 0.841072
+vt 0.291604 0.750090
+vt 0.290696 0.749733
+vt 0.320226 0.822807
+vt 0.319334 0.821128
+vt 0.292172 0.757485
+vt 0.297690 0.758428
+vt 0.297368 0.760169
+vt 0.292197 0.759592
+vt 0.386314 0.842116
+vt 0.387851 0.841838
+vt 0.386982 0.843630
+vt 0.385903 0.843632
+vt 0.101974 0.813070
+vt 0.102366 0.812649
+vt 0.101971 0.812185
+vt 0.292789 0.735774
+vt 0.292425 0.736244
+vt 0.291106 0.736185
+vt 0.290957 0.735314
+vt 0.288998 0.736069
+vt 0.288976 0.734736
+vt 0.288713 0.739208
+vt 0.288399 0.737541
+vt 0.288124 0.735958
+vt 0.292034 0.741603
+vt 0.293884 0.741956
+vt 0.290051 0.741150
+vt 0.371553 0.840023
+vt 0.371734 0.841829
+vt 0.288310 0.732809
+vt 0.287837 0.733409
+vt 0.287965 0.733062
+vt 0.414553 0.851265
+vt 0.414146 0.849934
+vt 0.415003 0.849587
+vt 0.415327 0.851123
+vt 0.292439 0.772457
+vt 0.292247 0.775075
+vt 0.292628 0.769862
+vt 0.753304 0.701813
+vt 0.758699 0.702462
+vt 0.755994 0.707651
+vt 0.752698 0.705389
+vt 0.758883 0.689734
+vt 0.751731 0.689272
+vt 0.750257 0.673909
+vt 0.755599 0.659393
+vt 0.756665 0.657283
+vt 0.768920 0.635204
+vt 0.765639 0.640812
+vt 0.803244 0.403658
+vt 0.812243 0.408069
+vt 0.690744 0.026183
+vt 0.693465 0.044576
+vt 0.692927 0.075495
+vt 0.693352 0.069989
+vt 0.693202 0.073986
+vt 0.693813 0.063708
+vt 0.694705 0.054713
+vt 0.694707 0.051837
+vt 0.209501 0.811541
+vt 0.203483 0.811702
+vt 0.204972 0.811115
+vt 0.202136 0.810782
+vt 0.203663 0.810316
+vt 0.370215 0.800474
+vt 0.365597 0.802772
+vt 0.361363 0.805527
+vt 0.252260 0.640036
+vt 0.245710 0.645929
+vt 0.242536 0.640551
+vt 0.248606 0.634426
+vt 0.839904 0.676136
+vt 0.833776 0.667989
+vt 0.828709 0.666377
+vt 0.205194 0.439225
+vt 0.860895 0.569588
+vt 0.622044 0.231585
+vt 0.611856 0.233927
+vt 0.692841 0.079742
+vt 0.867152 0.996607
+vt 0.868089 0.996545
+vt 0.868447 0.997929
+vt 0.867228 0.997800
+vt 0.696126 0.070746
+vt 0.695645 0.072545
+vt 0.695717 0.074008
+vt 0.370998 0.830376
+vt 0.369988 0.829628
+vt 0.371174 0.829111
+vt 0.370230 0.833473
+vt 0.369774 0.836391
+vt 0.292246 0.809520
+vt 0.293053 0.809320
+vt 0.404260 0.778499
+vt 0.404287 0.775821
+vt 0.404962 0.776022
+vt 0.405230 0.778687
+vt 0.403612 0.772928
+vt 0.404574 0.773203
+vt 0.403207 0.770232
+vt 0.402169 0.771703
+vt 0.401910 0.769780
+vt 0.193173 0.797052
+vt 0.192163 0.798227
+vt 0.192188 0.796836
+vt 0.192635 0.795847
+vt 0.193455 0.795588
+vt 0.035741 0.795969
+vt 0.036001 0.794157
+vt 0.036855 0.794735
+vt 0.036552 0.796162
+vt 0.698207 0.029946
+vt 0.698274 0.031254
+vt 0.698320 0.032414
+vt 0.622629 0.858573
+vt 0.622496 0.857208
+vt 0.623547 0.857467
+vt 0.623544 0.858585
+vt 0.218007 0.806810
+vt 0.217184 0.805995
+vt 0.218180 0.805674
+vt 0.217337 0.809426
+vt 0.697492 0.038807
+vt 0.697813 0.039385
+vt 0.697600 0.040924
+vt 0.697938 0.042094
+vt 0.192416 0.805577
+vt 0.699236 0.023958
+vt 0.078723 0.813133
+vt 0.079467 0.813742
+vt 0.697626 0.017135
+vt 0.697703 0.018565
+vt 0.697749 0.019844
+vt 0.601333 0.851649
+vt 0.601221 0.850477
+vt 0.602090 0.850756
+vt 0.602107 0.851692
+vt 0.696970 0.012304
+vt 0.696776 0.013056
+vt 0.133026 0.695191
+vt 0.132514 0.689309
+vt 0.134513 0.676720
+vt 0.135031 0.674284
+vt 0.135554 0.671819
+vt 0.129724 0.701807
+vt 0.130019 0.700440
+vt 0.130388 0.698776
+vt 0.402634 0.819500
+vt 0.402455 0.818770
+vt 0.402478 0.817575
+vt 0.403492 0.817653
+vt 0.215911 0.820209
+vt 0.215134 0.819728
+vt 0.402592 0.758767
+vt 0.402995 0.761707
+vt 0.402152 0.761449
+vt 0.401707 0.758530
+vt 0.402162 0.755880
+vt 0.401374 0.755625
+vt 0.401671 0.753021
+vt 0.401109 0.752849
+vt 0.174995 0.765656
+vt 0.229742 0.775505
+vt 0.229045 0.778436
+vt 0.224293 0.782000
+vt 0.166147 0.792756
+vt 0.166429 0.793983
+vt 0.164892 0.793462
+vt 0.165005 0.792310
+vt 0.167411 0.792077
+vt 0.166857 0.791315
+vt 0.275229 0.801381
+vt 0.275130 0.798521
+vt 0.275466 0.794198
+vt 0.275728 0.790866
+vt 0.413887 0.781993
+vt 0.415070 0.781865
+vt 0.416472 0.781795
+vt 0.230508 0.772246
+vt 0.229879 0.772455
+vt 0.291378 0.748233
+vt 0.293349 0.748814
+vt 0.295164 0.749138
+vt 0.295774 0.748960
+vt 0.294882 0.749921
+vt 0.293613 0.750032
+vt 0.320871 0.824684
+vt 0.291773 0.757317
+vt 0.291305 0.754913
+vt 0.290760 0.752139
+vt 0.320872 0.599856
+vt 0.361911 0.841758
+vt 0.362869 0.841587
+vt 0.363014 0.843229
+vt 0.361883 0.843816
+vt 0.294499 0.741860
+vt 0.287680 0.826706
+vt 0.286962 0.827257
+vt 0.321221 0.601020
+vt 0.386301 0.844754
+vt 0.385447 0.845147
+vt 0.100843 0.811705
+vt 0.102365 0.811758
+vt 0.294514 0.821486
+vt 0.295280 0.820874
+vt 0.320123 0.607203
+vt 0.289040 0.740942
+vt 0.232324 0.819975
+vt 0.231658 0.820504
+vt 0.241459 0.827007
+vt 0.241370 0.826151
+vt 0.241791 0.826490
+vt 0.241843 0.826835
+vt 0.293402 0.735677
+vt 0.287913 0.734477
+vt 0.413296 0.850306
+vt 0.413884 0.851751
+vt 0.099058 0.815730
+vt 0.203092 0.808535
+vt 0.203476 0.809360
+vt 0.170425 0.751801
+vt 0.171067 0.751479
+vt 0.172219 0.754145
+vt 0.171572 0.754561
+vt 0.169788 0.748958
+vt 0.169169 0.749174
+vt 0.590891 0.185533
+vt 0.021966 0.804680
+vt 0.021491 0.801384
+vt 0.027066 0.805096
+vt 0.025985 0.807573
+vt 0.751163 0.661867
+vt 0.542217 0.817336
+vt 0.538207 0.827252
+vt 0.536588 0.823493
+vt 0.532101 0.814576
+vt 0.755236 0.645688
+vt 0.791188 0.411390
+vt 0.780170 0.438540
+vt 0.779804 0.415479
+vt 0.792939 0.389790
+vt 0.691303 0.029673
+vt 0.691031 0.027980
+vt 0.690010 0.020055
+vt 0.689332 0.016970
+vt 0.692710 0.038050
+vt 0.694421 0.048884
+vt 0.693530 0.077415
+vt 0.694421 0.060196
+vt 0.694560 0.057502
+vt 0.843717 0.426819
+vt 0.830578 0.415853
+vt 0.819734 0.402680
+vt 0.514412 0.839403
+vt 0.503223 0.849368
+vt 0.496753 0.840364
+vt 0.512811 0.830883
+vt 0.177098 0.427664
+vt 0.184545 0.434805
+vt 0.192600 0.441429
+vt 0.185281 0.454983
+vt 0.176207 0.467955
+vt 0.251906 0.653318
+vt 0.246745 0.655481
+vt 0.201891 0.455087
+vt 0.207194 0.463162
+vt 0.197899 0.470228
+vt 0.192266 0.464004
+vt 0.838974 0.666729
+vt 0.196788 0.446815
+vt 0.203459 0.436194
+vt 0.207637 0.433670
+vt 0.208006 0.432506
+vt 0.209673 0.423170
+vt 0.216124 0.410532
+vt 0.904697 0.532570
+vt 0.907843 0.553787
+vt 0.237696 0.367500
+vt 0.217399 0.402731
+vt 0.848277 0.570484
+vt 0.873449 0.599653
+vt 0.886218 0.599653
+vt 0.897323 0.597481
+vt 0.589538 0.199961
+vt 0.593334 0.215439
+vt 0.694549 0.077568
+vt 0.197132 0.728173
+vt 0.195835 0.728202
+vt 0.197313 0.727093
+vt 0.198250 0.727823
+vt 0.198372 0.728666
+vt 0.401042 0.754565
+vt 0.400180 0.755820
+vt 0.400109 0.754849
+vt 0.695898 0.070123
+vt 0.725708 0.867290
+vt 0.726629 0.867659
+vt 0.697336 0.856302
+vt 0.698216 0.856664
+vt 0.401664 0.767671
+vt 0.401601 0.766738
+vt 0.402593 0.766404
+vt 0.402917 0.767464
+vt 0.292690 0.807376
+vt 0.291580 0.808899
+vt 0.291648 0.807239
+vt 0.292167 0.805940
+vt 0.293047 0.805512
+vt 0.689891 0.856459
+vt 0.402862 0.780337
+vt 0.402943 0.778617
+vt 0.404184 0.780772
+vt 0.404199 0.770467
+vt 0.194072 0.797548
+vt 0.036334 0.797308
+vt 0.035337 0.797579
+vt 0.698157 0.029346
+vt 0.699224 0.028497
+vt 0.216955 0.811791
+vt 0.217436 0.804966
+vt 0.218148 0.804817
+vt 0.638816 0.859406
+vt 0.639605 0.859682
+vt 0.402495 0.787936
+vt 0.402544 0.787028
+vt 0.403661 0.786820
+vt 0.403890 0.787826
+vt 0.404328 0.785402
+vt 0.404127 0.782925
+vt 0.405142 0.783132
+vt 0.405025 0.785511
+vt 0.402789 0.781819
+vt 0.402008 0.781002
+vt 0.401779 0.779798
+vt 0.002743 0.806954
+vt 0.001812 0.807144
+vt 0.002111 0.806045
+vt 0.002869 0.806263
+vt 0.002283 0.804714
+vt 0.003080 0.805292
+vt 0.697555 0.016452
+vt 0.698633 0.015722
+vt 0.697028 0.013577
+vt 0.079962 0.815028
+vt 0.079819 0.816209
+vt 0.821058 0.869004
+vt 0.821158 0.868086
+vt 0.821918 0.868027
+vt 0.821893 0.869196
+vt 0.696666 0.012003
+vt 0.131332 0.694562
+vt 0.131707 0.692897
+vt 0.132117 0.691075
+vt 0.132569 0.685871
+vt 0.132228 0.687478
+vt 0.132956 0.684050
+vt 0.133451 0.681722
+vt 0.133990 0.679181
+vt 0.130754 0.697140
+vt 0.131042 0.695856
+vt 0.403557 0.816505
+vt 0.402585 0.816417
+vt 0.129241 0.701615
+vt 0.403816 0.767684
+vt 0.403409 0.764721
+vt 0.402840 0.764546
+vt 0.405250 0.780957
+vt 0.174665 0.762506
+vt 0.175368 0.762050
+vt 0.173970 0.762991
+vt 0.414113 0.784704
+vt 0.415295 0.784558
+vt 0.225881 0.776594
+vt 0.227983 0.776008
+vt 0.224265 0.779763
+vt 0.277134 0.787885
+vt 0.278536 0.787769
+vt 0.219722 0.781385
+vt 0.220802 0.781036
+vt 0.222388 0.780485
+vt 0.194638 0.721488
+vt 0.194523 0.724043
+vt 0.275951 0.788042
+vt 0.290298 0.747642
+vt 0.289965 0.745872
+vt 0.295427 0.750130
+vt 0.290234 0.749437
+vt 0.290185 0.744517
+vt 0.289662 0.744253
+vt 0.290250 0.742838
+vt 0.289362 0.742654
+vt 0.168531 0.746567
+vt 0.167945 0.746702
+vt 0.362044 0.840471
+vt 0.362798 0.839915
+vt 0.414960 0.852596
+vt 0.415951 0.852440
+vt 0.384998 0.841831
+vt 0.384930 0.843630
+vt 0.386455 0.845146
+vt 0.385456 0.845652
+vt 0.102872 0.812302
+vt 0.288253 0.739556
+vt 0.288575 0.741340
+vt 0.288012 0.737637
+vt 0.287721 0.736035
+vt 0.292308 0.742854
+vt 0.293596 0.742760
+vt 0.371803 0.842955
+vt 0.371218 0.843350
+vt 0.372034 0.840140
+vt 0.372245 0.841832
+vt 0.240678 0.826034
+vt 0.240555 0.827061
+vt 0.287461 0.734543
+vt 0.287422 0.733470
+vt 0.156823 0.720038
+vt 0.157110 0.720384
+vt 0.156693 0.720445
+vt 0.156440 0.720102
+vt 0.172638 0.757312
+vt 0.173290 0.756837
+vt 0.174324 0.759432
+vt 0.173652 0.759916
+vt 0.748893 0.703981
+vt 0.749805 0.706306
+vt 0.745892 0.690650
+vt 0.743328 0.673408
+vt 0.532953 0.825603
+vt 0.526294 0.813762
+vt 0.766208 0.434324
+vt 0.776889 0.447854
+vt 0.766486 0.444643
+vt 0.811978 0.377501
+vt 0.802896 0.367574
+vt 0.691580 0.031391
+vt 0.691880 0.033264
+vt 0.694003 0.046014
+vt 0.693611 0.043388
+vt 0.693980 0.068722
+vt 0.693829 0.071624
+vt 0.693680 0.074515
+vt 0.694131 0.065790
+vt 0.694280 0.062918
+vt 0.695686 0.054866
+vt 0.695448 0.057563
+vt 0.695574 0.051924
+vt 0.279132 0.827298
+vt 0.278558 0.822768
+vt 0.279038 0.823271
+vt 0.279264 0.825333
+vt 0.204199 0.810229
+vt 0.205474 0.810939
+vt 0.149147 0.429017
+vt 0.176336 0.423699
+vt 0.195186 0.443847
+vt 0.435610 0.817352
+vt 0.435265 0.826491
+vt 0.430199 0.827283
+vt 0.431151 0.817931
+vt 0.363451 0.791122
+vt 0.359528 0.792885
+vt 0.355745 0.794656
+vt 0.257893 0.641700
+vt 0.256777 0.654293
+vt 0.256488 0.627065
+vt 0.260107 0.629541
+vt 0.215442 0.643915
+vt 0.224987 0.633609
+vt 0.230619 0.639833
+vt 0.220346 0.648441
+vt 0.207011 0.428950
+vt 0.873910 0.950018
+vt 0.863607 0.955469
+vt 0.865941 0.936978
+vt 0.871059 0.937163
+vt 0.860681 0.599653
+vt 0.239639 0.351516
+vt 0.231873 0.357246
+vt 0.229859 0.345227
+vt 0.599812 0.238436
+vt 0.609491 0.260395
+vt 0.614116 0.273879
+vt 0.585456 0.191925
+vt 0.695645 0.080176
+vt 0.695690 0.078031
+vt 0.197251 0.731418
+vt 0.196011 0.731655
+vt 0.695721 0.080801
+vt 0.696358 0.079926
+vt 0.696646 0.080532
+vt 0.400446 0.758078
+vt 0.370262 0.828476
+vt 0.371114 0.828179
+vt 0.399451 0.756012
+vt 0.399113 0.755160
+vt 0.370744 0.826142
+vt 0.369571 0.827853
+vt 0.369658 0.826055
+vt 0.370218 0.824591
+vt 0.371140 0.824087
+vt 0.400726 0.760184
+vt 0.400930 0.767814
+vt 0.400597 0.766986
+vt 0.401303 0.770794
+vt 0.400829 0.769267
+vt 0.293645 0.807793
+vt 0.194040 0.796378
+vt 0.402120 0.778627
+vt 0.697964 0.024377
+vt 0.698013 0.025664
+vt 0.615559 0.858568
+vt 0.615404 0.857208
+vt 0.616401 0.857476
+vt 0.616442 0.858584
+vt 0.037846 0.794589
+vt 0.037070 0.793887
+vt 0.037979 0.793680
+vt 0.037363 0.796353
+vt 0.697408 0.030527
+vt 0.697089 0.030170
+vt 0.697176 0.031600
+vt 0.697492 0.032342
+vt 0.622878 0.859401
+vt 0.623591 0.859691
+vt 0.402025 0.797745
+vt 0.402074 0.797098
+vt 0.403192 0.796868
+vt 0.403416 0.797691
+vt 0.403852 0.795326
+vt 0.403656 0.792710
+vt 0.404669 0.792874
+vt 0.404547 0.795415
+vt 0.403722 0.790273
+vt 0.402321 0.791573
+vt 0.402401 0.789852
+vt 0.217848 0.803001
+vt 0.216849 0.804387
+vt 0.216922 0.802848
+vt 0.217386 0.801679
+vt 0.218175 0.801317
+vt 0.401673 0.788018
+vt 0.401429 0.787217
+vt 0.404905 0.787977
+vt 0.697890 0.022953
+vt 0.608481 0.851833
+vt 0.608313 0.850477
+vt 0.609244 0.850758
+vt 0.609316 0.851858
+vt 0.697828 0.022288
+vt 0.698902 0.021591
+vt 0.080340 0.813648
+vt 0.079655 0.813012
+vt 0.080471 0.812790
+vt 0.696489 0.017325
+vt 0.696823 0.017738
+vt 0.696600 0.018910
+vt 0.696916 0.019746
+vt 0.601527 0.852360
+vt 0.602120 0.852634
+vt 0.401390 0.816411
+vt 0.401462 0.815922
+vt 0.402398 0.815863
+vt 0.821845 0.867373
+vt 0.821298 0.867173
+vt 0.401286 0.818111
+vt 0.401316 0.817327
+vt 0.696401 0.012942
+vt 0.131870 0.689163
+vt 0.404788 0.790413
+vt 0.129520 0.700244
+vt 0.129870 0.698575
+vt 0.414333 0.787368
+vt 0.415516 0.787207
+vt 0.228745 0.772805
+vt 0.223696 0.777202
+vt 0.194832 0.728470
+vt 0.165308 0.789097
+vt 0.164076 0.789755
+vt 0.166545 0.788455
+vt 0.164305 0.784718
+vt 0.165507 0.784132
+vt 0.163530 0.781329
+vt 0.164710 0.780800
+vt 0.162872 0.778445
+vt 0.164036 0.777976
+vt 0.416697 0.784488
+vt 0.229481 0.769553
+vt 0.228861 0.769761
+vt 0.167443 0.744292
+vt 0.166893 0.744411
+vt 0.166407 0.741888
+vt 0.165891 0.742018
+vt 0.165308 0.739114
+vt 0.164816 0.739244
+vt 0.294151 0.743024
+vt 0.414106 0.853201
+vt 0.384948 0.844754
+vt 0.288859 0.742937
+vt 0.372226 0.843351
+vt 0.098179 0.816422
+vt 0.099168 0.816539
+vt 0.394881 0.843630
+vt 0.393795 0.841838
+vt 0.395240 0.842116
+vt 0.395861 0.843632
+vt 0.169794 0.752163
+vt 0.170933 0.755004
+vt 0.168569 0.749466
+vt 0.589589 0.183507
+vt 0.592395 0.176785
+vt 0.743729 0.659348
+vt 0.754375 0.647552
+vt 0.749804 0.647906
+vt 0.528169 0.802311
+vt 0.523995 0.803378
+vt 0.531777 0.180038
+vt 0.537215 0.170373
+vt 0.538964 0.176179
+vt 0.535012 0.180187
+vt 0.767215 0.416272
+vt 0.775170 0.391205
+vt 0.784012 0.386737
+vt 0.791810 0.362630
+vt 0.784102 0.375427
+vt 0.818879 0.383168
+vt 0.690570 0.021821
+vt 0.691330 0.024275
+vt 0.690020 0.017939
+vt 0.689694 0.016546
+vt 0.693195 0.040802
+vt 0.694860 0.046419
+vt 0.694842 0.049016
+vt 0.694656 0.074577
+vt 0.694951 0.060114
+vt 0.695213 0.062940
+vt 0.842230 0.411020
+vt 0.834341 0.404312
+vt 0.825512 0.387148
+vt 0.133089 0.426818
+vt 0.133190 0.421352
+vt 0.149580 0.421016
+vt 0.200174 0.429214
+vt 0.202579 0.419222
+vt 0.202781 0.434419
+vt 0.834120 0.661107
+vt 0.838665 0.660033
+vt 0.251965 0.665752
+vt 0.247419 0.666352
+vt 0.186949 0.457460
+vt 0.210644 0.639224
+vt 0.219670 0.627065
+vt 0.206944 0.654841
+vt 0.210940 0.657867
+vt 0.133689 0.811967
+vt 0.134737 0.816145
+vt 0.131633 0.816823
+vt 0.131409 0.811598
+vt 0.225398 0.362842
+vt 0.220124 0.389691
+vt 0.216163 0.368026
+vt 0.850203 0.598603
+vt 0.873449 0.623086
+vt 0.886236 0.623086
+vt 0.899240 0.619224
+vt 0.227225 0.323806
+vt 0.224757 0.330322
+vt 0.601102 0.259605
+vt 0.579381 0.206267
+vt 0.579454 0.199753
+vt 0.198465 0.730926
+vt 0.199175 0.728093
+vt 0.199031 0.728869
+vt 0.696622 0.078454
+vt 0.399366 0.757582
+vt 0.371744 0.826509
+vt 0.293653 0.806340
+vt 0.037120 0.798026
+vt 0.401213 0.797677
+vt 0.400968 0.797081
+vt 0.404435 0.797742
+vt 0.401545 0.790716
+vt 0.401321 0.789334
+vt 0.218689 0.803435
+vt 0.003627 0.806479
+vt 0.003486 0.807641
+vt 0.004004 0.805190
+vt 0.003264 0.804595
+vt 0.004128 0.804353
+vt 0.079875 0.812139
+vt 0.080452 0.812066
+vt 0.601956 0.852987
+vt 0.601227 0.852612
+vt 0.400704 0.816394
+vt 0.400520 0.815958
+vt 0.402918 0.815237
+vt 0.403605 0.815307
+vt 0.400632 0.817656
+vt 0.400410 0.817012
+vt 0.130493 0.695645
+vt 0.130767 0.694355
+vt 0.131116 0.692710
+vt 0.131498 0.690912
+vt 0.404347 0.799563
+vt 0.404270 0.801171
+vt 0.403255 0.801029
+vt 0.403280 0.799425
+vt 0.130219 0.696933
+vt 0.172988 0.760428
+vt 0.227023 0.773296
+vt 0.224971 0.773867
+vt 0.276174 0.785239
+vt 0.277356 0.785104
+vt 0.278759 0.784992
+vt 0.219036 0.778608
+vt 0.220079 0.778271
+vt 0.221679 0.777779
+vt 0.162218 0.775578
+vt 0.163367 0.775174
+vt 0.289823 0.747249
+vt 0.289480 0.745524
+vt 0.164242 0.736412
+vt 0.163762 0.736510
+vt 0.289160 0.744209
+vt 0.167382 0.746938
+vt 0.415765 0.852781
+vt 0.415096 0.853040
+vt 0.239740 0.826138
+vt 0.240067 0.824338
+vt 0.240781 0.824342
+vt 0.240220 0.823215
+vt 0.239870 0.822822
+vt 0.240515 0.822317
+vt 0.240761 0.822823
+vt 0.371557 0.843857
+vt 0.159050 0.728651
+vt 0.159392 0.726532
+vt 0.160293 0.728315
+vt 0.159483 0.729676
+vt 0.158539 0.724612
+vt 0.157714 0.726924
+vt 0.157158 0.725063
+vt 0.157837 0.723011
+vt 0.156537 0.723433
+vt 0.239555 0.826999
+vt 0.155536 0.720382
+vt 0.155575 0.720801
+vt 0.157190 0.721518
+vt 0.155959 0.721915
+vt 0.100851 0.815702
+vt 0.100847 0.816371
+vt 0.171994 0.757816
+vt 0.585124 0.189635
+vt 0.586921 0.181535
+vt 0.590070 0.173848
+vt 0.573677 0.175455
+vt 0.576739 0.166653
+vt 0.556547 0.168141
+vt 0.559497 0.159388
+vt 0.519216 0.803688
+vt 0.253800 0.742416
+vt 0.261191 0.738615
+vt 0.258661 0.752664
+vt 0.254116 0.752825
+vt 0.533383 0.186376
+vt 0.526750 0.190357
+vt 0.252320 0.733828
+vt 0.255855 0.732809
+vt 0.521946 0.227070
+vt 0.512973 0.233477
+vt 0.517086 0.209202
+vt 0.522868 0.208409
+vt 0.821385 0.371879
+vt 0.813625 0.357348
+vt 0.803992 0.341338
+vt 0.691802 0.026326
+vt 0.691926 0.028101
+vt 0.691048 0.020823
+vt 0.690891 0.019687
+vt 0.690776 0.018331
+vt 0.689106 0.014907
+vt 0.689586 0.015165
+vt 0.223599 0.820499
+vt 0.223948 0.818327
+vt 0.224409 0.815713
+vt 0.694645 0.043782
+vt 0.694070 0.041069
+vt 0.694505 0.071565
+vt 0.694992 0.068786
+vt 0.695194 0.065944
+vt 0.697491 0.053107
+vt 0.697413 0.055330
+vt 0.697343 0.057372
+vt 0.061738 0.807414
+vt 0.060913 0.808332
+vt 0.060749 0.805425
+vt 0.061603 0.805318
+vt 0.689107 0.013632
+vt 0.689969 0.013941
+vt 0.689110 0.012910
+vt 0.690099 0.013246
+vt 0.856401 0.421352
+vt 0.852752 0.405154
+vt 0.823423 0.375329
+vt 0.764027 0.862488
+vt 0.764253 0.837007
+vt 0.771970 0.836245
+vt 0.771829 0.862787
+vt 0.177394 0.413263
+vt 0.435680 0.809352
+vt 0.431389 0.809635
+vt 0.359547 0.782826
+vt 0.355658 0.783581
+vt 0.351842 0.784334
+vt 0.256423 0.666331
+vt 0.202845 0.651817
+vt 0.204243 0.667388
+vt 0.200460 0.665618
+vt 0.865578 0.920487
+vt 0.873381 0.925837
+vt 0.204839 0.401640
+vt 0.216998 0.402547
+vt 0.202878 0.413872
+vt 0.200668 0.375187
+vt 0.604885 0.272206
+vt 0.606101 0.281891
+vt 0.860662 0.623086
+vt 0.217958 0.345169
+vt 0.583531 0.221249
+vt 0.588444 0.245720
+vt 0.579534 0.193676
+vt 0.577872 0.209379
+vt 0.695796 0.075803
+vt 0.195072 0.731913
+vt 0.197328 0.734396
+vt 0.196162 0.734618
+vt 0.360401 0.835679
+vt 0.359845 0.834207
+vt 0.360917 0.834237
+vt 0.361322 0.836285
+vt 0.399857 0.759252
+vt 0.371767 0.824939
+vt 0.697090 0.023561
+vt 0.696864 0.024729
+vt 0.697182 0.025572
+vt 0.615791 0.859398
+vt 0.616479 0.859692
+vt 0.401705 0.804411
+vt 0.401763 0.803756
+vt 0.402871 0.803748
+vt 0.403090 0.804466
+vt 0.403494 0.802793
+vt 0.404188 0.802856
+vt 0.401911 0.800119
+vt 0.401958 0.799005
+vt 0.037281 0.793063
+vt 0.037924 0.793010
+vt 0.037568 0.791712
+vt 0.036698 0.792705
+vt 0.036696 0.791632
+vt 0.037057 0.790891
+vt 0.037770 0.790641
+vt 0.400881 0.798512
+vt 0.218705 0.802119
+vt 0.696762 0.023162
+vt 0.608700 0.852666
+vt 0.609353 0.852966
+vt 0.401423 0.810275
+vt 0.401490 0.809599
+vt 0.402591 0.809742
+vt 0.402802 0.810430
+vt 0.402641 0.813856
+vt 0.403656 0.813937
+vt 0.402665 0.812131
+vt 0.401293 0.812999
+vt 0.401342 0.811713
+vt 0.696190 0.018823
+vt 0.889204 0.960287
+vt 0.888427 0.960200
+vt 0.888783 0.959364
+vt 0.889436 0.959069
+vt 0.901171 0.964670
+vt 0.900623 0.964683
+vt 0.900838 0.963745
+vt 0.901516 0.964026
+vt 0.403732 0.812268
+vt 0.414542 0.789931
+vt 0.415724 0.789760
+vt 0.416918 0.787138
+vt 0.227747 0.770103
+vt 0.222850 0.774458
+vt 0.163111 0.785329
+vt 0.162359 0.781886
+vt 0.161717 0.778941
+vt 0.161078 0.776011
+vt 0.228473 0.766903
+vt 0.227861 0.767109
+vt 0.166358 0.744608
+vt 0.165382 0.742203
+vt 0.164338 0.739455
+vt 0.396690 0.841831
+vt 0.396976 0.843630
+vt 0.414427 0.853299
+vt 0.158097 0.729135
+vt 0.160965 0.729913
+vt 0.159898 0.731103
+vt 0.395660 0.844754
+vt 0.396437 0.845147
+vt 0.415958 0.800796
+vt 0.414776 0.800894
+vt 0.415022 0.798196
+vt 0.416204 0.798076
+vt 0.414960 0.795355
+vt 0.416143 0.795208
+vt 0.415552 0.803342
+vt 0.414369 0.803421
+vt 0.581362 0.188608
+vt 0.491172 0.834099
+vt 0.488023 0.848158
+vt 0.479269 0.845208
+vt 0.484942 0.830883
+vt 0.744422 0.646838
+vt 0.753655 0.637478
+vt 0.749196 0.637757
+vt 0.517530 0.790831
+vt 0.515128 0.793644
+vt 0.532999 0.196699
+vt 0.541488 0.175160
+vt 0.541274 0.182730
+vt 0.538332 0.181010
+vt 0.765849 0.397611
+vt 0.758519 0.389439
+vt 0.765645 0.378248
+vt 0.776954 0.374234
+vt 0.794549 0.341860
+vt 0.780446 0.354981
+vt 0.779506 0.369531
+vt 0.474649 0.749890
+vt 0.482488 0.756700
+vt 0.471199 0.756808
+vt 0.466238 0.752179
+vt 0.691806 0.029919
+vt 0.692530 0.031853
+vt 0.484378 0.852787
+vt 0.484211 0.851789
+vt 0.485020 0.851964
+vt 0.485187 0.853159
+vt 0.485443 0.854643
+vt 0.484660 0.855241
+vt 0.690590 0.017668
+vt 0.689954 0.017204
+vt 0.574947 0.856160
+vt 0.574628 0.856895
+vt 0.574784 0.855502
+vt 0.575287 0.855630
+vt 0.153047 0.814042
+vt 0.152684 0.811870
+vt 0.153791 0.812358
+vt 0.153957 0.814351
+vt 0.153514 0.816656
+vt 0.153963 0.816824
+vt 0.693159 0.038218
+vt 0.696598 0.044296
+vt 0.696877 0.046287
+vt 0.060494 0.802828
+vt 0.061558 0.803520
+vt 0.359833 0.829488
+vt 0.358847 0.830330
+vt 0.358365 0.827318
+vt 0.359337 0.827147
+vt 0.172260 0.802680
+vt 0.171386 0.803599
+vt 0.170930 0.800773
+vt 0.171802 0.800525
+vt 0.170329 0.798223
+vt 0.171438 0.798679
+vt 0.697517 0.052118
+vt 0.695830 0.051006
+vt 0.841734 0.379069
+vt 0.832200 0.381089
+vt 0.136725 0.406649
+vt 0.150669 0.398554
+vt 0.440155 0.817952
+vt 0.440070 0.809585
+vt 0.247709 0.676674
+vt 0.252083 0.676400
+vt 0.256358 0.676643
+vt 0.196537 0.663854
+vt 0.208094 0.347837
+vt 0.193283 0.349326
+vt 0.598236 0.271471
+vt 0.601451 0.301997
+vt 0.597864 0.298846
+vt 0.605215 0.303047
+vt 0.591780 0.326480
+vt 0.581967 0.323611
+vt 0.873449 0.645368
+vt 0.885723 0.645368
+vt 0.217181 0.298201
+vt 0.210187 0.302063
+vt 0.202903 0.277887
+vt 0.210975 0.275919
+vt 0.215204 0.325549
+vt 0.591147 0.270018
+vt 0.581063 0.191872
+vt 0.570479 0.195308
+vt 0.564079 0.201622
+vt 0.695905 0.074928
+vt 0.695026 0.073735
+vt 0.696467 0.076677
+vt 0.198497 0.733103
+vt 0.199336 0.730420
+vt 0.361934 0.835508
+vt 0.361894 0.833957
+vt 0.359747 0.832430
+vt 0.360417 0.831880
+vt 0.400892 0.804402
+vt 0.400655 0.803789
+vt 0.404103 0.804604
+vt 0.038355 0.792072
+vt 0.400549 0.798152
+vt 0.003485 0.803722
+vt 0.004097 0.803633
+vt 0.400613 0.810259
+vt 0.400382 0.809632
+vt 0.403812 0.810626
+vt 0.403183 0.809268
+vt 0.403874 0.809337
+vt 0.402921 0.807979
+vt 0.403936 0.808047
+vt 0.402949 0.806265
+vt 0.401574 0.807142
+vt 0.401626 0.805845
+vt 0.400517 0.812274
+vt 0.400271 0.811217
+vt 0.080884 0.811008
+vt 0.080193 0.810641
+vt 0.400167 0.816731
+vt 0.404016 0.806402
+vt 0.414748 0.792543
+vt 0.415930 0.792375
+vt 0.220899 0.775018
+vt 0.226057 0.770573
+vt 0.224053 0.771115
+vt 0.161563 0.772704
+vt 0.162697 0.772363
+vt 0.276397 0.782428
+vt 0.277580 0.782315
+vt 0.278982 0.782206
+vt 0.218348 0.775821
+vt 0.219354 0.775495
+vt 0.160437 0.773073
+vt 0.163304 0.734224
+vt 0.162824 0.734237
+vt 0.162463 0.732499
+vt 0.161877 0.732613
+vt 0.163310 0.736731
+vt 0.161686 0.731185
+vt 0.160799 0.731825
+vt 0.415130 0.805686
+vt 0.413948 0.805752
+vt 0.312490 0.823744
+vt 0.312811 0.824606
+vt 0.311811 0.824667
+vt 0.311734 0.823640
+vt 0.154535 0.720727
+vt 0.153940 0.721224
+vt 0.881335 0.959738
+vt 0.881511 0.959069
+vt 0.882020 0.959665
+vt 0.881511 0.960407
+vt 0.158591 0.730463
+vt 0.158821 0.729557
+vt 0.155306 0.725692
+vt 0.155930 0.727631
+vt 0.154797 0.724027
+vt 0.154323 0.722478
+vt 0.691779 0.014034
+vt 0.691776 0.014594
+vt 0.101974 0.815640
+vt 0.102366 0.816074
+vt 0.568923 0.184217
+vt 0.553367 0.177777
+vt 0.512556 0.796303
+vt 0.258371 0.763302
+vt 0.253998 0.762886
+vt 0.249223 0.746597
+vt 0.249657 0.755598
+vt 0.247867 0.738383
+vt 0.552175 0.181418
+vt 0.550182 0.186649
+vt 0.535893 0.205089
+vt 0.542487 0.220997
+vt 0.520213 0.235242
+vt 0.542025 0.215314
+vt 0.826950 0.364419
+vt 0.818384 0.345478
+vt 0.803884 0.313197
+vt 0.692987 0.033752
+vt 0.693358 0.025280
+vt 0.693620 0.026758
+vt 0.693815 0.028083
+vt 0.502810 0.854698
+vt 0.502748 0.856374
+vt 0.501940 0.856238
+vt 0.502002 0.854612
+vt 0.692600 0.019948
+vt 0.692673 0.020874
+vt 0.691351 0.023676
+vt 0.693174 0.024554
+vt 0.692291 0.018315
+vt 0.692446 0.018873
+vt 0.575211 0.854120
+vt 0.575679 0.854875
+vt 0.696299 0.042254
+vt 0.071272 0.815565
+vt 0.070452 0.816262
+vt 0.069950 0.813411
+vt 0.070781 0.813368
+vt 0.695236 0.047111
+vt 0.696954 0.046896
+vt 0.357708 0.824538
+vt 0.358935 0.825116
+vt 0.696919 0.064122
+vt 0.696826 0.066409
+vt 0.696766 0.068555
+vt 0.695571 0.062021
+vt 0.696987 0.063152
+vt 0.471138 0.853757
+vt 0.470028 0.854052
+vt 0.470155 0.852157
+vt 0.471143 0.852161
+vt 0.699070 0.053295
+vt 0.698639 0.053932
+vt 0.698991 0.055704
+vt 0.698533 0.057094
+vt 0.454244 0.852478
+vt 0.454073 0.850791
+vt 0.455058 0.850528
+vt 0.455202 0.852461
+vt 0.062389 0.805073
+vt 0.062724 0.807728
+vt 0.690253 0.015426
+vt 0.689746 0.015919
+vt 0.122210 0.405154
+vt 0.129942 0.387981
+vt 0.850756 0.373845
+vt 0.455768 0.735168
+vt 0.486468 0.746208
+vt 0.459807 0.742205
+vt 0.175409 0.386715
+vt 0.435427 0.803528
+vt 0.431164 0.803424
+vt 0.358219 0.776616
+vt 0.354602 0.776462
+vt 0.350962 0.776428
+vt 0.196328 0.674962
+vt 0.192419 0.674166
+vt 0.200162 0.675755
+vt 0.598516 0.279007
+vt 0.600257 0.284519
+vt 0.861176 0.645368
+vt 0.192178 0.298740
+vt 0.182891 0.283792
+vt 0.196492 0.317467
+vt 0.203854 0.326549
+vt 0.845173 0.937734
+vt 0.846315 0.920487
+vt 0.858022 0.930351
+vt 0.853472 0.939553
+vt 0.568877 0.223959
+vt 0.573132 0.253651
+vt 0.572639 0.192012
+vt 0.576301 0.190991
+vt 0.564897 0.210206
+vt 0.696784 0.076127
+vt 0.199127 0.732146
+vt 0.195278 0.734857
+vt 0.361080 0.829981
+vt 0.361282 0.831274
+vt 0.360125 0.830681
+vt 0.197119 0.737429
+vt 0.196312 0.737569
+vt 0.003803 0.802221
+vt 0.002948 0.803323
+vt 0.002979 0.802155
+vt 0.003348 0.801311
+vt 0.004036 0.801001
+vt 0.400552 0.805356
+vt 0.401129 0.799450
+vt 0.399956 0.810850
+vt 0.417127 0.789695
+vt 0.226765 0.767445
+vt 0.221992 0.771674
+vt 0.195482 0.737788
+vt 0.196463 0.740528
+vt 0.195687 0.740726
+vt 0.227503 0.764346
+vt 0.226896 0.764543
+vt 0.162380 0.734398
+vt 0.414660 0.808095
+vt 0.413478 0.808156
+vt 0.414106 0.810834
+vt 0.412924 0.810905
+vt 0.413571 0.813555
+vt 0.412389 0.813629
+vt 0.397047 0.844754
+vt 0.397263 0.841935
+vt 0.397510 0.843627
+vt 0.152387 0.721916
+vt 0.152198 0.721589
+vt 0.153197 0.721245
+vt 0.156751 0.730003
+vt 0.157719 0.732742
+vt 0.102367 0.815265
+vt 0.102872 0.815804
+vt 0.416954 0.803290
+vt 0.417361 0.800740
+vt 0.417607 0.798016
+vt 0.417545 0.795147
+vt 0.416532 0.805636
+vt 0.540256 0.170605
+vt 0.542221 0.162468
+vt 0.532927 0.152509
+vt 0.545437 0.156238
+vt 0.530261 0.156858
+vt 0.744651 0.636984
+vt 0.753417 0.630093
+vt 0.749125 0.631071
+vt 0.508358 0.789117
+vt 0.509685 0.785727
+vt 0.544095 0.205475
+vt 0.545044 0.232575
+vt 0.521697 0.243041
+vt 0.753309 0.373382
+vt 0.750143 0.381641
+vt 0.763555 0.359942
+vt 0.772960 0.357999
+vt 0.789880 0.333981
+vt 0.776170 0.354039
+vt 0.451531 0.742913
+vt 0.463739 0.757673
+vt 0.456207 0.751437
+vt 0.404821 0.843202
+vt 0.404432 0.841384
+vt 0.405352 0.841792
+vt 0.405492 0.843409
+vt 0.405338 0.844764
+vt 0.405035 0.845136
+vt 0.193441 0.787627
+vt 0.195116 0.787642
+vt 0.194956 0.788200
+vt 0.192848 0.788338
+vt 0.192715 0.786687
+vt 0.193078 0.786431
+vt 0.169677 0.813276
+vt 0.168842 0.813304
+vt 0.168640 0.811481
+vt 0.169535 0.811036
+vt 0.486338 0.854765
+vt 0.485925 0.852904
+vt 0.249420 0.824545
+vt 0.248651 0.824626
+vt 0.248419 0.822925
+vt 0.249226 0.822317
+vt 0.575999 0.856292
+vt 0.575192 0.856624
+vt 0.694494 0.032813
+vt 0.694855 0.034298
+vt 0.693152 0.035745
+vt 0.695062 0.035669
+vt 0.069359 0.810939
+vt 0.070379 0.811459
+vt 0.696163 0.041487
+vt 0.694195 0.040371
+vt 0.697720 0.043072
+vt 0.698407 0.044702
+vt 0.698147 0.046066
+vt 0.062348 0.802650
+vt 0.510258 0.855917
+vt 0.509032 0.856267
+vt 0.509161 0.854493
+vt 0.510251 0.854458
+vt 0.360300 0.826948
+vt 0.172539 0.803812
+vt 0.173388 0.803064
+vt 0.173594 0.804329
+vt 0.172664 0.800248
+vt 0.172222 0.797614
+vt 0.454532 0.854031
+vt 0.455215 0.853611
+vt 0.470369 0.850967
+vt 0.471139 0.850564
+vt 0.691775 0.015683
+vt 0.841763 0.348936
+vt 0.832424 0.344625
+vt 0.827691 0.356448
+vt 0.145940 0.368074
+vt 0.439808 0.803622
+vt 0.251908 0.684324
+vt 0.247592 0.684580
+vt 0.194883 0.681591
+vt 0.191189 0.681583
+vt 0.256107 0.684059
+vt 0.171703 0.359116
+vt 0.198891 0.339411
+vt 0.185605 0.338870
+vt 0.590175 0.281367
+vt 0.595206 0.278021
+vt 0.594364 0.294644
+vt 0.584322 0.311313
+vt 0.577251 0.347261
+vt 0.585574 0.348762
+vt 0.884866 0.666611
+vt 0.873449 0.666611
+vt 0.191294 0.311372
+vt 0.201687 0.255472
+vt 0.209185 0.254676
+vt 0.200711 0.336995
+vt 0.576253 0.282203
+vt 0.563307 0.190779
+vt 0.555995 0.194034
+vt 0.361249 0.832231
+vt 0.004542 0.802568
+vt 0.400229 0.805010
+vt 0.400796 0.806422
+vt 0.417333 0.792313
+vt 0.220104 0.772207
+vt 0.218615 0.772670
+vt 0.225110 0.767900
+vt 0.223154 0.768423
+vt 0.159790 0.770105
+vt 0.160898 0.769794
+vt 0.162016 0.769512
+vt 0.276623 0.779578
+vt 0.277805 0.779483
+vt 0.279207 0.779376
+vt 0.217648 0.772992
+vt 0.196615 0.743515
+vt 0.195895 0.743694
+vt 0.161245 0.732365
+vt 0.413155 0.815907
+vt 0.411973 0.815961
+vt 0.159790 0.732101
+vt 0.416062 0.808045
+vt 0.151304 0.721906
+vt 0.151284 0.722321
+vt 0.310918 0.824613
+vt 0.310895 0.823757
+vt 0.154081 0.728152
+vt 0.153453 0.726321
+vt 0.153056 0.724622
+vt 0.152687 0.723040
+vt 0.692902 0.015242
+vt 0.693297 0.015051
+vt 0.565225 0.187101
+vt 0.528883 0.162391
+vt 0.507151 0.792530
+vt 0.258489 0.771148
+vt 0.254173 0.770427
+vt 0.249723 0.764048
+vt 0.518133 0.153390
+vt 0.520224 0.149730
+vt 0.563161 0.187994
+vt 0.753843 0.355565
+vt 0.745758 0.825669
+vt 0.737434 0.833692
+vt 0.728868 0.814750
+vt 0.737937 0.809032
+vt 0.819381 0.308913
+vt 0.827452 0.339759
+vt 0.447901 0.854436
+vt 0.446981 0.854668
+vt 0.447124 0.852779
+vt 0.447971 0.852794
+vt 0.692637 0.031481
+vt 0.694021 0.032124
+vt 0.695001 0.025461
+vt 0.694655 0.025897
+vt 0.695268 0.027113
+vt 0.694997 0.027988
+vt 0.196275 0.788036
+vt 0.196816 0.787524
+vt 0.502253 0.853429
+vt 0.502886 0.852998
+vt 0.693667 0.019439
+vt 0.694193 0.020325
+vt 0.693856 0.020885
+vt 0.169638 0.814692
+vt 0.169049 0.815131
+vt 0.249413 0.825896
+vt 0.248875 0.826351
+vt 0.694016 0.019181
+vt 0.576135 0.855623
+vt 0.576041 0.854382
+vt 0.576560 0.855500
+vt 0.440909 0.854423
+vt 0.439889 0.854717
+vt 0.440022 0.852808
+vt 0.440892 0.852793
+vt 0.698107 0.042595
+vt 0.711420 0.867615
+vt 0.711139 0.865647
+vt 0.712144 0.865362
+vt 0.712351 0.867677
+vt 0.071550 0.813181
+vt 0.072277 0.816053
+vt 0.197766 0.761513
+vt 0.199483 0.761729
+vt 0.199362 0.762472
+vt 0.197313 0.762382
+vt 0.698688 0.046651
+vt 0.359819 0.824087
+vt 0.698400 0.064360
+vt 0.697975 0.064981
+vt 0.698279 0.066803
+vt 0.787373 0.869368
+vt 0.787433 0.867223
+vt 0.788886 0.867617
+vt 0.788472 0.869087
+vt 0.198272 0.750605
+vt 0.199868 0.750807
+vt 0.199909 0.751787
+vt 0.198008 0.751670
+vt 0.699528 0.055587
+vt 0.698936 0.057570
+vt 0.197187 0.757552
+vt 0.198097 0.757305
+vt 0.197332 0.759960
+vt 0.196894 0.760239
+vt 0.200029 0.756072
+vt 0.198227 0.754513
+vt 0.199973 0.754020
+vt 0.109484 0.373845
+vt 0.116181 0.358173
+vt 0.849873 0.344599
+vt 0.436824 0.733646
+vt 0.198599 0.681718
+vt 0.435721 0.798234
+vt 0.439881 0.798395
+vt 0.429837 0.797315
+vt 0.354508 0.771155
+vt 0.358621 0.770506
+vt 0.351183 0.768885
+vt 0.167597 0.345531
+vt 0.590865 0.290443
+vt 0.586892 0.303708
+vt 0.569625 0.307532
+vt 0.557311 0.309717
+vt 0.556486 0.342758
+vt 0.553562 0.321621
+vt 0.862032 0.666611
+vt 0.169989 0.304534
+vt 0.177888 0.311316
+vt 0.183276 0.257860
+vt 0.182940 0.332075
+vt 0.549257 0.260102
+vt 0.197624 0.740290
+vt 0.225818 0.764872
+vt 0.221155 0.768959
+vt 0.197815 0.743275
+vt 0.226517 0.761728
+vt 0.225915 0.761914
+vt 0.412993 0.817994
+vt 0.411524 0.817994
+vt 0.415509 0.810785
+vt 0.414973 0.813505
+vt 0.414557 0.815859
+vt 0.396790 0.845652
+vt 0.397482 0.845146
+vt 0.311087 0.821951
+vt 0.311770 0.821948
+vt 0.155143 0.730131
+vt 0.693296 0.016096
+vt 0.693804 0.016073
+vt 0.417587 0.805485
+vt 0.418008 0.803132
+vt 0.418415 0.800570
+vt 0.418661 0.797836
+vt 0.225459 0.758894
+vt 0.224865 0.759077
+vt 0.224329 0.756025
+vt 0.223751 0.756205
+vt 0.417116 0.807897
+vt 0.523073 0.146676
+vt 0.744736 0.630075
+vt 0.749378 0.627496
+vt 0.753641 0.626320
+vt 0.503469 0.787050
+vt 0.501333 0.790623
+vt 0.502604 0.783118
+vt 0.526212 0.263769
+vt 0.513389 0.263349
+vt 0.508503 0.251299
+vt 0.762831 0.329052
+vt 0.771292 0.327029
+vt 0.777937 0.331488
+vt 0.785221 0.327918
+vt 0.789046 0.309360
+vt 0.774763 0.320987
+vt 0.650960 0.756631
+vt 0.647001 0.751781
+vt 0.677971 0.750594
+vt 0.684013 0.760046
+vt 0.445803 0.744332
+vt 0.455717 0.759029
+vt 0.439529 0.746020
+vt 0.137823 0.308913
+vt 0.122885 0.313197
+vt 0.138130 0.283157
+vt 0.144521 0.282476
+vt 0.194035 0.779088
+vt 0.194426 0.778498
+vt 0.194687 0.780115
+vt 0.194100 0.780978
+vt 0.176327 0.812996
+vt 0.175731 0.811612
+vt 0.176252 0.811512
+vt 0.405858 0.844655
+vt 0.196639 0.788667
+vt 0.194808 0.789275
+vt 0.192826 0.789852
+vt 0.192563 0.784990
+vt 0.193435 0.784826
+vt 0.192249 0.786803
+vt 0.191974 0.788517
+vt 0.197092 0.783085
+vt 0.195676 0.783846
+vt 0.195884 0.782474
+vt 0.197734 0.781966
+vt 0.193901 0.782920
+vt 0.196091 0.789482
+vt 0.194740 0.790201
+vt 0.192512 0.791288
+vt 0.191687 0.791270
+vt 0.192160 0.791957
+vt 0.191815 0.791718
+vt 0.689970 0.016544
+vt 0.691776 0.016636
+vt 0.696169 0.033086
+vt 0.695871 0.033469
+vt 0.696539 0.034681
+vt 0.696263 0.035587
+vt 0.071123 0.810637
+vt 0.200637 0.766030
+vt 0.198693 0.767137
+vt 0.198755 0.766552
+vt 0.200217 0.765679
+vt 0.699011 0.044767
+vt 0.200658 0.762664
+vt 0.201218 0.761973
+vt 0.196457 0.762846
+vt 0.197871 0.739262
+vt 0.199330 0.739526
+vt 0.199411 0.740468
+vt 0.509395 0.853394
+vt 0.510240 0.852998
+vt 0.172833 0.805020
+vt 0.173589 0.805314
+vt 0.196764 0.746438
+vt 0.197810 0.746220
+vt 0.197511 0.749036
+vt 0.196905 0.749205
+vt 0.199537 0.744955
+vt 0.199491 0.742782
+vt 0.201086 0.751929
+vt 0.201465 0.751055
+vt 0.197044 0.751936
+vt 0.732900 0.867852
+vt 0.732414 0.865560
+vt 0.733096 0.865790
+vt 0.733679 0.867425
+vt 0.201179 0.755100
+vt 0.201544 0.753465
+vt 0.197188 0.754752
+vt 0.841851 0.338593
+vt 0.834117 0.334631
+vt 0.443945 0.724557
+vt 0.425767 0.726521
+vt 0.125204 0.344786
+vt 0.252089 0.690562
+vt 0.246583 0.692123
+vt 0.256031 0.689879
+vt 0.195048 0.687033
+vt 0.198462 0.686946
+vt 0.191751 0.687402
+vt 0.149118 0.350884
+vt 0.576829 0.292535
+vt 0.070234 0.635125
+vt 0.072978 0.627065
+vt 0.074904 0.630094
+vt 0.074990 0.636358
+vt 0.588943 0.286073
+vt 0.581409 0.301592
+vt 0.557624 0.367288
+vt 0.576223 0.369326
+vt 0.583784 0.370005
+vt 0.202059 0.234569
+vt 0.208997 0.234361
+vt 0.883855 0.686926
+vt 0.873449 0.686926
+vt 0.179045 0.321191
+vt 0.160265 0.282805
+vt 0.153658 0.307488
+vt 0.163666 0.258525
+vt 0.184967 0.235194
+vt 0.553045 0.286731
+vt 0.219330 0.769471
+vt 0.217896 0.769920
+vt 0.216966 0.770232
+vt 0.224204 0.765337
+vt 0.222304 0.765875
+vt 0.196097 0.746597
+vt 0.159157 0.767202
+vt 0.160250 0.766951
+vt 0.161352 0.766729
+vt 0.276843 0.776795
+vt 0.278026 0.776720
+vt 0.279428 0.776616
+vt 0.414339 0.817948
+vt 0.249788 0.809034
+vt 0.251243 0.808770
+vt 0.250357 0.810565
+vt 0.249076 0.810172
+vt 0.247367 0.809649
+vt 0.247717 0.808392
+vt 0.416563 0.810635
+vt 0.311257 0.820824
+vt 0.311776 0.820429
+vt 0.151470 0.723485
+vt 0.150955 0.722081
+vt 0.150911 0.722528
+vt 0.310470 0.824096
+vt 0.310568 0.824441
+vt 0.155576 0.731478
+vt 0.154067 0.730330
+vt 0.152475 0.728865
+vt 0.152082 0.726804
+vt 0.151768 0.725084
+vt 0.693297 0.016765
+vt 0.692902 0.016604
+vt 0.744997 0.626401
+vt 0.869559 0.992733
+vt 0.865296 0.992371
+vt 0.865002 0.987507
+vt 0.870886 0.986915
+vt 0.249974 0.770610
+vt 0.253992 0.776526
+vt 0.259497 0.778229
+vt 0.509796 0.144940
+vt 0.512903 0.142603
+vt 0.754387 0.325421
+vt 0.502984 0.269116
+vt 0.512087 0.281645
+vt 0.803780 0.283157
+vt 0.791154 0.285201
+vt 0.754312 0.822821
+vt 0.745632 0.804137
+vt 0.147746 0.334865
+vt 0.136753 0.339759
+vt 0.196330 0.780270
+vt 0.196158 0.780950
+vt 0.447366 0.851596
+vt 0.448028 0.851123
+vt 0.406332 0.842819
+vt 0.406847 0.844736
+vt 0.170040 0.815335
+vt 0.169319 0.815949
+vt 0.695819 0.027030
+vt 0.695471 0.028311
+vt 0.197252 0.788319
+vt 0.694722 0.020305
+vt 0.694287 0.021101
+vt 0.192890 0.783105
+vt 0.249787 0.826445
+vt 0.249098 0.827057
+vt 0.191763 0.790105
+vt 0.176715 0.815144
+vt 0.177370 0.813320
+vt 0.177357 0.814776
+vt 0.195976 0.772359
+vt 0.197606 0.772611
+vt 0.197463 0.773222
+vt 0.195454 0.773181
+vt 0.440268 0.851607
+vt 0.440949 0.851123
+vt 0.195561 0.768049
+vt 0.196440 0.767765
+vt 0.195509 0.770637
+vt 0.195043 0.770901
+vt 0.197045 0.765043
+vt 0.199048 0.764538
+vt 0.200918 0.764080
+vt 0.698809 0.066745
+vt 0.805635 0.868751
+vt 0.805102 0.867280
+vt 0.806069 0.867223
+vt 0.806480 0.869298
+vt 0.202057 0.753037
+vt 0.157344 0.758907
+vt 0.157030 0.759047
+vt 0.156524 0.756246
+vt 0.156805 0.756051
+vt 0.156237 0.753560
+vt 0.156453 0.753250
+vt 0.099090 0.344599
+vt 0.103040 0.331599
+vt 0.849563 0.334588
+vt 0.430967 0.738359
+vt 0.437430 0.791824
+vt 0.440798 0.792233
+vt 0.433763 0.791123
+vt 0.356133 0.766806
+vt 0.353527 0.767289
+vt 0.351337 0.765850
+vt 0.134418 0.346416
+vt 0.164162 0.340084
+vt 0.577626 0.295410
+vt 0.558163 0.298602
+vt 0.539493 0.301047
+vt 0.546264 0.309602
+vt 0.537902 0.365421
+vt 0.533411 0.338937
+vt 0.526060 0.311374
+vt 0.576658 0.390112
+vt 0.583596 0.390320
+vt 0.863044 0.686926
+vt 0.159323 0.325467
+vt 0.161270 0.333015
+vt 0.167107 0.235818
+vt 0.162468 0.336899
+vt 0.224855 0.762238
+vt 0.220373 0.766423
+vt 0.412046 0.819789
+vt 0.413217 0.819920
+vt 0.414394 0.819875
+vt 0.245659 0.809126
+vt 0.245646 0.807735
+vt 0.416027 0.813356
+vt 0.415611 0.815716
+vt 0.415352 0.817812
+vt 0.154822 0.730904
+vt 0.154812 0.732790
+vt 0.154315 0.731412
+vt 0.218688 0.746413
+vt 0.219511 0.746144
+vt 0.220460 0.748556
+vt 0.219607 0.748826
+vt 0.221445 0.750909
+vt 0.220549 0.751186
+vt 0.222576 0.753470
+vt 0.221620 0.753762
+vt 0.222739 0.756512
+vt 0.223823 0.759394
+vt 0.217685 0.743678
+vt 0.218488 0.743405
+vt 0.516164 0.140436
+vt 0.860915 0.992914
+vt 0.860842 0.988115
+vt 0.498828 0.786935
+vt 0.500248 0.784697
+vt 0.499731 0.782129
+vt 0.250049 0.776219
+vt 0.527906 0.292459
+vt 0.762781 0.301062
+vt 0.770762 0.298491
+vt 0.777029 0.313307
+vt 0.691692 0.776512
+vt 0.673512 0.763955
+vt 0.702033 0.769552
+vt 0.706509 0.749329
+vt 0.714276 0.757836
+vt 0.595903 0.781851
+vt 0.596859 0.771447
+vt 0.604392 0.788125
+vt 0.598159 0.796687
+vt 0.614613 0.788159
+vt 0.601930 0.771937
+vt 0.610484 0.774785
+vt 0.816171 0.282476
+vt 0.803868 0.258917
+vt 0.815314 0.258747
+vt 0.197446 0.780953
+vt 0.198001 0.780313
+vt 0.193816 0.777783
+vt 0.194747 0.777171
+vt 0.193512 0.779527
+vt 0.193212 0.781249
+vt 0.177240 0.811192
+vt 0.152277 0.730694
+vt 0.151971 0.728809
+vt 0.152751 0.730846
+vt 0.151676 0.726996
+vt 0.151386 0.725282
+vt 0.151093 0.723694
+vt 0.697095 0.034680
+vt 0.696747 0.035967
+vt 0.198732 0.773242
+vt 0.199277 0.772657
+vt 0.194546 0.773620
+vt 0.201540 0.763858
+vt 0.196022 0.765407
+vt 0.155994 0.750953
+vt 0.156158 0.750571
+vt 0.200476 0.740654
+vt 0.200790 0.739804
+vt 0.173338 0.807405
+vt 0.174211 0.807037
+vt 0.200574 0.743970
+vt 0.200911 0.742247
+vt 0.196289 0.749342
+vt 0.158558 0.764457
+vt 0.158222 0.764594
+vt 0.157635 0.761862
+vt 0.157964 0.761737
+vt 0.108858 0.707881
+vt 0.101124 0.708930
+vt 0.101796 0.704451
+vt 0.109209 0.703561
+vt 0.433952 0.720634
+vt 0.422012 0.723679
+vt 0.415222 0.729976
+vt 0.108120 0.318415
+vt 0.195744 0.692821
+vt 0.198655 0.693108
+vt 0.429211 0.791585
+vt 0.431925 0.789962
+vt 0.358930 0.764776
+vt 0.357407 0.763890
+vt 0.249919 0.697263
+vt 0.253272 0.696153
+vt 0.256493 0.695399
+vt 0.193007 0.692922
+vt 0.686633 0.780143
+vt 0.685687 0.798622
+vt 0.679812 0.795187
+vt 0.676745 0.783578
+vt 0.554325 0.295616
+vt 0.069490 0.648471
+vt 0.076986 0.647674
+vt 0.541706 0.388863
+vt 0.559566 0.389487
+vt 0.187239 0.214017
+vt 0.203149 0.213949
+vt 0.209573 0.213926
+vt 0.882952 0.707361
+vt 0.873449 0.707361
+vt 0.152614 0.258747
+vt 0.157866 0.236027
+vt 0.170516 0.214085
+vt 0.217230 0.767364
+vt 0.218614 0.766935
+vt 0.216332 0.767654
+vt 0.278234 0.774136
+vt 0.279637 0.774039
+vt 0.223280 0.762713
+vt 0.221437 0.763268
+vt 0.159640 0.764275
+vt 0.160731 0.764121
+vt 0.277052 0.774187
+vt 0.248515 0.812005
+vt 0.249797 0.812398
+vt 0.246807 0.811482
+vt 0.245098 0.810959
+vt 0.415285 0.819740
+vt 0.216692 0.740955
+vt 0.217478 0.740685
+vt 0.155649 0.733400
+vt 0.154484 0.733881
+vt 0.512490 0.135487
+vt 0.509089 0.136992
+vt 0.866960 0.980769
+vt 0.863293 0.981500
+vt 0.495901 0.788772
+vt 0.495647 0.787028
+vt 0.256162 0.783393
+vt 0.252809 0.782258
+vt 0.505665 0.138378
+vt 0.249587 0.781809
+vt 0.754825 0.298043
+vt 0.500165 0.299260
+vt 0.509802 0.310183
+vt 0.792363 0.259428
+vt 0.781714 0.285745
+vt 0.618239 0.809918
+vt 0.607397 0.813323
+vt 0.683408 0.813322
+vt 0.678038 0.823189
+vt 0.673909 0.806074
+vt 0.677549 0.801655
+vt 0.749141 0.802287
+vt 0.746269 0.794739
+vt 0.194148 0.775864
+vt 0.195228 0.775289
+vt 0.198349 0.781594
+vt 0.152587 0.732549
+vt 0.153097 0.732538
+vt 0.196875 0.776127
+vt 0.197199 0.774714
+vt 0.177793 0.815459
+vt 0.177046 0.816070
+vt 0.198331 0.775382
+vt 0.199014 0.774234
+vt 0.155787 0.748081
+vt 0.155621 0.748392
+vt 0.155126 0.745749
+vt 0.155300 0.745515
+vt 0.195155 0.768283
+vt 0.194610 0.771192
+vt 0.201338 0.741879
+vt 0.158358 0.758713
+vt 0.159025 0.761588
+vt 0.157751 0.755778
+vt 0.157315 0.752912
+vt 0.095106 0.334588
+vt 0.098122 0.322630
+vt 0.116528 0.704300
+vt 0.116570 0.708853
+vt 0.423937 0.718626
+vt 0.435052 0.716155
+vt 0.436332 0.783795
+vt 0.439642 0.785134
+vt 0.442141 0.785829
+vt 0.353428 0.763677
+vt 0.351464 0.764222
+vt 0.239114 0.696786
+vt 0.242098 0.693719
+vt 0.243145 0.695157
+vt 0.240660 0.697664
+vt 0.246220 0.697272
+vt 0.243970 0.698005
+vt 0.248269 0.698431
+vt 0.619983 0.781918
+vt 0.623529 0.783547
+vt 0.152553 0.347716
+vt 0.146085 0.348605
+vt 0.078420 0.667138
+vt 0.069868 0.670976
+vt 0.530557 0.308144
+vt 0.080012 0.685808
+vt 0.071742 0.692290
+vt 0.532465 0.388655
+vt 0.526972 0.365253
+vt 0.518159 0.339480
+vt 0.561838 0.410664
+vt 0.577748 0.410732
+vt 0.584172 0.410755
+vt 0.863947 0.707361
+vt 0.161654 0.214108
+vt 0.751975 0.806172
+vt 0.757952 0.817878
+vt 0.219574 0.763829
+vt 0.412766 0.821622
+vt 0.413734 0.821753
+vt 0.414672 0.821708
+vt 0.246254 0.813291
+vt 0.244545 0.812768
+vt 0.274558 0.742467
+vt 0.273684 0.742075
+vt 0.274472 0.740242
+vt 0.275279 0.740634
+vt 0.273239 0.743466
+vt 0.274034 0.744493
+vt 0.247962 0.813815
+vt 0.215802 0.738578
+vt 0.216566 0.738325
+vt 0.215031 0.736463
+vt 0.215777 0.736229
+vt 0.216533 0.744096
+vt 0.217496 0.746823
+vt 0.218364 0.749234
+vt 0.219237 0.751598
+vt 0.220215 0.754185
+vt 0.222281 0.759857
+vt 0.221247 0.756953
+vt 0.215574 0.741368
+vt 0.507211 0.131881
+vt 0.510411 0.130688
+vt 0.859925 0.982326
+vt 0.871512 0.981483
+vt 0.868798 0.979703
+vt 0.496935 0.783258
+vt 0.498173 0.781639
+vt 0.259860 0.783199
+vt 0.257812 0.784527
+vt 0.262936 0.781102
+vt 0.262111 0.783736
+vt 0.563805 0.832592
+vt 0.564852 0.830024
+vt 0.567836 0.833082
+vt 0.566290 0.834738
+vt 0.504015 0.132769
+vt 0.503120 0.127179
+vt 0.505697 0.126252
+vt 0.533011 0.301538
+vt 0.519591 0.320227
+vt 0.762711 0.291452
+vt 0.770468 0.288706
+vt 0.088477 0.699241
+vt 0.083746 0.706201
+vt 0.075490 0.702064
+vt 0.082479 0.694744
+vt 0.725053 0.766374
+vt 0.716294 0.748424
+vt 0.724774 0.756338
+vt 0.599460 0.812431
+vt 0.803897 0.236027
+vt 0.814303 0.236027
+vt 0.193673 0.776371
+vt 0.193330 0.778280
+vt 0.153308 0.735519
+vt 0.153202 0.736015
+vt 0.152893 0.734272
+vt 0.153215 0.733992
+vt 0.199624 0.773945
+vt 0.194084 0.774027
+vt 0.156944 0.750202
+vt 0.090554 0.335529
+vt 0.092968 0.324340
+vt 0.429923 0.704865
+vt 0.439053 0.704119
+vt 0.103340 0.692415
+vt 0.110026 0.692070
+vt 0.410057 0.726698
+vt 0.101164 0.310687
+vt 0.193682 0.698283
+vt 0.195862 0.698676
+vt 0.198241 0.699511
+vt 0.432760 0.784904
+vt 0.429853 0.786365
+vt 0.425706 0.790699
+vt 0.426562 0.787561
+vt 0.354754 0.761550
+vt 0.254864 0.701387
+vt 0.252040 0.703234
+vt 0.257358 0.700759
+vt 0.536252 0.410574
+vt 0.545114 0.410596
+vt 0.173820 0.192725
+vt 0.189368 0.192553
+vt 0.204088 0.192381
+vt 0.210075 0.192324
+vt 0.882419 0.728963
+vt 0.873449 0.728963
+vt 0.803897 0.214108
+vt 0.813400 0.214108
+vt 0.165350 0.192783
+vt 0.215677 0.765019
+vt 0.216544 0.764750
+vt 0.217880 0.764341
+vt 0.278441 0.771493
+vt 0.279843 0.771403
+vt 0.277258 0.771533
+vt 0.220486 0.760395
+vt 0.160094 0.761467
+vt 0.249244 0.814207
+vt 0.275487 0.738432
+vt 0.276219 0.738825
+vt 0.245717 0.815048
+vt 0.244141 0.814565
+vt 0.247293 0.815531
+vt 0.214398 0.734528
+vt 0.215139 0.734300
+vt 0.415387 0.821574
+vt 0.214717 0.738954
+vt 0.154618 0.734427
+vt 0.154036 0.735148
+vt 0.508291 0.124899
+vt 0.864391 0.974037
+vt 0.861081 0.975480
+vt 0.494466 0.783694
+vt 0.874161 0.978411
+vt 0.875017 0.981229
+vt 0.870870 0.976728
+vt 0.251217 0.787424
+vt 0.254041 0.789546
+vt 0.248723 0.787034
+vt 0.453487 0.790428
+vt 0.450527 0.762660
+vt 0.459999 0.771739
+vt 0.463746 0.791426
+vt 0.755038 0.288524
+vt 0.498935 0.326638
+vt 0.507507 0.335641
+vt 0.793492 0.236027
+vt 0.472002 0.791916
+vt 0.471320 0.814936
+vt 0.462871 0.816925
+vt 0.616795 0.817646
+vt 0.608417 0.821605
+vt 0.156530 0.747737
+vt 0.156019 0.745216
+vt 0.154659 0.742607
+vt 0.155352 0.742337
+vt 0.159380 0.758546
+vt 0.158710 0.755544
+vt 0.158204 0.752648
+vt 0.079123 0.329804
+vt 0.078452 0.339137
+vt 0.116451 0.692198
+vt 0.412753 0.721044
+vt 0.420593 0.705539
+vt 0.600062 0.817597
+vt 0.432478 0.778264
+vt 0.434844 0.777777
+vt 0.439100 0.778692
+vt 0.441445 0.779003
+vt 0.443493 0.779878
+vt 0.357158 0.760752
+vt 0.354967 0.759336
+vt 0.349477 0.760601
+vt 0.348128 0.761314
+vt 0.237078 0.699694
+vt 0.238824 0.700146
+vt 0.241814 0.699806
+vt 0.244232 0.700631
+vt 0.246500 0.701605
+vt 0.248983 0.702644
+vt 0.794395 0.214108
+vt 0.548419 0.431956
+vt 0.563967 0.432128
+vt 0.578687 0.432300
+vt 0.584674 0.432357
+vt 0.864480 0.728963
+vt 0.803897 0.192783
+vt 0.812867 0.192783
+vt 0.218683 0.760937
+vt 0.413707 0.823432
+vt 0.414450 0.823562
+vt 0.415120 0.823518
+vt 0.275734 0.742598
+vt 0.276255 0.740765
+vt 0.275504 0.744575
+vt 0.213971 0.736799
+vt 0.213346 0.734851
+vt 0.214578 0.732467
+vt 0.213837 0.732695
+vt 0.214322 0.741830
+vt 0.215234 0.744569
+vt 0.216142 0.747292
+vt 0.216944 0.749702
+vt 0.217731 0.752071
+vt 0.219517 0.757462
+vt 0.218593 0.754672
+vt 0.213511 0.739372
+vt 0.858582 0.976540
+vt 0.867963 0.974953
+vt 0.492829 0.785626
+vt 0.492332 0.783066
+vt 0.495555 0.778444
+vt 0.496720 0.777459
+vt 0.257098 0.788731
+vt 0.259581 0.787730
+vt 0.261848 0.786732
+vt 0.265421 0.782941
+vt 0.264266 0.785028
+vt 0.569872 0.837262
+vt 0.568126 0.838192
+vt 0.501746 0.121954
+vt 0.503622 0.120775
+vt 0.516100 0.344410
+vt 0.400291 0.740989
+vt 0.400782 0.749006
+vt 0.393025 0.746461
+vt 0.392813 0.738956
+vt 0.733316 0.764324
+vt 0.725443 0.746877
+vt 0.717195 0.740407
+vt 0.154686 0.739488
+vt 0.154029 0.739771
+vt 0.153579 0.737427
+vt 0.154175 0.737054
+vt 0.157766 0.749931
+vt 0.095435 0.313220
+vt 0.079867 0.320671
+vt 0.429718 0.686697
+vt 0.437035 0.687607
+vt 0.446336 0.686309
+vt 0.103878 0.674605
+vt 0.110984 0.676631
+vt 0.258491 0.706099
+vt 0.256270 0.706553
+vt 0.192503 0.703623
+vt 0.194296 0.704321
+vt 0.196280 0.705462
+vt 0.430195 0.778971
+vt 0.674152 0.849712
+vt 0.669049 0.852686
+vt 0.671187 0.849755
+vt 0.673598 0.847851
+vt 0.807846 0.861027
+vt 0.810682 0.862396
+vt 0.809143 0.863592
+vt 0.807181 0.862443
+vt 0.350632 0.758810
+vt 0.242102 0.701861
+vt 0.254346 0.707573
+vt 0.794928 0.192783
+vt 0.539949 0.431899
+vt 0.167997 0.172329
+vt 0.176084 0.172123
+vt 0.190484 0.171505
+vt 0.204056 0.170887
+vt 0.209660 0.170681
+vt 0.881998 0.750606
+vt 0.873449 0.750606
+vt 0.803897 0.172330
+vt 0.812446 0.172330
+vt 0.278653 0.768556
+vt 0.280055 0.768470
+vt 0.214936 0.762086
+vt 0.215768 0.761826
+vt 0.217051 0.761431
+vt 0.277470 0.768612
+vt 0.248475 0.815893
+vt 0.276967 0.738956
+vt 0.276621 0.736635
+vt 0.277254 0.736997
+vt 0.245205 0.816724
+vt 0.244025 0.816363
+vt 0.274483 0.746890
+vt 0.275665 0.746814
+vt 0.246384 0.817085
+vt 0.212786 0.733018
+vt 0.214465 0.730523
+vt 0.215018 0.732332
+vt 0.214025 0.730658
+vt 0.212798 0.737172
+vt 0.154825 0.736824
+vt 0.505518 0.119113
+vt 0.868245 0.968761
+vt 0.865879 0.968482
+vt 0.861623 0.970412
+vt 0.859278 0.970580
+vt 0.493462 0.778847
+vt 0.647092 0.852954
+vt 0.643801 0.853935
+vt 0.644167 0.850794
+vt 0.646076 0.850705
+vt 0.249811 0.791825
+vt 0.251735 0.793103
+vt 0.263979 0.787451
+vt 0.247590 0.791549
+vt 0.453900 0.814611
+vt 0.385352 0.749218
+vt 0.385675 0.741271
+vt 0.498183 0.336157
+vt 0.506174 0.344703
+vt 0.471128 0.823199
+vt 0.462748 0.826131
+vt 0.733957 0.753444
+vt 0.292149 0.632952
+vt 0.292082 0.627065
+vt 0.300460 0.628116
+vt 0.300072 0.633846
+vt 0.157305 0.747467
+vt 0.156762 0.744967
+vt 0.156079 0.742143
+vt 0.277532 0.765610
+vt 0.278714 0.765532
+vt 0.277286 0.762714
+vt 0.278468 0.762626
+vt 0.060454 0.329512
+vt 0.061458 0.336244
+vt 0.060590 0.345430
+vt 0.117782 0.674336
+vt 0.292296 0.649067
+vt 0.285592 0.649192
+vt 0.284320 0.633686
+vt 0.283727 0.628033
+vt 0.292411 0.668749
+vt 0.286213 0.668034
+vt 0.429689 0.772016
+vt 0.431856 0.771568
+vt 0.703852 0.829745
+vt 0.706783 0.827607
+vt 0.706706 0.833626
+vt 0.704557 0.833400
+vt 0.434150 0.771497
+vt 0.440515 0.773781
+vt 0.442677 0.774022
+vt 0.197239 0.706338
+vt 0.193821 0.711318
+vt 0.193054 0.710351
+vt 0.810823 0.855001
+vt 0.808382 0.855433
+vt 0.555313 0.848896
+vt 0.554297 0.850858
+vt 0.551233 0.848668
+vt 0.552772 0.847293
+vt 0.351063 0.757106
+vt 0.344984 0.757928
+vt 0.344158 0.758827
+vt 0.236201 0.702181
+vt 0.237968 0.702330
+vt 0.240049 0.701850
+vt 0.555957 0.846517
+vt 0.558224 0.846771
+vt 0.557222 0.849561
+vt 0.246581 0.708332
+vt 0.248824 0.708676
+vt 0.250982 0.709238
+vt 0.542596 0.452352
+vt 0.550683 0.452558
+vt 0.565083 0.453176
+vt 0.578655 0.453794
+vt 0.584259 0.454001
+vt 0.864901 0.750606
+vt 0.795349 0.172330
+vt 0.217791 0.757971
+vt 0.414743 0.825117
+vt 0.415274 0.825238
+vt 0.415702 0.825197
+vt 0.276851 0.744531
+vt 0.276915 0.742553
+vt 0.277198 0.740719
+vt 0.212185 0.735208
+vt 0.211625 0.733375
+vt 0.213284 0.730885
+vt 0.213135 0.742249
+vt 0.212382 0.739751
+vt 0.213988 0.745004
+vt 0.214832 0.747734
+vt 0.215559 0.750151
+vt 0.216249 0.752533
+vt 0.216987 0.755155
+vt 0.211713 0.737513
+vt 0.857230 0.971750
+vt 0.870528 0.969815
+vt 0.784908 0.859497
+vt 0.785797 0.863014
+vt 0.782172 0.858351
+vt 0.783381 0.856831
+vt 0.491720 0.778611
+vt 0.650156 0.850393
+vt 0.648617 0.848817
+vt 0.756277 0.858787
+vt 0.756489 0.861929
+vt 0.749576 0.859300
+vt 0.750887 0.857197
+vt 0.494751 0.773278
+vt 0.495893 0.772847
+vt 0.259500 0.794385
+vt 0.257257 0.794556
+vt 0.255099 0.795501
+vt 0.262492 0.788337
+vt 0.260584 0.789898
+vt 0.267257 0.784226
+vt 0.266032 0.785968
+vt 0.570750 0.841873
+vt 0.568982 0.842254
+vt 0.498660 0.117439
+vt 0.500063 0.116123
+vt 0.496811 0.346185
+vt 0.490237 0.337666
+vt 0.514093 0.353186
+vt 0.726222 0.720775
+vt 0.719082 0.717803
+vt 0.399168 0.718385
+vt 0.392337 0.717425
+vt 0.454286 0.823388
+vt 0.734113 0.723773
+vt 0.155390 0.739321
+vt 0.276879 0.759997
+vt 0.278062 0.759907
+vt 0.299261 0.649414
+vt 0.299018 0.668827
+vt 0.292383 0.685339
+vt 0.284854 0.683694
+vt 0.436267 0.671037
+vt 0.442339 0.672058
+vt 0.449567 0.671174
+vt 0.111753 0.660468
+vt 0.105468 0.659276
+vt 0.259435 0.710614
+vt 0.257304 0.710891
+vt 0.190034 0.708138
+vt 0.191460 0.709038
+vt 0.807936 0.848674
+vt 0.810056 0.848046
+vt 0.679064 0.846370
+vt 0.678200 0.844927
+vt 0.672601 0.845800
+vt 0.668262 0.847056
+vt 0.345893 0.756231
+vt 0.407129 0.836370
+vt 0.405074 0.837753
+vt 0.403294 0.834962
+vt 0.405085 0.833807
+vt 0.553827 0.845386
+vt 0.805057 0.862242
+vt 0.806165 0.855515
+vt 0.255519 0.711894
+vt 0.811877 0.153026
+vt 0.803897 0.153026
+vt 0.168633 0.153025
+vt 0.176370 0.152663
+vt 0.189716 0.151574
+vt 0.202235 0.150485
+vt 0.207487 0.150122
+vt 0.881429 0.771165
+vt 0.873449 0.771165
+vt 0.280117 0.765449
+vt 0.214230 0.759064
+vt 0.215018 0.758815
+vt 0.216236 0.758437
+vt 0.247269 0.817356
+vt 0.277641 0.738910
+vt 0.277786 0.737118
+vt 0.278262 0.735109
+vt 0.277764 0.734838
+vt 0.244815 0.817999
+vt 0.244037 0.817743
+vt 0.277067 0.746774
+vt 0.274899 0.749387
+vt 0.276081 0.749331
+vt 0.245603 0.818222
+vt 0.211072 0.731566
+vt 0.212233 0.731209
+vt 0.213675 0.728844
+vt 0.213269 0.728968
+vt 0.211114 0.735537
+vt 0.501477 0.114324
+vt 0.871034 0.963648
+vt 0.868867 0.962898
+vt 0.866573 0.963004
+vt 0.720750 0.859414
+vt 0.715195 0.861731
+vt 0.716084 0.858215
+vt 0.719738 0.857504
+vt 0.860208 0.967103
+vt 0.858046 0.967235
+vt 0.492838 0.773488
+vt 0.751790 0.855170
+vt 0.758445 0.856653
+vt 0.645432 0.848786
+vt 0.647562 0.847278
+vt 0.246646 0.794816
+vt 0.248777 0.794975
+vt 0.250562 0.796185
+vt 0.785071 0.855301
+vt 0.788628 0.858085
+vt 0.433982 0.843250
+vt 0.433373 0.846504
+vt 0.430951 0.845988
+vt 0.431890 0.842847
+vt 0.470426 0.348908
+vt 0.467423 0.341014
+vt 0.386445 0.718457
+vt 0.614535 0.637639
+vt 0.613724 0.626320
+vt 0.622103 0.629081
+vt 0.622277 0.639962
+vt 0.622694 0.669632
+vt 0.616461 0.668595
+vt 0.276458 0.757533
+vt 0.277640 0.757442
+vt 0.275988 0.755033
+vt 0.277170 0.754950
+vt 0.275434 0.752209
+vt 0.276617 0.752145
+vt 0.279464 0.759840
+vt 0.279871 0.762550
+vt 0.300334 0.686092
+vt 0.043189 0.336213
+vt 0.044847 0.340881
+vt 0.045525 0.346776
+vt 0.117818 0.659168
+vt 0.807326 0.842810
+vt 0.805657 0.843763
+vt 0.431675 0.766340
+vt 0.429703 0.766779
+vt 0.702183 0.832824
+vt 0.701154 0.826820
+vt 0.703822 0.839403
+vt 0.705774 0.839906
+vt 0.433781 0.766507
+vt 0.676922 0.843316
+vt 0.443176 0.770785
+vt 0.441220 0.770646
+vt 0.189406 0.714555
+vt 0.188848 0.713568
+vt 0.548986 0.844763
+vt 0.550732 0.843943
+vt 0.346410 0.754785
+vt 0.341393 0.754375
+vt 0.340652 0.756008
+vt 0.340193 0.757020
+vt 0.008812 0.794606
+vt 0.008324 0.790641
+vt 0.010091 0.790992
+vt 0.010546 0.794624
+vt 0.404605 0.829876
+vt 0.406789 0.833376
+vt 0.403158 0.830393
+vt 0.551995 0.842594
+vt 0.246111 0.714706
+vt 0.248375 0.714741
+vt 0.250511 0.715153
+vt 0.795918 0.153026
+vt 0.543232 0.471656
+vt 0.550968 0.472019
+vt 0.564315 0.473107
+vt 0.576833 0.474196
+vt 0.582086 0.474559
+vt 0.865470 0.771165
+vt 0.248870 0.816013
+vt 0.247564 0.817447
+vt 0.416118 0.826671
+vt 0.416385 0.826640
+vt 0.278628 0.735199
+vt 0.278790 0.733990
+vt 0.278717 0.733458
+vt 0.277864 0.744399
+vt 0.277803 0.742417
+vt 0.209489 0.736032
+vt 0.209040 0.736168
+vt 0.208480 0.734335
+vt 0.208929 0.734199
+vt 0.246346 0.818083
+vt 0.210554 0.733704
+vt 0.210001 0.731895
+vt 0.212588 0.729184
+vt 0.212885 0.745359
+vt 0.212092 0.742584
+vt 0.211400 0.740060
+vt 0.213666 0.748105
+vt 0.214321 0.750540
+vt 0.214923 0.752943
+vt 0.215544 0.755591
+vt 0.210778 0.737801
+vt 0.497011 0.109808
+vt 0.502041 0.113154
+vt 0.496660 0.110991
+vt 0.743409 0.855993
+vt 0.744783 0.854261
+vt 0.778863 0.853417
+vt 0.780202 0.852401
+vt 0.491303 0.773428
+vt 0.652403 0.845939
+vt 0.650657 0.845009
+vt 0.492795 0.768620
+vt 0.494587 0.768543
+vt 0.495697 0.768495
+vt 0.259969 0.800225
+vt 0.257706 0.800092
+vt 0.255570 0.800816
+vt 0.712364 0.856802
+vt 0.718318 0.855517
+vt 0.494684 0.114171
+vt 0.495672 0.112805
+vt 0.649394 0.844024
+vt 0.566901 0.838427
+vt 0.567815 0.842314
+vt 0.570261 0.846226
+vt 0.568527 0.846227
+vt 0.473404 0.356052
+vt 0.503289 0.354439
+vt 0.732944 0.690957
+vt 0.725742 0.691285
+vt 0.718205 0.688163
+vt 0.391142 0.691885
+vt 0.398297 0.688745
+vt 0.605262 0.628860
+vt 0.606455 0.639665
+vt 0.736868 0.690469
+vt 0.737747 0.724811
+vt 0.279043 0.757384
+vt 0.291155 0.698611
+vt 0.281568 0.697194
+vt 0.440134 0.657537
+vt 0.445734 0.660176
+vt 0.455361 0.670980
+vt 0.455193 0.667101
+vt 0.454465 0.656821
+vt 0.113009 0.646070
+vt 0.105531 0.643232
+vt 0.259732 0.713501
+vt 0.257777 0.713640
+vt 0.187770 0.712109
+vt 0.186840 0.711025
+vt 0.805968 0.849141
+vt 0.701720 0.838739
+vt 0.702961 0.844896
+vt 0.701410 0.844033
+vt 0.682199 0.842090
+vt 0.681115 0.841160
+vt 0.341974 0.753093
+vt 0.401462 0.831302
+vt 0.549660 0.839760
+vt 0.550993 0.838934
+vt 0.256174 0.714627
+vt 0.811243 0.134923
+vt 0.803897 0.134923
+vt 0.175498 0.134407
+vt 0.168102 0.134923
+vt 0.187825 0.132859
+vt 0.199324 0.131311
+vt 0.204237 0.130795
+vt 0.873449 0.790492
+vt 0.880795 0.790492
+vt 0.214413 0.755939
+vt 0.213681 0.756166
+vt 0.207927 0.732526
+vt 0.208376 0.732390
+vt 0.278215 0.737076
+vt 0.279217 0.733648
+vt 0.244647 0.818550
+vt 0.244015 0.818288
+vt 0.277483 0.749294
+vt 0.278121 0.746654
+vt 0.245317 0.818686
+vt 0.874772 0.997763
+vt 0.874244 0.996840
+vt 0.874610 0.996545
+vt 0.875199 0.997885
+vt 0.211623 0.729500
+vt 0.210555 0.729841
+vt 0.212403 0.727401
+vt 0.212100 0.727494
+vt 0.210195 0.735818
+vt 0.739569 0.851507
+vt 0.741077 0.850314
+vt 0.869048 0.959135
+vt 0.871020 0.959808
+vt 0.866942 0.959424
+vt 0.725034 0.854583
+vt 0.726228 0.856206
+vt 0.781989 0.851383
+vt 0.473688 0.846615
+vt 0.471526 0.846933
+vt 0.471027 0.841630
+vt 0.472983 0.841474
+vt 0.745950 0.852609
+vt 0.491389 0.768682
+vt 0.422696 0.835314
+vt 0.422994 0.831273
+vt 0.425125 0.831620
+vt 0.424652 0.835469
+vt 0.783199 0.851062
+vt 0.780660 0.847363
+vt 0.781784 0.847213
+vt 0.651730 0.840375
+vt 0.650396 0.839944
+vt 0.434317 0.839171
+vt 0.432404 0.838961
+vt 0.439787 0.356243
+vt 0.440233 0.350753
+vt 0.437488 0.342933
+vt 0.440851 0.338246
+vt 0.466390 0.337383
+vt 0.609288 0.669550
+vt 0.617998 0.702937
+vt 0.611149 0.703167
+vt 0.278572 0.754899
+vt 0.278019 0.752102
+vt 0.213204 0.753456
+vt 0.212712 0.751000
+vt 0.213346 0.750825
+vt 0.213880 0.753256
+vt 0.303033 0.703837
+vt 0.030484 0.344863
+vt 0.025443 0.341610
+vt 0.032955 0.349333
+vt 0.045422 0.353620
+vt 0.041831 0.351882
+vt 0.119565 0.643421
+vt 0.431784 0.762660
+vt 0.430012 0.763193
+vt 0.803417 0.839223
+vt 0.802206 0.840495
+vt 0.804106 0.844626
+vt 0.699741 0.843079
+vt 0.433679 0.762948
+vt 0.679655 0.840082
+vt 0.380382 0.832683
+vt 0.380458 0.837441
+vt 0.378502 0.837329
+vt 0.378614 0.832714
+vt 0.184648 0.716200
+vt 0.184278 0.715232
+vt 0.547892 0.840110
+vt 0.338462 0.754958
+vt 0.338120 0.753465
+vt 0.337430 0.755463
+vt 0.010925 0.796527
+vt 0.009880 0.797370
+vt 0.402988 0.826244
+vt 0.401706 0.826826
+vt 0.246115 0.719221
+vt 0.248220 0.719055
+vt 0.250192 0.719493
+vt 0.796552 0.134923
+vt 0.550097 0.490275
+vt 0.542701 0.489759
+vt 0.562424 0.491823
+vt 0.573922 0.493371
+vt 0.578835 0.493886
+vt 0.866104 0.790492
+vt 0.416707 0.827637
+vt 0.416922 0.827642
+vt 0.278895 0.735168
+vt 0.279280 0.732913
+vt 0.210058 0.738015
+vt 0.209635 0.733985
+vt 0.246223 0.818412
+vt 0.209563 0.730133
+vt 0.209082 0.732176
+vt 0.211595 0.727674
+vt 0.212746 0.748363
+vt 0.212015 0.745590
+vt 0.211272 0.742796
+vt 0.210636 0.740270
+vt 0.491707 0.108453
+vt 0.491558 0.109576
+vt 0.729808 0.851734
+vt 0.728429 0.850617
+vt 0.723633 0.852880
+vt 0.777551 0.848276
+vt 0.778904 0.847818
+vt 0.653497 0.840756
+vt 0.742456 0.849197
+vt 0.494430 0.766119
+vt 0.493172 0.765244
+vt 0.495283 0.765350
+vt 0.259966 0.803720
+vt 0.257861 0.803431
+vt 0.255889 0.804104
+vt 0.491102 0.111332
+vt 0.490644 0.112685
+vt 0.567413 0.846166
+vt 0.568148 0.848463
+vt 0.569193 0.849371
+vt 0.729611 0.670638
+vt 0.733349 0.668993
+vt 0.722637 0.671660
+vt 0.715185 0.670775
+vt 0.388775 0.672355
+vt 0.394562 0.671164
+vt 0.212147 0.748515
+vt 0.032293 0.354672
+vt 0.281412 0.706966
+vt 0.287668 0.708338
+vt 0.447121 0.653913
+vt 0.444120 0.651142
+vt 0.101061 0.655397
+vt 0.099315 0.645022
+vt 0.460751 0.656726
+vt 0.453106 0.649866
+vt 0.115424 0.635929
+vt 0.110486 0.634286
+vt 0.183703 0.713679
+vt 0.183261 0.712462
+vt 0.236479 0.801428
+vt 0.238434 0.801317
+vt 0.238240 0.804896
+vt 0.236473 0.804865
+vt 0.699016 0.848454
+vt 0.697911 0.847264
+vt 0.683749 0.837474
+vt 0.682533 0.837033
+vt 0.548288 0.835675
+vt 0.550022 0.835657
+vt 0.339419 0.752849
+vt 0.401728 0.824341
+vt 0.400585 0.824080
+vt 0.400073 0.827566
+vt 0.551354 0.835199
+vt 0.680980 0.836457
+vt 0.678668 0.839524
+vt 0.680012 0.836087
+vt 0.174292 0.117419
+vt 0.167245 0.118072
+vt 0.810628 0.118072
+vt 0.803897 0.118072
+vt 0.185572 0.115458
+vt 0.196023 0.113497
+vt 0.200588 0.112844
+vt 0.873449 0.808443
+vt 0.880180 0.808443
+vt 0.207643 0.730692
+vt 0.208057 0.730567
+vt 0.279432 0.733605
+vt 0.755860 0.867768
+vt 0.755562 0.867768
+vt 0.755461 0.867137
+vt 0.755835 0.867180
+vt 0.278537 0.749180
+vt 0.755562 0.866467
+vt 0.755860 0.866523
+vt 0.208710 0.730375
+vt 0.210891 0.727968
+vt 0.210103 0.728261
+vt 0.211096 0.726398
+vt 0.210914 0.726446
+vt 0.417115 0.845457
+vt 0.415143 0.845956
+vt 0.415034 0.840800
+vt 0.416807 0.840493
+vt 0.737701 0.846542
+vt 0.739333 0.845893
+vt 0.413038 0.845685
+vt 0.413140 0.840697
+vt 0.726922 0.849425
+vt 0.471103 0.836601
+vt 0.472871 0.836614
+vt 0.492115 0.766220
+vt 0.653101 0.836009
+vt 0.651367 0.836008
+vt 0.486743 0.111394
+vt 0.486787 0.112687
+vt 0.422890 0.839171
+vt 0.424657 0.839159
+vt 0.779128 0.843460
+vt 0.780784 0.843506
+vt 0.781820 0.843524
+vt 0.650035 0.835960
+vt 0.434211 0.835187
+vt 0.432420 0.835109
+vt 0.567113 0.849131
+vt 0.617643 0.724413
+vt 0.609423 0.725166
+vt 0.419446 0.349600
+vt 0.417788 0.353234
+vt 0.420123 0.344233
+vt 0.421320 0.333367
+vt 0.420021 0.336524
+vt 0.279073 0.751975
+vt 0.279626 0.754748
+vt 0.293230 0.711354
+vt 0.023951 0.352678
+vt 0.019564 0.349341
+vt 0.014597 0.348528
+vt 0.029675 0.360940
+vt 0.120043 0.634324
+vt 0.438323 0.647765
+vt 0.441792 0.645570
+vt 0.162671 0.802938
+vt 0.162423 0.807367
+vt 0.160651 0.806822
+vt 0.161026 0.802517
+vt 0.799112 0.837219
+vt 0.798242 0.838665
+vt 0.801100 0.841685
+vt 0.696700 0.845992
+vt 0.164318 0.807141
+vt 0.164427 0.802813
+vt 0.379889 0.828234
+vt 0.378249 0.828366
+vt 0.180199 0.716407
+vt 0.179959 0.715465
+vt 0.549159 0.833120
+vt 0.550642 0.832402
+vt 0.337063 0.753722
+vt 0.796575 0.869303
+vt 0.796237 0.868257
+vt 0.797380 0.867223
+vt 0.798315 0.868441
+vt 0.246388 0.722162
+vt 0.248282 0.721874
+vt 0.250054 0.722406
+vt 0.548891 0.507263
+vt 0.541844 0.506609
+vt 0.797167 0.118072
+vt 0.560171 0.509223
+vt 0.575186 0.511838
+vt 0.570622 0.511184
+vt 0.866719 0.808443
+vt 0.755500 0.865560
+vt 0.755715 0.865627
+vt 0.207889 0.728783
+vt 0.208199 0.728690
+vt 0.279578 0.732809
+vt 0.208694 0.728565
+vt 0.209350 0.728441
+vt 0.210627 0.726580
+vt 0.486679 0.108701
+vt 0.486697 0.109738
+vt 0.731638 0.846747
+vt 0.730121 0.846165
+vt 0.777835 0.843416
+vt 0.740850 0.845311
+vt 0.652231 0.833547
+vt 0.650747 0.832811
+vt 0.493805 0.764360
+vt 0.350022 0.824586
+vt 0.352127 0.824315
+vt 0.351854 0.828201
+vt 0.349960 0.828304
+vt 0.728489 0.845516
+vt 0.348188 0.827996
+vt 0.348050 0.824087
+vt 0.568332 0.850361
+vt 0.618052 0.738205
+vt 0.624398 0.722768
+vt 0.626962 0.736336
+vt 0.726239 0.657070
+vt 0.719086 0.659777
+vt 0.709386 0.656423
+vt 0.401997 0.671357
+vt 0.398842 0.667284
+vt 0.385171 0.657957
+vt 0.391793 0.655119
+vt 0.301365 0.711315
+vt 0.293810 0.714091
+vt 0.024911 0.357305
+vt 0.022617 0.360474
+vt 0.282174 0.715430
+vt 0.278555 0.713993
+vt 0.450122 0.645665
+vt 0.096738 0.635680
+vt 0.101121 0.633907
+vt 0.466118 0.646147
+vt 0.469170 0.647384
+vt 0.463620 0.641891
+vt 0.118652 0.629611
+vt 0.114037 0.627828
+vt 0.105417 0.633719
+vt 0.108666 0.629306
+vt 0.179736 0.713891
+vt 0.179636 0.712630
+vt 0.237709 0.808521
+vt 0.236069 0.808389
+vt 0.694688 0.850441
+vt 0.693917 0.849071
+vt 0.683908 0.833126
+vt 0.682648 0.833027
+vt 0.548562 0.831820
+vt 0.550343 0.830763
+vt 0.399618 0.825298
+vt 0.551400 0.832931
+vt 0.681074 0.832803
+vt 0.680132 0.832563
+vt 0.172418 0.101989
+vt 0.165840 0.102778
+vt 0.810004 0.102778
+vt 0.803897 0.102778
+vt 0.182557 0.099622
+vt 0.191902 0.097255
+vt 0.196097 0.096466
+vt 0.873449 0.824821
+vt 0.879556 0.824821
+vt 0.208411 0.727221
+vt 0.208594 0.727157
+vt 0.208955 0.726425
+vt 0.209032 0.726367
+vt 0.756022 0.867692
+vt 0.756022 0.867192
+vt 0.756022 0.866616
+vt 0.210246 0.726836
+vt 0.209769 0.727044
+vt 0.755861 0.865810
+vt 0.414786 0.835924
+vt 0.416431 0.835751
+vt 0.737447 0.841800
+vt 0.739114 0.841533
+vt 0.413031 0.835940
+vt 0.471596 0.832397
+vt 0.473236 0.832521
+vt 0.652828 0.832571
+vt 0.651046 0.831687
+vt 0.482603 0.111134
+vt 0.482983 0.112677
+vt 0.483361 0.113884
+vt 0.423421 0.842597
+vt 0.425061 0.842473
+vt 0.779310 0.839323
+vt 0.780517 0.839701
+vt 0.782060 0.840080
+vt 0.783024 0.840209
+vt 0.649989 0.833686
+vt 0.433787 0.832913
+vt 0.432436 0.832144
+vt 0.605263 0.743254
+vt 0.599661 0.737871
+vt 0.604395 0.723508
+vt 0.416430 0.339237
+vt 0.407554 0.343265
+vt 0.405083 0.347239
+vt 0.406923 0.325593
+vt 0.404274 0.330189
+vt 0.310386 0.714684
+vt 0.307145 0.717386
+vt 0.285203 0.718186
+vt 0.017727 0.358416
+vt 0.012125 0.355985
+vt 0.006257 0.355684
+vt 0.579664 0.777900
+vt 0.588653 0.778499
+vt 0.579556 0.788555
+vt 0.574794 0.785843
+vt 0.795152 0.832578
+vt 0.790533 0.830375
+vt 0.793761 0.819804
+vt 0.798176 0.821587
+vt 0.445723 0.642081
+vt 0.435559 0.640738
+vt 0.439406 0.639344
+vt 0.462635 0.637371
+vt 0.102599 0.629131
+vt 0.161707 0.799911
+vt 0.162959 0.799305
+vt 0.796507 0.836909
+vt 0.795124 0.837795
+vt 0.797471 0.840035
+vt 0.693047 0.847625
+vt 0.164169 0.800125
+vt 0.378164 0.826008
+vt 0.379220 0.825050
+vt 0.177704 0.714945
+vt 0.177015 0.715552
+vt 0.398586 0.824770
+vt 0.399650 0.823131
+vt 0.016847 0.794590
+vt 0.016506 0.790960
+vt 0.018401 0.791187
+vt 0.018602 0.794715
+vt 0.020173 0.790641
+vt 0.020247 0.794294
+vt 0.547017 0.522692
+vt 0.540439 0.521903
+vt 0.797791 0.102778
+vt 0.557156 0.525059
+vt 0.867343 0.824821
+vt 0.570696 0.528215
+vt 0.566501 0.527426
+vt 0.208892 0.727113
+vt 0.209294 0.727129
+vt 0.210108 0.726037
+vt 0.210000 0.726128
+vt 0.482474 0.110170
+vt 0.731866 0.841990
+vt 0.730307 0.841786
+vt 0.740673 0.841328
+vt 0.351514 0.832184
+vt 0.349759 0.832168
+vt 0.728641 0.841518
+vt 0.348114 0.831994
+vt 0.434547 0.832038
+vt 0.432949 0.830914
+vt 0.406892 0.337584
+vt 0.628431 0.746463
+vt 0.621879 0.749493
+vt 0.720805 0.651007
+vt 0.717266 0.653514
+vt 0.710395 0.649467
+vt 0.710009 0.666702
+vt 0.704276 0.656327
+vt 0.398751 0.656909
+vt 0.380266 0.647816
+vt 0.384796 0.646174
+vt 0.021327 0.713774
+vt 0.029354 0.717269
+vt 0.029934 0.721285
+vt 0.021461 0.717537
+vt 0.028208 0.726043
+vt 0.037489 0.725165
+vt 0.035623 0.732064
+vt 0.019307 0.362103
+vt 0.897476 0.938994
+vt 0.903080 0.944485
+vt 0.900786 0.947951
+vt 0.895199 0.942680
+vt 0.907843 0.952057
+vt 0.898854 0.952068
+vt 0.895410 0.950060
+vt 0.276891 0.723725
+vt 0.274926 0.720796
+vt 0.272405 0.719078
+vt 0.825674 0.860491
+vt 0.821381 0.863542
+vt 0.818537 0.852398
+vt 0.822994 0.850765
+vt 0.094058 0.628791
+vt 0.098591 0.627065
+vt 0.477263 0.639017
+vt 0.475727 0.634296
+vt 0.797455 0.807659
+vt 0.789146 0.818835
+vt 0.792976 0.806502
+vt 0.642238 0.802165
+vt 0.648696 0.812945
+vt 0.643716 0.814566
+vt 0.636957 0.802916
+vt 0.638800 0.817199
+vt 0.648129 0.820555
+vt 0.644869 0.828056
+vt 0.176856 0.713688
+vt 0.177626 0.712851
+vt 0.237070 0.810531
+vt 0.235761 0.811102
+vt 0.692001 0.850688
+vt 0.690689 0.849856
+vt 0.683130 0.830769
+vt 0.682096 0.830009
+vt 0.681035 0.830691
+vt 0.680233 0.829850
+vt 0.169543 0.088409
+vt 0.163668 0.089344
+vt 0.809344 0.089344
+vt 0.803897 0.089344
+vt 0.178382 0.085602
+vt 0.186527 0.082796
+vt 0.873449 0.839426
+vt 0.878896 0.839426
+vt 0.190322 0.081861
+vt 0.209164 0.726384
+vt 0.209531 0.726075
+vt 0.209551 0.726159
+vt 0.209897 0.726332
+vt 0.209604 0.726409
+vt 0.415750 0.833218
+vt 0.414499 0.832394
+vt 0.738132 0.839267
+vt 0.739470 0.838315
+vt 0.413289 0.833355
+vt 0.473321 0.830624
+vt 0.472265 0.829762
+vt 0.480705 0.112457
+vt 0.479839 0.112151
+vt 0.480387 0.113939
+vt 0.481414 0.114429
+vt 0.424061 0.844544
+vt 0.425369 0.845028
+vt 0.780912 0.837426
+vt 0.782154 0.837107
+vt 0.782885 0.838135
+vt 0.783942 0.837655
+vt 0.615133 0.753511
+vt 0.398550 0.342674
+vt 0.394163 0.345458
+vt 0.593988 0.748790
+vt 0.596205 0.753758
+vt 0.396782 0.317772
+vt 0.395177 0.321176
+vt 0.728540 0.646943
+vt 0.723573 0.646225
+vt 0.043269 0.729648
+vt 0.040854 0.734049
+vt 0.317259 0.723023
+vt 0.313630 0.725402
+vt 0.020079 0.722780
+vt 0.601198 0.846846
+vt 0.598091 0.843159
+vt 0.606544 0.833875
+vt 0.609915 0.837110
+vt 0.013498 0.368152
+vt 0.008203 0.366465
+vt 0.002788 0.366782
+vt 0.569967 0.784145
+vt 0.576602 0.771447
+vt 0.573131 0.799546
+vt 0.567925 0.797852
+vt 0.801831 0.809181
+vt 0.448311 0.639570
+vt 0.454205 0.641499
+vt 0.443148 0.636594
+vt 0.432201 0.635653
+vt 0.436232 0.634612
+vt 0.012928 0.713454
+vt 0.013015 0.709832
+vt 0.474995 0.629470
+vt 0.012303 0.741491
+vt 0.014693 0.728978
+vt 0.018442 0.733062
+vt 0.016534 0.742977
+vt 0.783183 0.802242
+vt 0.778596 0.806243
+vt 0.774084 0.803441
+vt 0.779923 0.794740
+vt 0.783371 0.807532
+vt 0.776529 0.816321
+vt 0.771639 0.815512
+vt 0.631713 0.804590
+vt 0.795900 0.836209
+vt 0.794209 0.837411
+vt 0.795458 0.839057
+vt 0.690952 0.848541
+vt 0.164748 0.798813
+vt 0.163186 0.797614
+vt 0.377348 0.825249
+vt 0.378612 0.824087
+vt 0.176053 0.714015
+vt 0.017432 0.796603
+vt 0.018756 0.797427
+vt 0.019893 0.796389
+vt 0.544142 0.536273
+vt 0.538267 0.535337
+vt 0.798451 0.089344
+vt 0.552980 0.539079
+vt 0.868003 0.839426
+vt 0.564921 0.542820
+vt 0.561126 0.541885
+vt 0.209330 0.726506
+vt 0.731093 0.839405
+vt 0.729831 0.838498
+vt 0.740516 0.839095
+vt 0.350929 0.834417
+vt 0.349605 0.835142
+vt 0.728709 0.839233
+vt 0.348468 0.834280
+vt 0.604813 0.751037
+vt 0.612802 0.755760
+vt 0.399510 0.337262
+vt 0.397216 0.332724
+vt 0.632213 0.753883
+vt 0.628020 0.757933
+vt 0.713641 0.645525
+vt 0.697481 0.645749
+vt 0.699542 0.641492
+vt 0.403198 0.646331
+vt 0.404476 0.657005
+vt 0.398224 0.647568
+vt 0.393516 0.645794
+vt 0.391532 0.645606
+vt 0.386996 0.641194
+vt 0.374255 0.641499
+vt 0.378418 0.639715
+vt 0.030152 0.735259
+vt 0.026850 0.729561
+vt 0.594405 0.840401
+vt 0.602900 0.831097
+vt 0.889229 0.944642
+vt 0.895792 0.955438
+vt 0.890614 0.950207
+vt 0.562682 0.797082
+vt 0.444420 0.633964
+vt 0.271482 0.726211
+vt 0.276804 0.726315
+vt 0.269744 0.729178
+vt 0.268554 0.724780
+vt 0.268353 0.722538
+vt 0.820938 0.841285
+vt 0.816404 0.842323
+vt 0.827526 0.849912
+vt 0.825497 0.840623
+vt 0.487337 0.636006
+vt 0.486490 0.631388
+vt 0.796325 0.799568
+vt 0.800393 0.797963
+vt 0.639434 0.789832
+vt 0.634504 0.789933
+vt 0.766854 0.813901
+vt 0.029345 0.747880
+vt 0.024431 0.737023
+vt 0.033587 0.745599
+vt 0.237633 0.811301
+vt 0.236042 0.812105
+vt 0.845474 0.996656
+vt 0.844212 0.996192
+vt 0.844105 0.994867
+vt 0.845858 0.994947
+vt 0.681519 0.828848
+vt 0.166078 0.076581
+vt 0.160966 0.077640
+vt 0.808706 0.077640
+vt 0.803897 0.077640
+vt 0.173607 0.073403
+vt 0.183916 0.069166
+vt 0.180553 0.070225
+vt 0.873449 0.852121
+vt 0.878258 0.852121
+vt 0.737709 0.838443
+vt 0.739455 0.837323
+vt 0.412710 0.832448
+vt 0.414271 0.831273
+vt 0.748469 0.866529
+vt 0.747652 0.867771
+vt 0.746597 0.867346
+vt 0.747204 0.865560
+vt 0.479520 0.113937
+vt 0.423498 0.845570
+vt 0.425088 0.846438
+vt 0.783123 0.836245
+vt 0.597253 0.756460
+vt 0.623546 0.762166
+vt 0.585204 0.750628
+vt 0.592079 0.744404
+vt 0.586709 0.756230
+vt 0.588252 0.762097
+vt 0.390464 0.309059
+vt 0.388752 0.312002
+vt 0.395285 0.330878
+vt 0.390414 0.324021
+vt 0.725978 0.640591
+vt 0.731000 0.639523
+vt 0.718511 0.643300
+vt 0.700943 0.636972
+vt 0.712544 0.808524
+vt 0.721869 0.815470
+vt 0.712356 0.814708
+vt 0.707769 0.810175
+vt 0.049754 0.736562
+vt 0.046703 0.740192
+vt 0.053383 0.733860
+vt 0.063071 0.744958
+vt 0.059426 0.747737
+vt 0.011345 0.717484
+vt 0.022489 0.728724
+vt 0.038148 0.744762
+vt 0.614639 0.829812
+vt 0.614025 0.825235
+vt 0.010577 0.375450
+vt 0.006552 0.376770
+vt 0.003295 0.374830
+vt 0.570292 0.811951
+vt 0.565374 0.810957
+vt 0.802885 0.801552
+vt 0.018226 0.727167
+vt 0.439854 0.632022
+vt 0.430938 0.632193
+vt 0.433266 0.630719
+vt 0.486209 0.626719
+vt 0.009305 0.753851
+vt 0.013800 0.754627
+vt 0.020675 0.745725
+vt 0.637783 0.782898
+vt 0.634274 0.780143
+vt 0.773613 0.825610
+vt 0.768944 0.825329
+vt 0.629587 0.790928
+vt 0.032965 0.760490
+vt 0.037284 0.758687
+vt 0.689914 0.848269
+vt 0.689489 0.850023
+vt 0.540677 0.548100
+vt 0.535565 0.547041
+vt 0.799089 0.077640
+vt 0.548206 0.551278
+vt 0.868641 0.852121
+vt 0.558515 0.555515
+vt 0.555152 0.554456
+vt 0.351394 0.835197
+vt 0.349685 0.836189
+vt 0.728070 0.838370
+vt 0.729538 0.837323
+vt 0.087731 0.756435
+vt 0.086054 0.748446
+vt 0.091809 0.748345
+vt 0.095004 0.756430
+vt 0.621510 0.763780
+vt 0.393906 0.337602
+vt 0.392326 0.342453
+vt 0.826904 0.800170
+vt 0.835893 0.799867
+vt 0.828836 0.806400
+vt 0.823459 0.804336
+vt 0.391630 0.333042
+vt 0.721008 0.638902
+vt 0.728430 0.635528
+vt 0.733175 0.634104
+vt 0.638006 0.759302
+vt 0.635369 0.763182
+vt 0.715907 0.639711
+vt 0.710456 0.641236
+vt 0.686259 0.638619
+vt 0.687355 0.633897
+vt 0.402167 0.639201
+vt 0.397432 0.640678
+vt 0.392842 0.638952
+vt 0.851649 0.966011
+vt 0.847236 0.970409
+vt 0.842320 0.967534
+vt 0.848304 0.959135
+vt 0.380302 0.634435
+vt 0.638220 0.848418
+vt 0.634057 0.850634
+vt 0.627137 0.840180
+vt 0.631116 0.837821
+vt 0.331257 0.810743
+vt 0.326189 0.816923
+vt 0.322627 0.812128
+vt 0.328770 0.805039
+vt 0.006369 0.714403
+vt 0.005868 0.710555
+vt 0.015237 0.723276
+vt 0.008824 0.719373
+vt 0.893272 0.930540
+vt 0.891307 0.934185
+vt 0.888535 0.927639
+vt 0.889225 0.923059
+vt 0.885893 0.935765
+vt 0.068304 0.753007
+vt 0.067847 0.757722
+vt 0.041806 0.757699
+vt 0.560445 0.810855
+vt 0.568611 0.819581
+vt 0.565087 0.821642
+vt 0.058409 0.797055
+vt 0.063280 0.790641
+vt 0.065910 0.793015
+vt 0.061338 0.799020
+vt 0.265688 0.727721
+vt 0.428656 0.629951
+vt 0.431505 0.627009
+vt 0.816577 0.836807
+vt 0.819608 0.834273
+vt 0.823313 0.835547
+vt 0.492854 0.634354
+vt 0.494341 0.630939
+vt 0.795901 0.796813
+vt 0.801356 0.794740
+vt 0.018219 0.756185
+vt 0.764326 0.824482
+vt 0.041374 0.772629
+vt 0.036998 0.774152
+vt 0.162436 0.066411
+vt 0.157975 0.067538
+vt 0.808150 0.067538
+vt 0.803897 0.067538
+vt 0.168796 0.063030
+vt 0.873449 0.862766
+vt 0.877702 0.862766
+vt 0.177530 0.058521
+vt 0.174634 0.059648
+vt 0.087616 0.772996
+vt 0.085854 0.765043
+vt 0.090112 0.763995
+vt 0.092106 0.772457
+vt 0.095245 0.764271
+vt 0.091159 0.740124
+vt 0.084519 0.739738
+vt 0.082564 0.730019
+vt 0.079454 0.737703
+vt 0.077739 0.728687
+vt 0.632561 0.767002
+vt 0.445022 0.840281
+vt 0.444688 0.831492
+vt 0.449539 0.831066
+vt 0.449681 0.839930
+vt 0.576339 0.754857
+vt 0.577158 0.760152
+vt 0.577919 0.765566
+vt 0.630315 0.853577
+vt 0.623359 0.842862
+vt 0.383546 0.313946
+vt 0.149572 0.808239
+vt 0.146989 0.803413
+vt 0.149639 0.798542
+vt 0.155070 0.801777
+vt 0.723735 0.634360
+vt 0.719115 0.634683
+vt 0.100735 0.739973
+vt 0.097550 0.734927
+vt 0.110248 0.737117
+vt 0.110496 0.741594
+vt 0.688512 0.629072
+vt 0.705702 0.799653
+vt 0.700813 0.800871
+vt 0.703258 0.812485
+vt 0.709011 0.821583
+vt 0.840477 0.980048
+vt 0.835233 0.978096
+vt 0.056055 0.750972
+vt 0.003008 0.715165
+vt 0.884485 0.926642
+vt 0.011057 0.380027
+vt 0.005925 0.382890
+vt 0.001812 0.379545
+vt 0.045853 0.771472
+vt 0.569571 0.823169
+vt 0.565005 0.826393
+vt 0.436607 0.629503
+vt 0.001812 0.710361
+vt 0.772001 0.830686
+vt 0.768546 0.832614
+vt 0.492344 0.627704
+vt 0.006980 0.765065
+vt 0.011539 0.765727
+vt 0.630884 0.783390
+vt 0.016074 0.766765
+vt 0.040507 0.781689
+vt 0.044595 0.783409
+vt 0.537035 0.558270
+vt 0.532574 0.557143
+vt 0.799645 0.067538
+vt 0.543394 0.561652
+vt 0.869197 0.862766
+vt 0.552129 0.566160
+vt 0.549232 0.565033
+vt 0.096058 0.743341
+vt 0.095627 0.747796
+vt 0.099606 0.751863
+vt 0.087439 0.729452
+vt 0.440128 0.830914
+vt 0.440443 0.840106
+vt 0.818664 0.802580
+vt 0.823670 0.794739
+vt 0.823249 0.814202
+vt 0.817279 0.812697
+vt 0.385588 0.325040
+vt 0.378303 0.314173
+vt 0.523949 0.833945
+vt 0.527845 0.830883
+vt 0.532387 0.836867
+vt 0.528167 0.841154
+vt 0.726421 0.630984
+vt 0.730273 0.630910
+vt 0.733174 0.630852
+vt 0.641420 0.762554
+vt 0.641354 0.765912
+vt 0.524265 0.847510
+vt 0.533195 0.845188
+vt 0.530994 0.850727
+vt 0.095284 0.737802
+vt 0.102883 0.746834
+vt 0.676081 0.635608
+vt 0.676483 0.630989
+vt 0.464469 0.836601
+vt 0.465446 0.846779
+vt 0.460711 0.846453
+vt 0.459825 0.836867
+vt 0.456121 0.846898
+vt 0.455262 0.837502
+vt 0.696027 0.802029
+vt 0.111281 0.754343
+vt 0.107908 0.757781
+vt 0.371314 0.636911
+vt 0.372907 0.631982
+vt 0.625968 0.832095
+vt 0.621613 0.831687
+vt 0.883525 0.944359
+vt 0.880598 0.935006
+vt 0.884093 0.920487
+vt 0.063110 0.757469
+vt 0.561712 0.819088
+vt 0.440517 0.629093
+vt 0.436309 0.626320
+vt 0.495388 0.635248
+vt 0.497714 0.630722
+vt 0.142111 0.811870
+vt 0.145566 0.812679
+vt 0.146573 0.816383
+vt 0.142046 0.816888
+vt 0.007071 0.771201
+vt 0.010043 0.773850
+vt 0.040231 0.784937
+vt 0.045685 0.787011
+vt 0.765351 0.830177
+vt 0.158451 0.057471
+vt 0.154680 0.058586
+vt 0.807673 0.058586
+vt 0.803897 0.058586
+vt 0.163823 0.054125
+vt 0.873449 0.871623
+vt 0.877226 0.871623
+vt 0.171224 0.049664
+vt 0.168760 0.050780
+vt 0.088040 0.783329
+vt 0.092619 0.783154
+vt 0.096887 0.772921
+vt 0.105833 0.761928
+vt 0.519993 0.836838
+vt 0.084788 0.723419
+vt 0.080927 0.721864
+vt 0.077919 0.723115
+vt 0.638133 0.767816
+vt 0.448682 0.845444
+vt 0.445297 0.847492
+vt 0.570825 0.757777
+vt 0.569110 0.761803
+vt 0.571502 0.765059
+vt 0.620220 0.835828
+vt 0.385913 0.301286
+vt 0.380995 0.302610
+vt 0.811575 0.811230
+vt 0.722148 0.630465
+vt 0.725796 0.627595
+vt 0.111981 0.746337
+vt 0.122679 0.738338
+vt 0.122172 0.742870
+vt 0.677185 0.626320
+vt 0.702787 0.790257
+vt 0.698118 0.790960
+vt 0.840869 0.964161
+vt 0.833559 0.975161
+vt 0.833107 0.989913
+vt 0.838025 0.991237
+vt 0.366165 0.635261
+vt 0.365804 0.631752
+vt 0.881253 0.927951
+vt 0.064420 0.760978
+vt 0.070575 0.761067
+vt 0.047067 0.779705
+vt 0.560612 0.822792
+vt 0.494994 0.626477
+vt 0.013807 0.772460
+vt 0.533050 0.567210
+vt 0.529279 0.566095
+vt 0.800121 0.058586
+vt 0.538422 0.570556
+vt 0.869673 0.871623
+vt 0.545823 0.575017
+vt 0.543359 0.573902
+vt 0.089043 0.726559
+vt 0.085395 0.719982
+vt 0.819357 0.823394
+vt 0.813942 0.822633
+vt 0.441836 0.845583
+vt 0.089123 0.789746
+vt 0.092476 0.792000
+vt 0.384232 0.294253
+vt 0.380708 0.292795
+vt 0.376066 0.302254
+vt 0.116699 0.769011
+vt 0.118908 0.764944
+vt 0.730849 0.626611
+vt 0.734741 0.627494
+vt 0.670831 0.633956
+vt 0.668971 0.630541
+vt 0.462765 0.831351
+vt 0.459148 0.829762
+vt 0.455945 0.832018
+vt 0.693499 0.791361
+vt 0.122437 0.747548
+vt 0.121844 0.761298
+vt 0.133660 0.768968
+vt 0.130979 0.772746
+vt 0.361811 0.636226
+vt 0.359988 0.631661
+vt 0.014624 0.774897
+vt 0.009606 0.776570
+vt 0.153958 0.049332
+vt 0.151068 0.050331
+vt 0.807275 0.050331
+vt 0.803897 0.050331
+vt 0.158567 0.046333
+vt 0.873449 0.878952
+vt 0.876827 0.878952
+vt 0.165054 0.042335
+vt 0.162923 0.043335
+vt 0.097278 0.783505
+vt 0.080343 0.717845
+vt 0.076450 0.719895
+vt 0.816585 0.828871
+vt 0.812535 0.830642
+vt 0.130567 0.803072
+vt 0.130088 0.806457
+vt 0.126062 0.807788
+vt 0.125435 0.803235
+vt 0.569248 0.766542
+vt 0.566337 0.762430
+vt 0.385192 0.290112
+vt 0.380626 0.287284
+vt 0.808648 0.821814
+vt 0.128619 0.776725
+vt 0.134006 0.739448
+vt 0.133371 0.744011
+vt 0.671318 0.627305
+vt 0.701175 0.784774
+vt 0.697720 0.783148
+vt 0.133105 0.748655
+vt 0.139922 0.774438
+vt 0.140434 0.778844
+vt 0.366444 0.628361
+vt 0.371914 0.627065
+vt 0.528557 0.575350
+vt 0.525666 0.574350
+vt 0.800520 0.050331
+vt 0.533165 0.578348
+vt 0.870072 0.878952
+vt 0.539653 0.582346
+vt 0.537521 0.581347
+vt 0.125828 0.798542
+vt 0.129877 0.799611
+vt 0.095970 0.789885
+vt 0.377333 0.294685
+vt 0.136188 0.780185
+vt 0.139873 0.741246
+vt 0.141589 0.744838
+vt 0.184813 0.811192
+vt 0.188228 0.812266
+vt 0.189122 0.815883
+vt 0.184595 0.816047
+vt 0.702182 0.782517
+vt 0.697655 0.780143
+vt 0.694524 0.785261
+vt 0.362038 0.627268
+vt 0.149956 0.041645
+vt 0.147812 0.042444
+vt 0.806914 0.042444
+vt 0.803897 0.042444
+vt 0.154035 0.039248
+vt 0.873449 0.885235
+vt 0.876466 0.885235
+vt 0.159920 0.036052
+vt 0.158029 0.036851
+vt 0.809303 0.828194
+vt 0.097192 0.792332
+vt 0.092499 0.794912
+vt 0.376233 0.290439
+vt 0.142220 0.740322
+vt 0.144323 0.745176
+vt 0.139205 0.748066
+vt 0.524555 0.583036
+vt 0.522411 0.582237
+vt 0.800881 0.042444
+vt 0.528634 0.585433
+vt 0.870433 0.885235
+vt 0.534519 0.588630
+vt 0.532628 0.587830
+vt 0.693411 0.782877
+vt 0.147446 0.034063
+vt 0.145587 0.034596
+vt 0.806553 0.034597
+vt 0.803897 0.034596
+vt 0.151237 0.032464
+vt 0.873449 0.890956
+vt 0.876105 0.890956
+vt 0.156722 0.030331
+vt 0.154988 0.030864
+vt 0.522044 0.590618
+vt 0.520186 0.590085
+vt 0.801242 0.034597
+vt 0.525836 0.592217
+vt 0.870794 0.890956
+vt 0.531321 0.594350
+vt 0.529586 0.593817
+vt 0.146083 0.027187
+vt 0.144280 0.027473
+vt 0.806244 0.027473
+vt 0.803897 0.027473
+vt 0.149706 0.026329
+vt 0.873449 0.896103
+vt 0.875796 0.896103
+vt 0.154908 0.025184
+vt 0.153274 0.025470
+vt 0.520682 0.597494
+vt 0.518879 0.597208
+vt 0.801550 0.027473
+vt 0.524305 0.598352
+vt 0.871102 0.896103
+vt 0.529507 0.599497
+vt 0.527873 0.599211
+vt 0.145526 0.021617
+vt 0.143781 0.021760
+vt 0.806042 0.021760
+vt 0.803897 0.021760
+vt 0.148975 0.021190
+vt 0.873449 0.900666
+vt 0.875594 0.900666
+vt 0.153924 0.020621
+vt 0.152363 0.020763
+vt 0.520124 0.603064
+vt 0.518380 0.602922
+vt 0.801752 0.021760
+vt 0.523574 0.603491
+vt 0.871304 0.900666
+vt 0.528523 0.604060
+vt 0.526961 0.603918
+vt 0.144487 0.016115
+vt 0.146057 0.016068
+vt 0.803897 0.016109
+vt 0.805780 0.016115
+vt 0.149121 0.015905
+vt 0.873449 0.903656
+vt 0.874984 0.905258
+vt 0.152113 0.015825
+vt 0.153466 0.016029
+vt 0.519086 0.608566
+vt 0.520656 0.608613
+vt 0.802015 0.016115
+vt 0.523720 0.608777
+vt 0.871915 0.905258
+vt 0.526712 0.608857
+vt 0.528065 0.608652
+vt 0.803897 0.009173
+vt 0.805289 0.009197
+vt 0.146796 0.009197
+vt 0.147961 0.009254
+vt 0.150226 0.009327
+vt 0.873449 0.910490
+vt 0.152385 0.009735
+vt 0.876657 0.905462
+vt 0.875537 0.911552
+vt 0.802505 0.009197
+vt 0.521395 0.615484
+vt 0.522560 0.615428
+vt 0.524825 0.615354
+vt 0.526984 0.614946
+vt 0.870242 0.905462
+vt 0.871362 0.911552
+vt 0.803897 0.005028
+vt 0.804639 0.003619
+vt 0.149627 0.005167
+vt 0.149493 0.003619
+vt 0.151302 0.003881
+vt 0.152363 0.005564
+vt 0.874727 0.915723
+vt 0.873449 0.916856
+vt 0.803156 0.003619
+vt 0.524226 0.619515
+vt 0.524092 0.621063
+vt 0.525900 0.620800
+vt 0.526962 0.619117
+vt 0.872171 0.915723
+vt 0.803897 0.001992
+vt 0.151361 0.001992
+vt 0.152835 0.004431
+vt 0.525960 0.622689
+vt 0.527434 0.620250
+vt 0.139578 0.703549
+vt 0.140245 0.701989
+vt 0.145706 0.693103
+vt 0.143276 0.694879
+vt 0.143967 0.693258
+vt 0.142566 0.696546
+vt 0.141915 0.698071
+vt 0.142438 0.700313
+vt 0.141405 0.699268
+vt 0.140895 0.700465
+vt 0.144644 0.691672
+vt 0.145312 0.690105
+vt 0.146071 0.688324
+vt 0.149015 0.686381
+vt 0.147022 0.686094
+vt 0.148051 0.683680
+vt 0.149045 0.681350
+vt 0.150031 0.679036
+vt 0.357868 0.546126
+vt 0.358064 0.544438
+vt 0.357486 0.541570
+vt 0.855664 0.952839
+vt 0.842332 0.955504
+vn -0.802188 -0.592229 -0.075890
+vn -0.870480 -0.491514 -0.026054
+vn -0.896689 -0.401516 -0.186371
+vn -0.862239 -0.486780 0.139964
+vn -0.870480 -0.491514 -0.026054
+vn -0.817232 -0.568713 0.093265
+vn -0.802188 -0.592229 -0.075890
+vn -0.870480 -0.491514 -0.026054
+vn -0.954874 -0.294230 -0.040541
+vn -0.896689 -0.401516 -0.186371
+vn -0.932402 -0.263024 -0.247880
+vn -0.930305 -0.334221 0.151093
+vn -0.954874 -0.294230 -0.040541
+vn -0.862239 -0.486780 0.139964
+vn -0.870480 -0.491514 -0.026054
+vn -0.846138 -0.353371 0.398974
+vn -0.930305 -0.334221 0.151093
+vn -0.790070 -0.486834 0.372534
+vn -0.862239 -0.486780 0.139964
+vn -0.998287 -0.011119 -0.057444
+vn -0.954874 -0.294230 -0.040541
+vn -0.994880 -0.043471 0.091236
+vn -0.958756 -0.164053 0.232107
+vn -0.930305 -0.334221 0.151093
+vn -0.846138 -0.353371 0.398974
+vn -0.890035 -0.178073 0.419676
+vn -0.930305 -0.334221 0.151093
+vn -0.958756 -0.164053 0.232107
+vn -0.932402 -0.263024 -0.247880
+vn -0.954874 -0.294230 -0.040541
+vn -0.961090 0.006536 -0.276157
+vn -0.998287 -0.011119 -0.057444
+vn -0.896689 -0.401516 -0.186371
+vn -0.932402 -0.263024 -0.247880
+vn -0.841819 -0.396924 -0.365775
+vn -0.901724 -0.172576 -0.396372
+vn -0.932402 -0.263024 -0.247880
+vn -0.961090 0.006536 -0.276157
+vn -0.901724 -0.172576 -0.396372
+vn -0.907909 0.109148 -0.404708
+vn -0.917964 0.233489 -0.320663
+vn -0.961090 0.006536 -0.276157
+vn -0.970288 0.171121 -0.171051
+vn -0.998287 -0.011119 -0.057444
+vn -0.988206 0.149554 -0.032914
+vn -0.961090 0.006536 -0.276157
+vn -0.917964 0.233489 -0.320663
+vn -0.907909 0.109148 -0.404708
+vn -0.886776 0.241453 -0.394118
+vn -0.917964 0.233489 -0.320663
+vn -0.970288 0.171121 -0.171051
+vn -0.869233 0.391531 -0.301891
+vn -0.886776 0.241453 -0.394118
+vn -0.917964 0.233489 -0.320663
+vn -0.842966 0.389407 -0.371174
+vn -0.869233 0.391531 -0.301891
+vn -0.998287 -0.011119 -0.057444
+vn -0.994880 -0.043471 0.091236
+vn -0.988206 0.149554 -0.032914
+vn 0.707002 -0.581892 0.401933
+vn 0.746947 -0.481619 0.458381
+vn 0.634264 -0.565496 0.527184
+vn 0.653410 -0.471389 0.592324
+vn 0.850941 -0.407368 0.331589
+vn 0.746947 -0.481619 0.458381
+vn 0.741072 -0.585674 0.328326
+vn 0.707002 -0.581892 0.401933
+vn 0.746947 -0.481619 0.458381
+vn 0.817988 -0.285301 0.499498
+vn 0.653410 -0.471389 0.592324
+vn 0.700003 -0.310407 0.643151
+vn 0.850941 -0.407368 0.331589
+vn 0.910147 -0.265800 0.317779
+vn 0.746947 -0.481619 0.458381
+vn 0.817988 -0.285301 0.499498
+vn 0.685982 -0.151086 0.711760
+vn 0.700003 -0.310407 0.643151
+vn 0.770530 -0.101576 0.629258
+vn 0.817988 -0.285301 0.499498
+vn 0.867575 -0.013626 0.497119
+vn 0.653410 -0.471389 0.592324
+vn 0.700003 -0.310407 0.643151
+vn 0.449173 -0.486845 0.749150
+vn 0.483310 -0.329464 0.811089
+vn 0.968169 -0.182142 0.171678
+vn 0.910147 -0.265800 0.317779
+vn 0.905803 -0.391739 0.161438
+vn 0.850941 -0.407368 0.331589
+vn 0.910147 -0.265800 0.317779
+vn 0.953514 0.002132 0.301342
+vn 0.817988 -0.285301 0.499498
+vn 0.867575 -0.013626 0.497119
+vn 0.483310 -0.329464 0.811089
+vn 0.700003 -0.310407 0.643151
+vn 0.685982 -0.151086 0.711760
+vn 0.979502 0.103473 0.172827
+vn 0.953514 0.002132 0.301342
+vn 0.975522 -0.135997 0.172806
+vn 0.968169 -0.182142 0.171678
+vn 0.910147 -0.265800 0.317779
+vn 0.867575 -0.013626 0.497119
+vn 0.953514 0.002132 0.301342
+vn 0.868901 0.147170 0.472601
+vn 0.901984 0.166143 0.398523
+vn 0.943025 0.227116 0.243152
+vn 0.953514 0.002132 0.301342
+vn 0.979502 0.103473 0.172827
+vn 0.943025 0.227116 0.243152
+vn 0.938020 0.310128 0.154725
+vn 0.979816 0.137442 0.145153
+vn 0.868901 0.147170 0.472601
+vn 0.769391 0.149514 0.621033
+vn 0.867575 -0.013626 0.497119
+vn 0.770530 -0.101576 0.629258
+vn 0.653166 0.628390 0.422493
+vn 0.199312 0.959119 0.200911
+vn 0.600236 0.763984 0.236738
+vn 0.209769 0.973412 0.092012
+vn 0.314866 0.948571 0.032756
+vn 0.314866 0.948571 0.032756
+vn 0.302435 0.950250 -0.074555
+vn 0.427587 0.903482 -0.029820
+vn 0.653166 0.628390 0.422493
+vn 0.145136 0.915216 0.375920
+vn 0.199312 0.959119 0.200911
+vn 0.314866 0.948571 0.032756
+vn 0.427587 0.903482 -0.029820
+vn 0.600236 0.763984 0.236738
+vn 0.749880 0.641749 0.160742
+vn 0.653166 0.628390 0.422493
+vn 0.682119 0.504826 0.529022
+vn 0.145136 0.915216 0.375920
+vn 0.108725 0.888568 0.445674
+vn 0.584423 -0.793574 0.169384
+vn 0.455070 -0.874693 0.166805
+vn 0.687387 -0.634374 0.353650
+vn 0.697161 -0.615848 0.367013
+vn 0.765922 -0.632535 0.115168
+vn 0.879774 0.458794 -0.124519
+vn 0.686026 0.726536 -0.038912
+vn 0.879774 0.458794 -0.124519
+vn 0.427587 0.903482 -0.029820
+vn 0.686026 0.726536 -0.038912
+vn 0.302435 0.950250 -0.074555
+vn 0.162794 0.819850 0.548948
+vn 0.075822 0.825548 0.559216
+vn 0.682119 0.504826 0.529022
+vn 0.108725 0.888568 0.445674
+vn 0.697161 -0.615848 0.367013
+vn 0.824936 -0.169391 0.539247
+vn 0.687387 -0.634374 0.353650
+vn 0.790295 -0.326492 0.518494
+vn 0.584423 -0.793574 0.169384
+vn 0.687387 -0.634374 0.353650
+vn 0.765922 -0.632535 0.115168
+vn 0.879774 0.458794 -0.124519
+vn 0.906592 -0.352200 0.232478
+vn 0.329559 -0.942149 -0.061203
+vn 0.697161 -0.615848 0.367013
+vn 0.455070 -0.874693 0.166805
+vn 0.427587 0.903482 -0.029820
+vn 0.879774 0.458794 -0.124519
+vn 0.749880 0.641749 0.160742
+vn 0.906592 -0.352200 0.232478
+vn 0.749880 0.641749 0.160742
+vn 0.809541 0.462430 0.361667
+vn 0.600236 0.763984 0.236738
+vn 0.880127 0.212967 0.424290
+vn 0.600236 0.763984 0.236738
+vn 0.880127 0.212967 0.424290
+vn 0.653166 0.628390 0.422493
+vn 0.901600 -0.056841 0.428819
+vn 0.653166 0.628390 0.422493
+vn 0.901600 -0.056841 0.428819
+vn 0.682119 0.504826 0.529022
+vn 0.914435 -0.086336 0.395416
+vn 0.682119 0.504826 0.529022
+vn 0.820743 0.386295 0.420901
+vn 0.162794 0.819850 0.548948
+vn 0.185739 0.745837 0.639709
+vn 0.138987 0.630962 0.763263
+vn 0.185739 0.745837 0.639709
+vn 0.820743 0.386295 0.420901
+vn 0.697161 -0.615848 0.367013
+vn 0.166206 -0.982768 -0.080881
+vn 0.610719 -0.779837 0.137393
+vn 0.139729 -0.984390 -0.107016
+vn 0.697161 -0.615848 0.367013
+vn 0.610719 -0.779837 0.137393
+vn 0.824936 -0.169391 0.539247
+vn 0.937148 0.014000 0.348652
+vn 0.687387 -0.634374 0.353650
+vn 0.790295 -0.326492 0.518494
+vn 0.906592 -0.352200 0.232478
+vn 0.891006 -0.225479 0.394041
+vn 0.166206 -0.982768 -0.080881
+vn 0.697161 -0.615848 0.367013
+vn 0.329559 -0.942149 -0.061203
+vn 0.809541 0.462430 0.361667
+vn 0.749880 0.641749 0.160742
+vn 0.814917 0.476975 0.329250
+vn 0.907248 0.267753 0.324361
+vn 0.820743 0.386295 0.420901
+vn 0.682119 0.504826 0.529022
+vn 0.954316 -0.016602 0.298339
+vn 0.914435 -0.086336 0.395416
+vn 0.689265 -0.722296 0.056597
+vn 0.610719 -0.779837 0.137393
+vn 0.164122 -0.978368 -0.125938
+vn 0.139729 -0.984390 -0.107016
+vn 0.689265 -0.722296 0.056597
+vn 0.164122 -0.978368 -0.125938
+vn 0.216646 -0.975836 -0.028430
+vn 0.824936 -0.169391 0.539247
+vn 0.700436 0.394823 0.594562
+vn 0.790295 -0.326492 0.518494
+vn 0.847619 0.034858 0.529459
+vn 0.749880 0.641749 0.160742
+vn 0.906592 -0.352200 0.232478
+vn 0.907248 0.267753 0.324361
+vn 0.891006 -0.225479 0.394041
+vn 0.814917 0.476975 0.329250
+vn 0.886340 0.017091 0.462720
+vn 0.809541 0.462430 0.361667
+vn 0.874517 -0.120583 0.469765
+vn 0.809541 0.462430 0.361667
+vn 0.874517 -0.120583 0.469765
+vn 0.880127 0.212967 0.424290
+vn 0.878595 -0.236772 0.414742
+vn 0.880127 0.212967 0.424290
+vn 0.878595 -0.236772 0.414742
+vn 0.901600 -0.056841 0.428819
+vn 0.885062 -0.289976 0.364115
+vn 0.914435 -0.086336 0.395416
+vn 0.901600 -0.056841 0.428819
+vn 0.894002 -0.318363 0.315288
+vn 0.885062 -0.289976 0.364115
+vn 0.954316 -0.016602 0.298339
+vn 0.994870 -0.033298 0.095526
+vn 0.820743 0.386295 0.420901
+vn 0.988509 0.139113 0.059146
+vn 0.610719 -0.779837 0.137393
+vn 0.689265 -0.722296 0.056597
+vn 0.937148 0.014000 0.348652
+vn 0.989605 0.030866 0.140460
+vn 0.450007 -0.596988 0.664153
+vn 0.775776 -0.603389 0.184643
+vn 0.380083 -0.923425 0.053136
+vn 0.380083 -0.923425 0.053136
+vn 0.775776 -0.603389 0.184643
+vn 0.689265 -0.722296 0.056597
+vn 0.937148 0.014000 0.348652
+vn 0.746836 0.508101 0.429034
+vn 0.824936 -0.169391 0.539247
+vn 0.700436 0.394823 0.594562
+vn 0.790295 -0.326492 0.518494
+vn 0.847619 0.034858 0.529459
+vn 0.891006 -0.225479 0.394041
+vn 0.910333 0.033014 0.412557
+vn 0.814917 0.476975 0.329250
+vn 0.907248 0.267753 0.324361
+vn 0.886340 0.017091 0.462720
+vn 0.906558 0.137947 0.398903
+vn 0.894002 -0.318363 0.315288
+vn 0.921883 -0.360420 0.142230
+vn 0.914435 -0.086336 0.395416
+vn 0.954316 -0.016602 0.298339
+vn 0.994870 -0.033298 0.095526
+vn 0.954316 -0.016602 0.298339
+vn 0.932439 -0.342330 -0.115621
+vn 0.921883 -0.360420 0.142230
+vn 0.820743 0.386295 0.420901
+vn 0.874237 0.181055 0.450476
+vn 0.138987 0.630962 0.763263
+vn 0.255025 0.001834 0.966933
+vn 0.255025 0.001834 0.966933
+vn 0.874237 0.181055 0.450476
+vn 0.450007 -0.596988 0.664153
+vn 0.775776 -0.603389 0.184643
+vn 0.689265 -0.722296 0.056597
+vn 0.775776 -0.603389 0.184643
+vn 0.989605 0.030866 0.140460
+vn 0.974667 0.210814 0.074709
+vn 0.937148 0.014000 0.348652
+vn 0.989605 0.030866 0.140460
+vn 0.746836 0.508101 0.429034
+vn 0.719698 0.693222 0.038443
+vn 0.746836 0.508101 0.429034
+vn 0.467943 0.725026 0.505339
+vn 0.700436 0.394823 0.594562
+vn 0.655577 0.541425 0.526382
+vn 0.700436 0.394823 0.594562
+vn 0.655577 0.541425 0.526382
+vn 0.847619 0.034858 0.529459
+vn 0.792285 0.410691 0.451239
+vn 0.907248 0.267753 0.324361
+vn 0.891006 -0.225479 0.394041
+vn 0.906558 0.137947 0.398903
+vn 0.910333 0.033014 0.412557
+vn 0.886340 0.017091 0.462720
+vn 0.912630 -0.077822 0.401311
+vn 0.874517 -0.120583 0.469765
+vn 0.883836 -0.245965 0.397913
+vn 0.874517 -0.120583 0.469765
+vn 0.883836 -0.245965 0.397913
+vn 0.878595 -0.236772 0.414742
+vn 0.867442 -0.340718 0.362568
+vn 0.878595 -0.236772 0.414742
+vn 0.867442 -0.340718 0.362568
+vn 0.885062 -0.289976 0.364115
+vn 0.872431 -0.343990 0.347182
+vn 0.921883 -0.360420 0.142230
+vn 0.894002 -0.318363 0.315288
+vn 0.926491 -0.288535 0.241582
+vn 0.882154 -0.357117 0.307038
+vn 0.894002 -0.318363 0.315288
+vn 0.885062 -0.289976 0.364115
+vn 0.882154 -0.357117 0.307038
+vn 0.872431 -0.343990 0.347182
+vn 0.994870 -0.033298 0.095526
+vn 0.932439 -0.342330 -0.115621
+vn 0.988509 0.139113 0.059146
+vn 0.948030 -0.090590 -0.305013
+vn 0.820743 0.386295 0.420901
+vn 0.988509 0.139113 0.059146
+vn 0.874237 0.181055 0.450476
+vn 0.984314 0.175603 0.017026
+vn 0.775776 -0.603389 0.184643
+vn 0.874237 0.181055 0.450476
+vn 0.974667 0.210814 0.074709
+vn 0.984314 0.175603 0.017026
+vn 0.467943 0.725026 0.505339
+vn 0.746836 0.508101 0.429034
+vn 0.588251 0.607970 0.533229
+vn 0.627388 0.757534 0.180351
+vn 0.847619 0.034858 0.529459
+vn 0.792285 0.410691 0.451239
+vn 0.910333 0.033014 0.412557
+vn 0.879206 0.217382 0.423960
+vn 0.886340 0.017091 0.462720
+vn 0.906558 0.137947 0.398903
+vn 0.912630 -0.077822 0.401311
+vn 0.918768 0.025315 0.393985
+vn 0.926491 -0.288535 0.241582
+vn 0.965525 -0.170466 0.196731
+vn 0.921883 -0.360420 0.142230
+vn 0.932439 -0.342330 -0.115621
+vn 0.989605 0.030866 0.140460
+vn 0.974667 0.210814 0.074709
+vn 0.719698 0.693222 0.038443
+vn 0.681637 0.685328 -0.256315
+vn 0.746836 0.508101 0.429034
+vn 0.719698 0.693222 0.038443
+vn 0.627388 0.757534 0.180351
+vn 0.600878 0.799010 -0.022997
+vn 0.588251 0.607970 0.533229
+vn 0.826205 -0.436728 0.355884
+vn 0.467943 0.725026 0.505339
+vn 0.857836 0.191758 0.476808
+vn 0.467943 0.725026 0.505339
+vn 0.857836 0.191758 0.476808
+vn 0.655577 0.541425 0.526382
+vn 0.867426 0.216115 0.448182
+vn 0.655577 0.541425 0.526382
+vn 0.867426 0.216115 0.448182
+vn 0.792285 0.410691 0.451239
+vn 0.841217 0.201283 0.501836
+vn 0.906558 0.137947 0.398903
+vn 0.910333 0.033014 0.412557
+vn 0.918768 0.025315 0.393985
+vn 0.879206 0.217382 0.423960
+vn 0.912630 -0.077822 0.401311
+vn 0.935015 -0.051945 0.350784
+vn 0.883836 -0.245965 0.397913
+vn 0.932396 -0.074789 0.353616
+vn 0.883836 -0.245965 0.397913
+vn 0.932396 -0.074789 0.353616
+vn 0.867442 -0.340718 0.362568
+vn 0.872431 -0.343990 0.347182
+vn 0.926491 -0.288535 0.241582
+vn 0.932396 -0.074789 0.353616
+vn 0.965525 -0.170466 0.196731
+vn 0.926121 -0.049124 0.374014
+vn 0.926491 -0.288535 0.241582
+vn 0.882154 -0.357117 0.307038
+vn 0.932396 -0.074789 0.353616
+vn 0.872431 -0.343990 0.347182
+vn 0.965525 -0.170466 0.196731
+vn 0.989399 0.091871 0.112468
+vn 0.932439 -0.342330 -0.115621
+vn 0.948030 -0.090590 -0.305013
+vn 0.988509 0.139113 0.059146
+vn 0.948030 -0.090590 -0.305013
+vn 0.984314 0.175603 0.017026
+vn 0.877657 0.229455 -0.420796
+vn 0.974667 0.210814 0.074709
+vn 0.984314 0.175603 0.017026
+vn 0.681637 0.685328 -0.256315
+vn 0.877657 0.229455 -0.420796
+vn 0.627388 0.757534 0.180351
+vn 0.943658 -0.261999 0.202153
+vn 0.588251 0.607970 0.533229
+vn 0.826205 -0.436728 0.355884
+vn 0.792285 0.410691 0.451239
+vn 0.841217 0.201283 0.501836
+vn 0.879206 0.217382 0.423960
+vn 0.878165 0.228465 0.420273
+vn 0.918768 0.025315 0.393985
+vn 0.925729 0.017557 0.377780
+vn 0.912630 -0.077822 0.401311
+vn 0.935015 -0.051945 0.350784
+vn 0.965525 -0.170466 0.196731
+vn 0.926121 -0.049124 0.374014
+vn 0.989399 0.091871 0.112468
+vn 0.914822 0.164935 0.368643
+vn 0.948030 -0.090590 -0.305013
+vn 0.989399 0.091871 0.112468
+vn 0.877657 0.229455 -0.420796
+vn 0.928538 0.371235 0.001400
+vn 0.719698 0.693222 0.038443
+vn 0.681637 0.685328 -0.256315
+vn 0.600878 0.799010 -0.022997
+vn 0.726781 0.674125 -0.131701
+vn 0.600878 0.799010 -0.022997
+vn 0.990221 -0.119234 0.072426
+vn 0.627388 0.757534 0.180351
+vn 0.943658 -0.261999 0.202153
+vn 0.826205 -0.436728 0.355884
+vn 0.943658 -0.261999 0.202153
+vn 0.758878 -0.618646 0.203422
+vn 0.797734 -0.590818 0.120642
+vn 0.826205 -0.436728 0.355884
+vn 0.758878 -0.618646 0.203422
+vn 0.857836 0.191758 0.476808
+vn 0.686207 -0.702941 0.187068
+vn 0.857836 0.191758 0.476808
+vn 0.686207 -0.702941 0.187068
+vn 0.867426 0.216115 0.448182
+vn 0.707425 -0.658332 0.257194
+vn 0.867426 0.216115 0.448182
+vn 0.707425 -0.658332 0.257194
+vn 0.841217 0.201283 0.501836
+vn 0.825652 -0.194056 0.529756
+vn 0.918768 0.025315 0.393985
+vn 0.879206 0.217382 0.423960
+vn 0.925729 0.017557 0.377780
+vn 0.878165 0.228465 0.420273
+vn 0.925729 0.017557 0.377780
+vn 0.931467 -0.036296 0.362012
+vn 0.935015 -0.051945 0.350784
+vn 0.943093 -0.019219 0.331974
+vn 0.935015 -0.051945 0.350784
+vn 0.943093 -0.019219 0.331974
+vn 0.932396 -0.074789 0.353616
+vn 0.932173 -0.066736 0.355809
+vn 0.932396 -0.074789 0.353616
+vn 0.932173 -0.066736 0.355809
+vn 0.926121 -0.049124 0.374014
+vn 0.922245 -0.071861 0.379869
+vn 0.681637 0.685328 -0.256315
+vn 0.877657 0.229455 -0.420796
+vn 0.726781 0.674125 -0.131701
+vn 0.928538 0.371235 0.001400
+vn 0.600878 0.799010 -0.022997
+vn 0.726781 0.674125 -0.131701
+vn 0.990221 -0.119234 0.072426
+vn 0.936791 -0.262483 0.231354
+vn 0.990221 -0.119234 0.072426
+vn 0.793535 -0.605829 0.057211
+vn 0.943658 -0.261999 0.202153
+vn 0.797734 -0.590818 0.120642
+vn 0.841217 0.201283 0.501836
+vn 0.651562 0.536727 0.536088
+vn 0.878165 0.228465 0.420273
+vn 0.748815 0.505640 0.428490
+vn 0.931467 -0.036296 0.362012
+vn 0.925729 0.017557 0.377780
+vn 0.921704 -0.058835 0.383406
+vn 0.918903 0.076372 0.387020
+vn 0.926121 -0.049124 0.374014
+vn 0.922245 -0.071861 0.379869
+vn 0.914822 0.164935 0.368643
+vn 0.921182 0.127508 0.367648
+vn 0.989399 0.091871 0.112468
+vn 0.914822 0.164935 0.368643
+vn 0.928538 0.371235 0.001400
+vn 0.859021 0.408454 0.308623
+vn 0.793535 -0.605829 0.057211
+vn 0.990221 -0.119234 0.072426
+vn 0.749104 -0.647509 0.139908
+vn 0.936791 -0.262483 0.231354
+vn 0.758878 -0.618646 0.203422
+vn 0.797734 -0.590818 0.120642
+vn 0.909237 -0.172160 0.379010
+vn 0.969765 -0.158780 0.185321
+vn 0.758878 -0.618646 0.203422
+vn 0.909237 -0.172160 0.379010
+vn 0.686207 -0.702941 0.187068
+vn 0.834475 -0.286291 0.470838
+vn 0.686207 -0.702941 0.187068
+vn 0.834475 -0.286291 0.470838
+vn 0.707425 -0.658332 0.257194
+vn 0.825652 -0.194056 0.529756
+vn 0.825652 -0.194056 0.529756
+vn 0.681197 0.344317 0.646077
+vn 0.841217 0.201283 0.501836
+vn 0.651562 0.536727 0.536088
+vn 0.925729 0.017557 0.377780
+vn 0.878165 0.228465 0.420273
+vn 0.918903 0.076372 0.387020
+vn 0.748815 0.505640 0.428490
+vn 0.921704 -0.058835 0.383406
+vn 0.889115 -0.213203 0.404992
+vn 0.931467 -0.036296 0.362012
+vn 0.934029 -0.047952 0.353964
+vn 0.931467 -0.036296 0.362012
+vn 0.934029 -0.047952 0.353964
+vn 0.943093 -0.019219 0.331974
+vn 0.948771 -0.010789 0.315781
+vn 0.943093 -0.019219 0.331974
+vn 0.948771 -0.010789 0.315781
+vn 0.932173 -0.066736 0.355809
+vn 0.956883 -0.081197 0.278895
+vn 0.922245 -0.071861 0.379869
+vn 0.932173 -0.066736 0.355809
+vn 0.960833 -0.098326 0.259098
+vn 0.956883 -0.081197 0.278895
+vn 0.726781 0.674125 -0.131701
+vn 0.928538 0.371235 0.001400
+vn 0.936791 -0.262483 0.231354
+vn 0.859021 0.408454 0.308623
+vn 0.749104 -0.647509 0.139908
+vn 0.969765 -0.158780 0.185321
+vn 0.793535 -0.605829 0.057211
+vn 0.797734 -0.590818 0.120642
+vn 0.681197 0.344317 0.646077
+vn 0.825652 -0.194056 0.529756
+vn 0.745274 0.235248 0.623879
+vn 0.834475 -0.286291 0.470838
+vn 0.651562 0.536727 0.536088
+vn 0.681197 0.344317 0.646077
+vn 0.084070 0.956916 0.277928
+vn 0.332937 0.791025 0.513257
+vn 0.748815 0.505640 0.428490
+vn 0.651562 0.536727 0.536088
+vn 0.226299 0.908893 0.350290
+vn 0.084070 0.956916 0.277928
+vn 0.889115 -0.213203 0.404992
+vn 0.921704 -0.058835 0.383406
+vn 0.904702 -0.187571 0.382534
+vn 0.921987 -0.072816 0.380312
+vn 0.921704 -0.058835 0.383406
+vn 0.918903 0.076372 0.387020
+vn 0.921987 -0.072816 0.380312
+vn 0.917375 0.091945 0.387260
+vn 0.960833 -0.098326 0.259098
+vn 0.974166 0.105311 0.199777
+vn 0.922245 -0.071861 0.379869
+vn 0.921182 0.127508 0.367648
+vn 0.921182 0.127508 0.367648
+vn 0.833058 0.457105 0.311559
+vn 0.914822 0.164935 0.368643
+vn 0.859021 0.408454 0.308623
+vn 0.749104 -0.647509 0.139908
+vn 0.936791 -0.262483 0.231354
+vn 0.766029 -0.614124 0.189872
+vn 0.941677 0.134673 0.308396
+vn 0.969765 -0.158780 0.185321
+vn 0.749104 -0.647509 0.139908
+vn 0.985135 -0.054273 0.162985
+vn 0.766029 -0.614124 0.189872
+vn 0.909237 -0.172160 0.379010
+vn 0.969765 -0.158780 0.185321
+vn 0.836698 0.294134 0.461977
+vn 0.906339 0.389076 0.164834
+vn 0.834475 -0.286291 0.470838
+vn 0.909237 -0.172160 0.379010
+vn 0.745274 0.235248 0.623879
+vn 0.836698 0.294134 0.461977
+vn 0.681197 0.344317 0.646077
+vn 0.745274 0.235248 0.623879
+vn 0.332937 0.791025 0.513257
+vn 0.407367 0.744171 0.529398
+vn 0.748815 0.505640 0.428490
+vn 0.226299 0.908893 0.350290
+vn 0.729699 0.535175 0.425590
+vn 0.218001 0.907585 0.358839
+vn 0.918903 0.076372 0.387020
+vn 0.748815 0.505640 0.428490
+vn 0.917375 0.091945 0.387260
+vn 0.729699 0.535175 0.425590
+vn 0.904702 -0.187571 0.382534
+vn 0.756582 -0.562955 0.332663
+vn 0.889115 -0.213203 0.404992
+vn 0.702185 -0.585146 0.405637
+vn 0.934029 -0.047952 0.353964
+vn 0.889115 -0.213203 0.404992
+vn 0.493513 -0.759866 0.423141
+vn 0.702185 -0.585146 0.405637
+vn 0.934029 -0.047952 0.353964
+vn 0.940884 -0.008928 0.338610
+vn 0.948771 -0.010789 0.315781
+vn 0.955411 -0.013696 0.294960
+vn 0.948771 -0.010789 0.315781
+vn 0.955411 -0.013696 0.294960
+vn 0.956883 -0.081197 0.278895
+vn 0.970226 -0.023352 0.241073
+vn 0.960833 -0.098326 0.259098
+vn 0.956883 -0.081197 0.278895
+vn 0.991918 -0.085562 -0.093693
+vn 0.994931 -0.100416 0.005306
+vn 0.974166 0.105311 0.199777
+vn 0.960833 -0.098326 0.259098
+vn 0.977571 0.125092 -0.169430
+vn 0.991918 -0.085562 -0.093693
+vn 0.833058 0.457105 0.311559
+vn 0.921182 0.127508 0.367648
+vn 0.851810 0.506183 0.134904
+vn 0.974166 0.105311 0.199777
+vn 0.936791 -0.262483 0.231354
+vn 0.859021 0.408454 0.308623
+vn 0.941677 0.134673 0.308396
+vn 0.833058 0.457105 0.311559
+vn 0.969765 -0.158780 0.185321
+vn 0.985135 -0.054273 0.162985
+vn 0.906339 0.389076 0.164834
+vn 0.851907 0.522626 0.033420
+vn 0.084070 0.956916 0.277928
+vn -0.062903 0.986304 0.152471
+vn 0.226299 0.908893 0.350290
+vn -0.081243 0.966887 0.241930
+vn 0.084070 0.956916 0.277928
+vn 0.332937 0.791025 0.513257
+vn -0.212174 0.967595 0.136906
+vn 0.117166 0.934997 0.334743
+vn 0.808135 -0.482080 0.338403
+vn 0.889527 -0.230052 0.394737
+vn 0.840957 -0.389976 0.375113
+vn 0.888964 -0.221293 0.400965
+vn 0.921987 -0.072816 0.380312
+vn 0.926382 -0.065312 0.370878
+vn 0.904702 -0.187571 0.382534
+vn 0.906734 -0.173320 0.384439
+vn 0.934029 -0.047952 0.353964
+vn 0.493513 -0.759866 0.423141
+vn 0.468518 -0.497213 0.730254
+vn 0.921987 -0.072816 0.380312
+vn 0.917375 0.091945 0.387260
+vn 0.926382 -0.065312 0.370878
+vn 0.914527 0.110118 0.389249
+vn 0.934029 -0.047952 0.353964
+vn 0.468518 -0.497213 0.730254
+vn 0.940884 -0.008928 0.338610
+vn 0.677673 0.173015 0.714721
+vn 0.977571 0.125092 -0.169430
+vn 0.763764 0.616338 -0.191813
+vn 0.974166 0.105311 0.199777
+vn 0.851810 0.506183 0.134904
+vn 0.851810 0.506183 0.134904
+vn 0.867562 0.465070 0.176200
+vn 0.833058 0.457105 0.311559
+vn 0.941677 0.134673 0.308396
+vn 0.766029 -0.614124 0.189872
+vn 0.941677 0.134673 0.308396
+vn 0.985135 -0.054273 0.162985
+vn 0.867562 0.465070 0.176200
+vn 0.836698 0.294134 0.461977
+vn 0.906339 0.389076 0.164834
+vn 0.538008 0.731707 0.418513
+vn 0.656150 0.744291 0.124489
+vn 0.745274 0.235248 0.623879
+vn 0.836698 0.294134 0.461977
+vn 0.407367 0.744171 0.529398
+vn 0.538008 0.731707 0.418513
+vn 0.332937 0.791025 0.513257
+vn 0.407367 0.744171 0.529398
+vn 0.117166 0.934997 0.334743
+vn -0.068081 0.968946 0.237714
+vn 0.084070 0.956916 0.277928
+vn -0.150486 0.986850 0.059007
+vn -0.062903 0.986304 0.152471
+vn -0.036254 0.997522 0.060297
+vn 0.084070 0.956916 0.277928
+vn -0.212174 0.967595 0.136906
+vn -0.150486 0.986850 0.059007
+vn -0.402365 0.915086 -0.026844
+vn 0.917375 0.091945 0.387260
+vn 0.729699 0.535175 0.425590
+vn 0.914527 0.110118 0.389249
+vn 0.647291 0.633765 0.423505
+vn 0.729699 0.535175 0.425590
+vn 0.218001 0.907585 0.358839
+vn 0.647291 0.633765 0.423505
+vn 0.173101 0.917527 0.358023
+vn 0.226299 0.908893 0.350290
+vn -0.081243 0.966887 0.241930
+vn 0.218001 0.907585 0.358839
+vn -0.088536 0.956473 0.278065
+vn 0.493513 -0.759866 0.423141
+vn 0.172984 -0.904044 0.390873
+vn 0.468518 -0.497213 0.730254
+vn 0.315392 -0.716585 0.622121
+vn 0.702185 -0.585146 0.405637
+vn 0.254329 -0.915375 0.312097
+vn 0.493513 -0.759866 0.423141
+vn 0.172984 -0.904044 0.390873
+vn 0.955411 -0.013696 0.294960
+vn 0.940884 -0.008928 0.338610
+vn 0.956089 0.000651 0.293077
+vn 0.912959 0.175891 0.368195
+vn 0.955411 -0.013696 0.294960
+vn 0.956089 0.000651 0.293077
+vn 0.970226 -0.023352 0.241073
+vn 0.974724 0.012417 0.223065
+vn 0.956883 -0.081197 0.278895
+vn 0.970226 -0.023352 0.241073
+vn 0.994931 -0.100416 0.005306
+vn 0.999142 -0.030969 0.027486
+vn 0.994931 -0.100416 0.005306
+vn 0.783087 -0.106289 -0.612762
+vn 0.991918 -0.085562 -0.093693
+vn 0.787073 -0.089423 -0.610344
+vn 0.977571 0.125092 -0.169430
+vn 0.991918 -0.085562 -0.093693
+vn 0.816133 0.055581 -0.575185
+vn 0.787073 -0.089423 -0.610344
+vn 0.763764 0.616338 -0.191813
+vn 0.977571 0.125092 -0.169430
+vn 0.720285 0.505202 -0.475353
+vn 0.816133 0.055581 -0.575185
+vn 0.867562 0.465070 0.176200
+vn 0.851810 0.506183 0.134904
+vn 0.666784 0.743201 -0.055237
+vn 0.763764 0.616338 -0.191813
+vn 0.985135 -0.054273 0.162985
+vn 0.867562 0.465070 0.176200
+vn 0.851907 0.522626 0.033420
+vn 0.666784 0.743201 -0.055237
+vn 0.851907 0.522626 0.033420
+vn 0.514960 0.855058 -0.060761
+vn 0.906339 0.389076 0.164834
+vn 0.656150 0.744291 0.124489
+vn -0.081243 0.966887 0.241930
+vn -0.062903 0.986304 0.152471
+vn -0.377991 0.913137 0.152658
+vn -0.176857 0.968552 0.175009
+vn 0.117166 0.934997 0.334743
+vn -0.068081 0.968946 0.237714
+vn -0.212174 0.967595 0.136906
+vn -0.346466 0.936750 -0.049616
+vn 0.848742 -0.379498 0.368265
+vn 0.884366 -0.195531 0.423869
+vn 0.842209 -0.301714 0.446826
+vn 0.832653 -0.145709 0.534283
+vn 0.889527 -0.230052 0.394737
+vn 0.906734 -0.173320 0.384439
+vn 0.888964 -0.221293 0.400965
+vn 0.877013 -0.196902 0.438267
+vn 0.477147 -0.835609 0.272193
+vn 0.702185 -0.585146 0.405637
+vn 0.395641 -0.878848 0.266635
+vn 0.756582 -0.562955 0.332663
+vn 0.926382 -0.065312 0.370878
+vn 0.936541 -0.065113 0.344459
+vn 0.906734 -0.173320 0.384439
+vn 0.907663 -0.192494 0.372953
+vn 0.468518 -0.497213 0.730254
+vn 0.315392 -0.716585 0.622121
+vn 0.503384 -0.001170 0.864062
+vn 0.702185 -0.585146 0.405637
+vn 0.657204 -0.649103 0.383077
+vn 0.254329 -0.915375 0.312097
+vn 0.628680 -0.653690 0.421249
+vn 0.914527 0.110118 0.389249
+vn 0.923868 0.131166 0.359533
+vn 0.926382 -0.065312 0.370878
+vn 0.936541 -0.065113 0.344459
+vn 0.677673 0.173015 0.714721
+vn 0.468518 -0.497213 0.730254
+vn 0.503384 -0.001170 0.864062
+vn 0.940884 -0.008928 0.338610
+vn 0.677673 0.173015 0.714721
+vn 0.912959 0.175891 0.368195
+vn 0.783087 -0.106289 -0.612762
+vn 0.994931 -0.100416 0.005306
+vn 0.797724 -0.032709 -0.602134
+vn 0.999142 -0.030969 0.027486
+vn 0.763764 0.616338 -0.191813
+vn 0.720285 0.505202 -0.475353
+vn 0.326643 0.907033 -0.265700
+vn 0.346387 0.807287 -0.477811
+vn 0.763764 0.616338 -0.191813
+vn 0.326643 0.907033 -0.265700
+vn 0.666784 0.743201 -0.055237
+vn 0.227816 0.964985 -0.130017
+vn 0.514960 0.855058 -0.060761
+vn 0.851907 0.522626 0.033420
+vn 0.227816 0.964985 -0.130017
+vn 0.666784 0.743201 -0.055237
+vn 0.538008 0.731707 0.418513
+vn 0.656150 0.744291 0.124489
+vn 0.053543 0.977206 0.205432
+vn 0.061706 0.998077 0.005932
+vn 0.407367 0.744171 0.529398
+vn 0.538008 0.731707 0.418513
+vn -0.068081 0.968946 0.237714
+vn 0.053543 0.977206 0.205432
+vn -0.150486 0.986850 0.059007
+vn -0.151694 0.988170 -0.022553
+vn -0.036254 0.997522 0.060297
+vn -0.031613 0.999397 0.014353
+vn -0.062903 0.986304 0.152471
+vn -0.036254 0.997522 0.060297
+vn -0.176857 0.968552 0.175009
+vn -0.017026 0.998531 0.051449
+vn -0.377991 0.913137 0.152658
+vn -0.386377 0.905848 0.173646
+vn -0.081243 0.966887 0.241930
+vn -0.088536 0.956473 0.278065
+vn -0.150486 0.986850 0.059007
+vn -0.402365 0.915086 -0.026844
+vn -0.151694 0.988170 -0.022553
+vn -0.401684 0.909915 -0.103462
+vn -0.212174 0.967595 0.136906
+vn -0.346466 0.936750 -0.049616
+vn -0.402365 0.915086 -0.026844
+vn -0.401684 0.909915 -0.103462
+vn 0.914527 0.110118 0.389249
+vn 0.647291 0.633765 0.423505
+vn 0.923868 0.131166 0.359533
+vn 0.817926 0.436860 0.374366
+vn 0.647291 0.633765 0.423505
+vn 0.173101 0.917527 0.358023
+vn 0.437301 0.807428 0.396015
+vn 0.074358 0.925354 0.371740
+vn 0.218001 0.907585 0.358839
+vn -0.088536 0.956473 0.278065
+vn 0.173101 0.917527 0.358023
+vn -0.092760 0.952071 0.291474
+vn 0.380276 -0.916433 0.124661
+vn 0.857479 -0.370162 0.357365
+vn 0.756582 -0.562955 0.332663
+vn 0.311386 -0.926001 0.213449
+vn 0.690383 -0.617315 0.377218
+vn 0.702185 -0.585146 0.405637
+vn 0.477147 -0.835609 0.272193
+vn 0.395641 -0.878848 0.266635
+vn 0.756582 -0.562955 0.332663
+vn 0.311386 -0.926001 0.213449
+vn 0.254329 -0.915375 0.312097
+vn 0.598745 -0.628037 0.497064
+vn 0.172984 -0.904044 0.390873
+vn 0.315392 -0.716585 0.622121
+vn 0.657204 -0.649103 0.383077
+vn 0.702185 -0.585146 0.405637
+vn 0.761619 -0.509451 0.400496
+vn 0.956089 0.000651 0.293077
+vn 0.912959 0.175891 0.368195
+vn 0.942625 -0.018647 0.333333
+vn 0.910365 -0.050884 0.410665
+vn 0.974724 0.012417 0.223065
+vn 0.956089 0.000651 0.293077
+vn 0.954237 0.031283 0.297411
+vn 0.942625 -0.018647 0.333333
+vn 0.974724 0.012417 0.223065
+vn 0.999607 0.005976 0.027389
+vn 0.970226 -0.023352 0.241073
+vn 0.999142 -0.030969 0.027486
+vn 0.797724 -0.032709 -0.602134
+vn 0.402480 -0.042731 -0.914431
+vn 0.783087 -0.106289 -0.612762
+vn 0.410687 -0.118403 -0.904056
+vn 0.783087 -0.106289 -0.612762
+vn 0.410687 -0.118403 -0.904056
+vn 0.787073 -0.089423 -0.610344
+vn 0.423969 -0.115699 -0.898256
+vn 0.816133 0.055581 -0.575185
+vn 0.787073 -0.089423 -0.610344
+vn 0.436952 -0.023886 -0.899168
+vn 0.423969 -0.115699 -0.898256
+vn 0.720285 0.505202 -0.475353
+vn 0.816133 0.055581 -0.575185
+vn 0.495013 0.316608 -0.809149
+vn 0.436952 -0.023886 -0.899168
+vn 0.227816 0.964985 -0.130017
+vn -0.108249 0.980080 -0.166511
+vn 0.514960 0.855058 -0.060761
+vn 0.130525 0.988780 -0.072643
+vn 0.514960 0.855058 -0.060761
+vn 0.130525 0.988780 -0.072643
+vn 0.656150 0.744291 0.124489
+vn 0.061706 0.998077 0.005932
+vn -0.176857 0.968552 0.175009
+vn -0.817579 0.570888 0.075178
+vn -0.377991 0.913137 0.152658
+vn -0.856440 0.511799 -0.067618
+vn -0.386377 0.905848 0.173646
+vn -0.377991 0.913137 0.152658
+vn -0.843711 0.533893 -0.055760
+vn -0.856440 0.511799 -0.067618
+vn -0.068081 0.968946 0.237714
+vn 0.053543 0.977206 0.205432
+vn -0.346466 0.936750 -0.049616
+vn 0.061706 0.998077 0.005932
+vn 0.647291 0.633765 0.423505
+vn 0.437301 0.807428 0.396015
+vn 0.817926 0.436860 0.374366
+vn 0.645202 0.650333 0.400975
+vn -0.386377 0.905848 0.173646
+vn -0.349020 0.915949 0.198046
+vn -0.088536 0.956473 0.278065
+vn -0.092760 0.952071 0.291474
+vn 0.857479 -0.370162 0.357365
+vn 0.380276 -0.916433 0.124661
+vn 0.876215 -0.257600 0.407295
+vn 0.842209 -0.301714 0.446826
+vn 0.832653 -0.145709 0.534283
+vn 0.635884 -0.450605 0.626583
+vn 0.577370 -0.042831 0.815358
+vn 0.832653 -0.145709 0.534283
+vn 0.884366 -0.195531 0.423869
+vn 0.790614 -0.091590 0.605427
+vn 0.877013 -0.196902 0.438267
+vn 0.906734 -0.173320 0.384439
+vn 0.907663 -0.192494 0.372953
+vn 0.877013 -0.196902 0.438267
+vn 0.837755 -0.275117 0.471675
+vn 0.690383 -0.617315 0.377218
+vn 0.837526 -0.325262 0.439039
+vn 0.702185 -0.585146 0.405637
+vn 0.761619 -0.509451 0.400496
+vn 0.900181 -0.150323 0.408752
+vn 0.477147 -0.835609 0.272193
+vn 0.395641 -0.878848 0.266635
+vn 0.923868 0.131166 0.359533
+vn 0.953022 0.152332 0.261810
+vn 0.936541 -0.065113 0.344459
+vn 0.952226 -0.163208 0.258127
+vn 0.936541 -0.065113 0.344459
+vn 0.952226 -0.163208 0.258127
+vn 0.907663 -0.192494 0.372953
+vn 0.871335 -0.332638 0.360733
+vn 0.628680 -0.653690 0.421249
+vn 0.598745 -0.628037 0.497064
+vn 0.254329 -0.915375 0.312097
+vn 0.598745 -0.628037 0.497064
+vn 0.298728 -0.843237 0.446892
+vn 0.315392 -0.716585 0.622121
+vn 0.503384 -0.001170 0.864062
+vn 0.677673 0.173015 0.714721
+vn 0.503384 -0.001170 0.864062
+vn 0.629364 0.600370 0.493414
+vn 0.954237 0.031283 0.297411
+vn 0.972339 0.049771 0.228211
+vn 0.974724 0.012417 0.223065
+vn 0.995030 0.019825 0.097579
+vn 0.974724 0.012417 0.223065
+vn 0.995030 0.019825 0.097579
+vn 0.999607 0.005976 0.027389
+vn 0.998593 -0.003776 -0.052889
+vn 0.999607 0.005976 0.027389
+vn 0.755256 0.048646 -0.653622
+vn 0.999142 -0.030969 0.027486
+vn 0.797724 -0.032709 -0.602134
+vn 0.402480 -0.042731 -0.914431
+vn 0.797724 -0.032709 -0.602134
+vn 0.361367 0.025418 -0.932077
+vn 0.755256 0.048646 -0.653622
+vn 0.720285 0.505202 -0.475353
+vn 0.495013 0.316608 -0.809149
+vn 0.346387 0.807287 -0.477811
+vn 0.306329 0.460799 -0.832963
+vn 0.326643 0.907033 -0.265700
+vn 0.346387 0.807287 -0.477811
+vn 0.084841 0.944765 -0.316578
+vn 0.156367 0.841284 -0.517485
+vn 0.227816 0.964985 -0.130017
+vn 0.326643 0.907033 -0.265700
+vn 0.029236 0.987915 -0.152214
+vn 0.084841 0.944765 -0.316578
+vn 0.227816 0.964985 -0.130017
+vn -0.115349 0.990075 -0.080283
+vn -0.108249 0.980080 -0.166511
+vn -0.360938 0.921185 -0.145402
+vn -0.036254 0.997522 0.060297
+vn -0.031613 0.999397 0.014353
+vn -0.017026 0.998531 0.051449
+vn -0.008683 0.999765 0.019884
+vn -0.151694 0.988170 -0.022553
+vn -0.115349 0.990075 -0.080283
+vn -0.031613 0.999397 0.014353
+vn -0.004777 0.999637 -0.026527
+vn -0.817579 0.570888 0.075178
+vn -0.176857 0.968552 0.175009
+vn -0.889227 0.409050 0.204827
+vn -0.570309 0.768669 0.289647
+vn -0.843711 0.533893 -0.055760
+vn -0.774743 0.632173 -0.011461
+vn -0.386377 0.905848 0.173646
+vn -0.349020 0.915949 0.198046
+vn -0.401684 0.909915 -0.103462
+vn -0.360938 0.921185 -0.145402
+vn -0.151694 0.988170 -0.022553
+vn -0.115349 0.990075 -0.080283
+vn -0.401684 0.909915 -0.103462
+vn -0.346466 0.936750 -0.049616
+vn -0.360938 0.921185 -0.145402
+vn -0.108249 0.980080 -0.166511
+vn 0.923868 0.131166 0.359533
+vn 0.817926 0.436860 0.374366
+vn 0.953022 0.152332 0.261810
+vn 0.777929 0.561216 0.282600
+vn 0.437301 0.807428 0.396015
+vn 0.074358 0.925354 0.371740
+vn 0.490388 0.596713 0.635179
+vn 0.290203 0.680998 0.672327
+vn 0.074358 0.925354 0.371740
+vn 0.173101 0.917527 0.358023
+vn -0.100016 0.944156 0.313954
+vn -0.092760 0.952071 0.291474
+vn 0.857479 -0.370162 0.357365
+vn 0.909202 -0.127962 0.396203
+vn 0.311386 -0.926001 0.213449
+vn 0.875426 -0.456207 0.159705
+vn 0.842209 -0.301714 0.446826
+vn 0.292632 -0.893583 0.340407
+vn 0.541383 -0.671418 0.506065
+vn 0.505860 -0.693243 0.513341
+vn 0.842209 -0.301714 0.446826
+vn 0.635884 -0.450605 0.626583
+vn 0.292632 -0.893583 0.340407
+vn 0.121910 -0.967245 0.222654
+vn 0.395641 -0.878848 0.266635
+vn 0.424115 -0.858631 0.287889
+vn 0.637751 -0.505036 0.581560
+vn 0.395641 -0.878848 0.266635
+vn 0.311386 -0.926001 0.213449
+vn 0.424115 -0.858631 0.287889
+vn 0.875426 -0.456207 0.159705
+vn 0.628680 -0.653690 0.421249
+vn 0.317683 -0.875433 0.364273
+vn 0.598745 -0.628037 0.497064
+vn 0.298728 -0.843237 0.446892
+vn 0.503384 -0.001170 0.864062
+vn 0.298728 -0.843237 0.446892
+vn -0.499267 -0.140126 0.855042
+vn -0.165009 -0.960561 0.223817
+vn 0.503384 -0.001170 0.864062
+vn 0.593327 0.751956 0.287273
+vn 0.629364 0.600370 0.493414
+vn 0.696406 0.644984 0.314664
+vn 0.954237 0.031283 0.297411
+vn 0.942625 -0.018647 0.333333
+vn 0.861430 -0.166650 0.479756
+vn 0.910365 -0.050884 0.410665
+vn 0.912959 0.175891 0.368195
+vn 0.881885 0.216035 0.419057
+vn 0.910365 -0.050884 0.410665
+vn 0.884957 -0.106552 0.453318
+vn 0.972339 0.049771 0.228211
+vn 0.954237 0.031283 0.297411
+vn 0.892372 -0.061363 0.447110
+vn 0.861430 -0.166650 0.479756
+vn 0.999607 0.005976 0.027389
+vn 0.998593 -0.003776 -0.052889
+vn 0.755256 0.048646 -0.653622
+vn 0.763365 0.027654 -0.645375
+vn 0.402480 -0.042731 -0.914431
+vn 0.361367 0.025418 -0.932077
+vn 0.283454 -0.060886 -0.957051
+vn 0.225123 -0.025806 -0.973989
+vn 0.402480 -0.042731 -0.914431
+vn 0.283454 -0.060886 -0.957051
+vn 0.410687 -0.118403 -0.904056
+vn 0.293818 -0.124253 -0.947751
+vn 0.410687 -0.118403 -0.904056
+vn 0.293818 -0.124253 -0.947751
+vn 0.423969 -0.115699 -0.898256
+vn 0.298407 -0.121963 -0.946614
+vn 0.495013 0.316608 -0.809149
+vn 0.436952 -0.023886 -0.899168
+vn 0.306329 0.460799 -0.832963
+vn 0.303089 0.025829 -0.952612
+vn 0.423969 -0.115699 -0.898256
+vn 0.298407 -0.121963 -0.946614
+vn 0.436952 -0.023886 -0.899168
+vn 0.303089 0.025829 -0.952612
+vn 0.029236 0.987915 -0.152214
+vn -0.004777 0.999637 -0.026527
+vn 0.227816 0.964985 -0.130017
+vn -0.115349 0.990075 -0.080283
+vn -0.108249 0.980080 -0.166511
+vn -0.346466 0.936750 -0.049616
+vn 0.130525 0.988780 -0.072643
+vn 0.061706 0.998077 0.005932
+vn -0.817579 0.570888 0.075178
+vn -0.889227 0.409050 0.204827
+vn -0.978051 0.201139 -0.054407
+vn -0.980755 -0.193934 -0.022584
+vn -0.856440 0.511799 -0.067618
+vn -0.817579 0.570888 0.075178
+vn -0.963090 0.228290 -0.142624
+vn -0.978051 0.201139 -0.054407
+vn -0.843711 0.533893 -0.055760
+vn -0.856440 0.511799 -0.067618
+vn -0.977109 0.091871 -0.191877
+vn -0.978241 0.076310 -0.192930
+vn -0.774743 0.632173 -0.011461
+vn -0.843711 0.533893 -0.055760
+vn -0.975863 0.110029 -0.188638
+vn -0.977109 0.091871 -0.191877
+vn 0.817926 0.436860 0.374366
+vn 0.645202 0.650333 0.400975
+vn 0.777929 0.561216 0.282600
+vn 0.645894 0.674417 0.357747
+vn 0.645202 0.650333 0.400975
+vn 0.437301 0.807428 0.396015
+vn 0.527798 0.602955 0.598226
+vn 0.490388 0.596713 0.635179
+vn -0.100016 0.944156 0.313954
+vn -0.137593 0.892266 0.430035
+vn 0.074358 0.925354 0.371740
+vn -0.099399 0.814121 0.572124
+vn -0.092760 0.952071 0.291474
+vn -0.349020 0.915949 0.198046
+vn -0.100016 0.944156 0.313954
+vn -0.275879 0.924209 0.264062
+vn -0.774743 0.632173 -0.011461
+vn -0.586286 0.805859 0.082823
+vn -0.349020 0.915949 0.198046
+vn -0.275879 0.924209 0.264062
+vn 0.876215 -0.257600 0.407295
+vn 0.683773 -0.500328 0.531156
+vn 0.857479 -0.370162 0.357365
+vn 0.909202 -0.127962 0.396203
+vn 0.380276 -0.916433 0.124661
+vn 0.561667 -0.801058 0.206972
+vn 0.876215 -0.257600 0.407295
+vn 0.683773 -0.500328 0.531156
+vn 0.490732 -0.829858 0.265551
+vn 0.842209 -0.301714 0.446826
+vn 0.541383 -0.671418 0.506065
+vn 0.635884 -0.450605 0.626583
+vn 0.577370 -0.042831 0.815358
+vn 0.093778 -0.672494 0.734137
+vn 0.055526 0.048915 0.997258
+vn 0.577370 -0.042831 0.815358
+vn 0.832653 -0.145709 0.534283
+vn 0.407445 0.114115 0.906072
+vn 0.790614 -0.091590 0.605427
+vn 0.877013 -0.196902 0.438267
+vn 0.800429 -0.094762 0.591890
+vn 0.790614 -0.091590 0.605427
+vn 0.621863 0.084994 0.778500
+vn 0.877013 -0.196902 0.438267
+vn 0.837755 -0.275117 0.471675
+vn 0.800429 -0.094762 0.591890
+vn 0.745238 -0.178444 0.642478
+vn 0.907663 -0.192494 0.372953
+vn 0.871335 -0.332638 0.360733
+vn 0.837755 -0.275117 0.471675
+vn 0.780816 -0.378596 0.496982
+vn 0.900181 -0.150323 0.408752
+vn 0.898501 -0.140233 0.415969
+vn 0.477147 -0.835609 0.272193
+vn 0.883609 -0.421782 0.203311
+vn 0.395641 -0.878848 0.266635
+vn 0.637751 -0.505036 0.581560
+vn 0.900181 -0.150323 0.408752
+vn 0.898501 -0.140233 0.415969
+vn 0.953022 0.152332 0.261810
+vn 0.972400 0.221016 0.074770
+vn 0.952226 -0.163208 0.258127
+vn 0.934023 -0.330209 0.136246
+vn 0.952226 -0.163208 0.258127
+vn 0.934023 -0.330209 0.136246
+vn 0.871335 -0.332638 0.360733
+vn 0.839808 -0.448800 0.305453
+vn 0.317683 -0.875433 0.364273
+vn 0.628680 -0.653690 0.421249
+vn 0.347289 -0.890789 0.293063
+vn 0.657204 -0.649103 0.383077
+vn 0.317683 -0.875433 0.364273
+vn -0.101233 -0.975782 0.193910
+vn 0.298728 -0.843237 0.446892
+vn -0.165009 -0.960561 0.223817
+vn 0.503384 -0.001170 0.864062
+vn -0.499267 -0.140126 0.855042
+vn 0.593327 0.751956 0.287273
+vn 0.064760 0.997897 0.002614
+vn 0.657204 -0.649103 0.383077
+vn 0.896491 -0.388385 0.213214
+vn 0.347289 -0.890789 0.293063
+vn 0.677673 0.173015 0.714721
+vn 0.629364 0.600370 0.493414
+vn 0.912959 0.175891 0.368195
+vn 0.881885 0.216035 0.419057
+vn 0.912959 0.175891 0.368195
+vn 0.736625 0.594721 0.322011
+vn 0.861430 -0.166650 0.479756
+vn 0.910365 -0.050884 0.410665
+vn 0.784441 -0.392370 0.480310
+vn 0.884957 -0.106552 0.453318
+vn 0.892372 -0.061363 0.447110
+vn 0.910978 -0.078204 0.404974
+vn 0.972339 0.049771 0.228211
+vn 0.991808 0.053172 0.116143
+vn 0.972339 0.049771 0.228211
+vn 0.991808 0.053172 0.116143
+vn 0.995030 0.019825 0.097579
+vn 0.954150 0.121652 -0.273494
+vn 0.998593 -0.003776 -0.052889
+vn 0.995030 0.019825 0.097579
+vn 0.763365 0.027654 -0.645375
+vn 0.954150 0.121652 -0.273494
+vn 0.755256 0.048646 -0.653622
+vn 0.763365 0.027654 -0.645375
+vn 0.361367 0.025418 -0.932077
+vn 0.347744 0.080405 -0.934135
+vn 0.346387 0.807287 -0.477811
+vn 0.306329 0.460799 -0.832963
+vn 0.156367 0.841284 -0.517485
+vn 0.236070 0.598759 -0.765348
+vn 0.156367 0.841284 -0.517485
+vn -0.033319 0.812427 -0.582110
+vn 0.084841 0.944765 -0.316578
+vn -0.134495 0.916442 -0.376889
+vn 0.084841 0.944765 -0.316578
+vn -0.134495 0.916442 -0.376889
+vn 0.029236 0.987915 -0.152214
+vn -0.149275 0.955594 -0.254081
+vn 0.029236 0.987915 -0.152214
+vn -0.149275 0.955594 -0.254081
+vn -0.004777 0.999637 -0.026527
+vn 0.010922 0.999895 -0.009504
+vn -0.031613 0.999397 0.014353
+vn -0.004777 0.999637 -0.026527
+vn -0.008683 0.999765 0.019884
+vn 0.010922 0.999895 -0.009504
+vn -0.889227 0.409050 0.204827
+vn -0.570309 0.768669 0.289647
+vn -0.966780 0.235096 0.100329
+vn -0.634000 0.743993 0.210993
+vn -0.570309 0.768669 0.289647
+vn -0.176857 0.968552 0.175009
+vn -0.250080 0.937902 0.240417
+vn 0.216178 0.936259 0.276924
+vn -0.856440 0.511799 -0.067618
+vn -0.963090 0.228290 -0.142624
+vn -0.978241 0.076310 -0.192930
+vn -0.978731 0.017542 -0.204397
+vn -0.975863 0.110029 -0.188638
+vn -0.967001 0.131062 -0.218476
+vn -0.774743 0.632173 -0.011461
+vn -0.887573 0.436584 -0.146999
+vn 0.953022 0.152332 0.261810
+vn 0.777929 0.561216 0.282600
+vn 0.972400 0.221016 0.074770
+vn 0.809982 0.523531 0.264279
+vn 0.527798 0.602955 0.598226
+vn 0.543919 0.653093 0.526899
+vn 0.645202 0.650333 0.400975
+vn 0.645894 0.674417 0.357747
+vn 0.527798 0.602955 0.598226
+vn 0.490388 0.596713 0.635179
+vn 0.745238 -0.178444 0.642478
+vn 0.800429 -0.094762 0.591890
+vn 0.490388 0.596713 0.635179
+vn 0.290203 0.680998 0.672327
+vn 0.800429 -0.094762 0.591890
+vn 0.621863 0.084994 0.778500
+vn 0.074358 0.925354 0.371740
+vn -0.099399 0.814121 0.572124
+vn 0.290203 0.680998 0.672327
+vn 0.068171 0.608701 0.790466
+vn -0.100016 0.944156 0.313954
+vn -0.275879 0.924209 0.264062
+vn -0.137593 0.892266 0.430035
+vn -0.251790 0.813378 0.524421
+vn -0.774743 0.632173 -0.011461
+vn -0.887573 0.436584 -0.146999
+vn -0.586286 0.805859 0.082823
+vn -0.759353 0.650059 -0.028411
+vn 0.380276 -0.916433 0.124661
+vn 0.448239 -0.883399 0.136706
+vn 0.561667 -0.801058 0.206972
+vn 0.922612 -0.362316 0.132343
+vn 0.456586 -0.873470 0.169053
+vn 0.718342 -0.462878 0.519354
+vn 0.492928 -0.853353 0.169739
+vn 0.911958 -0.117287 0.393163
+vn 0.492928 -0.853353 0.169739
+vn 0.911958 -0.117287 0.393163
+vn 0.448239 -0.883399 0.136706
+vn 0.922612 -0.362316 0.132343
+vn 0.683773 -0.500328 0.531156
+vn 0.633327 -0.411993 0.655102
+vn 0.909202 -0.127962 0.396203
+vn 0.897158 -0.236536 0.373039
+vn 0.909202 -0.127962 0.396203
+vn 0.897158 -0.236536 0.373039
+vn 0.875426 -0.456207 0.159705
+vn 0.970536 -0.193496 -0.143597
+vn 0.428649 -0.890211 0.154219
+vn 0.443542 -0.880971 0.164807
+vn 0.926793 -0.207357 0.313142
+vn 0.505860 -0.693243 0.513341
+vn 0.360274 -0.855570 0.371757
+vn 0.541383 -0.671418 0.506065
+vn 0.529528 -0.708771 0.466094
+vn 0.292632 -0.893583 0.340407
+vn 0.121910 -0.967245 0.222654
+vn 0.505860 -0.693243 0.513341
+vn 0.402762 -0.737083 0.542671
+vn 0.121910 -0.967245 0.222654
+vn 0.635884 -0.450605 0.626583
+vn 0.054485 -0.953838 0.295337
+vn 0.093778 -0.672494 0.734137
+vn 0.407445 0.114115 0.906072
+vn -0.048686 0.251827 0.966547
+vn 0.577370 -0.042831 0.815358
+vn 0.055526 0.048915 0.997258
+vn 0.407445 0.114115 0.906072
+vn 0.790614 -0.091590 0.605427
+vn 0.129880 0.321914 0.937818
+vn 0.621863 0.084994 0.778500
+vn 0.690383 -0.617315 0.377218
+vn 0.443850 -0.843770 0.301743
+vn 0.837526 -0.325262 0.439039
+vn 0.604684 -0.562376 0.563995
+vn 0.477147 -0.835609 0.272193
+vn 0.883609 -0.421782 0.203311
+vn 0.690383 -0.617315 0.377218
+vn 0.443850 -0.843770 0.301743
+vn 0.875426 -0.456207 0.159705
+vn 0.078628 -0.926189 -0.368770
+vn 0.424115 -0.858631 0.287889
+vn -0.039106 -0.992443 0.116307
+vn 0.637751 -0.505036 0.581560
+vn 0.424115 -0.858631 0.287889
+vn -0.113172 -0.911127 0.396283
+vn -0.039106 -0.992443 0.116307
+vn 0.347289 -0.890789 0.293063
+vn -0.048070 -0.988869 0.140807
+vn 0.317683 -0.875433 0.364273
+vn -0.101233 -0.975782 0.193910
+vn -0.165009 -0.960561 0.223817
+vn -0.583948 -0.811690 0.012813
+vn -0.499267 -0.140126 0.855042
+vn -0.998278 -0.050278 0.030229
+vn 0.837526 -0.325262 0.439039
+vn 0.604684 -0.562376 0.563995
+vn 0.761619 -0.509451 0.400496
+vn 0.896333 -0.150513 0.417053
+vn 0.761619 -0.509451 0.400496
+vn 0.896333 -0.150513 0.417053
+vn 0.657204 -0.649103 0.383077
+vn 0.896491 -0.388385 0.213214
+vn 0.696406 0.644984 0.314664
+vn 0.593327 0.751956 0.287273
+vn 0.879749 0.299749 0.369042
+vn 0.875275 0.426696 0.227650
+vn 0.629364 0.600370 0.493414
+vn 0.696406 0.644984 0.314664
+vn 0.912959 0.175891 0.368195
+vn 0.736625 0.594721 0.322011
+vn 0.892372 -0.061363 0.447110
+vn 0.861430 -0.166650 0.479756
+vn 0.542857 -0.394506 0.741398
+vn 0.555099 -0.529557 0.641432
+vn 0.861430 -0.166650 0.479756
+vn 0.784441 -0.392370 0.480310
+vn 0.555099 -0.529557 0.641432
+vn 0.450519 -0.771932 0.448502
+vn 0.881885 0.216035 0.419057
+vn 0.889665 0.099200 0.445707
+vn 0.884957 -0.106552 0.453318
+vn 0.869700 -0.202105 0.450306
+vn 0.910978 -0.078204 0.404974
+vn 0.892372 -0.061363 0.447110
+vn 0.542561 -0.359405 0.759246
+vn 0.542857 -0.394506 0.741398
+vn 0.361367 0.025418 -0.932077
+vn 0.347744 0.080405 -0.934135
+vn 0.225123 -0.025806 -0.973989
+vn 0.138026 0.063752 -0.988375
+vn 0.283454 -0.060886 -0.957051
+vn 0.225123 -0.025806 -0.973989
+vn 0.167875 -0.077109 -0.982788
+vn 0.103726 -0.085058 -0.990962
+vn 0.293818 -0.124253 -0.947751
+vn 0.283454 -0.060886 -0.957051
+vn 0.163208 -0.120197 -0.979243
+vn 0.167875 -0.077109 -0.982788
+vn 0.298407 -0.121963 -0.946614
+vn 0.293818 -0.124253 -0.947751
+vn 0.145510 -0.117331 -0.982375
+vn 0.163208 -0.120197 -0.979243
+vn 0.306329 0.460799 -0.832963
+vn 0.303089 0.025829 -0.952612
+vn 0.236070 0.598759 -0.765348
+vn 0.220518 0.469237 -0.855096
+vn 0.303089 0.025829 -0.952612
+vn 0.298407 -0.121963 -0.946614
+vn 0.135145 -0.023843 -0.990539
+vn 0.145510 -0.117331 -0.982375
+vn -0.033319 0.812427 -0.582110
+vn 0.156367 0.841284 -0.517485
+vn 0.220518 0.469237 -0.855096
+vn 0.236070 0.598759 -0.765348
+vn -0.963090 0.228290 -0.142624
+vn -0.978051 0.201139 -0.054407
+vn -0.966008 0.217227 -0.140149
+vn -0.909253 0.410491 -0.068970
+vn -0.969805 0.215842 -0.113534
+vn -0.978051 0.201139 -0.054407
+vn -0.730592 -0.658016 -0.182350
+vn -0.980755 -0.193934 -0.022584
+vn -0.889227 0.409050 0.204827
+vn -0.966780 0.235096 0.100329
+vn -0.980755 -0.193934 -0.022584
+vn -0.955162 -0.286081 -0.076315
+vn -0.570309 0.768669 0.289647
+vn -0.250080 0.937902 0.240417
+vn -0.634000 0.743993 0.210993
+vn -0.076784 0.968887 0.235291
+vn -0.977109 0.091871 -0.191877
+vn -0.978241 0.076310 -0.192930
+vn -0.977047 -0.072753 -0.200217
+vn -0.978542 -0.058784 -0.197483
+vn -0.975863 0.110029 -0.188638
+vn -0.977109 0.091871 -0.191877
+vn -0.975417 -0.065218 -0.210495
+vn -0.977047 -0.072753 -0.200217
+vn -0.975863 0.110029 -0.188638
+vn -0.975417 -0.065218 -0.210495
+vn -0.967001 0.131062 -0.218476
+vn -0.969079 -0.064992 -0.238037
+vn 0.777929 0.561216 0.282600
+vn 0.645894 0.674417 0.357747
+vn 0.809982 0.523531 0.264279
+vn 0.791450 0.484517 0.372626
+vn 0.543919 0.653093 0.526899
+vn 0.527798 0.602955 0.598226
+vn 0.717411 -0.094517 0.690208
+vn 0.745238 -0.178444 0.642478
+vn -0.099399 0.814121 0.572124
+vn -0.137593 0.892266 0.430035
+vn -0.271457 0.460312 0.845236
+vn -0.251790 0.813378 0.524421
+vn -0.586286 0.805859 0.082823
+vn -0.763987 0.594667 0.250389
+vn -0.275879 0.924209 0.264062
+vn -0.623339 0.677973 0.389617
+vn 0.393877 -0.908493 0.139646
+vn 0.599286 -0.768775 0.223253
+vn 0.456586 -0.873470 0.169053
+vn 0.718342 -0.462878 0.519354
+vn 0.393877 -0.908493 0.139646
+vn 0.509438 -0.842490 0.175167
+vn 0.599286 -0.768775 0.223253
+vn 0.918841 -0.380777 0.103632
+vn 0.683773 -0.500328 0.531156
+vn 0.561667 -0.801058 0.206972
+vn -0.077198 -0.938562 0.336366
+vn 0.007229 -0.999114 -0.041451
+vn 0.633327 -0.411993 0.655102
+vn 0.683773 -0.500328 0.531156
+vn -0.158658 -0.696392 0.699905
+vn -0.077198 -0.938562 0.336366
+vn 0.490732 -0.829858 0.265551
+vn 0.659548 -0.381591 0.647599
+vn 0.443542 -0.880971 0.164807
+vn 0.909955 -0.090194 0.404781
+vn 0.541383 -0.671418 0.506065
+vn 0.529528 -0.708771 0.466094
+vn 0.490732 -0.829858 0.265551
+vn 0.659548 -0.381591 0.647599
+vn 0.360274 -0.855570 0.371757
+vn 0.505860 -0.693243 0.513341
+vn 0.451831 -0.776419 0.439343
+vn 0.402762 -0.737083 0.542671
+vn 0.054485 -0.953838 0.295337
+vn 0.197265 -0.747926 0.633793
+vn 0.121910 -0.967245 0.222654
+vn 0.402762 -0.737083 0.542671
+vn 0.054485 -0.953838 0.295337
+vn 0.093778 -0.672494 0.734137
+vn -0.008457 -0.947863 0.318566
+vn -0.042650 -0.731881 0.680096
+vn 0.093778 -0.672494 0.734137
+vn 0.055526 0.048915 0.997258
+vn -0.042650 -0.731881 0.680096
+vn -0.105417 -0.033884 0.993851
+vn -0.048686 0.251827 0.966547
+vn 0.407445 0.114115 0.906072
+vn -0.271457 0.460312 0.845236
+vn 0.129880 0.321914 0.937818
+vn 0.837755 -0.275117 0.471675
+vn 0.780816 -0.378596 0.496982
+vn 0.745238 -0.178444 0.642478
+vn 0.717411 -0.094517 0.690208
+vn 0.780816 -0.378596 0.496982
+vn 0.871335 -0.332638 0.360733
+vn 0.759703 -0.453987 0.465561
+vn 0.839808 -0.448800 0.305453
+vn 0.637751 -0.505036 0.581560
+vn 0.619756 -0.418228 0.664069
+vn 0.898501 -0.140233 0.415969
+vn 0.874979 -0.257565 0.409967
+vn 0.898501 -0.140233 0.415969
+vn 0.874979 -0.257565 0.409967
+vn 0.883609 -0.421782 0.203311
+vn 0.972457 -0.231980 -0.022648
+vn 0.875426 -0.456207 0.159705
+vn 0.970536 -0.193496 -0.143597
+vn 0.078628 -0.926189 -0.368770
+vn 0.227739 -0.196983 -0.953589
+vn -0.113172 -0.911127 0.396283
+vn -0.206217 -0.698260 0.685498
+vn 0.637751 -0.505036 0.581560
+vn 0.619756 -0.418228 0.664069
+vn 0.972400 0.221016 0.074770
+vn 0.949544 0.143209 0.279031
+vn 0.934023 -0.330209 0.136246
+vn 0.937088 -0.126645 0.325311
+vn 0.934023 -0.330209 0.136246
+vn 0.937088 -0.126645 0.325311
+vn 0.839808 -0.448800 0.305453
+vn 0.908721 -0.134690 0.395076
+vn -0.048070 -0.988869 0.140807
+vn 0.347289 -0.890789 0.293063
+vn 0.115542 -0.961895 -0.247806
+vn 0.896491 -0.388385 0.213214
+vn -0.101233 -0.975782 0.193910
+vn -0.048070 -0.988869 0.140807
+vn -0.507819 -0.861261 -0.018711
+vn -0.475821 -0.876649 -0.071279
+vn -0.101233 -0.975782 0.193910
+vn -0.507819 -0.861261 -0.018711
+vn -0.165009 -0.960561 0.223817
+vn -0.583948 -0.811690 0.012813
+vn 0.064760 0.997897 0.002614
+vn 0.188999 0.964282 -0.185578
+vn 0.593327 0.751956 0.287273
+vn 0.875275 0.426696 0.227650
+vn 0.064760 0.997897 0.002614
+vn -0.499267 -0.140126 0.855042
+vn -0.624487 0.742340 -0.242791
+vn -0.998278 -0.050278 0.030229
+vn 0.896333 -0.150513 0.417053
+vn 0.872294 -0.266391 0.410047
+vn 0.896491 -0.388385 0.213214
+vn 0.970849 -0.239689 0.001466
+vn 0.881885 0.216035 0.419057
+vn 0.736625 0.594721 0.322011
+vn 0.889665 0.099200 0.445707
+vn 0.796014 0.459850 0.393574
+vn 0.884957 -0.106552 0.453318
+vn 0.869700 -0.202105 0.450306
+vn 0.784441 -0.392370 0.480310
+vn 0.733455 -0.537073 0.416650
+vn 0.910978 -0.078204 0.404974
+vn 0.542561 -0.359405 0.759246
+vn 0.921431 -0.131090 0.365761
+vn 0.547087 -0.370022 0.750852
+vn 0.910978 -0.078204 0.404974
+vn 0.921431 -0.131090 0.365761
+vn 0.991808 0.053172 0.116143
+vn 0.997172 0.048829 0.057137
+vn 0.954150 0.121652 -0.273494
+vn 0.991808 0.053172 0.116143
+vn 0.923924 0.245794 -0.293172
+vn 0.997172 0.048829 0.057137
+vn 0.954150 0.121652 -0.273494
+vn 0.410631 0.278741 -0.868151
+vn 0.763365 0.027654 -0.645375
+vn 0.347744 0.080405 -0.934135
+vn 0.303089 0.025829 -0.952612
+vn 0.135145 -0.023843 -0.990539
+vn 0.220518 0.469237 -0.855096
+vn 0.029552 0.325226 -0.945174
+vn 0.220518 0.469237 -0.855096
+vn 0.029552 0.325226 -0.945174
+vn -0.033319 0.812427 -0.582110
+vn -0.382851 0.500025 -0.776788
+vn -0.033319 0.812427 -0.582110
+vn -0.382851 0.500025 -0.776788
+vn -0.134495 0.916442 -0.376889
+vn -0.554392 0.602551 -0.574092
+vn -0.149275 0.955594 -0.254081
+vn -0.134495 0.916442 -0.376889
+vn -0.516365 0.751809 -0.410062
+vn -0.554392 0.602551 -0.574092
+vn -0.963090 0.228290 -0.142624
+vn -0.966008 0.217227 -0.140149
+vn -0.978731 0.017542 -0.204397
+vn -0.982018 0.025293 -0.187083
+vn -0.980755 -0.193934 -0.022584
+vn -0.955162 -0.286081 -0.076315
+vn -0.730592 -0.658016 -0.182350
+vn -0.673802 -0.702656 -0.228616
+vn -0.966780 0.235096 0.100329
+vn -0.634000 0.743993 0.210993
+vn -0.952305 0.293224 -0.084471
+vn -0.680264 0.731460 0.046980
+vn -0.250080 0.937902 0.240417
+vn 0.216178 0.936259 0.276924
+vn -0.076784 0.968887 0.235291
+vn 0.315350 0.936708 0.152097
+vn -0.176857 0.968552 0.175009
+vn 0.594136 0.729776 0.338275
+vn 0.216178 0.936259 0.276924
+vn 0.639367 0.713704 0.286070
+vn -0.978241 0.076310 -0.192930
+vn -0.978731 0.017542 -0.204397
+vn -0.978542 -0.058784 -0.197483
+vn -0.974687 -0.036231 -0.220621
+vn -0.967001 0.131062 -0.218476
+vn -0.936566 0.152208 -0.315717
+vn -0.887573 0.436584 -0.146999
+vn -0.803184 0.560908 -0.200693
+vn 0.972400 0.221016 0.074770
+vn 0.809982 0.523531 0.264279
+vn 0.949544 0.143209 0.279031
+vn 0.899422 0.181835 0.397461
+vn 0.543919 0.653093 0.526899
+vn 0.731209 0.476314 0.488321
+vn 0.645894 0.674417 0.357747
+vn 0.791450 0.484517 0.372626
+vn 0.717411 -0.094517 0.690208
+vn 0.746899 -0.083691 0.659650
+vn 0.543919 0.653093 0.526899
+vn 0.731209 0.476314 0.488321
+vn 0.290203 0.680998 0.672327
+vn 0.068171 0.608701 0.790466
+vn 0.621863 0.084994 0.778500
+vn 0.129880 0.321914 0.937818
+vn 0.068171 0.608701 0.790466
+vn -0.099399 0.814121 0.572124
+vn 0.129880 0.321914 0.937818
+vn -0.271457 0.460312 0.845236
+vn -0.275879 0.924209 0.264062
+vn -0.623339 0.677973 0.389617
+vn -0.251790 0.813378 0.524421
+vn -0.513655 0.605345 0.608043
+vn -0.759353 0.650059 -0.028411
+vn -0.772314 0.602702 0.200700
+vn -0.586286 0.805859 0.082823
+vn -0.763987 0.594667 0.250389
+vn -0.887573 0.436584 -0.146999
+vn -0.803184 0.560908 -0.200693
+vn -0.759353 0.650059 -0.028411
+vn -0.735778 0.674132 -0.064625
+vn 0.507272 -0.843656 0.175839
+vn 0.628074 -0.742885 0.231614
+vn 0.573839 -0.786285 0.229052
+vn 0.677706 -0.466604 0.568327
+vn 0.573839 -0.786285 0.229052
+vn 0.677706 -0.466604 0.568327
+vn 0.604403 -0.765261 0.221524
+vn 0.911158 -0.114397 0.395859
+vn 0.604403 -0.765261 0.221524
+vn 0.911158 -0.114397 0.395859
+vn 0.509438 -0.842490 0.175167
+vn 0.918841 -0.380777 0.103632
+vn 0.922612 -0.362316 0.132343
+vn 0.142369 -0.835096 -0.531362
+vn 0.561667 -0.801058 0.206972
+vn 0.007229 -0.999114 -0.041451
+vn 0.718342 -0.462878 0.519354
+vn 0.599286 -0.768775 0.223253
+vn -0.075450 -0.946777 0.312922
+vn 0.019602 -0.999002 -0.040140
+vn 0.718342 -0.462878 0.519354
+vn 0.678955 -0.385612 0.624759
+vn 0.911958 -0.117287 0.393163
+vn 0.900467 -0.221657 0.374203
+vn 0.911958 -0.117287 0.393163
+vn 0.900467 -0.221657 0.374203
+vn 0.922612 -0.362316 0.132343
+vn 0.982394 -0.176128 -0.062291
+vn -0.158658 -0.696392 0.699905
+vn -0.101496 -0.883429 0.457440
+vn 0.633327 -0.411993 0.655102
+vn 0.492740 -0.684301 0.537531
+vn 0.633327 -0.411993 0.655102
+vn 0.492740 -0.684301 0.537531
+vn 0.897158 -0.236536 0.373039
+vn 0.692023 -0.682897 0.234001
+vn 0.897158 -0.236536 0.373039
+vn 0.692023 -0.682897 0.234001
+vn 0.970536 -0.193496 -0.143597
+vn 0.816241 -0.538320 -0.209672
+vn 0.428649 -0.890211 0.154219
+vn 0.926793 -0.207357 0.313142
+vn 0.661869 -0.694565 0.281972
+vn 0.949883 -0.310370 0.037330
+vn 0.443542 -0.880971 0.164807
+vn 0.909955 -0.090194 0.404781
+vn 0.926793 -0.207357 0.313142
+vn 0.949883 -0.310370 0.037330
+vn 0.451831 -0.776419 0.439343
+vn 0.393670 -0.910149 0.129047
+vn 0.360274 -0.855570 0.371757
+vn -0.006916 -0.996373 0.084813
+vn 0.360274 -0.855570 0.371757
+vn -0.006916 -0.996373 0.084813
+vn 0.529528 -0.708771 0.466094
+vn 0.097791 -0.963920 0.247577
+vn 0.197265 -0.747926 0.633793
+vn 0.054485 -0.953838 0.295337
+vn -0.008541 -0.762608 0.646804
+vn -0.008457 -0.947863 0.318566
+vn -0.048686 0.251827 0.966547
+vn -0.095309 0.181604 0.978742
+vn 0.055526 0.048915 0.997258
+vn -0.105417 -0.033884 0.993851
+vn 0.759703 -0.453987 0.465561
+vn 0.746899 -0.083691 0.659650
+vn 0.780816 -0.378596 0.496982
+vn 0.717411 -0.094517 0.690208
+vn 0.883609 -0.421782 0.203311
+vn 0.113199 -0.951421 -0.286330
+vn 0.443850 -0.843770 0.301743
+vn -0.036004 -0.991688 0.123528
+vn 0.604684 -0.562376 0.563995
+vn 0.443850 -0.843770 0.301743
+vn -0.127036 -0.921648 0.366642
+vn -0.036004 -0.991688 0.123528
+vn -0.039106 -0.992443 0.116307
+vn 0.078628 -0.926189 -0.368770
+vn -0.596796 -0.787491 -0.153926
+vn -0.788037 -0.307667 -0.533235
+vn -0.113172 -0.911127 0.396283
+vn -0.858050 -0.511664 -0.044157
+vn -0.206217 -0.698260 0.685498
+vn -0.918771 -0.391387 0.051738
+vn -0.039106 -0.992443 0.116307
+vn -0.596796 -0.787491 -0.153926
+vn -0.113172 -0.911127 0.396283
+vn -0.858050 -0.511664 -0.044157
+vn 0.839808 -0.448800 0.305453
+vn 0.908721 -0.134690 0.395076
+vn 0.759703 -0.453987 0.465561
+vn 0.893294 -0.136227 0.428331
+vn -0.048070 -0.988869 0.140807
+vn 0.115542 -0.961895 -0.247806
+vn -0.475821 -0.876649 -0.071279
+vn -0.786988 -0.365698 -0.496906
+vn 0.064760 0.997897 0.002614
+vn -0.624487 0.742340 -0.242791
+vn 0.188999 0.964282 -0.185578
+vn -0.785424 0.369743 -0.496387
+vn -0.583948 -0.811690 0.012813
+vn -0.507819 -0.861261 -0.018711
+vn -0.716040 -0.691594 -0.094783
+vn -0.656974 -0.739979 -0.144276
+vn -0.998278 -0.050278 0.030229
+vn -0.583948 -0.811690 0.012813
+vn -0.738468 -0.664842 0.112470
+vn -0.716040 -0.691594 -0.094783
+vn 0.604684 -0.562376 0.563995
+vn 0.620805 -0.430386 0.655262
+vn 0.896333 -0.150513 0.417053
+vn 0.872294 -0.266391 0.410047
+vn 0.896491 -0.388385 0.213214
+vn 0.970849 -0.239689 0.001466
+vn 0.115542 -0.961895 -0.247806
+vn 0.343732 -0.343456 -0.874006
+vn 0.875275 0.426696 0.227650
+vn 0.907813 0.140562 0.395117
+vn 0.879749 0.299749 0.369042
+vn 0.800324 0.499302 0.331931
+vn 0.696406 0.644984 0.314664
+vn 0.879749 0.299749 0.369042
+vn 0.736625 0.594721 0.322011
+vn 0.800324 0.499302 0.331931
+vn 0.542561 -0.359405 0.759246
+vn 0.542857 -0.394506 0.741398
+vn -0.028917 -0.503171 0.863703
+vn -0.099121 -0.616412 0.781160
+vn 0.542857 -0.394506 0.741398
+vn 0.555099 -0.529557 0.641432
+vn -0.099121 -0.616412 0.781160
+vn -0.134596 -0.812903 0.566633
+vn 0.555099 -0.529557 0.641432
+vn 0.450519 -0.771932 0.448502
+vn -0.134596 -0.812903 0.566633
+vn -0.085630 -0.957204 0.276455
+vn 0.784441 -0.392370 0.480310
+vn 0.733455 -0.537073 0.416650
+vn 0.450519 -0.771932 0.448502
+vn 0.363986 -0.885661 0.288303
+vn 0.869700 -0.202105 0.450306
+vn 0.889665 0.099200 0.445707
+vn 0.848098 -0.300589 0.436321
+vn 0.887800 -0.043966 0.458124
+vn 0.954150 0.121652 -0.273494
+vn 0.923924 0.245794 -0.293172
+vn 0.410631 0.278741 -0.868151
+vn 0.428777 0.505097 -0.749018
+vn 0.347744 0.080405 -0.934135
+vn 0.410631 0.278741 -0.868151
+vn 0.138026 0.063752 -0.988375
+vn 0.047257 0.309060 -0.949868
+vn 0.225123 -0.025806 -0.973989
+vn 0.138026 0.063752 -0.988375
+vn 0.103726 -0.085058 -0.990962
+vn -0.060961 -0.011486 -0.998074
+vn 0.167875 -0.077109 -0.982788
+vn 0.103726 -0.085058 -0.990962
+vn -0.313272 -0.059824 -0.947777
+vn -0.291871 -0.063247 -0.954364
+vn 0.163208 -0.120197 -0.979243
+vn 0.167875 -0.077109 -0.982788
+vn -0.331759 -0.098515 -0.938206
+vn -0.313272 -0.059824 -0.947777
+vn 0.145510 -0.117331 -0.982375
+vn 0.163208 -0.120197 -0.979243
+vn -0.366958 -0.079679 -0.926819
+vn -0.331759 -0.098515 -0.938206
+vn 0.145510 -0.117331 -0.982375
+vn -0.366958 -0.079679 -0.926819
+vn 0.135145 -0.023843 -0.990539
+vn -0.423454 0.059899 -0.903935
+vn -0.516365 0.751809 -0.410062
+vn -0.711335 0.539379 -0.450636
+vn -0.149275 0.955594 -0.254081
+vn -0.400099 0.846628 -0.350915
+vn -0.966008 0.217227 -0.140149
+vn -0.909253 0.410491 -0.068970
+vn -0.985407 0.033000 -0.166987
+vn -0.998777 0.034826 -0.035103
+vn -0.978051 0.201139 -0.054407
+vn -0.969805 0.215842 -0.113534
+vn -0.909253 0.410491 -0.068970
+vn -0.837964 0.541254 0.069717
+vn -0.730592 -0.658016 -0.182350
+vn -0.673802 -0.702656 -0.228616
+vn -0.969805 0.215842 -0.113534
+vn -0.977824 0.191661 -0.084419
+vn -0.955162 -0.286081 -0.076315
+vn -0.966780 0.235096 0.100329
+vn -0.965690 -0.172620 -0.194025
+vn -0.952305 0.293224 -0.084471
+vn -0.634000 0.743993 0.210993
+vn -0.076784 0.968887 0.235291
+vn -0.680264 0.731460 0.046980
+vn -0.159431 0.977102 0.140904
+vn -0.977047 -0.072753 -0.200217
+vn -0.978542 -0.058784 -0.197483
+vn -0.970168 -0.157522 -0.184286
+vn -0.975435 -0.133253 -0.175414
+vn -0.977047 -0.072753 -0.200217
+vn -0.970168 -0.157522 -0.184286
+vn -0.975417 -0.065218 -0.210495
+vn -0.966883 -0.171468 -0.189039
+vn -0.967001 0.131062 -0.218476
+vn -0.969079 -0.064992 -0.238037
+vn -0.936566 0.152208 -0.315717
+vn -0.933850 -0.163072 -0.318327
+vn -0.975417 -0.065218 -0.210495
+vn -0.966883 -0.171468 -0.189039
+vn -0.969079 -0.064992 -0.238037
+vn -0.961088 -0.192310 -0.198309
+vn 0.809982 0.523531 0.264279
+vn 0.791450 0.484517 0.372626
+vn 0.899422 0.181835 0.397461
+vn 0.911558 0.102936 0.398079
+vn -0.271457 0.460312 0.845236
+vn -0.251790 0.813378 0.524421
+vn -0.646748 0.316906 0.693749
+vn -0.513655 0.605345 0.608043
+vn -0.772314 0.602702 0.200700
+vn -0.759353 0.650059 -0.028411
+vn -0.745801 0.652845 0.132566
+vn -0.735778 0.674132 -0.064625
+vn -0.772314 0.602702 0.200700
+vn -0.977136 -0.178361 0.115729
+vn -0.763987 0.594667 0.250389
+vn -0.994635 -0.094553 0.041970
+vn -0.763987 0.594667 0.250389
+vn -0.994635 -0.094553 0.041970
+vn -0.623339 0.677973 0.389617
+vn -0.952677 0.083444 0.292306
+vn 0.507272 -0.843656 0.175839
+vn 0.591405 -0.783039 0.192587
+vn 0.628074 -0.742885 0.231614
+vn 0.953432 -0.280121 0.111805
+vn 0.918841 -0.380777 0.103632
+vn 0.174904 -0.827820 -0.533031
+vn 0.599286 -0.768775 0.223253
+vn 0.019602 -0.999002 -0.040140
+vn 0.922612 -0.362316 0.132343
+vn 0.982394 -0.176128 -0.062291
+vn 0.142369 -0.835096 -0.531362
+vn 0.266202 -0.207285 -0.941366
+vn -0.075450 -0.946777 0.312922
+vn -0.176086 -0.714934 0.676656
+vn 0.718342 -0.462878 0.519354
+vn 0.678955 -0.385612 0.624759
+vn -0.077198 -0.938562 0.336366
+vn -0.862566 -0.494272 -0.108052
+vn -0.158658 -0.696392 0.699905
+vn -0.908397 -0.409745 0.083207
+vn 0.007229 -0.999114 -0.041451
+vn -0.601439 -0.743988 -0.291125
+vn -0.077198 -0.938562 0.336366
+vn -0.862566 -0.494272 -0.108052
+vn -0.158658 -0.696392 0.699905
+vn -0.908397 -0.409745 0.083207
+vn -0.101496 -0.883429 0.457440
+vn -0.707839 -0.700247 0.092836
+vn 0.339167 -0.935837 0.095790
+vn 0.912404 -0.099385 0.397041
+vn 0.578108 -0.792663 0.193589
+vn 0.971366 -0.217390 0.095859
+vn 0.557730 -0.797058 0.231595
+vn 0.722685 -0.375372 0.580364
+vn 0.339167 -0.935837 0.095790
+vn 0.912404 -0.099385 0.397041
+vn 0.428649 -0.890211 0.154219
+vn 0.661869 -0.694565 0.281972
+vn 0.557730 -0.797058 0.231595
+vn 0.722685 -0.375372 0.580364
+vn 0.659548 -0.381591 0.647599
+vn 0.529528 -0.708771 0.466094
+vn -0.107433 -0.745979 0.657247
+vn 0.097791 -0.963920 0.247577
+vn 0.659548 -0.381591 0.647599
+vn 0.534660 -0.336065 0.775370
+vn 0.909955 -0.090194 0.404781
+vn 0.909476 -0.184061 0.372793
+vn 0.393670 -0.910149 0.129047
+vn 0.451831 -0.776419 0.439343
+vn 0.902999 -0.310798 0.296643
+vn 0.503862 -0.471831 0.723532
+vn 0.451831 -0.776419 0.439343
+vn 0.402762 -0.737083 0.542671
+vn 0.503862 -0.471831 0.723532
+vn 0.197265 -0.747926 0.633793
+vn -0.008541 -0.762608 0.646804
+vn 0.055991 -0.480399 0.875261
+vn 0.197265 -0.747926 0.633793
+vn 0.503862 -0.471831 0.723532
+vn -0.008541 -0.762608 0.646804
+vn -0.008457 -0.947863 0.318566
+vn -0.157961 -0.798827 0.580452
+vn -0.094885 -0.961402 0.258269
+vn -0.042650 -0.731881 0.680096
+vn -0.215893 -0.748799 0.626650
+vn -0.008457 -0.947863 0.318566
+vn -0.094885 -0.961402 0.258269
+vn -0.042650 -0.731881 0.680096
+vn -0.105417 -0.033884 0.993851
+vn -0.215893 -0.748799 0.626650
+vn -0.325877 0.032928 0.944839
+vn -0.095309 0.181604 0.978742
+vn -0.048686 0.251827 0.966547
+vn -0.306590 0.273647 0.911658
+vn -0.271457 0.460312 0.845236
+vn 0.746899 -0.083691 0.659650
+vn 0.759703 -0.453987 0.465561
+vn 0.849802 -0.028698 0.526320
+vn 0.893294 -0.136227 0.428331
+vn 0.883609 -0.421782 0.203311
+vn 0.972457 -0.231980 -0.022648
+vn 0.113199 -0.951421 -0.286330
+vn 0.317021 -0.316497 -0.894051
+vn -0.127036 -0.921648 0.366642
+vn -0.248715 -0.715748 0.652569
+vn 0.604684 -0.562376 0.563995
+vn 0.620805 -0.430386 0.655262
+vn -0.206217 -0.698260 0.685498
+vn -0.146565 -0.858898 0.490726
+vn 0.619756 -0.418228 0.664069
+vn 0.444409 -0.694478 0.565863
+vn 0.619756 -0.418228 0.664069
+vn 0.444409 -0.694478 0.565863
+vn 0.874979 -0.257565 0.409967
+vn 0.622759 -0.707250 0.334617
+vn 0.874979 -0.257565 0.409967
+vn 0.622759 -0.707250 0.334617
+vn 0.972457 -0.231980 -0.022648
+vn 0.771371 -0.636153 -0.017202
+vn 0.078628 -0.926189 -0.368770
+vn 0.227739 -0.196983 -0.953589
+vn -0.788037 -0.307667 -0.533235
+vn -0.655254 -0.107502 -0.747720
+vn 0.970536 -0.193496 -0.143597
+vn 0.816241 -0.538320 -0.209672
+vn 0.227739 -0.196983 -0.953589
+vn 0.189514 -0.671000 -0.716829
+vn 0.949544 0.143209 0.279031
+vn 0.822722 0.025690 0.567864
+vn 0.937088 -0.126645 0.325311
+vn 0.617964 0.564679 0.547044
+vn 0.937088 -0.126645 0.325311
+vn 0.617964 0.564679 0.547044
+vn 0.908721 -0.134690 0.395076
+vn 0.618940 0.715661 0.323638
+vn -0.507819 -0.861261 -0.018711
+vn -0.475821 -0.876649 -0.071279
+vn -0.656974 -0.739979 -0.144276
+vn -0.613800 -0.779392 -0.125688
+vn 0.188999 0.964282 -0.185578
+vn 0.448681 0.488052 -0.748660
+vn 0.875275 0.426696 0.227650
+vn 0.958577 0.279520 0.054764
+vn -0.998278 -0.050278 0.030229
+vn -0.942665 0.330435 -0.046852
+vn -0.624487 0.742340 -0.242791
+vn -0.898697 0.287244 -0.331414
+vn -0.998278 -0.050278 0.030229
+vn -0.738468 -0.664842 0.112470
+vn -0.318873 0.125716 0.939423
+vn -0.324191 -0.104786 0.940170
+vn 0.620805 -0.430386 0.655262
+vn 0.437664 -0.710965 0.550435
+vn 0.872294 -0.266391 0.410047
+vn 0.609376 -0.719071 0.334061
+vn 0.872294 -0.266391 0.410047
+vn 0.609376 -0.719071 0.334061
+vn 0.970849 -0.239689 0.001466
+vn 0.753036 -0.657686 0.019653
+vn 0.875275 0.426696 0.227650
+vn 0.958577 0.279520 0.054764
+vn 0.907813 0.140562 0.395117
+vn 0.883652 0.284201 0.372008
+vn 0.817261 0.479919 0.319001
+vn 0.736625 0.594721 0.322011
+vn 0.887958 0.226039 0.400546
+vn 0.800324 0.499302 0.331931
+vn 0.796014 0.459850 0.393574
+vn 0.795508 0.414516 0.441977
+vn 0.889665 0.099200 0.445707
+vn 0.887800 -0.043966 0.458124
+vn 0.736625 0.594721 0.322011
+vn 0.854483 0.373172 0.361389
+vn 0.796014 0.459850 0.393574
+vn 0.849454 0.325787 0.415079
+vn 0.542561 -0.359405 0.759246
+vn -0.028917 -0.503171 0.863703
+vn 0.547087 -0.370022 0.750852
+vn -0.000641 -0.460155 0.887838
+vn 0.733455 -0.537073 0.416650
+vn 0.869700 -0.202105 0.450306
+vn 0.706591 -0.591199 0.388861
+vn 0.848098 -0.300589 0.436321
+vn 0.921431 -0.131090 0.365761
+vn 0.547087 -0.370022 0.750852
+vn 0.925691 -0.156523 0.344379
+vn 0.569062 -0.382400 0.727969
+vn 0.997172 0.048829 0.057137
+vn 0.921431 -0.131090 0.365761
+vn 0.997926 0.041849 0.048905
+vn 0.925691 -0.156523 0.344379
+vn 0.923924 0.245794 -0.293172
+vn 0.997172 0.048829 0.057137
+vn 0.920132 0.292555 -0.260326
+vn 0.997926 0.041849 0.048905
+vn 0.135145 -0.023843 -0.990539
+vn -0.423454 0.059899 -0.903935
+vn 0.029552 0.325226 -0.945174
+vn -0.382851 0.500025 -0.776788
+vn -0.554392 0.602551 -0.574092
+vn -0.382851 0.500025 -0.776788
+vn -0.746345 0.123247 -0.654049
+vn -0.423454 0.059899 -0.903935
+vn -0.554392 0.602551 -0.574092
+vn -0.785298 0.498689 -0.366901
+vn -0.516365 0.751809 -0.410062
+vn -0.818184 0.464244 -0.339193
+vn -0.516365 0.751809 -0.410062
+vn -0.818184 0.464244 -0.339193
+vn -0.711335 0.539379 -0.450636
+vn -0.908154 -0.059141 -0.414437
+vn -0.966008 0.217227 -0.140149
+vn -0.985407 0.033000 -0.166987
+vn -0.982018 0.025293 -0.187083
+vn -0.974658 0.137836 -0.176192
+vn -0.982018 0.025293 -0.187083
+vn -0.981045 -0.077715 -0.177511
+vn -0.978731 0.017542 -0.204397
+vn -0.971448 -0.051914 -0.231503
+vn -0.955162 -0.286081 -0.076315
+vn -0.965690 -0.172620 -0.194025
+vn -0.673802 -0.702656 -0.228616
+vn -0.743116 -0.618402 -0.255649
+vn -0.952305 0.293224 -0.084471
+vn -0.680264 0.731460 0.046980
+vn -0.845137 0.386342 -0.369436
+vn -0.614751 0.743723 -0.262598
+vn -0.965690 -0.172620 -0.194025
+vn -0.952305 0.293224 -0.084471
+vn -0.907508 -0.160824 -0.388028
+vn -0.845137 0.386342 -0.369436
+vn -0.076784 0.968887 0.235291
+vn 0.315350 0.936708 0.152097
+vn -0.159431 0.977102 0.140904
+vn -0.054445 0.998082 -0.029477
+vn 0.216178 0.936259 0.276924
+vn 0.639367 0.713704 0.286070
+vn 0.315350 0.936708 0.152097
+vn 0.634769 0.744948 0.205234
+vn 0.594136 0.729776 0.338275
+vn 0.791440 0.557881 0.249783
+vn 0.639367 0.713704 0.286070
+vn 0.634769 0.744948 0.205234
+vn -0.978731 0.017542 -0.204397
+vn -0.971448 -0.051914 -0.231503
+vn -0.974687 -0.036231 -0.220621
+vn -0.967810 -0.019463 -0.250927
+vn -0.978542 -0.058784 -0.197483
+vn -0.974687 -0.036231 -0.220621
+vn -0.975435 -0.133253 -0.175414
+vn -0.972146 -0.049385 -0.229116
+vn -0.936566 0.152208 -0.315717
+vn -0.848153 0.220849 -0.481521
+vn -0.803184 0.560908 -0.200693
+vn -0.819506 0.523218 -0.233781
+vn 0.949544 0.143209 0.279031
+vn 0.899422 0.181835 0.397461
+vn 0.822722 0.025690 0.567864
+vn 0.761767 -0.468906 0.447033
+vn 0.731209 0.476314 0.488321
+vn 0.901475 0.158933 0.402595
+vn 0.791450 0.484517 0.372626
+vn 0.911558 0.102936 0.398079
+vn 0.746899 -0.083691 0.659650
+vn 0.849802 -0.028698 0.526320
+vn 0.731209 0.476314 0.488321
+vn 0.901475 0.158933 0.402595
+vn -0.646748 0.316906 0.693749
+vn -0.850599 0.109163 0.514358
+vn -0.271457 0.460312 0.845236
+vn -0.528002 0.245371 0.813023
+vn -0.623339 0.677973 0.389617
+vn -0.952677 0.083444 0.292306
+vn -0.513655 0.605345 0.608043
+vn -0.646748 0.316906 0.693749
+vn -0.745801 0.652845 0.132566
+vn -0.980757 -0.094483 0.170845
+vn -0.772314 0.602702 0.200700
+vn -0.977136 -0.178361 0.115729
+vn -0.803184 0.560908 -0.200693
+vn -0.819506 0.523218 -0.233781
+vn -0.735778 0.674132 -0.064625
+vn -0.864681 0.484214 -0.133654
+vn 0.677706 -0.466604 0.568327
+vn 0.628074 -0.742885 0.231614
+vn -0.147100 -0.880891 0.449881
+vn 0.027569 -0.999161 -0.030274
+vn 0.677706 -0.466604 0.568327
+vn 0.581385 -0.404435 0.705991
+vn 0.911158 -0.114397 0.395859
+vn 0.900453 -0.211708 0.379952
+vn 0.911158 -0.114397 0.395859
+vn 0.900453 -0.211708 0.379952
+vn 0.918841 -0.380777 0.103632
+vn 0.975908 -0.136873 -0.169911
+vn 0.918841 -0.380777 0.103632
+vn 0.975908 -0.136873 -0.169911
+vn 0.174904 -0.827820 -0.533031
+vn 0.305975 -0.098441 -0.946936
+vn 0.007229 -0.999114 -0.041451
+vn 0.142369 -0.835096 -0.531362
+vn -0.601439 -0.743988 -0.291125
+vn -0.786560 -0.255997 -0.561951
+vn -0.075450 -0.946777 0.312922
+vn -0.886378 -0.440307 -0.143050
+vn -0.176086 -0.714934 0.676656
+vn -0.931724 -0.363157 0.002664
+vn 0.019602 -0.999002 -0.040140
+vn -0.622505 -0.724949 -0.294851
+vn -0.075450 -0.946777 0.312922
+vn -0.886378 -0.440307 -0.143050
+vn -0.176086 -0.714934 0.676656
+vn -0.103744 -0.896023 0.431718
+vn 0.678955 -0.385612 0.624759
+vn 0.540813 -0.667962 0.511223
+vn 0.678955 -0.385612 0.624759
+vn 0.540813 -0.667962 0.511223
+vn 0.900467 -0.221657 0.374203
+vn 0.713174 -0.655088 0.249485
+vn 0.900467 -0.221657 0.374203
+vn 0.713174 -0.655088 0.249485
+vn 0.982394 -0.176128 -0.062291
+vn 0.831272 -0.544267 -0.112961
+vn -0.101496 -0.883429 0.457440
+vn 0.025128 -0.997713 -0.062747
+vn 0.492740 -0.684301 0.537531
+vn 0.692023 -0.682897 0.234001
+vn 0.692023 -0.682897 0.234001
+vn 0.025128 -0.997713 -0.062747
+vn 0.816241 -0.538320 -0.209672
+vn 0.189514 -0.671000 -0.716829
+vn 0.493956 -0.855310 0.156371
+vn 0.648589 -0.720568 0.245181
+vn 0.356900 -0.929141 0.096533
+vn 0.705533 -0.390467 0.591405
+vn 0.493956 -0.855310 0.156371
+vn 0.578108 -0.792663 0.193589
+vn 0.648589 -0.720568 0.245181
+vn 0.971366 -0.217390 0.095859
+vn 0.949883 -0.310370 0.037330
+vn 0.270165 -0.607246 -0.747170
+vn 0.661869 -0.694565 0.281972
+vn 0.041970 -0.999079 0.008960
+vn 0.909955 -0.090194 0.404781
+vn 0.909476 -0.184061 0.372793
+vn 0.949883 -0.310370 0.037330
+vn 0.948681 -0.105760 -0.298024
+vn 0.659548 -0.381591 0.647599
+vn -0.107433 -0.745979 0.657247
+vn 0.534660 -0.336065 0.775370
+vn -0.214804 -0.512800 0.831201
+vn 0.902999 -0.310798 0.296643
+vn 0.592912 -0.331623 -0.733813
+vn 0.393670 -0.910149 0.129047
+vn -0.014163 -0.913923 -0.405640
+vn 0.393670 -0.910149 0.129047
+vn -0.014163 -0.913923 -0.405640
+vn -0.006916 -0.996373 0.084813
+vn -0.829931 -0.554033 -0.065290
+vn -0.006916 -0.996373 0.084813
+vn -0.829931 -0.554033 -0.065290
+vn 0.097791 -0.963920 0.247577
+vn -0.107433 -0.745979 0.657247
+vn 0.055991 -0.480399 0.875261
+vn -0.008541 -0.762608 0.646804
+vn -0.420919 -0.758097 0.498112
+vn -0.157961 -0.798827 0.580452
+vn -0.105417 -0.033884 0.993851
+vn -0.095309 0.181604 0.978742
+vn -0.325877 0.032928 0.944839
+vn -0.306590 0.273647 0.911658
+vn -0.271457 0.460312 0.845236
+vn -0.528002 0.245371 0.813023
+vn -0.306590 0.273647 0.911658
+vn -0.514300 0.177769 0.838984
+vn -0.036004 -0.991688 0.123528
+vn 0.113199 -0.951421 -0.286330
+vn -0.542331 -0.832427 -0.113765
+vn -0.791405 -0.341715 -0.506861
+vn -0.127036 -0.921648 0.366642
+vn -0.843069 -0.536840 -0.032206
+vn -0.248715 -0.715748 0.652569
+vn -0.921698 -0.387143 0.024357
+vn -0.036004 -0.991688 0.123528
+vn -0.542331 -0.832427 -0.113765
+vn -0.127036 -0.921648 0.366642
+vn -0.843069 -0.536840 -0.032206
+vn -0.206217 -0.698260 0.685498
+vn -0.918771 -0.391387 0.051738
+vn -0.146565 -0.858898 0.490726
+vn -0.705810 -0.699427 0.112402
+vn -0.596796 -0.787491 -0.153926
+vn -0.788037 -0.307667 -0.533235
+vn -0.747637 -0.624367 -0.226285
+vn -0.786892 -0.537806 -0.302599
+vn -0.858050 -0.511664 -0.044157
+vn -0.596796 -0.787491 -0.153926
+vn -0.782189 -0.584991 -0.214396
+vn -0.747637 -0.624367 -0.226285
+vn -0.858050 -0.511664 -0.044157
+vn -0.930567 -0.077426 -0.357841
+vn -0.918771 -0.391387 0.051738
+vn -0.918787 -0.186450 -0.347946
+vn 0.908721 -0.134690 0.395076
+vn 0.618940 0.715661 0.323638
+vn 0.893294 -0.136227 0.428331
+vn 0.667076 0.726133 0.166556
+vn -0.475821 -0.876649 -0.071279
+vn -0.786988 -0.365698 -0.496906
+vn -0.613800 -0.779392 -0.125688
+vn -0.685739 -0.704123 -0.184318
+vn -0.786988 -0.365698 -0.496906
+vn 0.115542 -0.961895 -0.247806
+vn -0.690506 -0.163857 -0.704523
+vn 0.343732 -0.343456 -0.874006
+vn 0.188999 0.964282 -0.185578
+vn -0.785424 0.369743 -0.496387
+vn 0.448681 0.488052 -0.748660
+vn -0.709144 0.200082 -0.676079
+vn -0.785424 0.369743 -0.496387
+vn -0.624487 0.742340 -0.242791
+vn -0.892706 0.226722 -0.389452
+vn -0.898697 0.287244 -0.331414
+vn -0.998278 -0.050278 0.030229
+vn -0.318873 0.125716 0.939423
+vn -0.942665 0.330435 -0.046852
+vn -0.243176 0.451407 0.858544
+vn -0.738468 -0.664842 0.112470
+vn -0.716040 -0.691594 -0.094783
+vn -0.244472 -0.940516 0.235930
+vn -0.325619 -0.942848 0.070779
+vn -0.716040 -0.691594 -0.094783
+vn -0.656974 -0.739979 -0.144276
+vn -0.325619 -0.942848 0.070779
+vn -0.295110 -0.955075 0.027248
+vn -0.248715 -0.715748 0.652569
+vn -0.170589 -0.868492 0.465425
+vn 0.620805 -0.430386 0.655262
+vn 0.437664 -0.710965 0.550435
+vn 0.970849 -0.239689 0.001466
+vn 0.753036 -0.657686 0.019653
+vn 0.343732 -0.343456 -0.874006
+vn 0.200186 -0.850849 -0.485780
+vn 0.907813 0.140562 0.395117
+vn 0.720772 0.503611 0.476303
+vn 0.800324 0.499302 0.331931
+vn 0.887958 0.226039 0.400546
+vn 0.817261 0.479919 0.319001
+vn 0.918597 0.203312 0.338885
+vn 0.736625 0.594721 0.322011
+vn 0.864811 0.363047 0.346842
+vn 0.795508 0.414516 0.441977
+vn 0.796014 0.459850 0.393574
+vn 0.782682 0.437018 0.443197
+vn 0.849454 0.325787 0.415079
+vn 0.736625 0.594721 0.322011
+vn 0.860493 0.345141 0.374740
+vn 0.854483 0.373172 0.361389
+vn 0.856696 0.377049 0.352003
+vn -0.028917 -0.503171 0.863703
+vn -0.099121 -0.616412 0.781160
+vn -0.578644 -0.450482 0.679880
+vn -0.641622 -0.561115 0.522945
+vn -0.099121 -0.616412 0.781160
+vn -0.134596 -0.812903 0.566633
+vn -0.641622 -0.561115 0.522945
+vn -0.629255 -0.724739 0.280699
+vn -0.134596 -0.812903 0.566633
+vn -0.085630 -0.957204 0.276455
+vn -0.629255 -0.724739 0.280699
+vn -0.485335 -0.869509 0.091679
+vn 0.450519 -0.771932 0.448502
+vn 0.363986 -0.885661 0.288303
+vn -0.085630 -0.957204 0.276455
+vn -0.043392 -0.989535 0.137614
+vn 0.733455 -0.537073 0.416650
+vn 0.706591 -0.591199 0.388861
+vn 0.363986 -0.885661 0.288303
+vn 0.309959 -0.919579 0.241455
+vn 0.706591 -0.591199 0.388861
+vn 0.848098 -0.300589 0.436321
+vn 0.668401 -0.635665 0.386226
+vn 0.787558 -0.427864 0.443492
+vn 0.848098 -0.300589 0.436321
+vn 0.887800 -0.043966 0.458124
+vn 0.787558 -0.427864 0.443492
+vn 0.840771 -0.242574 0.484007
+vn 0.920132 0.292555 -0.260326
+vn 0.433943 0.610832 -0.662252
+vn 0.923924 0.245794 -0.293172
+vn 0.428777 0.505097 -0.749018
+vn 0.428777 0.505097 -0.749018
+vn 0.005051 0.550804 -0.834619
+vn 0.410631 0.278741 -0.868151
+vn 0.047257 0.309060 -0.949868
+vn 0.138026 0.063752 -0.988375
+vn 0.047257 0.309060 -0.949868
+vn -0.060961 -0.011486 -0.998074
+vn -0.320254 0.237018 -0.917202
+vn 0.103726 -0.085058 -0.990962
+vn -0.060961 -0.011486 -0.998074
+vn -0.291871 -0.063247 -0.954364
+vn -0.478081 -0.040997 -0.877358
+vn -0.313272 -0.059824 -0.947777
+vn -0.291871 -0.063247 -0.954364
+vn -0.843336 -0.016951 -0.537119
+vn -0.855965 0.044644 -0.515102
+vn -0.331759 -0.098515 -0.938206
+vn -0.313272 -0.059824 -0.947777
+vn -0.832354 -0.091256 -0.546680
+vn -0.843336 -0.016951 -0.537119
+vn -0.331759 -0.098515 -0.938206
+vn -0.832354 -0.091256 -0.546680
+vn -0.366958 -0.079679 -0.926819
+vn -0.787978 -0.074546 -0.611174
+vn -0.366958 -0.079679 -0.926819
+vn -0.787978 -0.074546 -0.611174
+vn -0.423454 0.059899 -0.903935
+vn -0.746345 0.123247 -0.654049
+vn -0.554392 0.602551 -0.574092
+vn -0.746345 0.123247 -0.654049
+vn -0.785298 0.498689 -0.366901
+vn -0.923249 0.104826 -0.369625
+vn -0.149275 0.955594 -0.254081
+vn -0.400099 0.846628 -0.350915
+vn 0.318734 0.946409 -0.052149
+vn -0.066587 0.988486 -0.135877
+vn -0.711335 0.539379 -0.450636
+vn -0.845137 0.386342 -0.369436
+vn -0.400099 0.846628 -0.350915
+vn -0.614751 0.743723 -0.262598
+vn -0.982018 0.025293 -0.187083
+vn -0.974658 0.137836 -0.176192
+vn -0.981045 -0.077715 -0.177511
+vn -0.993558 0.017081 -0.112031
+vn -0.985407 0.033000 -0.166987
+vn -0.998777 0.034826 -0.035103
+vn -0.959072 -0.225294 -0.171535
+vn -0.945198 -0.326270 -0.012155
+vn -0.909253 0.410491 -0.068970
+vn -0.837964 0.541254 0.069717
+vn -0.998777 0.034826 -0.035103
+vn -0.913248 0.394656 0.101116
+vn -0.969805 0.215842 -0.113534
+vn -0.977824 0.191661 -0.084419
+vn -0.837964 0.541254 0.069717
+vn -0.670772 0.724816 0.157185
+vn -0.673802 -0.702656 -0.228616
+vn -0.743116 -0.618402 -0.255649
+vn -0.977824 0.191661 -0.084419
+vn -0.884137 -0.436393 -0.166923
+vn -0.907508 -0.160824 -0.388028
+vn -0.729060 -0.590593 -0.345936
+vn -0.965690 -0.172620 -0.194025
+vn -0.743116 -0.618402 -0.255649
+vn -0.680264 0.731460 0.046980
+vn -0.159431 0.977102 0.140904
+vn -0.614751 0.743723 -0.262598
+vn -0.054445 0.998082 -0.029477
+vn -0.970168 -0.157522 -0.184286
+vn -0.975435 -0.133253 -0.175414
+vn -0.931025 -0.328896 -0.158175
+vn -0.883420 -0.456587 -0.105348
+vn -0.970168 -0.157522 -0.184286
+vn -0.961160 -0.225268 -0.159456
+vn -0.966883 -0.171468 -0.189039
+vn -0.972194 -0.196287 -0.127713
+vn -0.936566 0.152208 -0.315717
+vn -0.933850 -0.163072 -0.318327
+vn -0.848153 0.220849 -0.481521
+vn -0.850713 -0.329971 -0.409153
+vn -0.969079 -0.064992 -0.238037
+vn -0.961088 -0.192310 -0.198309
+vn -0.933850 -0.163072 -0.318327
+vn -0.924186 -0.332393 -0.188138
+vn -0.966883 -0.171468 -0.189039
+vn -0.972194 -0.196287 -0.127713
+vn -0.961088 -0.192310 -0.198309
+vn -0.958342 -0.274919 -0.077462
+vn 0.899422 0.181835 0.397461
+vn 0.911558 0.102936 0.398079
+vn 0.761767 -0.468906 0.447033
+vn 0.796369 -0.520620 0.307817
+vn -0.850599 0.109163 0.514358
+vn -0.646748 0.316906 0.693749
+vn -0.993838 -0.096222 0.055027
+vn -0.952677 0.083444 0.292306
+vn -0.980757 -0.094483 0.170845
+vn -0.745801 0.652845 0.132566
+vn -0.988105 -0.083632 0.129050
+vn -0.879423 0.476024 -0.004130
+vn -0.745801 0.652845 0.132566
+vn -0.735778 0.674132 -0.064625
+vn -0.879423 0.476024 -0.004130
+vn -0.864681 0.484214 -0.133654
+vn -0.980757 -0.094483 0.170845
+vn -0.925336 -0.378346 -0.024668
+vn -0.977136 -0.178361 0.115729
+vn -0.958342 -0.274919 -0.077462
+vn -0.977136 -0.178361 0.115729
+vn -0.958342 -0.274919 -0.077462
+vn -0.994635 -0.094553 0.041970
+vn -0.972194 -0.196287 -0.127713
+vn -0.952677 0.083444 0.292306
+vn -0.994635 -0.094553 0.041970
+vn -0.993838 -0.096222 0.055027
+vn -0.972194 -0.196287 -0.127713
+vn 0.953432 -0.280121 0.111805
+vn 0.269719 -0.665956 -0.695524
+vn 0.628074 -0.742885 0.231614
+vn 0.027569 -0.999161 -0.030274
+vn 0.953432 -0.280121 0.111805
+vn 0.591405 -0.783039 0.192587
+vn 0.912421 -0.104054 0.395803
+vn 0.621329 -0.749180 0.229523
+vn -0.147100 -0.880891 0.449881
+vn -0.254096 -0.630711 0.733238
+vn 0.677706 -0.466604 0.568327
+vn 0.581385 -0.404435 0.705991
+vn 0.019602 -0.999002 -0.040140
+vn 0.174904 -0.827820 -0.533031
+vn -0.622505 -0.724949 -0.294851
+vn -0.756108 -0.287422 -0.587953
+vn 0.142369 -0.835096 -0.531362
+vn 0.266202 -0.207285 -0.941366
+vn -0.786560 -0.255997 -0.561951
+vn -0.691598 -0.099463 -0.715402
+vn 0.982394 -0.176128 -0.062291
+vn 0.831272 -0.544267 -0.112961
+vn 0.266202 -0.207285 -0.941366
+vn 0.208853 -0.709160 -0.673404
+vn -0.176086 -0.714934 0.676656
+vn -0.931724 -0.363157 0.002664
+vn -0.103744 -0.896023 0.431718
+vn -0.737123 -0.675476 0.019550
+vn -0.862566 -0.494272 -0.108052
+vn -0.601439 -0.743988 -0.291125
+vn -0.801629 -0.501355 -0.325629
+vn -0.757556 -0.560224 -0.335048
+vn -0.862566 -0.494272 -0.108052
+vn -0.928137 -0.068478 -0.365886
+vn -0.908397 -0.409745 0.083207
+vn -0.913202 -0.168189 -0.371180
+vn -0.707839 -0.700247 0.092836
+vn -0.682442 -0.657038 -0.320271
+vn -0.101496 -0.883429 0.457440
+vn 0.025128 -0.997713 -0.062747
+vn -0.908397 -0.409745 0.083207
+vn -0.913202 -0.168189 -0.371180
+vn -0.707839 -0.700247 0.092836
+vn -0.682442 -0.657038 -0.320271
+vn 0.356900 -0.929141 0.096533
+vn 0.705533 -0.390467 0.591405
+vn 0.621329 -0.749180 0.229523
+vn 0.912421 -0.104054 0.395803
+vn 0.722685 -0.375372 0.580364
+vn 0.651249 -0.350142 0.673258
+vn 0.912404 -0.099385 0.397041
+vn 0.906341 -0.187288 0.378773
+vn 0.912404 -0.099385 0.397041
+vn 0.906341 -0.187288 0.378773
+vn 0.971366 -0.217390 0.095859
+vn 0.988176 -0.068884 -0.136976
+vn 0.722685 -0.375372 0.580364
+vn 0.661869 -0.694565 0.281972
+vn -0.116165 -0.821097 0.558844
+vn 0.041970 -0.999079 0.008960
+vn 0.949883 -0.310370 0.037330
+vn 0.948681 -0.105760 -0.298024
+vn 0.270165 -0.607246 -0.747170
+vn 0.314999 -0.071118 -0.946424
+vn 0.534660 -0.336065 0.775370
+vn 0.456720 -0.588096 0.667495
+vn 0.909476 -0.184061 0.372793
+vn 0.748091 -0.613011 0.254121
+vn 0.592912 -0.331623 -0.733813
+vn 0.902999 -0.310798 0.296643
+vn 0.758102 -0.112102 -0.642429
+vn 0.937682 -0.189876 0.291033
+vn 0.503862 -0.471831 0.723532
+vn 0.647767 -0.281365 0.707977
+vn 0.902999 -0.310798 0.296643
+vn 0.937682 -0.189876 0.291033
+vn 0.055991 -0.480399 0.875261
+vn 0.120983 -0.399556 0.908690
+vn 0.503862 -0.471831 0.723532
+vn 0.647767 -0.281365 0.707977
+vn -0.420919 -0.758097 0.498112
+vn -0.761033 -0.385958 0.521408
+vn 0.055991 -0.480399 0.875261
+vn 0.120983 -0.399556 0.908690
+vn -0.157961 -0.798827 0.580452
+vn -0.257101 -0.814461 0.520147
+vn -0.420919 -0.758097 0.498112
+vn 0.030858 -0.786884 0.616329
+vn -0.094885 -0.961402 0.258269
+vn -0.257101 -0.814461 0.520147
+vn -0.157961 -0.798827 0.580452
+vn -0.215893 -0.748799 0.626650
+vn -0.380646 -0.730377 0.567149
+vn -0.094885 -0.961402 0.258269
+vn -0.184102 -0.948965 0.256071
+vn -0.325877 0.032928 0.944839
+vn -0.516709 -0.034468 0.855467
+vn -0.215893 -0.748799 0.626650
+vn -0.380646 -0.730377 0.567149
+vn -0.306590 0.273647 0.911658
+vn -0.514300 0.177769 0.838984
+vn -0.325877 0.032928 0.944839
+vn -0.516709 -0.034468 0.855467
+vn 0.849802 -0.028698 0.526320
+vn 0.893294 -0.136227 0.428331
+vn 0.956113 0.228267 0.183692
+vn 0.667076 0.726133 0.166556
+vn 0.317021 -0.316497 -0.894051
+vn -0.689404 -0.152706 -0.708098
+vn 0.113199 -0.951421 -0.286330
+vn -0.791405 -0.341715 -0.506861
+vn 0.972457 -0.231980 -0.022648
+vn 0.771371 -0.636153 -0.017202
+vn 0.317021 -0.316497 -0.894051
+vn 0.195111 -0.826471 -0.528089
+vn -0.146565 -0.858898 0.490726
+vn -0.017130 -0.994907 0.099333
+vn 0.444409 -0.694478 0.565863
+vn 0.622759 -0.707250 0.334617
+vn 0.622759 -0.707250 0.334617
+vn -0.017130 -0.994907 0.099333
+vn 0.771371 -0.636153 -0.017202
+vn 0.195111 -0.826471 -0.528089
+vn -0.655254 -0.107502 -0.747720
+vn -0.913202 -0.168189 -0.371180
+vn -0.788037 -0.307667 -0.533235
+vn -0.928137 -0.068478 -0.365886
+vn -0.655254 -0.107502 -0.747720
+vn 0.227739 -0.196983 -0.953589
+vn -0.519780 -0.472822 -0.711525
+vn 0.189514 -0.671000 -0.716829
+vn -0.782189 -0.584991 -0.214396
+vn -0.798464 -0.552104 -0.240075
+vn -0.858050 -0.511664 -0.044157
+vn -0.930567 -0.077426 -0.357841
+vn 0.822722 0.025690 0.567864
+vn 0.514789 -0.210957 0.830957
+vn 0.617964 0.564679 0.547044
+vn 0.374980 0.782137 0.497646
+vn 0.617964 0.564679 0.547044
+vn 0.374980 0.782137 0.497646
+vn 0.618940 0.715661 0.323638
+vn 0.351063 0.914438 0.201390
+vn -0.690506 -0.163857 -0.704523
+vn -0.917206 -0.194525 -0.347696
+vn -0.786988 -0.365698 -0.496906
+vn -0.930521 -0.089169 -0.355218
+vn -0.656974 -0.739979 -0.144276
+vn -0.613800 -0.779392 -0.125688
+vn -0.295110 -0.955075 0.027248
+vn -0.270240 -0.961654 0.046827
+vn -0.785424 0.369743 -0.496387
+vn -0.892706 0.226722 -0.389452
+vn -0.927941 0.065783 -0.366875
+vn -0.910466 0.175059 -0.374709
+vn 0.958577 0.279520 0.054764
+vn 0.448681 0.488052 -0.748660
+vn 0.776505 0.629572 -0.026050
+vn 0.320268 0.803586 -0.501675
+vn -0.942665 0.330435 -0.046852
+vn -0.729401 0.667596 -0.149298
+vn -0.898697 0.287244 -0.331414
+vn -0.693852 0.665241 -0.275725
+vn -0.738468 -0.664842 0.112470
+vn -0.244472 -0.940516 0.235930
+vn -0.324191 -0.104786 0.940170
+vn -0.215515 -0.093260 0.972037
+vn -0.318873 0.125716 0.939423
+vn -0.324191 -0.104786 0.940170
+vn 0.772469 0.304211 0.557447
+vn 0.453986 0.837894 0.303035
+vn -0.248715 -0.715748 0.652569
+vn -0.921698 -0.387143 0.024357
+vn -0.170589 -0.868492 0.465425
+vn -0.705925 -0.702991 0.086449
+vn -0.690506 -0.163857 -0.704523
+vn 0.343732 -0.343456 -0.874006
+vn -0.553698 -0.632669 -0.541432
+vn 0.200186 -0.850849 -0.485780
+vn -0.170589 -0.868492 0.465425
+vn -0.021225 -0.994698 0.100629
+vn 0.437664 -0.710965 0.550435
+vn 0.609376 -0.719071 0.334061
+vn 0.609376 -0.719071 0.334061
+vn -0.021225 -0.994698 0.100629
+vn 0.753036 -0.657686 0.019653
+vn 0.200186 -0.850849 -0.485780
+vn 0.883652 0.284201 0.372008
+vn 0.664139 0.466885 0.583899
+vn 0.907813 0.140562 0.395117
+vn 0.720772 0.503611 0.476303
+vn 0.883652 0.284201 0.372008
+vn 0.958577 0.279520 0.054764
+vn 0.649670 0.723388 0.233749
+vn 0.776505 0.629572 -0.026050
+vn 0.795508 0.414516 0.441977
+vn 0.782682 0.437018 0.443197
+vn 0.770135 0.450087 0.452011
+vn 0.816796 0.364210 0.447433
+vn 0.795508 0.414516 0.441977
+vn 0.810652 0.329945 0.483715
+vn 0.887800 -0.043966 0.458124
+vn 0.840771 -0.242574 0.484007
+vn 0.860493 0.345141 0.374740
+vn 0.736625 0.594721 0.322011
+vn 0.864811 0.363047 0.346842
+vn 0.854483 0.373172 0.361389
+vn 0.906882 0.140344 0.397326
+vn 0.849454 0.325787 0.415079
+vn 0.851439 0.258052 0.456576
+vn -0.000641 -0.460155 0.887838
+vn -0.028917 -0.503171 0.863703
+vn -0.547923 -0.390550 0.739764
+vn -0.578644 -0.450482 0.679880
+vn 0.547087 -0.370022 0.750852
+vn -0.000641 -0.460155 0.887838
+vn 0.569062 -0.382400 0.727969
+vn 0.000000 -0.467254 0.884123
+vn 0.706591 -0.591199 0.388861
+vn 0.668401 -0.635665 0.386226
+vn 0.309959 -0.919579 0.241455
+vn 0.323910 -0.894552 0.307993
+vn 0.925691 -0.156523 0.344379
+vn 0.569062 -0.382400 0.727969
+vn 0.913404 -0.135144 0.383965
+vn 0.549038 -0.388357 0.740092
+vn 0.997926 0.041849 0.048905
+vn 0.925691 -0.156523 0.344379
+vn 0.991823 0.054135 0.115572
+vn 0.913404 -0.135144 0.383965
+vn 0.920132 0.292555 -0.260326
+vn 0.997926 0.041849 0.048905
+vn 0.933516 0.327922 -0.144967
+vn 0.991823 0.054135 0.115572
+vn 0.433943 0.610832 -0.662252
+vn 0.920132 0.292555 -0.260326
+vn 0.445607 0.711802 -0.542930
+vn 0.933516 0.327922 -0.144967
+vn 0.005051 0.550804 -0.834619
+vn 0.428777 0.505097 -0.749018
+vn 0.000000 0.665411 -0.746477
+vn 0.433943 0.610832 -0.662252
+vn 0.047257 0.309060 -0.949868
+vn 0.005051 0.550804 -0.834619
+vn -0.320254 0.237018 -0.917202
+vn -0.418344 0.500828 -0.757733
+vn -0.785298 0.498689 -0.366901
+vn -0.859713 0.470849 -0.197977
+vn -0.818184 0.464244 -0.339193
+vn -0.951730 0.154665 -0.265122
+vn -0.711335 0.539379 -0.450636
+vn -0.908154 -0.059141 -0.414437
+vn -0.845137 0.386342 -0.369436
+vn -0.907508 -0.160824 -0.388028
+vn -0.818184 0.464244 -0.339193
+vn -0.951730 0.154665 -0.265122
+vn -0.908154 -0.059141 -0.414437
+vn -0.741958 -0.613541 -0.270305
+vn -0.149275 0.955594 -0.254081
+vn 0.318734 0.946409 -0.052149
+vn 0.654078 0.748934 0.106210
+vn 0.662120 0.732355 0.158912
+vn -0.985407 0.033000 -0.166987
+vn -0.959072 -0.225294 -0.171535
+vn -0.974658 0.137836 -0.176192
+vn -0.933599 0.267552 -0.238346
+vn -0.981045 -0.077715 -0.177511
+vn -0.955410 -0.245476 -0.164111
+vn -0.971448 -0.051914 -0.231503
+vn -0.971708 -0.076275 -0.223530
+vn -0.729060 -0.590593 -0.345936
+vn -0.907508 -0.160824 -0.388028
+vn -0.690060 -0.605676 -0.396199
+vn -0.699390 -0.647625 -0.302384
+vn -0.054445 0.998082 -0.029477
+vn 0.315350 0.936708 0.152097
+vn -0.066587 0.988486 -0.135877
+vn 0.318734 0.946409 -0.052149
+vn 0.634769 0.744948 0.205234
+vn 0.662120 0.732355 0.158912
+vn 0.315350 0.936708 0.152097
+vn 0.318734 0.946409 -0.052149
+vn 0.634769 0.744948 0.205234
+vn 0.791440 0.557881 0.249783
+vn 0.662120 0.732355 0.158912
+vn 0.654078 0.748934 0.106210
+vn -0.971448 -0.051914 -0.231503
+vn -0.971708 -0.076275 -0.223530
+vn -0.967810 -0.019463 -0.250927
+vn -0.972946 -0.072729 -0.219289
+vn -0.974687 -0.036231 -0.220621
+vn -0.967810 -0.019463 -0.250927
+vn -0.972146 -0.049385 -0.229116
+vn -0.963656 -0.010663 -0.266933
+vn -0.972146 -0.049385 -0.229116
+vn -0.785295 -0.618877 -0.017411
+vn -0.975435 -0.133253 -0.175414
+vn -0.883420 -0.456587 -0.105348
+vn -0.931025 -0.328896 -0.158175
+vn -0.925617 -0.343807 -0.158211
+vn -0.970168 -0.157522 -0.184286
+vn -0.961160 -0.225268 -0.159456
+vn -0.848153 0.220849 -0.481521
+vn -0.943303 0.143090 -0.299509
+vn -0.819506 0.523218 -0.233781
+vn -0.967949 0.181684 -0.173395
+vn 0.822722 0.025690 0.567864
+vn 0.761767 -0.468906 0.447033
+vn 0.514789 -0.210957 0.830957
+vn 0.472752 -0.810538 0.345736
+vn 0.901475 0.158933 0.402595
+vn 0.875041 -0.440339 0.201008
+vn 0.911558 0.102936 0.398079
+vn 0.796369 -0.520620 0.307817
+vn 0.849802 -0.028698 0.526320
+vn 0.956113 0.228267 0.183692
+vn 0.901475 0.158933 0.402595
+vn 0.875041 -0.440339 0.201008
+vn -0.993838 -0.096222 0.055027
+vn -0.981794 -0.181018 -0.057567
+vn -0.850599 0.109163 0.514358
+vn -0.937010 -0.052806 0.345289
+vn -0.850599 0.109163 0.514358
+vn -0.937010 -0.052806 0.345289
+vn -0.528002 0.245371 0.813023
+vn -0.627405 0.042834 0.777514
+vn -0.980757 -0.094483 0.170845
+vn -0.988105 -0.083632 0.129050
+vn -0.925336 -0.378346 -0.024668
+vn -0.890305 -0.453699 -0.038909
+vn -0.819506 0.523218 -0.233781
+vn -0.967949 0.181684 -0.173395
+vn -0.864681 0.484214 -0.133654
+vn -0.978337 0.102847 -0.179665
+vn 0.953432 -0.280121 0.111805
+vn 0.986743 -0.100599 -0.127350
+vn 0.269719 -0.665956 -0.695524
+vn 0.340808 -0.052396 -0.938672
+vn 0.912421 -0.104054 0.395803
+vn 0.903912 -0.197307 0.379490
+vn 0.953432 -0.280121 0.111805
+vn 0.986743 -0.100599 -0.127350
+vn -0.147100 -0.880891 0.449881
+vn -0.900189 -0.429462 -0.072267
+vn -0.254096 -0.630711 0.733238
+vn -0.917922 -0.374675 0.130530
+vn 0.027569 -0.999161 -0.030274
+vn -0.649067 -0.697779 -0.303013
+vn -0.147100 -0.880891 0.449881
+vn -0.900189 -0.429462 -0.072267
+vn 0.581385 -0.404435 0.705991
+vn -0.254096 -0.630711 0.733238
+vn 0.467116 -0.645343 0.604429
+vn -0.157699 -0.848006 0.505982
+vn 0.581385 -0.404435 0.705991
+vn 0.467116 -0.645343 0.604429
+vn 0.900453 -0.211708 0.379952
+vn 0.731152 -0.631689 0.257655
+vn 0.900453 -0.211708 0.379952
+vn 0.731152 -0.631689 0.257655
+vn 0.975908 -0.136873 -0.169911
+vn 0.873332 -0.417770 -0.250518
+vn 0.305975 -0.098441 -0.946936
+vn -0.603114 -0.063343 -0.795136
+vn 0.174904 -0.827820 -0.533031
+vn -0.756108 -0.287422 -0.587953
+vn 0.975908 -0.136873 -0.169911
+vn 0.873332 -0.417770 -0.250518
+vn 0.305975 -0.098441 -0.946936
+vn 0.280028 -0.562874 -0.777661
+vn -0.691598 -0.099463 -0.715402
+vn 0.266202 -0.207285 -0.941366
+vn -0.560375 -0.492426 -0.665956
+vn 0.208853 -0.709160 -0.673404
+vn -0.786560 -0.255997 -0.561951
+vn -0.796147 -0.479872 -0.368610
+vn -0.601439 -0.743988 -0.291125
+vn -0.757556 -0.560224 -0.335048
+vn -0.886378 -0.440307 -0.143050
+vn -0.622505 -0.724949 -0.294851
+vn -0.814934 -0.474782 -0.332363
+vn -0.771174 -0.538661 -0.339316
+vn -0.886378 -0.440307 -0.143050
+vn -0.927712 -0.061842 -0.368140
+vn -0.931724 -0.363157 0.002664
+vn -0.914836 -0.154517 -0.373095
+vn -0.103744 -0.896023 0.431718
+vn 0.036664 -0.997736 -0.056381
+vn 0.540813 -0.667962 0.511223
+vn 0.713174 -0.655088 0.249485
+vn 0.713174 -0.655088 0.249485
+vn 0.036664 -0.997736 -0.056381
+vn 0.831272 -0.544267 -0.112961
+vn 0.208853 -0.709160 -0.673404
+vn -0.801629 -0.501355 -0.325629
+vn -0.818493 -0.465510 -0.336705
+vn -0.862566 -0.494272 -0.108052
+vn -0.928137 -0.068478 -0.365886
+vn -0.682442 -0.657038 -0.320271
+vn -0.519780 -0.472822 -0.711525
+vn 0.025128 -0.997713 -0.062747
+vn 0.189514 -0.671000 -0.716829
+vn 0.705533 -0.390467 0.591405
+vn 0.648589 -0.720568 0.245181
+vn -0.156125 -0.805922 0.571065
+vn 0.035742 -0.999124 -0.021757
+vn 0.971366 -0.217390 0.095859
+vn 0.286450 -0.420658 -0.860810
+vn 0.648589 -0.720568 0.245181
+vn 0.035742 -0.999124 -0.021757
+vn 0.651249 -0.350142 0.673258
+vn 0.722685 -0.375372 0.580364
+vn -0.187775 -0.614480 0.766260
+vn -0.116165 -0.821097 0.558844
+vn 0.041970 -0.999079 0.008960
+vn 0.270165 -0.607246 -0.747170
+vn -0.683429 -0.663239 -0.305023
+vn -0.727160 -0.230704 -0.646541
+vn 0.909476 -0.184061 0.372793
+vn 0.748091 -0.613011 0.254121
+vn 0.948681 -0.105760 -0.298024
+vn 0.857976 -0.396462 -0.326641
+vn 0.534660 -0.336065 0.775370
+vn -0.214804 -0.512800 0.831201
+vn 0.456720 -0.588096 0.667495
+vn -0.128503 -0.791293 0.597781
+vn -0.214804 -0.512800 0.831201
+vn -0.107433 -0.745979 0.657247
+vn -0.894559 -0.368544 0.252862
+vn -0.829931 -0.554033 -0.065290
+vn 0.592912 -0.331623 -0.733813
+vn 0.758102 -0.112102 -0.642429
+vn -0.156553 -0.202637 -0.966659
+vn -0.146490 -0.053141 -0.987784
+vn 0.592912 -0.331623 -0.733813
+vn -0.012407 -0.510539 -0.859765
+vn -0.014163 -0.913923 -0.405640
+vn -0.307365 -0.466673 -0.829303
+vn -0.014163 -0.913923 -0.405640
+vn -0.307365 -0.466673 -0.829303
+vn -0.829931 -0.554033 -0.065290
+vn -0.782265 -0.349168 -0.515890
+vn -0.420919 -0.758097 0.498112
+vn -0.765020 -0.607620 -0.213406
+vn -0.761033 -0.385958 0.521408
+vn -0.949731 -0.173993 -0.260263
+vn -0.094885 -0.961402 0.258269
+vn -0.184102 -0.948965 0.256071
+vn -0.257101 -0.814461 0.520147
+vn -0.360213 -0.778225 0.514404
+vn -0.528002 0.245371 0.813023
+vn -0.627405 0.042834 0.777514
+vn -0.514300 0.177769 0.838984
+vn -0.516709 -0.034468 0.855467
+vn -0.689404 -0.152706 -0.708098
+vn 0.317021 -0.316497 -0.894051
+vn -0.555604 -0.603860 -0.571540
+vn 0.195111 -0.826471 -0.528089
+vn -0.542331 -0.832427 -0.113765
+vn -0.791405 -0.341715 -0.506861
+vn -0.675974 -0.716362 -0.172871
+vn -0.750752 -0.617361 -0.235026
+vn -0.843069 -0.536840 -0.032206
+vn -0.542331 -0.832427 -0.113765
+vn -0.709273 -0.683694 -0.171739
+vn -0.675974 -0.716362 -0.172871
+vn -0.843069 -0.536840 -0.032206
+vn -0.930521 -0.089169 -0.355218
+vn -0.921698 -0.387143 0.024357
+vn -0.917206 -0.194525 -0.347696
+vn -0.146565 -0.858898 0.490726
+vn -0.705810 -0.699427 0.112402
+vn -0.017130 -0.994907 0.099333
+vn -0.685996 -0.696640 -0.210007
+vn -0.918771 -0.391387 0.051738
+vn -0.918787 -0.186450 -0.347946
+vn -0.705810 -0.699427 0.112402
+vn -0.685996 -0.696640 -0.210007
+vn -0.913202 -0.168189 -0.371180
+vn -0.655254 -0.107502 -0.747720
+vn -0.682442 -0.657038 -0.320271
+vn -0.519780 -0.472822 -0.711525
+vn -0.782189 -0.584991 -0.214396
+vn -0.747637 -0.624367 -0.226285
+vn -0.348701 -0.937204 0.007528
+vn -0.358364 -0.933465 -0.014767
+vn -0.747637 -0.624367 -0.226285
+vn -0.786892 -0.537806 -0.302599
+vn -0.358364 -0.933465 -0.014767
+vn -0.356174 -0.931418 -0.074842
+vn -0.788037 -0.307667 -0.533235
+vn -0.928137 -0.068478 -0.365886
+vn -0.786892 -0.537806 -0.302599
+vn -0.818493 -0.465510 -0.336705
+vn -0.798464 -0.552104 -0.240075
+vn -0.782189 -0.584991 -0.214396
+vn -0.332849 -0.942866 0.014694
+vn -0.348701 -0.937204 0.007528
+vn -0.798464 -0.552104 -0.240075
+vn -0.750752 -0.617361 -0.235026
+vn -0.930567 -0.077426 -0.357841
+vn -0.791405 -0.341715 -0.506861
+vn -0.930567 -0.077426 -0.357841
+vn -0.791405 -0.341715 -0.506861
+vn -0.918787 -0.186450 -0.347946
+vn -0.689404 -0.152706 -0.708098
+vn 0.618940 0.715661 0.323638
+vn 0.351063 0.914438 0.201390
+vn 0.667076 0.726133 0.166556
+vn 0.503027 0.862869 0.049203
+vn -0.613800 -0.779392 -0.125688
+vn -0.685739 -0.704123 -0.184318
+vn -0.270240 -0.961654 0.046827
+vn -0.269835 -0.961780 0.046569
+vn -0.786988 -0.365698 -0.496906
+vn -0.930521 -0.089169 -0.355218
+vn -0.685739 -0.704123 -0.184318
+vn -0.733127 -0.651070 -0.196555
+vn -0.917206 -0.194525 -0.347696
+vn -0.690506 -0.163857 -0.704523
+vn -0.677223 -0.706078 -0.206935
+vn -0.553698 -0.632669 -0.541432
+vn 0.448681 0.488052 -0.748660
+vn -0.709144 0.200082 -0.676079
+vn 0.320268 0.803586 -0.501675
+vn -0.463405 0.671133 -0.578650
+vn -0.785424 0.369743 -0.496387
+vn -0.927941 0.065783 -0.366875
+vn -0.709144 0.200082 -0.676079
+vn -0.908286 0.201027 -0.366885
+vn -0.898697 0.287244 -0.331414
+vn -0.693852 0.665241 -0.275725
+vn -0.892706 0.226722 -0.389452
+vn -0.664493 0.677853 -0.314587
+vn -0.243176 0.451407 0.858544
+vn -0.088852 0.931517 0.352679
+vn -0.942665 0.330435 -0.046852
+vn -0.729401 0.667596 -0.149298
+vn -0.243176 0.451407 0.858544
+vn -0.318873 0.125716 0.939423
+vn 0.769916 0.269538 0.578428
+vn 0.772469 0.304211 0.557447
+vn -0.244472 -0.940516 0.235930
+vn -0.325619 -0.942848 0.070779
+vn -0.104857 -0.976024 0.190739
+vn -0.155071 -0.980670 0.119330
+vn -0.325619 -0.942848 0.070779
+vn -0.295110 -0.955075 0.027248
+vn -0.155071 -0.980670 0.119330
+vn -0.130056 -0.984880 0.114441
+vn -0.170589 -0.868492 0.465425
+vn -0.705925 -0.702991 0.086449
+vn -0.021225 -0.994698 0.100629
+vn -0.677223 -0.706078 -0.206935
+vn 0.664139 0.466885 0.583899
+vn 0.883652 0.284201 0.372008
+vn 0.495230 0.752978 0.433327
+vn 0.649670 0.723388 0.233749
+vn 0.664139 0.466885 0.583899
+vn -0.197210 0.810252 0.551906
+vn 0.720772 0.503611 0.476303
+vn -0.044261 0.969750 0.240052
+vn 0.720772 0.503611 0.476303
+vn 0.636768 0.739562 0.218115
+vn 0.887958 0.226039 0.400546
+vn 0.817261 0.479919 0.319001
+vn 0.809248 0.406397 0.424215
+vn 0.795508 0.414516 0.441977
+vn 0.770135 0.450087 0.452011
+vn 0.782682 0.437018 0.443197
+vn 0.849454 0.325787 0.415079
+vn 0.806561 0.373690 0.458057
+vn 0.851439 0.258052 0.456576
+vn 0.856696 0.377049 0.352003
+vn 0.917007 0.215450 0.335678
+vn 0.854483 0.373172 0.361389
+vn 0.906882 0.140344 0.397326
+vn -0.547923 -0.390550 0.739764
+vn -0.569063 -0.382400 0.727968
+vn -0.000641 -0.460155 0.887838
+vn 0.000000 -0.467254 0.884123
+vn -0.547923 -0.390550 0.739764
+vn -0.578644 -0.450482 0.679880
+vn -0.926266 -0.169677 0.336513
+vn -0.935928 -0.241420 0.256429
+vn -0.578644 -0.450482 0.679880
+vn -0.641622 -0.561115 0.522945
+vn -0.935928 -0.241420 0.256429
+vn -0.932708 -0.341960 0.114538
+vn -0.641622 -0.561115 0.522945
+vn -0.629255 -0.724739 0.280699
+vn -0.932708 -0.341960 0.114538
+vn -0.905144 -0.425075 0.005000
+vn -0.485335 -0.869509 0.091679
+vn -0.806532 -0.590230 -0.033683
+vn -0.629255 -0.724739 0.280699
+vn -0.905144 -0.425075 0.005000
+vn -0.485335 -0.869509 0.091679
+vn -0.085630 -0.957204 0.276455
+vn -0.406451 -0.913557 0.014560
+vn -0.043392 -0.989535 0.137614
+vn 0.363986 -0.885661 0.288303
+vn 0.309959 -0.919579 0.241455
+vn -0.043392 -0.989535 0.137614
+vn -0.037079 -0.991725 0.122909
+vn 0.668401 -0.635665 0.386226
+vn 0.787558 -0.427864 0.443492
+vn 0.323910 -0.894552 0.307993
+vn 0.548966 -0.674209 0.494042
+vn 0.787558 -0.427864 0.443492
+vn 0.840771 -0.242574 0.484007
+vn 0.548966 -0.674209 0.494042
+vn 0.626996 -0.451095 0.635129
+vn 0.445607 0.711802 -0.542930
+vn 0.000000 0.775287 -0.631609
+vn 0.433943 0.610832 -0.662252
+vn 0.000000 0.665411 -0.746477
+vn 0.005051 0.550804 -0.834619
+vn 0.000000 0.665411 -0.746477
+vn -0.418344 0.500828 -0.757733
+vn -0.433943 0.610831 -0.662253
+vn -0.060961 -0.011486 -0.998074
+vn -0.320254 0.237018 -0.917202
+vn -0.478081 -0.040997 -0.877358
+vn -0.898766 0.082448 -0.430606
+vn -0.291871 -0.063247 -0.954364
+vn -0.478081 -0.040997 -0.877358
+vn -0.855965 0.044644 -0.515102
+vn -0.864621 0.042310 -0.500640
+vn -0.843336 -0.016951 -0.537119
+vn -0.855965 0.044644 -0.515102
+vn -0.940556 -0.006223 -0.339582
+vn -0.952529 0.001944 -0.304441
+vn -0.843336 -0.016951 -0.537119
+vn -0.940556 -0.006223 -0.339582
+vn -0.832354 -0.091256 -0.546680
+vn -0.949358 -0.081767 -0.303370
+vn -0.832354 -0.091256 -0.546680
+vn -0.949358 -0.081767 -0.303370
+vn -0.787978 -0.074546 -0.611174
+vn -0.942764 -0.102519 -0.317311
+vn -0.787978 -0.074546 -0.611174
+vn -0.942764 -0.102519 -0.317311
+vn -0.746345 0.123247 -0.654049
+vn -0.923249 0.104826 -0.369625
+vn -0.785298 0.498689 -0.366901
+vn -0.923249 0.104826 -0.369625
+vn -0.859713 0.470849 -0.197977
+vn -0.972357 0.129605 -0.194228
+vn -0.400099 0.846628 -0.350915
+vn -0.614751 0.743723 -0.262598
+vn -0.066587 0.988486 -0.135877
+vn -0.054445 0.998082 -0.029477
+vn -0.993558 0.017081 -0.112031
+vn -0.987710 -0.120460 -0.099592
+vn -0.981045 -0.077715 -0.177511
+vn -0.955410 -0.245476 -0.164111
+vn -0.974658 0.137836 -0.176192
+vn -0.933599 0.267552 -0.238346
+vn -0.993558 0.017081 -0.112031
+vn -0.859870 0.476695 -0.182719
+vn -0.959072 -0.225294 -0.171535
+vn -0.945198 -0.326270 -0.012155
+vn -0.877018 -0.348924 -0.330291
+vn -0.721475 -0.684345 -0.105572
+vn -0.998777 0.034826 -0.035103
+vn -0.913248 0.394656 0.101116
+vn -0.945198 -0.326270 -0.012155
+vn -0.985465 -0.169274 -0.014311
+vn -0.837964 0.541254 0.069717
+vn -0.670772 0.724816 0.157185
+vn -0.913248 0.394656 0.101116
+vn -0.859231 0.507821 -0.061970
+vn -0.977824 0.191661 -0.084419
+vn -0.884137 -0.436393 -0.166923
+vn -0.670772 0.724816 0.157185
+vn -0.786047 0.607746 0.113031
+vn -0.729060 -0.590593 -0.345936
+vn -0.895500 -0.261819 -0.359904
+vn -0.743116 -0.618402 -0.255649
+vn -0.884137 -0.436393 -0.166923
+vn -0.907508 -0.160824 -0.388028
+vn -0.908154 -0.059141 -0.414437
+vn -0.699390 -0.647625 -0.302384
+vn -0.741958 -0.613541 -0.270305
+vn -0.729060 -0.590593 -0.345936
+vn -0.690060 -0.605676 -0.396199
+vn -0.895500 -0.261819 -0.359904
+vn -0.861513 -0.117649 -0.493918
+vn -0.871994 -0.281463 0.400506
+vn -0.616294 -0.722155 0.314124
+vn -0.972146 -0.049385 -0.229116
+vn -0.785295 -0.618877 -0.017411
+vn -0.925617 -0.343807 -0.158211
+vn -0.919469 -0.372453 -0.125921
+vn -0.961160 -0.225268 -0.159456
+vn -0.981794 -0.181018 -0.057567
+vn -0.961160 -0.225268 -0.159456
+vn -0.981794 -0.181018 -0.057567
+vn -0.972194 -0.196287 -0.127713
+vn -0.993838 -0.096222 0.055027
+vn -0.848153 0.220849 -0.481521
+vn -0.850713 -0.329971 -0.409153
+vn -0.943303 0.143090 -0.299509
+vn -0.958837 -0.126537 -0.254205
+vn -0.933850 -0.163072 -0.318327
+vn -0.924186 -0.332393 -0.188138
+vn -0.850713 -0.329971 -0.409153
+vn -0.867206 -0.448506 -0.216327
+vn -0.961088 -0.192310 -0.198309
+vn -0.958342 -0.274919 -0.077462
+vn -0.924186 -0.332393 -0.188138
+vn -0.925336 -0.378346 -0.024668
+vn 0.761767 -0.468906 0.447033
+vn 0.796369 -0.520620 0.307817
+vn 0.472752 -0.810538 0.345736
+vn 0.484165 -0.861827 0.151122
+vn -0.988105 -0.083632 0.129050
+vn -0.879423 0.476024 -0.004130
+vn -0.998830 -0.028674 -0.038940
+vn -0.972515 0.158791 -0.170296
+vn -0.879423 0.476024 -0.004130
+vn -0.864681 0.484214 -0.133654
+vn -0.972515 0.158791 -0.170296
+vn -0.978337 0.102847 -0.179665
+vn 0.027569 -0.999161 -0.030274
+vn 0.269719 -0.665956 -0.695524
+vn -0.649067 -0.697779 -0.303013
+vn -0.774425 -0.205804 -0.598256
+vn 0.903912 -0.197307 0.379490
+vn 0.912421 -0.104054 0.395803
+vn 0.625645 -0.366092 0.688873
+vn 0.705533 -0.390467 0.591405
+vn -0.603114 -0.063343 -0.795136
+vn 0.305975 -0.098441 -0.946936
+vn -0.480688 -0.367266 -0.796276
+vn 0.280028 -0.562874 -0.777661
+vn -0.756108 -0.287422 -0.587953
+vn -0.804316 -0.460970 -0.374943
+vn -0.622505 -0.724949 -0.294851
+vn -0.771174 -0.538661 -0.339316
+vn -0.560375 -0.492426 -0.665956
+vn -0.700799 -0.633925 -0.327139
+vn -0.691598 -0.099463 -0.715402
+vn -0.914836 -0.154517 -0.373095
+vn -0.691598 -0.099463 -0.715402
+vn -0.914836 -0.154517 -0.373095
+vn -0.786560 -0.255997 -0.561951
+vn -0.927712 -0.061842 -0.368140
+vn -0.786560 -0.255997 -0.561951
+vn -0.927712 -0.061842 -0.368140
+vn -0.796147 -0.479872 -0.368610
+vn -0.830021 -0.429284 -0.356063
+vn -0.814934 -0.474782 -0.332363
+vn -0.830021 -0.429284 -0.356063
+vn -0.886378 -0.440307 -0.143050
+vn -0.927712 -0.061842 -0.368140
+vn -0.103744 -0.896023 0.431718
+vn -0.737123 -0.675476 0.019550
+vn 0.036664 -0.997736 -0.056381
+vn -0.700799 -0.633925 -0.327139
+vn -0.931724 -0.363157 0.002664
+vn -0.914836 -0.154517 -0.373095
+vn -0.737123 -0.675476 0.019550
+vn -0.700799 -0.633925 -0.327139
+vn -0.818493 -0.465510 -0.336705
+vn -0.801629 -0.501355 -0.325629
+vn -0.351445 -0.923768 -0.152117
+vn -0.352481 -0.916215 -0.190544
+vn -0.801629 -0.501355 -0.325629
+vn -0.757556 -0.560224 -0.335048
+vn -0.352481 -0.916215 -0.190544
+vn -0.348989 -0.916303 -0.196456
+vn -0.156125 -0.805922 0.571065
+vn -0.227156 -0.610856 0.758456
+vn 0.705533 -0.390467 0.591405
+vn 0.625645 -0.366092 0.688873
+vn 0.971366 -0.217390 0.095859
+vn 0.988176 -0.068884 -0.136976
+vn 0.286450 -0.420658 -0.860810
+vn 0.301654 0.003045 -0.953413
+vn -0.187775 -0.614480 0.766260
+vn -0.099761 -0.859535 0.501246
+vn 0.651249 -0.350142 0.673258
+vn 0.553528 -0.603486 0.573944
+vn 0.651249 -0.350142 0.673258
+vn 0.553528 -0.603486 0.573944
+vn 0.906341 -0.187288 0.378773
+vn 0.762735 -0.585831 0.273930
+vn 0.906341 -0.187288 0.378773
+vn 0.762735 -0.585831 0.273930
+vn 0.988176 -0.068884 -0.136976
+vn 0.892933 -0.421394 -0.158423
+vn -0.116165 -0.821097 0.558844
+vn -0.929741 -0.357324 -0.088893
+vn -0.187775 -0.614480 0.766260
+vn -0.941527 -0.330074 0.067668
+vn 0.041970 -0.999079 0.008960
+vn -0.683429 -0.663239 -0.305023
+vn -0.116165 -0.821097 0.558844
+vn -0.929741 -0.357324 -0.088893
+vn 0.314999 -0.071118 -0.946424
+vn -0.530711 -0.063166 -0.845196
+vn 0.270165 -0.607246 -0.747170
+vn -0.727160 -0.230704 -0.646541
+vn 0.948681 -0.105760 -0.298024
+vn 0.857976 -0.396462 -0.326641
+vn 0.314999 -0.071118 -0.946424
+vn 0.303259 -0.548269 -0.779382
+vn -0.894559 -0.368544 0.252862
+vn -0.732578 -0.632526 0.251477
+vn -0.214804 -0.512800 0.831201
+vn -0.128503 -0.791293 0.597781
+vn -0.829931 -0.554033 -0.065290
+vn -0.927399 -0.065924 -0.368218
+vn -0.894559 -0.368544 0.252862
+vn -0.917804 -0.157366 -0.364517
+vn 0.748091 -0.613011 0.254121
+vn 0.456720 -0.588096 0.667495
+vn 0.095502 -0.994536 -0.042165
+vn -0.128503 -0.791293 0.597781
+vn -0.156553 -0.202637 -0.966659
+vn -0.027400 -0.588294 -0.808183
+vn 0.592912 -0.331623 -0.733813
+vn -0.012407 -0.510539 -0.859765
+vn 0.758102 -0.112102 -0.642429
+vn 0.937682 -0.189876 0.291033
+vn 0.672524 -0.362643 -0.645137
+vn 0.786087 -0.586142 0.196225
+vn 0.120983 -0.399556 0.908690
+vn 0.104481 -0.677233 0.728313
+vn 0.647767 -0.281365 0.707977
+vn 0.586827 -0.460547 0.665981
+vn 0.647767 -0.281365 0.707977
+vn 0.586827 -0.460547 0.665981
+vn 0.937682 -0.189876 0.291033
+vn 0.786087 -0.586142 0.196225
+vn -0.761033 -0.385958 0.521408
+vn -0.597416 -0.595190 0.537441
+vn 0.120983 -0.399556 0.908690
+vn 0.104481 -0.677233 0.728313
+vn -0.420919 -0.758097 0.498112
+vn 0.030858 -0.786884 0.616329
+vn -0.765020 -0.607620 -0.213406
+vn 0.760049 -0.605931 0.234890
+vn -0.257101 -0.814461 0.520147
+vn -0.360213 -0.778225 0.514404
+vn 0.030858 -0.786884 0.616329
+vn -0.538699 -0.492147 0.683809
+vn -0.516709 -0.034468 0.855467
+vn -0.627405 0.042834 0.777514
+vn -0.380646 -0.730377 0.567149
+vn -0.503101 -0.673966 0.540979
+vn -0.380646 -0.730377 0.567149
+vn -0.503101 -0.673966 0.540979
+vn -0.184102 -0.948965 0.256071
+vn -0.218060 -0.953013 0.210278
+vn 0.956113 0.228267 0.183692
+vn 0.667076 0.726133 0.166556
+vn 0.921778 0.351266 -0.164125
+vn 0.503027 0.862869 0.049203
+vn -0.555604 -0.603860 -0.571540
+vn -0.685996 -0.696640 -0.210007
+vn -0.689404 -0.152706 -0.708098
+vn -0.918787 -0.186450 -0.347946
+vn -0.709273 -0.683694 -0.171739
+vn -0.733127 -0.651070 -0.196555
+vn -0.843069 -0.536840 -0.032206
+vn -0.930521 -0.089169 -0.355218
+vn 0.195111 -0.826471 -0.528089
+vn -0.017130 -0.994907 0.099333
+vn -0.555604 -0.603860 -0.571540
+vn -0.685996 -0.696640 -0.210007
+vn -0.332849 -0.942866 0.014694
+vn -0.317555 -0.947995 0.021553
+vn -0.798464 -0.552104 -0.240075
+vn -0.750752 -0.617361 -0.235026
+vn 0.514789 -0.210957 0.830957
+vn 0.739087 -0.147687 0.657221
+vn 0.374980 0.782137 0.497646
+vn 0.745048 0.480136 0.463004
+vn 0.374980 0.782137 0.497646
+vn 0.745048 0.480136 0.463004
+vn 0.351063 0.914438 0.201390
+vn 0.660942 0.696302 0.279855
+vn -0.677223 -0.706078 -0.206935
+vn -0.705925 -0.702991 0.086449
+vn -0.917206 -0.194525 -0.347696
+vn -0.921698 -0.387143 0.024357
+vn -0.295110 -0.955075 0.027248
+vn -0.270240 -0.961654 0.046827
+vn -0.130056 -0.984880 0.114441
+vn -0.133961 -0.985096 0.107888
+vn -0.927941 0.065783 -0.366875
+vn -0.910466 0.175059 -0.374709
+vn -0.882668 0.438279 -0.169732
+vn -0.905073 0.233972 -0.355106
+vn -0.892706 0.226722 -0.389452
+vn -0.664493 0.677853 -0.314587
+vn -0.910466 0.175059 -0.374709
+vn -0.652734 0.690653 -0.311347
+vn 0.649670 0.723388 0.233749
+vn 0.776505 0.629572 -0.026050
+vn 0.098435 0.995105 -0.008726
+vn 0.320268 0.803586 -0.501675
+vn -0.243176 0.451407 0.858544
+vn 0.769916 0.269538 0.578428
+vn -0.088852 0.931517 0.352679
+vn 0.662335 0.644683 0.381701
+vn -0.088852 0.931517 0.352679
+vn 0.020977 0.999715 -0.011373
+vn -0.729401 0.667596 -0.149298
+vn -0.693852 0.665241 -0.275725
+vn -0.324191 -0.104786 0.940170
+vn -0.215515 -0.093260 0.972037
+vn 0.453986 0.837894 0.303035
+vn 0.123346 0.991752 0.034829
+vn -0.244472 -0.940516 0.235930
+vn -0.093739 -0.947012 0.307215
+vn -0.215515 -0.093260 0.972037
+vn -0.118433 0.940539 0.318370
+vn -0.244472 -0.940516 0.235930
+vn -0.104857 -0.976024 0.190739
+vn -0.093739 -0.947012 0.307215
+vn -0.071333 -0.971644 0.225431
+vn 0.769916 0.269538 0.578428
+vn 0.772469 0.304211 0.557447
+vn 0.903175 0.218732 0.369366
+vn 0.871024 0.349071 0.345640
+vn 0.772469 0.304211 0.557447
+vn 0.453986 0.837894 0.303035
+vn 0.871024 0.349071 0.345640
+vn 0.525423 0.836534 0.155378
+vn -0.677223 -0.706078 -0.206935
+vn -0.553698 -0.632669 -0.541432
+vn -0.021225 -0.994698 0.100629
+vn 0.200186 -0.850849 -0.485780
+vn 0.495230 0.752978 0.433327
+vn -0.080856 0.937857 0.337470
+vn 0.664139 0.466885 0.583899
+vn -0.197210 0.810252 0.551906
+vn 0.649670 0.723388 0.233749
+vn 0.098435 0.995105 -0.008726
+vn 0.495230 0.752978 0.433327
+vn -0.080856 0.937857 0.337470
+vn 0.720772 0.503611 0.476303
+vn -0.044261 0.969750 0.240052
+vn 0.636768 0.739562 0.218115
+vn 0.066068 0.997241 -0.033852
+vn 0.817261 0.479919 0.319001
+vn 0.636768 0.739562 0.218115
+vn 0.918597 0.203312 0.338885
+vn 0.943703 0.282237 0.172532
+vn 0.809248 0.406397 0.424215
+vn 0.899009 0.188535 0.395269
+vn 0.795508 0.414516 0.441977
+vn 0.873071 0.210883 0.439632
+vn 0.816796 0.364210 0.447433
+vn 0.782682 0.437018 0.443197
+vn 0.817221 0.389627 0.424666
+vn 0.806561 0.373690 0.458057
+vn 0.795508 0.414516 0.441977
+vn 0.888767 0.109499 0.445087
+vn 0.810652 0.329945 0.483715
+vn 0.854091 0.235960 0.463521
+vn 0.810652 0.329945 0.483715
+vn 0.637316 0.546541 0.543251
+vn 0.840771 -0.242574 0.484007
+vn 0.626996 -0.451095 0.635129
+vn 0.906882 0.140344 0.397326
+vn 0.917007 0.215450 0.335678
+vn 0.912883 0.085352 0.399200
+vn 0.949250 0.273132 0.155960
+vn 0.851439 0.258052 0.456576
+vn 0.906882 0.140344 0.397326
+vn 0.705844 0.363153 0.608197
+vn 0.912883 0.085352 0.399200
+vn -0.569063 -0.382400 0.727968
+vn -0.547923 -0.390550 0.739764
+vn -0.925691 -0.156523 0.344379
+vn -0.926266 -0.169677 0.336513
+vn 0.569062 -0.382400 0.727969
+vn 0.000000 -0.467254 0.884123
+vn 0.549038 -0.388357 0.740092
+vn -0.019772 -0.497438 0.867274
+vn -0.806532 -0.590230 -0.033683
+vn -0.485335 -0.869509 0.091679
+vn -0.789505 -0.608855 -0.077309
+vn -0.406451 -0.913557 0.014560
+vn -0.406451 -0.913557 0.014560
+vn -0.043392 -0.989535 0.137614
+vn -0.379515 -0.924915 0.022367
+vn -0.037079 -0.991725 0.122909
+vn 0.309959 -0.919579 0.241455
+vn 0.323910 -0.894552 0.307993
+vn -0.037079 -0.991725 0.122909
+vn -0.090938 -0.953848 0.286191
+vn 0.913404 -0.135144 0.383965
+vn 0.549038 -0.388357 0.740092
+vn 0.747838 -0.184592 0.637702
+vn 0.422025 -0.418765 0.804071
+vn 0.991823 0.054135 0.115572
+vn 0.913404 -0.135144 0.383965
+vn 0.933480 0.115488 0.339526
+vn 0.747838 -0.184592 0.637702
+vn 0.933516 0.327922 -0.144967
+vn 0.991823 0.054135 0.115572
+vn 0.879170 0.425879 0.213748
+vn 0.933480 0.115488 0.339526
+vn 0.445607 0.711802 -0.542930
+vn 0.933516 0.327922 -0.144967
+vn 0.456374 0.875676 -0.157844
+vn 0.879170 0.425879 0.213748
+vn 0.000000 0.775287 -0.631609
+vn 0.445607 0.711802 -0.542930
+vn 0.000000 0.959054 -0.283225
+vn 0.456374 0.875676 -0.157844
+vn 0.000000 0.665411 -0.746477
+vn 0.000000 0.775287 -0.631609
+vn -0.433943 0.610831 -0.662253
+vn -0.448858 0.707847 -0.545416
+vn -0.320254 0.237018 -0.917202
+vn -0.418344 0.500828 -0.757733
+vn -0.898766 0.082448 -0.430606
+vn -0.917223 0.235908 -0.321013
+vn -0.942764 -0.102519 -0.317311
+vn -0.978900 -0.081638 -0.187321
+vn -0.923249 0.104826 -0.369625
+vn -0.972357 0.129605 -0.194228
+vn -0.859713 0.470849 -0.197977
+vn -0.881325 0.421686 -0.213182
+vn -0.951730 0.154665 -0.265122
+vn -0.908976 -0.253874 -0.330622
+vn -0.951730 0.154665 -0.265122
+vn -0.908976 -0.253874 -0.330622
+vn -0.741958 -0.613541 -0.270305
+vn -0.699390 -0.647625 -0.302384
+vn -0.959072 -0.225294 -0.171535
+vn -0.877018 -0.348924 -0.330291
+vn -0.933599 0.267552 -0.238346
+vn -0.710961 0.642216 -0.286519
+vn -0.987710 -0.120460 -0.099592
+vn -0.993558 0.017081 -0.112031
+vn -0.873537 0.462139 -0.152843
+vn -0.859870 0.476695 -0.182719
+vn -0.987710 -0.120460 -0.099592
+vn -0.960357 -0.236587 -0.147445
+vn -0.955410 -0.245476 -0.164111
+vn -0.922183 -0.339876 -0.184560
+vn -0.955410 -0.245476 -0.164111
+vn -0.922183 -0.339876 -0.184560
+vn -0.971708 -0.076275 -0.223530
+vn -0.917954 -0.342492 -0.200148
+vn -0.884137 -0.436393 -0.166923
+vn -0.895500 -0.261819 -0.359904
+vn -0.786047 0.607746 0.113031
+vn -0.621296 0.757265 -0.201348
+vn -0.690060 -0.605676 -0.396199
+vn -0.699390 -0.647625 -0.302384
+vn -0.861513 -0.117649 -0.493918
+vn -0.908976 -0.253874 -0.330622
+vn -0.971708 -0.076275 -0.223530
+vn -0.979621 -0.054501 -0.193319
+vn -0.972946 -0.072729 -0.219289
+vn -0.978900 -0.081638 -0.187321
+vn -0.967810 -0.019463 -0.250927
+vn -0.972946 -0.072729 -0.219289
+vn -0.963656 -0.010663 -0.266933
+vn -0.949358 -0.081767 -0.303370
+vn -0.972146 -0.049385 -0.229116
+vn -0.963656 -0.010663 -0.266933
+vn -0.968187 0.003180 -0.250209
+vn -0.957609 -0.004583 -0.288036
+vn -0.785295 -0.618877 -0.017411
+vn -0.616294 -0.722155 0.314124
+vn -0.409416 -0.894418 0.179985
+vn -0.767465 -0.594058 0.241024
+vn -0.883420 -0.456587 -0.105348
+vn -0.785295 -0.618877 -0.017411
+vn -0.038404 -0.981796 0.186016
+vn -0.409416 -0.894418 0.179985
+vn -0.931025 -0.328896 -0.158175
+vn -0.883420 -0.456587 -0.105348
+vn -0.042785 -0.994782 0.092622
+vn -0.042987 -0.994540 0.095090
+vn -0.943303 0.143090 -0.299509
+vn -0.999614 0.025663 0.010608
+vn -0.967949 0.181684 -0.173395
+vn -0.881667 -0.468607 -0.055410
+vn 0.514789 -0.210957 0.830957
+vn 0.472752 -0.810538 0.345736
+vn 0.739087 -0.147687 0.657221
+vn 0.765222 -0.515868 0.385117
+vn 0.875041 -0.440339 0.201008
+vn 0.693608 -0.718405 0.052936
+vn 0.796369 -0.520620 0.307817
+vn 0.484165 -0.861827 0.151122
+vn 0.956113 0.228267 0.183692
+vn 0.921778 0.351266 -0.164125
+vn 0.875041 -0.440339 0.201008
+vn 0.693608 -0.718405 0.052936
+vn -0.937010 -0.052806 0.345289
+vn -0.981794 -0.181018 -0.057567
+vn -0.869798 -0.471178 0.146433
+vn -0.919469 -0.372453 -0.125921
+vn -0.627405 0.042834 0.777514
+vn -0.937010 -0.052806 0.345289
+vn -0.503101 -0.673966 0.540979
+vn -0.869798 -0.471178 0.146433
+vn -0.988105 -0.083632 0.129050
+vn -0.998830 -0.028674 -0.038940
+vn -0.890305 -0.453699 -0.038909
+vn -0.980114 -0.136108 -0.144401
+vn -0.925336 -0.378346 -0.024668
+vn -0.890305 -0.453699 -0.038909
+vn -0.924186 -0.332393 -0.188138
+vn -0.867206 -0.448506 -0.216327
+vn -0.967949 0.181684 -0.173395
+vn -0.881667 -0.468607 -0.055410
+vn -0.978337 0.102847 -0.179665
+vn -0.832557 -0.520297 -0.190105
+vn 0.903912 -0.197307 0.379490
+vn 0.748591 -0.606403 0.268119
+vn 0.986743 -0.100599 -0.127350
+vn 0.885697 -0.431979 -0.170102
+vn 0.340808 -0.052396 -0.938672
+vn -0.635003 -0.036998 -0.771623
+vn 0.269719 -0.665956 -0.695524
+vn -0.774425 -0.205804 -0.598256
+vn 0.986743 -0.100599 -0.127350
+vn 0.885697 -0.431979 -0.170102
+vn 0.340808 -0.052396 -0.938672
+vn 0.290112 -0.607986 -0.739046
+vn 0.625645 -0.366092 0.688873
+vn 0.524221 -0.625753 0.577603
+vn 0.903912 -0.197307 0.379490
+vn 0.748591 -0.606403 0.268119
+vn -0.900189 -0.429462 -0.072267
+vn -0.649067 -0.697779 -0.303013
+vn -0.833203 -0.446542 -0.326148
+vn -0.789096 -0.509883 -0.342561
+vn -0.254096 -0.630711 0.733238
+vn -0.917922 -0.374675 0.130530
+vn -0.157699 -0.848006 0.505982
+vn -0.750619 -0.645715 0.140084
+vn -0.900189 -0.429462 -0.072267
+vn -0.928961 -0.059490 -0.365367
+vn -0.917922 -0.374675 0.130530
+vn -0.917768 -0.144613 -0.369850
+vn -0.157699 -0.848006 0.505982
+vn 0.050852 -0.996691 -0.063420
+vn 0.467116 -0.645343 0.604429
+vn 0.731152 -0.631689 0.257655
+vn 0.731152 -0.631689 0.257655
+vn 0.050852 -0.996691 -0.063420
+vn 0.873332 -0.417770 -0.250518
+vn 0.280028 -0.562874 -0.777661
+vn -0.480688 -0.367266 -0.796276
+vn -0.713462 -0.614501 -0.336690
+vn -0.603114 -0.063343 -0.795136
+vn -0.917768 -0.144613 -0.369850
+vn -0.603114 -0.063343 -0.795136
+vn -0.917768 -0.144613 -0.369850
+vn -0.756108 -0.287422 -0.587953
+vn -0.928961 -0.059490 -0.365367
+vn -0.756108 -0.287422 -0.587953
+vn -0.928961 -0.059490 -0.365367
+vn -0.804316 -0.460970 -0.374943
+vn -0.842655 -0.401147 -0.359185
+vn -0.700799 -0.633925 -0.327139
+vn -0.560375 -0.492426 -0.665956
+vn 0.036664 -0.997736 -0.056381
+vn 0.208853 -0.709160 -0.673404
+vn -0.757556 -0.560224 -0.335048
+vn -0.796147 -0.479872 -0.368610
+vn -0.348989 -0.916303 -0.196456
+vn -0.342836 -0.919276 -0.193377
+vn -0.814934 -0.474782 -0.332363
+vn -0.324274 -0.926258 -0.192072
+vn -0.830021 -0.429284 -0.356063
+vn -0.337097 -0.922114 -0.189927
+vn -0.771174 -0.538661 -0.339316
+vn -0.308663 -0.931768 -0.191145
+vn -0.814934 -0.474782 -0.332363
+vn -0.324274 -0.926258 -0.192072
+vn -0.351445 -0.923768 -0.152117
+vn -0.356174 -0.931418 -0.074842
+vn -0.818493 -0.465510 -0.336705
+vn -0.786892 -0.537806 -0.302599
+vn -0.156125 -0.805922 0.571065
+vn -0.931120 -0.357538 -0.071983
+vn -0.227156 -0.610856 0.758456
+vn -0.938536 -0.335461 0.081343
+vn 0.035742 -0.999124 -0.021757
+vn -0.678312 -0.661425 -0.320015
+vn -0.156125 -0.805922 0.571065
+vn -0.931120 -0.357538 -0.071983
+vn 0.035742 -0.999124 -0.021757
+vn 0.286450 -0.420658 -0.860810
+vn -0.678312 -0.661425 -0.320015
+vn -0.778847 -0.133758 -0.612786
+vn -0.187775 -0.614480 0.766260
+vn -0.941527 -0.330074 0.067668
+vn -0.099761 -0.859535 0.501246
+vn -0.776225 -0.626090 0.074066
+vn -0.530711 -0.063166 -0.845196
+vn 0.314999 -0.071118 -0.946424
+vn -0.419319 -0.386580 -0.821418
+vn 0.303259 -0.548269 -0.779382
+vn -0.727160 -0.230704 -0.646541
+vn -0.844068 -0.363039 -0.394654
+vn -0.683429 -0.663239 -0.305023
+vn -0.826920 -0.435431 -0.355813
+vn 0.748091 -0.613011 0.254121
+vn 0.095502 -0.994536 -0.042165
+vn 0.857976 -0.396462 -0.326641
+vn 0.303259 -0.548269 -0.779382
+vn -0.894559 -0.368544 0.252862
+vn -0.917804 -0.157366 -0.364517
+vn -0.732578 -0.632526 0.251477
+vn -0.694724 -0.646599 -0.315069
+vn -0.829931 -0.554033 -0.065290
+vn -0.782265 -0.349168 -0.515890
+vn -0.927399 -0.065924 -0.368218
+vn -0.858577 -0.322304 -0.398705
+vn -0.027400 -0.588294 -0.808183
+vn -0.156553 -0.202637 -0.966659
+vn 0.002517 -0.690720 -0.723118
+vn -0.443399 -0.530395 -0.722550
+vn -0.146490 -0.053141 -0.987784
+vn -0.671725 -0.072145 -0.737280
+vn -0.156553 -0.202637 -0.966659
+vn -0.443399 -0.530395 -0.722550
+vn 0.758102 -0.112102 -0.642429
+vn 0.672524 -0.362643 -0.645137
+vn -0.146490 -0.053141 -0.987784
+vn -0.100748 -0.465088 -0.879513
+vn -0.027400 -0.588294 -0.808183
+vn 0.037679 -0.870593 -0.490558
+vn -0.012407 -0.510539 -0.859765
+vn -0.225282 -0.804133 -0.550108
+vn -0.307365 -0.466673 -0.829303
+vn -0.012407 -0.510539 -0.859765
+vn -0.782265 -0.349168 -0.515890
+vn -0.225282 -0.804133 -0.550108
+vn -0.761033 -0.385958 0.521408
+vn -0.949731 -0.173993 -0.260263
+vn -0.597416 -0.595190 0.537441
+vn -0.778473 -0.592045 -0.208475
+vn -0.765020 -0.607620 -0.213406
+vn -0.443399 -0.530395 -0.722550
+vn -0.949731 -0.173993 -0.260263
+vn -0.671725 -0.072145 -0.737280
+vn -0.184102 -0.948965 0.256071
+vn -0.218060 -0.953013 0.210278
+vn -0.360213 -0.778225 0.514404
+vn -0.523743 -0.749646 0.404628
+vn -0.709273 -0.683694 -0.171739
+vn -0.675974 -0.716362 -0.172871
+vn -0.289490 -0.956578 0.033967
+vn -0.303331 -0.952478 0.027864
+vn -0.675974 -0.716362 -0.172871
+vn -0.750752 -0.617361 -0.235026
+vn -0.303331 -0.952478 0.027864
+vn -0.317555 -0.947995 0.021553
+vn -0.733127 -0.651070 -0.196555
+vn -0.709273 -0.683694 -0.171739
+vn -0.277067 -0.960002 0.040382
+vn -0.289490 -0.956578 0.033967
+vn -0.332849 -0.942866 0.014694
+vn -0.348701 -0.937204 0.007528
+vn -0.157133 -0.982914 0.095860
+vn -0.162098 -0.982293 0.093935
+vn -0.348701 -0.937204 0.007528
+vn -0.358364 -0.933465 -0.014767
+vn -0.162098 -0.982293 0.093935
+vn -0.161359 -0.984100 0.074239
+vn -0.358364 -0.933465 -0.014767
+vn -0.356174 -0.931418 -0.074842
+vn -0.161359 -0.984100 0.074239
+vn -0.148219 -0.988869 0.012982
+vn -0.317555 -0.947995 0.021553
+vn -0.332849 -0.942866 0.014694
+vn -0.152404 -0.983479 0.097685
+vn -0.157133 -0.982914 0.095860
+vn 0.503027 0.862869 0.049203
+vn 0.351063 0.914438 0.201390
+vn 0.815660 0.530039 0.231859
+vn 0.660942 0.696302 0.279855
+vn -0.270240 -0.961654 0.046827
+vn -0.269835 -0.961780 0.046569
+vn -0.133961 -0.985096 0.107888
+vn -0.137064 -0.985042 0.104428
+vn -0.685739 -0.704123 -0.184318
+vn -0.733127 -0.651070 -0.196555
+vn -0.269835 -0.961780 0.046569
+vn -0.277067 -0.960002 0.040382
+vn 0.320268 0.803586 -0.501675
+vn -0.463405 0.671133 -0.578650
+vn 0.098435 0.995105 -0.008726
+vn -0.583171 0.761337 -0.283333
+vn -0.463405 0.671133 -0.578650
+vn -0.709144 0.200082 -0.676079
+vn -0.583171 0.761337 -0.283333
+vn -0.908286 0.201027 -0.366885
+vn -0.908286 0.201027 -0.366885
+vn -0.927941 0.065783 -0.366875
+vn -0.910544 0.410715 -0.047139
+vn -0.882668 0.438279 -0.169732
+vn -0.693852 0.665241 -0.275725
+vn 0.020977 0.999715 -0.011373
+vn -0.664493 0.677853 -0.314587
+vn 0.049739 0.996975 -0.059731
+vn -0.088852 0.931517 0.352679
+vn 0.662335 0.644683 0.381701
+vn 0.020977 0.999715 -0.011373
+vn 0.716043 0.644706 0.267652
+vn -0.155071 -0.980670 0.119330
+vn -0.130056 -0.984880 0.114441
+vn -0.104857 -0.976024 0.190739
+vn -0.052897 -0.984633 0.166435
+vn 0.769916 0.269538 0.578428
+vn 0.903175 0.218732 0.369366
+vn 0.662335 0.644683 0.381701
+vn 0.716043 0.644706 0.267652
+vn -0.197210 0.810252 0.551906
+vn -0.080856 0.937857 0.337470
+vn -0.910544 0.410715 -0.047139
+vn -0.627650 0.778346 -0.015279
+vn -0.044261 0.969750 0.240052
+vn -0.197210 0.810252 0.551906
+vn -0.882668 0.438279 -0.169732
+vn -0.910544 0.410715 -0.047139
+vn 0.864811 0.363047 0.346842
+vn 0.918597 0.203312 0.338885
+vn 0.915480 0.097194 0.390449
+vn 0.943703 0.282237 0.172532
+vn 0.817221 0.389627 0.424666
+vn 0.806561 0.373690 0.458057
+vn 0.897190 0.353851 0.264272
+vn 0.459765 0.802024 0.381279
+vn 0.806561 0.373690 0.458057
+vn 0.851439 0.258052 0.456576
+vn 0.459765 0.802024 0.381279
+vn 0.705844 0.363153 0.608197
+vn 0.888767 0.109499 0.445087
+vn 0.795508 0.414516 0.441977
+vn 0.917574 0.063432 0.392471
+vn 0.837214 0.330625 0.435613
+vn 0.810652 0.329945 0.483715
+vn 0.547451 0.646025 0.531929
+vn 0.637316 0.546541 0.543251
+vn 0.058930 0.963107 0.262588
+vn 0.547451 0.646025 0.531929
+vn 0.810652 0.329945 0.483715
+vn 0.781498 0.095534 0.616550
+vn 0.885750 0.132304 0.444908
+vn 0.856696 0.377049 0.352003
+vn 0.603402 0.765643 0.222926
+vn 0.917007 0.215450 0.335678
+vn 0.949250 0.273132 0.155960
+vn 0.856696 0.377049 0.352003
+vn 0.860493 0.345141 0.374740
+vn 0.603402 0.765643 0.222926
+vn 0.744588 0.399487 0.534788
+vn -0.925691 -0.156523 0.344379
+vn -0.915094 -0.140570 0.377947
+vn -0.569063 -0.382400 0.727968
+vn -0.571060 -0.391939 0.721301
+vn -0.569063 -0.382400 0.727968
+vn -0.571060 -0.391939 0.721301
+vn 0.000000 -0.467254 0.884123
+vn -0.019772 -0.497438 0.867274
+vn -0.925691 -0.156523 0.344379
+vn -0.926266 -0.169677 0.336513
+vn -0.997926 0.041849 0.048905
+vn -0.999548 0.023118 0.019198
+vn -0.926266 -0.169677 0.336513
+vn -0.935928 -0.241420 0.256429
+vn -0.999548 0.023118 0.019198
+vn -0.996693 -0.053587 -0.061087
+vn -0.932708 -0.341960 0.114538
+vn -0.981104 -0.131706 -0.141736
+vn -0.935928 -0.241420 0.256429
+vn -0.996693 -0.053587 -0.061087
+vn -0.905144 -0.425075 0.005000
+vn -0.968203 -0.146101 -0.203068
+vn -0.932708 -0.341960 0.114538
+vn -0.981104 -0.131706 -0.141736
+vn -0.789505 -0.608855 -0.077309
+vn -0.968581 -0.219421 -0.117069
+vn -0.806532 -0.590230 -0.033683
+vn -0.978694 -0.166150 -0.120636
+vn -0.905144 -0.425075 0.005000
+vn -0.806532 -0.590230 -0.033683
+vn -0.978314 -0.131880 -0.159717
+vn -0.978694 -0.166150 -0.120636
+vn -0.789505 -0.608855 -0.077309
+vn -0.406451 -0.913557 0.014560
+vn -0.793876 -0.603153 -0.077246
+vn -0.379515 -0.924915 0.022367
+vn 0.323910 -0.894552 0.307993
+vn 0.548966 -0.674209 0.494042
+vn -0.090938 -0.953848 0.286191
+vn 0.095008 -0.832948 0.545134
+vn 0.548966 -0.674209 0.494042
+vn 0.626996 -0.451095 0.635129
+vn 0.095008 -0.832948 0.545134
+vn 0.210153 -0.514817 0.831143
+vn 0.000000 0.775287 -0.631609
+vn 0.000000 0.959054 -0.283225
+vn -0.448858 0.707847 -0.545416
+vn -0.479972 0.861385 -0.166261
+vn -0.418344 0.500828 -0.757733
+vn -0.433943 0.610831 -0.662253
+vn -0.917223 0.235908 -0.321013
+vn -0.920132 0.292555 -0.260326
+vn -0.898766 0.082448 -0.430606
+vn -0.952609 -0.024791 -0.303187
+vn -0.478081 -0.040997 -0.877358
+vn -0.864621 0.042310 -0.500640
+vn -0.855965 0.044644 -0.515102
+vn -0.864621 0.042310 -0.500640
+vn -0.952529 0.001944 -0.304441
+vn -0.952609 -0.024791 -0.303187
+vn -0.940556 -0.006223 -0.339582
+vn -0.952529 0.001944 -0.304441
+vn -0.957609 -0.004583 -0.288036
+vn -0.958827 -0.010003 -0.283815
+vn -0.940556 -0.006223 -0.339582
+vn -0.957609 -0.004583 -0.288036
+vn -0.949358 -0.081767 -0.303370
+vn -0.963656 -0.010663 -0.266933
+vn -0.949358 -0.081767 -0.303370
+vn -0.972946 -0.072729 -0.219289
+vn -0.942764 -0.102519 -0.317311
+vn -0.978900 -0.081638 -0.187321
+vn -0.859713 0.470849 -0.197977
+vn -0.972357 0.129605 -0.194228
+vn -0.881325 0.421686 -0.213182
+vn -0.967307 0.168449 -0.189585
+vn -0.873537 0.462139 -0.152843
+vn -0.966956 0.212806 -0.140393
+vn -0.987710 -0.120460 -0.099592
+vn -0.960357 -0.236587 -0.147445
+vn -0.933599 0.267552 -0.238346
+vn -0.710961 0.642216 -0.286519
+vn -0.859870 0.476695 -0.182719
+vn -0.873537 0.462139 -0.152843
+vn -0.721475 -0.684345 -0.105572
+vn -0.595825 -0.765339 -0.243411
+vn -0.877018 -0.348924 -0.330291
+vn -0.719955 -0.583521 -0.375723
+vn -0.719301 0.322660 -0.615221
+vn -0.945198 -0.326270 -0.012155
+vn -0.985465 -0.169274 -0.014311
+vn -0.721475 -0.684345 -0.105572
+vn -0.702382 -0.701925 -0.118157
+vn -0.913248 0.394656 0.101116
+vn -0.859231 0.507821 -0.061970
+vn -0.985465 -0.169274 -0.014311
+vn -0.971918 0.013991 -0.234903
+vn -0.670772 0.724816 0.157185
+vn -0.786047 0.607746 0.113031
+vn -0.859231 0.507821 -0.061970
+vn -0.621296 0.757265 -0.201348
+vn -0.895500 -0.261819 -0.359904
+vn -0.861513 -0.117649 -0.493918
+vn -0.621296 0.757265 -0.201348
+vn -0.484706 0.799449 -0.354883
+vn -0.971708 -0.076275 -0.223530
+vn -0.904228 -0.286690 -0.316513
+vn -0.979621 -0.054501 -0.193319
+vn -0.910993 -0.169075 -0.376171
+vn -0.972146 -0.049385 -0.229116
+vn -0.968187 0.003180 -0.250209
+vn -0.871994 -0.281463 0.400506
+vn -0.986450 -0.065619 0.150367
+vn -0.616294 -0.722155 0.314124
+vn -0.871994 -0.281463 0.400506
+vn -0.767465 -0.594058 0.241024
+vn -0.901134 0.005281 0.433509
+vn -0.038404 -0.981796 0.186016
+vn -0.618927 -0.784531 0.037952
+vn -0.883420 -0.456587 -0.105348
+vn -0.059870 -0.983918 0.168291
+vn -0.042987 -0.994540 0.095090
+vn -0.883420 -0.456587 -0.105348
+vn -0.724991 -0.687474 -0.042043
+vn -0.232468 -0.968908 0.084706
+vn -0.931025 -0.328896 -0.158175
+vn -0.347841 -0.937468 -0.012650
+vn -0.297484 -0.954727 -0.000477
+vn -0.372270 -0.923749 -0.090019
+vn -0.931025 -0.328896 -0.158175
+vn -0.297484 -0.954727 -0.000477
+vn -0.943303 0.143090 -0.299509
+vn -0.958837 -0.126537 -0.254205
+vn -0.999614 0.025663 0.010608
+vn -0.818426 0.564397 0.107863
+vn -0.850713 -0.329971 -0.409153
+vn -0.867206 -0.448506 -0.216327
+vn -0.958837 -0.126537 -0.254205
+vn -0.974313 -0.134578 -0.180565
+vn 0.472752 -0.810538 0.345736
+vn 0.484165 -0.861827 0.151122
+vn 0.765222 -0.515868 0.385117
+vn 0.720931 -0.650826 0.238084
+vn -0.998830 -0.028674 -0.038940
+vn -0.972515 0.158791 -0.170296
+vn -0.895528 0.228039 -0.382137
+vn -0.838046 -0.440034 -0.322567
+vn -0.972515 0.158791 -0.170296
+vn -0.978337 0.102847 -0.179665
+vn -0.838046 -0.440034 -0.322567
+vn -0.832557 -0.520297 -0.190105
+vn -0.635003 -0.036998 -0.771623
+vn 0.340808 -0.052396 -0.938672
+vn -0.530346 -0.396897 -0.749137
+vn 0.290112 -0.607986 -0.739046
+vn -0.774425 -0.205804 -0.598256
+vn -0.823146 -0.419946 -0.382200
+vn -0.649067 -0.697779 -0.303013
+vn -0.789096 -0.509883 -0.342561
+vn 0.524221 -0.625753 0.577603
+vn 0.625645 -0.366092 0.688873
+vn -0.128714 -0.861957 0.490371
+vn -0.227156 -0.610856 0.758456
+vn -0.833203 -0.446542 -0.326148
+vn -0.842655 -0.401147 -0.359185
+vn -0.900189 -0.429462 -0.072267
+vn -0.928961 -0.059490 -0.365367
+vn 0.050852 -0.996691 -0.063420
+vn -0.157699 -0.848006 0.505982
+vn -0.713462 -0.614501 -0.336690
+vn -0.750619 -0.645715 0.140084
+vn -0.713462 -0.614501 -0.336690
+vn -0.480688 -0.367266 -0.796276
+vn 0.050852 -0.996691 -0.063420
+vn 0.280028 -0.562874 -0.777661
+vn -0.804316 -0.460970 -0.374943
+vn -0.295316 -0.937940 -0.181818
+vn -0.771174 -0.538661 -0.339316
+vn -0.308663 -0.931768 -0.191145
+vn -0.796147 -0.479872 -0.368610
+vn -0.830021 -0.429284 -0.356063
+vn -0.342836 -0.919276 -0.193377
+vn -0.337097 -0.922114 -0.189927
+vn -0.356174 -0.931418 -0.074842
+vn -0.351445 -0.923768 -0.152117
+vn -0.148219 -0.988869 0.012982
+vn -0.127716 -0.989450 -0.068391
+vn -0.351445 -0.923768 -0.152117
+vn -0.352481 -0.916215 -0.190544
+vn -0.127716 -0.989450 -0.068391
+vn -0.100201 -0.989691 -0.102335
+vn -0.352481 -0.916215 -0.190544
+vn -0.348989 -0.916303 -0.196456
+vn -0.100201 -0.989691 -0.102335
+vn -0.110692 -0.987127 -0.115447
+vn 0.301654 0.003045 -0.953413
+vn -0.644314 -0.006942 -0.764730
+vn 0.286450 -0.420658 -0.860810
+vn -0.778847 -0.133758 -0.612786
+vn 0.988176 -0.068884 -0.136976
+vn 0.892933 -0.421394 -0.158423
+vn 0.301654 0.003045 -0.953413
+vn 0.270627 -0.605593 -0.748344
+vn -0.099761 -0.859535 0.501246
+vn 0.072370 -0.995928 -0.053753
+vn 0.553528 -0.603486 0.573944
+vn 0.762735 -0.585831 0.273930
+vn 0.762735 -0.585831 0.273930
+vn 0.072370 -0.995928 -0.053753
+vn 0.892933 -0.421394 -0.158423
+vn 0.270627 -0.605593 -0.748344
+vn -0.929741 -0.357324 -0.088893
+vn -0.683429 -0.663239 -0.305023
+vn -0.866716 -0.367761 -0.336980
+vn -0.826920 -0.435431 -0.355813
+vn -0.929741 -0.357324 -0.088893
+vn -0.929303 -0.045595 -0.366492
+vn -0.941527 -0.330074 0.067668
+vn -0.919521 -0.122314 -0.373525
+vn -0.530711 -0.063166 -0.845196
+vn -0.419319 -0.386580 -0.821418
+vn -0.917804 -0.157366 -0.364517
+vn -0.694724 -0.646599 -0.315069
+vn -0.530711 -0.063166 -0.845196
+vn -0.917804 -0.157366 -0.364517
+vn -0.727160 -0.230704 -0.646541
+vn -0.927399 -0.065924 -0.368218
+vn -0.844068 -0.363039 -0.394654
+vn -0.727160 -0.230704 -0.646541
+vn -0.858577 -0.322304 -0.398705
+vn -0.927399 -0.065924 -0.368218
+vn -0.128503 -0.791293 0.597781
+vn -0.732578 -0.632526 0.251477
+vn 0.095502 -0.994536 -0.042165
+vn -0.694724 -0.646599 -0.315069
+vn 0.002517 -0.690720 -0.723118
+vn 0.149042 -0.890663 -0.429541
+vn -0.027400 -0.588294 -0.808183
+vn 0.037679 -0.870593 -0.490558
+vn -0.671725 -0.072145 -0.737280
+vn -0.146490 -0.053141 -0.987784
+vn -0.612315 -0.286782 -0.736767
+vn -0.100748 -0.465088 -0.879513
+vn 0.672524 -0.362643 -0.645137
+vn 0.786087 -0.586142 0.196225
+vn -0.100748 -0.465088 -0.879513
+vn 0.000461 -0.999617 -0.027682
+vn -0.597416 -0.595190 0.537441
+vn -0.778473 -0.592045 -0.208475
+vn 0.104481 -0.677233 0.728313
+vn 0.000461 -0.999617 -0.027682
+vn 0.104481 -0.677233 0.728313
+vn 0.000461 -0.999617 -0.027682
+vn 0.586827 -0.460547 0.665981
+vn 0.786087 -0.586142 0.196225
+vn -0.765020 -0.607620 -0.213406
+vn 0.760049 -0.605931 0.234890
+vn -0.443399 -0.530395 -0.722550
+vn 0.802470 -0.489340 -0.341449
+vn 0.030858 -0.786884 0.616329
+vn 0.340433 -0.390379 0.855400
+vn 0.760049 -0.605931 0.234890
+vn 0.933228 -0.173674 0.314521
+vn -0.360213 -0.778225 0.514404
+vn -0.523743 -0.749646 0.404628
+vn -0.538699 -0.492147 0.683809
+vn -0.822891 -0.473898 0.313481
+vn 0.030858 -0.786884 0.616329
+vn -0.538699 -0.492147 0.683809
+vn 0.340433 -0.390379 0.855400
+vn -0.609602 -0.402393 0.682982
+vn -0.503101 -0.673966 0.540979
+vn -0.869798 -0.471178 0.146433
+vn -0.218060 -0.953013 0.210278
+vn -0.372100 -0.923865 0.089524
+vn 0.921778 0.351266 -0.164125
+vn 0.503027 0.862869 0.049203
+vn 0.976953 0.176690 0.119764
+vn 0.815660 0.530039 0.231859
+vn -0.152404 -0.983479 0.097685
+vn -0.147970 -0.983985 0.099390
+vn -0.317555 -0.947995 0.021553
+vn -0.303331 -0.952478 0.027864
+vn 0.739087 -0.147687 0.657221
+vn 0.765222 -0.515868 0.385117
+vn 0.745048 0.480136 0.463004
+vn 0.934066 0.034281 0.355452
+vn 0.745048 0.480136 0.463004
+vn 0.934066 0.034281 0.355452
+vn 0.660942 0.696302 0.279855
+vn 0.815660 0.530039 0.231859
+vn -0.130056 -0.984880 0.114441
+vn -0.133961 -0.985096 0.107888
+vn -0.052897 -0.984633 0.166435
+vn -0.045168 -0.988906 0.141512
+vn -0.583171 0.761337 -0.283333
+vn -0.908286 0.201027 -0.366885
+vn -0.627650 0.778346 -0.015279
+vn -0.910544 0.410715 -0.047139
+vn -0.882668 0.438279 -0.169732
+vn -0.905073 0.233972 -0.355106
+vn -0.626797 0.720927 -0.295619
+vn -0.883035 0.286433 -0.371759
+vn -0.910466 0.175059 -0.374709
+vn -0.652734 0.690653 -0.311347
+vn -0.905073 0.233972 -0.355106
+vn -0.639404 0.704805 -0.307266
+vn -0.664493 0.677853 -0.314587
+vn 0.049739 0.996975 -0.059731
+vn -0.652734 0.690653 -0.311347
+vn 0.061678 0.996517 -0.056122
+vn 0.453986 0.837894 0.303035
+vn 0.123346 0.991752 0.034829
+vn 0.525423 0.836534 0.155378
+vn 0.157810 0.987285 -0.019085
+vn -0.215515 -0.093260 0.972037
+vn -0.118433 0.940539 0.318370
+vn 0.123346 0.991752 0.034829
+vn 0.008645 0.999683 -0.023639
+vn -0.118433 0.940539 0.318370
+vn -0.093739 -0.947012 0.307215
+vn -0.387097 0.099215 0.916685
+vn 0.056771 -0.927933 0.368398
+vn -0.071333 -0.971644 0.225431
+vn -0.023970 -0.975888 0.216954
+vn -0.093739 -0.947012 0.307215
+vn 0.056771 -0.927933 0.368398
+vn -0.104857 -0.976024 0.190739
+vn -0.052897 -0.984633 0.166435
+vn -0.071333 -0.971644 0.225431
+vn -0.023970 -0.975888 0.216954
+vn 0.903175 0.218732 0.369366
+vn 0.871024 0.349071 0.345640
+vn 0.920220 0.207544 0.331843
+vn 0.883368 0.356229 0.304569
+vn 0.871024 0.349071 0.345640
+vn 0.525423 0.836534 0.155378
+vn 0.883368 0.356229 0.304569
+vn 0.568419 0.812165 0.131485
+vn -0.080856 0.937857 0.337470
+vn 0.098435 0.995105 -0.008726
+vn -0.627650 0.778346 -0.015279
+vn -0.583171 0.761337 -0.283333
+vn -0.882668 0.438279 -0.169732
+vn -0.626797 0.720927 -0.295619
+vn -0.044261 0.969750 0.240052
+vn 0.066068 0.997241 -0.033852
+vn 0.066068 0.997241 -0.033852
+vn 0.256967 0.822843 -0.506850
+vn 0.636768 0.739562 0.218115
+vn 0.943703 0.282237 0.172532
+vn 0.915480 0.097194 0.390449
+vn 0.744588 0.399487 0.534788
+vn 0.864811 0.363047 0.346842
+vn 0.860493 0.345141 0.374740
+vn 0.873071 0.210883 0.439632
+vn 0.873318 0.138874 0.466937
+vn 0.795508 0.414516 0.441977
+vn 0.837214 0.330625 0.435613
+vn 0.770135 0.450087 0.452011
+vn 0.816796 0.364210 0.447433
+vn 0.618192 0.465754 0.633177
+vn 0.882906 0.164551 0.439772
+vn 0.816796 0.364210 0.447433
+vn 0.817221 0.389627 0.424666
+vn 0.882906 0.164551 0.439772
+vn 0.897190 0.353851 0.264272
+vn 0.810652 0.329945 0.483715
+vn 0.854091 0.235960 0.463521
+vn 0.885750 0.132304 0.444908
+vn 0.637316 0.546541 0.543251
+vn 0.144508 0.870488 0.470498
+vn 0.626996 -0.451095 0.635129
+vn 0.210153 -0.514817 0.831143
+vn 0.705844 0.363153 0.608197
+vn 0.912883 0.085352 0.399200
+vn 0.731628 0.262222 0.629254
+vn 0.911048 0.152329 0.383129
+vn 0.912883 0.085352 0.399200
+vn 0.949250 0.273132 0.155960
+vn 0.911048 0.152329 0.383129
+vn 0.991989 0.125216 0.016666
+vn 0.705844 0.363153 0.608197
+vn -0.158063 0.837533 0.523025
+vn 0.459765 0.802024 0.381279
+vn -0.065800 0.986868 0.147521
+vn -0.915094 -0.140570 0.377947
+vn -0.925691 -0.156523 0.344379
+vn -0.992579 0.053652 0.109128
+vn -0.997926 0.041849 0.048905
+vn 0.549038 -0.388357 0.740092
+vn -0.019772 -0.497438 0.867274
+vn 0.422025 -0.418765 0.804071
+vn -0.110736 -0.544383 0.831496
+vn -0.968203 -0.146101 -0.203068
+vn -0.905144 -0.425075 0.005000
+vn -0.968799 -0.101861 -0.225949
+vn -0.978314 -0.131880 -0.159717
+vn -0.789505 -0.608855 -0.077309
+vn -0.793876 -0.603153 -0.077246
+vn -0.968581 -0.219421 -0.117069
+vn -0.948806 -0.294816 -0.113362
+vn -0.793876 -0.603153 -0.077246
+vn -0.379515 -0.924915 0.022367
+vn -0.773028 -0.632231 -0.052076
+vn -0.439820 -0.894792 0.076847
+vn -0.379515 -0.924915 0.022367
+vn -0.037079 -0.991725 0.122909
+vn -0.439820 -0.894792 0.076847
+vn -0.090938 -0.953848 0.286191
+vn 0.747838 -0.184592 0.637702
+vn 0.422025 -0.418765 0.804071
+vn 0.380430 -0.398983 0.834317
+vn 0.192164 -0.545087 0.816060
+vn 0.933480 0.115488 0.339526
+vn 0.747838 -0.184592 0.637702
+vn 0.645057 0.246483 0.723289
+vn 0.615938 0.147243 0.773912
+vn 0.879170 0.425879 0.213748
+vn 0.933480 0.115488 0.339526
+vn 0.718219 0.366144 0.591693
+vn 0.645057 0.246483 0.723289
+vn 0.879170 0.425879 0.213748
+vn 0.651063 0.725739 0.222305
+vn 0.456374 0.875676 -0.157844
+vn 0.289055 0.951868 0.101959
+vn 0.000000 0.959054 -0.283225
+vn 0.456374 0.875676 -0.157844
+vn 0.000000 0.998845 0.048052
+vn 0.289055 0.951868 0.101959
+vn -0.433943 0.610831 -0.662253
+vn -0.448858 0.707847 -0.545416
+vn -0.920132 0.292555 -0.260326
+vn -0.934054 0.322641 -0.153119
+vn -0.898766 0.082448 -0.430606
+vn -0.917223 0.235908 -0.321013
+vn -0.996693 -0.053587 -0.061087
+vn -0.999548 0.023118 0.019198
+vn -0.898766 0.082448 -0.430606
+vn -0.996693 -0.053587 -0.061087
+vn -0.952609 -0.024791 -0.303187
+vn -0.981104 -0.131706 -0.141736
+vn -0.978900 -0.081638 -0.187321
+vn -0.979621 -0.054501 -0.193319
+vn -0.972357 0.129605 -0.194228
+vn -0.967307 0.168449 -0.189585
+vn -0.881325 0.421686 -0.213182
+vn -0.763542 0.371400 -0.528266
+vn -0.908976 -0.253874 -0.330622
+vn -0.525775 0.675552 -0.516905
+vn -0.877018 -0.348924 -0.330291
+vn -0.719301 0.322660 -0.615221
+vn -0.710961 0.642216 -0.286519
+vn -0.336812 0.899029 -0.279828
+vn -0.966956 0.212806 -0.140393
+vn -0.873537 0.462139 -0.152843
+vn -0.597964 0.789451 -0.138585
+vn -0.710961 0.642216 -0.286519
+vn -0.966956 0.212806 -0.140393
+vn -0.987261 -0.056786 -0.148629
+vn -0.960357 -0.236587 -0.147445
+vn -0.937438 -0.289760 -0.192998
+vn -0.960357 -0.236587 -0.147445
+vn -0.937438 -0.289760 -0.192998
+vn -0.922183 -0.339876 -0.184560
+vn -0.917954 -0.342492 -0.200148
+vn -0.917954 -0.342492 -0.200148
+vn -0.903270 -0.356599 -0.238623
+vn -0.971708 -0.076275 -0.223530
+vn -0.904228 -0.286690 -0.316513
+vn -0.908976 -0.253874 -0.330622
+vn -0.525775 0.675552 -0.516905
+vn -0.861513 -0.117649 -0.493918
+vn -0.484706 0.799449 -0.354883
+vn -0.957609 -0.004583 -0.288036
+vn -0.958827 -0.010003 -0.283815
+vn -0.968187 0.003180 -0.250209
+vn -0.975180 0.086182 -0.203952
+vn -0.767465 -0.594058 0.241024
+vn -0.789984 -0.609310 0.068315
+vn -0.409416 -0.894418 0.179985
+vn -0.038404 -0.981796 0.186016
+vn -0.059870 -0.983918 0.168291
+vn -0.695055 -0.717909 -0.038797
+vn -0.883420 -0.456587 -0.105348
+vn -0.228454 -0.969042 0.093633
+vn -0.232468 -0.968908 0.084706
+vn -0.883420 -0.456587 -0.105348
+vn -0.650231 -0.759373 -0.023512
+vn -0.228454 -0.969042 0.093633
+vn -0.042785 -0.994782 0.092622
+vn -0.832150 -0.547646 -0.087241
+vn -0.931025 -0.328896 -0.158175
+vn -0.347841 -0.937468 -0.012650
+vn -0.042987 -0.994540 0.095090
+vn -0.967668 -0.198866 -0.155148
+vn -0.042785 -0.994782 0.092622
+vn -0.832150 -0.547646 -0.087241
+vn -0.925617 -0.343807 -0.158211
+vn -0.931025 -0.328896 -0.158175
+vn -0.392390 -0.918642 -0.046114
+vn -0.332518 -0.940908 -0.064226
+vn -0.259364 -0.961304 -0.092867
+vn -0.931025 -0.328896 -0.158175
+vn -0.337379 -0.936649 -0.094150
+vn -0.931025 -0.328896 -0.158175
+vn -0.372270 -0.923749 -0.090019
+vn -0.337379 -0.936649 -0.094150
+vn -0.919469 -0.372453 -0.125921
+vn -0.581520 -0.811935 0.050947
+vn -0.869798 -0.471178 0.146433
+vn -0.372100 -0.923865 0.089524
+vn -0.919469 -0.372453 -0.125921
+vn -0.791373 -0.607305 0.070062
+vn -0.581520 -0.811935 0.050947
+vn -0.715641 -0.685515 0.133892
+vn -0.867206 -0.448506 -0.216327
+vn -0.890305 -0.453699 -0.038909
+vn -0.974313 -0.134578 -0.180565
+vn -0.980114 -0.136108 -0.144401
+vn -0.999614 0.025663 0.010608
+vn -0.891557 -0.210875 0.400822
+vn -0.881667 -0.468607 -0.055410
+vn -0.585553 -0.810330 0.022216
+vn 0.693608 -0.718405 0.052936
+vn 0.893642 -0.389885 0.222246
+vn 0.484165 -0.861827 0.151122
+vn 0.720931 -0.650826 0.238084
+vn 0.921778 0.351266 -0.164125
+vn 0.976953 0.176690 0.119764
+vn 0.693608 -0.718405 0.052936
+vn 0.893642 -0.389885 0.222246
+vn -0.998830 -0.028674 -0.038940
+vn -0.895528 0.228039 -0.382137
+vn -0.980114 -0.136108 -0.144401
+vn -0.646494 0.725846 -0.234933
+vn -0.881667 -0.468607 -0.055410
+vn -0.585553 -0.810330 0.022216
+vn -0.832557 -0.520297 -0.190105
+vn -0.486219 -0.861643 -0.145472
+vn 0.748591 -0.606403 0.268119
+vn 0.524221 -0.625753 0.577603
+vn 0.063261 -0.996421 -0.056074
+vn -0.128714 -0.861957 0.490371
+vn 0.748591 -0.606403 0.268119
+vn 0.063261 -0.996421 -0.056074
+vn 0.885697 -0.431979 -0.170102
+vn 0.290112 -0.607986 -0.739046
+vn -0.530346 -0.396897 -0.749137
+vn -0.728110 -0.595436 -0.339576
+vn -0.635003 -0.036998 -0.771623
+vn -0.918801 -0.131504 -0.372172
+vn -0.635003 -0.036998 -0.771623
+vn -0.918801 -0.131504 -0.372172
+vn -0.774425 -0.205804 -0.598256
+vn -0.929075 -0.049714 -0.366536
+vn -0.774425 -0.205804 -0.598256
+vn -0.929075 -0.049714 -0.366536
+vn -0.823146 -0.419946 -0.382200
+vn -0.857690 -0.364702 -0.362436
+vn -0.833203 -0.446542 -0.326148
+vn -0.296960 -0.940538 -0.164931
+vn -0.842655 -0.401147 -0.359185
+vn -0.292369 -0.941223 -0.169175
+vn -0.789096 -0.509883 -0.342561
+vn -0.304065 -0.937819 -0.167451
+vn -0.833203 -0.446542 -0.326148
+vn -0.296960 -0.940538 -0.164931
+vn -0.917922 -0.374675 0.130530
+vn -0.917768 -0.144613 -0.369850
+vn -0.750619 -0.645715 0.140084
+vn -0.713462 -0.614501 -0.336690
+vn -0.227156 -0.610856 0.758456
+vn -0.938536 -0.335461 0.081343
+vn -0.128714 -0.861957 0.490371
+vn -0.768531 -0.634865 0.079413
+vn -0.842655 -0.401147 -0.359185
+vn -0.292369 -0.941223 -0.169175
+vn -0.804316 -0.460970 -0.374943
+vn -0.295316 -0.937940 -0.181818
+vn -0.348989 -0.916303 -0.196456
+vn -0.342836 -0.919276 -0.193377
+vn -0.110692 -0.987127 -0.115447
+vn -0.103879 -0.987796 -0.116055
+vn -0.308663 -0.931768 -0.191145
+vn -0.055507 -0.991435 -0.118220
+vn -0.324274 -0.926258 -0.192072
+vn -0.076621 -0.990163 -0.117075
+vn -0.324274 -0.926258 -0.192072
+vn -0.076621 -0.990163 -0.117075
+vn -0.337097 -0.922114 -0.189927
+vn -0.095182 -0.989377 -0.109883
+vn -0.295316 -0.937940 -0.181818
+vn -0.039881 -0.993825 -0.103548
+vn -0.308663 -0.931768 -0.191145
+vn -0.055507 -0.991435 -0.118220
+vn -0.931120 -0.357538 -0.071983
+vn -0.678312 -0.661425 -0.320015
+vn -0.854968 -0.400583 -0.329488
+vn -0.810453 -0.470158 -0.349453
+vn -0.931120 -0.357538 -0.071983
+vn -0.929075 -0.049714 -0.366536
+vn -0.938536 -0.335461 0.081343
+vn -0.918801 -0.131504 -0.372172
+vn -0.644314 -0.006942 -0.764730
+vn 0.301654 0.003045 -0.953413
+vn -0.557123 -0.381628 -0.737546
+vn 0.270627 -0.605593 -0.748344
+vn -0.778847 -0.133758 -0.612786
+vn -0.839837 -0.375641 -0.391878
+vn -0.678312 -0.661425 -0.320015
+vn -0.810453 -0.470158 -0.349453
+vn -0.776225 -0.626090 0.074066
+vn -0.740591 -0.579173 -0.340710
+vn -0.099761 -0.859535 0.501246
+vn 0.072370 -0.995928 -0.053753
+vn -0.941527 -0.330074 0.067668
+vn -0.919521 -0.122314 -0.373525
+vn -0.776225 -0.626090 0.074066
+vn -0.740591 -0.579173 -0.340710
+vn -0.866716 -0.367761 -0.336980
+vn -0.870067 -0.330244 -0.365953
+vn -0.929741 -0.357324 -0.088893
+vn -0.929303 -0.045595 -0.366492
+vn 0.303259 -0.548269 -0.779382
+vn 0.095502 -0.994536 -0.042165
+vn -0.419319 -0.386580 -0.821418
+vn -0.694724 -0.646599 -0.315069
+vn -0.826920 -0.435431 -0.355813
+vn -0.844068 -0.363039 -0.394654
+vn -0.373356 -0.908875 -0.185883
+vn -0.380290 -0.904368 -0.193644
+vn -0.782265 -0.349168 -0.515890
+vn -0.225282 -0.804133 -0.550108
+vn -0.858577 -0.322304 -0.398705
+vn -0.351339 -0.894871 -0.275256
+vn 0.486060 -0.647369 -0.587076
+vn 0.149042 -0.890663 -0.429541
+vn 0.002517 -0.690720 -0.723118
+vn -0.443399 -0.530395 -0.722550
+vn 0.802470 -0.489340 -0.341449
+vn 0.002517 -0.690720 -0.723118
+vn 0.486060 -0.647369 -0.587076
+vn -0.612315 -0.286782 -0.736767
+vn -0.778473 -0.592045 -0.208475
+vn -0.671725 -0.072145 -0.737280
+vn -0.949731 -0.173993 -0.260263
+vn 0.149042 -0.890663 -0.429541
+vn 0.065297 -0.979397 -0.191099
+vn 0.037679 -0.870593 -0.490558
+vn -0.014492 -0.983844 -0.178439
+vn 0.037679 -0.870593 -0.490558
+vn -0.014492 -0.983844 -0.178439
+vn -0.225282 -0.804133 -0.550108
+vn -0.351339 -0.894871 -0.275256
+vn -0.218060 -0.953013 0.210278
+vn -0.372100 -0.923865 0.089524
+vn -0.523743 -0.749646 0.404628
+vn -0.638696 -0.736622 0.222384
+vn -0.277067 -0.960002 0.040382
+vn -0.289490 -0.956578 0.033967
+vn -0.139879 -0.984828 0.102701
+vn -0.143719 -0.984449 0.101022
+vn -0.289490 -0.956578 0.033967
+vn -0.303331 -0.952478 0.027864
+vn -0.143719 -0.984449 0.101022
+vn -0.147970 -0.983985 0.099390
+vn -0.269835 -0.961780 0.046569
+vn -0.277067 -0.960002 0.040382
+vn -0.137064 -0.985042 0.104428
+vn -0.139879 -0.984828 0.102701
+vn -0.152404 -0.983479 0.097685
+vn -0.157133 -0.982914 0.095860
+vn -0.044064 -0.989561 0.137214
+vn -0.044102 -0.989568 0.137153
+vn -0.157133 -0.982914 0.095860
+vn -0.162098 -0.982293 0.093935
+vn -0.044102 -0.989568 0.137153
+vn -0.044140 -0.989575 0.137090
+vn -0.162098 -0.982293 0.093935
+vn -0.161359 -0.984100 0.074239
+vn -0.044140 -0.989575 0.137090
+vn -0.038249 -0.992206 0.118591
+vn -0.161359 -0.984100 0.074239
+vn -0.148219 -0.988869 0.012982
+vn -0.038249 -0.992206 0.118591
+vn -0.018708 -0.998138 0.058054
+vn -0.147970 -0.983985 0.099390
+vn -0.152404 -0.983479 0.097685
+vn -0.044005 -0.989554 0.137281
+vn -0.044064 -0.989561 0.137214
+vn 0.976953 0.176690 0.119764
+vn 0.815660 0.530039 0.231859
+vn 0.893642 -0.389885 0.222246
+vn 0.934066 0.034281 0.355452
+vn -0.133961 -0.985096 0.107888
+vn -0.137064 -0.985042 0.104428
+vn -0.045168 -0.988906 0.141512
+vn -0.043874 -0.989536 0.137451
+vn 0.020977 0.999715 -0.011373
+vn 0.716043 0.644706 0.267652
+vn 0.049739 0.996975 -0.059731
+vn 0.746375 0.622667 0.234969
+vn -0.387097 0.099215 0.916685
+vn -0.110315 0.993626 -0.023198
+vn -0.118433 0.940539 0.318370
+vn 0.008645 0.999683 -0.023639
+vn 0.716043 0.644706 0.267652
+vn 0.903175 0.218732 0.369366
+vn 0.746375 0.622667 0.234969
+vn 0.920220 0.207544 0.331843
+vn 0.066068 0.997241 -0.033852
+vn -0.626797 0.720927 -0.295619
+vn 0.256967 0.822843 -0.506850
+vn -0.806119 0.223585 -0.547888
+vn 0.744588 0.399487 0.534788
+vn 0.915480 0.097194 0.390449
+vn 0.716867 0.315835 0.621571
+vn 0.908201 0.177409 0.379074
+vn 0.915480 0.097194 0.390449
+vn 0.943703 0.282237 0.172532
+vn 0.908201 0.177409 0.379074
+vn 0.988993 0.146786 0.018605
+vn 0.943703 0.282237 0.172532
+vn 0.256967 0.822843 -0.506850
+vn 0.988993 0.146786 0.018605
+vn 0.376736 0.219302 -0.899987
+vn 0.873071 0.210883 0.439632
+vn 0.899009 0.188535 0.395269
+vn 0.901963 0.075734 0.425121
+vn 0.941141 0.268917 0.204786
+vn 0.899009 0.188535 0.395269
+vn 0.809248 0.406397 0.424215
+vn 0.941141 0.268917 0.204786
+vn 0.441062 0.832340 0.335669
+vn 0.809248 0.406397 0.424215
+vn 0.770135 0.450087 0.452011
+vn 0.441062 0.832340 0.335669
+vn 0.618192 0.465754 0.633177
+vn 0.882906 0.164551 0.439772
+vn 0.897190 0.353851 0.264272
+vn 0.889965 0.156240 0.428429
+vn 0.988010 0.132106 0.079899
+vn 0.897190 0.353851 0.264272
+vn 0.459765 0.802024 0.381279
+vn 0.263531 0.794277 -0.547426
+vn -0.065800 0.986868 0.147521
+vn 0.058930 0.963107 0.262588
+vn 0.062893 0.952951 0.296527
+vn 0.637316 0.546541 0.543251
+vn 0.144508 0.870488 0.470498
+vn 0.058930 0.963107 0.262588
+vn 0.547451 0.646025 0.531929
+vn 0.604424 0.300817 0.737686
+vn 0.781498 0.095534 0.616550
+vn 0.885750 0.132304 0.444908
+vn 0.854091 0.235960 0.463521
+vn 0.499960 0.825332 0.262424
+vn 0.607271 0.371053 0.702525
+vn 0.885750 0.132304 0.444908
+vn 0.764281 0.043164 0.643437
+vn 0.781498 0.095534 0.616550
+vn 0.440859 0.687631 0.576895
+vn 0.949250 0.273132 0.155960
+vn 0.603402 0.765643 0.222926
+vn 0.192458 0.771155 -0.606861
+vn 0.027086 0.999287 -0.026318
+vn 0.744588 0.399487 0.534788
+vn -0.098549 0.917156 0.386151
+vn 0.603402 0.765643 0.222926
+vn 0.027086 0.999287 -0.026318
+vn 0.731628 0.262222 0.629254
+vn -0.211060 0.592966 0.777075
+vn 0.705844 0.363153 0.608197
+vn -0.158063 0.837533 0.523025
+vn -0.992579 0.053652 0.109128
+vn -0.950417 0.109946 0.290893
+vn -0.915094 -0.140570 0.377947
+vn -0.830154 -0.149428 0.537137
+vn -0.915094 -0.140570 0.377947
+vn -0.830154 -0.149428 0.537137
+vn -0.571060 -0.391939 0.721301
+vn -0.543633 -0.436225 0.717057
+vn -0.571060 -0.391939 0.721301
+vn -0.543633 -0.436225 0.717057
+vn -0.019772 -0.497438 0.867274
+vn -0.110736 -0.544383 0.831496
+vn -0.992579 0.053652 0.109128
+vn -0.997926 0.041849 0.048905
+vn -0.934054 0.322641 -0.153119
+vn -0.920132 0.292555 -0.260326
+vn -0.997926 0.041849 0.048905
+vn -0.999548 0.023118 0.019198
+vn -0.920132 0.292555 -0.260326
+vn -0.917223 0.235908 -0.321013
+vn -0.968203 -0.146101 -0.203068
+vn -0.952529 0.001944 -0.304441
+vn -0.981104 -0.131706 -0.141736
+vn -0.952609 -0.024791 -0.303187
+vn -0.968799 -0.101861 -0.225949
+vn -0.958827 -0.010003 -0.283815
+vn -0.968203 -0.146101 -0.203068
+vn -0.952529 0.001944 -0.304441
+vn -0.968581 -0.219421 -0.117069
+vn -0.985514 0.112173 -0.127195
+vn -0.978694 -0.166150 -0.120636
+vn -0.961202 0.233711 -0.146529
+vn -0.978314 -0.131880 -0.159717
+vn -0.975180 0.086182 -0.203952
+vn -0.968799 -0.101861 -0.225949
+vn -0.958827 -0.010003 -0.283815
+vn -0.978694 -0.166150 -0.120636
+vn -0.961202 0.233711 -0.146529
+vn -0.978314 -0.131880 -0.159717
+vn -0.975180 0.086182 -0.203952
+vn -0.793876 -0.603153 -0.077246
+vn -0.773028 -0.632231 -0.052076
+vn -0.948806 -0.294816 -0.113362
+vn -0.905511 -0.418410 -0.070588
+vn -0.439820 -0.894792 0.076847
+vn -0.090938 -0.953848 0.286191
+vn -0.736859 -0.667587 0.106619
+vn -0.406715 -0.824997 0.392382
+vn -0.090938 -0.953848 0.286191
+vn 0.095008 -0.832948 0.545134
+vn -0.171816 -0.853652 0.491689
+vn -0.065597 -0.743575 0.665427
+vn 0.095008 -0.832948 0.545134
+vn 0.210153 -0.514817 0.831143
+vn -0.065597 -0.743575 0.665427
+vn -0.122063 -0.289144 0.949472
+vn 0.747838 -0.184592 0.637702
+vn 0.380430 -0.398983 0.834317
+vn 0.341445 -0.218627 0.914121
+vn 0.323050 -0.342541 0.882216
+vn 0.718219 0.366144 0.591693
+vn 0.772783 0.530088 0.349017
+vn 0.879170 0.425879 0.213748
+vn 0.651063 0.725739 0.222305
+vn 0.000000 0.959054 -0.283225
+vn 0.000000 0.998845 0.048052
+vn -0.479972 0.861385 -0.166261
+vn -0.326604 0.939810 0.100434
+vn -0.448858 0.707847 -0.545416
+vn -0.479972 0.861385 -0.166261
+vn -0.934054 0.322641 -0.153119
+vn -0.913101 0.366703 0.178258
+vn -0.881325 0.421686 -0.213182
+vn -0.967307 0.168449 -0.189585
+vn -0.763542 0.371400 -0.528266
+vn -0.879418 0.086518 -0.468122
+vn -0.597964 0.789451 -0.138585
+vn -0.823378 0.567320 -0.014012
+vn -0.966956 0.212806 -0.140393
+vn -0.987261 -0.056786 -0.148629
+vn -0.917954 -0.342492 -0.200148
+vn -0.937438 -0.289760 -0.192998
+vn -0.903270 -0.356599 -0.238623
+vn -0.917571 -0.318130 -0.238448
+vn -0.719301 0.322660 -0.615221
+vn -0.719955 -0.583521 -0.375723
+vn -0.569276 0.704780 -0.423333
+vn -0.595825 -0.765339 -0.243411
+vn -0.721475 -0.684345 -0.105572
+vn -0.507802 -0.856539 -0.092077
+vn -0.702382 -0.701925 -0.118157
+vn -0.425435 -0.892724 -0.148491
+vn -0.702382 -0.701925 -0.118157
+vn -0.985465 -0.169274 -0.014311
+vn -0.584334 -0.779974 -0.224040
+vn -0.971918 0.013991 -0.234903
+vn -0.971918 0.013991 -0.234903
+vn -0.859231 0.507821 -0.061970
+vn -0.899082 0.030829 -0.436694
+vn -0.618492 0.692953 -0.370519
+vn -0.859231 0.507821 -0.061970
+vn -0.621296 0.757265 -0.201348
+vn -0.618492 0.692953 -0.370519
+vn -0.484706 0.799449 -0.354883
+vn -0.903270 -0.356599 -0.238623
+vn -0.917571 -0.318130 -0.238448
+vn -0.904228 -0.286690 -0.316513
+vn -0.843997 -0.360174 -0.397421
+vn -0.910993 -0.169075 -0.376171
+vn -0.879418 0.086518 -0.468122
+vn -0.979621 -0.054501 -0.193319
+vn -0.967307 0.168449 -0.189585
+vn -0.904228 -0.286690 -0.316513
+vn -0.843997 -0.360174 -0.397421
+vn -0.910993 -0.169075 -0.376171
+vn -0.708697 -0.342127 -0.617007
+vn -0.871994 -0.281463 0.400506
+vn -0.986450 -0.065619 0.150367
+vn -0.901134 0.005281 0.433509
+vn -0.876786 0.216671 0.429301
+vn -0.975180 0.086182 -0.203952
+vn -0.876786 0.216671 0.429301
+vn -0.968187 0.003180 -0.250209
+vn -0.986450 -0.065619 0.150367
+vn -0.901134 0.005281 0.433509
+vn -0.510408 -0.838540 0.190615
+vn -0.767465 -0.594058 0.241024
+vn -0.789984 -0.609310 0.068315
+vn -0.789984 -0.609310 0.068315
+vn -0.838175 -0.545384 -0.004330
+vn -0.038404 -0.981796 0.186016
+vn -0.618927 -0.784531 0.037952
+vn -0.059870 -0.983918 0.168291
+vn -0.618927 -0.784531 0.037952
+vn -0.883334 -0.461086 -0.084381
+vn -0.838175 -0.545384 -0.004330
+vn -0.650231 -0.759373 -0.023512
+vn -0.935161 -0.335587 -0.113379
+vn -0.232468 -0.968908 0.084706
+vn -0.916637 -0.378705 -0.127901
+vn -0.724991 -0.687474 -0.042043
+vn -0.936961 -0.302148 -0.175528
+vn -0.042987 -0.994540 0.095090
+vn -0.967668 -0.198866 -0.155148
+vn -0.232468 -0.968908 0.084706
+vn -0.916637 -0.378705 -0.127901
+vn -0.724991 -0.687474 -0.042043
+vn -0.936961 -0.302148 -0.175528
+vn -0.347841 -0.937468 -0.012650
+vn -0.832150 -0.547646 -0.087241
+vn -0.572533 -0.819831 -0.009127
+vn -0.842639 -0.523999 0.124035
+vn -0.297484 -0.954727 -0.000477
+vn -0.347841 -0.937468 -0.012650
+vn -0.821413 -0.438804 -0.364325
+vn -0.572533 -0.819831 -0.009127
+vn -0.925617 -0.343807 -0.158211
+vn -0.392390 -0.918642 -0.046114
+vn -0.472854 -0.877505 -0.079964
+vn -0.564443 -0.820611 -0.089450
+vn -0.525489 -0.844271 -0.105205
+vn -0.931025 -0.328896 -0.158175
+vn -0.341527 -0.932084 -0.120741
+vn -0.931025 -0.328896 -0.158175
+vn -0.259364 -0.961304 -0.092867
+vn -0.341527 -0.932084 -0.120741
+vn -0.372270 -0.923749 -0.090019
+vn -0.297484 -0.954727 -0.000477
+vn -0.975339 -0.127857 -0.179905
+vn -0.821413 -0.438804 -0.364325
+vn -0.919469 -0.372453 -0.125921
+vn -0.925617 -0.343807 -0.158211
+vn -0.466750 -0.874062 -0.134761
+vn -0.791373 -0.607305 0.070062
+vn -0.919469 -0.372453 -0.125921
+vn -0.938827 -0.343231 -0.028231
+vn -0.807013 -0.568975 -0.158104
+vn -0.999614 0.025663 0.010608
+vn -0.818426 0.564397 0.107863
+vn -0.891557 -0.210875 0.400822
+vn -0.589392 0.781975 0.202809
+vn -0.958837 -0.126537 -0.254205
+vn -0.974313 -0.134578 -0.180565
+vn -0.818426 0.564397 0.107863
+vn -0.694378 0.715389 -0.077827
+vn 0.765222 -0.515868 0.385117
+vn 0.720931 -0.650826 0.238084
+vn 0.934066 0.034281 0.355452
+vn 0.893642 -0.389885 0.222246
+vn -0.974313 -0.134578 -0.180565
+vn -0.980114 -0.136108 -0.144401
+vn -0.694378 0.715389 -0.077827
+vn -0.646494 0.725846 -0.234933
+vn -0.895528 0.228039 -0.382137
+vn -0.838046 -0.440034 -0.322567
+vn -0.672746 0.351110 -0.651256
+vn -0.604987 -0.718132 -0.343914
+vn -0.838046 -0.440034 -0.322567
+vn -0.832557 -0.520297 -0.190105
+vn -0.604987 -0.718132 -0.343914
+vn -0.486219 -0.861643 -0.145472
+vn -0.728110 -0.595436 -0.339576
+vn -0.530346 -0.396897 -0.749137
+vn 0.063261 -0.996421 -0.056074
+vn 0.290112 -0.607986 -0.739046
+vn -0.823146 -0.419946 -0.382200
+vn -0.311828 -0.934650 -0.170861
+vn -0.789096 -0.509883 -0.342561
+vn -0.304065 -0.937819 -0.167451
+vn -0.128714 -0.861957 0.490371
+vn -0.768531 -0.634865 0.079413
+vn 0.063261 -0.996421 -0.056074
+vn -0.728110 -0.595436 -0.339576
+vn -0.295316 -0.937940 -0.181818
+vn -0.292369 -0.941223 -0.169175
+vn -0.039881 -0.993825 -0.103548
+vn -0.036097 -0.996303 -0.077961
+vn -0.342836 -0.919276 -0.193377
+vn -0.337097 -0.922114 -0.189927
+vn -0.103879 -0.987796 -0.116055
+vn -0.095182 -0.989377 -0.109883
+vn -0.148219 -0.988869 0.012982
+vn -0.127716 -0.989450 -0.068391
+vn -0.018708 -0.998138 0.058054
+vn -0.001405 -0.999846 -0.017474
+vn -0.127716 -0.989450 -0.068391
+vn -0.100201 -0.989691 -0.102335
+vn -0.001405 -0.999846 -0.017474
+vn 0.030174 -0.997690 -0.060856
+vn -0.110692 -0.987127 -0.115447
+vn 0.018786 -0.996057 -0.086702
+vn -0.100201 -0.989691 -0.102335
+vn 0.030174 -0.997690 -0.060856
+vn -0.854968 -0.400583 -0.329488
+vn -0.857690 -0.364702 -0.362436
+vn -0.931120 -0.357538 -0.071983
+vn -0.929075 -0.049714 -0.366536
+vn -0.557123 -0.381628 -0.737546
+vn -0.740591 -0.579173 -0.340710
+vn -0.644314 -0.006942 -0.764730
+vn -0.919521 -0.122314 -0.373525
+vn -0.644314 -0.006942 -0.764730
+vn -0.919521 -0.122314 -0.373525
+vn -0.778847 -0.133758 -0.612786
+vn -0.929303 -0.045595 -0.366492
+vn -0.778847 -0.133758 -0.612786
+vn -0.929303 -0.045595 -0.366492
+vn -0.839837 -0.375641 -0.391878
+vn -0.870067 -0.330244 -0.365953
+vn -0.740591 -0.579173 -0.340710
+vn -0.557123 -0.381628 -0.737546
+vn 0.072370 -0.995928 -0.053753
+vn 0.270627 -0.605593 -0.748344
+vn -0.870067 -0.330244 -0.365953
+vn -0.866716 -0.367761 -0.336980
+vn -0.352852 -0.917427 -0.183911
+vn -0.363166 -0.913269 -0.184527
+vn -0.866716 -0.367761 -0.336980
+vn -0.826920 -0.435431 -0.355813
+vn -0.363166 -0.913269 -0.184527
+vn -0.373356 -0.908875 -0.185883
+vn -0.844068 -0.363039 -0.394654
+vn -0.858577 -0.322304 -0.398705
+vn -0.380290 -0.904368 -0.193644
+vn -0.351339 -0.894871 -0.275256
+vn 0.486060 -0.647369 -0.587076
+vn 0.510987 -0.550436 -0.660237
+vn 0.149042 -0.890663 -0.429541
+vn 0.274724 -0.859240 -0.431548
+vn -0.778473 -0.592045 -0.208475
+vn -0.612315 -0.286782 -0.736767
+vn 0.000461 -0.999617 -0.027682
+vn -0.100748 -0.465088 -0.879513
+vn 0.149042 -0.890663 -0.429541
+vn 0.274724 -0.859240 -0.431548
+vn 0.065297 -0.979397 -0.191099
+vn 0.121404 -0.983190 -0.136374
+vn 0.760049 -0.605931 0.234890
+vn 0.933228 -0.173674 0.314521
+vn 0.802470 -0.489340 -0.341449
+vn 0.969185 -0.068137 -0.236725
+vn 0.340433 -0.390379 0.855400
+vn 0.195122 -0.595091 0.779612
+vn 0.933228 -0.173674 0.314521
+vn 0.762164 -0.591805 0.262436
+vn -0.538699 -0.492147 0.683809
+vn -0.822891 -0.473898 0.313481
+vn -0.609602 -0.402393 0.682982
+vn -0.933105 -0.281921 0.223241
+vn -0.523743 -0.749646 0.404628
+vn -0.638696 -0.736622 0.222384
+vn -0.822891 -0.473898 0.313481
+vn -0.620815 -0.776146 0.110393
+vn 0.340433 -0.390379 0.855400
+vn -0.609602 -0.402393 0.682982
+vn 0.195122 -0.595091 0.779612
+vn -0.493985 -0.677213 0.545308
+vn -0.044005 -0.989554 0.137281
+vn -0.043951 -0.989548 0.137346
+vn -0.147970 -0.983985 0.099390
+vn -0.143719 -0.984449 0.101022
+vn -0.045168 -0.988906 0.141512
+vn 0.048215 -0.985265 0.164097
+vn -0.052897 -0.984633 0.166435
+vn 0.041623 -0.985069 0.167053
+vn -0.626797 0.720927 -0.295619
+vn -0.883035 0.286433 -0.371759
+vn -0.806119 0.223585 -0.547888
+vn -0.891138 0.225811 -0.393552
+vn -0.905073 0.233972 -0.355106
+vn -0.639404 0.704805 -0.307266
+vn -0.883035 0.286433 -0.371759
+vn -0.623470 0.721125 -0.302101
+vn -0.652734 0.690653 -0.311347
+vn 0.061678 0.996517 -0.056122
+vn -0.639404 0.704805 -0.307266
+vn 0.074690 0.995882 -0.051381
+vn 0.049739 0.996975 -0.059731
+vn 0.746375 0.622667 0.234969
+vn 0.061678 0.996517 -0.056122
+vn 0.753045 0.613120 0.238761
+vn 0.525423 0.836534 0.155378
+vn 0.157810 0.987285 -0.019085
+vn 0.568419 0.812165 0.131485
+vn 0.189945 0.980784 -0.044542
+vn 0.123346 0.991752 0.034829
+vn 0.008645 0.999683 -0.023639
+vn 0.157810 0.987285 -0.019085
+vn 0.020693 0.997322 -0.070146
+vn -0.387097 0.099215 0.916685
+vn 0.056771 -0.927933 0.368398
+vn -0.359266 0.170549 0.917519
+vn 0.492528 -0.640531 0.589183
+vn -0.110315 0.993626 -0.023198
+vn -0.387097 0.099215 0.916685
+vn -0.422014 0.905641 0.041466
+vn -0.359266 0.170549 0.917519
+vn -0.052897 -0.984633 0.166435
+vn 0.041623 -0.985069 0.167053
+vn -0.023970 -0.975888 0.216954
+vn 0.060265 -0.980668 0.186166
+vn 0.056771 -0.927933 0.368398
+vn -0.023970 -0.975888 0.216954
+vn 0.235928 -0.939625 0.247878
+vn 0.060265 -0.980668 0.186166
+vn 0.746375 0.622667 0.234969
+vn 0.920220 0.207544 0.331843
+vn 0.753045 0.613120 0.238761
+vn 0.920417 0.203118 0.334031
+vn 0.920220 0.207544 0.331843
+vn 0.883368 0.356229 0.304569
+vn 0.920417 0.203118 0.334031
+vn 0.884674 0.351131 0.306689
+vn 0.883368 0.356229 0.304569
+vn 0.568419 0.812165 0.131485
+vn 0.884674 0.351131 0.306689
+vn 0.656988 0.733284 0.175102
+vn 0.716867 0.315835 0.621571
+vn -0.227944 0.655141 0.720300
+vn 0.744588 0.399487 0.534788
+vn -0.098549 0.917156 0.386151
+vn 0.901963 0.075734 0.425121
+vn 0.758863 0.242243 0.604521
+vn 0.873071 0.210883 0.439632
+vn 0.873318 0.138874 0.466937
+vn 0.618192 0.465754 0.633177
+vn -0.341354 0.804062 0.486787
+vn 0.441062 0.832340 0.335669
+vn -0.181963 0.974661 0.130100
+vn 0.618192 0.465754 0.633177
+vn 0.882906 0.164551 0.439772
+vn 0.671998 0.273879 0.688047
+vn 0.889965 0.156240 0.428429
+vn 0.897190 0.353851 0.264272
+vn 0.263531 0.794277 -0.547426
+vn 0.988010 0.132106 0.079899
+vn 0.470354 0.160181 -0.867819
+vn 0.854091 0.235960 0.463521
+vn 0.888767 0.109499 0.445087
+vn 0.607271 0.371053 0.702525
+vn 0.893729 0.046777 0.446161
+vn 0.888767 0.109499 0.445087
+vn 0.917574 0.063432 0.392471
+vn 0.893729 0.046777 0.446161
+vn 0.966846 0.175841 0.185170
+vn 0.062893 0.952951 0.296527
+vn 0.058930 0.963107 0.262588
+vn 0.279997 0.432151 0.857232
+vn 0.604424 0.300817 0.737686
+vn 0.499960 0.825332 0.262424
+vn 0.986963 0.138516 -0.081960
+vn 0.885750 0.132304 0.444908
+vn 0.891937 0.010518 0.452038
+vn 0.781498 0.095534 0.616550
+vn 0.440859 0.687631 0.576895
+vn 0.604424 0.300817 0.737686
+vn 0.544712 0.619209 0.565570
+vn 0.764281 0.043164 0.643437
+vn 0.885750 0.132304 0.444908
+vn 0.599339 0.159111 0.784523
+vn 0.891937 0.010518 0.452038
+vn 0.062893 0.952951 0.296527
+vn -0.053117 0.956841 0.285717
+vn 0.144508 0.870488 0.470498
+vn -0.029299 0.931464 0.362651
+vn 0.144508 0.870488 0.470498
+vn -0.029299 0.931464 0.362651
+vn 0.210153 -0.514817 0.831143
+vn -0.122063 -0.289144 0.949472
+vn 0.949250 0.273132 0.155960
+vn 0.192458 0.771155 -0.606861
+vn 0.991989 0.125216 0.016666
+vn 0.280785 0.171397 -0.944342
+vn -0.211060 0.592966 0.777075
+vn 0.731628 0.262222 0.629254
+vn -0.138722 0.848449 0.510775
+vn 0.642878 0.524679 0.558050
+vn 0.731628 0.262222 0.629254
+vn 0.911048 0.152329 0.383129
+vn 0.642878 0.524679 0.558050
+vn 0.803177 0.511688 0.305094
+vn 0.991989 0.125216 0.016666
+vn 0.908742 0.416178 -0.031357
+vn 0.911048 0.152329 0.383129
+vn 0.803177 0.511688 0.305094
+vn -0.158063 0.837533 0.523025
+vn -0.211060 0.592966 0.777075
+vn -0.918798 0.377105 -0.116629
+vn -0.965739 0.253693 -0.054669
+vn -0.065800 0.986868 0.147521
+vn -0.158063 0.837533 0.523025
+vn -0.601103 0.767031 -0.224364
+vn -0.918798 0.377105 -0.116629
+vn -0.950417 0.109946 0.290893
+vn -0.992579 0.053652 0.109128
+vn -0.913101 0.366703 0.178258
+vn -0.934054 0.322641 -0.153119
+vn 0.422025 -0.418765 0.804071
+vn -0.110736 -0.544383 0.831496
+vn 0.192164 -0.545087 0.816060
+vn -0.205759 -0.609408 0.765693
+vn -0.968581 -0.219421 -0.117069
+vn -0.948806 -0.294816 -0.113362
+vn -0.985514 0.112173 -0.127195
+vn -0.992917 -0.028422 -0.115357
+vn -0.773028 -0.632231 -0.052076
+vn -0.439820 -0.894792 0.076847
+vn -0.905511 -0.418410 -0.070588
+vn -0.736859 -0.667587 0.106619
+vn -0.090938 -0.953848 0.286191
+vn -0.171816 -0.853652 0.491689
+vn -0.406715 -0.824997 0.392382
+vn -0.365642 -0.737204 0.568187
+vn 0.380430 -0.398983 0.834317
+vn 0.192164 -0.545087 0.816060
+vn 0.466307 -0.586330 0.662401
+vn 0.104444 -0.751368 0.651566
+vn 0.341445 -0.218627 0.914121
+vn 0.405442 0.025298 0.913771
+vn 0.747838 -0.184592 0.637702
+vn 0.615938 0.147243 0.773912
+vn 0.718219 0.366144 0.591693
+vn 0.645057 0.246483 0.723289
+vn 0.432553 0.485351 0.759824
+vn 0.251400 0.417122 0.873388
+vn 0.645057 0.246483 0.723289
+vn 0.615938 0.147243 0.773912
+vn 0.251400 0.417122 0.873388
+vn -0.027477 0.395664 0.917984
+vn 0.772783 0.530088 0.349017
+vn 0.718219 0.366144 0.591693
+vn 0.673136 0.578805 0.460297
+vn 0.432553 0.485351 0.759824
+vn 0.772783 0.530088 0.349017
+vn 0.836779 0.534955 0.116720
+vn 0.651063 0.725739 0.222305
+vn 0.620138 0.783797 0.033018
+vn 0.289055 0.951868 0.101959
+vn 0.651063 0.725739 0.222305
+vn 0.252414 0.967270 -0.026009
+vn 0.620138 0.783797 0.033018
+vn 0.000000 0.998845 0.048052
+vn 0.289055 0.951868 0.101959
+vn -0.000000 0.999418 -0.034114
+vn 0.252414 0.967270 -0.026009
+vn -0.763542 0.371400 -0.528266
+vn -0.492777 0.229384 -0.839377
+vn -0.525775 0.675552 -0.516905
+vn -0.422204 0.685127 -0.593587
+vn -0.710961 0.642216 -0.286519
+vn -0.336812 0.899029 -0.279828
+vn -0.597964 0.789451 -0.138585
+vn -0.266857 0.952171 -0.148853
+vn -0.213563 0.948600 -0.233558
+vn -0.336812 0.899029 -0.279828
+vn -0.569276 0.704780 -0.423333
+vn -0.719301 0.322660 -0.615221
+vn -0.823378 0.567320 -0.014012
+vn -0.597964 0.789451 -0.138585
+vn -0.346091 0.938139 -0.010774
+vn -0.266857 0.952171 -0.148853
+vn -0.823378 0.567320 -0.014012
+vn -0.891911 0.451637 0.022796
+vn -0.987261 -0.056786 -0.148629
+vn -0.979233 -0.086264 -0.183472
+vn -0.937438 -0.289760 -0.192998
+vn -0.987261 -0.056786 -0.148629
+vn -0.917571 -0.318130 -0.238448
+vn -0.979233 -0.086264 -0.183472
+vn -0.062268 -0.982330 -0.176494
+vn -0.155012 -0.971466 -0.179516
+vn -0.584334 -0.779974 -0.224040
+vn -0.702382 -0.701925 -0.118157
+vn -0.584334 -0.779974 -0.224040
+vn -0.971918 0.013991 -0.234903
+vn -0.558064 -0.765306 -0.320737
+vn -0.899082 0.030829 -0.436694
+vn -0.525775 0.675552 -0.516905
+vn -0.422204 0.685127 -0.593587
+vn -0.484706 0.799449 -0.354883
+vn -0.618492 0.692953 -0.370519
+vn -0.910993 -0.169075 -0.376171
+vn -0.708697 -0.342127 -0.617007
+vn -0.879418 0.086518 -0.468122
+vn -0.615787 -0.090537 -0.782694
+vn -0.901134 0.005281 0.433509
+vn -0.070932 -0.139365 0.987697
+vn -0.510408 -0.838540 0.190615
+vn 0.011519 -0.963341 0.268032
+vn -0.510408 -0.838540 0.190615
+vn -0.496921 -0.859704 0.118234
+vn -0.789984 -0.609310 0.068315
+vn -0.838175 -0.545384 -0.004330
+vn -0.650231 -0.759373 -0.023512
+vn -0.228454 -0.969042 0.093633
+vn -0.935161 -0.335587 -0.113379
+vn -0.959632 -0.235936 -0.153106
+vn -0.228454 -0.969042 0.093633
+vn -0.695055 -0.717909 -0.038797
+vn -0.959632 -0.235936 -0.153106
+vn -0.937247 -0.310869 -0.157888
+vn -0.695055 -0.717909 -0.038797
+vn -0.059870 -0.983918 0.168291
+vn -0.937247 -0.310869 -0.157888
+vn -0.883334 -0.461086 -0.084381
+vn -0.832150 -0.547646 -0.087241
+vn -0.967668 -0.198866 -0.155148
+vn -0.842639 -0.523999 0.124035
+vn -0.977520 -0.140118 -0.157547
+vn -0.967668 -0.198866 -0.155148
+vn -0.936961 -0.302148 -0.175528
+vn -0.977520 -0.140118 -0.157547
+vn -0.846452 -0.421426 -0.325451
+vn -0.472854 -0.877505 -0.079964
+vn -0.860415 -0.473391 -0.188647
+vn -0.925617 -0.343807 -0.158211
+vn -0.630466 -0.760388 -0.155958
+vn -0.392390 -0.918642 -0.046114
+vn -0.332518 -0.940908 -0.064226
+vn -0.685167 -0.714300 -0.142556
+vn -0.720172 -0.682171 -0.126476
+vn -0.332518 -0.940908 -0.064226
+vn -0.931025 -0.328896 -0.158175
+vn -0.720172 -0.682171 -0.126476
+vn -0.525489 -0.844271 -0.105205
+vn -0.259364 -0.961304 -0.092867
+vn -0.337379 -0.936649 -0.094150
+vn -0.581695 -0.800826 -0.142508
+vn -0.864060 -0.500048 0.057902
+vn -0.337379 -0.936649 -0.094150
+vn -0.372270 -0.923749 -0.090019
+vn -0.864060 -0.500048 0.057902
+vn -0.975339 -0.127857 -0.179905
+vn -0.725160 -0.670116 -0.158389
+vn -0.944810 -0.202508 -0.257535
+vn -0.919469 -0.372453 -0.125921
+vn -0.807013 -0.568975 -0.158104
+vn -0.581520 -0.811935 0.050947
+vn -0.715641 -0.685515 0.133892
+vn -0.372100 -0.923865 0.089524
+vn -0.638696 -0.736622 0.222384
+vn -0.715641 -0.685515 0.133892
+vn -0.791373 -0.607305 0.070062
+vn -0.506814 -0.855429 0.106680
+vn -0.699881 -0.708541 0.090200
+vn -0.891557 -0.210875 0.400822
+vn -0.980278 -0.147602 0.131407
+vn -0.585553 -0.810330 0.022216
+vn -0.849919 -0.515590 -0.108646
+vn -0.895528 0.228039 -0.382137
+vn -0.672746 0.351110 -0.651256
+vn -0.646494 0.725846 -0.234933
+vn -0.444883 0.862691 -0.240507
+vn -0.585553 -0.810330 0.022216
+vn -0.849919 -0.515590 -0.108646
+vn -0.486219 -0.861643 -0.145472
+vn -0.731082 -0.650534 -0.205731
+vn -0.728110 -0.595436 -0.339576
+vn -0.768531 -0.634865 0.079413
+vn -0.918801 -0.131504 -0.372172
+vn -0.938536 -0.335461 0.081343
+vn -0.857690 -0.364702 -0.362436
+vn -0.319472 -0.931458 -0.174137
+vn -0.823146 -0.419946 -0.382200
+vn -0.311828 -0.934650 -0.170861
+vn -0.304065 -0.937819 -0.167451
+vn -0.038738 -0.997019 -0.066732
+vn -0.296960 -0.940538 -0.164931
+vn -0.038038 -0.997093 -0.066023
+vn -0.296960 -0.940538 -0.164931
+vn -0.038038 -0.997093 -0.066023
+vn -0.292369 -0.941223 -0.169175
+vn -0.036097 -0.996303 -0.077961
+vn -0.311828 -0.934650 -0.170861
+vn -0.038853 -0.996918 -0.068157
+vn -0.304065 -0.937819 -0.167451
+vn -0.038738 -0.997019 -0.066732
+vn -0.110692 -0.987127 -0.115447
+vn -0.103879 -0.987796 -0.116055
+vn 0.018786 -0.996057 -0.086702
+vn 0.026307 -0.996487 -0.079514
+vn -0.039881 -0.993825 -0.103548
+vn 0.029287 -0.995570 -0.089351
+vn -0.055507 -0.991435 -0.118220
+vn 0.032724 -0.994484 -0.099650
+vn -0.055507 -0.991435 -0.118220
+vn 0.032724 -0.994484 -0.099650
+vn -0.076621 -0.990163 -0.117075
+vn 0.029927 -0.995448 -0.090491
+vn -0.076621 -0.990163 -0.117075
+vn 0.029927 -0.995448 -0.090491
+vn -0.095182 -0.989377 -0.109883
+vn 0.025121 -0.996827 -0.075536
+vn -0.857690 -0.364702 -0.362436
+vn -0.854968 -0.400583 -0.329488
+vn -0.319472 -0.931458 -0.174137
+vn -0.326022 -0.928794 -0.176213
+vn -0.854968 -0.400583 -0.329488
+vn -0.810453 -0.470158 -0.349453
+vn -0.326022 -0.928794 -0.176213
+vn -0.334607 -0.925298 -0.178500
+vn -0.810453 -0.470158 -0.349453
+vn -0.839837 -0.375641 -0.391878
+vn -0.334607 -0.925298 -0.178500
+vn -0.344207 -0.921151 -0.181665
+vn -0.352852 -0.917427 -0.183911
+vn -0.344207 -0.921151 -0.181665
+vn -0.870067 -0.330244 -0.365953
+vn -0.839837 -0.375641 -0.391878
+vn -0.363166 -0.913269 -0.184527
+vn -0.373356 -0.908875 -0.185883
+vn -0.046892 -0.997013 -0.061368
+vn -0.049702 -0.997015 -0.059087
+vn -0.373356 -0.908875 -0.185883
+vn -0.380290 -0.904368 -0.193644
+vn -0.049702 -0.997015 -0.059087
+vn -0.049180 -0.996467 -0.068084
+vn 0.802470 -0.489340 -0.341449
+vn 0.679415 -0.181743 -0.710890
+vn 0.486060 -0.647369 -0.587076
+vn 0.510987 -0.550436 -0.660237
+vn 0.065297 -0.979397 -0.191099
+vn 0.015048 -0.998898 -0.044453
+vn -0.014492 -0.983844 -0.178439
+vn -0.049180 -0.996467 -0.068084
+vn -0.014492 -0.983844 -0.178439
+vn -0.049180 -0.996467 -0.068084
+vn -0.351339 -0.894871 -0.275256
+vn -0.380290 -0.904368 -0.193644
+vn -0.137064 -0.985042 0.104428
+vn -0.139879 -0.984828 0.102701
+vn -0.043874 -0.989536 0.137451
+vn -0.043911 -0.989542 0.137400
+vn -0.139879 -0.984828 0.102701
+vn -0.143719 -0.984449 0.101022
+vn -0.043911 -0.989542 0.137400
+vn -0.043951 -0.989548 0.137346
+vn -0.044064 -0.989561 0.137214
+vn 0.068010 -0.983897 0.165292
+vn -0.044005 -0.989554 0.137281
+vn 0.063511 -0.984371 0.164254
+vn -0.044102 -0.989568 0.137153
+vn 0.072864 -0.983362 0.166404
+vn -0.044064 -0.989561 0.137214
+vn 0.068010 -0.983897 0.165292
+vn -0.044140 -0.989575 0.137090
+vn 0.077973 -0.982771 0.167575
+vn -0.044102 -0.989568 0.137153
+vn 0.072864 -0.983362 0.166404
+vn -0.038249 -0.992206 0.118591
+vn 0.088800 -0.984542 0.150966
+vn -0.044140 -0.989575 0.137090
+vn 0.077973 -0.982771 0.167575
+vn -0.018708 -0.998138 0.058054
+vn 0.114025 -0.989094 0.093229
+vn -0.038249 -0.992206 0.118591
+vn 0.088800 -0.984542 0.150966
+vn -0.044005 -0.989554 0.137281
+vn 0.063511 -0.984371 0.164254
+vn -0.043951 -0.989548 0.137346
+vn 0.059193 -0.984806 0.163256
+vn -0.043874 -0.989536 0.137451
+vn 0.052197 -0.985280 0.162782
+vn -0.045168 -0.988906 0.141512
+vn 0.048215 -0.985265 0.164097
+vn -0.110315 0.993626 -0.023198
+vn -0.104486 0.989519 -0.099671
+vn 0.008645 0.999683 -0.023639
+vn 0.020693 0.997322 -0.070146
+vn -0.422014 0.905641 0.041466
+vn -0.391884 0.909101 -0.141291
+vn -0.110315 0.993626 -0.023198
+vn -0.104486 0.989519 -0.099671
+vn 0.056771 -0.927933 0.368398
+vn 0.235928 -0.939625 0.247878
+vn 0.492528 -0.640531 0.589183
+vn 0.645078 -0.686499 0.335549
+vn 0.256967 0.822843 -0.506850
+vn -0.806119 0.223585 -0.547888
+vn 0.376736 0.219302 -0.899987
+vn -0.724986 0.091669 -0.682636
+vn -0.227944 0.655141 0.720300
+vn 0.716867 0.315835 0.621571
+vn -0.133853 0.871060 0.472587
+vn 0.609352 0.581618 0.538898
+vn 0.716867 0.315835 0.621571
+vn 0.908201 0.177409 0.379074
+vn 0.609352 0.581618 0.538898
+vn 0.774241 0.560817 0.293318
+vn 0.908201 0.177409 0.379074
+vn 0.988993 0.146786 0.018605
+vn 0.774241 0.560817 0.293318
+vn 0.885786 0.463452 -0.024392
+vn 0.988993 0.146786 0.018605
+vn 0.376736 0.219302 -0.899987
+vn 0.885786 0.463452 -0.024392
+vn 0.291312 0.701788 -0.650101
+vn 0.758863 0.242243 0.604521
+vn 0.901963 0.075734 0.425121
+vn 0.631599 0.283331 0.721669
+vn 0.886943 0.152452 0.435994
+vn 0.901963 0.075734 0.425121
+vn 0.941141 0.268917 0.204786
+vn 0.886943 0.152452 0.435994
+vn 0.994419 0.101777 -0.027806
+vn 0.941141 0.268917 0.204786
+vn 0.441062 0.832340 0.335669
+vn 0.135942 0.812547 -0.566822
+vn -0.181963 0.974661 0.130100
+vn 0.758863 0.242243 0.604521
+vn 0.591108 0.715864 0.371659
+vn 0.873318 0.138874 0.466937
+vn 0.837214 0.330625 0.435613
+vn -0.341354 0.804062 0.486787
+vn 0.618192 0.465754 0.633177
+vn -0.423497 0.513106 0.746574
+vn 0.671998 0.273879 0.688047
+vn 0.671998 0.273879 0.688047
+vn 0.889965 0.156240 0.428429
+vn 0.572969 0.470599 0.671002
+vn 0.779859 0.470915 0.412383
+vn 0.889965 0.156240 0.428429
+vn 0.988010 0.132106 0.079899
+vn 0.779859 0.470915 0.412383
+vn 0.926149 0.371794 0.063377
+vn -0.065800 0.986868 0.147521
+vn -0.601103 0.767031 -0.224364
+vn 0.263531 0.794277 -0.547426
+vn -0.792755 0.117460 -0.598116
+vn 0.917574 0.063432 0.392471
+vn 0.837214 0.330625 0.435613
+vn 0.966846 0.175841 0.185170
+vn 0.591108 0.715864 0.371659
+vn 0.279997 0.432151 0.857232
+vn -0.096116 0.460741 0.882315
+vn 0.062893 0.952951 0.296527
+vn -0.053117 0.956841 0.285717
+vn 0.279997 0.432151 0.857232
+vn 0.604424 0.300817 0.737686
+vn 0.503934 0.350364 0.789491
+vn 0.544712 0.619209 0.565570
+vn 0.986963 0.138516 -0.081960
+vn 0.499960 0.825332 0.262424
+vn 0.029962 0.502337 -0.864153
+vn -0.324806 0.943977 0.058374
+vn 0.607271 0.371053 0.702525
+vn -0.410419 0.714202 0.566985
+vn 0.499960 0.825332 0.262424
+vn -0.324806 0.943977 0.058374
+vn 0.599339 0.159111 0.784523
+vn -0.244006 0.480836 0.842175
+vn 0.764281 0.043164 0.643437
+vn -0.095742 0.764929 0.636960
+vn 0.764281 0.043164 0.643437
+vn -0.095742 0.764929 0.636960
+vn 0.440859 0.687631 0.576895
+vn -0.196073 0.950882 0.239541
+vn 0.027086 0.999287 -0.026318
+vn -0.611116 0.738824 -0.284036
+vn 0.192458 0.771155 -0.606861
+vn -0.807551 0.197927 -0.555595
+vn -0.098549 0.917156 0.386151
+vn -0.227944 0.655141 0.720300
+vn -0.918524 0.369469 -0.140736
+vn -0.959192 0.278469 -0.049058
+vn 0.027086 0.999287 -0.026318
+vn -0.098549 0.917156 0.386151
+vn -0.611116 0.738824 -0.284036
+vn -0.918524 0.369469 -0.140736
+vn -0.211060 0.592966 0.777075
+vn -0.138722 0.848449 0.510775
+vn -0.965739 0.253693 -0.054669
+vn -0.856351 0.515742 -0.025951
+vn 0.991989 0.125216 0.016666
+vn 0.280785 0.171397 -0.944342
+vn 0.908742 0.416178 -0.031357
+vn 0.223846 0.666060 -0.711518
+vn -0.913101 0.366703 0.178258
+vn -0.830644 0.258861 0.492972
+vn -0.950417 0.109946 0.290893
+vn -0.799532 0.188345 0.570329
+vn -0.950417 0.109946 0.290893
+vn -0.799532 0.188345 0.570329
+vn -0.830154 -0.149428 0.537137
+vn -0.721186 0.050329 0.690911
+vn -0.830154 -0.149428 0.537137
+vn -0.582326 -0.365791 0.726012
+vn -0.543633 -0.436225 0.717057
+vn -0.447090 -0.486635 0.750531
+vn -0.543633 -0.436225 0.717057
+vn -0.447090 -0.486635 0.750531
+vn -0.110736 -0.544383 0.831496
+vn -0.205759 -0.609408 0.765693
+vn -0.961202 0.233711 -0.146529
+vn -0.985514 0.112173 -0.127195
+vn -0.766765 0.625850 -0.142770
+vn -0.874268 0.470853 -0.118123
+vn -0.975180 0.086182 -0.203952
+vn -0.961202 0.233711 -0.146529
+vn -0.590953 0.799017 -0.111109
+vn -0.766765 0.625850 -0.142770
+vn -0.948806 -0.294816 -0.113362
+vn -0.905511 -0.418410 -0.070588
+vn -0.992917 -0.028422 -0.115357
+vn -0.971500 -0.227361 -0.067045
+vn -0.905511 -0.418410 -0.070588
+vn -0.736859 -0.667587 0.106619
+vn -0.971500 -0.227361 -0.067045
+vn -0.882004 -0.436449 0.177710
+vn -0.736859 -0.667587 0.106619
+vn -0.406715 -0.824997 0.392382
+vn -0.882004 -0.436449 0.177710
+vn -0.665132 -0.496929 0.557369
+vn -0.171816 -0.853652 0.491689
+vn -0.065597 -0.743575 0.665427
+vn -0.306264 -0.429540 0.849528
+vn -0.122063 -0.289144 0.949472
+vn 0.466307 -0.586330 0.662401
+vn 0.585391 -0.404108 0.702862
+vn 0.380430 -0.398983 0.834317
+vn 0.323050 -0.342541 0.882216
+vn 0.405442 0.025298 0.913771
+vn 0.341445 -0.218627 0.914121
+vn -0.726381 -0.086132 0.681874
+vn 0.096040 -0.696629 0.710974
+vn 0.341445 -0.218627 0.914121
+vn 0.323050 -0.342541 0.882216
+vn 0.096040 -0.696629 0.710974
+vn 0.585391 -0.404108 0.702862
+vn 0.615938 0.147243 0.773912
+vn 0.405442 0.025298 0.913771
+vn -0.027477 0.395664 0.917984
+vn -0.726381 -0.086132 0.681874
+vn 0.673136 0.578805 0.460297
+vn 0.830554 0.550776 0.082621
+vn 0.772783 0.530088 0.349017
+vn 0.836779 0.534955 0.116720
+vn 0.000000 0.998845 0.048052
+vn -0.000000 0.999418 -0.034114
+vn -0.326604 0.939810 0.100434
+vn -0.305994 0.951636 -0.027497
+vn -0.326604 0.939810 0.100434
+vn -0.720467 0.650295 0.240923
+vn -0.479972 0.861385 -0.166261
+vn -0.913101 0.366703 0.178258
+vn -0.763542 0.371400 -0.528266
+vn -0.879418 0.086518 -0.468122
+vn -0.492777 0.229384 -0.839377
+vn -0.615787 -0.090537 -0.782694
+vn -0.444924 0.879663 0.168035
+vn -0.823378 0.567320 -0.014012
+vn -0.346091 0.938139 -0.010774
+vn -0.823378 0.567320 -0.014012
+vn -0.444924 0.879663 0.168035
+vn -0.891911 0.451637 0.022796
+vn -0.345378 0.880022 0.325999
+vn -0.425435 -0.892724 -0.148491
+vn -0.702382 -0.701925 -0.118157
+vn -0.155012 -0.971466 -0.179516
+vn -0.062268 -0.982330 -0.176494
+vn -0.584334 -0.779974 -0.224040
+vn -0.121513 -0.973517 -0.193647
+vn -0.558064 -0.765306 -0.320737
+vn -0.899082 0.030829 -0.436694
+vn -0.618492 0.692953 -0.370519
+vn -0.849995 0.210669 -0.482832
+vn -0.422204 0.685127 -0.593587
+vn -0.558064 -0.765306 -0.320737
+vn -0.899082 0.030829 -0.436694
+vn -0.734818 -0.613106 -0.290075
+vn -0.849995 0.210669 -0.482832
+vn -0.917571 -0.318130 -0.238448
+vn -0.979233 -0.086264 -0.183472
+vn -0.843997 -0.360174 -0.397421
+vn -0.958033 -0.016588 -0.286177
+vn -0.843997 -0.360174 -0.397421
+vn -0.958033 -0.016588 -0.286177
+vn -0.708697 -0.342127 -0.617007
+vn -0.878348 -0.033268 -0.476863
+vn -0.590953 0.799017 -0.111109
+vn -0.668008 0.731536 0.136459
+vn -0.975180 0.086182 -0.203952
+vn -0.876786 0.216671 0.429301
+vn -0.901134 0.005281 0.433509
+vn -0.876786 0.216671 0.429301
+vn -0.846683 0.520260 0.111612
+vn -0.668008 0.731536 0.136459
+vn -0.901134 0.005281 0.433509
+vn -0.651299 0.752889 -0.094702
+vn -0.070932 -0.139365 0.987697
+vn -0.055674 0.997814 -0.035604
+vn -0.496921 -0.859704 0.118234
+vn -0.510408 -0.838540 0.190615
+vn -0.024760 -0.975816 0.217187
+vn 0.011519 -0.963341 0.268032
+vn -0.496921 -0.859704 0.118234
+vn -0.502369 -0.863565 0.043364
+vn -0.838175 -0.545384 -0.004330
+vn -0.883334 -0.461086 -0.084381
+vn -0.937247 -0.310869 -0.157888
+vn -0.883334 -0.461086 -0.084381
+vn -0.855805 -0.419793 -0.302279
+vn -0.502369 -0.863565 0.043364
+vn -0.916637 -0.378705 -0.127901
+vn -0.935161 -0.335587 -0.113379
+vn -0.536977 -0.843595 0.001909
+vn -0.816887 -0.562111 0.129333
+vn -0.936961 -0.302148 -0.175528
+vn -0.916637 -0.378705 -0.127901
+vn -0.846452 -0.421426 -0.325451
+vn -0.536977 -0.843595 0.001909
+vn -0.821413 -0.438804 -0.364325
+vn -0.572533 -0.819831 -0.009127
+vn 0.140983 -0.926201 -0.349679
+vn -0.032599 -0.992443 0.118295
+vn -0.842639 -0.523999 0.124035
+vn -0.127715 -0.911141 0.391805
+vn -0.572533 -0.819831 -0.009127
+vn -0.032599 -0.992443 0.118295
+vn -0.975339 -0.127857 -0.179905
+vn -0.821413 -0.438804 -0.364325
+vn -0.952431 -0.236371 -0.192363
+vn -0.724632 -0.193368 -0.661451
+vn -0.860415 -0.473391 -0.188647
+vn -0.472854 -0.877505 -0.079964
+vn -0.968372 -0.192260 -0.159033
+vn -0.974059 -0.117059 -0.193666
+vn -0.472854 -0.877505 -0.079964
+vn -0.564443 -0.820611 -0.089450
+vn -0.974059 -0.117059 -0.193666
+vn -0.894513 -0.403731 -0.191959
+vn -0.564443 -0.820611 -0.089450
+vn -0.392390 -0.918642 -0.046114
+vn -0.894513 -0.403731 -0.191959
+vn -0.685167 -0.714300 -0.142556
+vn -0.720172 -0.682171 -0.126476
+vn -0.525489 -0.844271 -0.105205
+vn -0.885584 -0.463600 0.028557
+vn -0.975923 -0.117195 -0.183956
+vn -0.525489 -0.844271 -0.105205
+vn -0.341527 -0.932084 -0.120741
+vn -0.975923 -0.117195 -0.183956
+vn -0.839099 -0.362025 -0.406018
+vn -0.259364 -0.961304 -0.092867
+vn -0.581695 -0.800826 -0.142508
+vn -0.341527 -0.932084 -0.120741
+vn -0.839099 -0.362025 -0.406018
+vn -0.864060 -0.500048 0.057902
+vn -0.975339 -0.127857 -0.179905
+vn -0.891507 -0.411789 0.188797
+vn -0.952431 -0.236371 -0.192363
+vn -0.466750 -0.874062 -0.134761
+vn -0.925617 -0.343807 -0.158211
+vn -0.425595 -0.892406 -0.149937
+vn -0.725160 -0.670116 -0.158389
+vn -0.919469 -0.372453 -0.125921
+vn -0.843922 -0.505240 -0.180356
+vn -0.919469 -0.372453 -0.125921
+vn -0.466750 -0.874062 -0.134761
+vn -0.843922 -0.505240 -0.180356
+vn -0.922892 -0.327770 -0.202082
+vn -0.791373 -0.607305 0.070062
+vn -0.938827 -0.343231 -0.028231
+vn -0.699881 -0.708541 0.090200
+vn -0.909029 -0.381411 0.167902
+vn -0.938827 -0.343231 -0.028231
+vn -0.807013 -0.568975 -0.158104
+vn -0.909029 -0.381411 0.167902
+vn -0.980753 -0.090124 -0.173211
+vn -0.506814 -0.855429 0.106680
+vn -0.620815 -0.776146 0.110393
+vn -0.715641 -0.685515 0.133892
+vn -0.638696 -0.736622 0.222384
+vn -0.891557 -0.210875 0.400822
+vn -0.589392 0.781975 0.202809
+vn -0.980278 -0.147602 0.131407
+vn -0.876732 0.479858 -0.032832
+vn -0.818426 0.564397 0.107863
+vn -0.694378 0.715389 -0.077827
+vn -0.589392 0.781975 0.202809
+vn -0.403926 0.914320 -0.029379
+vn -0.694378 0.715389 -0.077827
+vn -0.646494 0.725846 -0.234933
+vn -0.403926 0.914320 -0.029379
+vn -0.444883 0.862691 -0.240507
+vn -0.672746 0.351110 -0.651256
+vn -0.604987 -0.718132 -0.343914
+vn -0.877050 0.176574 -0.446772
+vn -0.865299 -0.389639 -0.315339
+vn -0.604987 -0.718132 -0.343914
+vn -0.486219 -0.861643 -0.145472
+vn -0.865299 -0.389639 -0.315339
+vn -0.731082 -0.650534 -0.205731
+vn -0.319472 -0.931458 -0.174137
+vn -0.038599 -0.996869 -0.069010
+vn -0.311828 -0.934650 -0.170861
+vn -0.038853 -0.996918 -0.068157
+vn -0.036097 -0.996303 -0.077961
+vn 0.020252 -0.997895 -0.061605
+vn -0.039881 -0.993825 -0.103548
+vn 0.029287 -0.995570 -0.089351
+vn -0.103879 -0.987796 -0.116055
+vn -0.095182 -0.989377 -0.109883
+vn 0.026307 -0.996487 -0.079514
+vn 0.025121 -0.996827 -0.075536
+vn -0.001405 -0.999846 -0.017474
+vn 0.136782 -0.989664 0.043074
+vn -0.018708 -0.998138 0.058054
+vn 0.114025 -0.989094 0.093229
+vn -0.001405 -0.999846 -0.017474
+vn 0.030174 -0.997690 -0.060856
+vn 0.136782 -0.989664 0.043074
+vn 0.174581 -0.984471 -0.018378
+vn 0.018786 -0.996057 -0.086702
+vn 0.178552 -0.982056 -0.060704
+vn 0.030174 -0.997690 -0.060856
+vn 0.174581 -0.984471 -0.018378
+vn -0.344207 -0.921151 -0.181665
+vn -0.352852 -0.917427 -0.183911
+vn -0.042014 -0.996923 -0.066179
+vn -0.043886 -0.996896 -0.065357
+vn -0.352852 -0.917427 -0.183911
+vn -0.363166 -0.913269 -0.184527
+vn -0.043886 -0.996896 -0.065357
+vn -0.046892 -0.997013 -0.061368
+vn 0.802470 -0.489340 -0.341449
+vn 0.969185 -0.068137 -0.236725
+vn 0.679415 -0.181743 -0.710890
+vn 0.675495 -0.049075 -0.735730
+vn 0.679415 -0.181743 -0.710890
+vn -0.071201 -0.323241 -0.943634
+vn 0.510987 -0.550436 -0.660237
+vn 0.515643 -0.489821 -0.702985
+vn 0.510987 -0.550436 -0.660237
+vn 0.515643 -0.489821 -0.702985
+vn 0.274724 -0.859240 -0.431548
+vn 0.511762 -0.794876 -0.325992
+vn 0.065297 -0.979397 -0.191099
+vn 0.121404 -0.983190 -0.136374
+vn 0.015048 -0.998898 -0.044453
+vn 0.081743 -0.996257 -0.028120
+vn 0.274724 -0.859240 -0.431548
+vn 0.511762 -0.794876 -0.325992
+vn 0.121404 -0.983190 -0.136374
+vn 0.451201 -0.891973 -0.028309
+vn 0.933228 -0.173674 0.314521
+vn 0.762164 -0.591805 0.262436
+vn 0.969185 -0.068137 -0.236725
+vn 0.919732 -0.286632 -0.268208
+vn 0.195122 -0.595091 0.779612
+vn -0.493985 -0.677213 0.545308
+vn 0.762164 -0.591805 0.262436
+vn 0.015108 -0.999616 -0.023220
+vn -0.609602 -0.402393 0.682982
+vn -0.933105 -0.281921 0.223241
+vn -0.493985 -0.677213 0.545308
+vn -0.859069 -0.460334 0.223815
+vn -0.822891 -0.473898 0.313481
+vn -0.914625 -0.310624 -0.258795
+vn -0.933105 -0.281921 0.223241
+vn -0.940159 -0.189701 -0.283046
+vn -0.822891 -0.473898 0.313481
+vn -0.620815 -0.776146 0.110393
+vn -0.914625 -0.310624 -0.258795
+vn -0.398701 -0.910060 -0.113263
+vn -0.043951 -0.989548 0.137346
+vn 0.059193 -0.984806 0.163256
+vn -0.043911 -0.989542 0.137400
+vn 0.055194 -0.985146 0.162605
+vn 0.052197 -0.985280 0.162782
+vn -0.043874 -0.989536 0.137451
+vn 0.055194 -0.985146 0.162605
+vn -0.043911 -0.989542 0.137400
+vn 0.052197 -0.985280 0.162782
+vn 0.196660 -0.961737 0.190755
+vn 0.048215 -0.985265 0.164097
+vn 0.200693 -0.960655 0.192003
+vn 0.048215 -0.985265 0.164097
+vn 0.200693 -0.960655 0.192003
+vn 0.041623 -0.985069 0.167053
+vn 0.236305 -0.953288 0.188152
+vn -0.806119 0.223585 -0.547888
+vn -0.891138 0.225811 -0.393552
+vn -0.928797 0.046399 -0.367673
+vn -0.909549 0.181723 -0.373762
+vn -0.883035 0.286433 -0.371759
+vn -0.623470 0.721125 -0.302101
+vn -0.891138 0.225811 -0.393552
+vn -0.605392 0.738726 -0.296286
+vn -0.639404 0.704805 -0.307266
+vn 0.074690 0.995882 -0.051381
+vn -0.623470 0.721125 -0.302101
+vn 0.089615 0.994940 -0.045418
+vn 0.061678 0.996517 -0.056122
+vn 0.753045 0.613120 0.238761
+vn 0.074690 0.995882 -0.051381
+vn 0.758440 0.605260 0.241721
+vn 0.568419 0.812165 0.131485
+vn 0.189945 0.980784 -0.044542
+vn 0.656988 0.733284 0.175102
+vn 0.351733 0.935639 0.029398
+vn 0.189945 0.980784 -0.044542
+vn 0.157810 0.987285 -0.019085
+vn 0.029236 0.994249 -0.103030
+vn 0.020693 0.997322 -0.070146
+vn -0.359266 0.170549 0.917519
+vn 0.492528 -0.640531 0.589183
+vn -0.381866 0.198247 0.902705
+vn 0.734740 -0.059798 0.675708
+vn -0.422014 0.905641 0.041466
+vn -0.359266 0.170549 0.917519
+vn -0.855993 0.507206 0.100087
+vn -0.381866 0.198247 0.902705
+vn -0.391884 0.909101 -0.141291
+vn -0.422014 0.905641 0.041466
+vn -0.805213 0.562594 -0.187401
+vn -0.855993 0.507206 0.100087
+vn 0.041623 -0.985069 0.167053
+vn 0.236305 -0.953288 0.188152
+vn 0.060265 -0.980668 0.186166
+vn 0.235928 -0.939625 0.247878
+vn 0.753045 0.613120 0.238761
+vn 0.920417 0.203118 0.334031
+vn 0.758440 0.605260 0.241721
+vn 0.920795 0.199488 0.335173
+vn 0.920417 0.203118 0.334031
+vn 0.884674 0.351131 0.306689
+vn 0.920795 0.199488 0.335173
+vn 0.886101 0.346277 0.308087
+vn 0.884674 0.351131 0.306689
+vn 0.656988 0.733284 0.175102
+vn 0.886101 0.346277 0.308087
+vn 0.669183 0.716926 0.195479
+vn -0.227944 0.655141 0.720300
+vn -0.133853 0.871060 0.472587
+vn -0.959192 0.278469 -0.049058
+vn -0.812433 0.582578 -0.023559
+vn 0.631599 0.283331 0.721669
+vn -0.360027 0.481171 0.799284
+vn 0.758863 0.242243 0.604521
+vn -0.145504 0.712163 0.686770
+vn 0.941141 0.268917 0.204786
+vn 0.135942 0.812547 -0.566822
+vn 0.994419 0.101777 -0.027806
+vn 0.405171 0.090301 -0.909770
+vn 0.758863 0.242243 0.604521
+vn -0.145504 0.712163 0.686770
+vn 0.591108 0.715864 0.371659
+vn -0.232211 0.962155 0.142606
+vn -0.341354 0.804062 0.486787
+vn -0.423497 0.513106 0.746574
+vn -0.949285 0.301478 -0.089275
+vn -0.980045 0.183574 -0.076239
+vn -0.181963 0.974661 0.130100
+vn -0.341354 0.804062 0.486787
+vn -0.688383 0.711300 -0.142061
+vn -0.949285 0.301478 -0.089275
+vn -0.423497 0.513106 0.746574
+vn 0.671998 0.273879 0.688047
+vn -0.324088 0.750836 0.575510
+vn 0.572969 0.470599 0.671002
+vn 0.988010 0.132106 0.079899
+vn 0.470354 0.160181 -0.867819
+vn 0.926149 0.371794 0.063377
+vn 0.325997 0.701144 -0.634131
+vn 0.470354 0.160181 -0.867819
+vn 0.263531 0.794277 -0.547426
+vn -0.703832 0.043324 -0.709044
+vn -0.792755 0.117460 -0.598116
+vn 0.607271 0.371053 0.702525
+vn 0.893729 0.046777 0.446161
+vn 0.596299 0.272006 0.755275
+vn 0.881927 0.147555 0.447697
+vn 0.893729 0.046777 0.446161
+vn 0.966846 0.175841 0.185170
+vn 0.881927 0.147555 0.447697
+vn 0.994058 0.094277 -0.054410
+vn -0.096116 0.460741 0.882315
+vn 0.279997 0.432151 0.857232
+vn -0.114575 0.382509 0.916820
+vn 0.503934 0.350364 0.789491
+vn 0.029962 0.502337 -0.864153
+vn 0.305928 -0.033757 -0.951456
+vn 0.986963 0.138516 -0.081960
+vn 0.971412 0.037108 -0.234482
+vn 0.891937 0.010518 0.452038
+vn 0.986963 0.138516 -0.081960
+vn 0.888322 0.136932 0.438330
+vn 0.971412 0.037108 -0.234482
+vn -0.410419 0.714202 0.566985
+vn 0.607271 0.371053 0.702525
+vn -0.319456 0.461858 0.827427
+vn 0.596299 0.272006 0.755275
+vn 0.544712 0.619209 0.565570
+vn 0.440859 0.687631 0.576895
+vn 0.313292 0.940327 0.132789
+vn -0.196073 0.950882 0.239541
+vn -0.244006 0.480836 0.842175
+vn 0.599339 0.159111 0.784523
+vn -0.267682 0.425816 0.864307
+vn 0.513321 0.267859 0.815324
+vn 0.599339 0.159111 0.784523
+vn 0.891937 0.010518 0.452038
+vn 0.513321 0.267859 0.815324
+vn 0.888322 0.136932 0.438330
+vn -0.096116 0.460741 0.882315
+vn -0.304910 0.527539 0.792927
+vn -0.053117 0.956841 0.285717
+vn -0.116961 0.942945 0.311730
+vn -0.029299 0.931464 0.362651
+vn -0.053117 0.956841 0.285717
+vn -0.101416 0.953274 0.284577
+vn -0.116961 0.942945 0.311730
+vn -0.029299 0.931464 0.362651
+vn -0.101416 0.953274 0.284577
+vn -0.122063 -0.289144 0.949472
+vn -0.306264 -0.429540 0.849528
+vn 0.280785 0.171397 -0.944342
+vn 0.192458 0.771155 -0.606861
+vn -0.741881 0.067106 -0.667165
+vn -0.807551 0.197927 -0.555595
+vn -0.138722 0.848449 0.510775
+vn 0.642878 0.524679 0.558050
+vn 0.025568 0.998352 -0.051380
+vn 0.803177 0.511688 0.305094
+vn 0.803177 0.511688 0.305094
+vn 0.908742 0.416178 -0.031357
+vn 0.025568 0.998352 -0.051380
+vn 0.223846 0.666060 -0.711518
+vn -0.918798 0.377105 -0.116629
+vn -0.880925 0.283832 -0.378695
+vn -0.601103 0.767031 -0.224364
+vn -0.853169 0.302731 -0.424802
+vn -0.918798 0.377105 -0.116629
+vn -0.965739 0.253693 -0.054669
+vn -0.925794 0.046841 -0.375115
+vn -0.921733 0.103795 -0.373678
+vn -0.830644 0.258861 0.492972
+vn -0.913101 0.366703 0.178258
+vn -0.819676 0.406927 0.403165
+vn -0.720467 0.650295 0.240923
+vn -0.830154 -0.149428 0.537137
+vn -0.721186 0.050329 0.690911
+vn -0.582326 -0.365791 0.726012
+vn -0.313161 -0.416093 0.853696
+vn 0.192164 -0.545087 0.816060
+vn -0.205759 -0.609408 0.765693
+vn 0.104444 -0.751368 0.651566
+vn -0.172553 -0.866668 0.468094
+vn -0.992917 -0.028422 -0.115357
+vn -0.901224 0.426557 -0.076456
+vn -0.985514 0.112173 -0.127195
+vn -0.874268 0.470853 -0.118123
+vn -0.406715 -0.824997 0.392382
+vn -0.365642 -0.737204 0.568187
+vn -0.665132 -0.496929 0.557369
+vn -0.487867 -0.282658 0.825888
+vn -0.171816 -0.853652 0.491689
+vn -0.306264 -0.429540 0.849528
+vn -0.365642 -0.737204 0.568187
+vn -0.487867 -0.282658 0.825888
+vn 0.104444 -0.751368 0.651566
+vn 0.207803 -0.895607 0.393328
+vn 0.466307 -0.586330 0.662401
+vn 0.633609 -0.641534 0.432405
+vn 0.466307 -0.586330 0.662401
+vn 0.866830 -0.309536 0.390888
+vn 0.585391 -0.404108 0.702862
+vn 0.800010 -0.344410 0.491290
+vn 0.673136 0.578805 0.460297
+vn 0.432553 0.485351 0.759824
+vn 0.504363 0.731326 0.459109
+vn 0.366036 0.589347 0.720200
+vn 0.432553 0.485351 0.759824
+vn 0.251400 0.417122 0.873388
+vn 0.366036 0.589347 0.720200
+vn 0.240164 0.515637 0.822459
+vn -0.027477 0.395664 0.917984
+vn 0.107366 0.547452 0.829921
+vn 0.251400 0.417122 0.873388
+vn 0.240164 0.515637 0.822459
+vn 0.830554 0.550776 0.082621
+vn 0.673136 0.578805 0.460297
+vn 0.786980 0.616668 0.019582
+vn 0.504363 0.731326 0.459109
+vn 0.830554 0.550776 0.082621
+vn 0.906052 0.418072 -0.065465
+vn 0.836779 0.534955 0.116720
+vn 0.900688 0.432132 0.044983
+vn 0.836779 0.534955 0.116720
+vn 0.900688 0.432132 0.044983
+vn 0.620138 0.783797 0.033018
+vn 0.800030 0.599577 0.021432
+vn -0.000000 0.999418 -0.034114
+vn 0.252414 0.967270 -0.026009
+vn -0.000000 0.990579 -0.136942
+vn 0.241607 0.961016 -0.134443
+vn 0.252414 0.967270 -0.026009
+vn 0.620138 0.783797 0.033018
+vn 0.241607 0.961016 -0.134443
+vn 0.446569 0.886516 -0.121102
+vn -0.720467 0.650295 0.240923
+vn -0.326604 0.939810 0.100434
+vn -0.685176 0.727463 0.036492
+vn -0.305994 0.951636 -0.027497
+vn -0.492777 0.229384 -0.839377
+vn -0.825765 0.175481 -0.536022
+vn -0.422204 0.685127 -0.593587
+vn -0.849995 0.210669 -0.482832
+vn -0.336812 0.899029 -0.279828
+vn -0.213563 0.948600 -0.233558
+vn -0.266857 0.952171 -0.148853
+vn -0.434685 0.820874 0.370424
+vn -0.891911 0.451637 0.022796
+vn -0.345378 0.880022 0.325999
+vn -0.979233 -0.086264 -0.183472
+vn -0.891911 0.451637 0.022796
+vn -0.958033 -0.016588 -0.286177
+vn -0.920084 0.373295 -0.118730
+vn -0.374665 -0.921367 -0.103490
+vn -0.558064 -0.765306 -0.320737
+vn -0.734818 -0.613106 -0.290075
+vn -0.615787 -0.090537 -0.782694
+vn -0.708697 -0.342127 -0.617007
+vn -0.852762 0.139011 -0.503462
+vn -0.878348 -0.033268 -0.476863
+vn -0.901134 0.005281 0.433509
+vn -0.846683 0.520260 0.111612
+vn -0.651299 0.752889 -0.094702
+vn -0.888375 0.447471 -0.102761
+vn 0.011519 -0.963341 0.268032
+vn -0.070932 -0.139365 0.987697
+vn 0.473880 -0.814007 0.335904
+vn 0.734740 -0.059798 0.675708
+vn -0.024760 -0.975816 0.217187
+vn -0.041824 -0.986543 0.158062
+vn -0.496921 -0.859704 0.118234
+vn -0.502369 -0.863565 0.043364
+vn -0.935161 -0.335587 -0.113379
+vn -0.959632 -0.235936 -0.153106
+vn -0.816887 -0.562111 0.129333
+vn -0.976356 -0.150530 -0.155144
+vn -0.959632 -0.235936 -0.153106
+vn -0.937247 -0.310869 -0.157888
+vn -0.976356 -0.150530 -0.155144
+vn -0.855805 -0.419793 -0.302279
+vn -0.842639 -0.523999 0.124035
+vn -0.977520 -0.140118 -0.157547
+vn -0.885280 -0.418015 0.203818
+vn -0.954697 -0.257375 -0.149373
+vn -0.977520 -0.140118 -0.157547
+vn -0.846452 -0.421426 -0.325451
+vn -0.954697 -0.257375 -0.149373
+vn -0.793786 -0.231813 -0.562287
+vn -0.821413 -0.438804 -0.364325
+vn 0.140983 -0.926201 -0.349679
+vn -0.724632 -0.193368 -0.661451
+vn 0.344350 -0.196976 -0.917945
+vn -0.127715 -0.911141 0.391805
+vn -0.842639 -0.523999 0.124035
+vn -0.212274 -0.698256 0.683651
+vn -0.885280 -0.418015 0.203818
+vn -0.968372 -0.192260 -0.159033
+vn -0.955835 -0.221164 -0.193561
+vn -0.860415 -0.473391 -0.188647
+vn -0.630466 -0.760388 -0.155958
+vn -0.630466 -0.760388 -0.155958
+vn -0.864004 -0.468195 -0.185178
+vn -0.925617 -0.343807 -0.158211
+vn -0.425595 -0.892406 -0.149937
+vn -0.685167 -0.714300 -0.142556
+vn -0.614441 -0.774807 -0.148781
+vn -0.894513 -0.403731 -0.191959
+vn -0.819586 -0.381630 -0.427361
+vn -0.685167 -0.714300 -0.142556
+vn -0.720172 -0.682171 -0.126476
+vn -0.614441 -0.774807 -0.148781
+vn -0.885584 -0.463600 0.028557
+vn -0.864060 -0.500048 0.057902
+vn -0.124220 -0.938585 0.321912
+vn -0.581695 -0.800826 -0.142508
+vn 0.016879 -0.999116 -0.038497
+vn -0.891507 -0.411789 0.188797
+vn -0.259810 -0.696394 0.668980
+vn -0.864060 -0.500048 0.057902
+vn -0.124220 -0.938585 0.321912
+vn -0.466750 -0.874062 -0.134761
+vn -0.925299 -0.303396 -0.227536
+vn -0.922892 -0.327770 -0.202082
+vn -0.466750 -0.874062 -0.134761
+vn -0.903476 -0.383756 -0.190951
+vn -0.925299 -0.303396 -0.227536
+vn -0.807013 -0.568975 -0.158104
+vn -0.944810 -0.202508 -0.257535
+vn -0.980753 -0.090124 -0.173211
+vn -0.808615 -0.310134 -0.499959
+vn -0.725160 -0.670116 -0.158389
+vn -0.706684 -0.694262 -0.136374
+vn -0.944810 -0.202508 -0.257535
+vn -0.808615 -0.310134 -0.499959
+vn -0.620815 -0.776146 0.110393
+vn -0.506814 -0.855429 0.106680
+vn -0.398701 -0.910060 -0.113263
+vn -0.041693 -0.996374 0.074169
+vn -0.506814 -0.855429 0.106680
+vn -0.699881 -0.708541 0.090200
+vn -0.041693 -0.996374 0.074169
+vn -0.219594 -0.963903 0.150567
+vn -0.980278 -0.147602 0.131407
+vn -0.876732 0.479858 -0.032832
+vn -0.849919 -0.515590 -0.108646
+vn -0.973164 0.034248 -0.227548
+vn -0.672746 0.351110 -0.651256
+vn -0.877050 0.176574 -0.446772
+vn -0.444883 0.862691 -0.240507
+vn -0.806088 0.529740 -0.263813
+vn -0.849919 -0.515590 -0.108646
+vn -0.973164 0.034248 -0.227548
+vn -0.731082 -0.650534 -0.205731
+vn -0.865299 -0.389639 -0.315339
+vn -0.319472 -0.931458 -0.174137
+vn -0.326022 -0.928794 -0.176213
+vn -0.038599 -0.996869 -0.069010
+vn -0.038684 -0.996927 -0.068117
+vn -0.038853 -0.996918 -0.068157
+vn 0.016216 -0.998669 -0.048962
+vn -0.038738 -0.997019 -0.066732
+vn 0.015665 -0.998754 -0.047386
+vn -0.038738 -0.997019 -0.066732
+vn 0.015665 -0.998754 -0.047386
+vn -0.038038 -0.997093 -0.066023
+vn 0.015432 -0.998787 -0.046762
+vn -0.038038 -0.997093 -0.066023
+vn 0.015432 -0.998787 -0.046762
+vn -0.036097 -0.996303 -0.077961
+vn 0.020252 -0.997895 -0.061605
+vn -0.038599 -0.996869 -0.069010
+vn 0.016589 -0.998612 -0.049989
+vn -0.038853 -0.996918 -0.068157
+vn 0.016216 -0.998669 -0.048962
+vn 0.026307 -0.996487 -0.079514
+vn 0.154597 -0.987276 -0.037227
+vn 0.018786 -0.996057 -0.086702
+vn 0.178552 -0.982056 -0.060704
+vn 0.020252 -0.997895 -0.061605
+vn 0.076082 -0.996137 -0.043857
+vn 0.029287 -0.995570 -0.089351
+vn 0.094259 -0.993576 -0.062620
+vn 0.029287 -0.995570 -0.089351
+vn 0.094259 -0.993576 -0.062620
+vn 0.032724 -0.994484 -0.099650
+vn 0.116014 -0.991077 -0.065624
+vn 0.029927 -0.995448 -0.090491
+vn 0.032724 -0.994484 -0.099650
+vn 0.132909 -0.989727 -0.052681
+vn 0.116014 -0.991077 -0.065624
+vn 0.025121 -0.996827 -0.075536
+vn 0.029927 -0.995448 -0.090491
+vn 0.143872 -0.988920 -0.036592
+vn 0.132909 -0.989727 -0.052681
+vn -0.326022 -0.928794 -0.176213
+vn -0.334607 -0.925298 -0.178500
+vn -0.038684 -0.996927 -0.068117
+vn -0.040098 -0.996986 -0.066414
+vn -0.334607 -0.925298 -0.178500
+vn -0.344207 -0.921151 -0.181665
+vn -0.040098 -0.996986 -0.066414
+vn -0.042014 -0.996923 -0.066179
+vn 0.013074 -0.999158 -0.038890
+vn 0.014644 -0.998939 -0.043667
+vn -0.046892 -0.997013 -0.061368
+vn -0.043886 -0.996896 -0.065357
+vn 0.012101 -0.999283 -0.035869
+vn 0.013074 -0.999158 -0.038890
+vn -0.049702 -0.997015 -0.059087
+vn -0.046892 -0.997013 -0.061368
+vn -0.049702 -0.997015 -0.059087
+vn -0.049180 -0.996467 -0.068084
+vn 0.012101 -0.999283 -0.035869
+vn 0.015048 -0.998898 -0.044453
+vn -0.071201 -0.323241 -0.943634
+vn 0.679415 -0.181743 -0.710890
+vn -0.267624 -0.109878 -0.957238
+vn 0.675495 -0.049075 -0.735730
+vn 0.072864 -0.983362 0.166404
+vn 0.264825 -0.943802 0.197753
+vn 0.068010 -0.983897 0.165292
+vn 0.248270 -0.948887 0.194874
+vn 0.068010 -0.983897 0.165292
+vn 0.248270 -0.948887 0.194874
+vn 0.063511 -0.984371 0.164254
+vn 0.233034 -0.953294 0.192159
+vn 0.077973 -0.982771 0.167575
+vn 0.282043 -0.938174 0.200702
+vn 0.072864 -0.983362 0.166404
+vn 0.264825 -0.943802 0.197753
+vn 0.088800 -0.984542 0.150966
+vn 0.302828 -0.934354 0.187822
+vn 0.077973 -0.982771 0.167575
+vn 0.282043 -0.938174 0.200702
+vn 0.114025 -0.989094 0.093229
+vn 0.336004 -0.931821 0.137151
+vn 0.088800 -0.984542 0.150966
+vn 0.302828 -0.934354 0.187822
+vn 0.136782 -0.989664 0.043074
+vn 0.377394 -0.923249 0.072008
+vn 0.114025 -0.989094 0.093229
+vn 0.336004 -0.931821 0.137151
+vn 0.063511 -0.984371 0.164254
+vn 0.233034 -0.953294 0.192159
+vn 0.059193 -0.984806 0.163256
+vn 0.218222 -0.957327 0.189485
+vn 0.055194 -0.985146 0.162605
+vn 0.204558 -0.960582 0.188252
+vn 0.052197 -0.985280 0.162782
+vn 0.196660 -0.961737 0.190755
+vn -0.928797 0.046399 -0.367673
+vn -0.920539 0.121613 -0.371240
+vn -0.806119 0.223585 -0.547888
+vn -0.724986 0.091669 -0.682636
+vn 0.189945 0.980784 -0.044542
+vn 0.029236 0.994249 -0.103030
+vn 0.092455 0.989955 -0.106965
+vn 0.039232 0.989827 -0.136760
+vn 0.020693 0.997322 -0.070146
+vn -0.104486 0.989519 -0.099671
+vn 0.029236 0.994249 -0.103030
+vn -0.116098 0.983350 -0.139797
+vn -0.391884 0.909101 -0.141291
+vn -0.407571 0.893440 -0.188816
+vn -0.104486 0.989519 -0.099671
+vn -0.116098 0.983350 -0.139797
+vn -0.805213 0.562594 -0.187401
+vn -0.795458 0.555488 -0.242240
+vn -0.391884 0.909101 -0.141291
+vn -0.407571 0.893440 -0.188816
+vn 0.645078 -0.686499 0.335549
+vn 0.235928 -0.939625 0.247878
+vn 0.645540 -0.722207 0.248387
+vn 0.236305 -0.953288 0.188152
+vn 0.645078 -0.686499 0.335549
+vn 0.473880 -0.814007 0.335904
+vn 0.492528 -0.640531 0.589183
+vn 0.734740 -0.059798 0.675708
+vn -0.724986 0.091669 -0.682636
+vn -0.613442 0.448630 -0.649938
+vn 0.376736 0.219302 -0.899987
+vn 0.291312 0.701788 -0.650101
+vn -0.133853 0.871060 0.472587
+vn 0.609352 0.581618 0.538898
+vn 0.063570 0.997479 -0.031542
+vn 0.774241 0.560817 0.293318
+vn 0.774241 0.560817 0.293318
+vn 0.885786 0.463452 -0.024392
+vn 0.063570 0.997479 -0.031542
+vn 0.291312 0.701788 -0.650101
+vn -0.360027 0.481171 0.799284
+vn 0.631599 0.283331 0.721669
+vn -0.327236 0.664878 0.671456
+vn 0.482448 0.470448 0.738866
+vn 0.631599 0.283331 0.721669
+vn 0.886943 0.152452 0.435994
+vn 0.482448 0.470448 0.738866
+vn 0.743007 0.512749 0.430150
+vn 0.886943 0.152452 0.435994
+vn 0.994419 0.101777 -0.027806
+vn 0.743007 0.512749 0.430150
+vn 0.938986 0.336222 -0.072530
+vn -0.181963 0.974661 0.130100
+vn -0.688383 0.711300 -0.142061
+vn 0.135942 0.812547 -0.566822
+vn -0.808208 0.196704 -0.555074
+vn -0.423497 0.513106 0.746574
+vn -0.324088 0.750836 0.575510
+vn -0.980045 0.183574 -0.076239
+vn -0.913912 0.405711 -0.012766
+vn 0.572969 0.470599 0.671002
+vn 0.779859 0.470915 0.412383
+vn -0.324088 0.750836 0.575510
+vn -0.056337 0.995732 0.073106
+vn 0.779859 0.470915 0.412383
+vn 0.926149 0.371794 0.063377
+vn -0.056337 0.995732 0.073106
+vn 0.325997 0.701144 -0.634131
+vn -0.703832 0.043324 -0.709044
+vn -0.663853 0.330084 -0.671077
+vn 0.470354 0.160181 -0.867819
+vn 0.325997 0.701144 -0.634131
+vn -0.601103 0.767031 -0.224364
+vn -0.853169 0.302731 -0.424802
+vn -0.792755 0.117460 -0.598116
+vn -0.883471 0.139515 -0.447230
+vn 0.966846 0.175841 0.185170
+vn 0.591108 0.715864 0.371659
+vn 0.090343 0.693688 -0.714588
+vn -0.232211 0.962155 0.142606
+vn -0.114575 0.382509 0.916820
+vn -0.685253 0.600743 0.411748
+vn -0.096116 0.460741 0.882315
+vn -0.304910 0.527539 0.792927
+vn -0.114575 0.382509 0.916820
+vn 0.503934 0.350364 0.789491
+vn -0.167939 0.503622 0.847444
+vn 0.638011 0.316162 0.702128
+vn 0.503934 0.350364 0.789491
+vn 0.544712 0.619209 0.565570
+vn 0.884197 0.342850 0.317255
+vn 0.313292 0.940327 0.132789
+vn 0.305928 -0.033757 -0.951456
+vn 0.029962 0.502337 -0.864153
+vn -0.547829 -0.020511 -0.836339
+vn -0.773106 0.147549 -0.616876
+vn -0.324806 0.943977 0.058374
+vn -0.726293 0.643639 -0.241304
+vn 0.029962 0.502337 -0.864153
+vn -0.773106 0.147549 -0.616876
+vn -0.319456 0.461858 0.827427
+vn -0.974246 0.218956 0.053883
+vn -0.410419 0.714202 0.566985
+vn -0.942966 0.328893 -0.051430
+vn -0.410419 0.714202 0.566985
+vn -0.942966 0.328893 -0.051430
+vn -0.324806 0.943977 0.058374
+vn -0.726293 0.643639 -0.241304
+vn -0.267682 0.425816 0.864307
+vn -0.933889 0.275011 0.228519
+vn -0.244006 0.480836 0.842175
+vn -0.917144 0.393661 0.062275
+vn -0.244006 0.480836 0.842175
+vn -0.917144 0.393661 0.062275
+vn -0.095742 0.764929 0.636960
+vn -0.196073 0.950882 0.239541
+vn -0.741881 0.067106 -0.667165
+vn -0.661940 0.368027 -0.652987
+vn 0.280785 0.171397 -0.944342
+vn 0.223846 0.666060 -0.711518
+vn -0.611116 0.738824 -0.284036
+vn -0.867942 0.332868 -0.368612
+vn -0.807551 0.197927 -0.555595
+vn -0.882892 0.255982 -0.393669
+vn -0.918524 0.369469 -0.140736
+vn -0.899468 0.259937 -0.351269
+vn -0.611116 0.738824 -0.284036
+vn -0.867942 0.332868 -0.368612
+vn -0.918524 0.369469 -0.140736
+vn -0.959192 0.278469 -0.049058
+vn -0.928797 0.046399 -0.367673
+vn -0.920539 0.121613 -0.371240
+vn -0.965739 0.253693 -0.054669
+vn -0.856351 0.515742 -0.025951
+vn -0.921733 0.103795 -0.373678
+vn -0.805637 0.480655 -0.346294
+vn -0.138722 0.848449 0.510775
+vn 0.025568 0.998352 -0.051380
+vn -0.856351 0.515742 -0.025951
+vn -0.805637 0.480655 -0.346294
+vn -0.880925 0.283832 -0.378695
+vn -0.918798 0.377105 -0.116629
+vn -0.902309 0.200725 -0.381508
+vn -0.925794 0.046841 -0.375115
+vn -0.819676 0.406927 0.403165
+vn -0.714737 0.390191 0.580433
+vn -0.830644 0.258861 0.492972
+vn -0.594467 0.322654 0.736549
+vn -0.830644 0.258861 0.492972
+vn -0.594467 0.322654 0.736549
+vn -0.799532 0.188345 0.570329
+vn -0.453260 0.289351 0.843108
+vn -0.799532 0.188345 0.570329
+vn -0.453260 0.289351 0.843108
+vn -0.721186 0.050329 0.690911
+vn -0.189793 0.110222 0.975618
+vn -0.447090 -0.486635 0.750531
+vn -0.582326 -0.365791 0.726012
+vn -0.206447 -0.389705 0.897502
+vn 0.020534 -0.362323 0.931827
+vn -0.447090 -0.486635 0.750531
+vn -0.354162 -0.610805 0.708157
+vn -0.205759 -0.609408 0.765693
+vn -0.172553 -0.866668 0.468094
+vn -0.901224 0.426557 -0.076456
+vn -0.992917 -0.028422 -0.115357
+vn -0.936551 0.346598 -0.052362
+vn -0.971500 -0.227361 -0.067045
+vn -0.766765 0.625850 -0.142770
+vn -0.442109 0.890776 -0.105156
+vn -0.590953 0.799017 -0.111109
+vn -0.645759 0.760130 -0.072088
+vn -0.910979 0.392972 -0.125262
+vn -0.766765 0.625850 -0.142770
+vn -0.874268 0.470853 -0.118123
+vn -0.590953 0.799017 -0.111109
+vn -0.645759 0.760130 -0.072088
+vn -0.668008 0.731536 0.136459
+vn -0.846683 0.520260 0.111612
+vn -0.882004 -0.436449 0.177710
+vn -0.825399 0.556664 0.094032
+vn -0.971500 -0.227361 -0.067045
+vn -0.936551 0.346598 -0.052362
+vn -0.665132 -0.496929 0.557369
+vn -0.390002 0.871248 0.298035
+vn -0.882004 -0.436449 0.177710
+vn -0.825399 0.556664 0.094032
+vn -0.306264 -0.429540 0.849528
+vn -0.101416 0.953274 0.284577
+vn -0.487867 -0.282658 0.825888
+vn -0.205704 0.930379 0.303449
+vn 0.207803 -0.895607 0.393328
+vn 0.104444 -0.751368 0.651566
+vn 0.019986 -0.964498 0.263333
+vn -0.172553 -0.866668 0.468094
+vn 0.866830 -0.309536 0.390888
+vn 0.466307 -0.586330 0.662401
+vn 0.872869 -0.327596 0.361636
+vn 0.633609 -0.641534 0.432405
+vn -0.027477 0.395664 0.917984
+vn -0.726381 -0.086132 0.681874
+vn -0.618416 0.394530 0.679638
+vn -0.968361 -0.143253 0.204340
+vn -0.726381 -0.086132 0.681874
+vn 0.096040 -0.696629 0.710974
+vn -0.968361 -0.143253 0.204340
+vn -0.619942 -0.744190 -0.248703
+vn 0.585391 -0.404108 0.702862
+vn 0.800010 -0.344410 0.491290
+vn 0.096040 -0.696629 0.710974
+vn 0.746015 -0.630487 0.214355
+vn -0.027477 0.395664 0.917984
+vn -0.618416 0.394530 0.679638
+vn 0.107366 0.547452 0.829921
+vn 0.047614 0.626643 0.777851
+vn 0.786980 0.616668 0.019582
+vn 0.857583 0.472502 -0.203208
+vn 0.830554 0.550776 0.082621
+vn 0.906052 0.418072 -0.065465
+vn -0.000000 0.999418 -0.034114
+vn -0.000000 0.990579 -0.136942
+vn -0.305994 0.951636 -0.027497
+vn -0.286394 0.949265 -0.129902
+vn -0.685176 0.727463 0.036492
+vn -0.863418 0.470071 0.183145
+vn -0.720467 0.650295 0.240923
+vn -0.819676 0.406927 0.403165
+vn -0.492777 0.229384 -0.839377
+vn -0.615787 -0.090537 -0.782694
+vn -0.825765 0.175481 -0.536022
+vn -0.852762 0.139011 -0.503462
+vn -0.511053 0.743467 0.431371
+vn -0.920084 0.373295 -0.118730
+vn -0.434685 0.820874 0.370424
+vn -0.891911 0.451637 0.022796
+vn -0.121513 -0.973517 -0.193647
+vn -0.558064 -0.765306 -0.320737
+vn -0.374665 -0.921367 -0.103490
+vn -0.734818 -0.613106 -0.290075
+vn -0.849995 0.210669 -0.482832
+vn -0.971551 0.180680 -0.153115
+vn -0.825765 0.175481 -0.536022
+vn -0.374665 -0.921367 -0.103490
+vn -0.734818 -0.613106 -0.290075
+vn -0.720939 0.192790 0.665641
+vn -0.958033 -0.016588 -0.286177
+vn -0.920084 0.373295 -0.118730
+vn -0.878348 -0.033268 -0.476863
+vn -0.852762 0.139011 -0.503462
+vn -0.055674 0.997814 -0.035604
+vn 0.645302 0.748698 0.151779
+vn -0.070932 -0.139365 0.987697
+vn 0.734740 -0.059798 0.675708
+vn -0.055674 0.997814 -0.035604
+vn -0.651299 0.752889 -0.094702
+vn -0.053053 0.964277 -0.259530
+vn -0.853143 0.426345 -0.300628
+vn -0.024760 -0.975816 0.217187
+vn 0.011519 -0.963341 0.268032
+vn 0.452676 -0.849781 0.270105
+vn 0.473880 -0.814007 0.335904
+vn -0.024760 -0.975816 0.217187
+vn 0.452676 -0.849781 0.270105
+vn -0.041824 -0.986543 0.158062
+vn 0.446607 -0.867010 0.220987
+vn -0.041824 -0.986543 0.158062
+vn 0.037107 -0.968444 -0.246454
+vn -0.502369 -0.863565 0.043364
+vn -0.855805 -0.419793 -0.302279
+vn -0.976356 -0.150530 -0.155144
+vn -0.855805 -0.419793 -0.302279
+vn -0.952495 -0.266329 -0.147725
+vn -0.806005 -0.240815 -0.540707
+vn -0.816887 -0.562111 0.129333
+vn -0.099631 -0.921662 0.374984
+vn -0.536977 -0.843595 0.001909
+vn -0.039211 -0.991687 0.122550
+vn -0.846452 -0.421426 -0.325451
+vn -0.536977 -0.843595 0.001909
+vn 0.066193 -0.951432 -0.300660
+vn -0.039211 -0.991687 0.122550
+vn -0.032599 -0.992443 0.118295
+vn 0.581163 -0.787255 0.206106
+vn 0.140983 -0.926201 -0.349679
+vn 0.951558 -0.307468 -0.001356
+vn -0.127715 -0.911141 0.391805
+vn -0.212274 -0.698256 0.683651
+vn 0.736359 -0.511340 0.443066
+vn 0.733073 -0.391150 0.556423
+vn -0.032599 -0.992443 0.118295
+vn -0.127715 -0.911141 0.391805
+vn 0.581163 -0.787255 0.206106
+vn 0.736359 -0.511340 0.443066
+vn -0.891507 -0.411789 0.188797
+vn -0.952431 -0.236371 -0.192363
+vn -0.709316 -0.684087 0.169990
+vn -0.704827 -0.682631 -0.192961
+vn -0.952431 -0.236371 -0.192363
+vn -0.724632 -0.193368 -0.661451
+vn -0.704827 -0.682631 -0.192961
+vn -0.559847 -0.538119 -0.630079
+vn -0.955835 -0.221164 -0.193561
+vn -0.968372 -0.192260 -0.159033
+vn -0.650532 -0.742604 -0.159211
+vn -0.879794 -0.466353 0.092075
+vn -0.968372 -0.192260 -0.159033
+vn -0.974059 -0.117059 -0.193666
+vn -0.879794 -0.466353 0.092075
+vn -0.976764 -0.114313 -0.181285
+vn -0.630466 -0.760388 -0.155958
+vn -0.955835 -0.221164 -0.193561
+vn -0.864004 -0.468195 -0.185178
+vn -0.957074 -0.178079 -0.228688
+vn -0.974059 -0.117059 -0.193666
+vn -0.894513 -0.403731 -0.191959
+vn -0.976764 -0.114313 -0.181285
+vn -0.819586 -0.381630 -0.427361
+vn -0.885584 -0.463600 0.028557
+vn -0.112520 -0.946791 0.301539
+vn -0.614441 -0.774807 -0.148781
+vn 0.006059 -0.999002 -0.044250
+vn -0.885584 -0.463600 0.028557
+vn -0.975923 -0.117195 -0.183956
+vn -0.912353 -0.385396 0.138140
+vn -0.955822 -0.221498 -0.193245
+vn -0.975923 -0.117195 -0.183956
+vn -0.839099 -0.362025 -0.406018
+vn -0.955822 -0.221498 -0.193245
+vn -0.779873 -0.176014 -0.600681
+vn -0.839099 -0.362025 -0.406018
+vn -0.581695 -0.800826 -0.142508
+vn 0.178670 -0.835190 -0.520130
+vn 0.016879 -0.999116 -0.038497
+vn -0.259810 -0.696394 0.668980
+vn -0.891507 -0.411789 0.188797
+vn -0.171632 -0.883416 0.436026
+vn -0.709316 -0.684087 0.169990
+vn -0.864004 -0.468195 -0.185178
+vn -0.957074 -0.178079 -0.228688
+vn -0.425595 -0.892406 -0.149937
+vn -0.964560 -0.168096 -0.203390
+vn -0.466750 -0.874062 -0.134761
+vn -0.955096 -0.239839 -0.173981
+vn -0.903476 -0.383756 -0.190951
+vn -0.466750 -0.874062 -0.134761
+vn -0.425595 -0.892406 -0.149937
+vn -0.955096 -0.239839 -0.173981
+vn -0.964560 -0.168096 -0.203390
+vn -0.725160 -0.670116 -0.158389
+vn -0.843922 -0.505240 -0.180356
+vn -0.706684 -0.694262 -0.136374
+vn -0.923771 -0.375143 0.076903
+vn -0.922892 -0.327770 -0.202082
+vn -0.925299 -0.303396 -0.227536
+vn -0.978463 -0.098985 -0.181141
+vn -0.861018 -0.213942 -0.461386
+vn -0.843922 -0.505240 -0.180356
+vn -0.922892 -0.327770 -0.202082
+vn -0.923771 -0.375143 0.076903
+vn -0.978463 -0.098985 -0.181141
+vn -0.909029 -0.381411 0.167902
+vn -0.278440 -0.745981 0.604965
+vn -0.699881 -0.708541 0.090200
+vn -0.219594 -0.963903 0.150567
+vn -0.909029 -0.381411 0.167902
+vn -0.980753 -0.090124 -0.173211
+vn -0.876963 -0.335922 0.343646
+vn -0.962493 -0.183926 -0.199445
+vn -0.589392 0.781975 0.202809
+vn -0.403926 0.914320 -0.029379
+vn -0.876732 0.479858 -0.032832
+vn -0.704723 0.696012 -0.137598
+vn -0.444883 0.862691 -0.240507
+vn -0.806088 0.529740 -0.263813
+vn -0.403926 0.914320 -0.029379
+vn -0.704723 0.696012 -0.137598
+vn -0.877050 0.176574 -0.446772
+vn -0.865299 -0.389639 -0.315339
+vn -0.806088 0.529740 -0.263813
+vn -0.973164 0.034248 -0.227548
+vn -0.038599 -0.996869 -0.069010
+vn -0.038684 -0.996927 -0.068117
+vn 0.016589 -0.998612 -0.049989
+vn 0.016242 -0.998675 -0.048830
+vn 0.015432 -0.998787 -0.046762
+vn 0.070809 -0.996949 -0.032848
+vn 0.020252 -0.997895 -0.061605
+vn 0.076082 -0.996137 -0.043857
+vn 0.025121 -0.996827 -0.075536
+vn 0.143872 -0.988920 -0.036592
+vn 0.026307 -0.996487 -0.079514
+vn 0.154597 -0.987276 -0.037227
+vn 0.174581 -0.984471 -0.018378
+vn 0.402563 -0.914334 0.044008
+vn 0.136782 -0.989664 0.043074
+vn 0.377394 -0.923249 0.072008
+vn 0.154597 -0.987276 -0.037227
+vn 0.395179 -0.918045 0.032035
+vn 0.178552 -0.982056 -0.060704
+vn 0.403901 -0.914399 0.027168
+vn 0.178552 -0.982056 -0.060704
+vn 0.403901 -0.914399 0.027168
+vn 0.174581 -0.984471 -0.018378
+vn 0.402563 -0.914334 0.044008
+vn 0.015089 -0.998868 -0.045103
+vn 0.015412 -0.998813 -0.046200
+vn -0.042014 -0.996923 -0.066179
+vn -0.040098 -0.996986 -0.066414
+vn 0.014644 -0.998939 -0.043667
+vn 0.015089 -0.998868 -0.045103
+vn -0.043886 -0.996896 -0.065357
+vn -0.042014 -0.996923 -0.066179
+vn 0.013074 -0.999158 -0.038890
+vn 0.075427 -0.996860 -0.024096
+vn 0.014644 -0.998939 -0.043667
+vn 0.075587 -0.996719 -0.028955
+vn 0.012101 -0.999283 -0.035869
+vn 0.076462 -0.996859 -0.020610
+vn 0.013074 -0.999158 -0.038890
+vn 0.075427 -0.996860 -0.024096
+vn 0.969185 -0.068137 -0.236725
+vn 0.919732 -0.286632 -0.268208
+vn 0.675495 -0.049075 -0.735730
+vn 0.575437 -0.465085 -0.672732
+vn -0.071201 -0.323241 -0.943634
+vn -0.267624 -0.109878 -0.957238
+vn -0.914625 -0.310624 -0.258795
+vn -0.940159 -0.189701 -0.283046
+vn -0.071201 -0.323241 -0.943634
+vn 0.243703 -0.912889 -0.327479
+vn 0.515643 -0.489821 -0.702985
+vn 0.728763 -0.456531 -0.510377
+vn 0.511762 -0.794876 -0.325992
+vn 0.515643 -0.489821 -0.702985
+vn 0.938634 -0.344693 0.012360
+vn 0.728763 -0.456531 -0.510377
+vn 0.015048 -0.998898 -0.044453
+vn 0.081743 -0.996257 -0.028120
+vn 0.012101 -0.999283 -0.035869
+vn 0.076462 -0.996859 -0.020610
+vn 0.121404 -0.983190 -0.136374
+vn 0.451201 -0.891973 -0.028309
+vn 0.081743 -0.996257 -0.028120
+vn 0.426977 -0.902699 0.053160
+vn 0.451201 -0.891973 -0.028309
+vn 0.511762 -0.794876 -0.325992
+vn 0.935295 -0.320290 0.150459
+vn 0.938634 -0.344693 0.012360
+vn 0.762164 -0.591805 0.262436
+vn 0.015108 -0.999616 -0.023220
+vn 0.919732 -0.286632 -0.268208
+vn 0.575437 -0.465085 -0.672732
+vn -0.493985 -0.677213 0.545308
+vn -0.859069 -0.460334 0.223815
+vn 0.015108 -0.999616 -0.023220
+vn -0.761637 -0.585885 -0.276854
+vn -0.933105 -0.281921 0.223241
+vn -0.940159 -0.189701 -0.283046
+vn -0.859069 -0.460334 0.223815
+vn -0.761637 -0.585885 -0.276854
+vn -0.914625 -0.310624 -0.258795
+vn -0.398701 -0.910060 -0.113263
+vn -0.071201 -0.323241 -0.943634
+vn 0.243703 -0.912889 -0.327479
+vn 0.059193 -0.984806 0.163256
+vn 0.218222 -0.957327 0.189485
+vn 0.055194 -0.985146 0.162605
+vn 0.204558 -0.960582 0.188252
+vn 0.204558 -0.960582 0.188252
+vn 0.717438 -0.651090 0.247719
+vn 0.196660 -0.961737 0.190755
+vn 0.673594 -0.700959 0.234368
+vn 0.196660 -0.961737 0.190755
+vn 0.673594 -0.700959 0.234368
+vn 0.200693 -0.960655 0.192003
+vn 0.593727 -0.766750 0.244097
+vn 0.200693 -0.960655 0.192003
+vn 0.593727 -0.766750 0.244097
+vn 0.236305 -0.953288 0.188152
+vn 0.645540 -0.722207 0.248387
+vn -0.891138 0.225811 -0.393552
+vn -0.605392 0.738726 -0.296286
+vn -0.909549 0.181723 -0.373762
+vn -0.585146 0.757448 -0.289616
+vn -0.928797 0.046399 -0.367673
+vn -0.909549 0.181723 -0.373762
+vn -0.918524 0.369469 -0.140736
+vn -0.899468 0.259937 -0.351269
+vn -0.605392 0.738726 -0.296286
+vn -0.623470 0.721125 -0.302101
+vn 0.105398 0.993655 -0.039249
+vn 0.089615 0.994940 -0.045418
+vn 0.074690 0.995882 -0.051381
+vn 0.758440 0.605260 0.241721
+vn 0.089615 0.994940 -0.045418
+vn 0.764939 0.595692 0.244988
+vn 0.656988 0.733284 0.175102
+vn 0.351733 0.935639 0.029398
+vn 0.669183 0.716926 0.195479
+vn 0.377869 0.923681 0.063466
+vn 0.189945 0.980784 -0.044542
+vn 0.092455 0.989955 -0.106965
+vn 0.351733 0.935639 0.029398
+vn 0.174245 0.983951 -0.038455
+vn 0.734740 -0.059798 0.675708
+vn 0.713387 0.402805 0.573435
+vn -0.381866 0.198247 0.902705
+vn -0.391752 0.482567 0.783364
+vn -0.855993 0.507206 0.100087
+vn -0.381866 0.198247 0.902705
+vn -0.923253 0.366629 0.114836
+vn -0.391752 0.482567 0.783364
+vn -0.805213 0.562594 -0.187401
+vn -0.855993 0.507206 0.100087
+vn -0.925868 0.325622 -0.191675
+vn -0.923253 0.366629 0.114836
+vn -0.795458 0.555488 -0.242240
+vn -0.805213 0.562594 -0.187401
+vn -0.917295 0.311465 -0.248113
+vn -0.925868 0.325622 -0.191675
+vn 0.645540 -0.722207 0.248387
+vn 0.452676 -0.849781 0.270105
+vn 0.645078 -0.686499 0.335549
+vn 0.473880 -0.814007 0.335904
+vn 0.758440 0.605260 0.241721
+vn 0.920795 0.199488 0.335173
+vn 0.764939 0.595692 0.244988
+vn 0.921379 0.196008 0.335622
+vn 0.920795 0.199488 0.335173
+vn 0.886101 0.346277 0.308087
+vn 0.921379 0.196008 0.335622
+vn 0.887345 0.342400 0.308839
+vn 0.886101 0.346277 0.308087
+vn 0.669183 0.716926 0.195479
+vn 0.887345 0.342400 0.308839
+vn 0.670189 0.717069 0.191462
+vn -0.724986 0.091669 -0.682636
+vn -0.920539 0.121613 -0.371240
+vn -0.613442 0.448630 -0.649938
+vn -0.761642 0.553882 -0.336328
+vn -0.959192 0.278469 -0.049058
+vn -0.812433 0.582578 -0.023559
+vn -0.920539 0.121613 -0.371240
+vn -0.761642 0.553882 -0.336328
+vn -0.133853 0.871060 0.472587
+vn 0.063570 0.997479 -0.031542
+vn -0.812433 0.582578 -0.023559
+vn -0.761642 0.553882 -0.336328
+vn 0.291312 0.701788 -0.650101
+vn -0.613442 0.448630 -0.649938
+vn 0.063570 0.997479 -0.031542
+vn -0.761642 0.553882 -0.336328
+vn -0.360027 0.481171 0.799284
+vn -0.327236 0.664878 0.671456
+vn -0.960507 0.248267 0.125658
+vn -0.896428 0.411928 0.163498
+vn -0.522860 0.683012 0.510011
+vn -0.145504 0.712163 0.686770
+vn -0.360027 0.481171 0.799284
+vn 0.994419 0.101777 -0.027806
+vn 0.405171 0.090301 -0.909770
+vn 0.938986 0.336222 -0.072530
+vn 0.305411 0.600304 -0.739161
+vn 0.405171 0.090301 -0.909770
+vn 0.135942 0.812547 -0.566822
+vn -0.629770 0.039992 -0.775751
+vn -0.808208 0.196704 -0.555074
+vn -0.232211 0.962155 0.142606
+vn -0.145504 0.712163 0.686770
+vn -0.522860 0.683012 0.510011
+vn -0.949285 0.301478 -0.089275
+vn -0.920277 0.238157 -0.310438
+vn -0.688383 0.711300 -0.142061
+vn -0.907158 0.275212 -0.318311
+vn -0.949285 0.301478 -0.089275
+vn -0.980045 0.183574 -0.076239
+vn -0.917357 -0.000430 -0.398065
+vn -0.917552 0.069779 -0.391444
+vn -0.663853 0.330084 -0.671077
+vn -0.703832 0.043324 -0.709044
+vn -0.851841 0.411833 -0.323669
+vn -0.917552 0.069779 -0.391444
+vn -0.703832 0.043324 -0.709044
+vn -0.792755 0.117460 -0.598116
+vn -0.917552 0.069779 -0.391444
+vn -0.917357 -0.000430 -0.398065
+vn 0.966846 0.175841 0.185170
+vn 0.090343 0.693688 -0.714588
+vn 0.994058 0.094277 -0.054410
+vn 0.321551 0.060504 -0.944957
+vn -0.319456 0.461858 0.827427
+vn 0.596299 0.272006 0.755275
+vn -0.254406 0.707770 0.659044
+vn 0.496661 0.464438 0.733229
+vn 0.596299 0.272006 0.755275
+vn 0.881927 0.147555 0.447697
+vn 0.496661 0.464438 0.733229
+vn 0.752780 0.504079 0.423352
+vn 0.881927 0.147555 0.447697
+vn 0.994058 0.094277 -0.054410
+vn 0.752780 0.504079 0.423352
+vn 0.935110 0.341224 -0.095579
+vn -0.685253 0.600743 0.411748
+vn -0.114575 0.382509 0.916820
+vn -0.904156 0.374720 0.205152
+vn -0.167939 0.503622 0.847444
+vn 0.503934 0.350364 0.789491
+vn 0.884197 0.342850 0.317255
+vn 0.638011 0.316162 0.702128
+vn 0.930790 0.156349 0.330433
+vn -0.547829 -0.020511 -0.836339
+vn -0.492045 0.139474 -0.859325
+vn 0.305928 -0.033757 -0.951456
+vn 0.275514 0.413209 -0.867958
+vn 0.971412 0.037108 -0.234482
+vn 0.305928 -0.033757 -0.951456
+vn 0.929783 0.232288 -0.285562
+vn 0.275514 0.413209 -0.867958
+vn 0.513321 0.267859 0.815324
+vn 0.888322 0.136932 0.438330
+vn 0.404322 0.474989 0.781607
+vn 0.749611 0.527970 0.399164
+vn 0.888322 0.136932 0.438330
+vn 0.971412 0.037108 -0.234482
+vn 0.749611 0.527970 0.399164
+vn 0.929783 0.232288 -0.285562
+vn -0.974246 0.218956 0.053883
+vn -0.319456 0.461858 0.827427
+vn -0.899160 0.419380 0.125028
+vn -0.254406 0.707770 0.659044
+vn 0.884197 0.342850 0.317255
+vn 0.313292 0.940327 0.132789
+vn 0.901895 0.174351 -0.395204
+vn -0.010853 0.950486 -0.310579
+vn 0.313292 0.940327 0.132789
+vn -0.196073 0.950882 0.239541
+vn -0.010853 0.950486 -0.310579
+vn -0.917144 0.393661 0.062275
+vn -0.933889 0.275011 0.228519
+vn -0.267682 0.425816 0.864307
+vn -0.868880 0.426990 0.250452
+vn -0.289202 0.679932 0.673836
+vn 0.513321 0.267859 0.815324
+vn 0.404322 0.474989 0.781607
+vn -0.267682 0.425816 0.864307
+vn -0.289202 0.679932 0.673836
+vn -0.685253 0.600743 0.411748
+vn -0.166226 0.921341 0.351426
+vn -0.304910 0.527539 0.792927
+vn -0.311741 0.563550 0.765003
+vn -0.304910 0.527539 0.792927
+vn -0.311741 0.563550 0.765003
+vn -0.116961 0.942945 0.311730
+vn -0.278617 0.557459 0.782056
+vn -0.101416 0.953274 0.284577
+vn -0.116961 0.942945 0.311730
+vn -0.205704 0.930379 0.303449
+vn -0.137752 0.956264 0.258036
+vn -0.661940 0.368027 -0.652987
+vn -0.741881 0.067106 -0.667165
+vn -0.805637 0.480655 -0.346294
+vn -0.921733 0.103795 -0.373678
+vn -0.741881 0.067106 -0.667165
+vn -0.807551 0.197927 -0.555595
+vn -0.921733 0.103795 -0.373678
+vn -0.925794 0.046841 -0.375115
+vn 0.223846 0.666060 -0.711518
+vn -0.661940 0.368027 -0.652987
+vn 0.025568 0.998352 -0.051380
+vn -0.805637 0.480655 -0.346294
+vn -0.902309 0.200725 -0.381508
+vn -0.514184 0.820920 -0.248405
+vn -0.880925 0.283832 -0.378695
+vn -0.526449 0.822507 -0.215252
+vn -0.880925 0.283832 -0.378695
+vn -0.526449 0.822507 -0.215252
+vn -0.853169 0.302731 -0.424802
+vn -0.535664 0.827524 -0.168129
+vn -0.902309 0.200725 -0.381508
+vn -0.925794 0.046841 -0.375115
+vn -0.882892 0.255982 -0.393669
+vn -0.807551 0.197927 -0.555595
+vn -0.819676 0.406927 0.403165
+vn -0.863418 0.470071 0.183145
+vn -0.714737 0.390191 0.580433
+vn -0.845257 0.486039 0.222053
+vn -0.721186 0.050329 0.690911
+vn -0.189793 0.110222 0.975618
+vn -0.313161 -0.416093 0.853696
+vn 0.327918 -0.202227 0.922808
+vn -0.313161 -0.416093 0.853696
+vn 0.327918 -0.202227 0.922808
+vn -0.582326 -0.365791 0.726012
+vn 0.020534 -0.362323 0.931827
+vn -0.447090 -0.486635 0.750531
+vn -0.206447 -0.389705 0.897502
+vn -0.354162 -0.610805 0.708157
+vn -0.003133 -0.878618 0.477514
+vn -0.953078 0.288863 -0.090558
+vn -0.901224 0.426557 -0.076456
+vn -0.936551 0.346598 -0.052362
+vn -0.874268 0.470853 -0.118123
+vn -0.901224 0.426557 -0.076456
+vn -0.910979 0.392972 -0.125262
+vn -0.766765 0.625850 -0.142770
+vn -0.742114 0.648121 -0.170896
+vn -0.442109 0.890776 -0.105156
+vn -0.831764 0.527148 -0.174022
+vn -0.893314 0.414719 -0.173203
+vn -0.766765 0.625850 -0.142770
+vn -0.910979 0.392972 -0.125262
+vn -0.390002 0.871248 0.298035
+vn -0.665132 -0.496929 0.557369
+vn -0.205704 0.930379 0.303449
+vn -0.487867 -0.282658 0.825888
+vn 0.207803 -0.895607 0.393328
+vn 0.019986 -0.964498 0.263333
+vn 0.244953 -0.798283 0.550221
+vn -0.162026 -0.928527 0.334045
+vn 0.207803 -0.895607 0.393328
+vn 0.244953 -0.798283 0.550221
+vn 0.633609 -0.641534 0.432405
+vn 0.747892 -0.256115 0.612424
+vn 0.872869 -0.327596 0.361636
+vn 0.970140 -0.146616 0.193214
+vn 0.866830 -0.309536 0.390888
+vn 0.952970 -0.300804 0.036952
+vn 0.800010 -0.344410 0.491290
+vn 0.866830 -0.309536 0.390888
+vn 0.746015 -0.630487 0.214355
+vn 0.952970 -0.300804 0.036952
+vn 0.786980 0.616668 0.019582
+vn 0.504363 0.731326 0.459109
+vn 0.857758 0.429569 0.282350
+vn 0.366036 0.589347 0.720200
+vn 0.240164 0.515637 0.822459
+vn 0.806009 0.323683 0.495559
+vn 0.366036 0.589347 0.720200
+vn 0.857758 0.429569 0.282350
+vn 0.107366 0.547452 0.829921
+vn 0.734046 0.366383 0.571787
+vn 0.240164 0.515637 0.822459
+vn 0.806009 0.323683 0.495559
+vn 0.857583 0.472502 -0.203208
+vn 0.786980 0.616668 0.019582
+vn 0.974830 0.213126 -0.065456
+vn 0.857758 0.429569 0.282350
+vn 0.857583 0.472502 -0.203208
+vn 0.875741 0.309345 -0.370652
+vn 0.906052 0.418072 -0.065465
+vn 0.970288 0.228515 -0.079516
+vn 0.906052 0.418072 -0.065465
+vn 0.970288 0.228515 -0.079516
+vn 0.900688 0.432132 0.044983
+vn 0.944740 0.321101 0.066041
+vn 0.620138 0.783797 0.033018
+vn 0.800030 0.599577 0.021432
+vn 0.446569 0.886516 -0.121102
+vn 0.641376 0.760988 -0.097644
+vn 0.900688 0.432132 0.044983
+vn 0.944740 0.321101 0.066041
+vn 0.800030 0.599577 0.021432
+vn 0.761389 0.648206 -0.010797
+vn -0.000000 0.990579 -0.136942
+vn 0.241607 0.961016 -0.134443
+vn 0.000000 0.955885 -0.293741
+vn 0.253848 0.923674 -0.287033
+vn 0.241607 0.961016 -0.134443
+vn 0.446569 0.886516 -0.121102
+vn 0.253848 0.923674 -0.287033
+vn 0.433118 0.855908 -0.282542
+vn -0.685176 0.727463 0.036492
+vn -0.305994 0.951636 -0.027497
+vn -0.577621 0.810865 -0.094079
+vn -0.286394 0.949265 -0.129902
+vn -0.685176 0.727463 0.036492
+vn -0.847059 0.530493 0.032681
+vn -0.863418 0.470071 0.183145
+vn -0.911132 0.406637 0.066973
+vn -0.720939 0.192790 0.665641
+vn -0.920084 0.373295 -0.118730
+vn -0.511053 0.743467 0.431371
+vn -0.720939 0.192790 0.665641
+vn -0.734818 -0.613106 -0.290075
+vn -0.971551 0.180680 -0.153115
+vn -0.825765 0.175481 -0.536022
+vn -0.852762 0.139011 -0.503462
+vn -0.971551 0.180680 -0.153115
+vn -0.920084 0.373295 -0.118730
+vn -0.846683 0.520260 0.111612
+vn -0.645759 0.760130 -0.072088
+vn -0.888375 0.447471 -0.102761
+vn -0.442109 0.890776 -0.105156
+vn -0.888375 0.447471 -0.102761
+vn -0.944920 0.278170 -0.172476
+vn -0.651299 0.752889 -0.094702
+vn -0.853143 0.426345 -0.300628
+vn -0.055674 0.997814 -0.035604
+vn -0.053053 0.964277 -0.259530
+vn 0.645302 0.748698 0.151779
+vn 0.928833 0.369458 0.027739
+vn -0.041824 -0.986543 0.158062
+vn 0.446607 -0.867010 0.220987
+vn 0.037107 -0.968444 -0.246454
+vn 0.930486 -0.364575 0.035781
+vn -0.816887 -0.562111 0.129333
+vn -0.976356 -0.150530 -0.155144
+vn -0.881226 -0.430174 0.195935
+vn -0.952495 -0.266329 -0.147725
+vn -0.855805 -0.419793 -0.302279
+vn 0.037107 -0.968444 -0.246454
+vn -0.806005 -0.240815 -0.540707
+vn 0.203171 -0.345965 -0.915986
+vn -0.099631 -0.921662 0.374984
+vn -0.816887 -0.562111 0.129333
+vn -0.158586 -0.715744 0.680119
+vn -0.881226 -0.430174 0.195935
+vn -0.846452 -0.421426 -0.325451
+vn 0.066193 -0.951432 -0.300660
+vn -0.793786 -0.231813 -0.562287
+vn 0.236958 -0.316494 -0.918522
+vn -0.212274 -0.698256 0.683651
+vn -0.885280 -0.418015 0.203818
+vn -0.152849 -0.858881 0.488837
+vn -0.685096 -0.694279 0.220503
+vn -0.885280 -0.418015 0.203818
+vn -0.954697 -0.257375 -0.149373
+vn -0.685096 -0.694279 0.220503
+vn -0.703662 -0.706993 -0.070852
+vn -0.954697 -0.257375 -0.149373
+vn -0.793786 -0.231813 -0.562287
+vn -0.703662 -0.706993 -0.070852
+vn -0.630221 -0.635905 -0.445472
+vn -0.724632 -0.193368 -0.661451
+vn 0.344350 -0.196976 -0.917945
+vn -0.559847 -0.538119 -0.630079
+vn 0.243674 -0.670962 -0.700309
+vn 0.140983 -0.926201 -0.349679
+vn 0.951558 -0.307468 -0.001356
+vn 0.344350 -0.196976 -0.917945
+vn 0.961411 -0.107436 -0.253271
+vn -0.955835 -0.221164 -0.193561
+vn -0.650532 -0.742604 -0.159211
+vn -0.957074 -0.178079 -0.228688
+vn -0.853146 -0.279892 -0.440229
+vn -0.819586 -0.381630 -0.427361
+vn -0.614441 -0.774807 -0.148781
+vn 0.152900 -0.827853 -0.539704
+vn 0.006059 -0.999002 -0.044250
+vn -0.112520 -0.946791 0.301539
+vn -0.885584 -0.463600 0.028557
+vn -0.232347 -0.714943 0.659447
+vn -0.912353 -0.385396 0.138140
+vn -0.839099 -0.362025 -0.406018
+vn 0.178670 -0.835190 -0.520130
+vn -0.779873 -0.176014 -0.600681
+vn 0.305566 -0.207318 -0.929327
+vn -0.124220 -0.938585 0.321912
+vn -0.259810 -0.696394 0.668980
+vn 0.775479 -0.494405 0.392677
+vn 0.706872 -0.409539 0.576723
+vn 0.016879 -0.999116 -0.038497
+vn -0.124220 -0.938585 0.321912
+vn 0.660697 -0.744657 0.094684
+vn 0.775479 -0.494405 0.392677
+vn -0.259810 -0.696394 0.668980
+vn -0.171632 -0.883416 0.436026
+vn 0.706872 -0.409539 0.576723
+vn 0.535291 -0.700021 0.472689
+vn -0.903476 -0.383756 -0.190951
+vn -0.690966 -0.704731 -0.160999
+vn -0.925299 -0.303396 -0.227536
+vn -0.861018 -0.213942 -0.461386
+vn -0.903476 -0.383756 -0.190951
+vn -0.955096 -0.239839 -0.173981
+vn -0.690966 -0.704731 -0.160999
+vn -0.916337 -0.388635 0.096382
+vn -0.980753 -0.090124 -0.173211
+vn -0.808615 -0.310134 -0.499959
+vn -0.962493 -0.183926 -0.199445
+vn -0.620252 -0.105698 -0.777248
+vn -0.808615 -0.310134 -0.499959
+vn -0.706684 -0.694262 -0.136374
+vn 0.193675 -0.607261 -0.770535
+vn -0.039842 -0.999077 -0.016046
+vn -0.909029 -0.381411 0.167902
+vn -0.876963 -0.335922 0.343646
+vn -0.278440 -0.745981 0.604965
+vn -0.286636 -0.512798 0.809245
+vn -0.398701 -0.910060 -0.113263
+vn -0.041693 -0.996374 0.074169
+vn 0.243703 -0.912889 -0.327479
+vn 0.724872 -0.553715 0.409829
+vn -0.041693 -0.996374 0.074169
+vn -0.219594 -0.963903 0.150567
+vn 0.724872 -0.553715 0.409829
+vn -0.278440 -0.745981 0.604965
+vn -0.876732 0.479858 -0.032832
+vn -0.704723 0.696012 -0.137598
+vn -0.973164 0.034248 -0.227548
+vn -0.806088 0.529740 -0.263813
+vn 0.016589 -0.998612 -0.049989
+vn 0.073077 -0.996713 -0.034966
+vn 0.016216 -0.998669 -0.048962
+vn 0.072814 -0.996762 -0.034104
+vn 0.016216 -0.998669 -0.048962
+vn 0.072814 -0.996762 -0.034104
+vn 0.015665 -0.998754 -0.047386
+vn 0.071827 -0.996870 -0.033022
+vn 0.015432 -0.998787 -0.046762
+vn 0.015665 -0.998754 -0.047386
+vn 0.070809 -0.996949 -0.032848
+vn 0.071827 -0.996870 -0.033022
+vn 0.143872 -0.988920 -0.036592
+vn 0.388513 -0.920881 0.032173
+vn 0.154597 -0.987276 -0.037227
+vn 0.395179 -0.918045 0.032035
+vn 0.070809 -0.996949 -0.032848
+vn 0.341514 -0.939396 0.030055
+vn 0.076082 -0.996137 -0.043857
+vn 0.339618 -0.940261 0.023837
+vn 0.076082 -0.996137 -0.043857
+vn 0.339618 -0.940261 0.023837
+vn 0.094259 -0.993576 -0.062620
+vn 0.349152 -0.936943 0.015211
+vn 0.094259 -0.993576 -0.062620
+vn 0.349152 -0.936943 0.015211
+vn 0.116014 -0.991077 -0.065624
+vn 0.366078 -0.930457 0.015397
+vn 0.132909 -0.989727 -0.052681
+vn 0.116014 -0.991077 -0.065624
+vn 0.379562 -0.924867 0.023528
+vn 0.366078 -0.930457 0.015397
+vn 0.143872 -0.988920 -0.036592
+vn 0.132909 -0.989727 -0.052681
+vn 0.388513 -0.920881 0.032173
+vn 0.379562 -0.924867 0.023528
+vn -0.038684 -0.996927 -0.068117
+vn -0.040098 -0.996986 -0.066414
+vn 0.016242 -0.998675 -0.048830
+vn 0.015412 -0.998813 -0.046200
+vn 0.015089 -0.998868 -0.045103
+vn 0.074720 -0.996734 -0.030618
+vn 0.015412 -0.998813 -0.046200
+vn 0.072937 -0.996824 -0.031977
+vn 0.014644 -0.998939 -0.043667
+vn 0.075587 -0.996719 -0.028955
+vn 0.015089 -0.998868 -0.045103
+vn 0.074720 -0.996734 -0.030618
+vn -0.267624 -0.109878 -0.957238
+vn 0.675495 -0.049075 -0.735730
+vn -0.197227 -0.362537 -0.910861
+vn 0.575437 -0.465085 -0.672732
+vn 0.451201 -0.891973 -0.028309
+vn 0.935295 -0.320290 0.150459
+vn 0.426977 -0.902699 0.053160
+vn 0.921039 -0.361483 0.144975
+vn -0.267624 -0.109878 -0.957238
+vn -0.197227 -0.362537 -0.910861
+vn -0.940159 -0.189701 -0.283046
+vn -0.761637 -0.585885 -0.276854
+vn 0.282043 -0.938174 0.200702
+vn 0.768279 -0.585100 0.259624
+vn 0.264825 -0.943802 0.197753
+vn 0.796130 -0.552237 0.247411
+vn 0.264825 -0.943802 0.197753
+vn 0.796130 -0.552237 0.247411
+vn 0.248270 -0.948887 0.194874
+vn 0.753595 -0.617676 0.224878
+vn 0.248270 -0.948887 0.194874
+vn 0.753595 -0.617676 0.224878
+vn 0.233034 -0.953294 0.192159
+vn 0.656569 -0.716859 0.234586
+vn 0.302828 -0.934354 0.187822
+vn 0.746192 -0.624548 0.230515
+vn 0.282043 -0.938174 0.200702
+vn 0.768279 -0.585100 0.259624
+vn 0.336004 -0.931821 0.137151
+vn 0.821710 -0.537549 0.189299
+vn 0.302828 -0.934354 0.187822
+vn 0.746192 -0.624548 0.230515
+vn 0.377394 -0.923249 0.072008
+vn 0.860656 -0.482528 0.162596
+vn 0.336004 -0.931821 0.137151
+vn 0.821710 -0.537549 0.189299
+vn 0.402563 -0.914334 0.044008
+vn 0.769738 -0.621354 0.146365
+vn 0.377394 -0.923249 0.072008
+vn 0.860656 -0.482528 0.162596
+vn 0.233034 -0.953294 0.192159
+vn 0.656569 -0.716859 0.234586
+vn 0.218222 -0.957327 0.189485
+vn 0.683726 -0.684035 0.254194
+vn 0.218222 -0.957327 0.189485
+vn 0.683726 -0.684035 0.254194
+vn 0.204558 -0.960582 0.188252
+vn 0.717438 -0.651090 0.247719
+vn 0.105398 0.993655 -0.039249
+vn 0.121601 0.992037 -0.032790
+vn -0.605392 0.738726 -0.296286
+vn -0.585146 0.757448 -0.289616
+vn 0.105398 0.993655 -0.039249
+vn 0.089615 0.994940 -0.045418
+vn 0.771391 0.585901 0.248345
+vn 0.764939 0.595692 0.244988
+vn 0.092455 0.989955 -0.106965
+vn 0.039232 0.989827 -0.136760
+vn 0.034983 0.991866 -0.122383
+vn -0.018127 0.989941 -0.140314
+vn 0.039232 0.989827 -0.136760
+vn 0.029236 0.994249 -0.103030
+vn -0.018127 0.989941 -0.140314
+vn -0.116098 0.983350 -0.139797
+vn -0.795458 0.555488 -0.242240
+vn -0.805879 0.539640 -0.243612
+vn -0.407571 0.893440 -0.188816
+vn -0.479661 0.854039 -0.201354
+vn -0.407571 0.893440 -0.188816
+vn -0.479661 0.854039 -0.201354
+vn -0.116098 0.983350 -0.139797
+vn -0.243309 0.956326 -0.161990
+vn 0.734740 -0.059798 0.675708
+vn 0.645302 0.748698 0.151779
+vn 0.713387 0.402805 0.573435
+vn 0.907926 0.347132 0.234881
+vn -0.917295 0.311465 -0.248113
+vn -0.920641 0.301706 -0.247777
+vn -0.795458 0.555488 -0.242240
+vn -0.805879 0.539640 -0.243612
+vn 0.452676 -0.849781 0.270105
+vn 0.645540 -0.722207 0.248387
+vn 0.446607 -0.867010 0.220987
+vn 0.593727 -0.766750 0.244097
+vn -0.960507 0.248267 0.125658
+vn -0.922264 0.385605 0.027162
+vn -0.360027 0.481171 0.799284
+vn -0.522860 0.683012 0.510011
+vn 0.482448 0.470448 0.738866
+vn 0.743007 0.512749 0.430150
+vn -0.327236 0.664878 0.671456
+vn -0.085776 0.992406 0.088161
+vn 0.743007 0.512749 0.430150
+vn 0.938986 0.336222 -0.072530
+vn -0.085776 0.992406 0.088161
+vn 0.305411 0.600304 -0.739161
+vn -0.629770 0.039992 -0.775751
+vn -0.571451 0.263476 -0.777190
+vn 0.405171 0.090301 -0.909770
+vn 0.305411 0.600304 -0.739161
+vn -0.688383 0.711300 -0.142061
+vn -0.907158 0.275212 -0.318311
+vn -0.808208 0.196704 -0.555074
+vn -0.913069 0.135296 -0.384708
+vn -0.232211 0.962155 0.142606
+vn -0.661261 0.723292 -0.198954
+vn 0.090343 0.693688 -0.714588
+vn -0.782571 0.152434 -0.603612
+vn -0.920277 0.238157 -0.310438
+vn -0.949285 0.301478 -0.089275
+vn -0.916740 0.108060 -0.384592
+vn -0.917357 -0.000430 -0.398065
+vn -0.980045 0.183574 -0.076239
+vn -0.913912 0.405711 -0.012766
+vn -0.917552 0.069779 -0.391444
+vn -0.851841 0.411833 -0.323669
+vn -0.324088 0.750836 0.575510
+vn -0.056337 0.995732 0.073106
+vn -0.913912 0.405711 -0.012766
+vn -0.851841 0.411833 -0.323669
+vn 0.325997 0.701144 -0.634131
+vn -0.663853 0.330084 -0.671077
+vn -0.056337 0.995732 0.073106
+vn -0.851841 0.411833 -0.323669
+vn -0.792755 0.117460 -0.598116
+vn -0.883471 0.139515 -0.447230
+vn -0.917357 -0.000430 -0.398065
+vn -0.916740 0.108060 -0.384592
+vn -0.853169 0.302731 -0.424802
+vn -0.535664 0.827524 -0.168129
+vn -0.883471 0.139515 -0.447230
+vn -0.541613 0.831991 -0.120192
+vn -0.685253 0.600743 0.411748
+vn -0.904156 0.374720 0.205152
+vn -0.834398 0.485073 -0.261696
+vn -0.935081 0.170405 -0.310783
+vn -0.904156 0.374720 0.205152
+vn -0.167939 0.503622 0.847444
+vn -0.854770 0.473593 0.212318
+vn -0.166038 0.759846 0.628543
+vn 0.638011 0.316162 0.702128
+vn 0.567719 0.465297 0.679112
+vn -0.167939 0.503622 0.847444
+vn -0.166038 0.759846 0.628543
+vn -0.492045 0.139474 -0.859325
+vn -0.547829 -0.020511 -0.836339
+vn -0.845369 0.438760 -0.304698
+vn -0.928942 0.075791 -0.362384
+vn -0.547829 -0.020511 -0.836339
+vn -0.773106 0.147549 -0.616876
+vn -0.928942 0.075791 -0.362384
+vn -0.931432 0.029722 -0.362701
+vn -0.942966 0.328893 -0.051430
+vn -0.861414 0.412531 -0.296284
+vn -0.726293 0.643639 -0.241304
+vn -0.804399 0.521969 -0.283707
+vn -0.726293 0.643639 -0.241304
+vn -0.804399 0.521969 -0.283707
+vn -0.773106 0.147549 -0.616876
+vn -0.855756 0.382230 -0.348687
+vn -0.974246 0.218956 0.053883
+vn -0.899160 0.419380 0.125028
+vn -0.913567 0.070681 -0.400498
+vn -0.846626 0.423834 -0.321853
+vn -0.942966 0.328893 -0.051430
+vn -0.974246 0.218956 0.053883
+vn -0.915387 0.011667 -0.402405
+vn -0.913567 0.070681 -0.400498
+vn 0.884197 0.342850 0.317255
+vn 0.901895 0.174351 -0.395204
+vn 0.930790 0.156349 0.330433
+vn 0.967801 0.037262 -0.248943
+vn -0.933889 0.275011 0.228519
+vn -0.868880 0.426990 0.250452
+vn -0.928942 0.075791 -0.362384
+vn -0.845369 0.438760 -0.304698
+vn -0.917144 0.393661 0.062275
+vn -0.933889 0.275011 0.228519
+vn -0.931432 0.029722 -0.362701
+vn -0.928942 0.075791 -0.362384
+vn -0.917144 0.393661 0.062275
+vn -0.817029 0.393944 -0.421036
+vn -0.010853 0.950486 -0.310579
+vn -0.296326 0.468561 -0.832251
+vn -0.166226 0.921341 0.351426
+vn -0.685253 0.600743 0.411748
+vn -0.003765 0.999979 0.005239
+vn -0.834398 0.485073 -0.261696
+vn -0.867942 0.332868 -0.368612
+vn -0.899468 0.259937 -0.351269
+vn -0.541139 0.795038 -0.274011
+vn -0.563773 0.776209 -0.282240
+vn -0.882892 0.255982 -0.393669
+vn -0.867942 0.332868 -0.368612
+vn -0.519309 0.812258 -0.265620
+vn -0.541139 0.795038 -0.274011
+vn -0.899468 0.259937 -0.351269
+vn -0.909549 0.181723 -0.373762
+vn -0.563773 0.776209 -0.282240
+vn -0.585146 0.757448 -0.289616
+vn -0.902309 0.200725 -0.381508
+vn -0.882892 0.255982 -0.393669
+vn -0.514184 0.820920 -0.248405
+vn -0.519309 0.812258 -0.265620
+vn -0.594467 0.322654 0.736549
+vn -0.714737 0.390191 0.580433
+vn -0.343104 0.463693 0.816865
+vn -0.437228 0.659166 0.611826
+vn -0.594467 0.322654 0.736549
+vn -0.343104 0.463693 0.816865
+vn -0.453260 0.289351 0.843108
+vn -0.223050 0.374576 0.899967
+vn -0.453260 0.289351 0.843108
+vn -0.223050 0.374576 0.899967
+vn -0.189793 0.110222 0.975618
+vn 0.006009 0.203368 0.979084
+vn 0.020534 -0.362323 0.931827
+vn 0.762647 0.031448 0.646050
+vn -0.206447 -0.389705 0.897502
+vn 0.925683 -0.185058 0.329946
+vn -0.172553 -0.866668 0.468094
+vn -0.354162 -0.610805 0.708157
+vn -0.332550 -0.902410 0.273982
+vn -0.391869 -0.771818 0.500734
+vn -0.172553 -0.866668 0.468094
+vn -0.172033 -0.964490 0.200409
+vn 0.019986 -0.964498 0.263333
+vn 0.025542 -0.981951 0.187405
+vn -0.979961 0.156881 -0.122742
+vn -0.901224 0.426557 -0.076456
+vn -0.953078 0.288863 -0.090558
+vn -0.910979 0.392972 -0.125262
+vn -0.901224 0.426557 -0.076456
+vn -0.886272 0.457655 -0.071227
+vn -0.742114 0.648121 -0.170896
+vn -0.766765 0.625850 -0.142770
+vn -0.894793 0.397793 -0.202746
+vn -0.772796 0.604966 -0.191838
+vn -0.735320 0.652731 -0.182338
+vn -0.766765 0.625850 -0.142770
+vn -0.893314 0.414719 -0.173203
+vn -0.975526 0.120357 -0.184020
+vn -0.910979 0.392972 -0.125262
+vn -0.962096 0.255882 -0.094314
+vn -0.936551 0.346598 -0.052362
+vn -0.825399 0.556664 0.094032
+vn -0.210709 0.961733 0.175133
+vn -0.390002 0.871248 0.298035
+vn -0.228585 0.951240 0.207104
+vn -0.825399 0.556664 0.094032
+vn -0.210709 0.961733 0.175133
+vn -0.205704 0.930379 0.303449
+vn -0.137752 0.956264 0.258036
+vn -0.390002 0.871248 0.298035
+vn -0.228585 0.951240 0.207104
+vn 0.633609 -0.641534 0.432405
+vn 0.747892 -0.256115 0.612424
+vn 0.872869 -0.327596 0.361636
+vn 0.970140 -0.146616 0.193214
+vn -0.618416 0.394530 0.679638
+vn -0.968361 -0.143253 0.204340
+vn -0.711783 0.467317 0.524385
+vn -0.990812 -0.117397 0.067149
+vn -0.968361 -0.143253 0.204340
+vn -0.619942 -0.744190 -0.248703
+vn -0.990812 -0.117397 0.067149
+vn -0.655098 -0.681031 -0.327174
+vn -0.619942 -0.744190 -0.248703
+vn 0.096040 -0.696629 0.710974
+vn 0.278749 -0.882358 -0.379135
+vn 0.746015 -0.630487 0.214355
+vn 0.107366 0.547452 0.829921
+vn 0.047614 0.626643 0.777851
+vn 0.734046 0.366383 0.571787
+vn 0.704940 0.435791 0.559594
+vn 0.047614 0.626643 0.777851
+vn -0.618416 0.394530 0.679638
+vn -0.006625 0.732093 0.681173
+vn -0.711783 0.467317 0.524385
+vn 0.974830 0.213126 -0.065456
+vn 0.953428 -0.005535 -0.301569
+vn 0.857583 0.472502 -0.203208
+vn 0.875741 0.309345 -0.370652
+vn -0.000000 0.990579 -0.136942
+vn 0.000000 0.955885 -0.293741
+vn -0.286394 0.949265 -0.129902
+vn -0.271194 0.920889 -0.280031
+vn -0.685176 0.727463 0.036492
+vn -0.577621 0.810865 -0.094079
+vn -0.847059 0.530493 0.032681
+vn -0.767679 0.640562 -0.018697
+vn -0.920084 0.373295 -0.118730
+vn -0.720939 0.192790 0.665641
+vn -0.971551 0.180680 -0.153115
+vn -0.888375 0.447471 -0.102761
+vn -0.442109 0.890776 -0.105156
+vn -0.944920 0.278170 -0.172476
+vn -0.831764 0.527148 -0.174022
+vn -0.053053 0.964277 -0.259530
+vn -0.853143 0.426345 -0.300628
+vn 0.046370 0.488034 -0.871592
+vn -0.825536 0.279310 -0.490384
+vn -0.881226 -0.430174 0.195935
+vn -0.952495 -0.266329 -0.147725
+vn -0.670872 -0.710776 0.211490
+vn -0.692261 -0.718818 -0.063831
+vn -0.952495 -0.266329 -0.147725
+vn -0.806005 -0.240815 -0.540707
+vn -0.692261 -0.718818 -0.063831
+vn -0.635621 -0.657437 -0.404675
+vn -0.099631 -0.921662 0.374984
+vn -0.158586 -0.715744 0.680119
+vn 0.717272 -0.536511 0.444609
+vn 0.750799 -0.386900 0.535359
+vn -0.039211 -0.991687 0.122550
+vn -0.099631 -0.921662 0.374984
+vn 0.513553 -0.832225 0.208961
+vn 0.717272 -0.536511 0.444609
+vn -0.039211 -0.991687 0.122550
+vn 0.513553 -0.832225 0.208961
+vn 0.066193 -0.951432 -0.300660
+vn 0.939631 -0.341456 0.022407
+vn -0.212274 -0.698256 0.683651
+vn -0.152849 -0.858881 0.488837
+vn 0.733073 -0.391150 0.556423
+vn 0.522664 -0.699217 0.487769
+vn 0.581163 -0.787255 0.206106
+vn 0.746192 -0.624548 0.230515
+vn 0.951558 -0.307468 -0.001356
+vn 0.821710 -0.537549 0.189299
+vn 0.736359 -0.511340 0.443066
+vn 0.768279 -0.585100 0.259624
+vn 0.581163 -0.787255 0.206106
+vn 0.746192 -0.624548 0.230515
+vn 0.736359 -0.511340 0.443066
+vn 0.733073 -0.391150 0.556423
+vn 0.971602 -0.077361 0.223619
+vn 0.956324 -0.186311 0.225240
+vn -0.171632 -0.883416 0.436026
+vn -0.709316 -0.684087 0.169990
+vn 0.014244 -0.997712 -0.066086
+vn -0.704827 -0.682631 -0.192961
+vn -0.704827 -0.682631 -0.192961
+vn -0.559847 -0.538119 -0.630079
+vn 0.014244 -0.997712 -0.066086
+vn 0.243674 -0.670962 -0.700309
+vn -0.879794 -0.466353 0.092075
+vn -0.129537 -0.880903 0.455226
+vn -0.650532 -0.742604 -0.159211
+vn -0.005947 -0.999161 -0.040521
+vn -0.879794 -0.466353 0.092075
+vn -0.976764 -0.114313 -0.181285
+vn -0.876919 -0.404241 0.260003
+vn -0.959020 -0.211555 -0.188479
+vn -0.976764 -0.114313 -0.181285
+vn -0.819586 -0.381630 -0.427361
+vn -0.959020 -0.211555 -0.188479
+vn -0.714384 -0.136786 -0.686254
+vn -0.819586 -0.381630 -0.427361
+vn 0.152900 -0.827853 -0.539704
+vn -0.714384 -0.136786 -0.686254
+vn 0.275713 -0.098445 -0.956186
+vn -0.112520 -0.946791 0.301539
+vn -0.232347 -0.714943 0.659447
+vn 0.814805 -0.440382 0.377037
+vn 0.771202 -0.362962 0.522978
+vn 0.006059 -0.999002 -0.044250
+vn -0.112520 -0.946791 0.301539
+vn 0.680900 -0.725006 0.103647
+vn 0.814805 -0.440382 0.377037
+vn -0.232347 -0.714943 0.659447
+vn -0.912353 -0.385396 0.138140
+vn -0.155371 -0.896006 0.415972
+vn -0.734459 -0.667724 0.121303
+vn -0.912353 -0.385396 0.138140
+vn -0.955822 -0.221498 -0.193245
+vn -0.734459 -0.667724 0.121303
+vn -0.731018 -0.654805 -0.191945
+vn -0.955822 -0.221498 -0.193245
+vn -0.779873 -0.176014 -0.600681
+vn -0.731018 -0.654805 -0.191945
+vn -0.626358 -0.544035 -0.558303
+vn 0.016879 -0.999116 -0.038497
+vn 0.660697 -0.744657 0.094684
+vn 0.178670 -0.835190 -0.520130
+vn 0.966258 -0.256233 -0.026252
+vn -0.964560 -0.168096 -0.203390
+vn -0.957074 -0.178079 -0.228688
+vn -0.977780 -0.103973 -0.182035
+vn -0.853146 -0.279892 -0.440229
+vn -0.955096 -0.239839 -0.173981
+vn -0.964560 -0.168096 -0.203390
+vn -0.916337 -0.388635 0.096382
+vn -0.977780 -0.103973 -0.182035
+vn -0.923771 -0.375143 0.076903
+vn -0.216151 -0.821108 0.528261
+vn -0.706684 -0.694262 -0.136374
+vn -0.039842 -0.999077 -0.016046
+vn -0.923771 -0.375143 0.076903
+vn -0.978463 -0.098985 -0.181141
+vn -0.916499 -0.349951 0.193816
+vn -0.963237 -0.187150 -0.192742
+vn -0.978463 -0.098985 -0.181141
+vn -0.861018 -0.213942 -0.461386
+vn -0.963237 -0.187150 -0.192742
+vn -0.742937 -0.068841 -0.665812
+vn -0.808615 -0.310134 -0.499959
+vn 0.193675 -0.607261 -0.770535
+vn -0.620252 -0.105698 -0.777248
+vn 0.267922 -0.071107 -0.960813
+vn -0.876963 -0.335922 0.343646
+vn -0.962493 -0.183926 -0.199445
+vn -0.752108 -0.587893 0.297852
+vn -0.762530 -0.612735 -0.207613
+vn 0.073077 -0.996713 -0.034966
+vn 0.016589 -0.998612 -0.049989
+vn 0.072501 -0.996781 -0.034234
+vn 0.016242 -0.998675 -0.048830
+vn 0.070809 -0.996949 -0.032848
+vn 0.071827 -0.996870 -0.033022
+vn 0.341514 -0.939396 0.030055
+vn 0.348825 -0.936643 0.031956
+vn 0.388513 -0.920881 0.032173
+vn 0.887581 -0.428464 0.169171
+vn 0.395179 -0.918045 0.032035
+vn 0.866453 -0.479331 0.139645
+vn 0.395179 -0.918045 0.032035
+vn 0.866453 -0.479331 0.139645
+vn 0.403901 -0.914399 0.027168
+vn 0.793253 -0.588528 0.156153
+vn 0.402563 -0.914334 0.044008
+vn 0.403901 -0.914399 0.027168
+vn 0.769738 -0.621354 0.146365
+vn 0.793253 -0.588528 0.156153
+vn 0.015412 -0.998813 -0.046200
+vn 0.072937 -0.996824 -0.031977
+vn 0.016242 -0.998675 -0.048830
+vn 0.072501 -0.996781 -0.034234
+vn 0.076462 -0.996859 -0.020610
+vn 0.416166 -0.907604 0.055331
+vn 0.075427 -0.996860 -0.024096
+vn 0.406730 -0.912146 0.050599
+vn 0.075427 -0.996860 -0.024096
+vn 0.406730 -0.912146 0.050599
+vn 0.075587 -0.996719 -0.028955
+vn 0.398826 -0.915890 0.045642
+vn 0.081743 -0.996257 -0.028120
+vn 0.426977 -0.902699 0.053160
+vn 0.076462 -0.996859 -0.020610
+vn 0.416166 -0.907604 0.055331
+vn 0.243703 -0.912889 -0.327479
+vn 0.724872 -0.553715 0.409829
+vn 0.728763 -0.456531 -0.510377
+vn 0.938634 -0.344693 0.012360
+vn 0.935295 -0.320290 0.150459
+vn 0.938634 -0.344693 0.012360
+vn 0.974774 -0.065877 0.213249
+vn 0.724872 -0.553715 0.409829
+vn 0.015108 -0.999616 -0.023220
+vn -0.761637 -0.585885 -0.276854
+vn 0.575437 -0.465085 -0.672732
+vn -0.197227 -0.362537 -0.910861
+vn 0.683726 -0.684035 0.254194
+vn 0.717272 -0.536511 0.444609
+vn 0.717438 -0.651090 0.247719
+vn 0.970037 -0.089199 0.225990
+vn 0.717438 -0.651090 0.247719
+vn 0.970037 -0.089199 0.225990
+vn 0.673594 -0.700959 0.234368
+vn 0.930486 -0.364575 0.035781
+vn 0.673594 -0.700959 0.234368
+vn 0.930486 -0.364575 0.035781
+vn 0.593727 -0.766750 0.244097
+vn 0.446607 -0.867010 0.220987
+vn 0.121601 0.992037 -0.032790
+vn 0.105398 0.993655 -0.039249
+vn 0.777779 0.575966 0.251641
+vn 0.771391 0.585901 0.248345
+vn 0.669183 0.716926 0.195479
+vn 0.377869 0.923681 0.063466
+vn 0.670189 0.717069 0.191462
+vn 0.393853 0.917540 0.054776
+vn 0.351733 0.935639 0.029398
+vn 0.174245 0.983951 -0.038455
+vn 0.377869 0.923681 0.063466
+vn 0.164248 0.984841 -0.055781
+vn 0.174245 0.983951 -0.038455
+vn 0.092455 0.989955 -0.106965
+vn 0.164248 0.984841 -0.055781
+vn 0.034983 0.991866 -0.122383
+vn -0.116098 0.983350 -0.139797
+vn -0.243309 0.956326 -0.161990
+vn -0.018127 0.989941 -0.140314
+vn -0.109479 0.985439 -0.130093
+vn -0.391752 0.482567 0.783364
+vn 0.713387 0.402805 0.573435
+vn -0.171135 0.938511 0.299850
+vn 0.560110 0.772471 0.299275
+vn -0.391752 0.482567 0.783364
+vn -0.171135 0.938511 0.299850
+vn -0.923253 0.366629 0.114836
+vn -0.676717 0.736193 -0.008656
+vn -0.923253 0.366629 0.114836
+vn -0.676717 0.736193 -0.008656
+vn -0.925868 0.325622 -0.191675
+vn -0.627188 0.762797 -0.157404
+vn -0.917295 0.311465 -0.248113
+vn -0.925868 0.325622 -0.191675
+vn -0.636702 0.741852 -0.210393
+vn -0.627188 0.762797 -0.157404
+vn -0.920641 0.301706 -0.247777
+vn -0.917295 0.311465 -0.248113
+vn -0.645764 0.733530 -0.211950
+vn -0.636702 0.741852 -0.210393
+vn 0.764939 0.595692 0.244988
+vn 0.921379 0.196008 0.335622
+vn 0.771391 0.585901 0.248345
+vn 0.921859 0.192533 0.336315
+vn 0.921379 0.196008 0.335622
+vn 0.887345 0.342400 0.308839
+vn 0.921859 0.192533 0.336315
+vn 0.888512 0.338503 0.309777
+vn 0.887345 0.342400 0.308839
+vn 0.670189 0.717069 0.191462
+vn 0.888512 0.338503 0.309777
+vn 0.678243 0.708552 0.194784
+vn -0.922264 0.385605 0.027162
+vn -0.960507 0.248267 0.125658
+vn -0.920729 0.007312 -0.390135
+vn -0.920942 0.078224 -0.381768
+vn -0.960507 0.248267 0.125658
+vn -0.896428 0.411928 0.163498
+vn -0.920942 0.078224 -0.381768
+vn -0.847960 0.437869 -0.298720
+vn -0.896428 0.411928 0.163498
+vn -0.327236 0.664878 0.671456
+vn -0.847960 0.437869 -0.298720
+vn -0.085776 0.992406 0.088161
+vn -0.571451 0.263476 -0.777190
+vn -0.629770 0.039992 -0.775751
+vn -0.847960 0.437869 -0.298720
+vn -0.920942 0.078224 -0.381768
+vn -0.629770 0.039992 -0.775751
+vn -0.808208 0.196704 -0.555074
+vn -0.920942 0.078224 -0.381768
+vn -0.920729 0.007312 -0.390135
+vn -0.661261 0.723292 -0.198954
+vn -0.232211 0.962155 0.142606
+vn -0.922264 0.385605 0.027162
+vn -0.522860 0.683012 0.510011
+vn -0.916740 0.108060 -0.384592
+vn -0.571326 0.814573 -0.100285
+vn -0.920277 0.238157 -0.310438
+vn -0.611039 0.785792 -0.095726
+vn -0.920277 0.238157 -0.310438
+vn -0.611039 0.785792 -0.095726
+vn -0.907158 0.275212 -0.318311
+vn -0.639566 0.761664 -0.104035
+vn 0.994058 0.094277 -0.054410
+vn 0.321551 0.060504 -0.944957
+vn 0.935110 0.341224 -0.095579
+vn 0.240231 0.594760 -0.767170
+vn 0.321551 0.060504 -0.944957
+vn 0.090343 0.693688 -0.714588
+vn -0.632354 0.022331 -0.774357
+vn -0.782571 0.152434 -0.603612
+vn -0.899160 0.419380 0.125028
+vn -0.254406 0.707770 0.659044
+vn -0.846626 0.423834 -0.321853
+vn -0.070044 0.995192 0.068456
+vn 0.496661 0.464438 0.733229
+vn 0.752780 0.504079 0.423352
+vn -0.254406 0.707770 0.659044
+vn -0.070044 0.995192 0.068456
+vn 0.752780 0.504079 0.423352
+vn 0.935110 0.341224 -0.095579
+vn -0.070044 0.995192 0.068456
+vn 0.240231 0.594760 -0.767170
+vn -0.904156 0.374720 0.205152
+vn -0.854770 0.473593 0.212318
+vn -0.935081 0.170405 -0.310783
+vn -0.847931 0.438232 -0.298270
+vn 0.638011 0.316162 0.702128
+vn 0.930790 0.156349 0.330433
+vn 0.567719 0.465297 0.679112
+vn 0.842165 0.454910 0.289510
+vn -0.845369 0.438760 -0.304698
+vn -0.069160 0.997452 0.017505
+vn -0.492045 0.139474 -0.859325
+vn 0.275514 0.413209 -0.867958
+vn 0.749611 0.527970 0.399164
+vn 0.929783 0.232288 -0.285562
+vn -0.069160 0.997452 0.017505
+vn 0.275514 0.413209 -0.867958
+vn -0.861414 0.412531 -0.296284
+vn -0.942966 0.328893 -0.051430
+vn -0.891430 0.284746 -0.352523
+vn -0.915387 0.011667 -0.402405
+vn 0.404322 0.474989 0.781607
+vn 0.749611 0.527970 0.399164
+vn -0.289202 0.679932 0.673836
+vn -0.069160 0.997452 0.017505
+vn 0.901895 0.174351 -0.395204
+vn -0.010853 0.950486 -0.310579
+vn 0.255177 0.397104 -0.881586
+vn -0.296326 0.468561 -0.832251
+vn -0.868880 0.426990 0.250452
+vn -0.289202 0.679932 0.673836
+vn -0.845369 0.438760 -0.304698
+vn -0.069160 0.997452 0.017505
+vn -0.931432 0.029722 -0.362701
+vn -0.882806 0.325883 -0.338311
+vn -0.917144 0.393661 0.062275
+vn -0.817029 0.393944 -0.421036
+vn -0.166226 0.921341 0.351426
+vn -0.003765 0.999979 0.005239
+vn 0.303309 0.640646 0.705391
+vn 0.840590 0.483194 0.244809
+vn -0.311741 0.563550 0.765003
+vn -0.166226 0.921341 0.351426
+vn -0.278617 0.557459 0.782056
+vn 0.303309 0.640646 0.705391
+vn -0.116961 0.942945 0.311730
+vn -0.278617 0.557459 0.782056
+vn -0.137752 0.956264 0.258036
+vn -0.448293 0.487287 0.749390
+vn -0.526449 0.822507 -0.215252
+vn -0.514184 0.820920 -0.248405
+vn 0.133170 0.986734 0.092852
+vn 0.160298 0.986954 0.015016
+vn -0.526449 0.822507 -0.215252
+vn 0.133170 0.986734 0.092852
+vn -0.535664 0.827524 -0.168129
+vn 0.124092 0.975090 0.183848
+vn -0.863418 0.470071 0.183145
+vn -0.911132 0.406637 0.066973
+vn -0.845257 0.486039 0.222053
+vn -0.911370 0.411199 -0.017885
+vn -0.714737 0.390191 0.580433
+vn -0.845257 0.486039 0.222053
+vn -0.437228 0.659166 0.611826
+vn -0.740024 0.660489 0.126957
+vn -0.189793 0.110222 0.975618
+vn 0.006009 0.203368 0.979084
+vn 0.327918 -0.202227 0.922808
+vn 0.290809 0.170947 0.941386
+vn 0.020534 -0.362323 0.931827
+vn 0.327918 -0.202227 0.922808
+vn 0.762647 0.031448 0.646050
+vn 0.290809 0.170947 0.941386
+vn -0.206447 -0.389705 0.897502
+vn 0.925683 -0.185058 0.329946
+vn -0.003133 -0.878618 0.477514
+vn 0.988449 -0.140208 0.057530
+vn -0.354162 -0.610805 0.708157
+vn -0.003133 -0.878618 0.477514
+vn -0.391869 -0.771818 0.500734
+vn -0.484618 -0.750862 0.448722
+vn -0.172553 -0.866668 0.468094
+vn -0.332550 -0.902410 0.273982
+vn -0.298187 -0.935435 0.189858
+vn -0.358108 -0.916648 0.177528
+vn -0.172553 -0.866668 0.468094
+vn -0.298187 -0.935435 0.189858
+vn -0.172033 -0.964490 0.200409
+vn -0.361101 -0.915358 0.178119
+vn -0.979961 0.156881 -0.122742
+vn -0.980184 0.063379 -0.187675
+vn -0.901224 0.426557 -0.076456
+vn -0.937745 0.330421 -0.107033
+vn -0.953078 0.288863 -0.090558
+vn -0.936551 0.346598 -0.052362
+vn -0.982292 0.154659 -0.105750
+vn -0.993913 0.088405 0.065743
+vn -0.886272 0.457655 -0.071227
+vn -0.901224 0.426557 -0.076456
+vn -0.896812 0.434204 -0.084831
+vn -0.910979 0.392972 -0.125262
+vn -0.923079 0.379229 -0.064115
+vn -0.962096 0.255882 -0.094314
+vn -0.772796 0.604966 -0.191838
+vn -0.766765 0.625850 -0.142770
+vn -0.735320 0.652731 -0.182338
+vn -0.742114 0.648121 -0.170896
+vn -0.967023 0.174687 -0.185338
+vn -0.831764 0.527148 -0.174022
+vn -0.944920 0.278170 -0.172476
+vn -0.942752 0.268952 -0.197191
+vn -0.893314 0.414719 -0.173203
+vn -0.956492 0.189753 -0.221622
+vn -0.956492 0.189753 -0.221622
+vn -0.893314 0.414719 -0.173203
+vn -0.975526 0.120357 -0.184020
+vn -0.910979 0.392972 -0.125262
+vn 0.244953 -0.798283 0.550221
+vn -0.162026 -0.928527 0.334045
+vn 0.196145 -0.663107 0.722369
+vn -0.457056 -0.772194 0.441381
+vn 0.019986 -0.964498 0.263333
+vn 0.025542 -0.981951 0.187405
+vn -0.162026 -0.928527 0.334045
+vn -0.433849 -0.874006 0.218834
+vn 0.244953 -0.798283 0.550221
+vn 0.196145 -0.663107 0.722369
+vn 0.747892 -0.256115 0.612424
+vn 0.570201 -0.085696 0.817023
+vn 0.747892 -0.256115 0.612424
+vn 0.823751 0.089751 0.559803
+vn 0.970140 -0.146616 0.193214
+vn 0.995353 -0.049680 0.082492
+vn 0.970140 -0.146616 0.193214
+vn 0.995353 -0.049680 0.082492
+vn 0.952970 -0.300804 0.036952
+vn 0.951267 -0.236542 -0.197836
+vn 0.952970 -0.300804 0.036952
+vn 0.669680 -0.651512 -0.356455
+vn 0.746015 -0.630487 0.214355
+vn 0.278749 -0.882358 -0.379135
+vn 0.278749 -0.882358 -0.379135
+vn 0.034626 -0.876606 -0.479962
+vn -0.619942 -0.744190 -0.248703
+vn -0.655098 -0.681031 -0.327174
+vn 0.974830 0.213126 -0.065456
+vn 0.857758 0.429569 0.282350
+vn 0.997472 0.014766 0.069513
+vn 0.806009 0.323683 0.495559
+vn 0.734046 0.366383 0.571787
+vn 0.991879 -0.041944 0.120074
+vn 0.806009 0.323683 0.495559
+vn 0.997472 0.014766 0.069513
+vn 0.047614 0.626643 0.777851
+vn -0.006625 0.732093 0.681173
+vn 0.704940 0.435791 0.559594
+vn 0.693221 0.525207 0.493560
+vn 0.953428 -0.005535 -0.301569
+vn 0.974830 0.213126 -0.065456
+vn 0.944181 -0.248427 -0.216346
+vn 0.997472 0.014766 0.069513
+vn 0.953428 -0.005535 -0.301569
+vn 0.711398 -0.364202 -0.601058
+vn 0.875741 0.309345 -0.370652
+vn 0.708749 -0.119292 -0.695302
+vn 0.970288 0.228515 -0.079516
+vn 0.875741 0.309345 -0.370652
+vn 0.909617 -0.087707 -0.406084
+vn 0.708749 -0.119292 -0.695302
+vn 0.970288 0.228515 -0.079516
+vn 0.991684 0.110790 0.065479
+vn 0.944740 0.321101 0.066041
+vn 0.983308 0.166232 0.073973
+vn 0.641376 0.760988 -0.097644
+vn 0.625464 0.766041 -0.148246
+vn 0.446569 0.886516 -0.121102
+vn 0.433118 0.855908 -0.282542
+vn 0.800030 0.599577 0.021432
+vn 0.761389 0.648206 -0.010797
+vn 0.641376 0.760988 -0.097644
+vn 0.625464 0.766041 -0.148246
+vn 0.761389 0.648206 -0.010797
+vn 0.944740 0.321101 0.066041
+vn 0.702189 0.588239 0.401131
+vn 0.983308 0.166232 0.073973
+vn -0.286394 0.949265 -0.129902
+vn -0.271194 0.920889 -0.280031
+vn -0.577621 0.810865 -0.094079
+vn -0.469968 0.845785 -0.252543
+vn 0.000000 0.955885 -0.293741
+vn 0.253848 0.923674 -0.287033
+vn 0.000000 0.885897 -0.463882
+vn 0.254775 0.852060 -0.457257
+vn 0.253848 0.923674 -0.287033
+vn 0.433118 0.855908 -0.282542
+vn 0.254775 0.852060 -0.457257
+vn 0.506867 0.743158 -0.436809
+vn -0.911132 0.406637 0.066973
+vn -0.847059 0.530493 0.032681
+vn -0.960233 0.269891 0.071501
+vn -0.874747 0.465599 0.134294
+vn -0.853143 0.426345 -0.300628
+vn -0.944920 0.278170 -0.172476
+vn -0.973585 0.140438 -0.180026
+vn -0.967023 0.174687 -0.185338
+vn 0.928833 0.369458 0.027739
+vn 0.946597 0.273061 0.171440
+vn 0.645302 0.748698 0.151779
+vn 0.907926 0.347132 0.234881
+vn -0.053053 0.964277 -0.259530
+vn 0.046370 0.488034 -0.871592
+vn 0.928833 0.369458 0.027739
+vn 0.966024 0.199941 -0.163773
+vn 0.930486 -0.364575 0.035781
+vn 0.966387 -0.164751 -0.197367
+vn 0.037107 -0.968444 -0.246454
+vn 0.203171 -0.345965 -0.915986
+vn -0.158586 -0.715744 0.680119
+vn -0.881226 -0.430174 0.195935
+vn -0.118760 -0.868474 0.481299
+vn -0.670872 -0.710776 0.211490
+vn -0.806005 -0.240815 -0.540707
+vn 0.203171 -0.345965 -0.915986
+vn -0.635621 -0.657437 -0.404675
+vn 0.105596 -0.850791 -0.514785
+vn -0.793786 -0.231813 -0.562287
+vn 0.236958 -0.316494 -0.918522
+vn -0.630221 -0.635905 -0.445472
+vn 0.133471 -0.826416 -0.547012
+vn 0.236958 -0.316494 -0.918522
+vn 0.066193 -0.951432 -0.300660
+vn 0.967558 -0.152613 -0.201349
+vn 0.939631 -0.341456 0.022407
+vn -0.152849 -0.858881 0.488837
+vn -0.685096 -0.694279 0.220503
+vn -0.041340 -0.994908 0.091916
+vn -0.703662 -0.706993 -0.070852
+vn -0.703662 -0.706993 -0.070852
+vn -0.630221 -0.635905 -0.445472
+vn -0.041340 -0.994908 0.091916
+vn 0.133471 -0.826416 -0.547012
+vn 0.243674 -0.670962 -0.700309
+vn 0.344350 -0.196976 -0.917945
+vn 0.828963 -0.472641 -0.299049
+vn 0.961411 -0.107436 -0.253271
+vn 0.961411 -0.107436 -0.253271
+vn 0.951558 -0.307468 -0.001356
+vn 0.964673 -0.168078 0.202871
+vn 0.974082 -0.068452 0.215591
+vn 0.768279 -0.585100 0.259624
+vn 0.736359 -0.511340 0.443066
+vn 0.796130 -0.552237 0.247411
+vn 0.971602 -0.077361 0.223619
+vn 0.014244 -0.997712 -0.066086
+vn 0.745094 -0.656775 0.116113
+vn -0.171632 -0.883416 0.436026
+vn 0.535291 -0.700021 0.472689
+vn -0.853146 -0.279892 -0.440229
+vn -0.650532 -0.742604 -0.159211
+vn 0.165149 -0.665978 -0.727461
+vn -0.005947 -0.999161 -0.040521
+vn -0.129537 -0.880903 0.455226
+vn -0.879794 -0.466353 0.092075
+vn -0.199233 -0.630705 0.750011
+vn -0.876919 -0.404241 0.260003
+vn 0.006059 -0.999002 -0.044250
+vn 0.680900 -0.725006 0.103647
+vn 0.152900 -0.827853 -0.539704
+vn 0.955680 -0.287255 -0.064501
+vn -0.232347 -0.714943 0.659447
+vn -0.155371 -0.896006 0.415972
+vn 0.771202 -0.362962 0.522978
+vn 0.600534 -0.675223 0.428291
+vn -0.779873 -0.176014 -0.600681
+vn 0.305566 -0.207318 -0.929327
+vn -0.626358 -0.544035 -0.558303
+vn 0.203332 -0.709112 -0.675141
+vn 0.973449 -0.099447 -0.206171
+vn 0.305566 -0.207318 -0.929327
+vn 0.966258 -0.256233 -0.026252
+vn 0.178670 -0.835190 -0.520130
+vn 0.775479 -0.494405 0.392677
+vn 0.769738 -0.621354 0.146365
+vn 0.660697 -0.744657 0.094684
+vn 0.793253 -0.588528 0.156153
+vn 0.775479 -0.494405 0.392677
+vn 0.706872 -0.409539 0.576723
+vn 0.974082 -0.068452 0.215591
+vn 0.964673 -0.168078 0.202871
+vn 0.706872 -0.409539 0.576723
+vn 0.535291 -0.700021 0.472689
+vn 0.964673 -0.168078 0.202871
+vn 0.745094 -0.656775 0.116113
+vn -0.861018 -0.213942 -0.461386
+vn -0.690966 -0.704731 -0.160999
+vn 0.243725 -0.420691 -0.873852
+vn -0.017493 -0.999124 -0.038028
+vn -0.916337 -0.388635 0.096382
+vn -0.189823 -0.805930 0.560753
+vn -0.690966 -0.704731 -0.160999
+vn -0.017493 -0.999124 -0.038028
+vn -0.216151 -0.821108 0.528261
+vn -0.923771 -0.375143 0.076903
+vn -0.272749 -0.614472 0.740292
+vn -0.916499 -0.349951 0.193816
+vn -0.962493 -0.183926 -0.199445
+vn -0.620252 -0.105698 -0.777248
+vn -0.762530 -0.612735 -0.207613
+vn -0.529088 -0.396284 -0.750349
+vn -0.039842 -0.999077 -0.016046
+vn 0.737434 -0.662925 0.129310
+vn 0.193675 -0.607261 -0.770535
+vn 0.964440 -0.230555 -0.129225
+vn -0.286636 -0.512798 0.809245
+vn 0.600640 -0.368366 0.709604
+vn -0.278440 -0.745981 0.604965
+vn 0.724872 -0.553715 0.409829
+vn -0.876963 -0.335922 0.343646
+vn -0.752108 -0.587893 0.297852
+vn -0.286636 -0.512798 0.809245
+vn -0.227701 -0.791296 0.567454
+vn 0.072501 -0.996781 -0.034234
+vn 0.371080 -0.927873 0.036764
+vn 0.073077 -0.996713 -0.034966
+vn 0.365062 -0.930326 0.034971
+vn 0.073077 -0.996713 -0.034966
+vn 0.365062 -0.930326 0.034971
+vn 0.072814 -0.996762 -0.034104
+vn 0.357227 -0.933417 0.033499
+vn 0.071827 -0.996870 -0.033022
+vn 0.072814 -0.996762 -0.034104
+vn 0.348825 -0.936643 0.031956
+vn 0.357227 -0.933417 0.033499
+vn 0.339618 -0.940261 0.023837
+vn 0.341514 -0.939396 0.030055
+vn 0.900010 -0.399814 0.173582
+vn 0.873905 -0.444969 0.195686
+vn 0.339618 -0.940261 0.023837
+vn 0.900010 -0.399814 0.173582
+vn 0.349152 -0.936943 0.015211
+vn 0.877024 -0.459836 0.139208
+vn 0.366078 -0.930457 0.015397
+vn 0.349152 -0.936943 0.015211
+vn 0.829819 -0.537407 0.150310
+vn 0.877024 -0.459836 0.139208
+vn 0.379562 -0.924867 0.023528
+vn 0.366078 -0.930457 0.015397
+vn 0.861958 -0.473774 0.180464
+vn 0.829819 -0.537407 0.150310
+vn 0.388513 -0.920881 0.032173
+vn 0.379562 -0.924867 0.023528
+vn 0.887581 -0.428464 0.169171
+vn 0.861958 -0.473774 0.180464
+vn 0.075587 -0.996719 -0.028955
+vn 0.398826 -0.915890 0.045642
+vn 0.074720 -0.996734 -0.030618
+vn 0.391301 -0.919262 0.042916
+vn 0.074720 -0.996734 -0.030618
+vn 0.391301 -0.919262 0.042916
+vn 0.072937 -0.996824 -0.031977
+vn 0.380457 -0.923937 0.039901
+vn 0.921039 -0.361483 0.144975
+vn 0.935295 -0.320290 0.150459
+vn 0.964440 -0.230555 -0.129225
+vn 0.974774 -0.065877 0.213249
+vn 0.426977 -0.902699 0.053160
+vn 0.921039 -0.361483 0.144975
+vn 0.416166 -0.907604 0.055331
+vn 0.885310 -0.433753 0.167587
+vn 0.796130 -0.552237 0.247411
+vn 0.971602 -0.077361 0.223619
+vn 0.753595 -0.617676 0.224878
+vn 0.939631 -0.341456 0.022407
+vn 0.753595 -0.617676 0.224878
+vn 0.939631 -0.341456 0.022407
+vn 0.656569 -0.716859 0.234586
+vn 0.513553 -0.832225 0.208961
+vn 0.860656 -0.482528 0.162596
+vn 0.974082 -0.068452 0.215591
+vn 0.821710 -0.537549 0.189299
+vn 0.951558 -0.307468 -0.001356
+vn 0.769738 -0.621354 0.146365
+vn 0.775479 -0.494405 0.392677
+vn 0.860656 -0.482528 0.162596
+vn 0.974082 -0.068452 0.215591
+vn 0.656569 -0.716859 0.234586
+vn 0.513553 -0.832225 0.208961
+vn 0.683726 -0.684035 0.254194
+vn 0.717272 -0.536511 0.444609
+vn -0.563773 0.776209 -0.282240
+vn -0.585146 0.757448 -0.289616
+vn 0.137137 0.990205 -0.026224
+vn 0.121601 0.992037 -0.032790
+vn 0.777779 0.575966 0.251641
+vn 0.783972 0.566180 0.254616
+vn 0.121601 0.992037 -0.032790
+vn 0.137137 0.990205 -0.026224
+vn 0.771391 0.585901 0.248345
+vn 0.921859 0.192533 0.336315
+vn 0.777779 0.575966 0.251641
+vn 0.922377 0.189070 0.336857
+vn 0.034983 0.991866 -0.122383
+vn 0.035263 0.991480 -0.125394
+vn 0.164248 0.984841 -0.055781
+vn 0.201662 0.978145 -0.050642
+vn 0.034983 0.991866 -0.122383
+vn -0.018127 0.989941 -0.140314
+vn -0.096237 0.985332 -0.140924
+vn -0.109479 0.985439 -0.130093
+vn -0.920641 0.301706 -0.247777
+vn -0.923405 0.293362 -0.247510
+vn -0.805879 0.539640 -0.243612
+vn -0.815302 0.524759 -0.244768
+vn -0.805879 0.539640 -0.243612
+vn -0.815302 0.524759 -0.244768
+vn -0.479661 0.854039 -0.201354
+vn -0.502750 0.841637 -0.197206
+vn -0.479661 0.854039 -0.201354
+vn -0.502750 0.841637 -0.197206
+vn -0.243309 0.956326 -0.161990
+vn -0.274377 0.949060 -0.154925
+vn 0.713387 0.402805 0.573435
+vn 0.907926 0.347132 0.234881
+vn 0.560110 0.772471 0.299275
+vn 0.624185 0.768845 0.138817
+vn -0.645764 0.733530 -0.211950
+vn -0.652957 0.726787 -0.213138
+vn -0.920641 0.301706 -0.247777
+vn -0.923405 0.293362 -0.247510
+vn -0.920729 0.007312 -0.390135
+vn -0.920773 0.066853 -0.384329
+vn -0.922264 0.385605 0.027162
+vn -0.915221 0.236230 -0.326445
+vn 0.305411 0.600304 -0.739161
+vn -0.571451 0.263476 -0.777190
+vn -0.085776 0.992406 0.088161
+vn -0.847960 0.437869 -0.298720
+vn -0.808208 0.196704 -0.555074
+vn -0.913069 0.135296 -0.384708
+vn -0.920729 0.007312 -0.390135
+vn -0.920773 0.066853 -0.384329
+vn -0.907158 0.275212 -0.318311
+vn -0.639566 0.761664 -0.104035
+vn -0.913069 0.135296 -0.384708
+vn -0.659229 0.740088 -0.132991
+vn -0.922264 0.385605 0.027162
+vn -0.915221 0.236230 -0.326445
+vn -0.661261 0.723292 -0.198954
+vn -0.859341 0.377127 -0.345411
+vn -0.661261 0.723292 -0.198954
+vn -0.859341 0.377127 -0.345411
+vn -0.782571 0.152434 -0.603612
+vn -0.866983 0.339248 -0.365036
+vn -0.571326 0.814573 -0.100285
+vn -0.916740 0.108060 -0.384592
+vn -0.541613 0.831991 -0.120192
+vn -0.883471 0.139515 -0.447230
+vn -0.535664 0.827524 -0.168129
+vn 0.124092 0.975090 0.183848
+vn -0.541613 0.831991 -0.120192
+vn 0.142975 0.962043 0.232447
+vn -0.632354 0.022331 -0.774357
+vn -0.595140 0.250382 -0.763621
+vn 0.321551 0.060504 -0.944957
+vn 0.240231 0.594760 -0.767170
+vn -0.003765 0.999979 0.005239
+vn -0.834398 0.485073 -0.261696
+vn 0.168249 0.912631 -0.372554
+vn -0.487715 0.340954 -0.803669
+vn -0.834398 0.485073 -0.261696
+vn -0.935081 0.170405 -0.310783
+vn -0.487715 0.340954 -0.803669
+vn -0.633989 0.051668 -0.771614
+vn -0.854770 0.473593 0.212318
+vn -0.166038 0.759846 0.628543
+vn -0.847931 0.438232 -0.298270
+vn 0.023498 0.997047 -0.073113
+vn 0.567719 0.465297 0.679112
+vn 0.842165 0.454910 0.289510
+vn -0.166038 0.759846 0.628543
+vn 0.023498 0.997047 -0.073113
+vn -0.773106 0.147549 -0.616876
+vn -0.855756 0.382230 -0.348687
+vn -0.931432 0.029722 -0.362701
+vn -0.882806 0.325883 -0.338311
+vn -0.861414 0.412531 -0.296284
+vn -0.891430 0.284746 -0.352523
+vn -0.311923 0.948811 -0.049612
+vn -0.485965 0.870545 -0.077392
+vn -0.861414 0.412531 -0.296284
+vn -0.311923 0.948811 -0.049612
+vn -0.804399 0.521969 -0.283707
+vn -0.288198 0.957383 0.018985
+vn -0.804399 0.521969 -0.283707
+vn -0.288198 0.957383 0.018985
+vn -0.855756 0.382230 -0.348687
+vn -0.309357 0.950275 0.035718
+vn -0.915387 0.011667 -0.402405
+vn -0.913567 0.070681 -0.400498
+vn -0.782571 0.152434 -0.603612
+vn -0.632354 0.022331 -0.774357
+vn -0.913567 0.070681 -0.400498
+vn -0.846626 0.423834 -0.321853
+vn -0.632354 0.022331 -0.774357
+vn -0.595140 0.250382 -0.763621
+vn -0.891430 0.284746 -0.352523
+vn -0.915387 0.011667 -0.402405
+vn -0.866983 0.339248 -0.365036
+vn -0.782571 0.152434 -0.603612
+vn 0.967801 0.037262 -0.248943
+vn 0.939947 0.203661 -0.273901
+vn 0.930790 0.156349 0.330433
+vn 0.842165 0.454910 0.289510
+vn 0.901895 0.174351 -0.395204
+vn 0.281330 -0.017101 -0.959459
+vn 0.967801 0.037262 -0.248943
+vn 0.287537 -0.026317 -0.957408
+vn 0.901895 0.174351 -0.395204
+vn 0.255177 0.397104 -0.881586
+vn 0.281330 -0.017101 -0.959459
+vn 0.259271 0.332001 -0.906948
+vn -0.882806 0.325883 -0.338311
+vn -0.317393 0.947906 -0.027120
+vn -0.817029 0.393944 -0.421036
+vn -0.214149 0.929527 -0.300201
+vn -0.817029 0.393944 -0.421036
+vn -0.214149 0.929527 -0.300201
+vn -0.296326 0.468561 -0.832251
+vn 0.255177 0.397104 -0.881586
+vn -0.519309 0.812258 -0.265620
+vn -0.541139 0.795038 -0.274011
+vn 0.166961 0.985887 -0.012272
+vn 0.153175 0.988016 -0.019012
+vn -0.541139 0.795038 -0.274011
+vn -0.563773 0.776209 -0.282240
+vn 0.153175 0.988016 -0.019012
+vn 0.137137 0.990205 -0.026224
+vn -0.514184 0.820920 -0.248405
+vn -0.519309 0.812258 -0.265620
+vn 0.160298 0.986954 0.015016
+vn 0.166961 0.985887 -0.012272
+vn -0.343104 0.463693 0.816865
+vn -0.437228 0.659166 0.611826
+vn -0.818108 0.433162 0.378246
+vn -0.740024 0.660489 0.126957
+vn -0.223050 0.374576 0.899967
+vn -0.343104 0.463693 0.816865
+vn -0.790469 0.364539 0.492210
+vn -0.818108 0.433162 0.378246
+vn 0.006009 0.203368 0.979084
+vn -0.223050 0.374576 0.899967
+vn -0.737747 0.246663 0.628400
+vn -0.790469 0.364539 0.492210
+vn 0.925683 -0.185058 0.329946
+vn 0.762647 0.031448 0.646050
+vn 0.988449 -0.140208 0.057530
+vn 0.791135 0.252472 0.557102
+vn -0.332550 -0.902410 0.273982
+vn -0.391869 -0.771818 0.500734
+vn -0.564956 -0.801669 0.195325
+vn -0.484618 -0.750862 0.448722
+vn 0.025542 -0.981951 0.187405
+vn -0.172033 -0.964490 0.200409
+vn 0.203778 -0.968751 0.141404
+vn -0.094645 -0.981381 0.167133
+vn -0.937745 0.330421 -0.107033
+vn -0.985135 0.138771 -0.101255
+vn -0.901224 0.426557 -0.076456
+vn -0.960980 0.251215 -0.115795
+vn -0.896812 0.434204 -0.084831
+vn -0.901224 0.426557 -0.076456
+vn -0.960980 0.251215 -0.115795
+vn -0.910979 0.392972 -0.125262
+vn -0.886272 0.457655 -0.071227
+vn -0.923079 0.379229 -0.064115
+vn -0.929313 0.354562 -0.103261
+vn -0.886272 0.457655 -0.071227
+vn -0.937204 0.336069 -0.093312
+vn -0.929313 0.354562 -0.103261
+vn -0.772796 0.604966 -0.191838
+vn -0.955087 0.198946 -0.219611
+vn -0.947109 0.250527 -0.200552
+vn -0.894793 0.397793 -0.202746
+vn -0.960613 0.217003 -0.173585
+vn -0.742114 0.648121 -0.170896
+vn -0.967023 0.174687 -0.185338
+vn -0.772796 0.604966 -0.191838
+vn -0.947109 0.250527 -0.200552
+vn -0.894793 0.397793 -0.202746
+vn -0.960613 0.217003 -0.173585
+vn -0.955087 0.198946 -0.219611
+vn -0.772796 0.604966 -0.191838
+vn -0.971661 0.133438 -0.195111
+vn -0.735320 0.652731 -0.182338
+vn -0.971661 0.133438 -0.195111
+vn -0.735320 0.652731 -0.182338
+vn -0.963152 0.205946 -0.172989
+vn -0.963152 0.205946 -0.172989
+vn -0.735320 0.652731 -0.182338
+vn -0.942752 0.268952 -0.197191
+vn -0.893314 0.414719 -0.173203
+vn -0.975526 0.120357 -0.184020
+vn -0.980059 0.085286 -0.179475
+vn -0.956492 0.189753 -0.221622
+vn -0.874346 0.272889 -0.401312
+vn -0.962096 0.255882 -0.094314
+vn -0.925371 0.362938 0.109380
+vn -0.975526 0.120357 -0.184020
+vn -0.980059 0.085286 -0.179475
+vn -0.936551 0.346598 -0.052362
+vn -0.210709 0.961733 0.175133
+vn -0.993913 0.088405 0.065743
+vn -0.907196 0.318341 0.275054
+vn -0.137752 0.956264 0.258036
+vn -0.448293 0.487287 0.749390
+vn -0.228585 0.951240 0.207104
+vn -0.719119 0.438275 0.539242
+vn -0.228585 0.951240 0.207104
+vn -0.719119 0.438275 0.539242
+vn -0.210709 0.961733 0.175133
+vn -0.907196 0.318341 0.275054
+vn 0.747892 -0.256115 0.612424
+vn 0.570201 -0.085696 0.817023
+vn 0.823751 0.089751 0.559803
+vn 0.664225 0.171408 0.727616
+vn 0.952970 -0.300804 0.036952
+vn 0.951267 -0.236542 -0.197836
+vn 0.669680 -0.651512 -0.356455
+vn 0.718045 -0.506404 -0.477458
+vn -0.006625 0.732093 0.681173
+vn -0.711783 0.467317 0.524385
+vn -0.029251 0.845343 0.533422
+vn -0.716198 0.575457 0.394854
+vn -0.711783 0.467317 0.524385
+vn -0.990812 -0.117397 0.067149
+vn -0.716198 0.575457 0.394854
+vn -0.996591 -0.075409 0.033457
+vn -0.990812 -0.117397 0.067149
+vn -0.655098 -0.681031 -0.327174
+vn -0.996591 -0.075409 0.033457
+vn -0.645037 -0.707081 -0.289764
+vn 0.278749 -0.882358 -0.379135
+vn 0.774611 -0.569866 -0.274283
+vn 0.034626 -0.876606 -0.479962
+vn 0.725444 -0.615825 -0.307393
+vn 0.278749 -0.882358 -0.379135
+vn 0.669680 -0.651512 -0.356455
+vn 0.774611 -0.569866 -0.274283
+vn 0.891163 -0.405983 -0.202501
+vn 0.991879 -0.041944 0.120074
+vn 0.734046 0.366383 0.571787
+vn 0.992308 -0.052410 0.112149
+vn 0.704940 0.435791 0.559594
+vn 0.944181 -0.248427 -0.216346
+vn 0.718045 -0.506404 -0.477458
+vn 0.953428 -0.005535 -0.301569
+vn 0.711398 -0.364202 -0.601058
+vn 0.909617 -0.087707 -0.406084
+vn 0.999721 0.007193 -0.022516
+vn 0.970288 0.228515 -0.079516
+vn 0.991684 0.110790 0.065479
+vn 0.761389 0.648206 -0.010797
+vn 0.702189 0.588239 0.401131
+vn 0.777524 0.617602 0.118423
+vn 0.601033 0.636199 0.483746
+vn 0.000000 0.955885 -0.293741
+vn 0.000000 0.885897 -0.463882
+vn -0.271194 0.920889 -0.280031
+vn -0.262500 0.848417 -0.459654
+vn 0.625464 0.766041 -0.148246
+vn 0.709667 0.663398 -0.237226
+vn 0.433118 0.855908 -0.282542
+vn 0.682002 0.645880 -0.343091
+vn -0.847059 0.530493 0.032681
+vn -0.767679 0.640562 -0.018697
+vn -0.874747 0.465599 0.134294
+vn -0.821854 0.567451 0.050547
+vn -0.767679 0.640562 -0.018697
+vn -0.577621 0.810865 -0.094079
+vn -0.687552 0.719688 -0.096543
+vn -0.469968 0.845785 -0.252543
+vn -0.911132 0.406637 0.066973
+vn -0.960233 0.269891 0.071501
+vn -0.911370 0.411199 -0.017885
+vn -0.967682 0.236333 -0.087969
+vn -0.853143 0.426345 -0.300628
+vn -0.973585 0.140438 -0.180026
+vn -0.825536 0.279310 -0.490384
+vn -0.940677 0.283994 -0.185675
+vn 0.928833 0.369458 0.027739
+vn 0.974473 0.065722 0.214668
+vn 0.946597 0.273061 0.171440
+vn 0.955021 0.224620 0.193599
+vn -0.825536 0.279310 -0.490384
+vn -0.629528 0.629329 -0.455675
+vn 0.046370 0.488034 -0.871592
+vn 0.014826 0.803509 -0.595107
+vn 0.966387 -0.164751 -0.197367
+vn 0.930486 -0.364575 0.035781
+vn 0.954873 -0.194391 0.224567
+vn 0.970037 -0.089199 0.225990
+vn -0.158586 -0.715744 0.680119
+vn -0.118760 -0.868474 0.481299
+vn 0.750799 -0.386900 0.535359
+vn 0.537277 -0.702769 0.466314
+vn 0.966387 -0.164751 -0.197367
+vn 0.762014 -0.632439 -0.139127
+vn 0.203171 -0.345965 -0.915986
+vn 0.105596 -0.850791 -0.514785
+vn -0.118760 -0.868474 0.481299
+vn -0.670872 -0.710776 0.211490
+vn -0.038667 -0.994699 0.095284
+vn -0.692261 -0.718818 -0.063831
+vn -0.692261 -0.718818 -0.063831
+vn -0.635621 -0.657437 -0.404675
+vn -0.038667 -0.994699 0.095284
+vn 0.105596 -0.850791 -0.514785
+vn 0.717272 -0.536511 0.444609
+vn 0.750799 -0.386900 0.535359
+vn 0.970037 -0.089199 0.225990
+vn 0.954873 -0.194391 0.224567
+vn 0.967558 -0.152613 -0.201349
+vn 0.780414 -0.603640 -0.163011
+vn 0.236958 -0.316494 -0.918522
+vn 0.133471 -0.826416 -0.547012
+vn 0.733073 -0.391150 0.556423
+vn 0.522664 -0.699217 0.487769
+vn 0.956324 -0.186311 0.225240
+vn 0.686426 -0.696374 0.209484
+vn -0.152849 -0.858881 0.488837
+vn -0.041340 -0.994908 0.091916
+vn 0.522664 -0.699217 0.487769
+vn 0.686426 -0.696374 0.209484
+vn 0.243674 -0.670962 -0.700309
+vn 0.828963 -0.472641 -0.299049
+vn 0.014244 -0.997712 -0.066086
+vn 0.745094 -0.656775 0.116113
+vn 0.828963 -0.472641 -0.299049
+vn 0.961411 -0.107436 -0.253271
+vn 0.745094 -0.656775 0.116113
+vn 0.964673 -0.168078 0.202871
+vn 0.971602 -0.077361 0.223619
+vn 0.956324 -0.186311 0.225240
+vn 0.939631 -0.341456 0.022407
+vn 0.967558 -0.152613 -0.201349
+vn -0.977780 -0.103973 -0.182035
+vn -0.853146 -0.279892 -0.440229
+vn -0.961627 -0.197161 -0.190792
+vn -0.747140 -0.100527 -0.657021
+vn -0.853146 -0.279892 -0.440229
+vn 0.165149 -0.665978 -0.727461
+vn -0.747140 -0.100527 -0.657021
+vn 0.242166 -0.052388 -0.968820
+vn -0.129537 -0.880903 0.455226
+vn -0.199233 -0.630705 0.750011
+vn 0.786961 -0.429164 0.443294
+vn 0.688350 -0.374452 0.621257
+vn -0.005947 -0.999161 -0.040521
+vn -0.129537 -0.880903 0.455226
+vn 0.707826 -0.697487 0.111773
+vn 0.786961 -0.429164 0.443294
+vn -0.876919 -0.404241 0.260003
+vn -0.725477 -0.645132 0.239766
+vn -0.199233 -0.630705 0.750011
+vn -0.152133 -0.848005 0.507685
+vn -0.876919 -0.404241 0.260003
+vn -0.959020 -0.211555 -0.188479
+vn -0.725477 -0.645132 0.239766
+vn -0.750474 -0.631410 -0.195219
+vn -0.959020 -0.211555 -0.188479
+vn -0.714384 -0.136786 -0.686254
+vn -0.750474 -0.631410 -0.195219
+vn -0.584350 -0.417581 -0.695817
+vn -0.714384 -0.136786 -0.686254
+vn 0.275713 -0.098445 -0.956186
+vn -0.584350 -0.417581 -0.695817
+vn 0.202575 -0.562863 -0.801342
+vn 0.275713 -0.098445 -0.956186
+vn 0.152900 -0.827853 -0.539704
+vn 0.944724 -0.063309 -0.321696
+vn 0.955680 -0.287255 -0.064501
+vn 0.814805 -0.440382 0.377037
+vn 0.861958 -0.473774 0.180464
+vn 0.680900 -0.725006 0.103647
+vn 0.829819 -0.537407 0.150310
+vn 0.814805 -0.440382 0.377037
+vn 0.771202 -0.362962 0.522978
+vn 0.974980 -0.061882 0.213506
+vn 0.967090 -0.154450 0.202194
+vn -0.155371 -0.896006 0.415972
+vn -0.734459 -0.667724 0.121303
+vn 0.001107 -0.997735 -0.067261
+vn -0.731018 -0.654805 -0.191945
+vn -0.731018 -0.654805 -0.191945
+vn -0.626358 -0.544035 -0.558303
+vn 0.001107 -0.997735 -0.067261
+vn 0.203332 -0.709112 -0.675141
+vn 0.973449 -0.099447 -0.206171
+vn 0.837130 -0.492230 -0.238584
+vn 0.305566 -0.207318 -0.929327
+vn 0.203332 -0.709112 -0.675141
+vn 0.966258 -0.256233 -0.026252
+vn 0.660697 -0.744657 0.094684
+vn 0.866453 -0.479331 0.139645
+vn 0.793253 -0.588528 0.156153
+vn -0.916337 -0.388635 0.096382
+vn -0.977780 -0.103973 -0.182035
+vn -0.904013 -0.365907 0.221073
+vn -0.961627 -0.197161 -0.190792
+vn -0.861018 -0.213942 -0.461386
+vn 0.243725 -0.420691 -0.873852
+vn -0.742937 -0.068841 -0.665812
+vn 0.282923 0.003043 -0.959138
+vn -0.189823 -0.805930 0.560753
+vn -0.916337 -0.388635 0.096382
+vn -0.235684 -0.610849 0.755855
+vn -0.904013 -0.365907 0.221073
+vn -0.216151 -0.821108 0.528261
+vn -0.272749 -0.614472 0.740292
+vn 0.820723 -0.357059 0.446008
+vn 0.743021 -0.329868 0.582328
+vn -0.039842 -0.999077 -0.016046
+vn -0.216151 -0.821108 0.528261
+vn 0.737434 -0.662925 0.129310
+vn 0.820723 -0.357059 0.446008
+vn -0.272749 -0.614472 0.740292
+vn -0.916499 -0.349951 0.193816
+vn -0.197570 -0.859525 0.471362
+vn -0.780048 -0.603250 0.166180
+vn -0.916499 -0.349951 0.193816
+vn -0.963237 -0.187150 -0.192742
+vn -0.780048 -0.603250 0.166180
+vn -0.785740 -0.585542 -0.199384
+vn -0.963237 -0.187150 -0.192742
+vn -0.742937 -0.068841 -0.665812
+vn -0.785740 -0.585542 -0.199384
+vn -0.652051 -0.421195 -0.630415
+vn -0.620252 -0.105698 -0.777248
+vn 0.267922 -0.071107 -0.960813
+vn -0.529088 -0.396284 -0.750349
+vn 0.184243 -0.548275 -0.815751
+vn 0.267922 -0.071107 -0.960813
+vn 0.193675 -0.607261 -0.770535
+vn 0.912710 -0.063134 -0.403702
+vn 0.964440 -0.230555 -0.129225
+vn 0.600640 -0.368366 0.709604
+vn -0.286636 -0.512798 0.809245
+vn 0.467143 -0.632333 0.618007
+vn -0.227701 -0.791296 0.567454
+vn 0.724872 -0.553715 0.409829
+vn 0.600640 -0.368366 0.709604
+vn 0.974774 -0.065877 0.213249
+vn 0.964763 -0.157254 0.210957
+vn -0.762530 -0.612735 -0.207613
+vn -0.055663 -0.994530 -0.088380
+vn -0.752108 -0.587893 0.297852
+vn -0.227701 -0.791296 0.567454
+vn 0.371080 -0.927873 0.036764
+vn 0.072501 -0.996781 -0.034234
+vn 0.380457 -0.923937 0.039901
+vn 0.072937 -0.996824 -0.031977
+vn 0.341514 -0.939396 0.030055
+vn 0.348825 -0.936643 0.031956
+vn 0.873905 -0.444969 0.195686
+vn 0.846712 -0.508212 0.157477
+vn 0.887581 -0.428464 0.169171
+vn 0.974980 -0.061882 0.213506
+vn 0.866453 -0.479331 0.139645
+vn 0.966258 -0.256233 -0.026252
+vn 0.416166 -0.907604 0.055331
+vn 0.885310 -0.433753 0.167587
+vn 0.406730 -0.912146 0.050599
+vn 0.907504 -0.366430 0.205341
+vn 0.406730 -0.912146 0.050599
+vn 0.907504 -0.366430 0.205341
+vn 0.398826 -0.915890 0.045642
+vn 0.926486 -0.328694 0.183260
+vn 0.777779 0.575966 0.251641
+vn 0.922377 0.189070 0.336857
+vn 0.783972 0.566180 0.254616
+vn 0.923094 0.185621 0.336813
+vn 0.670189 0.717069 0.191462
+vn 0.393853 0.917540 0.054776
+vn 0.678243 0.708552 0.194784
+vn 0.420132 0.904893 0.068256
+vn 0.377869 0.923681 0.063466
+vn 0.164248 0.984841 -0.055781
+vn 0.393853 0.917540 0.054776
+vn 0.201662 0.978145 -0.050642
+vn 0.034983 0.991866 -0.122383
+vn -0.096237 0.985332 -0.140924
+vn 0.035263 0.991480 -0.125394
+vn -0.127562 0.979038 -0.158782
+vn -0.243309 0.956326 -0.161990
+vn -0.274377 0.949060 -0.154925
+vn -0.109479 0.985439 -0.130093
+vn -0.096237 0.985332 -0.140924
+vn 0.907926 0.347132 0.234881
+vn 0.946597 0.273061 0.171440
+vn 0.624185 0.768845 0.138817
+vn 0.615709 0.783971 0.079324
+vn -0.171135 0.938511 0.299850
+vn 0.560110 0.772471 0.299275
+vn -0.004776 0.999797 -0.019587
+vn 0.624185 0.768845 0.138817
+vn -0.171135 0.938511 0.299850
+vn -0.004776 0.999797 -0.019587
+vn -0.676717 0.736193 -0.008656
+vn -0.627188 0.762797 -0.157404
+vn -0.636702 0.741852 -0.210393
+vn -0.627188 0.762797 -0.157404
+vn 0.007978 0.997163 -0.074842
+vn -0.004776 0.999797 -0.019587
+vn -0.645764 0.733530 -0.211950
+vn -0.636702 0.741852 -0.210393
+vn -0.001206 0.997010 -0.077268
+vn 0.007978 0.997163 -0.074842
+vn -0.652957 0.726787 -0.213138
+vn -0.645764 0.733530 -0.211950
+vn -0.009804 0.996791 -0.079446
+vn -0.001206 0.997010 -0.077268
+vn 0.921859 0.192533 0.336315
+vn 0.888512 0.338503 0.309777
+vn 0.922377 0.189070 0.336857
+vn 0.889630 0.334852 0.310537
+vn 0.888512 0.338503 0.309777
+vn 0.678243 0.708552 0.194784
+vn 0.889630 0.334852 0.310537
+vn 0.685085 0.700689 0.199234
+vn -0.541613 0.831991 -0.120192
+vn 0.142975 0.962043 0.232447
+vn -0.571326 0.814573 -0.100285
+vn 0.158367 0.955658 0.248271
+vn -0.571326 0.814573 -0.100285
+vn 0.158367 0.955658 0.248271
+vn -0.611039 0.785792 -0.095726
+vn 0.162603 0.953989 0.251923
+vn -0.611039 0.785792 -0.095726
+vn 0.162603 0.953989 0.251923
+vn -0.639566 0.761664 -0.104035
+vn 0.160384 0.955230 0.248620
+vn -0.846626 0.423834 -0.321853
+vn -0.070044 0.995192 0.068456
+vn -0.595140 0.250382 -0.763621
+vn 0.240231 0.594760 -0.767170
+vn -0.003765 0.999979 0.005239
+vn 0.168249 0.912631 -0.372554
+vn 0.840590 0.483194 0.244809
+vn 0.878159 0.292607 -0.378441
+vn -0.935081 0.170405 -0.310783
+vn -0.847931 0.438232 -0.298270
+vn -0.633989 0.051668 -0.771614
+vn -0.594820 0.181689 -0.783057
+vn -0.891430 0.284746 -0.352523
+vn -0.866983 0.339248 -0.365036
+vn -0.485965 0.870545 -0.077392
+vn -0.504863 0.861206 -0.058622
+vn 0.967801 0.037262 -0.248943
+vn 0.287537 -0.026317 -0.957408
+vn 0.939947 0.203661 -0.273901
+vn 0.261674 0.431646 -0.863255
+vn -0.855756 0.382230 -0.348687
+vn -0.309357 0.950275 0.035718
+vn -0.882806 0.325883 -0.338311
+vn -0.317393 0.947906 -0.027120
+vn -0.278617 0.557459 0.782056
+vn 0.303309 0.640646 0.705391
+vn -0.448293 0.487287 0.749390
+vn -0.435206 0.396655 0.808245
+vn 0.303309 0.640646 0.705391
+vn 0.840590 0.483194 0.244809
+vn 0.632332 0.380741 0.674680
+vn 0.949586 0.168945 0.264092
+vn 0.133170 0.986734 0.092852
+vn 0.160298 0.986954 0.015016
+vn 0.782893 0.514543 0.349749
+vn 0.798208 0.531740 0.283050
+vn 0.124092 0.975090 0.183848
+vn 0.133170 0.986734 0.092852
+vn 0.768225 0.487081 0.415430
+vn 0.782893 0.514543 0.349749
+vn -0.911370 0.411199 -0.017885
+vn -0.846494 0.510540 -0.150986
+vn -0.845257 0.486039 0.222053
+vn -0.740024 0.660489 0.126957
+vn 0.006009 0.203368 0.979084
+vn -0.737747 0.246663 0.628400
+vn 0.290809 0.170947 0.941386
+vn -0.601249 0.193949 0.775167
+vn 0.762647 0.031448 0.646050
+vn 0.290809 0.170947 0.941386
+vn 0.791135 0.252472 0.557102
+vn 0.187861 0.418921 0.888377
+vn -0.003133 -0.878618 0.477514
+vn 0.988449 -0.140208 0.057530
+vn 0.659102 -0.536915 -0.526599
+vn 0.997471 -0.070302 0.010480
+vn -0.003133 -0.878618 0.477514
+vn -0.581789 -0.813320 -0.005718
+vn -0.484618 -0.750862 0.448722
+vn -0.741010 -0.570695 0.353853
+vn -0.332550 -0.902410 0.273982
+vn -0.564956 -0.801669 0.195325
+vn -0.358108 -0.916648 0.177528
+vn -0.700585 -0.705722 0.105533
+vn -0.358108 -0.916648 0.177528
+vn -0.311381 -0.892371 0.326674
+vn -0.298187 -0.935435 0.189858
+vn -0.174446 -0.956549 0.233630
+vn -0.172033 -0.964490 0.200409
+vn -0.361101 -0.915358 0.178119
+vn -0.094645 -0.981381 0.167133
+vn -0.415445 -0.898414 0.142329
+vn -0.298187 -0.935435 0.189858
+vn -0.174446 -0.956549 0.233630
+vn -0.361101 -0.915358 0.178119
+vn -0.208805 -0.967199 0.144662
+vn 0.203778 -0.968751 0.141404
+vn -0.446484 -0.892608 0.062467
+vn 0.025542 -0.981951 0.187405
+vn -0.433849 -0.874006 0.218834
+vn -0.982292 0.154659 -0.105750
+vn -0.561428 0.825189 -0.062149
+vn -0.953078 0.288863 -0.090558
+vn -0.896426 0.370856 0.242664
+vn -0.982292 0.154659 -0.105750
+vn -0.993913 0.088405 0.065743
+vn -0.993434 0.043194 0.105944
+vn -0.688282 0.687478 0.231605
+vn -0.896812 0.434204 -0.084831
+vn -0.910295 0.410353 -0.054532
+vn -0.886272 0.457655 -0.071227
+vn -0.937204 0.336069 -0.093312
+vn -0.929313 0.354562 -0.103261
+vn -0.891732 0.353561 -0.282503
+vn -0.923079 0.379229 -0.064115
+vn -0.594626 0.801841 0.058915
+vn -0.923079 0.379229 -0.064115
+vn -0.594626 0.801841 0.058915
+vn -0.962096 0.255882 -0.094314
+vn -0.925371 0.362938 0.109380
+vn -0.960613 0.217003 -0.173585
+vn -0.864069 0.503307 -0.008234
+vn -0.967023 0.174687 -0.185338
+vn -0.973585 0.140438 -0.180026
+vn -0.942752 0.268952 -0.197191
+vn -0.625215 0.765384 -0.152620
+vn -0.963152 0.205946 -0.172989
+vn -0.916457 0.399227 0.026904
+vn -0.942752 0.268952 -0.197191
+vn -0.956492 0.189753 -0.221622
+vn -0.625215 0.765384 -0.152620
+vn -0.874346 0.272889 -0.401312
+vn 0.196145 -0.663107 0.722369
+vn -0.457056 -0.772194 0.441381
+vn 0.112184 -0.867919 0.483872
+vn -0.451801 -0.804092 0.386409
+vn -0.162026 -0.928527 0.334045
+vn -0.433849 -0.874006 0.218834
+vn -0.457056 -0.772194 0.441381
+vn -0.776526 -0.600706 0.190158
+vn 0.196145 -0.663107 0.722369
+vn 0.675271 -0.526987 0.516037
+vn 0.570201 -0.085696 0.817023
+vn 0.913146 -0.108202 0.393011
+vn 0.995353 -0.049680 0.082492
+vn 0.823751 0.089751 0.559803
+vn 0.997916 0.012689 0.063261
+vn 0.782137 0.304588 0.543588
+vn 0.995353 -0.049680 0.082492
+vn 0.997916 0.012689 0.063261
+vn 0.951267 -0.236542 -0.197836
+vn 0.906309 -0.211141 -0.366093
+vn -0.006625 0.732093 0.681173
+vn -0.029251 0.845343 0.533422
+vn 0.693221 0.525207 0.493560
+vn 0.672543 0.627150 0.392898
+vn 0.034626 -0.876606 -0.479962
+vn 0.038910 -0.912381 -0.407489
+vn -0.655098 -0.681031 -0.327174
+vn -0.645037 -0.707081 -0.289764
+vn 0.944181 -0.248427 -0.216346
+vn 0.997472 0.014766 0.069513
+vn 0.891163 -0.405983 -0.202501
+vn 0.991879 -0.041944 0.120074
+vn 0.992308 -0.052410 0.112149
+vn 0.774611 -0.569866 -0.274283
+vn 0.991879 -0.041944 0.120074
+vn 0.891163 -0.405983 -0.202501
+vn 0.992308 -0.052410 0.112149
+vn 0.704940 0.435791 0.559594
+vn 0.996883 -0.031068 0.072515
+vn 0.693221 0.525207 0.493560
+vn 0.718045 -0.506404 -0.477458
+vn 0.944181 -0.248427 -0.216346
+vn 0.669680 -0.651512 -0.356455
+vn 0.891163 -0.405983 -0.202501
+vn 0.718045 -0.506404 -0.477458
+vn 0.951267 -0.236542 -0.197836
+vn 0.711398 -0.364202 -0.601058
+vn 0.906309 -0.211141 -0.366093
+vn 0.711398 -0.364202 -0.601058
+vn 0.906309 -0.211141 -0.366093
+vn 0.708749 -0.119292 -0.695302
+vn 0.909617 -0.087707 -0.406084
+vn 0.909617 -0.087707 -0.406084
+vn 0.906309 -0.211141 -0.366093
+vn 0.999721 0.007193 -0.022516
+vn 0.997916 0.012689 0.063261
+vn 0.991684 0.110790 0.065479
+vn 0.999721 0.007193 -0.022516
+vn 0.782137 0.304588 0.543588
+vn 0.997916 0.012689 0.063261
+vn 0.991684 0.110790 0.065479
+vn 0.782137 0.304588 0.543588
+vn 0.983308 0.166232 0.073973
+vn 0.702189 0.588239 0.401131
+vn 0.761389 0.648206 -0.010797
+vn 0.722219 0.661800 -0.201051
+vn 0.625464 0.766041 -0.148246
+vn 0.709667 0.663398 -0.237226
+vn 0.777524 0.617602 0.118423
+vn 0.829704 0.540694 -0.138711
+vn 0.761389 0.648206 -0.010797
+vn 0.722219 0.661800 -0.201051
+vn -0.271194 0.920889 -0.280031
+vn -0.262500 0.848417 -0.459654
+vn -0.469968 0.845785 -0.252543
+vn -0.512826 0.733147 -0.446661
+vn 0.000000 0.885897 -0.463882
+vn 0.254775 0.852060 -0.457257
+vn 0.000000 0.914084 -0.405526
+vn 0.340327 0.848922 -0.404363
+vn 0.254775 0.852060 -0.457257
+vn 0.506867 0.743158 -0.436809
+vn 0.340327 0.848922 -0.404363
+vn 0.810444 0.451070 -0.373787
+vn 0.433118 0.855908 -0.282542
+vn 0.682002 0.645880 -0.343091
+vn 0.506867 0.743158 -0.436809
+vn 0.692774 0.607227 -0.389025
+vn -0.767679 0.640562 -0.018697
+vn -0.687552 0.719688 -0.096543
+vn -0.821854 0.567451 0.050547
+vn -0.789265 0.611990 -0.050296
+vn -0.874747 0.465599 0.134294
+vn -0.907051 0.212849 0.363254
+vn -0.960233 0.269891 0.071501
+vn -0.994179 0.081954 0.069934
+vn 0.928833 0.369458 0.027739
+vn 0.966024 0.199941 -0.163773
+vn 0.974473 0.065722 0.214668
+vn 0.958207 0.200878 0.203685
+vn 0.046370 0.488034 -0.871592
+vn 0.014826 0.803509 -0.595107
+vn 0.966024 0.199941 -0.163773
+vn 0.707970 0.670950 -0.220465
+vn -0.629528 0.629329 -0.455675
+vn -0.825536 0.279310 -0.490384
+vn -0.669594 0.723129 -0.169497
+vn -0.940677 0.283994 -0.185675
+vn 0.954873 -0.194391 0.224567
+vn 0.677444 -0.705811 0.207124
+vn 0.966387 -0.164751 -0.197367
+vn 0.762014 -0.632439 -0.139127
+vn -0.118760 -0.868474 0.481299
+vn -0.038667 -0.994699 0.095284
+vn 0.537277 -0.702769 0.466314
+vn 0.677444 -0.705811 0.207124
+vn 0.780414 -0.603640 -0.163011
+vn 0.967558 -0.152613 -0.201349
+vn 0.686426 -0.696374 0.209484
+vn 0.956324 -0.186311 0.225240
+vn 0.133471 -0.826416 -0.547012
+vn 0.780414 -0.603640 -0.163011
+vn -0.041340 -0.994908 0.091916
+vn 0.686426 -0.696374 0.209484
+vn -0.005947 -0.999161 -0.040521
+vn 0.707826 -0.697487 0.111773
+vn 0.165149 -0.665978 -0.727461
+vn 0.976608 -0.205656 -0.062796
+vn 0.944724 -0.063309 -0.321696
+vn 0.843938 -0.367122 -0.391140
+vn 0.275713 -0.098445 -0.956186
+vn 0.202575 -0.562863 -0.801342
+vn 0.955680 -0.287255 -0.064501
+vn 0.680900 -0.725006 0.103647
+vn 0.877024 -0.459836 0.139208
+vn 0.829819 -0.537407 0.150310
+vn 0.861958 -0.473774 0.180464
+vn 0.814805 -0.440382 0.377037
+vn 0.887581 -0.428464 0.169171
+vn 0.974980 -0.061882 0.213506
+vn 0.771202 -0.362962 0.522978
+vn 0.600534 -0.675223 0.428291
+vn 0.967090 -0.154450 0.202194
+vn 0.764157 -0.633640 0.120681
+vn -0.155371 -0.896006 0.415972
+vn 0.001107 -0.997735 -0.067261
+vn 0.600534 -0.675223 0.428291
+vn 0.764157 -0.633640 0.120681
+vn 0.837130 -0.492230 -0.238584
+vn 0.973449 -0.099447 -0.206171
+vn 0.764157 -0.633640 0.120681
+vn 0.967090 -0.154450 0.202194
+vn 0.973449 -0.099447 -0.206171
+vn 0.966258 -0.256233 -0.026252
+vn 0.967090 -0.154450 0.202194
+vn 0.974980 -0.061882 0.213506
+vn -0.017493 -0.999124 -0.038028
+vn 0.741576 -0.661106 0.114038
+vn 0.243725 -0.420691 -0.873852
+vn 0.988383 -0.133653 -0.072354
+vn -0.189823 -0.805930 0.560753
+vn -0.235684 -0.610849 0.755855
+vn 0.812422 -0.357276 0.460787
+vn 0.732913 -0.335253 0.591983
+vn -0.017493 -0.999124 -0.038028
+vn -0.189823 -0.805930 0.560753
+vn 0.741576 -0.661106 0.114038
+vn 0.812422 -0.357276 0.460787
+vn -0.272749 -0.614472 0.740292
+vn -0.197570 -0.859525 0.471362
+vn 0.743021 -0.329868 0.582328
+vn 0.602472 -0.625837 0.495333
+vn -0.762530 -0.612735 -0.207613
+vn -0.529088 -0.396284 -0.750349
+vn -0.055663 -0.994530 -0.088380
+vn 0.184243 -0.548275 -0.815751
+vn 0.912710 -0.063134 -0.403702
+vn 0.807131 -0.386435 -0.446327
+vn 0.267922 -0.071107 -0.960813
+vn 0.184243 -0.548275 -0.815751
+vn 0.964440 -0.230555 -0.129225
+vn 0.737434 -0.662925 0.129310
+vn 0.921039 -0.361483 0.144975
+vn 0.885310 -0.433753 0.167587
+vn 0.600640 -0.368366 0.709604
+vn 0.467143 -0.632333 0.618007
+vn 0.964763 -0.157254 0.210957
+vn 0.752358 -0.646343 0.127270
+vn 0.380457 -0.923937 0.039901
+vn 0.868201 -0.468432 0.163704
+vn 0.371080 -0.927873 0.036764
+vn 0.893584 -0.399362 0.204983
+vn 0.371080 -0.927873 0.036764
+vn 0.893584 -0.399362 0.204983
+vn 0.365062 -0.930326 0.034971
+vn 0.914253 -0.363334 0.179250
+vn 0.365062 -0.930326 0.034971
+vn 0.914253 -0.363334 0.179250
+vn 0.357227 -0.933417 0.033499
+vn 0.896833 -0.418410 0.143607
+vn 0.348825 -0.936643 0.031956
+vn 0.357227 -0.933417 0.033499
+vn 0.846712 -0.508212 0.157477
+vn 0.896833 -0.418410 0.143607
+vn 0.873905 -0.444969 0.195686
+vn 0.786961 -0.429164 0.443294
+vn 0.900010 -0.399814 0.173582
+vn 0.974471 -0.059443 0.216503
+vn 0.900010 -0.399814 0.173582
+vn 0.974471 -0.059443 0.216503
+vn 0.877024 -0.459836 0.139208
+vn 0.955680 -0.287255 -0.064501
+vn 0.398826 -0.915890 0.045642
+vn 0.926486 -0.328694 0.183260
+vn 0.391301 -0.919262 0.042916
+vn 0.916130 -0.373774 0.144913
+vn 0.391301 -0.919262 0.042916
+vn 0.916130 -0.373774 0.144913
+vn 0.380457 -0.923937 0.039901
+vn 0.868201 -0.468432 0.163704
+vn 0.974774 -0.065877 0.213249
+vn 0.964763 -0.157254 0.210957
+vn 0.964440 -0.230555 -0.129225
+vn 0.912710 -0.063134 -0.403702
+vn 0.153175 0.988016 -0.019012
+vn 0.137137 0.990205 -0.026224
+vn 0.790809 0.555225 0.257579
+vn 0.783972 0.566180 0.254616
+vn 0.201662 0.978145 -0.050642
+vn 0.035263 0.991480 -0.125394
+vn 0.229028 0.973075 -0.025929
+vn 0.029564 0.993979 -0.105511
+vn -0.652957 0.726787 -0.213138
+vn -0.662682 0.717461 -0.214717
+vn -0.923405 0.293362 -0.247510
+vn -0.925894 0.285483 -0.247428
+vn -0.923405 0.293362 -0.247510
+vn -0.925894 0.285483 -0.247428
+vn -0.815302 0.524759 -0.244768
+vn -0.823407 0.511488 -0.245725
+vn -0.815302 0.524759 -0.244768
+vn -0.823407 0.511488 -0.245725
+vn -0.502750 0.841637 -0.197206
+vn -0.512042 0.834657 -0.202881
+vn -0.502750 0.841637 -0.197206
+vn -0.512042 0.834657 -0.202881
+vn -0.274377 0.949060 -0.154925
+vn -0.288668 0.941929 -0.171583
+vn -0.009804 0.996791 -0.079446
+vn -0.021121 0.996404 -0.082057
+vn -0.652957 0.726787 -0.213138
+vn -0.662682 0.717461 -0.214717
+vn -0.913069 0.135296 -0.384708
+vn -0.659229 0.740088 -0.132991
+vn -0.920773 0.066853 -0.384329
+vn -0.668050 0.725333 -0.166137
+vn -0.920773 0.066853 -0.384329
+vn -0.668050 0.725333 -0.166137
+vn -0.915221 0.236230 -0.326445
+vn -0.595559 0.792651 -0.130440
+vn -0.639566 0.761664 -0.104035
+vn 0.160384 0.955230 0.248620
+vn -0.659229 0.740088 -0.132991
+vn 0.166266 0.955312 0.244407
+vn -0.915221 0.236230 -0.326445
+vn -0.595559 0.792651 -0.130440
+vn -0.859341 0.377127 -0.345411
+vn -0.522701 0.849084 -0.076424
+vn -0.859341 0.377127 -0.345411
+vn -0.522701 0.849084 -0.076424
+vn -0.866983 0.339248 -0.365036
+vn -0.504863 0.861206 -0.058622
+vn 0.142975 0.962043 0.232447
+vn 0.124092 0.975090 0.183848
+vn 0.778463 0.456031 0.431313
+vn 0.768225 0.487081 0.415430
+vn -0.487715 0.340954 -0.803669
+vn 0.211182 0.432073 -0.876764
+vn 0.168249 0.912631 -0.372554
+vn 0.327299 0.467982 -0.820895
+vn -0.487715 0.340954 -0.803669
+vn -0.633989 0.051668 -0.771614
+vn 0.281330 -0.017101 -0.959459
+vn 0.287537 -0.026317 -0.957408
+vn -0.847931 0.438232 -0.298270
+vn 0.023498 0.997047 -0.073113
+vn -0.594820 0.181689 -0.783057
+vn 0.261674 0.431646 -0.863255
+vn 0.939947 0.203661 -0.273901
+vn 0.261674 0.431646 -0.863255
+vn 0.842165 0.454910 0.289510
+vn 0.023498 0.997047 -0.073113
+vn -0.311923 0.948811 -0.049612
+vn -0.485965 0.870545 -0.077392
+vn -0.184169 0.982584 -0.024724
+vn -0.312030 0.949832 0.021361
+vn -0.311923 0.948811 -0.049612
+vn -0.057497 0.997915 0.029333
+vn -0.288198 0.957383 0.018985
+vn -0.080346 0.990455 0.111999
+vn -0.288198 0.957383 0.018985
+vn -0.080346 0.990455 0.111999
+vn -0.309357 0.950275 0.035718
+vn -0.091869 0.985605 0.141925
+vn 0.281330 -0.017101 -0.959459
+vn 0.259271 0.332001 -0.906948
+vn -0.487715 0.340954 -0.803669
+vn 0.211182 0.432073 -0.876764
+vn 0.255177 0.397104 -0.881586
+vn -0.214149 0.929527 -0.300201
+vn 0.259271 0.332001 -0.906948
+vn 0.041076 0.962302 -0.268864
+vn -0.309357 0.950275 0.035718
+vn -0.091869 0.985605 0.141925
+vn -0.317393 0.947906 -0.027120
+vn -0.076073 0.993656 0.082830
+vn -0.317393 0.947906 -0.027120
+vn -0.076073 0.993656 0.082830
+vn -0.214149 0.929527 -0.300201
+vn 0.041076 0.962302 -0.268864
+vn 0.303309 0.640646 0.705391
+vn 0.632332 0.380741 0.674680
+vn -0.435206 0.396655 0.808245
+vn -0.340984 0.507426 0.791359
+vn 0.160298 0.986954 0.015016
+vn 0.166961 0.985887 -0.012272
+vn 0.798208 0.531740 0.283050
+vn 0.797925 0.543639 0.260333
+vn 0.166961 0.985887 -0.012272
+vn 0.153175 0.988016 -0.019012
+vn 0.797925 0.543639 0.260333
+vn 0.790809 0.555225 0.257579
+vn -0.846494 0.510540 -0.150986
+vn -0.911370 0.411199 -0.017885
+vn -0.899209 0.339516 -0.275956
+vn -0.967682 0.236333 -0.087969
+vn -0.818108 0.433162 0.378246
+vn -0.740024 0.660489 0.126957
+vn -0.960978 0.276536 -0.007045
+vn -0.846494 0.510540 -0.150986
+vn -0.790469 0.364539 0.492210
+vn -0.818108 0.433162 0.378246
+vn -0.980323 0.196310 0.020722
+vn -0.960978 0.276536 -0.007045
+vn -0.737747 0.246663 0.628400
+vn -0.790469 0.364539 0.492210
+vn -0.995090 0.081971 0.055469
+vn -0.980323 0.196310 0.020722
+vn 0.988449 -0.140208 0.057530
+vn 0.791135 0.252472 0.557102
+vn 0.997471 -0.070302 0.010480
+vn 0.702752 0.409906 0.581479
+vn -0.003133 -0.878618 0.477514
+vn 0.659102 -0.536915 -0.526599
+vn -0.044275 -0.692298 -0.720253
+vn 0.013919 -0.677469 -0.735420
+vn -0.564956 -0.801669 0.195325
+vn -0.484618 -0.750862 0.448722
+vn -0.873993 -0.466634 0.135603
+vn -0.741010 -0.570695 0.353853
+vn -0.581789 -0.813320 -0.005718
+vn -0.003133 -0.878618 0.477514
+vn -0.636543 -0.532402 -0.557998
+vn -0.044275 -0.692298 -0.720253
+vn -0.311381 -0.892371 0.326674
+vn -0.358108 -0.916648 0.177528
+vn -0.640926 -0.664322 0.384566
+vn -0.700585 -0.705722 0.105533
+vn -0.446484 -0.892608 0.062467
+vn 0.203778 -0.968751 0.141404
+vn 0.007134 -0.999653 -0.025367
+vn 0.340559 -0.936910 0.078867
+vn 0.203778 -0.968751 0.141404
+vn -0.094645 -0.981381 0.167133
+vn 0.340559 -0.936910 0.078867
+vn 0.108508 -0.994062 0.008158
+vn -0.979961 0.156881 -0.122742
+vn -0.990429 0.046734 -0.129873
+vn -0.980184 0.063379 -0.187675
+vn -0.905216 0.175657 -0.386948
+vn -0.953078 0.288863 -0.090558
+vn -0.896426 0.370856 0.242664
+vn -0.979961 0.156881 -0.122742
+vn -0.990429 0.046734 -0.129873
+vn -0.561428 0.825189 -0.062149
+vn -0.982292 0.154659 -0.105750
+vn -0.772674 0.138368 -0.619539
+vn -0.992227 0.010515 -0.124000
+vn -0.993434 0.043194 0.105944
+vn -0.935657 0.159034 0.315048
+vn -0.982292 0.154659 -0.105750
+vn -0.992227 0.010515 -0.124000
+vn -0.993913 0.088405 0.065743
+vn -0.907196 0.318341 0.275054
+vn -0.688282 0.687478 0.231605
+vn -0.767850 0.619586 0.162848
+vn -0.960980 0.251215 -0.115795
+vn -0.972561 0.134988 -0.189482
+vn -0.896812 0.434204 -0.084831
+vn -0.937204 0.336069 -0.093312
+vn -0.977902 0.164431 -0.129112
+vn -0.929313 0.354562 -0.103261
+vn -0.891732 0.353561 -0.282503
+vn -0.910295 0.410353 -0.054532
+vn -0.866726 0.465521 0.179099
+vn -0.937204 0.336069 -0.093312
+vn -0.977902 0.164431 -0.129112
+vn -0.947109 0.250527 -0.200552
+vn -0.955087 0.198946 -0.219611
+vn -0.650195 0.739277 -0.175259
+vn -0.879008 0.281980 -0.384490
+vn -0.947109 0.250527 -0.200552
+vn -0.650195 0.739277 -0.175259
+vn -0.960613 0.217003 -0.173585
+vn -0.864069 0.503307 -0.008234
+vn -0.971661 0.133438 -0.195111
+vn -0.977322 0.097112 -0.188178
+vn -0.955087 0.198946 -0.219611
+vn -0.879008 0.281980 -0.384490
+vn -0.963152 0.205946 -0.172989
+vn -0.916457 0.399227 0.026904
+vn -0.971661 0.133438 -0.195111
+vn -0.977322 0.097112 -0.188178
+vn -0.925371 0.362938 0.109380
+vn -0.958484 0.262056 0.112407
+vn -0.980059 0.085286 -0.179475
+vn -0.969566 0.152212 -0.191762
+vn -0.980059 0.085286 -0.179475
+vn -0.969566 0.152212 -0.191762
+vn -0.874346 0.272889 -0.401312
+vn -0.831926 0.125123 -0.540595
+vn -0.925371 0.362938 0.109380
+vn -0.594626 0.801841 0.058915
+vn -0.161338 0.837556 0.521986
+vn -0.027906 0.986866 0.159113
+vn -0.719119 0.438275 0.539242
+vn -0.860330 0.353791 0.366965
+vn -0.907196 0.318341 0.275054
+vn -0.767850 0.619586 0.162848
+vn -0.448293 0.487287 0.749390
+vn -0.435206 0.396655 0.808245
+vn -0.719119 0.438275 0.539242
+vn -0.860330 0.353791 0.366965
+vn 0.196145 -0.663107 0.722369
+vn 0.112184 -0.867919 0.483872
+vn 0.675271 -0.526987 0.516037
+vn 0.663964 -0.698881 0.265927
+vn -0.433849 -0.874006 0.218834
+vn -0.446484 -0.892608 0.062467
+vn -0.776526 -0.600706 0.190158
+vn -0.936896 -0.345878 -0.050935
+vn 0.823751 0.089751 0.559803
+vn 0.664225 0.171408 0.727616
+vn 0.782137 0.304588 0.543588
+vn 0.656536 0.389929 0.645691
+vn 0.570201 -0.085696 0.817023
+vn 0.913146 -0.108202 0.393011
+vn 0.664225 0.171408 0.727616
+vn 0.954176 0.065620 0.291964
+vn -0.029251 0.845343 0.533422
+vn -0.716198 0.575457 0.394854
+vn -0.023036 0.930504 0.365556
+vn -0.706504 0.663814 0.245363
+vn -0.716198 0.575457 0.394854
+vn -0.996591 -0.075409 0.033457
+vn -0.706504 0.663814 0.245363
+vn -0.997392 -0.071807 -0.007256
+vn -0.996591 -0.075409 0.033457
+vn -0.645037 -0.707081 -0.289764
+vn -0.997392 -0.071807 -0.007256
+vn -0.626985 -0.753720 -0.196966
+vn 0.038910 -0.912381 -0.407489
+vn 0.034626 -0.876606 -0.479962
+vn 0.701572 -0.651354 -0.289023
+vn 0.725444 -0.615825 -0.307393
+vn 0.774611 -0.569866 -0.274283
+vn 0.992308 -0.052410 0.112149
+vn 0.725444 -0.615825 -0.307393
+vn 0.996883 -0.031068 0.072515
+vn 0.693221 0.525207 0.493560
+vn 0.672543 0.627150 0.392898
+vn 0.996883 -0.031068 0.072515
+vn 0.999366 0.000052 0.035602
+vn 0.782137 0.304588 0.543588
+vn 0.656536 0.389929 0.645691
+vn 0.702189 0.588239 0.401131
+vn 0.601033 0.636199 0.483746
+vn 0.777524 0.617602 0.118423
+vn 0.601033 0.636199 0.483746
+vn 0.938113 0.270099 0.216774
+vn 0.656536 0.389929 0.645691
+vn 0.829704 0.540694 -0.138711
+vn 0.777524 0.617602 0.118423
+vn 0.979839 0.197540 -0.029896
+vn 0.938113 0.270099 0.216774
+vn -0.687552 0.719688 -0.096543
+vn -0.469968 0.845785 -0.252543
+vn -0.705584 0.661153 -0.255006
+vn -0.640396 0.684594 -0.348171
+vn 0.000000 0.885897 -0.463882
+vn 0.000000 0.914084 -0.405526
+vn -0.262500 0.848417 -0.459654
+vn -0.384143 0.831267 -0.401784
+vn 0.722219 0.661800 -0.201051
+vn 0.758039 0.479330 -0.442289
+vn 0.709667 0.663398 -0.237226
+vn 0.682002 0.645880 -0.343091
+vn -0.874747 0.465599 0.134294
+vn -0.821854 0.567451 0.050547
+vn -0.894979 0.406506 0.183756
+vn -0.899399 0.436410 0.025075
+vn -0.960233 0.269891 0.071501
+vn -0.994179 0.081954 0.069934
+vn -0.967682 0.236333 -0.087969
+vn -0.990152 0.034147 -0.135770
+vn -0.874747 0.465599 0.134294
+vn -0.894979 0.406506 0.183756
+vn -0.907051 0.212849 0.363254
+vn -0.859918 0.235911 0.452645
+vn -0.864069 0.503307 -0.008234
+vn -0.877257 0.466635 0.112573
+vn -0.973585 0.140438 -0.180026
+vn -0.940677 0.283994 -0.185675
+vn 0.946597 0.273061 0.171440
+vn 0.955021 0.224620 0.193599
+vn 0.615709 0.783971 0.079324
+vn 0.602852 0.794248 0.075757
+vn 0.974473 0.065722 0.214668
+vn 0.826899 0.437953 0.352754
+vn 0.955021 0.224620 0.193599
+vn 0.936826 0.282713 0.205986
+vn -0.669594 0.723129 -0.169497
+vn -0.076802 0.995098 -0.062296
+vn -0.629528 0.629329 -0.455675
+vn 0.014826 0.803509 -0.595107
+vn 0.677444 -0.705811 0.207124
+vn 0.954873 -0.194391 0.224567
+vn 0.537277 -0.702769 0.466314
+vn 0.750799 -0.386900 0.535359
+vn 0.105596 -0.850791 -0.514785
+vn 0.762014 -0.632439 -0.139127
+vn -0.038667 -0.994699 0.095284
+vn 0.677444 -0.705811 0.207124
+vn -0.904013 -0.365907 0.221073
+vn -0.961627 -0.197161 -0.190792
+vn -0.757803 -0.625531 0.185597
+vn -0.770777 -0.606112 -0.196295
+vn -0.961627 -0.197161 -0.190792
+vn -0.747140 -0.100527 -0.657021
+vn -0.770777 -0.606112 -0.196295
+vn -0.639539 -0.431767 -0.636056
+vn -0.747140 -0.100527 -0.657021
+vn 0.242166 -0.052388 -0.968820
+vn -0.639539 -0.431767 -0.636056
+vn 0.172610 -0.607962 -0.774976
+vn 0.242166 -0.052388 -0.968820
+vn 0.165149 -0.665978 -0.727461
+vn 0.957991 -0.036975 -0.284404
+vn 0.976608 -0.205656 -0.062796
+vn 0.786961 -0.429164 0.443294
+vn 0.873905 -0.444969 0.195686
+vn 0.707826 -0.697487 0.111773
+vn 0.846712 -0.508212 0.157477
+vn 0.786961 -0.429164 0.443294
+vn 0.688350 -0.374452 0.621257
+vn 0.974471 -0.059443 0.216503
+vn 0.967709 -0.144505 0.206538
+vn -0.199233 -0.630705 0.750011
+vn -0.152133 -0.848005 0.507685
+vn 0.688350 -0.374452 0.621257
+vn 0.544356 -0.645479 0.535755
+vn -0.152133 -0.848005 0.507685
+vn -0.725477 -0.645132 0.239766
+vn -0.006727 -0.996688 -0.081042
+vn -0.750474 -0.631410 -0.195219
+vn -0.750474 -0.631410 -0.195219
+vn -0.584350 -0.417581 -0.695817
+vn -0.006727 -0.996688 -0.081042
+vn 0.202575 -0.562863 -0.801342
+vn 0.843938 -0.367122 -0.391140
+vn 0.944724 -0.063309 -0.321696
+vn 0.779970 -0.614233 0.119850
+vn 0.967709 -0.144505 0.206538
+vn 0.944724 -0.063309 -0.321696
+vn 0.955680 -0.287255 -0.064501
+vn 0.967709 -0.144505 0.206538
+vn 0.974471 -0.059443 0.216503
+vn 0.203332 -0.709112 -0.675141
+vn 0.837130 -0.492230 -0.238584
+vn 0.001107 -0.997735 -0.067261
+vn 0.764157 -0.633640 0.120681
+vn -0.235684 -0.610849 0.755855
+vn -0.904013 -0.365907 0.221073
+vn -0.167453 -0.861951 0.478539
+vn -0.757803 -0.625531 0.185597
+vn -0.742937 -0.068841 -0.665812
+vn 0.282923 0.003043 -0.959138
+vn -0.652051 -0.421195 -0.630415
+vn 0.193995 -0.605577 -0.771779
+vn 0.282923 0.003043 -0.959138
+vn 0.243725 -0.420691 -0.873852
+vn 0.961852 -0.006938 -0.273481
+vn 0.988383 -0.133653 -0.072354
+vn 0.820723 -0.357059 0.446008
+vn 0.907504 -0.366430 0.205341
+vn 0.737434 -0.662925 0.129310
+vn 0.885310 -0.433753 0.167587
+vn 0.820723 -0.357059 0.446008
+vn 0.743021 -0.329868 0.582328
+vn 0.975387 -0.045548 0.215746
+vn 0.971216 -0.122220 0.204457
+vn -0.197570 -0.859525 0.471362
+vn -0.780048 -0.603250 0.166180
+vn -0.029987 -0.995925 -0.085056
+vn -0.785740 -0.585542 -0.199384
+vn -0.785740 -0.585542 -0.199384
+vn -0.652051 -0.421195 -0.630415
+vn -0.029987 -0.995925 -0.085056
+vn 0.193995 -0.605577 -0.771779
+vn 0.912710 -0.063134 -0.403702
+vn 0.964763 -0.157254 0.210957
+vn 0.807131 -0.386435 -0.446327
+vn 0.752358 -0.646343 0.127270
+vn -0.227701 -0.791296 0.567454
+vn -0.055663 -0.994530 -0.088380
+vn 0.467143 -0.632333 0.618007
+vn 0.752358 -0.646343 0.127270
+vn 0.907504 -0.366430 0.205341
+vn 0.820723 -0.357059 0.446008
+vn 0.926486 -0.328694 0.183260
+vn 0.975387 -0.045548 0.215746
+vn 0.783972 0.566180 0.254616
+vn 0.923094 0.185621 0.336813
+vn 0.790809 0.555225 0.257579
+vn 0.924086 0.182069 0.336030
+vn 0.922377 0.189070 0.336857
+vn 0.889630 0.334852 0.310537
+vn 0.923094 0.185621 0.336813
+vn 0.890875 0.331237 0.310843
+vn 0.678243 0.708552 0.194784
+vn 0.420132 0.904893 0.068256
+vn 0.685085 0.700689 0.199234
+vn 0.435825 0.896184 0.083134
+vn 0.393853 0.917540 0.054776
+vn 0.201662 0.978145 -0.050642
+vn 0.420132 0.904893 0.068256
+vn 0.229028 0.973075 -0.025929
+vn 0.035263 0.991480 -0.125394
+vn -0.127562 0.979038 -0.158782
+vn 0.029564 0.993979 -0.105511
+vn -0.162640 0.974543 -0.154320
+vn -0.127562 0.979038 -0.158782
+vn -0.096237 0.985332 -0.140924
+vn -0.288668 0.941929 -0.171583
+vn -0.274377 0.949060 -0.154925
+vn 0.624185 0.768845 0.138817
+vn 0.615709 0.783971 0.079324
+vn -0.004776 0.999797 -0.019587
+vn 0.007978 0.997163 -0.074842
+vn -0.001206 0.997010 -0.077268
+vn 0.007978 0.997163 -0.074842
+vn 0.602852 0.794248 0.075757
+vn 0.615709 0.783971 0.079324
+vn -0.009804 0.996791 -0.079446
+vn -0.001206 0.997010 -0.077268
+vn 0.590351 0.803904 0.072277
+vn 0.602852 0.794248 0.075757
+vn -0.021121 0.996404 -0.082057
+vn -0.009804 0.996791 -0.079446
+vn 0.574137 0.815944 0.067845
+vn 0.590351 0.803904 0.072277
+vn 0.889630 0.334852 0.310537
+vn 0.685085 0.700689 0.199234
+vn 0.890875 0.331237 0.310843
+vn 0.690264 0.694722 0.202230
+vn 0.158367 0.955658 0.248271
+vn 0.142975 0.962043 0.232447
+vn 0.800592 0.429286 0.418050
+vn 0.778463 0.456031 0.431313
+vn 0.162603 0.953989 0.251923
+vn 0.158367 0.955658 0.248271
+vn 0.818052 0.411765 0.401547
+vn 0.800592 0.429286 0.418050
+vn 0.160384 0.955230 0.248620
+vn 0.162603 0.953989 0.251923
+vn 0.826142 0.403832 0.392950
+vn 0.818052 0.411765 0.401547
+vn 0.840590 0.483194 0.244809
+vn 0.878159 0.292607 -0.378441
+vn 0.949586 0.168945 0.264092
+vn 0.957872 0.044163 -0.283779
+vn 0.878159 0.292607 -0.378441
+vn 0.168249 0.912631 -0.372554
+vn 0.404850 0.386841 -0.828523
+vn 0.327299 0.467982 -0.820895
+vn -0.633989 0.051668 -0.771614
+vn -0.594820 0.181689 -0.783057
+vn 0.287537 -0.026317 -0.957408
+vn 0.261674 0.431646 -0.863255
+vn -0.311923 0.948811 -0.049612
+vn -0.184169 0.982584 -0.024724
+vn -0.057497 0.997915 0.029333
+vn -0.024191 0.999561 -0.017114
+vn -0.485965 0.870545 -0.077392
+vn -0.504863 0.861206 -0.058622
+vn -0.312030 0.949832 0.021361
+vn -0.313831 0.936244 0.157978
+vn 0.632332 0.380741 0.674680
+vn 0.949586 0.168945 0.264092
+vn 0.590298 0.473371 0.653811
+vn 0.869902 0.437974 0.226826
+vn 0.768225 0.487081 0.415430
+vn 0.782893 0.514543 0.349749
+vn 0.891810 0.157108 0.424254
+vn 0.906979 0.166661 0.386800
+vn 0.782893 0.514543 0.349749
+vn 0.798208 0.531740 0.283050
+vn 0.906979 0.166661 0.386800
+vn 0.921756 0.173570 0.346755
+vn 0.778463 0.456031 0.431313
+vn 0.768225 0.487081 0.415430
+vn 0.893132 0.147016 0.425091
+vn 0.891810 0.157108 0.424254
+vn -0.846494 0.510540 -0.150986
+vn -0.899209 0.339516 -0.275956
+vn -0.960978 0.276536 -0.007045
+vn -0.961629 0.167435 -0.217337
+vn -0.737747 0.246663 0.628400
+vn -0.995090 0.081971 0.055469
+vn -0.601249 0.193949 0.775167
+vn -0.995459 -0.051063 0.080340
+vn 0.290809 0.170947 0.941386
+vn -0.601249 0.193949 0.775167
+vn 0.187861 0.418921 0.888377
+vn -0.638377 0.301975 0.708016
+vn 0.791135 0.252472 0.557102
+vn 0.187861 0.418921 0.888377
+vn 0.702752 0.409906 0.581479
+vn 0.051424 0.588536 0.806834
+vn 0.659102 -0.536915 -0.526599
+vn 0.997471 -0.070302 0.010480
+vn 0.628272 -0.581659 -0.516669
+vn 0.997242 -0.060896 -0.042430
+vn -0.873993 -0.466634 0.135603
+vn -0.951807 -0.304902 -0.033146
+vn -0.564956 -0.801669 0.195325
+vn -0.700585 -0.705722 0.105533
+vn -0.636543 -0.532402 -0.557998
+vn -0.977660 -0.148473 -0.148782
+vn -0.581789 -0.813320 -0.005718
+vn -0.941496 -0.325287 0.088173
+vn -0.581789 -0.813320 -0.005718
+vn -0.941496 -0.325287 0.088173
+vn -0.741010 -0.570695 0.353853
+vn -0.873993 -0.466634 0.135603
+vn -0.640926 -0.664322 0.384566
+vn -0.579703 -0.570241 0.582040
+vn -0.311381 -0.892371 0.326674
+vn -0.230678 -0.855446 0.463681
+vn -0.174446 -0.956549 0.233630
+vn -0.311381 -0.892371 0.326674
+vn 0.132750 -0.947574 0.290657
+vn -0.230678 -0.855446 0.463681
+vn -0.094645 -0.981381 0.167133
+vn -0.415445 -0.898414 0.142329
+vn 0.108508 -0.994062 0.008158
+vn -0.401308 -0.913510 0.066719
+vn -0.361101 -0.915358 0.178119
+vn -0.208805 -0.967199 0.144662
+vn -0.415445 -0.898414 0.142329
+vn -0.326613 -0.945157 -0.001567
+vn -0.174446 -0.956549 0.233630
+vn 0.132750 -0.947574 0.290657
+vn -0.208805 -0.967199 0.144662
+vn 0.548709 -0.835567 -0.027312
+vn -0.446484 -0.892608 0.062467
+vn 0.007134 -0.999653 -0.025367
+vn -0.936896 -0.345878 -0.050935
+vn -0.954646 0.048429 -0.293778
+vn -0.937745 0.330421 -0.107033
+vn -0.698148 0.715599 -0.022533
+vn -0.985135 0.138771 -0.101255
+vn -0.967214 0.242099 0.076721
+vn -0.980184 0.063379 -0.187675
+vn -0.905216 0.175657 -0.386948
+vn -0.937745 0.330421 -0.107033
+vn -0.698148 0.715599 -0.022533
+vn -0.772674 0.138368 -0.619539
+vn 0.458438 0.502330 -0.733144
+vn -0.561428 0.825189 -0.062149
+vn 0.236858 0.943905 0.230090
+vn -0.896426 0.370856 0.242664
+vn -0.561428 0.825189 -0.062149
+vn 0.023510 0.714181 0.699566
+vn 0.236858 0.943905 0.230090
+vn -0.935657 0.159034 0.315048
+vn -0.993434 0.043194 0.105944
+vn -0.268509 0.480816 0.834697
+vn -0.276713 0.764952 0.581617
+vn -0.993434 0.043194 0.105944
+vn -0.688282 0.687478 0.231605
+vn -0.276713 0.764952 0.581617
+vn 0.028759 0.950885 0.308204
+vn -0.960980 0.251215 -0.115795
+vn -0.985495 0.075675 -0.151895
+vn -0.972561 0.134988 -0.189482
+vn -0.894898 0.268670 -0.356334
+vn -0.972561 0.134988 -0.189482
+vn -0.894898 0.268670 -0.356334
+vn -0.896812 0.434204 -0.084831
+vn -0.553622 0.832169 0.031578
+vn -0.896812 0.434204 -0.084831
+vn -0.553622 0.832169 0.031578
+vn -0.910295 0.410353 -0.054532
+vn -0.866726 0.465521 0.179099
+vn -0.977902 0.164431 -0.129112
+vn -0.977411 0.156126 -0.142449
+vn -0.891732 0.353561 -0.282503
+vn -0.863946 0.132009 -0.485974
+vn -0.891732 0.353561 -0.282503
+vn 0.087487 0.794312 -0.601177
+vn -0.594626 0.801841 0.058915
+vn -0.027906 0.986866 0.159113
+vn -0.864069 0.503307 -0.008234
+vn -0.650195 0.739277 -0.175259
+vn -0.097523 0.969757 0.223743
+vn -0.035893 0.997239 -0.065015
+vn -0.916457 0.399227 0.026904
+vn -0.625215 0.765384 -0.152620
+vn -0.134183 0.917172 0.375222
+vn -0.007759 0.999286 -0.036967
+vn -0.874346 0.272889 -0.401312
+vn 0.179688 0.771191 -0.610718
+vn -0.625215 0.765384 -0.152620
+vn -0.007759 0.999286 -0.036967
+vn -0.958484 0.262056 0.112407
+vn -0.925371 0.362938 0.109380
+vn -0.259460 0.592958 0.762287
+vn -0.161338 0.837556 0.521986
+vn 0.112184 -0.867919 0.483872
+vn -0.451801 -0.804092 0.386409
+vn 0.063818 -0.939926 0.335359
+vn -0.567340 -0.779343 0.265989
+vn -0.457056 -0.772194 0.441381
+vn -0.776526 -0.600706 0.190158
+vn -0.451801 -0.804092 0.386409
+vn -0.567340 -0.779343 0.265989
+vn 0.675271 -0.526987 0.516037
+vn 0.927367 -0.364383 0.084945
+vn 0.913146 -0.108202 0.393011
+vn 0.986681 -0.160861 0.024158
+vn -0.029251 0.845343 0.533422
+vn -0.023036 0.930504 0.365556
+vn 0.672543 0.627150 0.392898
+vn 0.664809 0.690913 0.284022
+vn -0.645037 -0.707081 -0.289764
+vn 0.038910 -0.912381 -0.407489
+vn -0.626985 -0.753720 -0.196966
+vn 0.020591 -0.964701 -0.262543
+vn 0.701572 -0.651354 -0.289023
+vn 0.676431 -0.709701 -0.196891
+vn 0.038910 -0.912381 -0.407489
+vn 0.020591 -0.964701 -0.262543
+vn 0.725444 -0.615825 -0.307393
+vn 0.996883 -0.031068 0.072515
+vn 0.701572 -0.651354 -0.289023
+vn 0.999366 0.000052 0.035602
+vn 0.829704 0.540694 -0.138711
+vn 0.763974 0.473289 -0.438567
+vn 0.722219 0.661800 -0.201051
+vn 0.758039 0.479330 -0.442289
+vn 0.829704 0.540694 -0.138711
+vn 0.979839 0.197540 -0.029896
+vn 0.763974 0.473289 -0.438567
+vn 0.940418 0.094925 -0.326502
+vn -0.687552 0.719688 -0.096543
+vn -0.705584 0.661153 -0.255006
+vn -0.789265 0.611990 -0.050296
+vn -0.718501 0.636393 -0.280641
+vn -0.469968 0.845785 -0.252543
+vn -0.512826 0.733147 -0.446661
+vn -0.640396 0.684594 -0.348171
+vn -0.724423 0.556533 -0.406797
+vn -0.262500 0.848417 -0.459654
+vn -0.384143 0.831267 -0.401784
+vn -0.512826 0.733147 -0.446661
+vn -0.878001 0.366196 -0.308245
+vn 0.000000 0.914084 -0.405526
+vn 0.340327 0.848922 -0.404363
+vn 0.000000 0.982607 -0.185696
+vn 0.382398 0.903451 -0.193775
+vn 0.810444 0.451070 -0.373787
+vn 0.914820 0.367445 -0.167598
+vn 0.340327 0.848922 -0.404363
+vn 0.382398 0.903451 -0.193775
+vn 0.810444 0.451070 -0.373787
+vn 0.506867 0.743158 -0.436809
+vn 0.856622 0.305541 -0.415745
+vn 0.692774 0.607227 -0.389025
+vn 0.682002 0.645880 -0.343091
+vn 0.758039 0.479330 -0.442289
+vn 0.692774 0.607227 -0.389025
+vn 0.856622 0.305541 -0.415745
+vn -0.821854 0.567451 0.050547
+vn -0.789265 0.611990 -0.050296
+vn -0.899399 0.436410 0.025075
+vn -0.874636 0.465255 -0.136195
+vn -0.899209 0.339516 -0.275956
+vn -0.967682 0.236333 -0.087969
+vn -0.901307 0.105708 -0.420085
+vn -0.990152 0.034147 -0.135770
+vn -0.994179 0.081954 0.069934
+vn -0.907051 0.212849 0.363254
+vn -0.998056 -0.003899 0.062207
+vn -0.913877 -0.154344 0.375508
+vn -0.877257 0.466635 0.112573
+vn -0.864069 0.503307 -0.008234
+vn -0.145026 0.810245 0.567865
+vn -0.097523 0.969757 0.223743
+vn -0.669594 0.723129 -0.169497
+vn -0.940677 0.283994 -0.185675
+vn -0.653132 0.752765 0.082235
+vn -0.877257 0.466635 0.112573
+vn 0.958207 0.200878 0.203685
+vn 0.781494 0.410453 0.469889
+vn 0.974473 0.065722 0.214668
+vn 0.826899 0.437953 0.352754
+vn 0.958207 0.200878 0.203685
+vn 0.966024 0.199941 -0.163773
+vn 0.642185 0.761102 0.091229
+vn 0.707970 0.670950 -0.220465
+vn 0.014826 0.803509 -0.595107
+vn -0.076802 0.995098 -0.062296
+vn 0.707970 0.670950 -0.220465
+vn 0.642185 0.761102 0.091229
+vn -0.669594 0.723129 -0.169497
+vn -0.653132 0.752765 0.082235
+vn -0.076802 0.995098 -0.062296
+vn -0.121654 0.937844 0.325037
+vn 0.957991 -0.036975 -0.284404
+vn 0.858733 -0.396735 -0.324313
+vn 0.242166 -0.052388 -0.968820
+vn 0.172610 -0.607962 -0.774976
+vn 0.976608 -0.205656 -0.062796
+vn 0.707826 -0.697487 0.111773
+vn 0.896833 -0.418410 0.143607
+vn 0.846712 -0.508212 0.157477
+vn -0.006727 -0.996688 -0.081042
+vn 0.779970 -0.614233 0.119850
+vn -0.152133 -0.848005 0.507685
+vn 0.544356 -0.645479 0.535755
+vn 0.202575 -0.562863 -0.801342
+vn 0.843938 -0.367122 -0.391140
+vn -0.006727 -0.996688 -0.081042
+vn 0.779970 -0.614233 0.119850
+vn -0.235684 -0.610849 0.755855
+vn -0.167453 -0.861951 0.478539
+vn 0.732913 -0.335253 0.591983
+vn 0.593112 -0.634614 0.495462
+vn 0.961852 -0.006938 -0.273481
+vn 0.874440 -0.381462 -0.299735
+vn 0.282923 0.003043 -0.959138
+vn 0.193995 -0.605577 -0.771779
+vn 0.988383 -0.133653 -0.072354
+vn 0.741576 -0.661106 0.114038
+vn 0.916130 -0.373774 0.144913
+vn 0.868201 -0.468432 0.163704
+vn 0.812422 -0.357276 0.460787
+vn 0.893584 -0.399362 0.204983
+vn 0.741576 -0.661106 0.114038
+vn 0.868201 -0.468432 0.163704
+vn 0.812422 -0.357276 0.460787
+vn 0.732913 -0.335253 0.591983
+vn 0.975222 -0.049675 0.215579
+vn 0.969865 -0.131404 0.205172
+vn 0.743021 -0.329868 0.582328
+vn 0.602472 -0.625837 0.495333
+vn 0.971216 -0.122220 0.204457
+vn 0.804700 -0.578896 0.131674
+vn 0.602472 -0.625837 0.495333
+vn -0.197570 -0.859525 0.471362
+vn 0.804700 -0.578896 0.131674
+vn -0.029987 -0.995925 -0.085056
+vn 0.184243 -0.548275 -0.815751
+vn 0.807131 -0.386435 -0.446327
+vn -0.055663 -0.994530 -0.088380
+vn 0.752358 -0.646343 0.127270
+vn 0.893584 -0.399362 0.204983
+vn 0.812422 -0.357276 0.460787
+vn 0.914253 -0.363334 0.179250
+vn 0.975222 -0.049675 0.215579
+vn 0.914253 -0.363334 0.179250
+vn 0.975222 -0.049675 0.215579
+vn 0.896833 -0.418410 0.143607
+vn 0.976608 -0.205656 -0.062796
+vn 0.926486 -0.328694 0.183260
+vn 0.975387 -0.045548 0.215746
+vn 0.916130 -0.373774 0.144913
+vn 0.988383 -0.133653 -0.072354
+vn 0.790809 0.555225 0.257579
+vn 0.924086 0.182069 0.336030
+vn 0.797925 0.543639 0.260333
+vn 0.925360 0.178276 0.334555
+vn -0.288668 0.941929 -0.171583
+vn -0.319070 0.931309 -0.175667
+vn -0.127562 0.979038 -0.158782
+vn -0.162640 0.974543 -0.154320
+vn 0.420132 0.904893 0.068256
+vn 0.229028 0.973075 -0.025929
+vn 0.435825 0.896184 0.083134
+vn 0.241964 0.970285 -0.000851
+vn 0.229028 0.973075 -0.025929
+vn 0.029564 0.993979 -0.105511
+vn 0.241964 0.970285 -0.000851
+vn 0.022304 0.996417 -0.081582
+vn -0.021121 0.996404 -0.082057
+vn -0.033093 0.995862 -0.084644
+vn -0.662682 0.717461 -0.214717
+vn -0.672587 0.707704 -0.216291
+vn -0.662682 0.717461 -0.214717
+vn -0.672587 0.707704 -0.216291
+vn -0.925894 0.285483 -0.247428
+vn -0.928295 0.277526 -0.247483
+vn -0.925894 0.285483 -0.247428
+vn -0.928295 0.277526 -0.247483
+vn -0.823407 0.511488 -0.245725
+vn -0.831475 0.497806 -0.246654
+vn -0.823407 0.511488 -0.245725
+vn -0.831475 0.497806 -0.246654
+vn -0.512042 0.834657 -0.202881
+vn -0.529390 0.822898 -0.206360
+vn -0.512042 0.834657 -0.202881
+vn -0.529390 0.822898 -0.206360
+vn -0.288668 0.941929 -0.171583
+vn -0.319070 0.931309 -0.175667
+vn 0.574137 0.815944 0.067845
+vn 0.556240 0.828623 0.063101
+vn -0.021121 0.996404 -0.082057
+vn -0.033093 0.995862 -0.084644
+vn -0.659229 0.740088 -0.132991
+vn 0.166266 0.955312 0.244407
+vn -0.668050 0.725333 -0.166137
+vn 0.183065 0.943172 0.277333
+vn -0.668050 0.725333 -0.166137
+vn 0.183065 0.943172 0.277333
+vn -0.595559 0.792651 -0.130440
+vn 0.085312 0.933115 0.349310
+vn 0.166266 0.955312 0.244407
+vn 0.160384 0.955230 0.248620
+vn 0.828741 0.395155 0.396283
+vn 0.826142 0.403832 0.392950
+vn -0.595559 0.792651 -0.130440
+vn 0.085312 0.933115 0.349310
+vn -0.522701 0.849084 -0.076424
+vn -0.237276 0.893795 0.380566
+vn -0.522701 0.849084 -0.076424
+vn -0.237276 0.893795 0.380566
+vn -0.504863 0.861206 -0.058622
+vn -0.313831 0.936244 0.157978
+vn 0.800592 0.429286 0.418050
+vn 0.778463 0.456031 0.431313
+vn 0.904394 0.138702 0.403526
+vn 0.893132 0.147016 0.425091
+vn 0.404850 0.386841 -0.828523
+vn 0.343864 0.281497 -0.895833
+vn 0.878159 0.292607 -0.378441
+vn 0.328340 -0.039314 -0.943741
+vn 0.259271 0.332001 -0.906948
+vn 0.041076 0.962302 -0.268864
+vn 0.211182 0.432073 -0.876764
+vn 0.102749 0.955299 -0.277212
+vn 0.211182 0.432073 -0.876764
+vn 0.102749 0.955299 -0.277212
+vn 0.327299 0.467982 -0.820895
+vn 0.404850 0.386841 -0.828523
+vn -0.102666 0.994225 0.031242
+vn -0.128290 0.991660 -0.012341
+vn -0.312030 0.949832 0.021361
+vn -0.184169 0.982584 -0.024724
+vn -0.080346 0.990455 0.111999
+vn -0.057497 0.997915 0.029333
+vn -0.042093 0.991406 0.123866
+vn -0.011988 0.999298 0.035486
+vn -0.080346 0.990455 0.111999
+vn -0.042093 0.991406 0.123866
+vn -0.091869 0.985605 0.141925
+vn -0.054297 0.985781 0.159021
+vn -0.033027 0.994812 0.096225
+vn -0.076073 0.993656 0.082830
+vn -0.054297 0.985781 0.159021
+vn -0.091869 0.985605 0.141925
+vn -0.076073 0.993656 0.082830
+vn -0.033027 0.994812 0.096225
+vn 0.041076 0.962302 -0.268864
+vn 0.102749 0.955299 -0.277212
+vn -0.435206 0.396655 0.808245
+vn -0.340984 0.507426 0.791359
+vn -0.860330 0.353791 0.366965
+vn -0.921914 0.316405 0.223525
+vn 0.632332 0.380741 0.674680
+vn 0.590298 0.473371 0.653811
+vn -0.340984 0.507426 0.791359
+vn -0.213750 0.759871 0.613928
+vn 0.797925 0.543639 0.260333
+vn 0.925360 0.178276 0.334555
+vn 0.798208 0.531740 0.283050
+vn 0.921756 0.173570 0.346755
+vn -0.960978 0.276536 -0.007045
+vn -0.961629 0.167435 -0.217337
+vn -0.980323 0.196310 0.020722
+vn -0.967265 0.067379 -0.244658
+vn -0.995090 0.081971 0.055469
+vn -0.980323 0.196310 0.020722
+vn -0.952942 -0.091500 -0.289013
+vn -0.967265 0.067379 -0.244658
+vn 0.997471 -0.070302 0.010480
+vn 0.702752 0.409906 0.581479
+vn 0.997242 -0.060896 -0.042430
+vn 0.680941 0.535093 0.499995
+vn 0.659102 -0.536915 -0.526599
+vn 0.628272 -0.581659 -0.516669
+vn 0.013919 -0.677469 -0.735420
+vn 0.033060 -0.757959 -0.651464
+vn -0.044275 -0.692298 -0.720253
+vn 0.013919 -0.677469 -0.735420
+vn -0.726277 -0.467211 -0.504217
+vn -0.671252 -0.511922 -0.536057
+vn -0.636543 -0.532402 -0.557998
+vn -0.044275 -0.692298 -0.720253
+vn -0.858548 -0.332375 -0.390413
+vn -0.726277 -0.467211 -0.504217
+vn -0.951807 -0.304902 -0.033146
+vn -0.873993 -0.466634 0.135603
+vn -0.977660 -0.148473 -0.148782
+vn -0.941496 -0.325287 0.088173
+vn -0.636543 -0.532402 -0.557998
+vn -0.812910 -0.241595 -0.529915
+vn -0.977660 -0.148473 -0.148782
+vn -0.974170 -0.084331 -0.209477
+vn -0.640926 -0.664322 0.384566
+vn -0.700585 -0.705722 0.105533
+vn -0.979377 -0.201403 -0.016052
+vn -0.951807 -0.304902 -0.033146
+vn -0.579703 -0.570241 0.582040
+vn -0.640926 -0.664322 0.384566
+vn -0.768623 -0.364619 0.525616
+vn -0.843274 -0.357186 0.401632
+vn 0.007134 -0.999653 -0.025367
+vn 0.340559 -0.936910 0.078867
+vn 0.073054 -0.961831 -0.263711
+vn 0.501348 -0.859685 -0.097934
+vn 0.340559 -0.936910 0.078867
+vn 0.108508 -0.994062 0.008158
+vn 0.501348 -0.859685 -0.097934
+vn 0.121011 -0.951619 -0.282449
+vn -0.985135 0.138771 -0.101255
+vn -0.967214 0.242099 0.076721
+vn -0.960980 0.251215 -0.115795
+vn -0.985495 0.075675 -0.151895
+vn -0.896426 0.370856 0.242664
+vn -0.916806 0.271865 0.292501
+vn -0.990429 0.046734 -0.129873
+vn -0.981517 0.147442 -0.122002
+vn -0.990429 0.046734 -0.129873
+vn -0.981517 0.147442 -0.122002
+vn -0.905216 0.175657 -0.386948
+vn -0.793939 0.094207 -0.600654
+vn 0.458438 0.502330 -0.733144
+vn -0.772674 0.138368 -0.619539
+vn 0.278252 -0.033763 -0.959915
+vn -0.674593 0.037079 -0.737258
+vn -0.992227 0.010515 -0.124000
+vn -0.981580 0.136826 -0.133337
+vn -0.772674 0.138368 -0.619539
+vn -0.674593 0.037079 -0.737258
+vn 0.023510 0.714181 0.699566
+vn -0.197676 0.461853 0.864648
+vn -0.896426 0.370856 0.242664
+vn -0.916806 0.271865 0.292501
+vn -0.268509 0.480816 0.834697
+vn -0.261265 0.425815 0.866269
+vn -0.935657 0.159034 0.315048
+vn -0.881615 0.267748 0.388671
+vn -0.935657 0.159034 0.315048
+vn -0.881615 0.267748 0.388671
+vn -0.992227 0.010515 -0.124000
+vn -0.981580 0.136826 -0.133337
+vn -0.767850 0.619586 0.162848
+vn -0.334074 0.940287 -0.065236
+vn -0.688282 0.687478 0.231605
+vn 0.028759 0.950885 0.308204
+vn -0.866726 0.465521 0.179099
+vn -0.941947 0.273720 0.194458
+vn -0.977902 0.164431 -0.129112
+vn -0.977411 0.156126 -0.142449
+vn -0.866726 0.465521 0.179099
+vn -0.553622 0.832169 0.031578
+vn 0.011032 0.804062 0.594443
+vn 0.078233 0.974644 0.209639
+vn -0.891732 0.353561 -0.282503
+vn -0.863946 0.132009 -0.485974
+vn 0.087487 0.794312 -0.601177
+vn 0.095026 0.160177 -0.982504
+vn -0.879008 0.281980 -0.384490
+vn 0.070217 0.822865 -0.563882
+vn -0.650195 0.739277 -0.175259
+vn -0.035893 0.997239 -0.065015
+vn -0.916457 0.399227 0.026904
+vn -0.941971 0.315638 0.114296
+vn -0.977322 0.097112 -0.188178
+vn -0.964945 0.177274 -0.193534
+vn -0.977322 0.097112 -0.188178
+vn -0.964945 0.177274 -0.193534
+vn -0.879008 0.281980 -0.384490
+vn -0.830526 0.146676 -0.537321
+vn -0.134183 0.917172 0.375222
+vn -0.213711 0.655133 0.724658
+vn -0.916457 0.399227 0.026904
+vn -0.941971 0.315638 0.114296
+vn -0.874346 0.272889 -0.401312
+vn -0.831926 0.125123 -0.540595
+vn 0.179688 0.771191 -0.610718
+vn 0.295159 0.171396 -0.939949
+vn -0.259460 0.592958 0.762287
+vn -0.170566 0.848435 0.501064
+vn -0.958484 0.262056 0.112407
+vn -0.845199 0.524426 0.103037
+vn -0.958484 0.262056 0.112407
+vn -0.845199 0.524426 0.103037
+vn -0.969566 0.152212 -0.191762
+vn -0.836662 0.511391 -0.196152
+vn -0.831926 0.125123 -0.540595
+vn -0.969566 0.152212 -0.191762
+vn -0.736146 0.415948 -0.533926
+vn -0.836662 0.511391 -0.196152
+vn -0.161338 0.837556 0.521986
+vn 0.827160 0.376818 0.416911
+vn -0.259460 0.592958 0.762287
+vn 0.831417 0.253505 0.494451
+vn -0.027906 0.986866 0.159113
+vn 0.624109 0.766774 0.150150
+vn -0.161338 0.837556 0.521986
+vn 0.827160 0.376818 0.416911
+vn -0.860330 0.353791 0.366965
+vn -0.910534 0.342729 -0.231223
+vn -0.767850 0.619586 0.162848
+vn -0.334074 0.940287 -0.065236
+vn 0.675271 -0.526987 0.516037
+vn 0.663964 -0.698881 0.265927
+vn 0.927367 -0.364383 0.084945
+vn 0.939925 -0.339871 0.032063
+vn 0.112184 -0.867919 0.483872
+vn 0.063818 -0.939926 0.335359
+vn 0.663964 -0.698881 0.265927
+vn 0.713242 -0.667680 0.213281
+vn -0.776526 -0.600706 0.190158
+vn -0.936896 -0.345878 -0.050935
+vn -0.900544 -0.427944 0.076709
+vn -0.987666 -0.139896 -0.070322
+vn 0.664225 0.171408 0.727616
+vn 0.954176 0.065620 0.291964
+vn 0.656536 0.389929 0.645691
+vn 0.938113 0.270099 0.216774
+vn 0.913146 -0.108202 0.393011
+vn 0.986681 -0.160861 0.024158
+vn 0.954176 0.065620 0.291964
+vn 0.999481 -0.027722 0.016431
+vn -0.023036 0.930504 0.365556
+vn -0.706504 0.663814 0.245363
+vn 0.008001 0.992188 0.124493
+vn -0.658139 0.752896 0.000516
+vn -0.706504 0.663814 0.245363
+vn -0.997392 -0.071807 -0.007256
+vn -0.658139 0.752896 0.000516
+vn -0.990222 -0.096545 -0.100692
+vn -0.997392 -0.071807 -0.007256
+vn -0.626985 -0.753720 -0.196966
+vn -0.990222 -0.096545 -0.100692
+vn -0.583224 -0.809636 -0.065870
+vn 0.676431 -0.709701 -0.196891
+vn 0.701572 -0.651354 -0.289023
+vn 0.999584 0.002528 0.028729
+vn 0.999366 0.000052 0.035602
+vn 0.672543 0.627150 0.392898
+vn 0.664809 0.690913 0.284022
+vn 0.999366 0.000052 0.035602
+vn 0.999584 0.002528 0.028729
+vn 0.979839 0.197540 -0.029896
+vn 0.938113 0.270099 0.216774
+vn 0.999481 -0.027722 0.016431
+vn 0.954176 0.065620 0.291964
+vn -0.705584 0.661153 -0.255006
+vn -0.640396 0.684594 -0.348171
+vn -0.765700 0.506000 -0.397075
+vn -0.798840 0.476531 -0.367115
+vn 0.000000 0.914084 -0.405526
+vn 0.000000 0.982607 -0.185696
+vn -0.384143 0.831267 -0.401784
+vn -0.404654 0.896296 -0.181406
+vn 0.810444 0.451070 -0.373787
+vn 0.977555 0.035295 -0.207704
+vn 0.914820 0.367445 -0.167598
+vn 0.991549 -0.027578 -0.126764
+vn 0.810444 0.451070 -0.373787
+vn 0.856622 0.305541 -0.415745
+vn 0.923376 0.016173 -0.383555
+vn 0.909508 0.059095 -0.411464
+vn 0.758039 0.479330 -0.442289
+vn 0.763974 0.473289 -0.438567
+vn 0.743929 0.166526 -0.647178
+vn 0.544476 0.250647 -0.800451
+vn -0.894979 0.406506 0.183756
+vn -0.899399 0.436410 0.025075
+vn -0.985387 0.065217 0.157349
+vn -0.988005 0.150047 -0.036506
+vn -0.994179 0.081954 0.069934
+vn -0.998056 -0.003899 0.062207
+vn -0.990152 0.034147 -0.135770
+vn -0.935830 -0.094431 -0.339567
+vn -0.899209 0.339516 -0.275956
+vn -0.901307 0.105708 -0.420085
+vn -0.961629 0.167435 -0.217337
+vn -0.873085 -0.023629 -0.486995
+vn -0.859918 0.235911 0.452645
+vn -0.846921 -0.150514 0.509972
+vn -0.907051 0.212849 0.363254
+vn -0.913877 -0.154344 0.375508
+vn -0.894979 0.406506 0.183756
+vn -0.985387 0.065217 0.157349
+vn -0.859918 0.235911 0.452645
+vn -0.846921 -0.150514 0.509972
+vn -0.145026 0.810245 0.567865
+vn -0.121654 0.937844 0.325037
+vn -0.877257 0.466635 0.112573
+vn -0.653132 0.752765 0.082235
+vn 0.781494 0.410453 0.469889
+vn 0.958207 0.200878 0.203685
+vn 0.529233 0.778137 0.338253
+vn 0.642185 0.761102 0.091229
+vn 0.955021 0.224620 0.193599
+vn 0.936826 0.282713 0.205986
+vn 0.602852 0.794248 0.075757
+vn 0.590351 0.803904 0.072277
+vn 0.781494 0.410453 0.469889
+vn -0.145026 0.810245 0.567865
+vn 0.826899 0.437953 0.352754
+vn -0.097523 0.969757 0.223743
+vn 0.826899 0.437953 0.352754
+vn 0.685232 0.720650 0.105452
+vn 0.936826 0.282713 0.205986
+vn 0.922759 0.341429 0.178725
+vn -0.167453 -0.861951 0.478539
+vn -0.757803 -0.625531 0.185597
+vn -0.021130 -0.996418 -0.081888
+vn -0.770777 -0.606112 -0.196295
+vn -0.770777 -0.606112 -0.196295
+vn -0.639539 -0.431767 -0.636056
+vn -0.021130 -0.996418 -0.081888
+vn 0.172610 -0.607962 -0.774976
+vn 0.858733 -0.396735 -0.324313
+vn 0.957991 -0.036975 -0.284404
+vn 0.793726 -0.595159 0.125638
+vn 0.969865 -0.131404 0.205172
+vn 0.957991 -0.036975 -0.284404
+vn 0.976608 -0.205656 -0.062796
+vn 0.969865 -0.131404 0.205172
+vn 0.975222 -0.049675 0.215579
+vn 0.688350 -0.374452 0.621257
+vn 0.544356 -0.645479 0.535755
+vn 0.967709 -0.144505 0.206538
+vn 0.779970 -0.614233 0.119850
+vn 0.874440 -0.381462 -0.299735
+vn 0.961852 -0.006938 -0.273481
+vn 0.804700 -0.578896 0.131674
+vn 0.971216 -0.122220 0.204457
+vn 0.961852 -0.006938 -0.273481
+vn 0.988383 -0.133653 -0.072354
+vn 0.971216 -0.122220 0.204457
+vn 0.975387 -0.045548 0.215746
+vn 0.804700 -0.578896 0.131674
+vn -0.029987 -0.995925 -0.085056
+vn 0.874440 -0.381462 -0.299735
+vn 0.193995 -0.605577 -0.771779
+vn 0.923094 0.185621 0.336813
+vn 0.890875 0.331237 0.310843
+vn 0.924086 0.182069 0.336030
+vn 0.892423 0.327208 0.310670
+vn 0.685085 0.700689 0.199234
+vn 0.435825 0.896184 0.083134
+vn 0.690264 0.694722 0.202230
+vn 0.443790 0.891612 0.089877
+vn 0.029564 0.993979 -0.105511
+vn -0.162640 0.974543 -0.154320
+vn 0.022304 0.996417 -0.081582
+vn -0.187178 0.972008 -0.142004
+vn 0.574137 0.815944 0.067845
+vn 0.590351 0.803904 0.072277
+vn 0.922759 0.341429 0.178725
+vn 0.936826 0.282713 0.205986
+vn 0.556240 0.828623 0.063101
+vn 0.574137 0.815944 0.067845
+vn 0.946939 0.274622 0.167000
+vn 0.922759 0.341429 0.178725
+vn 0.890875 0.331237 0.310843
+vn 0.690264 0.694722 0.202230
+vn 0.892423 0.327208 0.310670
+vn 0.695205 0.689024 0.204784
+vn 0.828741 0.395155 0.396283
+vn 0.837712 0.325109 0.438796
+vn 0.166266 0.955312 0.244407
+vn 0.183065 0.943172 0.277333
+vn 0.818052 0.411765 0.401547
+vn 0.800592 0.429286 0.418050
+vn 0.914415 0.133286 0.382205
+vn 0.904394 0.138702 0.403526
+vn 0.826142 0.403832 0.392950
+vn 0.818052 0.411765 0.401547
+vn 0.919134 0.129894 0.371915
+vn 0.914415 0.133286 0.382205
+vn 0.828741 0.395155 0.396283
+vn 0.826142 0.403832 0.392950
+vn 0.917762 0.126369 0.376490
+vn 0.919134 0.129894 0.371915
+vn 0.949586 0.168945 0.264092
+vn 0.957872 0.044163 -0.283779
+vn 0.869902 0.437974 0.226826
+vn 0.931104 0.181580 -0.316346
+vn 0.878159 0.292607 -0.378441
+vn 0.328340 -0.039314 -0.943741
+vn 0.957872 0.044163 -0.283779
+vn 0.303534 -0.032065 -0.952281
+vn 0.343864 0.281497 -0.895833
+vn 0.404850 0.386841 -0.828523
+vn 0.134897 0.960135 -0.244832
+vn 0.102749 0.955299 -0.277212
+vn -0.057497 0.997915 0.029333
+vn -0.024191 0.999561 -0.017114
+vn -0.011988 0.999298 0.035486
+vn 0.001434 0.999990 -0.004278
+vn -0.184169 0.982584 -0.024724
+vn -0.128290 0.991660 -0.012341
+vn -0.024191 0.999561 -0.017114
+vn -0.102666 0.994225 0.031242
+vn -0.312030 0.949832 0.021361
+vn -0.313831 0.936244 0.157978
+vn -0.102666 0.994225 0.031242
+vn -0.268172 0.533654 0.802058
+vn 0.590298 0.473371 0.653811
+vn 0.869902 0.437974 0.226826
+vn -0.213750 0.759871 0.613928
+vn 0.021402 0.997043 -0.073811
+vn 0.893132 0.147016 0.425091
+vn 0.891810 0.157108 0.424254
+vn 0.859642 0.279858 0.427429
+vn 0.857593 0.296836 0.420026
+vn 0.891810 0.157108 0.424254
+vn 0.906979 0.166661 0.386800
+vn 0.857593 0.296836 0.420026
+vn 0.873030 0.314035 0.373096
+vn 0.921756 0.173570 0.346755
+vn 0.889559 0.320923 0.325105
+vn 0.906979 0.166661 0.386800
+vn 0.873030 0.314035 0.373096
+vn 0.904394 0.138702 0.403526
+vn 0.893132 0.147016 0.425091
+vn 0.870994 0.269437 0.410821
+vn 0.859642 0.279858 0.427429
+vn -0.995459 -0.051063 0.080340
+vn -0.995090 0.081971 0.055469
+vn -0.858548 -0.332375 -0.390413
+vn -0.952942 -0.091500 -0.289013
+vn -0.601249 0.193949 0.775167
+vn -0.995459 -0.051063 0.080340
+vn -0.638377 0.301975 0.708016
+vn -0.996329 -0.059885 0.061176
+vn 0.187861 0.418921 0.888377
+vn -0.638377 0.301975 0.708016
+vn 0.051424 0.588536 0.806834
+vn -0.664039 0.433624 0.609116
+vn 0.702752 0.409906 0.581479
+vn 0.051424 0.588536 0.806834
+vn 0.680941 0.535093 0.499995
+vn 0.012169 0.725743 0.687858
+vn 0.997242 -0.060896 -0.042430
+vn 0.989288 -0.057495 -0.134176
+vn 0.628272 -0.581659 -0.516669
+vn 0.583279 -0.711794 -0.391324
+vn -0.858548 -0.332375 -0.390413
+vn -0.952942 -0.091500 -0.289013
+vn -0.636543 -0.532402 -0.557998
+vn -0.812910 -0.241595 -0.529915
+vn -0.977660 -0.148473 -0.148782
+vn -0.974170 -0.084331 -0.209477
+vn -0.951807 -0.304902 -0.033146
+vn -0.979377 -0.201403 -0.016052
+vn -0.640926 -0.664322 0.384566
+vn -0.979377 -0.201403 -0.016052
+vn -0.843274 -0.357186 0.401632
+vn -0.990994 -0.133401 0.011607
+vn -0.768623 -0.364619 0.525616
+vn -0.973808 -0.137483 0.181097
+vn -0.579703 -0.570241 0.582040
+vn -0.922664 -0.284367 0.260437
+vn -0.230678 -0.855446 0.463681
+vn -0.579703 -0.570241 0.582040
+vn -0.660270 -0.657824 0.362369
+vn -0.922664 -0.284367 0.260437
+vn -0.230678 -0.855446 0.463681
+vn -0.083933 -0.975549 0.203125
+vn 0.132750 -0.947574 0.290657
+vn 0.416058 -0.904926 0.089470
+vn -0.401308 -0.913510 0.066719
+vn -0.553369 -0.824734 -0.116603
+vn 0.108508 -0.994062 0.008158
+vn 0.121011 -0.951619 -0.282449
+vn -0.415445 -0.898414 0.142329
+vn -0.326613 -0.945157 -0.001567
+vn -0.401308 -0.913510 0.066719
+vn -0.553369 -0.824734 -0.116603
+vn -0.208805 -0.967199 0.144662
+vn 0.548709 -0.835567 -0.027312
+vn -0.326613 -0.945157 -0.001567
+vn 0.793677 -0.602161 -0.086482
+vn 0.132750 -0.947574 0.290657
+vn 0.416058 -0.904926 0.089470
+vn 0.548709 -0.835567 -0.027312
+vn 0.793677 -0.602161 -0.086482
+vn -0.936896 -0.345878 -0.050935
+vn -0.954646 0.048429 -0.293778
+vn -0.987666 -0.139896 -0.070322
+vn -0.962842 0.161324 -0.216588
+vn 0.007134 -0.999653 -0.025367
+vn 0.073054 -0.961831 -0.263711
+vn -0.954646 0.048429 -0.293778
+vn -0.748989 0.488852 -0.447257
+vn -0.905216 0.175657 -0.386948
+vn 0.324688 0.693699 -0.642930
+vn -0.698148 0.715599 -0.022533
+vn 0.112937 0.962118 0.248142
+vn -0.967214 0.242099 0.076721
+vn -0.698148 0.715599 -0.022533
+vn -0.263348 0.712169 0.650740
+vn 0.112937 0.962118 0.248142
+vn 0.278252 -0.033763 -0.959915
+vn 0.921941 -0.020501 -0.386787
+vn 0.458438 0.502330 -0.733144
+vn 0.985913 0.147465 -0.078929
+vn 0.236858 0.943905 0.230090
+vn 0.458438 0.502330 -0.733144
+vn 0.737338 0.643323 0.206078
+vn 0.985913 0.147465 -0.078929
+vn -0.197676 0.461853 0.864648
+vn 0.023510 0.714181 0.699566
+vn 0.777823 0.218808 0.589164
+vn 0.810749 0.328661 0.484426
+vn 0.023510 0.714181 0.699566
+vn 0.236858 0.943905 0.230090
+vn 0.810749 0.328661 0.484426
+vn 0.737338 0.643323 0.206078
+vn -0.261265 0.425815 0.866269
+vn -0.268509 0.480816 0.834697
+vn 0.646824 0.274864 0.711385
+vn 0.725857 0.393420 0.564227
+vn -0.268509 0.480816 0.834697
+vn -0.276713 0.764952 0.581617
+vn 0.725857 0.393420 0.564227
+vn 0.028759 0.950885 0.308204
+vn -0.967214 0.242099 0.076721
+vn -0.927273 0.283170 0.244909
+vn -0.985495 0.075675 -0.151895
+vn -0.979135 0.152338 -0.134491
+vn -0.985495 0.075675 -0.151895
+vn -0.979135 0.152338 -0.134491
+vn -0.894898 0.268670 -0.356334
+vn -0.809100 0.101702 -0.578804
+vn -0.894898 0.268670 -0.356334
+vn 0.204213 0.812568 -0.545921
+vn -0.553622 0.832169 0.031578
+vn 0.078233 0.974644 0.209639
+vn -0.941947 0.273720 0.194458
+vn -0.866726 0.465521 0.179099
+vn -0.066120 0.513090 0.855785
+vn 0.011032 0.804062 0.594443
+vn -0.941947 0.273720 0.194458
+vn -0.850391 0.470388 0.235736
+vn -0.977411 0.156126 -0.142449
+vn -0.877283 0.470637 -0.094213
+vn -0.977411 0.156126 -0.142449
+vn -0.877283 0.470637 -0.094213
+vn -0.863946 0.132009 -0.485974
+vn -0.803486 0.371568 -0.465132
+vn -0.027906 0.986866 0.159113
+vn 0.087487 0.794312 -0.601177
+vn 0.624109 0.766774 0.150150
+vn 0.991701 0.117389 -0.052424
+vn -0.879008 0.281980 -0.384490
+vn -0.830526 0.146676 -0.537321
+vn 0.070217 0.822865 -0.563882
+vn 0.190730 0.219293 -0.956835
+vn -0.035893 0.997239 -0.065015
+vn 0.685232 0.720650 0.105452
+vn -0.097523 0.969757 0.223743
+vn 0.826899 0.437953 0.352754
+vn -0.134183 0.917172 0.375222
+vn 0.840394 0.369180 0.396793
+vn -0.213711 0.655133 0.724658
+vn 0.822859 0.278266 0.495450
+vn -0.007759 0.999286 -0.036967
+vn 0.665767 0.738551 0.106285
+vn -0.134183 0.917172 0.375222
+vn 0.840394 0.369180 0.396793
+vn -0.007759 0.999286 -0.036967
+vn 0.179688 0.771191 -0.610718
+vn 0.665767 0.738551 0.106285
+vn 0.980209 0.197763 -0.008934
+vn -0.259460 0.592958 0.762287
+vn 0.831417 0.253505 0.494451
+vn -0.170566 0.848435 0.501064
+vn 0.724760 0.515471 0.457180
+vn -0.831926 0.125123 -0.540595
+vn -0.736146 0.415948 -0.533926
+vn 0.295159 0.171396 -0.939949
+vn 0.212208 0.666028 -0.715105
+vn -0.860330 0.353791 0.366965
+vn -0.921914 0.316405 0.223525
+vn -0.910534 0.342729 -0.231223
+vn -0.956463 0.156206 -0.246534
+vn 0.063818 -0.939926 0.335359
+vn -0.567340 -0.779343 0.265989
+vn 0.019464 -0.950217 0.310980
+vn -0.678042 -0.711924 0.182819
+vn -0.776526 -0.600706 0.190158
+vn -0.900544 -0.427944 0.076709
+vn -0.567340 -0.779343 0.265989
+vn -0.678042 -0.711924 0.182819
+vn 0.927367 -0.364383 0.084945
+vn 0.939925 -0.339871 0.032063
+vn 0.986681 -0.160861 0.024158
+vn 0.976572 -0.163975 -0.139357
+vn 0.664809 0.690913 0.284022
+vn -0.023036 0.930504 0.365556
+vn 0.652617 0.747865 0.121608
+vn 0.008001 0.992188 0.124493
+vn 0.020591 -0.964701 -0.262543
+vn 0.005583 -0.999476 -0.031885
+vn -0.626985 -0.753720 -0.196966
+vn -0.583224 -0.809636 -0.065870
+vn 0.999584 0.002528 0.028729
+vn 0.999399 0.003856 0.034455
+vn 0.676431 -0.709701 -0.196891
+vn 0.641525 -0.766870 -0.018873
+vn 0.676431 -0.709701 -0.196891
+vn 0.641525 -0.766870 -0.018873
+vn 0.020591 -0.964701 -0.262543
+vn 0.005583 -0.999476 -0.031885
+vn 0.999481 -0.027722 0.016431
+vn 0.964934 -0.124709 -0.230975
+vn 0.979839 0.197540 -0.029896
+vn 0.940418 0.094925 -0.326502
+vn 0.763974 0.473289 -0.438567
+vn 0.940418 0.094925 -0.326502
+vn 0.544476 0.250647 -0.800451
+vn 0.647946 -0.090056 -0.756344
+vn -0.789265 0.611990 -0.050296
+vn -0.718501 0.636393 -0.280641
+vn -0.874636 0.465255 -0.136195
+vn -0.657804 0.584721 -0.474758
+vn -0.705584 0.661153 -0.255006
+vn -0.765700 0.506000 -0.397075
+vn -0.718501 0.636393 -0.280641
+vn -0.640402 0.608318 -0.468865
+vn -0.640396 0.684594 -0.348171
+vn -0.724423 0.556533 -0.406797
+vn -0.798840 0.476531 -0.367115
+vn -0.837983 0.396743 -0.374672
+vn -0.724423 0.556533 -0.406797
+vn -0.512826 0.733147 -0.446661
+vn -0.872286 0.250070 -0.420217
+vn -0.878001 0.366196 -0.308245
+vn -0.878001 0.366196 -0.308245
+vn -0.384143 0.831267 -0.401784
+vn -0.923601 0.359041 -0.134355
+vn -0.404654 0.896296 -0.181406
+vn 0.382398 0.903451 -0.193775
+vn 0.397324 0.915640 -0.061137
+vn 0.000000 0.982607 -0.185696
+vn 0.000000 0.998695 -0.051075
+vn 0.810444 0.451070 -0.373787
+vn 0.923376 0.016173 -0.383555
+vn 0.977555 0.035295 -0.207704
+vn 0.946209 -0.025916 -0.322518
+vn 0.914820 0.367445 -0.167598
+vn 0.917888 0.389047 -0.078256
+vn 0.382398 0.903451 -0.193775
+vn 0.397324 0.915640 -0.061137
+vn 0.758039 0.479330 -0.442289
+vn 0.743929 0.166526 -0.647178
+vn 0.856622 0.305541 -0.415745
+vn 0.909508 0.059095 -0.411464
+vn -0.899399 0.436410 0.025075
+vn -0.874636 0.465255 -0.136195
+vn -0.988005 0.150047 -0.036506
+vn -0.942440 0.202366 -0.266185
+vn -0.901307 0.105708 -0.420085
+vn -0.990152 0.034147 -0.135770
+vn -0.873085 -0.023629 -0.486995
+vn -0.935830 -0.094431 -0.339567
+vn -0.998056 -0.003899 0.062207
+vn -0.913877 -0.154344 0.375508
+vn -0.998940 -0.040744 -0.021440
+vn -0.995425 -0.094097 -0.016560
+vn -0.145026 0.810245 0.567865
+vn 0.781494 0.410453 0.469889
+vn -0.121654 0.937844 0.325037
+vn 0.529233 0.778137 0.338253
+vn 0.642185 0.761102 0.091229
+vn -0.076802 0.995098 -0.062296
+vn 0.529233 0.778137 0.338253
+vn -0.121654 0.937844 0.325037
+vn -0.167453 -0.861951 0.478539
+vn -0.021130 -0.996418 -0.081888
+vn 0.593112 -0.634614 0.495462
+vn 0.793726 -0.595159 0.125638
+vn 0.172610 -0.607962 -0.774976
+vn 0.858733 -0.396735 -0.324313
+vn -0.021130 -0.996418 -0.081888
+vn 0.793726 -0.595159 0.125638
+vn 0.732913 -0.335253 0.591983
+vn 0.593112 -0.634614 0.495462
+vn 0.969865 -0.131404 0.205172
+vn 0.793726 -0.595159 0.125638
+vn 0.924086 0.182069 0.336030
+vn 0.892423 0.327208 0.310670
+vn 0.925360 0.178276 0.334555
+vn 0.894124 0.323193 0.309981
+vn -0.319070 0.931309 -0.175667
+vn -0.342495 0.923325 -0.173691
+vn -0.162640 0.974543 -0.154320
+vn -0.187178 0.972008 -0.142004
+vn -0.529390 0.822898 -0.206360
+vn -0.545921 0.811500 -0.208416
+vn -0.319070 0.931309 -0.175667
+vn -0.342495 0.923325 -0.173691
+vn 0.435825 0.896184 0.083134
+vn 0.241964 0.970285 -0.000851
+vn 0.443790 0.891612 0.089877
+vn 0.247830 0.968764 0.008703
+vn 0.241964 0.970285 -0.000851
+vn 0.022304 0.996417 -0.081582
+vn 0.247830 0.968764 0.008703
+vn 0.019947 0.997093 -0.073536
+vn 0.556240 0.828623 0.063101
+vn 0.536521 0.841899 0.057885
+vn -0.033093 0.995862 -0.084644
+vn -0.045519 0.995135 -0.087378
+vn -0.033093 0.995862 -0.084644
+vn -0.045519 0.995135 -0.087378
+vn -0.672587 0.707704 -0.216291
+vn -0.682807 0.697343 -0.217914
+vn -0.672587 0.707704 -0.216291
+vn -0.682807 0.697343 -0.217914
+vn -0.928295 0.277526 -0.247483
+vn -0.930642 0.269569 -0.247465
+vn -0.928295 0.277526 -0.247483
+vn -0.930642 0.269569 -0.247465
+vn -0.831475 0.497806 -0.246654
+vn -0.839241 0.484170 -0.247496
+vn -0.831475 0.497806 -0.246654
+vn -0.839241 0.484170 -0.247496
+vn -0.529390 0.822898 -0.206360
+vn -0.545921 0.811500 -0.208416
+vn 0.946939 0.274622 0.167000
+vn 0.953441 0.231054 0.193814
+vn 0.556240 0.828623 0.063101
+vn 0.536521 0.841899 0.057885
+vn 0.183065 0.943172 0.277333
+vn 0.837712 0.325109 0.438796
+vn 0.085312 0.933115 0.349310
+vn 0.784214 -0.123544 0.608067
+vn 0.837712 0.325109 0.438796
+vn 0.828741 0.395155 0.396283
+vn 0.916914 0.095317 0.387536
+vn 0.917762 0.126369 0.376490
+vn 0.085312 0.933115 0.349310
+vn 0.784214 -0.123544 0.608067
+vn -0.237276 0.893795 0.380566
+vn 0.217299 -0.639942 0.737058
+vn -0.237276 0.893795 0.380566
+vn 0.217299 -0.639942 0.737058
+vn -0.313831 0.936244 0.157978
+vn -0.268172 0.533654 0.802058
+vn 0.914415 0.133286 0.382205
+vn 0.904394 0.138702 0.403526
+vn 0.880889 0.263296 0.393332
+vn 0.870994 0.269437 0.410821
+vn 0.343864 0.281497 -0.895833
+vn 0.134897 0.960135 -0.244832
+vn 0.315662 0.369827 -0.873834
+vn 0.351787 0.927693 -0.125027
+vn 0.343864 0.281497 -0.895833
+vn 0.315662 0.369827 -0.873834
+vn 0.328340 -0.039314 -0.943741
+vn -0.521833 0.168360 -0.836269
+vn -0.024191 0.999561 -0.017114
+vn -0.102666 0.994225 0.031242
+vn 0.001434 0.999990 -0.004278
+vn -0.268172 0.533654 0.802058
+vn -0.011988 0.999298 0.035486
+vn 0.028263 0.997934 0.057694
+vn -0.042093 0.991406 0.123866
+vn -0.003732 0.990692 0.136070
+vn -0.054297 0.985781 0.159021
+vn -0.042093 0.991406 0.123866
+vn -0.013442 0.985940 0.166561
+vn -0.003732 0.990692 0.136070
+vn -0.033027 0.994812 0.096225
+vn -0.054297 0.985781 0.159021
+vn 0.009535 0.993829 0.110509
+vn -0.013442 0.985940 0.166561
+vn 0.102749 0.955299 -0.277212
+vn -0.033027 0.994812 0.096225
+vn 0.134897 0.960135 -0.244832
+vn 0.009535 0.993829 0.110509
+vn -0.921914 0.316405 0.223525
+vn -0.340984 0.507426 0.791359
+vn -0.850579 0.465078 0.245394
+vn -0.213750 0.759871 0.613928
+vn 0.925360 0.178276 0.334555
+vn 0.894124 0.323193 0.309981
+vn 0.921756 0.173570 0.346755
+vn 0.889559 0.320923 0.325105
+vn -0.961629 0.167435 -0.217337
+vn -0.873085 -0.023629 -0.486995
+vn -0.967265 0.067379 -0.244658
+vn -0.809217 -0.136705 -0.571384
+vn -0.967265 0.067379 -0.244658
+vn -0.809217 -0.136705 -0.571384
+vn -0.952942 -0.091500 -0.289013
+vn -0.812910 -0.241595 -0.529915
+vn -0.858548 -0.332375 -0.390413
+vn -0.726277 -0.467211 -0.504217
+vn -0.995459 -0.051063 0.080340
+vn -0.996329 -0.059885 0.061176
+vn 0.680941 0.535093 0.499995
+vn 0.655096 0.696889 0.291881
+vn 0.997242 -0.060896 -0.042430
+vn 0.989288 -0.057495 -0.134176
+vn 0.628272 -0.581659 -0.516669
+vn 0.583279 -0.711794 -0.391324
+vn 0.033060 -0.757959 -0.651464
+vn 0.014016 -0.899575 -0.436541
+vn 0.013919 -0.677469 -0.735420
+vn 0.033060 -0.757959 -0.651464
+vn -0.671252 -0.511922 -0.536057
+vn -0.648508 -0.591765 -0.478802
+vn -0.726277 -0.467211 -0.504217
+vn -0.671252 -0.511922 -0.536057
+vn -0.996329 -0.059885 0.061176
+vn -0.999297 -0.013242 0.035072
+vn -0.974170 -0.084331 -0.209477
+vn -0.812910 -0.241595 -0.529915
+vn -0.903245 -0.114683 -0.413517
+vn -0.809217 -0.136705 -0.571384
+vn -0.979377 -0.201403 -0.016052
+vn -0.974170 -0.084331 -0.209477
+vn -0.990994 -0.133401 0.011607
+vn -0.995425 -0.094097 -0.016560
+vn -0.768623 -0.364619 0.525616
+vn -0.843274 -0.357186 0.401632
+vn -0.846921 -0.150514 0.509972
+vn -0.913877 -0.154344 0.375508
+vn -0.973808 -0.137483 0.181097
+vn -0.768623 -0.364619 0.525616
+vn -0.985387 0.065217 0.157349
+vn -0.846921 -0.150514 0.509972
+vn -0.230678 -0.855446 0.463681
+vn -0.660270 -0.657824 0.362369
+vn -0.083933 -0.975549 0.203125
+vn -0.665828 -0.737761 0.111269
+vn 0.073054 -0.961831 -0.263711
+vn 0.501348 -0.859685 -0.097934
+vn -0.220767 -0.200882 -0.954415
+vn 0.637176 -0.725278 -0.260725
+vn 0.121011 -0.951619 -0.282449
+vn 0.689557 -0.677984 -0.254653
+vn 0.501348 -0.859685 -0.097934
+vn 0.637176 -0.725278 -0.260725
+vn -0.905216 0.175657 -0.386948
+vn -0.793939 0.094207 -0.600654
+vn 0.324688 0.693699 -0.642930
+vn 0.261667 0.060505 -0.963260
+vn -0.263348 0.712169 0.650740
+vn -0.148256 0.481170 0.864000
+vn -0.967214 0.242099 0.076721
+vn -0.927273 0.283170 0.244909
+vn -0.197676 0.461853 0.864648
+vn -0.157480 0.707784 0.688652
+vn -0.916806 0.271865 0.292501
+vn -0.821930 0.464264 0.329986
+vn -0.916806 0.271865 0.292501
+vn -0.821930 0.464264 0.329986
+vn -0.981517 0.147442 -0.122002
+vn -0.860972 0.503814 -0.069992
+vn -0.981517 0.147442 -0.122002
+vn -0.860972 0.503814 -0.069992
+vn -0.793939 0.094207 -0.600654
+vn -0.722101 0.341023 -0.601892
+vn 0.921941 -0.020501 -0.386787
+vn 0.278252 -0.033763 -0.959915
+vn 0.888562 0.139389 -0.437068
+vn 0.256818 0.413288 -0.873635
+vn -0.674593 0.037079 -0.737258
+vn -0.611543 0.232150 -0.756387
+vn 0.278252 -0.033763 -0.959915
+vn 0.256818 0.413288 -0.873635
+vn -0.881615 0.267748 0.388671
+vn -0.772453 0.474827 0.421729
+vn -0.981580 0.136826 -0.133337
+vn -0.844829 0.527708 -0.088252
+vn -0.981580 0.136826 -0.133337
+vn -0.844829 0.527708 -0.088252
+vn -0.674593 0.037079 -0.737258
+vn -0.611543 0.232150 -0.756387
+vn 0.777823 0.218808 0.589164
+vn 0.675856 0.419167 0.606232
+vn -0.197676 0.461853 0.864648
+vn -0.157480 0.707784 0.688652
+vn 0.646824 0.274864 0.711385
+vn 0.580694 0.426793 0.693283
+vn -0.261265 0.425815 0.866269
+vn -0.136870 0.679959 0.720363
+vn -0.881615 0.267748 0.388671
+vn -0.261265 0.425815 0.866269
+vn -0.772453 0.474827 0.421729
+vn -0.136870 0.679959 0.720363
+vn 0.725857 0.393420 0.564227
+vn 0.028759 0.950885 0.308204
+vn 0.187915 0.949616 -0.250833
+vn -0.334074 0.940287 -0.065236
+vn -0.910534 0.342729 -0.231223
+vn -0.521833 0.168360 -0.836269
+vn -0.334074 0.940287 -0.065236
+vn 0.187915 0.949616 -0.250833
+vn -0.894898 0.268670 -0.356334
+vn -0.809100 0.101702 -0.578804
+vn 0.204213 0.812568 -0.545921
+vn 0.172591 0.090294 -0.980846
+vn -0.066120 0.513090 0.855785
+vn -0.052944 0.750822 0.658380
+vn -0.941947 0.273720 0.194458
+vn -0.850391 0.470388 0.235736
+vn 0.011032 0.804062 0.594443
+vn 0.837122 0.301237 0.456599
+vn -0.066120 0.513090 0.855785
+vn 0.855309 0.183435 0.484560
+vn 0.078233 0.974644 0.209639
+vn 0.650462 0.711011 0.267136
+vn 0.011032 0.804062 0.594443
+vn 0.837122 0.301237 0.456599
+vn 0.095026 0.160177 -0.982504
+vn 0.980034 0.043302 -0.194060
+vn 0.087487 0.794312 -0.601177
+vn 0.991701 0.117389 -0.052424
+vn -0.863946 0.132009 -0.485974
+vn -0.803486 0.371568 -0.465132
+vn 0.095026 0.160177 -0.982504
+vn 0.084161 0.701132 -0.708047
+vn -0.035893 0.997239 -0.065015
+vn 0.070217 0.822865 -0.563882
+vn 0.685232 0.720650 0.105452
+vn 0.974719 0.223408 -0.003356
+vn -0.213711 0.655133 0.724658
+vn -0.153248 0.871042 0.466691
+vn -0.941971 0.315638 0.114296
+vn -0.806719 0.581366 0.105914
+vn -0.941971 0.315638 0.114296
+vn -0.806719 0.581366 0.105914
+vn -0.964945 0.177274 -0.193534
+vn -0.806111 0.560519 -0.189745
+vn -0.964945 0.177274 -0.193534
+vn -0.806111 0.560519 -0.189745
+vn -0.830526 0.146676 -0.537321
+vn -0.721015 0.463206 -0.515342
+vn 0.295159 0.171396 -0.939949
+vn 0.988148 0.067064 -0.138081
+vn 0.179688 0.771191 -0.610718
+vn 0.980209 0.197763 -0.008934
+vn -0.170566 0.848435 0.501064
+vn 0.007520 0.998351 -0.056914
+vn -0.845199 0.524426 0.103037
+vn -0.836662 0.511391 -0.196152
+vn -0.836662 0.511391 -0.196152
+vn 0.007520 0.998351 -0.056914
+vn -0.736146 0.415948 -0.533926
+vn 0.212208 0.666028 -0.715105
+vn 0.827160 0.376818 0.416911
+vn 0.624109 0.766774 0.150150
+vn 0.924677 0.336747 0.177691
+vn 0.914713 0.382092 0.131555
+vn 0.827160 0.376818 0.416911
+vn 0.977296 0.046805 0.206643
+vn 0.831417 0.253505 0.494451
+vn 0.973132 0.103716 0.205563
+vn 0.663964 -0.698881 0.265927
+vn 0.713242 -0.667680 0.213281
+vn 0.939925 -0.339871 0.032063
+vn 0.953330 -0.299707 0.036577
+vn 0.063818 -0.939926 0.335359
+vn 0.019464 -0.950217 0.310980
+vn 0.713242 -0.667680 0.213281
+vn 0.728313 -0.651942 0.211024
+vn -0.987666 -0.139896 -0.070322
+vn -0.962842 0.161324 -0.216588
+vn -0.900544 -0.427944 0.076709
+vn -0.991057 -0.049969 -0.123730
+vn 0.986681 -0.160861 0.024158
+vn 0.976572 -0.163975 -0.139357
+vn 0.999481 -0.027722 0.016431
+vn 0.964934 -0.124709 -0.230975
+vn 0.664809 0.690913 0.284022
+vn 0.652617 0.747865 0.121608
+vn 0.999584 0.002528 0.028729
+vn 0.999399 0.003856 0.034455
+vn 0.008001 0.992188 0.124493
+vn 0.039353 0.997918 -0.051095
+vn 0.652617 0.747865 0.121608
+vn 0.639120 0.766688 -0.060962
+vn 0.008001 0.992188 0.124493
+vn -0.658139 0.752896 0.000516
+vn 0.039353 0.997918 -0.051095
+vn -0.487263 0.846834 -0.213182
+vn -0.990222 -0.096545 -0.100692
+vn -0.901836 -0.157637 -0.402296
+vn -0.658139 0.752896 0.000516
+vn -0.487263 0.846834 -0.213182
+vn -0.990222 -0.096545 -0.100692
+vn -0.583224 -0.809636 -0.065870
+vn -0.901836 -0.157637 -0.402296
+vn -0.335054 -0.941456 -0.037398
+vn 0.940418 0.094925 -0.326502
+vn 0.964934 -0.124709 -0.230975
+vn 0.647946 -0.090056 -0.756344
+vn 0.726670 -0.250566 -0.639662
+vn -0.765700 0.506000 -0.397075
+vn -0.798840 0.476531 -0.367115
+vn -0.823821 0.376740 -0.423540
+vn -0.837983 0.396743 -0.374672
+vn -0.872286 0.250070 -0.420217
+vn -0.883262 0.264311 -0.387282
+vn -0.724423 0.556533 -0.406797
+vn -0.837983 0.396743 -0.374672
+vn -0.872286 0.250070 -0.420217
+vn -0.878001 0.366196 -0.308245
+vn -0.891878 0.031818 -0.451155
+vn -0.919153 0.003328 -0.393887
+vn -0.923601 0.359041 -0.134355
+vn -0.993388 -0.011565 -0.114219
+vn -0.878001 0.366196 -0.308245
+vn -0.979453 -0.018634 -0.200811
+vn -0.404654 0.896296 -0.181406
+vn 0.000000 0.982607 -0.185696
+vn -0.399802 0.914602 -0.060517
+vn 0.000000 0.998695 -0.051075
+vn 0.991549 -0.027578 -0.126764
+vn 0.977555 0.035295 -0.207704
+vn 0.969202 -0.121510 -0.214205
+vn 0.964189 -0.056842 -0.259053
+vn 0.991549 -0.027578 -0.126764
+vn 0.996373 -0.007808 -0.084737
+vn 0.914820 0.367445 -0.167598
+vn 0.917888 0.389047 -0.078256
+vn 0.923376 0.016173 -0.383555
+vn 0.909508 0.059095 -0.411464
+vn 0.737624 -0.092157 -0.668893
+vn 0.743929 0.166526 -0.647178
+vn -0.985387 0.065217 0.157349
+vn -0.988005 0.150047 -0.036506
+vn -0.973808 -0.137483 0.181097
+vn -0.998679 -0.016927 -0.048512
+vn -0.998056 -0.003899 0.062207
+vn -0.998940 -0.040744 -0.021440
+vn -0.935830 -0.094431 -0.339567
+vn -0.903245 -0.114683 -0.413517
+vn 0.685232 0.720650 0.105452
+vn 0.974719 0.223408 -0.003356
+vn 0.922759 0.341429 0.178725
+vn 0.946939 0.274622 0.167000
+vn 0.690264 0.694722 0.202230
+vn 0.443790 0.891612 0.089877
+vn 0.695205 0.689024 0.204784
+vn 0.450342 0.887913 0.093821
+vn 0.022304 0.996417 -0.081582
+vn -0.187178 0.972008 -0.142004
+vn 0.019947 0.997093 -0.073536
+vn -0.198026 0.970257 -0.139237
+vn 0.953441 0.231054 0.193814
+vn 0.946939 0.274622 0.167000
+vn 0.975626 0.046360 0.214485
+vn 0.974719 0.223408 -0.003356
+vn 0.892423 0.327208 0.310670
+vn 0.695205 0.689024 0.204784
+vn 0.894124 0.323193 0.309981
+vn 0.700112 0.683263 0.207354
+vn 0.916914 0.095317 0.387536
+vn 0.922695 -0.007141 0.385465
+vn 0.837712 0.325109 0.438796
+vn 0.784214 -0.123544 0.608067
+vn 0.919134 0.129894 0.371915
+vn 0.914415 0.133286 0.382205
+vn 0.886708 0.257734 0.383826
+vn 0.880889 0.263296 0.393332
+vn 0.917762 0.126369 0.376490
+vn 0.919134 0.129894 0.371915
+vn 0.887435 0.251944 0.385984
+vn 0.886708 0.257734 0.383826
+vn 0.916914 0.095317 0.387536
+vn 0.917762 0.126369 0.376490
+vn 0.891100 0.247359 0.380466
+vn 0.887435 0.251944 0.385984
+vn 0.869902 0.437974 0.226826
+vn 0.931104 0.181580 -0.316346
+vn 0.021402 0.997043 -0.073811
+vn 0.265659 0.431705 -0.862007
+vn 0.957872 0.044163 -0.283779
+vn 0.303534 -0.032065 -0.952281
+vn 0.931104 0.181580 -0.316346
+vn 0.265659 0.431705 -0.862007
+vn 0.303534 -0.032065 -0.952281
+vn 0.328340 -0.039314 -0.943741
+vn -0.661970 0.035692 -0.748680
+vn -0.521833 0.168360 -0.836269
+vn 0.001434 0.999990 -0.004278
+vn 0.029194 0.999573 0.001213
+vn -0.011988 0.999298 0.035486
+vn 0.028263 0.997934 0.057694
+vn -0.921914 0.316405 0.223525
+vn -0.850579 0.465078 0.245394
+vn -0.956463 0.156206 -0.246534
+vn -0.860237 0.454645 -0.230846
+vn -0.850579 0.465078 0.245394
+vn -0.213750 0.759871 0.613928
+vn -0.860237 0.454645 -0.230846
+vn 0.021402 0.997043 -0.073811
+vn 0.870994 0.269437 0.410821
+vn 0.859642 0.279858 0.427429
+vn 0.696668 0.599336 0.394271
+vn 0.680756 0.616205 0.396059
+vn 0.859642 0.279858 0.427429
+vn 0.857593 0.296836 0.420026
+vn 0.680756 0.616205 0.396059
+vn 0.672794 0.640602 0.370105
+vn 0.857593 0.296836 0.420026
+vn 0.873030 0.314035 0.373096
+vn 0.672794 0.640602 0.370105
+vn 0.683895 0.665414 0.299184
+vn 0.894124 0.323193 0.309981
+vn 0.700112 0.683263 0.207354
+vn 0.889559 0.320923 0.325105
+vn 0.697957 0.677784 0.231225
+vn 0.889559 0.320923 0.325105
+vn 0.697957 0.677784 0.231225
+vn 0.873030 0.314035 0.373096
+vn 0.683895 0.665414 0.299184
+vn 0.880889 0.263296 0.393332
+vn 0.870994 0.269437 0.410821
+vn 0.709151 0.588609 0.388130
+vn 0.696668 0.599336 0.394271
+vn -0.638377 0.301975 0.708016
+vn -0.996329 -0.059885 0.061176
+vn -0.664039 0.433624 0.609116
+vn -0.999297 -0.013242 0.035072
+vn 0.051424 0.588536 0.806834
+vn -0.664039 0.433624 0.609116
+vn 0.012169 0.725743 0.687858
+vn -0.664809 0.535028 0.521320
+vn 0.012169 0.725743 0.687858
+vn -0.011137 0.872826 0.487905
+vn 0.680941 0.535093 0.499995
+vn 0.655096 0.696889 0.291881
+vn 0.989288 -0.057495 -0.134176
+vn 0.655096 0.696889 0.291881
+vn 0.901836 0.003864 -0.432062
+vn 0.487263 0.865218 0.118210
+vn 0.989288 -0.057495 -0.134176
+vn 0.901836 0.003864 -0.432062
+vn 0.583279 -0.711794 -0.391324
+vn 0.335055 -0.859501 -0.386000
+vn -0.974170 -0.084331 -0.209477
+vn -0.903245 -0.114683 -0.413517
+vn -0.995425 -0.094097 -0.016560
+vn -0.998940 -0.040744 -0.021440
+vn -0.843274 -0.357186 0.401632
+vn -0.990994 -0.133401 0.011607
+vn -0.913877 -0.154344 0.375508
+vn -0.995425 -0.094097 -0.016560
+vn -0.973808 -0.137483 0.181097
+vn -0.998679 -0.016927 -0.048512
+vn -0.922664 -0.284367 0.260437
+vn -0.996591 -0.073890 -0.036695
+vn -0.660270 -0.657824 0.362369
+vn -0.922664 -0.284367 0.260437
+vn -0.973579 -0.226915 0.025574
+vn -0.996591 -0.073890 -0.036695
+vn -0.083933 -0.975549 0.203125
+vn -0.035944 -0.997343 0.063366
+vn 0.416058 -0.904926 0.089470
+vn 0.682070 -0.731287 -0.000252
+vn -0.326613 -0.945157 -0.001567
+vn -0.025820 -0.950341 -0.310138
+vn -0.553369 -0.824734 -0.116603
+vn -0.688920 -0.683914 -0.240106
+vn 0.121011 -0.951619 -0.282449
+vn -0.553369 -0.824734 -0.116603
+vn -0.672131 -0.678358 -0.296765
+vn -0.688920 -0.683914 -0.240106
+vn -0.326613 -0.945157 -0.001567
+vn 0.793677 -0.602161 -0.086482
+vn -0.025820 -0.950341 -0.310138
+vn 0.948524 -0.304993 -0.085328
+vn 0.416058 -0.904926 0.089470
+vn 0.682070 -0.731287 -0.000252
+vn 0.793677 -0.602161 -0.086482
+vn 0.948524 -0.304993 -0.085328
+vn -0.954646 0.048429 -0.293778
+vn -0.748989 0.488852 -0.447257
+vn -0.962842 0.161324 -0.216588
+vn -0.747973 0.552644 -0.367588
+vn 0.073054 -0.961831 -0.263711
+vn -0.220767 -0.200882 -0.954415
+vn -0.748989 0.488852 -0.447257
+vn -0.356941 0.757305 -0.546885
+vn 0.121011 -0.951619 -0.282449
+vn 0.011688 -0.920591 -0.390353
+vn 0.689557 -0.677984 -0.254653
+vn 0.678361 -0.679871 -0.278570
+vn 0.112937 0.962118 0.248142
+vn 0.324688 0.693699 -0.642930
+vn 0.659795 0.722998 0.204806
+vn 0.986342 0.152319 -0.062670
+vn -0.148256 0.481170 0.864000
+vn -0.263348 0.712169 0.650740
+vn 0.148640 0.682958 0.715174
+vn 0.148640 0.682958 0.715174
+vn -0.263348 0.712169 0.650740
+vn 0.112937 0.962118 0.248142
+vn 0.888562 0.139389 -0.437068
+vn 0.871363 0.438513 0.220075
+vn 0.921941 -0.020501 -0.386787
+vn 0.972791 0.075737 0.218954
+vn 0.921941 -0.020501 -0.386787
+vn 0.972791 0.075737 0.218954
+vn 0.985913 0.147465 -0.078929
+vn 0.975031 0.029701 0.220076
+vn 0.810749 0.328661 0.484426
+vn 0.737338 0.643323 0.206078
+vn 0.872410 0.426259 0.239176
+vn 0.823075 0.525207 0.216114
+vn 0.737338 0.643323 0.206078
+vn 0.985913 0.147465 -0.078929
+vn 0.823075 0.525207 0.216114
+vn 0.904715 0.381644 0.189310
+vn 0.777823 0.218808 0.589164
+vn 0.981351 0.070626 0.178779
+vn 0.675856 0.419167 0.606232
+vn 0.881995 0.423584 0.206547
+vn 0.810749 0.328661 0.484426
+vn 0.983923 0.011655 0.178213
+vn 0.777823 0.218808 0.589164
+vn 0.981351 0.070626 0.178779
+vn 0.646824 0.274864 0.711385
+vn 0.972791 0.075737 0.218954
+vn 0.580694 0.426793 0.693283
+vn 0.871363 0.438513 0.220075
+vn 0.725857 0.393420 0.564227
+vn 0.975031 0.029701 0.220076
+vn 0.646824 0.274864 0.711385
+vn 0.972791 0.075737 0.218954
+vn 0.725857 0.393420 0.564227
+vn 0.187915 0.949616 -0.250833
+vn 0.913592 0.391539 0.109762
+vn 0.722328 0.456529 -0.519446
+vn -0.910534 0.342729 -0.231223
+vn -0.956463 0.156206 -0.246534
+vn -0.521833 0.168360 -0.836269
+vn -0.661970 0.035692 -0.748680
+vn -0.148256 0.481170 0.864000
+vn -0.103991 0.664875 0.739681
+vn -0.927273 0.283170 0.244909
+vn -0.813310 0.470265 0.342605
+vn -0.927273 0.283170 0.244909
+vn -0.813310 0.470265 0.342605
+vn -0.979135 0.152338 -0.134491
+vn -0.856678 0.512480 -0.058886
+vn -0.979135 0.152338 -0.134491
+vn -0.856678 0.512480 -0.058886
+vn -0.809100 0.101702 -0.578804
+vn -0.738191 0.336024 -0.584946
+vn 0.078233 0.974644 0.209639
+vn 0.204213 0.812568 -0.545921
+vn 0.650462 0.711011 0.267136
+vn 0.980460 0.196551 -0.008129
+vn -0.066120 0.513090 0.855785
+vn 0.855309 0.183435 0.484560
+vn -0.052944 0.750822 0.658380
+vn 0.765076 0.405472 0.500251
+vn -0.850391 0.470388 0.235736
+vn -0.052944 0.750822 0.658380
+vn -0.877283 0.470637 -0.094213
+vn 0.005861 0.995733 0.092091
+vn -0.877283 0.470637 -0.094213
+vn 0.005861 0.995733 0.092091
+vn -0.803486 0.371568 -0.465132
+vn 0.084161 0.701132 -0.708047
+vn 0.980034 0.043302 -0.194060
+vn 0.095026 0.160177 -0.982504
+vn 0.925716 0.329901 -0.184974
+vn 0.084161 0.701132 -0.708047
+vn 0.624109 0.766774 0.150150
+vn 0.991701 0.117389 -0.052424
+vn 0.914713 0.382092 0.131555
+vn 0.969492 0.206023 0.132816
+vn 0.070217 0.822865 -0.563882
+vn 0.190730 0.219293 -0.956835
+vn 0.974719 0.223408 -0.003356
+vn 0.982800 0.091607 -0.160349
+vn -0.830526 0.146676 -0.537321
+vn -0.721015 0.463206 -0.515342
+vn 0.190730 0.219293 -0.956835
+vn 0.121882 0.701737 -0.701933
+vn -0.213711 0.655133 0.724658
+vn 0.822859 0.278266 0.495450
+vn -0.153248 0.871042 0.466691
+vn 0.687026 0.582313 0.434634
+vn 0.840394 0.369180 0.396793
+vn 0.665767 0.738551 0.106285
+vn 0.928149 0.310439 0.205349
+vn 0.903105 0.393776 0.171296
+vn 0.840394 0.369180 0.396793
+vn 0.975626 0.046360 0.214485
+vn 0.822859 0.278266 0.495450
+vn 0.970783 0.121516 0.206916
+vn 0.988148 0.067064 -0.138081
+vn 0.295159 0.171396 -0.939949
+vn 0.914026 0.367835 -0.171040
+vn 0.212208 0.666028 -0.715105
+vn 0.665767 0.738551 0.106285
+vn 0.980209 0.197763 -0.008934
+vn 0.903105 0.393776 0.171296
+vn 0.937082 0.309569 0.161383
+vn -0.170566 0.848435 0.501064
+vn 0.724760 0.515471 0.457180
+vn 0.007520 0.998351 -0.056914
+vn 0.861713 0.480367 0.163395
+vn 0.831417 0.253505 0.494451
+vn 0.973132 0.103716 0.205563
+vn 0.724760 0.515471 0.457180
+vn 0.861713 0.480367 0.163395
+vn 0.924677 0.336747 0.177691
+vn 0.949655 0.253425 0.184205
+vn 0.827160 0.376818 0.416911
+vn 0.977296 0.046805 0.206643
+vn 0.019464 -0.950217 0.310980
+vn -0.678042 -0.711924 0.182819
+vn 0.009085 -0.785833 0.618372
+vn -0.820731 -0.497891 0.280189
+vn -0.900544 -0.427944 0.076709
+vn -0.991057 -0.049969 -0.123730
+vn -0.678042 -0.711924 0.182819
+vn -0.990108 -0.106807 -0.090984
+vn 0.939925 -0.339871 0.032063
+vn 0.953330 -0.299707 0.036577
+vn 0.976572 -0.163975 -0.139357
+vn 0.954392 0.095650 -0.282819
+vn 0.005583 -0.999476 -0.031885
+vn 0.025159 -0.988582 0.148568
+vn -0.583224 -0.809636 -0.065870
+vn -0.335054 -0.941456 -0.037398
+vn 0.641525 -0.766870 -0.018873
+vn 0.618982 -0.778860 0.101184
+vn 0.005583 -0.999476 -0.031885
+vn 0.025159 -0.988582 0.148568
+vn 0.999399 0.003856 0.034455
+vn 0.652617 0.747865 0.121608
+vn 0.999604 -0.000771 -0.028128
+vn 0.639120 0.766688 -0.060962
+vn 0.641525 -0.766870 -0.018873
+vn 0.999399 0.003856 0.034455
+vn 0.618982 -0.778860 0.101184
+vn 0.999604 -0.000771 -0.028128
+vn 0.976572 -0.163975 -0.139357
+vn 0.803313 -0.060196 -0.592507
+vn 0.964934 -0.124709 -0.230975
+vn 0.726670 -0.250566 -0.639662
+vn -0.874636 0.465255 -0.136195
+vn -0.657804 0.584721 -0.474758
+vn -0.942440 0.202366 -0.266185
+vn -0.644627 0.278099 -0.712121
+vn -0.718501 0.636393 -0.280641
+vn -0.640402 0.608318 -0.468865
+vn -0.657804 0.584721 -0.474758
+vn -0.625123 0.521335 -0.580889
+vn -0.640402 0.608318 -0.468865
+vn -0.765700 0.506000 -0.397075
+vn -0.625123 0.521335 -0.580889
+vn -0.823821 0.376740 -0.423540
+vn -0.883262 0.264311 -0.387282
+vn -0.872286 0.250070 -0.420217
+vn -0.878770 0.167981 -0.446706
+vn -0.891878 0.031818 -0.451155
+vn -0.993388 -0.011565 -0.114219
+vn -0.923601 0.359041 -0.134355
+vn -0.995797 -0.004915 -0.091454
+vn -0.918161 0.388283 -0.078849
+vn -0.923601 0.359041 -0.134355
+vn -0.404654 0.896296 -0.181406
+vn -0.918161 0.388283 -0.078849
+vn -0.399802 0.914602 -0.060517
+vn 0.917888 0.389047 -0.078256
+vn 0.917842 0.392374 -0.060080
+vn 0.397324 0.915640 -0.061137
+vn 0.397557 0.917513 -0.010892
+vn 0.397324 0.915640 -0.061137
+vn 0.397557 0.917513 -0.010892
+vn 0.000000 0.998695 -0.051075
+vn 0.000000 0.999986 0.005218
+vn 0.946209 -0.025916 -0.322518
+vn 0.923376 0.016173 -0.383555
+vn 0.892171 -0.121527 -0.435043
+vn 0.737624 -0.092157 -0.668893
+vn 0.977555 0.035295 -0.207704
+vn 0.946209 -0.025916 -0.322518
+vn 0.964189 -0.056842 -0.259053
+vn 0.892171 -0.121527 -0.435043
+vn 0.991549 -0.027578 -0.126764
+vn 0.969202 -0.121510 -0.214205
+vn 0.933211 -0.317702 -0.167877
+vn 0.885382 -0.387520 -0.256762
+vn 0.996373 -0.007808 -0.084737
+vn 0.991549 -0.027578 -0.126764
+vn 0.932553 -0.338357 -0.125935
+vn 0.933211 -0.317702 -0.167877
+vn 0.996373 -0.007808 -0.084737
+vn 0.996072 -0.004091 -0.088457
+vn 0.917888 0.389047 -0.078256
+vn 0.917842 0.392374 -0.060080
+vn -0.988005 0.150047 -0.036506
+vn -0.942440 0.202366 -0.266185
+vn -0.998679 -0.016927 -0.048512
+vn -0.954335 0.046524 -0.295095
+vn -0.873085 -0.023629 -0.486995
+vn -0.935830 -0.094431 -0.339567
+vn -0.809217 -0.136705 -0.571384
+vn -0.903245 -0.114683 -0.413517
+vn -0.342495 0.923325 -0.173691
+vn -0.356272 0.917801 -0.175249
+vn -0.187178 0.972008 -0.142004
+vn -0.198026 0.970257 -0.139237
+vn -0.545921 0.811500 -0.208416
+vn -0.560258 0.800903 -0.211339
+vn -0.342495 0.923325 -0.173691
+vn -0.356272 0.917801 -0.175249
+vn -0.839241 0.484170 -0.247496
+vn -0.846769 0.470504 -0.248210
+vn -0.545921 0.811500 -0.208416
+vn -0.560258 0.800903 -0.211339
+vn 0.443790 0.891612 0.089877
+vn 0.247830 0.968764 0.008703
+vn 0.450342 0.887913 0.093821
+vn 0.253214 0.967332 0.012292
+vn 0.247830 0.968764 0.008703
+vn 0.019947 0.997093 -0.073536
+vn 0.253214 0.967332 0.012292
+vn 0.020466 0.997200 -0.071920
+vn 0.953441 0.231054 0.193814
+vn 0.928149 0.310439 0.205349
+vn 0.536521 0.841899 0.057885
+vn 0.515356 0.855387 0.052161
+vn 0.536521 0.841899 0.057885
+vn 0.515356 0.855387 0.052161
+vn -0.045519 0.995135 -0.087378
+vn -0.058101 0.994209 -0.090402
+vn -0.045519 0.995135 -0.087378
+vn -0.058101 0.994209 -0.090402
+vn -0.682807 0.697343 -0.217914
+vn -0.692632 0.687099 -0.219446
+vn -0.682807 0.697343 -0.217914
+vn -0.692632 0.687099 -0.219446
+vn -0.930642 0.269569 -0.247465
+vn -0.932953 0.261772 -0.247133
+vn -0.930642 0.269569 -0.247465
+vn -0.932953 0.261772 -0.247133
+vn -0.839241 0.484170 -0.247496
+vn -0.846769 0.470504 -0.248210
+vn 0.975626 0.046360 0.214485
+vn 0.840394 0.369180 0.396793
+vn 0.953441 0.231054 0.193814
+vn 0.928149 0.310439 0.205349
+vn 0.922695 -0.007141 0.385465
+vn 0.916914 0.095317 0.387536
+vn 0.906901 0.253125 0.336835
+vn 0.891100 0.247359 0.380466
+vn 0.784214 -0.123544 0.608067
+vn 0.634231 -0.616073 0.467124
+vn 0.217299 -0.639942 0.737058
+vn 0.223933 -0.857028 0.464066
+vn -0.268172 0.533654 0.802058
+vn 0.217299 -0.639942 0.737058
+vn -0.122627 -0.907069 0.402727
+vn 0.223933 -0.857028 0.464066
+vn 0.886708 0.257734 0.383826
+vn 0.880889 0.263296 0.393332
+vn 0.718833 0.580158 0.383008
+vn 0.709151 0.588609 0.388130
+vn -0.661970 0.035692 -0.748680
+vn -0.626471 0.203544 -0.752399
+vn 0.303534 -0.032065 -0.952281
+vn 0.265659 0.431705 -0.862007
+vn 0.134897 0.960135 -0.244832
+vn 0.009535 0.993829 0.110509
+vn 0.351787 0.927693 -0.125027
+vn 0.271786 0.949678 0.155703
+vn 0.315662 0.369827 -0.873834
+vn 0.351787 0.927693 -0.125027
+vn 0.722328 0.456529 -0.519446
+vn 0.913592 0.391539 0.109762
+vn -0.521833 0.168360 -0.836269
+vn 0.315662 0.369827 -0.873834
+vn 0.187915 0.949616 -0.250833
+vn 0.722328 0.456529 -0.519446
+vn 0.029194 0.999573 0.001213
+vn 0.001434 0.999990 -0.004278
+vn 0.059604 0.994441 0.086798
+vn -0.268172 0.533654 0.802058
+vn 0.029194 0.999573 0.001213
+vn 0.152082 0.984531 0.087010
+vn 0.028263 0.997934 0.057694
+vn 0.274417 0.951769 0.137227
+vn -0.003732 0.990692 0.136070
+vn 0.028263 0.997934 0.057694
+vn 0.220100 0.959414 0.176296
+vn 0.274417 0.951769 0.137227
+vn -0.013442 0.985940 0.166561
+vn -0.003732 0.990692 0.136070
+vn 0.228464 0.952507 0.201334
+vn 0.220100 0.959414 0.176296
+vn 0.009535 0.993829 0.110509
+vn -0.013442 0.985940 0.166561
+vn 0.271786 0.949678 0.155703
+vn 0.228464 0.952507 0.201334
+vn 0.021402 0.997043 -0.073811
+vn 0.265659 0.431705 -0.862007
+vn -0.860237 0.454645 -0.230846
+vn -0.626471 0.203544 -0.752399
+vn -0.011137 0.872826 0.487905
+vn 0.012169 0.725743 0.687858
+vn -0.652618 0.648470 0.391888
+vn -0.664809 0.535028 0.521320
+vn -0.011137 0.872826 0.487905
+vn -0.039350 0.944906 0.324967
+vn 0.655096 0.696889 0.291881
+vn 0.487263 0.865218 0.118210
+vn 0.033060 -0.757959 -0.651464
+vn 0.014016 -0.899575 -0.436541
+vn -0.648508 -0.591765 -0.478802
+vn -0.629206 -0.706887 -0.323127
+vn 0.014016 -0.899575 -0.436541
+vn 0.583279 -0.711794 -0.391324
+vn -0.025155 -0.972616 -0.231051
+vn 0.335055 -0.859501 -0.386000
+vn -0.671252 -0.511922 -0.536057
+vn -0.648508 -0.591765 -0.478802
+vn -0.999297 -0.013242 0.035072
+vn -0.999620 -0.008398 0.026271
+vn -0.083933 -0.975549 0.203125
+vn -0.665828 -0.737761 0.111269
+vn -0.035944 -0.997343 0.063366
+vn -0.742224 -0.669362 0.032528
+vn -0.660270 -0.657824 0.362369
+vn -0.973579 -0.226915 0.025574
+vn -0.665828 -0.737761 0.111269
+vn -0.986197 -0.160603 -0.040273
+vn 0.121011 -0.951619 -0.282449
+vn -0.672131 -0.678358 -0.296765
+vn 0.011688 -0.920591 -0.390353
+vn -0.660270 -0.691224 -0.293690
+vn -0.220767 -0.200882 -0.954415
+vn 0.637176 -0.725278 -0.260725
+vn 0.182154 -0.134824 -0.973983
+vn 0.800581 -0.479774 -0.359009
+vn 0.637176 -0.725278 -0.260725
+vn 0.689557 -0.677984 -0.254653
+vn 0.800581 -0.479774 -0.359009
+vn 0.885382 -0.387520 -0.256762
+vn 0.261667 0.060505 -0.963260
+vn 0.957326 0.022318 -0.288148
+vn 0.324688 0.693699 -0.642930
+vn 0.986342 0.152319 -0.062670
+vn -0.793939 0.094207 -0.600654
+vn -0.722101 0.341023 -0.601892
+vn 0.261667 0.060505 -0.963260
+vn 0.229751 0.594778 -0.770360
+vn 0.659795 0.722998 0.204806
+vn 0.749700 0.385356 0.538006
+vn 0.112937 0.962118 0.248142
+vn 0.148640 0.682958 0.715174
+vn 0.675856 0.419167 0.606232
+vn 0.881995 0.423584 0.206547
+vn -0.157480 0.707784 0.688652
+vn 0.019838 0.995195 0.095886
+vn -0.821930 0.464264 0.329986
+vn -0.157480 0.707784 0.688652
+vn -0.860972 0.503814 -0.069992
+vn 0.019838 0.995195 0.095886
+vn -0.860972 0.503814 -0.069992
+vn 0.019838 0.995195 0.095886
+vn -0.722101 0.341023 -0.601892
+vn 0.229751 0.594778 -0.770360
+vn 0.871363 0.438513 0.220075
+vn 0.888562 0.139389 -0.437068
+vn 0.047607 0.997452 0.053133
+vn 0.256818 0.413288 -0.873635
+vn -0.844829 0.527708 -0.088252
+vn 0.047607 0.997452 0.053133
+vn -0.611543 0.232150 -0.756387
+vn 0.256818 0.413288 -0.873635
+vn 0.872410 0.426259 0.239176
+vn 0.926681 0.311117 0.210877
+vn 0.810749 0.328661 0.484426
+vn 0.983923 0.011655 0.178213
+vn -0.772453 0.474827 0.421729
+vn -0.136870 0.679959 0.720363
+vn -0.844829 0.527708 -0.088252
+vn 0.047607 0.997452 0.053133
+vn 0.580694 0.426793 0.693283
+vn 0.871363 0.438513 0.220075
+vn -0.136870 0.679959 0.720363
+vn 0.047607 0.997452 0.053133
+vn 0.975031 0.029701 0.220076
+vn 0.725857 0.393420 0.564227
+vn 0.921182 0.325267 0.213601
+vn 0.913592 0.391539 0.109762
+vn -0.148256 0.481170 0.864000
+vn 0.726364 0.248101 0.640969
+vn -0.103991 0.664875 0.739681
+vn 0.652110 0.411713 0.636589
+vn 0.172591 0.090294 -0.980846
+vn 0.955967 0.039968 -0.290739
+vn 0.204213 0.812568 -0.545921
+vn 0.980460 0.196551 -0.008129
+vn -0.809100 0.101702 -0.578804
+vn -0.738191 0.336024 -0.584946
+vn 0.172591 0.090294 -0.980846
+vn 0.159985 0.600336 -0.783583
+vn 0.837122 0.301237 0.456599
+vn 0.650462 0.711011 0.267136
+vn 0.917432 0.297803 0.263879
+vn 0.900446 0.354555 0.251967
+vn 0.837122 0.301237 0.456599
+vn 0.983128 -0.000424 0.182918
+vn 0.855309 0.183435 0.484560
+vn 0.979593 0.069728 0.188510
+vn 0.925716 0.329901 -0.184974
+vn 0.887339 0.411565 0.207953
+vn 0.980034 0.043302 -0.194060
+vn 0.979593 0.069728 0.188510
+vn 0.980034 0.043302 -0.194060
+vn 0.979593 0.069728 0.188510
+vn 0.991701 0.117389 -0.052424
+vn 0.983128 -0.000424 0.182918
+vn -0.153248 0.871042 0.466691
+vn -0.035113 0.997476 -0.061719
+vn -0.806719 0.581366 0.105914
+vn -0.806111 0.560519 -0.189745
+vn -0.806111 0.560519 -0.189745
+vn -0.035113 0.997476 -0.061719
+vn -0.721015 0.463206 -0.515342
+vn 0.121882 0.701737 -0.701933
+vn 0.914026 0.367835 -0.171040
+vn 0.861713 0.480367 0.163395
+vn 0.988148 0.067064 -0.138081
+vn 0.973132 0.103716 0.205563
+vn 0.988148 0.067064 -0.138081
+vn 0.973132 0.103716 0.205563
+vn 0.980209 0.197763 -0.008934
+vn 0.977296 0.046805 0.206643
+vn 0.212208 0.666028 -0.715105
+vn 0.007520 0.998351 -0.056914
+vn 0.914026 0.367835 -0.171040
+vn 0.861713 0.480367 0.163395
+vn 0.949655 0.253425 0.184205
+vn 0.924677 0.336747 0.177691
+vn 0.454011 0.889278 0.055298
+vn 0.434572 0.895289 0.098002
+vn 0.924677 0.336747 0.177691
+vn 0.914713 0.382092 0.131555
+vn 0.434572 0.895289 0.098002
+vn 0.396463 0.905166 0.153269
+vn 0.949655 0.253425 0.184205
+vn 0.937082 0.309569 0.161383
+vn 0.977296 0.046805 0.206643
+vn 0.980209 0.197763 -0.008934
+vn 0.713242 -0.667680 0.213281
+vn 0.728313 -0.651942 0.211024
+vn 0.953330 -0.299707 0.036577
+vn 0.977250 -0.211728 -0.012434
+vn 0.019464 -0.950217 0.310980
+vn 0.009085 -0.785833 0.618372
+vn 0.728313 -0.651942 0.211024
+vn 0.853992 -0.402706 0.329432
+vn -0.962842 0.161324 -0.216588
+vn -0.747973 0.552644 -0.367588
+vn -0.991057 -0.049969 -0.123730
+vn -0.709786 0.587409 -0.388787
+vn 0.039353 0.997918 -0.051095
+vn 0.174904 0.983579 -0.044505
+vn 0.639120 0.766688 -0.060962
+vn 0.668703 0.735433 -0.109429
+vn -0.487263 0.846834 -0.213182
+vn -0.010292 0.999073 -0.041810
+vn 0.039353 0.997918 -0.051095
+vn 0.174904 0.983579 -0.044505
+vn -0.487263 0.846834 -0.213182
+vn -0.901836 -0.157637 -0.402296
+vn -0.729092 0.496830 -0.470728
+vn -0.637941 -0.309019 -0.705365
+vn -0.901836 -0.157637 -0.402296
+vn -0.335054 -0.941456 -0.037398
+vn -0.637941 -0.309019 -0.705365
+vn -0.159009 -0.917387 -0.364853
+vn 0.976572 -0.163975 -0.139357
+vn 0.954392 0.095650 -0.282819
+vn 0.803313 -0.060196 -0.592507
+vn 0.187609 0.377527 -0.906795
+vn 0.726670 -0.250566 -0.639662
+vn 0.570549 -0.276608 -0.773280
+vn 0.647946 -0.090056 -0.756344
+vn 0.737624 -0.092157 -0.668893
+vn -0.625123 0.521335 -0.580889
+vn -0.823821 0.376740 -0.423540
+vn -0.688255 0.228097 -0.688677
+vn -0.878770 0.167981 -0.446706
+vn -0.837983 0.396743 -0.374672
+vn -0.883262 0.264311 -0.387282
+vn -0.823821 0.376740 -0.423540
+vn -0.878770 0.167981 -0.446706
+vn -0.878770 0.167981 -0.446706
+vn -0.891878 0.031818 -0.451155
+vn -0.688255 0.228097 -0.688677
+vn -0.667223 0.072915 -0.741280
+vn -0.891878 0.031818 -0.451155
+vn -0.919153 0.003328 -0.393887
+vn -0.667223 0.072915 -0.741280
+vn -0.626606 0.197171 -0.753982
+vn -0.878001 0.366196 -0.308245
+vn -0.979453 -0.018634 -0.200811
+vn -0.919153 0.003328 -0.393887
+vn -0.888640 -0.027559 -0.457776
+vn -0.995797 -0.004915 -0.091454
+vn -0.930881 -0.338272 -0.137958
+vn -0.993388 -0.011565 -0.114219
+vn -0.932912 -0.312472 -0.178986
+vn -0.993388 -0.011565 -0.114219
+vn -0.932912 -0.312472 -0.178986
+vn -0.979453 -0.018634 -0.200811
+vn -0.764193 -0.451626 -0.460482
+vn -0.918161 0.388283 -0.078849
+vn -0.399802 0.914602 -0.060517
+vn -0.917759 0.392548 -0.060208
+vn -0.397912 0.917361 -0.010697
+vn -0.399802 0.914602 -0.060517
+vn 0.000000 0.998695 -0.051075
+vn -0.397912 0.917361 -0.010697
+vn 0.000000 0.999986 0.005218
+vn 0.969202 -0.121510 -0.214205
+vn 0.964189 -0.056842 -0.259053
+vn 0.932575 -0.184781 -0.310096
+vn 0.853414 -0.259883 -0.451825
+vn 0.932553 -0.338357 -0.125935
+vn 0.927221 -0.352421 -0.126731
+vn 0.996373 -0.007808 -0.084737
+vn 0.996072 -0.004091 -0.088457
+vn 0.892171 -0.121527 -0.435043
+vn 0.737624 -0.092157 -0.668893
+vn 0.682972 -0.320341 -0.656453
+vn 0.570549 -0.276608 -0.773280
+vn 0.695205 0.689024 0.204784
+vn 0.450342 0.887913 0.093821
+vn 0.700112 0.683263 0.207354
+vn 0.456806 0.884114 0.098342
+vn 0.019947 0.997093 -0.073536
+vn -0.198026 0.970257 -0.139237
+vn 0.020466 0.997200 -0.071920
+vn -0.204627 0.968754 -0.140156
+vn 0.975626 0.046360 0.214485
+vn 0.974719 0.223408 -0.003356
+vn 0.970783 0.121516 0.206916
+vn 0.982800 0.091607 -0.160349
+vn 0.784214 -0.123544 0.608067
+vn 0.922695 -0.007141 0.385465
+vn 0.634231 -0.616073 0.467124
+vn 0.928133 -0.108931 0.355955
+vn 0.922695 -0.007141 0.385465
+vn 0.906901 0.253125 0.336835
+vn 0.928133 -0.108931 0.355955
+vn 0.919538 0.283546 0.272123
+vn -0.122627 -0.907069 0.402727
+vn -0.447485 -0.854530 0.263696
+vn -0.268172 0.533654 0.802058
+vn -0.613247 -0.572910 0.543786
+vn 0.887435 0.251944 0.385984
+vn 0.886708 0.257734 0.383826
+vn 0.726887 0.571208 0.381258
+vn 0.718833 0.580158 0.383008
+vn 0.891100 0.247359 0.380466
+vn 0.887435 0.251944 0.385984
+vn 0.738729 0.565133 0.367293
+vn 0.726887 0.571208 0.381258
+vn 0.906901 0.253125 0.336835
+vn 0.891100 0.247359 0.380466
+vn 0.753797 0.576945 0.314523
+vn 0.738729 0.565133 0.367293
+vn -0.661970 0.035692 -0.748680
+vn -0.956463 0.156206 -0.246534
+vn -0.626471 0.203544 -0.752399
+vn -0.860237 0.454645 -0.230846
+vn 0.059604 0.994441 0.086798
+vn 0.102865 0.992602 0.064501
+vn 0.029194 0.999573 0.001213
+vn 0.152082 0.984531 0.087010
+vn -0.268172 0.533654 0.802058
+vn 0.131634 0.935449 0.328035
+vn 0.059604 0.994441 0.086798
+vn 0.214509 0.957468 0.192979
+vn 0.709151 0.588609 0.388130
+vn 0.696668 0.599336 0.394271
+vn 0.470390 0.815418 0.337383
+vn 0.459064 0.823888 0.332369
+vn 0.696668 0.599336 0.394271
+vn 0.680756 0.616205 0.396059
+vn 0.459064 0.823888 0.332369
+vn 0.444619 0.836231 0.320986
+vn 0.680756 0.616205 0.396059
+vn 0.672794 0.640602 0.370105
+vn 0.444619 0.836231 0.320986
+vn 0.436931 0.853789 0.283082
+vn 0.683895 0.665414 0.299184
+vn 0.445902 0.872102 0.201519
+vn 0.672794 0.640602 0.370105
+vn 0.436931 0.853789 0.283082
+vn 0.700112 0.683263 0.207354
+vn 0.456806 0.884114 0.098342
+vn 0.697957 0.677784 0.231225
+vn 0.456917 0.880536 0.126028
+vn 0.697957 0.677784 0.231225
+vn 0.456917 0.880536 0.126028
+vn 0.683895 0.665414 0.299184
+vn 0.445902 0.872102 0.201519
+vn 0.718833 0.580158 0.383008
+vn 0.709151 0.588609 0.388130
+vn 0.481360 0.809149 0.337002
+vn 0.470390 0.815418 0.337383
+vn -0.664039 0.433624 0.609116
+vn -0.999297 -0.013242 0.035072
+vn -0.664809 0.535028 0.521320
+vn -0.999620 -0.008398 0.026271
+vn -0.011137 0.872826 0.487905
+vn -0.652618 0.648470 0.391888
+vn -0.039350 0.944906 0.324967
+vn -0.639121 0.734058 0.229528
+vn 0.487263 0.865218 0.118210
+vn 0.729092 0.636595 -0.251340
+vn 0.901836 0.003864 -0.432062
+vn 0.637940 -0.023493 -0.769728
+vn 0.901836 0.003864 -0.432062
+vn 0.637940 -0.023493 -0.769728
+vn 0.335055 -0.859501 -0.386000
+vn 0.159004 -0.714985 -0.680819
+vn -0.025155 -0.972616 -0.231051
+vn -0.618980 -0.760363 -0.196755
+vn 0.014016 -0.899575 -0.436541
+vn -0.629206 -0.706887 -0.323127
+vn -0.998679 -0.016927 -0.048512
+vn -0.954335 0.046524 -0.295095
+vn -0.996591 -0.073890 -0.036695
+vn -0.967693 0.111289 -0.226239
+vn -0.973579 -0.226915 0.025574
+vn -0.996591 -0.073890 -0.036695
+vn -0.986197 -0.160603 -0.040273
+vn -0.967693 0.111289 -0.226239
+vn -0.035944 -0.997343 0.063366
+vn -0.007846 -0.999083 0.042082
+vn 0.682070 -0.731287 -0.000252
+vn 0.765496 -0.643120 0.020322
+vn -0.025820 -0.950341 -0.310138
+vn -0.764193 -0.451626 -0.460482
+vn -0.688920 -0.683914 -0.240106
+vn -0.672131 -0.678358 -0.296765
+vn -0.025820 -0.950341 -0.310138
+vn 0.948524 -0.304993 -0.085328
+vn -0.764193 -0.451626 -0.460482
+vn 0.883563 0.420414 -0.206322
+vn 0.682070 -0.731287 -0.000252
+vn 0.765496 -0.643120 0.020322
+vn 0.948524 -0.304993 -0.085328
+vn 0.999324 -0.023631 -0.028163
+vn -0.748989 0.488852 -0.447257
+vn -0.356941 0.757305 -0.546885
+vn -0.747973 0.552644 -0.367588
+vn -0.709786 0.587409 -0.388787
+vn -0.356941 0.757305 -0.546885
+vn -0.220767 -0.200882 -0.954415
+vn -0.085611 0.718381 -0.690361
+vn 0.182154 -0.134824 -0.973983
+vn 0.689557 -0.677984 -0.254653
+vn 0.678361 -0.679871 -0.278570
+vn 0.885382 -0.387520 -0.256762
+vn 0.933211 -0.317702 -0.167877
+vn 0.011688 -0.920591 -0.390353
+vn 0.000918 -0.947465 -0.319857
+vn 0.678361 -0.679871 -0.278570
+vn 0.599651 -0.763660 -0.239252
+vn 0.957326 0.022318 -0.288148
+vn 0.261667 0.060505 -0.963260
+vn 0.920500 0.250245 -0.300095
+vn 0.229751 0.594778 -0.770360
+vn 0.749700 0.385356 0.538006
+vn 0.659795 0.722998 0.204806
+vn 0.924761 0.289000 0.247580
+vn 0.878888 0.432450 0.201351
+vn 0.659795 0.722998 0.204806
+vn 0.986342 0.152319 -0.062670
+vn 0.878888 0.432450 0.201351
+vn 0.906893 0.377315 0.187562
+vn 0.148640 0.682958 0.715174
+vn 0.749700 0.385356 0.538006
+vn -0.148256 0.481170 0.864000
+vn 0.726364 0.248101 0.640969
+vn 0.985913 0.147465 -0.078929
+vn 0.975031 0.029701 0.220076
+vn 0.904715 0.381644 0.189310
+vn 0.921182 0.325267 0.213601
+vn 0.872410 0.426259 0.239176
+vn 0.274417 0.951769 0.137227
+vn 0.926681 0.311117 0.210877
+vn 0.403884 0.890511 0.209447
+vn 0.872410 0.426259 0.239176
+vn 0.823075 0.525207 0.216114
+vn 0.274417 0.951769 0.137227
+vn 0.220100 0.959414 0.176296
+vn 0.823075 0.525207 0.216114
+vn 0.904715 0.381644 0.189310
+vn 0.220100 0.959414 0.176296
+vn 0.228464 0.952507 0.201334
+vn 0.983923 0.011655 0.178213
+vn 0.986342 0.152319 -0.062670
+vn 0.981351 0.070626 0.178779
+vn 0.957326 0.022318 -0.288148
+vn 0.981351 0.070626 0.178779
+vn 0.957326 0.022318 -0.288148
+vn 0.881995 0.423584 0.206547
+vn 0.920500 0.250245 -0.300095
+vn 0.926681 0.311117 0.210877
+vn 0.906893 0.377315 0.187562
+vn 0.983923 0.011655 0.178213
+vn 0.986342 0.152319 -0.062670
+vn 0.921182 0.325267 0.213601
+vn 0.913592 0.391539 0.109762
+vn 0.271786 0.949678 0.155703
+vn 0.351787 0.927693 -0.125027
+vn -0.813310 0.470265 0.342605
+vn -0.103991 0.664875 0.739681
+vn -0.856678 0.512480 -0.058886
+vn 0.021864 0.992409 0.121026
+vn -0.856678 0.512480 -0.058886
+vn 0.021864 0.992409 0.121026
+vn -0.738191 0.336024 -0.584946
+vn 0.159985 0.600336 -0.783583
+vn 0.955967 0.039968 -0.290739
+vn 0.172591 0.090294 -0.980846
+vn 0.908463 0.263329 -0.324582
+vn 0.159985 0.600336 -0.783583
+vn 0.650462 0.711011 0.267136
+vn 0.980460 0.196551 -0.008129
+vn 0.900446 0.354555 0.251967
+vn 0.959574 0.197358 0.200670
+vn -0.052944 0.750822 0.658380
+vn 0.765076 0.405472 0.500251
+vn 0.005861 0.995733 0.092091
+vn 0.887339 0.411565 0.207953
+vn 0.855309 0.183435 0.484560
+vn 0.979593 0.069728 0.188510
+vn 0.765076 0.405472 0.500251
+vn 0.887339 0.411565 0.207953
+vn 0.917432 0.297803 0.263879
+vn 0.964917 0.167298 0.202353
+vn 0.837122 0.301237 0.456599
+vn 0.983128 -0.000424 0.182918
+vn 0.084161 0.701132 -0.708047
+vn 0.005861 0.995733 0.092091
+vn 0.925716 0.329901 -0.184974
+vn 0.887339 0.411565 0.207953
+vn 0.914713 0.382092 0.131555
+vn 0.969492 0.206023 0.132816
+vn 0.396463 0.905166 0.153269
+vn 0.362223 0.911260 0.195958
+vn 0.991701 0.117389 -0.052424
+vn 0.983128 -0.000424 0.182918
+vn 0.969492 0.206023 0.132816
+vn 0.964917 0.167298 0.202353
+vn 0.982800 0.091607 -0.160349
+vn 0.190730 0.219293 -0.956835
+vn 0.872148 0.448424 -0.195640
+vn 0.121882 0.701737 -0.701933
+vn -0.153248 0.871042 0.466691
+vn 0.687026 0.582313 0.434634
+vn -0.035113 0.997476 -0.061719
+vn 0.819701 0.553590 0.147067
+vn 0.822859 0.278266 0.495450
+vn 0.970783 0.121516 0.206916
+vn 0.687026 0.582313 0.434634
+vn 0.819701 0.553590 0.147067
+vn 0.928149 0.310439 0.205349
+vn 0.903105 0.393776 0.171296
+vn 0.515356 0.855387 0.052161
+vn 0.492767 0.868917 0.046519
+vn 0.903105 0.393776 0.171296
+vn 0.937082 0.309569 0.161383
+vn 0.492767 0.868917 0.046519
+vn 0.470418 0.881446 0.041955
+vn 0.454011 0.889278 0.055298
+vn 0.470418 0.881446 0.041955
+vn 0.949655 0.253425 0.184205
+vn 0.937082 0.309569 0.161383
+vn -0.820731 -0.497891 0.280189
+vn -0.834384 0.062518 0.547627
+vn 0.009085 -0.785833 0.618372
+vn 0.021661 0.250748 0.967810
+vn -0.678042 -0.711924 0.182819
+vn -0.990108 -0.106807 -0.090984
+vn -0.820731 -0.497891 0.280189
+vn -0.983847 -0.146590 -0.102747
+vn -0.991057 -0.049969 -0.123730
+vn -0.709786 0.587409 -0.388787
+vn -0.990108 -0.106807 -0.090984
+vn -0.697764 0.586925 -0.410664
+vn 0.953330 -0.299707 0.036577
+vn 0.977250 -0.211728 -0.012434
+vn 0.954392 0.095650 -0.282819
+vn 0.622199 0.593958 -0.509983
+vn 0.999604 -0.000771 -0.028128
+vn 0.639120 0.766688 -0.060962
+vn 0.992991 -0.040204 -0.111138
+vn 0.668703 0.735433 -0.109429
+vn -0.487263 0.846834 -0.213182
+vn -0.375487 0.925438 -0.050742
+vn -0.010292 0.999073 -0.041810
+vn -0.178344 0.983964 0.002891
+vn -0.487263 0.846834 -0.213182
+vn -0.729092 0.496830 -0.470728
+vn -0.375487 0.925438 -0.050742
+vn -0.572960 0.818261 -0.046542
+vn -0.335054 -0.941456 -0.037398
+vn 0.025159 -0.988582 0.148568
+vn 0.004136 -0.975574 0.219633
+vn 0.079881 -0.976687 0.199252
+vn 0.025159 -0.988582 0.148568
+vn 0.618982 -0.778860 0.101184
+vn 0.079881 -0.976687 0.199252
+vn 0.615318 -0.785994 0.059987
+vn 0.618982 -0.778860 0.101184
+vn 0.999604 -0.000771 -0.028128
+vn 0.615318 -0.785994 0.059987
+vn 0.992991 -0.040204 -0.111138
+vn 0.803313 -0.060196 -0.592507
+vn 0.478645 -0.255150 -0.840118
+vn 0.726670 -0.250566 -0.639662
+vn 0.570549 -0.276608 -0.773280
+vn -0.942440 0.202366 -0.266185
+vn -0.644627 0.278099 -0.712121
+vn -0.954335 0.046524 -0.295095
+vn -0.585679 0.138574 -0.798609
+vn -0.657804 0.584721 -0.474758
+vn -0.625123 0.521335 -0.580889
+vn -0.644627 0.278099 -0.712121
+vn -0.688255 0.228097 -0.688677
+vn -0.930881 -0.338272 -0.137958
+vn -0.995797 -0.004915 -0.091454
+vn -0.926850 -0.352097 -0.130296
+vn -0.995930 -0.003411 -0.090068
+vn -0.995797 -0.004915 -0.091454
+vn -0.918161 0.388283 -0.078849
+vn -0.995930 -0.003411 -0.090068
+vn -0.917759 0.392548 -0.060208
+vn 0.996072 -0.004091 -0.088457
+vn 0.997745 -0.000747 -0.067109
+vn 0.917842 0.392374 -0.060080
+vn 0.918180 0.394603 -0.035142
+vn 0.917842 0.392374 -0.060080
+vn 0.918180 0.394603 -0.035142
+vn 0.397557 0.917513 -0.010892
+vn 0.397489 0.917552 0.010054
+vn 0.397557 0.917513 -0.010892
+vn 0.397489 0.917552 0.010054
+vn 0.000000 0.999986 0.005218
+vn 0.000000 0.999743 0.022676
+vn 0.964189 -0.056842 -0.259053
+vn 0.892171 -0.121527 -0.435043
+vn 0.853414 -0.259883 -0.451825
+vn 0.682972 -0.320341 -0.656453
+vn 0.969202 -0.121510 -0.214205
+vn 0.932575 -0.184781 -0.310096
+vn 0.885382 -0.387520 -0.256762
+vn 0.800581 -0.479774 -0.359009
+vn 0.932553 -0.338357 -0.125935
+vn 0.933211 -0.317702 -0.167877
+vn 0.599651 -0.763660 -0.239252
+vn 0.678361 -0.679871 -0.278570
+vn 0.927221 -0.352421 -0.126731
+vn 0.932553 -0.338357 -0.125935
+vn 0.547626 -0.814935 -0.189703
+vn 0.599651 -0.763660 -0.239252
+vn 0.927221 -0.352421 -0.126731
+vn 0.930351 -0.350323 -0.108265
+vn 0.996072 -0.004091 -0.088457
+vn 0.997745 -0.000747 -0.067109
+vn -0.560258 0.800903 -0.211339
+vn -0.575001 0.789664 -0.214020
+vn -0.356272 0.917801 -0.175249
+vn -0.368025 0.912699 -0.177588
+vn -0.356272 0.917801 -0.175249
+vn -0.368025 0.912699 -0.177588
+vn -0.198026 0.970257 -0.139237
+vn -0.204627 0.968754 -0.140156
+vn -0.846769 0.470504 -0.248210
+vn -0.854382 0.456026 -0.249143
+vn -0.560258 0.800903 -0.211339
+vn -0.575001 0.789664 -0.214020
+vn -0.932953 0.261772 -0.247133
+vn -0.935011 0.254038 -0.247425
+vn -0.846769 0.470504 -0.248210
+vn -0.854382 0.456026 -0.249143
+vn 0.450342 0.887913 0.093821
+vn 0.253214 0.967332 0.012292
+vn 0.456806 0.884114 0.098342
+vn 0.258339 0.965901 0.017236
+vn 0.253214 0.967332 0.012292
+vn 0.020466 0.997200 -0.071920
+vn 0.258339 0.965901 0.017236
+vn 0.020214 0.997484 -0.067945
+vn -0.058101 0.994209 -0.090402
+vn 0.515356 0.855387 0.052161
+vn -0.071469 0.993098 -0.093003
+vn 0.492767 0.868917 0.046519
+vn -0.692632 0.687099 -0.219446
+vn -0.058101 0.994209 -0.090402
+vn -0.702405 0.676612 -0.220958
+vn -0.071469 0.993098 -0.093003
+vn -0.692632 0.687099 -0.219446
+vn -0.702405 0.676612 -0.220958
+vn -0.932953 0.261772 -0.247133
+vn -0.935011 0.254038 -0.247425
+vn 0.223933 -0.857028 0.464066
+vn 0.634231 -0.616073 0.467124
+vn 0.189270 -0.859459 0.474875
+vn 0.551098 -0.680843 0.482435
+vn -0.122627 -0.907069 0.402727
+vn -0.124573 -0.904990 0.406785
+vn -0.447485 -0.854530 0.263696
+vn -0.423277 -0.859172 0.287508
+vn 0.189270 -0.859459 0.474875
+vn -0.124573 -0.904990 0.406785
+vn 0.223933 -0.857028 0.464066
+vn -0.122627 -0.907069 0.402727
+vn 0.906901 0.253125 0.336835
+vn 0.753797 0.576945 0.314523
+vn 0.919538 0.283546 0.272123
+vn 0.747332 0.622138 0.233321
+vn 0.726887 0.571208 0.381258
+vn 0.718833 0.580158 0.383008
+vn 0.495518 0.802639 0.332012
+vn 0.481360 0.809149 0.337002
+vn 0.152082 0.984531 0.087010
+vn 0.102865 0.992602 0.064501
+vn 0.214509 0.957468 0.192979
+vn 0.059604 0.994441 0.086798
+vn -0.268172 0.533654 0.802058
+vn -0.613247 -0.572910 0.543786
+vn 0.131634 0.935449 0.328035
+vn -0.075259 0.883116 0.463080
+vn 0.274417 0.951769 0.137227
+vn 0.152082 0.984531 0.087010
+vn 0.403884 0.890511 0.209447
+vn 0.214509 0.957468 0.192979
+vn 0.271786 0.949678 0.155703
+vn 0.228464 0.952507 0.201334
+vn 0.921182 0.325267 0.213601
+vn 0.904715 0.381644 0.189310
+vn -0.664809 0.535028 0.521320
+vn -0.999620 -0.008398 0.026271
+vn -0.652618 0.648470 0.391888
+vn -0.999448 -0.010224 0.031609
+vn 0.487263 0.865218 0.118210
+vn -0.039350 0.944906 0.324967
+vn 0.010291 0.942514 0.334009
+vn -0.174900 0.929145 0.325730
+vn 0.487263 0.865218 0.118210
+vn 0.375486 0.877531 0.298245
+vn 0.729092 0.636595 -0.251340
+vn 0.572960 0.776527 0.262150
+vn 0.335055 -0.859501 -0.386000
+vn -0.004134 -0.987066 -0.160263
+vn -0.025155 -0.972616 -0.231051
+vn -0.079879 -0.980494 -0.179586
+vn -0.629206 -0.706887 -0.323127
+vn -0.999448 -0.010224 0.031609
+vn -0.648508 -0.591765 -0.478802
+vn -0.999620 -0.008398 0.026271
+vn -0.615318 -0.751607 -0.237636
+vn -0.618980 -0.760363 -0.196755
+vn -0.079879 -0.980494 -0.179586
+vn -0.025155 -0.972616 -0.231051
+vn -0.035944 -0.997343 0.063366
+vn -0.742224 -0.669362 0.032528
+vn -0.007846 -0.999083 0.042082
+vn -0.778764 -0.626978 0.020645
+vn -0.665828 -0.737761 0.111269
+vn -0.986197 -0.160603 -0.040273
+vn -0.742224 -0.669362 0.032528
+vn -0.992833 -0.113810 -0.036459
+vn 0.011688 -0.920591 -0.390353
+vn -0.660270 -0.691224 -0.293690
+vn 0.000918 -0.947465 -0.319857
+vn -0.594424 -0.764289 -0.250046
+vn -0.672131 -0.678358 -0.296765
+vn -0.764193 -0.451626 -0.460482
+vn -0.660270 -0.691224 -0.293690
+vn -0.932912 -0.312472 -0.178986
+vn -0.085611 0.718381 -0.690361
+vn 0.622199 0.593958 -0.509983
+vn -0.356941 0.757305 -0.546885
+vn -0.155282 0.830090 -0.535572
+vn -0.085611 0.718381 -0.690361
+vn 0.182154 -0.134824 -0.973983
+vn 0.187609 0.377527 -0.906795
+vn 0.228226 -0.204954 -0.951791
+vn 0.182154 -0.134824 -0.973983
+vn 0.800581 -0.479774 -0.359009
+vn 0.853414 -0.259883 -0.451825
+vn 0.932575 -0.184781 -0.310096
+vn 0.924761 0.289000 0.247580
+vn 0.971458 0.120078 0.204573
+vn 0.749700 0.385356 0.538006
+vn 0.981491 0.007306 0.191369
+vn 0.881995 0.423584 0.206547
+vn 0.920500 0.250245 -0.300095
+vn 0.019838 0.995195 0.095886
+vn 0.229751 0.594778 -0.770360
+vn 0.926681 0.311117 0.210877
+vn 0.403884 0.890511 0.209447
+vn 0.906893 0.377315 0.187562
+vn 0.396597 0.886837 0.237131
+vn 0.749700 0.385356 0.538006
+vn 0.981491 0.007306 0.191369
+vn 0.726364 0.248101 0.640969
+vn 0.976995 0.078162 0.198420
+vn 0.652110 0.411713 0.636589
+vn 0.870181 0.437606 0.226465
+vn -0.103991 0.664875 0.739681
+vn 0.021864 0.992409 0.121026
+vn 0.726364 0.248101 0.640969
+vn 0.976995 0.078162 0.198420
+vn 0.652110 0.411713 0.636589
+vn 0.870181 0.437606 0.226465
+vn 0.908463 0.263329 -0.324582
+vn 0.870181 0.437606 0.226465
+vn 0.955967 0.039968 -0.290739
+vn 0.976995 0.078162 0.198420
+vn 0.955967 0.039968 -0.290739
+vn 0.976995 0.078162 0.198420
+vn 0.980460 0.196551 -0.008129
+vn 0.981491 0.007306 0.191369
+vn 0.964917 0.167298 0.202353
+vn 0.917432 0.297803 0.263879
+vn 0.371422 0.900885 0.224615
+vn 0.399879 0.882437 0.247794
+vn 0.917432 0.297803 0.263879
+vn 0.900446 0.354555 0.251967
+vn 0.399879 0.882437 0.247794
+vn 0.426671 0.867299 0.256407
+vn 0.982800 0.091607 -0.160349
+vn 0.872148 0.448424 -0.195640
+vn 0.970783 0.121516 0.206916
+vn 0.819701 0.553590 0.147067
+vn 0.121882 0.701737 -0.701933
+vn -0.035113 0.997476 -0.061719
+vn 0.872148 0.448424 -0.195640
+vn 0.819701 0.553590 0.147067
+vn 0.454011 0.889278 0.055298
+vn -0.095669 0.993071 -0.068240
+vn 0.470418 0.881446 0.041955
+vn -0.083684 0.992053 -0.093958
+vn 0.454011 0.889278 0.055298
+vn 0.434572 0.895289 0.098002
+vn -0.095669 0.993071 -0.068240
+vn -0.124889 0.992135 0.008468
+vn 0.434572 0.895289 0.098002
+vn 0.396463 0.905166 0.153269
+vn -0.124889 0.992135 0.008468
+vn -0.171023 0.981220 0.089215
+vn 0.728313 -0.651942 0.211024
+vn 0.853992 -0.402706 0.329432
+vn 0.977250 -0.211728 -0.012434
+vn 0.991894 -0.094160 -0.085328
+vn 0.853992 -0.402706 0.329432
+vn 0.009085 -0.785833 0.618372
+vn 0.843194 0.129506 0.521778
+vn 0.021661 0.250748 0.967810
+vn -0.834384 0.062518 0.547627
+vn -0.820731 -0.497891 0.280189
+vn -0.989479 -0.141947 -0.027977
+vn -0.983847 -0.146590 -0.102747
+vn -0.010292 0.999073 -0.041810
+vn 0.190419 0.971218 0.143096
+vn 0.174904 0.983579 -0.044505
+vn 0.251578 0.959161 0.129301
+vn 0.174904 0.983579 -0.044505
+vn 0.251578 0.959161 0.129301
+vn 0.668703 0.735433 -0.109429
+vn 0.730921 0.681748 -0.031222
+vn -0.729092 0.496830 -0.470728
+vn -0.637941 -0.309019 -0.705365
+vn -0.832821 0.268089 -0.484290
+vn -0.498689 -0.388703 -0.774739
+vn -0.637941 -0.309019 -0.705365
+vn -0.159009 -0.917387 -0.364853
+vn -0.498689 -0.388703 -0.774739
+vn 0.167066 -0.830353 -0.531604
+vn -0.335054 -0.941456 -0.037398
+vn 0.104518 -0.978304 0.178877
+vn -0.159009 -0.917387 -0.364853
+vn 0.311383 -0.937069 0.157933
+vn -0.335054 -0.941456 -0.037398
+vn 0.004136 -0.975574 0.219633
+vn 0.104518 -0.978304 0.178877
+vn 0.104197 -0.973558 0.203294
+vn 0.187609 0.377527 -0.906795
+vn 0.954392 0.095650 -0.282819
+vn -0.085611 0.718381 -0.690361
+vn 0.622199 0.593958 -0.509983
+vn 0.187609 0.377527 -0.906795
+vn 0.228226 -0.204954 -0.951791
+vn 0.803313 -0.060196 -0.592507
+vn 0.478645 -0.255150 -0.840118
+vn 0.570549 -0.276608 -0.773280
+vn 0.478645 -0.255150 -0.840118
+vn 0.682972 -0.320341 -0.656453
+vn 0.228226 -0.204954 -0.951791
+vn -0.688255 0.228097 -0.688677
+vn -0.667223 0.072915 -0.741280
+vn -0.644627 0.278099 -0.712121
+vn -0.585679 0.138574 -0.798609
+vn -0.919153 0.003328 -0.393887
+vn -0.888640 -0.027559 -0.457776
+vn -0.626606 0.197171 -0.753982
+vn -0.470981 0.538889 -0.698409
+vn -0.667223 0.072915 -0.741280
+vn -0.626606 0.197171 -0.753982
+vn -0.585679 0.138574 -0.798609
+vn -0.525118 0.557302 -0.643168
+vn -0.979453 -0.018634 -0.200811
+vn -0.764193 -0.451626 -0.460482
+vn -0.888640 -0.027559 -0.457776
+vn -0.470981 0.538889 -0.698409
+vn -0.926850 -0.352097 -0.130296
+vn -0.545748 -0.815416 -0.193016
+vn -0.930881 -0.338272 -0.137958
+vn -0.594424 -0.764289 -0.250046
+vn -0.930881 -0.338272 -0.137958
+vn -0.594424 -0.764289 -0.250046
+vn -0.932912 -0.312472 -0.178986
+vn -0.660270 -0.691224 -0.293690
+vn -0.995930 -0.003411 -0.090068
+vn -0.917759 0.392548 -0.060208
+vn -0.997745 -0.000747 -0.067109
+vn -0.918180 0.394603 -0.035142
+vn -0.917759 0.392548 -0.060208
+vn -0.397912 0.917361 -0.010697
+vn -0.918180 0.394603 -0.035142
+vn -0.397489 0.917552 0.010054
+vn -0.397912 0.917361 -0.010697
+vn 0.000000 0.999986 0.005218
+vn -0.397489 0.917552 0.010054
+vn 0.000000 0.999743 0.022676
+vn 0.547626 -0.814935 -0.189703
+vn 0.550874 -0.818967 -0.160719
+vn 0.927221 -0.352421 -0.126731
+vn 0.930351 -0.350323 -0.108265
+vn 0.682972 -0.320341 -0.656453
+vn 0.228226 -0.204954 -0.951791
+vn 0.853414 -0.259883 -0.451825
+vn 0.182154 -0.134824 -0.973983
+vn 0.020466 0.997200 -0.071920
+vn -0.204627 0.968754 -0.140156
+vn 0.020214 0.997484 -0.067945
+vn -0.212574 0.967339 -0.138088
+vn 0.634231 -0.616073 0.467124
+vn 0.928133 -0.108931 0.355955
+vn 0.551098 -0.680843 0.482435
+vn 0.917695 -0.166610 0.360663
+vn 0.928133 -0.108931 0.355955
+vn 0.919538 0.283546 0.272123
+vn 0.917695 -0.166610 0.360663
+vn 0.912670 0.347171 0.215654
+vn -0.124573 -0.904990 0.406785
+vn -0.146896 -0.865063 0.479674
+vn -0.423277 -0.859172 0.287508
+vn -0.422392 -0.826715 0.371655
+vn -0.447485 -0.854530 0.263696
+vn -0.423277 -0.859172 0.287508
+vn -0.792250 -0.609096 0.036641
+vn -0.728495 -0.679050 0.090483
+vn -0.447485 -0.854530 0.263696
+vn -0.792250 -0.609096 0.036641
+vn -0.613247 -0.572910 0.543786
+vn -0.995021 -0.034171 0.093625
+vn -0.124573 -0.904990 0.406785
+vn 0.189270 -0.859459 0.474875
+vn -0.146896 -0.865063 0.479674
+vn 0.141482 -0.826921 0.544229
+vn 0.738729 0.565133 0.367293
+vn 0.726887 0.571208 0.381258
+vn 0.513320 0.798359 0.314843
+vn 0.495518 0.802639 0.332012
+vn 0.753797 0.576945 0.314523
+vn 0.738729 0.565133 0.367293
+vn 0.523441 0.807746 0.271211
+vn 0.513320 0.798359 0.314843
+vn 0.131634 0.935449 0.328035
+vn 0.396597 0.886837 0.237131
+vn 0.214509 0.957468 0.192979
+vn 0.403884 0.890511 0.209447
+vn 0.481360 0.809149 0.337002
+vn 0.470390 0.815418 0.337383
+vn 0.253158 0.927532 0.274945
+vn 0.244910 0.930205 0.273382
+vn 0.470390 0.815418 0.337383
+vn 0.459064 0.823888 0.332369
+vn 0.244910 0.930205 0.273382
+vn 0.239053 0.934770 0.262791
+vn 0.459064 0.823888 0.332369
+vn 0.444619 0.836231 0.320986
+vn 0.239053 0.934770 0.262791
+vn 0.231900 0.941250 0.245500
+vn 0.436931 0.853789 0.283082
+vn 0.230833 0.951437 0.203674
+vn 0.444619 0.836231 0.320986
+vn 0.231900 0.941250 0.245500
+vn 0.456917 0.880536 0.126028
+vn 0.256781 0.965409 0.045275
+vn 0.445902 0.872102 0.201519
+vn 0.243582 0.962344 0.120674
+vn 0.445902 0.872102 0.201519
+vn 0.243582 0.962344 0.120674
+vn 0.436931 0.853789 0.283082
+vn 0.230833 0.951437 0.203674
+vn 0.456806 0.884114 0.098342
+vn 0.258339 0.965901 0.017236
+vn 0.456917 0.880536 0.126028
+vn 0.256781 0.965409 0.045275
+vn 0.495518 0.802639 0.332012
+vn 0.481360 0.809149 0.337002
+vn 0.267819 0.925828 0.266676
+vn 0.253158 0.927532 0.274945
+vn -0.639121 0.734058 0.229528
+vn -0.652618 0.648470 0.391888
+vn -0.999604 0.009781 -0.026384
+vn -0.999448 -0.010224 0.031609
+vn -0.039350 0.944906 0.324967
+vn -0.639121 0.734058 0.229528
+vn -0.174900 0.929145 0.325730
+vn -0.668702 0.723148 0.172900
+vn 0.487263 0.865218 0.118210
+vn 0.010291 0.942514 0.334009
+vn 0.375486 0.877531 0.298245
+vn 0.178345 0.911816 0.369844
+vn 0.729092 0.636595 -0.251340
+vn 0.832821 0.429436 -0.349275
+vn 0.637940 -0.023493 -0.769728
+vn 0.498688 -0.071537 -0.863824
+vn 0.335055 -0.859501 -0.386000
+vn -0.104521 -0.974390 -0.199095
+vn -0.004134 -0.987066 -0.160263
+vn -0.104194 -0.979099 -0.174670
+vn 0.335055 -0.859501 -0.386000
+vn 0.159004 -0.714985 -0.680819
+vn -0.104521 -0.974390 -0.199095
+vn -0.311386 -0.928318 -0.203138
+vn 0.637940 -0.023493 -0.769728
+vn 0.498688 -0.071537 -0.863824
+vn 0.159004 -0.714985 -0.680819
+vn -0.167064 -0.572012 -0.803051
+vn -0.629206 -0.706887 -0.323127
+vn -0.618980 -0.760363 -0.196755
+vn -0.999448 -0.010224 0.031609
+vn -0.999604 0.009781 -0.026384
+vn -0.618980 -0.760363 -0.196755
+vn -0.615318 -0.751607 -0.237636
+vn -0.999604 0.009781 -0.026384
+vn -0.992991 0.004171 -0.118113
+vn -0.967693 0.111289 -0.226239
+vn -0.954335 0.046524 -0.295095
+vn -0.525118 0.557302 -0.643168
+vn -0.585679 0.138574 -0.798609
+vn -0.986197 -0.160603 -0.040273
+vn -0.967693 0.111289 -0.226239
+vn -0.992833 -0.113810 -0.036459
+vn -0.813585 0.552464 -0.181282
+vn -0.007846 -0.999083 0.042082
+vn -0.028436 -0.805938 0.591317
+vn 0.765496 -0.643120 0.020322
+vn 0.868791 -0.403770 0.286656
+vn 0.883563 0.420414 -0.206322
+vn -0.117384 0.935171 -0.334181
+vn -0.764193 -0.451626 -0.460482
+vn -0.470981 0.538889 -0.698409
+vn 0.948524 -0.304993 -0.085328
+vn 0.999324 -0.023631 -0.028163
+vn 0.883563 0.420414 -0.206322
+vn 0.747292 0.651112 -0.132694
+vn 0.765496 -0.643120 0.020322
+vn 0.868791 -0.403770 0.286656
+vn 0.999324 -0.023631 -0.028163
+vn 0.998472 0.009356 -0.054464
+vn -0.356941 0.757305 -0.546885
+vn -0.155282 0.830090 -0.535572
+vn -0.709786 0.587409 -0.388787
+vn -0.697764 0.586925 -0.410664
+vn 0.000918 -0.947465 -0.319857
+vn 0.001000 -0.976545 -0.215311
+vn 0.599651 -0.763660 -0.239252
+vn 0.547626 -0.814935 -0.189703
+vn 0.971458 0.120078 0.204573
+vn 0.924761 0.289000 0.247580
+vn 0.474406 0.849858 0.229522
+vn 0.427571 0.874817 0.227768
+vn 0.924761 0.289000 0.247580
+vn 0.878888 0.432450 0.201351
+vn 0.427571 0.874817 0.227768
+vn 0.394761 0.886945 0.239777
+vn 0.878888 0.432450 0.201351
+vn 0.906893 0.377315 0.187562
+vn 0.394761 0.886945 0.239777
+vn 0.396597 0.886837 0.237131
+vn 0.159985 0.600336 -0.783583
+vn 0.021864 0.992409 0.121026
+vn 0.908463 0.263329 -0.324582
+vn 0.870181 0.437606 0.226465
+vn 0.900446 0.354555 0.251967
+vn 0.959574 0.197358 0.200670
+vn 0.426671 0.867299 0.256407
+vn 0.454700 0.855959 0.246133
+vn 0.980460 0.196551 -0.008129
+vn 0.981491 0.007306 0.191369
+vn 0.959574 0.197358 0.200670
+vn 0.971458 0.120078 0.204573
+vn 0.371422 0.900885 0.224615
+vn 0.362223 0.911260 0.195958
+vn 0.964917 0.167298 0.202353
+vn 0.969492 0.206023 0.132816
+vn 0.396463 0.905166 0.153269
+vn 0.362223 0.911260 0.195958
+vn -0.171023 0.981220 0.089215
+vn -0.205817 0.970929 0.122212
+vn 0.470418 0.881446 0.041955
+vn -0.083684 0.992053 -0.093958
+vn 0.492767 0.868917 0.046519
+vn -0.071469 0.993098 -0.093003
+vn 0.843194 0.129506 0.521778
+vn 0.995049 -0.082690 -0.055139
+vn 0.853992 -0.402706 0.329432
+vn 0.991894 -0.094160 -0.085328
+vn -0.989479 -0.141947 -0.027977
+vn -0.997294 -0.065850 0.032678
+vn -0.834384 0.062518 0.547627
+vn -0.770489 0.173021 0.613523
+vn -0.834384 0.062518 0.547627
+vn -0.770489 0.173021 0.613523
+vn 0.021661 0.250748 0.967810
+vn 0.064126 0.321298 0.944805
+vn -0.990108 -0.106807 -0.090984
+vn -0.697764 0.586925 -0.410664
+vn -0.983847 -0.146590 -0.102747
+vn -0.720281 0.122985 -0.682694
+vn 0.977250 -0.211728 -0.012434
+vn 0.991894 -0.094160 -0.085328
+vn 0.622199 0.593958 -0.509983
+vn 0.704048 0.267029 -0.658036
+vn 0.615318 -0.785994 0.059987
+vn 0.992991 -0.040204 -0.111138
+vn 0.595196 -0.790377 -0.145073
+vn 0.978996 -0.076593 -0.188944
+vn 0.992991 -0.040204 -0.111138
+vn 0.668703 0.735433 -0.109429
+vn 0.978996 -0.076593 -0.188944
+vn 0.730921 0.681748 -0.031222
+vn 0.190419 0.971218 0.143096
+vn -0.010292 0.999073 -0.041810
+vn -0.126856 0.991916 0.003048
+vn -0.178344 0.983964 0.002891
+vn -0.375487 0.925438 -0.050742
+vn -0.591624 0.791300 0.154356
+vn -0.178344 0.983964 0.002891
+vn -0.126856 0.991916 0.003048
+vn -0.572960 0.818261 -0.046542
+vn -0.432294 0.786968 0.440232
+vn -0.375487 0.925438 -0.050742
+vn -0.591624 0.791300 0.154356
+vn -0.729092 0.496830 -0.470728
+vn -0.832821 0.268089 -0.484290
+vn -0.572960 0.818261 -0.046542
+vn -0.754101 0.655893 0.033702
+vn 0.079881 -0.976687 0.199252
+vn -0.055183 -0.997762 0.037770
+vn 0.004136 -0.975574 0.219633
+vn -0.085877 -0.975073 0.204592
+vn 0.079881 -0.976687 0.199252
+vn 0.615318 -0.785994 0.059987
+vn -0.055183 -0.997762 0.037770
+vn 0.595196 -0.790377 -0.145073
+vn -0.545748 -0.815416 -0.193016
+vn -0.926850 -0.352097 -0.130296
+vn -0.550874 -0.818967 -0.160719
+vn -0.930351 -0.350323 -0.108265
+vn -0.926850 -0.352097 -0.130296
+vn -0.995930 -0.003411 -0.090068
+vn -0.930351 -0.350323 -0.108265
+vn -0.997745 -0.000747 -0.067109
+vn 0.930351 -0.350323 -0.108265
+vn 0.934223 -0.347128 -0.082036
+vn 0.997745 -0.000747 -0.067109
+vn 0.998945 0.001365 -0.045896
+vn 0.997745 -0.000747 -0.067109
+vn 0.998945 0.001365 -0.045896
+vn 0.918180 0.394603 -0.035142
+vn 0.915507 0.401409 -0.026782
+vn 0.918180 0.394603 -0.035142
+vn 0.915507 0.401409 -0.026782
+vn 0.397489 0.917552 0.010054
+vn 0.395443 0.918473 -0.005712
+vn 0.397489 0.917552 0.010054
+vn 0.395443 0.918473 -0.005712
+vn 0.000000 0.999743 0.022676
+vn 0.000000 1.000000 0.000667
+vn 0.550874 -0.818967 -0.160719
+vn 0.547626 -0.814935 -0.189703
+vn 0.000000 -0.984642 -0.174586
+vn 0.001000 -0.976545 -0.215311
+vn 0.550874 -0.818967 -0.160719
+vn 0.566732 -0.812634 -0.135796
+vn 0.930351 -0.350323 -0.108265
+vn 0.934223 -0.347128 -0.082036
+vn -0.854382 0.456026 -0.249143
+vn -0.861571 0.441494 -0.250557
+vn -0.575001 0.789664 -0.214020
+vn -0.590545 0.777834 -0.215015
+vn -0.575001 0.789664 -0.214020
+vn -0.590545 0.777834 -0.215015
+vn -0.368025 0.912699 -0.177588
+vn -0.381239 0.907354 -0.177106
+vn -0.368025 0.912699 -0.177588
+vn -0.381239 0.907354 -0.177106
+vn -0.204627 0.968754 -0.140156
+vn -0.212574 0.967339 -0.138088
+vn -0.935011 0.254038 -0.247425
+vn -0.936623 0.246156 -0.249290
+vn -0.854382 0.456026 -0.249143
+vn -0.861571 0.441494 -0.250557
+vn -0.702405 0.676612 -0.220958
+vn -0.712408 0.665520 -0.222618
+vn -0.935011 0.254038 -0.247425
+vn -0.936623 0.246156 -0.249290
+vn 0.258339 0.965901 0.017236
+vn 0.020214 0.997484 -0.067945
+vn 0.256781 0.965409 0.045275
+vn 0.012391 0.999075 -0.041173
+vn -0.702405 0.676612 -0.220958
+vn -0.071469 0.993098 -0.093003
+vn -0.712408 0.665520 -0.222618
+vn -0.083684 0.992053 -0.093958
+vn 0.189270 -0.859459 0.474875
+vn 0.551098 -0.680843 0.482435
+vn 0.141482 -0.826921 0.544229
+vn 0.448187 -0.697278 0.559403
+vn -0.423277 -0.859172 0.287508
+vn -0.422392 -0.826715 0.371655
+vn -0.728495 -0.679050 0.090483
+vn -0.686104 -0.696036 0.211648
+vn -0.146896 -0.865063 0.479674
+vn -0.161231 -0.834756 0.526485
+vn -0.422392 -0.826715 0.371655
+vn -0.424970 -0.793362 0.435865
+vn -0.146896 -0.865063 0.479674
+vn 0.141482 -0.826921 0.544229
+vn -0.161231 -0.834756 0.526485
+vn 0.107920 -0.793508 0.598914
+vn 0.523441 0.807746 0.271211
+vn 0.504008 0.839513 0.202963
+vn 0.753797 0.576945 0.314523
+vn 0.747332 0.622138 0.233321
+vn 0.919538 0.283546 0.272123
+vn 0.747332 0.622138 0.233321
+vn 0.912670 0.347171 0.215654
+vn 0.696407 0.702234 0.147937
+vn 0.513320 0.798359 0.314843
+vn 0.495518 0.802639 0.332012
+vn 0.286139 0.925288 0.248930
+vn 0.267819 0.925828 0.266676
+vn -0.613247 -0.572910 0.543786
+vn -0.995021 -0.034171 0.093625
+vn -0.075259 0.883116 0.463080
+vn -0.237901 0.943097 0.232319
+vn 0.131634 0.935449 0.328035
+vn -0.075259 0.883116 0.463080
+vn 0.396597 0.886837 0.237131
+vn 0.394761 0.886945 0.239777
+vn -0.999604 0.009781 -0.026384
+vn -0.992991 0.004171 -0.118113
+vn -0.639121 0.734058 0.229528
+vn -0.668702 0.723148 0.172900
+vn 0.010291 0.942514 0.334009
+vn -0.174900 0.929145 0.325730
+vn -0.190421 0.847673 0.495167
+vn -0.251575 0.841635 0.477871
+vn 0.729092 0.636595 -0.251340
+vn 0.572960 0.776527 0.262150
+vn 0.832821 0.429436 -0.349275
+vn 0.754102 0.595943 0.276010
+vn 0.572960 0.776527 0.262150
+vn 0.375486 0.877531 0.298245
+vn 0.432292 0.565856 0.702090
+vn 0.591627 0.676546 0.438478
+vn -0.079879 -0.980494 -0.179586
+vn -0.004134 -0.987066 -0.160263
+vn 0.055181 -0.939790 -0.337268
+vn 0.085876 -0.980989 -0.174031
+vn -0.079879 -0.980494 -0.179586
+vn 0.055181 -0.939790 -0.337268
+vn -0.615318 -0.751607 -0.237636
+vn -0.595198 -0.679156 -0.429520
+vn -0.967693 0.111289 -0.226239
+vn -0.525118 0.557302 -0.643168
+vn -0.813585 0.552464 -0.181282
+vn -0.117384 0.935171 -0.334181
+vn -0.007846 -0.999083 0.042082
+vn -0.778764 -0.626978 0.020645
+vn -0.028436 -0.805938 0.591317
+vn -0.883797 -0.396712 0.248037
+vn -0.742224 -0.669362 0.032528
+vn -0.992833 -0.113810 -0.036459
+vn -0.778764 -0.626978 0.020645
+vn -0.999492 -0.000330 -0.031858
+vn 0.000918 -0.947465 -0.319857
+vn -0.594424 -0.764289 -0.250046
+vn 0.001000 -0.976545 -0.215311
+vn -0.545748 -0.815416 -0.193016
+vn 0.883563 0.420414 -0.206322
+vn 0.747292 0.651112 -0.132694
+vn -0.117384 0.935171 -0.334181
+vn 0.013258 0.982574 -0.185399
+vn 0.622199 0.593958 -0.509983
+vn 0.704048 0.267029 -0.658036
+vn -0.155282 0.830090 -0.535572
+vn -0.021123 0.396192 -0.917925
+vn 0.474406 0.849858 0.229522
+vn 0.454700 0.855959 0.246133
+vn 0.971458 0.120078 0.204573
+vn 0.959574 0.197358 0.200670
+vn 0.362223 0.911260 0.195958
+vn 0.371422 0.900885 0.224615
+vn -0.205817 0.970929 0.122212
+vn -0.218561 0.967108 0.130128
+vn 0.371422 0.900885 0.224615
+vn 0.399879 0.882437 0.247794
+vn -0.218561 0.967108 0.130128
+vn -0.219189 0.966526 0.133355
+vn 0.399879 0.882437 0.247794
+vn 0.426671 0.867299 0.256407
+vn -0.219189 0.966526 0.133355
+vn -0.214919 0.967688 0.131869
+vn -0.095669 0.993071 -0.068240
+vn -0.729617 0.653494 -0.201508
+vn -0.083684 0.992053 -0.093958
+vn -0.712408 0.665520 -0.222618
+vn -0.124889 0.992135 0.008468
+vn -0.762398 0.633575 -0.131650
+vn -0.095669 0.993071 -0.068240
+vn -0.729617 0.653494 -0.201508
+vn -0.124889 0.992135 0.008468
+vn -0.171023 0.981220 0.089215
+vn -0.762398 0.633575 -0.131650
+vn -0.794762 0.603722 -0.062238
+vn 0.995049 -0.082690 -0.055139
+vn 0.843194 0.129506 0.521778
+vn 0.997487 -0.040828 -0.057904
+vn 0.828893 0.195399 0.524172
+vn 0.843194 0.129506 0.521778
+vn 0.021661 0.250748 0.967810
+vn 0.828893 0.195399 0.524172
+vn 0.064126 0.321298 0.944805
+vn -0.989479 -0.141947 -0.027977
+vn -0.983847 -0.146590 -0.102747
+vn -0.703356 -0.366299 -0.609193
+vn -0.720281 0.122985 -0.682694
+vn -0.997294 -0.065850 0.032678
+vn -0.989479 -0.141947 -0.027977
+vn -0.766793 -0.321332 -0.555675
+vn -0.703356 -0.366299 -0.609193
+vn -0.697764 0.586925 -0.410664
+vn -0.155282 0.830090 -0.535572
+vn -0.720281 0.122985 -0.682694
+vn -0.021123 0.396192 -0.917925
+vn -0.126856 0.991916 0.003048
+vn -0.136593 0.988641 0.062704
+vn 0.190419 0.971218 0.143096
+vn 0.589302 0.793527 0.151783
+vn 0.190419 0.971218 0.143096
+vn -0.363859 0.732525 0.575338
+vn 0.251578 0.959161 0.129301
+vn 0.284247 0.878967 0.382912
+vn 0.251578 0.959161 0.129301
+vn 0.284247 0.878967 0.382912
+vn 0.730921 0.681748 -0.031222
+vn 0.798464 0.592039 0.109291
+vn -0.572960 0.818261 -0.046542
+vn -0.754101 0.655893 0.033702
+vn -0.432294 0.786968 0.440232
+vn -0.409027 0.705115 0.579232
+vn -0.832821 0.268089 -0.484290
+vn -0.498689 -0.388703 -0.774739
+vn -0.912558 0.071633 -0.402625
+vn -0.422766 -0.422025 -0.801975
+vn -0.498689 -0.388703 -0.774739
+vn 0.167066 -0.830353 -0.531604
+vn -0.422766 -0.422025 -0.801975
+vn 0.364626 -0.652014 -0.664775
+vn -0.159009 -0.917387 -0.364853
+vn 0.311383 -0.937069 0.157933
+vn 0.167066 -0.830353 -0.531604
+vn 0.692291 -0.720614 0.038066
+vn 0.311383 -0.937069 0.157933
+vn 0.104518 -0.978304 0.178877
+vn 0.280598 -0.672461 0.684881
+vn -0.310181 -0.892984 0.326140
+vn 0.104518 -0.978304 0.178877
+vn 0.104197 -0.973558 0.203294
+vn -0.310181 -0.892984 0.326140
+vn 0.100675 -0.980182 0.170608
+vn 0.104197 -0.973558 0.203294
+vn 0.004136 -0.975574 0.219633
+vn 0.100675 -0.980182 0.170608
+vn -0.085877 -0.975073 0.204592
+vn -0.626606 0.197171 -0.753982
+vn -0.470981 0.538889 -0.698409
+vn -0.525118 0.557302 -0.643168
+vn -0.117384 0.935171 -0.334181
+vn -0.550874 -0.818967 -0.160719
+vn 0.000000 -0.984642 -0.174586
+vn -0.545748 -0.815416 -0.193016
+vn 0.001000 -0.976545 -0.215311
+vn -0.930351 -0.350323 -0.108265
+vn -0.997745 -0.000747 -0.067109
+vn -0.934223 -0.347128 -0.082036
+vn -0.998945 0.001365 -0.045896
+vn -0.997745 -0.000747 -0.067109
+vn -0.918180 0.394603 -0.035142
+vn -0.998945 0.001365 -0.045896
+vn -0.915507 0.401409 -0.026782
+vn -0.918180 0.394603 -0.035142
+vn -0.397489 0.917552 0.010054
+vn -0.915507 0.401409 -0.026782
+vn -0.395443 0.918473 -0.005712
+vn -0.397489 0.917552 0.010054
+vn 0.000000 0.999743 0.022676
+vn -0.395443 0.918473 -0.005712
+vn 0.000000 1.000000 0.000667
+vn 0.000000 -0.984642 -0.174586
+vn 0.000000 -0.988118 -0.153695
+vn 0.550874 -0.818967 -0.160719
+vn 0.566732 -0.812634 -0.135796
+vn 0.020214 0.997484 -0.067945
+vn -0.212574 0.967339 -0.138088
+vn 0.012391 0.999075 -0.041173
+vn -0.228823 0.966819 -0.113583
+vn 0.551098 -0.680843 0.482435
+vn 0.917695 -0.166610 0.360663
+vn 0.448187 -0.697278 0.559403
+vn 0.867547 -0.207673 0.451923
+vn 0.917695 -0.166610 0.360663
+vn 0.912670 0.347171 0.215654
+vn 0.867547 -0.207673 0.451923
+vn 0.869719 0.446155 0.211032
+vn -0.792250 -0.609096 0.036641
+vn -0.728495 -0.679050 0.090483
+vn -0.969215 -0.102488 -0.223872
+vn -0.962746 -0.163750 -0.215187
+vn -0.995021 -0.034171 0.093625
+vn -0.792250 -0.609096 0.036641
+vn -0.980194 0.012390 -0.197650
+vn -0.969215 -0.102488 -0.223872
+vn 0.523441 0.807746 0.271211
+vn 0.513320 0.798359 0.314843
+vn 0.293537 0.930191 0.220412
+vn 0.286139 0.925288 0.248930
+vn 0.504008 0.839513 0.202963
+vn 0.523441 0.807746 0.271211
+vn 0.277141 0.944775 0.174906
+vn 0.293537 0.930191 0.220412
+vn 0.747332 0.622138 0.233321
+vn 0.504008 0.839513 0.202963
+vn 0.696407 0.702234 0.147937
+vn 0.444601 0.887135 0.123779
+vn 0.267819 0.925828 0.266676
+vn 0.253158 0.927532 0.274945
+vn -0.058307 0.984772 0.163780
+vn -0.062733 0.982198 0.177067
+vn 0.253158 0.927532 0.274945
+vn 0.244910 0.930205 0.273382
+vn -0.062733 0.982198 0.177067
+vn -0.060842 0.982180 0.177822
+vn 0.244910 0.930205 0.273382
+vn 0.239053 0.934770 0.262791
+vn -0.060842 0.982180 0.177822
+vn -0.054927 0.984227 0.168166
+vn 0.239053 0.934770 0.262791
+vn 0.231900 0.941250 0.245500
+vn -0.054927 0.984227 0.168166
+vn -0.047610 0.987207 0.152169
+vn 0.243582 0.962344 0.120674
+vn -0.009367 0.999457 0.031576
+vn 0.230833 0.951437 0.203674
+vn -0.033966 0.993105 0.112199
+vn 0.230833 0.951437 0.203674
+vn -0.033966 0.993105 0.112199
+vn 0.231900 0.941250 0.245500
+vn -0.047610 0.987207 0.152169
+vn 0.256781 0.965409 0.045275
+vn 0.012391 0.999075 -0.041173
+vn 0.243582 0.962344 0.120674
+vn -0.009367 0.999457 0.031576
+vn 0.286139 0.925288 0.248930
+vn 0.267819 0.925828 0.266676
+vn -0.049267 0.988449 0.143320
+vn -0.058307 0.984772 0.163780
+vn -0.174900 0.929145 0.325730
+vn -0.668702 0.723148 0.172900
+vn -0.251575 0.841635 0.477871
+vn -0.730918 0.644160 0.225427
+vn -0.190421 0.847673 0.495167
+vn 0.126857 0.919135 0.372959
+vn 0.010291 0.942514 0.334009
+vn 0.178345 0.911816 0.369844
+vn 0.375486 0.877531 0.298245
+vn 0.178345 0.911816 0.369844
+vn 0.591627 0.676546 0.438478
+vn 0.126857 0.919135 0.372959
+vn 0.572960 0.776527 0.262150
+vn 0.432292 0.565856 0.702090
+vn 0.754102 0.595943 0.276010
+vn 0.409028 0.438047 0.800507
+vn 0.832821 0.429436 -0.349275
+vn 0.912558 0.216697 -0.346815
+vn 0.498688 -0.071537 -0.863824
+vn 0.422767 -0.092289 -0.901527
+vn -0.104194 -0.979099 -0.174670
+vn -0.100671 -0.973048 -0.207468
+vn -0.004134 -0.987066 -0.160263
+vn 0.085876 -0.980989 -0.174031
+vn -0.104521 -0.974390 -0.199095
+vn 0.310179 -0.950185 -0.030632
+vn -0.104194 -0.979099 -0.174670
+vn -0.100671 -0.973048 -0.207468
+vn -0.311386 -0.928318 -0.203138
+vn -0.280599 -0.879451 0.384487
+vn -0.104521 -0.974390 -0.199095
+vn 0.310179 -0.950185 -0.030632
+vn 0.159004 -0.714985 -0.680819
+vn -0.167064 -0.572012 -0.803051
+vn -0.311386 -0.928318 -0.203138
+vn -0.692291 -0.682770 -0.233577
+vn 0.498688 -0.071537 -0.863824
+vn 0.422767 -0.092289 -0.901527
+vn -0.167064 -0.572012 -0.803051
+vn -0.364625 -0.356862 -0.860057
+vn -0.615318 -0.751607 -0.237636
+vn -0.595198 -0.679156 -0.429520
+vn -0.992991 0.004171 -0.118113
+vn -0.978996 -0.000556 -0.203877
+vn -0.992833 -0.113810 -0.036459
+vn -0.813585 0.552464 -0.181282
+vn -0.999492 -0.000330 -0.031858
+vn -0.711110 0.690329 -0.133300
+vn 0.868791 -0.403770 0.286656
+vn -0.028436 -0.805938 0.591317
+vn 0.744389 -0.092487 0.661310
+vn -0.098738 -0.137158 0.985616
+vn 0.999324 -0.023631 -0.028163
+vn 0.998472 0.009356 -0.054464
+vn 0.747292 0.651112 -0.132694
+vn 0.729059 0.391977 -0.561094
+vn 0.998472 0.009356 -0.054464
+vn 0.868791 -0.403770 0.286656
+vn 0.998031 -0.027522 0.056361
+vn 0.744389 -0.092487 0.661310
+vn 0.454700 0.855959 0.246133
+vn 0.474406 0.849858 0.229522
+vn -0.216427 0.968499 0.123166
+vn -0.238450 0.961654 0.135514
+vn 0.474406 0.849858 0.229522
+vn 0.427571 0.874817 0.227768
+vn -0.238450 0.961654 0.135514
+vn -0.237901 0.943097 0.232319
+vn 0.427571 0.874817 0.227768
+vn 0.394761 0.886945 0.239777
+vn -0.237901 0.943097 0.232319
+vn -0.075259 0.883116 0.463080
+vn 0.426671 0.867299 0.256407
+vn 0.454700 0.855959 0.246133
+vn -0.214919 0.967688 0.131869
+vn -0.216427 0.968499 0.123166
+vn -0.171023 0.981220 0.089215
+vn -0.205817 0.970929 0.122212
+vn -0.794762 0.603722 -0.062238
+vn -0.816098 0.575762 -0.049826
+vn 0.995049 -0.082690 -0.055139
+vn 0.688088 -0.339013 -0.641565
+vn 0.991894 -0.094160 -0.085328
+vn 0.704048 0.267029 -0.658036
+vn 0.997487 -0.040828 -0.057904
+vn 0.714381 -0.313492 -0.625605
+vn 0.995049 -0.082690 -0.055139
+vn 0.688088 -0.339013 -0.641565
+vn -0.766793 -0.321332 -0.555675
+vn -0.770548 -0.251029 -0.585868
+vn -0.997294 -0.065850 0.032678
+vn -0.997582 0.059254 0.036311
+vn -0.997294 -0.065850 0.032678
+vn -0.997582 0.059254 0.036311
+vn -0.770489 0.173021 0.613523
+vn -0.676445 0.345304 0.650529
+vn -0.770489 0.173021 0.613523
+vn -0.676445 0.345304 0.650529
+vn 0.064126 0.321298 0.944805
+vn 0.110704 0.396908 0.911158
+vn 0.595196 -0.790377 -0.145073
+vn 0.535729 -0.749900 -0.388130
+vn -0.055183 -0.997762 0.037770
+vn -0.200876 -0.938990 -0.279188
+vn 0.595196 -0.790377 -0.145073
+vn 0.978996 -0.076593 -0.188944
+vn 0.535729 -0.749900 -0.388130
+vn 0.965818 -0.102657 -0.238027
+vn 0.978996 -0.076593 -0.188944
+vn 0.730921 0.681748 -0.031222
+vn 0.965818 -0.102657 -0.238027
+vn 0.798464 0.592039 0.109291
+vn -0.136593 0.988641 0.062704
+vn -0.126856 0.991916 0.003048
+vn -0.754873 0.655817 0.008426
+vn -0.591624 0.791300 0.154356
+vn 0.190419 0.971218 0.143096
+vn 0.417572 -0.115859 0.901227
+vn -0.363859 0.732525 0.575338
+vn -0.913029 0.058132 0.403732
+vn -0.591624 0.791300 0.154356
+vn -0.432294 0.786968 0.440232
+vn -0.954367 -0.089525 0.284903
+vn -0.104520 0.126615 0.986430
+vn -0.832821 0.268089 -0.484290
+vn -0.912558 0.071633 -0.402625
+vn -0.754101 0.655893 0.033702
+vn -0.885577 0.434052 0.165383
+vn 0.311383 -0.937069 0.157933
+vn 0.280598 -0.672461 0.684881
+vn 0.692291 -0.720614 0.038066
+vn 0.730840 -0.292781 0.616564
+vn -0.055183 -0.997762 0.037770
+vn -0.200876 -0.938990 -0.279188
+vn -0.085877 -0.975073 0.204592
+vn -0.788153 -0.614036 0.042128
+vn 0.000000 -0.984642 -0.174586
+vn -0.550874 -0.818967 -0.160719
+vn 0.000000 -0.988118 -0.153695
+vn -0.566731 -0.812635 -0.135796
+vn -0.550874 -0.818967 -0.160719
+vn -0.930351 -0.350323 -0.108265
+vn -0.566731 -0.812635 -0.135796
+vn -0.934223 -0.347128 -0.082036
+vn 0.566732 -0.812634 -0.135796
+vn 0.580175 -0.810431 -0.081233
+vn 0.934223 -0.347128 -0.082036
+vn 0.935556 -0.347917 -0.060737
+vn 0.934223 -0.347128 -0.082036
+vn 0.935556 -0.347917 -0.060737
+vn 0.998945 0.001365 -0.045896
+vn 0.998795 0.002105 -0.049041
+vn 0.998945 0.001365 -0.045896
+vn 0.998795 0.002105 -0.049041
+vn 0.915507 0.401409 -0.026782
+vn 0.910676 0.409383 -0.055454
+vn 0.915507 0.401409 -0.026782
+vn 0.910676 0.409383 -0.055454
+vn 0.395443 0.918473 -0.005712
+vn 0.393179 0.917204 -0.064395
+vn 0.395443 0.918473 -0.005712
+vn 0.393179 0.917204 -0.064395
+vn 0.000000 1.000000 0.000667
+vn -0.000000 0.998068 -0.062137
+vn 0.000000 -0.988118 -0.153695
+vn 0.000000 -0.996239 -0.086650
+vn 0.566732 -0.812634 -0.135796
+vn 0.580175 -0.810431 -0.081233
+vn -0.936623 0.246156 -0.249290
+vn -0.942392 0.237105 -0.235962
+vn -0.861571 0.441494 -0.250557
+vn -0.872581 0.428933 -0.233706
+vn -0.861571 0.441494 -0.250557
+vn -0.872581 0.428933 -0.233706
+vn -0.590545 0.777834 -0.215015
+vn -0.613022 0.765980 -0.193595
+vn -0.590545 0.777834 -0.215015
+vn -0.613022 0.765980 -0.193595
+vn -0.381239 0.907354 -0.177106
+vn -0.402831 0.902223 -0.154017
+vn -0.381239 0.907354 -0.177106
+vn -0.402831 0.902223 -0.154017
+vn -0.212574 0.967339 -0.138088
+vn -0.228823 0.966819 -0.113583
+vn -0.712408 0.665520 -0.222618
+vn -0.729617 0.653494 -0.201508
+vn -0.936623 0.246156 -0.249290
+vn -0.942392 0.237105 -0.235962
+vn 0.141482 -0.826921 0.544229
+vn 0.448187 -0.697278 0.559403
+vn 0.107920 -0.793508 0.598914
+vn 0.341298 -0.683235 0.645527
+vn -0.728495 -0.679050 0.090483
+vn -0.686104 -0.696036 0.211648
+vn -0.962746 -0.163750 -0.215187
+vn -0.972447 -0.204465 -0.111986
+vn -0.422392 -0.826715 0.371655
+vn -0.424970 -0.793362 0.435865
+vn -0.686104 -0.696036 0.211648
+vn -0.644927 -0.682689 0.343519
+vn -0.161231 -0.834756 0.526485
+vn -0.172906 -0.807026 0.564635
+vn -0.424970 -0.793362 0.435865
+vn -0.434254 -0.759305 0.484644
+vn -0.995021 -0.034171 0.093625
+vn -0.980194 0.012390 -0.197650
+vn -0.888098 0.452894 -0.078547
+vn -0.972978 0.123508 -0.195091
+vn -0.161231 -0.834756 0.526485
+vn 0.107920 -0.793508 0.598914
+vn -0.172906 -0.807026 0.564635
+vn 0.088468 -0.759436 0.644539
+vn 0.277141 0.944775 0.174906
+vn 0.238023 0.964693 0.112753
+vn 0.504008 0.839513 0.202963
+vn 0.444601 0.887135 0.123779
+vn 0.912670 0.347171 0.215654
+vn 0.696407 0.702234 0.147937
+vn 0.869719 0.446155 0.211032
+vn 0.600998 0.795413 0.078220
+vn 0.293537 0.930191 0.220412
+vn 0.286139 0.925288 0.248930
+vn -0.040740 0.991337 0.124864
+vn -0.049267 0.988449 0.143320
+vn -0.995021 -0.034171 0.093625
+vn -0.888098 0.452894 -0.078547
+vn -0.237901 0.943097 0.232319
+vn -0.238450 0.961654 0.135514
+vn -0.992991 0.004171 -0.118113
+vn -0.978996 -0.000556 -0.203877
+vn -0.668702 0.723148 0.172900
+vn -0.730918 0.644160 0.225427
+vn 0.126857 0.919135 0.372959
+vn -0.190421 0.847673 0.495167
+vn 0.136595 0.893835 0.427083
+vn -0.589305 0.679573 0.436922
+vn -0.190421 0.847673 0.495167
+vn -0.251575 0.841635 0.477871
+vn 0.363857 0.464931 0.807123
+vn -0.284244 0.672597 0.683241
+vn 0.832821 0.429436 -0.349275
+vn 0.754102 0.595943 0.276010
+vn 0.912558 0.216697 -0.346815
+vn 0.885577 0.340990 0.315402
+vn 0.591627 0.676546 0.438478
+vn 0.954367 -0.189371 0.230918
+vn 0.432292 0.565856 0.702090
+vn 0.104519 -0.250613 0.962429
+vn 0.055181 -0.939790 -0.337268
+vn 0.085876 -0.980989 -0.174031
+vn 0.200878 -0.766991 -0.609404
+vn 0.788152 -0.585407 -0.190041
+vn -0.311386 -0.928318 -0.203138
+vn -0.692291 -0.682770 -0.233577
+vn -0.280599 -0.879451 0.384487
+vn -0.730841 -0.501704 0.462779
+vn -0.595198 -0.679156 -0.429520
+vn 0.055181 -0.939790 -0.337268
+vn -0.535731 -0.550905 -0.639919
+vn 0.200878 -0.766991 -0.609404
+vn -0.813585 0.552464 -0.181282
+vn -0.117384 0.935171 -0.334181
+vn -0.711110 0.690329 -0.133300
+vn 0.013258 0.982574 -0.185399
+vn -0.883797 -0.396712 0.248037
+vn -0.864793 -0.114943 0.488796
+vn -0.028436 -0.805938 0.591317
+vn -0.098738 -0.137158 0.985616
+vn -0.778764 -0.626978 0.020645
+vn -0.999492 -0.000330 -0.031858
+vn -0.883797 -0.396712 0.248037
+vn -0.992833 -0.016638 -0.118347
+vn 0.747292 0.651112 -0.132694
+vn 0.729059 0.391977 -0.561094
+vn 0.013258 0.982574 -0.185399
+vn 0.009236 0.601083 -0.799133
+vn 0.998031 -0.027522 0.056361
+vn 0.754952 0.025658 -0.655278
+vn 0.998472 0.009356 -0.054464
+vn 0.729059 0.391977 -0.561094
+vn -0.021123 0.396192 -0.917925
+vn 0.704048 0.267029 -0.658036
+vn -0.023068 -0.453503 -0.890956
+vn 0.688088 -0.339013 -0.641565
+vn -0.205817 0.970929 0.122212
+vn -0.218561 0.967108 0.130128
+vn -0.816098 0.575762 -0.049826
+vn -0.829050 0.554915 -0.068884
+vn -0.218561 0.967108 0.130128
+vn -0.219189 0.966526 0.133355
+vn -0.829050 0.554915 -0.068884
+vn -0.836399 0.540727 -0.089732
+vn -0.214919 0.967688 0.131869
+vn -0.840135 0.532705 -0.101977
+vn -0.219189 0.966526 0.133355
+vn -0.836399 0.540727 -0.089732
+vn -0.729617 0.653494 -0.201508
+vn -0.762398 0.633575 -0.131650
+vn -0.942392 0.237105 -0.235962
+vn -0.955529 0.225152 -0.190447
+vn -0.794762 0.603722 -0.062238
+vn -0.966576 0.210797 -0.145932
+vn -0.762398 0.633575 -0.131650
+vn -0.955529 0.225152 -0.190447
+vn 0.714381 -0.313492 -0.625605
+vn 0.997487 -0.040828 -0.057904
+vn 0.653525 -0.274637 -0.705322
+vn 0.989802 0.029254 -0.139411
+vn 0.997487 -0.040828 -0.057904
+vn 0.828893 0.195399 0.524172
+vn 0.989802 0.029254 -0.139411
+vn 0.809786 0.304228 0.501688
+vn 0.064126 0.321298 0.944805
+vn 0.110704 0.396908 0.911158
+vn 0.828893 0.195399 0.524172
+vn 0.809786 0.304228 0.501688
+vn -0.766793 -0.321332 -0.555675
+vn -0.703356 -0.366299 -0.609193
+vn -0.046282 -0.448711 -0.892478
+vn -0.023068 -0.453503 -0.890956
+vn -0.703356 -0.366299 -0.609193
+vn -0.720281 0.122985 -0.682694
+vn -0.023068 -0.453503 -0.890956
+vn -0.021123 0.396192 -0.917925
+vn -0.770548 -0.251029 -0.585868
+vn -0.766793 -0.321332 -0.555675
+vn -0.077022 -0.410030 -0.908814
+vn -0.046282 -0.448711 -0.892478
+vn -0.754873 0.655817 0.008426
+vn -0.744678 0.648552 0.157589
+vn -0.136593 0.988641 0.062704
+vn -0.133058 0.946645 0.293529
+vn 0.190419 0.971218 0.143096
+vn 0.589302 0.793527 0.151783
+vn 0.417572 -0.115859 0.901227
+vn 0.987665 0.009463 0.156293
+vn -0.136593 0.988641 0.062704
+vn -0.133058 0.946645 0.293529
+vn 0.589302 0.793527 0.151783
+vn 0.571022 0.763590 0.301437
+vn -0.363859 0.732525 0.575338
+vn -0.404082 0.611159 0.680590
+vn 0.284247 0.878967 0.382912
+vn 0.285936 0.725070 0.626510
+vn 0.284247 0.878967 0.382912
+vn 0.285936 0.725070 0.626510
+vn 0.798464 0.592039 0.109291
+vn 0.838809 0.461932 0.288128
+vn -0.591624 0.791300 0.154356
+vn -0.954367 -0.089525 0.284903
+vn -0.754873 0.655817 0.008426
+vn -0.997007 -0.075806 -0.015173
+vn -0.432294 0.786968 0.440232
+vn -0.409027 0.705115 0.579232
+vn -0.104520 0.126615 0.986430
+vn 0.261148 0.308024 0.914835
+vn -0.754101 0.655893 0.033702
+vn -0.885577 0.434052 0.165383
+vn -0.409027 0.705115 0.579232
+vn -0.466716 0.553894 0.689476
+vn -0.912558 0.071633 -0.402625
+vn -0.422766 -0.422025 -0.801975
+vn -0.940849 -0.114217 -0.318994
+vn -0.394411 -0.422019 -0.816297
+vn -0.422766 -0.422025 -0.801975
+vn 0.364626 -0.652014 -0.664775
+vn -0.394411 -0.422019 -0.816297
+vn 0.418978 -0.446740 -0.790494
+vn 0.167066 -0.830353 -0.531604
+vn 0.692291 -0.720614 0.038066
+vn 0.364626 -0.652014 -0.664775
+vn 0.867373 -0.479134 -0.134517
+vn 0.280598 -0.672461 0.684881
+vn -0.310181 -0.892984 0.326140
+vn -0.104520 0.126615 0.986430
+vn -0.954367 -0.089525 0.284903
+vn -0.310181 -0.892984 0.326140
+vn 0.100675 -0.980182 0.170608
+vn -0.625606 -0.779673 0.026963
+vn 0.126531 -0.990068 0.061279
+vn 0.100675 -0.980182 0.170608
+vn -0.085877 -0.975073 0.204592
+vn 0.126531 -0.990068 0.061279
+vn 0.716416 -0.685633 0.129057
+vn -0.566731 -0.812635 -0.135796
+vn -0.934223 -0.347128 -0.082036
+vn -0.580175 -0.810431 -0.081233
+vn -0.935556 -0.347917 -0.060737
+vn -0.934223 -0.347128 -0.082036
+vn -0.998945 0.001365 -0.045896
+vn -0.935556 -0.347917 -0.060737
+vn -0.998795 0.002105 -0.049041
+vn -0.998945 0.001365 -0.045896
+vn -0.915507 0.401409 -0.026782
+vn -0.998795 0.002105 -0.049041
+vn -0.910676 0.409383 -0.055454
+vn -0.915507 0.401409 -0.026782
+vn -0.395443 0.918473 -0.005712
+vn -0.910676 0.409383 -0.055454
+vn -0.393179 0.917204 -0.064396
+vn -0.395443 0.918473 -0.005712
+vn 0.000000 1.000000 0.000667
+vn -0.393179 0.917204 -0.064396
+vn -0.000000 0.998068 -0.062137
+vn 0.000000 -0.988118 -0.153695
+vn -0.566731 -0.812635 -0.135796
+vn 0.000000 -0.996239 -0.086650
+vn -0.580175 -0.810431 -0.081233
+vn 0.012391 0.999075 -0.041173
+vn -0.228823 0.966819 -0.113583
+vn -0.009367 0.999457 0.031576
+vn -0.261651 0.964136 -0.044500
+vn 0.448187 -0.697278 0.559403
+vn 0.867547 -0.207673 0.451923
+vn 0.341298 -0.683235 0.645527
+vn 0.738913 -0.240494 0.629420
+vn 0.867547 -0.207673 0.451923
+vn 0.869719 0.446155 0.211032
+vn 0.738913 -0.240494 0.629420
+vn 0.774773 0.560328 0.292848
+vn -0.980194 0.012390 -0.197650
+vn -0.969215 -0.102488 -0.223872
+vn -0.936057 0.262429 -0.234367
+vn -0.911935 0.289619 -0.290681
+vn -0.969215 -0.102488 -0.223872
+vn -0.962746 -0.163750 -0.215187
+vn -0.911935 0.289619 -0.290681
+vn -0.874566 0.353670 -0.331741
+vn 0.277141 0.944775 0.174906
+vn 0.293537 0.930191 0.220412
+vn -0.031245 0.994531 0.099654
+vn -0.040740 0.991337 0.124864
+vn 0.238023 0.964693 0.112753
+vn 0.277141 0.944775 0.174906
+vn -0.017914 0.998137 0.058328
+vn -0.031245 0.994531 0.099654
+vn 0.696407 0.702234 0.147937
+vn 0.444601 0.887135 0.123779
+vn 0.600998 0.795413 0.078220
+vn 0.365102 0.930180 0.038287
+vn -0.058307 0.984772 0.163780
+vn -0.398690 0.915926 0.046103
+vn -0.049267 0.988449 0.143320
+vn -0.405845 0.913703 0.020886
+vn -0.062733 0.982198 0.177067
+vn -0.386418 0.920050 0.064720
+vn -0.058307 0.984772 0.163780
+vn -0.398690 0.915926 0.046103
+vn -0.060842 0.982180 0.177822
+vn -0.371263 0.925708 0.072307
+vn -0.062733 0.982198 0.177067
+vn -0.386418 0.920050 0.064720
+vn -0.054927 0.984227 0.168166
+vn -0.352461 0.933136 0.070912
+vn -0.060842 0.982180 0.177822
+vn -0.371263 0.925708 0.072307
+vn -0.047610 0.987207 0.152169
+vn -0.329967 0.941842 0.063681
+vn -0.054927 0.984227 0.168166
+vn -0.352461 0.933136 0.070912
+vn -0.009367 0.999457 0.031576
+vn -0.261651 0.964136 -0.044500
+vn -0.033966 0.993105 0.112199
+vn -0.300403 0.953306 0.031069
+vn -0.033966 0.993105 0.112199
+vn -0.300403 0.953306 0.031069
+vn -0.047610 0.987207 0.152169
+vn -0.329967 0.941842 0.063681
+vn -0.049267 0.988449 0.143320
+vn -0.405845 0.913703 0.020886
+vn -0.040740 0.991337 0.124864
+vn -0.397049 0.917797 -0.001137
+vn -0.251575 0.841635 0.477871
+vn -0.730918 0.644160 0.225427
+vn -0.284244 0.672597 0.683241
+vn -0.798462 0.508498 0.322318
+vn 0.136595 0.893835 0.427083
+vn 0.754875 0.605303 0.252532
+vn 0.126857 0.919135 0.372959
+vn 0.591627 0.676546 0.438478
+vn -0.190421 0.847673 0.495167
+vn 0.363857 0.464931 0.807123
+vn -0.417578 -0.443777 0.792900
+vn 0.913028 -0.096716 0.396265
+vn 0.754102 0.595943 0.276010
+vn 0.409028 0.438047 0.800507
+vn 0.885577 0.340990 0.315402
+vn 0.466717 0.256613 0.846360
+vn 0.432292 0.565856 0.702090
+vn 0.104519 -0.250613 0.962429
+vn 0.409028 0.438047 0.800507
+vn -0.261148 -0.055591 0.963697
+vn 0.591627 0.676546 0.438478
+vn 0.754875 0.605303 0.252532
+vn 0.954367 -0.189371 0.230918
+vn 0.997007 -0.064670 -0.042364
+vn 0.912558 0.216697 -0.346815
+vn 0.940850 0.013064 -0.338573
+vn 0.422767 -0.092289 -0.901527
+vn 0.394410 -0.086939 -0.914813
+vn 0.310179 -0.950185 -0.030632
+vn 0.625602 -0.733423 -0.265918
+vn -0.100671 -0.973048 -0.207468
+vn -0.126526 -0.941424 -0.312588
+vn -0.100671 -0.973048 -0.207468
+vn -0.126526 -0.941424 -0.312588
+vn 0.085876 -0.980989 -0.174031
+vn -0.716416 -0.684269 -0.136106
+vn -0.280599 -0.879451 0.384487
+vn 0.104519 -0.250613 0.962429
+vn 0.310179 -0.950185 -0.030632
+vn 0.954367 -0.189371 0.230918
+vn -0.167064 -0.572012 -0.803051
+vn -0.364625 -0.356862 -0.860057
+vn -0.692291 -0.682770 -0.233577
+vn -0.867374 -0.394333 -0.303586
+vn 0.422767 -0.092289 -0.901527
+vn 0.394410 -0.086939 -0.914813
+vn -0.364625 -0.356862 -0.860057
+vn -0.418976 -0.119502 -0.900099
+vn -0.595198 -0.679156 -0.429520
+vn -0.535731 -0.550905 -0.639919
+vn -0.978996 -0.000556 -0.203877
+vn -0.965818 -0.006424 -0.259141
+vn -0.864793 -0.114943 0.488796
+vn -0.883797 -0.396712 0.248037
+vn -0.984482 -0.069695 -0.161050
+vn -0.992833 -0.016638 -0.118347
+vn -0.999492 -0.000330 -0.031858
+vn -0.711110 0.690329 -0.133300
+vn -0.992833 -0.016638 -0.118347
+vn -0.711538 0.386843 -0.586572
+vn 0.998031 -0.027522 0.056361
+vn 0.744389 -0.092487 0.661310
+vn 0.982871 -0.014321 0.183737
+vn 0.635202 -0.040713 0.771272
+vn 0.744389 -0.092487 0.661310
+vn -0.098738 -0.137158 0.985616
+vn 0.635202 -0.040713 0.771272
+vn -0.203698 -0.060557 0.977159
+vn -0.711110 0.690329 -0.133300
+vn 0.013258 0.982574 -0.185399
+vn -0.711538 0.386843 -0.586572
+vn 0.009236 0.601083 -0.799133
+vn 0.754952 0.025658 -0.655278
+vn 0.998031 -0.027522 0.056361
+vn 0.848731 0.005518 -0.528797
+vn 0.982871 -0.014321 0.183737
+vn -0.216427 0.968499 0.123166
+vn -0.846329 0.522157 -0.105256
+vn -0.214919 0.967688 0.131869
+vn -0.840135 0.532705 -0.101977
+vn -0.238450 0.961654 0.135514
+vn -0.888098 0.452894 -0.078547
+vn -0.216427 0.968499 0.123166
+vn -0.846329 0.522157 -0.105256
+vn -0.816098 0.575762 -0.049826
+vn -0.969717 0.197228 -0.144051
+vn -0.794762 0.603722 -0.062238
+vn -0.966576 0.210797 -0.145932
+vn 0.714381 -0.313492 -0.625605
+vn -0.046282 -0.448711 -0.892478
+vn 0.688088 -0.339013 -0.641565
+vn -0.023068 -0.453503 -0.890956
+vn 0.653525 -0.274637 -0.705322
+vn -0.077022 -0.410030 -0.908814
+vn 0.714381 -0.313492 -0.625605
+vn -0.046282 -0.448711 -0.892478
+vn -0.077022 -0.410030 -0.908814
+vn -0.076533 -0.320826 -0.944041
+vn -0.770548 -0.251029 -0.585868
+vn -0.673586 -0.156972 -0.722247
+vn -0.770548 -0.251029 -0.585868
+vn -0.673586 -0.156972 -0.722247
+vn -0.997582 0.059254 0.036311
+vn -0.981493 0.171606 -0.084986
+vn -0.997582 0.059254 0.036311
+vn -0.981493 0.171606 -0.084986
+vn -0.676445 0.345304 0.650529
+vn -0.871817 0.340967 0.351678
+vn 0.110704 0.396908 0.911158
+vn -0.676445 0.345304 0.650529
+vn 0.171429 0.469542 0.866108
+vn -0.273583 0.477721 0.834827
+vn 0.535729 -0.749900 -0.388130
+vn 0.483307 -0.654028 -0.581946
+vn -0.200876 -0.938990 -0.279188
+vn -0.278098 -0.790767 -0.545297
+vn 0.535729 -0.749900 -0.388130
+vn 0.965818 -0.102657 -0.238027
+vn 0.483307 -0.654028 -0.581946
+vn 0.963855 -0.118286 -0.238729
+vn 0.965818 -0.102657 -0.238027
+vn 0.798464 0.592039 0.109291
+vn 0.963855 -0.118286 -0.238729
+vn 0.838809 0.461932 0.288128
+vn -0.744678 0.648552 0.157589
+vn -0.754873 0.655817 0.008426
+vn -0.997845 -0.049173 -0.043449
+vn -0.997007 -0.075806 -0.015173
+vn -0.363859 0.732525 0.575338
+vn -0.913029 0.058132 0.403732
+vn -0.404082 0.611159 0.680590
+vn -0.931086 0.097659 0.351486
+vn -0.913029 0.058132 0.403732
+vn 0.417572 -0.115859 0.901227
+vn -0.788153 -0.614036 0.042128
+vn -0.085877 -0.975073 0.204592
+vn -0.885577 0.434052 0.165383
+vn -0.912558 0.071633 -0.402625
+vn -0.933916 0.202267 0.294769
+vn -0.940849 -0.114217 -0.318994
+vn 0.730840 -0.292781 0.616564
+vn 0.860427 -0.105587 0.498514
+vn 0.692291 -0.720614 0.038066
+vn 0.867373 -0.479134 -0.134517
+vn 0.730840 -0.292781 0.616564
+vn 0.280598 -0.672461 0.684881
+vn 0.261148 0.308024 0.914835
+vn -0.104520 0.126615 0.986430
+vn -0.310181 -0.892984 0.326140
+vn -0.625606 -0.779673 0.026963
+vn -0.954367 -0.089525 0.284903
+vn -0.997007 -0.075806 -0.015173
+vn -0.200876 -0.938990 -0.279188
+vn -0.278098 -0.790767 -0.545297
+vn -0.788153 -0.614036 0.042128
+vn -0.856517 -0.487905 -0.168307
+vn 0.580175 -0.810431 -0.081233
+vn 0.000000 -0.996239 -0.086650
+vn 0.593034 -0.804883 -0.021767
+vn 0.000000 -0.999969 -0.007922
+vn 0.580175 -0.810431 -0.081233
+vn 0.593034 -0.804883 -0.021767
+vn 0.935556 -0.347917 -0.060737
+vn 0.935257 -0.351132 -0.044732
+vn 0.935556 -0.347917 -0.060737
+vn 0.935257 -0.351132 -0.044732
+vn 0.998795 0.002105 -0.049041
+vn 0.998076 -0.002263 -0.061955
+vn 0.998795 0.002105 -0.049041
+vn 0.998076 -0.002263 -0.061955
+vn 0.910676 0.409383 -0.055454
+vn 0.909277 0.404882 -0.096367
+vn 0.393179 0.917204 -0.064395
+vn 0.910676 0.409383 -0.055454
+vn 0.396548 0.908029 -0.135029
+vn 0.909277 0.404882 -0.096367
+vn 0.393179 0.917204 -0.064395
+vn 0.396548 0.908029 -0.135029
+vn -0.000000 0.998068 -0.062137
+vn -0.000000 0.990715 -0.135958
+vn -0.942392 0.237105 -0.235962
+vn -0.955529 0.225152 -0.190447
+vn -0.872581 0.428933 -0.233706
+vn -0.893535 0.411472 -0.179684
+vn -0.872581 0.428933 -0.233706
+vn -0.893535 0.411472 -0.179684
+vn -0.613022 0.765980 -0.193595
+vn -0.651360 0.747909 -0.127916
+vn -0.613022 0.765980 -0.193595
+vn -0.651360 0.747909 -0.127916
+vn -0.402831 0.902223 -0.154017
+vn -0.441967 0.892880 -0.086195
+vn -0.402831 0.902223 -0.154017
+vn -0.441967 0.892880 -0.086195
+vn -0.228823 0.966819 -0.113583
+vn -0.261651 0.964136 -0.044500
+vn 0.341298 -0.683235 0.645527
+vn 0.270212 -0.653309 0.707229
+vn 0.107920 -0.793508 0.598914
+vn 0.088468 -0.759436 0.644539
+vn -0.962746 -0.163750 -0.215187
+vn -0.972447 -0.204465 -0.111986
+vn -0.874566 0.353670 -0.331741
+vn -0.835172 0.453644 -0.310958
+vn -0.686104 -0.696036 0.211648
+vn -0.644927 -0.682689 0.343519
+vn -0.972447 -0.204465 -0.111986
+vn -0.965431 -0.237588 0.107213
+vn -0.644927 -0.682689 0.343519
+vn -0.424970 -0.793362 0.435865
+vn -0.620009 -0.653057 0.434863
+vn -0.434254 -0.759305 0.484644
+vn -0.172906 -0.807026 0.564635
+vn -0.193590 -0.750205 0.632230
+vn -0.434254 -0.759305 0.484644
+vn -0.453390 -0.698174 0.554067
+vn -0.980194 0.012390 -0.197650
+vn -0.936057 0.262429 -0.234367
+vn -0.972978 0.123508 -0.195091
+vn -0.944958 0.264658 -0.192380
+vn -0.888098 0.452894 -0.078547
+vn -0.972978 0.123508 -0.195091
+vn -0.846329 0.522157 -0.105256
+vn -0.965725 0.161558 -0.203162
+vn -0.172906 -0.807026 0.564635
+vn 0.088468 -0.759436 0.644539
+vn -0.193590 -0.750205 0.632230
+vn 0.065486 -0.698297 0.712807
+vn -0.017914 0.998137 0.058328
+vn 0.003111 0.999938 -0.010661
+vn 0.238023 0.964693 0.112753
+vn 0.197284 0.979916 0.029053
+vn 0.444601 0.887135 0.123779
+vn 0.238023 0.964693 0.112753
+vn 0.365102 0.930180 0.038287
+vn 0.197284 0.979916 0.029053
+vn 0.869719 0.446155 0.211032
+vn 0.600998 0.795413 0.078220
+vn 0.774773 0.560328 0.292848
+vn 0.492226 0.869708 0.036342
+vn -0.040740 0.991337 0.124864
+vn -0.397049 0.917797 -0.001137
+vn -0.031245 0.994531 0.099654
+vn -0.356921 0.933878 -0.021902
+vn -0.978996 -0.000556 -0.203877
+vn -0.965818 -0.006424 -0.259141
+vn -0.730918 0.644160 0.225427
+vn -0.798462 0.508498 0.322318
+vn 0.754875 0.605303 0.252532
+vn 0.136595 0.893835 0.427083
+vn 0.744682 0.542901 0.388211
+vn 0.133058 0.768742 0.625565
+vn 0.136595 0.893835 0.427083
+vn -0.589305 0.679573 0.436922
+vn 0.133058 0.768742 0.625565
+vn -0.571025 0.595955 0.564595
+vn -0.190421 0.847673 0.495167
+vn -0.417578 -0.443777 0.792900
+vn -0.589305 0.679573 0.436922
+vn -0.987665 -0.049539 0.148537
+vn 0.363857 0.464931 0.807123
+vn -0.284244 0.672597 0.683241
+vn 0.404081 0.313057 0.859485
+vn -0.285934 0.438920 0.851816
+vn 0.885577 0.340990 0.315402
+vn 0.933917 0.077667 0.348952
+vn 0.912558 0.216697 -0.346815
+vn 0.940850 0.013064 -0.338573
+vn 0.310179 -0.950185 -0.030632
+vn 0.954367 -0.189371 0.230918
+vn 0.625602 -0.733423 -0.265918
+vn 0.997007 -0.064670 -0.042364
+vn 0.104519 -0.250613 0.962429
+vn -0.280599 -0.879451 0.384487
+vn -0.261148 -0.055591 0.963697
+vn -0.730841 -0.501704 0.462779
+vn -0.535731 -0.550905 -0.639919
+vn 0.200878 -0.766991 -0.609404
+vn -0.483311 -0.389636 -0.783961
+vn 0.278101 -0.530177 -0.800982
+vn 0.200878 -0.766991 -0.609404
+vn 0.788152 -0.585407 -0.190041
+vn 0.278101 -0.530177 -0.800982
+vn 0.856518 -0.389861 -0.338209
+vn 0.085876 -0.980989 -0.174031
+vn -0.417578 -0.443777 0.792900
+vn 0.788152 -0.585407 -0.190041
+vn 0.913028 -0.096716 0.396265
+vn -0.730841 -0.501704 0.462779
+vn -0.692291 -0.682770 -0.233577
+vn -0.860427 -0.283980 0.423108
+vn -0.867374 -0.394333 -0.303586
+vn -0.984482 -0.069695 -0.161050
+vn -0.976008 -0.039423 -0.214138
+vn -0.864793 -0.114943 0.488796
+vn -0.890304 -0.050384 0.452571
+vn -0.864793 -0.114943 0.488796
+vn -0.890304 -0.050384 0.452571
+vn -0.098738 -0.137158 0.985616
+vn -0.203698 -0.060557 0.977159
+vn 0.009236 0.601083 -0.799133
+vn 0.729059 0.391977 -0.561094
+vn 0.068310 0.041295 -0.996809
+vn 0.754952 0.025658 -0.655278
+vn 0.848731 0.005518 -0.528797
+vn 0.161333 0.006212 -0.986880
+vn 0.754952 0.025658 -0.655278
+vn 0.068310 0.041295 -0.996809
+vn -0.829050 0.554915 -0.068884
+vn -0.968058 0.185719 -0.168442
+vn -0.816098 0.575762 -0.049826
+vn -0.969717 0.197228 -0.144051
+vn -0.836399 0.540727 -0.089732
+vn -0.965244 0.176559 -0.192694
+vn -0.829050 0.554915 -0.068884
+vn -0.968058 0.185719 -0.168442
+vn -0.846329 0.522157 -0.105256
+vn -0.965725 0.161558 -0.203162
+vn -0.840135 0.532705 -0.101977
+vn -0.963946 0.169208 -0.205369
+vn -0.840135 0.532705 -0.101977
+vn -0.963946 0.169208 -0.205369
+vn -0.836399 0.540727 -0.089732
+vn -0.965244 0.176559 -0.192694
+vn -0.969717 0.197228 -0.144051
+vn -0.926840 0.356187 -0.118734
+vn -0.966576 0.210797 -0.145932
+vn -0.915052 0.383223 -0.125774
+vn -0.966576 0.210797 -0.145932
+vn -0.915052 0.383223 -0.125774
+vn -0.955529 0.225152 -0.190447
+vn -0.893535 0.411472 -0.179684
+vn -0.077022 -0.410030 -0.908814
+vn 0.653525 -0.274637 -0.705322
+vn -0.076533 -0.320826 -0.944041
+vn 0.469865 -0.223324 -0.854022
+vn 0.653525 -0.274637 -0.705322
+vn 0.989802 0.029254 -0.139411
+vn 0.469865 -0.223324 -0.854022
+vn 0.921984 0.063314 -0.382017
+vn 0.989802 0.029254 -0.139411
+vn 0.809786 0.304228 0.501688
+vn 0.921984 0.063314 -0.382017
+vn 0.953436 0.269084 0.136215
+vn 0.110704 0.396908 0.911158
+vn 0.171429 0.469542 0.866108
+vn 0.809786 0.304228 0.501688
+vn 0.567367 0.410386 0.713918
+vn -0.744678 0.648552 0.157589
+vn -0.997845 -0.049173 -0.043449
+vn -0.730261 0.533191 0.427114
+vn -0.996820 -0.079687 -0.000679
+vn -0.133058 0.946645 0.293529
+vn -0.744678 0.648552 0.157589
+vn -0.118867 0.783838 0.609483
+vn -0.730261 0.533191 0.427114
+vn 0.987665 0.009463 0.156293
+vn 0.716416 -0.685633 0.129057
+vn 0.417572 -0.115859 0.901227
+vn -0.085877 -0.975073 0.204592
+vn 0.987665 0.009463 0.156293
+vn 0.589302 0.793527 0.151783
+vn 0.989318 0.079558 0.122149
+vn 0.571022 0.763590 0.301437
+vn -0.133058 0.946645 0.293529
+vn -0.118867 0.783838 0.609483
+vn 0.571022 0.763590 0.301437
+vn 0.555820 0.640175 0.530321
+vn -0.913029 0.058132 0.403732
+vn -0.788153 -0.614036 0.042128
+vn -0.931086 0.097659 0.351486
+vn -0.856517 -0.487905 -0.168307
+vn 0.285936 0.725070 0.626510
+vn -0.404082 0.611159 0.680590
+vn 0.318568 0.459314 0.829183
+vn -0.366306 0.409380 0.835600
+vn 0.285936 0.725070 0.626510
+vn 0.318568 0.459314 0.829183
+vn 0.838809 0.461932 0.288128
+vn 0.855276 0.257469 0.449681
+vn -0.409027 0.705115 0.579232
+vn -0.466716 0.553894 0.689476
+vn 0.261148 0.308024 0.914835
+vn 0.296621 0.340290 0.892311
+vn -0.885577 0.434052 0.165383
+vn -0.933916 0.202267 0.294769
+vn -0.466716 0.553894 0.689476
+vn -0.483900 0.386674 0.785063
+vn -0.933916 0.202267 0.294769
+vn -0.940849 -0.114217 -0.318994
+vn -0.908863 -0.075163 0.410266
+vn -0.907200 -0.330436 -0.260385
+vn -0.940849 -0.114217 -0.318994
+vn -0.394411 -0.422019 -0.816297
+vn -0.907200 -0.330436 -0.260385
+vn -0.362558 -0.490515 -0.792431
+vn -0.394411 -0.422019 -0.816297
+vn 0.418978 -0.446740 -0.790494
+vn -0.362558 -0.490515 -0.792431
+vn 0.436013 -0.347942 -0.829957
+vn 0.364626 -0.652014 -0.664775
+vn 0.867373 -0.479134 -0.134517
+vn 0.418978 -0.446740 -0.790494
+vn 0.933386 -0.209911 -0.291080
+vn 0.860427 -0.105587 0.498514
+vn 0.730840 -0.292781 0.616564
+vn 0.296621 0.340290 0.892311
+vn 0.261148 0.308024 0.914835
+vn -0.625606 -0.779673 0.026963
+vn 0.126531 -0.990068 0.061279
+vn -0.637706 -0.750443 -0.173683
+vn 0.134109 -0.973422 -0.185648
+vn 0.126531 -0.990068 0.061279
+vn 0.716416 -0.685633 0.129057
+vn 0.134109 -0.973422 -0.185648
+vn 0.781936 -0.618258 -0.079577
+vn -0.580175 -0.810431 -0.081233
+vn -0.593034 -0.804883 -0.021767
+vn 0.000000 -0.996239 -0.086650
+vn 0.000000 -0.999969 -0.007922
+vn -0.580175 -0.810431 -0.081233
+vn -0.935556 -0.347917 -0.060737
+vn -0.593034 -0.804883 -0.021767
+vn -0.935257 -0.351132 -0.044732
+vn -0.935556 -0.347917 -0.060737
+vn -0.998795 0.002105 -0.049041
+vn -0.935257 -0.351132 -0.044732
+vn -0.998076 -0.002263 -0.061955
+vn -0.998795 0.002105 -0.049041
+vn -0.910676 0.409383 -0.055454
+vn -0.998076 -0.002263 -0.061955
+vn -0.909277 0.404882 -0.096367
+vn -0.393179 0.917204 -0.064396
+vn -0.396548 0.908029 -0.135029
+vn -0.910676 0.409383 -0.055454
+vn -0.909277 0.404882 -0.096367
+vn -0.393179 0.917204 -0.064396
+vn -0.000000 0.998068 -0.062137
+vn -0.396548 0.908029 -0.135029
+vn -0.000000 0.990715 -0.135958
+vn 0.341298 -0.683235 0.645527
+vn 0.738913 -0.240494 0.629420
+vn 0.270212 -0.653309 0.707229
+vn 0.587438 -0.241365 0.772437
+vn 0.738913 -0.240494 0.629420
+vn 0.774773 0.560328 0.292848
+vn 0.587438 -0.241365 0.772437
+vn 0.668562 0.626729 0.400295
+vn -0.644927 -0.682689 0.343519
+vn -0.620009 -0.653057 0.434863
+vn -0.965431 -0.237588 0.107213
+vn -0.920069 -0.238594 0.310718
+vn -0.620009 -0.653057 0.434863
+vn -0.434254 -0.759305 0.484644
+vn -0.627070 -0.603121 0.492980
+vn -0.453390 -0.698174 0.554067
+vn -0.936057 0.262429 -0.234367
+vn -0.911935 0.289619 -0.290681
+vn -0.799548 0.575301 -0.172484
+vn -0.753146 0.616447 -0.229704
+vn -0.911935 0.289619 -0.290681
+vn -0.874566 0.353670 -0.331741
+vn -0.753146 0.616447 -0.229704
+vn -0.664190 0.697670 -0.268530
+vn 0.270212 -0.653309 0.707229
+vn 0.243692 -0.603319 0.759355
+vn 0.088468 -0.759436 0.644539
+vn 0.065486 -0.698297 0.712807
+vn -0.031245 0.994531 0.099654
+vn -0.356921 0.933878 -0.021902
+vn -0.017914 0.998137 0.058328
+vn -0.285371 0.957264 -0.046998
+vn -0.017914 0.998137 0.058328
+vn -0.285371 0.957264 -0.046998
+vn 0.003111 0.999938 -0.010661
+vn -0.199918 0.975627 -0.090469
+vn 0.600998 0.795413 0.078220
+vn 0.365102 0.930180 0.038287
+vn 0.492226 0.869708 0.036342
+vn 0.302620 0.951475 -0.055819
+vn -0.386418 0.920050 0.064720
+vn -0.589985 0.807366 -0.008825
+vn -0.398690 0.915926 0.046103
+vn -0.609002 0.792678 -0.027880
+vn -0.398690 0.915926 0.046103
+vn -0.609002 0.792678 -0.027880
+vn -0.405845 0.913703 0.020886
+vn -0.623088 0.780192 -0.055332
+vn -0.371263 0.925708 0.072307
+vn -0.570578 0.821234 0.003950
+vn -0.386418 0.920050 0.064720
+vn -0.589985 0.807366 -0.008825
+vn -0.352461 0.933136 0.070912
+vn -0.548444 0.836113 0.011159
+vn -0.371263 0.925708 0.072307
+vn -0.570578 0.821234 0.003950
+vn -0.329967 0.941842 0.063681
+vn -0.521737 0.853008 0.012977
+vn -0.352461 0.933136 0.070912
+vn -0.548444 0.836113 0.011159
+vn -0.300403 0.953306 0.031069
+vn -0.486879 0.873368 -0.013287
+vn -0.329967 0.941842 0.063681
+vn -0.521737 0.853008 0.012977
+vn -0.261651 0.964136 -0.044500
+vn -0.441967 0.892880 -0.086195
+vn -0.300403 0.953306 0.031069
+vn -0.486879 0.873368 -0.013287
+vn -0.405845 0.913703 0.020886
+vn -0.623088 0.780192 -0.055332
+vn -0.397049 0.917797 -0.001137
+vn -0.614459 0.783606 -0.091661
+vn -0.284244 0.672597 0.683241
+vn -0.798462 0.508498 0.322318
+vn -0.285934 0.438920 0.851816
+vn -0.838808 0.321055 0.439687
+vn 0.744682 0.542901 0.388211
+vn 0.997845 -0.029408 -0.058658
+vn 0.754875 0.605303 0.252532
+vn 0.997007 -0.064670 -0.042364
+vn 0.363857 0.464931 0.807123
+vn 0.404081 0.313057 0.859485
+vn 0.913028 -0.096716 0.396265
+vn 0.931085 -0.040549 0.362542
+vn 0.885577 0.340990 0.315402
+vn 0.466717 0.256613 0.846360
+vn 0.933917 0.077667 0.348952
+vn 0.483898 0.065802 0.872647
+vn 0.409028 0.438047 0.800507
+vn -0.261148 -0.055591 0.963697
+vn 0.466717 0.256613 0.846360
+vn -0.296620 -0.017251 0.954840
+vn 0.933917 0.077667 0.348952
+vn 0.908864 -0.222823 0.352584
+vn 0.940850 0.013064 -0.338573
+vn 0.907201 -0.209408 -0.364877
+vn 0.940850 0.013064 -0.338573
+vn 0.907201 -0.209408 -0.364877
+vn 0.394410 -0.086939 -0.914813
+vn 0.362559 -0.159394 -0.918229
+vn 0.625602 -0.733423 -0.265918
+vn 0.637703 -0.631434 -0.441164
+vn -0.126526 -0.941424 -0.312588
+vn -0.134105 -0.833840 -0.535468
+vn -0.126526 -0.941424 -0.312588
+vn -0.134105 -0.833840 -0.535468
+vn -0.716416 -0.684269 -0.136106
+vn -0.781934 -0.543912 -0.304532
+vn 0.085876 -0.980989 -0.174031
+vn -0.716416 -0.684269 -0.136106
+vn -0.417578 -0.443777 0.792900
+vn -0.987665 -0.049539 0.148537
+vn -0.535731 -0.550905 -0.639919
+vn -0.483311 -0.389636 -0.783961
+vn -0.965818 -0.006424 -0.259141
+vn -0.963855 -0.020664 -0.265626
+vn -0.261148 -0.055591 0.963697
+vn -0.730841 -0.501704 0.462779
+vn -0.296620 -0.017251 0.954840
+vn -0.860427 -0.283980 0.423108
+vn -0.364625 -0.356862 -0.860057
+vn -0.418976 -0.119502 -0.900099
+vn -0.867374 -0.394333 -0.303586
+vn -0.933386 -0.086135 -0.348383
+vn 0.394410 -0.086939 -0.914813
+vn 0.362559 -0.159394 -0.918229
+vn -0.418976 -0.119502 -0.900099
+vn -0.436011 -0.013116 -0.899846
+vn -0.976008 -0.039423 -0.214138
+vn -0.984482 -0.069695 -0.161050
+vn -0.605610 -0.022737 -0.795437
+vn -0.634750 -0.009849 -0.772655
+vn -0.984482 -0.069695 -0.161050
+vn -0.992833 -0.016638 -0.118347
+vn -0.634750 -0.009849 -0.772655
+vn -0.711538 0.386843 -0.586572
+vn 0.848731 0.005518 -0.528797
+vn 0.982871 -0.014321 0.183737
+vn 0.872883 -0.013741 -0.487736
+vn 0.964399 0.047012 0.260240
+vn 0.982871 -0.014321 0.183737
+vn 0.635202 -0.040713 0.771272
+vn 0.964399 0.047012 0.260240
+vn 0.533860 0.163750 0.829566
+vn -0.203698 -0.060557 0.977159
+vn -0.317565 0.105438 0.942356
+vn 0.635202 -0.040713 0.771272
+vn 0.533860 0.163750 0.829566
+vn 0.009236 0.601083 -0.799133
+vn 0.068310 0.041295 -0.996809
+vn -0.711538 0.386843 -0.586572
+vn -0.634750 -0.009849 -0.772655
+vn 0.161333 0.006212 -0.986880
+vn 0.848731 0.005518 -0.528797
+vn 0.247302 -0.063820 -0.966834
+vn 0.872883 -0.013741 -0.487736
+vn -0.968058 0.185719 -0.168442
+vn -0.931403 0.335932 -0.140137
+vn -0.969717 0.197228 -0.144051
+vn -0.926840 0.356187 -0.118734
+vn -0.076533 -0.320826 -0.944041
+vn 0.008955 -0.134454 -0.990879
+vn -0.673586 -0.156972 -0.722247
+vn -0.597567 0.015865 -0.801662
+vn -0.673586 -0.156972 -0.722247
+vn -0.597567 0.015865 -0.801662
+vn -0.981493 0.171606 -0.084986
+vn -0.968684 0.199088 -0.148377
+vn -0.676445 0.345304 0.650529
+vn -0.871817 0.340967 0.351678
+vn -0.273583 0.477721 0.834827
+vn -0.608826 0.436398 0.662486
+vn -0.981493 0.171606 -0.084986
+vn -0.968684 0.199088 -0.148377
+vn -0.871817 0.340967 0.351678
+vn -0.895970 0.370387 0.245055
+vn 0.171429 0.469542 0.866108
+vn -0.273583 0.477721 0.834827
+vn 0.210888 0.575077 0.790451
+vn -0.182500 0.548246 0.816162
+vn 0.483307 -0.654028 -0.581946
+vn 0.437565 -0.479631 -0.760586
+vn -0.278098 -0.790767 -0.545297
+vn -0.317727 -0.521096 -0.792154
+vn 0.963855 -0.118286 -0.238729
+vn 0.960923 -0.148238 -0.233780
+vn 0.483307 -0.654028 -0.581946
+vn 0.437565 -0.479631 -0.760586
+vn 0.838809 0.461932 0.288128
+vn 0.855276 0.257469 0.449681
+vn 0.963855 -0.118286 -0.238729
+vn 0.960923 -0.148238 -0.233780
+vn -0.997845 -0.049173 -0.043449
+vn -0.997007 -0.075806 -0.015173
+vn -0.637706 -0.750443 -0.173683
+vn -0.625606 -0.779673 0.026963
+vn 0.716416 -0.685633 0.129057
+vn 0.987665 0.009463 0.156293
+vn 0.781936 -0.618258 -0.079577
+vn 0.989318 0.079558 0.122149
+vn 0.571022 0.763590 0.301437
+vn 0.555820 0.640175 0.530321
+vn 0.989318 0.079558 0.122149
+vn 0.986965 0.081157 0.138971
+vn -0.404082 0.611159 0.680590
+vn -0.931086 0.097659 0.351486
+vn -0.366306 0.409380 0.835600
+vn -0.928439 0.085601 0.361489
+vn -0.933916 0.202267 0.294769
+vn -0.908863 -0.075163 0.410266
+vn -0.483900 0.386674 0.785063
+vn -0.434887 0.187295 0.880792
+vn 0.860427 -0.105587 0.498514
+vn 0.911722 0.093390 0.400052
+vn 0.867373 -0.479134 -0.134517
+vn 0.933386 -0.209911 -0.291080
+vn 0.296621 0.340290 0.892311
+vn 0.309458 0.349532 0.884343
+vn 0.860427 -0.105587 0.498514
+vn 0.911722 0.093390 0.400052
+vn -0.856517 -0.487905 -0.168307
+vn -0.278098 -0.790767 -0.545297
+vn -0.885461 -0.312466 -0.343982
+vn -0.317727 -0.521096 -0.792154
+vn 0.593034 -0.804883 -0.021767
+vn 0.000000 -0.999969 -0.007922
+vn 0.609319 -0.792869 0.009464
+vn 0.000000 -0.999430 0.033750
+vn 0.935257 -0.351132 -0.044732
+vn 0.593034 -0.804883 -0.021767
+vn 0.935825 -0.350730 -0.034920
+vn 0.609319 -0.792869 0.009464
+vn 0.935257 -0.351132 -0.044732
+vn 0.935825 -0.350730 -0.034920
+vn 0.998076 -0.002263 -0.061955
+vn 0.997662 -0.007378 -0.067942
+vn 0.909277 0.404882 -0.096367
+vn 0.998076 -0.002263 -0.061955
+vn 0.910500 0.395740 -0.119916
+vn 0.997662 -0.007378 -0.067942
+vn 0.396548 0.908029 -0.135029
+vn 0.909277 0.404882 -0.096367
+vn 0.404730 0.896645 -0.179502
+vn 0.910500 0.395740 -0.119916
+vn -0.000000 0.990715 -0.135958
+vn 0.396548 0.908029 -0.135029
+vn -0.000001 0.983014 -0.183530
+vn 0.404730 0.896645 -0.179502
+vn -0.651360 0.747909 -0.127916
+vn -0.893535 0.411472 -0.179684
+vn -0.693465 0.718052 -0.059230
+vn -0.915052 0.383223 -0.125774
+vn -0.651360 0.747909 -0.127916
+vn -0.693465 0.718052 -0.059230
+vn -0.441967 0.892880 -0.086195
+vn -0.486879 0.873368 -0.013287
+vn -0.874566 0.353670 -0.331741
+vn -0.835172 0.453644 -0.310958
+vn -0.664190 0.697670 -0.268530
+vn -0.547054 0.791871 -0.271428
+vn -0.972447 -0.204465 -0.111986
+vn -0.965431 -0.237588 0.107213
+vn -0.835172 0.453644 -0.310958
+vn -0.799923 0.568662 -0.191695
+vn -0.620009 -0.653057 0.434863
+vn -0.627070 -0.603121 0.492980
+vn -0.920069 -0.238594 0.310718
+vn -0.829218 -0.273929 0.487196
+vn -0.193590 -0.750205 0.632230
+vn -0.239739 -0.574343 0.782723
+vn -0.453390 -0.698174 0.554067
+vn -0.562802 -0.476689 0.675294
+vn -0.972978 0.123508 -0.195091
+vn -0.944958 0.264658 -0.192380
+vn -0.965725 0.161558 -0.203162
+vn -0.942325 0.280618 -0.182422
+vn -0.936057 0.262429 -0.234367
+vn -0.799548 0.575301 -0.172484
+vn -0.944958 0.264658 -0.192380
+vn -0.808740 0.574943 -0.124017
+vn -0.193590 -0.750205 0.632230
+vn 0.065486 -0.698297 0.712807
+vn -0.239739 -0.574343 0.782723
+vn 0.088012 -0.477628 0.874143
+vn 0.270212 -0.653309 0.707229
+vn 0.587438 -0.241365 0.772437
+vn 0.243692 -0.603319 0.759355
+vn 0.413479 -0.276484 0.867520
+vn 0.197284 0.979916 0.029053
+vn 0.003111 0.999938 -0.010661
+vn 0.182624 0.979106 -0.089441
+vn 0.039354 0.990872 -0.128934
+vn 0.365102 0.930180 0.038287
+vn 0.197284 0.979916 0.029053
+vn 0.302620 0.951475 -0.055819
+vn 0.182624 0.979106 -0.089441
+vn 0.774773 0.560328 0.292848
+vn 0.492226 0.869708 0.036342
+vn 0.668562 0.626729 0.400295
+vn 0.424206 0.905075 0.029810
+vn -0.397049 0.917797 -0.001137
+vn -0.614459 0.783606 -0.091661
+vn -0.356921 0.933878 -0.021902
+vn -0.563730 0.815826 -0.128982
+vn -0.965818 -0.006424 -0.259141
+vn -0.963855 -0.020664 -0.265626
+vn -0.798462 0.508498 0.322318
+vn -0.838808 0.321055 0.439687
+vn 0.744682 0.542901 0.388211
+vn 0.730261 0.335303 0.595223
+vn 0.997845 -0.029408 -0.058658
+vn 0.996820 -0.073679 -0.030365
+vn 0.133058 0.768742 0.625565
+vn 0.118869 0.499797 0.857947
+vn 0.744682 0.542901 0.388211
+vn 0.730261 0.335303 0.595223
+vn 0.133058 0.768742 0.625565
+vn -0.571025 0.595955 0.564595
+vn 0.118869 0.499797 0.857947
+vn -0.555822 0.396049 0.730895
+vn -0.571025 0.595955 0.564595
+vn -0.589305 0.679573 0.436922
+vn -0.989318 0.028235 0.143015
+vn -0.987665 -0.049539 0.148537
+vn 0.913028 -0.096716 0.396265
+vn 0.931085 -0.040549 0.362542
+vn 0.788152 -0.585407 -0.190041
+vn 0.856518 -0.389861 -0.338209
+vn -0.285934 0.438920 0.851816
+vn -0.318568 0.116732 0.940685
+vn 0.404081 0.313057 0.859485
+vn 0.366307 0.068010 0.928005
+vn 0.625602 -0.733423 -0.265918
+vn 0.997007 -0.064670 -0.042364
+vn 0.637703 -0.631434 -0.441164
+vn 0.997845 -0.029408 -0.058658
+vn 0.933917 0.077667 0.348952
+vn 0.483898 0.065802 0.872647
+vn 0.908864 -0.222823 0.352584
+vn 0.434888 -0.154896 0.887062
+vn -0.483311 -0.389636 -0.783961
+vn 0.278101 -0.530177 -0.800982
+vn -0.437566 -0.161179 -0.884623
+vn 0.317727 -0.187871 -0.929384
+vn 0.856518 -0.389861 -0.338209
+vn 0.885460 -0.161542 -0.435734
+vn 0.278101 -0.530177 -0.800982
+vn 0.317727 -0.187871 -0.929384
+vn -0.296620 -0.017251 0.954840
+vn -0.860427 -0.283980 0.423108
+vn -0.309457 -0.005703 0.950896
+vn -0.911723 -0.062634 0.406004
+vn -0.860427 -0.283980 0.423108
+vn -0.867374 -0.394333 -0.303586
+vn -0.911723 -0.062634 0.406004
+vn -0.933386 -0.086135 -0.348383
+vn -0.605610 -0.022737 -0.795437
+vn -0.457521 -0.047573 -0.887925
+vn -0.976008 -0.039423 -0.214138
+vn -0.936850 0.020402 -0.349135
+vn -0.976008 -0.039423 -0.214138
+vn -0.936850 0.020402 -0.349135
+vn -0.890304 -0.050384 0.452571
+vn -0.933717 0.136832 0.330833
+vn -0.203698 -0.060557 0.977159
+vn -0.890304 -0.050384 0.452571
+vn -0.317565 0.105438 0.942356
+vn -0.933717 0.136832 0.330833
+vn 0.068310 0.041295 -0.996809
+vn 0.161333 0.006212 -0.986880
+vn -0.634750 -0.009849 -0.772655
+vn -0.605610 -0.022737 -0.795437
+vn 0.161333 0.006212 -0.986880
+vn 0.247302 -0.063820 -0.966834
+vn -0.605610 -0.022737 -0.795437
+vn -0.457521 -0.047573 -0.887925
+vn -0.965244 0.176559 -0.192694
+vn -0.933822 0.318410 -0.163068
+vn -0.968058 0.185719 -0.168442
+vn -0.931403 0.335932 -0.140137
+vn -0.963946 0.169208 -0.205369
+vn -0.937184 0.299658 -0.178581
+vn -0.965244 0.176559 -0.192694
+vn -0.933822 0.318410 -0.163068
+vn -0.965725 0.161558 -0.203162
+vn -0.942325 0.280618 -0.182422
+vn -0.963946 0.169208 -0.205369
+vn -0.937184 0.299658 -0.178581
+vn -0.931403 0.335932 -0.140137
+vn -0.746072 0.663782 -0.052635
+vn -0.926840 0.356187 -0.118734
+vn -0.724339 0.688245 -0.040635
+vn -0.926840 0.356187 -0.118734
+vn -0.724339 0.688245 -0.040635
+vn -0.915052 0.383223 -0.125774
+vn -0.693465 0.718052 -0.059230
+vn -0.076533 -0.320826 -0.944041
+vn 0.469865 -0.223324 -0.854022
+vn 0.008955 -0.134454 -0.990879
+vn 0.413516 -0.231214 -0.880650
+vn 0.921984 0.063314 -0.382017
+vn 0.792555 0.041055 -0.608417
+vn 0.469865 -0.223324 -0.854022
+vn 0.413516 -0.231214 -0.880650
+vn 0.953436 0.269084 0.136215
+vn 0.947062 0.320542 0.018056
+vn 0.921984 0.063314 -0.382017
+vn 0.792555 0.041055 -0.608417
+vn 0.809786 0.304228 0.501688
+vn 0.567367 0.410386 0.713918
+vn 0.953436 0.269084 0.136215
+vn 0.810319 0.338764 0.478144
+vn 0.171429 0.469542 0.866108
+vn 0.210888 0.575077 0.790451
+vn 0.567367 0.410386 0.713918
+vn 0.626022 0.448779 0.637726
+vn -0.118867 0.783838 0.609483
+vn -0.730261 0.533191 0.427114
+vn -0.103270 0.554047 0.826055
+vn -0.721916 0.349551 0.597203
+vn -0.730261 0.533191 0.427114
+vn -0.996820 -0.079687 -0.000679
+vn -0.721916 0.349551 0.597203
+vn -0.994570 -0.104016 -0.003284
+vn -0.997845 -0.049173 -0.043449
+vn -0.637706 -0.750443 -0.173683
+vn -0.996820 -0.079687 -0.000679
+vn -0.620449 -0.666740 -0.412917
+vn 0.989318 0.079558 0.122149
+vn 0.986965 0.081157 0.138971
+vn 0.781936 -0.618258 -0.079577
+vn 0.775890 -0.542685 -0.321695
+vn -0.118867 0.783838 0.609483
+vn -0.103270 0.554047 0.826055
+vn 0.555820 0.640175 0.530321
+vn 0.565998 0.461542 0.683099
+vn -0.931086 0.097659 0.351486
+vn -0.856517 -0.487905 -0.168307
+vn -0.928439 0.085601 0.361489
+vn -0.885461 -0.312466 -0.343982
+vn 0.318568 0.459314 0.829183
+vn -0.366306 0.409380 0.835600
+vn 0.316570 0.169409 0.933319
+vn -0.373368 0.186547 0.908733
+vn 0.318568 0.459314 0.829183
+vn 0.316570 0.169409 0.933319
+vn 0.855276 0.257469 0.449681
+vn 0.853154 0.032760 0.520630
+vn -0.466716 0.553894 0.689476
+vn -0.483900 0.386674 0.785063
+vn 0.296621 0.340290 0.892311
+vn 0.309458 0.349532 0.884343
+vn -0.907200 -0.330436 -0.260385
+vn -0.791622 -0.592431 -0.149535
+vn -0.908863 -0.075163 0.410266
+vn -0.683391 -0.515658 0.516792
+vn -0.907200 -0.330436 -0.260385
+vn -0.362558 -0.490515 -0.792431
+vn -0.791622 -0.592431 -0.149535
+vn -0.249337 -0.817398 -0.519319
+vn 0.436013 -0.347942 -0.829957
+vn 0.442547 -0.511261 -0.736725
+vn -0.362558 -0.490515 -0.792431
+vn -0.249337 -0.817398 -0.519319
+vn 0.418978 -0.446740 -0.790494
+vn 0.933386 -0.209911 -0.291080
+vn 0.436013 -0.347942 -0.829957
+vn 0.931986 -0.063622 -0.356867
+vn -0.637706 -0.750443 -0.173683
+vn 0.134109 -0.973422 -0.185648
+vn -0.620449 -0.666740 -0.412917
+vn 0.115941 -0.831109 -0.543889
+vn 0.781936 -0.618258 -0.079577
+vn 0.775890 -0.542685 -0.321695
+vn 0.134109 -0.973422 -0.185648
+vn 0.115941 -0.831109 -0.543889
+vn -0.593034 -0.804883 -0.021767
+vn -0.609319 -0.792869 0.009464
+vn 0.000000 -0.999969 -0.007922
+vn 0.000000 -0.999430 0.033750
+vn -0.935257 -0.351132 -0.044732
+vn -0.935825 -0.350730 -0.034920
+vn -0.593034 -0.804883 -0.021767
+vn -0.609319 -0.792869 0.009464
+vn -0.935257 -0.351132 -0.044732
+vn -0.998076 -0.002263 -0.061955
+vn -0.935825 -0.350730 -0.034920
+vn -0.997662 -0.007378 -0.067942
+vn -0.909277 0.404882 -0.096367
+vn -0.910500 0.395741 -0.119916
+vn -0.998076 -0.002263 -0.061955
+vn -0.997662 -0.007378 -0.067942
+vn -0.396548 0.908029 -0.135029
+vn -0.404731 0.896645 -0.179502
+vn -0.909277 0.404882 -0.096367
+vn -0.910500 0.395741 -0.119916
+vn -0.000000 0.990715 -0.135958
+vn -0.000001 0.983014 -0.183530
+vn -0.396548 0.908029 -0.135029
+vn -0.404731 0.896645 -0.179502
+vn 0.587438 -0.241365 0.772437
+vn 0.668562 0.626729 0.400295
+vn 0.413479 -0.276484 0.867520
+vn 0.566722 0.515411 0.642789
+vn -0.965431 -0.237588 0.107213
+vn -0.920069 -0.238594 0.310718
+vn -0.799923 0.568662 -0.191695
+vn -0.770467 0.635778 -0.046551
+vn -0.627070 -0.603121 0.492980
+vn -0.453390 -0.698174 0.554067
+vn -0.829218 -0.273929 0.487196
+vn -0.562802 -0.476689 0.675294
+vn -0.753146 0.616447 -0.229704
+vn -0.563730 0.815826 -0.128982
+vn -0.799548 0.575301 -0.172484
+vn -0.614459 0.783606 -0.091661
+vn -0.753146 0.616447 -0.229704
+vn -0.664190 0.697670 -0.268530
+vn -0.563730 0.815826 -0.128982
+vn -0.468773 0.869337 -0.156544
+vn 0.243692 -0.603319 0.759355
+vn 0.413479 -0.276484 0.867520
+vn 0.065486 -0.698297 0.712807
+vn 0.088012 -0.477628 0.874143
+vn -0.356921 0.933878 -0.021902
+vn -0.563730 0.815826 -0.128982
+vn -0.285371 0.957264 -0.046998
+vn -0.468773 0.869337 -0.156544
+vn -0.199918 0.975627 -0.090469
+vn -0.117945 0.977216 -0.176461
+vn 0.003111 0.999938 -0.010661
+vn 0.039354 0.990872 -0.128934
+vn -0.199918 0.975627 -0.090469
+vn -0.285371 0.957264 -0.046998
+vn -0.351631 0.918862 -0.179022
+vn -0.468773 0.869337 -0.156544
+vn 0.492226 0.869708 0.036342
+vn 0.302620 0.951475 -0.055819
+vn 0.424206 0.905075 0.029810
+vn 0.282525 0.952331 -0.115089
+vn -0.570578 0.821234 0.003950
+vn -0.763433 0.642202 -0.068894
+vn -0.589985 0.807366 -0.008825
+vn -0.779828 0.620137 -0.085435
+vn -0.589985 0.807366 -0.008825
+vn -0.779828 0.620137 -0.085435
+vn -0.609002 0.792678 -0.027880
+vn -0.796750 0.595939 -0.100232
+vn -0.609002 0.792678 -0.027880
+vn -0.796750 0.595939 -0.100232
+vn -0.623088 0.780192 -0.055332
+vn -0.808740 0.574943 -0.124017
+vn -0.548444 0.836113 0.011159
+vn -0.746072 0.663782 -0.052635
+vn -0.570578 0.821234 0.003950
+vn -0.763433 0.642202 -0.068894
+vn -0.521737 0.853008 0.012977
+vn -0.724339 0.688245 -0.040635
+vn -0.548444 0.836113 0.011159
+vn -0.746072 0.663782 -0.052635
+vn -0.486879 0.873368 -0.013287
+vn -0.693465 0.718052 -0.059230
+vn -0.521737 0.853008 0.012977
+vn -0.724339 0.688245 -0.040635
+vn -0.623088 0.780192 -0.055332
+vn -0.808740 0.574943 -0.124017
+vn -0.614459 0.783606 -0.091661
+vn -0.799548 0.575301 -0.172484
+vn -0.285934 0.438920 0.851816
+vn -0.838808 0.321055 0.439687
+vn -0.318568 0.116732 0.940685
+vn -0.855276 0.071075 0.513276
+vn -0.571025 0.595955 0.564595
+vn -0.989318 0.028235 0.143015
+vn -0.555822 0.396049 0.730895
+vn -0.986965 0.023439 0.159217
+vn -0.989318 0.028235 0.143015
+vn -0.987665 -0.049539 0.148537
+vn -0.781934 -0.543912 -0.304532
+vn -0.716416 -0.684269 -0.136106
+vn 0.404081 0.313057 0.859485
+vn 0.366307 0.068010 0.928005
+vn 0.931085 -0.040549 0.362542
+vn 0.928438 -0.055469 0.367322
+vn 0.466717 0.256613 0.846360
+vn -0.296620 -0.017251 0.954840
+vn 0.483898 0.065802 0.872647
+vn -0.309457 -0.005703 0.950896
+vn 0.997845 -0.029408 -0.058658
+vn 0.996820 -0.073679 -0.030365
+vn 0.637703 -0.631434 -0.441164
+vn 0.620448 -0.464505 -0.631886
+vn 0.907201 -0.209408 -0.364877
+vn 0.908864 -0.222823 0.352584
+vn 0.791622 -0.493843 -0.359796
+vn 0.683392 -0.671254 0.287042
+vn 0.907201 -0.209408 -0.364877
+vn 0.791622 -0.493843 -0.359796
+vn 0.362559 -0.159394 -0.918229
+vn 0.249337 -0.564576 -0.786819
+vn 0.637703 -0.631434 -0.441164
+vn 0.620448 -0.464505 -0.631886
+vn -0.134105 -0.833840 -0.535468
+vn -0.115938 -0.568130 -0.814731
+vn -0.781934 -0.543912 -0.304532
+vn -0.134105 -0.833840 -0.535468
+vn -0.775889 -0.383450 -0.500962
+vn -0.115938 -0.568130 -0.814731
+vn -0.963855 -0.020664 -0.265626
+vn -0.483311 -0.389636 -0.783961
+vn -0.960922 -0.050297 -0.272210
+vn -0.437566 -0.161179 -0.884623
+vn 0.931085 -0.040549 0.362542
+vn 0.928438 -0.055469 0.367322
+vn 0.856518 -0.389861 -0.338209
+vn 0.885460 -0.161542 -0.435734
+vn -0.418976 -0.119502 -0.900099
+vn -0.436011 -0.013116 -0.899846
+vn -0.933386 -0.086135 -0.348383
+vn -0.931985 0.074137 -0.354834
+vn -0.436011 -0.013116 -0.899846
+vn 0.362559 -0.159394 -0.918229
+vn -0.442542 -0.199428 -0.874291
+vn 0.249337 -0.564576 -0.786819
+vn 0.872883 -0.013741 -0.487736
+vn 0.831886 -0.035330 -0.553821
+vn 0.247302 -0.063820 -0.966834
+vn 0.256713 -0.164782 -0.952337
+vn 0.872883 -0.013741 -0.487736
+vn 0.964399 0.047012 0.260240
+vn 0.831886 -0.035330 -0.553821
+vn 0.965360 0.169088 0.198720
+vn 0.964399 0.047012 0.260240
+vn 0.533860 0.163750 0.829566
+vn 0.965360 0.169088 0.198720
+vn 0.754013 0.293945 0.587418
+vn -0.317565 0.105438 0.942356
+vn -0.408699 0.392797 0.823818
+vn 0.533860 0.163750 0.829566
+vn 0.053303 0.419220 0.906319
+vn -0.933822 0.318410 -0.163068
+vn -0.763433 0.642202 -0.068894
+vn -0.931403 0.335932 -0.140137
+vn -0.746072 0.663782 -0.052635
+vn 0.953436 0.269084 0.136215
+vn 0.810319 0.338764 0.478144
+vn 0.947062 0.320542 0.018056
+vn 0.745162 0.400913 0.532919
+vn -0.597567 0.015865 -0.801662
+vn 0.008955 -0.134454 -0.990879
+vn -0.492788 0.299297 -0.817056
+vn 0.083873 0.161289 -0.983337
+vn -0.968684 0.199088 -0.148377
+vn -0.597567 0.015865 -0.801662
+vn -0.981031 0.090517 -0.171422
+vn -0.956175 0.050543 -0.288400
+vn -0.273583 0.477721 0.834827
+vn -0.608826 0.436398 0.662486
+vn -0.182500 0.548246 0.816162
+vn -0.513589 0.564950 0.645800
+vn -0.871817 0.340967 0.351678
+vn -0.895970 0.370387 0.245055
+vn -0.608826 0.436398 0.662486
+vn -0.513589 0.564950 0.645800
+vn -0.968684 0.199088 -0.148377
+vn -0.981031 0.090517 -0.171422
+vn -0.895970 0.370387 0.245055
+vn -0.986681 0.072454 -0.145642
+vn 0.210888 0.575077 0.790451
+vn -0.182500 0.548246 0.816162
+vn 0.183965 0.778276 0.600370
+vn -0.584353 0.491408 0.645794
+vn 0.960923 -0.148238 -0.233780
+vn 0.955064 -0.159992 -0.249509
+vn 0.437565 -0.479631 -0.760586
+vn 0.432923 -0.238916 -0.869193
+vn 0.437565 -0.479631 -0.760586
+vn 0.432923 -0.238916 -0.869193
+vn -0.317727 -0.521096 -0.792154
+vn -0.317068 -0.177723 -0.931602
+vn 0.855276 0.257469 0.449681
+vn 0.853154 0.032760 0.520630
+vn 0.960923 -0.148238 -0.233780
+vn 0.955064 -0.159992 -0.249509
+vn 0.555820 0.640175 0.530321
+vn 0.565998 0.461542 0.683099
+vn 0.986965 0.081157 0.138971
+vn 0.989273 0.068490 0.129028
+vn -0.366306 0.409380 0.835600
+vn -0.928439 0.085601 0.361489
+vn -0.373368 0.186547 0.908733
+vn -0.934221 0.076894 0.348309
+vn -0.483900 0.386674 0.785063
+vn -0.434887 0.187295 0.880792
+vn 0.309458 0.349532 0.884343
+vn 0.337716 0.277101 0.899535
+vn -0.434887 0.187295 0.880792
+vn -0.908863 -0.075163 0.410266
+vn -0.343244 -0.100934 0.933807
+vn -0.683391 -0.515658 0.516792
+vn 0.436013 -0.347942 -0.829957
+vn 0.931986 -0.063622 -0.356867
+vn 0.442547 -0.511261 -0.736725
+vn 0.889415 -0.421485 -0.176892
+vn 0.911722 0.093390 0.400052
+vn 0.921300 0.184010 0.342560
+vn 0.933386 -0.209911 -0.291080
+vn 0.931986 -0.063622 -0.356867
+vn 0.309458 0.349532 0.884343
+vn 0.337716 0.277101 0.899535
+vn 0.911722 0.093390 0.400052
+vn 0.921300 0.184010 0.342560
+vn -0.928439 0.085601 0.361489
+vn -0.885461 -0.312466 -0.343982
+vn -0.934221 0.076894 0.348309
+vn -0.889686 -0.073083 -0.450686
+vn -0.885461 -0.312466 -0.343982
+vn -0.317727 -0.521096 -0.792154
+vn -0.889686 -0.073083 -0.450686
+vn -0.317068 -0.177723 -0.931602
+vn 0.935825 -0.350730 -0.034920
+vn 0.609319 -0.792869 0.009464
+vn 0.937957 -0.345658 -0.027507
+vn 0.629012 -0.776813 0.030090
+vn 0.609319 -0.792869 0.009464
+vn 0.000000 -0.999430 0.033750
+vn 0.629012 -0.776813 0.030090
+vn 0.000000 -0.998053 0.062368
+vn 0.935825 -0.350730 -0.034920
+vn 0.937957 -0.345658 -0.027507
+vn 0.997662 -0.007378 -0.067942
+vn 0.997310 -0.010272 -0.072576
+vn 0.997662 -0.007378 -0.067942
+vn 0.997310 -0.010272 -0.072576
+vn 0.910500 0.395740 -0.119916
+vn 0.910130 0.389106 -0.142341
+vn 0.404730 0.896645 -0.179502
+vn 0.910500 0.395740 -0.119916
+vn 0.412620 0.882955 -0.223910
+vn 0.910130 0.389106 -0.142341
+vn -0.000001 0.983014 -0.183530
+vn 0.404730 0.896645 -0.179502
+vn -0.000001 0.972691 -0.232105
+vn 0.412620 0.882955 -0.223910
+vn -0.664190 0.697670 -0.268530
+vn -0.547054 0.791871 -0.271428
+vn -0.468773 0.869337 -0.156544
+vn -0.351631 0.918862 -0.179022
+vn -0.835172 0.453644 -0.310958
+vn -0.799923 0.568662 -0.191695
+vn -0.547054 0.791871 -0.271428
+vn -0.434836 0.866655 -0.244594
+vn -0.920069 -0.238594 0.310718
+vn -0.829218 -0.273929 0.487196
+vn -0.770467 0.635778 -0.046551
+vn -0.823631 0.526971 0.209603
+vn -0.562802 -0.476689 0.675294
+vn -0.239739 -0.574343 0.782723
+vn -0.705091 -0.004530 0.709103
+vn -0.280660 -0.289175 0.915209
+vn -0.944958 0.264658 -0.192380
+vn -0.808740 0.574943 -0.124017
+vn -0.942325 0.280618 -0.182422
+vn -0.796750 0.595939 -0.100232
+vn -0.239739 -0.574343 0.782723
+vn 0.088012 -0.477628 0.874143
+vn -0.280660 -0.289175 0.915209
+vn 0.186272 -0.012784 0.982415
+vn -0.117945 0.977216 -0.176461
+vn -0.199918 0.975627 -0.090469
+vn -0.244170 0.945185 -0.216808
+vn -0.351631 0.918862 -0.179022
+vn 0.302620 0.951475 -0.055819
+vn 0.182624 0.979106 -0.089441
+vn 0.282525 0.952331 -0.115089
+vn 0.194955 0.964561 -0.177807
+vn 0.182624 0.979106 -0.089441
+vn 0.039354 0.990872 -0.128934
+vn 0.194955 0.964561 -0.177807
+vn 0.070141 0.970966 -0.228704
+vn 0.668562 0.626729 0.400295
+vn 0.424206 0.905075 0.029810
+vn 0.566722 0.515411 0.642789
+vn 0.405769 0.895506 0.182813
+vn -0.838808 0.321055 0.439687
+vn -0.963855 -0.020664 -0.265626
+vn -0.855276 0.071075 0.513276
+vn -0.960922 -0.050297 -0.272210
+vn 0.118869 0.499797 0.857947
+vn 0.103275 0.205791 0.973131
+vn 0.730261 0.335303 0.595223
+vn 0.721918 0.101461 0.684500
+vn 0.730261 0.335303 0.595223
+vn 0.721918 0.101461 0.684500
+vn 0.996820 -0.073679 -0.030365
+vn 0.994570 -0.095277 -0.041860
+vn 0.118869 0.499797 0.857947
+vn -0.555822 0.396049 0.730895
+vn 0.103275 0.205791 0.973131
+vn -0.565999 0.173311 0.805983
+vn -0.989318 0.028235 0.143015
+vn -0.781934 -0.543912 -0.304532
+vn -0.986965 0.023439 0.159217
+vn -0.775889 -0.383450 -0.500962
+vn -0.318568 0.116732 0.940685
+vn -0.316569 -0.191092 0.929122
+vn 0.366307 0.068010 0.928005
+vn 0.373374 -0.166019 0.912705
+vn 0.434888 -0.154896 0.887062
+vn 0.343248 -0.442094 0.828694
+vn 0.908864 -0.222823 0.352584
+vn 0.683392 -0.671254 0.287042
+vn 0.483898 0.065802 0.872647
+vn -0.309457 -0.005703 0.950896
+vn 0.434888 -0.154896 0.887062
+vn -0.337719 -0.078570 0.937962
+vn -0.960922 -0.050297 -0.272210
+vn -0.437566 -0.161179 -0.884623
+vn -0.955064 -0.055332 -0.291190
+vn -0.432923 0.102677 -0.895564
+vn -0.437566 -0.161179 -0.884623
+vn 0.317727 -0.187871 -0.929384
+vn -0.432923 0.102677 -0.895564
+vn 0.317066 0.182736 -0.930633
+vn 0.928438 -0.055469 0.367322
+vn 0.934219 -0.058631 0.351848
+vn 0.885460 -0.161542 -0.435734
+vn 0.889684 0.100368 -0.445408
+vn 0.885460 -0.161542 -0.435734
+vn 0.889684 0.100368 -0.445408
+vn 0.317727 -0.187871 -0.929384
+vn 0.317066 0.182736 -0.930633
+vn -0.309457 -0.005703 0.950896
+vn -0.911723 -0.062634 0.406004
+vn -0.337719 -0.078570 0.937962
+vn -0.921300 0.042894 0.386480
+vn -0.911723 -0.062634 0.406004
+vn -0.933386 -0.086135 -0.348383
+vn -0.921300 0.042894 0.386480
+vn -0.931985 0.074137 -0.354834
+vn -0.436011 -0.013116 -0.899846
+vn -0.442542 -0.199428 -0.874291
+vn -0.931985 0.074137 -0.354834
+vn -0.889415 -0.325031 -0.321396
+vn 0.247302 -0.063820 -0.966834
+vn 0.256713 -0.164782 -0.952337
+vn -0.457521 -0.047573 -0.887925
+vn -0.257999 -0.126665 -0.957806
+vn -0.936850 0.020402 -0.349135
+vn -0.457521 -0.047573 -0.887925
+vn -0.782286 0.076171 -0.618245
+vn -0.257999 -0.126665 -0.957806
+vn -0.936850 0.020402 -0.349135
+vn -0.782286 0.076171 -0.618245
+vn -0.933717 0.136832 0.330833
+vn -0.963959 0.240117 -0.114575
+vn -0.317565 0.105438 0.942356
+vn -0.933717 0.136832 0.330833
+vn -0.408699 0.392797 0.823818
+vn -0.762022 0.358301 0.539390
+vn -0.937184 0.299658 -0.178581
+vn -0.779828 0.620137 -0.085435
+vn -0.933822 0.318410 -0.163068
+vn -0.763433 0.642202 -0.068894
+vn -0.942325 0.280618 -0.182422
+vn -0.796750 0.595939 -0.100232
+vn -0.937184 0.299658 -0.178581
+vn -0.779828 0.620137 -0.085435
+vn 0.413516 -0.231214 -0.880650
+vn 0.471689 -0.270046 -0.839396
+vn 0.008955 -0.134454 -0.990879
+vn 0.083873 0.161289 -0.983337
+vn 0.947062 0.320542 0.018056
+vn 0.867790 0.483649 -0.114120
+vn 0.792555 0.041055 -0.608417
+vn 0.741683 0.061969 -0.667882
+vn 0.792555 0.041055 -0.608417
+vn 0.741683 0.061969 -0.667882
+vn 0.413516 -0.231214 -0.880650
+vn 0.283140 -0.424949 -0.859796
+vn 0.810319 0.338764 0.478144
+vn 0.567367 0.410386 0.713918
+vn 0.745162 0.400913 0.532919
+vn 0.626022 0.448779 0.637726
+vn 0.210888 0.575077 0.790451
+vn 0.183965 0.778276 0.600370
+vn 0.626022 0.448779 0.637726
+vn 0.842409 0.495740 0.211160
+vn -0.597567 0.015865 -0.801662
+vn -0.492788 0.299297 -0.817056
+vn -0.956175 0.050543 -0.288400
+vn -0.965675 0.213343 -0.148180
+vn -0.103270 0.554047 0.826055
+vn -0.721916 0.349551 0.597203
+vn -0.088241 0.282030 0.955339
+vn -0.730030 0.135158 0.669916
+vn -0.721916 0.349551 0.597203
+vn -0.994570 -0.104016 -0.003284
+vn -0.730030 0.135158 0.669916
+vn -0.983304 -0.181871 0.006074
+vn -0.996820 -0.079687 -0.000679
+vn -0.620449 -0.666740 -0.412917
+vn -0.994570 -0.104016 -0.003284
+vn -0.619358 -0.485901 -0.616682
+vn 0.986965 0.081157 0.138971
+vn 0.989273 0.068490 0.129028
+vn 0.775890 -0.542685 -0.321695
+vn 0.769442 -0.365137 -0.524055
+vn -0.103270 0.554047 0.826055
+vn -0.088241 0.282030 0.955339
+vn 0.565998 0.461542 0.683099
+vn 0.601179 0.250915 0.758700
+vn 0.316570 0.169409 0.933319
+vn -0.373368 0.186547 0.908733
+vn 0.284279 -0.129953 0.949894
+vn -0.425398 -0.033890 0.904372
+vn 0.316570 0.169409 0.933319
+vn 0.284279 -0.129953 0.949894
+vn 0.853154 0.032760 0.520630
+vn 0.842365 -0.192848 0.503221
+vn -0.434887 0.187295 0.880792
+vn -0.343244 -0.100934 0.933807
+vn 0.337716 0.277101 0.899535
+vn 0.347748 -0.162891 0.923330
+vn -0.791622 -0.592431 -0.149535
+vn -0.249337 -0.817398 -0.519319
+vn -0.683391 -0.515658 0.516792
+vn 0.134551 -0.922151 0.362675
+vn 0.442547 -0.511261 -0.736725
+vn 0.889415 -0.421485 -0.176892
+vn -0.249337 -0.817398 -0.519319
+vn 0.134551 -0.922151 0.362675
+vn -0.620449 -0.666740 -0.412917
+vn 0.115941 -0.831109 -0.543889
+vn -0.619358 -0.485901 -0.616682
+vn 0.103561 -0.561071 -0.821264
+vn 0.775890 -0.542685 -0.321695
+vn 0.769442 -0.365137 -0.524055
+vn 0.115941 -0.831109 -0.543889
+vn 0.103561 -0.561071 -0.821264
+vn -0.935825 -0.350730 -0.034920
+vn -0.937957 -0.345658 -0.027507
+vn -0.609319 -0.792869 0.009464
+vn -0.629012 -0.776813 0.030090
+vn -0.609319 -0.792869 0.009464
+vn -0.629012 -0.776813 0.030090
+vn 0.000000 -0.999430 0.033750
+vn 0.000000 -0.998053 0.062368
+vn -0.935825 -0.350730 -0.034920
+vn -0.997662 -0.007378 -0.067942
+vn -0.937957 -0.345658 -0.027507
+vn -0.997310 -0.010272 -0.072576
+vn -0.404731 0.896645 -0.179502
+vn -0.412621 0.882954 -0.223910
+vn -0.910500 0.395741 -0.119916
+vn -0.910129 0.389106 -0.142341
+vn -0.997662 -0.007378 -0.067942
+vn -0.910500 0.395741 -0.119916
+vn -0.997310 -0.010272 -0.072576
+vn -0.910129 0.389106 -0.142341
+vn -0.000001 0.983014 -0.183530
+vn -0.000001 0.972691 -0.232105
+vn -0.404731 0.896645 -0.179502
+vn -0.412621 0.882954 -0.223910
+vn 0.413479 -0.276484 0.867520
+vn 0.566722 0.515411 0.642789
+vn 0.088012 -0.477628 0.874143
+vn 0.186272 -0.012784 0.982415
+vn -0.799923 0.568662 -0.191695
+vn -0.770467 0.635778 -0.046551
+vn -0.434836 0.866655 -0.244594
+vn -0.376904 0.901990 -0.210610
+vn -0.829218 -0.273929 0.487196
+vn -0.562802 -0.476689 0.675294
+vn -0.823631 0.526971 0.209603
+vn -0.705091 -0.004530 0.709103
+vn -0.244170 0.945185 -0.216808
+vn -0.194177 0.948638 -0.249764
+vn -0.117945 0.977216 -0.176461
+vn -0.077637 0.964173 -0.253659
+vn -0.117945 0.977216 -0.176461
+vn -0.077637 0.964173 -0.253659
+vn 0.039354 0.990872 -0.128934
+vn 0.070141 0.970966 -0.228704
+vn -0.244170 0.945185 -0.216808
+vn -0.351631 0.918862 -0.179022
+vn -0.434836 0.866655 -0.244594
+vn -0.547054 0.791871 -0.271428
+vn 0.424206 0.905075 0.029810
+vn 0.282525 0.952331 -0.115089
+vn 0.405769 0.895506 0.182813
+vn 0.285663 0.956831 -0.053591
+vn -0.318568 0.116732 0.940685
+vn -0.855276 0.071075 0.513276
+vn -0.316569 -0.191092 0.929122
+vn -0.853154 -0.163878 0.495249
+vn -0.555822 0.396049 0.730895
+vn -0.986965 0.023439 0.159217
+vn -0.565999 0.173311 0.805983
+vn -0.989273 0.015397 0.145266
+vn 0.366307 0.068010 0.928005
+vn 0.373374 -0.166019 0.912705
+vn 0.928438 -0.055469 0.367322
+vn 0.934219 -0.058631 0.351848
+vn 0.996820 -0.073679 -0.030365
+vn 0.994570 -0.095277 -0.041860
+vn 0.620448 -0.464505 -0.631886
+vn 0.619359 -0.220692 -0.753452
+vn 0.434888 -0.154896 0.887062
+vn -0.337719 -0.078570 0.937962
+vn 0.343248 -0.442094 0.828694
+vn -0.347751 -0.495664 0.795856
+vn 0.791622 -0.493843 -0.359796
+vn 0.683392 -0.671254 0.287042
+vn 0.249337 -0.564576 -0.786819
+vn -0.134555 -0.990877 -0.007625
+vn 0.620448 -0.464505 -0.631886
+vn 0.619359 -0.220692 -0.753452
+vn -0.115938 -0.568130 -0.814731
+vn -0.103561 -0.214094 -0.971308
+vn -0.986965 0.023439 0.159217
+vn -0.775889 -0.383450 -0.500962
+vn -0.989273 0.015397 0.145266
+vn -0.769443 -0.143214 -0.622453
+vn -0.775889 -0.383450 -0.500962
+vn -0.115938 -0.568130 -0.814731
+vn -0.769443 -0.143214 -0.622453
+vn -0.103561 -0.214094 -0.971308
+vn -0.855276 0.071075 0.513276
+vn -0.960922 -0.050297 -0.272210
+vn -0.853154 -0.163878 0.495249
+vn -0.955064 -0.055332 -0.291190
+vn -0.442542 -0.199428 -0.874291
+vn 0.249337 -0.564576 -0.786819
+vn -0.889415 -0.325031 -0.321396
+vn -0.134555 -0.990877 -0.007625
+vn 0.256713 -0.164782 -0.952337
+vn 0.831886 -0.035330 -0.553821
+vn 0.146219 -0.081816 -0.985863
+vn 0.783058 0.089470 -0.615480
+vn 0.831886 -0.035330 -0.553821
+vn 0.965360 0.169088 0.198720
+vn 0.783058 0.089470 -0.615480
+vn 0.965665 0.211517 0.150839
+vn 0.965360 0.169088 0.198720
+vn 0.754013 0.293945 0.587418
+vn 0.965665 0.211517 0.150839
+vn 0.802863 0.344836 0.486311
+vn 0.533860 0.163750 0.829566
+vn 0.053303 0.419220 0.906319
+vn 0.754013 0.293945 0.587418
+vn 0.415516 0.414418 0.809694
+vn -0.408699 0.392797 0.823818
+vn -0.427086 0.561942 0.708391
+vn 0.053303 0.419220 0.906319
+vn -0.064450 0.540179 0.839079
+vn 0.413516 -0.231214 -0.880650
+vn 0.152216 -0.824578 -0.544887
+vn 0.471689 -0.270046 -0.839396
+vn 0.601340 -0.749551 -0.276702
+vn 0.947062 0.320542 0.018056
+vn 0.745162 0.400913 0.532919
+vn 0.867790 0.483649 -0.114120
+vn 0.589160 0.631247 0.504398
+vn 0.745162 0.400913 0.532919
+vn 0.626022 0.448779 0.637726
+vn 0.589160 0.631247 0.504398
+vn 0.056215 0.321521 0.945232
+vn 0.083873 0.161289 -0.983337
+vn 0.150393 0.317044 -0.936411
+vn -0.492788 0.299297 -0.817056
+vn -0.479425 0.657209 -0.581574
+vn -0.956175 0.050543 -0.288400
+vn -0.923920 -0.324218 -0.203112
+vn -0.981031 0.090517 -0.171422
+vn -0.986681 0.072454 -0.145642
+vn -0.513589 0.564950 0.645800
+vn -0.330654 0.742742 0.582239
+vn -0.182500 0.548246 0.816162
+vn 0.474156 0.501985 0.723317
+vn -0.895970 0.370387 0.245055
+vn -0.823924 0.523578 0.216830
+vn -0.513589 0.564950 0.645800
+vn -0.330654 0.742742 0.582239
+vn -0.895970 0.370387 0.245055
+vn -0.986681 0.072454 -0.145642
+vn -0.823924 0.523578 0.216830
+vn -0.978537 0.040230 -0.202107
+vn 0.183965 0.778276 0.600370
+vn -0.584353 0.491408 0.645794
+vn 0.101398 0.930764 0.351279
+vn -0.676040 0.587556 0.444689
+vn -0.182500 0.548246 0.816162
+vn -0.279066 -0.323556 0.904120
+vn -0.584353 0.491408 0.645794
+vn -0.944071 -0.078990 0.320141
+vn 0.853154 0.032760 0.520630
+vn 0.842365 -0.192848 0.503221
+vn 0.955064 -0.159992 -0.249509
+vn 0.934462 -0.234158 -0.268237
+vn 0.955064 -0.159992 -0.249509
+vn 0.934462 -0.234158 -0.268237
+vn 0.432923 -0.238916 -0.869193
+vn 0.426937 -0.134298 -0.894253
+vn 0.432923 -0.238916 -0.869193
+vn 0.426937 -0.134298 -0.894253
+vn -0.317068 -0.177723 -0.931602
+vn -0.303822 -0.019240 -0.952535
+vn 0.565998 0.461542 0.683099
+vn 0.601179 0.250915 0.758700
+vn 0.989273 0.068490 0.129028
+vn 0.990419 -0.010242 0.137713
+vn -0.373368 0.186547 0.908733
+vn -0.934221 0.076894 0.348309
+vn -0.425398 -0.033890 0.904372
+vn -0.945185 0.001521 0.326531
+vn -0.343244 -0.100934 0.933807
+vn -0.683391 -0.515658 0.516792
+vn 0.347748 -0.162891 0.923330
+vn 0.134551 -0.922151 0.362675
+vn 0.889415 -0.421485 -0.176892
+vn 0.931986 -0.063622 -0.356867
+vn 0.914702 0.006305 0.404081
+vn 0.921300 0.184010 0.342560
+vn 0.921300 0.184010 0.342560
+vn 0.337716 0.277101 0.899535
+vn 0.914702 0.006305 0.404081
+vn 0.347748 -0.162891 0.923330
+vn -0.934221 0.076894 0.348309
+vn -0.889686 -0.073083 -0.450686
+vn -0.945185 0.001521 0.326531
+vn -0.875645 0.029025 -0.482083
+vn -0.889686 -0.073083 -0.450686
+vn -0.317068 -0.177723 -0.931602
+vn -0.875645 0.029025 -0.482083
+vn -0.303822 -0.019240 -0.952535
+vn 0.937957 -0.345658 -0.027507
+vn 0.629012 -0.776813 0.030090
+vn 0.939735 -0.341569 -0.015143
+vn 0.644447 -0.761818 0.065739
+vn 0.629012 -0.776813 0.030090
+vn 0.000000 -0.998053 0.062368
+vn 0.644447 -0.761818 0.065739
+vn 0.000000 -0.993800 0.111184
+vn 0.937957 -0.345658 -0.027507
+vn 0.939735 -0.341569 -0.015143
+vn 0.997310 -0.010272 -0.072576
+vn 0.996528 -0.015343 -0.081834
+vn 0.997310 -0.010272 -0.072576
+vn 0.996528 -0.015343 -0.081834
+vn 0.910130 0.389106 -0.142341
+vn 0.908400 0.376172 -0.182493
+vn 0.412620 0.882955 -0.223910
+vn 0.910130 0.389106 -0.142341
+vn 0.419505 0.856603 -0.300412
+vn 0.908400 0.376172 -0.182493
+vn -0.000001 0.972691 -0.232105
+vn 0.412620 0.882955 -0.223910
+vn -0.000000 0.948946 -0.315440
+vn 0.419505 0.856603 -0.300412
+vn -0.770467 0.635778 -0.046551
+vn -0.823631 0.526971 0.209603
+vn -0.376904 0.901990 -0.210610
+vn -0.450930 0.889936 -0.068389
+vn -0.823631 0.526971 0.209603
+vn -0.705091 -0.004530 0.709103
+vn -0.450930 0.889936 -0.068389
+vn -0.616393 0.610021 0.497930
+vn -0.705091 -0.004530 0.709103
+vn -0.280660 -0.289175 0.915209
+vn -0.616393 0.610021 0.497930
+vn -0.285898 0.166329 0.943715
+vn 0.186272 -0.012784 0.982415
+vn 0.234570 0.624696 0.744803
+vn -0.280660 -0.289175 0.915209
+vn -0.285898 0.166329 0.943715
+vn -0.194177 0.948638 -0.249764
+vn -0.244170 0.945185 -0.216808
+vn -0.376904 0.901990 -0.210610
+vn -0.434836 0.866655 -0.244594
+vn 0.282525 0.952331 -0.115089
+vn 0.194955 0.964561 -0.177807
+vn 0.285663 0.956831 -0.053591
+vn 0.199226 0.966409 -0.162365
+vn 0.194955 0.964561 -0.177807
+vn 0.070141 0.970966 -0.228704
+vn 0.199226 0.966409 -0.162365
+vn 0.069988 0.971413 -0.226846
+vn 0.566722 0.515411 0.642789
+vn 0.405769 0.895506 0.182813
+vn 0.186272 -0.012784 0.982415
+vn 0.234570 0.624696 0.744803
+vn 0.103275 0.205791 0.973131
+vn 0.088242 -0.094822 0.991576
+vn 0.721918 0.101461 0.684500
+vn 0.730035 -0.124581 0.671959
+vn 0.721918 0.101461 0.684500
+vn 0.730035 -0.124581 0.671959
+vn 0.994570 -0.095277 -0.041860
+vn 0.983304 -0.171001 -0.062226
+vn 0.103275 0.205791 0.973131
+vn -0.565999 0.173311 0.805983
+vn 0.088242 -0.094822 0.991576
+vn -0.601182 -0.050314 0.797527
+vn -0.316569 -0.191092 0.929122
+vn -0.284277 -0.475013 0.832796
+vn 0.373374 -0.166019 0.912705
+vn 0.425396 -0.368906 0.826406
+vn 0.343248 -0.442094 0.828694
+vn -0.347751 -0.495664 0.795856
+vn 0.683392 -0.671254 0.287042
+vn -0.134555 -0.990877 -0.007625
+vn -0.853154 -0.163878 0.495249
+vn -0.955064 -0.055332 -0.291190
+vn -0.842366 -0.366694 0.394912
+vn -0.934462 -0.117151 -0.336239
+vn -0.955064 -0.055332 -0.291190
+vn -0.432923 0.102677 -0.895564
+vn -0.934462 -0.117151 -0.336239
+vn -0.426936 0.209091 -0.879777
+vn -0.432923 0.102677 -0.895564
+vn 0.317066 0.182736 -0.930633
+vn -0.426936 0.209091 -0.879777
+vn 0.303820 0.337586 -0.890915
+vn 0.373374 -0.166019 0.912705
+vn 0.425396 -0.368906 0.826406
+vn 0.934219 -0.058631 0.351848
+vn 0.945185 -0.120432 0.303515
+vn 0.934219 -0.058631 0.351848
+vn 0.945185 -0.120432 0.303515
+vn 0.889684 0.100368 -0.445408
+vn 0.875644 0.206817 -0.436433
+vn 0.889684 0.100368 -0.445408
+vn 0.875644 0.206817 -0.436433
+vn 0.317066 0.182736 -0.930633
+vn 0.303820 0.337586 -0.890915
+vn -0.921300 0.042894 0.386480
+vn -0.914702 -0.144931 0.377247
+vn -0.337719 -0.078570 0.937962
+vn -0.347751 -0.495664 0.795856
+vn -0.921300 0.042894 0.386480
+vn -0.931985 0.074137 -0.354834
+vn -0.914702 -0.144931 0.377247
+vn -0.889415 -0.325031 -0.321396
+vn 0.256713 -0.164782 -0.952337
+vn 0.146219 -0.081816 -0.985863
+vn -0.257999 -0.126665 -0.957806
+vn -0.203359 -0.198288 -0.958815
+vn -0.782286 0.076171 -0.618245
+vn -0.257999 -0.126665 -0.957806
+vn -0.555769 0.061493 -0.829059
+vn -0.203359 -0.198288 -0.958815
+vn -0.933717 0.136832 0.330833
+vn -0.963959 0.240117 -0.114575
+vn -0.762022 0.358301 0.539390
+vn -0.915069 0.338513 0.219222
+vn -0.963959 0.240117 -0.114575
+vn -0.782286 0.076171 -0.618245
+vn -0.888911 0.351063 -0.294265
+vn -0.555769 0.061493 -0.829059
+vn -0.408699 0.392797 0.823818
+vn -0.762022 0.358301 0.539390
+vn -0.427086 0.561942 0.708391
+vn -0.751777 0.457242 0.475143
+vn 0.413516 -0.231214 -0.880650
+vn 0.283140 -0.424949 -0.859796
+vn 0.152216 -0.824578 -0.544887
+vn -0.375123 -0.751822 -0.542260
+vn 0.471689 -0.270046 -0.839396
+vn 0.580162 -0.314494 -0.751336
+vn 0.083873 0.161289 -0.983337
+vn 0.150393 0.317044 -0.936411
+vn 0.867790 0.483649 -0.114120
+vn 0.750383 0.584029 -0.309574
+vn 0.741683 0.061969 -0.667882
+vn 0.738192 0.018690 -0.674332
+vn 0.741683 0.061969 -0.667882
+vn 0.738192 0.018690 -0.674332
+vn 0.283140 -0.424949 -0.859796
+vn 0.402515 -0.557121 -0.726359
+vn 0.626022 0.448779 0.637726
+vn 0.842409 0.495740 0.211160
+vn 0.975552 -0.203133 0.083882
+vn 0.969818 -0.048664 -0.238926
+vn 0.183965 0.778276 0.600370
+vn 0.101398 0.930764 0.351279
+vn 0.842409 0.495740 0.211160
+vn 0.797602 0.603098 0.010233
+vn -0.956175 0.050543 -0.288400
+vn -0.965675 0.213343 -0.148180
+vn -0.923920 -0.324218 -0.203112
+vn -0.938832 -0.081671 0.334550
+vn -0.492788 0.299297 -0.817056
+vn -0.479425 0.657209 -0.581574
+vn -0.965675 0.213343 -0.148180
+vn -0.819751 0.561536 0.112632
+vn -0.986681 0.072454 -0.145642
+vn -0.923920 -0.324218 -0.203112
+vn -0.978537 0.040230 -0.202107
+vn -0.635061 -0.573596 -0.517383
+vn -0.182500 0.548246 0.816162
+vn 0.474156 0.501985 0.723317
+vn -0.279066 -0.323556 0.904120
+vn 0.956033 -0.103371 0.274436
+vn -0.730030 0.135158 0.669916
+vn -0.673453 -0.162257 0.721203
+vn -0.088241 0.282030 0.955339
+vn -0.045651 -0.222016 0.973974
+vn -0.730030 0.135158 0.669916
+vn -0.983304 -0.181871 0.006074
+vn -0.673453 -0.162257 0.721203
+vn -0.814389 -0.555674 0.167325
+vn -0.994570 -0.104016 -0.003284
+vn -0.619358 -0.485901 -0.616682
+vn -0.983304 -0.181871 0.006074
+vn -0.611772 -0.400615 -0.682087
+vn 0.989273 0.068490 0.129028
+vn 0.990419 -0.010242 0.137713
+vn 0.769442 -0.365137 -0.524055
+vn 0.756001 -0.281680 -0.590863
+vn 0.601179 0.250915 0.758700
+vn -0.088241 0.282030 0.955339
+vn 0.590292 -0.052366 0.805489
+vn -0.045651 -0.222016 0.973974
+vn -0.425398 -0.033890 0.904372
+vn -0.450503 -0.330581 0.829315
+vn 0.284279 -0.129953 0.949894
+vn 0.173584 -0.595367 0.784479
+vn 0.842365 -0.192848 0.503221
+vn 0.284279 -0.129953 0.949894
+vn 0.753011 -0.481481 0.448497
+vn 0.173584 -0.595367 0.784479
+vn 0.914702 0.006305 0.404081
+vn 0.347748 -0.162891 0.923330
+vn 0.889415 -0.421485 -0.176892
+vn 0.134551 -0.922151 0.362675
+vn -0.619358 -0.485901 -0.616682
+vn 0.103561 -0.561071 -0.821264
+vn -0.611772 -0.400615 -0.682087
+vn 0.096827 -0.422224 -0.901305
+vn 0.769442 -0.365137 -0.524055
+vn 0.756001 -0.281680 -0.590863
+vn 0.103561 -0.561071 -0.821264
+vn 0.096827 -0.422224 -0.901305
+vn -0.937957 -0.345658 -0.027507
+vn -0.939735 -0.341569 -0.015143
+vn -0.629012 -0.776813 0.030090
+vn -0.644447 -0.761818 0.065739
+vn -0.629012 -0.776813 0.030090
+vn -0.644447 -0.761818 0.065739
+vn 0.000000 -0.998053 0.062368
+vn 0.000000 -0.993800 0.111184
+vn -0.937957 -0.345658 -0.027507
+vn -0.997310 -0.010272 -0.072576
+vn -0.939735 -0.341569 -0.015143
+vn -0.996528 -0.015343 -0.081834
+vn -0.000001 0.972691 -0.232105
+vn -0.000000 0.948946 -0.315440
+vn -0.412621 0.882954 -0.223910
+vn -0.419505 0.856603 -0.300412
+vn -0.412621 0.882954 -0.223910
+vn -0.419505 0.856603 -0.300412
+vn -0.910129 0.389106 -0.142341
+vn -0.908400 0.376172 -0.182492
+vn -0.997310 -0.010272 -0.072576
+vn -0.910129 0.389106 -0.142341
+vn -0.996528 -0.015343 -0.081834
+vn -0.908400 0.376172 -0.182492
+vn -0.376904 0.901990 -0.210610
+vn -0.450930 0.889936 -0.068389
+vn -0.194177 0.948638 -0.249764
+vn -0.235433 0.952545 -0.192951
+vn -0.194177 0.948638 -0.249764
+vn -0.235433 0.952545 -0.192951
+vn -0.077637 0.964173 -0.253659
+vn -0.090490 0.966296 -0.241007
+vn -0.077637 0.964173 -0.253659
+vn -0.090490 0.966296 -0.241007
+vn 0.070141 0.970966 -0.228704
+vn 0.069988 0.971413 -0.226846
+vn 0.405769 0.895506 0.182813
+vn 0.285663 0.956831 -0.053591
+vn 0.234570 0.624696 0.744803
+vn 0.180158 0.956825 0.228099
+vn -0.316569 -0.191092 0.929122
+vn -0.853154 -0.163878 0.495249
+vn -0.284277 -0.475013 0.832796
+vn -0.842366 -0.366694 0.394912
+vn -0.565999 0.173311 0.805983
+vn -0.989273 0.015397 0.145266
+vn -0.601182 -0.050314 0.797527
+vn -0.990419 -0.060891 0.123942
+vn 0.994570 -0.095277 -0.041860
+vn 0.983304 -0.171001 -0.062226
+vn 0.619359 -0.220692 -0.753452
+vn 0.611772 -0.117161 -0.782309
+vn 0.619359 -0.220692 -0.753452
+vn 0.611772 -0.117161 -0.782309
+vn -0.103561 -0.214094 -0.971308
+vn -0.096827 -0.055406 -0.993758
+vn -0.989273 0.015397 0.145266
+vn -0.769443 -0.143214 -0.622453
+vn -0.990419 -0.060891 0.123942
+vn -0.756001 -0.040854 -0.653294
+vn -0.769443 -0.143214 -0.622453
+vn -0.103561 -0.214094 -0.971308
+vn -0.756001 -0.040854 -0.653294
+vn -0.096827 -0.055406 -0.993758
+vn -0.914702 -0.144931 0.377247
+vn -0.889415 -0.325031 -0.321396
+vn -0.347751 -0.495664 0.795856
+vn -0.134555 -0.990877 -0.007625
+vn -0.963959 0.240117 -0.114575
+vn -0.888911 0.351063 -0.294265
+vn -0.915069 0.338513 0.219222
+vn -0.849441 0.455402 0.266570
+vn 0.783058 0.089470 -0.615480
+vn 0.577530 0.359142 -0.733128
+vn 0.146219 -0.081816 -0.985863
+vn 0.020063 0.135745 -0.990541
+vn 0.783058 0.089470 -0.615480
+vn 0.965665 0.211517 0.150839
+vn 0.986393 0.129830 0.100864
+vn 0.981356 0.096784 0.166053
+vn 0.965665 0.211517 0.150839
+vn 0.802863 0.344836 0.486311
+vn 0.981356 0.096784 0.166053
+vn 0.979320 0.066247 0.191162
+vn 0.754013 0.293945 0.587418
+vn 0.415516 0.414418 0.809694
+vn 0.802863 0.344836 0.486311
+vn 0.330104 0.547036 0.769274
+vn 0.053303 0.419220 0.906319
+vn -0.064450 0.540179 0.839079
+vn 0.415516 0.414418 0.809694
+vn 0.330104 0.547036 0.769274
+vn -0.427086 0.561942 0.708391
+vn -0.352338 0.761520 0.544009
+vn -0.064450 0.540179 0.839079
+vn 0.362074 0.474436 0.802380
+vn 0.471689 -0.270046 -0.839396
+vn 0.601340 -0.749551 -0.276702
+vn 0.580162 -0.314494 -0.751336
+vn 0.632264 -0.745988 -0.209151
+vn 0.601340 -0.749551 -0.276702
+vn 0.152216 -0.824578 -0.544887
+vn 0.450025 -0.882400 0.137289
+vn 0.096201 -0.987322 -0.126255
+vn 0.589160 0.631247 0.504398
+vn 0.277592 0.891236 0.358665
+vn 0.867790 0.483649 -0.114120
+vn 0.750383 0.584029 -0.309574
+vn 0.589160 0.631247 0.504398
+vn 0.056215 0.321521 0.945232
+vn 0.277592 0.891236 0.358665
+vn -0.425143 0.499859 0.754582
+vn 0.626022 0.448779 0.637726
+vn 0.975552 -0.203133 0.083882
+vn 0.056215 0.321521 0.945232
+vn -0.676947 -0.140830 0.722433
+vn 0.580162 -0.314494 -0.751336
+vn 0.529112 -0.389174 -0.754046
+vn 0.150393 0.317044 -0.936411
+vn 0.110415 0.338310 -0.934535
+vn 0.150393 0.317044 -0.936411
+vn 0.110415 0.338310 -0.934535
+vn -0.479425 0.657209 -0.581574
+vn -0.445895 0.792667 -0.415760
+vn -0.823924 0.523578 0.216830
+vn -0.779413 0.615237 0.118317
+vn -0.330654 0.742742 0.582239
+vn -0.127644 0.892108 0.433416
+vn -0.330654 0.742742 0.582239
+vn -0.127644 0.892108 0.433416
+vn 0.474156 0.501985 0.723317
+vn 0.662718 0.585800 0.466522
+vn -0.823924 0.523578 0.216830
+vn -0.978537 0.040230 -0.202107
+vn -0.779413 0.615237 0.118317
+vn -0.973555 -0.003572 -0.228423
+vn 0.101398 0.930764 0.351279
+vn -0.676040 0.587556 0.444689
+vn 0.063034 0.972832 0.222764
+vn -0.662772 0.646796 0.377344
+vn -0.584353 0.491408 0.645794
+vn -0.944071 -0.078990 0.320141
+vn -0.676040 0.587556 0.444689
+vn -0.961009 -0.051140 0.271747
+vn -0.944071 -0.078990 0.320141
+vn -0.279066 -0.323556 0.904120
+vn -0.767432 -0.635130 -0.087511
+vn 0.019843 -0.997419 -0.069005
+vn 0.842365 -0.192848 0.503221
+vn 0.753011 -0.481481 0.448497
+vn 0.934462 -0.234158 -0.268237
+vn 0.742704 -0.629103 -0.229391
+vn 0.426937 -0.134298 -0.894253
+vn 0.934462 -0.234158 -0.268237
+vn 0.394412 -0.316907 -0.862560
+vn 0.742704 -0.629103 -0.229391
+vn 0.426937 -0.134298 -0.894253
+vn 0.394412 -0.316907 -0.862560
+vn -0.303822 -0.019240 -0.952535
+vn -0.321509 -0.409387 -0.853835
+vn 0.601179 0.250915 0.758700
+vn 0.590292 -0.052366 0.805489
+vn 0.990419 -0.010242 0.137713
+vn 0.868498 -0.409336 0.279564
+vn -0.425398 -0.033890 0.904372
+vn -0.945185 0.001521 0.326531
+vn -0.450503 -0.330581 0.829315
+vn -0.859968 -0.428154 0.277738
+vn -0.875645 0.029025 -0.482083
+vn -0.872935 -0.157999 -0.461541
+vn -0.945185 0.001521 0.326531
+vn -0.859968 -0.428154 0.277738
+vn -0.875645 0.029025 -0.482083
+vn -0.303822 -0.019240 -0.952535
+vn -0.872935 -0.157999 -0.461541
+vn -0.321509 -0.409387 -0.853835
+vn 0.939735 -0.341569 -0.015143
+vn 0.644447 -0.761818 0.065739
+vn 0.939552 -0.342396 0.002548
+vn 0.649503 -0.752023 0.112286
+vn 0.644447 -0.761818 0.065739
+vn 0.000000 -0.993800 0.111184
+vn 0.649503 -0.752023 0.112286
+vn 0.000000 -0.984870 0.173293
+vn 0.939735 -0.341569 -0.015143
+vn 0.939552 -0.342396 0.002548
+vn 0.996528 -0.015343 -0.081834
+vn 0.995640 -0.025451 -0.089737
+vn 0.908400 0.376172 -0.182493
+vn 0.996528 -0.015343 -0.081834
+vn 0.908601 0.352289 -0.224358
+vn 0.995640 -0.025451 -0.089737
+vn -0.000000 0.948946 -0.315440
+vn 0.419505 0.856603 -0.300412
+vn -0.000000 0.912607 -0.408838
+vn 0.427985 0.817802 -0.384746
+vn 0.419505 0.856603 -0.300412
+vn 0.908400 0.376172 -0.182493
+vn 0.427985 0.817802 -0.384746
+vn 0.908601 0.352289 -0.224358
+vn -0.450930 0.889936 -0.068389
+vn -0.616393 0.610021 0.497930
+vn -0.235433 0.952545 -0.192951
+vn -0.298694 0.947145 0.117042
+vn -0.616393 0.610021 0.497930
+vn -0.285898 0.166329 0.943715
+vn -0.298694 0.947145 0.117042
+vn -0.122293 0.907917 0.400912
+vn 0.234570 0.624696 0.744803
+vn 0.180158 0.956825 0.228099
+vn -0.285898 0.166329 0.943715
+vn -0.122293 0.907917 0.400912
+vn 0.285663 0.956831 -0.053591
+vn 0.199226 0.966409 -0.162365
+vn 0.180158 0.956825 0.228099
+vn 0.140414 0.989891 -0.019985
+vn 0.199226 0.966409 -0.162365
+vn 0.069988 0.971413 -0.226846
+vn 0.140414 0.989891 -0.019985
+vn 0.011659 0.999226 -0.037578
+vn 0.730035 -0.124581 0.671959
+vn 0.088242 -0.094822 0.991576
+vn 0.673453 -0.419654 0.608565
+vn 0.045654 -0.569418 0.820780
+vn 0.730035 -0.124581 0.671959
+vn 0.673453 -0.419654 0.608565
+vn 0.983304 -0.171001 -0.062226
+vn 0.814389 -0.577974 -0.052112
+vn -0.601182 -0.050314 0.797527
+vn -0.590294 -0.349149 0.727769
+vn 0.088242 -0.094822 0.991576
+vn 0.045654 -0.569418 0.820780
+vn 0.425396 -0.368906 0.826406
+vn -0.284277 -0.475013 0.832796
+vn 0.450501 -0.616157 0.646065
+vn -0.173580 -0.845091 0.505660
+vn -0.842366 -0.366694 0.394912
+vn -0.753016 -0.614058 0.236434
+vn -0.284277 -0.475013 0.832796
+vn -0.173580 -0.845091 0.505660
+vn -0.842366 -0.366694 0.394912
+vn -0.934462 -0.117151 -0.336239
+vn -0.753016 -0.614058 0.236434
+vn -0.742706 -0.498064 -0.447571
+vn -0.426936 0.209091 -0.879777
+vn -0.394412 0.027849 -0.918512
+vn -0.934462 -0.117151 -0.336239
+vn -0.742706 -0.498064 -0.447571
+vn -0.426936 0.209091 -0.879777
+vn 0.303820 0.337586 -0.890915
+vn -0.394412 0.027849 -0.918512
+vn 0.321505 -0.061211 -0.944927
+vn 0.425396 -0.368906 0.826406
+vn 0.450501 -0.616157 0.646065
+vn 0.945185 -0.120432 0.303515
+vn 0.859969 -0.500865 0.097914
+vn 0.875644 0.206817 -0.436433
+vn 0.945185 -0.120432 0.303515
+vn 0.872940 0.025633 -0.487154
+vn 0.859969 -0.500865 0.097914
+vn 0.875644 0.206817 -0.436433
+vn 0.872940 0.025633 -0.487154
+vn 0.303820 0.337586 -0.890915
+vn 0.321505 -0.061211 -0.944927
+vn -0.203359 -0.198288 -0.958815
+vn 0.146219 -0.081816 -0.985863
+vn -0.371805 -0.255603 -0.892428
+vn 0.020063 0.135745 -0.990541
+vn -0.888911 0.351063 -0.294265
+vn -0.555769 0.061493 -0.829059
+vn -0.704727 0.512748 -0.490356
+vn -0.339878 0.090349 -0.936120
+vn -0.555769 0.061493 -0.829059
+vn -0.203359 -0.198288 -0.958815
+vn -0.339878 0.090349 -0.936120
+vn 0.170974 -0.433875 -0.884602
+vn -0.915069 0.338513 0.219222
+vn -0.849441 0.455402 0.266570
+vn -0.762022 0.358301 0.539390
+vn -0.751777 0.457242 0.475143
+vn -0.427086 0.561942 0.708391
+vn -0.751777 0.457242 0.475143
+vn -0.352338 0.761520 0.544009
+vn -0.867551 0.497344 -0.001789
+vn 0.783058 0.089470 -0.615480
+vn 0.986393 0.129830 0.100864
+vn 0.577530 0.359142 -0.733128
+vn 0.935802 0.325469 0.135444
+vn 0.152216 -0.824578 -0.544887
+vn -0.375123 -0.751822 -0.542260
+vn 0.096201 -0.987322 -0.126255
+vn -0.782404 -0.601982 0.159570
+vn 0.283140 -0.424949 -0.859796
+vn 0.402515 -0.557121 -0.726359
+vn -0.375123 -0.751822 -0.542260
+vn -0.219081 -0.911357 -0.348472
+vn 0.601340 -0.749551 -0.276702
+vn 0.450025 -0.882400 0.137289
+vn 0.632264 -0.745988 -0.209151
+vn 0.357169 -0.859281 0.366150
+vn 0.277592 0.891236 0.358665
+vn 0.185203 0.943992 0.273092
+vn 0.750383 0.584029 -0.309574
+vn 0.709184 0.629286 -0.317894
+vn 0.750383 0.584029 -0.309574
+vn 0.709184 0.629286 -0.317894
+vn 0.738192 0.018690 -0.674332
+vn 0.801974 0.006251 -0.597326
+vn 0.738192 0.018690 -0.674332
+vn 0.801974 0.006251 -0.597326
+vn 0.402515 -0.557121 -0.726359
+vn 0.555867 -0.628506 -0.544052
+vn 0.969818 -0.048664 -0.238926
+vn 0.620370 -0.610287 -0.492636
+vn 0.975552 -0.203133 0.083882
+vn 0.096201 -0.987322 -0.126255
+vn 0.842409 0.495740 0.211160
+vn 0.797602 0.603098 0.010233
+vn 0.969818 -0.048664 -0.238926
+vn 0.958159 -0.028465 -0.284817
+vn 0.101398 0.930764 0.351279
+vn 0.063034 0.972832 0.222764
+vn 0.797602 0.603098 0.010233
+vn 0.755567 0.653351 -0.047439
+vn -0.938832 -0.081671 0.334550
+vn -0.529952 -0.569267 0.628558
+vn -0.923920 -0.324218 -0.203112
+vn -0.142636 -0.957582 -0.250385
+vn -0.965675 0.213343 -0.148180
+vn -0.819751 0.561536 0.112632
+vn -0.938832 -0.081671 0.334550
+vn -0.738840 0.205784 0.641692
+vn -0.479425 0.657209 -0.581574
+vn -0.445895 0.792667 -0.415760
+vn -0.819751 0.561536 0.112632
+vn -0.682763 0.703731 0.196463
+vn 0.529112 -0.389174 -0.754046
+vn 0.580162 -0.314494 -0.751336
+vn 0.539299 -0.800165 -0.262474
+vn 0.632264 -0.745988 -0.209151
+vn -0.978537 0.040230 -0.202107
+vn -0.635061 -0.573596 -0.517383
+vn -0.973555 -0.003572 -0.228423
+vn -0.627748 -0.644680 -0.436257
+vn -0.923920 -0.324218 -0.203112
+vn -0.142636 -0.957582 -0.250385
+vn -0.635061 -0.573596 -0.517383
+vn 0.117657 -0.848118 -0.516578
+vn 0.956033 -0.103371 0.274436
+vn 0.755891 -0.627740 -0.185933
+vn -0.279066 -0.323556 0.904120
+vn 0.019843 -0.997419 -0.069005
+vn 0.474156 0.501985 0.723317
+vn 0.662718 0.585800 0.466522
+vn 0.956033 -0.103371 0.274436
+vn 0.979499 -0.068893 0.189305
+vn -0.944071 -0.078990 0.320141
+vn -0.767432 -0.635130 -0.087511
+vn -0.961009 -0.051140 0.271747
+vn -0.752452 -0.658597 -0.008104
+vn -0.673453 -0.162257 0.721203
+vn -0.814389 -0.555674 0.167325
+vn -0.045651 -0.222016 0.973974
+vn 0.055135 -0.924084 0.378191
+vn -0.814389 -0.555674 0.167325
+vn -0.983304 -0.181871 0.006074
+vn -0.585590 -0.560198 -0.585886
+vn -0.611772 -0.400615 -0.682087
+vn 0.756001 -0.281680 -0.590863
+vn 0.990419 -0.010242 0.137713
+vn 0.745184 -0.444480 -0.497131
+vn 0.868498 -0.409336 0.279564
+vn 0.590292 -0.052366 0.805489
+vn -0.045651 -0.222016 0.973974
+vn 0.868498 -0.409336 0.279564
+vn 0.055135 -0.924084 0.378191
+vn -0.450503 -0.330581 0.829315
+vn -0.859968 -0.428154 0.277738
+vn 0.173584 -0.595367 0.784479
+vn -0.123741 -0.992312 0.002139
+vn 0.753011 -0.481481 0.448497
+vn 0.173584 -0.595367 0.784479
+vn 0.742704 -0.629103 -0.229391
+vn -0.123741 -0.992312 0.002139
+vn -0.611772 -0.400615 -0.682087
+vn 0.096827 -0.422224 -0.901305
+vn -0.585590 -0.560198 -0.585886
+vn 0.108668 -0.744011 -0.659272
+vn 0.756001 -0.281680 -0.590863
+vn 0.745184 -0.444480 -0.497131
+vn 0.096827 -0.422224 -0.901305
+vn 0.108668 -0.744011 -0.659272
+vn -0.939735 -0.341569 -0.015143
+vn -0.939552 -0.342396 0.002548
+vn -0.644447 -0.761818 0.065739
+vn -0.649503 -0.752023 0.112286
+vn -0.644447 -0.761818 0.065739
+vn -0.649503 -0.752023 0.112286
+vn 0.000000 -0.993800 0.111184
+vn 0.000000 -0.984870 0.173293
+vn -0.939735 -0.341569 -0.015143
+vn -0.996528 -0.015343 -0.081834
+vn -0.939552 -0.342396 0.002548
+vn -0.995640 -0.025451 -0.089737
+vn -0.000000 0.948946 -0.315440
+vn -0.000000 0.912607 -0.408838
+vn -0.419505 0.856603 -0.300412
+vn -0.427985 0.817802 -0.384746
+vn -0.419505 0.856603 -0.300412
+vn -0.427985 0.817802 -0.384746
+vn -0.908400 0.376172 -0.182492
+vn -0.908601 0.352289 -0.224358
+vn -0.908400 0.376172 -0.182492
+vn -0.908601 0.352289 -0.224358
+vn -0.996528 -0.015343 -0.081834
+vn -0.995640 -0.025451 -0.089737
+vn -0.235433 0.952545 -0.192951
+vn -0.298694 0.947145 0.117042
+vn -0.090490 0.966296 -0.241007
+vn -0.118159 0.988945 -0.089590
+vn -0.090490 0.966296 -0.241007
+vn -0.118159 0.988945 -0.089590
+vn 0.069988 0.971413 -0.226846
+vn 0.011659 0.999226 -0.037578
+vn -0.601182 -0.050314 0.797527
+vn -0.990419 -0.060891 0.123942
+vn -0.590294 -0.349149 0.727769
+vn -0.868497 -0.484091 0.106627
+vn 0.611772 -0.117161 -0.782309
+vn 0.983304 -0.171001 -0.062226
+vn 0.585595 -0.301117 -0.752600
+vn 0.814389 -0.577974 -0.052112
+vn 0.611772 -0.117161 -0.782309
+vn 0.585595 -0.301117 -0.752600
+vn -0.096827 -0.055406 -0.993758
+vn -0.108668 -0.444271 -0.889278
+vn -0.756001 -0.040854 -0.653294
+vn -0.745190 -0.226874 -0.627073
+vn -0.990419 -0.060891 0.123942
+vn -0.868497 -0.484091 0.106627
+vn -0.756001 -0.040854 -0.653294
+vn -0.096827 -0.055406 -0.993758
+vn -0.745190 -0.226874 -0.627073
+vn -0.108668 -0.444271 -0.889278
+vn -0.203359 -0.198288 -0.958815
+vn -0.371805 -0.255603 -0.892428
+vn -0.097495 -0.859947 -0.500984
+vn -0.631895 -0.712993 -0.303891
+vn -0.888911 0.351063 -0.294265
+vn -0.704727 0.512748 -0.490356
+vn -0.849441 0.455402 0.266570
+vn -0.730653 0.660067 0.174522
+vn -0.849441 0.455402 0.266570
+vn -0.730653 0.660067 0.174522
+vn -0.751777 0.457242 0.475143
+vn -0.471319 0.337329 0.814904
+vn 0.577530 0.359142 -0.733128
+vn 0.382866 0.560200 -0.734567
+vn 0.020063 0.135745 -0.990541
+vn -0.096127 0.162298 -0.982048
+vn 0.986393 0.129830 0.100864
+vn 0.981356 0.096784 0.166053
+vn 0.939599 -0.314521 0.135023
+vn 0.979320 0.066247 0.191162
+vn 0.802863 0.344836 0.486311
+vn 0.729463 0.495459 0.471597
+vn 0.979320 0.066247 0.191162
+vn 0.990978 0.025689 0.131541
+vn 0.802863 0.344836 0.486311
+vn 0.330104 0.547036 0.769274
+vn 0.729463 0.495459 0.471597
+vn 0.163173 0.727662 0.666245
+vn 0.330104 0.547036 0.769274
+vn -0.064450 0.540179 0.839079
+vn 0.163173 0.727662 0.666245
+vn -0.678944 0.513366 0.524872
+vn -0.064450 0.540179 0.839079
+vn 0.362074 0.474436 0.802380
+vn -0.043564 -0.319919 0.946443
+vn 0.807190 -0.083777 0.584316
+vn -0.352338 0.761520 0.544009
+vn -0.201310 0.927222 0.315807
+vn 0.362074 0.474436 0.802380
+vn 0.515634 0.582361 0.628472
+vn 0.096201 -0.987322 -0.126255
+vn -0.015263 -0.964177 -0.264820
+vn 0.450025 -0.882400 0.137289
+vn 0.197613 -0.937310 0.287053
+vn 0.277592 0.891236 0.358665
+vn -0.425143 0.499859 0.754582
+vn 0.185203 0.943992 0.273092
+vn -0.450538 0.577739 0.680613
+vn 0.056215 0.321521 0.945232
+vn -0.676947 -0.140830 0.722433
+vn -0.425143 0.499859 0.754582
+vn -0.756747 -0.084516 0.648222
+vn 0.975552 -0.203133 0.083882
+vn 0.096201 -0.987322 -0.126255
+vn -0.676947 -0.140830 0.722433
+vn -0.782404 -0.601982 0.159570
+vn 0.969818 -0.048664 -0.238926
+vn 0.958159 -0.028465 -0.284817
+vn 0.620370 -0.610287 -0.492636
+vn 0.639000 -0.647811 -0.414752
+vn -0.938832 -0.081671 0.334550
+vn -0.738840 0.205784 0.641692
+vn -0.529952 -0.569267 0.628558
+vn -0.290144 -0.447007 0.846168
+vn 0.529112 -0.389174 -0.754046
+vn 0.539299 -0.800165 -0.262474
+vn 0.301694 -0.489082 -0.818400
+vn 0.148857 -0.905586 -0.397186
+vn 0.529112 -0.389174 -0.754046
+vn 0.301694 -0.489082 -0.818400
+vn 0.110415 0.338310 -0.934535
+vn -0.268523 0.061285 -0.961322
+vn -0.445895 0.792667 -0.415760
+vn 0.110415 0.338310 -0.934535
+vn -0.561257 0.685475 -0.463805
+vn -0.268523 0.061285 -0.961322
+vn -0.127644 0.892108 0.433416
+vn -0.779413 0.615237 0.118317
+vn -0.047462 0.951758 0.303158
+vn -0.742843 0.664297 0.083024
+vn -0.127644 0.892108 0.433416
+vn -0.047462 0.951758 0.303158
+vn 0.662718 0.585800 0.466522
+vn 0.672302 0.640093 0.371875
+vn -0.779413 0.615237 0.118317
+vn -0.973555 -0.003572 -0.228423
+vn -0.742843 0.664297 0.083024
+vn -0.994636 -0.015331 -0.102290
+vn -0.662772 0.646796 0.377344
+vn -0.563460 0.656864 0.501041
+vn 0.063034 0.972832 0.222764
+vn 0.152106 0.848790 0.506378
+vn -0.676040 0.587556 0.444689
+vn -0.961009 -0.051140 0.271747
+vn -0.662772 0.646796 0.377344
+vn -0.932453 -0.030250 0.360023
+vn 0.956033 -0.103371 0.274436
+vn 0.979499 -0.068893 0.189305
+vn 0.755891 -0.627740 -0.185933
+vn 0.730883 -0.667669 -0.141520
+vn 0.019843 -0.997419 -0.069005
+vn -0.015263 -0.964177 -0.264820
+vn -0.767432 -0.635130 -0.087511
+vn -0.122990 -0.882371 -0.454197
+vn 0.394412 -0.316907 -0.862560
+vn 0.742704 -0.629103 -0.229391
+vn -0.321509 -0.409387 -0.853835
+vn -0.123741 -0.992312 0.002139
+vn -0.585590 -0.560198 -0.585886
+vn 0.108668 -0.744011 -0.659272
+vn -0.814389 -0.555674 0.167325
+vn 0.055135 -0.924084 0.378191
+vn -0.872935 -0.157999 -0.461541
+vn -0.321509 -0.409387 -0.853835
+vn -0.859968 -0.428154 0.277738
+vn -0.123741 -0.992312 0.002139
+vn 0.939552 -0.342396 0.002548
+vn 0.649503 -0.752023 0.112286
+vn 0.938531 -0.344423 0.023089
+vn 0.648385 -0.744527 0.158985
+vn 0.649503 -0.752023 0.112286
+vn 0.000000 -0.984870 0.173293
+vn 0.648385 -0.744527 0.158985
+vn 0.000000 -0.972017 0.234911
+vn 0.939552 -0.342396 0.002548
+vn 0.938531 -0.344423 0.023089
+vn 0.995640 -0.025451 -0.089737
+vn 0.995288 -0.035450 -0.090255
+vn 0.427985 0.817802 -0.384746
+vn 0.908601 0.352289 -0.224358
+vn 0.434971 0.780131 -0.449662
+vn 0.910032 0.329078 -0.252092
+vn 0.908601 0.352289 -0.224358
+vn 0.995640 -0.025451 -0.089737
+vn 0.910032 0.329078 -0.252092
+vn 0.995288 -0.035450 -0.090255
+vn -0.000000 0.912607 -0.408838
+vn 0.427985 0.817802 -0.384746
+vn -0.000000 0.875547 -0.483133
+vn 0.434971 0.780131 -0.449662
+vn -0.298694 0.947145 0.117042
+vn -0.122293 0.907917 0.400912
+vn -0.118159 0.988945 -0.089590
+vn 0.011659 0.999226 -0.037578
+vn 0.180158 0.956825 0.228099
+vn 0.140414 0.989891 -0.019985
+vn -0.122293 0.907917 0.400912
+vn 0.011659 0.999226 -0.037578
+vn 0.673453 -0.419654 0.608565
+vn 0.045654 -0.569418 0.820780
+vn 0.814389 -0.577974 -0.052112
+vn -0.055132 -0.998461 0.006055
+vn -0.590294 -0.349149 0.727769
+vn -0.868497 -0.484091 0.106627
+vn 0.045654 -0.569418 0.820780
+vn -0.055132 -0.998461 0.006055
+vn 0.450501 -0.616157 0.646065
+vn -0.173580 -0.845091 0.505660
+vn 0.859969 -0.500865 0.097914
+vn 0.123743 -0.921438 -0.368294
+vn -0.753016 -0.614058 0.236434
+vn -0.742706 -0.498064 -0.447571
+vn -0.173580 -0.845091 0.505660
+vn 0.123743 -0.921438 -0.368294
+vn -0.394412 0.027849 -0.918512
+vn 0.321505 -0.061211 -0.944927
+vn -0.742706 -0.498064 -0.447571
+vn 0.123743 -0.921438 -0.368294
+vn 0.872940 0.025633 -0.487154
+vn 0.859969 -0.500865 0.097914
+vn 0.321505 -0.061211 -0.944927
+vn 0.123743 -0.921438 -0.368294
+vn -0.203359 -0.198288 -0.958815
+vn -0.097495 -0.859947 -0.500984
+vn 0.170974 -0.433875 -0.884602
+vn 0.597055 -0.770406 -0.223604
+vn -0.371805 -0.255603 -0.892428
+vn 0.020063 0.135745 -0.990541
+vn -0.450634 -0.396144 -0.799999
+vn -0.096127 0.162298 -0.982048
+vn -0.704727 0.512748 -0.490356
+vn -0.339878 0.090349 -0.936120
+vn -0.411659 0.583836 -0.699766
+vn -0.095933 0.032938 -0.994843
+vn -0.339878 0.090349 -0.936120
+vn 0.170974 -0.433875 -0.884602
+vn -0.095933 0.032938 -0.994843
+vn 0.262644 -0.547300 -0.794658
+vn -0.352338 0.761520 0.544009
+vn -0.867551 0.497344 -0.001789
+vn -0.201310 0.927222 0.315807
+vn -0.767320 0.603096 -0.217934
+vn -0.751777 0.457242 0.475143
+vn -0.945479 -0.298281 0.130763
+vn -0.867551 0.497344 -0.001789
+vn -0.865301 -0.049970 -0.498756
+vn 0.935802 0.325469 0.135444
+vn 0.786854 0.611355 0.084294
+vn 0.577530 0.359142 -0.733128
+vn 0.382866 0.560200 -0.734567
+vn 0.935802 0.325469 0.135444
+vn 0.986393 0.129830 0.100864
+vn 0.796660 -0.030684 0.603649
+vn 0.939599 -0.314521 0.135023
+vn 0.979320 0.066247 0.191162
+vn 0.990978 0.025689 0.131541
+vn 0.939599 -0.314521 0.135023
+vn 0.755556 -0.586776 -0.291254
+vn -0.064450 0.540179 0.839079
+vn -0.043564 -0.319919 0.946443
+vn -0.678944 0.513366 0.524872
+vn -0.994962 -0.076322 -0.065006
+vn -0.375123 -0.751822 -0.542260
+vn -0.219081 -0.911357 -0.348472
+vn -0.782404 -0.601982 0.159570
+vn -0.717168 -0.643082 0.268543
+vn 0.402515 -0.557121 -0.726359
+vn 0.555867 -0.628506 -0.544052
+vn -0.219081 -0.911357 -0.348472
+vn -0.010514 -0.996091 -0.087710
+vn 0.539299 -0.800165 -0.262474
+vn 0.632264 -0.745988 -0.209151
+vn 0.297246 -0.894400 0.334207
+vn 0.357169 -0.859281 0.366150
+vn 0.357169 -0.859281 0.366150
+vn 0.450025 -0.882400 0.137289
+vn -0.011571 -0.862641 0.505685
+vn 0.197613 -0.937310 0.287053
+vn 0.096201 -0.987322 -0.126255
+vn 0.620370 -0.610287 -0.492636
+vn -0.015263 -0.964177 -0.264820
+vn -0.122990 -0.882371 -0.454197
+vn 0.709184 0.629286 -0.317894
+vn 0.185203 0.943992 0.273092
+vn 0.749523 0.639092 -0.172558
+vn 0.361404 0.811308 0.459528
+vn 0.709184 0.629286 -0.317894
+vn 0.749523 0.639092 -0.172558
+vn 0.801974 0.006251 -0.597326
+vn 0.971384 -0.015863 -0.236984
+vn 0.555867 -0.628506 -0.544052
+vn 0.801974 0.006251 -0.597326
+vn 0.669757 -0.663735 -0.332989
+vn 0.971384 -0.015863 -0.236984
+vn 0.797602 0.603098 0.010233
+vn 0.755567 0.653351 -0.047439
+vn 0.958159 -0.028465 -0.284817
+vn 0.977230 -0.021991 -0.211041
+vn 0.755567 0.653351 -0.047439
+vn 0.063034 0.972832 0.222764
+vn 0.745670 0.657600 0.107420
+vn 0.152106 0.848790 0.506378
+vn -0.529952 -0.569267 0.628558
+vn -0.011571 -0.862641 0.505685
+vn -0.142636 -0.957582 -0.250385
+vn 0.019843 -0.997419 -0.069005
+vn -0.819751 0.561536 0.112632
+vn -0.682763 0.703731 0.196463
+vn -0.738840 0.205784 0.641692
+vn -0.668687 0.291851 0.683872
+vn -0.445895 0.792667 -0.415760
+vn -0.561257 0.685475 -0.463805
+vn -0.682763 0.703731 0.196463
+vn -0.879684 0.474404 0.033123
+vn -0.973555 -0.003572 -0.228423
+vn -0.627748 -0.644680 -0.436257
+vn -0.994636 -0.015331 -0.102290
+vn -0.691302 -0.699888 -0.179605
+vn -0.635061 -0.573596 -0.517383
+vn 0.117657 -0.848118 -0.516578
+vn -0.627748 -0.644680 -0.436257
+vn 0.077284 -0.916539 -0.392408
+vn -0.142636 -0.957582 -0.250385
+vn 0.019843 -0.997419 -0.069005
+vn 0.117657 -0.848118 -0.516578
+vn 0.755891 -0.627740 -0.185933
+vn -0.662772 0.646796 0.377344
+vn -0.932453 -0.030250 0.360023
+vn -0.563460 0.656864 0.501041
+vn -0.697661 -0.031168 0.715750
+vn 0.662718 0.585800 0.466522
+vn 0.672302 0.640093 0.371875
+vn 0.979499 -0.068893 0.189305
+vn 0.956469 -0.052213 0.287125
+vn -0.752452 -0.658597 -0.008104
+vn -0.689697 -0.695262 0.202309
+vn -0.961009 -0.051140 0.271747
+vn -0.932453 -0.030250 0.360023
+vn -0.767432 -0.635130 -0.087511
+vn -0.122990 -0.882371 -0.454197
+vn -0.752452 -0.658597 -0.008104
+vn -0.083480 -0.948942 -0.304203
+vn -0.015263 -0.964177 -0.264820
+vn 0.019843 -0.997419 -0.069005
+vn 0.197613 -0.937310 0.287053
+vn -0.011571 -0.862641 0.505685
+vn 0.745184 -0.444480 -0.497131
+vn 0.868498 -0.409336 0.279564
+vn 0.108668 -0.744011 -0.659272
+vn 0.055135 -0.924084 0.378191
+vn -0.939552 -0.342396 0.002548
+vn -0.938531 -0.344423 0.023089
+vn -0.649503 -0.752023 0.112286
+vn -0.648385 -0.744527 0.158985
+vn -0.649503 -0.752023 0.112286
+vn -0.648385 -0.744527 0.158985
+vn 0.000000 -0.984870 0.173293
+vn 0.000000 -0.972017 0.234911
+vn -0.939552 -0.342396 0.002548
+vn -0.995640 -0.025451 -0.089737
+vn -0.938531 -0.344423 0.023089
+vn -0.995288 -0.035450 -0.090255
+vn -0.000000 0.912607 -0.408838
+vn -0.000000 0.875547 -0.483133
+vn -0.427985 0.817802 -0.384746
+vn -0.434971 0.780131 -0.449662
+vn -0.427985 0.817802 -0.384746
+vn -0.434971 0.780131 -0.449662
+vn -0.908601 0.352289 -0.224358
+vn -0.910031 0.329078 -0.252092
+vn -0.908601 0.352289 -0.224358
+vn -0.910031 0.329078 -0.252092
+vn -0.995640 -0.025451 -0.089737
+vn -0.995288 -0.035450 -0.090255
+vn 0.585595 -0.301117 -0.752600
+vn 0.814389 -0.577974 -0.052112
+vn -0.108668 -0.444271 -0.889278
+vn -0.055132 -0.998461 0.006055
+vn -0.745190 -0.226874 -0.627073
+vn -0.108668 -0.444271 -0.889278
+vn -0.868497 -0.484091 0.106627
+vn -0.055132 -0.998461 0.006055
+vn -0.631895 -0.712993 -0.303891
+vn -0.539720 -0.825793 0.163613
+vn -0.097495 -0.859947 -0.500984
+vn -0.135464 -0.989394 -0.052427
+vn -0.631895 -0.712993 -0.303891
+vn -0.371805 -0.255603 -0.892428
+vn -0.558684 -0.816489 -0.145661
+vn -0.450634 -0.396144 -0.799999
+vn -0.730653 0.660067 0.174522
+vn -0.704727 0.512748 -0.490356
+vn -0.531475 0.841876 0.093703
+vn -0.411659 0.583836 -0.699766
+vn -0.751777 0.457242 0.475143
+vn -0.471319 0.337329 0.814904
+vn -0.945479 -0.298281 0.130763
+vn 0.110139 -0.191659 0.975262
+vn -0.730653 0.660067 0.174522
+vn -0.531475 0.841876 0.093703
+vn -0.471319 0.337329 0.814904
+vn -0.269365 0.467791 0.841792
+vn 0.786854 0.611355 0.084294
+vn 0.935802 0.325469 0.135444
+vn 0.635626 0.196661 0.746528
+vn 0.796660 -0.030684 0.603649
+vn 0.786854 0.611355 0.084294
+vn 0.704077 0.710074 0.008393
+vn 0.382866 0.560200 -0.734567
+vn 0.360898 0.595366 -0.717838
+vn 0.382866 0.560200 -0.734567
+vn 0.360898 0.595366 -0.717838
+vn -0.096127 0.162298 -0.982048
+vn -0.044048 0.066535 -0.996811
+vn 0.796660 -0.030684 0.603649
+vn 0.939599 -0.314521 0.135023
+vn 0.465628 -0.485094 0.740186
+vn 0.246557 -0.948398 -0.199375
+vn 0.729463 0.495459 0.471597
+vn 0.710735 0.603458 0.361517
+vn 0.990978 0.025689 0.131541
+vn 0.996203 -0.013195 0.086050
+vn 0.729463 0.495459 0.471597
+vn 0.163173 0.727662 0.666245
+vn 0.710735 0.603458 0.361517
+vn -0.000988 0.888550 0.458778
+vn 0.163173 0.727662 0.666245
+vn -0.678944 0.513366 0.524872
+vn -0.000988 0.888550 0.458778
+vn -0.771733 0.592096 0.232055
+vn 0.807190 -0.083777 0.584316
+vn 0.763073 -0.632466 0.133065
+vn -0.043564 -0.319919 0.946443
+vn 0.016068 -0.998294 -0.056131
+vn 0.362074 0.474436 0.802380
+vn 0.515634 0.582361 0.628472
+vn 0.807190 -0.083777 0.584316
+vn 0.840931 -0.055293 0.538310
+vn -0.201310 0.927222 0.315807
+vn -0.124158 0.972463 0.197234
+vn 0.515634 0.582361 0.628472
+vn 0.528419 0.646331 0.550481
+vn -0.676947 -0.140830 0.722433
+vn -0.782404 -0.601982 0.159570
+vn -0.756747 -0.084516 0.648222
+vn -0.717168 -0.643082 0.268543
+vn 0.297246 -0.894400 0.334207
+vn 0.078053 -0.975340 0.206447
+vn 0.539299 -0.800165 -0.262474
+vn 0.148857 -0.905586 -0.397186
+vn 0.357169 -0.859281 0.366150
+vn -0.290144 -0.447007 0.846168
+vn 0.297246 -0.894400 0.334207
+vn -0.285974 -0.469135 0.835542
+vn -0.011571 -0.862641 0.505685
+vn -0.529952 -0.569267 0.628558
+vn 0.357169 -0.859281 0.366150
+vn -0.290144 -0.447007 0.846168
+vn -0.450538 0.577739 0.680613
+vn -0.319205 0.603947 0.730313
+vn 0.185203 0.943992 0.273092
+vn 0.361404 0.811308 0.459528
+vn -0.425143 0.499859 0.754582
+vn -0.756747 -0.084516 0.648222
+vn -0.450538 0.577739 0.680613
+vn -0.707581 -0.052850 0.704653
+vn 0.555867 -0.628506 -0.544052
+vn 0.669757 -0.663735 -0.332989
+vn -0.010514 -0.996091 -0.087710
+vn 0.268575 -0.924964 0.268905
+vn 0.620370 -0.610287 -0.492636
+vn 0.639000 -0.647811 -0.414752
+vn -0.122990 -0.882371 -0.454197
+vn -0.083480 -0.948942 -0.304203
+vn 0.639000 -0.647811 -0.414752
+vn 0.958159 -0.028465 -0.284817
+vn 0.693303 -0.689057 -0.211028
+vn 0.977230 -0.021991 -0.211041
+vn 0.755567 0.653351 -0.047439
+vn 0.745670 0.657600 0.107420
+vn 0.977230 -0.021991 -0.211041
+vn 0.976931 -0.030688 0.211338
+vn -0.290144 -0.447007 0.846168
+vn -0.738840 0.205784 0.641692
+vn -0.285974 -0.469135 0.835542
+vn -0.668687 0.291851 0.683872
+vn 0.301694 -0.489082 -0.818400
+vn 0.148857 -0.905586 -0.397186
+vn -0.268523 0.061285 -0.961322
+vn -0.776539 -0.486558 -0.400310
+vn -0.561257 0.685475 -0.463805
+vn -0.268523 0.061285 -0.961322
+vn -0.879684 0.474404 0.033123
+vn -0.776539 -0.486558 -0.400310
+vn -0.742843 0.664297 0.083024
+vn -0.702248 0.639416 0.313042
+vn -0.047462 0.951758 0.303158
+vn -0.100998 0.785050 0.611143
+vn 0.672302 0.640093 0.371875
+vn -0.047462 0.951758 0.303158
+vn 0.562394 0.619560 0.547594
+vn -0.100998 0.785050 0.611143
+vn -0.742843 0.664297 0.083024
+vn -0.994636 -0.015331 -0.102290
+vn -0.702248 0.639416 0.313042
+vn -0.913702 -0.025086 0.405611
+vn -0.563460 0.656864 0.501041
+vn -0.697661 -0.031168 0.715750
+vn 0.152106 0.848790 0.506378
+vn 0.288742 -0.045202 0.956339
+vn 0.730883 -0.667669 -0.141520
+vn 0.077284 -0.916539 -0.392408
+vn 0.755891 -0.627740 -0.185933
+vn 0.117657 -0.848118 -0.516578
+vn 0.979499 -0.068893 0.189305
+vn 0.956469 -0.052213 0.287125
+vn 0.730883 -0.667669 -0.141520
+vn 0.678513 -0.728427 0.094943
+vn -0.689697 -0.695262 0.202309
+vn -0.752452 -0.658597 -0.008104
+vn 0.002699 -0.999951 -0.009497
+vn -0.083480 -0.948942 -0.304203
+vn 0.938531 -0.344423 0.023089
+vn 0.648385 -0.744527 0.158985
+vn 0.937842 -0.343706 0.048151
+vn 0.644022 -0.736084 0.208364
+vn 0.648385 -0.744527 0.158985
+vn 0.000000 -0.972017 0.234911
+vn 0.644022 -0.736084 0.208364
+vn 0.000000 -0.955413 0.295274
+vn 0.938531 -0.344423 0.023089
+vn 0.937842 -0.343706 0.048151
+vn 0.995288 -0.035450 -0.090255
+vn 0.995447 -0.041927 -0.085604
+vn -0.000000 0.875547 -0.483133
+vn 0.434971 0.780131 -0.449662
+vn -0.000000 0.836027 -0.548688
+vn 0.433173 0.744896 -0.507435
+vn 0.434971 0.780131 -0.449662
+vn 0.910032 0.329078 -0.252092
+vn 0.433173 0.744896 -0.507435
+vn 0.909967 0.310677 -0.274662
+vn 0.995288 -0.035450 -0.090255
+vn 0.995447 -0.041927 -0.085604
+vn 0.910032 0.329078 -0.252092
+vn 0.909967 0.310677 -0.274662
+vn 0.170974 -0.433875 -0.884602
+vn 0.597055 -0.770406 -0.223604
+vn 0.262644 -0.547300 -0.794658
+vn 0.475226 -0.875605 -0.086460
+vn -0.097495 -0.859947 -0.500984
+vn -0.135464 -0.989394 -0.052427
+vn 0.597055 -0.770406 -0.223604
+vn 0.523140 -0.636251 0.567019
+vn -0.539720 -0.825793 0.163613
+vn -0.631895 -0.712993 -0.303891
+vn -0.267992 -0.790045 0.551371
+vn -0.558684 -0.816489 -0.145661
+vn -0.558684 -0.816489 -0.145661
+vn -0.450634 -0.396144 -0.799999
+vn -0.300633 -0.951851 -0.060001
+vn -0.319650 -0.580881 -0.748599
+vn -0.450634 -0.396144 -0.799999
+vn -0.096127 0.162298 -0.982048
+vn -0.319650 -0.580881 -0.748599
+vn -0.044048 0.066535 -0.996811
+vn -0.531475 0.841876 0.093703
+vn -0.411659 0.583836 -0.699766
+vn -0.458545 0.887826 0.038752
+vn -0.317317 0.601654 -0.733022
+vn -0.411659 0.583836 -0.699766
+vn -0.095933 0.032938 -0.994843
+vn -0.317317 0.601654 -0.733022
+vn -0.107437 0.002754 -0.994208
+vn -0.095933 0.032938 -0.994843
+vn 0.262644 -0.547300 -0.794658
+vn -0.107437 0.002754 -0.994208
+vn 0.060505 -0.637055 -0.768440
+vn -0.201310 0.927222 0.315807
+vn -0.767320 0.603096 -0.217934
+vn -0.124158 0.972463 0.197234
+vn -0.711990 0.653005 -0.258175
+vn -0.867551 0.497344 -0.001789
+vn -0.865301 -0.049970 -0.498756
+vn -0.767320 0.603096 -0.217934
+vn -0.833916 -0.025683 -0.551294
+vn -0.865301 -0.049970 -0.498756
+vn -0.945479 -0.298281 0.130763
+vn -0.442986 -0.613088 -0.654130
+vn -0.135464 -0.989394 -0.052427
+vn 0.635626 0.196661 0.746528
+vn 0.639332 0.328642 0.695161
+vn 0.786854 0.611355 0.084294
+vn 0.704077 0.710074 0.008393
+vn 0.635626 0.196661 0.746528
+vn 0.796660 -0.030684 0.603649
+vn 0.297310 -0.292244 0.908956
+vn 0.465628 -0.485094 0.740186
+vn 0.939599 -0.314521 0.135023
+vn 0.755556 -0.586776 -0.291254
+vn 0.246557 -0.948398 -0.199375
+vn 0.029791 -0.841570 -0.539326
+vn 0.990978 0.025689 0.131541
+vn 0.996203 -0.013195 0.086050
+vn 0.755556 -0.586776 -0.291254
+vn 0.722852 -0.652602 -0.227147
+vn -0.678944 0.513366 0.524872
+vn -0.994962 -0.076322 -0.065006
+vn -0.771733 0.592096 0.232055
+vn -0.989773 -0.057433 -0.130580
+vn -0.994962 -0.076322 -0.065006
+vn -0.043564 -0.319919 0.946443
+vn -0.675226 -0.598772 -0.430745
+vn 0.016068 -0.998294 -0.056131
+vn 0.807190 -0.083777 0.584316
+vn 0.840931 -0.055293 0.538310
+vn 0.763073 -0.632466 0.133065
+vn 0.722193 -0.661158 0.203243
+vn -0.219081 -0.911357 -0.348472
+vn -0.010514 -0.996091 -0.087710
+vn -0.717168 -0.643082 0.268543
+vn -0.578801 -0.686999 0.439343
+vn 0.297246 -0.894400 0.334207
+vn -0.285974 -0.469135 0.835542
+vn 0.078053 -0.975340 0.206447
+vn -0.588052 -0.633449 0.502928
+vn -0.450538 0.577739 0.680613
+vn -0.707581 -0.052850 0.704653
+vn -0.319205 0.603947 0.730313
+vn -0.387781 -0.056946 0.919991
+vn 0.749523 0.639092 -0.172558
+vn 0.361404 0.811308 0.459528
+vn 0.971384 -0.015863 -0.236984
+vn 0.650340 -0.077208 0.755710
+vn 0.669757 -0.663735 -0.332989
+vn 0.971384 -0.015863 -0.236984
+vn 0.268575 -0.924964 0.268905
+vn 0.650340 -0.077208 0.755710
+vn 0.639000 -0.647811 -0.414752
+vn 0.693303 -0.689057 -0.211028
+vn -0.083480 -0.948942 -0.304203
+vn 0.002699 -0.999951 -0.009497
+vn 0.745670 0.657600 0.107420
+vn 0.152106 0.848790 0.506378
+vn 0.976931 -0.030688 0.211338
+vn 0.288742 -0.045202 0.956339
+vn -0.668687 0.291851 0.683872
+vn -0.682763 0.703731 0.196463
+vn -0.789830 0.188496 0.583642
+vn -0.879684 0.474404 0.033123
+vn 0.078053 -0.975340 0.206447
+vn -0.588052 -0.633449 0.502928
+vn 0.148857 -0.905586 -0.397186
+vn -0.776539 -0.486558 -0.400310
+vn 0.672302 0.640093 0.371875
+vn 0.562394 0.619560 0.547594
+vn 0.956469 -0.052213 0.287125
+vn 0.705310 -0.050193 0.707120
+vn -0.691302 -0.699888 -0.179605
+vn -0.707131 -0.673584 0.215060
+vn -0.994636 -0.015331 -0.102290
+vn -0.913702 -0.025086 0.405611
+vn -0.627748 -0.644680 -0.436257
+vn 0.077284 -0.916539 -0.392408
+vn -0.691302 -0.699888 -0.179605
+vn -0.009646 -0.998188 -0.059392
+vn -0.697661 -0.031168 0.715750
+vn -0.932453 -0.030250 0.360023
+vn -0.570797 -0.686629 0.450257
+vn -0.689697 -0.695262 0.202309
+vn 0.077284 -0.916539 -0.392408
+vn 0.730883 -0.667669 -0.141520
+vn -0.009646 -0.998188 -0.059392
+vn 0.678513 -0.728427 0.094943
+vn -0.689697 -0.695262 0.202309
+vn 0.002699 -0.999951 -0.009497
+vn -0.570797 -0.686629 0.450257
+vn 0.134624 -0.886855 0.442000
+vn -0.938531 -0.344423 0.023089
+vn -0.937842 -0.343706 0.048151
+vn -0.648385 -0.744527 0.158985
+vn -0.644023 -0.736084 0.208364
+vn -0.648385 -0.744527 0.158985
+vn -0.644023 -0.736084 0.208364
+vn 0.000000 -0.972017 0.234911
+vn 0.000000 -0.955413 0.295274
+vn -0.938531 -0.344423 0.023089
+vn -0.995288 -0.035450 -0.090255
+vn -0.937842 -0.343706 0.048151
+vn -0.995447 -0.041927 -0.085604
+vn -0.000000 0.875547 -0.483133
+vn -0.000000 0.836027 -0.548688
+vn -0.434971 0.780131 -0.449662
+vn -0.433173 0.744896 -0.507435
+vn -0.434971 0.780131 -0.449662
+vn -0.433173 0.744896 -0.507435
+vn -0.910031 0.329078 -0.252092
+vn -0.909967 0.310678 -0.274662
+vn -0.995288 -0.035450 -0.090255
+vn -0.910031 0.329078 -0.252092
+vn -0.995447 -0.041927 -0.085604
+vn -0.909967 0.310678 -0.274662
+vn -0.267992 -0.790045 0.551371
+vn 0.005266 -0.769544 0.638572
+vn -0.539720 -0.825793 0.163613
+vn -0.316005 -0.876331 0.363572
+vn -0.135464 -0.989394 -0.052427
+vn -0.539720 -0.825793 0.163613
+vn 0.081183 -0.971914 -0.220890
+vn -0.316005 -0.876331 0.363572
+vn -0.267992 -0.790045 0.551371
+vn -0.558684 -0.816489 -0.145661
+vn -0.055977 -0.788391 0.612623
+vn -0.300633 -0.951851 -0.060001
+vn -0.531475 0.841876 0.093703
+vn -0.458545 0.887826 0.038752
+vn -0.269365 0.467791 0.841792
+vn -0.306003 0.542624 0.782254
+vn 0.110139 -0.191659 0.975262
+vn 0.523140 -0.636251 0.567019
+vn -0.945479 -0.298281 0.130763
+vn -0.135464 -0.989394 -0.052427
+vn -0.471319 0.337329 0.814904
+vn -0.269365 0.467791 0.841792
+vn 0.110139 -0.191659 0.975262
+vn 0.106092 -0.101090 0.989204
+vn -0.865301 -0.049970 -0.498756
+vn -0.442986 -0.613088 -0.654130
+vn -0.833916 -0.025683 -0.551294
+vn -0.490829 -0.644172 -0.586625
+vn 0.639332 0.328642 0.695161
+vn 0.635626 0.196661 0.746528
+vn 0.328781 -0.258862 0.908237
+vn 0.297310 -0.292244 0.908956
+vn 0.639332 0.328642 0.695161
+vn 0.777048 0.254840 0.575546
+vn 0.704077 0.710074 0.008393
+vn 0.906644 0.421757 -0.010827
+vn 0.704077 0.710074 0.008393
+vn 0.906644 0.421757 -0.010827
+vn 0.360898 0.595366 -0.717838
+vn 0.601559 0.453272 -0.657777
+vn 0.360898 0.595366 -0.717838
+vn 0.601559 0.453272 -0.657777
+vn -0.044048 0.066535 -0.996811
+vn 0.424030 -0.235636 -0.874456
+vn 0.297310 -0.292244 0.908956
+vn 0.465628 -0.485094 0.740186
+vn -0.267992 -0.790045 0.551371
+vn 0.005266 -0.769544 0.638572
+vn 0.465628 -0.485094 0.740186
+vn 0.246557 -0.948398 -0.199375
+vn 0.005266 -0.769544 0.638572
+vn 0.016068 -0.998294 -0.056131
+vn 0.710735 0.603458 0.361517
+vn 0.686699 0.663217 0.297637
+vn 0.996203 -0.013195 0.086050
+vn 0.981468 -0.017497 0.190828
+vn 0.710735 0.603458 0.361517
+vn -0.000988 0.888550 0.458778
+vn 0.686699 0.663217 0.297637
+vn -0.041527 0.951385 0.305192
+vn -0.000988 0.888550 0.458778
+vn -0.771733 0.592096 0.232055
+vn -0.041527 0.951385 0.305192
+vn -0.751338 0.640356 0.159486
+vn -0.994962 -0.076322 -0.065006
+vn -0.675226 -0.598772 -0.430745
+vn -0.989773 -0.057433 -0.130580
+vn -0.662151 -0.654955 -0.364129
+vn 0.016068 -0.998294 -0.056131
+vn 0.763073 -0.632466 0.133065
+vn 0.081183 -0.971914 -0.220890
+vn 0.254374 -0.875524 -0.410794
+vn 0.515634 0.582361 0.628472
+vn 0.528419 0.646331 0.550481
+vn 0.840931 -0.055293 0.538310
+vn 0.792696 -0.031120 0.608823
+vn 0.528419 0.646331 0.550481
+vn -0.124158 0.972463 0.197234
+vn 0.401498 0.656865 0.638223
+vn -0.287204 0.848790 0.443925
+vn -0.756747 -0.084516 0.648222
+vn -0.717168 -0.643082 0.268543
+vn -0.707581 -0.052850 0.704653
+vn -0.578801 -0.686999 0.439343
+vn -0.319205 0.603947 0.730313
+vn -0.387781 -0.056946 0.919991
+vn 0.361404 0.811308 0.459528
+vn 0.650340 -0.077208 0.755710
+vn 0.268575 -0.924964 0.268905
+vn -0.405549 -0.702617 0.584687
+vn -0.010514 -0.996091 -0.087710
+vn -0.578801 -0.686999 0.439343
+vn 0.693303 -0.689057 -0.211028
+vn 0.977230 -0.021991 -0.211041
+vn 0.725877 -0.685249 0.059459
+vn 0.976931 -0.030688 0.211338
+vn -0.668687 0.291851 0.683872
+vn -0.789830 0.188496 0.583642
+vn -0.285974 -0.469135 0.835542
+vn -0.588052 -0.633449 0.502928
+vn -0.789830 0.188496 0.583642
+vn -0.879684 0.474404 0.033123
+vn -0.588052 -0.633449 0.502928
+vn -0.776539 -0.486558 -0.400310
+vn -0.702248 0.639416 0.313042
+vn -0.913702 -0.025086 0.405611
+vn -0.100998 0.785050 0.611143
+vn -0.184188 -0.053344 0.981442
+vn 0.562394 0.619560 0.547594
+vn -0.100998 0.785050 0.611143
+vn 0.705310 -0.050193 0.707120
+vn -0.184188 -0.053344 0.981442
+vn -0.691302 -0.699888 -0.179605
+vn -0.009646 -0.998188 -0.059392
+vn -0.707131 -0.673584 0.215060
+vn -0.107412 -0.860919 0.497274
+vn -0.570797 -0.686629 0.450257
+vn 0.134624 -0.886855 0.442000
+vn -0.697661 -0.031168 0.715750
+vn 0.288742 -0.045202 0.956339
+vn 0.678513 -0.728427 0.094943
+vn 0.956469 -0.052213 0.287125
+vn 0.560573 -0.694122 0.451610
+vn 0.705310 -0.050193 0.707120
+vn 0.937842 -0.343706 0.048151
+vn 0.644022 -0.736084 0.208364
+vn 0.935957 -0.342543 0.081543
+vn 0.620907 -0.737411 0.265892
+vn 0.644022 -0.736084 0.208364
+vn 0.000000 -0.955413 0.295274
+vn 0.620907 -0.737411 0.265892
+vn 0.000001 -0.937033 0.349242
+vn 0.937842 -0.343706 0.048151
+vn 0.935957 -0.342543 0.081543
+vn 0.995447 -0.041927 -0.085604
+vn 0.995961 -0.044258 -0.078115
+vn -0.000000 0.836027 -0.548688
+vn 0.433173 0.744896 -0.507435
+vn -0.000000 0.789484 -0.613771
+vn 0.421581 0.707330 -0.567410
+vn 0.433173 0.744896 -0.507435
+vn 0.909967 0.310677 -0.274662
+vn 0.421581 0.707330 -0.567410
+vn 0.908041 0.294027 -0.298346
+vn 0.995447 -0.041927 -0.085604
+vn 0.995961 -0.044258 -0.078115
+vn 0.909967 0.310677 -0.274662
+vn 0.908041 0.294027 -0.298346
+vn 0.262644 -0.547300 -0.794658
+vn 0.475226 -0.875605 -0.086460
+vn 0.060505 -0.637055 -0.768440
+vn 0.101890 -0.993922 -0.041678
+vn 0.597055 -0.770406 -0.223604
+vn 0.523140 -0.636251 0.567019
+vn 0.475226 -0.875605 -0.086460
+vn 0.384912 -0.624293 0.679781
+vn -0.135464 -0.989394 -0.052427
+vn 0.081183 -0.971914 -0.220890
+vn -0.442986 -0.613088 -0.654130
+vn 0.254374 -0.875524 -0.410794
+vn -0.267992 -0.790045 0.551371
+vn -0.055977 -0.788391 0.612623
+vn 0.297310 -0.292244 0.908956
+vn 0.328781 -0.258862 0.908237
+vn -0.055977 -0.788391 0.612623
+vn -0.300633 -0.951851 -0.060001
+vn 0.191767 -0.815127 0.546620
+vn 0.165634 -0.986187 0.001180
+vn -0.300633 -0.951851 -0.060001
+vn -0.319650 -0.580881 -0.748599
+vn 0.165634 -0.986187 0.001180
+vn 0.000693 -0.767443 -0.641117
+vn -0.319650 -0.580881 -0.748599
+vn -0.044048 0.066535 -0.996811
+vn 0.000693 -0.767443 -0.641117
+vn 0.424030 -0.235636 -0.874456
+vn -0.317317 0.601654 -0.733022
+vn -0.504231 0.570402 -0.648377
+vn -0.458545 0.887826 0.038752
+vn -0.717783 0.696228 0.007420
+vn -0.317317 0.601654 -0.733022
+vn -0.107437 0.002754 -0.994208
+vn -0.504231 0.570402 -0.648377
+vn -0.533533 -0.029566 -0.845262
+vn 0.060505 -0.637055 -0.768440
+vn -0.268865 -0.653601 -0.707472
+vn -0.107437 0.002754 -0.994208
+vn -0.533533 -0.029566 -0.845262
+vn -0.711990 0.653005 -0.258175
+vn -0.746063 0.657601 -0.104649
+vn -0.124158 0.972463 0.197234
+vn -0.287204 0.848790 0.443925
+vn -0.767320 0.603096 -0.217934
+vn -0.833916 -0.025683 -0.551294
+vn -0.711990 0.653005 -0.258175
+vn -0.878237 -0.021675 -0.477734
+vn 0.110139 -0.191659 0.975262
+vn 0.106092 -0.101090 0.989204
+vn 0.523140 -0.636251 0.567019
+vn 0.384912 -0.624293 0.679781
+vn 0.328781 -0.258862 0.908237
+vn 0.603521 -0.384150 0.698707
+vn 0.639332 0.328642 0.695161
+vn 0.777048 0.254840 0.575546
+vn 0.246557 -0.948398 -0.199375
+vn 0.029791 -0.841570 -0.539326
+vn 0.016068 -0.998294 -0.056131
+vn -0.675226 -0.598772 -0.430745
+vn 0.755556 -0.586776 -0.291254
+vn 0.722852 -0.652602 -0.227147
+vn 0.029791 -0.841570 -0.539326
+vn 0.030824 -0.914413 -0.403608
+vn 0.996203 -0.013195 0.086050
+vn 0.981468 -0.017497 0.190828
+vn 0.722852 -0.652602 -0.227147
+vn 0.710836 -0.702786 0.028359
+vn -0.771733 0.592096 0.232055
+vn -0.989773 -0.057433 -0.130580
+vn -0.751338 0.640356 0.159486
+vn -0.998733 -0.050247 -0.002721
+vn 0.763073 -0.632466 0.133065
+vn 0.722193 -0.661158 0.203243
+vn 0.254374 -0.875524 -0.410794
+vn 0.167278 -0.946858 -0.274733
+vn 0.722193 -0.661158 0.203243
+vn 0.840931 -0.055293 0.538310
+vn 0.603686 -0.696287 0.388263
+vn 0.792696 -0.031120 0.608823
+vn 0.081183 -0.971914 -0.220890
+vn -0.316005 -0.876331 0.363572
+vn 0.016068 -0.998294 -0.056131
+vn 0.005266 -0.769544 0.638572
+vn 0.528419 0.646331 0.550481
+vn 0.401498 0.656865 0.638223
+vn 0.792696 -0.031120 0.608823
+vn 0.470543 -0.031170 0.881826
+vn -0.387781 -0.056946 0.919991
+vn -0.707581 -0.052850 0.704653
+vn -0.405549 -0.702617 0.584687
+vn -0.578801 -0.686999 0.439343
+vn -0.405549 -0.702617 0.584687
+vn 0.268575 -0.924964 0.268905
+vn -0.387781 -0.056946 0.919991
+vn 0.650340 -0.077208 0.755710
+vn 0.693303 -0.689057 -0.211028
+vn 0.725877 -0.685249 0.059459
+vn 0.002699 -0.999951 -0.009497
+vn 0.134624 -0.886855 0.442000
+vn 0.725877 -0.685249 0.059459
+vn 0.976931 -0.030688 0.211338
+vn 0.134624 -0.886855 0.442000
+vn 0.288742 -0.045202 0.956339
+vn -0.707131 -0.673584 0.215060
+vn -0.107412 -0.860919 0.497274
+vn -0.913702 -0.025086 0.405611
+vn -0.184188 -0.053344 0.981442
+vn 0.678513 -0.728427 0.094943
+vn 0.560573 -0.694122 0.451610
+vn -0.009646 -0.998188 -0.059392
+vn -0.107412 -0.860919 0.497274
+vn -0.937842 -0.343706 0.048151
+vn -0.935957 -0.342542 0.081543
+vn -0.644023 -0.736084 0.208364
+vn -0.620908 -0.737411 0.265892
+vn -0.644023 -0.736084 0.208364
+vn -0.620908 -0.737411 0.265892
+vn 0.000000 -0.955413 0.295274
+vn 0.000001 -0.937033 0.349242
+vn -0.937842 -0.343706 0.048151
+vn -0.995447 -0.041927 -0.085604
+vn -0.935957 -0.342542 0.081543
+vn -0.995961 -0.044258 -0.078115
+vn -0.000000 0.836027 -0.548688
+vn -0.000000 0.789484 -0.613771
+vn -0.433173 0.744896 -0.507435
+vn -0.421580 0.707331 -0.567410
+vn -0.433173 0.744896 -0.507435
+vn -0.421580 0.707331 -0.567410
+vn -0.909967 0.310678 -0.274662
+vn -0.908040 0.294028 -0.298346
+vn -0.995447 -0.041927 -0.085604
+vn -0.909967 0.310678 -0.274662
+vn -0.995961 -0.044258 -0.078115
+vn -0.908040 0.294028 -0.298346
+vn -0.055977 -0.788391 0.612623
+vn 0.191767 -0.815127 0.546620
+vn 0.328781 -0.258862 0.908237
+vn 0.603521 -0.384150 0.698707
+vn -0.269365 0.467791 0.841792
+vn -0.306003 0.542624 0.782254
+vn 0.106092 -0.101090 0.989204
+vn -0.097769 -0.064636 0.993108
+vn -0.306003 0.542624 0.782254
+vn -0.458545 0.887826 0.038752
+vn -0.527211 0.536864 0.658655
+vn -0.717783 0.696228 0.007420
+vn 0.060505 -0.637055 -0.768440
+vn 0.101890 -0.993922 -0.041678
+vn -0.268865 -0.653601 -0.707472
+vn -0.456806 -0.888792 -0.037111
+vn -0.711990 0.653005 -0.258175
+vn -0.878237 -0.021675 -0.477734
+vn -0.746063 0.657601 -0.104649
+vn -0.997124 -0.030689 -0.069299
+vn -0.490829 -0.644172 -0.586625
+vn -0.605958 -0.688470 -0.398529
+vn -0.833916 -0.025683 -0.551294
+vn -0.878237 -0.021675 -0.477734
+vn -0.442986 -0.613088 -0.654130
+vn 0.254374 -0.875524 -0.410794
+vn -0.490829 -0.644172 -0.586625
+vn 0.167278 -0.946858 -0.274733
+vn 0.777048 0.254840 0.575546
+vn 0.603521 -0.384150 0.698707
+vn 0.906644 0.421757 -0.010827
+vn 0.868896 -0.494239 -0.027331
+vn 0.906644 0.421757 -0.010827
+vn 0.868896 -0.494239 -0.027331
+vn 0.601559 0.453272 -0.657777
+vn 0.424030 -0.235636 -0.874456
+vn 0.686699 0.663217 0.297637
+vn 0.587183 0.639415 0.496350
+vn 0.981468 -0.017497 0.190828
+vn 0.764460 -0.025088 0.644182
+vn 0.686699 0.663217 0.297637
+vn -0.041527 0.951385 0.305192
+vn 0.587183 0.639415 0.496350
+vn -0.073323 0.785051 0.615076
+vn -0.751338 0.640356 0.159486
+vn -0.692722 0.619560 0.369163
+vn -0.041527 0.951385 0.305192
+vn -0.073323 0.785051 0.615076
+vn -0.989773 -0.057433 -0.130580
+vn -0.662151 -0.654955 -0.364129
+vn -0.998733 -0.050247 -0.002721
+vn -0.679844 -0.725530 -0.106857
+vn -0.662151 -0.654955 -0.364129
+vn -0.675226 -0.598772 -0.430745
+vn 0.030824 -0.914413 -0.403608
+vn 0.029791 -0.841570 -0.539326
+vn 0.603686 -0.696287 0.388263
+vn -0.000579 -0.999946 -0.010349
+vn 0.722193 -0.661158 0.203243
+vn 0.167278 -0.946858 -0.274733
+vn 0.401498 0.656865 0.638223
+vn -0.287204 0.848790 0.443925
+vn 0.470543 -0.031170 0.881826
+vn -0.543828 -0.045203 0.837979
+vn 0.560573 -0.694122 0.451610
+vn 0.705310 -0.050193 0.707120
+vn -0.107412 -0.860919 0.497274
+vn -0.184188 -0.053344 0.981442
+vn 0.935957 -0.342543 0.081543
+vn 0.620907 -0.737411 0.265892
+vn 0.927266 -0.358616 0.107571
+vn 0.560119 -0.771026 0.302961
+vn 0.620907 -0.737411 0.265892
+vn 0.000001 -0.937033 0.349242
+vn 0.560119 -0.771026 0.302961
+vn 0.000001 -0.931726 0.363163
+vn 0.935957 -0.342543 0.081543
+vn 0.927266 -0.358616 0.107571
+vn 0.995961 -0.044258 -0.078115
+vn 0.996278 -0.047767 -0.071749
+vn -0.000000 0.789484 -0.613771
+vn 0.421581 0.707330 -0.567410
+vn -0.000001 0.764769 -0.644305
+vn 0.411989 0.689901 -0.595232
+vn 0.421581 0.707330 -0.567410
+vn 0.908041 0.294027 -0.298346
+vn 0.411989 0.689901 -0.595232
+vn 0.909205 0.283188 -0.305205
+vn 0.908041 0.294027 -0.298346
+vn 0.995961 -0.044258 -0.078115
+vn 0.909205 0.283188 -0.305205
+vn 0.996278 -0.047767 -0.071749
+vn 0.475226 -0.875605 -0.086460
+vn 0.384912 -0.624293 0.679781
+vn 0.101890 -0.993922 -0.041678
+vn 0.071897 -0.686443 0.723620
+vn 0.191767 -0.815127 0.546620
+vn 0.165634 -0.986187 0.001180
+vn 0.603521 -0.384150 0.698707
+vn 0.868896 -0.494239 -0.027331
+vn 0.165634 -0.986187 0.001180
+vn 0.000693 -0.767443 -0.641117
+vn 0.868896 -0.494239 -0.027331
+vn 0.424030 -0.235636 -0.874456
+vn -0.306003 0.542624 0.782254
+vn -0.527211 0.536864 0.658655
+vn -0.097769 -0.064636 0.993108
+vn -0.569048 -0.068259 0.819466
+vn -0.504231 0.570402 -0.648377
+vn -0.533533 -0.029566 -0.845262
+vn -0.717783 0.696228 0.007420
+vn -0.996025 -0.086034 -0.023091
+vn -0.268865 -0.653601 -0.707472
+vn -0.456806 -0.888792 -0.037111
+vn -0.533533 -0.029566 -0.845262
+vn -0.996025 -0.086034 -0.023091
+vn -0.746063 0.657601 -0.104649
+vn -0.997124 -0.030689 -0.069299
+vn -0.287204 0.848790 0.443925
+vn -0.543828 -0.045203 0.837979
+vn 0.106092 -0.101090 0.989204
+vn -0.097769 -0.064636 0.993108
+vn 0.384912 -0.624293 0.679781
+vn 0.071897 -0.686443 0.723620
+vn -0.605958 -0.688470 -0.398529
+vn -0.490829 -0.644172 -0.586625
+vn -0.000579 -0.999946 -0.010349
+vn 0.167278 -0.946858 -0.274733
+vn 0.722852 -0.652602 -0.227147
+vn 0.710836 -0.702786 0.028359
+vn 0.030824 -0.914413 -0.403608
+vn 0.023203 -0.998240 -0.054585
+vn 0.710836 -0.702786 0.028359
+vn 0.981468 -0.017497 0.190828
+vn 0.619179 -0.673584 0.403612
+vn 0.764460 -0.025088 0.644182
+vn -0.751338 0.640356 0.159486
+vn -0.998733 -0.050247 -0.002721
+vn -0.692722 0.619560 0.369163
+vn -0.874435 -0.050194 0.482540
+vn 0.030824 -0.914413 -0.403608
+vn 0.023203 -0.998240 -0.054585
+vn -0.662151 -0.654955 -0.364129
+vn -0.679844 -0.725530 -0.106857
+vn 0.603686 -0.696287 0.388263
+vn 0.422698 -0.686630 0.591494
+vn -0.000579 -0.999946 -0.010349
+vn -0.252473 -0.886856 0.386968
+vn 0.603686 -0.696287 0.388263
+vn 0.792696 -0.031120 0.608823
+vn 0.422698 -0.686630 0.591494
+vn 0.470543 -0.031170 0.881826
+vn -0.935957 -0.342542 0.081543
+vn -0.927267 -0.358616 0.107571
+vn -0.620908 -0.737411 0.265892
+vn -0.560119 -0.771026 0.302962
+vn -0.620908 -0.737411 0.265892
+vn -0.560119 -0.771026 0.302962
+vn 0.000001 -0.937033 0.349242
+vn 0.000001 -0.931726 0.363163
+vn -0.935957 -0.342542 0.081543
+vn -0.995961 -0.044258 -0.078115
+vn -0.927267 -0.358616 0.107571
+vn -0.996278 -0.047767 -0.071749
+vn -0.000000 0.789484 -0.613771
+vn -0.000001 0.764769 -0.644305
+vn -0.421580 0.707331 -0.567410
+vn -0.411988 0.689901 -0.595234
+vn -0.421580 0.707331 -0.567410
+vn -0.411988 0.689901 -0.595234
+vn -0.908040 0.294028 -0.298346
+vn -0.909205 0.283189 -0.305206
+vn -0.908040 0.294028 -0.298346
+vn -0.909205 0.283189 -0.305206
+vn -0.995961 -0.044258 -0.078115
+vn -0.996278 -0.047767 -0.071749
+vn -0.527211 0.536864 0.658655
+vn -0.717783 0.696228 0.007420
+vn -0.569048 -0.068259 0.819466
+vn -0.996025 -0.086034 -0.023091
+vn -0.456806 -0.888792 -0.037111
+vn 0.101890 -0.993922 -0.041678
+vn -0.301964 -0.689965 0.657849
+vn 0.071897 -0.686443 0.723620
+vn -0.997124 -0.030689 -0.069299
+vn -0.878237 -0.021675 -0.477734
+vn -0.713689 -0.685249 -0.145195
+vn -0.605958 -0.688470 -0.398529
+vn -0.605958 -0.688470 -0.398529
+vn -0.000579 -0.999946 -0.010349
+vn -0.713689 -0.685249 -0.145195
+vn -0.252473 -0.886856 0.386968
+vn 0.710836 -0.702786 0.028359
+vn 0.619179 -0.673584 0.403612
+vn 0.023203 -0.998240 -0.054585
+vn -0.035429 -0.860918 0.507508
+vn 0.587183 0.639415 0.496350
+vn -0.073323 0.785051 0.615076
+vn 0.764460 -0.025088 0.644182
+vn -0.096628 -0.053346 0.993890
+vn -0.692722 0.619560 0.369163
+vn -0.874435 -0.050194 0.482540
+vn -0.073323 0.785051 0.615076
+vn -0.096628 -0.053346 0.993890
+vn -0.679844 -0.725530 -0.106857
+vn -0.664224 -0.694123 0.277490
+vn -0.998733 -0.050247 -0.002721
+vn -0.874435 -0.050194 0.482540
+vn 0.422698 -0.686630 0.591494
+vn 0.470543 -0.031170 0.881826
+vn -0.252473 -0.886856 0.386968
+vn -0.543828 -0.045203 0.837979
+vn 0.927266 -0.358616 0.107571
+vn 0.560119 -0.771026 0.302961
+vn 0.913111 -0.397751 0.089565
+vn 0.488744 -0.830428 0.267428
+vn 0.560119 -0.771026 0.302961
+vn 0.000001 -0.931726 0.363163
+vn 0.488744 -0.830428 0.267428
+vn 0.000001 -0.951657 0.307164
+vn 0.927266 -0.358616 0.107571
+vn 0.913111 -0.397751 0.089565
+vn 0.996278 -0.047767 -0.071749
+vn 0.995662 -0.053096 -0.076412
+vn -0.000001 0.764769 -0.644305
+vn 0.411989 0.689901 -0.595232
+vn -0.000004 0.815047 -0.579395
+vn 0.415857 0.735227 -0.535261
+vn 0.411989 0.689901 -0.595232
+vn 0.909205 0.283188 -0.305205
+vn 0.415857 0.735227 -0.535261
+vn 0.913835 0.295811 -0.278213
+vn 0.909205 0.283188 -0.305205
+vn 0.996278 -0.047767 -0.071749
+vn 0.913835 0.295811 -0.278213
+vn 0.995662 -0.053096 -0.076412
+vn -0.569048 -0.068259 0.819466
+vn -0.301964 -0.689965 0.657849
+vn -0.097769 -0.064636 0.993108
+vn 0.071897 -0.686443 0.723620
+vn -0.301964 -0.689965 0.657849
+vn -0.569048 -0.068259 0.819466
+vn -0.456806 -0.888792 -0.037111
+vn -0.996025 -0.086034 -0.023091
+vn -0.713689 -0.685249 -0.145195
+vn -0.252473 -0.886856 0.386968
+vn -0.997124 -0.030689 -0.069299
+vn -0.543828 -0.045203 0.837979
+vn 0.619179 -0.673584 0.403612
+vn 0.764460 -0.025088 0.644182
+vn -0.035429 -0.860918 0.507508
+vn -0.096628 -0.053346 0.993890
+vn -0.679844 -0.725530 -0.106857
+vn 0.023203 -0.998240 -0.054585
+vn -0.664224 -0.694123 0.277490
+vn -0.035429 -0.860918 0.507508
+vn -0.927267 -0.358616 0.107571
+vn -0.913111 -0.397751 0.089565
+vn -0.560119 -0.771026 0.302962
+vn -0.488743 -0.830429 0.267429
+vn -0.560119 -0.771026 0.302962
+vn -0.488743 -0.830429 0.267429
+vn 0.000001 -0.931726 0.363163
+vn 0.000001 -0.951657 0.307164
+vn -0.927267 -0.358616 0.107571
+vn -0.996278 -0.047767 -0.071749
+vn -0.913111 -0.397751 0.089565
+vn -0.995662 -0.053096 -0.076412
+vn -0.000001 0.764769 -0.644305
+vn -0.000004 0.815047 -0.579395
+vn -0.411988 0.689901 -0.595234
+vn -0.415857 0.735227 -0.535261
+vn -0.411988 0.689901 -0.595234
+vn -0.415857 0.735227 -0.535261
+vn -0.909205 0.283189 -0.305206
+vn -0.913835 0.295811 -0.278213
+vn -0.909205 0.283189 -0.305206
+vn -0.913835 0.295811 -0.278213
+vn -0.996278 -0.047767 -0.071749
+vn -0.995662 -0.053096 -0.076412
+vn -0.664224 -0.694123 0.277490
+vn -0.035429 -0.860918 0.507508
+vn -0.874435 -0.050194 0.482540
+vn -0.096628 -0.053346 0.993890
+vn 0.913111 -0.397751 0.089565
+vn 0.488744 -0.830428 0.267428
+vn 0.907854 -0.417596 0.037616
+vn 0.460644 -0.868244 0.184280
+vn 0.488744 -0.830428 0.267428
+vn 0.000001 -0.951657 0.307164
+vn 0.460644 -0.868244 0.184280
+vn 0.000000 -0.975400 0.220441
+vn 0.913111 -0.397751 0.089565
+vn 0.907854 -0.417596 0.037616
+vn 0.995662 -0.053096 -0.076412
+vn 0.995169 -0.044543 -0.087493
+vn -0.000004 0.815047 -0.579395
+vn 0.415857 0.735227 -0.535261
+vn -0.000002 0.903894 -0.427757
+vn 0.423720 0.812060 -0.401274
+vn 0.415857 0.735227 -0.535261
+vn 0.913835 0.295811 -0.278213
+vn 0.423720 0.812060 -0.401274
+vn 0.913882 0.334169 -0.230543
+vn 0.995662 -0.053096 -0.076412
+vn 0.995169 -0.044543 -0.087493
+vn 0.913835 0.295811 -0.278213
+vn 0.913882 0.334169 -0.230543
+vn -0.913111 -0.397751 0.089565
+vn -0.907854 -0.417596 0.037615
+vn -0.488743 -0.830429 0.267429
+vn -0.460644 -0.868244 0.184280
+vn -0.488743 -0.830429 0.267429
+vn -0.460644 -0.868244 0.184280
+vn 0.000001 -0.951657 0.307164
+vn 0.000000 -0.975400 0.220441
+vn -0.913111 -0.397751 0.089565
+vn -0.995662 -0.053096 -0.076412
+vn -0.907854 -0.417596 0.037615
+vn -0.995169 -0.044543 -0.087493
+vn -0.000004 0.815047 -0.579395
+vn -0.000002 0.903894 -0.427757
+vn -0.415857 0.735227 -0.535261
+vn -0.423721 0.812060 -0.401273
+vn -0.415857 0.735227 -0.535261
+vn -0.423721 0.812060 -0.401273
+vn -0.913835 0.295811 -0.278213
+vn -0.913882 0.334169 -0.230543
+vn -0.995662 -0.053096 -0.076412
+vn -0.913835 0.295811 -0.278213
+vn -0.995169 -0.044543 -0.087493
+vn -0.913882 0.334169 -0.230543
+vn 0.907854 -0.417596 0.037616
+vn 0.460644 -0.868244 0.184280
+vn 0.912389 -0.409322 -0.001580
+vn 0.474290 -0.874235 0.103743
+vn 0.460644 -0.868244 0.184280
+vn 0.000000 -0.975400 0.220441
+vn 0.474290 -0.874235 0.103743
+vn -0.000001 -0.990837 0.135063
+vn 0.907854 -0.417596 0.037616
+vn 0.912389 -0.409322 -0.001580
+vn 0.995169 -0.044543 -0.087493
+vn 0.996150 -0.027641 -0.083193
+vn -0.000002 0.903894 -0.427757
+vn 0.423720 0.812060 -0.401274
+vn -0.000001 0.958942 -0.283603
+vn 0.435295 0.858344 -0.271595
+vn 0.423720 0.812060 -0.401274
+vn 0.913882 0.334169 -0.230543
+vn 0.435295 0.858344 -0.271595
+vn 0.915487 0.363487 -0.172515
+vn 0.995169 -0.044543 -0.087493
+vn 0.996150 -0.027641 -0.083193
+vn 0.913882 0.334169 -0.230543
+vn 0.915487 0.363487 -0.172515
+vn -0.907854 -0.417596 0.037615
+vn -0.912389 -0.409322 -0.001580
+vn -0.460644 -0.868244 0.184280
+vn -0.474292 -0.874234 0.103743
+vn -0.460644 -0.868244 0.184280
+vn -0.474292 -0.874234 0.103743
+vn 0.000000 -0.975400 0.220441
+vn -0.000001 -0.990837 0.135063
+vn -0.907854 -0.417596 0.037615
+vn -0.995169 -0.044543 -0.087493
+vn -0.912389 -0.409322 -0.001580
+vn -0.996150 -0.027641 -0.083193
+vn -0.000002 0.903894 -0.427757
+vn -0.000001 0.958942 -0.283603
+vn -0.423721 0.812060 -0.401273
+vn -0.435299 0.858342 -0.271595
+vn -0.423721 0.812060 -0.401273
+vn -0.435299 0.858342 -0.271595
+vn -0.913882 0.334169 -0.230543
+vn -0.915486 0.363488 -0.172516
+vn -0.995169 -0.044543 -0.087493
+vn -0.913882 0.334169 -0.230543
+vn -0.996150 -0.027641 -0.083193
+vn -0.915486 0.363488 -0.172516
+vn 0.912389 -0.409322 -0.001580
+vn 0.474290 -0.874235 0.103743
+vn 0.913128 -0.402597 -0.064139
+vn 0.492209 -0.869811 -0.034048
+vn 0.474290 -0.874235 0.103743
+vn -0.000001 -0.990837 0.135063
+vn 0.492209 -0.869811 -0.034048
+vn 0.000000 -0.999725 -0.023460
+vn 0.912389 -0.409322 -0.001580
+vn 0.913128 -0.402597 -0.064139
+vn 0.996150 -0.027641 -0.083193
+vn 0.995901 -0.016645 -0.088909
+vn -0.000001 0.958942 -0.283603
+vn 0.435295 0.858344 -0.271595
+vn -0.000004 0.982932 -0.183971
+vn 0.433637 0.883884 -0.175238
+vn 0.435295 0.858344 -0.271595
+vn 0.915487 0.363487 -0.172515
+vn 0.433637 0.883884 -0.175238
+vn 0.914275 0.383541 -0.130378
+vn 0.996150 -0.027641 -0.083193
+vn 0.995901 -0.016645 -0.088909
+vn 0.915487 0.363487 -0.172515
+vn 0.914275 0.383541 -0.130378
+vn -0.912389 -0.409322 -0.001580
+vn -0.913128 -0.402597 -0.064139
+vn -0.474292 -0.874234 0.103743
+vn -0.492210 -0.869811 -0.034048
+vn -0.474292 -0.874234 0.103743
+vn -0.492210 -0.869811 -0.034048
+vn -0.000001 -0.990837 0.135063
+vn 0.000000 -0.999725 -0.023460
+vn -0.912389 -0.409322 -0.001580
+vn -0.996150 -0.027641 -0.083193
+vn -0.913128 -0.402597 -0.064139
+vn -0.995901 -0.016645 -0.088910
+vn -0.000001 0.958942 -0.283603
+vn -0.000004 0.982932 -0.183971
+vn -0.435299 0.858342 -0.271595
+vn -0.433637 0.883884 -0.175238
+vn -0.435299 0.858342 -0.271595
+vn -0.433637 0.883884 -0.175238
+vn -0.915486 0.363488 -0.172516
+vn -0.914274 0.383542 -0.130378
+vn -0.996150 -0.027641 -0.083193
+vn -0.915486 0.363488 -0.172516
+vn -0.995901 -0.016645 -0.088910
+vn -0.914274 0.383542 -0.130378
+vn 0.492209 -0.869811 -0.034048
+vn 0.491476 -0.840697 -0.227331
+vn 0.913128 -0.402597 -0.064139
+vn 0.904228 -0.390867 -0.172033
+vn 0.000000 -0.999725 -0.023460
+vn 0.000000 -0.970457 -0.241275
+vn 0.492209 -0.869811 -0.034048
+vn 0.491476 -0.840697 -0.227331
+vn 0.913128 -0.402597 -0.064139
+vn 0.904228 -0.390867 -0.172033
+vn 0.995901 -0.016645 -0.088909
+vn 0.991123 0.011705 -0.132435
+vn -0.000004 0.982932 -0.183971
+vn 0.433637 0.883884 -0.175238
+vn -0.000006 0.992882 -0.119100
+vn 0.332771 0.936459 -0.110946
+vn 0.914275 0.383541 -0.130378
+vn 0.866522 0.482012 -0.129631
+vn 0.433637 0.883884 -0.175238
+vn 0.332771 0.936459 -0.110946
+vn 0.995901 -0.016645 -0.088909
+vn 0.991123 0.011705 -0.132435
+vn 0.914275 0.383541 -0.130378
+vn 0.866522 0.482012 -0.129631
+vn -0.492210 -0.869811 -0.034048
+vn -0.913128 -0.402597 -0.064139
+vn -0.491477 -0.840697 -0.227331
+vn -0.904228 -0.390867 -0.172033
+vn 0.000000 -0.999725 -0.023460
+vn -0.492210 -0.869811 -0.034048
+vn 0.000000 -0.970457 -0.241275
+vn -0.491477 -0.840697 -0.227331
+vn -0.913128 -0.402597 -0.064139
+vn -0.995901 -0.016645 -0.088910
+vn -0.904228 -0.390867 -0.172033
+vn -0.991123 0.011705 -0.132435
+vn -0.000004 0.982932 -0.183971
+vn -0.000006 0.992882 -0.119100
+vn -0.433637 0.883884 -0.175238
+vn -0.332773 0.936458 -0.110945
+vn -0.914274 0.383542 -0.130378
+vn -0.433637 0.883884 -0.175238
+vn -0.866521 0.482013 -0.129630
+vn -0.332773 0.936458 -0.110945
+vn -0.995901 -0.016645 -0.088910
+vn -0.914274 0.383542 -0.130378
+vn -0.991123 0.011705 -0.132435
+vn -0.866521 0.482013 -0.129630
+vn 0.000000 -0.970457 -0.241275
+vn 0.000000 -0.927112 -0.374785
+vn 0.491476 -0.840697 -0.227331
+vn 0.496056 -0.791037 -0.358035
+vn 0.491476 -0.840697 -0.227331
+vn 0.496056 -0.791037 -0.358035
+vn 0.904228 -0.390867 -0.172033
+vn 0.900588 -0.354258 -0.251879
+vn 0.904228 -0.390867 -0.172033
+vn 0.900588 -0.354258 -0.251879
+vn 0.991123 0.011705 -0.132435
+vn 0.980090 0.078346 -0.182443
+vn -0.000006 0.992882 -0.119100
+vn 0.332771 0.936459 -0.110946
+vn -0.332773 0.936458 -0.110945
+vn 0.000000 0.995193 -0.097937
+vn 0.991123 0.011705 -0.132435
+vn 0.980090 0.078346 -0.182443
+vn 0.866522 0.482012 -0.129631
+vn 0.745587 0.654342 -0.126240
+vn 0.332771 0.936459 -0.110946
+vn 0.866522 0.482012 -0.129631
+vn 0.000000 0.995193 -0.097937
+vn 0.745587 0.654342 -0.126240
+vn 0.000000 -0.970457 -0.241275
+vn -0.491477 -0.840697 -0.227331
+vn 0.000000 -0.927112 -0.374785
+vn -0.496057 -0.791037 -0.358035
+vn -0.491477 -0.840697 -0.227331
+vn -0.904228 -0.390867 -0.172033
+vn -0.496057 -0.791037 -0.358035
+vn -0.900589 -0.354255 -0.251878
+vn -0.904228 -0.390867 -0.172033
+vn -0.991123 0.011705 -0.132435
+vn -0.900589 -0.354255 -0.251878
+vn -0.980090 0.078346 -0.182443
+vn -0.991123 0.011705 -0.132435
+vn -0.866521 0.482013 -0.129630
+vn -0.980090 0.078346 -0.182443
+vn -0.745585 0.654345 -0.126239
+vn -0.332773 0.936458 -0.110945
+vn 0.000000 0.995193 -0.097937
+vn -0.866521 0.482013 -0.129630
+vn -0.745585 0.654345 -0.126239
+vn 0.000000 -0.927112 -0.374785
+vn 0.000000 -0.879437 -0.476016
+vn 0.496056 -0.791037 -0.358035
+vn 0.491354 -0.624034 -0.607580
+vn 0.900588 -0.354258 -0.251879
+vn 0.496056 -0.791037 -0.358035
+vn 0.871839 -0.342007 -0.350610
+vn 0.491354 -0.624034 -0.607580
+vn 0.900588 -0.354258 -0.251879
+vn 0.871839 -0.342007 -0.350610
+vn 0.980090 0.078346 -0.182443
+vn 0.891804 0.200530 -0.405553
+vn 0.745587 0.654342 -0.126240
+vn 0.980090 0.078346 -0.182443
+vn 0.692547 0.700998 -0.170236
+vn 0.891804 0.200530 -0.405553
+vn 0.745587 0.654342 -0.126240
+vn 0.692547 0.700998 -0.170236
+vn 0.000000 0.995193 -0.097937
+vn -0.000003 0.956366 -0.292171
+vn 0.000000 -0.927112 -0.374785
+vn -0.496057 -0.791037 -0.358035
+vn 0.000000 -0.879437 -0.476016
+vn -0.491354 -0.624034 -0.607580
+vn -0.900589 -0.354255 -0.251878
+vn -0.871840 -0.342006 -0.350609
+vn -0.496057 -0.791037 -0.358035
+vn -0.491354 -0.624034 -0.607580
+vn -0.900589 -0.354255 -0.251878
+vn -0.980090 0.078346 -0.182443
+vn -0.871840 -0.342006 -0.350609
+vn -0.891804 0.200535 -0.405551
+vn -0.745585 0.654345 -0.126239
+vn -0.692548 0.700997 -0.170236
+vn -0.980090 0.078346 -0.182443
+vn -0.891804 0.200535 -0.405551
+vn -0.745585 0.654345 -0.126239
+vn 0.000000 0.995193 -0.097937
+vn -0.692548 0.700997 -0.170236
+vn -0.000003 0.956366 -0.292171
+vn 0.000000 -0.879437 -0.476016
+vn -0.491354 -0.624034 -0.607580
+vn 0.491354 -0.624034 -0.607580
+vn -0.000002 0.297076 -0.954854
+vn 0.871839 -0.342007 -0.350610
+vn 0.491354 -0.624034 -0.607580
+vn 0.891804 0.200530 -0.405553
+vn -0.000002 0.297076 -0.954854
+vn 0.692547 0.700998 -0.170236
+vn 0.891804 0.200530 -0.405553
+vn -0.000003 0.956366 -0.292171
+vn -0.000002 0.297076 -0.954854
+vn -0.871840 -0.342006 -0.350609
+vn -0.891804 0.200535 -0.405551
+vn -0.491354 -0.624034 -0.607580
+vn -0.000002 0.297076 -0.954854
+vn -0.692548 0.700997 -0.170236
+vn -0.000003 0.956366 -0.292171
+vn -0.891804 0.200535 -0.405551
+vn -0.000002 0.297076 -0.954854
+vn 0.842209 -0.301714 0.446826
+vn 0.490732 -0.829858 0.265551
+vn 0.443542 -0.880971 0.164807
+vn 0.443542 -0.880971 0.164807
+vn 0.428649 -0.890211 0.154219
+vn 0.842209 -0.301714 0.446826
+vn 0.428649 -0.890211 0.154219
+vn 0.557730 -0.797058 0.231595
+vn 0.842209 -0.301714 0.446826
+vn 0.557730 -0.797058 0.231595
+vn 0.339167 -0.935837 0.095790
+vn 0.842209 -0.301714 0.446826
+vn 0.840957 -0.389976 0.375113
+vn 0.591405 -0.783039 0.192587
+vn 0.507272 -0.843656 0.175839
+vn 0.621329 -0.749180 0.229523
+vn 0.591405 -0.783039 0.192587
+vn 0.840957 -0.389976 0.375113
+vn 0.356900 -0.929141 0.096533
+vn 0.621329 -0.749180 0.229523
+vn 0.840957 -0.389976 0.375113
+vn 0.884366 -0.195531 0.423869
+vn 0.848742 -0.379498 0.368265
+vn 0.888964 -0.221293 0.400965
+vn 0.840957 -0.389976 0.375113
+vn 0.877013 -0.196902 0.438267
+vn 0.884366 -0.195531 0.423869
+vn 0.888964 -0.221293 0.400965
+vn 0.840957 -0.389976 0.375113
+vn 0.848742 -0.379498 0.368265
+vn 0.356900 -0.929141 0.096533
+vn 0.356900 -0.929141 0.096533
+vn 0.848742 -0.379498 0.368265
+vn 0.493956 -0.855310 0.156371
+vn 0.493956 -0.855310 0.156371
+vn 0.848742 -0.379498 0.368265
+vn 0.578108 -0.792663 0.193589
+vn 0.848742 -0.379498 0.368265
+vn 0.842209 -0.301714 0.446826
+vn 0.339167 -0.935837 0.095790
+vn 0.848742 -0.379498 0.368265
+vn 0.339167 -0.935837 0.095790
+vn 0.578108 -0.792663 0.193589
+vn 0.889527 -0.230052 0.394737
+vn 0.808135 -0.482080 0.338403
+vn 0.904702 -0.187571 0.382534
+vn 0.756582 -0.562955 0.332663
+vn 0.906734 -0.173320 0.384439
+vn 0.889527 -0.230052 0.394737
+vn 0.904702 -0.187571 0.382534
+vn 0.840957 -0.389976 0.375113
+vn 0.507272 -0.843656 0.175839
+vn 0.573839 -0.786285 0.229052
+vn 0.840957 -0.389976 0.375113
+vn 0.573839 -0.786285 0.229052
+vn 0.604403 -0.765261 0.221524
+vn 0.604403 -0.765261 0.221524
+vn 0.509438 -0.842490 0.175167
+vn 0.840957 -0.389976 0.375113
+vn 0.840957 -0.389976 0.375113
+vn 0.509438 -0.842490 0.175167
+vn 0.808135 -0.482080 0.338403
+vn 0.393877 -0.908493 0.139646
+vn 0.808135 -0.482080 0.338403
+vn 0.393877 -0.908493 0.139646
+vn 0.456586 -0.873470 0.169053
+vn 0.808135 -0.482080 0.338403
+vn 0.456586 -0.873470 0.169053
+vn 0.492928 -0.853353 0.169739
+vn 0.808135 -0.482080 0.338403
+vn 0.492928 -0.853353 0.169739
+vn 0.448239 -0.883399 0.136706
+vn 0.380276 -0.916433 0.124661
+vn 0.756582 -0.562955 0.332663
+vn 0.448239 -0.883399 0.136706
+vn 0.808135 -0.482080 0.338403
+vn 0.901984 0.166143 0.398523
+vn 0.943025 0.227116 0.243152
+vn 0.871800 0.401035 0.281311
+vn 0.943025 0.227116 0.243152
+vn 0.938020 0.310128 0.154725
+vn 0.871800 0.401035 0.281311
+vn 0.897836 0.410845 0.158418
+vn 0.900319 0.412764 0.138031
+vn 0.897836 0.410845 0.158418
+vn 0.938020 0.310128 0.154725
+vn 0.927249 0.361041 -0.099292
+vn 0.900319 0.412764 0.138031
+vn 0.927249 0.361041 -0.099292
+vn 0.938020 0.310128 0.154725
+vn 0.979816 0.137442 0.145153
+vn 0.380083 -0.923425 0.053136
+vn 0.689265 -0.722296 0.056597
+vn 0.216646 -0.975836 -0.028430
+vn 0.544476 0.250647 -0.800451
+vn 0.647946 -0.090056 -0.756344
+vn 0.743929 0.166526 -0.647178
+vn 0.737624 -0.092157 -0.668893
+s off
+g pSphere3
+usemtl lambert2SG
+f 1/1/1 2/2/2 3/3/3
+s 1
+f 4/4/4 2/2/5 5/5/6
+f 5/5/6 2/2/5 1/1/7
+s 2
+f 2/2/8 6/6/9 3/3/10
+f 3/3/10 6/6/9 7/7/11
+s 3
+f 8/8/12 6/6/13 4/4/14
+f 4/4/14 6/6/13 2/2/15
+s 4
+f 13/9/16 8/8/17 14/10/18
+f 14/10/18 8/8/17 4/4/19
+s 5
+f 9/13/20 6/6/21 16/12/22
+f 15/11/23 16/12/22 8/8/24
+f 6/6/21 8/8/24 16/12/22
+s 6
+f 13/9/25 21/14/26 8/8/27
+f 8/8/27 21/14/26 15/11/28
+s 7
+f 7/7/29 6/6/30 10/15/31
+f 10/15/31 6/6/30 9/13/32
+s 8
+f 3/3/33 7/7/34 12/17/35
+f 12/17/35 7/7/34 11/16/36
+s 9
+f 7/7/37 10/15/38 11/16/39
+f 11/16/39 10/15/38 17/18/40
+s 10
+f 19/20/41 10/15/42 18/19/43
+f 10/15/42 9/13/44 18/19/43
+f 18/19/43 9/13/44 20/21/45
+s 11
+f 10/15/46 19/20/47 17/18/48
+f 17/18/48 19/20/47 22/22/49
+s off
+f 19/20/50 18/19/51 23/23/52
+s 12
+f 22/22/53 19/20/54 24/24/55
+f 24/24/55 19/20/54 23/23/56
+s off
+f 9/13/57 16/12/58 20/21/59
+s 13
+f 25/25/60 26/26/61 28/28/62
+f 28/28/62 26/26/61 27/27/63
+s 14
+f 30/29/64 26/26/65 31/30/66
+f 31/30/66 26/26/65 25/25/67
+s 15
+f 26/26/68 32/31/69 27/27/70
+f 27/27/70 32/31/69 33/32/71
+s 16
+f 30/29/72 36/33/73 26/26/74
+f 26/26/74 36/33/73 32/31/75
+s 17
+f 37/34/76 33/32/77 39/36/78
+f 33/32/77 32/31/79 39/36/78
+f 32/31/79 38/35/80 39/36/78
+s 18
+f 27/37/81 33/38/82 41/40/83
+f 41/40/83 33/38/82 40/39/84
+s 19
+f 43/41/85 36/33/86 44/42/87
+f 44/42/87 36/33/86 30/29/88
+s 20
+f 36/33/89 45/43/90 32/31/91
+f 32/31/91 45/43/90 38/35/92
+s off
+f 40/44/93 33/32/94 37/34/95
+s 21
+f 52/46/96 45/43/97 51/45/98
+f 51/45/98 45/43/97 43/41/99
+f 36/33/100 43/41/99 45/43/97
+s 22
+f 38/35/101 45/43/102 53/47/103
+f 53/47/103 45/43/102 55/49/104
+f 45/43/102 54/48/105 55/49/104
+s 23
+f 45/43/106 52/46/107 54/48/108
+f 70/51/109 54/48/108 68/50/110
+f 54/48/108 52/46/107 68/50/110
+s 24
+f 53/47/111 57/52/112 38/35/113
+f 38/35/113 57/52/112 39/36/114
+s 25
+f 35/57/115 31/53/116 29/56/117
+f 31/53/116 25/54/118 29/56/117
+f 25/54/118 28/55/119 29/56/117
+s off
+f 28/55/120 27/58/121 34/59/122
+f 35/57/123 30/60/124 31/53/125
+s 26
+f 28/55/126 34/59/127 29/56/128
+f 29/56/128 34/59/127 50/61/129
+s 27
+f 35/57/130 42/62/131 30/60/132
+f 30/60/132 42/62/131 44/63/133
+s 28
+f 37/65/134 39/66/135 46/64/136
+f 46/64/136 39/66/135 47/67/137
+s off
+f 40/44/138 49/68/139 41/69/140
+s 29
+f 49/71/141 34/59/142 41/70/143
+f 41/70/143 34/59/142 27/58/144
+s 30
+f 51/72/145 43/73/146 42/62/147
+f 42/62/147 43/73/146 44/63/148
+s 31
+f 47/75/149 56/76/150 46/74/151
+f 46/74/151 56/76/150 64/77/152
+s 32
+f 37/34/153 46/74/154 40/44/155
+f 49/68/156 40/44/155 48/78/157
+f 46/74/154 48/78/157 40/44/155
+s off
+f 57/79/158 47/67/159 39/66/160
+s 33
+f 34/59/161 49/71/162 50/61/163
+f 50/61/163 49/71/162 48/80/164
+s 34
+f 50/61/165 58/81/166 29/56/167
+f 29/56/167 58/81/166 59/82/168
+s 35
+f 29/84/169 59/85/170 35/83/171
+f 35/83/171 59/85/170 60/86/172
+s 36
+f 35/83/173 60/86/174 42/87/175
+f 42/87/175 60/86/174 66/88/176
+s 37
+f 42/62/177 61/89/178 51/72/179
+f 51/72/179 61/89/178 52/90/180
+s off
+f 68/91/181 52/90/182 61/89/183
+s 38
+f 47/67/184 53/93/185 62/92/186
+f 62/92/186 53/93/185 55/94/187
+s 39
+f 47/75/188 62/95/189 56/76/190
+f 56/76/190 62/95/189 74/96/191
+s 40
+f 46/74/192 64/77/193 48/78/194
+f 48/78/194 64/77/193 76/97/195
+s off
+f 53/93/196 47/67/197 57/79/198
+s 41
+f 58/81/199 50/61/200 65/98/201
+f 65/98/201 50/61/200 77/99/202
+s 42
+f 61/101/203 42/87/204 67/100/205
+f 67/100/205 42/87/204 66/88/206
+s 43
+f 69/103/207 62/92/208 63/102/209
+f 63/102/209 62/92/208 55/94/210
+s off
+f 69/103/211 63/102/212 73/104/213
+s 44
+f 56/76/214 75/105/215 64/77/216
+f 64/77/216 75/105/215 86/106/217
+s 45
+f 50/108/218 48/78/219 77/107/220
+f 77/107/220 48/78/219 76/97/221
+s 46
+f 65/110/222 78/111/223 58/109/224
+f 58/109/224 78/111/223 79/112/225
+s 47
+f 58/109/226 79/112/227 59/85/228
+f 59/85/228 79/112/227 80/113/229
+s 48
+f 59/85/230 80/113/231 60/86/232
+f 60/86/232 80/113/231 87/114/233
+s 49
+f 66/88/234 60/86/235 81/115/236
+f 81/115/236 60/86/235 87/114/237
+s 50
+f 67/100/238 82/116/239 61/101/240
+f 61/101/240 82/116/239 90/117/241
+s 51
+f 62/95/242 69/118/243 74/96/244
+f 74/96/244 69/118/243 92/119/245
+s off
+f 71/120/246 84/121/247 72/122/248
+f 72/123/249 84/124/250 69/103/251
+s 52
+f 74/96/252 85/125/253 56/76/254
+f 56/76/254 85/125/253 75/105/255
+s 53
+f 64/77/256 86/106/257 76/97/258
+f 76/97/258 86/106/257 95/126/259
+s 54
+f 65/110/260 77/107/261 78/111/262
+f 78/111/262 77/107/261 96/127/263
+s 55
+f 81/115/264 88/128/265 66/88/266
+f 66/88/266 88/128/265 67/100/267
+s 56
+f 82/116/268 67/100/269 89/129/270
+f 89/129/270 67/100/269 88/128/271
+s 57
+f 61/89/272 91/130/273 68/91/274
+f 68/91/274 91/130/273 83/131/275
+s 58
+f 83/132/276 91/133/277 71/135/278
+f 71/135/278 91/133/277 84/134/279
+s 59
+f 69/118/280 84/121/281 92/119/282
+f 92/119/282 84/121/281 102/136/283
+s 60
+f 74/96/284 92/119/285 85/125/286
+f 85/125/286 92/119/285 103/137/287
+s 61
+f 85/139/288 93/140/289 75/138/290
+f 75/138/290 93/140/289 94/141/291
+s 62
+f 75/105/292 94/142/293 86/106/294
+f 86/106/294 94/142/293 105/143/295
+s 63
+f 77/107/296 76/97/297 96/127/298
+f 96/127/298 76/97/297 95/126/299
+s 64
+f 78/111/300 97/144/301 79/112/302
+f 79/112/302 97/144/301 98/145/303
+s 65
+f 79/112/304 98/145/305 80/113/306
+f 80/113/306 98/145/305 99/146/307
+s 66
+f 80/113/308 99/146/309 87/114/310
+f 87/114/310 99/146/309 106/147/311
+s 67
+f 88/128/312 81/115/313 100/148/314
+f 100/148/314 81/115/313 101/149/315
+s 68
+f 81/115/316 87/114/317 101/149/318
+f 101/149/318 87/114/317 106/147/319
+s 69
+f 82/116/320 89/129/321 90/117/322
+f 90/117/322 89/129/321 108/150/323
+s 70
+f 61/101/324 90/117/325 91/151/326
+f 91/151/326 90/117/325 109/152/327
+s 71
+f 84/121/328 91/151/329 102/136/330
+f 102/136/330 91/151/329 109/152/331
+s 72
+f 93/140/332 85/139/333 104/153/334
+f 104/153/334 85/139/333 110/154/335
+s 73
+f 86/106/336 105/143/337 95/126/338
+f 95/126/338 105/143/337 114/155/339
+s 74
+f 78/111/340 96/127/341 97/144/342
+f 97/144/342 96/127/341 115/156/343
+s 75
+f 100/148/344 107/157/345 88/128/346
+f 88/128/346 107/157/345 89/129/347
+s 76
+f 92/119/348 102/136/349 103/137/350
+f 103/137/350 102/136/349 119/158/351
+s 77
+f 85/125/352 103/137/353 110/159/354
+f 110/159/354 103/137/353 120/160/355
+s 78
+f 104/162/356 111/163/357 93/161/358
+f 93/161/358 111/163/357 112/164/359
+s 79
+f 93/140/360 112/165/361 94/141/362
+f 94/141/362 112/165/361 113/166/363
+s 80
+f 94/142/364 113/167/365 105/143/366
+f 105/143/366 113/167/365 122/168/367
+s 81
+f 96/127/368 95/126/369 115/156/370
+f 115/156/370 95/126/369 114/155/371
+s 82
+f 97/144/372 116/169/373 98/145/374
+f 98/145/374 116/169/373 117/170/375
+s 83
+f 98/145/376 117/170/377 99/146/378
+f 99/146/378 117/170/377 106/147/379
+s 84
+f 100/148/380 117/170/381 107/157/382
+f 107/157/382 117/170/381 124/171/383
+s 85
+f 100/148/384 101/149/385 117/170/386
+f 117/170/386 101/149/385 106/147/387
+s 86
+f 107/157/388 118/172/389 89/129/390
+f 89/129/390 118/172/389 108/150/391
+s 87
+f 90/117/392 108/150/393 109/152/394
+f 109/152/394 108/150/393 125/173/395
+s 88
+f 102/136/396 109/152/397 119/158/398
+f 119/158/398 109/152/397 125/173/399
+s 89
+f 110/159/400 121/174/401 104/162/402
+f 104/162/402 121/174/401 111/163/403
+s 90
+f 105/143/404 122/168/405 114/155/406
+f 114/155/406 122/168/405 130/175/407
+s 91
+f 115/156/408 123/176/409 97/144/410
+f 97/144/410 123/176/409 116/169/411
+s 92
+f 107/157/412 124/171/413 118/172/414
+f 118/172/414 124/171/413 134/177/415
+s 93
+f 108/150/416 118/172/417 125/173/418
+f 125/173/418 118/172/417 135/178/419
+s 94
+f 103/180/420 119/181/421 120/179/422
+f 120/179/422 119/181/421 136/182/423
+s 95
+f 120/160/424 126/183/425 110/159/426
+f 110/159/426 126/183/425 121/174/427
+s 96
+f 111/163/428 121/174/429 127/184/430
+f 127/184/430 121/174/429 138/185/431
+s 97
+f 111/163/432 127/184/433 112/164/434
+f 112/164/434 127/184/433 128/186/435
+s 98
+f 112/164/436 128/186/437 113/167/438
+f 113/167/438 128/186/437 129/187/439
+s 99
+f 113/167/440 129/187/441 122/168/442
+f 122/168/442 129/187/441 139/188/443
+s 100
+f 115/156/444 114/155/445 123/176/446
+f 123/176/446 114/155/445 130/175/447
+s 101
+f 123/176/448 131/189/449 116/169/450
+f 116/169/450 131/189/449 132/190/451
+s 102
+f 116/169/452 132/190/453 117/170/454
+f 117/170/454 132/190/453 133/191/455
+s 103
+f 117/170/456 133/191/457 124/171/458
+f 124/171/458 133/191/457 142/192/459
+s 104
+f 119/158/460 125/173/461 136/193/462
+f 136/193/462 125/173/461 135/178/463
+s 105
+f 120/160/464 136/193/465 126/183/466
+f 126/183/466 136/193/465 143/194/467
+s 106
+f 126/183/468 137/195/469 121/174/470
+f 121/174/470 137/195/469 138/185/471
+s 107
+f 122/168/472 140/196/473 130/175/474
+f 130/175/474 140/196/473 148/197/475
+s 108
+f 131/189/476 123/176/477 141/198/478
+f 141/198/478 123/176/477 149/199/479
+s 109
+f 124/171/480 142/192/481 134/177/482
+f 134/177/482 142/192/481 154/200/483
+s 110
+f 118/172/484 134/177/485 135/178/486
+f 135/178/486 134/177/485 155/201/487
+s 111
+f 137/195/488 126/183/489 144/202/490
+f 144/202/490 126/183/489 143/194/491
+s 112
+f 127/184/492 138/185/493 145/203/494
+f 145/203/494 138/185/493 156/204/495
+s 113
+f 127/184/496 145/203/497 128/186/498
+f 128/186/498 145/203/497 146/205/499
+s 114
+f 128/186/500 146/205/501 129/187/502
+f 129/187/502 146/205/501 139/188/503
+s 115
+f 139/188/504 147/206/505 122/168/506
+f 122/168/506 147/206/505 140/196/507
+s 116
+f 123/176/508 130/175/509 149/199/510
+f 149/199/510 130/175/509 148/197/511
+s 117
+f 141/198/512 150/207/513 131/189/514
+f 131/189/514 150/207/513 151/208/515
+s 118
+f 131/189/516 151/208/517 132/190/518
+f 132/190/518 151/208/517 152/209/519
+s 119
+f 132/190/520 152/209/521 133/191/522
+f 133/191/522 152/209/521 162/210/523
+s 120
+f 142/192/524 133/191/525 153/211/526
+f 153/211/526 133/191/525 162/210/527
+s 121
+f 136/193/528 135/178/529 143/194/530
+f 143/194/530 135/178/529 155/201/531
+s 122
+f 144/202/532 156/204/533 137/195/534
+f 137/195/534 156/204/533 138/185/535
+s 123
+f 147/206/536 139/188/537 157/212/538
+f 157/212/538 139/188/537 146/205/539
+s 124
+f 140/214/540 147/215/541 158/213/542
+f 158/213/542 147/215/541 168/216/543
+s 125
+f 148/197/544 140/196/545 159/217/546
+f 159/217/546 140/196/545 158/218/547
+s 126
+f 150/207/548 141/198/549 160/219/550
+f 160/219/550 141/198/549 161/220/551
+s 127
+f 141/198/552 149/199/553 161/220/554
+f 161/220/554 149/199/553 170/221/555
+s 128
+f 153/211/556 163/222/557 142/192/558
+f 142/192/558 163/222/557 154/200/559
+s 129
+f 154/200/560 164/223/561 134/177/562
+f 134/177/562 164/223/561 155/201/563
+s 130
+f 144/202/564 143/194/565 165/224/566
+f 165/224/566 143/194/565 178/225/567
+s 131
+f 156/204/568 144/202/569 166/226/570
+f 166/226/570 144/202/569 165/224/571
+s 132
+f 145/203/572 156/204/573 167/227/574
+f 167/227/574 156/204/573 179/228/575
+s 133
+f 146/205/576 145/203/577 157/212/578
+f 157/212/578 145/203/577 167/227/579
+s 134
+f 147/206/580 157/212/581 168/229/582
+f 168/229/582 157/212/581 180/230/583
+s 135
+f 148/197/584 159/217/585 169/231/586
+f 169/231/586 159/217/585 183/232/587
+s 136
+f 149/199/588 148/197/589 170/221/590
+f 170/221/590 148/197/589 169/231/591
+s 137
+f 160/219/592 171/233/593 150/207/594
+f 150/207/594 171/233/593 185/234/595
+s 138
+f 151/208/596 150/207/597 172/235/598
+f 172/235/598 150/207/597 185/234/599
+s 139
+f 151/208/600 173/236/601 152/209/602
+f 152/209/602 173/236/601 174/237/603
+s 140
+f 152/209/604 174/237/605 162/210/606
+f 162/210/606 174/237/605 188/238/607
+s 141
+f 153/211/608 162/210/609 175/239/610
+f 175/239/610 162/210/609 189/240/611
+s 142
+f 163/222/612 153/211/613 176/241/614
+f 176/241/614 153/211/613 175/239/615
+s 143
+f 164/223/616 154/200/617 177/242/618
+f 177/242/618 154/200/617 163/222/619
+s 144
+f 143/194/620 155/201/621 178/225/622
+f 178/225/622 155/201/621 164/223/623
+s 145
+f 156/204/624 166/226/625 179/228/626
+f 179/228/626 166/226/625 192/243/627
+s 146
+f 158/213/628 181/245/629 159/244/630
+f 159/244/630 181/245/629 196/246/631
+s 147
+f 158/213/632 168/216/633 182/247/634
+f 182/247/634 168/216/633 194/248/635
+s 148
+f 4235/250/636 4236/251/637 184/249/638
+f 184/249/638 4236/251/637 200/252/639
+s 149
+f 161/220/640 186/253/641 160/219/642
+f 160/219/642 186/253/641 201/254/643
+s off
+f 151/208/644 172/235/645 187/255/646
+s 150
+f 161/220/647 170/221/648 186/253/649
+f 186/253/649 170/221/648 197/256/650
+s 151
+f 151/208/651 187/255/652 173/236/653
+f 173/236/653 187/255/652 204/257/654
+s 152
+f 176/241/655 190/258/656 163/222/657
+f 163/222/657 190/258/656 177/242/658
+s 153
+f 177/242/659 191/259/660 164/223/661
+f 164/223/661 191/259/660 178/225/662
+s 154
+f 165/224/663 178/225/664 166/226/665
+f 166/226/665 178/225/664 191/259/666
+s 155
+f 167/227/667 179/228/668 193/260/669
+f 193/260/669 179/228/668 211/261/670
+s 156
+f 157/212/671 167/227/672 180/230/673
+f 180/230/673 167/227/672 193/260/674
+s 157
+f 168/216/675 180/262/676 194/248/677
+f 194/248/677 180/262/676 212/263/678
+s 158
+f 158/213/679 195/264/680 181/245/681
+f 181/245/681 195/264/680 213/265/682
+s 159
+f 158/213/683 182/247/684 195/264/685
+f 195/264/685 182/247/684 215/266/686
+s 160
+f 170/221/687 169/231/688 197/256/689
+f 197/256/689 169/231/688 198/267/690
+s 161
+f 169/269/691 183/270/692 198/268/693
+f 198/268/693 183/270/692 216/271/694
+s 162
+f 159/244/695 196/246/696 183/270/697
+f 183/270/697 196/246/696 217/272/698
+s 163
+f 172/274/699 202/275/700 187/273/701
+f 187/273/701 202/275/700 222/276/702
+s 164
+f 185/277/703 203/278/704 172/274/705
+f 172/274/705 203/278/704 202/275/706
+s 165
+f 174/237/707 173/236/708 205/279/709
+f 205/279/709 173/236/708 226/280/710
+s 166
+f 174/237/711 205/279/712 188/238/713
+f 188/238/713 205/279/712 227/281/714
+s 167
+f 162/210/715 188/238/716 189/240/717
+f 189/240/717 188/238/716 228/282/718
+s 168
+f 189/240/719 206/283/720 175/239/721
+f 175/239/721 206/283/720 230/284/722
+s 169
+f 176/241/723 175/239/724 207/285/725
+f 207/285/725 175/239/724 230/284/726
+s 170
+f 190/258/727 176/241/728 208/286/729
+f 208/286/729 176/241/728 207/285/730
+s 171
+f 191/259/731 177/242/732 209/287/733
+f 209/287/733 177/242/732 190/258/734
+s 172
+f 166/226/735 191/259/736 192/243/737
+f 192/243/737 191/259/736 209/287/738
+s 173
+f 192/243/739 210/288/740 179/228/741
+f 179/228/741 210/288/740 211/261/742
+s 174
+f 196/246/743 181/245/744 214/289/745
+f 214/289/745 181/245/744 235/290/746
+s 175
+f 194/248/747 212/263/748 182/247/749
+f 182/247/749 212/263/748 237/291/750
+s 176
+f 4233/293/751 4234/294/752 219/292/753
+f 219/292/753 4234/294/752 241/295/754
+s 177
+f 4236/251/755 201/254/756 200/252/757
+f 200/252/757 201/254/756 242/296/758
+s 178
+f 220/297/759 185/277/760 244/299/761
+f 244/299/761 185/277/760 171/298/762
+s 179
+f 186/253/763 221/300/764 201/254/765
+f 201/254/765 221/300/764 245/301/766
+s off
+f 187/302/767 222/303/768 225/304/769
+s 180
+f 185/277/770 223/305/771 203/278/772
+f 203/278/772 223/305/771 248/306/773
+s 181
+f 197/256/774 224/307/775 186/253/776
+f 186/253/776 224/307/775 221/300/777
+s off
+f 204/308/778 187/302/779 225/304/780
+f 173/236/781 204/257/782 226/280/783
+s 182
+f 206/283/784 189/240/785 229/309/786
+f 229/309/786 189/240/785 228/282/787
+s 183
+f 190/258/788 208/286/789 231/310/790
+f 231/310/790 208/286/789 256/311/791
+s 184
+f 190/258/792 231/310/793 209/287/794
+f 209/287/794 231/310/793 232/312/795
+s 185
+f 210/288/796 192/243/797 232/312/798
+f 232/312/798 192/243/797 209/287/799
+s 186
+f 193/314/800 211/315/801 233/313/802
+f 233/313/802 211/315/801 259/316/803
+s 187
+f 180/262/804 193/314/805 212/263/806
+f 212/263/806 193/314/805 233/313/807
+s 188
+f 195/264/808 234/317/809 213/265/810
+f 213/265/810 234/317/809 260/318/811
+s 189
+f 181/245/812 213/265/813 235/290/814
+f 235/290/814 213/265/813 261/319/815
+s 190
+f 214/289/816 236/320/817 196/246/818
+f 196/246/818 236/320/817 217/272/819
+s 191
+f 195/264/820 215/266/821 234/317/822
+f 234/317/822 215/266/821 264/321/823
+s 192
+f 182/247/824 237/291/825 215/266/826
+f 215/266/826 237/291/825 264/321/827
+s 193
+f 197/256/828 198/267/829 224/307/830
+f 224/307/830 198/267/829 265/322/831
+s 194
+f 198/268/832 216/271/833 238/323/834
+f 238/323/834 216/271/833 266/324/835
+s 195
+f 183/270/836 217/272/837 216/271/838
+f 216/271/838 217/272/837 267/325/839
+s 196
+f 199/326/840 240/327/841 171/298/842
+f 171/298/842 240/327/841 271/328/843
+s off
+f 243/329/844 185/277/845 220/297/846
+f 244/299/847 171/298/848 271/328/849
+s 197
+f 203/278/850 246/330/851 202/275/852
+f 202/275/852 246/330/851 222/276/853
+s off
+f 223/305/854 185/277/855 247/331/856
+s 198
+f 205/279/857 226/280/858 249/332/859
+f 249/332/859 226/280/858 281/333/860
+s 199
+f 227/281/861 205/279/862 250/334/863
+f 250/334/863 205/279/862 249/332/864
+s 200
+f 227/281/865 251/335/866 188/238/867
+f 188/238/867 251/335/866 228/282/868
+s 201
+f 229/309/869 252/336/870 206/283/871
+f 206/283/871 252/336/870 253/337/872
+s 202
+f 206/283/873 253/337/874 230/284/875
+f 230/284/875 253/337/874 286/338/876
+s 203
+f 207/285/877 230/284/878 254/339/879
+f 254/339/879 230/284/878 286/338/880
+s 204
+f 208/286/881 207/285/882 255/340/883
+f 255/340/883 207/285/882 254/339/884
+s 205
+f 232/342/885 257/343/886 210/341/887
+f 210/341/887 257/343/886 258/344/888
+s 206
+f 210/341/889 258/344/890 211/315/891
+f 211/315/891 258/344/890 259/316/892
+s 207
+f 235/346/893 262/347/894 214/345/895
+f 214/345/895 262/347/894 291/348/896
+s 208
+f 236/350/897 214/345/898 263/349/899
+f 263/349/899 214/345/898 291/348/900
+s 209
+f 212/263/901 233/313/902 237/291/903
+f 237/291/903 233/313/902 259/316/904
+s 210
+f 198/267/905 238/351/906 265/322/907
+f 265/322/907 238/351/906 294/352/908
+s 211
+f 236/320/909 268/353/910 217/272/911
+f 217/272/911 268/353/910 267/325/912
+s off
+f 240/327/913 199/326/914 298/354/915
+s 212
+f 219/292/916 241/295/917 274/355/918
+f 274/355/918 241/295/917 303/356/919
+s 213
+f 241/295/920 4234/294/921 304/357/922
+f 304/357/922 4234/294/921 242/296/923
+s 214
+f 201/254/924 245/301/925 242/296/926
+f 242/296/926 245/301/925 305/358/927
+s 215
+f 243/329/928 275/359/929 185/277/930
+f 185/277/930 275/359/929 247/331/931
+s off
+f 276/360/932 220/361/933 244/362/934
+s 216
+f 224/307/935 277/363/936 221/300/937
+f 221/300/937 277/363/936 278/364/938
+s 217
+f 221/300/939 278/364/940 245/301/941
+f 245/301/941 278/364/940 308/365/942
+s off
+f 248/306/943 246/330/944 203/278/945
+s 218
+f 246/366/946 279/367/947 222/303/948
+f 222/303/948 279/367/947 225/304/949
+s off
+f 204/308/950 225/304/951 280/368/952
+s 219
+f 250/334/953 282/369/954 227/281/955
+f 227/281/955 282/369/954 283/370/956
+s 220
+f 227/281/957 283/370/958 251/335/959
+f 251/335/959 283/370/958 315/371/960
+s 221
+f 251/335/961 284/372/962 228/282/963
+f 228/282/963 284/372/962 229/309/964
+s 222
+f 252/336/965 229/309/966 285/373/967
+f 285/373/967 229/309/966 284/372/968
+s 223
+f 208/375/969 255/376/970 256/374/971
+f 256/374/971 255/376/970 318/377/972
+s 224
+f 231/379/973 256/374/974 287/378/975
+f 287/378/975 256/374/974 320/380/976
+s 225
+f 232/342/977 231/379/978 288/381/979
+f 288/381/979 231/379/978 287/378/980
+s 226
+f 232/342/981 289/382/982 257/343/983
+f 257/343/983 289/382/982 293/383/984
+s 227
+f 213/265/985 260/318/986 261/319/987
+f 261/319/987 260/318/986 322/384/988
+s 228
+f 234/317/989 289/382/990 260/318/991
+f 260/318/991 289/382/990 321/385/992
+s 229
+f 262/347/993 235/346/994 290/386/995
+f 290/386/995 235/346/994 324/387/996
+s 230
+f 263/349/997 292/388/998 236/350/999
+f 236/350/999 292/388/998 268/389/1000
+s 231
+f 264/321/1001 293/383/1002 234/317/1003
+f 234/317/1003 293/383/1002 289/382/1004
+s 232
+f 264/321/1005 237/291/1006 293/383/1007
+f 293/383/1007 237/291/1006 257/343/1008
+s 233
+f 224/307/1009 265/322/1010 277/363/1011
+f 277/363/1011 265/322/1010 328/390/1012
+s 234
+f 238/323/1013 266/324/1014 295/391/1015
+f 295/391/1015 266/324/1014 330/392/1016
+s 235
+f 266/324/1017 216/271/1018 296/393/1019
+f 296/393/1019 216/271/1018 267/325/1020
+s 236
+f 240/395/1021 299/396/1022 271/394/1023
+f 271/394/1023 299/396/1022 307/397/1024
+s 237
+f 219/399/1025 273/400/1026 302/398/1027
+f 302/398/1027 273/400/1026 339/401/1028
+s 238
+f 219/399/1029 274/402/1030 273/400/1031
+f 273/400/1031 274/402/1030 340/403/1032
+s off
+f 244/404/1033 306/405/1034 345/406/1035
+s 239
+f 244/404/1036 271/394/1037 306/405/1038
+f 306/405/1038 271/394/1037 307/397/1039
+s 240
+f 248/306/1040 309/407/1041 246/330/1042
+f 246/330/1042 309/407/1041 279/408/1043
+s 241
+f 225/410/1044 279/408/1045 310/409/1046
+f 310/409/1046 279/408/1045 350/411/1047
+s 242
+f 225/304/1048 311/412/1049 280/368/1050
+f 280/368/1050 311/412/1049 352/413/1051
+s 243
+f 250/334/1052 249/332/1053 312/414/1054
+f 312/414/1054 249/332/1053 281/333/1055
+s 244
+f 226/280/1056 313/415/1057 281/333/1058
+f 281/333/1058 313/415/1057 354/416/1059
+s 245
+f 282/369/1060 250/334/1061 314/417/1062
+f 314/417/1062 250/334/1061 312/414/1063
+s 246
+f 251/335/1064 315/371/1065 284/372/1066
+f 284/372/1066 315/371/1065 357/418/1067
+s 247
+f 252/420/1068 285/421/1069 316/419/1070
+f 316/419/1070 285/421/1069 358/422/1071
+s 248
+f 252/420/1072 316/419/1073 253/423/1074
+f 253/423/1074 316/419/1073 317/424/1075
+s 249
+f 253/423/1076 317/424/1077 286/425/1078
+f 286/425/1078 317/424/1077 319/426/1079
+s 250
+f 255/428/1080 254/429/1081 318/427/1082
+f 318/427/1082 254/429/1081 359/430/1083
+s 251
+f 286/425/1084 319/426/1085 254/429/1086
+f 254/429/1086 319/426/1085 359/430/1087
+s 252
+f 288/381/1088 321/385/1089 232/342/1090
+f 232/342/1090 321/385/1089 289/382/1091
+s 253
+f 257/343/1092 237/291/1093 258/344/1094
+f 258/344/1094 237/291/1093 259/316/1095
+s 254
+f 262/347/1096 290/386/1097 323/431/1098
+f 323/431/1098 290/386/1097 363/432/1099
+s 255
+f 291/348/1100 262/347/1101 325/433/1102
+f 325/433/1102 262/347/1101 323/431/1103
+s 256
+f 263/349/1104 291/348/1105 326/434/1106
+f 326/434/1106 291/348/1105 366/435/1107
+s 257
+f 292/388/1108 263/349/1109 327/436/1110
+f 327/436/1110 263/349/1109 326/434/1111
+s 258
+f 265/322/1112 294/352/1113 328/390/1114
+f 328/390/1114 294/352/1113 368/437/1115
+s 259
+f 294/439/1116 238/323/1117 329/438/1118
+f 329/438/1118 238/323/1117 295/391/1119
+s 260
+f 296/393/1120 331/440/1121 266/324/1122
+f 266/324/1122 331/440/1121 371/441/1123
+s 261
+f 267/325/1124 268/353/1125 296/393/1126
+f 296/393/1126 268/353/1125 372/442/1127
+s 262
+f 292/388/1128 332/443/1129 268/389/1130
+f 268/389/1130 332/443/1129 372/444/1131
+s 263
+f 298/445/1132 335/446/1133 240/395/1134
+f 240/395/1134 335/446/1133 299/396/1135
+s 264
+f 199/447/1136 336/448/1137 298/445/1138
+f 298/445/1138 336/448/1137 335/446/1139
+s off
+f 301/449/1140 219/399/1141 302/398/1142
+s 265
+f 274/451/1143 303/452/1144 341/450/1145
+f 341/450/1145 303/452/1144 382/453/1146
+s 266
+f 303/356/1147 241/295/1148 342/454/1149
+f 342/454/1149 241/295/1148 304/357/1150
+s 267
+f 242/296/1151 343/455/1152 304/357/1153
+f 304/357/1153 343/455/1152 385/456/1154
+s 268
+f 242/296/1155 305/358/1156 343/455/1157
+f 343/455/1157 305/358/1156 370/457/1158
+s 269
+f 245/301/1159 308/365/1160 305/358/1161
+f 305/358/1161 308/365/1160 386/458/1162
+s 270
+f 276/460/1163 344/461/1164 220/459/1165
+f 220/459/1165 344/461/1164 388/462/1166
+s 271
+f 244/404/1167 345/406/1168 276/460/1169
+f 276/460/1169 345/406/1168 344/461/1170
+s 272
+f 277/363/1171 346/463/1172 278/364/1173
+f 278/364/1173 346/463/1172 347/464/1174
+s 273
+f 278/364/1175 347/464/1176 308/365/1177
+f 308/365/1177 347/464/1176 391/465/1178
+s 274
+f 309/407/1179 248/306/1180 348/466/1181
+f 348/466/1181 248/306/1180 223/305/1182
+s 275
+f 309/407/1183 349/467/1184 279/408/1185
+f 279/408/1185 349/467/1184 350/411/1186
+s 276
+f 225/469/1187 310/470/1188 311/468/1189
+f 311/468/1189 310/470/1188 393/471/1190
+s off
+f 223/472/1191 351/473/1192 348/474/1193
+f 204/308/1194 280/368/1195 226/475/1196
+f 313/415/1197 226/280/1198 398/476/1199
+s 277
+f 312/414/1200 281/333/1201 353/477/1202
+f 353/477/1202 281/333/1201 354/416/1203
+s 278
+f 314/417/1204 355/478/1205 282/369/1206
+f 282/369/1206 355/478/1205 356/479/1207
+s 279
+f 282/369/1208 356/479/1209 283/370/1210
+f 283/370/1210 356/479/1209 403/480/1211
+s 280
+f 315/371/1212 283/370/1213 357/418/1214
+f 357/418/1214 283/370/1213 403/480/1215
+s 281
+f 284/481/1216 357/482/1217 285/421/1218
+f 285/421/1218 357/482/1217 404/483/1219
+s 282
+f 256/374/1220 318/377/1221 320/380/1222
+f 320/380/1222 318/377/1221 408/484/1223
+s 283
+f 320/380/1224 360/485/1225 287/378/1226
+f 287/378/1226 360/485/1225 361/486/1227
+s 284
+f 287/378/1228 361/486/1229 288/381/1230
+f 288/381/1230 361/486/1229 362/487/1231
+s 285
+f 288/381/1232 362/487/1233 321/385/1234
+f 321/385/1234 362/487/1233 411/488/1235
+s 286
+f 260/318/1236 321/385/1237 322/384/1238
+f 322/384/1238 321/385/1237 411/488/1239
+s 287
+f 290/386/1240 324/387/1241 364/489/1242
+f 364/489/1242 324/387/1241 414/490/1243
+s 288
+f 324/492/1244 235/290/1245 365/491/1246
+f 365/491/1246 235/290/1245 415/493/1247
+s 289
+f 291/348/1248 325/433/1249 366/435/1250
+f 366/435/1250 325/433/1249 416/494/1251
+s 290
+f 327/436/1252 367/495/1253 292/388/1254
+f 292/388/1254 367/495/1253 373/496/1255
+s 291
+f 277/363/1256 328/390/1257 346/463/1258
+f 346/463/1258 328/390/1257 419/497/1259
+s 292
+f 329/438/1260 369/498/1261 294/439/1262
+f 294/439/1262 369/498/1261 368/499/1263
+s 293
+f 329/500/1264 295/501/1265 370/457/1266
+f 370/457/1266 295/501/1265 343/455/1267
+s 294
+f 295/501/1268 330/502/1269 343/455/1270
+f 343/455/1270 330/502/1269 385/456/1271
+s 295
+f 266/324/1272 371/441/1273 330/392/1274
+f 330/392/1274 371/441/1273 421/503/1275
+s 296
+f 296/393/1276 372/442/1277 331/440/1278
+f 331/440/1278 372/442/1277 422/504/1279
+s 297
+f 292/388/1280 373/496/1281 332/443/1282
+f 332/443/1282 373/496/1281 424/505/1283
+s 298
+f 199/447/1284 218/506/1285 336/448/1286
+f 336/448/1286 218/506/1285 428/507/1287
+s 299
+f 239/509/1288 375/510/1289 270/508/1290
+f 270/508/1290 375/510/1289 376/511/1291
+s 300
+f 270/508/1292 376/511/1293 218/506/1294
+f 218/506/1294 376/511/1293 428/507/1295
+s 301
+f 335/446/1296 377/512/1297 299/396/1298
+f 299/396/1298 377/512/1297 378/513/1299
+s 302
+f 299/396/1300 378/513/1301 307/397/1302
+f 307/397/1302 378/513/1301 431/514/1303
+s off
+f 272/515/1304 338/516/1305 434/517/1306
+s 303
+f 339/401/1307 380/518/1308 302/398/1309
+f 302/398/1309 380/518/1308 436/519/1310
+s 304
+f 273/400/1311 340/403/1312 339/401/1313
+f 339/401/1313 340/403/1312 438/520/1314
+s 305
+f 340/403/1315 274/402/1316 381/521/1317
+f 381/521/1317 274/402/1316 341/522/1318
+s 306
+f 342/523/1319 383/524/1320 303/452/1321
+f 303/452/1321 383/524/1320 382/453/1322
+s 307
+f 342/523/1323 304/526/1324 384/525/1325
+f 384/525/1325 304/526/1324 385/527/1326
+s 308
+f 243/529/1327 387/530/1328 275/528/1329
+f 275/528/1329 387/530/1328 395/531/1330
+s 309
+f 220/459/1331 388/462/1332 243/529/1333
+f 243/529/1333 388/462/1332 387/530/1334
+s 310
+f 307/533/1335 389/534/1336 306/532/1337
+f 306/532/1337 389/534/1336 445/535/1338
+s 311
+f 345/537/1339 306/532/1340 390/536/1341
+f 390/536/1341 306/532/1340 445/535/1342
+s 312
+f 348/466/1343 392/538/1344 309/407/1345
+f 309/407/1345 392/538/1344 349/467/1346
+s 313
+f 350/411/1347 394/539/1348 310/409/1349
+f 310/409/1349 394/539/1348 453/540/1350
+s 314
+f 275/528/1351 395/531/1352 247/541/1353
+f 247/541/1353 395/531/1352 396/542/1354
+s 315
+f 247/541/1355 396/542/1356 223/472/1357
+f 223/472/1357 396/542/1356 351/473/1358
+s 316
+f 352/544/1359 311/545/1360 397/543/1361
+f 397/543/1361 311/545/1360 455/546/1362
+s 317
+f 280/547/1363 352/544/1364 226/280/1365
+f 226/280/1365 352/544/1364 398/476/1366
+s 318
+f 314/417/1367 312/414/1368 399/548/1369
+f 399/548/1369 312/414/1368 400/549/1370
+s 319
+f 312/414/1371 353/477/1372 400/549/1373
+f 400/549/1373 353/477/1372 456/550/1374
+s 320
+f 313/415/1375 401/551/1376 354/416/1377
+f 354/416/1377 401/551/1376 457/552/1378
+s 321
+f 355/478/1379 314/417/1380 402/553/1381
+f 402/553/1381 314/417/1380 399/548/1382
+s 322
+f 285/421/1383 404/483/1384 358/422/1385
+f 358/422/1385 404/483/1384 461/554/1386
+s 323
+f 316/419/1387 358/422/1388 405/555/1389
+f 405/555/1389 358/422/1388 462/556/1390
+s 324
+f 317/424/1391 316/419/1392 406/557/1393
+f 406/557/1393 316/419/1392 405/555/1394
+s 325
+f 319/426/1395 317/424/1396 407/558/1397
+f 407/558/1397 317/424/1396 406/557/1398
+s 326
+f 318/427/1399 359/430/1400 408/559/1401
+f 408/559/1401 359/430/1400 410/560/1402
+s 327
+f 359/430/1403 319/426/1404 409/561/1405
+f 409/561/1405 319/426/1404 407/558/1406
+s 328
+f 360/485/1407 320/380/1408 410/562/1409
+f 410/562/1409 320/380/1408 408/484/1410
+s 329
+f 325/433/1411 323/431/1412 412/563/1413
+f 412/563/1413 323/431/1412 466/564/1414
+s 330
+f 468/566/1415 323/431/1416 413/565/1417
+f 323/431/1416 363/432/1418 413/565/1417
+s 331
+f 290/386/1419 364/489/1420 363/432/1421
+f 363/432/1421 364/489/1420 467/567/1422
+s 332
+f 324/492/1423 365/491/1424 414/568/1425
+f 414/568/1425 365/491/1424 470/569/1426
+s 333
+f 326/434/1427 366/435/1428 417/570/1429
+f 417/570/1429 366/435/1428 472/571/1430
+s 334
+f 327/436/1431 326/434/1432 418/572/1433
+f 418/572/1433 326/434/1432 417/570/1434
+s 335
+f 327/436/1435 418/572/1436 367/495/1437
+f 367/495/1437 418/572/1436 473/573/1438
+s 336
+f 328/390/1439 368/437/1440 419/497/1441
+f 419/497/1441 368/437/1440 475/574/1442
+s 337
+f 369/576/1443 329/577/1444 420/575/1445
+f 420/575/1445 329/577/1444 370/578/1446
+s 338
+f 371/441/1447 331/440/1448 423/579/1449
+f 423/579/1449 331/440/1448 422/504/1450
+s 339
+f 332/580/1451 425/581/1452 372/442/1453
+f 372/442/1453 425/581/1452 478/582/1454
+s 340
+f 334/583/1455 427/584/1456 239/509/1457
+f 239/509/1457 427/584/1456 375/510/1458
+s 341
+f 334/583/1459 269/585/1460 427/584/1461
+f 427/584/1461 269/585/1460 484/586/1462
+s 342
+f 335/588/1463 336/589/1464 429/587/1465
+f 429/587/1465 336/589/1464 489/590/1466
+s 343
+f 377/592/1467 335/588/1468 430/591/1469
+f 430/591/1469 335/588/1468 429/587/1470
+s 344
+f 301/594/1471 435/595/1472 338/593/1473
+f 338/593/1473 435/595/1472 495/596/1474
+s 345
+f 302/597/1475 436/598/1476 301/594/1477
+f 301/594/1477 436/598/1476 435/595/1478
+s 346
+f 380/518/1479 339/401/1480 437/599/1481
+f 437/599/1481 339/401/1480 438/520/1482
+s 347
+f 381/521/1483 439/600/1484 340/403/1485
+f 340/403/1485 439/600/1484 438/520/1486
+s 348
+f 381/521/1487 341/522/1488 440/601/1489
+f 440/601/1489 341/522/1488 441/602/1490
+s 349
+f 341/450/1491 382/453/1492 441/603/1493
+f 441/603/1493 382/453/1492 499/604/1494
+s 350
+f 383/524/1495 342/523/1496 423/605/1497
+f 423/605/1497 342/523/1496 384/525/1498
+s 351
+f 305/358/1499 386/458/1500 370/457/1501
+f 370/457/1501 386/458/1500 420/606/1502
+s 352
+f 386/458/1503 308/365/1504 442/607/1505
+f 442/607/1505 308/365/1504 391/465/1506
+s 353
+f 345/406/1507 443/608/1508 344/461/1509
+f 344/461/1509 443/608/1508 444/609/1510
+s 354
+f 344/461/1511 444/609/1512 388/462/1513
+f 388/462/1513 444/609/1512 503/610/1514
+s 355
+f 307/397/1515 431/514/1516 389/611/1517
+f 389/611/1517 431/514/1516 504/612/1518
+s 356
+f 390/536/1519 446/613/1520 345/537/1521
+f 345/537/1521 446/613/1520 443/614/1522
+s 357
+f 346/463/1523 447/615/1524 347/464/1525
+f 347/464/1525 447/615/1524 448/616/1526
+s 358
+f 347/464/1527 448/616/1528 391/465/1529
+f 391/465/1529 448/616/1528 507/617/1530
+s 359
+f 392/538/1531 348/466/1532 449/618/1533
+f 449/618/1533 348/466/1532 351/619/1534
+s 360
+f 349/467/1535 392/538/1536 450/620/1537
+f 450/620/1537 392/538/1536 508/621/1538
+s 361
+f 349/467/1539 450/620/1540 350/411/1541
+f 350/411/1541 450/620/1540 394/539/1542
+s 362
+f 393/471/1543 451/622/1544 311/468/1545
+f 311/468/1545 451/622/1544 455/623/1546
+s 363
+f 393/471/1547 310/470/1548 452/624/1549
+f 452/624/1549 310/470/1548 453/625/1550
+s 364
+f 396/542/1551 454/626/1552 351/473/1553
+f 351/473/1553 454/626/1552 512/627/1554
+s 365
+f 313/415/1555 398/476/1556 401/551/1557
+f 401/551/1557 398/476/1556 515/628/1558
+s 366
+f 354/416/1559 457/552/1560 353/477/1561
+f 353/477/1561 457/552/1560 519/629/1562
+s 367
+f 355/478/1563 402/553/1564 458/630/1565
+f 458/630/1565 402/553/1564 521/631/1566
+s 368
+f 355/478/1567 458/630/1568 356/479/1569
+f 356/479/1569 458/630/1568 522/632/1570
+s 369
+f 403/480/1571 356/479/1572 459/633/1573
+f 459/633/1573 356/479/1572 522/632/1574
+s 370
+f 403/480/1575 460/634/1576 357/418/1577
+f 357/418/1577 460/634/1576 404/635/1578
+s 371
+f 359/430/1579 409/561/1580 410/560/1581
+f 410/560/1581 409/561/1580 463/636/1582
+s 372
+f 410/562/1583 463/637/1584 360/485/1585
+f 360/485/1585 463/637/1584 464/638/1586
+s 373
+f 360/485/1587 464/638/1588 361/486/1589
+f 361/486/1589 464/638/1588 526/639/1590
+s 374
+f 362/487/1591 361/486/1592 465/640/1593
+f 465/640/1593 361/486/1592 526/639/1594
+s 375
+f 325/433/1595 412/563/1596 416/494/1597
+f 416/494/1597 412/563/1596 528/641/1598
+s 376
+f 363/432/1599 467/567/1600 413/565/1601
+f 413/565/1601 467/567/1600 530/642/1602
+s 377
+f 364/489/1603 414/490/1604 469/643/1605
+f 469/643/1605 414/490/1604 532/644/1606
+s 378
+f 365/491/1607 415/493/1608 470/569/1609
+f 470/569/1609 415/493/1608 533/645/1610
+s 379
+f 235/647/1611 471/648/1612 415/646/1613
+f 415/646/1613 471/648/1612 534/649/1614
+s 380
+f 366/435/1615 416/494/1616 472/571/1617
+f 472/571/1617 416/494/1616 535/650/1618
+s 381
+f 367/495/1619 474/651/1620 373/496/1621
+f 373/496/1621 474/651/1620 480/652/1622
+s 382
+f 346/463/1623 419/497/1624 447/615/1625
+f 447/615/1625 419/497/1624 538/653/1626
+s 383
+f 369/654/1627 476/655/1628 368/437/1629
+f 368/437/1629 476/655/1628 475/574/1630
+s 384
+f 420/606/1631 477/656/1632 369/654/1633
+f 369/654/1633 477/656/1632 476/655/1634
+s 385
+f 330/657/1635 421/658/1636 385/527/1637
+f 385/527/1637 421/658/1636 384/525/1638
+s 386
+f 421/503/1639 371/441/1640 384/659/1641
+f 384/659/1641 371/441/1640 423/579/1642
+s 387
+f 372/442/1643 478/582/1644 422/504/1645
+f 422/504/1645 478/582/1644 540/660/1646
+s 388
+f 424/505/1647 479/661/1648 332/443/1649
+f 332/443/1649 479/661/1648 425/662/1650
+s 389
+f 373/496/1651 480/652/1652 424/505/1653
+f 424/505/1653 480/652/1652 542/663/1654
+s 390
+f 374/665/1655 481/666/1656 333/664/1657
+f 333/664/1657 481/666/1656 482/667/1658
+s 391
+f 333/664/1659 482/667/1660 297/668/1661
+f 297/668/1661 482/667/1660 483/669/1662
+s 392
+f 297/668/1663 483/669/1664 269/585/1665
+f 269/585/1665 483/669/1664 484/586/1666
+s 393
+f 428/670/1667 485/671/1668 336/589/1669
+f 336/589/1669 485/671/1668 489/590/1670
+s 394
+f 375/673/1671 427/674/1672 486/672/1673
+f 486/672/1673 427/674/1672 548/675/1674
+s 395
+f 375/510/1675 487/676/1676 376/511/1677
+f 376/511/1677 487/676/1676 488/677/1678
+s 396
+f 376/511/1679 488/677/1680 428/507/1681
+f 428/507/1681 488/677/1680 546/678/1682
+s 397
+f 430/591/1683 490/679/1684 377/592/1685
+f 377/592/1685 490/679/1684 491/680/1686
+s 398
+f 377/512/1687 491/681/1688 378/513/1689
+f 378/513/1689 491/681/1688 492/682/1690
+s 399
+f 378/513/1691 492/682/1692 431/514/1693
+f 431/514/1693 492/682/1692 552/683/1694
+s 400
+f 272/685/1695 434/686/1696 494/684/1697
+f 494/684/1697 434/686/1696 555/687/1698
+s 401
+f 338/593/1699 495/596/1700 434/686/1701
+f 434/686/1701 495/596/1700 555/687/1702
+s 402
+f 437/599/1703 496/688/1704 380/518/1705
+f 380/518/1705 496/688/1704 497/689/1706
+s 403
+f 380/518/1707 497/689/1708 436/519/1709
+f 436/519/1709 497/689/1708 560/690/1710
+s 404
+f 439/600/1711 381/521/1712 498/691/1713
+f 498/691/1713 381/521/1712 440/601/1714
+s 405
+f 383/524/1715 500/692/1716 382/453/1717
+f 382/453/1717 500/692/1716 499/604/1718
+s 406
+f 442/607/1719 477/656/1720 386/458/1721
+f 386/458/1721 477/656/1720 420/606/1722
+s 407
+f 388/694/1723 501/695/1724 387/693/1725
+f 387/693/1725 501/695/1724 566/696/1726
+s 408
+f 395/698/1727 387/693/1728 502/697/1729
+f 502/697/1729 387/693/1728 566/696/1730
+s 409
+f 445/535/1731 389/534/1732 505/699/1733
+f 505/699/1733 389/534/1732 571/700/1734
+s 410
+f 390/536/1735 506/701/1736 446/613/1737
+f 446/613/1737 506/701/1736 572/702/1738
+s 411
+f 445/535/1739 505/699/1740 390/536/1741
+f 390/536/1741 505/699/1740 506/701/1742
+s 412
+f 391/465/1743 507/617/1744 442/607/1745
+f 442/607/1745 507/617/1744 574/703/1746
+s 413
+f 392/538/1747 449/618/1748 508/621/1749
+f 508/621/1749 449/618/1748 576/704/1750
+s 414
+f 393/471/1751 452/624/1752 451/622/1753
+f 451/622/1753 452/624/1752 578/705/1754
+s 415
+f 394/539/1755 450/620/1756 509/706/1757
+f 509/706/1757 450/620/1756 577/707/1758
+s 416
+f 453/709/1759 394/710/1760 510/708/1761
+f 510/708/1761 394/710/1760 509/711/1762
+s 417
+f 395/531/1763 511/712/1764 396/542/1765
+f 396/542/1765 511/712/1764 454/626/1766
+s 418
+f 351/473/1767 512/627/1768 449/713/1769
+f 449/713/1769 512/627/1768 582/714/1770
+s 419
+f 455/546/1771 513/715/1772 397/543/1773
+f 397/543/1773 513/715/1772 514/716/1774
+s 420
+f 352/544/1775 397/543/1776 398/476/1777
+f 514/716/1778 398/476/1777 397/543/1776
+s 421
+f 402/718/1779 399/719/1780 516/717/1781
+f 516/717/1781 399/719/1780 517/720/1782
+s 422
+f 399/719/1783 400/721/1784 517/720/1785
+f 517/720/1785 400/721/1784 518/722/1786
+s 423
+f 400/721/1787 456/723/1788 518/722/1789
+f 518/722/1789 456/723/1788 589/724/1790
+s 424
+f 353/477/1791 519/629/1792 456/550/1793
+f 456/550/1793 519/629/1792 590/725/1794
+s 425
+f 457/552/1795 401/551/1796 520/726/1797
+f 520/726/1797 401/551/1796 592/727/1798
+s 426
+f 403/480/1799 459/633/1800 460/634/1801
+f 460/634/1801 459/633/1800 596/728/1802
+s 427
+f 404/483/1803 460/729/1804 461/554/1805
+f 461/554/1805 460/729/1804 597/730/1806
+s 428
+f 358/422/1807 461/554/1808 462/556/1809
+f 462/556/1809 461/554/1808 598/731/1810
+s 429
+f 405/555/1811 462/556/1812 523/732/1813
+f 523/732/1813 462/556/1812 599/733/1814
+s 430
+f 406/557/1815 405/555/1816 524/734/1817
+f 524/734/1817 405/555/1816 523/732/1818
+s 431
+f 407/558/1819 406/557/1820 525/735/1821
+f 525/735/1821 406/557/1820 524/734/1822
+s 432
+f 407/558/1823 525/735/1824 409/561/1825
+f 409/561/1825 525/735/1824 600/736/1826
+s 433
+f 465/640/1827 527/737/1828 362/487/1829
+f 362/487/1829 527/737/1828 604/738/1830
+s 434
+f 412/563/1831 466/564/1832 529/739/1833
+f 529/739/1833 466/564/1832 606/740/1834
+s 435
+f 323/431/1835 468/566/1836 466/564/1837
+f 466/564/1837 468/566/1836 607/741/1838
+s 436
+f 413/743/1839 530/744/1840 468/742/1841
+f 468/742/1841 530/744/1840 608/745/1842
+s 437
+f 467/567/1843 364/489/1844 531/746/1845
+f 531/746/1845 364/489/1844 469/643/1846
+s 438
+f 414/568/1847 470/569/1848 532/747/1849
+f 532/747/1849 470/569/1848 611/748/1850
+s 439
+f 417/570/1851 472/571/1852 536/749/1853
+f 536/749/1853 472/571/1852 614/750/1854
+s 440
+f 417/570/1855 536/749/1856 418/572/1857
+f 418/572/1857 536/749/1856 537/751/1858
+s 441
+f 367/495/1859 473/573/1860 474/651/1861
+f 474/651/1861 473/573/1860 615/752/1862
+s 442
+f 418/572/1863 537/751/1864 473/573/1865
+f 473/573/1865 537/751/1864 616/753/1866
+s 443
+f 419/497/1867 475/574/1868 538/653/1869
+f 538/653/1869 475/574/1868 618/754/1870
+s 444
+f 423/579/1871 422/504/1872 539/755/1873
+f 539/755/1873 422/504/1872 540/660/1874
+s 445
+f 479/661/1875 424/505/1876 541/756/1877
+f 541/756/1877 424/505/1876 542/663/1878
+s 446
+f 479/661/1879 543/757/1880 425/662/1881
+f 425/662/1881 543/757/1880 544/758/1882
+s 447
+f 425/662/1883 544/758/1884 478/759/1885
+f 478/759/1885 544/758/1884 621/760/1886
+s 448
+f 374/665/1887 426/761/1888 481/666/1889
+f 481/666/1889 426/761/1888 624/762/1890
+s 449
+f 484/763/1891 545/764/1892 427/674/1893
+f 427/674/1893 545/764/1892 548/675/1894
+s 450
+f 428/507/1895 546/678/1896 485/765/1897
+f 485/765/1897 546/678/1896 629/766/1898
+s 451
+f 486/672/1899 547/767/1900 375/673/1901
+f 375/673/1901 547/767/1900 487/768/1902
+s 452
+f 429/587/1903 549/769/1904 430/591/1905
+f 430/591/1905 549/769/1904 551/770/1906
+s 453
+f 489/590/1907 550/771/1908 429/587/1909
+f 429/587/1909 550/771/1908 549/769/1910
+s 454
+f 430/591/1911 551/770/1912 490/679/1913
+f 490/679/1913 551/770/1912 635/772/1914
+s 455
+f 379/774/1915 553/775/1916 433/773/1917
+f 433/773/1917 553/775/1916 638/776/1918
+s 456
+f 300/777/1919 554/778/1920 379/774/1921
+f 379/774/1921 554/778/1920 553/775/1922
+s 457
+f 272/685/1923 494/684/1924 300/777/1925
+f 300/777/1925 494/684/1924 554/778/1926
+s 458
+f 435/780/1927 436/519/1928 556/779/1929
+f 556/779/1929 436/519/1928 560/690/1930
+s 459
+f 435/595/1931 557/781/1932 495/596/1933
+f 495/596/1933 557/781/1932 640/782/1934
+s 460
+f 496/688/1935 437/599/1936 558/783/1937
+f 558/783/1937 437/599/1936 559/784/1938
+s 461
+f 437/599/1939 438/520/1940 559/784/1941
+f 559/784/1941 438/520/1940 439/600/1942
+s 462
+f 498/691/1943 561/785/1944 439/600/1945
+f 439/600/1945 561/785/1944 559/784/1946
+s 463
+f 498/691/1947 440/601/1948 562/786/1949
+f 562/786/1949 440/601/1948 645/787/1950
+s 464
+f 441/602/1951 563/788/1952 440/601/1953
+f 440/601/1953 563/788/1952 645/787/1954
+s 465
+f 441/603/1955 499/604/1956 563/789/1957
+f 563/789/1957 499/604/1956 646/790/1958
+s 466
+f 500/692/1959 383/524/1960 564/791/1961
+f 564/791/1961 383/524/1960 423/605/1962
+s 467
+f 477/656/1963 442/607/1964 565/792/1965
+f 565/792/1965 442/607/1964 574/703/1966
+s 468
+f 388/462/1967 503/610/1968 501/793/1969
+f 501/793/1969 503/610/1968 648/794/1970
+s 469
+f 502/697/1971 567/795/1972 395/698/1973
+f 395/698/1973 567/795/1972 511/796/1974
+s 470
+f 446/613/1975 568/797/1976 443/614/1977
+f 443/614/1977 568/797/1976 569/798/1978
+s 471
+f 443/608/1979 569/799/1980 444/609/1981
+f 444/609/1981 569/799/1980 570/800/1982
+s 472
+f 444/609/1983 570/800/1984 503/610/1985
+f 503/610/1985 570/800/1984 651/801/1986
+s 473
+f 389/803/1987 504/804/1988 571/802/1989
+f 571/802/1989 504/804/1988 652/805/1990
+s 474
+f 431/514/1991 552/683/1992 504/612/1993
+f 504/612/1993 552/683/1992 653/806/1994
+s 475
+f 447/615/1995 573/807/1996 448/616/1997
+f 448/616/1997 573/807/1996 575/808/1998
+s 476
+f 448/616/1999 575/808/2000 507/617/2001
+f 507/617/2001 575/808/2000 657/809/2002
+s 477
+f 450/620/2003 508/621/2004 577/707/2005
+f 577/707/2005 508/621/2004 658/810/2006
+s 478
+f 451/811/2007 579/812/2008 455/546/2009
+f 455/546/2009 579/812/2008 585/813/2010
+s 479
+f 453/709/2011 580/815/2012 452/814/2013
+f 452/814/2013 580/815/2012 661/816/2014
+s 480
+f 453/709/2015 510/708/2016 581/817/2017
+f 581/817/2017 510/708/2016 664/818/2018
+s 481
+f 511/712/2019 583/819/2020 454/626/2021
+f 454/626/2021 583/819/2020 584/820/2022
+s 482
+f 454/626/2023 584/820/2024 512/627/2025
+f 512/627/2025 584/820/2024 666/821/2026
+s 483
+f 455/546/2027 585/813/2028 513/715/2029
+f 513/715/2029 585/813/2028 667/822/2030
+s 484
+f 586/823/2031 398/476/2032 670/824/2033
+f 670/824/2033 398/476/2032 514/716/2034
+s 485
+f 515/628/2035 587/825/2036 401/551/2037
+f 401/551/2037 587/825/2036 592/727/2038
+s 486
+f 398/476/2039 588/826/2040 515/628/2041
+f 515/628/2041 588/826/2040 673/827/2042
+s 487
+f 402/718/2043 516/717/2044 521/828/2045
+f 521/828/2045 516/717/2044 674/829/2046
+s 488
+f 519/629/2047 457/552/2048 591/830/2049
+f 591/830/2049 457/552/2048 520/726/2050
+s 489
+f 458/630/2051 521/631/2052 593/831/2053
+f 593/831/2053 521/631/2052 680/832/2054
+s 490
+f 522/632/2055 458/630/2056 594/833/2057
+f 594/833/2057 458/630/2056 593/831/2058
+s 491
+f 459/633/2059 522/632/2060 595/834/2061
+f 595/834/2061 522/632/2060 594/833/2062
+s 492
+f 409/561/2063 600/736/2064 463/636/2065
+f 463/636/2065 600/736/2064 464/835/2066
+s 493
+f 526/837/2067 464/838/2068 601/836/2069
+f 601/836/2069 464/838/2068 600/839/2070
+s 494
+f 526/837/2071 602/841/2072 465/840/2073
+f 465/840/2073 602/841/2072 603/842/2074
+s 495
+f 465/840/2075 603/842/2076 527/843/2077
+f 527/843/2077 603/842/2076 686/844/2078
+s 496
+f 412/563/2079 529/739/2080 528/641/2081
+f 528/641/2081 529/739/2080 688/845/2082
+s 497
+f 528/641/2083 605/846/2084 416/494/2085
+f 416/494/2085 605/846/2084 613/847/2086
+s 498
+f 467/567/2087 531/746/2088 530/642/2089
+f 530/642/2089 531/746/2088 690/848/2090
+s 499
+f 469/643/2091 532/644/2092 609/849/2093
+f 609/849/2093 532/644/2092 691/850/2094
+s 500
+f 531/746/2095 469/643/2096 610/851/2097
+f 610/851/2097 469/643/2096 609/849/2098
+s 501
+f 470/569/2099 533/645/2100 611/748/2101
+f 611/748/2101 533/645/2100 693/852/2102
+s 502
+f 415/646/2103 534/649/2104 533/853/2105
+f 533/853/2105 534/649/2104 694/854/2106
+s 503
+f 471/648/2107 612/855/2108 534/649/2109
+f 534/649/2109 612/855/2108 694/854/2110
+s 504
+f 416/494/2111 613/847/2112 535/650/2113
+f 535/650/2113 613/847/2112 695/856/2114
+s 505
+f 472/571/2115 535/650/2116 614/750/2117
+f 614/750/2117 535/650/2116 696/857/2118
+s 506
+f 474/651/2119 617/858/2120 480/652/2121
+f 480/652/2121 617/858/2120 623/859/2122
+s 507
+f 447/615/2123 538/653/2124 573/807/2125
+f 573/807/2125 538/653/2124 700/860/2126
+s 508
+f 476/655/2127 619/861/2128 475/574/2129
+f 475/574/2129 619/861/2128 618/754/2130
+s 509
+f 477/656/2131 565/792/2132 476/655/2133
+f 476/655/2133 565/792/2132 619/861/2134
+s 510
+f 539/863/2135 620/864/2136 423/862/2137
+f 423/862/2137 620/864/2136 647/865/2138
+s 511
+f 478/759/2139 621/760/2140 540/866/2141
+f 540/866/2141 621/760/2140 539/863/2142
+s 512
+f 541/756/2143 622/867/2144 479/661/2145
+f 479/661/2145 622/867/2144 543/757/2146
+s 513
+f 480/652/2147 623/859/2148 542/663/2149
+f 542/663/2149 623/859/2148 704/868/2150
+s 514
+f 482/870/2151 481/871/2152 625/869/2153
+f 625/869/2153 481/871/2152 710/872/2154
+s 515
+f 482/667/2155 626/873/2156 483/669/2157
+f 483/669/2157 626/873/2156 627/874/2158
+s 516
+f 483/669/2159 627/874/2160 484/586/2161
+f 484/586/2161 627/874/2160 628/875/2162
+s 517
+f 484/586/2163 628/875/2164 545/876/2165
+f 545/876/2165 628/875/2164 711/877/2166
+s 518
+f 489/590/2167 485/671/2168 550/771/2169
+f 550/771/2169 485/671/2168 714/878/2170
+s 519
+f 486/672/2171 630/879/2172 547/767/2173
+f 547/767/2173 630/879/2172 715/880/2174
+s 520
+f 548/675/2175 631/881/2176 486/672/2177
+f 486/672/2177 631/881/2176 630/879/2178
+s 521
+f 547/767/2179 632/882/2180 487/768/2181
+f 487/768/2181 632/882/2180 633/883/2182
+s 522
+f 487/676/2183 633/884/2184 488/677/2185
+f 488/677/2185 633/884/2184 634/885/2186
+s 523
+f 488/677/2187 634/885/2188 546/678/2189
+f 546/678/2189 634/885/2188 713/886/2190
+s 524
+f 490/679/2191 636/887/2192 491/680/2193
+f 491/680/2193 636/887/2192 492/888/2194
+s 525
+f 492/888/2195 636/887/2196 552/889/2197
+f 552/889/2197 636/887/2196 653/890/2198
+s 526
+f 493/892/2199 637/893/2200 337/891/2201
+f 337/891/2201 637/893/2200 720/894/2202
+s 527
+f 493/892/2203 433/773/2204 637/893/2205
+f 637/893/2205 433/773/2204 638/776/2206
+s 528
+f 555/896/2207 639/897/2208 494/895/2209
+f 494/895/2209 639/897/2208 725/898/2210
+s 529
+f 495/596/2211 640/782/2212 555/687/2213
+f 555/687/2213 640/782/2212 724/899/2214
+s 530
+f 435/901/2215 556/902/2216 557/900/2217
+f 557/900/2217 556/902/2216 726/903/2218
+s 531
+f 558/783/2219 641/904/2220 496/688/2221
+f 496/688/2221 641/904/2220 642/905/2222
+s 532
+f 496/688/2223 642/905/2224 497/689/2225
+f 497/689/2225 642/905/2224 643/906/2226
+s 533
+f 497/689/2227 643/906/2228 560/690/2229
+f 560/690/2229 643/906/2228 556/779/2230
+s 534
+f 561/785/2231 498/691/2232 644/907/2233
+f 644/907/2233 498/691/2232 562/786/2234
+s 535
+f 499/604/2235 500/692/2236 646/790/2237
+f 646/790/2237 500/692/2236 564/791/2238
+s 536
+f 423/605/2239 647/908/2240 564/791/2241
+f 564/791/2241 647/908/2240 735/909/2242
+s 537
+f 566/696/2243 501/695/2244 649/910/2245
+f 649/910/2245 501/695/2244 738/911/2246
+s 538
+f 502/697/2247 650/912/2248 567/795/2249
+f 567/795/2249 650/912/2248 739/913/2250
+s 539
+f 566/696/2251 649/910/2252 502/697/2253
+f 502/697/2253 649/910/2252 650/912/2254
+s 540
+f 446/613/2255 572/702/2256 568/797/2257
+f 568/797/2257 572/702/2256 740/914/2258
+s 541
+f 505/916/2259 571/917/2260 654/915/2261
+f 654/915/2261 571/917/2260 743/918/2262
+s 542
+f 506/920/2263 505/916/2264 655/919/2265
+f 655/919/2265 505/916/2264 654/915/2266
+s 543
+f 506/920/2267 656/922/2268 572/921/2269
+f 572/921/2269 656/922/2268 745/923/2270
+s 544
+f 507/617/2271 657/809/2272 574/703/2273
+f 574/703/2273 657/809/2272 747/924/2274
+s 545
+f 508/926/2275 576/927/2276 658/925/2277
+f 658/925/2277 576/927/2276 749/928/2278
+s 546
+f 576/930/2279 449/931/2280 659/929/2281
+f 659/929/2281 449/931/2280 582/932/2282
+s 547
+f 451/934/2283 578/935/2284 579/933/2285
+f 579/933/2285 578/935/2284 752/936/2286
+s 548
+f 578/938/2287 452/814/2288 660/937/2289
+f 660/937/2289 452/814/2288 661/816/2290
+s 549
+f 453/709/2291 581/817/2292 580/815/2293
+f 580/815/2293 581/817/2292 755/939/2294
+s 550
+f 510/941/2295 509/706/2296 662/940/2297
+f 662/940/2297 509/706/2296 663/942/2298
+s 551
+f 509/706/2299 577/707/2300 663/942/2301
+f 663/942/2301 577/707/2300 751/943/2302
+s 552
+f 567/795/2303 665/944/2304 511/796/2305
+f 511/796/2305 665/944/2304 583/945/2306
+s 553
+f 512/627/2307 666/821/2308 582/714/2309
+f 582/714/2309 666/821/2308 759/946/2310
+s 554
+f 513/715/2311 668/947/2312 514/716/2313
+f 514/716/2313 668/947/2312 670/824/2314
+s 555
+f 586/823/2315 669/948/2316 398/476/2317
+f 398/476/2317 669/948/2316 763/949/2318
+s 556
+f 587/825/2319 515/628/2320 671/950/2321
+f 671/950/2321 515/628/2320 673/827/2322
+s 557
+f 398/476/2323 672/951/2324 588/826/2325
+f 588/826/2325 672/951/2324 766/952/2326
+s 558
+f 516/717/2327 517/720/2328 675/953/2329
+f 675/953/2329 517/720/2328 676/954/2330
+s 559
+f 517/720/2331 518/722/2332 676/954/2333
+f 676/954/2333 518/722/2332 677/955/2334
+s 560
+f 518/957/2335 589/958/2336 677/956/2337
+f 677/956/2337 589/958/2336 769/959/2338
+s 561
+f 456/960/2339 590/961/2340 589/958/2341
+f 589/958/2341 590/961/2340 770/962/2342
+s 562
+f 519/629/2343 591/830/2344 590/725/2345
+f 590/725/2345 591/830/2344 771/963/2346
+s 563
+f 591/830/2347 520/726/2348 678/964/2349
+f 678/964/2349 520/726/2348 679/965/2350
+s 564
+f 520/726/2351 592/727/2352 679/965/2353
+f 679/965/2353 592/727/2352 772/966/2354
+s 565
+f 595/834/2355 681/967/2356 459/633/2357
+f 459/633/2357 681/967/2356 596/728/2358
+s 566
+f 596/968/2359 682/969/2360 460/729/2361
+f 460/729/2361 682/969/2360 597/730/2362
+s 567
+f 461/554/2363 597/730/2364 598/731/2365
+f 598/731/2365 597/730/2364 778/970/2366
+s 568
+f 462/556/2367 598/731/2368 599/733/2369
+f 599/733/2369 598/731/2368 779/971/2370
+s 569
+f 523/973/2371 599/974/2372 683/972/2373
+f 683/972/2373 599/974/2372 780/975/2374
+s 570
+f 524/977/2375 523/973/2376 684/976/2377
+f 684/976/2377 523/973/2376 683/972/2378
+s 571
+f 524/977/2379 684/976/2380 525/978/2381
+f 525/978/2381 684/976/2380 685/979/2382
+s 572
+f 525/978/2383 685/979/2384 600/839/2385
+f 600/839/2385 685/979/2384 601/836/2386
+s 573
+f 526/837/2387 601/836/2388 602/841/2389
+f 602/841/2389 601/836/2388 781/980/2390
+s 574
+f 362/487/2391 604/738/2392 687/981/2393
+f 687/981/2393 604/738/2392 785/982/2394
+s 575
+f 527/843/2395 609/849/2396 604/983/2397
+f 604/983/2397 609/849/2396 691/850/2398
+s 576
+f 528/641/2399 688/845/2400 605/846/2401
+f 605/846/2401 688/845/2400 786/984/2402
+s 577
+f 529/739/2403 606/740/2404 689/985/2405
+f 689/985/2405 606/740/2404 788/986/2406
+s 578
+f 466/564/2407 607/741/2408 606/740/2409
+f 606/740/2409 607/741/2408 789/987/2410
+s 579
+f 468/989/2411 608/990/2412 607/988/2413
+f 607/988/2413 608/990/2412 790/991/2414
+s 580
+f 530/642/2415 690/848/2416 608/992/2417
+f 608/992/2417 690/848/2416 791/993/2418
+s 581
+f 610/851/2419 692/994/2420 531/746/2421
+f 531/746/2421 692/994/2420 690/848/2422
+s 582
+f 532/747/2423 611/748/2424 691/995/2425
+f 691/995/2425 611/748/2424 693/852/2426
+s 583
+f 536/749/2427 614/750/2428 697/996/2429
+f 697/996/2429 614/750/2428 796/997/2430
+s 584
+f 536/749/2431 698/998/2432 537/751/2433
+f 537/751/2433 698/998/2432 699/999/2434
+s 585
+f 474/651/2435 615/752/2436 617/858/2437
+f 617/858/2437 615/752/2436 798/1000/2438
+s 586
+f 473/573/2439 616/753/2440 615/752/2441
+f 615/752/2441 616/753/2440 799/1001/2442
+s 587
+f 537/751/2443 699/999/2444 616/753/2445
+f 616/753/2445 699/999/2444 706/1002/2446
+s 588
+f 538/653/2447 618/754/2448 700/860/2449
+f 700/860/2449 618/754/2448 801/1003/2450
+s 589
+f 620/864/2451 539/863/2452 701/1004/2453
+f 701/1004/2453 539/863/2452 621/760/2454
+s 590
+f 622/867/2455 541/756/2456 702/1005/2457
+f 702/1005/2457 541/756/2456 703/1006/2458
+s 591
+f 541/756/2459 542/663/2460 703/1006/2461
+f 703/1006/2461 542/663/2460 704/868/2462
+s 592
+f 622/867/2463 705/1007/2464 543/757/2465
+f 543/757/2465 705/1007/2464 706/1002/2466
+s 593
+f 543/757/2467 706/1002/2468 544/758/2469
+f 544/758/2469 706/1002/2468 699/999/2470
+s 594
+f 621/760/2471 544/758/2472 701/1004/2473
+f 701/1004/2473 544/758/2472 699/999/2474
+s 595
+f 624/1008/2475 707/1009/2476 481/871/2477
+f 481/871/2477 707/1009/2476 710/872/2478
+s 596
+f 624/762/2479 426/761/2480 708/1010/2481
+f 708/1010/2481 426/761/2480 432/1011/2482
+s 597
+f 625/869/2483 709/1012/2484 482/870/2485
+f 482/870/2485 709/1012/2484 626/1013/2486
+s 598
+f 548/675/2487 545/764/2488 631/881/2489
+f 631/881/2489 545/764/2488 814/1014/2490
+s 599
+f 485/1015/2491 629/1016/2492 714/1018/2493
+f 714/1018/2493 629/1016/2492 712/1017/2494
+s 600
+f 546/678/2495 713/886/2496 629/766/2497
+f 629/766/2497 713/886/2496 816/1019/2498
+s 601
+f 547/767/2499 715/880/2500 632/882/2501
+f 632/882/2501 715/880/2500 820/1020/2502
+s 602
+f 549/1022/2503 550/1023/2504 716/1021/2505
+f 716/1021/2505 550/1023/2504 823/1024/2506
+s 603
+f 549/1022/2507 717/1026/2508 551/1025/2509
+f 551/1025/2509 717/1026/2508 719/1027/2510
+s 604
+f 635/772/2511 718/1028/2512 490/679/2513
+f 490/679/2513 718/1028/2512 636/887/2514
+s 605
+f 551/1025/2515 719/1027/2516 635/1029/2517
+f 635/1029/2517 719/1027/2516 718/1030/2518
+s 606
+f 337/891/2519 720/894/2520 432/1011/2521
+f 432/1011/2521 720/894/2520 708/1010/2522
+s 607
+f 554/778/2523 721/1031/2524 553/775/2525
+f 553/775/2525 721/1031/2524 722/1032/2526
+s 608
+f 553/775/2527 722/1032/2528 638/776/2529
+f 638/776/2529 722/1032/2528 827/1033/2530
+s 609
+f 554/1035/2531 494/895/2532 723/1034/2533
+f 723/1034/2533 494/895/2532 725/898/2534
+s 610
+f 555/687/2535 724/899/2536 639/1036/2537
+f 639/1036/2537 724/899/2536 828/1037/2538
+s 611
+f 557/781/2539 727/1038/2540 640/782/2541
+f 640/782/2541 727/1038/2540 830/1039/2542
+s 612
+f 641/1041/2543 558/1042/2544 728/1040/2545
+f 728/1040/2545 558/1042/2544 833/1043/2546
+s 613
+f 559/1044/2547 729/1045/2548 558/1042/2549
+f 558/1042/2549 729/1045/2548 833/1043/2550
+s 614
+f 561/1047/2551 730/1048/2552 559/1046/2553
+f 559/1046/2553 730/1048/2552 729/1049/2554
+s 615
+f 644/1050/2555 731/1051/2556 561/1047/2557
+f 561/1047/2557 731/1051/2556 730/1048/2558
+s 616
+f 562/786/2559 732/1052/2560 644/907/2561
+f 644/907/2561 732/1052/2560 837/1053/2562
+s off
+f 645/787/2563 732/1052/2564 562/786/2565
+s 617
+f 563/788/2566 733/1054/2567 645/787/2568
+f 645/787/2568 733/1054/2567 838/1055/2569
+s 618
+f 646/790/2570 734/1056/2571 563/789/2572
+f 563/789/2572 734/1056/2571 733/1057/2573
+s 619
+f 564/791/2574 735/909/2575 646/790/2576
+f 646/790/2576 735/909/2575 734/1056/2577
+s 620
+f 565/792/2578 574/703/2579 736/1058/2580
+f 736/1058/2580 574/703/2579 747/924/2581
+s 621
+f 648/1060/2582 737/1061/2583 501/1059/2584
+f 501/1059/2584 737/1061/2583 738/1062/2585
+s 622
+f 503/610/2586 651/801/2587 648/794/2588
+f 648/794/2588 651/801/2587 841/1063/2589
+s 623
+f 568/797/2590 741/1064/2591 569/798/2592
+f 569/798/2592 741/1064/2591 570/1065/2593
+s 624
+f 570/1065/2594 741/1064/2595 651/1066/2596
+f 651/1066/2596 741/1064/2595 841/1067/2597
+s 625
+f 652/805/2598 719/1068/2599 571/802/2600
+f 571/802/2600 719/1068/2599 717/1069/2601
+s 626
+f 652/805/2602 504/804/2603 742/1070/2604
+f 742/1070/2604 504/804/2603 653/1071/2605
+s 627
+f 655/919/2606 744/1072/2607 506/920/2608
+f 506/920/2608 744/1072/2607 656/922/2609
+s 628
+f 573/1074/2610 746/1075/2611 575/1073/2612
+f 575/1073/2612 746/1075/2611 748/1076/2613
+s 629
+f 575/1073/2614 748/1076/2615 657/1077/2616
+f 657/1077/2616 748/1076/2615 849/1078/2617
+s 630
+f 659/1079/2618 750/1080/2619 576/927/2620
+f 576/927/2620 750/1080/2619 844/1081/2621
+s 631
+f 577/707/2622 658/810/2623 751/943/2624
+f 751/943/2624 658/810/2623 850/1082/2625
+s 632
+f 578/938/2626 660/937/2627 753/1083/2628
+f 753/1083/2628 660/937/2627 853/1084/2629
+s 633
+f 585/813/2630 579/812/2631 754/1085/2632
+f 754/1085/2632 579/812/2631 852/1086/2633
+s 634
+f 580/815/2634 756/1087/2635 661/816/2636
+f 661/816/2636 756/1087/2635 854/1088/2637
+s 635
+f 510/941/2638 662/940/2639 664/1089/2640
+f 664/1089/2640 662/940/2639 857/1090/2641
+s 636
+f 581/1092/2642 664/1093/2643 757/1091/2644
+f 757/1091/2644 664/1093/2643 860/1094/2645
+s 637
+f 567/795/2646 739/913/2647 665/944/2648
+f 665/944/2648 739/913/2647 861/1095/2649
+s 638
+f 659/929/2650 582/932/2651 758/1096/2652
+f 758/1096/2652 582/932/2651 759/1097/2653
+s 639
+f 665/944/2654 760/1098/2655 583/945/2656
+f 583/945/2656 760/1098/2655 584/1099/2657
+s 640
+f 584/1099/2658 760/1098/2659 666/1100/2660
+f 666/1100/2660 760/1098/2659 759/1101/2661
+s 641
+f 667/822/2662 761/1102/2663 513/715/2664
+f 513/715/2664 761/1102/2663 668/947/2665
+s 642
+f 667/822/2666 585/813/2667 762/1103/2668
+f 762/1103/2668 585/813/2667 754/1085/2669
+s 643
+f 587/825/2670 671/950/2671 764/1104/2672
+f 764/1104/2672 671/950/2671 866/1105/2673
+s 644
+f 587/825/2674 765/1106/2675 592/727/2676
+f 592/727/2676 765/1106/2675 772/966/2677
+s off
+f 672/951/2678 398/476/2679 763/949/2680
+s 645
+f 588/826/2681 767/1107/2682 673/827/2683
+f 673/827/2683 767/1107/2682 869/1108/2684
+s 646
+f 674/829/2685 516/717/2686 768/1109/2687
+f 768/1109/2687 516/717/2686 675/953/2688
+s 647
+f 521/828/2689 674/829/2690 680/1110/2691
+f 680/1110/2691 674/829/2690 871/1111/2692
+s 648
+f 591/1113/2693 678/1114/2694 771/1112/2695
+f 771/1112/2695 678/1114/2694 877/1115/2696
+s 649
+f 593/831/2697 680/832/2698 773/1116/2699
+f 773/1116/2699 680/832/2698 879/1117/2700
+s 650
+f 594/833/2701 593/831/2702 774/1118/2703
+f 774/1118/2703 593/831/2702 773/1116/2704
+s 651
+f 595/834/2705 594/833/2706 775/1119/2707
+f 775/1119/2707 594/833/2706 774/1118/2708
+s 652
+f 681/967/2709 595/834/2710 776/1120/2711
+f 776/1120/2711 595/834/2710 775/1119/2712
+s 653
+f 682/969/2713 596/968/2714 777/1121/2715
+f 777/1121/2715 596/968/2714 681/1122/2716
+s 654
+f 597/730/2717 682/969/2718 778/970/2719
+f 778/970/2719 682/969/2718 881/1123/2720
+s 655
+f 602/841/2721 782/1124/2722 603/842/2723
+f 603/842/2723 782/1124/2722 783/1125/2724
+s 656
+f 527/843/2725 686/844/2726 609/849/2727
+f 609/849/2727 686/844/2726 610/851/2728
+s 657
+f 603/842/2729 783/1125/2730 686/844/2731
+f 686/844/2731 783/1125/2730 885/1126/2732
+s 658
+f 362/1128/2733 687/1129/2734 784/1127/2735
+f 784/1127/2735 687/1129/2734 793/1130/2736
+s 659
+f 529/739/2737 689/985/2738 688/845/2739
+f 688/845/2739 689/985/2738 886/1131/2740
+s 660
+f 605/846/2741 787/1132/2742 613/847/2743
+f 613/847/2743 787/1132/2742 794/1133/2744
+s 661
+f 692/994/2745 610/851/2746 792/1134/2747
+f 792/1134/2747 610/851/2746 890/1135/2748
+s 662
+f 693/852/2749 533/645/2750 785/982/2751
+f 785/982/2751 533/645/2750 687/981/2752
+s 663
+f 694/854/2753 793/1130/2754 533/853/2755
+f 533/853/2755 793/1130/2754 687/1129/2756
+s 664
+f 694/854/2757 612/855/2758 793/1130/2759
+f 793/1130/2759 612/855/2758 784/1127/2760
+s 665
+f 613/847/2761 794/1133/2762 695/856/2763
+f 695/856/2763 794/1133/2762 891/1136/2764
+s 666
+f 535/650/2765 695/856/2766 696/857/2767
+f 696/857/2767 695/856/2766 892/1137/2768
+s 667
+f 696/857/2769 795/1138/2770 614/750/2771
+f 614/750/2771 795/1138/2770 796/997/2772
+s 668
+f 697/996/2773 797/1139/2774 536/749/2775
+f 536/749/2775 797/1139/2774 698/998/2776
+s 669
+f 617/858/2777 800/1140/2778 623/859/2779
+f 623/859/2779 800/1140/2778 805/1141/2780
+s 670
+f 573/1143/2781 700/1144/2782 746/1142/2783
+f 746/1142/2783 700/1144/2782 895/1145/2784
+s 671
+f 619/861/2785 802/1146/2786 618/754/2787
+f 618/754/2787 802/1146/2786 801/1003/2788
+s 672
+f 565/792/2789 736/1058/2790 619/861/2791
+f 619/861/2791 736/1058/2790 802/1146/2792
+s 673
+f 701/1004/2793 803/1147/2794 620/864/2795
+f 620/864/2795 803/1147/2794 804/1148/2796
+s 674
+f 620/864/2797 804/1148/2798 647/865/2799
+f 647/865/2799 804/1148/2798 839/1149/2800
+s 675
+f 622/867/2801 702/1005/2802 705/1007/2803
+f 705/1007/2803 702/1005/2802 896/1150/2804
+s 676
+f 623/859/2805 805/1141/2806 704/868/2807
+f 704/868/2807 805/1141/2806 899/1151/2808
+s 677
+f 624/762/2809 806/1153/2810 707/1152/2811
+f 707/1152/2811 806/1153/2810 900/1154/2812
+s 678
+f 708/1010/2813 807/1155/2814 624/762/2815
+f 624/762/2815 807/1155/2814 806/1153/2816
+s 679
+f 625/869/2817 808/1156/2818 709/1012/2819
+f 709/1012/2819 808/1156/2818 902/1157/2820
+s 680
+f 710/872/2821 809/1158/2822 625/869/2823
+f 625/869/2823 809/1158/2822 808/1156/2824
+s 681
+f 626/1013/2825 709/1012/2826 810/1159/2827
+f 810/1159/2827 709/1012/2826 903/1160/2828
+s 682
+f 626/873/2829 810/1161/2830 627/874/2831
+f 627/874/2831 810/1161/2830 811/1162/2832
+s 683
+f 627/874/2833 811/1162/2834 628/875/2835
+f 628/875/2835 811/1162/2834 813/1163/2836
+s 684
+f 711/1165/2837 812/1166/2838 545/1164/2839
+f 545/1164/2839 812/1166/2838 814/1167/2840
+s 685
+f 628/875/2841 813/1163/2842 711/877/2843
+f 711/877/2843 813/1163/2842 905/1168/2844
+s 686
+f 712/1017/2845 629/1016/2846 815/1169/2847
+f 815/1169/2847 629/1016/2846 816/1170/2848
+s 687
+f 714/1171/2849 817/1172/2850 550/1023/2851
+f 550/1023/2851 817/1172/2850 823/1024/2852
+s 688
+f 630/1174/2853 631/1175/2854 818/1173/2855
+f 818/1173/2855 631/1175/2854 910/1176/2856
+s 689
+f 630/1174/2857 819/1178/2858 715/1177/2859
+f 715/1177/2859 819/1178/2858 908/1179/2860
+s 690
+f 632/882/2861 821/1180/2862 633/883/2863
+f 633/883/2863 821/1180/2862 634/1181/2864
+s 691
+f 634/885/2865 821/1182/2866 713/886/2867
+f 713/886/2867 821/1182/2866 816/1019/2868
+s 692
+f 716/1021/2869 822/1183/2870 549/1022/2871
+f 549/1022/2871 822/1183/2870 717/1026/2872
+s 693
+f 718/1028/2873 742/1184/2874 636/887/2875
+f 636/887/2875 742/1184/2874 653/890/2876
+s 694
+f 720/1186/2877 637/1187/2878 824/1185/2879
+f 824/1185/2879 637/1187/2878 914/1188/2880
+s 695
+f 638/1189/2881 825/1190/2882 637/1187/2883
+f 637/1187/2883 825/1190/2882 914/1188/2884
+s 696
+f 721/1192/2885 554/1193/2886 826/1191/2887
+f 826/1191/2887 554/1193/2886 723/1194/2888
+s 697
+f 725/898/2889 639/897/2890 829/1195/2891
+f 829/1195/2891 639/897/2890 921/1196/2892
+s 698
+f 640/782/2893 830/1039/2894 724/899/2895
+f 724/899/2895 830/1039/2894 920/1197/2896
+s 699
+f 557/900/2897 726/903/2898 727/1198/2899
+f 727/1198/2899 726/903/2898 922/1199/2900
+s 700
+f 726/903/2901 556/902/2902 831/1200/2903
+f 831/1200/2903 556/902/2902 643/1201/2904
+s 701
+f 641/1203/2905 728/1204/2906 832/1202/2907
+f 832/1202/2907 728/1204/2906 927/1205/2908
+s 702
+f 641/1203/2909 834/1207/2910 642/1206/2911
+f 642/1206/2911 834/1207/2910 835/1208/2912
+s 703
+f 642/1210/2913 835/1211/2914 643/1209/2915
+f 643/1209/2915 835/1211/2914 931/1212/2916
+s 704
+f 644/1214/2917 836/1215/2918 731/1213/2919
+f 731/1213/2919 836/1215/2918 933/1216/2920
+s 705
+f 645/787/2921 838/1055/2922 732/1052/2923
+f 732/1052/2923 838/1055/2922 934/1217/2924
+s 706
+f 647/865/2925 839/1149/2926 735/1218/2927
+f 735/1218/2927 839/1149/2926 734/1219/2928
+s 707
+f 737/1061/2929 648/1060/2930 840/1220/2931
+f 840/1220/2931 648/1060/2930 841/1221/2932
+s 708
+f 649/1223/2933 738/1224/2934 842/1222/2935
+f 842/1222/2935 738/1224/2934 848/1225/2936
+s 709
+f 650/1227/2937 649/1223/2938 843/1226/2939
+f 843/1226/2939 649/1223/2938 842/1222/2940
+s 710
+f 650/1227/2941 844/1081/2942 739/1228/2943
+f 739/1228/2943 844/1081/2942 750/1080/2944
+s 711
+f 568/797/2945 740/914/2946 741/1064/2947
+f 741/1064/2947 740/914/2946 937/1229/2948
+s 712
+f 572/921/2949 745/923/2950 740/1230/2951
+f 740/1230/2951 745/923/2950 937/1231/2952
+s 713
+f 719/1068/2953 652/805/2954 718/1232/2955
+f 718/1232/2955 652/805/2954 742/1070/2956
+s 714
+f 655/1234/2957 654/1235/2958 845/1233/2959
+f 845/1233/2959 654/1235/2958 846/1236/2960
+s 715
+f 654/1235/2961 743/1237/2962 846/1236/2963
+f 846/1236/2963 743/1237/2962 939/1238/2964
+s 716
+f 571/917/2965 717/1026/2966 743/918/2967
+f 743/918/2967 717/1026/2966 822/1183/2968
+s 717
+f 744/1240/2969 655/1234/2970 847/1239/2971
+f 847/1239/2971 655/1234/2970 845/1233/2972
+s 718
+f 744/1072/2973 848/1225/2974 656/922/2975
+f 656/922/2975 848/1225/2974 738/1224/2976
+s 719
+f 656/922/2977 738/1224/2978 745/923/2979
+f 745/923/2979 738/1224/2978 737/1241/2980
+s 720
+f 657/1077/2981 849/1078/2982 747/1242/2983
+f 747/1242/2983 849/1078/2982 942/1243/2984
+s 721
+f 658/810/2985 749/1244/2986 850/1082/2987
+f 850/1082/2987 749/1244/2986 944/1245/2988
+s 722
+f 576/927/2989 844/1081/2990 749/928/2991
+f 749/928/2991 844/1081/2990 938/1246/2992
+s 723
+f 750/1080/2993 659/1079/2994 851/1247/2995
+f 851/1247/2995 659/1079/2994 758/1248/2996
+s 724
+f 579/933/2997 752/936/2998 852/1249/2999
+f 852/1249/2999 752/936/2998 946/1250/3000
+s 725
+f 578/938/3001 753/1083/3002 752/1251/3003
+f 752/1251/3003 753/1083/3002 947/1252/3004
+s 726
+f 661/816/3005 854/1088/3006 660/937/3007
+f 660/937/3007 854/1088/3006 949/1253/3008
+s 727
+f 755/939/3009 855/1254/3010 580/815/3011
+f 580/815/3011 855/1254/3010 756/1087/3012
+s 728
+f 755/1256/3013 581/1092/3014 856/1255/3015
+f 856/1255/3015 581/1092/3014 757/1091/3016
+s 729
+f 662/940/3017 663/942/3018 858/1257/3019
+f 858/1257/3019 663/942/3018 859/1258/3020
+s 730
+f 663/942/3021 751/943/3022 859/1258/3023
+f 859/1258/3023 751/943/3022 945/1259/3024
+s 731
+f 665/944/3025 861/1095/3026 760/1098/3027
+f 760/1098/3027 861/1095/3026 851/1260/3028
+s 732
+f 761/1102/3029 667/822/3030 862/1261/3031
+f 862/1261/3031 667/822/3030 762/1103/3032
+s 733
+f 761/1263/3033 863/1264/3034 668/1262/3035
+f 668/1262/3035 863/1264/3034 956/1265/3036
+s 734
+f 668/947/3037 864/1266/3038 670/824/3039
+f 670/824/3039 864/1266/3038 586/823/3040
+s off
+f 865/1267/3041 587/825/3042 764/1104/3043
+s 735
+f 671/950/3044 673/827/3045 867/1268/3046
+f 867/1268/3046 673/827/3045 869/1108/3047
+s 736
+f 766/952/3048 868/1269/3049 588/826/3050
+f 588/826/3050 868/1269/3049 767/1107/3051
+s 737
+f 768/1109/3052 870/1270/3053 674/829/3054
+f 674/829/3054 870/1270/3053 871/1111/3055
+s 738
+f 768/1272/3056 675/1273/3057 872/1271/3058
+f 872/1271/3058 675/1273/3057 873/1274/3059
+s 739
+f 675/1273/3060 676/1275/3061 873/1274/3062
+f 873/1274/3062 676/1275/3061 874/1276/3063
+s 740
+f 676/1275/3064 677/1277/3065 874/1276/3066
+f 874/1276/3066 677/1277/3065 965/1278/3067
+s 741
+f 769/1279/3068 875/1280/3069 677/1277/3070
+f 677/1277/3070 875/1280/3069 965/1278/3071
+s 742
+f 769/959/3072 589/958/3073 876/1281/3074
+f 876/1281/3074 589/958/3073 770/962/3075
+s 743
+f 590/961/3076 771/1112/3077 770/962/3078
+f 770/962/3078 771/1112/3077 968/1282/3079
+s 744
+f 678/964/3080 679/965/3081 877/1283/3082
+f 877/1283/3082 679/965/3081 878/1284/3083
+s 745
+f 679/965/3084 772/966/3085 878/1284/3086
+f 878/1284/3086 772/966/3085 969/1285/3087
+s 746
+f 776/1286/3088 880/1287/3089 681/1122/3090
+f 681/1122/3090 880/1287/3089 777/1121/3091
+s 747
+f 682/969/3092 777/1121/3093 881/1123/3094
+f 881/1123/3094 777/1121/3093 975/1288/3095
+s 748
+f 598/731/3096 778/970/3097 779/971/3098
+f 779/971/3098 778/970/3097 976/1289/3099
+s 749
+f 599/974/3100 779/1290/3101 780/975/3102
+f 780/975/3102 779/1290/3101 977/1291/3103
+s 750
+f 683/972/3104 780/975/3105 882/1292/3106
+f 882/1292/3106 780/975/3105 978/1293/3107
+s 751
+f 683/972/3108 882/1292/3109 684/976/3110
+f 684/976/3110 882/1292/3109 883/1294/3111
+s 752
+f 684/976/3112 883/1294/3113 685/979/3114
+f 685/979/3114 883/1294/3113 884/1295/3115
+s 753
+f 685/979/3116 884/1295/3117 601/836/3118
+f 601/836/3118 884/1295/3117 781/980/3119
+s 754
+f 602/841/3120 781/980/3121 782/1124/3122
+f 782/1124/3122 781/980/3121 980/1296/3123
+s 755
+f 604/738/3124 691/995/3125 785/982/3126
+f 785/982/3126 691/995/3125 693/852/3127
+s 756
+f 786/984/3128 887/1297/3129 605/846/3130
+f 605/846/3130 887/1297/3129 787/1132/3131
+s 757
+f 688/845/3132 886/1131/3133 786/984/3134
+f 786/984/3134 886/1131/3133 984/1298/3135
+s 758
+f 689/985/3136 788/986/3137 888/1299/3138
+f 888/1299/3138 788/986/3137 987/1300/3139
+s 759
+f 606/740/3140 789/987/3141 788/986/3142
+f 788/986/3142 789/987/3141 988/1301/3143
+s 760
+f 607/741/3144 790/1302/3145 789/987/3146
+f 789/987/3146 790/1302/3145 989/1303/3147
+s 761
+f 608/992/3148 791/993/3149 790/1302/3150
+f 790/1302/3150 791/993/3149 990/1304/3151
+s 762
+f 692/994/3152 889/1305/3153 690/848/3154
+f 690/848/3154 889/1305/3153 791/993/3155
+s 763
+f 610/851/3156 686/844/3157 890/1135/3158
+f 890/1135/3158 686/844/3157 885/1126/3159
+s 764
+f 692/994/3160 792/1134/3161 889/1305/3162
+f 889/1305/3162 792/1134/3161 991/1306/3163
+s 765
+f 994/1308/3164 893/1307/3165 696/857/3166
+f 893/1307/3165 795/1138/3167 696/857/3166
+s 766
+f 797/1139/3168 894/1309/3169 698/998/3170
+f 698/998/3170 894/1309/3169 803/1147/3171
+s 767
+f 698/998/3172 803/1147/3173 699/999/3174
+f 699/999/3174 803/1147/3173 701/1004/3175
+s 768
+f 617/858/3176 798/1000/3177 800/1140/3178
+f 800/1140/3178 798/1000/3177 998/1310/3179
+s 769
+f 615/752/3180 799/1001/3181 798/1000/3182
+f 798/1000/3182 799/1001/3181 999/1311/3183
+s 770
+f 616/753/3184 706/1002/3185 799/1001/3186
+f 799/1001/3186 706/1002/3185 705/1007/3187
+s 771
+f 700/1144/3188 801/1312/3189 895/1145/3190
+f 895/1145/3190 801/1312/3189 1001/1313/3191
+s 772
+f 702/1005/3192 703/1006/3193 897/1314/3194
+f 897/1314/3194 703/1006/3193 898/1315/3195
+s 773
+f 703/1006/3196 704/868/3197 898/1315/3198
+f 898/1315/3198 704/868/3197 899/1151/3199
+s 774
+f 710/872/3200 707/1009/3201 809/1158/3202
+f 809/1158/3202 707/1009/3201 1008/1316/3203
+s 775
+f 807/1155/3204 708/1010/3205 901/1317/3206
+f 901/1317/3206 708/1010/3205 720/894/3207
+s 776
+f 812/1166/3208 711/1165/3209 904/1318/3210
+f 904/1318/3210 711/1165/3209 905/1319/3211
+s 777
+f 814/1320/3212 906/1321/3213 631/1175/3214
+f 631/1175/3214 906/1321/3213 910/1176/3215
+s 778
+f 815/1323/3216 907/1324/3217 712/1322/3218
+f 712/1322/3218 907/1324/3217 908/1179/3219
+s 779
+f 712/1322/3220 908/1179/3221 714/1171/3222
+f 714/1171/3222 908/1179/3221 819/1178/3223
+s 780
+f 714/1171/3224 819/1178/3225 817/1172/3226
+f 817/1172/3226 819/1178/3225 909/1325/3227
+s 781
+f 818/1173/3228 909/1325/3229 630/1174/3230
+f 630/1174/3230 909/1325/3229 819/1178/3231
+s 782
+f 632/882/3232 820/1020/3233 821/1180/3234
+f 821/1180/3234 820/1020/3233 907/1326/3235
+s 783
+f 715/1177/3236 908/1179/3237 820/1327/3238
+f 820/1327/3238 908/1179/3237 907/1324/3239
+s 784
+f 822/1329/3240 716/1330/3241 911/1328/3242
+f 911/1328/3242 716/1330/3241 912/1331/3243
+s 785
+f 716/1330/3244 823/1332/3245 912/1331/3246
+f 912/1331/3246 823/1332/3245 1015/1333/3247
+s 786
+f 824/1335/3248 913/1336/3249 720/1334/3250
+f 720/1334/3250 913/1336/3249 901/1337/3251
+s 787
+f 638/776/3252 827/1033/3253 825/1338/3254
+f 825/1338/3254 827/1033/3253 1020/1339/3255
+s 788
+f 826/1341/3256 915/1342/3257 721/1340/3258
+f 721/1340/3258 915/1342/3257 916/1343/3259
+s 789
+f 721/1031/3260 916/1344/3261 722/1032/3262
+f 722/1032/3262 916/1344/3261 917/1345/3263
+s 790
+f 722/1032/3264 917/1345/3265 827/1033/3266
+f 827/1033/3266 917/1345/3265 1022/1346/3267
+s 791
+f 723/1034/3268 918/1347/3269 826/1341/3270
+f 826/1341/3270 918/1347/3269 1021/1348/3271
+s 792
+f 725/898/3272 829/1195/3273 723/1034/3274
+f 723/1034/3274 829/1195/3273 918/1347/3275
+s 793
+f 828/1350/3276 919/1351/3277 639/1349/3278
+f 639/1349/3278 919/1351/3277 921/1352/3279
+s 794
+f 724/899/3280 920/1197/3281 828/1037/3282
+f 828/1037/3282 920/1197/3281 1024/1353/3283
+s 795
+f 831/1200/3284 923/1354/3285 726/903/3286
+f 726/903/3286 923/1354/3285 922/1199/3287
+s 796
+f 643/1209/3288 924/1356/3289 831/1355/3290
+f 831/1355/3290 924/1356/3289 1026/1357/3291
+s 797
+f 830/1359/3292 727/1360/3293 925/1358/3294
+f 925/1358/3294 727/1360/3293 922/1361/3295
+s 798
+f 832/1202/3296 926/1362/3297 641/1203/3298
+f 641/1203/3298 926/1362/3297 834/1207/3299
+s 799
+f 728/1040/3300 833/1043/3301 928/1363/3302
+f 928/1363/3302 833/1043/3301 1029/1364/3303
+s 800
+f 730/1048/3304 929/1365/3305 729/1049/3306
+f 729/1049/3306 929/1365/3305 930/1366/3307
+s 801
+f 729/1045/3308 930/1367/3309 833/1043/3310
+f 833/1043/3310 930/1367/3309 1029/1364/3311
+s 802
+f 731/1051/3312 932/1368/3313 730/1048/3314
+f 730/1048/3314 932/1368/3313 929/1365/3315
+s 803
+f 644/907/3316 837/1053/3317 836/1369/3318
+f 836/1369/3318 837/1053/3317 1031/1370/3319
+s 804
+f 732/1052/3320 934/1217/3321 837/1053/3322
+f 837/1053/3322 934/1217/3321 1033/1371/3323
+s 805
+f 734/1219/3324 839/1149/3325 733/1372/3326
+f 733/1372/3326 839/1149/3325 935/1373/3327
+s 806
+f 733/1054/3328 935/1374/3329 838/1055/3330
+f 838/1055/3330 935/1374/3329 1034/1375/3331
+s 807
+f 736/1377/3332 747/1242/3333 936/1376/3334
+f 936/1376/3334 747/1242/3333 942/1243/3335
+s 808
+f 840/1378/3336 937/1231/3337 737/1241/3338
+f 737/1241/3338 937/1231/3337 745/923/3339
+s 809
+f 843/1226/3340 938/1246/3341 650/1227/3342
+f 650/1227/3342 938/1246/3341 844/1081/3343
+s 810
+f 841/1067/3344 741/1064/3345 840/1379/3346
+f 840/1379/3346 741/1064/3345 937/1229/3347
+s 811
+f 847/1239/3348 940/1380/3349 744/1240/3350
+f 744/1240/3350 940/1380/3349 848/1381/3351
+s 812
+f 746/1383/3352 941/1384/3353 748/1382/3354
+f 748/1382/3354 941/1384/3353 943/1385/3355
+s 813
+f 748/1076/3356 943/1386/3357 849/1078/3358
+f 849/1078/3358 943/1386/3357 1043/1387/3359
+s 814
+f 851/1247/3360 861/1388/3361 750/1080/3362
+f 750/1080/3362 861/1388/3361 739/1228/3363
+s 815
+f 751/943/3364 850/1082/3365 945/1259/3366
+f 945/1259/3366 850/1082/3365 1044/1389/3367
+s 816
+f 753/1083/3368 853/1084/3369 948/1390/3370
+f 948/1390/3370 853/1084/3369 1047/1391/3371
+s 817
+f 660/937/3372 949/1253/3373 853/1084/3374
+f 853/1084/3374 949/1253/3373 1048/1392/3375
+s 818
+f 762/1394/3376 754/1395/3377 950/1393/3378
+f 950/1393/3378 754/1395/3377 852/1396/3379
+s 819
+f 755/1256/3380 856/1255/3381 855/1397/3382
+f 855/1397/3382 856/1255/3381 1049/1398/3383
+s 820
+f 855/1400/3384 951/1401/3385 756/1399/3386
+f 756/1399/3386 951/1401/3385 854/1402/3387
+s 821
+f 664/1404/3388 857/1405/3389 860/1403/3390
+f 860/1403/3390 857/1405/3389 1050/1406/3391
+s 822
+f 662/940/3392 952/1407/3393 857/1090/3394
+f 857/1090/3394 952/1407/3393 1051/1408/3395
+s 823
+f 662/940/3396 858/1257/3397 952/1407/3398
+f 952/1407/3398 858/1257/3397 1052/1409/3399
+s 824
+f 856/1411/3400 757/1412/3401 953/1410/3402
+f 953/1410/3402 757/1412/3401 954/1413/3403
+s 825
+f 757/1415/3404 860/1403/3405 954/1414/3406
+f 954/1414/3406 860/1403/3405 1053/1416/3407
+s 826
+f 851/1260/3408 758/1417/3409 760/1098/3410
+f 760/1098/3410 758/1417/3409 759/1101/3411
+s 827
+f 862/1418/3412 955/1419/3413 761/1263/3414
+f 761/1263/3414 955/1419/3413 863/1264/3415
+s 828
+f 762/1394/3416 950/1393/3417 862/1418/3418
+f 862/1418/3418 950/1393/3417 955/1419/3419
+s 829
+f 668/1262/3420 956/1265/3421 864/1420/3422
+f 864/1420/3422 956/1265/3421 1054/1421/3423
+s 830
+f 586/823/3424 864/1266/3425 669/948/3426
+f 669/948/3426 864/1266/3425 1056/1422/3427
+s 831
+f 865/1267/3428 957/1423/3429 587/825/3430
+f 587/825/3430 957/1423/3429 1057/1424/3431
+s 832
+f 866/1105/3432 671/950/3433 958/1425/3434
+f 958/1425/3434 671/950/3433 867/1268/3435
+s 833
+f 587/825/3436 959/1426/3437 765/1106/3438
+f 765/1106/3438 959/1426/3437 1061/1427/3439
+s 834
+f 765/1106/3440 961/1428/3441 772/966/3442
+f 772/966/3442 961/1428/3441 969/1285/3443
+s 835
+f 767/1107/3444 868/1269/3445 962/1429/3446
+f 962/1429/3446 868/1269/3445 1064/1430/3447
+s 836
+f 869/1108/3448 767/1107/3449 963/1431/3450
+f 963/1431/3450 767/1107/3449 962/1429/3451
+s 837
+f 870/1433/3452 768/1272/3453 964/1432/3454
+f 964/1432/3454 768/1272/3453 872/1271/3455
+s 838
+f 680/1110/3456 871/1111/3457 879/1434/3458
+f 879/1434/3458 871/1111/3457 1067/1435/3459
+s 839
+f 875/1280/3460 769/1279/3461 966/1436/3462
+f 966/1436/3462 769/1279/3461 876/1437/3463
+s 840
+f 876/1281/3464 770/962/3465 967/1438/3466
+f 967/1438/3466 770/962/3465 968/1282/3467
+s 841
+f 771/1112/3468 877/1115/3469 968/1282/3470
+f 968/1282/3470 877/1115/3469 1075/1439/3471
+s 842
+f 773/1116/3472 879/1117/3473 970/1440/3474
+f 970/1440/3474 879/1117/3473 1077/1441/3475
+s 843
+f 774/1118/3476 773/1116/3477 971/1442/3478
+f 971/1442/3478 773/1116/3477 970/1440/3479
+s 844
+f 775/1119/3480 774/1118/3481 972/1443/3482
+f 972/1443/3482 774/1118/3481 971/1442/3483
+s 845
+f 776/1120/3484 775/1119/3485 973/1444/3486
+f 973/1444/3486 775/1119/3485 972/1443/3487
+s 846
+f 880/1287/3488 776/1286/3489 974/1445/3490
+f 974/1445/3490 776/1286/3489 973/1446/3491
+s 847
+f 777/1121/3492 880/1287/3493 975/1288/3494
+f 975/1288/3494 880/1287/3493 1078/1447/3495
+s 848
+f 778/1449/3496 881/1450/3497 976/1448/3498
+f 976/1448/3498 881/1450/3497 1079/1451/3499
+s 849
+f 884/1295/3500 979/1452/3501 781/980/3502
+f 781/980/3502 979/1452/3501 980/1296/3503
+s 850
+f 782/1124/3504 981/1453/3505 783/1125/3506
+f 783/1125/3506 981/1453/3505 982/1454/3507
+s 851
+f 783/1125/3508 982/1454/3509 885/1126/3510
+f 885/1126/3510 982/1454/3509 890/1135/3511
+s 852
+f 689/985/3512 888/1299/3513 886/1131/3514
+f 886/1131/3514 888/1299/3513 1082/1455/3515
+s 853
+f 887/1297/3516 786/984/3517 983/1456/3518
+f 983/1456/3518 786/984/3517 984/1298/3519
+s 854
+f 887/1297/3520 985/1457/3521 787/1132/3522
+f 787/1132/3522 985/1457/3521 986/1458/3523
+s 855
+f 787/1132/3524 986/1458/3525 794/1133/3526
+f 794/1133/3526 986/1458/3525 1084/1459/3527
+s 856
+f 791/993/3528 889/1305/3529 990/1304/3530
+f 990/1304/3530 889/1305/3529 1086/1460/3531
+s 857
+f 792/1134/3532 890/1135/3533 991/1306/3534
+f 991/1306/3534 890/1135/3533 982/1454/3535
+s 858
+f 794/1133/3536 992/1461/3537 891/1136/3538
+f 891/1136/3538 992/1461/3537 979/1452/3539
+s 859
+f 695/856/3540 891/1136/3541 892/1137/3542
+f 892/1137/3542 891/1136/3541 883/1294/3543
+s 860
+f 696/857/3544 892/1137/3545 993/1462/3546
+f 993/1462/3546 892/1137/3545 1081/1463/3547
+s 861
+f 795/1465/3548 893/1466/3549 995/1464/3550
+f 995/1464/3550 893/1466/3549 1088/1467/3551
+s 862
+f 796/1469/3552 795/1465/3553 996/1468/3554
+f 996/1468/3554 795/1465/3553 995/1464/3555
+s 863
+f 697/1470/3556 796/1469/3557 1091/1472/3558
+f 1091/1472/3558 796/1469/3557 997/1471/3559
+s 864
+f 800/1140/3560 1000/1473/3561 805/1141/3562
+f 805/1141/3562 1000/1473/3561 1004/1474/3563
+s 865
+f 746/1383/3564 895/1475/3565 941/1384/3566
+f 941/1384/3566 895/1475/3565 1095/1476/3567
+s 866
+f 802/1146/3568 1002/1477/3569 801/1003/3570
+f 801/1003/3570 1002/1477/3569 1001/1478/3571
+s 867
+f 736/1058/3572 936/1479/3573 802/1146/3574
+f 802/1146/3574 936/1479/3573 1002/1477/3575
+s 868
+f 804/1148/3576 803/1147/3577 1003/1480/3578
+f 1003/1480/3578 803/1147/3577 894/1309/3579
+s 869
+f 839/1149/3580 804/1148/3581 935/1373/3582
+f 935/1373/3582 804/1148/3581 1003/1480/3583
+s 870
+f 702/1005/3584 897/1314/3585 896/1150/3586
+f 896/1150/3586 897/1314/3585 1096/1481/3587
+s 871
+f 705/1007/3588 896/1150/3589 799/1001/3590
+f 799/1001/3590 896/1150/3589 999/1311/3591
+s 872
+f 805/1141/3592 1004/1474/3593 899/1151/3594
+f 899/1151/3594 1004/1474/3593 1099/1482/3595
+s 873
+f 807/1155/3596 1005/1483/3597 806/1153/3598
+f 806/1153/3598 1005/1483/3597 1007/1484/3599
+s 874
+f 900/1486/3600 1006/1487/3601 707/1485/3602
+f 707/1485/3602 1006/1487/3601 1008/1488/3603
+s 875
+f 806/1153/3604 1007/1484/3605 900/1154/3606
+f 900/1154/3606 1007/1484/3605 1101/1489/3607
+s 876
+f 901/1317/3608 1009/1490/3609 807/1155/3610
+f 807/1155/3610 1009/1490/3609 1005/1483/3611
+s 877
+f 808/1492/3612 809/1493/3613 1010/1491/3614
+f 1010/1491/3614 809/1493/3613 1105/1494/3615
+s 878
+f 709/1012/3616 902/1157/3617 903/1160/3618
+f 903/1160/3618 902/1157/3617 1106/1495/3619
+s 879
+f 808/1492/3620 1011/1497/3621 902/1496/3622
+f 902/1496/3622 1011/1497/3621 1014/1498/3623
+s 880
+f 903/1160/3624 1012/1499/3625 810/1159/3626
+f 810/1159/3626 1012/1499/3625 811/1500/3627
+s 881
+f 811/1162/3628 1012/1501/3629 813/1163/3630
+f 813/1163/3630 1012/1501/3629 905/1168/3631
+s 882
+f 904/1503/3632 1013/1504/3633 812/1502/3634
+f 812/1502/3634 1013/1504/3633 1014/1498/3635
+s 883
+f 812/1502/3636 1014/1498/3637 814/1320/3638
+f 814/1320/3638 1014/1498/3637 1011/1497/3639
+s 884
+f 814/1320/3640 1011/1497/3641 906/1321/3642
+f 906/1321/3642 1011/1497/3641 1104/1505/3643
+s 885
+f 907/1326/3644 815/1506/3645 821/1180/3646
+f 821/1180/3646 815/1506/3645 816/1507/3647
+s 886
+f 823/1332/3648 817/1508/3649 1015/1333/3650
+f 1015/1333/3650 817/1508/3649 1108/1509/3651
+s 887
+f 818/1511/3652 1016/1512/3653 909/1510/3654
+f 909/1510/3654 1016/1512/3653 1109/1513/3655
+s 888
+f 910/1514/3656 1017/1515/3657 818/1511/3658
+f 818/1511/3658 1017/1515/3657 1016/1512/3659
+s 889
+f 911/1328/3660 939/1238/3661 822/1329/3662
+f 822/1329/3662 939/1238/3661 743/1237/3663
+s 890
+f 824/1517/3664 1018/1518/3665 913/1516/3666
+f 913/1516/3666 1018/1518/3665 1113/1519/3667
+s 891
+f 914/1188/3668 1019/1520/3669 824/1185/3670
+f 824/1185/3670 1019/1520/3669 1018/1521/3671
+s 892
+f 914/1188/3672 825/1190/3673 1019/1520/3674
+f 1019/1520/3674 825/1190/3673 1115/1522/3675
+s 893
+f 826/1341/3676 1021/1348/3677 915/1342/3678
+f 915/1342/3678 1021/1348/3677 1116/1523/3679
+s 894
+f 919/1351/3680 828/1350/3681 1023/1524/3682
+f 1023/1524/3682 828/1350/3681 1024/1525/3683
+s 895
+f 921/1527/3684 1025/1528/3685 829/1526/3686
+f 829/1526/3686 1025/1528/3685 1120/1529/3687
+s 896
+f 830/1039/3688 925/1530/3689 920/1197/3690
+f 920/1197/3690 925/1530/3689 1024/1353/3691
+s 897
+f 831/1355/3692 1026/1357/3693 923/1531/3694
+f 923/1531/3694 1026/1357/3693 1121/1532/3695
+s 898
+f 643/1209/3696 931/1212/3697 924/1356/3698
+f 924/1356/3698 931/1212/3697 1122/1533/3699
+s 899
+f 926/1535/3700 832/1536/3701 1027/1534/3702
+f 1027/1534/3702 832/1536/3701 1032/1537/3703
+s 900
+f 927/1205/3704 1028/1538/3705 832/1202/3706
+f 832/1202/3706 1028/1538/3705 1032/1539/3707
+s 901
+f 728/1204/3708 928/1540/3709 927/1205/3710
+f 927/1205/3710 928/1540/3709 1125/1541/3711
+s 902
+f 926/1535/3712 1030/1543/3713 834/1542/3714
+f 834/1542/3714 1030/1543/3713 1126/1544/3715
+s 903
+f 835/1546/3716 834/1542/3717 931/1545/3718
+f 931/1545/3718 834/1542/3717 1126/1544/3719
+s 904
+f 731/1213/3720 933/1216/3721 932/1547/3722
+f 932/1547/3722 933/1216/3721 1127/1548/3723
+s 905
+f 836/1215/3724 1032/1549/3725 933/1216/3726
+f 933/1216/3726 1032/1549/3725 1028/1550/3727
+s 906
+f 838/1055/3728 1034/1375/3729 934/1217/3730
+f 934/1217/3730 1034/1375/3729 1130/1551/3731
+s 907
+f 843/1553/3732 842/1554/3733 1035/1552/3734
+f 1035/1552/3734 842/1554/3733 1036/1555/3735
+s 908
+f 842/1554/3736 848/1381/3737 1036/1555/3738
+f 1036/1555/3738 848/1381/3737 940/1380/3739
+s 909
+f 938/1557/3740 843/1553/3741 1037/1556/3742
+f 1037/1556/3742 843/1553/3741 1035/1552/3743
+s 910
+f 847/1239/3744 845/1233/3745 1038/1558/3746
+f 1038/1558/3746 845/1233/3745 1039/1559/3747
+s 911
+f 845/1233/3748 846/1236/3749 1039/1559/3750
+f 1039/1559/3750 846/1236/3749 1040/1560/3751
+s 912
+f 846/1236/3752 939/1238/3753 1040/1560/3754
+f 1040/1560/3754 939/1238/3753 1110/1561/3755
+s 913
+f 940/1380/3756 847/1239/3757 1041/1562/3758
+f 1041/1562/3758 847/1239/3757 1038/1558/3759
+s 914
+f 942/1243/3760 849/1078/3761 1042/1563/3762
+f 1042/1563/3762 849/1078/3761 1043/1387/3763
+s 915
+f 850/1082/3764 944/1245/3765 1044/1389/3766
+f 1044/1389/3766 944/1245/3765 1134/1564/3767
+s 916
+f 749/1244/3768 938/1557/3769 944/1245/3770
+f 944/1245/3770 938/1557/3769 1037/1556/3771
+s 917
+f 852/1396/3772 946/1565/3773 950/1393/3774
+f 950/1393/3774 946/1565/3773 1045/1566/3775
+s 918
+f 946/1568/3776 752/1251/3777 1045/1567/3778
+f 1045/1567/3778 752/1251/3777 947/1252/3779
+s 919
+f 947/1252/3780 753/1083/3781 1046/1569/3782
+f 1046/1569/3782 753/1083/3781 948/1390/3783
+s 920
+f 854/1402/3784 951/1401/3785 949/1570/3786
+f 949/1570/3786 951/1401/3785 1138/1571/3787
+s 921
+f 855/1400/3788 1049/1572/3789 951/1401/3790
+f 951/1401/3790 1049/1572/3789 1139/1573/3791
+s 922
+f 859/1258/3792 945/1259/3793 858/1257/3794
+f 858/1257/3794 945/1259/3793 1135/1574/3795
+s 923
+f 856/1411/3796 953/1410/3797 1049/1575/3798
+f 1049/1575/3798 953/1410/3797 1139/1576/3799
+s 924
+f 863/1577/3800 955/1578/3801 1046/1569/3802
+f 1046/1569/3802 955/1578/3801 1136/1579/3803
+s 925
+f 956/1580/3804 863/1577/3805 948/1390/3806
+f 948/1390/3806 863/1577/3805 1046/1569/3807
+s 926
+f 763/949/3808 669/948/3809 1055/1581/3810
+f 1055/1581/3810 669/948/3809 1056/1422/3811
+s 927
+f 958/1425/3812 867/1268/3813 1058/1582/3814
+f 1058/1582/3814 867/1268/3813 1059/1583/3815
+s 928
+f 867/1268/3816 869/1108/3817 1059/1583/3818
+f 1059/1583/3818 869/1108/3817 963/1431/3819
+s 929
+f 959/1426/3820 587/825/3821 1149/1585/3822
+f 587/825/3821 1060/1584/3823 1149/1585/3822
+s 930
+f 765/1587/3824 960/1588/3825 961/1586/3826
+f 961/1586/3826 960/1588/3825 1150/1589/3827
+s 931
+f 960/1590/3828 765/1591/3829 1151/1593/3830
+f 1151/1593/3830 765/1591/3829 1062/1592/3831
+s 932
+f 766/952/3832 1063/1594/3833 868/1269/3834
+f 868/1269/3834 1063/1594/3833 1064/1430/3835
+s 933
+f 766/952/3836 672/951/3837 1063/1594/3838
+f 1063/1594/3838 672/951/3837 1145/1595/3839
+s 934
+f 964/1432/3840 1065/1596/3841 870/1433/3842
+f 870/1433/3842 1065/1596/3841 1066/1597/3843
+s 935
+f 870/1270/3844 1066/1598/3845 871/1111/3846
+f 871/1111/3846 1066/1598/3845 1067/1435/3847
+s 936
+f 964/1432/3848 872/1271/3849 1068/1599/3850
+f 1068/1599/3850 872/1271/3849 1069/1600/3851
+s 937
+f 872/1271/3852 873/1274/3853 1069/1600/3854
+f 1069/1600/3854 873/1274/3853 1157/1601/3855
+s 938
+f 874/1276/3856 1070/1602/3857 873/1274/3858
+f 873/1274/3858 1070/1602/3857 1157/1601/3859
+s 939
+f 965/1278/3860 1071/1603/3861 874/1276/3862
+f 874/1276/3862 1071/1603/3861 1070/1602/3863
+s 940
+f 966/1436/3864 1072/1604/3865 875/1280/3866
+f 875/1280/3866 1072/1604/3865 1159/1605/3867
+s 941
+f 965/1278/3868 875/1280/3869 1073/1606/3870
+f 1073/1606/3870 875/1280/3869 1159/1605/3871
+s 942
+f 966/1436/3872 876/1437/3873 1074/1607/3874
+f 1074/1607/3874 876/1437/3873 967/1608/3875
+s 943
+f 877/1115/3876 878/1609/3877 1075/1439/3878
+f 1075/1439/3878 878/1609/3877 1076/1610/3879
+s 944
+f 878/1609/3880 969/1611/3881 1076/1610/3882
+f 1076/1610/3882 969/1611/3881 1162/1612/3883
+s 945
+f 880/1287/3884 974/1445/3885 1078/1447/3886
+f 1078/1447/3886 974/1445/3885 1168/1613/3887
+s 946
+f 881/1450/3888 975/1614/3889 1079/1451/3890
+f 1079/1451/3890 975/1614/3889 1169/1615/3891
+s 947
+f 976/1448/3892 1080/1616/3893 779/1290/3894
+f 779/1290/3894 1080/1616/3893 977/1291/3895
+s 948
+f 780/975/3896 977/1291/3897 978/1293/3898
+f 978/1293/3898 977/1291/3897 1080/1616/3899
+s 949
+f 882/1292/3900 978/1293/3901 1081/1463/3902
+f 1081/1463/3902 978/1293/3901 1170/1617/3903
+s 950
+f 882/1292/3904 1081/1463/3905 883/1294/3906
+f 883/1294/3906 1081/1463/3905 892/1137/3907
+s 951
+f 883/1294/3908 891/1136/3909 884/1295/3910
+f 884/1295/3910 891/1136/3909 979/1452/3911
+s 952
+f 782/1124/3912 980/1296/3913 981/1453/3914
+f 981/1453/3914 980/1296/3913 1171/1618/3915
+s 953
+f 983/1456/3916 1083/1619/3917 887/1297/3918
+f 887/1297/3918 1083/1619/3917 985/1457/3919
+s 954
+f 886/1131/3920 1082/1455/3921 984/1298/3922
+f 984/1298/3922 1082/1455/3921 983/1456/3923
+s 955
+f 987/1300/3924 21/14/3925 888/1299/3926
+f 21/14/3925 13/9/3927 888/1299/3926
+f 1085/1620/3928 888/1299/3926 13/9/3927
+s 956
+f 788/986/3929 988/1301/3930 987/1300/3931
+f 987/1300/3931 988/1301/3930 1177/1621/3932
+s 957
+f 789/987/3933 989/1303/3934 988/1301/3935
+f 988/1301/3935 989/1303/3934 1178/1622/3936
+s 958
+f 790/1302/3937 990/1304/3938 989/1303/3939
+f 989/1303/3939 990/1304/3938 1086/1460/3940
+s 959
+f 889/1305/3941 991/1306/3942 1086/1460/3943
+f 1086/1460/3943 991/1306/3942 1180/1623/3944
+s 960
+f 794/1133/3945 1087/1624/3946 992/1461/3947
+f 992/1461/3947 1087/1624/3946 1181/1625/3948
+s 961
+f 696/857/3949 993/1462/3950 994/1308/3951
+f 994/1308/3951 993/1462/3950 1182/1626/3952
+s 962
+f 893/1307/3953 994/1308/3954 1088/1627/3955
+f 1088/1627/3955 994/1308/3954 1183/1628/3956
+s 963
+f 996/1468/3957 1186/1630/3958 796/1469/3959
+f 1089/1629/3960 796/1469/3959 1186/1630/3958
+s 964
+f 997/1471/3961 796/1469/3962 1188/1632/3963
+f 796/1469/3962 1090/1631/3964 1188/1632/3963
+s off
+f 697/1470/3965 1092/1633/3966 1191/1634/3967
+f 1093/1635/3968 697/1470/3969 1191/1634/3970
+s 965
+f 800/1140/3971 998/1310/3972 1000/1473/3973
+f 1000/1473/3973 998/1310/3972 1196/1636/3974
+s 966
+f 798/1000/3975 999/1311/3976 998/1310/3977
+f 998/1310/3977 999/1311/3976 1197/1637/3978
+s 967
+f 895/1145/3979 1001/1313/3980 1095/1638/3981
+f 1095/1638/3981 1001/1313/3980 1199/1639/3982
+s 968
+f 897/1314/3983 898/1315/3984 1097/1640/3985
+f 1097/1640/3985 898/1315/3984 1098/1641/3986
+s 969
+f 898/1315/3987 899/1151/3988 1098/1641/3989
+f 1098/1641/3989 899/1151/3988 1099/1482/3990
+s 970
+f 1006/1487/3991 900/1486/3992 1100/1642/3993
+f 1100/1642/3993 900/1486/3992 1101/1643/3994
+s 971
+f 1008/1644/3995 1102/1645/3996 809/1493/3997
+f 809/1493/3997 1102/1645/3996 1105/1494/3998
+s 972
+f 1009/1647/3999 901/1337/4000 1103/1646/4001
+f 1103/1646/4001 901/1337/4000 913/1336/4002
+s 973
+f 1010/1491/4003 1104/1505/4004 808/1492/4005
+f 808/1492/4005 1104/1505/4004 1011/1497/4006
+s 974
+f 1012/1499/4007 903/1160/4008 1013/1648/4009
+f 1013/1648/4009 903/1160/4008 1106/1495/4010
+s 975
+f 1013/1648/4011 904/1649/4012 1012/1499/4013
+f 1012/1499/4013 904/1649/4012 905/1650/4014
+s 976
+f 906/1651/4015 1107/1652/4016 910/1514/4017
+f 910/1514/4017 1107/1652/4016 1017/1515/4018
+s 977
+f 817/1508/4019 909/1510/4020 1108/1509/4021
+f 1108/1509/4021 909/1510/4020 1109/1513/4022
+s 978
+f 939/1238/4023 911/1328/4024 1110/1561/4025
+f 1110/1561/4025 911/1328/4024 1111/1653/4026
+s 979
+f 911/1328/4027 912/1331/4028 1111/1653/4029
+f 1111/1653/4029 912/1331/4028 1112/1654/4030
+s 980
+f 912/1331/4031 1015/1333/4032 1112/1654/4033
+f 1112/1654/4033 1015/1333/4032 1209/1655/4034
+s 981
+f 1020/1657/4035 1114/1658/4036 825/1656/4037
+f 825/1656/4037 1114/1658/4036 1115/1659/4038
+s 982
+f 827/1033/4039 1022/1346/4040 1020/1339/4041
+f 1020/1339/4041 1022/1346/4040 1215/1660/4042
+s 983
+f 915/1342/4043 1117/1661/4044 916/1343/4045
+f 916/1343/4045 1117/1661/4044 917/1662/4046
+s 984
+f 917/1345/4047 1117/1663/4048 1022/1346/4049
+f 1022/1346/4049 1117/1663/4048 1215/1660/4050
+s 985
+f 918/1665/4051 829/1526/4052 1118/1664/4053
+f 1118/1664/4053 829/1526/4052 1120/1529/4054
+s 986
+f 918/1665/4055 1119/1667/4056 1021/1666/4057
+f 1021/1666/4057 1119/1667/4056 1218/1668/4058
+s 987
+f 919/1669/4059 1023/1670/4060 1026/1357/4061
+f 1026/1357/4061 1023/1670/4060 1121/1532/4062
+s 988
+f 919/1669/4063 1026/1357/4064 921/1527/4065
+f 921/1527/4065 1026/1357/4064 924/1356/4066
+s 989
+f 1025/1528/4067 921/1527/4068 1122/1533/4069
+f 1122/1533/4069 921/1527/4068 924/1356/4070
+s 990
+f 922/1361/4071 923/1671/4072 925/1358/4073
+f 925/1358/4073 923/1671/4072 1121/1672/4074
+s 991
+f 1027/1534/4075 1123/1673/4076 926/1535/4077
+f 926/1535/4077 1123/1673/4076 1030/1543/4078
+s 992
+f 1028/1538/4079 927/1205/4080 1124/1674/4081
+f 1124/1674/4081 927/1205/4080 1125/1541/4082
+s 993
+f 928/1676/4083 1029/1677/4084 1125/1675/4085
+f 1125/1675/4085 1029/1677/4084 1128/1678/4086
+s 994
+f 932/1680/4087 1127/1681/4088 929/1679/4089
+f 929/1679/4089 1127/1681/4088 1128/1682/4090
+s 995
+f 929/1365/4091 1128/1683/4092 930/1366/4093
+f 930/1366/4093 1128/1683/4092 1029/1684/4094
+s 996
+f 836/1369/4095 1031/1370/4096 1032/1537/4097
+f 1032/1537/4097 1031/1370/4096 1222/1685/4098
+s 997
+f 837/1687/4099 1129/1688/4100 1031/1686/4101
+f 1031/1686/4101 1129/1688/4100 1225/1689/4102
+s 998
+f 934/1691/4103 1130/1692/4104 1033/1690/4105
+f 1033/1690/4105 1130/1692/4104 1226/1693/4106
+s 999
+f 837/1695/4107 1033/1696/4108 1129/1694/4109
+f 1129/1694/4109 1033/1696/4108 1227/1697/4110
+s 1000
+f 935/1374/4111 1003/1698/4112 1034/1375/4113
+f 1034/1375/4113 1003/1698/4112 1228/1699/4114
+s 1001
+f 936/1479/4115 942/1701/4116 1131/1700/4117
+f 1131/1700/4117 942/1701/4116 1042/1702/4118
+s 1002
+f 1041/1562/4119 1132/1703/4120 940/1380/4121
+f 940/1380/4121 1132/1703/4120 1036/1555/4122
+s 1003
+f 941/1384/4123 1095/1476/4124 943/1385/4125
+f 943/1385/4125 1095/1476/4124 1133/1704/4126
+s 1004
+f 943/1385/4127 1133/1704/4128 1043/1705/4129
+f 1043/1705/4129 1133/1704/4128 1042/1702/4130
+s 1005
+f 945/1259/4131 1044/1389/4132 1135/1574/4133
+f 1135/1574/4133 1044/1389/4132 1236/1706/4134
+s 1006
+f 1045/1567/4135 947/1252/4136 1136/1579/4137
+f 1136/1579/4137 947/1252/4136 1046/1569/4138
+s 1007
+f 948/1390/4139 1047/1391/4140 1137/1707/4141
+f 1137/1707/4141 1047/1391/4140 1237/1708/4142
+s 1008
+f 853/1084/4143 1048/1392/4144 1047/1391/4145
+f 1047/1391/4145 1048/1392/4144 1238/1709/4146
+s 1009
+f 949/1570/4147 1138/1571/4148 1048/1710/4149
+f 1048/1710/4149 1138/1571/4148 1239/1711/4150
+s 1010
+f 860/1403/4151 1050/1406/4152 1053/1416/4153
+f 1053/1416/4153 1050/1406/4152 1240/1712/4154
+s 1011
+f 857/1405/4155 1051/1713/4156 1050/1406/4157
+f 1050/1406/4157 1051/1713/4156 1241/1714/4158
+s 1012
+f 1051/1408/4159 952/1407/4160 1140/1715/4161
+f 1140/1715/4161 952/1407/4160 1242/1716/4162
+s 1013
+f 1052/1409/4163 1141/1717/4164 952/1407/4165
+f 952/1407/4165 1141/1717/4164 1242/1716/4166
+s 1014
+f 858/1257/4167 1135/1574/4168 1052/1409/4169
+f 1052/1409/4169 1135/1574/4168 1141/1717/4170
+s 1015
+f 953/1410/4171 954/1413/4172 1142/1718/4173
+f 1142/1718/4173 954/1413/4172 1143/1719/4174
+s 1016
+f 954/1414/4175 1053/1416/4176 1143/1720/4177
+f 1143/1720/4177 1053/1416/4176 1245/1721/4178
+s 1017
+f 955/1419/4179 950/1393/4180 1136/1722/4181
+f 1136/1722/4181 950/1393/4180 1045/1566/4182
+s 1018
+f 948/1723/4183 1137/1724/4184 956/1265/4185
+f 956/1265/4185 1137/1724/4184 1054/1421/4186
+s 1019
+f 1054/1421/4187 1144/1725/4188 864/1420/4189
+f 864/1420/4189 1144/1725/4188 1056/1726/4190
+s 1020
+f 1055/1581/4191 1145/1595/4192 763/949/4193
+f 763/949/4193 1145/1595/4192 672/951/4194
+s 1021
+f 1057/1424/4195 1146/1727/4196 587/825/4197
+f 587/825/4197 1146/1727/4196 1060/1584/4198
+s 1022
+f 764/1104/4199 866/1105/4200 1147/1728/4201
+f 1147/1728/4201 866/1105/4200 1148/1729/4202
+s 1023
+f 866/1105/4203 958/1425/4204 1148/1729/4205
+f 1148/1729/4205 958/1425/4204 1058/1582/4206
+s off
+f 765/1106/4207 1061/1427/4208 1062/1730/4209
+s 1024
+f 961/1732/4210 1152/1733/4211 969/1731/4212
+f 969/1731/4212 1152/1733/4211 1162/1734/4213
+s 1025
+f 963/1431/4214 962/1429/4215 1153/1735/4216
+f 1153/1735/4216 962/1429/4215 1154/1736/4217
+s 1026
+f 962/1429/4218 1064/1430/4219 1154/1736/4220
+f 1154/1736/4220 1064/1430/4219 1261/1737/4221
+s 1027
+f 963/1739/4222 1155/1740/4223 1059/1738/4224
+f 1059/1738/4224 1155/1740/4223 1262/1741/4225
+s 1028
+f 1065/1596/4226 964/1432/4227 1156/1742/4228
+f 1156/1742/4228 964/1432/4227 1068/1599/4229
+s 1029
+f 879/1434/4230 1067/1435/4231 1077/1743/4232
+f 1077/1743/4232 1067/1435/4231 1266/1744/4233
+s 1030
+f 1071/1603/4234 965/1278/4235 1158/1745/4236
+f 1158/1745/4236 965/1278/4235 1073/1606/4237
+s 1031
+f 966/1436/4238 1074/1607/4239 1072/1604/4240
+f 1072/1604/4240 1074/1607/4239 1268/1746/4241
+s 1032
+f 1074/1607/4242 967/1608/4243 1160/1747/4244
+f 1160/1747/4244 967/1608/4243 1161/1748/4245
+s 1033
+f 967/1438/4246 968/1282/4247 1161/1749/4248
+f 1161/1749/4248 968/1282/4247 1075/1439/4249
+s 1034
+f 970/1751/4250 1077/1743/4251 1163/1750/4252
+f 1163/1750/4252 1077/1743/4251 1275/1752/4253
+s 1035
+f 971/1442/4254 970/1440/4255 1164/1753/4256
+f 1164/1753/4256 970/1440/4255 1277/1754/4257
+s 1036
+f 972/1443/4258 971/1442/4259 1165/1755/4260
+f 1165/1755/4260 971/1442/4259 1164/1753/4261
+s 1037
+f 972/1443/4262 1166/1756/4263 973/1444/4264
+f 973/1444/4264 1166/1756/4263 1279/1757/4265
+s 1038
+f 974/1759/4266 973/1760/4267 1167/1758/4268
+f 1167/1758/4268 973/1760/4267 1279/1761/4269
+s 1039
+f 975/1614/4270 1078/1762/4271 1169/1615/4272
+f 1169/1615/4272 1078/1762/4271 1267/1763/4273
+s 1040
+f 976/1448/4274 1079/1451/4275 1157/1601/4276
+f 1157/1601/4276 1079/1451/4275 1069/1600/4277
+s 1041
+f 976/1448/4278 1157/1601/4279 1080/1616/4280
+f 1080/1616/4280 1157/1601/4279 1070/1602/4281
+s 1042
+f 979/1452/4282 992/1461/4283 980/1296/4284
+f 980/1296/4284 992/1461/4283 1171/1618/4285
+s 1043
+f 981/1453/4286 1172/1764/4287 982/1454/4288
+f 982/1454/4288 1172/1764/4287 1179/1765/4289
+s 1044
+f 888/1767/4290 1085/1768/4291 1082/1766/4292
+f 1082/1766/4292 1085/1768/4291 1280/1769/4293
+s 1045
+f 1083/1619/4294 983/1456/4295 1173/1770/4296
+f 1173/1770/4296 983/1456/4295 1082/1455/4297
+s 1046
+f 1083/1619/4298 1174/1771/4299 985/1457/4300
+f 985/1457/4300 1174/1771/4299 1175/1772/4301
+s 1047
+f 985/1457/4302 1175/1772/4303 986/1458/4304
+f 986/1458/4304 1175/1772/4303 1084/1459/4305
+s 1048
+f 1084/1459/4306 1176/1773/4307 794/1133/4308
+f 794/1133/4308 1176/1773/4307 1087/1624/4309
+s 1049
+f 982/1454/4310 1179/1765/4311 991/1306/4312
+f 991/1306/4312 1179/1765/4311 1180/1623/4313
+s 1050
+f 1081/1463/4314 1170/1617/4315 993/1462/4316
+f 993/1462/4316 1170/1617/4315 1270/1774/4317
+s 1051
+f 1088/1467/4318 1184/1775/4319 995/1464/4320
+f 995/1464/4320 1184/1775/4319 996/1468/4321
+s 1052
+f 1089/1629/4322 1291/1777/4323 796/1469/4324
+f 1185/1776/4325 796/1469/4324 1291/1777/4323
+s 1053
+f 1090/1631/4326 796/1469/4327 1187/1778/4328
+f 1187/1778/4328 796/1469/4327 1185/1776/4329
+s 1054
+f 1091/1472/4330 1189/1779/4331 697/1470/4332
+f 697/1470/4332 1189/1779/4331 1092/1633/4333
+s 1055
+f 997/1781/4334 1190/1782/4335 1091/1780/4336
+f 1091/1780/4336 1190/1782/4335 1189/1783/4337
+s 1056
+f 797/1785/4338 697/1470/4339 1192/1784/4340
+f 1192/1784/4340 697/1470/4339 1299/1786/4341
+s off
+f 1193/1787/4342 697/1470/4343 1301/1788/4344
+f 697/1470/4345 1093/1635/4346 1301/1788/4347
+s 1057
+f 894/1789/4348 1094/1790/4349 1003/1698/4350
+f 1003/1698/4350 1094/1790/4349 1228/1699/4351
+s 1058
+f 894/1309/4352 1195/1792/4353 1094/1791/4354
+f 1094/1791/4354 1195/1792/4353 1305/1793/4355
+s 1059
+f 999/1311/4356 896/1150/4357 1197/1637/4358
+f 1197/1637/4358 896/1150/4357 1096/1481/4359
+s 1060
+f 1000/1473/4360 1198/1794/4361 1004/1474/4362
+f 1004/1474/4362 1198/1794/4361 1201/1795/4363
+s 1061
+f 1002/1477/4364 1200/1796/4365 1001/1478/4366
+f 1001/1478/4366 1200/1796/4365 1199/1797/4367
+s 1062
+f 936/1479/4368 1131/1700/4369 1002/1477/4370
+f 1002/1477/4370 1131/1700/4369 1200/1796/4371
+s 1063
+f 897/1314/4372 1097/1640/4373 1096/1481/4374
+f 1096/1481/4374 1097/1640/4373 1307/1798/4375
+s 1064
+f 1004/1800/4376 1201/1801/4377 1099/1799/4378
+f 1099/1799/4378 1201/1801/4377 1310/1802/4379
+s 1065
+f 1005/1804/4380 1009/1805/4381 1202/1803/4382
+f 1202/1803/4382 1009/1805/4381 1103/1806/4383
+s 1066
+f 1005/1483/4384 1202/1807/4385 1007/1484/4386
+f 1007/1484/4386 1202/1807/4385 1101/1489/4387
+s 1067
+f 1100/1809/4388 1203/1810/4389 1006/1808/4390
+f 1006/1808/4390 1203/1810/4389 1204/1811/4391
+s 1068
+f 1006/1808/4392 1204/1811/4393 1008/1644/4394
+f 1008/1644/4394 1204/1811/4393 1205/1812/4395
+s 1069
+f 1008/1644/4396 1205/1812/4397 1102/1645/4398
+f 1102/1645/4398 1205/1812/4397 1311/1813/4399
+s 1070
+f 1010/1815/4400 1206/1816/4401 1104/1814/4402
+f 1104/1814/4402 1206/1816/4401 1208/1817/4403
+s 1071
+f 1105/1818/4404 1207/1819/4405 1010/1815/4406
+f 1010/1815/4406 1207/1819/4405 1206/1816/4407
+s 1072
+f 902/1496/4408 1014/1498/4409 1106/1820/4410
+f 1106/1820/4410 1014/1498/4409 1013/1504/4411
+s 1073
+f 913/1516/4412 1113/1519/4413 1103/1821/4414
+f 1103/1821/4414 1113/1519/4413 1313/1822/4415
+s 1074
+f 1104/1814/4416 1208/1817/4417 906/1651/4418
+f 906/1651/4418 1208/1817/4417 1107/1652/4419
+s 1075
+f 1015/1333/4420 1108/1509/4421 1209/1655/4422
+f 1209/1655/4422 1108/1509/4421 1314/1823/4423
+s 1076
+f 1017/1515/4424 1210/1824/4425 1016/1512/4426
+f 1016/1512/4426 1210/1824/4425 1211/1825/4427
+s 1077
+f 1016/1512/4428 1211/1825/4429 1109/1513/4430
+f 1109/1513/4430 1211/1825/4429 1315/1826/4431
+s 1078
+f 1107/1652/4432 1212/1827/4433 1017/1515/4434
+f 1017/1515/4434 1212/1827/4433 1210/1824/4435
+s 1079
+f 1018/1518/4436 1019/1829/4437 1213/1828/4438
+f 1213/1828/4438 1019/1829/4437 1319/1830/4439
+s 1080
+f 1018/1518/4440 1205/1812/4441 1113/1519/4442
+f 1113/1519/4442 1205/1812/4441 1204/1811/4443
+s 1081
+f 1114/1658/4444 1020/1657/4445 1214/1831/4446
+f 1214/1831/4446 1020/1657/4445 1215/1832/4447
+s 1082
+f 1115/1833/4448 1216/1834/4449 1019/1829/4450
+f 1019/1829/4450 1216/1834/4449 1319/1830/4451
+s 1083
+f 1116/1523/4452 1217/1835/4453 915/1342/4454
+f 915/1342/4454 1217/1835/4453 1117/1661/4455
+s 1084
+f 1021/1666/4456 1218/1668/4457 1116/1836/4458
+f 1116/1836/4458 1218/1668/4457 1217/1837/4459
+s 1085
+f 1118/1664/4460 1219/1838/4461 918/1665/4462
+f 918/1665/4462 1219/1838/4461 1119/1667/4463
+s 1086
+f 1024/1525/4464 925/1839/4465 1023/1524/4466
+f 1023/1524/4466 925/1839/4465 1121/1840/4467
+s 1087
+f 1120/1842/4468 1025/1843/4469 1220/1841/4470
+f 1220/1841/4470 1025/1843/4469 1322/1844/4471
+s 1088
+f 931/1545/4472 1126/1544/4473 1122/1845/4474
+f 1122/1845/4474 1126/1544/4473 1323/1846/4475
+s off
+f 1221/1847/4476 1123/1673/4477 1027/1534/4478
+s 1089
+f 1032/1537/4479 1222/1685/4480 1027/1534/4481
+f 1027/1534/4481 1222/1685/4480 1221/1847/4482
+s 1090
+f 1124/1674/4483 1127/1848/4484 1028/1538/4485
+f 1028/1538/4485 1127/1848/4484 933/1849/4486
+s 1091
+f 1123/1673/4487 1223/1850/4488 1030/1543/4489
+f 1030/1543/4489 1223/1850/4488 1224/1851/4490
+s 1092
+f 1030/1543/4491 1224/1851/4492 1126/1544/4493
+f 1126/1544/4493 1224/1851/4492 1323/1846/4494
+s 1093
+f 1034/1375/4495 1228/1699/4496 1130/1551/4497
+f 1130/1551/4497 1228/1699/4496 1327/1852/4498
+s 1094
+f 1037/1556/4499 1035/1552/4500 1229/1853/4501
+f 1229/1853/4501 1035/1552/4500 1230/1854/4502
+s 1095
+f 1035/1552/4503 1036/1555/4504 1230/1854/4505
+f 1230/1854/4505 1036/1555/4504 1132/1703/4506
+s 1096
+f 944/1245/4507 1037/1556/4508 1134/1564/4509
+f 1134/1564/4509 1037/1556/4508 1229/1853/4510
+s 1097
+f 1041/1562/4511 1038/1558/4512 1231/1855/4513
+f 1231/1855/4513 1038/1558/4512 1232/1856/4514
+s 1098
+f 1038/1558/4515 1039/1559/4516 1232/1856/4517
+f 1232/1856/4517 1039/1559/4516 1233/1857/4518
+s 1099
+f 1039/1559/4519 1040/1560/4520 1233/1857/4521
+f 1233/1857/4521 1040/1560/4520 1234/1858/4522
+s 1100
+f 1040/1560/4523 1110/1561/4524 1234/1858/4525
+f 1234/1858/4525 1110/1561/4524 1316/1859/4526
+s 1101
+f 1132/1703/4527 1041/1562/4528 1235/1860/4529
+f 1235/1860/4529 1041/1562/4528 1231/1855/4530
+s 1102
+f 1131/1700/4531 1042/1702/4532 1200/1796/4533
+f 1200/1796/4533 1042/1702/4532 1133/1704/4534
+s 1103
+f 1044/1389/4535 1134/1564/4536 1236/1706/4537
+f 1236/1706/4537 1134/1564/4536 1329/1861/4538
+s 1104
+f 951/1401/4539 1139/1573/4540 1138/1571/4541
+f 1138/1571/4541 1139/1573/4540 1244/1862/4542
+s 1105
+f 1140/1863/4543 1243/1864/4544 1051/1713/4545
+f 1051/1713/4545 1243/1864/4544 1241/1714/4546
+s 1106
+f 1139/1576/4547 953/1410/4548 1244/1865/4549
+f 1244/1865/4549 953/1410/4548 1142/1718/4550
+s 1107
+f 1054/1421/4551 1137/1724/4552 1144/1725/4553
+f 1144/1725/4553 1137/1724/4552 1331/1866/4554
+s 1108
+f 1145/1595/4555 1055/1581/4556 1246/1867/4557
+f 1246/1867/4557 1055/1581/4556 1247/1868/4558
+s 1109
+f 1055/1581/4559 1056/1422/4560 1247/1868/4561
+f 1247/1868/4561 1056/1422/4560 1248/1869/4562
+s 1110
+f 1056/1422/4563 1144/1870/4564 1248/1869/4565
+f 1248/1869/4565 1144/1870/4564 1340/1871/4566
+s 1111
+f 1057/1424/4567 957/1423/4568 1249/1872/4569
+f 1249/1872/4569 957/1423/4568 1250/1873/4570
+s 1112
+f 957/1423/4571 865/1267/4572 1250/1873/4573
+f 1250/1873/4573 865/1267/4572 1251/1874/4574
+s 1113
+f 865/1267/4575 764/1104/4576 1251/1874/4577
+f 1251/1874/4577 764/1104/4576 1147/1728/4578
+s 1114
+f 1148/1729/4579 1058/1582/4580 1252/1875/4581
+f 1252/1875/4581 1058/1582/4580 1344/1876/4582
+s 1115
+f 1058/1878/4583 1059/1738/4584 1253/1877/4585
+f 1253/1877/4585 1059/1738/4584 1262/1741/4586
+s 1116
+f 1150/1589/4587 1254/1879/4588 961/1586/4589
+f 961/1586/4589 1254/1879/4588 1152/1880/4590
+s 1117
+f 1150/1882/4591 960/1590/4592 1255/1881/4593
+f 1255/1881/4593 960/1590/4592 1151/1593/4594
+s 1118
+f 1062/1730/4595 1061/1427/4596 1256/1883/4597
+f 1256/1883/4597 1061/1427/4596 1345/1884/4598
+s 1119
+f 1062/1730/4599 1257/1886/4600 1151/1885/4601
+f 1151/1885/4601 1257/1886/4600 1349/1887/4602
+s 1120
+f 1064/1889/4603 1063/1890/4604 1258/1888/4605
+f 1258/1888/4605 1063/1890/4604 1353/1891/4606
+s 1121
+f 1145/1892/4607 1259/1893/4608 1063/1890/4609
+f 1063/1890/4609 1259/1893/4608 1353/1891/4610
+s 1122
+f 1153/1895/4611 1260/1896/4612 963/1894/4613
+f 963/1894/4613 1260/1896/4612 1155/1897/4614
+s 1123
+f 1156/1742/4615 1263/1898/4616 1065/1596/4617
+f 1065/1596/4617 1263/1898/4616 1264/1899/4618
+s 1124
+f 1065/1596/4619 1264/1899/4620 1066/1597/4621
+f 1066/1597/4621 1264/1899/4620 1265/1900/4622
+s 1125
+f 1066/1598/4623 1265/1901/4624 1067/1435/4625
+f 1067/1435/4625 1265/1901/4624 1266/1744/4626
+s 1126
+f 1156/1742/4627 1068/1599/4628 1267/1763/4629
+f 1267/1763/4629 1068/1599/4628 1169/1615/4630
+s 1127
+f 1068/1599/4631 1069/1600/4632 1169/1615/4633
+f 1169/1615/4633 1069/1600/4632 1079/1451/4634
+s 1128
+f 1071/1603/4635 978/1293/4636 1070/1602/4637
+f 1070/1602/4637 978/1293/4636 1080/1616/4638
+s 1129
+f 1158/1745/4639 1170/1617/4640 1071/1603/4641
+f 1071/1603/4641 1170/1617/4640 978/1293/4642
+s 1130
+f 1072/1604/4643 1269/1902/4644 1159/1605/4645
+f 1159/1605/4645 1269/1902/4644 1271/1903/4646
+s 1131
+f 1073/1606/4647 1270/1774/4648 1158/1745/4649
+f 1158/1745/4649 1270/1774/4648 1170/1617/4650
+s 1132
+f 1159/1605/4651 1271/1903/4652 1073/1606/4653
+f 1073/1606/4653 1271/1903/4652 1270/1774/4654
+s 1133
+f 1074/1607/4655 1160/1747/4656 1268/1746/4657
+f 1268/1746/4657 1160/1747/4656 1360/1904/4658
+s 1134
+f 1161/1749/4659 1075/1439/4660 1272/1905/4661
+f 1272/1905/4661 1075/1439/4660 1361/1906/4662
+s 1135
+f 1075/1439/4663 1076/1610/4664 1273/1907/4665
+f 1273/1907/4665 1076/1610/4664 1274/1908/4666
+s 1136
+f 1076/1610/4667 1162/1612/4668 1274/1908/4669
+f 1274/1908/4669 1162/1612/4668 1362/1909/4670
+s 1137
+f 970/1751/4671 1163/1750/4672 1276/1910/4673
+f 1276/1910/4673 1163/1750/4672 1365/1911/4674
+s 1138
+f 1165/1755/4675 1278/1912/4676 972/1443/4677
+f 972/1443/4677 1278/1912/4676 1166/1756/4678
+s 1139
+f 974/1759/4679 1167/1758/4680 1168/1913/4681
+f 1168/1913/4681 1167/1758/4680 1371/1914/4682
+s 1140
+f 1078/1762/4683 1168/1915/4684 1267/1763/4685
+f 1267/1763/4685 1168/1915/4684 1359/1916/4686
+s 1141
+f 981/1453/4687 1171/1618/4688 1172/1764/4689
+f 1172/1764/4689 1171/1618/4688 1286/1917/4690
+s 1142
+f 1173/1770/4691 1281/1918/4692 1083/1619/4693
+f 1083/1619/4693 1281/1918/4692 1174/1771/4694
+s 1143
+f 1084/1459/4695 1175/1772/4696 1176/1773/4697
+f 1176/1773/4697 1175/1772/4696 1285/1919/4698
+s off
+f 1085/1620/4699 13/9/4700 14/10/4701
+s 1144
+f 21/14/4702 987/1300/4703 15/11/4704
+f 1177/1621/4705 16/12/4706 987/1300/4703
+f 987/1300/4703 16/12/4706 15/11/4704
+s 1145
+f 1177/1621/4707 988/1301/4708 1282/1920/4709
+f 1282/1920/4709 988/1301/4708 1178/1622/4710
+s 1146
+f 1178/1622/4711 989/1303/4712 1283/1921/4713
+f 1283/1921/4713 989/1303/4712 1284/1922/4714
+s 1147
+f 989/1303/4715 1086/1460/4716 1284/1922/4717
+f 1284/1922/4717 1086/1460/4716 1180/1623/4718
+s 1148
+f 1176/1773/4719 1285/1919/4720 1087/1624/4721
+f 1087/1624/4721 1285/1919/4720 1287/1923/4722
+s 1149
+f 1181/1625/4723 1286/1917/4724 992/1461/4725
+f 992/1461/4725 1286/1917/4724 1171/1618/4726
+s 1150
+f 1087/1624/4727 1287/1923/4728 1181/1625/4729
+f 1181/1625/4729 1287/1923/4728 1377/1924/4730
+s 1151
+f 994/1926/4731 1182/1927/4732 1183/1925/4733
+f 1183/1925/4733 1182/1927/4732 1288/1928/4734
+s 1152
+f 1270/1774/4735 1288/1929/4736 993/1462/4737
+f 1288/1929/4736 1182/1626/4738 993/1462/4737
+s 1153
+f 1183/1628/4739 1289/1930/4740 1088/1627/4741
+f 1088/1627/4741 1289/1930/4740 1184/1931/4742
+s 1154
+f 1184/1775/4743 1290/1932/4744 996/1468/4745
+f 996/1468/4745 1290/1932/4744 1186/1630/4746
+s 1155
+f 1089/1934/4747 1186/1935/4748 1292/1933/4749
+f 1292/1933/4749 1186/1935/4748 1290/1936/4750
+s 1156
+f 1187/1938/4751 1293/1939/4752 1090/1937/4753
+f 1090/1937/4753 1293/1939/4752 1295/1940/4754
+s 1157
+f 1188/1941/4755 1294/1942/4756 997/1781/4757
+f 997/1781/4757 1294/1942/4756 1190/1782/4758
+s 1158
+f 1090/1937/4759 1295/1940/4760 1188/1941/4761
+f 1188/1941/4761 1295/1940/4760 1294/1942/4762
+s 1159
+f 1092/1944/4763 1189/1945/4764 1296/1943/4765
+f 1296/1943/4765 1189/1945/4764 1382/1946/4766
+s 1160
+f 1191/1948/4767 1092/1944/4768 1297/1947/4769
+f 1297/1947/4769 1092/1944/4768 1296/1943/4770
+s 1161
+f 797/1785/4771 1192/1784/4772 1298/1949/4773
+f 1298/1949/4773 1192/1784/4772 1385/1950/4774
+s off
+f 1300/1951/4775 697/1470/4776 1388/1952/4777
+f 697/1470/4778 1193/1787/4779 1388/1952/4780
+s 1162
+f 1093/1954/4781 1191/1948/4782 1302/1953/4783
+f 1302/1953/4783 1191/1948/4782 1297/1947/4784
+s off
+f 894/1955/4785 797/1785/4786 1303/1956/4787
+s 1163
+f 1195/1792/4788 894/1309/4789 1391/1958/4790
+f 1391/1958/4790 894/1309/4789 1194/1957/4791
+s 1164
+f 1000/1473/4792 1196/1636/4793 1198/1794/4794
+f 1198/1794/4794 1196/1636/4793 1393/1959/4795
+s 1165
+f 998/1310/4796 1197/1637/4797 1196/1636/4798
+f 1196/1636/4798 1197/1637/4797 1306/1960/4799
+s 1166
+f 1095/1476/4800 1199/1797/4801 1133/1704/4802
+f 1133/1704/4802 1199/1797/4801 1200/1796/4803
+s 1167
+f 1197/1637/4804 1096/1481/4805 1306/1960/4806
+f 1306/1960/4806 1096/1481/4805 1307/1798/4807
+s 1168
+f 1097/1962/4808 1098/1963/4809 1308/1961/4810
+f 1308/1961/4810 1098/1963/4809 1309/1964/4811
+s 1169
+f 1098/1963/4812 1099/1799/4813 1309/1964/4814
+f 1309/1964/4814 1099/1799/4813 1310/1802/4815
+s 1170
+f 1203/1965/4816 1100/1966/4817 1202/1803/4818
+f 1202/1803/4818 1100/1966/4817 1101/1967/4819
+s 1171
+f 1102/1968/4820 1312/1969/4821 1105/1818/4822
+f 1105/1818/4822 1312/1969/4821 1207/1819/4823
+s 1172
+f 1103/1806/4824 1313/1970/4825 1202/1803/4826
+f 1202/1803/4826 1313/1970/4825 1203/1965/4827
+s 1173
+f 1107/1652/4828 1208/1817/4829 1212/1827/4830
+f 1212/1827/4830 1208/1817/4829 1400/1971/4831
+s 1174
+f 1108/1509/4832 1109/1513/4833 1314/1823/4834
+f 1314/1823/4834 1109/1513/4833 1315/1826/4835
+s 1175
+f 1110/1561/4836 1111/1653/4837 1316/1859/4838
+f 1316/1859/4838 1111/1653/4837 1317/1972/4839
+s 1176
+f 1111/1653/4840 1112/1654/4841 1317/1972/4842
+f 1317/1972/4842 1112/1654/4841 1404/1973/4843
+s 1177
+f 1209/1655/4844 1318/1974/4845 1112/1654/4846
+f 1112/1654/4846 1318/1974/4845 1404/1973/4847
+s 1178
+f 1213/1828/4848 1311/1813/4849 1018/1518/4850
+f 1018/1518/4850 1311/1813/4849 1205/1812/4851
+s 1179
+f 1214/1976/4852 1217/1837/4853 1114/1975/4854
+f 1114/1975/4854 1217/1837/4853 1218/1668/4855
+s 1180
+f 1114/1975/4856 1218/1668/4857 1115/1833/4858
+f 1115/1833/4858 1218/1668/4857 1119/1667/4859
+s 1181
+f 1115/1833/4860 1119/1667/4861 1216/1834/4862
+f 1216/1834/4862 1119/1667/4861 1219/1838/4863
+s 1182
+f 1217/1835/4864 1214/1977/4865 1117/1661/4866
+f 1117/1661/4866 1214/1977/4865 1215/1978/4867
+s 1183
+f 1219/1980/4868 1118/1981/4869 1320/1979/4870
+f 1320/1979/4870 1118/1981/4869 1321/1982/4871
+s 1184
+f 1118/1981/4872 1120/1842/4873 1321/1982/4874
+f 1321/1982/4874 1120/1842/4873 1220/1841/4875
+s 1185
+f 1025/1843/4876 1122/1845/4877 1322/1844/4878
+f 1322/1844/4878 1122/1845/4877 1323/1846/4879
+s 1186
+f 1221/1847/4880 1324/1983/4881 1123/1673/4882
+f 1123/1673/4882 1324/1983/4881 1325/1984/4883
+s 1187
+f 1127/1848/4884 1124/1674/4885 1128/1985/4886
+f 1128/1985/4886 1124/1674/4885 1125/1541/4887
+s 1188
+f 1123/1673/4888 1325/1984/4889 1223/1850/4890
+f 1223/1850/4890 1325/1984/4889 1411/1986/4891
+s 1189
+f 1031/1686/4892 1225/1689/4893 1222/1987/4894
+f 1222/1987/4894 1225/1689/4893 1414/1988/4895
+s 1190
+f 1129/1688/4896 1326/1989/4897 1225/1689/4898
+f 1225/1689/4898 1326/1989/4897 1415/1990/4899
+s 1191
+f 1033/1690/4900 1226/1693/4901 1227/1991/4902
+f 1227/1991/4902 1226/1693/4901 1416/1992/4903
+s 1192
+f 1130/1692/4904 1327/1993/4905 1226/1693/4906
+f 1226/1693/4906 1327/1993/4905 1417/1994/4907
+s 1193
+f 1129/1694/4908 1227/1697/4909 1326/1995/4910
+f 1326/1995/4910 1227/1697/4909 1418/1996/4911
+s 1194
+f 1235/1860/4912 1328/1997/4913 1132/1703/4914
+f 1132/1703/4914 1328/1997/4913 1230/1854/4915
+s 1195
+f 1236/1706/4916 1330/1998/4917 1135/1574/4918
+f 1135/1574/4918 1330/1998/4917 1334/1999/4919
+s 1196
+f 1137/1707/4920 1237/1708/4921 1331/2000/4922
+f 1331/2000/4922 1237/1708/4921 1427/2001/4923
+s 1197
+f 1047/1391/4924 1238/1709/4925 1237/1708/4926
+f 1237/1708/4926 1238/1709/4925 1428/2002/4927
+s 1198
+f 1048/1710/4928 1239/1711/4929 1238/2003/4930
+f 1238/2003/4930 1239/1711/4929 1429/2004/4931
+s 1199
+f 1138/1571/4932 1244/1862/4933 1239/1711/4934
+f 1239/1711/4934 1244/1862/4933 1336/2005/4935
+s 1200
+f 1053/1416/4936 1240/1712/4937 1245/1721/4938
+f 1245/1721/4938 1240/1712/4937 1430/2006/4939
+s 1201
+f 1050/1406/4940 1241/1714/4941 1240/1712/4942
+f 1240/1712/4942 1241/1714/4941 1431/2007/4943
+s 1202
+f 1140/1715/4944 1242/1716/4945 1332/2008/4946
+f 1332/2008/4946 1242/1716/4945 1433/2009/4947
+s 1203
+f 1243/1864/4948 1140/1863/4949 1333/2010/4950
+f 1333/2010/4950 1140/1863/4949 1332/2011/4951
+s 1204
+f 1135/1574/4952 1334/1999/4953 1141/1717/4954
+f 1141/1717/4954 1334/1999/4953 1435/2012/4955
+s 1205
+f 1242/1716/4956 1141/1717/4957 1335/2013/4958
+f 1335/2013/4958 1141/1717/4957 1435/2012/4959
+s 1206
+f 1244/1865/4960 1142/1718/4961 1336/2014/4962
+f 1336/2014/4962 1142/1718/4961 1337/2015/4963
+s 1207
+f 1142/1718/4964 1143/1719/4965 1337/2015/4966
+f 1337/2015/4966 1143/1719/4965 1338/2016/4967
+s 1208
+f 1143/1720/4968 1245/1721/4969 1338/2017/4970
+f 1338/2017/4970 1245/1721/4969 1436/2018/4971
+s 1209
+f 1246/2019/4972 1339/2020/4973 1145/1892/4974
+f 1145/1892/4974 1339/2020/4973 1259/1893/4975
+s 1210
+f 1249/1872/4976 1341/2021/4977 1057/1424/4978
+f 1057/1424/4978 1341/2021/4977 1146/1727/4979
+s 1211
+f 1147/2023/4980 1342/2024/4981 1251/2022/4982
+f 1251/2022/4982 1342/2024/4981 1446/2025/4983
+s 1212
+f 1147/1728/4984 1148/1729/4985 1343/2026/4986
+f 1343/2026/4986 1148/1729/4985 1252/1875/4987
+s 1213
+f 1058/1582/4988 1253/2027/4989 1344/1876/4990
+f 1344/1876/4990 1253/2027/4989 1449/2028/4991
+s 1214
+f 1061/1427/4992 959/1426/4993 1345/1884/4994
+f 1345/1884/4994 959/1426/4993 1346/2029/4995
+s 1215
+f 959/1426/4996 1149/1585/4997 1346/2029/4998
+f 1346/2029/4998 1149/1585/4997 1450/2030/4999
+s 1216
+f 1254/1879/5000 1150/1589/5001 1347/2031/5002
+f 1347/2031/5002 1150/1589/5001 1255/2032/5003
+s 1217
+f 1256/1883/5004 1348/2033/5005 1062/1730/5006
+f 1062/1730/5006 1348/2033/5005 1454/2034/5007
+s 1218
+f 1151/1885/5008 1349/1887/5009 1255/2035/5010
+f 1255/2035/5010 1349/1887/5009 1456/2036/5011
+s 1219
+f 1257/1886/5012 1062/1730/5013 1350/2037/5014
+f 1350/2037/5014 1062/1730/5013 1454/2034/5015
+s 1220
+f 1254/1879/5016 1351/2038/5017 1152/1880/5018
+f 1152/1880/5018 1351/2038/5017 1352/2039/5019
+s 1221
+f 1152/1880/5020 1352/2039/5021 1162/2040/5022
+f 1162/2040/5022 1352/2039/5021 1362/2041/5023
+s 1222
+f 1064/1430/5024 1258/2042/5025 1261/1737/5026
+f 1261/1737/5026 1258/2042/5025 1459/2043/5027
+s 1223
+f 1260/1896/5028 1153/1895/5029 1354/2044/5030
+f 1354/2044/5030 1153/1895/5029 1355/2045/5031
+s 1224
+f 1153/1735/5032 1154/1736/5033 1355/2046/5034
+f 1355/2046/5034 1154/1736/5033 1463/2047/5035
+s 1225
+f 1261/1737/5036 1356/2048/5037 1154/1736/5038
+f 1154/1736/5038 1356/2048/5037 1463/2047/5039
+s 1226
+f 1155/2050/5040 1260/2051/5041 1357/2049/5042
+f 1357/2049/5042 1260/2051/5041 1462/2052/5043
+s 1227
+f 1262/1741/5044 1155/1740/5045 1358/2053/5046
+f 1358/2053/5046 1155/1740/5045 1357/2054/5047
+s 1228
+f 1263/1898/5048 1156/1742/5049 1359/1916/5050
+f 1359/1916/5050 1156/1742/5049 1267/1763/5051
+s 1229
+f 1077/1743/5052 1266/1744/5053 1275/1752/5054
+f 1275/1752/5054 1266/1744/5053 1468/2055/5055
+s 1230
+f 1072/1604/5056 1268/1746/5057 1269/1902/5058
+f 1269/1902/5058 1268/1746/5057 1469/2056/5059
+s 1231
+f 1160/1747/5060 1161/1748/5061 1360/1904/5062
+f 1360/1904/5062 1161/1748/5061 1272/2057/5063
+s 1232
+f 1075/1439/5064 1273/1907/5065 1361/1906/5066
+f 1361/1906/5066 1273/1907/5065 1474/2058/5067
+s 1233
+f 1163/1750/5068 1275/1752/5069 1363/2059/5070
+f 1363/2059/5070 1275/1752/5069 1476/2060/5071
+s 1234
+f 1276/2061/5072 1364/2062/5073 970/1440/5074
+f 970/1440/5074 1364/2062/5073 1277/1754/5075
+s 1235
+f 1165/2064/5076 1164/2065/5077 1366/2063/5078
+f 1366/2063/5078 1164/2065/5077 1367/2066/5079
+s 1236
+f 1164/2065/5080 1277/2067/5081 1367/2066/5082
+f 1367/2066/5082 1277/2067/5081 1480/2068/5083
+s 1237
+f 1278/1912/5084 1165/1755/5085 1368/2069/5086
+f 1368/2069/5086 1165/1755/5085 1366/2070/5087
+s 1238
+f 1278/1912/5088 1369/2071/5089 1166/1756/5090
+f 1166/1756/5090 1369/2071/5089 1482/2072/5091
+s 1239
+f 1279/1761/5092 1166/2074/5093 1370/2073/5094
+f 1370/2073/5094 1166/2074/5093 1482/2075/5095
+s 1240
+f 1167/1758/5096 1279/1761/5097 1372/2076/5098
+f 1372/2076/5098 1279/1761/5097 1370/2073/5099
+s 1241
+f 1172/2078/5100 1373/2079/5101 1179/2077/5102
+f 1179/2077/5102 1373/2079/5101 1376/2080/5103
+s 1242
+f 1082/1766/5104 1280/1769/5105 1173/2081/5106
+f 1173/2081/5106 1280/1769/5105 5/2082/5107
+s 1243
+f 4/2083/5108 1280/1769/5109 14/2084/5110
+f 14/2084/5110 1280/1769/5109 1085/1768/5111
+s 1244
+f 1281/2086/5112 1173/2081/5113 1/2085/5114
+f 1/2085/5114 1173/2081/5113 5/2082/5115
+s 1245
+f 1281/1918/5116 1374/2087/5117 1174/1771/5118
+f 1174/1771/5118 1374/2087/5117 1484/2088/5119
+s 1246
+f 1175/1772/5120 1174/1771/5121 1285/1919/5122
+f 1285/1919/5122 1174/1771/5121 1484/2088/5123
+s 1247
+f 18/2090/5124 20/2091/5125 1282/2089/5126
+f 1282/2089/5126 20/2091/5125 1177/2092/5127
+s 1248
+f 1282/1920/5128 1178/1622/5129 1375/2093/5130
+f 1375/2093/5130 1178/1622/5129 1283/1921/5131
+s 1249
+f 1179/2077/5132 1376/2080/5133 1180/2094/5134
+f 1180/2094/5134 1376/2080/5133 1284/2095/5135
+s 1250
+f 1181/2097/5136 1377/2098/5137 1286/2096/5138
+f 1286/2096/5138 1377/2098/5137 1487/2099/5139
+s 1251
+f 1183/2101/5140 1378/2102/5141 1289/2100/5142
+f 1289/2100/5142 1378/2102/5141 1492/2103/5143
+s 1252
+f 1289/1930/5144 1379/2104/5145 1184/1931/5146
+f 1184/1931/5146 1379/2104/5145 1290/2105/5147
+s 1253
+f 1187/1938/5148 1185/2106/5149 1293/1939/5150
+f 1293/1939/5150 1185/2106/5149 1380/2107/5151
+s 1254
+f 1185/2106/5152 1291/2108/5153 1380/2107/5154
+f 1380/2107/5154 1291/2108/5153 1381/2109/5155
+s 1255
+f 1291/2108/5156 1089/1934/5157 1381/2109/5158
+f 1381/2109/5158 1089/1934/5157 1292/1933/5159
+s 1256
+f 1189/1945/5160 1190/2110/5161 1382/1946/5162
+f 1382/1946/5162 1190/2110/5161 1383/2111/5163
+s 1257
+f 1190/2110/5164 1294/2112/5165 1383/2111/5166
+f 1383/2111/5166 1294/2112/5165 1497/2113/5167
+s 1258
+f 1298/1949/5168 1384/2114/5169 797/1785/5170
+f 797/1785/5170 1384/2114/5169 1502/2115/5171
+s 1259
+f 1192/1784/5172 1299/1786/5173 1386/2116/5174
+f 1386/2116/5174 1299/1786/5173 1387/2117/5175
+s 1260
+f 1299/1786/5176 697/1470/5177 1387/2117/5178
+f 1387/2117/5178 697/1470/5177 1300/1951/5179
+s 1261
+f 1193/2119/5180 1301/2120/5181 1389/2118/5182
+f 1389/2118/5182 1301/2120/5181 1390/2121/5183
+s 1262
+f 1301/2120/5184 1093/1954/5185 1390/2121/5186
+f 1390/2121/5186 1093/1954/5185 1302/1953/5187
+s 1263
+f 1304/2122/5188 1510/2123/5189 894/1309/5190
+f 1194/1957/5191 894/1309/5190 1510/2123/5189
+s 1264
+f 1094/1791/5192 1305/1793/5193 1228/2124/5194
+f 1228/2124/5194 1305/1793/5193 1327/1993/5195
+s 1265
+f 1305/1793/5196 1195/1792/5197 1392/2125/5198
+f 1392/2125/5198 1195/1792/5197 1511/2126/5199
+s 1266
+f 1198/1794/5200 1394/2127/5201 1201/1795/5202
+f 1201/1795/5202 1394/2127/5201 1395/2128/5203
+s 1267
+f 1097/2130/5204 1308/2131/5205 1307/2129/5206
+f 1307/2129/5206 1308/2131/5205 1514/2132/5207
+s 1268
+f 1201/1801/5208 1395/2133/5209 1310/1802/5210
+f 1310/1802/5210 1395/2133/5209 1517/2134/5211
+s 1269
+f 1203/1810/5212 1313/1822/5213 1204/1811/5214
+f 1204/1811/5214 1313/1822/5213 1113/1519/5215
+s 1270
+f 1311/2135/5216 1396/2136/5217 1102/1968/5218
+f 1102/1968/5218 1396/2136/5217 1312/1969/5219
+s 1271
+f 1207/1819/5220 1397/2137/5221 1206/1816/5222
+f 1206/1816/5222 1397/2137/5221 1398/2138/5223
+s 1272
+f 1206/1816/5224 1398/2138/5225 1208/1817/5226
+f 1208/1817/5226 1398/2138/5225 1400/1971/5227
+s 1273
+f 1312/1969/5228 1399/2139/5229 1207/1819/5230
+f 1207/1819/5230 1399/2139/5229 1397/2137/5231
+s 1274
+f 1209/1655/5232 1314/1823/5233 1318/1974/5234
+f 1318/1974/5234 1314/1823/5233 1520/2140/5235
+s 1275
+f 1212/1827/5236 1401/2141/5237 1210/1824/5238
+f 1210/1824/5238 1401/2141/5237 1402/2142/5239
+s 1276
+f 1210/1824/5240 1402/2142/5241 1211/1825/5242
+f 1211/1825/5242 1402/2142/5241 1403/2143/5243
+s 1277
+f 1211/1825/5244 1403/2143/5245 1315/1826/5246
+f 1315/1826/5246 1403/2143/5245 1521/2144/5247
+s 1278
+f 1311/2135/5248 1213/2145/5249 1396/2136/5250
+f 1396/2136/5250 1213/2145/5249 1405/2146/5251
+s 1279
+f 1213/2145/5252 1319/2147/5253 1405/2146/5254
+f 1405/2146/5254 1319/2147/5253 1406/2148/5255
+s 1280
+f 1319/2147/5256 1216/2149/5257 1406/2148/5258
+f 1406/2148/5258 1216/2149/5257 1407/2150/5259
+s 1281
+f 1320/1979/5260 1407/2150/5261 1219/1980/5262
+f 1219/1980/5262 1407/2150/5261 1216/2149/5263
+s 1282
+f 1321/1982/5264 1220/1841/5265 1408/2151/5266
+f 1408/2151/5266 1220/1841/5265 1409/2152/5267
+s 1283
+f 1220/1841/5268 1322/1844/5269 1409/2152/5270
+f 1409/2152/5270 1322/1844/5269 1413/2153/5271
+s 1284
+f 1222/1685/5272 1410/2154/5273 1221/1847/5274
+f 1221/1847/5274 1410/2154/5273 1324/1983/5275
+s 1285
+f 1223/1850/5276 1412/2155/5277 1224/1851/5278
+f 1224/1851/5278 1412/2155/5277 1413/2153/5279
+s 1286
+f 1224/1851/5280 1413/2153/5281 1323/1846/5282
+f 1323/1846/5282 1413/2153/5281 1322/1844/5283
+s 1287
+f 1134/1564/5284 1229/1853/5285 1329/1861/5286
+f 1329/1861/5286 1229/1853/5285 1419/2156/5287
+s 1288
+f 1229/1853/5288 1230/1854/5289 1419/2156/5290
+f 1419/2156/5290 1230/1854/5289 1328/1997/5291
+s 1289
+f 1231/1855/5292 1420/2157/5293 1235/1860/5294
+f 1235/1860/5294 1420/2157/5293 1425/2158/5295
+s 1290
+f 1232/1856/5296 1421/2159/5297 1231/1855/5298
+f 1231/1855/5298 1421/2159/5297 1420/2157/5299
+s 1291
+f 1233/1857/5300 1422/2160/5301 1232/1856/5302
+f 1232/1856/5302 1422/2160/5301 1421/2159/5303
+s 1292
+f 1234/1858/5304 1423/2161/5305 1233/1857/5306
+f 1233/1857/5306 1423/2161/5305 1422/2160/5307
+s 1293
+f 1316/1859/5308 1424/2162/5309 1234/1858/5310
+f 1234/1858/5310 1424/2162/5309 1423/2161/5311
+s 1294
+f 1235/1860/5312 1425/2158/5313 1328/1997/5314
+f 1328/1997/5314 1425/2158/5313 1530/2163/5315
+s 1295
+f 1329/1861/5316 1426/2164/5317 1236/1706/5318
+f 1236/1706/5318 1426/2164/5317 1330/1998/5319
+s 1296
+f 1243/1864/5320 1432/2165/5321 1241/1714/5322
+f 1241/1714/5322 1432/2165/5321 1431/2007/5323
+s 1297
+f 1333/2010/5324 1434/2166/5325 1243/1864/5326
+f 1243/1864/5326 1434/2166/5325 1432/2165/5327
+s 1298
+f 1242/1716/5328 1335/2013/5329 1433/2009/5330
+f 1433/2009/5330 1335/2013/5329 1540/2167/5331
+s 1299
+f 1144/2169/5332 1331/2170/5333 1340/2168/5334
+f 1340/2168/5334 1331/2170/5333 1544/2171/5335
+s 1300
+f 1339/2020/5336 1246/2019/5337 1437/2172/5338
+f 1437/2172/5338 1246/2019/5337 1438/2173/5339
+s 1301
+f 1246/1867/5340 1247/1868/5341 1438/2174/5342
+f 1438/2174/5342 1247/1868/5341 1439/2175/5343
+s 1302
+f 1247/1868/5344 1248/1869/5345 1439/2175/5346
+f 1439/2175/5346 1248/1869/5345 1440/2176/5347
+s 1303
+f 1248/1869/5348 1340/1871/5349 1440/2176/5350
+f 1440/2176/5350 1340/1871/5349 1546/2177/5351
+s 1304
+f 1341/2021/5352 1249/1872/5353 1441/2178/5354
+f 1441/2178/5354 1249/1872/5353 1442/2179/5355
+s 1305
+f 1249/1872/5356 1250/1873/5357 1442/2179/5358
+f 1442/2179/5358 1250/1873/5357 1548/2180/5359
+s 1306
+f 1250/2182/5360 1251/2022/5361 1443/2181/5362
+f 1443/2181/5362 1251/2022/5361 1446/2025/5363
+s 1307
+f 1341/2021/5364 1444/2183/5365 1146/1727/5366
+f 1146/1727/5366 1444/2183/5365 1060/1584/5367
+s 1308
+f 1342/2185/5368 1147/2186/5369 1445/2184/5370
+f 1445/2184/5370 1147/2186/5369 1343/2187/5371
+s 1309
+f 1343/2026/5372 1252/1875/5373 1447/2188/5374
+f 1447/2188/5374 1252/1875/5373 1448/2189/5375
+s 1310
+f 1252/1875/5376 1344/1876/5377 1448/2189/5378
+f 1448/2189/5378 1344/1876/5377 1553/2190/5379
+s 1311
+f 1262/1741/5380 1358/2053/5381 1253/1877/5382
+f 1253/1877/5382 1358/2053/5381 1555/2191/5383
+s 1312
+f 1149/1585/5384 1060/1584/5385 1450/2030/5386
+f 1450/2030/5386 1060/1584/5385 1444/2183/5387
+s 1313
+f 1347/2031/5388 1451/2192/5389 1254/1879/5390
+f 1254/1879/5390 1451/2192/5389 1351/2038/5391
+s 1314
+f 1347/2194/5392 1255/2195/5393 1452/2193/5394
+f 1452/2193/5394 1255/2195/5393 1456/2196/5395
+s 1315
+f 1348/2198/5396 1256/2199/5397 1453/2197/5398
+f 1453/2197/5398 1256/2199/5397 1560/2200/5399
+s 1316
+f 1345/2201/5400 1455/2202/5401 1256/2199/5402
+f 1256/2199/5402 1455/2202/5401 1560/2200/5403
+s 1317
+f 1350/2204/5404 1457/2205/5405 1257/2203/5406
+f 1257/2203/5406 1457/2205/5405 1458/2206/5407
+s 1318
+f 1257/2208/5408 1458/2209/5409 1349/2207/5410
+f 1349/2207/5410 1458/2209/5409 1566/2210/5411
+s 1319
+f 1353/1891/5412 1460/2211/5413 1258/1888/5414
+f 1258/1888/5414 1460/2211/5413 1570/2212/5415
+s 1320
+f 1259/2214/5416 1339/2215/5417 1461/2213/5418
+f 1461/2213/5418 1339/2215/5417 1545/2216/5419
+s 1321
+f 1353/1891/5420 1259/1893/5421 1460/2211/5422
+f 1460/2211/5422 1259/1893/5421 1461/2217/5423
+s 1322
+f 1260/2051/5424 1354/2218/5425 1462/2052/5426
+f 1462/2052/5426 1354/2218/5425 1571/2219/5427
+s 1323
+f 1261/1737/5428 1459/2043/5429 1356/2048/5430
+f 1356/2048/5430 1459/2043/5429 1573/2220/5431
+s 1324
+f 1359/1916/5432 1464/2221/5433 1263/1898/5434
+f 1263/1898/5434 1464/2221/5433 1465/2222/5435
+s 1325
+f 1263/1898/5436 1465/2222/5437 1264/1899/5438
+f 1264/1899/5438 1465/2222/5437 1577/2223/5439
+s 1326
+f 1264/1899/5440 1466/2224/5441 1265/1900/5442
+f 1265/1900/5442 1466/2224/5441 1467/2225/5443
+s 1327
+f 1265/1901/5444 1467/2226/5445 1266/1744/5446
+f 1266/1744/5446 1467/2226/5445 1468/2055/5447
+s 1328
+f 1271/1903/5448 1269/1902/5449 1470/2227/5450
+f 1470/2227/5450 1269/1902/5449 1579/2228/5451
+s 1329
+f 1270/1774/5452 1271/1903/5453 1471/2229/5454
+f 1471/2229/5454 1271/1903/5453 1470/2227/5455
+s 1330
+f 1268/1746/5456 1360/1904/5457 1469/2056/5458
+f 1469/2056/5458 1360/1904/5457 1472/2230/5459
+s 1331
+f 1360/1904/5460 1272/2057/5461 1472/2230/5462
+f 1472/2230/5462 1272/2057/5461 1473/2231/5463
+s 1332
+f 1272/2057/5464 1361/2232/5465 1473/2231/5466
+f 1473/2231/5466 1361/2232/5465 1580/2233/5467
+s 1333
+f 1273/1907/5468 1274/1908/5469 1475/2234/5470
+f 1475/2234/5470 1274/1908/5469 1362/1909/5471
+s 1334
+f 1363/2059/5472 1477/2235/5473 1163/1750/5474
+f 1163/1750/5474 1477/2235/5473 1365/1911/5475
+s 1335
+f 1364/2237/5476 1276/1910/5477 1478/2236/5478
+f 1478/2236/5478 1276/1910/5477 1479/2238/5479
+s 1336
+f 1276/1910/5480 1365/1911/5481 1479/2238/5482
+f 1479/2238/5482 1365/1911/5481 1477/2235/5483
+s 1337
+f 1277/2067/5484 1364/2237/5485 1480/2068/5486
+f 1480/2068/5486 1364/2237/5485 1478/2236/5487
+s 1338
+f 1368/2069/5488 1481/2239/5489 1278/1912/5490
+f 1278/1912/5490 1481/2239/5489 1369/2071/5491
+s 1339
+f 1167/1758/5492 1372/2076/5493 1371/1914/5494
+f 1371/1914/5494 1372/2076/5493 1591/2240/5495
+s 1340
+f 1371/2241/5496 1483/2242/5497 1168/1915/5498
+f 1168/1915/5498 1483/2242/5497 1359/1916/5499
+s 1341
+f 1172/2244/5500 1286/2096/5501 1373/2243/5502
+f 1373/2243/5502 1286/2096/5501 1487/2099/5503
+s off
+f 3/3/5504 1281/1918/5505 1/1/5506
+s 1342
+f 1281/2246/5507 3/2247/5508 1374/2245/5509
+f 1374/2245/5509 3/2247/5508 12/2248/5510
+s off
+f 16/2249/5511 1177/2092/5512 20/2091/5513
+s 1343
+f 18/2090/5514 1282/2089/5515 23/2251/5516
+f 23/2251/5516 1282/2089/5515 1375/2250/5517
+s 1344
+f 1283/1921/5518 1284/1922/5519 1485/2252/5520
+f 1485/2252/5520 1284/1922/5519 1376/2253/5521
+s 1345
+f 1375/2093/5522 1283/1921/5523 1486/2254/5524
+f 1486/2254/5524 1283/1921/5523 1485/2252/5525
+s 1346
+f 1285/1919/5526 1484/2088/5527 1287/1923/5528
+f 1287/1923/5528 1484/2088/5527 1488/2255/5529
+s 1347
+f 1287/1923/5530 1488/2255/5531 1377/1924/5532
+f 1377/1924/5532 1488/2255/5531 1595/2256/5533
+s 1348
+f 1471/2260/5534 1489/2257/5535 1270/2259/5536
+f 1489/2257/5535 1288/2258/5537 1270/2259/5536
+s 1349
+f 1183/1925/5538 1288/1928/5539 1490/2261/5540
+f 1490/2261/5540 1288/1928/5539 1489/2262/5541
+s 1350
+f 1183/2264/5542 1491/2265/5543 1378/2263/5544
+f 1378/2263/5544 1491/2265/5543 1596/2266/5545
+s 1351
+f 1379/2268/5546 1289/2100/5547 1493/2267/5548
+f 1493/2267/5548 1289/2100/5547 1492/2103/5549
+s 1352
+f 1379/2104/5550 1494/2269/5551 1290/2105/5552
+f 1290/2105/5552 1494/2269/5551 1292/2270/5553
+s 1353
+f 1381/2272/5554 1292/2270/5555 1495/2271/5556
+f 1495/2271/5556 1292/2270/5555 1494/2269/5557
+s 1354
+f 1295/2274/5558 1293/2275/5559 1496/2273/5560
+f 1496/2273/5560 1293/2275/5559 1599/2276/5561
+s 1355
+f 1294/2112/5562 1295/2274/5563 1497/2113/5564
+f 1497/2113/5564 1295/2274/5563 1496/2273/5565
+s 1356
+f 1297/2278/5566 1296/2279/5567 1498/2277/5568
+f 1498/2277/5568 1296/2279/5567 1604/2280/5569
+s 1357
+f 1382/2281/5570 1499/2282/5571 1296/2279/5572
+f 1296/2279/5572 1499/2282/5571 1604/2280/5573
+s 1358
+f 1302/1953/5574 1297/1947/5575 1500/2283/5576
+f 1500/2283/5576 1297/1947/5575 1603/2284/5577
+s 1359
+f 1384/2286/5578 1298/2287/5579 1501/2285/5580
+f 1501/2285/5580 1298/2287/5579 1503/2288/5581
+s 1360
+f 1298/2287/5582 1385/2289/5583 1503/2288/5584
+f 1503/2288/5584 1385/2289/5583 1504/2290/5585
+s 1361
+f 1385/2289/5586 1192/2291/5587 1504/2290/5588
+f 1504/2290/5588 1192/2291/5587 1386/2292/5589
+s 1362
+f 1387/2294/5590 1300/2295/5591 1505/2293/5592
+f 1505/2293/5592 1300/2295/5591 1506/2296/5593
+s 1363
+f 1300/2295/5594 1388/2297/5595 1506/2296/5596
+f 1506/2296/5596 1388/2297/5595 1609/2298/5597
+s 1364
+f 1193/2119/5598 1389/2118/5599 1388/2297/5600
+f 1388/2297/5600 1389/2118/5599 1609/2298/5601
+s 1365
+f 1390/2121/5602 1302/1953/5603 1507/2299/5604
+f 1507/2299/5604 1302/1953/5603 1500/2283/5605
+s off
+f 1303/1956/5606 797/1785/5607 1508/2300/5608
+f 1304/2122/5609 894/1309/5610 1614/2301/5611
+s 1366
+f 894/1309/5612 1303/2302/5613 1614/2301/5614
+f 1303/2302/5613 1509/2303/5615 1614/2301/5614
+s 1367
+f 1195/1792/5616 1391/1958/5617 1511/2126/5618
+f 1511/2126/5618 1391/1958/5617 1512/2304/5619
+s 1368
+f 1391/1958/5620 1194/1957/5621 1512/2304/5622
+f 1512/2304/5622 1194/1957/5621 1615/2305/5623
+s 1369
+f 1392/2125/5624 1417/1994/5625 1305/1793/5626
+f 1305/1793/5626 1417/1994/5625 1327/1993/5627
+s 1370
+f 1198/1794/5628 1393/1959/5629 1394/2127/5630
+f 1394/2127/5630 1393/1959/5629 1619/2306/5631
+s 1371
+f 1196/2308/5632 1306/2309/5633 1393/2307/5634
+f 1393/2307/5634 1306/2309/5633 1513/2310/5635
+s 1372
+f 1306/2309/5636 1307/2129/5637 1513/2310/5638
+f 1513/2310/5638 1307/2129/5637 1514/2132/5639
+s 1373
+f 1308/2312/5640 1309/2313/5641 1515/2311/5642
+f 1515/2311/5642 1309/2313/5641 1516/2314/5643
+s 1374
+f 1309/2313/5644 1310/2315/5645 1516/2314/5646
+f 1516/2314/5646 1310/2315/5645 1517/2316/5647
+s 1375
+f 1396/2136/5648 1518/2317/5649 1312/1969/5650
+f 1312/1969/5650 1518/2317/5649 1399/2139/5651
+s 1376
+f 1400/1971/5652 1519/2318/5653 1212/1827/5654
+f 1212/1827/5654 1519/2318/5653 1401/2141/5655
+s 1377
+f 1314/1823/5656 1315/1826/5657 1520/2140/5658
+f 1520/2140/5658 1315/1826/5657 1521/2144/5659
+s 1378
+f 1317/1972/5660 1522/2319/5661 1316/1859/5662
+f 1316/1859/5662 1522/2319/5661 1424/2162/5663
+s 1379
+f 1317/1972/5664 1404/1973/5665 1522/2319/5666
+f 1522/2319/5666 1404/1973/5665 1630/2320/5667
+s 1380
+f 1318/1974/5668 1523/2321/5669 1404/1973/5670
+f 1404/1973/5670 1523/2321/5669 1630/2320/5671
+s 1381
+f 1407/2150/5672 1320/1979/5673 1524/2322/5674
+f 1524/2322/5674 1320/1979/5673 1525/2323/5675
+s 1382
+f 1320/1979/5676 1321/1982/5677 1525/2323/5678
+f 1525/2323/5678 1321/1982/5677 1408/2151/5679
+s 1383
+f 1222/1987/5680 1414/1988/5681 1410/2324/5682
+f 1410/2324/5682 1414/1988/5681 1636/2325/5683
+s 1384
+f 1410/2327/5684 1526/2328/5685 1324/2326/5686
+f 1324/2326/5686 1526/2328/5685 1527/2329/5687
+s 1385
+f 1324/1983/5688 1527/2330/5689 1325/1984/5690
+f 1325/1984/5690 1527/2330/5689 1528/2331/5691
+s 1386
+f 1223/1850/5692 1411/1986/5693 1412/2155/5694
+f 1412/2155/5694 1411/1986/5693 1638/2332/5695
+s 1387
+f 1325/1984/5696 1528/2331/5697 1411/1986/5698
+f 1411/1986/5698 1528/2331/5697 1639/2333/5699
+s 1388
+f 1225/1689/5700 1415/1990/5701 1414/1988/5702
+f 1414/1988/5702 1415/1990/5701 1640/2334/5703
+s 1389
+f 1326/1995/5704 1418/1996/5705 1415/2335/5706
+f 1415/2335/5706 1418/1996/5705 1641/2336/5707
+s 1390
+f 1227/1991/5708 1416/1992/5709 1418/2337/5710
+f 1418/2337/5710 1416/1992/5709 1642/2338/5711
+s 1391
+f 1226/1693/5712 1529/2339/5713 1416/1992/5714
+f 1416/1992/5714 1529/2339/5713 1643/2340/5715
+s 1392
+f 1226/1693/5716 1417/1994/5717 1529/2339/5718
+f 1529/2339/5718 1417/1994/5717 1617/2341/5719
+s 1393
+f 1328/1997/5720 1530/2163/5721 1419/2156/5722
+f 1419/2156/5722 1530/2163/5721 1531/2342/5723
+s 1394
+f 1426/2164/5724 1329/1861/5725 1531/2342/5726
+f 1531/2342/5726 1329/1861/5725 1419/2156/5727
+s 1395
+f 1426/2164/5728 1532/2343/5729 1330/1998/5730
+f 1330/1998/5730 1532/2343/5729 1533/2344/5731
+s 1396
+f 1330/1998/5732 1533/2344/5733 1334/1999/5734
+f 1334/1999/5734 1533/2344/5733 1539/2345/5735
+s 1397
+f 1331/2000/5736 1427/2001/5737 1534/2346/5738
+f 1534/2346/5738 1427/2001/5737 1652/2347/5739
+s 1398
+f 1237/2349/5740 1428/2350/5741 1427/2348/5742
+f 1427/2348/5742 1428/2350/5741 1654/2351/5743
+s 1399
+f 1238/2003/5744 1429/2004/5745 1428/2352/5746
+f 1428/2352/5746 1429/2004/5745 1655/2353/5747
+s 1400
+f 1239/1711/5748 1336/2005/5749 1429/2004/5750
+f 1429/2004/5750 1336/2005/5749 1541/2354/5751
+s 1401
+f 1245/1721/5752 1430/2006/5753 1436/2018/5754
+f 1436/2018/5754 1430/2006/5753 1656/2355/5755
+s 1402
+f 1430/2006/5756 1240/1712/5757 1535/2356/5758
+f 1535/2356/5758 1240/1712/5757 1431/2007/5759
+s 1403
+f 1332/2358/5760 1433/2359/5761 1536/2357/5762
+f 1536/2357/5762 1433/2359/5761 1659/2360/5763
+s 1404
+f 1333/2010/5764 1332/2011/5765 1537/2361/5766
+f 1537/2361/5766 1332/2011/5765 1536/2362/5767
+s 1405
+f 1434/2166/5768 1333/2010/5769 1538/2363/5770
+f 1538/2363/5770 1333/2010/5769 1537/2361/5771
+s 1406
+f 1334/1999/5772 1539/2345/5773 1435/2012/5774
+f 1435/2012/5774 1539/2345/5773 1335/2013/5775
+s 1407
+f 1336/2014/5776 1337/2015/5777 1541/2364/5778
+f 1541/2364/5778 1337/2015/5777 1542/2365/5779
+s 1408
+f 1337/2015/5780 1338/2016/5781 1542/2365/5782
+f 1542/2365/5782 1338/2016/5781 1543/2366/5783
+s 1409
+f 1338/2017/5784 1436/2018/5785 1543/2367/5786
+f 1543/2367/5786 1436/2018/5785 1662/2368/5787
+s 1410
+f 1339/2215/5788 1437/2369/5789 1545/2216/5790
+f 1545/2216/5790 1437/2369/5789 1664/2370/5791
+s 1411
+f 1441/2372/5792 1547/2373/5793 1341/2371/5794
+f 1341/2371/5794 1547/2373/5793 1549/2374/5795
+s 1412
+f 1250/1873/5796 1443/2375/5797 1548/2180/5798
+f 1548/2180/5798 1443/2375/5797 1669/2376/5799
+s 1413
+f 1341/2378/5800 1549/2379/5801 1444/2377/5802
+f 1444/2377/5802 1549/2379/5801 1670/2380/5803
+s 1414
+f 1342/2382/5804 1445/2383/5805 1550/2381/5806
+f 1550/2381/5806 1445/2383/5805 1671/2384/5807
+s 1415
+f 1446/2025/5808 1342/2024/5809 1551/2385/5810
+f 1551/2385/5810 1342/2024/5809 1550/2386/5811
+s 1416
+f 1445/2184/5812 1343/2187/5813 1552/2387/5814
+f 1552/2387/5814 1343/2187/5813 1447/2388/5815
+s 1417
+f 1344/1876/5816 1449/2028/5817 1553/2190/5818
+f 1553/2190/5818 1449/2028/5817 1673/2389/5819
+s 1418
+f 1449/2391/5820 1253/2392/5821 1554/2390/5822
+f 1554/2390/5822 1253/2392/5821 1555/2393/5823
+s 1419
+f 1345/1884/5824 1346/2029/5825 1556/2394/5826
+f 1556/2394/5826 1346/2029/5825 1557/2395/5827
+s 1420
+f 1346/2029/5828 1450/2030/5829 1557/2395/5830
+f 1557/2395/5830 1450/2030/5829 1677/2396/5831
+s 1421
+f 1451/2398/5832 1347/2194/5833 1558/2397/5834
+f 1558/2397/5834 1347/2194/5833 1452/2193/5835
+s 1422
+f 1453/2399/5836 1559/2400/5837 1348/2033/5838
+f 1348/2033/5838 1559/2400/5837 1682/2401/5839
+s 1423
+f 1454/2034/5840 1348/2033/5841 1561/2402/5842
+f 1561/2402/5842 1348/2033/5841 1682/2401/5843
+s 1424
+f 1455/2404/5844 1345/2405/5845 1562/2403/5846
+f 1562/2403/5846 1345/2405/5845 1556/2406/5847
+s 1425
+f 1456/2408/5848 1349/2207/5849 1563/2407/5850
+f 1563/2407/5850 1349/2207/5849 1566/2210/5851
+s 1426
+f 1457/2205/5852 1350/2204/5853 1564/2409/5854
+f 1564/2409/5854 1350/2204/5853 1565/2410/5855
+s 1427
+f 1350/2037/5856 1454/2034/5857 1565/2411/5858
+f 1565/2411/5858 1454/2034/5857 1561/2402/5859
+s 1428
+f 1451/2192/5860 1567/2412/5861 1351/2038/5862
+f 1351/2038/5862 1567/2412/5861 1688/2413/5863
+s 1429
+f 1352/2039/5864 1351/2038/5865 1568/2414/5866
+f 1568/2414/5866 1351/2038/5865 1688/2413/5867
+s 1430
+f 1352/2039/5868 1568/2414/5869 1362/2041/5870
+f 1362/2041/5870 1568/2414/5869 1475/2415/5871
+s 1431
+f 1459/2417/5872 1258/2418/5873 1569/2416/5874
+f 1569/2416/5874 1258/2418/5873 1570/2419/5875
+s 1432
+f 1354/2421/5876 1355/2422/5877 1572/2420/5878
+f 1572/2420/5878 1355/2422/5877 1463/2423/5879
+s 1433
+f 1463/2047/5880 1356/2048/5881 1572/2424/5882
+f 1572/2424/5882 1356/2048/5881 1573/2220/5883
+s 1434
+f 1357/2049/5884 1574/2426/5885 1358/2425/5886
+f 1358/2425/5886 1574/2426/5885 1675/2427/5887
+s 1435
+f 1357/2049/5888 1462/2052/5889 1575/2428/5890
+f 1575/2428/5890 1462/2052/5889 1692/2429/5891
+s 1436
+f 1464/2221/5892 1359/1916/5893 1576/2430/5894
+f 1576/2430/5894 1359/1916/5893 1483/2242/5895
+s 1437
+f 1264/1899/5896 1577/2223/5897 1466/2224/5898
+f 1466/2224/5898 1577/2223/5897 1697/2431/5899
+s 1438
+f 1275/1752/5900 1468/2055/5901 1476/2060/5902
+f 1476/2060/5902 1468/2055/5901 1700/2432/5903
+s 1439
+f 1469/2056/5904 1578/2433/5905 1269/1902/5906
+f 1269/1902/5906 1578/2433/5905 1579/2228/5907
+s 1440
+f 1361/2232/5908 1474/2434/5909 1580/2233/5910
+f 1580/2233/5910 1474/2434/5909 1707/2435/5911
+s 1441
+f 1273/1907/5912 1475/2234/5913 1474/2058/5914
+f 1474/2058/5914 1475/2234/5913 1707/2436/5915
+s 1442
+f 1476/2438/5916 1581/2439/5917 1363/2437/5918
+f 1363/2437/5918 1581/2439/5917 1709/2440/5919
+s 1443
+f 1363/2442/5920 1582/2443/5921 1477/2441/5922
+f 1477/2441/5922 1582/2443/5921 1711/2444/5923
+s 1444
+f 1368/2446/5924 1366/2063/5925 1583/2445/5926
+f 1583/2445/5926 1366/2063/5925 1584/2447/5927
+s 1445
+f 1366/2063/5928 1367/2066/5929 1584/2447/5930
+f 1584/2447/5930 1367/2066/5929 1714/2448/5931
+s 1446
+f 1480/2068/5932 1585/2449/5933 1367/2066/5934
+f 1367/2066/5934 1585/2449/5933 1714/2448/5935
+s 1447
+f 1481/2239/5936 1368/2069/5937 1586/2450/5938
+f 1586/2450/5938 1368/2069/5937 1583/2451/5939
+s 1448
+f 1481/2239/5940 1587/2452/5941 1369/2071/5942
+f 1369/2071/5942 1587/2452/5941 1588/2453/5943
+s 1449
+f 1369/2071/5944 1588/2453/5945 1482/2072/5946
+f 1482/2072/5946 1588/2453/5945 1716/2454/5947
+s 1450
+f 1372/2076/5948 1370/2073/5949 1589/2455/5950
+f 1589/2455/5950 1370/2073/5949 1590/2456/5951
+s 1451
+f 1370/2073/5952 1482/2075/5953 1590/2456/5954
+f 1590/2456/5954 1482/2075/5953 1717/2457/5955
+s 1452
+f 1483/2459/5956 1371/1914/5957 1592/2458/5958
+f 1592/2458/5958 1371/1914/5957 1591/2240/5959
+s 1453
+f 1373/2460/5960 1593/2461/5961 1376/2253/5962
+f 1376/2253/5962 1593/2461/5961 1485/2252/5963
+s off
+f 1280/1769/5964 4/2083/5965 5/2082/5966
+f 11/2462/5967 1374/2245/5968 12/2248/5969
+s 1454
+f 1484/2088/5970 1374/2087/5971 1488/2255/5972
+f 1488/2255/5972 1374/2087/5971 1719/2463/5973
+s off
+f 24/2464/5974 1375/2250/5975 1486/2465/5976
+s 1455
+f 1487/2467/5977 1377/1924/5978 1594/2466/5979
+f 1594/2466/5979 1377/1924/5978 1595/2256/5980
+s 1456
+f 1183/1628/5981 1490/2469/5982 1491/2468/5983
+f 1491/2468/5983 1490/2469/5982 1721/2470/5984
+s 1457
+f 1492/2103/5985 1378/2102/5986 1597/2471/5987
+f 1597/2471/5987 1378/2102/5986 1659/2472/5988
+s 1458
+f 1493/2267/5989 1598/2473/5990 1379/2268/5991
+f 1379/2268/5991 1598/2473/5990 1494/2474/5992
+s 1459
+f 1293/2275/5993 1380/2475/5994 1599/2276/5995
+f 1599/2276/5995 1380/2475/5994 1600/2476/5996
+s 1460
+f 1380/2475/5997 1381/2272/5998 1600/2476/5999
+f 1600/2476/5999 1381/2272/5998 1495/2271/6000
+s 1461
+f 1382/1946/6001 1383/2111/6002 1601/2477/6003
+f 1601/2477/6003 1383/2111/6002 1602/2478/6004
+s 1462
+f 1383/2111/6005 1497/2113/6006 1602/2478/6007
+f 1602/2478/6007 1497/2113/6006 1729/2479/6008
+s 1463
+f 1297/2481/6009 1498/2482/6010 1603/2480/6011
+f 1603/2480/6011 1498/2482/6010 1730/2483/6012
+s 1464
+f 1499/2282/6013 1382/2281/6014 1605/2484/6015
+f 1605/2484/6015 1382/2281/6014 1601/2485/6016
+s 1465
+f 1501/2285/6017 1606/2486/6018 1384/2286/6019
+f 1384/2286/6019 1606/2486/6018 1502/2487/6020
+s 1466
+f 1502/2115/6021 1607/2488/6022 797/1785/6023
+f 797/1785/6023 1607/2488/6022 1508/2300/6024
+s 1467
+f 1386/2292/6025 1608/2489/6026 1504/2290/6027
+f 1504/2290/6027 1608/2489/6026 1738/2490/6028
+s 1468
+f 1386/2292/6029 1387/2294/6030 1608/2489/6031
+f 1608/2489/6031 1387/2294/6030 1505/2293/6032
+s 1469
+f 1390/2492/6033 1610/2493/6034 1389/2491/6035
+f 1389/2491/6035 1610/2493/6034 1743/2494/6036
+s 1470
+f 1507/2299/6037 1611/2495/6038 1390/2121/6039
+f 1390/2121/6039 1611/2495/6038 1610/2496/6040
+s off
+f 1303/2302/6041 1612/2497/6042 1509/2303/6043
+f 1303/2302/6044 1613/2498/6045 1612/2497/6046
+s 1471
+f 1194/1957/6047 1510/2123/6048 1615/2305/6049
+f 1615/2305/6049 1510/2123/6048 1750/2499/6050
+s 1472
+f 1304/2122/6051 1616/2500/6052 1510/2123/6053
+f 1510/2123/6053 1616/2500/6052 1750/2499/6054
+s 1473
+f 1417/2502/6055 1392/2503/6056 1617/2501/6057
+f 1617/2501/6057 1392/2503/6056 1618/2504/6058
+s 1474
+f 1392/2503/6059 1511/2505/6060 1618/2504/6061
+f 1618/2504/6061 1511/2505/6060 1753/2506/6062
+s 1475
+f 1394/2127/6063 1619/2306/6064 1395/2128/6065
+f 1395/2128/6065 1619/2306/6064 1620/2507/6066
+s 1476
+f 1308/2312/6067 1515/2311/6068 1514/2508/6069
+f 1514/2508/6069 1515/2311/6068 1754/2509/6070
+s 1477
+f 1395/2128/6071 1620/2507/6072 1517/2316/6073
+f 1517/2316/6073 1620/2507/6072 1516/2314/6074
+s 1478
+f 1396/2136/6075 1405/2146/6076 1518/2317/6077
+f 1518/2317/6077 1405/2146/6076 1631/2510/6078
+s 1479
+f 1399/2139/6079 1621/2511/6080 1397/2137/6081
+f 1397/2137/6081 1621/2511/6080 1622/2512/6082
+s 1480
+f 1397/2137/6083 1622/2512/6084 1398/2138/6085
+f 1398/2138/6085 1622/2512/6084 1623/2513/6086
+s 1481
+f 1398/2138/6087 1623/2513/6088 1400/1971/6089
+f 1400/1971/6089 1623/2513/6088 1519/2318/6090
+s 1482
+f 1518/2317/6091 1624/2514/6092 1399/2139/6093
+f 1399/2139/6093 1624/2514/6092 1621/2511/6094
+s 1483
+f 1520/2140/6095 1625/2515/6096 1318/1974/6097
+f 1318/1974/6097 1625/2515/6096 1523/2321/6098
+s 1484
+f 1519/2318/6099 1626/2516/6100 1401/2141/6101
+f 1401/2141/6101 1626/2516/6100 1627/2517/6102
+s 1485
+f 1401/2141/6103 1627/2517/6104 1402/2142/6105
+f 1402/2142/6105 1627/2517/6104 1756/2518/6106
+s 1486
+f 1403/2143/6107 1402/2142/6108 1628/2519/6109
+f 1628/2519/6109 1402/2142/6108 1756/2518/6110
+s 1487
+f 1521/2144/6111 1403/2143/6112 1629/2520/6113
+f 1629/2520/6113 1403/2143/6112 1628/2519/6114
+s 1488
+f 1405/2146/6115 1406/2148/6116 1631/2510/6117
+f 1631/2510/6117 1406/2148/6116 1632/2521/6118
+s 1489
+f 1406/2148/6119 1407/2150/6120 1632/2521/6121
+f 1632/2521/6121 1407/2150/6120 1524/2322/6122
+s 1490
+f 1633/2522/6123 1634/2523/6124 1408/2151/6125
+f 1408/2151/6125 1634/2523/6124 1525/2323/6126
+s 1491
+f 1635/2524/6127 1633/2522/6128 1409/2152/6129
+f 1409/2152/6129 1633/2522/6128 1408/2151/6130
+s 1492
+f 1409/2152/6131 1413/2153/6132 1635/2524/6133
+f 1635/2524/6133 1413/2153/6132 1412/2155/6134
+s 1493
+f 1526/2328/6135 1410/2327/6136 1637/2525/6137
+f 1637/2525/6137 1410/2327/6136 1636/2526/6138
+s 1494
+f 1421/2159/6139 1644/2527/6140 1420/2157/6141
+f 1420/2157/6141 1644/2527/6140 1645/2528/6142
+s 1495
+f 1420/2157/6143 1645/2528/6144 1425/2158/6145
+f 1425/2158/6145 1645/2528/6144 1650/2529/6146
+s 1496
+f 1422/2160/6147 1646/2530/6148 1421/2159/6149
+f 1421/2159/6149 1646/2530/6148 1644/2527/6150
+s 1497
+f 1423/2161/6151 1647/2531/6152 1422/2160/6153
+f 1422/2160/6153 1647/2531/6152 1646/2530/6154
+s 1498
+f 1424/2162/6155 1648/2532/6156 1423/2161/6157
+f 1423/2161/6157 1648/2532/6156 1647/2531/6158
+s 1499
+f 1522/2319/6159 1649/2533/6160 1424/2162/6161
+f 1424/2162/6161 1649/2533/6160 1648/2532/6162
+s 1500
+f 1425/2158/6163 1650/2529/6164 1530/2163/6165
+f 1530/2163/6165 1650/2529/6164 1767/2534/6166
+s 1501
+f 1531/2342/6167 1651/2535/6168 1426/2164/6169
+f 1426/2164/6169 1651/2535/6168 1532/2343/6170
+s 1502
+f 1534/2346/6171 1653/2536/6172 1331/2000/6173
+f 1331/2000/6173 1653/2536/6172 1544/2537/6174
+s 1503
+f 1430/2006/6175 1535/2356/6176 1657/2538/6177
+f 1657/2538/6177 1535/2356/6176 1772/2539/6178
+s 1504
+f 1431/2007/6179 1432/2165/6180 1535/2356/6181
+f 1535/2356/6181 1432/2165/6180 1773/2540/6182
+s 1505
+f 1434/2166/6183 1658/2541/6184 1432/2165/6185
+f 1432/2165/6185 1658/2541/6184 1773/2540/6186
+s 1506
+f 1538/2363/6187 1660/2542/6188 1434/2166/6189
+f 1434/2166/6189 1660/2542/6188 1658/2541/6190
+s 1507
+f 1540/2167/6191 1335/2013/6192 1661/2543/6193
+f 1661/2543/6193 1335/2013/6192 1539/2345/6194
+s 1508
+f 1540/2545/6195 1597/2546/6196 1433/2544/6197
+f 1433/2544/6197 1597/2546/6196 1659/2547/6198
+s 1509
+f 1544/2171/6199 1663/2548/6200 1340/2168/6201
+f 1340/2168/6201 1663/2548/6200 1546/2549/6202
+s 1510
+f 1437/2172/6203 1438/2173/6204 1665/2550/6205
+f 1665/2550/6205 1438/2173/6204 1439/2551/6206
+s 1511
+f 1439/2175/6207 1440/2176/6208 1665/2552/6209
+f 1665/2552/6209 1440/2176/6208 1546/2177/6210
+s 1512
+f 1547/2373/6211 1441/2372/6212 1666/2553/6213
+f 1666/2553/6213 1441/2372/6212 1667/2554/6214
+s 1513
+f 1441/2178/6215 1442/2179/6216 1667/2555/6217
+f 1667/2555/6217 1442/2179/6216 1668/2556/6218
+s 1514
+f 1442/2179/6219 1548/2180/6220 1668/2556/6221
+f 1668/2556/6221 1548/2180/6220 1783/2557/6222
+s 1515
+f 1446/2025/6223 1551/2385/6224 1443/2181/6225
+f 1443/2181/6225 1551/2385/6224 1785/2558/6226
+s 1516
+f 1445/2383/6227 1552/2559/6228 1671/2384/6229
+f 1671/2384/6229 1552/2559/6228 1788/2560/6230
+s 1517
+f 1447/2388/6231 1448/2561/6232 1552/2387/6233
+f 1552/2387/6233 1448/2561/6232 1672/2562/6234
+s 1518
+f 1448/2189/6235 1553/2190/6236 1672/2563/6237
+f 1672/2563/6237 1553/2190/6236 1673/2389/6238
+s 1519
+f 1554/2390/6239 1674/2564/6240 1449/2391/6241
+f 1449/2391/6241 1674/2564/6240 1673/2565/6242
+s 1520
+f 1358/2425/6243 1675/2427/6244 1555/2566/6245
+f 1555/2566/6245 1675/2427/6244 1791/2567/6246
+s 1521
+f 1450/2569/6247 1444/2377/6248 1676/2568/6249
+f 1676/2568/6249 1444/2377/6248 1670/2380/6250
+s 1522
+f 1558/2397/6251 1678/2570/6252 1451/2398/6253
+f 1451/2398/6253 1678/2570/6252 1567/2571/6254
+s 1523
+f 1558/2397/6255 1452/2193/6256 1679/2572/6257
+f 1679/2572/6257 1452/2193/6256 1796/2573/6258
+s 1524
+f 1452/2575/6259 1456/2408/6260 1680/2574/6261
+f 1680/2574/6261 1456/2408/6260 1563/2407/6262
+s 1525
+f 1559/2577/6263 1453/2578/6264 1681/2576/6265
+f 1681/2576/6265 1453/2578/6264 1798/2579/6266
+s 1526
+f 1560/2200/6267 1683/2580/6268 1453/2197/6269
+f 1453/2197/6269 1683/2580/6268 1798/2581/6270
+s 1527
+f 1562/2583/6271 1684/2584/6272 1455/2582/6273
+f 1455/2582/6273 1684/2584/6272 1685/2585/6274
+s 1528
+f 1455/2582/6275 1685/2585/6276 1560/2586/6277
+f 1560/2586/6277 1685/2585/6276 1683/2587/6278
+s 1529
+f 1564/2589/6279 1686/2590/6280 1457/2588/6281
+f 1457/2588/6281 1686/2590/6280 1687/2591/6282
+s 1530
+f 1457/2592/6283 1687/2593/6284 1458/2209/6285
+f 1458/2209/6285 1687/2593/6284 1566/2210/6286
+s 1531
+f 1569/2416/6287 1689/2594/6288 1459/2417/6289
+f 1459/2417/6289 1689/2594/6288 1573/2595/6290
+s 1532
+f 1460/2597/6291 1690/2598/6292 1570/2596/6293
+f 1570/2596/6293 1690/2598/6292 1810/2599/6294
+s 1533
+f 1461/2213/6295 1691/2600/6296 1460/2597/6297
+f 1460/2597/6297 1691/2600/6296 1690/2598/6298
+s 1534
+f 1461/2213/6299 1545/2216/6300 1534/2346/6301
+f 1534/2346/6301 1545/2216/6300 1653/2536/6302
+s 1535
+f 1462/2052/6303 1571/2219/6304 1692/2429/6305
+f 1692/2429/6305 1571/2219/6304 1809/2601/6306
+s 1536
+f 1354/2218/6307 1572/2602/6308 1571/2219/6309
+f 1571/2219/6309 1572/2602/6308 1809/2601/6310
+s 1537
+f 1574/2426/6311 1357/2049/6312 1693/2603/6313
+f 1693/2603/6313 1357/2049/6312 1575/2428/6314
+s 1538
+f 1576/2430/6315 1694/2604/6316 1464/2221/6317
+f 1464/2221/6317 1694/2604/6316 1695/2605/6318
+s 1539
+f 1464/2221/6319 1695/2605/6320 1465/2222/6321
+f 1465/2222/6321 1695/2605/6320 1696/2606/6322
+s 1540
+f 1465/2222/6323 1696/2606/6324 1577/2223/6325
+f 1577/2223/6325 1696/2606/6324 1813/2607/6326
+s 1541
+f 1467/2226/6327 1466/2609/6328 1698/2608/6329
+f 1698/2608/6329 1466/2609/6328 1815/2610/6330
+s 1542
+f 1467/2226/6331 1699/2611/6332 1468/2055/6333
+f 1468/2055/6333 1699/2611/6332 1700/2432/6334
+s 1543
+f 1578/2433/6335 1469/2056/6336 1701/2612/6337
+f 1701/2612/6337 1469/2056/6336 1472/2230/6338
+s 1544
+f 1470/2613/6339 1702/2614/6340 1471/2260/6341
+f 1471/2260/6341 1702/2614/6340 1704/2615/6342
+s off
+f 1703/2616/6343 1470/2227/6344 1579/2228/6345
+s 1545
+f 1471/2260/6346 1704/2615/6347 1489/2257/6348
+f 1489/2257/6348 1704/2615/6347 1490/2617/6349
+s 1546
+f 1473/2231/6350 1705/2618/6351 1472/2230/6352
+f 1472/2230/6352 1705/2618/6351 1701/2612/6353
+s 1547
+f 1580/2233/6354 1706/2619/6355 1473/2231/6356
+f 1473/2231/6356 1706/2619/6355 1705/2618/6357
+s 1548
+f 1475/2415/6358 1568/2414/6359 1707/2620/6360
+f 1707/2620/6360 1568/2414/6359 1808/2621/6361
+s 1549
+f 1581/2439/6362 1476/2438/6363 1708/2622/6364
+f 1708/2622/6364 1476/2438/6363 1700/2623/6365
+s 1550
+f 1582/2443/6366 1363/2442/6367 1710/2624/6368
+f 1710/2624/6368 1363/2442/6367 1709/2625/6369
+s 1551
+f 1480/2627/6370 1478/2628/6371 1712/2626/6372
+f 1712/2626/6372 1478/2628/6371 1713/2629/6373
+s 1552
+f 1478/2628/6374 1479/2630/6375 1713/2629/6376
+f 1713/2629/6376 1479/2630/6375 1822/2631/6377
+s 1553
+f 1477/2235/6378 1711/2632/6379 1479/2238/6380
+f 1479/2238/6380 1711/2632/6379 1821/2633/6381
+s 1554
+f 1480/2068/6382 1712/2634/6383 1585/2449/6384
+f 1585/2449/6384 1712/2634/6383 1825/2635/6385
+s 1555
+f 1586/2450/6386 1715/2636/6387 1481/2239/6388
+f 1481/2239/6388 1715/2636/6387 1587/2452/6389
+s 1556
+f 1372/2076/6390 1589/2455/6391 1591/2240/6392
+f 1591/2240/6392 1589/2455/6391 1831/2637/6393
+s 1557
+f 1592/2638/6394 1718/2639/6395 1483/2242/6396
+f 1483/2242/6396 1718/2639/6395 1576/2430/6397
+s 1558
+f 1373/2460/6398 1487/2467/6399 1593/2461/6400
+f 1593/2461/6400 1487/2467/6399 1594/2466/6401
+s 1559
+f 17/2640/6402 1719/2641/6403 11/2462/6404
+f 11/2462/6404 1719/2641/6403 1374/2245/6405
+s off
+f 23/2251/6406 1375/2250/6407 24/2464/6408
+s 1560
+f 1486/2254/6409 1485/2252/6410 1720/2642/6411
+f 1720/2642/6411 1485/2252/6410 1593/2461/6412
+s off
+f 24/24/6413 1486/2254/6414 22/22/6415
+s 1561
+f 1488/2255/6416 1719/2463/6417 1595/2256/6418
+f 1595/2256/6418 1719/2463/6417 1594/2466/6419
+s 1562
+f 1596/2266/6420 1722/2643/6421 1378/2263/6422
+f 1378/2263/6422 1722/2643/6421 1659/2644/6423
+s 1563
+f 1596/2266/6424 1491/2265/6425 1723/2645/6426
+f 1723/2645/6426 1491/2265/6425 1837/2646/6427
+s 1564
+f 1493/2267/6428 1492/2103/6429 1724/2647/6430
+f 1724/2647/6430 1492/2103/6429 1597/2471/6431
+s 1565
+f 1493/2267/6432 1724/2647/6433 1598/2473/6434
+f 1598/2473/6434 1724/2647/6433 1838/2648/6435
+s 1566
+f 1598/2473/6436 1725/2649/6437 1494/2474/6438
+f 1494/2474/6438 1725/2649/6437 1495/2650/6439
+s 1567
+f 1600/2476/6440 1495/2271/6441 1726/2651/6442
+f 1726/2651/6442 1495/2271/6441 1840/2652/6443
+s 1568
+f 1599/2654/6444 1727/2655/6445 1496/2653/6446
+f 1496/2653/6446 1727/2655/6445 1842/2656/6447
+s 1569
+f 1497/2658/6448 1496/2653/6449 1728/2657/6450
+f 1728/2657/6450 1496/2653/6449 1842/2656/6451
+s 1570
+f 1604/2280/6452 1731/2659/6453 1498/2277/6454
+f 1498/2277/6454 1731/2659/6453 1847/2660/6455
+s 1571
+f 1499/2282/6456 1605/2484/6457 1732/2661/6458
+f 1732/2661/6458 1605/2484/6457 1848/2662/6459
+s 1572
+f 1604/2280/6460 1499/2282/6461 1731/2659/6462
+f 1731/2659/6462 1499/2282/6461 1732/2661/6463
+s 1573
+f 1507/2299/6464 1500/2283/6465 1733/2663/6466
+f 1733/2663/6466 1500/2283/6465 1734/2664/6467
+s 1574
+f 1500/2283/6468 1603/2284/6469 1734/2664/6470
+f 1734/2664/6470 1603/2284/6469 1846/2665/6471
+s 1575
+f 1606/2486/6472 1501/2285/6473 1735/2666/6474
+f 1735/2666/6474 1501/2285/6473 1736/2667/6475
+s 1576
+f 1501/2285/6476 1503/2288/6477 1736/2667/6478
+f 1736/2667/6478 1503/2288/6477 1737/2668/6479
+s 1577
+f 1502/2487/6480 1606/2486/6481 1607/2669/6482
+f 1607/2669/6482 1606/2486/6481 1745/2670/6483
+s 1578
+f 1503/2288/6484 1504/2290/6485 1737/2668/6486
+f 1737/2668/6486 1504/2290/6485 1738/2490/6487
+s 1579
+f 1505/2672/6488 1739/2673/6489 1608/2671/6490
+f 1608/2671/6490 1739/2673/6489 1851/2674/6491
+s 1580
+f 1505/2293/6492 1506/2296/6493 1740/2675/6494
+f 1740/2675/6494 1506/2296/6493 1741/2676/6495
+s 1581
+f 1506/2296/6496 1609/2298/6497 1741/2676/6498
+f 1741/2676/6498 1609/2298/6497 1852/2677/6499
+s 1582
+f 1609/2679/6500 1389/2491/6501 1742/2678/6502
+f 1742/2678/6502 1389/2491/6501 1743/2494/6503
+s 1583
+f 1611/2495/6504 1507/2299/6505 1744/2680/6506
+f 1744/2680/6506 1507/2299/6505 1733/2663/6507
+s 1584
+f 1607/2669/6508 1745/2670/6509 1508/2681/6510
+f 1508/2681/6510 1745/2670/6509 1747/2682/6511
+s off
+f 1303/2302/6512 1746/2683/6513 1613/2498/6514
+s 1585
+f 1303/2302/6515 1508/2681/6516 1746/2683/6517
+f 1746/2683/6517 1508/2681/6516 1747/2682/6518
+s 1586
+f 1304/2122/6519 1614/2301/6520 1616/2500/6521
+f 1616/2500/6521 1614/2301/6520 1749/2684/6522
+s 1587
+f 1509/2303/6523 1612/2497/6524 1748/2685/6525
+f 1748/2685/6525 1612/2497/6524 1857/2686/6526
+s 1588
+f 1614/2301/6527 1509/2303/6528 1749/2684/6529
+f 1749/2684/6529 1509/2303/6528 1748/2685/6530
+s 1589
+f 1512/2687/6531 1751/2688/6532 1511/2505/6533
+f 1511/2505/6533 1751/2688/6532 1753/2506/6534
+s 1590
+f 1512/2304/6535 1615/2305/6536 1752/2689/6537
+f 1752/2689/6537 1615/2305/6536 1858/2690/6538
+s 1591
+f 1393/1959/6539 1513/2691/6540 1619/2306/6541
+f 1619/2306/6541 1513/2691/6540 1861/2692/6542
+s 1592
+f 1514/2132/6543 1754/2693/6544 1513/2310/6545
+f 1513/2310/6545 1754/2693/6544 1861/2694/6546
+s 1593
+f 1515/2311/6547 1516/2314/6548 1754/2509/6549
+f 1754/2509/6549 1516/2314/6548 1620/2507/6550
+s 1594
+f 1518/2317/6551 1631/2510/6552 1624/2514/6553
+f 1624/2514/6553 1631/2510/6552 1864/2695/6554
+s 1595
+f 1623/2513/6555 1755/2696/6556 1519/2318/6557
+f 1519/2318/6557 1755/2696/6556 1626/2516/6558
+s 1596
+f 1521/2144/6559 1629/2520/6560 1520/2140/6561
+f 1520/2140/6561 1629/2520/6560 1625/2515/6562
+s 1597
+f 1630/2320/6563 1757/2697/6564 1522/2319/6565
+f 1522/2319/6565 1757/2697/6564 1649/2533/6566
+s 1598
+f 1625/2515/6567 1758/2698/6568 1523/2321/6569
+f 1523/2321/6569 1758/2698/6568 1759/2699/6570
+s 1599
+f 1523/2321/6571 1759/2699/6572 1630/2320/6573
+f 1630/2320/6573 1759/2699/6572 1757/2697/6574
+s 1600
+f 1760/2700/6575 1761/2701/6576 1524/2322/6577
+f 1524/2322/6577 1761/2701/6576 1632/2521/6578
+s 1601
+f 1634/2523/6579 1760/2700/6580 1525/2323/6581
+f 1525/2323/6581 1760/2700/6580 1524/2322/6582
+s 1602
+f 1633/2522/6583 1762/2702/6584 1634/2523/6585
+f 1634/2523/6585 1762/2702/6584 1871/2703/6586
+s 1603
+f 1635/2524/6587 1763/2704/6588 1633/2522/6589
+f 1633/2522/6589 1763/2704/6588 1762/2702/6590
+s 1604
+f 1414/1988/6591 1640/2334/6592 1636/2325/6593
+f 1636/2325/6593 1640/2334/6592 1872/2705/6594
+s 1605
+f 1526/2706/6595 1637/2707/6596 1529/2339/6597
+f 1529/2339/6597 1637/2707/6596 1643/2340/6598
+s 1606
+f 1526/2328/6599 1764/2708/6600 1527/2329/6601
+f 1527/2329/6601 1764/2708/6600 1874/2709/6602
+s 1607
+f 1528/2711/6603 1527/2712/6604 1765/2710/6605
+f 1765/2710/6605 1527/2712/6604 1874/2713/6606
+s 1608
+f 1412/2155/6607 1638/2332/6608 1635/2524/6609
+f 1635/2524/6609 1638/2332/6608 1763/2704/6610
+s 1609
+f 1411/1986/6611 1639/2333/6612 1638/2332/6613
+f 1638/2332/6613 1639/2333/6612 1875/2714/6614
+s 1610
+f 1639/2333/6615 1528/2331/6616 1766/2715/6617
+f 1766/2715/6617 1528/2331/6616 1765/2716/6618
+s 1611
+f 1415/1990/6619 1641/2717/6620 1640/2334/6621
+f 1640/2334/6621 1641/2717/6620 1872/2705/6622
+s 1612
+f 1418/2337/6623 1642/2338/6624 1641/2718/6625
+f 1641/2718/6625 1642/2338/6624 1876/2719/6626
+s 1613
+f 1416/1992/6627 1643/2340/6628 1642/2338/6629
+f 1642/2338/6629 1643/2340/6628 1876/2719/6630
+s 1614
+f 1529/2339/6631 1617/2341/6632 1526/2706/6633
+f 1526/2706/6633 1617/2341/6632 1764/2720/6634
+s 1615
+f 1530/2163/6635 1767/2534/6636 1531/2342/6637
+f 1531/2342/6637 1767/2534/6636 1651/2535/6638
+s 1616
+f 1651/2535/6639 1768/2721/6640 1532/2343/6641
+f 1532/2343/6641 1768/2721/6640 1769/2722/6642
+s 1617
+f 1532/2343/6643 1769/2722/6644 1533/2344/6645
+f 1533/2344/6645 1769/2722/6644 1770/2723/6646
+s 1618
+f 1533/2344/6647 1770/2723/6648 1539/2345/6649
+f 1539/2345/6649 1770/2723/6648 1661/2543/6650
+s 1619
+f 1427/2001/6651 1654/2724/6652 1652/2347/6653
+f 1652/2347/6653 1654/2724/6652 1886/2725/6654
+s 1620
+f 1534/2346/6655 1652/2347/6656 1461/2213/6657
+f 1461/2213/6657 1652/2347/6656 1691/2600/6658
+s 1621
+f 1654/2727/6659 1428/2352/6660 1771/2726/6661
+f 1771/2726/6661 1428/2352/6660 1655/2353/6662
+s 1622
+f 1429/2004/6663 1541/2354/6664 1655/2353/6665
+f 1655/2353/6665 1541/2354/6664 1778/2728/6666
+s 1623
+f 1436/2018/6667 1656/2355/6668 1662/2368/6669
+f 1662/2368/6669 1656/2355/6668 1889/2729/6670
+s 1624
+f 1430/2006/6671 1657/2538/6672 1656/2355/6673
+f 1656/2355/6673 1657/2538/6672 1890/2730/6674
+s 1625
+f 1659/2360/6675 1774/2731/6676 1536/2357/6677
+f 1536/2357/6677 1774/2731/6676 1895/2732/6678
+s 1626
+f 1537/2734/6679 1536/2735/6680 1775/2733/6681
+f 1775/2733/6681 1536/2735/6680 1895/2736/6682
+s 1627
+f 1538/2738/6683 1537/2734/6684 1776/2737/6685
+f 1776/2737/6685 1537/2734/6684 1775/2733/6686
+s 1628
+f 1660/2740/6687 1538/2738/6688 1777/2739/6689
+f 1777/2739/6689 1538/2738/6688 1776/2737/6690
+s 1629
+f 1661/2741/6691 1724/2742/6692 1540/2545/6693
+f 1540/2545/6693 1724/2742/6692 1597/2546/6694
+s 1630
+f 1541/2364/6695 1542/2365/6696 1778/2743/6697
+f 1778/2743/6697 1542/2365/6696 1779/2744/6698
+s 1631
+f 1542/2365/6699 1543/2366/6700 1779/2744/6701
+f 1779/2744/6701 1543/2366/6700 1780/2745/6702
+s 1632
+f 1543/2367/6703 1662/2368/6704 1780/2746/6705
+f 1780/2746/6705 1662/2368/6704 1897/2747/6706
+s 1633
+f 1544/2537/6707 1653/2536/6708 1663/2748/6709
+f 1663/2748/6709 1653/2536/6708 1898/2749/6710
+s 1634
+f 1545/2216/6711 1664/2370/6712 1653/2536/6713
+f 1653/2536/6713 1664/2370/6712 1898/2749/6714
+s 1635
+f 1437/2172/6715 1665/2550/6716 1664/2750/6717
+f 1664/2750/6717 1665/2550/6716 1898/2751/6718
+s 1636
+f 1546/2752/6719 1663/2753/6720 1665/2550/6721
+f 1665/2550/6721 1663/2753/6720 1898/2751/6722
+s 1637
+f 1547/2755/6723 1666/2756/6724 1781/2754/6725
+f 1781/2754/6725 1666/2756/6724 1900/2757/6726
+s off
+f 1782/2758/6727 1549/2374/6728 1547/2373/6729
+s 1638
+f 1548/2180/6730 1669/2376/6731 1783/2557/6732
+f 1783/2557/6732 1669/2376/6731 1902/2759/6733
+s 1639
+f 1669/2761/6734 1443/2762/6735 1784/2760/6736
+f 1784/2760/6736 1443/2762/6735 1785/2763/6737
+s off
+f 1670/2380/6738 1549/2379/6739 1782/2764/6740
+s 1640
+f 1550/2381/6741 1786/2766/6742 1551/2765/6743
+f 1551/2765/6743 1786/2766/6742 1904/2767/6744
+s 1641
+f 1550/2381/6745 1671/2384/6746 1787/2768/6747
+f 1787/2768/6747 1671/2384/6746 1790/2769/6748
+s 1642
+f 1674/2771/6749 1554/2772/6750 1789/2770/6751
+f 1789/2770/6751 1554/2772/6750 1790/2769/6752
+s 1643
+f 1554/2772/6753 1555/2566/6754 1790/2769/6755
+f 1790/2769/6755 1555/2566/6754 1787/2768/6756
+s 1644
+f 1450/2030/6757 1676/2773/6758 1677/2396/6759
+f 1677/2396/6759 1676/2773/6758 1908/2774/6760
+s 1645
+f 1562/2403/6761 1556/2406/6762 1792/2775/6763
+f 1792/2775/6763 1556/2406/6762 1793/2776/6764
+s 1646
+f 1556/2394/6765 1557/2395/6766 1793/2777/6767
+f 1793/2777/6767 1557/2395/6766 1794/2778/6768
+s 1647
+f 1557/2395/6769 1677/2396/6770 1794/2778/6771
+f 1794/2778/6771 1677/2396/6770 1909/2779/6772
+s 1648
+f 1678/2570/6773 1558/2397/6774 1795/2780/6775
+f 1795/2780/6775 1558/2397/6774 1679/2572/6776
+s 1649
+f 1452/2782/6777 1680/2783/6778 1796/2781/6779
+f 1796/2781/6779 1680/2783/6778 1913/2784/6780
+s 1650
+f 1681/2576/6781 1797/2785/6782 1559/2577/6783
+f 1559/2577/6783 1797/2785/6782 1915/2786/6784
+s 1651
+f 1682/2401/6785 1559/2400/6786 1799/2787/6787
+f 1799/2787/6787 1559/2400/6786 1915/2788/6788
+s 1652
+f 1565/2411/6789 1561/2402/6790 1800/2789/6791
+f 1800/2789/6791 1561/2402/6790 1801/2790/6792
+s 1653
+f 1561/2402/6793 1682/2401/6794 1801/2790/6795
+f 1801/2790/6795 1682/2401/6794 1799/2787/6796
+s 1654
+f 1684/2584/6797 1562/2583/6798 1802/2791/6799
+f 1802/2791/6799 1562/2583/6798 1792/2792/6800
+s 1655
+f 1680/2574/6801 1563/2407/6802 1803/2793/6803
+f 1803/2793/6803 1563/2407/6802 1804/2794/6804
+s 1656
+f 1563/2407/6805 1566/2210/6806 1804/2794/6807
+f 1804/2794/6807 1566/2210/6806 1687/2593/6808
+s 1657
+f 1686/2590/6809 1564/2589/6810 1805/2795/6811
+f 1805/2795/6811 1564/2589/6810 1921/2796/6812
+s 1658
+f 1565/2410/6813 1800/2797/6814 1564/2409/6815
+f 1564/2409/6815 1800/2797/6814 1921/2798/6816
+s 1659
+f 1678/2570/6817 1806/2799/6818 1567/2571/6819
+f 1567/2571/6819 1806/2799/6818 1807/2800/6820
+s 1660
+f 1567/2571/6821 1807/2800/6822 1688/2801/6823
+f 1688/2801/6823 1807/2800/6822 1925/2802/6824
+s 1661
+f 1568/2414/6825 1688/2413/6826 1808/2621/6827
+f 1808/2621/6827 1688/2413/6826 1926/2803/6828
+s 1662
+f 1689/2804/6829 1569/2805/6830 1809/2601/6831
+f 1809/2601/6831 1569/2805/6830 1692/2429/6832
+s 1663
+f 1569/2805/6833 1570/2596/6834 1692/2429/6835
+f 1692/2429/6835 1570/2596/6834 1575/2428/6836
+s 1664
+f 1573/2807/6837 1689/2808/6838 1572/2806/6839
+f 1572/2806/6839 1689/2808/6838 1809/2809/6840
+s 1665
+f 1693/2603/6841 1811/2810/6842 1574/2426/6843
+f 1574/2426/6843 1811/2810/6842 1812/2811/6844
+s 1666
+f 1574/2426/6845 1812/2811/6846 1675/2427/6847
+f 1675/2427/6847 1812/2811/6846 1907/2812/6848
+s 1667
+f 1693/2603/6849 1575/2428/6850 1810/2599/6851
+f 1810/2599/6851 1575/2428/6850 1570/2596/6852
+s 1668
+f 1576/2430/6853 1718/2639/6854 1694/2604/6855
+f 1694/2604/6855 1718/2639/6854 1930/2813/6856
+s 1669
+f 1577/2815/6857 1813/2816/6858 1697/2814/6859
+f 1697/2814/6859 1813/2816/6858 1814/2817/6860
+s 1670
+f 1697/2814/6861 1814/2817/6862 1466/2609/6863
+f 1466/2609/6863 1814/2817/6862 1815/2610/6864
+s 1671
+f 1467/2226/6865 1698/2608/6866 1699/2611/6867
+f 1699/2611/6867 1698/2608/6866 1934/2818/6868
+s off
+f 1816/2819/6869 1578/2433/6870 1701/2612/6871
+f 1579/2228/6872 1578/2433/6873 1703/2616/6874
+s 1672
+f 1470/2613/6875 1817/2820/6876 1702/2614/6877
+f 1702/2614/6877 1817/2820/6876 1940/2821/6878
+s off
+f 1818/2822/6879 1470/2227/6880 1703/2616/6881
+s 1673
+f 1706/2619/6882 1580/2233/6883 1808/2823/6884
+f 1808/2823/6884 1580/2233/6883 1707/2435/6885
+s 1674
+f 1581/2439/6886 1708/2622/6887 1819/2824/6888
+f 1819/2824/6888 1708/2622/6887 1944/2825/6889
+s 1675
+f 1581/2826/6890 1819/2827/6891 1709/2625/6892
+f 1709/2625/6892 1819/2827/6891 1945/2828/6893
+s 1676
+f 1710/2624/6894 1820/2829/6895 1582/2443/6896
+f 1582/2443/6896 1820/2829/6895 1946/2830/6897
+s 1677
+f 1711/2444/6898 1582/2443/6899 1821/2831/6900
+f 1821/2831/6900 1582/2443/6899 1946/2830/6901
+s 1678
+f 1586/2450/6902 1583/2451/6903 1823/2832/6904
+f 1823/2832/6904 1583/2451/6903 1584/2833/6905
+s 1679
+f 1714/2448/6906 1824/2834/6907 1584/2447/6908
+f 1584/2447/6908 1824/2834/6907 1823/2835/6909
+s 1680
+f 1585/2449/6910 1826/2836/6911 1714/2448/6912
+f 1714/2448/6912 1826/2836/6911 1824/2834/6913
+s 1681
+f 1715/2636/6914 1586/2450/6915 1827/2837/6916
+f 1827/2837/6916 1586/2450/6915 1823/2832/6917
+s 1682
+f 1715/2636/6918 1828/2838/6919 1587/2452/6920
+f 1587/2452/6920 1828/2838/6919 1829/2839/6921
+s 1683
+f 1587/2452/6922 1829/2839/6923 1588/2453/6924
+f 1588/2453/6924 1829/2839/6923 1830/2840/6925
+s 1684
+f 1482/2072/6926 1716/2454/6927 1717/2841/6928
+f 1717/2841/6928 1716/2454/6927 1952/2842/6929
+s 1685
+f 1588/2453/6930 1830/2840/6931 1716/2454/6932
+f 1716/2454/6932 1830/2840/6931 1953/2843/6933
+s 1686
+f 1589/2455/6934 1590/2456/6935 1832/2844/6936
+f 1832/2844/6936 1590/2456/6935 1833/2845/6937
+s 1687
+f 1590/2456/6938 1717/2457/6939 1833/2845/6940
+f 1833/2845/6940 1717/2457/6939 1954/2846/6941
+s 1688
+f 1592/2458/6942 1591/2240/6943 1834/2847/6944
+f 1834/2847/6944 1591/2240/6943 1831/2637/6945
+s 1689
+f 1592/2638/6946 1835/2848/6947 1718/2639/6948
+f 1718/2639/6948 1835/2848/6947 1955/2849/6949
+s off
+f 22/22/6950 1719/2463/6951 17/18/6952
+f 22/22/6953 1486/2254/6954 1720/2642/6955
+s 1690
+f 1593/2461/6956 1594/2466/6957 1720/2642/6958
+f 1720/2642/6958 1594/2466/6957 1719/2463/6959
+s 1691
+f 1490/2469/6960 1704/2850/6961 1721/2470/6962
+f 1721/2470/6962 1704/2850/6961 1702/2851/6963
+s 1692
+f 1721/2470/6964 1836/2852/6965 1491/2468/6966
+f 1491/2468/6966 1836/2852/6965 1837/2853/6967
+s 1693
+f 1596/2266/6968 1723/2645/6969 1722/2643/6970
+f 1722/2643/6970 1723/2645/6969 1956/2854/6971
+s 1694
+f 1598/2473/6972 1838/2648/6973 1725/2649/6974
+f 1725/2649/6974 1838/2648/6973 1958/2855/6975
+s 1695
+f 1599/2276/6976 1600/2476/6977 1839/2856/6978
+f 1839/2856/6978 1600/2476/6977 1726/2651/6979
+s 1696
+f 1495/2858/6980 1725/2859/6981 1840/2857/6982
+f 1840/2857/6982 1725/2859/6981 1959/2860/6983
+s 1697
+f 1727/2862/6984 1599/2276/6985 1841/2861/6986
+f 1841/2861/6986 1599/2276/6985 1839/2856/6987
+s 1698
+f 1497/2864/6988 1728/2865/6989 1729/2863/6990
+f 1729/2863/6990 1728/2865/6989 1964/2866/6991
+s 1699
+f 1605/2868/6992 1601/2477/6993 1843/2867/6994
+f 1843/2867/6994 1601/2477/6993 1844/2869/6995
+s 1700
+f 1601/2477/6996 1602/2478/6997 1844/2869/6998
+f 1844/2869/6998 1602/2478/6997 1845/2870/6999
+s 1701
+f 1602/2478/7000 1729/2479/7001 1845/2870/7002
+f 1845/2870/7002 1729/2479/7001 1965/2871/7003
+s 1702
+f 1603/2480/7004 1730/2483/7005 1846/2872/7006
+f 1846/2872/7006 1730/2483/7005 1966/2873/7007
+s 1703
+f 1498/2482/7008 1847/2874/7009 1730/2483/7010
+f 1730/2483/7010 1847/2874/7009 1967/2875/7011
+s 1704
+f 1606/2486/7012 1735/2666/7013 1745/2670/7014
+f 1745/2670/7014 1735/2666/7013 1970/2876/7015
+s 1705
+f 1738/2878/7016 1608/2671/7017 1849/2877/7018
+f 1849/2877/7018 1608/2671/7017 1851/2674/7019
+s 1706
+f 1739/2880/7020 1505/2293/7021 1850/2879/7022
+f 1850/2879/7022 1505/2293/7021 1740/2675/7023
+s 1707
+f 1609/2882/7024 1742/2883/7025 1852/2881/7026
+f 1852/2881/7026 1742/2883/7025 1980/2884/7027
+s 1708
+f 1610/2493/7028 1611/2886/7029 1853/2885/7030
+f 1853/2885/7030 1611/2886/7029 1855/2887/7031
+s 1709
+f 1743/2494/7032 1610/2493/7033 1854/2888/7034
+f 1854/2888/7034 1610/2493/7033 1853/2885/7035
+s 1710
+f 1611/2886/7036 1744/2889/7037 1855/2887/7038
+f 1855/2887/7038 1744/2889/7037 1981/2890/7039
+s 1711
+f 1613/2498/7040 1856/2891/7041 1612/2497/7042
+f 1612/2497/7042 1856/2891/7041 1857/2686/7043
+s 1712
+f 1613/2498/7044 1746/2683/7045 1856/2891/7046
+f 1856/2891/7046 1746/2683/7045 1983/2892/7047
+s 1713
+f 1615/2305/7048 1750/2499/7049 1858/2690/7050
+f 1858/2690/7050 1750/2499/7049 1987/2893/7051
+s 1714
+f 1750/2895/7052 1616/2896/7053 1859/2894/7054
+f 1859/2894/7054 1616/2896/7053 1988/2897/7055
+s 1715
+f 1512/2304/7056 1752/2689/7057 1751/2898/7058
+f 1751/2898/7058 1752/2689/7057 1989/2899/7059
+s 1716
+f 1617/2501/7060 1618/2504/7061 1764/2900/7062
+f 1764/2900/7062 1618/2504/7061 1860/2901/7063
+s 1717
+f 1618/2504/7064 1753/2506/7065 1860/2901/7066
+f 1860/2901/7066 1753/2506/7065 1751/2688/7067
+s 1718
+f 1619/2306/7068 1861/2692/7069 1620/2507/7070
+f 1620/2507/7070 1861/2692/7069 1754/2509/7071
+s 1719
+f 1624/2514/7072 1862/2902/7073 1621/2511/7074
+f 1621/2511/7074 1862/2902/7073 1863/2903/7075
+s 1720
+f 1621/2511/7076 1863/2903/7077 1622/2512/7078
+f 1622/2512/7078 1863/2903/7077 1992/2904/7079
+s 1721
+f 1623/2513/7080 1622/2512/7081 1755/2696/7082
+f 1755/2696/7082 1622/2512/7081 1992/2904/7083
+s 1722
+f 1629/2520/7084 1865/2905/7085 1625/2515/7086
+f 1625/2515/7086 1865/2905/7085 1758/2698/7087
+s 1723
+f 1755/2696/7088 1866/2906/7089 1626/2516/7090
+f 1626/2516/7090 1866/2906/7089 1867/2907/7091
+s 1724
+f 1626/2516/7092 1867/2907/7093 1627/2517/7094
+f 1627/2517/7094 1867/2907/7093 1868/2908/7095
+s 1725
+f 1627/2517/7096 1868/2908/7097 1756/2518/7098
+f 1756/2518/7098 1868/2908/7097 1993/2909/7099
+s 1726
+f 1628/2519/7100 1756/2518/7101 1869/2910/7102
+f 1869/2910/7102 1756/2518/7101 1993/2909/7103
+s 1727
+f 1629/2520/7104 1628/2519/7105 1865/2905/7106
+f 1865/2905/7106 1628/2519/7105 1869/2910/7107
+s 1728
+f 1631/2510/7108 1632/2521/7109 1864/2695/7110
+f 1864/2695/7110 1632/2521/7109 1761/2701/7111
+s 1729
+f 1760/2700/7112 1870/2911/7113 1761/2701/7114
+f 1761/2701/7114 1870/2911/7113 1996/2912/7115
+s 1730
+f 1634/2523/7116 1871/2703/7117 1760/2700/7118
+f 1760/2700/7118 1871/2703/7117 1870/2911/7119
+s 1731
+f 1637/2525/7120 1636/2526/7121 1873/2913/7122
+f 1873/2913/7122 1636/2526/7121 1872/2914/7123
+s 1732
+f 1639/2333/7124 1766/2715/7125 1875/2714/7126
+f 1875/2714/7126 1766/2715/7125 2000/2915/7127
+s 1733
+f 1637/2707/7128 1873/2916/7129 1643/2340/7130
+f 1643/2340/7130 1873/2916/7129 1876/2719/7131
+s 1734
+f 1646/2530/7132 1877/2917/7133 1644/2527/7134
+f 1644/2527/7134 1877/2917/7133 1878/2918/7135
+s 1735
+f 1644/2527/7136 1878/2918/7137 1645/2528/7138
+f 1645/2528/7138 1878/2918/7137 1879/2919/7139
+s 1736
+f 1645/2528/7140 1879/2919/7141 1650/2529/7142
+f 1650/2529/7142 1879/2919/7141 1884/2920/7143
+s 1737
+f 1647/2531/7144 1880/2921/7145 1646/2530/7146
+f 1646/2530/7146 1880/2921/7145 1877/2917/7147
+s 1738
+f 1648/2532/7148 1881/2922/7149 1647/2531/7150
+f 1647/2531/7150 1881/2922/7149 1880/2921/7151
+s 1739
+f 1649/2533/7152 1882/2923/7153 1648/2532/7154
+f 1648/2532/7154 1882/2923/7153 1881/2922/7155
+s 1740
+f 1757/2697/7156 1883/2924/7157 1649/2533/7158
+f 1649/2533/7158 1883/2924/7157 1882/2923/7159
+s 1741
+f 1650/2529/7160 1884/2920/7161 1767/2534/7162
+f 1767/2534/7162 1884/2920/7161 1885/2925/7163
+s 1742
+f 1767/2534/7164 1885/2925/7165 1651/2535/7166
+f 1651/2535/7166 1885/2925/7165 1768/2721/7167
+s 1743
+f 1771/2726/7168 1887/2926/7169 1654/2727/7170
+f 1654/2727/7170 1887/2926/7169 1886/2927/7171
+s 1744
+f 1771/2726/7172 1655/2353/7173 1888/2928/7174
+f 1888/2928/7174 1655/2353/7173 1778/2728/7175
+s 1745
+f 1657/2538/7176 1772/2539/7177 1891/2929/7178
+f 1891/2929/7178 1772/2539/7177 1892/2930/7179
+s 1746
+f 1772/2539/7180 1535/2356/7181 1892/2930/7182
+f 1892/2930/7182 1535/2356/7181 1773/2540/7183
+s 1747
+f 1660/2542/7184 1893/2931/7185 1658/2541/7186
+f 1658/2541/7186 1893/2931/7185 1894/2932/7187
+s 1748
+f 1658/2541/7188 1894/2932/7189 1773/2540/7190
+f 1773/2540/7190 1894/2932/7189 2004/2933/7191
+s 1749
+f 1659/2935/7192 1722/2936/7193 1774/2934/7194
+f 1774/2934/7194 1722/2936/7193 2005/2937/7195
+s 1750
+f 1777/2739/7196 1896/2938/7197 1660/2740/7198
+f 1660/2740/7198 1896/2938/7197 1893/2939/7199
+s 1751
+f 1724/2647/7200 1661/2543/7201 1838/2648/7202
+f 1838/2648/7202 1661/2543/7201 1770/2723/7203
+s 1752
+f 1781/2754/7204 1899/2940/7205 1547/2755/7206
+f 1547/2755/7206 1899/2940/7205 1782/2941/7207
+s 1753
+f 1667/2554/7208 1668/2942/7209 1666/2553/7210
+f 1666/2553/7210 1668/2942/7209 1901/2943/7211
+s 1754
+f 1668/2556/7212 1783/2557/7213 1901/2944/7214
+f 1901/2944/7214 1783/2557/7213 1902/2759/7215
+s 1755
+f 1784/2760/7216 1903/2945/7217 1669/2761/7218
+f 1669/2761/7218 1903/2945/7217 1902/2946/7219
+s 1756
+f 1551/2765/7220 1904/2767/7221 1785/2947/7222
+f 1785/2947/7222 1904/2767/7221 2015/2948/7223
+s 1757
+f 1670/2380/7224 1905/2949/7225 1676/2568/7226
+f 1676/2568/7226 1905/2949/7225 2016/2950/7227
+s 1758
+f 1786/2766/7228 1550/2381/7229 1906/2951/7230
+f 1906/2951/7230 1550/2381/7229 1787/2768/7231
+s 1759
+f 1671/2384/7232 1788/2560/7233 1790/2769/7234
+f 1790/2769/7234 1788/2560/7233 1789/2770/7235
+s 1760
+f 1552/2559/7236 1672/2952/7237 1788/2560/7238
+f 1788/2560/7238 1672/2952/7237 1789/2770/7239
+s 1761
+f 1673/2953/7240 1674/2771/7241 1672/2952/7242
+f 1672/2952/7242 1674/2771/7241 1789/2770/7243
+s 1762
+f 1555/2566/7244 1791/2567/7245 1787/2768/7246
+f 1787/2768/7246 1791/2567/7245 1906/2951/7247
+s 1763
+f 1675/2427/7248 1907/2812/7249 1791/2567/7250
+f 1791/2567/7250 1907/2812/7249 2019/2954/7251
+s 1764
+f 1678/2956/7252 1795/2957/7253 1910/2955/7254
+f 1910/2955/7254 1795/2957/7253 2023/2958/7255
+s 1765
+f 1795/2780/7256 1679/2572/7257 1911/2959/7258
+f 1911/2959/7258 1679/2572/7257 2024/2960/7259
+s 1766
+f 1796/2573/7260 1912/2961/7261 1679/2572/7262
+f 1679/2572/7262 1912/2961/7261 2024/2960/7263
+s 1767
+f 1797/2963/7264 1681/2964/7265 1914/2962/7266
+f 1914/2962/7266 1681/2964/7265 1916/2965/7267
+s 1768
+f 1681/2964/7268 1798/2966/7269 1916/2965/7270
+f 1916/2965/7270 1798/2966/7269 1922/2967/7271
+s 1769
+f 1685/2585/7272 1917/2968/7273 1683/2587/7274
+f 1683/2587/7274 1917/2968/7273 1918/2969/7275
+s 1770
+f 1683/2587/7276 1918/2969/7277 1798/2966/7278
+f 1798/2966/7278 1918/2969/7277 2027/2970/7279
+s 1771
+f 1684/2584/7280 1802/2791/7281 1919/2971/7282
+f 1919/2971/7282 1802/2791/7281 2021/2972/7283
+s 1772
+f 1685/2585/7284 1684/2584/7285 1920/2973/7286
+f 1920/2973/7286 1684/2584/7285 1919/2971/7287
+s 1773
+f 1680/2783/7288 1803/2974/7289 1913/2784/7290
+f 1913/2784/7290 1803/2974/7289 2028/2975/7291
+s 1774
+f 1686/2590/7292 1805/2795/7293 1916/2965/7294
+f 1916/2965/7294 1805/2795/7293 1914/2962/7295
+s 1775
+f 1687/2591/7296 1686/2590/7297 1922/2967/7298
+f 1922/2967/7298 1686/2590/7297 1916/2965/7299
+s 1776
+f 1687/2591/7300 1923/2977/7301 1804/2976/7302
+f 1804/2976/7302 1923/2977/7301 2031/2978/7303
+s 1777
+f 1806/2980/7304 1678/2981/7305 1924/2979/7306
+f 1924/2979/7306 1678/2981/7305 1910/2982/7307
+s 1778
+f 1690/2598/7308 1691/2600/7309 1927/2983/7310
+f 1927/2983/7310 1691/2600/7309 1929/2984/7311
+s 1779
+f 1810/2599/7312 1690/2598/7313 1928/2985/7314
+f 1928/2985/7314 1690/2598/7313 1927/2983/7315
+s 1780
+f 1691/2600/7316 1652/2347/7317 1929/2984/7318
+f 1929/2984/7318 1652/2347/7317 1886/2725/7319
+s 1781
+f 1693/2603/7320 1810/2599/7321 1811/2810/7322
+f 1811/2810/7322 1810/2599/7321 1928/2985/7323
+s 1782
+f 1695/2987/7324 1694/2988/7325 1931/2986/7326
+f 1931/2986/7326 1694/2988/7325 2034/2989/7327
+s 1783
+f 1695/2987/7328 1931/2986/7329 1696/2990/7330
+f 1696/2990/7330 1931/2986/7329 1932/2991/7331
+s 1784
+f 1696/2990/7332 1932/2991/7333 1813/2816/7334
+f 1813/2816/7334 1932/2991/7333 2035/2992/7335
+s 1785
+f 1815/2610/7336 1933/2993/7337 1698/2608/7338
+f 1698/2608/7338 1933/2993/7337 2036/2994/7339
+s 1786
+f 1700/2432/7340 1699/2611/7341 1935/2995/7342
+f 1935/2995/7342 1699/2611/7341 2037/2996/7343
+s 1787
+f 1700/2623/7344 1936/2997/7345 1708/2622/7346
+f 1708/2622/7346 1936/2997/7345 2039/2998/7347
+s off
+f 1937/2999/7348 1578/2433/7349 1816/2819/7350
+f 1703/2616/7351 1578/2433/7352 1938/3000/7353
+s 1788
+f 1817/3001/7354 1470/2227/7355 2044/3003/7356
+f 2044/3003/7356 1470/2227/7355 1939/3002/7357
+s off
+f 1941/3004/7358 1470/2227/7359 1818/2822/7360
+f 1942/3005/7361 1703/2616/7362 2048/3006/7363
+f 1701/3007/7364 1705/3008/7365 2049/3009/7366
+s 1789
+f 1706/3010/7367 1943/3011/7368 1705/3008/7369
+f 1705/3008/7369 1943/3011/7368 2049/3009/7370
+s 1790
+f 1808/2621/7371 1926/2803/7372 1706/3010/7373
+f 1706/3010/7373 1926/2803/7372 1943/3011/7374
+s 1791
+f 1709/2625/7375 1945/2828/7376 1710/2624/7377
+f 1710/2624/7377 1945/2828/7376 1820/2829/7378
+s 1792
+f 1712/2626/7379 1713/2629/7380 1947/3012/7381
+f 1947/3012/7381 1713/2629/7380 1948/3013/7382
+s 1793
+f 1713/2629/7383 1822/2631/7384 1948/3013/7385
+f 1948/3013/7385 1822/2631/7384 2054/3014/7386
+s 1794
+f 1822/3016/7387 1479/3017/7388 1949/3015/7389
+f 1949/3015/7389 1479/3017/7388 1821/3018/7390
+s 1795
+f 1585/2449/7391 1825/2635/7392 1826/2836/7393
+f 1826/2836/7393 1825/2635/7392 2058/3019/7394
+s 1796
+f 1825/2635/7395 1712/2634/7396 1950/3020/7397
+f 1950/3020/7397 1712/2634/7396 1947/3021/7398
+s 1797
+f 1827/2837/7399 1951/3022/7400 1715/2636/7401
+f 1715/2636/7401 1951/3022/7400 1828/2838/7402
+s 1798
+f 1589/2455/7403 1832/2844/7404 1831/2637/7405
+f 1831/2637/7405 1832/2844/7404 2065/3023/7406
+s 1799
+f 1592/2638/7407 1834/3024/7408 1835/2848/7409
+f 1835/2848/7409 1834/3024/7408 2068/3025/7410
+s off
+f 1719/2463/7411 22/22/7412 1720/2642/7413
+s 1800
+f 1721/2470/7414 1702/2851/7415 1836/2852/7416
+f 1836/2852/7416 1702/2851/7415 1940/3026/7417
+s 1801
+f 1723/3028/7418 1837/3029/7419 1957/3027/7420
+f 1957/3027/7420 1837/3029/7419 2072/3030/7421
+s 1802
+f 1839/2856/7422 1726/2651/7423 1960/3031/7424
+f 1960/3031/7424 1726/2651/7423 1961/3032/7425
+s 1803
+f 1726/2651/7426 1840/2652/7427 1961/3032/7428
+f 1961/3032/7428 1840/2652/7427 2075/3033/7429
+s 1804
+f 1727/2655/7430 1841/3035/7431 1962/3034/7432
+f 1962/3034/7432 1841/3035/7431 2076/3036/7433
+s 1805
+f 1842/2656/7434 1727/2655/7435 1963/3037/7436
+f 1963/3037/7436 1727/2655/7435 1962/3034/7437
+s 1806
+f 1842/2656/7438 1963/3037/7439 1728/2657/7440
+f 1728/2657/7440 1963/3037/7439 2078/3038/7441
+s 1807
+f 1605/2484/7442 1843/3039/7443 1848/2662/7444
+f 1848/2662/7444 1843/3039/7443 2079/3040/7445
+s 1808
+f 1731/3042/7446 1880/3043/7447 1847/3041/7448
+f 1847/3041/7448 1880/3043/7447 1881/3044/7449
+s 1809
+f 1732/3045/7450 1877/3046/7451 1731/3042/7452
+f 1731/3042/7452 1877/3046/7451 1880/3043/7453
+s 1810
+f 1732/3045/7454 1848/3048/7455 1968/3047/7456
+f 1968/3047/7456 1848/3048/7455 2083/3049/7457
+s 1811
+f 1744/2889/7458 1733/3051/7459 1969/3050/7460
+f 1969/3050/7460 1733/3051/7459 1734/3052/7461
+s 1812
+f 1734/3052/7462 1846/3053/7463 1969/3050/7464
+f 1969/3050/7464 1846/3053/7463 1966/3054/7465
+s 1813
+f 1736/3056/7466 1971/3057/7467 1735/3055/7468
+f 1735/3055/7468 1971/3057/7467 2087/3058/7469
+s 1814
+f 1736/2667/7470 1737/2668/7471 1972/3059/7472
+f 1972/3059/7472 1737/2668/7471 1973/3060/7473
+s 1815
+f 1737/2668/7474 1738/2490/7475 1973/3060/7476
+f 1973/3060/7476 1738/2490/7475 1974/3061/7477
+s 1816
+f 1738/3063/7478 1849/3064/7479 1974/3062/7480
+f 1974/3062/7480 1849/3064/7479 2088/3065/7481
+s 1817
+f 1739/2673/7482 1850/3067/7483 1975/3066/7484
+f 1975/3066/7484 1850/3067/7483 2089/3068/7485
+s 1818
+f 1851/2674/7486 1739/2673/7487 1976/3069/7488
+f 1976/3069/7488 1739/2673/7487 1975/3066/7489
+s 1819
+f 1850/2879/7490 1740/2675/7491 1977/3070/7492
+f 1977/3070/7492 1740/2675/7491 1978/3071/7493
+s 1820
+f 1740/2675/7494 1741/2676/7495 1978/3071/7496
+f 1978/3071/7496 1741/2676/7495 1979/3072/7497
+s 1821
+f 1741/2676/7498 1852/2677/7499 1979/3072/7500
+f 1979/3072/7500 1852/2677/7499 2090/3073/7501
+s 1822
+f 1743/2494/7502 1854/2888/7503 1742/2678/7504
+f 1742/2678/7504 1854/2888/7503 2092/3074/7505
+s 1823
+f 1747/2682/7506 1745/2670/7507 1982/3075/7508
+f 1982/3075/7508 1745/2670/7507 1970/2876/7509
+s 1824
+f 1746/2683/7510 1747/2682/7511 1983/2892/7512
+f 1983/2892/7512 1747/2682/7511 1982/3075/7513
+s 1825
+f 1749/3076/7514 1984/3077/7515 1616/2896/7516
+f 1616/2896/7516 1984/3077/7515 1988/2897/7517
+s 1826
+f 1749/2684/7518 1748/2685/7519 1985/3078/7520
+f 1985/3078/7520 1748/2685/7519 1986/3079/7521
+s 1827
+f 1748/2685/7522 1857/2686/7523 1986/3079/7524
+f 1986/3079/7524 1857/2686/7523 2097/3080/7525
+s 1828
+f 1750/3082/7526 1859/3083/7527 1987/3081/7528
+f 1987/3081/7528 1859/3083/7527 2099/3084/7529
+s 1829
+f 1752/2689/7530 1858/2690/7531 1990/3085/7532
+f 1990/3085/7532 1858/2690/7531 2098/3086/7533
+s 1830
+f 1862/2902/7534 1624/2514/7535 1991/3087/7536
+f 1991/3087/7536 1624/2514/7535 1864/2695/7537
+s 1831
+f 1755/2696/7538 1992/2904/7539 1866/2906/7540
+f 1866/2906/7540 1992/2904/7539 2104/3088/7541
+s 1832
+f 1865/2905/7542 1994/3089/7543 1758/2698/7544
+f 1758/2698/7544 1994/3089/7543 1995/3090/7545
+s 1833
+f 1758/2698/7546 1995/3090/7547 1759/2699/7548
+f 1759/2699/7548 1995/3090/7547 2108/3091/7549
+s 1834
+f 1757/2697/7550 1759/2699/7551 1883/2924/7552
+f 1883/2924/7552 1759/2699/7551 2108/3091/7553
+s 1835
+f 1761/2701/7554 1996/2912/7555 1864/2695/7556
+f 1864/2695/7556 1996/2912/7555 1991/3087/7557
+s 1836
+f 1763/2704/7558 1997/3092/7559 1762/2702/7560
+f 1762/2702/7560 1997/3092/7559 1998/3093/7561
+s 1837
+f 1762/2702/7562 1998/3093/7563 1871/2703/7564
+f 1871/2703/7564 1998/3093/7563 2109/3094/7565
+s 1838
+f 1638/2332/7566 1875/2714/7567 1763/2704/7568
+f 1763/2704/7568 1875/2714/7567 1997/3092/7569
+s 1839
+f 1764/3095/7570 1860/3096/7571 1874/2713/7572
+f 1874/2713/7572 1860/3096/7571 1765/2710/7573
+s 1840
+f 1766/3098/7574 1765/2710/7575 1999/3097/7576
+f 1999/3097/7576 1765/2710/7575 1860/3096/7577
+s 1841
+f 1641/3099/7578 1876/3100/7579 1872/2914/7580
+f 1872/2914/7580 1876/3100/7579 1873/2913/7581
+s 1842
+f 1885/3102/7582 1962/3103/7583 1768/3101/7584
+f 1768/3101/7584 1962/3103/7583 2001/3104/7585
+s 1843
+f 1768/3101/7586 2001/3104/7587 1769/3105/7588
+f 1769/3105/7588 2001/3104/7587 1958/3106/7589
+s 1844
+f 1769/3105/7590 1958/3106/7591 1770/3107/7592
+f 1770/3107/7592 1958/3106/7591 1838/3108/7593
+s 1845
+f 1887/2926/7594 1771/2726/7595 2002/3109/7596
+f 2002/3109/7596 1771/2726/7595 1888/2928/7597
+s 1846
+f 1662/2368/7598 1889/2729/7599 1897/2747/7600
+f 1897/2747/7600 1889/2729/7599 2113/3110/7601
+s 1847
+f 1656/2355/7602 1890/2730/7603 1889/2729/7604
+f 1889/2729/7604 1890/2730/7603 2003/3111/7605
+s 1848
+f 1890/2730/7606 1657/2538/7607 2003/3111/7608
+f 2003/3111/7608 1657/2538/7607 1891/2929/7609
+s 1849
+f 1773/2540/7610 2004/2933/7611 1892/2930/7612
+f 1892/2930/7612 2004/2933/7611 2116/3112/7613
+s 1850
+f 1895/3114/7614 1774/3115/7615 2006/3113/7616
+f 2006/3113/7616 1774/3115/7615 2120/3116/7617
+s 1851
+f 1895/3114/7618 2006/3113/7619 1775/3117/7620
+f 1775/3117/7620 2006/3113/7619 2007/3118/7621
+s 1852
+f 1775/2733/7622 2007/3119/7623 1776/2737/7624
+f 1776/2737/7624 2007/3119/7623 2121/3120/7625
+s 1853
+f 1777/2739/7626 1776/2737/7627 2008/3121/7628
+f 2008/3121/7628 1776/2737/7627 2121/3120/7629
+s 1854
+f 1896/2938/7630 1777/2739/7631 2009/3122/7632
+f 2009/3122/7632 1777/2739/7631 2008/3121/7633
+s 1855
+f 1778/2743/7634 1779/2744/7635 1888/3123/7636
+f 1888/3123/7636 1779/2744/7635 2010/3124/7637
+s 1856
+f 1779/2744/7638 1780/2745/7639 2010/3124/7640
+f 2010/3124/7640 1780/2745/7639 2011/3125/7641
+s 1857
+f 1780/2746/7642 1897/2747/7643 2011/3126/7644
+f 2011/3126/7644 1897/2747/7643 2123/3127/7645
+s 1858
+f 1899/2940/7646 1781/2754/7647 2012/3128/7648
+f 2012/3128/7648 1781/2754/7647 2013/3129/7649
+s 1859
+f 1781/2754/7650 1900/2757/7651 2013/3129/7652
+f 2013/3129/7652 1900/2757/7651 2014/3130/7653
+s 1860
+f 1900/2757/7654 1666/2756/7655 2014/3130/7656
+f 2014/3130/7656 1666/2756/7655 1901/3131/7657
+s 1861
+f 1903/3132/7658 1784/3133/7659 2014/3130/7660
+f 2014/3130/7660 1784/3133/7659 2013/3129/7661
+s 1862
+f 1784/3133/7662 1785/2947/7663 2013/3129/7664
+f 2013/3129/7664 1785/2947/7663 2012/3128/7665
+s 1863
+f 1905/2949/7666 1670/2380/7667 1899/3134/7668
+f 1899/3134/7668 1670/2380/7667 1782/2764/7669
+s 1864
+f 1906/2951/7670 2017/3135/7671 1786/2766/7672
+f 1786/2766/7672 2017/3135/7671 2018/3136/7673
+s 1865
+f 1786/2766/7674 2018/3136/7675 1904/2767/7676
+f 1904/2767/7676 2018/3136/7675 2125/3137/7677
+s 1866
+f 1677/2396/7678 1908/2774/7679 1909/2779/7680
+f 1909/2779/7680 1908/2774/7679 2129/3138/7681
+s 1867
+f 1908/3140/7682 1676/3141/7683 2020/3139/7684
+f 2020/3139/7684 1676/3141/7683 2016/3142/7685
+s 1868
+f 1802/2791/7686 1792/2792/7687 2021/2972/7688
+f 2021/2972/7688 1792/2792/7687 2022/3143/7689
+s 1869
+f 1793/2776/7690 1794/3144/7691 1792/2775/7692
+f 1792/2775/7692 1794/3144/7691 2022/3145/7693
+s 1870
+f 1794/2778/7694 1909/2779/7695 2022/3146/7696
+f 2022/3146/7696 1909/2779/7695 2129/3138/7697
+s 1871
+f 1795/2957/7698 1911/3147/7699 2023/2958/7700
+f 2023/2958/7700 1911/3147/7699 2133/3148/7701
+s 1872
+f 1796/2573/7702 1913/3149/7703 1912/2961/7704
+f 1912/2961/7704 1913/3149/7703 2134/3150/7705
+s 1873
+f 1914/3151/7706 2025/3152/7707 1797/2785/7708
+f 1797/2785/7708 2025/3152/7707 1915/2786/7709
+s 1874
+f 1801/2790/7710 1799/2787/7711 2025/3153/7712
+f 2025/3153/7712 1799/2787/7711 1915/2788/7713
+s 1875
+f 1917/2968/7714 1685/2585/7715 2026/3154/7716
+f 2026/3154/7716 1685/2585/7715 1920/2973/7717
+s 1876
+f 1800/2797/7718 1801/3155/7719 1921/2798/7720
+f 1921/2798/7720 1801/3155/7719 2025/3156/7721
+s 1877
+f 1803/3158/7722 1804/3159/7723 2029/3157/7724
+f 2029/3157/7724 1804/3159/7723 2031/3160/7725
+s 1878
+f 1805/2795/7726 1921/2796/7727 1914/2962/7728
+f 1914/2962/7728 1921/2796/7727 2025/3161/7729
+s 1879
+f 1922/2967/7730 2030/3162/7731 1687/2591/7732
+f 1687/2591/7732 2030/3162/7731 1923/2977/7733
+s 1880
+f 1806/2980/7734 1924/2979/7735 2032/3163/7736
+f 2032/3163/7736 1924/2979/7735 2142/3164/7737
+s 1881
+f 1807/2800/7738 1806/2799/7739 1925/2802/7740
+f 1925/2802/7740 1806/2799/7739 2032/3165/7741
+s 1882
+f 1688/2413/7742 1925/3166/7743 1926/2803/7744
+f 1926/2803/7744 1925/3166/7743 2143/3167/7745
+s 1883
+f 1812/3169/7746 1811/3170/7747 2033/3168/7748
+f 2033/3168/7748 1811/3170/7747 2146/3171/7749
+s 1884
+f 1812/3169/7750 2033/3168/7751 1907/3172/7752
+f 1907/3172/7752 2033/3168/7751 2128/3173/7753
+s 1885
+f 1718/2639/7754 1955/2849/7755 1930/2813/7756
+f 1930/2813/7756 1955/2849/7755 2147/3174/7757
+s 1886
+f 1694/3176/7758 1930/3177/7759 2034/3175/7760
+f 2034/3175/7760 1930/3177/7759 2148/3178/7761
+s 1887
+f 1813/2816/7762 2035/2992/7763 1814/2817/7764
+f 1814/2817/7764 2035/2992/7763 2152/3179/7765
+s 1888
+f 1815/2610/7766 1814/2817/7767 1933/2993/7768
+f 1933/2993/7768 1814/2817/7767 2152/3179/7769
+s 1889
+f 1698/3181/7770 2036/3182/7771 1934/3180/7772
+f 1934/3180/7772 2036/3182/7771 2153/3183/7773
+s 1890
+f 1699/2611/7774 1934/2818/7775 2037/2996/7776
+f 2037/2996/7776 1934/2818/7775 2154/3184/7777
+s 1891
+f 1700/2623/7778 1935/3186/7779 2038/3185/7780
+f 2038/3185/7780 1935/3186/7779 2156/3187/7781
+s 1892
+f 1700/2623/7782 2038/3185/7783 1936/2997/7784
+f 1936/2997/7784 2038/3185/7783 2157/3188/7785
+s 1893
+f 1937/2999/7786 2160/3190/7787 1578/2433/7788
+f 2040/3189/7789 1578/2433/7788 2160/3190/7787
+s 1894
+f 1816/2819/7790 1701/2612/7791 2041/3191/7792
+f 2041/3191/7792 1701/2612/7791 2161/3192/7793
+s off
+f 1938/3000/7794 1578/2433/7795 2042/3193/7796
+f 1703/2616/7797 2043/3194/7798 2048/3006/7799
+f 1939/3002/7800 1470/2227/7801 1941/3004/7802
+s 1895
+f 1817/3001/7803 2045/3195/7804 1940/3026/7805
+f 1940/3026/7805 2045/3195/7804 1836/2852/7806
+s off
+f 2046/3196/7807 1818/2822/7808 2047/3197/7809
+s 1896
+f 2047/3197/7810 1818/2822/7811 1942/3005/7812
+f 1942/3005/7812 1818/2822/7811 1703/2616/7813
+s 1897
+f 1819/2824/7814 1944/2825/7815 2050/3198/7816
+f 2050/3198/7816 1944/2825/7815 2173/3199/7817
+s 1898
+f 1708/2622/7818 2039/2998/7819 1944/2825/7820
+f 1944/2825/7820 2039/2998/7819 2174/3200/7821
+s 1899
+f 1819/3202/7822 2050/3203/7823 1945/3201/7824
+f 1945/3201/7824 2050/3203/7823 2175/3204/7825
+s 1900
+f 1945/2828/7826 2051/3205/7827 1820/2829/7828
+f 1820/2829/7828 2051/3205/7827 2052/3206/7829
+s 1901
+f 1820/2829/7830 2052/3206/7831 1946/2830/7832
+f 1946/2830/7832 2052/3206/7831 2176/3207/7833
+s 1902
+f 1946/2830/7834 2053/3208/7835 1821/2831/7836
+f 1821/2831/7836 2053/3208/7835 1949/3209/7837
+s 1903
+f 1949/3015/7838 2055/3210/7839 1822/3016/7840
+f 1822/3016/7840 2055/3210/7839 2054/3211/7841
+s 1904
+f 1827/2837/7842 1823/2832/7843 2056/3212/7844
+f 2056/3212/7844 1823/2832/7843 1824/3213/7845
+s 1905
+f 1826/3214/7846 2057/3215/7847 1824/3213/7848
+f 1824/3213/7848 2057/3215/7847 2056/3212/7849
+s 1906
+f 1825/2635/7850 1950/3020/7851 2058/3019/7852
+f 2058/3019/7852 1950/3020/7851 2182/3216/7853
+s 1907
+f 1951/3022/7854 1827/2837/7855 2059/3217/7856
+f 2059/3217/7856 1827/2837/7855 2056/3212/7857
+s 1908
+f 1951/3022/7858 2060/3218/7859 1828/2838/7860
+f 1828/2838/7860 2060/3218/7859 2184/3219/7861
+s 1909
+f 1829/2839/7862 1828/2838/7863 2061/3220/7864
+f 2061/3220/7864 1828/2838/7863 2184/3219/7865
+s 1910
+f 1829/2839/7866 2062/3221/7867 1830/2840/7868
+f 1830/2840/7868 2062/3221/7867 2186/3222/7869
+s 1911
+f 1952/3223/7870 2063/3224/7871 1717/2457/7872
+f 1717/2457/7872 2063/3224/7871 1954/2846/7873
+s 1912
+f 1716/2454/7874 1953/2843/7875 1952/2842/7876
+f 1952/2842/7876 1953/2843/7875 2063/3225/7877
+s 1913
+f 1953/2843/7878 1830/2840/7879 2064/3226/7880
+f 2064/3226/7880 1830/2840/7879 2186/3222/7881
+s 1914
+f 1831/2637/7882 2065/3023/7883 1834/2847/7884
+f 1834/2847/7884 2065/3023/7883 2188/3227/7885
+s 1915
+f 1832/2844/7886 1833/2845/7887 2066/3228/7888
+f 2066/3228/7888 1833/2845/7887 2067/3229/7889
+s 1916
+f 1833/2845/7890 1954/2846/7891 2067/3229/7892
+f 2067/3229/7892 1954/2846/7891 2189/3230/7893
+s 1917
+f 1955/2849/7894 1835/2848/7895 2069/3231/7896
+f 2069/3231/7896 1835/2848/7895 2191/3232/7897
+s 1918
+f 1837/2853/7898 1836/2852/7899 2070/3233/7900
+f 2070/3233/7900 1836/2852/7899 2045/3195/7901
+s 1919
+f 1956/3234/7902 2071/3235/7903 1722/2936/7904
+f 1722/2936/7904 2071/3235/7903 2005/2937/7905
+s 1920
+f 1723/3236/7906 1957/3237/7907 1956/3234/7908
+f 1956/3234/7908 1957/3237/7907 2194/3238/7909
+s 1921
+f 1958/3106/7910 2073/3240/7911 1725/3239/7912
+f 1725/3239/7912 2073/3240/7911 1959/3241/7913
+s 1922
+f 1841/2861/7914 1839/2856/7915 2074/3242/7916
+f 2074/3242/7916 1839/2856/7915 1960/3031/7917
+s 1923
+f 1840/2857/7918 1959/2860/7919 2075/3243/7920
+f 2075/3243/7920 1959/2860/7919 2197/3244/7921
+s 1924
+f 1729/2863/7922 1964/2866/7923 1965/3245/7924
+f 1965/3245/7924 1964/2866/7923 2200/3246/7925
+s 1925
+f 1964/3248/7926 1728/3249/7927 2077/3247/7928
+f 2077/3247/7928 1728/3249/7927 2078/3250/7929
+s 1926
+f 1843/3039/7930 1844/3252/7931 2080/3251/7932
+f 2080/3251/7932 1844/3252/7931 1845/3253/7933
+s 1927
+f 1845/3253/7934 1965/3254/7935 2080/3251/7936
+f 2080/3251/7936 1965/3254/7935 2200/3255/7937
+s 1928
+f 1966/2873/7938 1730/2483/7939 2081/3256/7940
+f 2081/3256/7940 1730/2483/7939 1967/2875/7941
+s 1929
+f 1967/3258/7942 1847/3041/7943 2082/3257/7944
+f 2082/3257/7944 1847/3041/7943 2093/3259/7945
+s 1930
+f 1877/3046/7946 1732/3045/7947 1878/3260/7948
+f 1878/3260/7948 1732/3045/7947 1968/3047/7949
+s 1931
+f 1969/3050/7950 2084/3261/7951 1744/2889/7952
+f 1744/2889/7952 2084/3261/7951 1981/2890/7953
+s 1932
+f 1970/3263/7954 1735/3055/7955 2085/3262/7956
+f 2085/3262/7956 1735/3055/7955 2087/3058/7957
+s 1933
+f 1971/3265/7958 1736/2667/7959 2086/3264/7960
+f 2086/3264/7960 1736/2667/7959 1972/3059/7961
+s 1934
+f 1851/2674/7962 1976/3069/7963 1849/2877/7964
+f 1849/2877/7964 1976/3069/7963 2210/3266/7965
+s 1935
+f 1850/3067/7966 1977/3267/7967 2089/3068/7968
+f 2089/3068/7968 1977/3267/7967 2212/3268/7969
+s 1936
+f 1852/2881/7970 1980/2884/7971 2090/3269/7972
+f 2090/3269/7972 1980/2884/7971 2214/3270/7973
+s 1937
+f 2091/3271/7974 1980/3272/7975 2092/3274/7976
+f 2092/3274/7976 1980/3272/7975 1742/3273/7977
+s 1938
+f 1853/3276/7978 1883/3277/7979 1854/3275/7980
+f 1854/3275/7980 1883/3277/7979 2108/3278/7981
+s 1939
+f 1853/3276/7982 1855/3279/7983 2093/3259/7984
+f 2093/3259/7984 1855/3279/7983 2082/3257/7985
+s 1940
+f 1855/3279/7986 1981/3280/7987 2082/3257/7988
+f 2082/3257/7988 1981/3280/7987 2084/3281/7989
+s 1941
+f 1857/3283/7990 1856/3284/7991 2094/3282/7992
+f 2094/3282/7992 1856/3284/7991 2217/3285/7993
+s 1942
+f 1983/3286/7994 2095/3287/7995 1856/3284/7996
+f 1856/3284/7996 2095/3287/7995 2217/3285/7997
+s 1943
+f 1984/3289/7998 1749/2684/7999 2096/3288/8000
+f 2096/3288/8000 1749/2684/7999 1985/3078/8001
+s 1944
+f 1858/2690/8002 1987/2893/8003 2098/3086/8004
+f 2098/3086/8004 1987/2893/8003 2223/3290/8005
+s 1945
+f 1988/2897/8006 2100/3291/8007 1859/2894/8008
+f 1859/2894/8008 2100/3291/8007 2225/3292/8009
+s 1946
+f 1989/3294/8010 2101/3295/8011 1751/3293/8012
+f 1751/3293/8012 2101/3295/8011 1860/3296/8013
+s 1947
+f 1752/2689/8014 1990/3085/8015 1989/2899/8016
+f 1989/2899/8016 1990/3085/8015 2227/3297/8017
+s 1948
+f 1991/3087/8018 2102/3298/8019 1862/2902/8020
+f 1862/2902/8020 2102/3298/8019 2103/3299/8021
+s 1949
+f 1862/2902/8022 2103/3299/8023 1863/2903/8024
+f 1863/2903/8024 2103/3299/8023 2230/3300/8025
+s 1950
+f 1992/2904/8026 1863/2903/8027 2104/3088/8028
+f 2104/3088/8028 1863/2903/8027 2230/3300/8029
+s 1951
+f 1867/2907/8030 1866/2906/8031 2105/3301/8032
+f 2105/3301/8032 1866/2906/8031 2231/3302/8033
+s 1952
+f 1867/2907/8034 2105/3301/8035 1868/2908/8036
+f 1868/2908/8036 2105/3301/8035 2232/3303/8037
+s 1953
+f 1993/2909/8038 1868/2908/8039 2106/3304/8040
+f 2106/3304/8040 1868/2908/8039 2232/3303/8041
+s 1954
+f 1869/2910/8042 1993/2909/8043 2107/3305/8044
+f 2107/3305/8044 1993/2909/8043 2106/3304/8045
+s 1955
+f 1865/2905/8046 1869/2910/8047 1994/3089/8048
+f 1994/3089/8048 1869/2910/8047 2107/3305/8049
+s 1956
+f 1871/2703/8050 2109/3094/8051 1870/2911/8052
+f 1870/2911/8052 2109/3094/8051 2110/3306/8053
+s 1957
+f 1870/2911/8054 2110/3306/8055 1996/2912/8056
+f 1996/2912/8056 2110/3306/8055 2229/3307/8057
+s 1958
+f 2000/3308/8058 1766/3098/8059 2225/3309/8060
+f 2225/3309/8060 1766/3098/8059 1999/3097/8061
+s 1959
+f 1875/2714/8062 2000/2915/8063 1997/3092/8064
+f 1997/3092/8064 2000/2915/8063 2233/3310/8065
+s 1960
+f 1878/3260/8066 1968/3047/8067 1879/3311/8068
+f 1879/3311/8068 1968/3047/8067 2078/3250/8069
+s 1961
+f 1879/3311/8070 2078/3250/8071 1884/3312/8072
+f 1884/3312/8072 2078/3250/8071 1963/3313/8073
+s 1962
+f 1882/3314/8074 2093/3259/8075 1881/3044/8076
+f 1881/3044/8076 2093/3259/8075 1847/3041/8077
+s 1963
+f 1883/3277/8078 1853/3276/8079 1882/3314/8080
+f 1882/3314/8080 1853/3276/8079 2093/3259/8081
+s 1964
+f 1884/3312/8082 1963/3313/8083 1885/3102/8084
+f 1885/3102/8084 1963/3313/8083 1962/3103/8085
+s 1965
+f 1929/3316/8086 1886/2927/8087 2111/3315/8088
+f 2111/3315/8088 1886/2927/8087 1887/2926/8089
+s 1966
+f 2002/3109/8090 2112/3317/8091 1887/2926/8092
+f 1887/2926/8092 2112/3317/8091 2111/3315/8093
+s 1967
+f 1888/3123/8094 2010/3124/8095 2002/3318/8096
+f 2002/3318/8096 2010/3124/8095 2235/3319/8097
+s 1968
+f 1891/2929/8098 2114/3320/8099 2003/3111/8100
+f 2003/3111/8100 2114/3320/8099 2236/3321/8101
+s 1969
+f 1891/2929/8102 1892/2930/8103 2115/3322/8104
+f 2115/3322/8104 1892/2930/8103 2116/3112/8105
+s 1970
+f 1896/2938/8106 2117/3323/8107 1893/2939/8108
+f 1893/2939/8108 2117/3323/8107 2118/3324/8109
+s 1971
+f 1893/2931/8110 2118/3325/8111 1894/2932/8112
+f 1894/2932/8112 2118/3325/8111 2119/3326/8113
+s 1972
+f 1894/2932/8114 2119/3326/8115 2004/2933/8116
+f 2004/2933/8116 2119/3326/8115 2237/3327/8117
+s 1973
+f 1774/2934/8118 2005/2937/8119 2120/3328/8120
+f 2120/3328/8120 2005/2937/8119 2238/3329/8121
+s 1974
+f 2009/3122/8122 2122/3330/8123 1896/2938/8124
+f 1896/2938/8124 2122/3330/8123 2117/3323/8125
+s 1975
+f 2012/3128/8126 2124/3331/8127 1899/2940/8128
+f 1899/2940/8128 2124/3331/8127 2126/3332/8129
+s 1976
+f 1902/3333/8130 1903/3132/8131 1901/3131/8132
+f 1901/3131/8132 1903/3132/8131 2014/3130/8133
+s 1977
+f 1785/2947/8134 2015/2948/8135 2012/3128/8136
+f 2012/3128/8136 2015/2948/8135 2124/3331/8137
+s 1978
+f 1904/2767/8138 2125/3137/8139 2015/2948/8140
+f 2015/2948/8140 2125/3137/8139 2244/3334/8141
+s 1979
+f 1899/2940/8142 2126/3332/8143 1905/3335/8144
+f 1905/3335/8144 2126/3332/8143 2127/3336/8145
+s 1980
+f 1905/3335/8146 2127/3336/8147 2016/3337/8148
+f 2016/3337/8148 2127/3336/8147 2137/3338/8149
+s 1981
+f 2017/3135/8150 1906/2951/8151 2019/2954/8152
+f 2019/2954/8152 1906/2951/8151 1791/2567/8153
+s 1982
+f 1907/3172/8154 2128/3173/8155 2019/3339/8156
+f 2019/3339/8156 2128/3173/8155 2245/3340/8157
+s 1983
+f 2020/3139/8158 2130/3341/8159 1908/3140/8160
+f 1908/3140/8160 2130/3341/8159 2129/3342/8161
+s 1984
+f 1924/2979/8162 1910/2982/8163 2131/3343/8164
+f 2131/3343/8164 1910/2982/8163 2132/3344/8165
+s 1985
+f 1910/2955/8166 2023/2958/8167 2132/3345/8168
+f 2132/3345/8168 2023/2958/8167 2248/3346/8169
+s 1986
+f 1911/3147/8170 2024/3347/8171 2133/3148/8172
+f 2133/3148/8172 2024/3347/8171 2249/3348/8173
+s 1987
+f 1912/2961/8174 2134/3150/8175 2024/2960/8176
+f 2024/2960/8176 2134/3150/8175 2249/3349/8177
+s 1988
+f 1798/2966/8178 2027/2970/8179 1922/2967/8180
+f 1922/2967/8180 2027/2970/8179 2030/3162/8181
+s 1989
+f 1917/2968/8182 2026/3154/8183 2135/3350/8184
+f 2135/3350/8184 2026/3154/8183 2250/3351/8185
+s 1990
+f 1917/2968/8186 2135/3350/8187 1918/2969/8188
+f 1918/2969/8188 2135/3350/8187 2136/3352/8189
+s 1991
+f 1918/2969/8190 2136/3352/8191 2027/2970/8192
+f 2027/2970/8192 2136/3352/8191 2251/3353/8193
+s 1992
+f 1920/2973/8194 1919/2971/8195 2016/3337/8196
+f 2016/3337/8196 1919/2971/8195 2020/3354/8197
+s 1993
+f 1919/2971/8198 2021/2972/8199 2020/3354/8200
+f 2020/3354/8200 2021/2972/8199 2130/3355/8201
+s 1994
+f 2026/3154/8202 1920/2973/8203 2137/3338/8204
+f 2137/3338/8204 1920/2973/8203 2016/3337/8205
+s 1995
+f 2028/2975/8206 2138/3356/8207 1913/2784/8208
+f 1913/2784/8208 2138/3356/8207 2134/3357/8209
+s 1996
+f 1803/2974/8210 2139/3358/8211 2028/2975/8212
+f 2028/2975/8212 2139/3358/8211 2252/3359/8213
+s 1997
+f 1803/3158/8214 2029/3157/8215 2139/3360/8216
+f 2139/3360/8216 2029/3157/8215 2253/3361/8217
+s 1998
+f 2030/3162/8218 2140/3362/8219 1923/2977/8220
+f 1923/2977/8220 2140/3362/8219 2141/3363/8221
+s 1999
+f 1923/3365/8222 2141/3366/8223 2031/3364/8224
+f 2031/3364/8224 2141/3366/8223 2029/3367/8225
+s 2000
+f 1928/3369/8226 1927/3370/8227 2144/3368/8228
+f 2144/3368/8228 1927/3370/8227 2145/3371/8229
+s 2001
+f 1927/3370/8230 1929/3316/8231 2145/3371/8232
+f 2145/3371/8232 1929/3316/8231 2111/3315/8233
+s 2002
+f 1811/3170/8234 1928/3369/8235 2146/3171/8236
+f 2146/3171/8236 1928/3369/8235 2144/3368/8237
+s 2003
+f 1931/2986/8238 2034/2989/8239 2149/3372/8240
+f 2149/3372/8240 2034/2989/8239 2148/3373/8241
+s 2004
+f 1932/2991/8242 1931/2986/8243 2150/3374/8244
+f 2150/3374/8244 1931/2986/8243 2149/3372/8245
+s 2005
+f 2035/2992/8246 1932/2991/8247 2151/3375/8248
+f 2151/3375/8248 1932/2991/8247 2150/3374/8249
+s 2006
+f 2036/3182/8250 1933/3376/8251 2153/3183/8252
+f 2153/3183/8252 1933/3376/8251 2258/3377/8253
+s 2007
+f 1935/3186/8254 2037/3379/8255 2155/3378/8256
+f 2155/3378/8256 2037/3379/8255 2154/3380/8257
+s 2008
+f 2039/2998/8258 1936/2997/8259 2158/3381/8260
+f 2158/3381/8260 1936/2997/8259 2262/3382/8261
+s 2009
+f 2040/3189/8262 2159/3383/8263 1578/2433/8264
+f 1578/2433/8264 2159/3383/8263 2265/3384/8265
+s off
+f 2042/3193/8266 1578/2433/8267 2265/3384/8268
+s 2010
+f 1703/2616/8269 1938/3000/8270 2043/3194/8271
+f 2043/3194/8271 1938/3000/8270 2162/3385/8272
+s off
+f 1938/3000/8273 2163/3386/8274 2162/3385/8275
+f 1939/3002/8276 2164/3387/8277 2166/3388/8278
+s 2011
+f 2044/3003/8279 2165/3389/8280 1817/3001/8281
+f 1817/3001/8281 2165/3389/8280 2045/3195/8282
+s 2012
+f 1939/3002/8283 2166/3388/8284 2044/3003/8285
+f 2044/3003/8285 2166/3388/8284 2165/3389/8286
+s 2013
+f 2164/3387/8287 1939/3002/8288 2167/3390/8289
+f 2167/3390/8289 1939/3002/8288 1941/3004/8290
+s off
+f 2167/3390/8291 1941/3004/8292 2168/3391/8293
+s 2014
+f 2168/3391/8294 1941/3004/8295 2046/3196/8296
+f 2046/3196/8296 1941/3004/8295 1818/2822/8297
+s 2015
+f 1942/3005/8298 2169/3392/8299 2047/3197/8300
+f 2047/3197/8300 2169/3392/8299 2274/3393/8301
+s 2016
+f 2048/3006/8302 2170/3394/8303 1942/3005/8304
+f 1942/3005/8304 2170/3394/8303 2169/3392/8305
+s 2017
+f 1701/3395/8306 2049/3396/8307 2161/3398/8308
+f 2161/3398/8308 2049/3396/8307 2171/3397/8309
+s 2018
+f 1926/2803/8310 2143/3167/8311 1943/3011/8312
+f 1943/3011/8312 2143/3167/8311 2172/3399/8313
+s 2019
+f 1943/3011/8314 2172/3399/8315 2049/3009/8316
+f 2049/3009/8316 2172/3399/8315 2171/3400/8317
+s 2020
+f 1945/2828/8318 2175/3401/8319 2051/3205/8320
+f 2051/3205/8320 2175/3401/8319 2277/3402/8321
+s 2021
+f 1946/2830/8322 2176/3207/8323 2053/3208/8324
+f 2053/3208/8324 2176/3207/8323 2183/3403/8325
+s 2022
+f 1950/3405/8326 1947/3406/8327 2177/3404/8328
+f 2177/3404/8328 1947/3406/8327 2178/3407/8329
+s 2023
+f 1947/3012/8330 1948/3013/8331 2178/3408/8332
+f 2178/3408/8332 1948/3013/8331 2179/3409/8333
+s 2024
+f 1948/3013/8334 2054/3014/8335 2179/3409/8336
+f 2179/3409/8336 2054/3014/8335 2279/3410/8337
+s 2025
+f 1949/3015/8338 2180/3411/8339 2055/3210/8340
+f 2055/3210/8340 2180/3411/8339 2281/3412/8341
+s 2026
+f 1949/3015/8342 2053/3413/8343 2180/3411/8344
+f 2180/3411/8344 2053/3413/8343 2282/3414/8345
+s 2027
+f 2057/3416/8346 1826/3417/8347 2181/3415/8348
+f 2181/3415/8348 1826/3417/8347 2058/3418/8349
+s 2028
+f 2059/3217/8350 2183/3403/8351 1951/3022/8352
+f 1951/3022/8352 2183/3403/8351 2060/3218/8353
+s 2029
+f 2061/3220/8354 2185/3419/8355 1829/2839/8356
+f 1829/2839/8356 2185/3419/8355 2062/3221/8357
+s 2030
+f 1953/3421/8358 2064/3422/8359 2187/3420/8360
+f 2187/3420/8360 2064/3422/8359 2287/3423/8361
+s 2031
+f 1832/2844/8362 2066/3228/8363 2065/3023/8364
+f 2065/3023/8364 2066/3228/8363 2289/3424/8365
+s 2032
+f 2063/3225/8366 2190/3426/8367 1954/3425/8368
+f 1954/3425/8368 2190/3426/8367 2292/3427/8369
+s 2033
+f 1835/2848/8370 2068/3025/8371 2191/3232/8372
+f 2191/3232/8372 2068/3025/8371 2293/3428/8373
+s 2034
+f 2068/3025/8374 1834/3024/8375 2192/3429/8376
+f 2192/3429/8376 1834/3024/8375 2188/3430/8377
+s 2035
+f 1955/2849/8378 2069/3231/8379 2147/3174/8380
+f 2147/3174/8380 2069/3231/8379 2294/3431/8381
+s 2036
+f 1837/2853/8382 2070/3233/8383 2072/3432/8384
+f 2072/3432/8384 2070/3233/8383 2296/3433/8385
+s 2037
+f 1956/3234/8386 2193/3434/8387 2071/3235/8388
+f 2071/3235/8388 2193/3434/8387 2297/3435/8389
+s 2038
+f 2072/3432/8390 2195/3437/8391 1957/3436/8392
+f 1957/3436/8392 2195/3437/8391 2298/3438/8393
+s 2039
+f 2073/3240/8394 1958/3106/8395 2196/3439/8396
+f 2196/3439/8396 1958/3106/8395 2001/3104/8397
+s 2040
+f 1841/3035/8398 2074/3440/8399 2076/3036/8400
+f 2076/3036/8400 2074/3440/8399 2301/3441/8401
+s 2041
+f 2073/3240/8402 2198/3442/8403 1959/3241/8404
+f 1959/3241/8404 2198/3442/8403 2197/3443/8405
+s 2042
+f 2074/3440/8406 1960/3445/8407 2199/3444/8408
+f 2199/3444/8408 1960/3445/8407 1961/3446/8409
+s 2043
+f 1961/3446/8410 2075/3447/8411 2199/3444/8412
+f 2199/3444/8412 2075/3447/8411 2197/3448/8413
+s 2044
+f 1962/3103/8414 2076/3449/8415 2001/3104/8416
+f 2001/3104/8416 2076/3449/8415 2196/3439/8417
+s 2045
+f 2077/3247/8418 2201/3450/8419 1964/3248/8420
+f 1964/3248/8420 2201/3450/8419 2200/3451/8421
+s 2046
+f 1848/3048/8422 2079/3452/8423 2083/3049/8424
+f 2083/3049/8424 2079/3452/8423 2302/3453/8425
+s 2047
+f 1843/3039/8426 2080/3251/8427 2079/3040/8428
+f 2079/3040/8428 2080/3251/8427 2302/3454/8429
+s 2048
+f 1966/3054/8430 2081/3455/8431 1969/3050/8432
+f 1969/3050/8432 2081/3455/8431 2084/3261/8433
+s 2049
+f 2081/3456/8434 1967/3258/8435 2084/3281/8436
+f 2084/3281/8436 1967/3258/8435 2082/3257/8437
+s 2050
+f 1968/3047/8438 2083/3049/8439 2078/3250/8440
+f 2078/3250/8440 2083/3049/8439 2077/3247/8441
+s 2051
+f 1982/3075/8442 1970/2876/8443 2202/3457/8444
+f 2202/3457/8444 1970/2876/8443 2203/3458/8445
+s 2052
+f 1970/3460/8446 2085/3461/8447 2203/3459/8448
+f 2203/3459/8448 2085/3461/8447 2303/3462/8449
+s 2053
+f 1971/3057/8450 2086/3464/8451 2204/3463/8452
+f 2204/3463/8452 2086/3464/8451 2304/3465/8453
+s 2054
+f 2087/3058/8454 1971/3057/8455 2205/3466/8456
+f 2205/3466/8456 1971/3057/8455 2204/3463/8457
+s 2055
+f 1972/3059/8458 2206/3467/8459 2086/3264/8460
+f 2086/3264/8460 2206/3467/8459 2305/3468/8461
+s 2056
+f 1972/3059/8462 1973/3060/8463 2206/3467/8464
+f 2206/3467/8464 1973/3060/8463 2207/3469/8465
+s 2057
+f 1973/3060/8466 1974/3061/8467 2207/3469/8468
+f 2207/3469/8468 1974/3061/8467 2208/3470/8469
+s 2058
+f 1974/3062/8470 2088/3065/8471 2208/3471/8472
+f 2208/3471/8472 2088/3065/8471 2306/3472/8473
+s 2059
+f 2088/3474/8474 1849/3475/8475 2209/3473/8476
+f 2209/3473/8476 1849/3475/8475 2210/3476/8477
+s 2060
+f 1975/3478/8478 2107/3479/8479 1976/3477/8480
+f 1976/3477/8480 2107/3479/8479 2106/3480/8481
+s 2061
+f 1975/3478/8482 2089/3482/8483 2211/3481/8484
+f 2211/3481/8484 2089/3482/8483 2308/3483/8485
+s 2062
+f 1977/3267/8486 1978/3485/8487 2213/3484/8488
+f 2213/3484/8488 1978/3485/8487 1979/3486/8489
+s 2063
+f 1979/3486/8490 2090/3487/8491 2213/3484/8492
+f 2213/3484/8492 2090/3487/8491 2214/3488/8493
+s 2064
+f 2091/3271/8494 2215/3489/8495 1980/3272/8496
+f 1980/3272/8496 2215/3489/8495 2214/3490/8497
+s 2065
+f 2092/3274/8498 1854/3275/8499 1995/3491/8500
+f 1995/3491/8500 1854/3275/8499 2108/3278/8501
+s 2066
+f 1983/2892/8502 1982/3075/8503 2216/3492/8504
+f 2216/3492/8504 1982/3075/8503 2202/3457/8505
+s 2067
+f 1857/3494/8506 2094/3495/8507 2097/3493/8508
+f 2097/3493/8508 2094/3495/8507 2310/3496/8509
+s 2068
+f 2095/3498/8510 1983/2892/8511 2218/3497/8512
+f 2218/3497/8512 1983/2892/8511 2216/3492/8513
+s 2069
+f 1984/3077/8514 2096/3500/8515 2219/3499/8516
+f 2219/3499/8516 2096/3500/8515 2313/3501/8517
+s 2070
+f 1988/2897/8518 1984/3077/8519 2100/3291/8520
+f 2100/3291/8520 1984/3077/8519 2219/3499/8521
+s 2071
+f 2096/3288/8522 1985/3078/8523 2220/3502/8524
+f 2220/3502/8524 1985/3078/8523 2221/3503/8525
+s 2072
+f 1985/3078/8526 1986/3079/8527 2221/3503/8528
+f 2221/3503/8528 1986/3079/8527 2222/3504/8529
+s 2073
+f 1986/3079/8530 2097/3080/8531 2222/3504/8532
+f 2222/3504/8532 2097/3080/8531 2314/3505/8533
+s 2074
+f 1987/3081/8534 2099/3084/8535 2223/3506/8536
+f 2223/3506/8536 2099/3084/8535 2315/3507/8537
+s 2075
+f 2099/3509/8538 1859/3510/8539 2224/3508/8540
+f 2224/3508/8540 1859/3510/8539 2225/3309/8541
+s 2076
+f 2101/3295/8542 1989/3294/8543 2226/3511/8544
+f 2226/3511/8544 1989/3294/8543 2227/3512/8545
+s 2077
+f 1860/3096/8546 2101/3513/8547 1999/3097/8548
+f 1999/3097/8548 2101/3513/8547 2317/3514/8549
+s 2078
+f 2098/3086/8550 2228/3515/8551 1990/3085/8552
+f 1990/3085/8552 2228/3515/8551 2227/3297/8553
+s 2079
+f 2102/3298/8554 1991/3087/8555 2229/3307/8556
+f 2229/3307/8556 1991/3087/8555 1996/2912/8557
+s 2080
+f 1866/2906/8558 2104/3088/8559 2231/3302/8560
+f 2231/3302/8560 2104/3088/8559 2321/3516/8561
+s 2081
+f 1994/3517/8562 2211/3481/8563 1995/3491/8564
+f 1995/3491/8564 2211/3481/8563 2092/3274/8565
+s 2082
+f 1997/3092/8566 2233/3310/8567 1998/3093/8568
+f 1998/3093/8568 2233/3310/8567 2234/3518/8569
+s 2083
+f 1998/3093/8570 2234/3518/8571 2109/3094/8572
+f 2109/3094/8572 2234/3518/8571 2323/3519/8573
+s 2084
+f 2002/3318/8574 2235/3319/8575 2112/3520/8576
+f 2112/3520/8576 2235/3319/8575 2326/3521/8577
+s 2085
+f 1897/2747/8578 2113/3110/8579 2123/3127/8580
+f 2123/3127/8580 2113/3110/8579 2327/3522/8581
+s 2086
+f 1889/2729/8582 2003/3111/8583 2113/3110/8584
+f 2113/3110/8584 2003/3111/8583 2236/3321/8585
+s 2087
+f 1891/2929/8586 2115/3322/8587 2114/3320/8588
+f 2114/3320/8588 2115/3322/8587 2328/3523/8589
+s 2088
+f 2004/2933/8590 2237/3327/8591 2116/3112/8592
+f 2116/3112/8592 2237/3327/8591 2115/3322/8593
+s 2089
+f 2005/2937/8594 2071/3235/8595 2238/3329/8596
+f 2238/3329/8596 2071/3235/8595 2334/3524/8597
+s 2090
+f 2006/3113/8598 2120/3116/8599 2239/3525/8600
+f 2239/3525/8600 2120/3116/8599 2238/3526/8601
+s 2091
+f 2006/3113/8602 2239/3525/8603 2007/3118/8604
+f 2007/3118/8604 2239/3525/8603 2121/3527/8605
+s 2092
+f 2008/3529/8606 2121/3527/8607 2240/3528/8608
+f 2240/3528/8608 2121/3527/8607 2239/3525/8609
+s 2093
+f 2009/3531/8610 2008/3529/8611 2241/3530/8612
+f 2241/3530/8612 2008/3529/8611 2240/3528/8613
+s 2094
+f 2122/3533/8614 2009/3531/8615 2242/3532/8616
+f 2242/3532/8616 2009/3531/8615 2241/3530/8617
+s 2095
+f 2010/3124/8618 2011/3125/8619 2235/3319/8620
+f 2235/3319/8620 2011/3125/8619 2243/3534/8621
+s 2096
+f 2011/3126/8622 2123/3127/8623 2243/3535/8624
+f 2243/3535/8624 2123/3127/8623 2336/3536/8625
+s 2097
+f 2019/3339/8626 2245/3340/8627 2017/3537/8628
+f 2017/3537/8628 2245/3340/8627 2246/3538/8629
+s 2098
+f 2017/3537/8630 2246/3538/8631 2018/3539/8632
+f 2018/3539/8632 2246/3538/8631 2247/3540/8633
+s 2099
+f 2018/3539/8634 2247/3540/8635 2125/3541/8636
+f 2125/3541/8636 2247/3540/8635 2338/3542/8637
+s 2100
+f 2021/2972/8638 2022/3143/8639 2130/3355/8640
+f 2130/3355/8640 2022/3143/8639 2129/3543/8641
+s 2101
+f 1924/2979/8642 2131/3343/8643 2142/3164/8644
+f 2142/3164/8644 2131/3343/8643 2342/3544/8645
+s 2102
+f 2023/2958/8646 2133/3148/8647 2248/3346/8648
+f 2248/3346/8648 2133/3148/8647 2344/3545/8649
+s 2103
+f 2026/3154/8650 2137/3338/8651 2250/3351/8652
+f 2250/3351/8652 2137/3338/8651 2349/3546/8653
+s 2104
+f 2028/2975/8654 2252/3359/8655 2138/3356/8656
+f 2138/3356/8656 2252/3359/8655 2345/3547/8657
+s 2105
+f 2027/2970/8658 2251/3353/8659 2030/3162/8660
+f 2030/3162/8660 2251/3353/8659 2140/3362/8661
+s 2106
+f 1925/2802/8662 2032/3165/8663 2143/3548/8664
+f 2143/3548/8664 2032/3165/8663 2352/3549/8665
+s 2107
+f 2032/3551/8666 2142/3552/8667 2254/3550/8668
+f 2254/3550/8668 2142/3552/8667 2353/3553/8669
+s 2108
+f 2033/3168/8670 2146/3171/8671 2255/3554/8672
+f 2255/3554/8672 2146/3171/8671 2354/3555/8673
+s 2109
+f 2128/3173/8674 2033/3168/8675 2256/3556/8676
+f 2256/3556/8676 2033/3168/8675 2255/3554/8677
+s 2110
+f 2147/3174/8678 2257/3557/8679 1930/2813/8680
+f 1930/2813/8680 2257/3557/8679 2148/3558/8681
+s 2111
+f 2035/2992/8682 2151/3375/8683 2152/3179/8684
+f 2152/3179/8684 2151/3375/8683 2360/3559/8685
+s 2112
+f 1933/2993/8686 2152/3179/8687 2258/3560/8688
+f 2258/3560/8688 2152/3179/8687 2361/3561/8689
+s 2113
+f 1934/3180/8690 2153/3183/8691 2259/3562/8692
+f 2259/3562/8692 2153/3183/8691 2362/3563/8693
+s 2114
+f 1934/3565/8694 2260/3566/8695 2154/3564/8696
+f 2154/3564/8696 2260/3566/8695 2366/3567/8697
+s 2115
+f 1935/3186/8698 2155/3378/8699 2156/3187/8700
+f 2156/3187/8700 2155/3378/8699 2367/3568/8701
+s 2116
+f 2156/3187/8702 2261/3569/8703 2038/3185/8704
+f 2038/3185/8704 2261/3569/8703 2263/3570/8705
+s 2117
+f 1936/2997/8706 2157/3188/8707 2262/3382/8708
+f 2262/3382/8708 2157/3188/8707 2369/3571/8709
+s 2118
+f 2038/3185/8710 2263/3570/8711 2157/3188/8712
+f 2157/3188/8712 2263/3570/8711 2370/3572/8713
+s 2119
+f 2158/3381/8714 2264/3573/8715 2039/2998/8716
+f 2039/2998/8716 2264/3573/8715 2174/3200/8717
+s 2120
+f 2041/3191/8718 2266/3574/8719 1816/2819/8720
+f 1816/2819/8720 2266/3574/8719 2374/3575/8721
+s 2121
+f 2041/3191/8722 2161/3192/8723 2267/3576/8724
+f 2267/3576/8724 2161/3192/8723 2377/3577/8725
+s 2122
+f 2042/3193/8726 2269/3578/8727 1938/3000/8728
+f 1938/3000/8728 2269/3578/8727 2163/3386/8729
+s 2123
+f 2162/3385/8730 2270/3579/8731 2043/3194/8732
+f 2043/3194/8732 2270/3579/8731 2271/3580/8733
+s 2124
+f 2043/3194/8734 2271/3580/8735 2048/3006/8736
+f 2048/3006/8736 2271/3580/8735 2170/3394/8737
+s 2125
+f 2165/3389/8738 2272/3581/8739 2045/3195/8740
+f 2045/3195/8740 2272/3581/8739 2070/3233/8741
+s 2126
+f 2046/3196/8742 2273/3582/8743 2168/3391/8744
+f 2168/3391/8744 2273/3582/8743 2382/3583/8745
+s 2127
+f 2046/3196/8746 2047/3197/8747 2273/3582/8748
+f 2273/3582/8748 2047/3197/8747 2274/3393/8749
+s 2128
+f 2050/3198/8750 2173/3199/8751 2275/3584/8752
+f 2275/3584/8752 2173/3199/8751 2387/3585/8753
+s 2129
+f 1944/2825/8754 2174/3200/8755 2173/3199/8756
+f 2173/3199/8756 2174/3200/8755 2388/3586/8757
+s 2130
+f 2050/3587/8758 2276/3588/8759 2175/3401/8760
+f 2175/3401/8760 2276/3588/8759 2389/3589/8761
+s 2131
+f 2052/3206/8762 2051/3205/8763 2278/3590/8764
+f 2278/3590/8764 2051/3205/8763 2285/3591/8765
+s 2132
+f 2052/3206/8766 2278/3590/8767 2176/3207/8768
+f 2176/3207/8768 2278/3590/8767 2284/3592/8769
+s 2133
+f 1950/3020/8770 2177/3593/8771 2182/3216/8772
+f 2182/3216/8772 2177/3593/8771 2390/3594/8773
+s 2134
+f 2055/3210/8774 2280/3595/8775 2054/3211/8776
+f 2054/3211/8776 2280/3595/8775 2279/3596/8777
+s 2135
+f 2059/3217/8778 2056/3212/8779 2282/3597/8780
+f 2282/3597/8780 2056/3212/8779 2057/3215/8781
+s 2136
+f 2181/3415/8782 2180/3598/8783 2057/3416/8784
+f 2057/3416/8784 2180/3598/8783 2282/3599/8785
+s 2137
+f 2181/3415/8786 2058/3418/8787 2283/3600/8788
+f 2283/3600/8788 2058/3418/8787 2182/3601/8789
+s 2138
+f 2183/3403/8790 2059/3217/8791 2053/3208/8792
+f 2053/3208/8792 2059/3217/8791 2282/3597/8793
+s 2139
+f 2183/3403/8794 2176/3207/8795 2060/3218/8796
+f 2060/3218/8796 2176/3207/8795 2284/3592/8797
+s 2140
+f 2060/3603/8798 2284/3604/8799 2184/3602/8800
+f 2184/3602/8800 2284/3604/8799 2061/3605/8801
+s 2141
+f 2061/3220/8802 2284/3592/8803 2185/3419/8804
+f 2185/3419/8804 2284/3592/8803 2278/3590/8805
+s 2142
+f 2062/3221/8806 2185/3419/8807 2285/3591/8808
+f 2285/3591/8808 2185/3419/8807 2278/3590/8809
+s 2143
+f 2062/3221/8810 2285/3591/8811 2186/3222/8812
+f 2186/3222/8812 2285/3591/8811 2064/3226/8813
+s 2144
+f 1953/2843/8814 2286/3606/8815 2063/3225/8816
+f 2063/3225/8816 2286/3606/8815 2190/3426/8817
+s 2145
+f 2187/3607/8818 2288/3608/8819 1953/2843/8820
+f 1953/2843/8820 2288/3608/8819 2286/3606/8821
+s 2146
+f 2065/3023/8822 2289/3424/8823 2188/3227/8824
+f 2188/3227/8824 2289/3424/8823 2399/3609/8825
+s 2147
+f 2066/3228/8826 2067/3229/8827 2290/3610/8828
+f 2290/3610/8828 2067/3229/8827 2291/3611/8829
+s 2148
+f 2067/3229/8830 2189/3230/8831 2291/3611/8832
+f 2291/3611/8832 2189/3230/8831 2400/3612/8833
+s 2149
+f 1954/3425/8834 2292/3427/8835 2189/3613/8836
+f 2189/3613/8836 2292/3427/8835 2401/3614/8837
+s 2150
+f 2068/3025/8838 2192/3429/8839 2293/3428/8840
+f 2293/3428/8840 2192/3429/8839 2404/3615/8841
+s 2151
+f 2191/3232/8842 2295/3616/8843 2069/3231/8844
+f 2069/3231/8844 2295/3616/8843 2405/3617/8845
+s 2152
+f 1956/3234/8846 2194/3238/8847 2193/3434/8848
+f 2193/3434/8848 2194/3238/8847 2407/3618/8849
+s 2153
+f 1957/3237/8850 2298/3619/8851 2194/3238/8852
+f 2194/3238/8852 2298/3619/8851 2409/3620/8853
+s 2154
+f 2195/3437/8854 2072/3432/8855 2299/3621/8856
+f 2299/3621/8856 2072/3432/8855 2296/3433/8857
+s 2155
+f 2196/3439/8858 2300/3622/8859 2073/3240/8860
+f 2073/3240/8860 2300/3622/8859 2198/3442/8861
+s 2156
+f 2074/3440/8862 2199/3444/8863 2301/3441/8864
+f 2301/3441/8864 2199/3444/8863 2300/3623/8865
+s 2157
+f 2201/3450/8866 2077/3247/8867 2302/3453/8868
+f 2302/3453/8868 2077/3247/8867 2083/3049/8869
+s 2158
+f 2200/3255/8870 2201/3624/8871 2080/3251/8872
+f 2080/3251/8872 2201/3624/8871 2302/3454/8873
+s 2159
+f 2087/3058/8874 2205/3466/8875 2085/3262/8876
+f 2085/3262/8876 2205/3466/8875 2415/3625/8877
+s 2160
+f 2209/3473/8878 2307/3626/8879 2088/3474/8880
+f 2088/3474/8880 2307/3626/8879 2306/3627/8881
+s 2161
+f 2210/3476/8882 1976/3477/8883 2232/3628/8884
+f 2232/3628/8884 1976/3477/8883 2106/3480/8885
+s 2162
+f 2107/3479/8886 1975/3478/8887 1994/3517/8888
+f 1994/3517/8888 1975/3478/8887 2211/3481/8889
+s 2163
+f 2089/3482/8890 2212/3629/8891 2308/3483/8892
+f 2308/3483/8892 2212/3629/8891 2309/3630/8893
+s 2164
+f 1977/3267/8894 2213/3484/8895 2212/3268/8896
+f 2212/3268/8896 2213/3484/8895 2309/3631/8897
+s 2165
+f 2215/3489/8898 2091/3271/8899 2309/3630/8900
+f 2309/3630/8900 2091/3271/8899 2308/3483/8901
+s 2166
+f 2091/3271/8902 2092/3274/8903 2308/3483/8904
+f 2308/3483/8904 2092/3274/8903 2211/3481/8905
+s 2167
+f 2217/3285/8906 2311/3632/8907 2094/3282/8908
+f 2094/3282/8908 2311/3632/8907 2421/3633/8909
+s 2168
+f 2095/3287/8910 2218/3635/8911 2312/3634/8912
+f 2312/3634/8912 2218/3635/8911 2422/3636/8913
+s 2169
+f 2217/3285/8914 2095/3287/8915 2311/3632/8916
+f 2311/3632/8916 2095/3287/8915 2312/3634/8917
+s 2170
+f 2096/3500/8918 2220/3637/8919 2313/3501/8920
+f 2313/3501/8920 2220/3637/8919 2424/3638/8921
+s 2171
+f 2098/3640/8922 2223/3506/8923 2228/3639/8924
+f 2228/3639/8924 2223/3506/8923 2315/3507/8925
+s 2172
+f 2224/3508/8926 2316/3641/8927 2099/3509/8928
+f 2099/3509/8928 2316/3641/8927 2315/3642/8929
+s 2173
+f 2225/3309/8930 2100/3643/8931 2000/3308/8932
+f 2000/3308/8932 2100/3643/8931 2233/3644/8933
+s 2174
+f 2101/3513/8934 2226/3645/8935 2317/3514/8936
+f 2317/3514/8936 2226/3645/8935 2426/3646/8937
+s 2175
+f 2229/3307/8938 2318/3647/8939 2102/3298/8940
+f 2102/3298/8940 2318/3647/8939 2319/3648/8941
+s 2176
+f 2102/3298/8942 2319/3648/8943 2103/3299/8944
+f 2103/3299/8944 2319/3648/8943 2320/3649/8945
+s 2177
+f 2103/3299/8946 2320/3649/8947 2230/3300/8948
+f 2230/3300/8948 2320/3649/8947 2427/3650/8949
+s 2178
+f 2104/3088/8950 2230/3300/8951 2321/3516/8952
+f 2321/3516/8952 2230/3300/8951 2427/3650/8953
+s 2179
+f 2231/3652/8954 2204/3653/8955 2105/3651/8956
+f 2105/3651/8956 2204/3653/8955 2322/3654/8957
+s 2180
+f 2105/3651/8958 2322/3654/8959 2232/3628/8960
+f 2232/3628/8960 2322/3654/8959 2210/3476/8961
+s 2181
+f 2109/3094/8962 2323/3519/8963 2110/3306/8964
+f 2110/3306/8964 2323/3519/8963 2324/3655/8965
+s 2182
+f 2110/3306/8966 2324/3655/8967 2229/3307/8968
+f 2229/3307/8968 2324/3655/8967 2318/3647/8969
+s 2183
+f 1999/3097/8970 2317/3514/8971 2225/3309/8972
+f 2225/3309/8972 2317/3514/8971 2224/3508/8973
+s 2184
+f 2145/3371/8974 2111/3315/8975 2325/3656/8976
+f 2325/3656/8976 2111/3315/8975 2112/3317/8977
+s 2185
+f 2236/3321/8978 2114/3320/8979 2329/3657/8980
+f 2329/3657/8980 2114/3320/8979 2428/3658/8981
+s 2186
+f 2122/3330/8982 2330/3659/8983 2117/3323/8984
+f 2117/3323/8984 2330/3659/8983 2331/3660/8985
+s 2187
+f 2117/3323/8986 2331/3660/8987 2118/3324/8988
+f 2118/3324/8988 2331/3660/8987 2332/3661/8989
+s 2188
+f 2118/3325/8990 2332/3662/8991 2119/3326/8992
+f 2119/3326/8992 2332/3662/8991 2333/3663/8993
+s 2189
+f 2119/3326/8994 2333/3663/8995 2237/3327/8996
+f 2237/3327/8996 2333/3663/8995 2429/3664/8997
+s 2190
+f 2242/3532/8998 2335/3665/8999 2122/3533/9000
+f 2122/3533/9000 2335/3665/8999 2330/3666/9001
+s 2191
+f 2015/2948/9002 2244/3334/9003 2124/3331/9004
+f 2124/3331/9004 2244/3334/9003 2337/3667/9005
+s 2192
+f 2124/3331/9006 2337/3667/9007 2126/3332/9008
+f 2126/3332/9008 2337/3667/9007 2339/3668/9009
+s 2193
+f 2125/3541/9010 2338/3542/9011 2244/3669/9012
+f 2244/3669/9012 2338/3542/9011 2434/3670/9013
+s 2194
+f 2126/3332/9014 2339/3668/9015 2127/3336/9016
+f 2127/3336/9016 2339/3668/9015 2340/3671/9017
+s 2195
+f 2127/3336/9018 2340/3671/9019 2137/3338/9020
+f 2137/3338/9020 2340/3671/9019 2349/3546/9021
+s 2196
+f 2245/3340/9022 2128/3173/9023 2341/3672/9024
+f 2341/3672/9024 2128/3173/9023 2256/3556/9025
+s 2197
+f 2132/3344/9026 2343/3673/9027 2131/3343/9028
+f 2131/3343/9028 2343/3673/9027 2439/3674/9029
+s 2198
+f 2132/3675/9030 2248/3676/9031 2139/3360/9032
+f 2139/3360/9032 2248/3676/9031 2252/3677/9033
+s 2199
+f 2133/3679/9034 2249/3680/9035 2344/3678/9036
+f 2344/3678/9036 2249/3680/9035 2345/3681/9037
+s 2200
+f 2138/3356/9038 2345/3547/9039 2134/3357/9040
+f 2134/3357/9040 2345/3547/9039 2249/3682/9041
+s 2201
+f 2135/3684/9042 2250/3685/9043 2346/3683/9044
+f 2346/3683/9044 2250/3685/9043 2440/3686/9045
+s 2202
+f 2135/3684/9046 2347/3688/9047 2136/3687/9048
+f 2136/3687/9048 2347/3688/9047 2348/3689/9049
+s 2203
+f 2136/3687/9050 2348/3689/9051 2251/3690/9052
+f 2251/3690/9052 2348/3689/9051 2350/3691/9053
+s 2204
+f 2139/3360/9054 2253/3361/9055 2132/3675/9056
+f 2132/3675/9056 2253/3361/9055 2343/3692/9057
+s 2205
+f 2029/3367/9058 2141/3366/9059 2253/3693/9060
+f 2253/3693/9060 2141/3366/9059 2441/3694/9061
+s 2206
+f 2251/3690/9062 2350/3691/9063 2140/3695/9064
+f 2140/3695/9064 2350/3691/9063 2351/3696/9065
+s 2207
+f 2140/3695/9066 2351/3696/9067 2141/3366/9068
+f 2141/3366/9068 2351/3696/9067 2441/3694/9069
+s 2208
+f 2032/3165/9070 2254/3697/9071 2352/3549/9072
+f 2352/3549/9072 2254/3697/9071 2442/3698/9073
+s 2209
+f 2146/3171/9074 2144/3368/9075 2354/3555/9076
+f 2354/3555/9076 2144/3368/9075 2355/3699/9077
+s 2210
+f 2144/3368/9078 2145/3371/9079 2355/3699/9080
+f 2355/3699/9080 2145/3371/9079 2325/3656/9081
+s 2211
+f 2257/3557/9082 2147/3174/9083 2356/3700/9084
+f 2356/3700/9084 2147/3174/9083 2294/3431/9085
+s 2212
+f 2149/3702/9086 2148/3558/9087 2357/3701/9088
+f 2357/3701/9088 2148/3558/9087 2257/3557/9089
+s 2213
+f 2150/3704/9090 2149/3702/9091 2358/3703/9092
+f 2358/3703/9092 2149/3702/9091 2357/3701/9093
+s 2214
+f 2151/3706/9094 2150/3704/9095 2359/3705/9096
+f 2359/3705/9096 2150/3704/9095 2358/3703/9097
+s 2215
+f 2153/3183/9098 2258/3377/9099 2362/3563/9100
+f 2362/3563/9100 2258/3377/9099 2447/3707/9101
+s 2216
+f 1934/3709/9102 2259/3710/9103 2363/3708/9104
+f 2363/3708/9104 2259/3710/9103 2449/3711/9105
+s 2217
+f 2155/3713/9106 2154/3564/9107 2364/3712/9108
+f 2364/3712/9108 2154/3564/9107 2366/3567/9109
+s 2218
+f 2260/3715/9110 1934/3709/9111 2365/3714/9112
+f 2365/3714/9112 1934/3709/9111 2363/3708/9113
+s 2219
+f 2261/3717/9114 2156/3718/9115 2368/3716/9116
+f 2368/3716/9116 2156/3718/9115 2367/3719/9117
+s 2220
+f 2264/3573/9118 2158/3381/9119 2371/3720/9120
+f 2371/3720/9120 2158/3381/9119 2372/3721/9121
+s 2221
+f 2158/3381/9122 2262/3382/9123 2372/3721/9124
+f 2372/3721/9124 2262/3382/9123 2455/3722/9125
+s 2222
+f 1937/2999/9126 2373/3723/9127 2160/3190/9128
+f 2160/3190/9128 2373/3723/9127 2458/3724/9129
+s 2223
+f 1816/2819/9130 2374/3575/9131 1937/2999/9132
+f 1937/2999/9132 2374/3575/9131 2373/3723/9133
+s 2224
+f 2266/3574/9134 2041/3191/9135 2375/3725/9136
+f 2375/3725/9136 2041/3191/9135 2460/3726/9137
+s 2225
+f 2267/3576/9138 2376/3727/9139 2041/3191/9140
+f 2041/3191/9140 2376/3727/9139 2460/3726/9141
+s 2226
+f 2161/3192/9142 2171/3728/9143 2377/3577/9144
+f 2377/3577/9144 2171/3728/9143 2464/3729/9145
+s off
+f 2265/3730/9146 2268/3731/9147 2042/3732/9148
+s 2227
+f 2163/3386/9149 2378/3733/9150 2162/3385/9151
+f 2162/3385/9151 2378/3733/9150 2270/3579/9152
+s 2228
+f 2269/3578/9153 2379/3734/9154 2163/3386/9155
+f 2163/3386/9155 2379/3734/9154 2378/3733/9156
+s 2229
+f 2166/3388/9157 2164/3387/9158 2380/3735/9159
+f 2380/3735/9159 2164/3387/9158 2470/3736/9160
+s 2230
+f 2166/3388/9161 2380/3735/9162 2165/3389/9163
+f 2165/3389/9163 2380/3735/9162 2272/3581/9164
+s 2231
+f 2167/3390/9165 2381/3737/9166 2164/3387/9167
+f 2164/3387/9167 2381/3737/9166 2470/3736/9168
+s 2232
+f 2168/3391/9169 2382/3583/9170 2167/3390/9171
+f 2167/3390/9171 2382/3583/9170 2381/3737/9172
+s 2233
+f 2170/3394/9173 2383/3738/9174 2169/3392/9175
+f 2169/3392/9175 2383/3738/9174 2384/3739/9176
+s 2234
+f 2169/3392/9177 2384/3739/9178 2274/3393/9179
+f 2274/3393/9179 2384/3739/9178 2475/3740/9180
+s 2235
+f 2170/3742/9181 2271/3743/9182 2385/3741/9183
+f 2385/3741/9183 2271/3743/9182 2476/3744/9184
+s 2236
+f 2172/3745/9185 2386/3746/9186 2171/3728/9187
+f 2171/3728/9187 2386/3746/9186 2464/3729/9188
+s 2237
+f 2143/3747/9189 2352/3748/9190 2172/3745/9191
+f 2172/3745/9191 2352/3748/9190 2386/3746/9192
+s 2238
+f 2050/3198/9193 2275/3584/9194 2276/3749/9195
+f 2276/3749/9195 2275/3584/9194 2477/3750/9196
+s 2239
+f 2174/3200/9197 2264/3573/9198 2388/3586/9199
+f 2388/3586/9199 2264/3573/9198 2456/3751/9200
+s 2240
+f 2051/3753/9201 2277/3754/9202 2285/3752/9203
+f 2285/3752/9203 2277/3754/9202 2395/3755/9204
+s 2241
+f 2175/3401/9205 2389/3589/9206 2277/3402/9207
+f 2277/3402/9207 2389/3589/9206 2480/3756/9208
+s 2242
+f 2177/3404/9209 2178/3407/9210 2391/3757/9211
+f 2391/3757/9211 2178/3407/9210 2392/3758/9212
+s 2243
+f 2178/3408/9213 2179/3409/9214 2392/3759/9215
+f 2392/3759/9215 2179/3409/9214 2393/3760/9216
+s 2244
+f 2179/3409/9217 2279/3410/9218 2393/3760/9219
+f 2393/3760/9219 2279/3410/9218 2481/3761/9220
+s 2245
+f 2280/3595/9221 2055/3210/9222 2394/3762/9223
+f 2394/3762/9223 2055/3210/9222 2281/3412/9224
+s 2246
+f 2180/3598/9225 2181/3415/9226 2281/3763/9227
+f 2281/3763/9227 2181/3415/9226 2283/3600/9228
+s 2247
+f 2182/3601/9229 2390/3764/9230 2283/3600/9231
+f 2283/3600/9231 2390/3764/9230 2483/3765/9232
+s 2248
+f 2285/3766/9233 2395/3767/9234 2064/3422/9235
+f 2064/3422/9235 2395/3767/9234 2287/3423/9236
+s 2249
+f 2187/3607/9237 2287/3769/9238 2396/3768/9239
+f 2396/3768/9239 2287/3769/9238 2395/3770/9240
+s 2250
+f 2288/3608/9241 2187/3607/9242 2397/3771/9243
+f 2397/3771/9243 2187/3607/9242 2396/3768/9244
+s 2251
+f 2192/3429/9245 2188/3430/9246 2398/3772/9247
+f 2398/3772/9247 2188/3430/9246 2485/3773/9248
+s 2252
+f 2066/3228/9249 2290/3610/9250 2289/3424/9251
+f 2289/3424/9251 2290/3610/9250 2486/3774/9252
+s 2253
+f 2286/3606/9253 2402/3775/9254 2190/3426/9255
+f 2190/3426/9255 2402/3775/9254 2292/3427/9256
+s 2254
+f 2191/3232/9257 2293/3428/9258 2403/3776/9259
+f 2403/3776/9259 2293/3428/9258 2490/3777/9260
+s 2255
+f 2069/3231/9261 2405/3617/9262 2294/3431/9263
+f 2294/3431/9263 2405/3617/9262 2491/3778/9264
+s 2256
+f 2191/3232/9265 2403/3776/9266 2295/3616/9267
+f 2295/3616/9267 2403/3776/9266 2493/3779/9268
+s 2257
+f 2272/3581/9269 2406/3780/9270 2070/3233/9271
+f 2070/3233/9271 2406/3780/9270 2296/3433/9272
+s 2258
+f 2071/3235/9273 2297/3435/9274 2334/3524/9275
+f 2334/3524/9275 2297/3435/9274 2430/3781/9276
+s 2259
+f 2193/3434/9277 2408/3782/9278 2297/3435/9279
+f 2297/3435/9279 2408/3782/9278 2499/3783/9280
+s 2260
+f 2299/3785/9281 2410/3786/9282 2195/3784/9283
+f 2195/3784/9283 2410/3786/9282 2298/3787/9284
+s 2261
+f 2300/3622/9285 2196/3439/9286 2301/3788/9287
+f 2301/3788/9287 2196/3439/9286 2076/3449/9288
+s 2262
+f 2197/3448/9289 2198/3789/9290 2199/3444/9291
+f 2199/3444/9291 2198/3789/9290 2300/3623/9292
+s 2263
+f 2216/3492/9293 2202/3457/9294 2411/3790/9295
+f 2411/3790/9295 2202/3457/9294 2412/3791/9296
+s 2264
+f 2202/3457/9297 2203/3458/9298 2412/3791/9299
+f 2412/3791/9299 2203/3458/9298 2413/3792/9300
+s 2265
+f 2203/3459/9301 2303/3462/9302 2413/3793/9303
+f 2413/3793/9303 2303/3462/9302 2500/3794/9304
+s 2266
+f 2303/3796/9305 2085/3797/9306 2414/3795/9307
+f 2414/3795/9307 2085/3797/9306 2415/3798/9308
+s 2267
+f 2204/3653/9309 2231/3652/9310 2205/3799/9311
+f 2205/3799/9311 2231/3652/9310 2321/3800/9312
+s 2268
+f 2204/3653/9313 2304/3801/9314 2322/3654/9315
+f 2322/3654/9315 2304/3801/9314 2418/3802/9316
+s 2269
+f 2086/3464/9317 2305/3803/9318 2304/3465/9319
+f 2304/3465/9319 2305/3803/9318 2502/3804/9320
+s 2270
+f 2305/3803/9321 2206/3806/9322 2416/3805/9323
+f 2416/3805/9323 2206/3806/9322 2207/3807/9324
+s 2271
+f 2207/3807/9325 2208/3808/9326 2416/3805/9327
+f 2416/3805/9327 2208/3808/9326 2306/3809/9328
+s 2272
+f 2307/3626/9329 2209/3473/9330 2417/3810/9331
+f 2417/3810/9331 2209/3473/9330 2418/3802/9332
+s 2273
+f 2209/3473/9333 2210/3476/9334 2418/3802/9335
+f 2418/3802/9335 2210/3476/9334 2322/3654/9336
+s 2274
+f 2214/3488/9337 2215/3811/9338 2213/3484/9339
+f 2213/3484/9339 2215/3811/9338 2309/3631/9340
+s 2275
+f 2218/3497/9341 2216/3492/9342 2419/3812/9343
+f 2419/3812/9343 2216/3492/9342 2411/3790/9344
+s 2276
+f 2097/3493/9345 2310/3496/9346 2314/3813/9347
+f 2314/3813/9347 2310/3496/9346 2503/3814/9348
+s 2277
+f 2310/3816/9349 2094/3817/9350 2420/3815/9351
+f 2420/3815/9351 2094/3817/9350 2421/3818/9352
+s 2278
+f 2219/3819/9353 2234/3820/9354 2100/3643/9355
+f 2100/3643/9355 2234/3820/9354 2233/3644/9356
+s 2279
+f 2219/3819/9357 2313/3822/9358 2423/3821/9359
+f 2423/3821/9359 2313/3822/9358 2506/3823/9360
+s 2280
+f 2220/3502/9361 2221/3503/9362 2425/3824/9363
+f 2425/3824/9363 2221/3503/9362 2222/3504/9364
+s 2281
+f 2222/3826/9365 2314/3827/9366 2425/3825/9367
+f 2425/3825/9367 2314/3827/9366 2503/3828/9368
+s 2282
+f 2224/3508/9369 2317/3514/9370 2316/3641/9371
+f 2316/3641/9371 2317/3514/9370 2426/3646/9372
+s 2283
+f 2227/3830/9373 2228/3831/9374 2226/3829/9375
+f 2226/3829/9375 2228/3831/9374 2426/3832/9376
+s 2284
+f 2234/3820/9377 2219/3819/9378 2323/3833/9379
+f 2323/3833/9379 2219/3819/9378 2423/3821/9380
+s 2285
+f 2112/3520/9381 2326/3521/9382 2325/3834/9383
+f 2325/3834/9383 2326/3521/9382 2508/3835/9384
+s 2286
+f 2235/3319/9385 2243/3534/9386 2326/3521/9387
+f 2326/3521/9387 2243/3534/9386 2433/3836/9388
+s 2287
+f 2123/3127/9389 2327/3522/9390 2336/3536/9391
+f 2336/3536/9391 2327/3522/9390 2509/3837/9392
+s 2288
+f 2113/3110/9393 2236/3321/9394 2327/3522/9395
+f 2327/3522/9395 2236/3321/9394 2329/3657/9396
+s 2289
+f 2114/3320/9397 2328/3523/9398 2428/3658/9399
+f 2428/3658/9399 2328/3523/9398 2510/3838/9400
+s 2290
+f 2328/3523/9401 2115/3322/9402 2429/3664/9403
+f 2429/3664/9403 2115/3322/9402 2237/3327/9404
+s 2291
+f 2238/3526/9405 2334/3839/9406 2239/3525/9407
+f 2239/3525/9407 2334/3839/9406 2240/3528/9408
+s 2292
+f 2241/3530/9409 2240/3528/9410 2430/3840/9411
+f 2430/3840/9411 2240/3528/9410 2334/3839/9412
+s 2293
+f 2242/3532/9413 2241/3530/9414 2431/3841/9415
+f 2431/3841/9415 2241/3530/9414 2430/3840/9416
+s 2294
+f 2335/3665/9417 2242/3532/9418 2432/3842/9419
+f 2432/3842/9419 2242/3532/9418 2431/3841/9420
+s 2295
+f 2243/3535/9421 2336/3536/9422 2433/3843/9423
+f 2433/3843/9423 2336/3536/9422 2519/3844/9424
+s 2296
+f 2246/3538/9425 2245/3340/9426 2435/3845/9427
+f 2435/3845/9427 2245/3340/9426 2341/3672/9428
+s 2297
+f 2247/3540/9429 2246/3538/9430 2436/3846/9431
+f 2436/3846/9431 2246/3538/9430 2435/3845/9432
+s 2298
+f 2338/3542/9433 2247/3540/9434 2437/3847/9435
+f 2437/3847/9435 2247/3540/9434 2436/3846/9436
+s 2299
+f 2142/3552/9437 2342/3848/9438 2353/3553/9439
+f 2353/3553/9439 2342/3848/9438 2525/3849/9440
+s 2300
+f 2342/3544/9441 2131/3343/9442 2438/3850/9443
+f 2438/3850/9443 2131/3343/9442 2439/3674/9444
+s 2301
+f 2248/3676/9445 2344/3678/9446 2252/3677/9447
+f 2252/3677/9447 2344/3678/9446 2345/3681/9448
+s 2302
+f 2135/3684/9449 2346/3683/9450 2347/3688/9451
+f 2347/3688/9451 2346/3683/9450 2528/3851/9452
+s 2303
+f 2250/3685/9453 2349/3852/9454 2440/3686/9455
+f 2440/3686/9455 2349/3852/9454 2532/3853/9456
+s 2304
+f 2254/3550/9457 2353/3553/9458 2443/3854/9459
+f 2443/3854/9459 2353/3553/9458 2534/3855/9460
+s 2305
+f 2256/3857/9461 2255/3858/9462 2444/3856/9463
+f 2444/3856/9463 2255/3858/9462 2445/3859/9464
+s 2306
+f 2255/3858/9465 2354/3860/9466 2445/3859/9467
+f 2445/3859/9467 2354/3860/9466 2536/3861/9468
+s 2307
+f 2341/3863/9469 2256/3857/9470 2446/3862/9471
+f 2446/3862/9471 2256/3857/9470 2444/3856/9472
+s 2308
+f 2257/3557/9473 2356/3700/9474 2357/3701/9475
+f 2357/3701/9475 2356/3700/9474 2537/3864/9476
+s 2309
+f 2151/3866/9477 2359/3867/9478 2360/3865/9479
+f 2360/3865/9479 2359/3867/9478 2539/3868/9480
+s 2310
+f 2152/3179/9481 2360/3559/9482 2361/3561/9483
+f 2361/3561/9483 2360/3559/9482 2540/3869/9484
+s 2311
+f 2258/3560/9485 2361/3561/9486 2447/3870/9487
+f 2447/3870/9487 2361/3561/9486 2541/3871/9488
+s 2312
+f 2259/3562/9489 2362/3563/9490 2448/3872/9491
+f 2448/3872/9491 2362/3563/9490 2542/3873/9492
+s 2313
+f 2364/3712/9493 2450/3874/9494 2155/3713/9495
+f 2155/3713/9495 2450/3874/9494 2367/3719/9496
+s 2314
+f 2365/3875/9497 2451/3876/9498 2260/3566/9499
+f 2260/3566/9499 2451/3876/9498 2452/3877/9500
+s 2315
+f 2260/3566/9501 2452/3877/9502 2366/3567/9503
+f 2366/3567/9503 2452/3877/9502 2364/3712/9504
+s 2316
+f 2368/3878/9505 2453/3879/9506 2261/3569/9507
+f 2261/3569/9507 2453/3879/9506 2548/3880/9508
+s 2317
+f 2263/3570/9509 2261/3569/9510 2454/3881/9511
+f 2454/3881/9511 2261/3569/9510 2548/3880/9512
+s 2318
+f 2262/3382/9513 2369/3571/9514 2455/3722/9515
+f 2455/3722/9515 2369/3571/9514 2549/3882/9516
+s 2319
+f 2157/3188/9517 2370/3572/9518 2369/3571/9519
+f 2369/3571/9519 2370/3572/9518 2550/3883/9520
+s 2320
+f 2263/3570/9521 2454/3881/9522 2370/3572/9523
+f 2370/3572/9523 2454/3881/9522 2551/3884/9524
+s 2321
+f 2264/3886/9525 2371/3887/9526 2456/3885/9527
+f 2456/3885/9527 2371/3887/9526 2552/3888/9528
+s 2322
+f 2040/3189/9529 2457/3889/9530 2159/3383/9531
+f 2159/3383/9531 2457/3889/9530 2555/3890/9532
+s 2323
+f 2160/3190/9533 2458/3724/9534 2040/3189/9535
+f 2040/3189/9535 2458/3724/9534 2457/3889/9536
+s 2324
+f 2375/3892/9537 2459/3893/9538 2266/3891/9539
+f 2266/3891/9539 2459/3893/9538 2559/3894/9540
+s 2325
+f 2374/3896/9541 2266/3891/9542 2461/3895/9543
+f 2461/3895/9543 2266/3891/9542 2559/3894/9544
+s 2326
+f 2376/3727/9545 2267/3576/9546 2462/3897/9547
+f 2462/3897/9547 2267/3576/9546 2463/3898/9548
+s 2327
+f 2267/3900/9549 2377/3901/9550 2463/3899/9551
+f 2463/3899/9551 2377/3901/9550 2564/3902/9552
+s 2328
+f 2265/3904/9553 2465/3905/9554 2268/3903/9555
+f 2268/3903/9555 2465/3905/9554 2466/3906/9556
+s 2329
+f 2268/3903/9557 2466/3906/9558 2042/3907/9559
+f 2042/3907/9559 2466/3906/9558 2467/3908/9560
+s 2330
+f 2042/3193/9561 2467/3909/9562 2269/3578/9563
+f 2269/3578/9563 2467/3909/9562 2379/3734/9564
+s 2331
+f 2378/3733/9565 2468/3910/9566 2270/3579/9567
+f 2270/3579/9567 2468/3910/9566 2568/3911/9568
+s 2332
+f 2270/3912/9569 2469/3913/9570 2271/3743/9571
+f 2271/3743/9571 2469/3913/9570 2476/3744/9572
+s 2333
+f 2272/3915/9573 2380/3916/9574 2471/3914/9575
+f 2471/3914/9575 2380/3916/9574 2570/3917/9576
+s 2334
+f 2382/3919/9577 2273/3920/9578 2472/3918/9579
+f 2472/3918/9579 2273/3920/9578 2574/3921/9580
+s 2335
+f 2274/3922/9581 2473/3923/9582 2273/3920/9583
+f 2273/3920/9583 2473/3923/9582 2574/3921/9584
+s 2336
+f 2383/3738/9585 2170/3394/9586 2474/3924/9587
+f 2474/3924/9587 2170/3394/9586 2385/3925/9588
+s 2337
+f 2275/3584/9589 2387/3585/9590 2478/3926/9591
+f 2478/3926/9591 2387/3585/9590 2581/3927/9592
+s 2338
+f 2173/3199/9593 2388/3586/9594 2387/3585/9595
+f 2387/3585/9595 2388/3586/9594 2581/3927/9596
+s 2339
+f 2276/3588/9597 2479/3928/9598 2389/3589/9599
+f 2389/3589/9599 2479/3928/9598 2583/3929/9600
+s 2340
+f 2177/3404/9601 2391/3757/9602 2390/3930/9603
+f 2390/3930/9603 2391/3757/9602 2584/3931/9604
+s 2341
+f 2279/3596/9605 2280/3595/9606 2481/3932/9607
+f 2481/3932/9607 2280/3595/9606 2588/3933/9608
+s 2342
+f 2394/3762/9609 2482/3934/9610 2280/3595/9611
+f 2280/3595/9611 2482/3934/9610 2588/3933/9612
+s 2343
+f 2281/3763/9613 2283/3600/9614 2394/3935/9615
+f 2394/3935/9615 2283/3600/9614 2483/3765/9616
+s 2344
+f 2288/3608/9617 2484/3936/9618 2286/3606/9619
+f 2286/3606/9619 2484/3936/9618 2402/3775/9620
+s 2345
+f 2288/3608/9621 2397/3771/9622 2484/3936/9623
+f 2484/3936/9623 2397/3771/9622 2591/3937/9624
+s 2346
+f 2192/3429/9625 2398/3772/9626 2404/3615/9627
+f 2404/3615/9627 2398/3772/9626 2592/3938/9628
+s 2347
+f 2188/3430/9629 2399/3939/9630 2485/3773/9631
+f 2485/3773/9631 2399/3939/9630 2594/3940/9632
+s 2348
+f 2289/3941/9633 2486/3942/9634 2399/3939/9635
+f 2399/3939/9635 2486/3942/9634 2595/3943/9636
+s 2349
+f 2290/3610/9637 2291/3611/9638 2487/3944/9639
+f 2487/3944/9639 2291/3611/9638 2596/3945/9640
+s 2350
+f 2400/3947/9641 2488/3948/9642 2291/3946/9643
+f 2291/3946/9643 2488/3948/9642 2596/3949/9644
+s 2351
+f 2400/3947/9645 2189/3613/9646 2489/3950/9647
+f 2489/3950/9647 2189/3613/9646 2401/3614/9648
+s 2352
+f 2292/3427/9649 2402/3775/9650 2401/3614/9651
+f 2401/3614/9651 2402/3775/9650 2489/3950/9652
+s 2353
+f 2293/3428/9653 2404/3615/9654 2490/3777/9655
+f 2490/3777/9655 2404/3615/9654 2601/3951/9656
+s 2354
+f 2356/3700/9657 2294/3431/9658 2492/3952/9659
+f 2492/3952/9659 2294/3431/9658 2491/3778/9660
+s 2355
+f 2405/3617/9661 2295/3616/9662 2494/3953/9663
+f 2494/3953/9663 2295/3616/9662 2603/3954/9664
+s 2356
+f 2406/3780/9665 2272/3581/9666 2495/3955/9667
+f 2495/3955/9667 2272/3581/9666 2471/3956/9668
+s 2357
+f 2299/3621/9669 2296/3433/9670 2496/3957/9671
+f 2496/3957/9671 2296/3433/9670 2406/3780/9672
+s 2358
+f 2407/3618/9673 2497/3958/9674 2193/3434/9675
+f 2193/3434/9675 2497/3958/9674 2408/3782/9676
+s 2359
+f 2407/3618/9677 2194/3238/9678 2498/3959/9679
+f 2498/3959/9679 2194/3238/9678 2409/3620/9680
+s 2360
+f 2298/3787/9681 2410/3786/9682 2409/3960/9683
+f 2409/3960/9683 2410/3786/9682 2498/3961/9684
+s 2361
+f 2299/3785/9685 2496/3962/9686 2410/3786/9687
+f 2410/3786/9687 2496/3962/9686 2604/3963/9688
+s 2362
+f 2414/3795/9689 2501/3964/9690 2303/3796/9691
+f 2303/3796/9691 2501/3964/9690 2500/3965/9692
+s 2363
+f 2415/3798/9693 2205/3799/9694 2427/3966/9695
+f 2427/3966/9695 2205/3799/9694 2321/3800/9696
+s 2364
+f 2416/3805/9697 2417/3967/9698 2305/3803/9699
+f 2305/3803/9699 2417/3967/9698 2502/3804/9700
+s 2365
+f 2306/3627/9701 2307/3626/9702 2416/3968/9703
+f 2416/3968/9703 2307/3626/9702 2417/3810/9704
+s 2366
+f 2218/3635/9705 2419/3969/9706 2422/3636/9707
+f 2422/3636/9707 2419/3969/9706 2610/3970/9708
+s 2367
+f 2420/3815/9709 2504/3971/9710 2310/3816/9711
+f 2310/3816/9711 2504/3971/9710 2503/3972/9712
+s 2368
+f 2421/3818/9713 2311/3974/9714 2324/3973/9715
+f 2324/3973/9715 2311/3974/9714 2318/3975/9716
+s 2369
+f 2312/3976/9717 2319/3977/9718 2311/3974/9719
+f 2311/3974/9719 2319/3977/9718 2318/3975/9720
+s 2370
+f 2312/3976/9721 2422/3979/9722 2505/3978/9723
+f 2505/3978/9723 2422/3979/9722 2609/3980/9724
+s 2371
+f 2313/3822/9725 2424/3981/9726 2506/3823/9727
+f 2506/3823/9727 2424/3981/9726 2507/3982/9728
+s 2372
+f 2424/3638/9729 2220/3637/9730 2507/3983/9731
+f 2507/3983/9731 2220/3637/9730 2425/3984/9732
+s 2373
+f 2315/3642/9733 2316/3641/9734 2228/3985/9735
+f 2228/3985/9735 2316/3641/9734 2426/3646/9736
+s 2374
+f 2319/3977/9737 2312/3976/9738 2320/3986/9739
+f 2320/3986/9739 2312/3976/9738 2505/3978/9740
+s 2375
+f 2320/3986/9741 2505/3978/9742 2427/3966/9743
+f 2427/3966/9743 2505/3978/9742 2415/3798/9744
+s 2376
+f 2323/3833/9745 2423/3821/9746 2324/3973/9747
+f 2324/3973/9747 2423/3821/9746 2421/3818/9748
+s 2377
+f 2325/3834/9749 2508/3835/9750 2355/3987/9751
+f 2355/3987/9751 2508/3835/9750 2535/3988/9752
+s 2378
+f 2429/3664/9753 2511/3989/9754 2328/3523/9755
+f 2328/3523/9755 2511/3989/9754 2510/3838/9756
+s 2379
+f 2327/3522/9757 2329/3657/9758 2509/3837/9759
+f 2509/3837/9759 2329/3657/9758 2512/3990/9760
+s 2380
+f 2329/3657/9761 2428/3658/9762 2512/3990/9763
+f 2512/3990/9763 2428/3658/9762 2611/3991/9764
+s 2381
+f 2335/3665/9765 2513/3992/9766 2330/3666/9767
+f 2330/3666/9767 2513/3992/9766 2514/3993/9768
+s 2382
+f 2330/3659/9769 2514/3994/9770 2331/3660/9771
+f 2331/3660/9771 2514/3994/9770 2515/3995/9772
+s 2383
+f 2331/3660/9773 2515/3995/9774 2332/3661/9775
+f 2332/3661/9775 2515/3995/9774 2516/3996/9776
+s 2384
+f 2332/3662/9777 2516/3997/9778 2333/3663/9779
+f 2333/3663/9779 2516/3997/9778 2517/3998/9780
+s 2385
+f 2333/3663/9781 2517/3998/9782 2429/3664/9783
+f 2429/3664/9783 2517/3998/9782 2511/3989/9784
+s 2386
+f 2432/3842/9785 2518/3999/9786 2335/3665/9787
+f 2335/3665/9787 2518/3999/9786 2513/3992/9788
+s 2387
+f 2244/3669/9789 2434/3670/9790 2337/4000/9791
+f 2337/4000/9791 2434/3670/9790 2520/4001/9792
+s 2388
+f 2337/4000/9793 2520/4001/9794 2339/4002/9795
+f 2339/4002/9795 2520/4001/9794 2522/4003/9796
+s 2389
+f 2434/3670/9797 2338/3542/9798 2521/4004/9799
+f 2521/4004/9799 2338/3542/9798 2437/3847/9800
+s 2390
+f 2339/4002/9801 2522/4003/9802 2340/4005/9803
+f 2340/4005/9803 2522/4003/9802 2523/4006/9804
+s 2391
+f 2340/4005/9805 2523/4006/9806 2349/3852/9807
+f 2349/3852/9807 2523/4006/9806 2532/3853/9808
+s 2392
+f 2435/4008/9809 2341/3863/9810 2524/4007/9811
+f 2524/4007/9811 2341/3863/9810 2446/3862/9812
+s 2393
+f 2438/4010/9813 2526/4011/9814 2342/4009/9815
+f 2342/4009/9815 2526/4011/9814 2619/4012/9816
+s 2394
+f 2253/3693/9817 2441/3694/9818 2343/4013/9819
+f 2343/4013/9819 2441/3694/9818 2527/4014/9820
+s 2395
+f 2343/4016/9821 2527/4017/9822 2439/4015/9823
+f 2439/4015/9823 2527/4017/9822 2438/4018/9824
+s 2396
+f 2529/4019/9825 2530/4020/9826 2440/3686/9827
+f 2440/3686/9827 2530/4020/9826 2346/3683/9828
+s 2397
+f 2348/3689/9829 2347/3688/9830 2531/4021/9831
+f 2531/4021/9831 2347/3688/9830 2621/4022/9832
+s 2398
+f 2348/3689/9833 2531/4021/9834 2350/3691/9835
+f 2350/3691/9835 2531/4021/9834 2622/4023/9836
+s 2399
+f 2533/4024/9837 2351/3696/9838 2622/4023/9839
+f 2622/4023/9839 2351/3696/9838 2350/3691/9840
+s 2400
+f 2351/3696/9841 2533/4024/9842 2441/3694/9843
+f 2441/3694/9843 2533/4024/9842 2527/4014/9844
+s 2401
+f 2352/3748/9845 2442/4025/9846 2386/3746/9847
+f 2386/3746/9847 2442/4025/9846 2623/4026/9848
+s 2402
+f 2254/3697/9849 2443/4027/9850 2442/3698/9851
+f 2442/3698/9851 2443/4027/9850 2624/4028/9852
+s 2403
+f 2355/3987/9853 2535/3988/9854 2354/3860/9855
+f 2354/3860/9855 2535/3988/9854 2536/3861/9856
+s 2404
+f 2357/3701/9857 2537/3864/9858 2358/3703/9859
+f 2358/3703/9859 2537/3864/9858 2538/4029/9860
+s 2405
+f 2359/3705/9861 2358/3703/9862 2629/4030/9863
+f 2629/4030/9863 2358/3703/9862 2538/4029/9864
+s 2406
+f 2362/3563/9865 2447/3707/9866 2542/3873/9867
+f 2542/3873/9867 2447/3707/9866 2630/4031/9868
+s 2407
+f 2259/3710/9869 2448/4032/9870 2449/3711/9871
+f 2449/3711/9871 2448/4032/9870 2632/4033/9872
+s 2408
+f 2363/3708/9873 2449/3711/9874 2543/4034/9875
+f 2543/4034/9875 2449/3711/9874 2633/4035/9876
+s 2409
+f 2365/3714/9877 2363/3708/9878 2544/4036/9879
+f 2544/4036/9879 2363/3708/9878 2543/4034/9880
+s 2410
+f 2450/3874/9881 2364/3712/9882 2451/3876/9883
+f 2451/3876/9883 2364/3712/9882 2452/3877/9884
+s 2411
+f 2365/3875/9885 2545/4037/9886 2451/3876/9887
+f 2451/3876/9887 2545/4037/9886 2634/4038/9888
+s 2412
+f 2368/3716/9889 2367/3719/9890 2546/4039/9891
+f 2546/4039/9891 2367/3719/9890 2450/3874/9892
+s 2413
+f 2453/4041/9893 2368/3716/9894 2547/4040/9895
+f 2547/4040/9895 2368/3716/9894 2635/4042/9896
+s 2414
+f 2371/3720/9897 2372/3721/9898 2553/4043/9899
+f 2553/4043/9899 2372/3721/9898 2554/4044/9900
+s 2415
+f 2372/3721/9901 2455/3722/9902 2554/4044/9903
+f 2554/4044/9903 2455/3722/9902 2642/4045/9904
+s 2416
+f 2159/3383/9905 2555/3890/9906 2265/3384/9907
+f 2265/3384/9907 2555/3890/9906 2465/4046/9908
+s 2417
+f 2374/3575/9909 2556/4047/9910 2373/3723/9911
+f 2373/3723/9911 2556/4047/9910 2557/4048/9912
+s 2418
+f 2373/3723/9913 2557/4048/9914 2458/3724/9915
+f 2458/3724/9915 2557/4048/9914 2645/4049/9916
+s 2419
+f 2459/4051/9917 2375/4052/9918 2558/4050/9919
+f 2558/4050/9919 2375/4052/9918 2647/4053/9920
+s 2420
+f 2460/3726/9921 2560/4054/9922 2375/3725/9923
+f 2375/3725/9923 2560/4054/9922 2647/4055/9924
+s 2421
+f 2461/4056/9925 2561/4057/9926 2374/3575/9927
+f 2374/3575/9927 2561/4057/9926 2556/4047/9928
+s 2422
+f 2462/3897/9929 2562/4058/9930 2376/3727/9931
+f 2376/3727/9931 2562/4058/9930 2563/4059/9932
+s 2423
+f 2376/3727/9933 2563/4059/9934 2460/3726/9935
+f 2460/3726/9935 2563/4059/9934 2560/4054/9936
+s 2424
+f 2464/4060/9937 2565/4061/9938 2377/3901/9939
+f 2377/3901/9939 2565/4061/9938 2564/3902/9940
+s 2425
+f 2379/3734/9941 2566/4062/9942 2378/3733/9943
+f 2378/3733/9943 2566/4062/9942 2468/3910/9944
+s 2426
+f 2379/4064/9945 2467/4065/9946 2567/4063/9947
+f 2567/4063/9947 2467/4065/9946 2657/4066/9948
+s 2427
+f 2270/3579/9949 2568/3911/9950 2469/4067/9951
+f 2469/4067/9951 2568/3911/9950 2660/4068/9952
+s 2428
+f 2470/4069/9953 2569/4070/9954 2380/3916/9955
+f 2380/3916/9955 2569/4070/9954 2570/3917/9956
+s 2429
+f 2382/3583/9957 2571/4071/9958 2381/3737/9959
+f 2381/3737/9959 2571/4071/9958 2572/4072/9960
+s 2430
+f 2381/3737/9961 2572/4072/9962 2470/3736/9963
+f 2470/3736/9963 2572/4072/9962 2661/4073/9964
+s 2431
+f 2472/4074/9965 2573/4075/9966 2382/3583/9967
+f 2382/3583/9967 2573/4075/9966 2571/4071/9968
+s 2432
+f 2274/4077/9969 2475/4078/9970 2473/4076/9971
+f 2473/4076/9971 2475/4078/9970 2664/4079/9972
+s 2433
+f 2474/3924/9973 2575/4080/9974 2383/3738/9975
+f 2383/3738/9975 2575/4080/9974 2576/4081/9976
+s 2434
+f 2383/3738/9977 2576/4081/9978 2384/3739/9979
+f 2384/3739/9979 2576/4081/9978 2666/4082/9980
+s 2435
+f 2475/3740/9981 2384/3739/9982 2577/4083/9983
+f 2577/4083/9983 2384/3739/9982 2666/4082/9984
+s 2436
+f 2385/4085/9985 2578/4086/9986 2474/4084/9987
+f 2474/4084/9987 2578/4086/9986 2665/4087/9988
+s 2437
+f 2476/3744/9989 2579/4088/9990 2385/3741/9991
+f 2385/3741/9991 2579/4088/9990 2578/4089/9992
+s 2438
+f 2386/3746/9993 2580/4090/9994 2464/3729/9995
+f 2464/3729/9995 2580/4090/9994 2565/4091/9996
+s 2439
+f 2276/3588/9997 2477/4092/9998 2479/3928/9999
+f 2479/3928/9999 2477/4092/9998 2667/4093/10000
+s 2440
+f 2275/3584/10001 2478/3926/10002 2477/3750/10003
+f 2477/3750/10003 2478/3926/10002 2668/4094/10004
+s 2441
+f 2388/4096/10005 2456/3885/10006 2582/4095/10007
+f 2582/4095/10007 2456/3885/10006 2641/4097/10008
+s 2442
+f 2277/3402/10009 2480/3756/10010 2395/3770/10011
+f 2395/3770/10011 2480/3756/10010 2396/3768/10012
+s 2443
+f 2389/3589/10013 2583/3929/10014 2480/3756/10015
+f 2480/3756/10015 2583/3929/10014 2590/4098/10016
+s 2444
+f 2391/3757/10017 2392/3758/10018 2585/4099/10019
+f 2585/4099/10019 2392/3758/10018 2586/4100/10020
+s 2445
+f 2392/3759/10021 2393/3760/10022 2586/4101/10023
+f 2586/4101/10023 2393/3760/10022 2587/4102/10024
+s 2446
+f 2393/3760/10025 2481/3761/10026 2587/4102/10027
+f 2587/4102/10027 2481/3761/10026 2671/4103/10028
+s 2447
+f 2482/4105/10029 2394/3935/10030 2589/4104/10031
+f 2589/4104/10031 2394/3935/10030 2483/3765/10032
+s 2448
+f 2390/3764/10033 2584/4106/10034 2483/3765/10035
+f 2483/3765/10035 2584/4106/10034 2589/4104/10036
+s 2449
+f 2397/3771/10037 2396/3768/10038 2590/4098/10039
+f 2590/4098/10039 2396/3768/10038 2480/3756/10040
+s 2450
+f 2398/3772/10041 2485/3773/10042 2593/4107/10043
+f 2593/4107/10043 2485/3773/10042 2677/4108/10044
+s 2451
+f 2290/3610/10045 2487/3944/10046 2486/3774/10047
+f 2486/3774/10047 2487/3944/10046 2680/4109/10048
+s 2452
+f 2400/3947/10049 2597/4110/10050 2488/3948/10051
+f 2488/3948/10051 2597/4110/10050 2682/4111/10052
+s 2453
+f 2400/3947/10053 2489/3950/10054 2598/4112/10055
+f 2598/4112/10055 2489/3950/10054 2684/4113/10056
+s 2454
+f 2402/4115/10057 2484/4116/10058 2599/4114/10059
+f 2599/4114/10059 2484/4116/10058 2676/4117/10060
+s 2455
+f 2403/3776/10061 2490/3777/10062 2600/4118/10063
+f 2600/4118/10063 2490/3777/10062 2685/4119/10064
+s 2456
+f 2405/3617/10065 2494/3953/10066 2491/3778/10067
+f 2491/3778/10067 2494/3953/10066 2686/4120/10068
+s 2457
+f 2356/3700/10069 2492/3952/10070 2537/3864/10071
+f 2537/3864/10071 2492/3952/10070 2687/4121/10072
+s 2458
+f 2493/3779/10073 2602/4122/10074 2295/3616/10075
+f 2295/3616/10075 2602/4122/10074 2603/3954/10076
+s 2459
+f 2403/3776/10077 2600/4118/10078 2493/3779/10079
+f 2493/3779/10079 2600/4118/10078 2602/4122/10080
+s 2460
+f 2495/3955/10081 2604/4123/10082 2406/3780/10083
+f 2406/3780/10083 2604/4123/10082 2496/3957/10084
+s 2461
+f 2497/3958/10085 2407/3618/10086 2605/4124/10087
+f 2605/4124/10087 2407/3618/10086 2498/3959/10088
+s 2462
+f 2297/3435/10089 2499/3783/10090 2430/3781/10091
+f 2430/3781/10091 2499/3783/10090 2431/4125/10092
+s 2463
+f 2497/4127/10093 2495/4128/10094 2408/4126/10095
+f 2408/4126/10095 2495/4128/10094 2471/3914/10096
+s 2464
+f 2408/3782/10097 2606/4129/10098 2499/3783/10099
+f 2499/3783/10099 2606/4129/10098 2612/4130/10100
+s 2465
+f 2419/3969/10101 2411/4132/10102 2607/4131/10103
+f 2607/4131/10103 2411/4132/10102 2412/4133/10104
+s 2466
+f 2412/4133/10105 2413/4134/10106 2607/4131/10107
+f 2607/4131/10107 2413/4134/10106 2500/4135/10108
+s 2467
+f 2501/3964/10109 2414/3795/10110 2608/4136/10111
+f 2608/4136/10111 2414/3795/10110 2609/3980/10112
+s 2468
+f 2414/3795/10113 2415/3798/10114 2609/3980/10115
+f 2609/3980/10115 2415/3798/10114 2505/3978/10116
+s 2469
+f 2304/3801/10117 2502/4137/10118 2418/3802/10119
+f 2418/3802/10119 2502/4137/10118 2417/3810/10120
+s 2470
+f 2504/3971/10121 2420/3815/10122 2507/3982/10123
+f 2507/3982/10123 2420/3815/10122 2506/3823/10124
+s 2471
+f 2420/3815/10125 2421/3818/10126 2506/3823/10127
+f 2506/3823/10127 2421/3818/10126 2423/3821/10128
+s 2472
+f 2507/3982/10129 2425/4138/10130 2504/3971/10131
+f 2504/3971/10131 2425/4138/10130 2503/3972/10132
+s 2473
+f 2326/3521/10133 2433/3836/10134 2508/3835/10135
+f 2508/3835/10135 2433/3836/10134 2614/4139/10136
+s 2474
+f 2336/3536/10137 2509/3837/10138 2519/3844/10139
+f 2519/3844/10139 2509/3837/10138 2689/4140/10140
+s 2475
+f 2428/3658/10141 2510/3838/10142 2611/3991/10143
+f 2611/3991/10143 2510/3838/10142 2690/4141/10144
+s 2476
+f 2432/4142/10145 2431/4125/10146 2612/4130/10147
+f 2612/4130/10147 2431/4125/10146 2499/3783/10148
+s 2477
+f 2518/4144/10149 2432/4142/10150 2613/4143/10151
+f 2613/4143/10151 2432/4142/10150 2612/4130/10152
+s 2478
+f 2433/3843/10153 2519/3844/10154 2614/4145/10155
+f 2614/4145/10155 2519/3844/10154 2700/4146/10156
+s 2479
+f 2521/4004/10157 2615/4147/10158 2434/3670/10159
+f 2434/3670/10159 2615/4147/10158 2520/4001/10160
+s 2480
+f 2436/4149/10161 2435/4008/10162 2616/4148/10163
+f 2616/4148/10163 2435/4008/10162 2524/4007/10164
+s 2481
+f 2437/4151/10165 2436/4149/10166 2617/4150/10167
+f 2617/4150/10167 2436/4149/10166 2616/4148/10168
+s 2482
+f 2521/4153/10169 2437/4151/10170 2618/4152/10171
+f 2618/4152/10171 2437/4151/10170 2617/4150/10172
+s 2483
+f 2353/3553/10173 2525/3849/10174 2534/3855/10175
+f 2534/3855/10175 2525/3849/10174 2705/4154/10176
+s 2484
+f 2342/3848/10177 2619/4155/10178 2525/3849/10179
+f 2525/3849/10179 2619/4155/10178 2706/4156/10180
+s 2485
+f 2526/4158/10181 2438/4159/10182 2620/4157/10183
+f 2620/4157/10183 2438/4159/10182 2527/4014/10184
+s 2486
+f 2347/3688/10185 2528/3851/10186 2621/4022/10187
+f 2621/4022/10187 2528/3851/10186 2708/4160/10188
+s 2487
+f 2346/3683/10189 2530/4020/10190 2528/3851/10191
+f 2528/3851/10191 2530/4020/10190 2529/4019/10192
+s 2488
+f 2440/3686/10193 2532/3853/10194 2529/4019/10195
+f 2529/4019/10195 2532/3853/10194 2709/4161/10196
+s 2489
+f 2443/4027/10197 2534/4162/10198 2624/4028/10199
+f 2624/4028/10199 2534/4162/10198 2714/4163/10200
+s 2490
+f 2446/3862/10201 2444/3856/10202 2625/4164/10203
+f 2625/4164/10203 2444/3856/10202 2626/4165/10204
+s 2491
+f 2444/3856/10205 2445/3859/10206 2626/4165/10207
+f 2626/4165/10207 2445/3859/10206 2716/4166/10208
+s 2492
+f 2536/3861/10209 2627/4167/10210 2445/3859/10211
+f 2445/3859/10211 2627/4167/10210 2716/4166/10212
+s 2493
+f 2524/4007/10213 2446/3862/10214 2628/4168/10215
+f 2628/4168/10215 2446/3862/10214 2625/4164/10216
+s 2494
+f 2539/4170/10217 2359/3705/10218 2544/4169/10219
+f 2544/4169/10219 2359/3705/10218 2629/4030/10220
+s 2495
+f 2360/4172/10221 2539/4170/10222 2540/4171/10223
+f 2540/4171/10223 2539/4170/10222 2718/4173/10224
+s 2496
+f 2361/3561/10225 2540/3869/10226 2541/3871/10227
+f 2541/3871/10227 2540/3869/10226 2719/4174/10228
+s 2497
+f 2447/3870/10229 2541/3871/10230 2630/4175/10231
+f 2630/4175/10231 2541/3871/10230 2720/4176/10232
+s 2498
+f 2542/3873/10233 2631/4177/10234 2448/3872/10235
+f 2448/3872/10235 2631/4177/10234 2722/4178/10236
+s 2499
+f 2544/4169/10237 2629/4030/10238 2365/3875/10239
+f 2365/3875/10239 2629/4030/10238 2545/4037/10240
+s 2500
+f 2451/3876/10241 2634/4038/10242 2450/3874/10243
+f 2450/3874/10243 2634/4038/10242 2546/4039/10244
+s 2501
+f 2368/3716/10245 2546/4039/10246 2635/4042/10247
+f 2635/4042/10247 2546/4039/10246 2724/4179/10248
+s 2502
+f 2547/4040/10249 2636/4180/10250 2453/4041/10251
+f 2453/4041/10251 2636/4180/10250 2725/4181/10252
+s 2503
+f 2548/3880/10253 2453/3879/10254 2637/4182/10255
+f 2637/4182/10255 2453/3879/10254 2725/4183/10256
+s 2504
+f 2548/3880/10257 2638/4184/10258 2454/3881/10259
+f 2454/3881/10259 2638/4184/10258 2640/4185/10260
+s 2505
+f 2549/3882/10261 2639/4186/10262 2455/3722/10263
+f 2455/3722/10263 2639/4186/10262 2642/4045/10264
+s 2506
+f 2369/3571/10265 2550/3883/10266 2549/3882/10267
+f 2549/3882/10267 2550/3883/10266 2639/4186/10268
+s 2507
+f 2370/3572/10269 2551/3884/10270 2550/3883/10271
+f 2550/3883/10271 2551/3884/10270 2726/4187/10272
+s 2508
+f 2454/3881/10273 2640/4185/10274 2551/3884/10275
+f 2551/3884/10275 2640/4185/10274 2726/4187/10276
+s 2509
+f 2456/3885/10277 2552/3888/10278 2641/4097/10279
+f 2641/4097/10279 2552/3888/10278 2727/4188/10280
+s 2510
+f 2371/3887/10281 2553/4189/10282 2552/3888/10283
+f 2552/3888/10283 2553/4189/10282 2728/4190/10284
+s 2511
+f 2458/4192/10285 2643/4193/10286 2457/4191/10287
+f 2457/4191/10287 2643/4193/10286 2731/4194/10288
+s 2512
+f 2555/4196/10289 2457/4191/10290 2644/4195/10291
+f 2644/4195/10291 2457/4191/10290 2731/4194/10292
+s 2513
+f 2558/4198/10293 2646/4199/10294 2459/4197/10295
+f 2459/4197/10295 2646/4199/10294 2737/4200/10296
+s 2514
+f 2559/4202/10297 2459/4197/10298 2648/4201/10299
+f 2648/4201/10299 2459/4197/10298 2737/4200/10300
+s 2515
+f 2561/4204/10301 2461/4205/10302 2649/4203/10303
+f 2649/4203/10303 2461/4205/10302 2650/4206/10304
+s 2516
+f 2461/3895/10305 2559/3894/10306 2650/4207/10307
+f 2650/4207/10307 2559/3894/10306 2648/4208/10308
+s 2517
+f 2562/4210/10309 2462/4211/10310 2651/4209/10311
+f 2651/4209/10311 2462/4211/10310 2652/4212/10312
+s 2518
+f 2462/4214/10313 2463/3899/10314 2652/4213/10315
+f 2652/4213/10315 2463/3899/10314 2564/3902/10316
+s 2519
+f 2555/3890/10317 2653/4215/10318 2465/4046/10319
+f 2465/4046/10319 2653/4215/10318 2654/4216/10320
+s 2520
+f 2465/4046/10321 2654/4216/10322 2466/4217/10323
+f 2466/4217/10323 2654/4216/10322 2745/4218/10324
+s 2521
+f 2466/4219/10325 2655/4220/10326 2467/4065/10327
+f 2467/4065/10327 2655/4220/10326 2657/4066/10328
+s 2522
+f 2566/4062/10329 2379/3734/10330 2656/4221/10331
+f 2656/4221/10331 2379/3734/10330 2567/4222/10332
+s 2523
+f 2566/4062/10333 2658/4223/10334 2468/3910/10335
+f 2468/3910/10335 2658/4223/10334 2659/4224/10336
+s 2524
+f 2468/3910/10337 2659/4224/10338 2568/3911/10339
+f 2568/3911/10339 2659/4224/10338 2749/4225/10340
+s 2525
+f 2476/3744/10341 2469/3913/10342 2579/4088/10343
+f 2579/4088/10343 2469/3913/10342 2751/4226/10344
+s 2526
+f 2470/4228/10345 2661/4229/10346 2569/4227/10347
+f 2569/4227/10347 2661/4229/10346 2752/4230/10348
+s 2527
+f 2570/3917/10349 2606/4231/10350 2471/3914/10351
+f 2471/3914/10351 2606/4231/10350 2408/4126/10352
+s 2528
+f 2472/3918/10353 2662/4233/10354 2573/4232/10355
+f 2573/4232/10355 2662/4233/10354 2756/4234/10356
+s 2529
+f 2574/3921/10357 2663/4235/10358 2472/3918/10359
+f 2472/3918/10359 2663/4235/10358 2662/4233/10360
+s 2530
+f 2574/3921/10361 2473/3923/10362 2663/4235/10363
+f 2663/4235/10363 2473/3923/10362 2758/4236/10364
+s 2531
+f 2474/4084/10365 2665/4087/10366 2575/4237/10367
+f 2575/4237/10367 2665/4087/10366 2759/4238/10368
+s 2532
+f 2475/4078/10369 2577/4239/10370 2664/4079/10371
+f 2664/4079/10371 2577/4239/10370 2761/4240/10372
+s 2533
+f 2386/3746/10373 2623/4026/10374 2580/4090/10375
+f 2580/4090/10375 2623/4026/10374 2764/4241/10376
+s 2534
+f 2478/3926/10377 2581/3927/10378 2669/4242/10379
+f 2669/4242/10379 2581/3927/10378 2765/4243/10380
+s 2535
+f 2388/3586/10381 2582/4244/10382 2581/3927/10383
+f 2581/3927/10383 2582/4244/10382 2765/4243/10384
+s 2536
+f 2479/3928/10385 2667/4093/10386 2583/3929/10387
+f 2583/3929/10387 2667/4093/10386 2766/4245/10388
+s 2537
+f 2584/3931/10389 2391/3757/10390 2670/4246/10391
+f 2670/4246/10391 2391/3757/10390 2585/4099/10392
+s 2538
+f 2588/3933/10393 2672/4247/10394 2481/3932/10395
+f 2481/3932/10395 2672/4247/10394 2671/4248/10396
+s 2539
+f 2589/4104/10397 2673/4249/10398 2482/4105/10399
+f 2482/4105/10399 2673/4249/10398 2674/4250/10400
+s 2540
+f 2482/3934/10401 2674/4251/10402 2588/3933/10403
+f 2588/3933/10403 2674/4251/10402 2672/4247/10404
+s 2541
+f 2590/4098/10405 2675/4252/10406 2397/3771/10407
+f 2397/3771/10407 2675/4252/10406 2591/3937/10408
+s 2542
+f 2484/3936/10409 2591/3937/10410 2676/4253/10411
+f 2676/4253/10411 2591/3937/10410 2769/4254/10412
+s 2543
+f 2404/3615/10413 2592/3938/10414 2601/3951/10415
+f 2601/3951/10415 2592/3938/10414 2770/4255/10416
+s 2544
+f 2398/3772/10417 2593/4107/10418 2592/3938/10419
+f 2592/3938/10419 2593/4107/10418 2771/4256/10420
+s 2545
+f 2485/3773/10421 2594/3940/10422 2677/4108/10423
+f 2677/4108/10423 2594/3940/10422 2773/4257/10424
+s 2546
+f 2594/3940/10425 2399/3939/10426 2678/4258/10427
+f 2678/4258/10427 2399/3939/10426 2595/3943/10428
+s 2547
+f 2595/3943/10429 2486/3942/10430 2679/4259/10431
+f 2679/4259/10431 2486/3942/10430 2680/4260/10432
+s 2548
+f 2596/3945/10433 2681/4261/10434 2487/3944/10435
+f 2487/3944/10435 2681/4261/10434 2778/4262/10436
+s 2549
+f 2400/3947/10437 2598/4112/10438 2597/4110/10439
+f 2597/4110/10439 2598/4112/10438 2779/4263/10440
+s 2550
+f 2488/3948/10441 2683/4264/10442 2596/3949/10443
+f 2596/3949/10443 2683/4264/10442 2681/4265/10444
+s 2551
+f 2402/3775/10445 2599/4266/10446 2489/3950/10447
+f 2489/3950/10447 2599/4266/10446 2684/4113/10448
+s 2552
+f 2490/3777/10449 2601/3951/10450 2685/4119/10451
+f 2685/4119/10451 2601/3951/10450 2783/4267/10452
+s 2553
+f 2492/3952/10453 2491/3778/10454 2687/4121/10455
+f 2687/4121/10455 2491/3778/10454 2686/4120/10456
+s 2554
+f 2494/3953/10457 2603/3954/10458 2688/4268/10459
+f 2688/4268/10459 2603/3954/10458 2784/4269/10460
+s 2555
+f 2495/4128/10461 2497/4127/10462 2604/3963/10463
+f 2604/3963/10463 2497/4127/10462 2605/4270/10464
+s 2556
+f 2498/3961/10465 2410/3786/10466 2605/4270/10467
+f 2605/4270/10467 2410/3786/10466 2604/3963/10468
+s 2557
+f 2419/3969/10469 2607/4131/10470 2610/3970/10471
+f 2610/3970/10471 2607/4131/10470 2608/4271/10472
+s 2558
+f 2500/3965/10473 2501/3964/10474 2607/4272/10475
+f 2607/4272/10475 2501/3964/10474 2608/4136/10476
+s 2559
+f 2422/3979/10477 2610/4273/10478 2609/3980/10479
+f 2609/3980/10479 2610/4273/10478 2608/4136/10480
+s 2560
+f 2508/3835/10481 2614/4139/10482 2535/3988/10483
+f 2535/3988/10483 2614/4139/10482 2715/4274/10484
+s 2561
+f 2511/3989/10485 2691/4275/10486 2510/3838/10487
+f 2510/3838/10487 2691/4275/10486 2690/4141/10488
+s 2562
+f 2517/3998/10489 2692/4276/10490 2511/3989/10491
+f 2511/3989/10491 2692/4276/10490 2691/4275/10492
+s 2563
+f 2509/3837/10493 2512/3990/10494 2689/4140/10495
+f 2689/4140/10495 2512/3990/10494 2693/4277/10496
+s 2564
+f 2512/3990/10497 2611/3991/10498 2693/4277/10499
+f 2693/4277/10499 2611/3991/10498 2786/4278/10500
+s 2565
+f 2518/3999/10501 2694/4279/10502 2513/3992/10503
+f 2513/3992/10503 2694/4279/10502 2695/4280/10504
+s 2566
+f 2513/3992/10505 2695/4280/10506 2514/3993/10507
+f 2514/3993/10507 2695/4280/10506 2696/4281/10508
+s 2567
+f 2514/3994/10509 2696/4282/10510 2515/3995/10511
+f 2515/3995/10511 2696/4282/10510 2697/4283/10512
+s 2568
+f 2515/3995/10513 2697/4283/10514 2516/3996/10515
+f 2516/3996/10515 2697/4283/10514 2698/4284/10516
+s 2569
+f 2516/3997/10517 2698/4285/10518 2517/3998/10519
+f 2517/3998/10519 2698/4285/10518 2692/4276/10520
+s 2570
+f 2613/4143/10521 2699/4286/10522 2518/4144/10523
+f 2518/4144/10523 2699/4286/10522 2694/4287/10524
+s 2571
+f 2520/4001/10525 2615/4147/10526 2522/4003/10527
+f 2522/4003/10527 2615/4147/10526 2702/4288/10528
+s 2572
+f 2615/4290/10529 2521/4153/10530 2701/4289/10531
+f 2701/4289/10531 2521/4153/10530 2618/4152/10532
+s 2573
+f 2522/4003/10533 2702/4288/10534 2523/4006/10535
+f 2523/4006/10535 2702/4288/10534 2703/4291/10536
+s 2574
+f 2523/4006/10537 2703/4291/10538 2532/3853/10539
+f 2532/3853/10539 2703/4291/10538 2709/4161/10540
+s 2575
+f 2616/4148/10541 2524/4007/10542 2704/4292/10543
+f 2704/4292/10543 2524/4007/10542 2628/4168/10544
+s 2576
+f 2526/4158/10545 2620/4157/10546 2707/4293/10547
+f 2707/4293/10547 2620/4157/10546 2793/4294/10548
+s 2577
+f 2526/4011/10549 2707/4295/10550 2619/4012/10551
+f 2619/4012/10551 2707/4295/10550 2744/4296/10552
+s 2578
+f 2528/3851/10553 2529/4019/10554 2708/4160/10555
+f 2708/4160/10555 2529/4019/10554 2709/4161/10556
+s 2579
+f 2621/4022/10557 2710/4297/10558 2531/4021/10559
+f 2531/4021/10559 2710/4297/10558 2795/4298/10560
+s 2580
+f 2622/4023/10561 2531/4021/10562 2711/4299/10563
+f 2711/4299/10563 2531/4021/10562 2795/4298/10564
+s 2581
+f 2533/4024/10565 2622/4023/10566 2712/4300/10567
+f 2712/4300/10567 2622/4023/10566 2711/4299/10568
+s 2582
+f 2527/4014/10569 2533/4024/10570 2620/4157/10571
+f 2620/4157/10571 2533/4024/10570 2712/4300/10572
+s 2583
+f 2623/4026/10573 2442/4025/10574 2713/4301/10575
+f 2713/4301/10575 2442/4025/10574 2624/4302/10576
+s 2584
+f 2535/3988/10577 2715/4274/10578 2536/3861/10579
+f 2536/3861/10579 2715/4274/10578 2627/4167/10580
+s 2585
+f 2537/3864/10581 2687/4121/10582 2538/4029/10583
+f 2538/4029/10583 2687/4121/10582 2717/4303/10584
+s 2586
+f 2538/4029/10585 2717/4303/10586 2629/4030/10587
+f 2629/4030/10587 2717/4303/10586 2545/4037/10588
+s 2587
+f 2544/4169/10589 2543/4304/10590 2539/4170/10591
+f 2539/4170/10591 2543/4304/10590 2718/4173/10592
+s 2588
+f 2630/4031/10593 2721/4305/10594 2542/3873/10595
+f 2542/3873/10595 2721/4305/10594 2631/4177/10596
+s 2589
+f 2448/4032/10597 2722/4306/10598 2632/4033/10599
+f 2632/4033/10599 2722/4306/10598 2805/4307/10600
+s 2590
+f 2449/3711/10601 2632/4033/10602 2633/4035/10603
+f 2633/4035/10603 2632/4033/10602 2806/4308/10604
+s 2591
+f 2543/4304/10605 2633/4309/10606 2718/4173/10607
+f 2718/4173/10607 2633/4309/10606 2807/4310/10608
+s 2592
+f 2634/4038/10609 2545/4037/10610 2723/4311/10611
+f 2723/4311/10611 2545/4037/10610 2717/4303/10612
+s 2593
+f 2546/4039/10613 2634/4038/10614 2724/4179/10615
+f 2724/4179/10615 2634/4038/10614 2784/4269/10616
+s 2594
+f 2547/4040/10617 2635/4042/10618 2602/4122/10619
+f 2602/4122/10619 2635/4042/10618 2603/3954/10620
+s 2595
+f 2636/4180/10621 2547/4040/10622 2600/4118/10623
+f 2600/4118/10623 2547/4040/10622 2602/4122/10624
+s 2596
+f 2548/3880/10625 2637/4182/10626 2638/4184/10627
+f 2638/4184/10627 2637/4182/10626 2809/4312/10628
+s 2597
+f 2553/4314/10629 2554/4315/10630 2729/4313/10631
+f 2729/4313/10631 2554/4315/10630 2815/4316/10632
+s 2598
+f 2642/4045/10633 2730/4317/10634 2554/4044/10635
+f 2554/4044/10635 2730/4317/10634 2815/4318/10636
+s 2599
+f 2458/4320/10637 2645/4321/10638 2643/4319/10639
+f 2643/4319/10639 2645/4321/10638 2817/4322/10640
+s 2600
+f 2644/4323/10641 2732/4324/10642 2555/3890/10643
+f 2555/3890/10643 2732/4324/10642 2653/4215/10644
+s 2601
+f 2561/4057/10645 2733/4325/10646 2556/4047/10647
+f 2556/4047/10647 2733/4325/10646 2734/4326/10648
+s 2602
+f 2556/4047/10649 2734/4326/10650 2557/4048/10651
+f 2557/4048/10651 2734/4326/10650 2735/4327/10652
+s 2603
+f 2557/4048/10653 2735/4327/10654 2645/4049/10655
+f 2645/4049/10655 2735/4327/10654 2820/4328/10656
+s 2604
+f 2646/4199/10657 2558/4198/10658 2736/4329/10659
+f 2736/4329/10659 2558/4198/10658 2822/4330/10660
+s 2605
+f 2647/4053/10661 2738/4331/10662 2558/4050/10663
+f 2558/4050/10663 2738/4331/10662 2822/4332/10664
+s 2606
+f 2563/4059/10665 2739/4333/10666 2560/4054/10667
+f 2560/4054/10667 2739/4333/10666 2740/4334/10668
+s 2607
+f 2560/4054/10669 2740/4334/10670 2647/4055/10671
+f 2647/4055/10671 2740/4334/10670 2738/4335/10672
+s 2608
+f 2649/4203/10673 2741/4336/10674 2561/4204/10675
+f 2561/4204/10675 2741/4336/10674 2733/4337/10676
+s 2609
+f 2651/4209/10677 2742/4338/10678 2562/4210/10679
+f 2562/4210/10679 2742/4338/10678 2828/4339/10680
+s 2610
+f 2563/4059/10681 2562/4058/10682 2739/4333/10683
+f 2739/4333/10683 2562/4058/10682 2828/4340/10684
+s 2611
+f 2652/4213/10685 2564/3902/10686 2743/4341/10687
+f 2743/4341/10687 2564/3902/10686 2565/4061/10688
+s 2612
+f 2580/4342/10689 2744/4343/10690 2565/4061/10691
+f 2565/4061/10691 2744/4343/10690 2743/4341/10692
+s 2613
+f 2466/4345/10693 2745/4346/10694 2655/4344/10695
+f 2655/4344/10695 2745/4346/10694 2834/4347/10696
+s 2614
+f 2656/4221/10697 2746/4348/10698 2566/4062/10699
+f 2566/4062/10699 2746/4348/10698 2658/4223/10700
+s 2615
+f 2567/4350/10701 2747/4351/10702 2656/4349/10703
+f 2656/4349/10703 2747/4351/10702 2835/4352/10704
+s 2616
+f 2657/4066/10705 2748/4353/10706 2567/4063/10707
+f 2567/4063/10707 2748/4353/10706 2747/4354/10708
+s 2617
+f 2660/4356/10709 2750/4357/10710 2469/4355/10711
+f 2469/4355/10711 2750/4357/10710 2751/4358/10712
+s 2618
+f 2568/3911/10713 2749/4225/10714 2660/4068/10715
+f 2660/4068/10715 2749/4225/10714 2838/4359/10716
+s 2619
+f 2570/3917/10717 2569/4070/10718 2606/4231/10719
+f 2606/4231/10719 2569/4070/10718 2785/4360/10720
+s 2620
+f 2573/4075/10721 2753/4361/10722 2571/4071/10723
+f 2571/4071/10723 2753/4361/10722 2754/4362/10724
+s 2621
+f 2571/4071/10725 2754/4362/10726 2572/4072/10727
+f 2572/4072/10727 2754/4362/10726 2755/4363/10728
+s 2622
+f 2572/4365/10729 2755/4366/10730 2661/4364/10731
+f 2661/4364/10731 2755/4366/10730 2840/4367/10732
+s 2623
+f 2664/4369/10733 2757/4370/10734 2473/4368/10735
+f 2473/4368/10735 2757/4370/10734 2758/4371/10736
+s 2624
+f 2575/4080/10737 2760/4372/10738 2576/4081/10739
+f 2576/4081/10739 2760/4372/10738 2666/4082/10740
+s 2625
+f 2666/4082/10741 2760/4372/10742 2577/4083/10743
+f 2577/4083/10743 2760/4372/10742 2761/4373/10744
+s 2626
+f 2578/4375/10745 2579/4376/10746 2762/4374/10747
+f 2762/4374/10747 2579/4376/10746 2839/4377/10748
+s 2627
+f 2578/4375/10749 2763/4379/10750 2665/4378/10751
+f 2665/4378/10751 2763/4379/10750 2844/4380/10752
+s 2628
+f 2477/4092/10753 2668/4381/10754 2667/4093/10755
+f 2667/4093/10755 2668/4381/10754 2846/4382/10756
+s 2629
+f 2478/3926/10757 2669/4242/10758 2668/4094/10759
+f 2668/4094/10759 2669/4242/10758 2847/4383/10760
+s 2630
+f 2641/4097/10761 2727/4188/10762 2582/4095/10763
+f 2582/4095/10763 2727/4188/10762 2849/4384/10764
+s 2631
+f 2583/3929/10765 2766/4245/10766 2590/4098/10767
+f 2590/4098/10767 2766/4245/10766 2675/4252/10768
+s 2632
+f 2584/4106/10769 2670/4385/10770 2589/4104/10771
+f 2589/4104/10771 2670/4385/10770 2673/4249/10772
+s 2633
+f 2585/4099/10773 2767/4386/10774 2670/4246/10775
+f 2670/4246/10775 2767/4386/10774 2850/4387/10776
+s 2634
+f 2585/4099/10777 2586/4100/10778 2767/4386/10779
+f 2767/4386/10779 2586/4100/10778 2851/4388/10780
+s 2635
+f 2587/4102/10781 2768/4389/10782 2586/4101/10783
+f 2586/4101/10783 2768/4389/10782 2851/4390/10784
+s 2636
+f 2587/4102/10785 2671/4103/10786 2768/4389/10787
+f 2768/4389/10787 2671/4103/10786 2852/4391/10788
+s 2637
+f 2591/3937/10789 2675/4252/10790 2769/4254/10791
+f 2769/4254/10791 2675/4252/10790 2857/4392/10792
+s 2638
+f 2593/4107/10793 2677/4108/10794 2772/4393/10795
+f 2772/4393/10795 2677/4108/10794 2773/4257/10796
+s 2639
+f 2678/4258/10797 2774/4394/10798 2594/3940/10799
+f 2594/3940/10799 2774/4394/10798 2773/4257/10800
+s 2640
+f 2678/4258/10801 2595/3943/10802 2775/4395/10803
+f 2775/4395/10803 2595/3943/10802 2860/4396/10804
+s 2641
+f 2679/4259/10805 2776/4397/10806 2595/3943/10807
+f 2595/3943/10807 2776/4397/10806 2862/4398/10808
+s 2642
+f 2680/4109/10809 2487/3944/10810 2777/4399/10811
+f 2777/4399/10811 2487/3944/10810 2778/4262/10812
+s 2643
+f 2682/4111/10813 2597/4110/10814 2780/4400/10815
+f 2780/4400/10815 2597/4110/10814 2867/4401/10816
+s 2644
+f 2682/4111/10817 2781/4402/10818 2488/3948/10819
+f 2488/3948/10819 2781/4402/10818 2683/4264/10820
+s 2645
+f 2598/4112/10821 2684/4113/10822 2782/4403/10823
+f 2782/4403/10823 2684/4113/10822 2599/4266/10824
+s 2646
+f 2600/4118/10825 2685/4119/10826 2636/4180/10827
+f 2636/4180/10827 2685/4119/10826 2808/4404/10828
+s 2647
+f 2494/3953/10829 2688/4268/10830 2686/4120/10831
+f 2686/4120/10831 2688/4268/10830 2723/4311/10832
+s 2648
+f 2606/4129/10833 2785/4405/10834 2612/4130/10835
+f 2612/4130/10835 2785/4405/10834 2613/4143/10836
+s 2649
+f 2519/3844/10837 2689/4140/10838 2700/4146/10839
+f 2700/4146/10839 2689/4140/10838 2871/4406/10840
+s 2650
+f 2611/3991/10841 2690/4141/10842 2786/4278/10843
+f 2786/4278/10843 2690/4141/10842 2873/4407/10844
+s 2651
+f 2699/4286/10845 2613/4143/10846 2787/4408/10847
+f 2787/4408/10847 2613/4143/10846 2785/4405/10848
+s 2652
+f 2614/4145/10849 2700/4146/10850 2715/4409/10851
+f 2715/4409/10851 2700/4146/10850 2800/4410/10852
+s 2653
+f 2701/4289/10853 2788/4411/10854 2615/4290/10855
+f 2615/4290/10855 2788/4411/10854 2702/4412/10856
+s 2654
+f 2617/4150/10857 2616/4148/10858 2789/4413/10859
+f 2789/4413/10859 2616/4148/10858 2704/4292/10860
+s 2655
+f 2618/4152/10861 2617/4150/10862 2790/4414/10863
+f 2790/4414/10863 2617/4150/10862 2789/4413/10864
+s 2656
+f 2701/4289/10865 2618/4152/10866 2791/4415/10867
+f 2791/4415/10867 2618/4152/10866 2790/4414/10868
+s 2657
+f 2534/3855/10869 2705/4154/10870 2714/4416/10871
+f 2714/4416/10871 2705/4154/10870 2885/4417/10872
+s 2658
+f 2525/3849/10873 2706/4156/10874 2705/4154/10875
+f 2705/4154/10875 2706/4156/10874 2885/4417/10876
+s 2659
+f 2706/4419/10877 2619/4012/10878 2792/4418/10879
+f 2792/4418/10879 2619/4012/10878 2744/4296/10880
+s 2660
+f 2708/4160/10881 2794/4420/10882 2621/4022/10883
+f 2621/4022/10883 2794/4420/10882 2710/4297/10884
+s 2661
+f 2623/4026/10885 2713/4301/10886 2764/4241/10887
+f 2764/4241/10887 2713/4301/10886 2796/4421/10888
+s 2662
+f 2713/4301/10889 2624/4302/10890 2796/4421/10891
+f 2796/4421/10891 2624/4302/10890 2714/4422/10892
+s 2663
+f 2628/4168/10893 2625/4164/10894 2797/4423/10895
+f 2797/4423/10895 2625/4164/10894 2798/4424/10896
+s 2664
+f 2625/4164/10897 2626/4165/10898 2798/4424/10899
+f 2798/4424/10899 2626/4165/10898 2799/4425/10900
+s 2665
+f 2626/4165/10901 2716/4166/10902 2799/4425/10903
+f 2799/4425/10903 2716/4166/10902 2893/4426/10904
+s 2666
+f 2715/4409/10905 2800/4410/10906 2627/4427/10907
+f 2627/4427/10907 2800/4410/10906 2801/4428/10908
+s 2667
+f 2627/4427/10909 2801/4428/10910 2716/4429/10911
+f 2716/4429/10911 2801/4428/10910 2893/4430/10912
+s 2668
+f 2704/4292/10913 2628/4168/10914 2802/4431/10915
+f 2802/4431/10915 2628/4168/10914 2797/4423/10916
+s 2669
+f 2540/4171/10917 2718/4173/10918 2719/4432/10919
+f 2719/4432/10919 2718/4173/10918 2807/4310/10920
+s 2670
+f 2541/3871/10921 2719/4174/10922 2720/4176/10923
+f 2720/4176/10923 2719/4174/10922 2894/4433/10924
+s 2671
+f 2720/4176/10925 2803/4434/10926 2630/4175/10927
+f 2630/4175/10927 2803/4434/10926 2721/4435/10928
+s 2672
+f 2631/4177/10929 2721/4305/10930 2804/4436/10931
+f 2804/4436/10931 2721/4305/10930 2897/4437/10932
+s 2673
+f 2631/4177/10933 2804/4436/10934 2722/4178/10935
+f 2722/4178/10935 2804/4436/10934 2898/4438/10936
+s 2674
+f 2634/4038/10937 2723/4311/10938 2784/4269/10939
+f 2784/4269/10939 2723/4311/10938 2688/4268/10940
+s 2675
+f 2635/4042/10941 2724/4179/10942 2603/3954/10943
+f 2603/3954/10943 2724/4179/10942 2784/4269/10944
+s 2676
+f 2636/4180/10945 2808/4404/10946 2725/4181/10947
+f 2725/4181/10947 2808/4404/10946 2900/4439/10948
+s 2677
+f 2637/4441/10949 2725/4181/10950 2810/4440/10951
+f 2810/4440/10951 2725/4181/10950 2900/4439/10952
+s 2678
+f 2638/4184/10953 2811/4442/10954 2640/4185/10955
+f 2640/4185/10955 2811/4442/10954 2814/4443/10956
+s 2679
+f 2550/3883/10957 2812/4444/10958 2639/4186/10959
+f 2639/4186/10959 2812/4444/10958 2901/4445/10960
+s 2680
+f 2642/4045/10961 2639/4186/10962 2813/4446/10963
+f 2813/4446/10963 2639/4186/10962 2901/4445/10964
+s 2681
+f 2550/3883/10965 2726/4187/10966 2812/4444/10967
+f 2812/4444/10967 2726/4187/10966 2902/4447/10968
+s 2682
+f 2640/4449/10969 2814/4450/10970 2726/4448/10971
+f 2726/4448/10971 2814/4450/10970 2902/4451/10972
+s 2683
+f 2552/3888/10973 2728/4190/10974 2727/4188/10975
+f 2727/4188/10975 2728/4190/10974 2903/4452/10976
+s 2684
+f 2553/4189/10977 2729/4453/10978 2728/4190/10979
+f 2728/4190/10979 2729/4453/10978 2904/4454/10980
+s 2685
+f 2642/4456/10981 2816/4457/10982 2730/4455/10983
+f 2730/4455/10983 2816/4457/10982 2906/4458/10984
+s 2686
+f 2731/4460/10985 2643/4461/10986 2818/4459/10987
+f 2818/4459/10987 2643/4461/10986 2910/4462/10988
+s off
+f 2732/4463/10989 2644/4464/10990 2819/4465/10991
+f 2819/4466/10992 2644/4195/10993 2731/4194/10994
+s 2687
+f 2736/4329/10995 2821/4467/10996 2646/4199/10997
+f 2646/4199/10997 2821/4467/10996 2823/4468/10998
+s 2688
+f 2646/4199/10999 2823/4468/11000 2737/4200/11001
+f 2737/4200/11001 2823/4468/11000 2829/4469/11002
+s 2689
+f 2650/4471/11003 2648/4201/11004 2824/4470/11005
+f 2824/4470/11005 2648/4201/11004 2825/4472/11006
+s 2690
+f 2648/4201/11007 2737/4200/11008 2825/4472/11009
+f 2825/4472/11009 2737/4200/11008 2915/4473/11010
+s 2691
+f 2649/4475/11011 2826/4476/11012 2741/4474/11013
+f 2741/4474/11013 2826/4476/11012 2911/4477/11014
+s 2692
+f 2650/4471/11015 2827/4478/11016 2649/4475/11017
+f 2649/4475/11017 2827/4478/11016 2826/4476/11018
+s 2693
+f 2651/4480/11019 2823/4468/11020 2742/4479/11021
+f 2742/4479/11021 2823/4468/11020 2821/4467/11022
+s 2694
+f 2652/4481/11023 2829/4469/11024 2651/4480/11025
+f 2651/4480/11025 2829/4469/11024 2823/4468/11026
+s 2695
+f 2652/4481/11027 2743/4483/11028 2830/4482/11029
+f 2830/4482/11029 2743/4483/11028 2887/4484/11030
+s 2696
+f 2580/4090/11031 2764/4241/11032 2744/4485/11033
+f 2744/4485/11033 2764/4241/11032 2792/4486/11034
+s 2697
+f 2732/4324/11035 2831/4487/11036 2653/4215/11037
+f 2653/4215/11037 2831/4487/11036 2832/4488/11038
+s 2698
+f 2653/4215/11039 2832/4488/11040 2654/4216/11041
+f 2654/4216/11041 2832/4488/11040 2833/4489/11042
+s 2699
+f 2654/4216/11043 2833/4489/11044 2745/4218/11045
+f 2745/4218/11045 2833/4489/11044 2918/4490/11046
+s 2700
+f 2657/4066/11047 2655/4220/11048 2748/4353/11049
+f 2748/4353/11049 2655/4220/11048 2920/4491/11050
+s 2701
+f 2656/4493/11051 2835/4494/11052 2746/4492/11053
+f 2746/4492/11053 2835/4494/11052 2921/4495/11054
+s 2702
+f 2658/4223/11055 2746/4348/11056 2659/4224/11057
+f 2659/4224/11057 2746/4348/11056 2836/4496/11058
+s 2703
+f 2659/4224/11059 2836/4496/11060 2749/4225/11061
+f 2749/4225/11061 2836/4496/11060 2838/4359/11062
+s 2704
+f 2750/4357/11063 2660/4356/11064 2837/4497/11065
+f 2837/4497/11065 2660/4356/11064 2838/4498/11066
+s 2705
+f 2579/4376/11067 2751/4358/11068 2839/4377/11069
+f 2839/4377/11069 2751/4358/11068 2926/4499/11070
+s 2706
+f 2569/4500/11071 2752/4501/11072 2785/4405/11073
+f 2785/4405/11073 2752/4501/11072 2927/4502/11074
+s 2707
+f 2661/4229/11075 2840/4503/11076 2752/4230/11077
+f 2752/4230/11077 2840/4503/11076 2928/4504/11078
+s 2708
+f 2573/4232/11079 2756/4234/11080 2753/4505/11081
+f 2753/4505/11081 2756/4234/11080 2929/4506/11082
+s 2709
+f 2662/4508/11083 2663/4509/11084 2841/4507/11085
+f 2841/4507/11085 2663/4509/11084 2843/4510/11086
+s 2710
+f 2662/4508/11087 2787/4408/11088 2756/4511/11089
+f 2756/4511/11089 2787/4408/11088 2931/4512/11090
+s 2711
+f 2757/4370/11091 2664/4369/11092 2842/4513/11093
+f 2842/4513/11093 2664/4369/11092 2761/4514/11094
+s 2712
+f 2663/4509/11095 2758/4371/11096 2843/4510/11097
+f 2843/4510/11097 2758/4371/11096 2933/4515/11098
+s 2713
+f 2575/4517/11099 2759/4518/11100 2760/4516/11101
+f 2760/4516/11101 2759/4518/11100 2932/4519/11102
+s 2714
+f 2665/4378/11103 2844/4380/11104 2759/4520/11105
+f 2759/4520/11105 2844/4380/11104 2932/4521/11106
+s 2715
+f 2762/4374/11107 2845/4522/11108 2578/4375/11109
+f 2578/4375/11109 2845/4522/11108 2763/4379/11110
+s 2716
+f 2669/4242/11111 2765/4243/11112 2848/4523/11113
+f 2848/4523/11113 2765/4243/11112 2936/4524/11114
+s 2717
+f 2582/4095/11115 2849/4384/11116 2765/4525/11117
+f 2765/4525/11117 2849/4384/11116 2937/4526/11118
+s 2718
+f 2667/4093/11119 2846/4382/11120 2766/4245/11121
+f 2766/4245/11121 2846/4382/11120 2938/4527/11122
+s 2719
+f 2672/4247/11123 2853/4528/11124 2671/4248/11125
+f 2671/4248/11125 2853/4528/11124 2852/4529/11126
+s 2720
+f 2674/4251/11127 2854/4530/11128 2672/4247/11129
+f 2672/4247/11129 2854/4530/11128 2853/4528/11130
+s 2721
+f 2673/4249/11131 2670/4385/11132 2855/4531/11133
+f 2855/4531/11133 2670/4385/11132 2850/4532/11134
+s 2722
+f 2674/4250/11135 2673/4249/11136 2854/4533/11137
+f 2854/4533/11137 2673/4249/11136 2855/4531/11138
+s 2723
+f 2766/4245/11139 2856/4534/11140 2675/4252/11141
+f 2675/4252/11141 2856/4534/11140 2857/4392/11142
+s 2724
+f 2601/3951/11143 2770/4255/11144 2783/4267/11145
+f 2783/4267/11145 2770/4255/11144 2944/4535/11146
+s 2725
+f 2592/4537/11147 2771/4538/11148 2770/4536/11149
+f 2770/4536/11149 2771/4538/11148 2858/4539/11150
+s 2726
+f 2771/4256/11151 2593/4107/11152 2858/4540/11153
+f 2858/4540/11153 2593/4107/11152 2772/4393/11154
+s 2727
+f 2774/4394/11155 2678/4258/11156 2859/4541/11157
+f 2859/4541/11157 2678/4258/11156 2775/4395/11158
+s 2728
+f 2776/4397/11159 2679/4259/11160 2861/4542/11161
+f 2861/4542/11161 2679/4259/11160 2863/4543/11162
+s 2729
+f 2679/4259/11163 2680/4260/11164 2863/4543/11165
+f 2863/4543/11165 2680/4260/11164 2777/4544/11166
+s 2730
+f 2683/4264/11167 2864/4545/11168 2681/4265/11169
+f 2681/4265/11169 2864/4545/11168 2865/4546/11170
+s 2731
+f 2681/4261/11171 2865/4547/11172 2778/4262/11173
+f 2778/4262/11173 2865/4547/11172 2951/4548/11174
+s 2732
+f 2779/4263/11175 2598/4112/11176 2866/4549/11177
+f 2866/4549/11177 2598/4112/11176 2782/4403/11178
+s 2733
+f 2597/4110/11179 2779/4263/11180 2867/4401/11181
+f 2867/4401/11181 2779/4263/11180 2866/4549/11182
+s 2734
+f 2682/4111/11183 2780/4400/11184 2868/4550/11185
+f 2868/4550/11185 2780/4400/11184 2952/4551/11186
+s 2735
+f 2781/4402/11187 2682/4111/11188 2869/4552/11189
+f 2869/4552/11189 2682/4111/11188 2868/4550/11190
+s 2736
+f 2781/4402/11191 2870/4553/11192 2683/4264/11193
+f 2683/4264/11193 2870/4553/11192 2864/4545/11194
+s 2737
+f 2685/4119/11195 2783/4267/11196 2808/4404/11197
+f 2808/4404/11197 2783/4267/11196 2956/4554/11198
+s 2738
+f 2687/4121/11199 2686/4120/11200 2717/4303/11201
+f 2717/4303/11201 2686/4120/11200 2723/4311/11202
+s 2739
+f 2691/4275/11203 2872/4555/11204 2690/4141/11205
+f 2690/4141/11205 2872/4555/11204 2873/4407/11206
+s 2740
+f 2692/4276/11207 2874/4556/11208 2691/4275/11209
+f 2691/4275/11209 2874/4556/11208 2872/4555/11210
+s 2741
+f 2698/4285/11211 2875/4557/11212 2692/4276/11213
+f 2692/4276/11213 2875/4557/11212 2874/4556/11214
+s 2742
+f 2689/4140/11215 2693/4277/11216 2871/4406/11217
+f 2871/4406/11217 2693/4277/11216 2876/4558/11218
+s 2743
+f 2693/4277/11219 2786/4278/11220 2876/4558/11221
+f 2876/4558/11221 2786/4278/11220 2957/4559/11222
+s 2744
+f 2699/4286/11223 2841/4507/11224 2694/4287/11225
+f 2694/4287/11225 2841/4507/11224 2877/4560/11226
+s 2745
+f 2694/4279/11227 2877/4561/11228 2695/4280/11229
+f 2695/4280/11229 2877/4561/11228 2878/4562/11230
+s 2746
+f 2695/4280/11231 2878/4562/11232 2696/4281/11233
+f 2696/4281/11233 2878/4562/11232 2879/4563/11234
+s 2747
+f 2696/4282/11235 2879/4564/11236 2697/4283/11237
+f 2697/4283/11237 2879/4564/11236 2880/4565/11238
+s 2748
+f 2697/4283/11239 2880/4565/11240 2698/4284/11241
+f 2698/4284/11241 2880/4565/11240 2875/4566/11242
+s 2749
+f 2787/4408/11243 2662/4508/11244 2699/4286/11245
+f 2699/4286/11245 2662/4508/11244 2841/4507/11246
+s 2750
+f 2788/4411/11247 2701/4289/11248 2881/4567/11249
+f 2881/4567/11249 2701/4289/11248 2791/4415/11250
+s 2751
+f 2702/4569/11251 2882/4570/11252 2703/4568/11253
+f 2703/4568/11253 2882/4570/11252 2959/4571/11254
+s 2752
+f 2709/4573/11255 2703/4568/11256 2883/4572/11257
+f 2883/4572/11257 2703/4568/11256 2959/4571/11258
+s 2753
+f 2789/4413/11259 2704/4292/11260 2884/4574/11261
+f 2884/4574/11261 2704/4292/11260 2802/4431/11262
+s 2754
+f 2792/4418/11263 2886/4575/11264 2706/4419/11265
+f 2706/4419/11265 2886/4575/11264 2885/4576/11266
+s 2755
+f 2620/4157/11267 2712/4300/11268 2793/4294/11269
+f 2793/4294/11269 2712/4300/11268 2892/4577/11270
+s 2756
+f 2707/4293/11271 2793/4294/11272 2887/4578/11273
+f 2887/4578/11273 2793/4294/11272 2830/4579/11274
+s 2757
+f 2744/4296/11275 2707/4295/11276 2743/4580/11277
+f 2743/4580/11277 2707/4295/11276 2887/4581/11278
+s 2758
+f 2794/4420/11279 2708/4160/11280 2888/4582/11281
+f 2888/4582/11281 2708/4160/11280 2709/4161/11282
+s 2759
+f 2794/4420/11283 2889/4583/11284 2710/4297/11285
+f 2710/4297/11285 2889/4583/11284 2966/4584/11286
+s 2760
+f 2795/4298/11287 2710/4297/11288 2890/4585/11289
+f 2890/4585/11289 2710/4297/11288 2966/4584/11290
+s 2761
+f 2711/4299/11291 2795/4298/11292 2891/4586/11293
+f 2891/4586/11293 2795/4298/11292 2890/4585/11294
+s 2762
+f 2712/4300/11295 2711/4299/11296 2892/4577/11297
+f 2892/4577/11297 2711/4299/11296 2891/4586/11298
+s 2763
+f 2714/4422/11299 2885/4587/11300 2796/4421/11301
+f 2796/4421/11301 2885/4587/11300 2886/4588/11302
+s 2764
+f 2803/4434/11303 2720/4176/11304 2895/4589/11305
+f 2895/4589/11305 2720/4176/11304 2894/4433/11306
+s 2765
+f 2803/4591/11307 2896/4592/11308 2721/4590/11309
+f 2721/4590/11309 2896/4592/11308 2897/4593/11310
+s 2766
+f 2632/4033/11311 2805/4307/11312 2806/4308/11313
+f 2806/4308/11313 2805/4307/11312 2976/4594/11314
+s 2767
+f 2805/4307/11315 2722/4306/11316 2899/4595/11317
+f 2899/4595/11317 2722/4306/11316 2898/4596/11318
+s 2768
+f 2633/4309/11319 2806/4597/11320 2807/4310/11321
+f 2807/4310/11321 2806/4597/11320 2978/4598/11322
+s 2769
+f 2638/4184/11323 2809/4312/11324 2811/4442/11325
+f 2811/4442/11325 2809/4312/11324 2979/4599/11326
+s 2770
+f 2637/4441/11327 2810/4440/11328 2809/4600/11329
+f 2809/4600/11329 2810/4440/11328 2980/4601/11330
+s 2771
+f 2642/4045/11331 2813/4446/11332 2816/4602/11333
+f 2816/4602/11333 2813/4446/11332 2983/4603/11334
+s 2772
+f 2729/4313/11335 2815/4316/11336 2905/4604/11337
+f 2905/4604/11337 2815/4316/11336 2907/4605/11338
+s 2773
+f 2815/4607/11339 2730/4455/11340 2907/4606/11341
+f 2907/4606/11341 2730/4455/11340 2952/4551/11342
+s 2774
+f 2817/4608/11343 2908/4609/11344 2643/4461/11345
+f 2643/4461/11345 2908/4609/11344 2910/4462/11346
+s 2775
+f 2645/4321/11347 2820/4610/11348 2817/4322/11349
+f 2817/4322/11349 2820/4610/11348 2988/4611/11350
+s 2776
+f 2818/4612/11351 2909/4613/11352 2731/4194/11353
+f 2731/4194/11353 2909/4613/11352 2819/4466/11354
+s 2777
+f 2741/4336/11355 2911/4614/11356 2733/4337/11357
+f 2733/4337/11357 2911/4614/11356 2912/4615/11358
+s 2778
+f 2734/4326/11359 2733/4325/11360 2735/4327/11361
+f 2735/4327/11361 2733/4325/11360 2912/4616/11362
+s 2779
+f 2735/4327/11363 2912/4616/11364 2820/4328/11365
+f 2820/4328/11365 2912/4616/11364 2988/4617/11366
+s 2780
+f 2821/4467/11367 2736/4329/11368 2913/4618/11369
+f 2913/4618/11369 2736/4329/11368 2822/4330/11370
+s 2781
+f 2740/4334/11371 2913/4619/11372 2738/4335/11373
+f 2738/4335/11373 2913/4619/11372 2822/4620/11374
+s 2782
+f 2824/4470/11375 2914/4621/11376 2650/4471/11377
+f 2650/4471/11377 2914/4621/11376 2827/4478/11378
+s 2783
+f 2739/4333/11379 2828/4340/11380 2740/4334/11381
+f 2740/4334/11381 2828/4340/11380 2913/4619/11382
+s 2784
+f 2742/4338/11383 2821/4622/11384 2828/4339/11385
+f 2828/4339/11385 2821/4622/11384 2913/4623/11386
+s 2785
+f 2829/4469/11387 2652/4481/11388 2916/4624/11389
+f 2916/4624/11389 2652/4481/11388 2830/4482/11390
+s 2786
+f 2732/4463/11391 2917/4626/11392 2831/4625/11393
+f 2831/4625/11393 2917/4626/11392 2992/4627/11394
+s 2787
+f 2834/4629/11395 2919/4630/11396 2655/4628/11397
+f 2655/4628/11397 2919/4630/11396 2920/4631/11398
+s 2788
+f 2745/4346/11399 2918/4632/11400 2834/4347/11401
+f 2834/4347/11401 2918/4632/11400 2995/4633/11402
+s 2789
+f 2747/4635/11403 2748/4636/11404 2922/4634/11405
+f 2922/4634/11405 2748/4636/11404 2996/4637/11406
+s 2790
+f 2747/4635/11407 2923/4638/11408 2835/4494/11409
+f 2835/4494/11409 2923/4638/11408 2925/4639/11410
+s 2791
+f 2837/4497/11411 2924/4640/11412 2750/4357/11413
+f 2750/4357/11413 2924/4640/11412 2925/4639/11414
+s 2792
+f 2750/4357/11415 2925/4639/11416 2751/4358/11417
+f 2751/4358/11417 2925/4639/11416 2923/4638/11418
+s 2793
+f 2753/4361/11419 2930/4641/11420 2754/4362/11421
+f 2754/4362/11421 2930/4641/11420 2755/4363/11422
+s 2794
+f 2755/4643/11423 2930/4644/11424 2840/4642/11425
+f 2840/4642/11425 2930/4644/11424 2928/4645/11426
+s 2795
+f 2842/4513/11427 2932/4521/11428 2757/4370/11429
+f 2757/4370/11429 2932/4521/11428 2844/4380/11430
+s 2796
+f 2757/4370/11431 2844/4380/11432 2758/4371/11433
+f 2758/4371/11433 2844/4380/11432 2763/4379/11434
+s 2797
+f 2761/4514/11435 2760/4646/11436 2842/4513/11437
+f 2842/4513/11437 2760/4646/11436 2932/4521/11438
+s 2798
+f 2845/4648/11439 2762/4649/11440 2934/4647/11441
+f 2934/4647/11441 2762/4649/11440 2935/4650/11442
+s 2799
+f 2762/4649/11443 2839/4651/11444 2935/4650/11445
+f 2935/4650/11445 2839/4651/11444 2998/4652/11446
+s 2800
+f 2845/4522/11447 2933/4515/11448 2763/4379/11449
+f 2763/4379/11449 2933/4515/11448 2758/4371/11450
+s 2801
+f 2668/4381/11451 2847/4653/11452 2846/4382/11453
+f 2846/4382/11453 2847/4653/11452 3002/4654/11454
+s 2802
+f 2669/4242/11455 2848/4523/11456 2847/4383/11457
+f 2847/4383/11457 2848/4523/11456 3003/4655/11458
+s 2803
+f 2727/4188/11459 2903/4452/11460 2849/4384/11461
+f 2849/4384/11461 2903/4452/11460 3005/4656/11462
+s 2804
+f 2767/4386/11463 2939/4657/11464 2850/4387/11465
+f 2850/4387/11465 2939/4657/11464 3007/4658/11466
+s 2805
+f 2851/4388/11467 2940/4659/11468 2767/4386/11469
+f 2767/4386/11469 2940/4659/11468 2939/4657/11470
+s 2806
+f 2851/4390/11471 2768/4389/11472 2941/4660/11473
+f 2941/4660/11473 2768/4389/11472 2942/4661/11474
+s 2807
+f 2768/4389/11475 2852/4391/11476 2942/4661/11477
+f 2942/4661/11477 2852/4391/11476 3009/4662/11478
+s 2808
+f 2766/4245/11479 2938/4527/11480 2856/4534/11481
+f 2856/4534/11481 2938/4527/11480 3012/4663/11482
+s 2809
+f 2857/4392/11483 2943/4664/11484 2769/4254/11485
+f 2769/4254/11485 2943/4664/11484 2782/4403/11486
+s 2810
+f 2858/4540/11487 2772/4393/11488 2945/4665/11489
+f 2945/4665/11489 2772/4393/11488 2859/4541/11490
+s 2811
+f 2773/4257/11491 2774/4394/11492 2772/4393/11493
+f 2772/4393/11493 2774/4394/11492 2859/4541/11494
+s 2812
+f 2859/4541/11495 2775/4395/11496 2945/4665/11497
+f 2945/4665/11497 2775/4395/11496 2946/4666/11498
+s 2813
+f 2775/4395/11499 2860/4396/11500 2946/4666/11501
+f 2946/4666/11501 2860/4396/11500 3014/4667/11502
+s 2814
+f 2595/3943/11503 2862/4398/11504 2860/4396/11505
+f 2860/4396/11505 2862/4398/11504 3015/4668/11506
+s 2815
+f 2861/4542/11507 2947/4669/11508 2776/4397/11509
+f 2776/4397/11509 2947/4669/11508 2948/4670/11510
+s 2816
+f 2776/4397/11511 2948/4670/11512 2862/4398/11513
+f 2862/4398/11513 2948/4670/11512 2982/4671/11514
+s 2817
+f 2863/4543/11515 2777/4544/11516 2949/4672/11517
+f 2949/4672/11517 2777/4544/11516 2950/4673/11518
+s 2818
+f 2777/4399/11519 2778/4262/11520 2950/4674/11521
+f 2950/4674/11521 2778/4262/11520 2951/4548/11522
+s 2819
+f 2780/4400/11523 2867/4401/11524 2953/4675/11525
+f 2953/4675/11525 2867/4401/11524 3021/4676/11526
+s 2820
+f 2869/4552/11527 2954/4677/11528 2781/4402/11529
+f 2781/4402/11529 2954/4677/11528 2870/4553/11530
+s 2821
+f 2866/4549/11531 2782/4403/11532 2955/4678/11533
+f 2955/4678/11533 2782/4403/11532 2943/4664/11534
+s 2822
+f 2700/4146/11535 2871/4406/11536 2800/4410/11537
+f 2800/4410/11537 2871/4406/11536 2971/4679/11538
+s 2823
+f 2786/4278/11539 2873/4407/11540 2957/4559/11541
+f 2957/4559/11541 2873/4407/11540 3027/4680/11542
+s 2824
+f 2787/4408/11543 2785/4405/11544 2931/4512/11545
+f 2931/4512/11545 2785/4405/11544 2927/4502/11546
+s 2825
+f 2702/4412/11547 2788/4411/11548 2882/4681/11549
+f 2882/4681/11549 2788/4411/11548 2958/4682/11550
+s 2826
+f 2788/4411/11551 2881/4567/11552 2958/4682/11553
+f 2958/4682/11553 2881/4567/11552 3033/4683/11554
+s 2827
+f 2883/4572/11555 2960/4684/11556 2709/4573/11557
+f 2709/4573/11557 2960/4684/11556 3037/4685/11558
+s 2828
+f 2790/4414/11559 2789/4413/11560 2961/4686/11561
+f 2961/4686/11561 2789/4413/11560 2884/4574/11562
+s 2829
+f 2791/4415/11563 2790/4414/11564 2962/4687/11565
+f 2962/4687/11565 2790/4414/11564 2961/4686/11566
+s 2830
+f 2881/4567/11567 2791/4415/11568 2963/4688/11569
+f 2963/4688/11569 2791/4415/11568 2962/4687/11570
+s 2831
+f 2792/4486/11571 2764/4241/11572 2886/4588/11573
+f 2886/4588/11573 2764/4241/11572 2796/4421/11574
+s 2832
+f 2888/4582/11575 2964/4689/11576 2794/4420/11577
+f 2794/4420/11577 2964/4689/11576 2889/4583/11578
+s 2833
+f 2709/4161/11579 2965/4690/11580 2888/4582/11581
+f 2888/4582/11581 2965/4690/11580 3039/4691/11582
+s 2834
+f 2802/4693/11583 2797/4694/11584 2967/4692/11585
+f 2967/4692/11585 2797/4694/11584 2968/4695/11586
+s 2835
+f 2797/4694/11587 2798/4696/11588 2968/4695/11589
+f 2968/4695/11589 2798/4696/11588 2969/4697/11590
+s 2836
+f 2798/4696/11591 2799/4698/11592 2969/4697/11593
+f 2969/4697/11593 2799/4698/11592 3041/4699/11594
+s 2837
+f 2893/4430/11595 2970/4700/11596 2799/4698/11597
+f 2799/4698/11597 2970/4700/11596 3041/4699/11598
+s 2838
+f 2800/4410/11599 2971/4679/11600 2801/4428/11601
+f 2801/4428/11601 2971/4679/11600 2972/4701/11602
+s 2839
+f 2801/4428/11603 2972/4701/11604 2893/4430/11605
+f 2893/4430/11605 2972/4701/11604 2970/4700/11606
+s 2840
+f 2884/4703/11607 2802/4693/11608 2973/4702/11609
+f 2973/4702/11609 2802/4693/11608 2967/4692/11610
+s 2841
+f 2719/4432/11611 2807/4310/11612 2894/4704/11613
+f 2894/4704/11613 2807/4310/11612 2978/4598/11614
+s 2842
+f 2803/4591/11615 2895/4705/11616 2896/4592/11617
+f 2896/4592/11617 2895/4705/11616 3042/4706/11618
+s 2843
+f 2897/4437/11619 2974/4707/11620 2804/4436/11621
+f 2804/4436/11621 2974/4707/11620 2975/4708/11622
+s 2844
+f 2804/4436/11623 2975/4708/11624 2898/4438/11625
+f 2898/4438/11625 2975/4708/11624 3046/4709/11626
+s 2845
+f 2899/4595/11627 2977/4710/11628 2805/4307/11629
+f 2805/4307/11629 2977/4710/11628 2976/4594/11630
+s 2846
+f 2808/4404/11631 2956/4554/11632 2900/4439/11633
+f 2900/4439/11633 2956/4554/11632 3049/4711/11634
+s 2847
+f 2810/4440/11635 2900/4439/11636 2980/4601/11637
+f 2980/4601/11637 2900/4439/11636 3049/4711/11638
+s 2848
+f 2811/4442/11639 2981/4712/11640 2814/4443/11641
+f 2814/4443/11641 2981/4712/11640 2984/4713/11642
+s 2849
+f 2812/4444/11643 2982/4714/11644 2901/4445/11645
+f 2901/4445/11645 2982/4714/11644 2813/4446/11646
+s 2850
+f 2812/4716/11647 2902/4451/11648 2982/4715/11649
+f 2982/4715/11649 2902/4451/11648 3050/4717/11650
+s 2851
+f 2814/4450/11651 2984/4718/11652 2902/4451/11653
+f 2902/4451/11653 2984/4718/11652 3051/4719/11654
+s 2852
+f 2728/4721/11655 2904/4722/11656 2903/4720/11657
+f 2903/4720/11657 2904/4722/11656 3005/4723/11658
+s 2853
+f 2904/4722/11659 2729/4725/11660 2985/4724/11661
+f 2985/4724/11661 2729/4725/11660 2905/4726/11662
+s 2854
+f 2730/4455/11663 2906/4458/11664 2952/4551/11665
+f 2952/4551/11665 2906/4458/11664 2868/4550/11666
+s 2855
+f 2816/4602/11667 2986/4728/11668 2906/4727/11669
+f 2906/4727/11669 2986/4728/11668 3022/4729/11670
+s 2856
+f 2908/4609/11671 2817/4608/11672 2987/4730/11673
+f 2987/4730/11673 2817/4608/11672 2988/4731/11674
+s 2857
+f 2909/4733/11675 2818/4459/11676 2989/4732/11677
+f 2989/4732/11677 2818/4459/11676 2990/4734/11678
+s 2858
+f 2818/4459/11679 2910/4462/11680 2990/4734/11681
+f 2990/4734/11681 2910/4462/11680 2991/4735/11682
+s 2859
+f 2819/4465/11683 2909/4736/11684 2732/4463/11685
+f 2732/4463/11685 2909/4736/11684 2917/4626/11686
+s 2860
+f 2737/4200/11687 2829/4469/11688 2915/4473/11689
+f 2915/4473/11689 2829/4469/11688 2916/4624/11690
+s 2861
+f 2824/4738/11691 2966/4584/11692 2914/4737/11693
+f 2914/4737/11693 2966/4584/11692 3040/4739/11694
+s 2862
+f 2824/4738/11695 2825/4740/11696 2966/4584/11697
+f 2966/4584/11697 2825/4740/11696 2890/4585/11698
+s 2863
+f 2825/4740/11699 2915/4741/11700 2890/4585/11701
+f 2890/4585/11701 2915/4741/11700 2891/4586/11702
+s 2864
+f 2827/4478/11703 2910/4462/11704 2826/4476/11705
+f 2826/4476/11705 2910/4462/11704 2908/4609/11706
+s 2865
+f 2826/4476/11707 2908/4609/11708 2911/4477/11709
+f 2911/4477/11709 2908/4609/11708 2987/4730/11710
+s 2866
+f 2914/4621/11711 2991/4735/11712 2827/4478/11713
+f 2827/4478/11713 2991/4735/11712 2910/4462/11714
+s 2867
+f 2916/4742/11715 2830/4579/11716 2892/4577/11717
+f 2892/4577/11717 2830/4579/11716 2793/4294/11718
+s 2868
+f 2832/4488/11719 2831/4487/11720 2833/4489/11721
+f 2833/4489/11721 2831/4487/11720 2993/4743/11722
+s 2869
+f 2833/4489/11723 2993/4743/11724 2918/4490/11725
+f 2918/4490/11725 2993/4743/11724 2995/4744/11726
+s 2870
+f 2919/4630/11727 2834/4629/11728 2994/4745/11729
+f 2994/4745/11729 2834/4629/11728 2995/4746/11730
+s 2871
+f 2748/4636/11731 2920/4631/11732 2996/4637/11733
+f 2996/4637/11733 2920/4631/11732 3057/4747/11734
+s 2872
+f 2746/4492/11735 2921/4495/11736 2836/4748/11737
+f 2836/4748/11737 2921/4495/11736 2924/4640/11738
+s 2873
+f 2835/4494/11739 2925/4639/11740 2921/4495/11741
+f 2921/4495/11741 2925/4639/11740 2924/4640/11742
+s 2874
+f 2922/4634/11743 2997/4749/11744 2747/4635/11745
+f 2747/4635/11745 2997/4749/11744 2923/4638/11746
+s 2875
+f 2838/4498/11747 2836/4748/11748 2837/4497/11749
+f 2837/4497/11749 2836/4748/11748 2924/4640/11750
+s 2876
+f 2839/4651/11751 2926/4750/11752 2998/4652/11753
+f 2998/4652/11753 2926/4750/11752 3060/4751/11754
+s 2877
+f 2751/4358/11755 2923/4638/11756 2926/4499/11757
+f 2926/4499/11757 2923/4638/11756 2997/4749/11758
+s 2878
+f 2927/4502/11759 2752/4501/11760 2999/4752/11761
+f 2999/4752/11761 2752/4501/11760 2928/4753/11762
+s 2879
+f 2753/4505/11763 2929/4506/11764 2930/4754/11765
+f 2930/4754/11765 2929/4506/11764 3061/4755/11766
+s 2880
+f 2756/4511/11767 2931/4512/11768 2929/4756/11769
+f 2929/4756/11769 2931/4512/11768 3061/4757/11770
+s 2881
+f 2841/4507/11771 2843/4510/11772 2877/4560/11773
+f 2877/4560/11773 2843/4510/11772 3000/4758/11774
+s 2882
+f 2843/4760/11775 2933/4761/11776 3000/4759/11777
+f 3000/4759/11777 2933/4761/11776 3001/4762/11778
+s 2883
+f 2934/4647/11779 3001/4762/11780 2845/4648/11781
+f 2845/4648/11781 3001/4762/11780 2933/4761/11782
+s 2884
+f 2936/4764/11783 3004/4765/11784 2848/4763/11785
+f 2848/4763/11785 3004/4765/11784 3066/4766/11786
+s 2885
+f 2765/4525/11787 2937/4526/11788 2936/4767/11789
+f 2936/4767/11789 2937/4526/11788 3067/4768/11790
+s 2886
+f 2849/4384/11791 3005/4656/11792 2937/4526/11793
+f 2937/4526/11793 3005/4656/11792 3068/4769/11794
+s 2887
+f 2846/4382/11795 3002/4654/11796 2938/4527/11797
+f 2938/4527/11797 3002/4654/11796 3052/4770/11798
+s 2888
+f 2855/4531/11799 2850/4532/11800 3006/4771/11801
+f 3006/4771/11801 2850/4532/11800 3007/4772/11802
+s 2889
+f 2851/4388/11803 3008/4773/11804 2940/4659/11805
+f 2940/4659/11805 3008/4773/11804 3071/4774/11806
+s 2890
+f 2851/4390/11807 2941/4660/11808 3008/4775/11809
+f 3008/4775/11809 2941/4660/11808 3072/4776/11810
+s 2891
+f 2852/4529/11811 2853/4528/11812 3010/4777/11813
+f 3010/4777/11813 2853/4528/11812 3076/4778/11814
+s 2892
+f 2853/4528/11815 2854/4530/11816 3076/4778/11817
+f 3076/4778/11817 2854/4530/11816 3011/4779/11818
+s 2893
+f 2854/4533/11819 2855/4531/11820 3011/4780/11821
+f 3011/4780/11821 2855/4531/11820 3006/4771/11822
+s 2894
+f 2856/4782/11823 3013/4783/11824 2857/4781/11825
+f 2857/4781/11825 3013/4783/11824 2943/4784/11826
+s 2895
+f 2783/4267/11827 2944/4535/11828 2956/4554/11829
+f 2956/4554/11829 2944/4535/11828 3078/4785/11830
+s 2896
+f 2770/4536/11831 2858/4539/11832 2944/4786/11833
+f 2944/4786/11833 2858/4539/11832 2945/4787/11834
+s 2897
+f 2947/4669/11835 2861/4542/11836 3016/4788/11837
+f 3016/4788/11837 2861/4542/11836 3017/4789/11838
+s 2898
+f 2861/4542/11839 2863/4543/11840 3017/4789/11841
+f 3017/4789/11841 2863/4543/11840 2949/4672/11842
+s 2899
+f 2870/4553/11843 3018/4790/11844 2864/4545/11845
+f 2864/4545/11845 3018/4790/11844 3019/4791/11846
+s 2900
+f 2864/4545/11847 3019/4791/11848 2865/4546/11849
+f 2865/4546/11849 3019/4791/11848 3020/4792/11850
+s 2901
+f 2865/4547/11851 3020/4793/11852 2951/4548/11853
+f 2951/4548/11853 3020/4793/11852 3084/4794/11854
+s 2902
+f 2867/4401/11855 2866/4549/11856 3021/4676/11857
+f 3021/4676/11857 2866/4549/11856 2955/4678/11858
+s 2903
+f 2780/4400/11859 2953/4675/11860 2952/4551/11861
+f 2952/4551/11861 2953/4675/11860 2907/4606/11862
+s 2904
+f 2869/4552/11863 2868/4550/11864 3022/4795/11865
+f 3022/4795/11865 2868/4550/11864 2906/4458/11866
+s 2905
+f 2954/4677/11867 2869/4552/11868 3023/4796/11869
+f 3023/4796/11869 2869/4552/11868 3022/4795/11870
+s 2906
+f 2954/4677/11871 3024/4797/11872 2870/4553/11873
+f 2870/4553/11873 3024/4797/11872 3018/4790/11874
+s 2907
+f 2874/4556/11875 3025/4798/11876 2872/4555/11877
+f 2872/4555/11877 3025/4798/11876 3026/4799/11878
+s 2908
+f 2872/4555/11879 3026/4799/11880 2873/4407/11881
+f 2873/4407/11881 3026/4799/11880 3027/4680/11882
+s 2909
+f 2875/4557/11883 3028/4800/11884 2874/4556/11885
+f 2874/4556/11885 3028/4800/11884 3025/4798/11886
+s 2910
+f 2880/4565/11887 3029/4801/11888 2875/4566/11889
+f 2875/4566/11889 3029/4801/11888 3028/4802/11890
+s 2911
+f 2871/4406/11891 2876/4558/11892 2971/4679/11893
+f 2971/4679/11893 2876/4558/11892 3030/4803/11894
+s 2912
+f 2876/4558/11895 2957/4559/11896 3030/4803/11897
+f 3030/4803/11897 2957/4559/11896 3086/4804/11898
+s 2913
+f 2878/4562/11899 2877/4561/11900 3031/4805/11901
+f 3031/4805/11901 2877/4561/11900 3000/4759/11902
+s 2914
+f 2879/4563/11903 2878/4562/11904 3032/4806/11905
+f 3032/4806/11905 2878/4562/11904 3031/4805/11906
+s 2915
+f 2879/4564/11907 3032/4807/11908 2880/4565/11909
+f 2880/4565/11909 3032/4807/11908 3029/4801/11910
+s 2916
+f 2959/4571/11911 2882/4570/11912 3034/4808/11913
+f 3034/4808/11913 2882/4570/11912 3087/4809/11914
+s 2917
+f 2883/4572/11915 3035/4810/11916 2960/4684/11917
+f 2960/4684/11917 3035/4810/11916 3036/4811/11918
+s 2918
+f 3034/4808/11919 3035/4810/11920 2959/4571/11921
+f 2959/4571/11921 3035/4810/11920 2883/4572/11922
+s 2919
+f 2881/4567/11923 2963/4688/11924 3033/4683/11925
+f 3033/4683/11925 2963/4688/11924 3095/4812/11926
+s 2920
+f 2961/4814/11927 2884/4703/11928 3038/4813/11929
+f 3038/4813/11929 2884/4703/11928 2973/4702/11930
+s 2921
+f 2889/4583/11931 2964/4689/11932 3039/4691/11933
+f 3039/4691/11933 2964/4689/11932 2888/4582/11934
+s 2922
+f 2709/4161/11935 3037/4815/11936 2965/4690/11937
+f 2965/4690/11937 3037/4815/11936 3096/4816/11938
+s 2923
+f 2966/4584/11939 2889/4583/11940 3040/4739/11941
+f 3040/4739/11941 2889/4583/11940 3039/4691/11942
+s 2924
+f 2892/4577/11943 2891/4586/11944 2916/4742/11945
+f 2916/4742/11945 2891/4586/11944 2915/4741/11946
+s 2925
+f 2894/4704/11947 2978/4598/11948 2895/4817/11949
+f 2895/4817/11949 2978/4598/11948 3047/4818/11950
+s 2926
+f 2897/4593/11951 2896/4592/11952 3043/4819/11953
+f 3043/4819/11953 2896/4592/11952 3106/4820/11954
+s 2927
+f 2897/4437/11955 3044/4821/11956 2974/4707/11957
+f 2974/4707/11957 3044/4821/11956 3107/4822/11958
+s 2928
+f 2898/4596/11959 3045/4823/11960 2899/4595/11961
+f 2899/4595/11961 3045/4823/11960 3110/4824/11962
+s 2929
+f 2976/4825/11963 3047/4818/11964 2806/4597/11965
+f 2806/4597/11965 3047/4818/11964 2978/4598/11966
+s 2930
+f 3048/4826/11967 2977/4710/11968 3110/4824/11969
+f 3110/4824/11969 2977/4710/11968 2899/4595/11970
+s 2931
+f 2811/4442/11971 2979/4599/11972 2981/4712/11973
+f 2981/4712/11973 2979/4599/11972 3113/4827/11974
+s 2932
+f 2809/4600/11975 2980/4601/11976 2979/4828/11977
+f 2979/4828/11977 2980/4601/11976 3114/4829/11978
+s 2933
+f 2816/4602/11979 2983/4603/11980 2986/4728/11981
+f 2986/4728/11981 2983/4603/11980 3080/4830/11982
+s 2934
+f 2813/4446/11983 2982/4714/11984 2983/4603/11985
+f 2983/4603/11985 2982/4714/11984 2948/4831/11986
+s 2935
+f 2985/4724/11987 3052/4832/11988 2904/4722/11989
+f 2904/4722/11989 3052/4832/11988 3118/4833/11990
+s 2936
+f 2985/4835/11991 2905/4836/11992 3012/4834/11993
+f 3012/4834/11993 2905/4836/11992 3077/4837/11994
+s 2937
+f 2905/4604/11995 2907/4605/11996 3021/4838/11997
+f 3021/4838/11997 2907/4605/11996 2953/4839/11998
+s 2938
+f 2989/4732/11999 3053/4840/12000 2909/4733/12001
+f 2909/4733/12001 3053/4840/12000 3054/4841/12002
+s 2939
+f 2911/4477/12003 2987/4730/12004 2912/4842/12005
+f 2912/4842/12005 2987/4730/12004 2988/4731/12006
+s 2940
+f 2914/4737/12007 3040/4739/12008 2991/4843/12009
+f 2991/4843/12009 3040/4739/12008 3097/4844/12010
+s 2941
+f 2909/4733/12011 3054/4841/12012 2917/4845/12013
+f 2917/4845/12013 3054/4841/12012 3056/4846/12014
+s 2942
+f 2992/4627/12015 3055/4847/12016 2831/4625/12017
+f 2831/4625/12017 3055/4847/12016 2993/4848/12018
+s 2943
+f 2917/4845/12019 3056/4846/12020 2992/4849/12021
+f 2992/4849/12021 3056/4846/12020 3055/4850/12022
+s 2944
+f 2994/4745/12023 3055/4850/12024 2919/4630/12025
+f 2919/4630/12025 3055/4850/12024 3056/4846/12026
+s 2945
+f 2919/4630/12027 3056/4846/12028 2920/4631/12029
+f 2920/4631/12029 3056/4846/12028 3054/4841/12030
+s 2946
+f 2997/4852/12031 2922/4853/12032 3058/4851/12033
+f 3058/4851/12033 2922/4853/12032 3059/4854/12034
+s 2947
+f 2922/4634/12035 2996/4637/12036 3059/4855/12037
+f 3059/4855/12037 2996/4637/12036 3123/4856/12038
+s 2948
+f 2927/4502/12039 2999/4752/12040 2931/4512/12041
+f 2931/4512/12041 2999/4752/12040 3061/4757/12042
+s 2949
+f 2928/4753/12043 2930/4857/12044 2999/4752/12045
+f 2999/4752/12045 2930/4857/12044 3061/4757/12046
+s 2950
+f 2934/4647/12047 3062/4858/12048 3001/4762/12049
+f 3001/4762/12049 3062/4858/12048 3125/4859/12050
+s 2951
+f 2934/4647/12051 2935/4650/12052 3062/4858/12053
+f 3062/4858/12053 2935/4650/12052 3063/4860/12054
+s 2952
+f 2935/4650/12055 2998/4652/12056 3063/4860/12057
+f 3063/4860/12057 2998/4652/12056 3124/4861/12058
+s 2953
+f 2847/4653/12059 3003/4862/12060 3002/4654/12061
+f 3002/4654/12061 3003/4862/12060 3126/4863/12062
+s 2954
+f 3003/4865/12063 2848/4763/12064 3064/4864/12065
+f 3064/4864/12065 2848/4763/12064 3066/4766/12066
+s 2955
+f 3004/4867/12067 2936/4767/12068 3065/4866/12069
+f 3065/4866/12069 2936/4767/12068 3067/4768/12070
+s 2956
+f 2940/4659/12071 3069/4868/12072 2939/4657/12073
+f 2939/4657/12073 3069/4868/12072 3070/4869/12074
+s 2957
+f 2939/4657/12075 3070/4869/12076 3007/4658/12077
+f 3007/4658/12077 3070/4869/12076 3133/4870/12078
+s 2958
+f 2941/4660/12079 2942/4661/12080 3073/4871/12081
+f 3073/4871/12081 2942/4661/12080 3074/4872/12082
+s 2959
+f 2942/4874/12083 3009/4875/12084 3074/4873/12085
+f 3074/4873/12085 3009/4875/12084 3136/4876/12086
+s 2960
+f 2852/4529/12087 3075/4877/12088 3009/4875/12089
+f 3009/4875/12089 3075/4877/12088 3137/4878/12090
+s 2961
+f 2852/4529/12091 3010/4777/12092 3075/4877/12093
+f 3075/4877/12093 3010/4777/12092 3138/4879/12094
+s 2962
+f 3012/4880/12095 2938/4881/12096 2985/4724/12097
+f 2985/4724/12097 2938/4881/12096 3052/4832/12098
+s 2963
+f 3012/4834/12099 3077/4837/12100 2856/4782/12101
+f 2856/4782/12101 3077/4837/12100 3013/4783/12102
+s 2964
+f 2943/4664/12103 3013/4882/12104 2955/4678/12105
+f 2955/4678/12105 3013/4882/12104 3077/4883/12106
+s 2965
+f 2945/4787/12107 2946/4884/12108 2944/4786/12109
+f 2944/4786/12109 2946/4884/12108 3078/4885/12110
+s 2966
+f 2860/4396/12111 3015/4668/12112 3014/4667/12113
+f 3014/4667/12113 3015/4668/12112 3140/4886/12114
+s 2967
+f 2946/4884/12115 3014/4887/12116 3078/4885/12117
+f 3078/4885/12117 3014/4887/12116 3112/4888/12118
+s 2968
+f 2862/4398/12119 2982/4671/12120 3015/4668/12121
+f 3015/4668/12121 2982/4671/12120 3140/4886/12122
+s 2969
+f 3016/4788/12123 3079/4889/12124 2947/4669/12125
+f 2947/4669/12125 3079/4889/12124 3080/4890/12126
+s 2970
+f 2947/4669/12127 3080/4890/12128 2948/4670/12129
+f 2948/4670/12129 3080/4890/12128 2983/4891/12130
+s 2971
+f 3017/4789/12131 2949/4672/12132 3081/4892/12133
+f 3081/4892/12133 2949/4672/12132 3082/4893/12134
+s 2972
+f 2949/4672/12135 2950/4673/12136 3082/4893/12137
+f 3082/4893/12137 2950/4673/12136 3083/4894/12138
+s 2973
+f 2950/4674/12139 2951/4548/12140 3083/4895/12141
+f 3083/4895/12141 2951/4548/12140 3084/4794/12142
+s 2974
+f 3023/4796/12143 3085/4896/12144 2954/4677/12145
+f 2954/4677/12145 3085/4896/12144 3024/4797/12146
+s 2975
+f 2955/4897/12147 3077/4898/12148 3021/4838/12149
+f 3021/4838/12149 3077/4898/12148 2905/4604/12150
+s 2976
+f 2957/4559/12151 3027/4680/12152 3086/4804/12153
+f 3086/4804/12153 3027/4680/12152 3152/4899/12154
+s 2977
+f 2882/4681/12155 2958/4682/12156 3087/4900/12157
+f 3087/4900/12157 2958/4682/12156 3088/4901/12158
+s 2978
+f 2958/4682/12159 3033/4683/12160 3088/4901/12161
+f 3088/4901/12161 3033/4683/12160 3155/4902/12162
+s 2979
+f 3035/4810/12163 3089/4903/12164 3036/4811/12165
+f 3036/4811/12165 3089/4903/12164 3090/4904/12166
+s 2980
+f 2960/4906/12167 3036/4907/12168 3091/4905/12169
+f 3091/4905/12169 3036/4907/12168 3156/4908/12170
+s 2981
+f 2960/4906/12171 3091/4905/12172 3037/4909/12173
+f 3037/4909/12173 3091/4905/12172 3158/4910/12174
+s 2982
+f 3035/4810/12175 3034/4808/12176 3089/4903/12177
+f 3089/4903/12177 3034/4808/12176 3092/4911/12178
+s 2983
+f 2962/4913/12179 2961/4814/12180 3093/4912/12181
+f 3093/4912/12181 2961/4814/12180 3038/4813/12182
+s 2984
+f 2963/4915/12183 2962/4913/12184 3094/4914/12185
+f 3094/4914/12185 2962/4913/12184 3093/4912/12186
+s 2985
+f 2965/4690/12187 3097/4844/12188 3039/4691/12189
+f 3039/4691/12189 3097/4844/12188 3040/4739/12190
+s 2986
+f 2973/4702/12191 2967/4692/12192 3098/4916/12193
+f 3098/4916/12193 2967/4692/12192 3099/4917/12194
+s 2987
+f 2967/4692/12195 2968/4695/12196 3099/4917/12197
+f 3099/4917/12197 2968/4695/12196 3100/4918/12198
+s 2988
+f 2968/4695/12199 2969/4697/12200 3100/4918/12201
+f 3100/4918/12201 2969/4697/12200 3161/4919/12202
+s 2989
+f 3041/4699/12203 3101/4920/12204 2969/4697/12205
+f 2969/4697/12205 3101/4920/12204 3161/4919/12206
+s 2990
+f 2972/4701/12207 3102/4921/12208 2970/4700/12209
+f 2970/4700/12209 3102/4921/12208 3103/4922/12210
+s 2991
+f 2970/4700/12211 3103/4922/12212 3041/4699/12213
+f 3041/4699/12213 3103/4922/12212 3101/4920/12214
+s 2992
+f 2971/4679/12215 3030/4803/12216 2972/4701/12217
+f 2972/4701/12217 3030/4803/12216 3102/4921/12218
+s 2993
+f 3038/4813/12219 2973/4702/12220 3104/4923/12221
+f 3104/4923/12221 2973/4702/12220 3098/4916/12222
+s 2994
+f 3042/4925/12223 2895/4817/12224 3105/4924/12225
+f 3105/4924/12225 2895/4817/12224 3047/4818/12226
+s 2995
+f 2896/4592/12227 3042/4706/12228 3106/4820/12229
+f 3106/4820/12229 3042/4706/12228 3163/4926/12230
+s 2996
+f 2897/4593/12231 3043/4819/12232 3044/4927/12233
+f 3044/4927/12233 3043/4819/12232 3165/4928/12234
+s 2997
+f 2974/4707/12235 3108/4929/12236 2975/4708/12237
+f 2975/4708/12237 3108/4929/12236 3111/4930/12238
+s 2998
+f 2898/4596/12239 3109/4931/12240 3045/4823/12241
+f 3045/4823/12241 3109/4931/12240 3167/4932/12242
+s 2999
+f 2898/4596/12243 3046/4933/12244 3109/4931/12245
+f 3109/4931/12245 3046/4933/12244 3169/4934/12246
+s 3000
+f 2975/4936/12247 3111/4937/12248 3046/4935/12249
+f 3046/4935/12249 3111/4937/12248 3170/4938/12250
+s 3001
+f 2976/4825/12251 2977/4939/12252 3047/4818/12253
+f 3047/4818/12253 2977/4939/12252 3105/4924/12254
+s 3002
+f 2977/4939/12255 3048/4940/12256 3105/4924/12257
+f 3105/4924/12257 3048/4940/12256 3162/4941/12258
+s 3003
+f 3049/4711/12259 2956/4554/12260 3112/4942/12261
+f 3112/4942/12261 2956/4554/12260 3078/4785/12262
+s 3004
+f 2980/4601/12263 3049/4711/12264 3114/4829/12265
+f 3114/4829/12265 3049/4711/12264 3171/4943/12266
+s 3005
+f 2981/4712/12267 3115/4944/12268 2984/4713/12269
+f 2984/4713/12269 3115/4944/12268 3117/4945/12270
+s 3006
+f 3050/4947/12271 3116/4948/12272 2982/4946/12273
+f 2982/4946/12273 3116/4948/12272 3140/4949/12274
+s 3007
+f 2902/4451/12275 3051/4719/12276 3050/4717/12277
+f 3050/4717/12277 3051/4719/12276 3172/4950/12278
+s 3008
+f 2984/4718/12279 3117/4951/12280 3051/4719/12281
+f 3051/4719/12281 3117/4951/12280 3173/4952/12282
+s 3009
+f 2904/4722/12283 3118/4833/12284 3005/4723/12285
+f 3005/4723/12285 3118/4833/12284 3068/4953/12286
+s 3010
+f 2986/4728/12287 3119/4954/12288 3022/4729/12289
+f 3022/4729/12289 3119/4954/12288 3023/4955/12290
+s 3011
+f 3053/4840/12291 2989/4732/12292 3120/4956/12293
+f 3120/4956/12293 2989/4732/12292 3121/4957/12294
+s 3012
+f 2989/4959/12295 2990/4960/12296 3121/4958/12297
+f 3121/4958/12297 2990/4960/12296 3122/4961/12298
+s 3013
+f 2990/4960/12299 2991/4843/12300 3122/4961/12301
+f 3122/4961/12301 2991/4843/12300 3097/4844/12302
+s 3014
+f 2995/4746/12303 2993/4962/12304 2994/4745/12305
+f 2994/4745/12305 2993/4962/12304 3055/4850/12306
+s 3015
+f 2996/4637/12307 3057/4747/12308 3123/4856/12309
+f 3123/4856/12309 3057/4747/12308 3175/4963/12310
+s 3016
+f 2920/4631/12311 3054/4841/12312 3057/4747/12313
+f 3057/4747/12313 3054/4841/12312 3053/4840/12314
+s 3017
+f 3058/4851/12315 3060/4751/12316 2997/4852/12317
+f 2997/4852/12317 3060/4751/12316 2926/4750/12318
+s 3018
+f 2998/4652/12319 3060/4751/12320 3124/4861/12321
+f 3124/4861/12321 3060/4751/12320 3176/4964/12322
+s 3019
+f 3001/4762/12323 3125/4859/12324 3000/4759/12325
+f 3000/4759/12325 3125/4859/12324 3031/4805/12326
+s 3020
+f 3064/4965/12327 3127/4966/12328 3003/4862/12329
+f 3003/4862/12329 3127/4966/12328 3126/4863/12330
+s 3021
+f 3065/4866/12331 3128/4967/12332 3004/4867/12333
+f 3004/4867/12333 3128/4967/12332 3129/4968/12334
+s 3022
+f 3004/4765/12335 3129/4969/12336 3066/4766/12337
+f 3066/4766/12337 3129/4969/12336 3185/4970/12338
+s 3023
+f 2937/4526/12339 3068/4769/12340 3067/4768/12341
+f 3067/4768/12341 3068/4769/12340 3186/4971/12342
+s 3024
+f 3002/4654/12343 3126/4863/12344 3052/4770/12345
+f 3052/4770/12345 3126/4863/12344 3174/4972/12346
+s 3025
+f 3011/4780/12347 3006/4771/12348 3130/4973/12349
+f 3130/4973/12349 3006/4771/12348 3131/4974/12350
+s 3026
+f 3006/4771/12351 3007/4772/12352 3131/4974/12353
+f 3131/4974/12353 3007/4772/12352 3133/4975/12354
+s 3027
+f 3069/4868/12355 2940/4659/12356 3132/4976/12357
+f 3132/4976/12357 2940/4659/12356 3071/4774/12358
+s 3028
+f 3008/4773/12359 3134/4977/12360 3071/4774/12361
+f 3071/4774/12361 3134/4977/12360 3132/4976/12362
+s 3029
+f 3072/4978/12363 3135/4979/12364 3008/4773/12365
+f 3008/4773/12365 3135/4979/12364 3134/4977/12366
+s 3030
+f 2941/4660/12367 3073/4871/12368 3072/4776/12369
+f 3072/4776/12369 3073/4871/12368 3190/4980/12370
+s 3031
+f 3076/4778/12371 3139/4981/12372 3010/4777/12373
+f 3010/4777/12373 3139/4981/12372 3196/4982/12374
+s 3032
+f 3076/4778/12375 3011/4779/12376 3139/4981/12377
+f 3139/4981/12377 3011/4779/12376 3130/4983/12378
+s 3033
+f 3079/4889/12379 3016/4788/12380 3141/4984/12381
+f 3141/4984/12381 3016/4788/12380 3142/4985/12382
+s 3034
+f 3016/4788/12383 3017/4789/12384 3142/4985/12385
+f 3142/4985/12385 3017/4789/12384 3081/4892/12386
+s 3035
+f 3024/4797/12387 3143/4986/12388 3018/4790/12389
+f 3018/4790/12389 3143/4986/12388 3144/4987/12390
+s 3036
+f 3018/4790/12391 3144/4987/12392 3019/4791/12393
+f 3019/4791/12393 3144/4987/12392 3145/4988/12394
+s 3037
+f 3019/4791/12395 3145/4988/12396 3020/4792/12397
+f 3020/4792/12397 3145/4988/12396 3146/4989/12398
+s 3038
+f 3020/4793/12399 3146/4990/12400 3084/4794/12401
+f 3084/4794/12401 3146/4990/12400 3201/4991/12402
+s 3039
+f 3085/4993/12403 3023/4955/12404 3147/4992/12405
+f 3147/4992/12405 3023/4955/12404 3119/4954/12406
+s 3040
+f 3085/4896/12407 3148/4994/12408 3024/4797/12409
+f 3024/4797/12409 3148/4994/12408 3143/4986/12410
+s 3041
+f 3028/4800/12411 3149/4995/12412 3025/4798/12413
+f 3025/4798/12413 3149/4995/12412 3150/4996/12414
+s 3042
+f 3025/4798/12415 3150/4996/12416 3026/4799/12417
+f 3026/4799/12417 3150/4996/12416 3151/4997/12418
+s 3043
+f 3026/4799/12419 3151/4997/12420 3027/4680/12421
+f 3027/4680/12421 3151/4997/12420 3152/4899/12422
+s 3044
+f 3029/4801/12423 3153/4998/12424 3028/4802/12425
+f 3028/4802/12425 3153/4998/12424 3149/4999/12426
+s 3045
+f 3032/4807/12427 3154/5000/12428 3029/4801/12429
+f 3029/4801/12429 3154/5000/12428 3153/4998/12430
+s 3046
+f 3030/4803/12431 3086/4804/12432 3102/4921/12433
+f 3102/4921/12433 3086/4804/12432 3203/5001/12434
+s 3047
+f 3032/4806/12435 3031/4805/12436 3154/5002/12437
+f 3154/5002/12437 3031/4805/12436 3125/4859/12438
+s 3048
+f 3034/4808/12439 3087/4809/12440 3092/4911/12441
+f 3092/4911/12441 3087/4809/12440 3204/5003/12442
+s 3049
+f 3036/4907/12443 3090/5004/12444 3156/4908/12445
+f 3156/4908/12445 3090/5004/12444 3206/5005/12446
+s 3050
+f 3089/4903/12447 3157/5006/12448 3090/4904/12449
+f 3090/4904/12449 3157/5006/12448 3207/5007/12450
+s 3051
+f 3089/4903/12451 3092/4911/12452 3157/5006/12453
+f 3157/5006/12453 3092/4911/12452 3210/5008/12454
+s 3052
+f 3094/4914/12455 3159/5009/12456 2963/4915/12457
+f 2963/4915/12457 3159/5009/12456 3095/5010/12458
+s 3053
+f 3033/4683/12459 3095/4812/12460 3155/4902/12461
+f 3155/4902/12461 3095/4812/12460 3213/5011/12462
+s 3054
+f 3093/4912/12463 3038/4813/12464 3160/5012/12465
+f 3160/5012/12465 3038/4813/12464 3104/4923/12466
+s 3055
+f 3037/4815/12467 3158/5013/12468 3096/4816/12469
+f 3096/4816/12469 3158/5013/12468 3214/5014/12470
+s 3056
+f 2965/4690/12471 3096/4816/12472 3097/4844/12473
+f 3097/4844/12473 3096/4816/12472 3122/4961/12474
+s 3057
+f 3105/4924/12475 3162/4941/12476 3042/4925/12477
+f 3042/4925/12477 3162/4941/12476 3163/5015/12478
+s 3058
+f 3043/4819/12479 3106/4820/12480 3164/5016/12481
+f 3164/5016/12481 3106/4820/12480 3222/5017/12482
+s 3059
+f 2974/4707/12483 3107/4822/12484 3108/4929/12485
+f 3108/4929/12485 3107/4822/12484 3225/5018/12486
+s 3060
+f 3107/5020/12487 3044/4927/12488 3166/5019/12489
+f 3166/5019/12489 3044/4927/12488 3224/5021/12490
+s 3061
+f 3110/4824/12491 3045/4823/12492 3168/5022/12493
+f 3168/5022/12493 3045/4823/12492 3229/5023/12494
+s 3062
+f 3110/4824/12495 3168/5022/12496 3048/4826/12497
+f 3048/4826/12497 3168/5022/12496 3232/5024/12498
+s 3063
+f 3049/5026/12499 3112/5027/12500 3171/5025/12501
+f 3171/5025/12501 3112/5027/12500 3116/5028/12502
+s 3064
+f 2981/4712/12503 3113/4827/12504 3115/4944/12505
+f 3115/4944/12505 3113/4827/12504 3233/5029/12506
+s 3065
+f 2979/4828/12507 3114/4829/12508 3113/5030/12509
+f 3113/5030/12509 3114/4829/12508 3234/5031/12510
+s 3066
+f 2986/4728/12511 3080/4830/12512 3119/4954/12513
+f 3119/4954/12513 3080/4830/12512 3079/5032/12514
+s 3067
+f 3050/5033/12515 3172/5034/12516 3116/5028/12517
+f 3116/5028/12517 3172/5034/12516 3236/5035/12518
+s 3068
+f 3052/4832/12519 3174/5036/12520 3118/4833/12521
+f 3118/4833/12521 3174/5036/12520 3238/5037/12522
+s 3069
+f 3120/4956/12523 3175/4963/12524 3053/4840/12525
+f 3053/4840/12525 3175/4963/12524 3057/4747/12526
+s 3070
+f 3060/4751/12527 3058/4851/12528 3176/4964/12529
+f 3176/4964/12529 3058/4851/12528 3177/5038/12530
+s 3071
+f 3058/4851/12531 3059/4854/12532 3177/5038/12533
+f 3177/5038/12533 3059/4854/12532 3178/5039/12534
+s 3072
+f 3059/4854/12535 3123/5040/12536 3178/5039/12537
+f 3178/5039/12537 3123/5040/12536 3241/5041/12538
+s 3073
+f 3062/4858/12539 3179/5042/12540 3125/4859/12541
+f 3125/4859/12541 3179/5042/12540 3154/5002/12542
+s 3074
+f 3063/4860/12543 3180/5043/12544 3062/4858/12545
+f 3062/4858/12545 3180/5043/12544 3179/5042/12546
+s 3075
+f 3063/4860/12547 3124/4861/12548 3180/5043/12549
+f 3180/5043/12549 3124/4861/12548 3242/5044/12550
+s 3076
+f 3127/4966/12551 3064/4965/12552 3181/5045/12553
+f 3181/5045/12553 3064/4965/12552 3182/5046/12554
+s 3077
+f 3064/4864/12555 3066/4766/12556 3182/5047/12557
+f 3182/5047/12557 3066/4766/12556 3185/4970/12558
+s 3078
+f 3065/4866/12559 3067/4768/12560 3183/5048/12561
+f 3183/5048/12561 3067/4768/12560 3186/4971/12562
+s 3079
+f 3128/4967/12563 3065/4866/12564 3184/5049/12565
+f 3184/5049/12565 3065/4866/12564 3183/5048/12566
+s 3080
+f 3068/4953/12567 3118/4833/12568 3186/5050/12569
+f 3186/5050/12569 3118/4833/12568 3238/5037/12570
+s 3081
+f 3132/4976/12571 3187/5051/12572 3069/4868/12573
+f 3069/4868/12573 3187/5051/12572 3251/5052/12574
+s 3082
+f 3069/4868/12575 3188/5053/12576 3070/4869/12577
+f 3070/4869/12577 3188/5053/12576 3189/5054/12578
+s 3083
+f 3070/4869/12579 3189/5054/12580 3133/4870/12581
+f 3133/4870/12581 3189/5054/12580 3253/5055/12582
+s 3084
+f 3072/4776/12583 3190/4980/12584 3135/5056/12585
+f 3135/5056/12585 3190/4980/12584 3255/5057/12586
+s 3085
+f 3073/4871/12587 3074/4872/12588 3191/5058/12589
+f 3191/5058/12589 3074/4872/12588 3192/5059/12590
+s 3086
+f 3074/4873/12591 3136/4876/12592 3192/5060/12593
+f 3192/5060/12593 3136/4876/12592 3256/5061/12594
+s 3087
+f 3009/4875/12595 3137/4878/12596 3136/4876/12597
+f 3136/4876/12597 3137/4878/12596 3257/5062/12598
+s 3088
+f 3137/4878/12599 3075/4877/12600 3193/5063/12601
+f 3193/5063/12601 3075/4877/12600 3194/5064/12602
+s 3089
+f 3075/4877/12603 3138/4879/12604 3194/5064/12605
+f 3194/5064/12605 3138/4879/12604 3195/5065/12606
+s 3090
+f 3138/4879/12607 3010/4777/12608 3195/5065/12609
+f 3195/5065/12609 3010/4777/12608 3196/4982/12610
+s 3091
+f 3014/4887/12611 3140/4949/12612 3112/4888/12613
+f 3112/4888/12613 3140/4949/12612 3116/4948/12614
+s 3092
+f 3141/5066/12615 3147/4992/12616 3079/5032/12617
+f 3079/5032/12617 3147/4992/12616 3119/4954/12618
+s 3093
+f 3142/4985/12619 3081/4892/12620 3197/5067/12621
+f 3197/5067/12621 3081/4892/12620 3198/5068/12622
+s 3094
+f 3081/4892/12623 3082/4893/12624 3198/5068/12625
+f 3198/5068/12625 3082/4893/12624 3199/5069/12626
+s 3095
+f 3082/4893/12627 3083/4894/12628 3199/5069/12629
+f 3199/5069/12629 3083/4894/12628 3200/5070/12630
+s 3096
+f 3083/4895/12631 3084/4794/12632 3200/5071/12633
+f 3200/5071/12633 3084/4794/12632 3201/4991/12634
+s 3097
+f 3147/4992/12635 3202/5072/12636 3085/4993/12637
+f 3085/4993/12637 3202/5072/12636 3148/5073/12638
+s 3098
+f 3086/4804/12639 3152/4899/12640 3203/5001/12641
+f 3203/5001/12641 3152/4899/12640 3270/5074/12642
+s 3099
+f 3087/4900/12643 3088/4901/12644 3204/5075/12645
+f 3204/5075/12645 3088/4901/12644 3205/5076/12646
+s 3100
+f 3088/4901/12647 3155/4902/12648 3205/5076/12649
+f 3205/5076/12649 3155/4902/12648 3271/5077/12650
+s 3101
+f 3091/4905/12651 3156/4908/12652 3208/5078/12653
+f 3208/5078/12653 3156/4908/12652 3272/5079/12654
+s 3102
+f 3158/4910/12655 3091/4905/12656 3209/5080/12657
+f 3209/5080/12657 3091/4905/12656 3208/5078/12658
+s 3103
+f 3094/4914/12659 3093/4912/12660 3211/5081/12661
+f 3211/5081/12661 3093/4912/12660 3160/5012/12662
+s 3104
+f 3159/5009/12663 3094/4914/12664 3212/5082/12665
+f 3212/5082/12665 3094/4914/12664 3211/5081/12666
+s 3105
+f 3095/5010/12667 3159/5009/12668 3213/5083/12669
+f 3213/5083/12669 3159/5009/12668 3276/5084/12670
+s 3106
+f 3104/4923/12671 3098/4916/12672 3215/5085/12673
+f 3215/5085/12673 3098/4916/12672 3216/5086/12674
+s 3107
+f 3098/4916/12675 3099/4917/12676 3216/5086/12677
+f 3216/5086/12677 3099/4917/12676 3217/5087/12678
+s 3108
+f 3099/4917/12679 3100/4918/12680 3217/5087/12681
+f 3217/5087/12681 3100/4918/12680 3218/5088/12682
+s 3109
+f 3100/4918/12683 3161/4919/12684 3218/5088/12685
+f 3218/5088/12685 3161/4919/12684 3278/5089/12686
+s 3110
+f 3103/4922/12687 3219/5090/12688 3101/4920/12689
+f 3101/4920/12689 3219/5090/12688 3220/5091/12690
+s 3111
+f 3101/4920/12691 3220/5091/12692 3161/4919/12693
+f 3161/4919/12693 3220/5091/12692 3278/5089/12694
+s 3112
+f 3102/4921/12695 3203/5001/12696 3103/4922/12697
+f 3103/4922/12697 3203/5001/12696 3219/5090/12698
+s 3113
+f 3160/5012/12699 3104/4923/12700 3221/5092/12701
+f 3221/5092/12701 3104/4923/12700 3215/5085/12702
+s 3114
+f 3106/4820/12703 3163/4926/12704 3222/5017/12705
+f 3222/5017/12705 3163/4926/12704 3280/5093/12706
+s 3115
+f 3164/5016/12707 3223/5094/12708 3043/4819/12709
+f 3043/4819/12709 3223/5094/12708 3165/4928/12710
+s 3116
+f 3044/4927/12711 3165/4928/12712 3224/5021/12713
+f 3224/5021/12713 3165/4928/12712 3223/5094/12714
+s 3117
+f 3107/4822/12715 3166/5095/12716 3225/5018/12717
+f 3225/5018/12717 3166/5095/12716 3283/5096/12718
+s 3118
+f 3108/4929/12719 3226/5097/12720 3111/4930/12721
+f 3111/4930/12721 3226/5097/12720 3231/5098/12722
+s 3119
+f 3167/4932/12723 3227/5099/12724 3045/4823/12725
+f 3045/4823/12725 3227/5099/12724 3229/5023/12726
+s 3120
+f 3109/4931/12727 3228/5100/12728 3167/4932/12729
+f 3167/4932/12729 3228/5100/12728 3227/5099/12730
+s 3121
+f 3169/4934/12731 3230/5101/12732 3109/4931/12733
+f 3109/4931/12733 3230/5101/12732 3228/5100/12734
+s 3122
+f 3046/4933/12735 3170/5102/12736 3169/4934/12737
+f 3169/4934/12737 3170/5102/12736 3286/5103/12738
+s 3123
+f 3111/4937/12739 3231/5104/12740 3170/4938/12741
+f 3170/4938/12741 3231/5104/12740 3287/5105/12742
+s 3124
+f 3048/4940/12743 3232/5106/12744 3162/4941/12745
+f 3162/4941/12745 3232/5106/12744 3279/5107/12746
+s 3125
+f 3114/4829/12747 3171/4943/12748 3234/5031/12749
+f 3234/5031/12749 3171/4943/12748 3289/5108/12750
+s 3126
+f 3117/5110/12751 3115/5111/12752 3235/5109/12753
+f 3235/5109/12753 3115/5111/12752 3291/5112/12754
+s 3127
+f 3051/4719/12755 3173/4952/12756 3172/4950/12757
+f 3172/4950/12757 3173/4952/12756 3292/5113/12758
+s 3128
+f 3173/4952/12759 3117/4951/12760 3237/5114/12761
+f 3237/5114/12761 3117/4951/12760 3235/5115/12762
+s 3129
+f 3175/5117/12763 3120/5118/12764 3239/5116/12765
+f 3239/5116/12765 3120/5118/12764 3240/5119/12766
+s 3130
+f 3120/5118/12767 3121/4958/12768 3240/5119/12769
+f 3240/5119/12769 3121/4958/12768 3214/5014/12770
+s 3131
+f 3121/4958/12771 3122/4961/12772 3214/5014/12773
+f 3214/5014/12773 3122/4961/12772 3096/4816/12774
+s 3132
+f 3123/5040/12775 3175/5117/12776 3241/5041/12777
+f 3241/5041/12777 3175/5117/12776 3239/5116/12778
+s 3133
+f 3124/4861/12779 3176/4964/12780 3242/5044/12781
+f 3242/5044/12781 3176/4964/12780 3295/5120/12782
+s 3134
+f 3127/4966/12783 3243/5121/12784 3126/4863/12785
+f 3126/4863/12785 3243/5121/12784 3174/4972/12786
+s 3135
+f 3181/5045/12787 3244/5122/12788 3127/4966/12789
+f 3127/4966/12789 3244/5122/12788 3243/5121/12790
+s 3136
+f 3184/5049/12791 3245/5123/12792 3128/4967/12793
+f 3128/4967/12793 3245/5123/12792 3246/5124/12794
+s 3137
+f 3128/4967/12795 3246/5124/12796 3129/4968/12797
+f 3129/4968/12797 3246/5124/12796 3247/5125/12798
+s 3138
+f 3129/4969/12799 3247/5126/12800 3185/4970/12801
+f 3185/4970/12801 3247/5126/12800 3301/5127/12802
+s 3139
+f 3130/4983/12803 3248/5128/12804 3139/4981/12805
+f 3139/4981/12805 3248/5128/12804 3258/5129/12806
+s 3140
+f 3130/4973/12807 3131/4974/12808 3248/5130/12809
+f 3248/5130/12809 3131/4974/12808 3249/5131/12810
+s 3141
+f 3131/4974/12811 3133/4975/12812 3249/5131/12813
+f 3249/5131/12813 3133/4975/12812 3253/5132/12814
+s 3142
+f 3187/5051/12815 3132/4976/12816 3250/5133/12817
+f 3250/5133/12817 3132/4976/12816 3134/4977/12818
+s 3143
+f 3069/5135/12819 3252/5136/12820 3188/5134/12821
+f 3188/5134/12821 3252/5136/12820 3306/5137/12822
+s 3144
+f 3134/5139/12823 3135/5140/12824 3254/5138/12825
+f 3254/5138/12825 3135/5140/12824 3309/5141/12826
+s 3145
+f 3073/4871/12827 3191/5058/12828 3190/4980/12829
+f 3190/4980/12829 3191/5058/12828 3310/5142/12830
+s 3146
+f 3137/4878/12831 3193/5063/12832 3257/5062/12833
+f 3257/5062/12833 3193/5063/12832 3313/5143/12834
+s 3147
+f 3139/4981/12835 3258/5129/12836 3196/4982/12837
+f 3196/4982/12837 3258/5129/12836 3316/5144/12838
+s 3148
+f 3147/4992/12839 3141/5066/12840 3202/5072/12841
+f 3202/5072/12841 3141/5066/12840 3259/5145/12842
+s 3149
+f 3141/4984/12843 3142/4985/12844 3259/5146/12845
+f 3259/5146/12845 3142/4985/12844 3197/5067/12846
+s 3150
+f 3148/4994/12847 3260/5147/12848 3143/4986/12849
+f 3143/4986/12849 3260/5147/12848 3261/5148/12850
+s 3151
+f 3143/4986/12851 3261/5148/12852 3144/4987/12853
+f 3144/4987/12853 3261/5148/12852 3262/5149/12854
+s 3152
+f 3144/4987/12855 3262/5149/12856 3145/4988/12857
+f 3145/4988/12857 3262/5149/12856 3263/5150/12858
+s 3153
+f 3145/4988/12859 3263/5150/12860 3146/4989/12861
+f 3146/4989/12861 3263/5150/12860 3264/5151/12862
+s 3154
+f 3146/4990/12863 3264/5152/12864 3201/4991/12865
+f 3201/4991/12865 3264/5152/12864 3322/5153/12866
+s 3155
+f 3202/5072/12867 3265/5154/12868 3148/5073/12869
+f 3148/5073/12869 3265/5154/12868 3260/5155/12870
+s 3156
+f 3153/4998/12871 3266/5156/12872 3149/4999/12873
+f 3149/4999/12873 3266/5156/12872 3267/5157/12874
+s 3157
+f 3149/4995/12875 3267/5158/12876 3150/4996/12877
+f 3150/4996/12877 3267/5158/12876 3268/5159/12878
+s 3158
+f 3150/4996/12879 3268/5159/12880 3151/4997/12881
+f 3151/4997/12881 3268/5159/12880 3269/5160/12882
+s 3159
+f 3151/4997/12883 3269/5160/12884 3152/4899/12885
+f 3152/4899/12885 3269/5160/12884 3270/5074/12886
+s 3160
+f 3154/5000/12887 3179/5161/12888 3153/4998/12889
+f 3153/4998/12889 3179/5161/12888 3266/5156/12890
+s 3161
+f 3092/4911/12891 3204/5003/12892 3210/5008/12893
+f 3210/5008/12893 3204/5003/12892 3323/5162/12894
+s 3162
+f 3156/4908/12895 3206/5005/12896 3272/5079/12897
+f 3272/5079/12897 3206/5005/12896 3325/5163/12898
+s 3163
+f 3090/5004/12899 3207/5164/12900 3206/5005/12901
+f 3206/5005/12901 3207/5164/12900 3326/5165/12902
+s 3164
+f 3157/5006/12903 3273/5166/12904 3207/5007/12905
+f 3207/5007/12905 3273/5166/12904 3327/5167/12906
+s 3165
+f 3158/4910/12907 3209/5080/12908 3274/5168/12909
+f 3274/5168/12909 3209/5080/12908 3330/5169/12910
+s 3166
+f 3157/5006/12911 3210/5008/12912 3273/5166/12913
+f 3273/5166/12913 3210/5008/12912 3331/5170/12914
+s 3167
+f 3212/5082/12915 3275/5171/12916 3159/5009/12917
+f 3159/5009/12917 3275/5171/12916 3276/5084/12918
+s 3168
+f 3155/5173/12919 3213/5083/12920 3271/5172/12921
+f 3271/5172/12921 3213/5083/12920 3334/5174/12922
+s 3169
+f 3211/5081/12923 3160/5012/12924 3277/5175/12925
+f 3277/5175/12925 3160/5012/12924 3221/5092/12926
+s 3170
+f 3158/5013/12927 3274/5176/12928 3214/5014/12929
+f 3214/5014/12929 3274/5176/12928 3240/5119/12930
+s 3171
+f 3162/4941/12931 3279/5107/12932 3163/5015/12933
+f 3163/5015/12933 3279/5107/12932 3280/5177/12934
+s 3172
+f 3223/5094/12935 3164/5016/12936 3281/5178/12937
+f 3281/5178/12937 3164/5016/12936 3345/5179/12938
+s 3173
+f 3164/5016/12939 3222/5017/12940 3282/5180/12941
+f 3282/5180/12941 3222/5017/12940 3343/5181/12942
+s 3174
+f 3108/4929/12943 3225/5018/12944 3226/5097/12945
+f 3226/5097/12945 3225/5018/12944 3347/5182/12946
+s 3175
+f 3224/5184/12947 3284/5185/12948 3166/5183/12949
+f 3166/5183/12949 3284/5185/12948 3348/5186/12950
+s 3176
+f 3168/5022/12951 3229/5023/12952 3285/5187/12953
+f 3285/5187/12953 3229/5023/12952 3352/5188/12954
+s 3177
+f 3169/4934/12955 3286/5103/12956 3230/5101/12957
+f 3230/5101/12957 3286/5103/12956 3353/5189/12958
+s 3178
+f 3232/5024/12959 3168/5022/12960 3288/5190/12961
+f 3288/5190/12961 3168/5022/12960 3285/5187/12962
+s 3179
+f 3171/5025/12963 3116/5028/12964 3289/5191/12965
+f 3289/5191/12965 3116/5028/12964 3236/5035/12966
+s 3180
+f 3233/5192/12967 3290/5193/12968 3115/5111/12969
+f 3115/5111/12969 3290/5193/12968 3291/5112/12970
+s 3181
+f 3113/5030/12971 3234/5031/12972 3233/5194/12973
+f 3233/5194/12973 3234/5031/12972 3356/5195/12974
+s 3182
+f 3172/5034/12975 3292/5196/12976 3236/5035/12977
+f 3236/5035/12977 3292/5196/12976 3360/5197/12978
+s 3183
+f 3237/5114/12979 3293/5198/12980 3173/4952/12981
+f 3173/4952/12981 3293/5198/12980 3292/5113/12982
+s 3184
+f 3238/5200/12983 3174/5201/12984 3294/5199/12985
+f 3294/5199/12985 3174/5201/12984 3243/5202/12986
+s 3185
+f 3176/4964/12987 3177/5038/12988 3295/5120/12989
+f 3295/5120/12989 3177/5038/12988 3296/5203/12990
+s 3186
+f 3177/5038/12991 3178/5039/12992 3296/5203/12993
+f 3296/5203/12993 3178/5039/12992 3363/5204/12994
+s 3187
+f 3241/5041/12995 3297/5205/12996 3178/5039/12997
+f 3178/5039/12997 3297/5205/12996 3363/5204/12998
+s 3188
+f 3179/5161/12999 3180/5206/13000 3266/5156/13001
+f 3266/5156/13001 3180/5206/13000 3365/5207/13002
+s 3189
+f 3242/5208/13003 3298/5209/13004 3180/5206/13005
+f 3180/5206/13005 3298/5209/13004 3365/5207/13006
+s 3190
+f 3244/5122/13007 3181/5045/13008 3299/5210/13009
+f 3299/5210/13009 3181/5045/13008 3300/5211/13010
+s 3191
+f 3181/5045/13011 3182/5046/13012 3300/5211/13013
+f 3300/5211/13013 3182/5046/13012 3366/5212/13014
+s 3192
+f 3185/4970/13015 3301/5127/13016 3182/5047/13017
+f 3182/5047/13017 3301/5127/13016 3366/5213/13018
+s 3193
+f 3184/5215/13019 3183/5216/13020 3302/5214/13021
+f 3302/5214/13021 3183/5216/13020 3294/5199/13022
+s 3194
+f 3183/5216/13023 3186/5217/13024 3294/5199/13025
+f 3294/5199/13025 3186/5217/13024 3238/5200/13026
+s 3195
+f 3245/5219/13027 3184/5215/13028 3303/5218/13029
+f 3303/5218/13029 3184/5215/13028 3302/5214/13030
+s 3196
+f 3250/5133/13031 3304/5220/13032 3187/5051/13033
+f 3187/5051/13033 3304/5220/13032 3305/5221/13034
+s 3197
+f 3069/5223/13035 3251/5224/13036 3252/5222/13037
+f 3252/5222/13037 3251/5224/13036 3374/5225/13038
+s 3198
+f 3187/5051/13039 3305/5221/13040 3251/5052/13041
+f 3251/5052/13041 3305/5221/13040 3375/5226/13042
+s 3199
+f 3188/5053/13043 3307/5227/13044 3189/5054/13045
+f 3189/5054/13045 3307/5227/13044 3308/5228/13046
+s 3200
+f 3189/5229/13047 3308/5230/13048 3253/5132/13049
+f 3253/5132/13049 3308/5230/13048 3376/5231/13050
+s 3201
+f 3134/5139/13051 3254/5138/13052 3250/5232/13053
+f 3250/5232/13053 3254/5138/13052 3377/5233/13054
+s 3202
+f 3135/5235/13055 3255/5236/13056 3309/5234/13057
+f 3309/5234/13057 3255/5236/13056 3378/5237/13058
+s 3203
+f 3190/4980/13059 3310/5142/13060 3255/5057/13061
+f 3255/5057/13061 3310/5142/13060 3379/5238/13062
+s 3204
+f 3191/5058/13063 3192/5059/13064 3311/5239/13065
+f 3311/5239/13065 3192/5059/13064 3312/5240/13066
+s 3205
+f 3192/5060/13067 3256/5061/13068 3312/5241/13069
+f 3312/5241/13069 3256/5061/13068 3381/5242/13070
+s 3206
+f 3136/4876/13071 3257/5062/13072 3256/5061/13073
+f 3256/5061/13073 3257/5062/13072 3382/5243/13074
+s 3207
+f 3193/5244/13075 3194/5245/13076 3309/5234/13077
+f 3309/5234/13077 3194/5245/13076 3254/5246/13078
+s 3208
+f 3194/5064/13079 3195/5065/13080 3314/5247/13081
+f 3314/5247/13081 3195/5065/13080 3315/5248/13082
+s 3209
+f 3195/5065/13083 3196/4982/13084 3315/5248/13085
+f 3315/5248/13085 3196/4982/13084 3384/5249/13086
+s 3210
+f 3259/5146/13087 3197/5067/13088 3317/5250/13089
+f 3317/5250/13089 3197/5067/13088 3318/5251/13090
+s 3211
+f 3197/5067/13091 3198/5068/13092 3318/5251/13093
+f 3318/5251/13093 3198/5068/13092 3319/5252/13094
+s 3212
+f 3198/5068/13095 3199/5069/13096 3319/5252/13097
+f 3319/5252/13097 3199/5069/13096 3320/5253/13098
+s 3213
+f 3199/5069/13099 3200/5070/13100 3320/5253/13101
+f 3320/5253/13101 3200/5070/13100 3321/5254/13102
+s 3214
+f 3200/5071/13103 3201/4991/13104 3321/5255/13105
+f 3321/5255/13105 3201/4991/13104 3322/5153/13106
+s 3215
+f 3202/5072/13107 3259/5145/13108 3265/5154/13109
+f 3265/5154/13109 3259/5145/13108 3317/5256/13110
+s 3216
+f 3203/5001/13111 3270/5074/13112 3219/5090/13113
+f 3219/5090/13113 3270/5074/13112 3340/5257/13114
+s 3217
+f 3204/5075/13115 3205/5076/13116 3323/5258/13117
+f 3323/5258/13117 3205/5076/13116 3324/5259/13118
+s 3218
+f 3205/5076/13119 3271/5077/13120 3324/5259/13121
+f 3324/5259/13121 3271/5077/13120 3393/5260/13122
+s 3219
+f 3209/5080/13123 3208/5078/13124 3328/5261/13125
+f 3328/5261/13125 3208/5078/13124 3329/5262/13126
+s 3220
+f 3208/5078/13127 3272/5079/13128 3329/5262/13129
+f 3329/5262/13129 3272/5079/13128 3395/5263/13130
+s 3221
+f 3212/5082/13131 3211/5081/13132 3332/5264/13133
+f 3332/5264/13133 3211/5081/13132 3277/5175/13134
+s 3222
+f 3275/5171/13135 3212/5082/13136 3333/5265/13137
+f 3333/5265/13137 3212/5082/13136 3332/5264/13138
+s 3223
+f 3213/5083/13139 3276/5084/13140 3334/5174/13141
+f 3334/5174/13141 3276/5084/13140 3399/5266/13142
+s 3224
+f 3215/5085/13143 3335/5267/13144 3221/5092/13145
+f 3221/5092/13145 3335/5267/13144 3342/5268/13146
+s 3225
+f 3216/5086/13147 3336/5269/13148 3215/5085/13149
+f 3215/5085/13149 3336/5269/13148 3335/5267/13150
+s 3226
+f 3217/5087/13151 3337/5270/13152 3216/5086/13153
+f 3216/5086/13153 3337/5270/13152 3336/5269/13154
+s 3227
+f 3218/5088/13155 3338/5271/13156 3217/5087/13157
+f 3217/5087/13157 3338/5271/13156 3337/5270/13158
+s 3228
+f 3278/5089/13159 3339/5272/13160 3218/5088/13161
+f 3218/5088/13161 3339/5272/13160 3338/5271/13162
+s 3229
+f 3219/5090/13163 3340/5257/13164 3220/5091/13165
+f 3220/5091/13165 3340/5257/13164 3341/5273/13166
+s 3230
+f 3220/5091/13167 3341/5273/13168 3278/5089/13169
+f 3278/5089/13169 3341/5273/13168 3339/5272/13170
+s 3231
+f 3221/5092/13171 3342/5268/13172 3277/5175/13173
+f 3277/5175/13173 3342/5268/13172 3400/5274/13174
+s 3232
+f 3222/5017/13175 3280/5093/13176 3343/5181/13177
+f 3343/5181/13177 3280/5093/13176 3402/5275/13178
+s 3233
+f 3281/5178/13179 3344/5276/13180 3223/5094/13181
+f 3223/5094/13181 3344/5276/13180 3224/5021/13182
+s 3234
+f 3164/5278/13183 3282/5279/13184 3346/5277/13185
+f 3346/5277/13185 3282/5279/13184 3405/5280/13186
+s 3235
+f 3225/5018/13187 3283/5096/13188 3347/5182/13189
+f 3347/5182/13189 3283/5096/13188 3408/5281/13190
+s 3236
+f 3166/5183/13191 3348/5186/13192 3283/5282/13193
+f 3283/5282/13193 3348/5186/13192 3409/5283/13194
+s 3237
+f 3224/5285/13195 3344/5286/13196 3284/5284/13197
+f 3284/5284/13197 3344/5286/13196 3410/5287/13198
+s 3238
+f 3226/5097/13199 3349/5288/13200 3231/5098/13201
+f 3231/5098/13201 3349/5288/13200 3354/5289/13202
+s 3239
+f 3228/5100/13203 3350/5290/13204 3227/5099/13205
+f 3227/5099/13205 3350/5290/13204 3351/5291/13206
+s 3240
+f 3227/5099/13207 3351/5291/13208 3229/5023/13209
+f 3229/5023/13209 3351/5291/13208 3411/5292/13210
+s 3241
+f 3230/5101/13211 3348/5293/13212 3228/5100/13213
+f 3228/5100/13213 3348/5293/13212 3284/5294/13214
+s 3242
+f 3170/5102/13215 3287/5295/13216 3286/5103/13217
+f 3286/5103/13217 3287/5295/13216 3415/5296/13218
+s 3243
+f 3231/5104/13219 3354/5297/13220 3287/5105/13221
+f 3287/5105/13221 3354/5297/13220 3416/5298/13222
+s 3244
+f 3232/5106/13223 3288/5299/13224 3279/5107/13225
+f 3279/5107/13225 3288/5299/13224 3401/5300/13226
+s 3245
+f 3290/5302/13227 3233/5194/13228 3355/5301/13229
+f 3355/5301/13229 3233/5194/13228 3356/5195/13230
+s 3246
+f 3234/5031/13231 3289/5108/13232 3356/5195/13233
+f 3356/5195/13233 3289/5108/13232 3359/5303/13234
+s 3247
+f 3237/5114/13235 3235/5115/13236 3357/5304/13237
+f 3357/5304/13237 3235/5115/13236 3358/5305/13238
+s 3248
+f 3235/5109/13239 3291/5112/13240 3358/5306/13241
+f 3358/5306/13241 3291/5112/13240 3419/5307/13242
+s 3249
+f 3289/5191/13243 3236/5035/13244 3359/5308/13245
+f 3359/5308/13245 3236/5035/13244 3360/5197/13246
+s 3250
+f 3293/5198/13247 3237/5114/13248 3361/5309/13249
+f 3361/5309/13249 3237/5114/13248 3357/5304/13250
+s 3251
+f 3239/5116/13251 3362/5310/13252 3241/5041/13253
+f 3241/5041/13253 3362/5310/13252 3297/5205/13254
+s 3252
+f 3240/5119/13255 3274/5176/13256 3239/5116/13257
+f 3239/5116/13257 3274/5176/13256 3362/5310/13258
+s 3253
+f 3295/5311/13259 3364/5312/13260 3242/5208/13261
+f 3242/5208/13261 3364/5312/13260 3298/5209/13262
+s 3254
+f 3244/5313/13263 3302/5214/13264 3243/5202/13265
+f 3243/5202/13265 3302/5214/13264 3294/5199/13266
+s 3255
+f 3299/5314/13267 3303/5218/13268 3244/5313/13269
+f 3244/5313/13269 3303/5218/13268 3302/5214/13270
+s 3256
+f 3303/5218/13271 3367/5315/13272 3245/5219/13273
+f 3245/5219/13273 3367/5315/13272 3368/5316/13274
+s 3257
+f 3245/5123/13275 3368/5317/13276 3246/5124/13277
+f 3246/5124/13277 3368/5317/13276 3369/5318/13278
+s 3258
+f 3246/5124/13279 3369/5318/13280 3247/5125/13281
+f 3247/5125/13281 3369/5318/13280 3430/5319/13282
+s 3259
+f 3301/5127/13283 3247/5126/13284 3370/5320/13285
+f 3370/5320/13285 3247/5126/13284 3431/5321/13286
+s 3260
+f 3248/5128/13287 3371/5322/13288 3258/5129/13289
+f 3258/5129/13289 3371/5322/13288 3385/5323/13290
+s 3261
+f 3248/5130/13291 3249/5131/13292 3371/5324/13293
+f 3371/5324/13293 3249/5131/13292 3372/5325/13294
+s 3262
+f 3249/5131/13295 3253/5132/13296 3372/5325/13297
+f 3372/5325/13297 3253/5132/13296 3376/5231/13298
+s 3263
+f 3304/5327/13299 3250/5232/13300 3373/5326/13301
+f 3373/5326/13301 3250/5232/13300 3377/5233/13302
+s 3264
+f 3188/5134/13303 3306/5137/13304 3307/5328/13305
+f 3307/5328/13305 3306/5137/13304 3435/5329/13306
+s 3265
+f 3306/5137/13307 3252/5136/13308 3316/5330/13309
+f 3316/5330/13309 3252/5136/13308 3196/5331/13310
+s 3266
+f 3310/5142/13311 3191/5058/13312 3380/5332/13313
+f 3380/5332/13313 3191/5058/13312 3311/5239/13314
+s 3267
+f 3313/5334/13315 3383/5335/13316 3257/5333/13317
+f 3257/5333/13317 3383/5335/13316 3382/5336/13318
+s 3268
+f 3313/5337/13319 3193/5244/13320 3378/5237/13321
+f 3378/5237/13321 3193/5244/13320 3309/5234/13322
+s 3269
+f 3194/5338/13323 3314/5339/13324 3254/5138/13325
+f 3254/5138/13325 3314/5339/13324 3377/5233/13326
+s 3270
+f 3258/5129/13327 3385/5323/13328 3316/5144/13329
+f 3316/5144/13329 3385/5323/13328 3443/5340/13330
+s 3271
+f 3260/5155/13331 3265/5154/13332 3386/5341/13333
+f 3386/5341/13333 3265/5154/13332 3448/5342/13334
+s 3272
+f 3260/5147/13335 3386/5343/13336 3261/5148/13337
+f 3261/5148/13337 3386/5343/13336 3387/5344/13338
+s 3273
+f 3261/5148/13339 3387/5344/13340 3262/5149/13341
+f 3262/5149/13341 3387/5344/13340 3388/5345/13342
+s 3274
+f 3262/5149/13343 3388/5345/13344 3263/5150/13345
+f 3263/5150/13345 3388/5345/13344 3449/5346/13346
+s 3275
+f 3264/5151/13347 3263/5150/13348 3389/5347/13349
+f 3389/5347/13349 3263/5150/13348 3449/5346/13350
+s 3276
+f 3264/5152/13351 3389/5348/13352 3322/5153/13353
+f 3322/5153/13353 3389/5348/13352 3450/5349/13354
+s 3277
+f 3266/5156/13355 3365/5207/13356 3267/5157/13357
+f 3267/5157/13357 3365/5207/13356 3390/5350/13358
+s 3278
+f 3267/5158/13359 3390/5351/13360 3268/5159/13361
+f 3268/5159/13361 3390/5351/13360 3391/5352/13362
+s 3279
+f 3268/5159/13363 3391/5352/13364 3269/5160/13365
+f 3269/5160/13365 3391/5352/13364 3392/5353/13366
+s 3280
+f 3269/5160/13367 3392/5353/13368 3270/5074/13369
+f 3270/5074/13369 3392/5353/13368 3340/5257/13370
+s 3281
+f 3323/5162/13371 3394/5354/13372 3210/5008/13373
+f 3210/5008/13373 3394/5354/13372 3331/5170/13374
+s 3282
+f 3272/5079/13375 3325/5163/13376 3395/5263/13377
+f 3395/5263/13377 3325/5163/13376 3452/5355/13378
+s 3283
+f 3206/5005/13379 3326/5165/13380 3325/5163/13381
+f 3325/5163/13381 3326/5165/13380 3453/5356/13382
+s 3284
+f 3326/5165/13383 3207/5164/13384 3396/5357/13385
+f 3396/5357/13385 3207/5164/13384 3327/5358/13386
+s 3285
+f 3273/5166/13387 3397/5359/13388 3327/5167/13389
+f 3327/5167/13389 3397/5359/13388 3455/5360/13390
+s 3286
+f 3209/5080/13391 3328/5261/13392 3330/5169/13393
+f 3330/5169/13393 3328/5261/13392 3456/5361/13394
+s 3287
+f 3274/5168/13395 3330/5169/13396 3362/5362/13397
+f 3362/5362/13397 3330/5169/13396 3424/5363/13398
+s 3288
+f 3273/5166/13399 3331/5170/13400 3397/5359/13401
+f 3397/5359/13401 3331/5170/13400 3459/5364/13402
+s 3289
+f 3333/5265/13403 3398/5365/13404 3275/5171/13405
+f 3275/5171/13405 3398/5365/13404 3463/5366/13406
+s 3290
+f 3276/5084/13407 3275/5171/13408 3399/5266/13409
+f 3399/5266/13409 3275/5171/13408 3463/5366/13410
+s 3291
+f 3271/5172/13411 3334/5174/13412 3393/5367/13413
+f 3393/5367/13413 3334/5174/13412 3464/5368/13414
+s 3292
+f 3277/5175/13415 3400/5274/13416 3332/5264/13417
+f 3332/5264/13417 3400/5274/13416 3461/5369/13418
+s 3293
+f 3279/5107/13419 3401/5300/13420 3280/5177/13421
+f 3280/5177/13421 3401/5300/13420 3402/5370/13422
+s 3294
+f 3344/5276/13423 3281/5178/13424 3403/5371/13425
+f 3403/5371/13425 3281/5178/13424 3404/5372/13426
+s 3295
+f 3281/5178/13427 3345/5179/13428 3404/5372/13429
+f 3404/5372/13429 3345/5179/13428 3474/5373/13430
+s 3296
+f 3164/5375/13431 3346/5376/13432 3345/5374/13433
+f 3345/5374/13433 3346/5376/13432 3475/5377/13434
+s 3297
+f 3282/5180/13435 3343/5181/13436 3406/5378/13437
+f 3406/5378/13437 3343/5181/13436 3472/5379/13438
+s 3298
+f 3347/5182/13439 3407/5380/13440 3226/5097/13441
+f 3226/5097/13441 3407/5380/13440 3349/5288/13442
+s 3299
+f 3228/5382/13443 3284/5284/13444 3350/5381/13445
+f 3350/5381/13445 3284/5284/13444 3410/5287/13446
+s 3300
+f 3348/5186/13447 3230/5383/13448 3409/5283/13449
+f 3409/5283/13449 3230/5383/13448 3353/5384/13450
+s 3301
+f 3288/5190/13451 3285/5187/13452 3412/5385/13453
+f 3412/5385/13453 3285/5187/13452 3413/5386/13454
+s 3302
+f 3285/5187/13455 3352/5188/13456 3413/5386/13457
+f 3413/5386/13457 3352/5188/13456 3480/5387/13458
+s 3303
+f 3229/5389/13459 3346/5277/13460 3352/5388/13461
+f 3352/5388/13461 3346/5277/13460 3405/5280/13462
+s 3304
+f 3353/5391/13463 3286/5392/13464 3414/5390/13465
+f 3414/5390/13465 3286/5392/13464 3415/5393/13466
+s 3305
+f 3355/5301/13467 3417/5394/13468 3290/5302/13469
+f 3290/5302/13469 3417/5394/13468 3418/5395/13470
+s 3306
+f 3290/5193/13471 3418/5396/13472 3291/5112/13473
+f 3291/5112/13473 3418/5396/13472 3419/5307/13474
+s 3307
+f 3360/5398/13475 3292/5399/13476 3420/5397/13477
+f 3420/5397/13477 3292/5399/13476 3293/5400/13478
+s 3308
+f 3361/5401/13479 3421/5402/13480 3293/5400/13481
+f 3293/5400/13481 3421/5402/13480 3420/5397/13482
+s 3309
+f 3296/5403/13483 3422/5404/13484 3295/5311/13485
+f 3295/5311/13485 3422/5404/13484 3364/5312/13486
+s 3310
+f 3363/5405/13487 3423/5406/13488 3296/5403/13489
+f 3296/5403/13489 3423/5406/13488 3422/5404/13490
+s 3311
+f 3362/5362/13491 3424/5363/13492 3297/5407/13493
+f 3297/5407/13493 3424/5363/13492 3425/5408/13494
+s 3312
+f 3297/5407/13495 3425/5408/13496 3363/5405/13497
+f 3363/5405/13497 3425/5408/13496 3423/5406/13498
+s 3313
+f 3364/5312/13499 3426/5409/13500 3298/5209/13501
+f 3298/5209/13501 3426/5409/13500 3427/5410/13502
+s 3314
+f 3298/5209/13503 3427/5410/13504 3365/5207/13505
+f 3365/5207/13505 3427/5410/13504 3390/5350/13506
+s 3315
+f 3303/5218/13507 3299/5314/13508 3367/5315/13509
+f 3367/5315/13509 3299/5314/13508 3428/5411/13510
+s 3316
+f 3299/5210/13511 3300/5211/13512 3428/5412/13513
+f 3428/5412/13513 3300/5211/13512 3429/5413/13514
+s 3317
+f 3300/5211/13515 3366/5212/13516 3429/5413/13517
+f 3429/5413/13517 3366/5212/13516 3490/5414/13518
+s 3318
+f 3301/5127/13519 3370/5320/13520 3366/5213/13521
+f 3366/5213/13521 3370/5320/13520 3491/5415/13522
+s 3319
+f 3304/5327/13523 3373/5326/13524 3432/5416/13525
+f 3432/5416/13525 3373/5326/13524 3499/5417/13526
+s 3320
+f 3305/5221/13527 3304/5220/13528 3433/5418/13529
+f 3433/5418/13529 3304/5220/13528 3432/5419/13530
+s 3321
+f 3374/5225/13531 3384/5420/13532 3252/5222/13533
+f 3252/5222/13533 3384/5420/13532 3196/5421/13534
+s 3322
+f 3374/5225/13535 3251/5224/13536 3434/5422/13537
+f 3434/5422/13537 3251/5224/13536 3375/5423/13538
+s 3323
+f 3305/5221/13539 3433/5418/13540 3375/5226/13541
+f 3375/5226/13541 3433/5418/13540 3501/5424/13542
+s 3324
+f 3306/5137/13543 3316/5330/13544 3435/5329/13545
+f 3435/5329/13545 3316/5330/13544 3443/5425/13546
+s 3325
+f 3308/5228/13547 3307/5227/13548 3436/5426/13549
+f 3436/5426/13549 3307/5227/13548 3502/5427/13550
+s 3326
+f 3308/5230/13551 3436/5428/13552 3376/5231/13553
+f 3376/5231/13553 3436/5428/13552 3498/5429/13554
+s 3327
+f 3255/5236/13555 3379/5430/13556 3378/5237/13557
+f 3378/5237/13557 3379/5430/13556 3440/5431/13558
+s 3328
+f 3310/5142/13559 3380/5332/13560 3379/5238/13561
+f 3379/5238/13561 3380/5332/13560 3503/5432/13562
+s 3329
+f 3380/5332/13563 3311/5239/13564 3437/5433/13565
+f 3437/5433/13565 3311/5239/13564 3438/5434/13566
+s 3330
+f 3311/5239/13567 3312/5240/13568 3438/5434/13569
+f 3438/5434/13569 3312/5240/13568 3439/5435/13570
+s 3331
+f 3312/5437/13571 3381/5438/13572 3439/5436/13573
+f 3439/5436/13573 3381/5438/13572 3504/5439/13574
+s 3332
+f 3256/5441/13575 3382/5336/13576 3381/5440/13577
+f 3381/5440/13577 3382/5336/13576 3505/5442/13578
+s 3333
+f 3383/5443/13579 3313/5337/13580 3440/5431/13581
+f 3440/5431/13581 3313/5337/13580 3378/5237/13582
+s 3334
+f 3314/5247/13583 3315/5248/13584 3441/5444/13585
+f 3441/5444/13585 3315/5248/13584 3442/5445/13586
+s 3335
+f 3315/5248/13587 3384/5249/13588 3442/5445/13589
+f 3442/5445/13589 3384/5249/13588 3500/5446/13590
+s 3336
+f 3317/5256/13591 3444/5447/13592 3265/5154/13593
+f 3265/5154/13593 3444/5447/13592 3448/5342/13594
+s 3337
+f 3317/5250/13595 3318/5251/13596 3444/5448/13597
+f 3444/5448/13597 3318/5251/13596 3445/5449/13598
+s 3338
+f 3318/5251/13599 3319/5252/13600 3445/5449/13601
+f 3445/5449/13601 3319/5252/13600 3446/5450/13602
+s 3339
+f 3319/5252/13603 3320/5253/13604 3446/5450/13605
+f 3446/5450/13605 3320/5253/13604 3509/5451/13606
+s 3340
+f 3321/5254/13607 3447/5452/13608 3320/5253/13609
+f 3320/5253/13609 3447/5452/13608 3509/5451/13610
+s 3341
+f 3321/5255/13611 3322/5153/13612 3447/5453/13613
+f 3447/5453/13613 3322/5153/13612 3450/5349/13614
+s 3342
+f 3323/5162/13615 3324/5454/13616 3394/5354/13617
+f 3394/5354/13617 3324/5454/13616 3451/5455/13618
+s 3343
+f 3324/5259/13619 3393/5260/13620 3451/5456/13621
+f 3451/5456/13621 3393/5260/13620 3516/5457/13622
+s 3344
+f 3326/5165/13623 3396/5357/13624 3453/5356/13625
+f 3453/5356/13625 3396/5357/13624 3518/5458/13626
+s 3345
+f 3396/5357/13627 3327/5358/13628 3454/5459/13629
+f 3454/5459/13629 3327/5358/13628 3455/5460/13630
+s 3346
+f 3328/5261/13631 3329/5262/13632 3457/5461/13633
+f 3457/5461/13633 3329/5262/13632 3458/5462/13634
+s 3347
+f 3329/5464/13635 3395/5465/13636 3458/5463/13637
+f 3458/5463/13637 3395/5465/13636 3517/5466/13638
+s 3348
+f 3394/5354/13639 3460/5467/13640 3331/5170/13641
+f 3331/5170/13641 3460/5467/13640 3459/5364/13642
+s 3349
+f 3332/5264/13643 3461/5369/13644 3333/5265/13645
+f 3333/5265/13645 3461/5369/13644 3462/5468/13646
+s 3350
+f 3333/5265/13647 3462/5468/13648 3398/5365/13649
+f 3398/5365/13649 3462/5468/13648 3520/5469/13650
+s 3351
+f 3334/5174/13651 3399/5266/13652 3464/5368/13653
+f 3464/5368/13653 3399/5266/13652 3522/5470/13654
+s 3352
+f 3336/5269/13655 3465/5471/13656 3335/5267/13657
+f 3335/5267/13657 3465/5471/13656 3466/5472/13658
+s 3353
+f 3335/5267/13659 3466/5472/13660 3342/5268/13661
+f 3342/5268/13661 3466/5472/13660 3471/5473/13662
+s 3354
+f 3337/5270/13663 3467/5474/13664 3336/5269/13665
+f 3336/5269/13665 3467/5474/13664 3465/5471/13666
+s 3355
+f 3338/5271/13667 3468/5475/13668 3337/5270/13669
+f 3337/5270/13669 3468/5475/13668 3467/5474/13670
+s 3356
+f 3339/5272/13671 3469/5476/13672 3338/5271/13673
+f 3338/5271/13673 3469/5476/13672 3468/5475/13674
+s 3357
+f 3341/5273/13675 3470/5477/13676 3339/5272/13677
+f 3339/5272/13677 3470/5477/13676 3469/5476/13678
+s 3358
+f 3340/5257/13679 3392/5353/13680 3341/5273/13681
+f 3341/5273/13681 3392/5353/13680 3470/5477/13682
+s 3359
+f 3342/5268/13683 3471/5473/13684 3400/5274/13685
+f 3400/5274/13685 3471/5473/13684 3523/5478/13686
+s 3360
+f 3343/5480/13687 3402/5370/13688 3472/5479/13689
+f 3472/5479/13689 3402/5370/13688 3525/5481/13690
+s 3361
+f 3403/5482/13691 3473/5483/13692 3344/5286/13693
+f 3344/5286/13693 3473/5483/13692 3410/5287/13694
+s 3362
+f 3282/5279/13695 3406/5484/13696 3405/5280/13697
+f 3405/5280/13697 3406/5484/13696 3529/5485/13698
+s 3363
+f 3347/5182/13699 3408/5281/13700 3407/5380/13701
+f 3407/5380/13701 3408/5281/13700 3531/5486/13702
+s 3364
+f 3283/5282/13703 3409/5283/13704 3408/5487/13705
+f 3408/5487/13705 3409/5283/13704 3481/5488/13706
+s 3365
+f 3407/5380/13707 3476/5489/13708 3349/5288/13709
+f 3349/5288/13709 3476/5489/13708 3477/5490/13710
+s 3366
+f 3349/5288/13711 3477/5490/13712 3354/5289/13713
+f 3354/5289/13713 3477/5490/13712 3482/5491/13714
+s 3367
+f 3350/5290/13715 3478/5492/13716 3351/5291/13717
+f 3351/5291/13717 3478/5492/13716 3479/5493/13718
+s 3368
+f 3351/5291/13719 3479/5493/13720 3411/5292/13721
+f 3411/5292/13721 3479/5493/13720 3532/5494/13722
+s 3369
+f 3229/5495/13723 3411/5496/13724 3346/5376/13725
+f 3346/5376/13725 3411/5496/13724 3475/5377/13726
+s 3370
+f 3288/5299/13727 3412/5497/13728 3401/5300/13729
+f 3401/5300/13729 3412/5497/13728 3524/5498/13730
+s 3371
+f 3409/5283/13731 3353/5384/13732 3481/5488/13733
+f 3481/5488/13733 3353/5384/13732 3414/5499/13734
+s 3372
+f 3287/5105/13735 3416/5298/13736 3415/5500/13737
+f 3415/5500/13737 3416/5298/13736 3537/5501/13738
+s 3373
+f 3354/5297/13739 3482/5502/13740 3416/5298/13741
+f 3416/5298/13741 3482/5502/13740 3538/5503/13742
+s 3374
+f 3417/5394/13743 3355/5301/13744 3483/5504/13745
+f 3483/5504/13745 3355/5301/13744 3484/5505/13746
+s 3375
+f 3355/5301/13747 3356/5195/13748 3484/5505/13749
+f 3484/5505/13749 3356/5195/13748 3359/5303/13750
+s 3376
+f 3361/5309/13751 3357/5304/13752 3485/5506/13753
+f 3485/5506/13753 3357/5304/13752 3486/5507/13754
+s 3377
+f 3357/5304/13755 3358/5305/13756 3486/5507/13757
+f 3486/5507/13757 3358/5305/13756 3541/5508/13758
+s 3378
+f 3419/5307/13759 3487/5509/13760 3358/5306/13761
+f 3358/5306/13761 3487/5509/13760 3541/5510/13762
+s 3379
+f 3360/5398/13763 3420/5397/13764 3359/5511/13765
+f 3359/5511/13765 3420/5397/13764 3484/5512/13766
+s 3380
+f 3421/5514/13767 3361/5309/13768 3488/5513/13769
+f 3488/5513/13769 3361/5309/13768 3485/5506/13770
+s 3381
+f 3422/5404/13771 3489/5515/13772 3364/5312/13773
+f 3364/5312/13773 3489/5515/13772 3426/5409/13774
+s 3382
+f 3367/5315/13775 3492/5516/13776 3368/5316/13777
+f 3368/5316/13777 3492/5516/13776 3493/5517/13778
+s 3383
+f 3368/5317/13779 3493/5518/13780 3369/5318/13781
+f 3369/5318/13781 3493/5518/13780 3494/5519/13782
+s 3384
+f 3247/5125/13783 3430/5319/13784 3431/5520/13785
+f 3431/5520/13785 3430/5319/13784 3549/5521/13786
+s 3385
+f 3369/5318/13787 3494/5519/13788 3430/5319/13789
+f 3430/5319/13789 3494/5519/13788 3550/5522/13790
+s 3386
+f 3370/5320/13791 3431/5321/13792 3495/5523/13793
+f 3495/5523/13793 3431/5321/13792 3551/5524/13794
+s 3387
+f 3371/5322/13795 3496/5525/13796 3385/5323/13797
+f 3385/5323/13797 3496/5525/13796 3552/5526/13798
+s 3388
+f 3372/5325/13799 3497/5527/13800 3371/5324/13801
+f 3371/5324/13801 3497/5527/13800 3496/5528/13802
+s 3389
+f 3376/5231/13803 3498/5429/13804 3372/5325/13805
+f 3372/5325/13805 3498/5429/13804 3497/5527/13806
+s 3390
+f 3373/5326/13807 3377/5233/13808 3441/5529/13809
+f 3441/5529/13809 3377/5233/13808 3314/5339/13810
+s 3391
+f 3384/5420/13811 3374/5225/13812 3500/5530/13813
+f 3500/5530/13813 3374/5225/13812 3434/5422/13814
+s 3392
+f 3375/5423/13815 3501/5531/13816 3434/5422/13817
+f 3434/5422/13817 3501/5531/13816 3555/5532/13818
+s 3393
+f 3307/5328/13819 3435/5329/13820 3502/5533/13821
+f 3502/5533/13821 3435/5329/13820 3556/5534/13822
+s 3394
+f 3380/5332/13823 3437/5433/13824 3503/5432/13825
+f 3503/5432/13825 3437/5433/13824 3558/5535/13826
+s 3395
+f 3383/5335/13827 3506/5536/13828 3382/5336/13829
+f 3382/5336/13829 3506/5536/13828 3505/5442/13830
+s 3396
+f 3440/5431/13831 3507/5537/13832 3383/5443/13833
+f 3383/5443/13833 3507/5537/13832 3506/5538/13834
+s 3397
+f 3443/5340/13835 3385/5323/13836 3508/5539/13837
+f 3508/5539/13837 3385/5323/13836 3552/5526/13838
+s 3398
+f 3386/5341/13839 3448/5342/13840 3510/5540/13841
+f 3510/5540/13841 3448/5342/13840 3567/5541/13842
+s 3399
+f 3387/5344/13843 3386/5343/13844 3511/5542/13845
+f 3511/5542/13845 3386/5343/13844 3510/5543/13846
+s 3400
+f 3387/5344/13847 3511/5542/13848 3388/5345/13849
+f 3388/5345/13849 3511/5542/13848 3568/5544/13850
+s 3401
+f 3449/5346/13851 3388/5345/13852 3512/5545/13853
+f 3512/5545/13853 3388/5345/13852 3568/5544/13854
+s 3402
+f 3389/5347/13855 3449/5346/13856 3513/5546/13857
+f 3513/5546/13857 3449/5346/13856 3512/5545/13858
+s 3403
+f 3450/5349/13859 3389/5348/13860 3514/5547/13861
+f 3514/5547/13861 3389/5348/13860 3513/5548/13862
+s 3404
+f 3391/5352/13863 3390/5351/13864 3515/5549/13865
+f 3515/5549/13865 3390/5351/13864 3427/5550/13866
+s 3405
+f 3391/5352/13867 3515/5549/13868 3392/5353/13869
+f 3392/5353/13869 3515/5549/13868 3470/5477/13870
+s 3406
+f 3395/5465/13871 3452/5551/13872 3517/5466/13873
+f 3517/5466/13873 3452/5551/13872 3570/5552/13874
+s 3407
+f 3325/5163/13875 3453/5356/13876 3452/5355/13877
+f 3452/5355/13877 3453/5356/13876 3571/5553/13878
+s 3408
+f 3396/5357/13879 3454/5459/13880 3518/5458/13881
+f 3518/5458/13881 3454/5459/13880 3572/5554/13882
+s 3409
+f 3397/5359/13883 3519/5555/13884 3455/5360/13885
+f 3455/5360/13885 3519/5555/13884 3573/5556/13886
+s 3410
+f 3330/5169/13887 3456/5361/13888 3424/5363/13889
+f 3424/5363/13889 3456/5361/13888 3544/5557/13890
+s 3411
+f 3328/5261/13891 3457/5461/13892 3456/5361/13893
+f 3456/5361/13893 3457/5461/13892 3574/5558/13894
+s 3412
+f 3397/5359/13895 3459/5364/13896 3519/5555/13897
+f 3519/5555/13897 3459/5364/13896 3576/5559/13898
+s 3413
+f 3394/5561/13899 3451/5562/13900 3460/5560/13901
+f 3460/5560/13901 3451/5562/13900 3569/5563/13902
+s 3414
+f 3463/5366/13903 3398/5365/13904 3521/5564/13905
+f 3521/5564/13905 3398/5365/13904 3579/5565/13906
+s 3415
+f 3399/5266/13907 3463/5366/13908 3522/5470/13909
+f 3522/5470/13909 3463/5366/13908 3521/5564/13910
+s 3416
+f 3393/5367/13911 3464/5368/13912 3516/5566/13913
+f 3516/5566/13913 3464/5368/13912 3580/5567/13914
+s 3417
+f 3400/5274/13915 3523/5478/13916 3461/5369/13917
+f 3461/5369/13917 3523/5478/13916 3575/5568/13918
+s 3418
+f 3401/5300/13919 3524/5498/13920 3402/5370/13921
+f 3402/5370/13921 3524/5498/13920 3525/5481/13922
+s 3419
+f 3403/5482/13923 3526/5569/13924 3473/5483/13925
+f 3473/5483/13925 3526/5569/13924 3584/5570/13926
+s 3420
+f 3404/5372/13927 3527/5571/13928 3403/5371/13929
+f 3403/5371/13929 3527/5571/13928 3526/5572/13930
+s 3421
+f 3404/5372/13931 3474/5373/13932 3527/5571/13933
+f 3527/5571/13933 3474/5373/13932 3585/5573/13934
+s 3422
+f 3474/5575/13935 3345/5374/13936 3528/5574/13937
+f 3528/5574/13937 3345/5374/13936 3475/5377/13938
+s 3423
+f 3405/5280/13939 3529/5485/13940 3352/5388/13941
+f 3352/5388/13941 3529/5485/13940 3480/5576/13942
+s 3424
+f 3472/5578/13943 3530/5579/13944 3406/5577/13945
+f 3406/5577/13945 3530/5579/13944 3586/5580/13946
+s 3425
+f 3350/5381/13947 3410/5287/13948 3478/5581/13949
+f 3478/5581/13949 3410/5287/13948 3473/5483/13950
+s 3426
+f 3407/5380/13951 3531/5486/13952 3476/5489/13953
+f 3476/5489/13953 3531/5486/13952 3587/5582/13954
+s 3427
+f 3412/5584/13955 3413/5585/13956 3533/5583/13957
+f 3533/5583/13957 3413/5585/13956 3592/5586/13958
+s 3428
+f 3480/5576/13959 3534/5588/13960 3413/5587/13961
+f 3413/5587/13961 3534/5588/13960 3592/5589/13962
+s 3429
+f 3481/5488/13963 3414/5499/13964 3535/5590/13965
+f 3535/5590/13965 3414/5499/13964 3536/5591/13966
+s 3430
+f 3414/5390/13967 3415/5393/13968 3536/5592/13969
+f 3536/5592/13969 3415/5393/13968 3537/5593/13970
+s 3431
+f 3483/5504/13971 3539/5594/13972 3417/5394/13973
+f 3417/5394/13973 3539/5594/13972 3540/5595/13974
+s 3432
+f 3417/5394/13975 3540/5595/13976 3418/5395/13977
+f 3418/5395/13977 3540/5595/13976 3595/5596/13978
+s 3433
+f 3419/5598/13979 3418/5395/13980 3487/5597/13981
+f 3487/5597/13981 3418/5395/13980 3595/5596/13982
+s 3434
+f 3420/5397/13983 3421/5402/13984 3484/5512/13985
+f 3484/5512/13985 3421/5402/13984 3483/5599/13986
+s 3435
+f 3421/5402/13987 3488/5600/13988 3483/5599/13989
+f 3483/5599/13989 3488/5600/13988 3539/5601/13990
+s 3436
+f 3423/5406/13991 3542/5602/13992 3422/5404/13993
+f 3422/5404/13993 3542/5602/13992 3489/5515/13994
+s 3437
+f 3425/5408/13995 3543/5603/13996 3423/5406/13997
+f 3423/5406/13997 3543/5603/13996 3542/5602/13998
+s 3438
+f 3424/5363/13999 3544/5557/14000 3425/5408/14001
+f 3425/5408/14001 3544/5557/14000 3543/5603/14002
+s 3439
+f 3489/5605/14003 3545/5606/14004 3426/5604/14005
+f 3426/5604/14005 3545/5606/14004 3546/5607/14006
+s 3440
+f 3426/5604/14007 3546/5607/14008 3427/5550/14009
+f 3427/5550/14009 3546/5607/14008 3515/5549/14010
+s 3441
+f 3367/5315/14011 3428/5411/14012 3492/5516/14013
+f 3492/5516/14013 3428/5411/14012 3599/5608/14014
+s 3442
+f 3429/5413/14015 3547/5609/14016 3428/5412/14017
+f 3428/5412/14017 3547/5609/14016 3599/5610/14018
+s 3443
+f 3490/5414/14019 3548/5611/14020 3429/5413/14021
+f 3429/5413/14021 3548/5611/14020 3547/5609/14022
+s 3444
+f 3366/5212/14023 3491/5612/14024 3490/5414/14025
+f 3490/5414/14025 3491/5612/14024 3600/5613/14026
+s 3445
+f 3370/5320/14027 3495/5523/14028 3491/5415/14029
+f 3491/5415/14029 3495/5523/14028 3601/5614/14030
+s 3446
+f 3433/5418/14031 3432/5419/14032 3553/5615/14033
+f 3553/5615/14033 3432/5419/14032 3554/5616/14034
+s 3447
+f 3432/5416/14035 3499/5417/14036 3554/5617/14037
+f 3554/5617/14037 3499/5417/14036 3608/5618/14038
+s 3448
+f 3373/5326/14039 3441/5529/14040 3499/5417/14041
+f 3499/5417/14041 3441/5529/14040 3561/5619/14042
+s 3449
+f 3434/5422/14043 3555/5532/14044 3500/5530/14045
+f 3500/5530/14045 3555/5532/14044 3562/5620/14046
+s 3450
+f 3433/5418/14047 3553/5615/14048 3501/5424/14049
+f 3501/5424/14049 3553/5615/14048 3609/5621/14050
+s 3451
+f 3435/5329/14051 3443/5425/14052 3556/5534/14053
+f 3556/5534/14053 3443/5425/14052 3508/5622/14054
+s 3452
+f 3436/5624/14055 3502/5625/14056 3557/5623/14057
+f 3557/5623/14057 3502/5625/14056 3610/5626/14058
+s 3453
+f 3436/5428/14059 3557/5627/14060 3498/5429/14061
+f 3498/5429/14061 3557/5627/14060 3607/5628/14062
+s 3454
+f 3379/5430/14063 3503/5629/14064 3440/5431/14065
+f 3440/5431/14065 3503/5629/14064 3507/5537/14066
+s 3455
+f 3438/5434/14067 3559/5630/14068 3437/5433/14069
+f 3437/5433/14069 3559/5630/14068 3612/5631/14070
+s 3456
+f 3438/5434/14071 3439/5435/14072 3559/5630/14073
+f 3559/5630/14073 3439/5435/14072 3613/5632/14074
+s 3457
+f 3504/5439/14075 3560/5633/14076 3439/5436/14077
+f 3439/5436/14077 3560/5633/14076 3613/5634/14078
+s 3458
+f 3381/5440/14079 3505/5442/14080 3504/5635/14081
+f 3504/5635/14081 3505/5442/14080 3614/5636/14082
+s 3459
+f 3441/5444/14083 3442/5445/14084 3561/5637/14085
+f 3561/5637/14085 3442/5445/14084 3617/5638/14086
+s 3460
+f 3500/5446/14087 3562/5639/14088 3442/5445/14089
+f 3442/5445/14089 3562/5639/14088 3617/5638/14090
+s 3461
+f 3444/5447/14091 3563/5640/14092 3448/5342/14093
+f 3448/5342/14093 3563/5640/14092 3567/5541/14094
+s 3462
+f 3445/5449/14095 3564/5641/14096 3444/5448/14097
+f 3444/5448/14097 3564/5641/14096 3563/5642/14098
+s 3463
+f 3445/5449/14099 3446/5450/14100 3564/5641/14101
+f 3564/5641/14101 3446/5450/14100 3620/5643/14102
+s 3464
+f 3509/5451/14103 3565/5644/14104 3446/5450/14105
+f 3446/5450/14105 3565/5644/14104 3620/5643/14106
+s 3465
+f 3447/5452/14107 3566/5645/14108 3509/5451/14109
+f 3509/5451/14109 3566/5645/14108 3565/5644/14110
+s 3466
+f 3450/5349/14111 3514/5547/14112 3447/5453/14113
+f 3447/5453/14113 3514/5547/14112 3566/5646/14114
+s 3467
+f 3451/5456/14115 3516/5457/14116 3569/5647/14117
+f 3569/5647/14117 3516/5457/14116 3626/5648/14118
+s 3468
+f 3453/5356/14119 3518/5458/14120 3571/5553/14121
+f 3571/5553/14121 3518/5458/14120 3628/5649/14122
+s 3469
+f 3454/5459/14123 3455/5460/14124 3572/5554/14125
+f 3572/5554/14125 3455/5460/14124 3573/5650/14126
+s 3470
+f 3458/5463/14127 3575/5568/14128 3457/5651/14129
+f 3457/5651/14129 3575/5568/14128 3523/5478/14130
+s 3471
+f 3458/5463/14131 3517/5466/14132 3575/5568/14133
+f 3575/5568/14133 3517/5466/14132 3627/5652/14134
+s 3472
+f 3460/5467/14135 3569/5653/14136 3459/5364/14137
+f 3459/5364/14137 3569/5653/14136 3576/5559/14138
+s 3473
+f 3461/5369/14139 3575/5568/14140 3462/5468/14141
+f 3462/5468/14141 3575/5568/14140 3627/5652/14142
+s 3474
+f 3520/5469/14143 3577/5654/14144 3398/5365/14145
+f 3398/5365/14145 3577/5654/14144 3579/5565/14146
+s 3475
+f 3520/5469/14147 3462/5468/14148 3578/5655/14149
+f 3578/5655/14149 3462/5468/14148 3627/5652/14150
+s 3476
+f 3464/5368/14151 3522/5470/14152 3580/5567/14153
+f 3580/5567/14153 3522/5470/14152 3632/5656/14154
+s 3477
+f 3467/5474/14155 3581/5657/14156 3465/5471/14157
+f 3465/5471/14157 3581/5657/14156 3582/5658/14158
+s 3478
+f 3465/5471/14159 3582/5658/14160 3466/5472/14161
+f 3466/5472/14161 3582/5658/14160 3583/5659/14162
+s 3479
+f 3466/5472/14163 3583/5659/14164 3471/5473/14165
+f 3471/5473/14165 3583/5659/14164 3574/5660/14166
+s 3480
+f 3468/5475/14167 3545/5606/14168 3467/5474/14169
+f 3467/5474/14169 3545/5606/14168 3581/5657/14170
+s 3481
+f 3469/5476/14171 3546/5607/14172 3468/5475/14173
+f 3468/5475/14173 3546/5607/14172 3545/5606/14174
+s 3482
+f 3470/5477/14175 3515/5549/14176 3469/5476/14177
+f 3469/5476/14177 3515/5549/14176 3546/5607/14178
+s 3483
+f 3471/5473/14179 3574/5660/14180 3523/5478/14181
+f 3523/5478/14181 3574/5660/14180 3457/5651/14182
+s 3484
+f 3472/5479/14183 3525/5481/14184 3530/5661/14185
+f 3530/5661/14185 3525/5481/14184 3634/5662/14186
+s 3485
+f 3474/5575/14187 3528/5574/14188 3585/5663/14189
+f 3585/5663/14189 3528/5574/14188 3637/5664/14190
+s 3486
+f 3528/5574/14191 3475/5377/14192 3532/5665/14193
+f 3532/5665/14193 3475/5377/14192 3411/5496/14194
+s 3487
+f 3406/5484/14195 3586/5666/14196 3529/5485/14197
+f 3529/5485/14197 3586/5666/14196 3593/5667/14198
+s 3488
+f 3408/5487/14199 3481/5488/14200 3531/5668/14201
+f 3531/5668/14201 3481/5488/14200 3535/5590/14202
+s 3489
+f 3473/5483/14203 3584/5570/14204 3478/5581/14205
+f 3478/5581/14205 3584/5570/14204 3589/5669/14206
+s 3490
+f 3477/5490/14207 3476/5489/14208 3588/5670/14209
+f 3588/5670/14209 3476/5489/14208 3640/5671/14210
+s 3491
+f 3477/5490/14211 3588/5670/14212 3482/5491/14213
+f 3482/5491/14213 3588/5670/14212 3641/5672/14214
+s 3492
+f 3478/5492/14215 3589/5673/14216 3479/5493/14217
+f 3479/5493/14217 3589/5673/14216 3642/5674/14218
+s 3493
+f 3532/5494/14219 3479/5493/14220 3590/5675/14221
+f 3590/5675/14221 3479/5493/14220 3642/5674/14222
+s 3494
+f 3524/5498/14223 3412/5497/14224 3591/5676/14225
+f 3591/5676/14225 3412/5497/14224 3533/5677/14226
+s 3495
+f 3529/5485/14227 3593/5667/14228 3480/5576/14229
+f 3480/5576/14229 3593/5667/14228 3534/5588/14230
+s 3496
+f 3416/5298/14231 3538/5503/14232 3537/5501/14233
+f 3537/5501/14233 3538/5503/14232 3649/5678/14234
+s 3497
+f 3538/5503/14235 3482/5502/14236 3594/5679/14237
+f 3594/5679/14237 3482/5502/14236 3641/5680/14238
+s 3498
+f 3485/5506/14239 3596/5681/14240 3488/5513/14241
+f 3488/5513/14241 3596/5681/14240 3650/5682/14242
+s 3499
+f 3485/5506/14243 3486/5507/14244 3596/5681/14245
+f 3596/5681/14245 3486/5507/14244 3597/5683/14246
+s 3500
+f 3486/5507/14247 3541/5508/14248 3597/5683/14249
+f 3597/5683/14249 3541/5508/14248 3652/5684/14250
+s 3501
+f 3487/5509/14251 3598/5685/14252 3541/5510/14253
+f 3541/5510/14253 3598/5685/14252 3653/5686/14254
+s 3502
+f 3542/5687/14255 3581/5657/14256 3489/5605/14257
+f 3489/5605/14257 3581/5657/14256 3545/5606/14258
+s 3503
+f 3490/5414/14259 3600/5613/14260 3548/5611/14261
+f 3548/5611/14261 3600/5613/14260 3657/5688/14262
+s 3504
+f 3493/5517/14263 3492/5516/14264 3602/5689/14265
+f 3602/5689/14265 3492/5516/14264 3659/5690/14266
+s 3505
+f 3494/5519/14267 3493/5518/14268 3603/5691/14269
+f 3603/5691/14269 3493/5518/14268 3658/5692/14270
+s 3506
+f 3431/5321/14271 3549/5693/14272 3551/5524/14273
+f 3551/5524/14273 3549/5693/14272 3660/5694/14274
+s 3507
+f 3430/5319/14275 3550/5522/14276 3549/5521/14277
+f 3549/5521/14277 3550/5522/14276 3660/5695/14278
+s 3508
+f 3494/5519/14279 3603/5691/14280 3550/5522/14281
+f 3550/5522/14281 3603/5691/14280 3661/5696/14282
+s 3509
+f 3495/5523/14283 3551/5524/14284 3604/5697/14285
+f 3604/5697/14285 3551/5524/14284 3662/5698/14286
+s 3510
+f 3497/5527/14287 3605/5699/14288 3496/5528/14289
+f 3496/5528/14289 3605/5699/14288 3606/5700/14290
+s 3511
+f 3496/5702/14291 3606/5703/14292 3552/5701/14293
+f 3552/5701/14293 3606/5703/14292 3663/5704/14294
+s 3512
+f 3498/5429/14295 3607/5628/14296 3497/5527/14297
+f 3497/5527/14297 3607/5628/14296 3605/5699/14298
+s 3513
+f 3501/5531/14299 3609/5705/14300 3555/5532/14301
+f 3555/5532/14301 3609/5705/14300 3666/5706/14302
+s 3514
+f 3502/5533/14303 3556/5534/14304 3610/5707/14305
+f 3610/5707/14305 3556/5534/14304 3618/5708/14306
+s 3515
+f 3503/5629/14307 3558/5709/14308 3507/5537/14309
+f 3507/5537/14309 3558/5709/14308 3616/5710/14310
+s 3516
+f 3558/5535/14311 3437/5433/14312 3611/5711/14313
+f 3611/5711/14313 3437/5433/14312 3612/5631/14314
+s 3517
+f 3504/5635/14315 3614/5636/14316 3560/5712/14317
+f 3560/5712/14317 3614/5636/14316 3668/5713/14318
+s 3518
+f 3506/5536/14319 3615/5714/14320 3505/5442/14321
+f 3505/5442/14321 3615/5714/14320 3614/5636/14322
+s 3519
+f 3507/5537/14323 3616/5710/14324 3506/5538/14325
+f 3506/5538/14325 3616/5710/14324 3615/5715/14326
+s 3520
+f 3556/5534/14327 3508/5622/14328 3618/5708/14329
+f 3618/5708/14329 3508/5622/14328 3619/5716/14330
+s 3521
+f 3508/5622/14331 3552/5717/14332 3619/5716/14333
+f 3619/5716/14333 3552/5717/14332 3663/5718/14334
+s 3522
+f 3511/5542/14335 3510/5543/14336 3621/5719/14337
+f 3621/5719/14337 3510/5543/14336 3622/5720/14338
+s 3523
+f 3510/5540/14339 3567/5541/14340 3622/5721/14341
+f 3622/5721/14341 3567/5541/14340 3675/5722/14342
+s 3524
+f 3511/5542/14343 3621/5719/14344 3568/5544/14345
+f 3568/5544/14345 3621/5719/14344 3623/5723/14346
+s 3525
+f 3568/5544/14347 3623/5723/14348 3512/5545/14349
+f 3512/5545/14349 3623/5723/14348 3676/5724/14350
+s 3526
+f 3513/5546/14351 3512/5545/14352 3624/5725/14353
+f 3624/5725/14353 3512/5545/14352 3676/5724/14354
+s 3527
+f 3514/5547/14355 3513/5548/14356 3625/5726/14357
+f 3625/5726/14357 3513/5548/14356 3624/5727/14358
+s 3528
+f 3517/5466/14359 3570/5552/14360 3627/5652/14361
+f 3627/5652/14361 3570/5552/14360 3578/5655/14362
+s 3529
+f 3452/5551/14363 3571/5728/14364 3570/5552/14365
+f 3570/5552/14365 3571/5728/14364 3677/5729/14366
+s 3530
+f 3518/5458/14367 3572/5554/14368 3628/5649/14369
+f 3628/5649/14369 3572/5554/14368 3678/5730/14370
+s 3531
+f 3573/5732/14371 3519/5733/14372 3629/5731/14373
+f 3629/5731/14373 3519/5733/14372 3630/5734/14374
+s 3532
+f 3456/5361/14375 3574/5558/14376 3544/5557/14377
+f 3544/5557/14377 3574/5558/14376 3583/5735/14378
+s 3533
+f 3519/5733/14379 3576/5736/14380 3630/5734/14381
+f 3630/5734/14381 3576/5736/14380 3679/5737/14382
+s 3534
+f 3577/5654/14383 3520/5469/14384 3631/5738/14385
+f 3631/5738/14385 3520/5469/14384 3578/5655/14386
+s 3535
+f 3522/5470/14387 3521/5564/14388 3632/5656/14389
+f 3632/5656/14389 3521/5564/14388 3633/5739/14390
+s 3536
+f 3521/5564/14391 3579/5565/14392 3633/5739/14393
+f 3633/5739/14393 3579/5565/14392 3682/5740/14394
+s 3537
+f 3516/5566/14395 3580/5567/14396 3626/5741/14397
+f 3626/5741/14397 3580/5567/14396 3683/5742/14398
+s 3538
+f 3525/5481/14399 3524/5498/14400 3634/5662/14401
+f 3634/5662/14401 3524/5498/14400 3591/5676/14402
+s 3539
+f 3527/5744/14403 3635/5745/14404 3526/5743/14405
+f 3526/5743/14405 3635/5745/14404 3636/5746/14406
+s 3540
+f 3526/5569/14407 3636/5747/14408 3584/5570/14409
+f 3584/5570/14409 3636/5747/14408 3684/5748/14410
+s 3541
+f 3527/5744/14411 3585/5749/14412 3635/5745/14413
+f 3635/5745/14413 3585/5749/14412 3685/5750/14414
+s 3542
+f 3528/5574/14415 3532/5665/14416 3637/5664/14417
+f 3637/5664/14417 3532/5665/14416 3590/5751/14418
+s 3543
+f 3530/5579/14419 3638/5752/14420 3586/5580/14421
+f 3586/5580/14421 3638/5752/14420 3686/5753/14422
+s 3544
+f 3587/5582/14423 3639/5754/14424 3476/5489/14425
+f 3476/5489/14425 3639/5754/14424 3640/5671/14426
+s 3545
+f 3531/5668/14427 3535/5590/14428 3587/5755/14429
+f 3587/5755/14429 3535/5590/14428 3647/5756/14430
+s 3546
+f 3591/5676/14431 3533/5677/14432 3643/5757/14433
+f 3643/5757/14433 3533/5677/14432 3644/5758/14434
+s 3547
+f 3533/5583/14435 3592/5586/14436 3644/5759/14437
+f 3644/5759/14437 3592/5586/14436 3691/5760/14438
+s 3548
+f 3593/5667/14439 3645/5761/14440 3534/5588/14441
+f 3534/5588/14441 3645/5761/14440 3646/5762/14442
+s 3549
+f 3534/5588/14443 3646/5762/14444 3592/5589/14445
+f 3592/5589/14445 3646/5762/14444 3691/5763/14446
+s 3550
+f 3535/5590/14447 3536/5591/14448 3647/5756/14449
+f 3647/5756/14449 3536/5591/14448 3648/5764/14450
+s 3551
+f 3536/5592/14451 3537/5593/14452 3648/5765/14453
+f 3648/5765/14453 3537/5593/14452 3649/5766/14454
+s 3552
+f 3538/5503/14455 3594/5679/14456 3649/5678/14457
+f 3649/5678/14457 3594/5679/14456 3692/5767/14458
+s 3553
+f 3488/5600/14459 3650/5768/14460 3539/5601/14461
+f 3539/5601/14461 3650/5768/14460 3693/5769/14462
+s 3554
+f 3540/5595/14463 3539/5594/14464 3651/5770/14465
+f 3651/5770/14465 3539/5594/14464 3693/5771/14466
+s 3555
+f 3540/5595/14467 3651/5770/14468 3595/5596/14469
+f 3595/5596/14469 3651/5770/14468 3694/5772/14470
+s 3556
+f 3487/5597/14471 3595/5596/14472 3598/5773/14473
+f 3598/5773/14473 3595/5596/14472 3695/5774/14474
+s 3557
+f 3543/5603/14475 3582/5775/14476 3542/5602/14477
+f 3542/5602/14477 3582/5775/14476 3581/5776/14478
+s 3558
+f 3544/5557/14479 3583/5735/14480 3543/5603/14481
+f 3543/5603/14481 3583/5735/14480 3582/5775/14482
+s 3559
+f 3599/5608/14483 3654/5777/14484 3492/5516/14485
+f 3492/5516/14485 3654/5777/14484 3659/5690/14486
+s 3560
+f 3548/5611/14487 3655/5778/14488 3547/5609/14489
+f 3547/5609/14489 3655/5778/14488 3656/5779/14490
+s 3561
+f 3547/5609/14491 3656/5779/14492 3599/5610/14493
+f 3599/5610/14493 3656/5779/14492 3701/5780/14494
+s 3562
+f 3600/5613/14495 3491/5612/14496 3657/5688/14497
+f 3657/5688/14497 3491/5612/14496 3601/5781/14498
+s 3563
+f 3495/5523/14499 3604/5697/14500 3601/5614/14501
+f 3601/5614/14501 3604/5697/14500 3703/5782/14502
+s 3564
+f 3493/5518/14503 3602/5783/14504 3658/5692/14505
+f 3658/5692/14505 3602/5783/14504 3704/5784/14506
+s 3565
+f 3553/5786/14507 3554/5787/14508 3664/5785/14509
+f 3664/5785/14509 3554/5787/14508 3665/5788/14510
+s 3566
+f 3554/5617/14511 3608/5618/14512 3665/5789/14513
+f 3665/5789/14513 3608/5618/14512 3714/5790/14514
+s 3567
+f 3499/5417/14515 3561/5619/14516 3608/5618/14517
+f 3608/5618/14517 3561/5619/14516 3669/5791/14518
+s 3568
+f 3555/5532/14519 3666/5706/14520 3562/5620/14521
+f 3562/5620/14521 3666/5706/14520 3670/5792/14522
+s 3569
+f 3553/5786/14523 3664/5785/14524 3609/5793/14525
+f 3609/5793/14525 3664/5785/14524 3715/5794/14526
+s 3570
+f 3557/5623/14527 3610/5626/14528 3667/5795/14529
+f 3667/5795/14529 3610/5626/14528 3716/5796/14530
+s 3571
+f 3557/5627/14531 3667/5797/14532 3607/5628/14533
+f 3607/5628/14533 3667/5797/14532 3711/5798/14534
+s 3572
+f 3558/5709/14535 3611/5799/14536 3616/5710/14537
+f 3616/5710/14537 3611/5799/14536 3717/5800/14538
+s 3573
+f 3559/5630/14539 3613/5632/14540 3612/5631/14541
+f 3612/5631/14541 3613/5632/14540 3718/5801/14542
+s 3574
+f 3560/5803/14543 3668/5804/14544 3613/5802/14545
+f 3613/5802/14545 3668/5804/14544 3718/5805/14546
+s 3575
+f 3561/5637/14547 3617/5638/14548 3669/5806/14549
+f 3669/5806/14549 3617/5638/14548 3720/5807/14550
+s 3576
+f 3562/5639/14551 3670/5808/14552 3617/5638/14553
+f 3617/5638/14553 3670/5808/14552 3720/5807/14554
+s 3577
+f 3564/5641/14555 3671/5809/14556 3563/5642/14557
+f 3563/5642/14557 3671/5809/14556 3672/5810/14558
+s 3578
+f 3563/5640/14559 3672/5811/14560 3567/5541/14561
+f 3567/5541/14561 3672/5811/14560 3675/5722/14562
+s 3579
+f 3564/5641/14563 3620/5643/14564 3671/5809/14565
+f 3671/5809/14565 3620/5643/14564 3674/5812/14566
+s 3580
+f 3566/5645/14567 3673/5813/14568 3565/5644/14569
+f 3565/5644/14569 3673/5813/14568 3723/5814/14570
+s 3581
+f 3620/5643/14571 3565/5644/14572 3674/5812/14573
+f 3674/5812/14573 3565/5644/14572 3723/5814/14574
+s 3582
+f 3514/5547/14575 3625/5726/14576 3566/5646/14577
+f 3566/5646/14577 3625/5726/14576 3673/5815/14578
+s 3583
+f 3569/5816/14579 3626/5817/14580 3576/5736/14581
+f 3576/5736/14581 3626/5817/14580 3679/5737/14582
+s 3584
+f 3571/5728/14583 3628/5818/14584 3677/5729/14585
+f 3677/5729/14585 3628/5818/14584 3729/5819/14586
+s 3585
+f 3572/5554/14587 3573/5650/14588 3678/5730/14589
+f 3678/5730/14589 3573/5650/14588 3629/5820/14590
+s 3586
+f 3631/5738/14591 3680/5821/14592 3577/5654/14593
+f 3577/5654/14593 3680/5821/14592 3681/5822/14594
+s 3587
+f 3577/5654/14595 3681/5822/14596 3579/5565/14597
+f 3579/5565/14597 3681/5822/14596 3682/5740/14598
+s 3588
+f 3631/5738/14599 3578/5655/14600 3677/5729/14601
+f 3677/5729/14601 3578/5655/14600 3570/5552/14602
+s 3589
+f 3580/5567/14603 3632/5656/14604 3683/5742/14605
+f 3683/5742/14605 3632/5656/14604 3733/5823/14606
+s 3590
+f 3530/5661/14607 3634/5662/14608 3638/5824/14609
+f 3638/5824/14609 3634/5662/14608 3690/5825/14610
+s 3591
+f 3585/5663/14611 3637/5664/14612 3685/5826/14613
+f 3685/5826/14613 3637/5664/14612 3688/5827/14614
+s 3592
+f 3586/5666/14615 3686/5828/14616 3593/5667/14617
+f 3593/5667/14617 3686/5828/14616 3645/5761/14618
+s 3593
+f 3584/5570/14619 3684/5748/14620 3589/5669/14621
+f 3589/5669/14621 3684/5748/14620 3687/5829/14622
+s 3594
+f 3587/5755/14623 3647/5756/14624 3639/5830/14625
+f 3639/5830/14625 3647/5756/14624 3738/5831/14626
+s 3595
+f 3588/5670/14627 3640/5671/14628 3641/5672/14629
+f 3641/5672/14629 3640/5671/14628 3739/5832/14630
+s 3596
+f 3589/5834/14631 3687/5835/14632 3642/5833/14633
+f 3642/5833/14633 3687/5835/14632 3740/5836/14634
+s 3597
+f 3637/5664/14635 3590/5751/14636 3688/5827/14637
+f 3688/5827/14637 3590/5751/14636 3689/5837/14638
+s 3598
+f 3590/5839/14639 3642/5833/14640 3689/5838/14641
+f 3689/5838/14641 3642/5833/14640 3740/5836/14642
+s 3599
+f 3634/5662/14643 3591/5676/14644 3690/5825/14645
+f 3690/5825/14645 3591/5676/14644 3643/5757/14646
+s 3600
+f 3594/5679/14647 3641/5680/14648 3692/5767/14649
+f 3692/5767/14649 3641/5680/14648 3739/5840/14650
+s 3601
+f 3650/5768/14651 3596/5842/14652 3696/5841/14653
+f 3696/5841/14653 3596/5842/14652 3697/5843/14654
+s 3602
+f 3596/5681/14655 3597/5683/14656 3697/5844/14657
+f 3697/5844/14657 3597/5683/14656 3698/5845/14658
+s 3603
+f 3597/5683/14659 3652/5684/14660 3698/5845/14661
+f 3698/5845/14661 3652/5684/14660 3750/5846/14662
+s 3604
+f 3541/5510/14663 3653/5686/14664 3652/5847/14665
+f 3652/5847/14665 3653/5686/14664 3751/5848/14666
+s 3605
+f 3598/5685/14667 3699/5849/14668 3653/5686/14669
+f 3653/5686/14669 3699/5849/14668 3752/5850/14670
+s 3606
+f 3599/5608/14671 3700/5851/14672 3654/5777/14673
+f 3654/5777/14673 3700/5851/14672 3753/5852/14674
+s 3607
+f 3548/5611/14675 3657/5688/14676 3655/5778/14677
+f 3655/5778/14677 3657/5688/14676 3702/5853/14678
+s 3608
+f 3657/5688/14679 3601/5781/14680 3702/5853/14681
+f 3702/5853/14681 3601/5781/14680 3757/5854/14682
+s 3609
+f 3659/5690/14683 3705/5855/14684 3602/5689/14685
+f 3602/5689/14685 3705/5855/14684 3759/5856/14686
+s 3610
+f 3658/5692/14687 3706/5857/14688 3603/5691/14689
+f 3603/5691/14689 3706/5857/14688 3661/5696/14690
+s 3611
+f 3660/5694/14691 3707/5858/14692 3551/5524/14693
+f 3551/5524/14693 3707/5858/14692 3760/5859/14694
+s 3612
+f 3550/5522/14695 3708/5860/14696 3660/5695/14697
+f 3660/5695/14697 3708/5860/14696 3707/5861/14698
+s 3613
+f 3550/5522/14699 3661/5696/14700 3708/5860/14701
+f 3708/5860/14701 3661/5696/14700 3761/5862/14702
+s 3614
+f 3604/5697/14703 3662/5698/14704 3709/5863/14705
+f 3709/5863/14705 3662/5698/14704 3762/5864/14706
+s 3615
+f 3551/5524/14707 3710/5865/14708 3662/5698/14709
+f 3662/5698/14709 3710/5865/14708 3763/5866/14710
+s 3616
+f 3607/5628/14711 3711/5798/14712 3605/5699/14713
+f 3605/5699/14713 3711/5798/14712 3712/5867/14714
+s 3617
+f 3605/5699/14715 3712/5867/14716 3606/5700/14717
+f 3606/5700/14717 3712/5867/14716 3713/5868/14718
+s 3618
+f 3606/5703/14719 3713/5869/14720 3663/5704/14721
+f 3663/5704/14721 3713/5869/14720 3764/5870/14722
+s 3619
+f 3609/5705/14723 3715/5871/14724 3666/5706/14725
+f 3666/5706/14725 3715/5871/14724 3766/5872/14726
+s 3620
+f 3610/5707/14727 3618/5708/14728 3716/5873/14729
+f 3716/5873/14729 3618/5708/14728 3721/5874/14730
+s 3621
+f 3611/5799/14731 3612/5875/14732 3717/5800/14733
+f 3717/5800/14733 3612/5875/14732 3718/5876/14734
+s 3622
+f 3668/5713/14735 3614/5636/14736 3719/5877/14737
+f 3719/5877/14737 3614/5636/14736 3615/5714/14738
+s 3623
+f 3615/5715/14739 3616/5710/14740 3719/5878/14741
+f 3719/5878/14741 3616/5710/14740 3717/5800/14742
+s 3624
+f 3618/5708/14743 3619/5716/14744 3721/5874/14745
+f 3721/5874/14745 3619/5716/14744 3722/5879/14746
+s 3625
+f 3619/5716/14747 3663/5718/14748 3722/5879/14749
+f 3722/5879/14749 3663/5718/14748 3764/5880/14750
+s 3626
+f 3621/5719/14751 3622/5720/14752 3724/5881/14753
+f 3724/5881/14753 3622/5720/14752 3725/5882/14754
+s 3627
+f 3622/5721/14755 3675/5722/14756 3725/5883/14757
+f 3725/5883/14757 3675/5722/14756 3776/5884/14758
+s 3628
+f 3621/5719/14759 3724/5881/14760 3623/5723/14761
+f 3623/5723/14761 3724/5881/14760 3726/5885/14762
+s 3629
+f 3623/5723/14763 3726/5885/14764 3676/5724/14765
+f 3676/5724/14765 3726/5885/14764 3777/5886/14766
+s 3630
+f 3624/5725/14767 3676/5724/14768 3727/5887/14769
+f 3727/5887/14769 3676/5724/14768 3777/5886/14770
+s 3631
+f 3625/5726/14771 3624/5727/14772 3728/5888/14773
+f 3728/5888/14773 3624/5727/14772 3727/5889/14774
+s 3632
+f 3628/5818/14775 3678/5890/14776 3729/5819/14777
+f 3729/5819/14777 3678/5890/14776 3730/5891/14778
+s 3633
+f 3678/5890/14779 3629/5892/14780 3730/5891/14781
+f 3730/5891/14781 3629/5892/14780 3731/5893/14782
+s 3634
+f 3629/5731/14783 3630/5734/14784 3731/5894/14785
+f 3731/5894/14785 3630/5734/14784 3778/5895/14786
+s 3635
+f 3679/5737/14787 3732/5896/14788 3630/5734/14789
+f 3630/5734/14789 3732/5896/14788 3778/5895/14790
+s 3636
+f 3680/5821/14791 3631/5738/14792 3729/5819/14793
+f 3729/5819/14793 3631/5738/14792 3677/5729/14794
+s 3637
+f 3632/5656/14795 3633/5739/14796 3733/5823/14797
+f 3733/5823/14797 3633/5739/14796 3734/5897/14798
+s 3638
+f 3633/5739/14799 3682/5740/14800 3734/5897/14801
+f 3734/5897/14801 3682/5740/14800 3781/5898/14802
+s 3639
+f 3626/5817/14803 3683/5899/14804 3679/5737/14805
+f 3679/5737/14805 3683/5899/14804 3732/5896/14806
+s 3640
+f 3635/5745/14807 3735/5900/14808 3636/5746/14809
+f 3636/5746/14809 3735/5900/14808 3736/5901/14810
+s 3641
+f 3636/5747/14811 3736/5902/14812 3684/5748/14813
+f 3684/5748/14813 3736/5902/14812 3782/5903/14814
+s 3642
+f 3635/5745/14815 3685/5750/14816 3735/5900/14817
+f 3735/5900/14817 3685/5750/14816 3783/5904/14818
+s 3643
+f 3638/5752/14819 3737/5905/14820 3686/5753/14821
+f 3686/5753/14821 3737/5905/14820 3744/5906/14822
+s 3644
+f 3639/5830/14823 3738/5831/14824 3640/5907/14825
+f 3640/5907/14825 3738/5831/14824 3739/5908/14826
+s 3645
+f 3690/5825/14827 3643/5757/14828 3741/5909/14829
+f 3741/5909/14829 3643/5757/14828 3742/5910/14830
+s 3646
+f 3643/5757/14831 3644/5758/14832 3742/5910/14833
+f 3742/5910/14833 3644/5758/14832 3743/5911/14834
+s 3647
+f 3644/5759/14835 3691/5760/14836 3743/5912/14837
+f 3743/5912/14837 3691/5760/14836 3787/5913/14838
+s 3648
+f 3686/5828/14839 3744/5914/14840 3645/5761/14841
+f 3645/5761/14841 3744/5914/14840 3745/5915/14842
+s 3649
+f 3645/5761/14843 3745/5915/14844 3646/5762/14845
+f 3646/5762/14845 3745/5915/14844 3746/5916/14846
+s 3650
+f 3646/5762/14847 3746/5916/14848 3691/5763/14849
+f 3691/5763/14849 3746/5916/14848 3787/5917/14850
+s 3651
+f 3648/5764/14851 3747/5918/14852 3647/5756/14853
+f 3647/5756/14853 3747/5918/14852 3738/5831/14854
+s 3652
+f 3648/5765/14855 3649/5766/14856 3747/5919/14857
+f 3747/5919/14857 3649/5766/14856 3692/5920/14858
+s 3653
+f 3650/5768/14859 3696/5841/14860 3693/5769/14861
+f 3693/5769/14861 3696/5841/14860 3788/5921/14862
+s 3654
+f 3651/5923/14863 3693/5769/14864 3748/5922/14865
+f 3748/5922/14865 3693/5769/14864 3788/5921/14866
+s 3655
+f 3595/5596/14867 3694/5772/14868 3695/5774/14869
+f 3695/5774/14869 3694/5772/14868 3789/5924/14870
+s 3656
+f 3694/5772/14871 3651/5770/14872 3749/5925/14873
+f 3749/5925/14873 3651/5770/14872 3748/5926/14874
+s 3657
+f 3598/5773/14875 3695/5774/14876 3699/5927/14877
+f 3699/5927/14877 3695/5774/14876 3790/5928/14878
+s 3658
+f 3599/5608/14879 3701/5929/14880 3700/5851/14881
+f 3700/5851/14881 3701/5929/14880 3795/5930/14882
+s 3659
+f 3654/5777/14883 3754/5931/14884 3659/5690/14885
+f 3659/5690/14885 3754/5931/14884 3705/5855/14886
+s 3660
+f 3655/5778/14887 3755/5932/14888 3656/5779/14889
+f 3656/5779/14889 3755/5932/14888 3756/5933/14890
+s 3661
+f 3656/5779/14891 3756/5933/14892 3701/5780/14893
+f 3701/5780/14893 3756/5933/14892 3798/5934/14894
+s 3662
+f 3601/5936/14895 3703/5937/14896 3758/5935/14897
+f 3758/5935/14897 3703/5937/14896 3799/5938/14898
+s 3663
+f 3604/5940/14899 3709/5941/14900 3703/5939/14901
+f 3703/5939/14901 3709/5941/14900 3800/5942/14902
+s 3664
+f 3658/5692/14903 3704/5784/14904 3706/5857/14905
+f 3706/5857/14905 3704/5784/14904 3801/5943/14906
+s 3665
+f 3602/5783/14907 3759/5944/14908 3704/5784/14909
+f 3704/5784/14909 3759/5944/14908 3802/5945/14910
+s 3666
+f 3661/5696/14911 3706/5857/14912 3761/5862/14913
+f 3761/5862/14913 3706/5857/14912 3807/5946/14914
+s 3667
+f 3551/5524/14915 3760/5859/14916 3710/5865/14917
+f 3710/5865/14917 3760/5859/14916 3809/5947/14918
+s 3668
+f 3665/5788/14919 3765/5948/14920 3664/5785/14921
+f 3664/5785/14921 3765/5948/14920 3812/5949/14922
+s 3669
+f 3665/5789/14923 3714/5790/14924 3765/5950/14925
+f 3765/5950/14925 3714/5790/14924 3813/5951/14926
+s 3670
+f 3608/5618/14927 3669/5791/14928 3714/5790/14929
+f 3714/5790/14929 3669/5791/14928 3770/5952/14930
+s 3671
+f 3666/5706/14931 3766/5872/14932 3670/5792/14933
+f 3670/5792/14933 3766/5872/14932 3771/5953/14934
+s 3672
+f 3715/5794/14935 3664/5785/14936 3767/5954/14937
+f 3767/5954/14937 3664/5785/14936 3812/5949/14938
+s 3673
+f 3716/5796/14939 3768/5955/14940 3667/5795/14941
+f 3667/5795/14941 3768/5955/14940 3814/5956/14942
+s 3674
+f 3711/5798/14943 3667/5797/14944 3769/5957/14945
+f 3769/5957/14945 3667/5797/14944 3814/5958/14946
+s 3675
+f 3719/5877/14947 3717/5959/14948 3668/5713/14949
+f 3668/5713/14949 3717/5959/14948 3718/5960/14950
+s 3676
+f 3669/5962/14951 3720/5963/14952 3770/5961/14953
+f 3770/5961/14953 3720/5963/14952 3815/5964/14954
+s 3677
+f 3670/5965/14955 3771/5966/14956 3720/5963/14957
+f 3720/5963/14957 3771/5966/14956 3815/5964/14958
+s 3678
+f 3671/5809/14959 3772/5967/14960 3672/5810/14961
+f 3672/5810/14961 3772/5967/14960 3773/5968/14962
+s 3679
+f 3672/5811/14963 3773/5969/14964 3675/5722/14965
+f 3675/5722/14965 3773/5969/14964 3776/5884/14966
+s 3680
+f 3671/5809/14967 3674/5812/14968 3772/5967/14969
+f 3772/5967/14969 3674/5812/14968 3775/5970/14970
+s 3681
+f 3625/5726/14971 3728/5888/14972 3673/5815/14973
+f 3673/5815/14973 3728/5888/14972 3774/5971/14974
+s 3682
+f 3673/5813/14975 3774/5972/14976 3723/5814/14977
+f 3723/5814/14977 3774/5972/14976 3817/5973/14978
+s 3683
+f 3674/5812/14979 3723/5814/14980 3775/5970/14981
+f 3775/5970/14981 3723/5814/14980 3817/5973/14982
+s 3684
+f 3729/5819/14983 3730/5891/14984 3680/5821/14985
+f 3680/5821/14985 3730/5891/14984 3779/5974/14986
+s 3685
+f 3680/5821/14987 3779/5974/14988 3681/5822/14989
+f 3681/5822/14989 3779/5974/14988 3780/5975/14990
+s 3686
+f 3681/5822/14991 3780/5975/14992 3682/5740/14993
+f 3682/5740/14993 3780/5975/14992 3781/5898/14994
+s 3687
+f 3683/5742/14995 3733/5823/14996 3732/5976/14997
+f 3732/5976/14997 3733/5823/14996 3824/5977/14998
+s 3688
+f 3638/5824/14999 3690/5825/15000 3737/5978/15001
+f 3737/5978/15001 3690/5825/15000 3741/5909/15002
+s 3689
+f 3685/5826/15003 3688/5827/15004 3783/5979/15005
+f 3783/5979/15005 3688/5827/15004 3785/5980/15006
+s 3690
+f 3684/5748/15007 3782/5903/15008 3687/5829/15009
+f 3687/5829/15009 3782/5903/15008 3784/5981/15010
+s 3691
+f 3687/5835/15011 3784/5982/15012 3740/5836/15013
+f 3740/5836/15013 3784/5982/15012 3829/5983/15014
+s 3692
+f 3688/5827/15015 3689/5837/15016 3785/5980/15017
+f 3785/5980/15017 3689/5837/15016 3786/5984/15018
+s 3693
+f 3689/5838/15019 3740/5836/15020 3786/5985/15021
+f 3786/5985/15021 3740/5836/15020 3829/5983/15022
+s 3694
+f 3747/5919/15023 3692/5920/15024 3738/5986/15025
+f 3738/5986/15025 3692/5920/15024 3739/5987/15026
+s 3695
+f 3694/5772/15027 3749/5925/15028 3789/5924/15029
+f 3789/5924/15029 3749/5925/15028 3836/5988/15030
+s 3696
+f 3697/5843/15031 3791/5989/15032 3696/5841/15033
+f 3696/5841/15033 3791/5989/15032 3837/5990/15034
+s 3697
+f 3697/5844/15035 3698/5845/15036 3792/5991/15037
+f 3792/5991/15037 3698/5845/15036 3793/5992/15038
+s 3698
+f 3698/5845/15039 3750/5846/15040 3793/5992/15041
+f 3793/5992/15041 3750/5846/15040 3838/5993/15042
+s 3699
+f 3652/5684/15043 3751/5994/15044 3750/5846/15045
+f 3750/5846/15045 3751/5994/15044 3839/5995/15046
+s 3700
+f 3653/5686/15047 3752/5850/15048 3751/5848/15049
+f 3751/5848/15049 3752/5850/15048 3839/5996/15050
+s 3701
+f 3699/5849/15051 3794/5997/15052 3752/5850/15053
+f 3752/5850/15053 3794/5997/15052 3840/5998/15054
+s 3702
+f 3654/6000/15055 3753/6001/15056 3754/5999/15057
+f 3754/5999/15057 3753/6001/15056 3842/6002/15058
+s 3703
+f 3753/6001/15059 3700/6004/15060 3796/6003/15061
+f 3796/6003/15061 3700/6004/15060 3841/6005/15062
+s 3704
+f 3702/5853/15063 3797/6006/15064 3655/5778/15065
+f 3655/5778/15065 3797/6006/15064 3755/5932/15066
+s 3705
+f 3702/6008/15067 3757/6009/15068 3797/6007/15069
+f 3797/6007/15069 3757/6009/15068 3846/6010/15070
+s 3706
+f 3601/6011/15071 3758/6012/15072 3757/6009/15073
+f 3757/6009/15073 3758/6012/15072 3847/6013/15074
+s 3707
+f 3754/5931/15075 3803/6014/15076 3705/5855/15077
+f 3705/5855/15077 3803/6014/15076 3804/6015/15078
+s 3708
+f 3705/5855/15079 3804/6015/15080 3759/5856/15081
+f 3759/5856/15081 3804/6015/15080 3850/6016/15082
+s 3709
+f 3708/6018/15083 3805/6019/15084 3707/6017/15085
+f 3707/6017/15085 3805/6019/15084 3806/6020/15086
+s 3710
+f 3707/5858/15087 3806/6021/15088 3760/5859/15089
+f 3760/5859/15089 3806/6021/15088 3852/6022/15090
+s 3711
+f 3708/5860/15091 3761/5862/15092 3805/6023/15093
+f 3805/6023/15093 3761/5862/15092 3853/6024/15094
+s 3712
+f 3709/5941/15095 3762/6026/15096 3808/6025/15097
+f 3808/6025/15097 3762/6026/15096 3855/6027/15098
+s 3713
+f 3662/6029/15099 3763/6030/15100 3762/6028/15101
+f 3762/6028/15101 3763/6030/15100 3856/6031/15102
+s 3714
+f 3763/6030/15103 3710/6033/15104 3810/6032/15105
+f 3810/6032/15105 3710/6033/15104 3858/6034/15106
+s 3715
+f 3711/5798/15107 3769/5957/15108 3712/5867/15109
+f 3712/5867/15109 3769/5957/15108 3859/6035/15110
+s 3716
+f 3713/5868/15111 3712/5867/15112 3811/6036/15113
+f 3811/6036/15113 3712/5867/15112 3859/6035/15114
+s 3717
+f 3713/5869/15115 3811/6037/15116 3764/5870/15117
+f 3764/5870/15117 3811/6037/15116 3860/6038/15118
+s 3718
+f 3715/5871/15119 3767/6039/15120 3766/5872/15121
+f 3766/5872/15121 3767/6039/15120 3863/6040/15122
+s 3719
+f 3716/5873/15123 3721/5874/15124 3768/6041/15125
+f 3768/6041/15125 3721/5874/15124 3864/6042/15126
+s 3720
+f 3722/5879/15127 3816/6043/15128 3721/5874/15129
+f 3721/5874/15129 3816/6043/15128 3864/6042/15130
+s 3721
+f 3722/5879/15131 3764/5880/15132 3816/6043/15133
+f 3816/6043/15133 3764/5880/15132 3860/6044/15134
+s 3722
+f 3724/5881/15135 3725/5882/15136 3818/6045/15137
+f 3818/6045/15137 3725/5882/15136 3819/6046/15138
+s 3723
+f 3725/5883/15139 3776/5884/15140 3819/6047/15141
+f 3819/6047/15141 3776/5884/15140 3869/6048/15142
+s 3724
+f 3724/5881/15143 3818/6045/15144 3726/5885/15145
+f 3726/5885/15145 3818/6045/15144 3870/6049/15146
+s 3725
+f 3777/5886/15147 3726/5885/15148 3820/6050/15149
+f 3820/6050/15149 3726/5885/15148 3870/6049/15150
+s 3726
+f 3728/5888/15151 3727/5889/15152 3821/6051/15153
+f 3821/6051/15153 3727/5889/15152 3822/6052/15154
+s 3727
+f 3727/5887/15155 3777/5886/15156 3822/6053/15157
+f 3822/6053/15157 3777/5886/15156 3820/6050/15158
+s 3728
+f 3730/5891/15159 3731/5893/15160 3779/5974/15161
+f 3779/5974/15161 3731/5893/15160 3823/6054/15162
+s 3729
+f 3731/5893/15163 3778/6055/15164 3823/6054/15165
+f 3823/6054/15165 3778/6055/15164 3871/6056/15166
+s 3730
+f 3732/5976/15167 3824/5977/15168 3778/6055/15169
+f 3778/6055/15169 3824/5977/15168 3871/6056/15170
+s 3731
+f 3733/5823/15171 3734/5897/15172 3824/5977/15173
+f 3824/5977/15173 3734/5897/15172 3825/6057/15174
+s 3732
+f 3734/5897/15175 3781/5898/15176 3825/6057/15177
+f 3825/6057/15177 3781/5898/15176 3873/6058/15178
+s 3733
+f 3736/5901/15179 3735/5900/15180 3826/6059/15181
+f 3826/6059/15181 3735/5900/15180 3874/6060/15182
+s 3734
+f 3736/5902/15183 3826/6061/15184 3782/5903/15185
+f 3782/5903/15185 3826/6061/15184 3875/6062/15186
+s 3735
+f 3783/5904/15187 3827/6063/15188 3735/5900/15189
+f 3735/5900/15189 3827/6063/15188 3874/6060/15190
+s 3736
+f 3744/5906/15191 3737/5905/15192 3828/6064/15193
+f 3828/6064/15193 3737/5905/15192 3876/6065/15194
+s 3737
+f 3741/5909/15195 3830/6066/15196 3737/5978/15197
+f 3737/5978/15197 3830/6066/15196 3876/6067/15198
+s 3738
+f 3741/5909/15199 3742/5910/15200 3830/6066/15201
+f 3830/6066/15201 3742/5910/15200 3879/6068/15202
+s 3739
+f 3743/5911/15203 3831/6069/15204 3742/5910/15205
+f 3742/5910/15205 3831/6069/15204 3879/6068/15206
+s 3740
+f 3743/5912/15207 3787/5913/15208 3831/6070/15209
+f 3831/6070/15209 3787/5913/15208 3880/6071/15210
+s 3741
+f 3744/5914/15211 3828/6072/15212 3745/5915/15213
+f 3745/5915/15213 3828/6072/15212 3881/6073/15214
+s 3742
+f 3746/5916/15215 3745/5915/15216 3832/6074/15217
+f 3832/6074/15217 3745/5915/15216 3881/6073/15218
+s 3743
+f 3746/5916/15219 3832/6074/15220 3787/5917/15221
+f 3787/5917/15221 3832/6074/15220 3880/6075/15222
+s 3744
+f 3788/5921/15223 3696/5841/15224 3833/6076/15225
+f 3833/6076/15225 3696/5841/15224 3837/5990/15226
+s 3745
+f 3749/5925/15227 3748/5926/15228 3834/6077/15229
+f 3834/6077/15229 3748/5926/15228 3835/6078/15230
+s 3746
+f 3748/5922/15231 3788/5921/15232 3835/6079/15233
+f 3835/6079/15233 3788/5921/15232 3883/6080/15234
+s 3747
+f 3789/5924/15235 3836/5988/15236 3695/5774/15237
+f 3695/5774/15237 3836/5988/15236 3790/5928/15238
+s 3748
+f 3699/5927/15239 3790/5928/15240 3794/6081/15241
+f 3794/6081/15241 3790/5928/15240 3884/6082/15242
+s 3749
+f 3697/5844/15243 3792/5991/15244 3791/6083/15245
+f 3791/6083/15245 3792/5991/15244 3886/6084/15246
+s 3750
+f 3700/6004/15247 3795/6085/15248 3841/6005/15249
+f 3841/6005/15249 3795/6085/15248 3893/6086/15250
+s 3751
+f 3701/5929/15251 3798/6087/15252 3795/5930/15253
+f 3795/5930/15253 3798/6087/15252 3894/6088/15254
+s 3752
+f 3753/6001/15255 3796/6003/15256 3842/6002/15257
+f 3842/6002/15257 3796/6003/15256 3895/6089/15258
+s 3753
+f 3797/6091/15259 3843/6092/15260 3755/6090/15261
+f 3755/6090/15261 3843/6092/15260 3844/6093/15262
+s 3754
+f 3755/5932/15263 3844/6094/15264 3756/5933/15265
+f 3756/5933/15265 3844/6094/15264 3845/6095/15266
+s 3755
+f 3756/5933/15267 3845/6095/15268 3798/5934/15269
+f 3798/5934/15269 3845/6095/15268 3897/6096/15270
+s 3756
+f 3799/5938/15271 3848/6097/15272 3758/5935/15273
+f 3758/5935/15273 3848/6097/15272 3841/6098/15274
+s 3757
+f 3703/5937/15275 3800/6099/15276 3799/5938/15277
+f 3799/5938/15277 3800/6099/15276 3898/6100/15278
+s 3758
+f 3709/5941/15279 3808/6025/15280 3800/5942/15281
+f 3800/5942/15281 3808/6025/15280 3899/6101/15282
+s 3759
+f 3801/5943/15283 3849/6102/15284 3706/5857/15285
+f 3706/5857/15285 3849/6102/15284 3854/6103/15286
+s 3760
+f 3704/5784/15287 3802/5945/15288 3801/5943/15289
+f 3801/5943/15289 3802/5945/15288 3900/6104/15290
+s 3761
+f 3759/5944/15291 3850/6105/15292 3802/5945/15293
+f 3802/5945/15293 3850/6105/15292 3901/6106/15294
+s 3762
+f 3803/6108/15295 3754/5999/15296 3851/6107/15297
+f 3851/6107/15297 3754/5999/15296 3842/6002/15298
+s 3763
+f 3761/5862/15299 3807/5946/15300 3853/6024/15301
+f 3853/6024/15301 3807/5946/15300 3906/6109/15302
+s 3764
+f 3706/6111/15303 3854/6112/15304 3807/6110/15305
+f 3807/6110/15305 3854/6112/15304 3907/6113/15306
+s 3765
+f 3809/6115/15307 3857/6116/15308 3710/6114/15309
+f 3710/6114/15309 3857/6116/15308 3858/6117/15310
+s 3766
+f 3760/6118/15311 3852/6119/15312 3809/6115/15313
+f 3809/6115/15313 3852/6119/15312 3909/6120/15314
+s 3767
+f 3763/6030/15315 3810/6032/15316 3856/6031/15317
+f 3856/6031/15317 3810/6032/15316 3910/6121/15318
+s 3768
+f 3765/5950/15319 3813/5951/15320 3812/6122/15321
+f 3812/6122/15321 3813/5951/15320 3911/6123/15322
+s 3769
+f 3813/5951/15323 3714/5790/15324 3861/6124/15325
+f 3861/6124/15325 3714/5790/15324 3770/5952/15326
+s 3770
+f 3771/5953/15327 3766/5872/15328 3862/6125/15329
+f 3862/6125/15329 3766/5872/15328 3863/6040/15330
+s 3771
+f 3767/5954/15331 3812/5949/15332 3863/6126/15333
+f 3863/6126/15333 3812/5949/15332 3911/6127/15334
+s 3772
+f 3768/5955/15335 3864/6128/15336 3814/5956/15337
+f 3814/5956/15337 3864/6128/15336 3913/6129/15338
+s 3773
+f 3769/5957/15339 3814/5958/15340 3859/6035/15341
+f 3859/6035/15341 3814/5958/15340 3913/6130/15342
+s 3774
+f 3770/5961/15343 3815/5964/15344 3861/6131/15345
+f 3861/6131/15345 3815/5964/15344 3912/6132/15346
+s 3775
+f 3771/5966/15347 3862/6133/15348 3815/5964/15349
+f 3815/5964/15349 3862/6133/15348 3912/6132/15350
+s 3776
+f 3772/5967/15351 3865/6134/15352 3773/5968/15353
+f 3773/5968/15353 3865/6134/15352 3866/6135/15354
+s 3777
+f 3773/5969/15355 3866/6136/15356 3776/5884/15357
+f 3776/5884/15357 3866/6136/15356 3869/6048/15358
+s 3778
+f 3772/5967/15359 3775/5970/15360 3865/6134/15361
+f 3865/6134/15361 3775/5970/15360 3914/6137/15362
+s 3779
+f 3728/5888/15363 3821/6051/15364 3774/5971/15365
+f 3774/5971/15365 3821/6051/15364 3867/6138/15366
+s 3780
+f 3774/5972/15367 3867/6139/15368 3817/5973/15369
+f 3817/5973/15369 3867/6139/15368 3868/6140/15370
+s 3781
+f 3817/5973/15371 3868/6140/15372 3775/5970/15373
+f 3775/5970/15373 3868/6140/15372 3914/6137/15374
+s 3782
+f 3779/5974/15375 3823/6054/15376 3780/5975/15377
+f 3780/5975/15377 3823/6054/15376 3872/6141/15378
+s 3783
+f 3780/5975/15379 3872/6141/15380 3781/5898/15381
+f 3781/5898/15381 3872/6141/15380 3873/6058/15382
+s 3784
+f 3783/5979/15383 3785/5980/15384 3827/6142/15385
+f 3827/6142/15385 3785/5980/15384 3920/6143/15386
+s 3785
+f 3784/5981/15387 3782/5903/15388 3877/6144/15389
+f 3877/6144/15389 3782/5903/15388 3875/6062/15390
+s 3786
+f 3784/5982/15391 3877/6145/15392 3829/5983/15393
+f 3829/5983/15393 3877/6145/15392 3921/6146/15394
+s 3787
+f 3786/5984/15395 3878/6147/15396 3785/5980/15397
+f 3785/5980/15397 3878/6147/15396 3920/6143/15398
+s 3788
+f 3786/5985/15399 3829/5983/15400 3878/6148/15401
+f 3878/6148/15401 3829/5983/15400 3921/6146/15402
+s 3789
+f 3788/5921/15403 3833/6076/15404 3882/6149/15405
+f 3882/6149/15405 3833/6076/15404 3922/6150/15406
+s 3790
+f 3749/5925/15407 3834/6077/15408 3836/5988/15409
+f 3836/5988/15409 3834/6077/15408 3885/6151/15410
+s 3791
+f 3836/5988/15411 3885/6151/15412 3790/5928/15413
+f 3790/5928/15413 3885/6151/15412 3927/6152/15414
+s 3792
+f 3791/5989/15415 3887/6153/15416 3837/5990/15417
+f 3837/5990/15417 3887/6153/15416 3930/6154/15418
+s 3793
+f 3792/5991/15419 3793/5992/15420 3888/6155/15421
+f 3888/6155/15421 3793/5992/15420 3838/5993/15422
+s 3794
+f 3750/5846/15423 3889/6156/15424 3838/5993/15425
+f 3838/5993/15425 3889/6156/15424 3931/6157/15426
+s 3795
+f 3750/6159/15427 3839/5996/15428 3889/6158/15429
+f 3889/6158/15429 3839/5996/15428 3890/6160/15430
+s 3796
+f 3839/5996/15431 3752/5850/15432 3890/6160/15433
+f 3890/6160/15433 3752/5850/15432 3932/6161/15434
+s 3797
+f 3752/5850/15435 3840/5998/15436 3891/6162/15437
+f 3891/6162/15437 3840/5998/15436 3933/6163/15438
+s 3798
+f 3794/5997/15439 3892/6164/15440 3840/5998/15441
+f 3840/5998/15441 3892/6164/15440 3934/6165/15442
+s 3799
+f 3841/6005/15443 3896/6166/15444 3796/6003/15445
+f 3796/6003/15445 3896/6166/15444 3937/6167/15446
+s 3800
+f 3797/6091/15447 3846/6168/15448 3843/6092/15449
+f 3843/6092/15449 3846/6168/15448 3938/6169/15450
+s 3801
+f 3757/6009/15451 3847/6013/15452 3846/6010/15453
+f 3846/6010/15453 3847/6013/15452 3941/6170/15454
+s 3802
+f 3758/6012/15455 3841/6171/15456 3847/6013/15457
+f 3847/6013/15457 3841/6171/15456 3893/6172/15458
+s 3803
+f 3799/5938/15459 3898/6100/15460 3848/6097/15461
+f 3848/6097/15461 3898/6100/15460 3942/6173/15462
+s 3804
+f 3801/5943/15463 3900/6104/15464 3849/6102/15465
+f 3849/6102/15465 3900/6104/15464 3944/6174/15466
+s 3805
+f 3803/6014/15467 3851/6176/15468 3902/6175/15469
+f 3902/6175/15469 3851/6176/15468 3945/6177/15470
+s 3806
+f 3803/6014/15471 3902/6175/15472 3804/6015/15473
+f 3804/6015/15473 3902/6175/15472 3946/6178/15474
+s 3807
+f 3850/6016/15475 3804/6015/15476 3903/6179/15477
+f 3903/6179/15477 3804/6015/15476 3946/6178/15478
+s 3808
+f 3806/6020/15479 3805/6019/15480 3904/6180/15481
+f 3904/6180/15481 3805/6019/15480 3905/6181/15482
+s 3809
+f 3806/6020/15483 3904/6180/15484 3852/6182/15485
+f 3852/6182/15485 3904/6180/15484 3947/6183/15486
+s 3810
+f 3805/6023/15487 3853/6024/15488 3905/6184/15489
+f 3905/6184/15489 3853/6024/15488 3948/6185/15490
+s 3811
+f 3855/6027/15491 3908/6186/15492 3808/6025/15493
+f 3808/6025/15493 3908/6186/15492 3950/6187/15494
+s 3812
+f 3762/6028/15495 3856/6031/15496 3855/6188/15497
+f 3855/6188/15497 3856/6031/15496 3949/6189/15498
+s 3813
+f 3809/6115/15499 3909/6120/15500 3857/6116/15501
+f 3857/6116/15501 3909/6120/15500 3951/6190/15502
+s 3814
+f 3858/6192/15503 3896/6166/15504 3810/6191/15505
+f 3810/6191/15505 3896/6166/15504 3953/6193/15506
+s 3815
+f 3811/6037/15507 3859/6194/15508 3860/6038/15509
+f 3860/6038/15509 3859/6194/15508 3913/6195/15510
+s 3816
+f 3861/6197/15511 3912/6198/15512 3813/6196/15513
+f 3813/6196/15513 3912/6198/15512 3911/6199/15514
+s 3817
+f 3816/6043/15515 3860/6044/15516 3864/6042/15517
+f 3864/6042/15517 3860/6044/15516 3913/6200/15518
+s 3818
+f 3818/6045/15519 3819/6046/15520 3915/6201/15521
+f 3915/6201/15521 3819/6046/15520 3916/6202/15522
+s 3819
+f 3819/6047/15523 3869/6048/15524 3916/6203/15525
+f 3916/6203/15525 3869/6048/15524 3958/6204/15526
+s 3820
+f 3818/6045/15527 3915/6201/15528 3870/6049/15529
+f 3870/6049/15529 3915/6201/15528 3959/6205/15530
+s 3821
+f 3822/6053/15531 3820/6050/15532 3917/6206/15533
+f 3917/6206/15533 3820/6050/15532 3918/6207/15534
+s 3822
+f 3820/6050/15535 3870/6049/15536 3918/6207/15537
+f 3918/6207/15537 3870/6049/15536 3959/6205/15538
+s 3823
+f 3821/6051/15539 3822/6052/15540 3919/6208/15541
+f 3919/6208/15541 3822/6052/15540 3917/6209/15542
+s 3824
+f 3823/6054/15543 3871/6056/15544 3872/6141/15545
+f 3872/6141/15545 3871/6056/15544 3873/6058/15546
+s 3825
+f 3824/5977/15547 3825/6057/15548 3871/6056/15549
+f 3871/6056/15549 3825/6057/15548 3873/6058/15550
+s 3826
+f 3826/6061/15551 3874/6210/15552 3875/6062/15553
+f 3875/6062/15553 3874/6210/15552 3960/6211/15554
+s 3827
+f 3827/6063/15555 3920/6212/15556 3874/6060/15557
+f 3874/6060/15557 3920/6212/15556 3960/6213/15558
+s 3828
+f 3828/6215/15559 3876/6216/15560 3881/6214/15561
+f 3881/6214/15561 3876/6216/15560 3961/6217/15562
+s 3829
+f 3830/6066/15563 3879/6068/15564 3876/6067/15565
+f 3876/6067/15565 3879/6068/15564 3961/6218/15566
+s 3830
+f 3831/6070/15567 3880/6071/15568 3879/6219/15569
+f 3879/6219/15569 3880/6071/15568 3961/6220/15570
+s 3831
+f 3832/6074/15571 3881/6073/15572 3880/6075/15573
+f 3880/6075/15573 3881/6073/15572 3961/6221/15574
+s 3832
+f 3788/5921/15575 3882/6149/15576 3883/6080/15577
+f 3883/6080/15577 3882/6149/15576 3962/6222/15578
+s 3833
+f 3833/6076/15579 3837/5990/15580 3923/6223/15581
+f 3923/6223/15581 3837/5990/15580 3930/6154/15582
+s 3834
+f 3834/6225/15583 3835/6079/15584 3924/6224/15585
+f 3924/6224/15585 3835/6079/15584 3925/6226/15586
+s 3835
+f 3835/6079/15587 3883/6080/15588 3925/6226/15589
+f 3925/6226/15589 3883/6080/15588 3966/6227/15590
+s 3836
+f 3794/6081/15591 3884/6082/15592 3892/6228/15593
+f 3892/6228/15593 3884/6082/15592 3967/6229/15594
+s 3837
+f 3790/5928/15595 3926/6230/15596 3884/6082/15597
+f 3884/6082/15597 3926/6230/15596 3968/6231/15598
+s 3838
+f 3886/6084/15599 3928/6232/15600 3791/6083/15601
+f 3791/6083/15601 3928/6232/15600 3887/6233/15602
+s 3839
+f 3886/6084/15603 3792/5991/15604 3929/6234/15605
+f 3929/6234/15605 3792/5991/15604 3888/6155/15606
+s 3840
+f 3838/5993/15607 3931/6157/15608 3888/6155/15609
+f 3888/6155/15609 3931/6157/15608 3973/6235/15610
+s 3841
+f 3752/6237/15611 3891/6238/15612 3932/6236/15613
+f 3932/6236/15613 3891/6238/15612 3976/6239/15614
+s 3842
+f 3795/6085/15615 3894/6240/15616 3893/6086/15617
+f 3893/6086/15617 3894/6240/15616 3979/6241/15618
+s 3843
+f 3798/6242/15619 3897/6243/15620 3894/6240/15621
+f 3894/6240/15621 3897/6243/15620 3980/6244/15622
+s 3844
+f 3851/6107/15623 3842/6002/15624 3935/6245/15625
+f 3935/6245/15625 3842/6002/15624 3895/6089/15626
+s 3845
+f 3895/6089/15627 3796/6003/15628 3936/6246/15629
+f 3936/6246/15629 3796/6003/15628 3937/6167/15630
+s 3846
+f 3841/6005/15631 3848/6247/15632 3896/6166/15633
+f 3896/6166/15633 3848/6247/15632 3953/6193/15634
+s 3847
+f 3844/6093/15635 3843/6092/15636 3939/6248/15637
+f 3939/6248/15637 3843/6092/15636 3983/6249/15638
+s 3848
+f 3844/6094/15639 3939/6250/15640 3845/6095/15641
+f 3845/6095/15641 3939/6250/15640 3984/6251/15642
+s 3849
+f 3897/6096/15643 3845/6095/15644 3940/6252/15645
+f 3940/6252/15645 3845/6095/15644 3984/6251/15646
+s 3850
+f 3800/6099/15647 3899/6253/15648 3898/6100/15649
+f 3898/6100/15649 3899/6253/15648 3986/6254/15650
+s 3851
+f 3899/6101/15651 3808/6025/15652 3943/6255/15653
+f 3943/6255/15653 3808/6025/15652 3950/6187/15654
+s 3852
+f 3849/6256/15655 3936/6246/15656 3854/6112/15657
+f 3854/6112/15657 3936/6246/15656 3858/6192/15658
+s 3853
+f 3802/5945/15659 3901/6106/15660 3900/6104/15661
+f 3900/6104/15661 3901/6106/15660 3988/6257/15662
+s 3854
+f 3850/6105/15663 3903/6258/15664 3901/6106/15665
+f 3901/6106/15665 3903/6258/15664 3989/6259/15666
+s 3855
+f 3853/6024/15667 3906/6109/15668 3948/6185/15669
+f 3948/6185/15669 3906/6109/15668 3992/6260/15670
+s 3856
+f 3807/6110/15671 3907/6113/15672 3906/6261/15673
+f 3906/6261/15673 3907/6113/15672 3993/6262/15674
+s 3857
+f 3854/6112/15675 3858/6192/15676 3907/6113/15677
+f 3907/6113/15677 3858/6192/15676 3857/6263/15678
+s 3858
+f 3855/6188/15679 3949/6189/15680 3908/6264/15681
+f 3908/6264/15681 3949/6189/15680 3994/6265/15682
+s 3859
+f 3852/6119/15683 3947/6266/15684 3909/6120/15685
+f 3909/6120/15685 3947/6266/15684 3995/6267/15686
+s 3860
+f 3910/6121/15687 3952/6268/15688 3856/6031/15689
+f 3856/6031/15689 3952/6268/15688 3949/6189/15690
+s 3861
+f 3810/6191/15691 3953/6193/15692 3910/6269/15693
+f 3910/6269/15693 3953/6193/15692 3997/6270/15694
+s 3862
+f 3896/6166/15695 3858/6192/15696 3937/6167/15697
+f 3937/6167/15697 3858/6192/15696 3936/6246/15698
+s 3863
+f 3862/6125/15699 3863/6040/15700 3912/6271/15701
+f 3912/6271/15701 3863/6040/15700 3911/6272/15702
+s 3864
+f 3865/6134/15703 3954/6273/15704 3866/6135/15705
+f 3866/6135/15705 3954/6273/15704 3955/6274/15706
+s 3865
+f 3866/6136/15707 3955/6275/15708 3869/6048/15709
+f 3869/6048/15709 3955/6275/15708 3958/6204/15710
+s 3866
+f 3865/6134/15711 3914/6137/15712 3954/6273/15713
+f 3954/6273/15713 3914/6137/15712 3998/6276/15714
+s 3867
+f 3821/6051/15715 3919/6208/15716 3867/6138/15717
+f 3867/6138/15717 3919/6208/15716 3956/6277/15718
+s 3868
+f 3867/6139/15719 3956/6278/15720 3868/6140/15721
+f 3868/6140/15721 3956/6278/15720 3957/6279/15722
+s 3869
+f 3868/6140/15723 3957/6279/15724 3914/6137/15725
+f 3914/6137/15725 3957/6279/15724 3998/6276/15726
+s 3870
+f 3877/6145/15727 3875/6280/15728 3921/6146/15729
+f 3921/6146/15729 3875/6280/15728 3960/6281/15730
+s 3871
+f 3878/6147/15731 3921/6282/15732 3920/6143/15733
+f 3920/6143/15733 3921/6282/15732 3960/6283/15734
+s 3872
+f 3922/6285/15735 3963/6286/15736 3882/6284/15737
+f 3882/6284/15737 3963/6286/15736 4004/6287/15738
+s 3873
+f 3922/6150/15739 3833/6076/15740 3964/6288/15741
+f 3964/6288/15741 3833/6076/15740 3923/6223/15742
+s 3874
+f 3885/6151/15743 3834/6077/15744 3965/6289/15745
+f 3965/6289/15745 3834/6077/15744 3924/6290/15746
+s 3875
+f 3790/6292/15747 3927/6293/15748 3926/6291/15749
+f 3926/6291/15749 3927/6293/15748 4011/6294/15750
+s 3876
+f 3885/6151/15751 3965/6289/15752 3927/6152/15753
+f 3927/6152/15753 3965/6289/15752 4013/6295/15754
+s 3877
+f 3928/6232/15755 3886/6084/15756 3969/6296/15757
+f 3969/6296/15757 3886/6084/15756 3929/6234/15758
+s 3878
+f 3928/6232/15759 3970/6297/15760 3887/6233/15761
+f 3887/6233/15761 3970/6297/15760 3971/6298/15762
+s 3879
+f 3887/6153/15763 3971/6299/15764 3930/6154/15765
+f 3930/6154/15765 3971/6299/15764 4016/6300/15766
+s 3880
+f 3929/6234/15767 3888/6155/15768 3972/6301/15769
+f 3972/6301/15769 3888/6155/15768 4017/6302/15770
+s 3881
+f 3889/6156/15771 3974/6303/15772 3931/6157/15773
+f 3931/6157/15773 3974/6303/15772 4018/6304/15774
+s 3882
+f 3889/6158/15775 3890/6160/15776 3974/6305/15777
+f 3974/6305/15777 3890/6160/15776 3975/6306/15778
+s 3883
+f 3890/6160/15779 3932/6161/15780 3975/6306/15781
+f 3975/6306/15781 3932/6161/15780 4019/6307/15782
+s 3884
+f 3933/6309/15783 3977/6310/15784 3891/6308/15785
+f 3891/6308/15785 3977/6310/15784 4022/6311/15786
+s 3885
+f 3840/5998/15787 3934/6165/15788 3933/6163/15789
+f 3933/6163/15789 3934/6165/15788 4021/6312/15790
+s 3886
+f 3892/6314/15791 3978/6315/15792 3934/6313/15793
+f 3934/6313/15793 3978/6315/15792 4023/6316/15794
+s 3887
+f 3847/6318/15795 3893/6319/15796 3941/6317/15797
+f 3941/6317/15797 3893/6319/15796 3979/6320/15798
+s 3888
+f 3935/6245/15799 3981/6321/15800 3851/6107/15801
+f 3851/6107/15801 3981/6321/15800 3945/6322/15802
+s 3889
+f 3895/6089/15803 3944/6323/15804 3935/6245/15805
+f 3935/6245/15805 3944/6323/15804 3987/6324/15806
+s 3890
+f 3936/6246/15807 3849/6256/15808 3895/6089/15809
+f 3895/6089/15809 3849/6256/15808 3944/6323/15810
+s 3891
+f 3938/6326/15811 3982/6327/15812 3843/6325/15813
+f 3843/6325/15813 3982/6327/15812 3983/6328/15814
+s 3892
+f 3846/6010/15815 3941/6170/15816 3938/6326/15817
+f 3938/6326/15817 3941/6170/15816 4024/6329/15818
+s 3893
+f 3897/6243/15819 3940/6330/15820 3980/6244/15821
+f 3980/6244/15821 3940/6330/15820 4025/6331/15822
+s 3894
+f 3848/6247/15823 3942/6332/15824 3953/6193/15825
+f 3953/6193/15825 3942/6332/15824 3997/6270/15826
+s 3895
+f 3942/6173/15827 3898/6100/15828 3985/6333/15829
+f 3985/6333/15829 3898/6100/15828 3986/6254/15830
+s 3896
+f 3899/6253/15831 3943/6334/15832 3986/6254/15833
+f 3986/6254/15833 3943/6334/15832 4026/6335/15834
+s 3897
+f 3944/6337/15835 3900/6338/15836 3987/6336/15837
+f 3987/6336/15837 3900/6338/15836 3988/6339/15838
+s 3898
+f 3902/6175/15839 3945/6177/15840 3946/6178/15841
+f 3946/6178/15841 3945/6177/15840 4028/6340/15842
+s 3899
+f 3903/6258/15843 3946/6341/15844 3989/6259/15845
+f 3989/6259/15845 3946/6341/15844 4028/6342/15846
+s 3900
+f 3905/6181/15847 3990/6343/15848 3904/6180/15849
+f 3904/6180/15849 3990/6343/15848 4030/6344/15850
+s 3901
+f 3947/6183/15851 3904/6180/15852 3991/6345/15853
+f 3991/6345/15853 3904/6180/15852 4030/6344/15854
+s 3902
+f 3905/6184/15855 3948/6185/15856 3990/6346/15857
+f 3990/6346/15857 3948/6185/15856 4031/6347/15858
+s 3903
+f 3908/6186/15859 3994/6348/15860 3950/6187/15861
+f 3950/6187/15861 3994/6348/15860 4034/6349/15862
+s 3904
+f 3951/6350/15863 3993/6262/15864 3857/6263/15865
+f 3857/6263/15865 3993/6262/15864 3907/6113/15866
+s 3905
+f 3909/6120/15867 3995/6267/15868 3951/6190/15869
+f 3951/6190/15869 3995/6267/15868 4036/6351/15870
+s 3906
+f 3952/6353/15871 3910/6269/15872 3996/6352/15873
+f 3996/6352/15873 3910/6269/15872 3997/6270/15874
+s 3907
+f 3915/6201/15875 3916/6202/15876 3999/6354/15877
+f 3999/6354/15877 3916/6202/15876 4000/6355/15878
+s 3908
+f 3916/6203/15879 3958/6204/15880 4000/6356/15881
+f 4000/6356/15881 3958/6204/15880 4041/6357/15882
+s 3909
+f 3915/6201/15883 3999/6354/15884 3959/6205/15885
+f 3959/6205/15885 3999/6354/15884 4003/6358/15886
+s 3910
+f 3919/6208/15887 3917/6209/15888 4001/6359/15889
+f 4001/6359/15889 3917/6209/15888 4002/6360/15890
+s 3911
+f 3917/6206/15891 3918/6207/15892 4002/6361/15893
+f 4002/6361/15893 3918/6207/15892 4042/6362/15894
+s 3912
+f 3959/6205/15895 4003/6358/15896 3918/6207/15897
+f 3918/6207/15897 4003/6358/15896 4042/6362/15898
+s 3913
+f 3883/6364/15899 3962/6365/15900 3966/6363/15901
+f 3966/6363/15901 3962/6365/15900 4043/6366/15902
+s 3914
+f 3882/6284/15903 4004/6287/15904 3962/6365/15905
+f 3962/6365/15905 4004/6287/15904 4044/6367/15906
+s 3915
+f 3963/6286/15907 3922/6285/15908 4005/6368/15909
+f 4005/6368/15909 3922/6285/15908 3964/6369/15910
+s 3916
+f 3964/6369/15911 3923/6371/15912 4006/6370/15913
+f 4006/6370/15913 3923/6371/15912 4007/6372/15914
+s 3917
+f 3923/6223/15915 3930/6154/15916 4007/6373/15917
+f 4007/6373/15917 3930/6154/15916 4016/6300/15918
+s 3918
+f 3965/6375/15919 3924/6376/15920 4008/6374/15921
+f 4008/6374/15921 3924/6376/15920 4009/6377/15922
+s 3919
+f 3924/6224/15923 3925/6226/15924 4009/6378/15925
+f 4009/6378/15925 3925/6226/15924 4010/6379/15926
+s 3920
+f 3925/6226/15927 3966/6227/15928 4010/6379/15929
+f 4010/6379/15929 3966/6227/15928 4048/6380/15930
+s 3921
+f 3892/6314/15931 3967/6381/15932 3978/6315/15933
+f 3978/6315/15933 3967/6381/15932 4049/6382/15934
+s 3922
+f 3884/6082/15935 3968/6231/15936 3967/6229/15937
+f 3967/6229/15937 3968/6231/15936 4050/6383/15938
+s 3923
+f 3968/6385/15939 3926/6386/15940 4012/6384/15941
+f 4012/6384/15941 3926/6386/15940 4004/6387/15942
+s 3924
+f 3969/6296/15943 4014/6388/15944 3928/6232/15945
+f 3928/6232/15945 4014/6388/15944 3970/6297/15946
+s 3925
+f 3969/6296/15947 3929/6234/15948 4015/6389/15949
+f 4015/6389/15949 3929/6234/15948 3972/6301/15950
+s 3926
+f 3888/6391/15951 3973/6392/15952 4017/6390/15953
+f 4017/6390/15953 3973/6392/15952 4055/6393/15954
+s 3927
+f 3931/6157/15955 4018/6304/15956 3973/6235/15957
+f 3973/6235/15957 4018/6304/15956 4056/6394/15958
+s 3928
+f 3932/6236/15959 3976/6239/15960 4019/6395/15961
+f 4019/6395/15961 3976/6239/15960 4059/6396/15962
+s 3929
+f 3976/6239/15963 3891/6238/15964 4020/6397/15965
+f 4020/6397/15965 3891/6238/15964 4022/6398/15966
+s 3930
+f 3933/6309/15967 4021/6399/15968 3977/6310/15969
+f 3977/6310/15969 4021/6399/15968 4060/6400/15970
+s 3931
+f 3894/6240/15971 3980/6244/15972 3979/6241/15973
+f 3979/6241/15973 3980/6244/15972 4062/6401/15974
+s 3932
+f 3935/6245/15975 3987/6324/15976 3981/6321/15977
+f 3981/6321/15977 3987/6324/15976 4029/6402/15978
+s 3933
+f 3938/6326/15979 4024/6329/15980 3982/6327/15981
+f 3982/6327/15981 4024/6329/15980 4063/6403/15982
+s 3934
+f 3939/6250/15983 3983/6404/15984 3984/6251/15985
+f 3984/6251/15985 3983/6404/15984 4064/6405/15986
+s 3935
+f 3940/6252/15987 3984/6251/15988 4025/6406/15989
+f 4025/6406/15989 3984/6251/15988 4064/6405/15990
+s 3936
+f 3942/6332/15991 3985/6407/15992 3997/6270/15993
+f 3997/6270/15993 3985/6407/15992 3996/6352/15994
+s 3937
+f 3943/6334/15995 3950/6408/15996 4026/6335/15997
+f 4026/6335/15997 3950/6408/15996 4034/6409/15998
+s 3938
+f 3988/6257/15999 3901/6106/16000 4027/6410/16001
+f 4027/6410/16001 3901/6106/16000 3989/6259/16002
+s 3939
+f 3981/6321/16003 4029/6402/16004 3945/6322/16005
+f 3945/6322/16005 4029/6402/16004 4028/6411/16006
+s 3940
+f 3947/6266/16007 3991/6412/16008 3995/6267/16009
+f 3995/6267/16009 3991/6412/16008 4067/6413/16010
+s 3941
+f 3992/6260/16011 4032/6414/16012 3948/6185/16013
+f 3948/6185/16013 4032/6414/16012 4031/6347/16014
+s 3942
+f 3906/6261/16015 3993/6262/16016 3992/6415/16017
+f 3992/6415/16017 3993/6262/16016 4035/6416/16018
+s 3943
+f 3994/6265/16019 3949/6189/16020 4033/6417/16021
+f 4033/6417/16021 3949/6189/16020 3952/6268/16022
+s 3944
+f 3993/6262/16023 3951/6350/16024 4035/6416/16025
+f 4035/6416/16025 3951/6350/16024 4036/6418/16026
+s 3945
+f 3952/6353/16027 3996/6352/16028 4033/6419/16029
+f 4033/6419/16029 3996/6352/16028 4068/6420/16030
+s 3946
+f 3954/6273/16031 4037/6421/16032 3955/6274/16033
+f 3955/6274/16033 4037/6421/16032 4038/6422/16034
+s 3947
+f 3955/6275/16035 4038/6423/16036 3958/6204/16037
+f 3958/6204/16037 4038/6423/16036 4041/6357/16038
+s 3948
+f 3954/6273/16039 3998/6276/16040 4037/6421/16041
+f 4037/6421/16041 3998/6276/16040 4040/6424/16042
+s 3949
+f 3919/6208/16043 4001/6359/16044 3956/6277/16045
+f 3956/6277/16045 4001/6359/16044 4039/6425/16046
+s 3950
+f 3956/6278/16047 4039/6426/16048 3957/6279/16049
+f 3957/6279/16049 4039/6426/16048 4070/6427/16050
+s 3951
+f 3998/6276/16051 3957/6279/16052 4040/6424/16053
+f 4040/6424/16053 3957/6279/16052 4070/6427/16054
+s 3952
+f 4005/6368/16055 4045/6428/16056 3963/6286/16057
+f 3963/6286/16057 4045/6428/16056 4076/6429/16058
+s 3953
+f 4004/6287/16059 3963/6286/16060 4046/6430/16061
+f 4046/6430/16061 3963/6286/16060 4076/6429/16062
+s 3954
+f 4005/6368/16063 3964/6369/16064 4047/6431/16065
+f 4047/6431/16065 3964/6369/16064 4006/6370/16066
+s 3955
+f 3965/6375/16067 4008/6374/16068 4013/6432/16069
+f 4013/6432/16069 4008/6374/16068 4080/6433/16070
+s 3956
+f 4011/6294/16071 4044/6434/16072 3926/6291/16073
+f 3926/6291/16073 4044/6434/16072 4004/6435/16074
+s 3957
+f 3927/6293/16075 4013/6436/16076 4011/6294/16077
+f 4011/6294/16077 4013/6436/16076 4084/6437/16078
+s 3958
+f 3968/6231/16079 4012/6438/16080 4050/6383/16081
+f 4050/6383/16081 4012/6438/16080 4085/6439/16082
+s 3959
+f 4014/6441/16083 3969/6442/16084 4051/6440/16085
+f 4051/6440/16085 3969/6442/16084 4015/6443/16086
+s 3960
+f 4014/6388/16087 4052/6444/16088 3970/6297/16089
+f 3970/6297/16089 4052/6444/16088 4053/6445/16090
+s 3961
+f 3970/6297/16091 4053/6445/16092 3971/6298/16093
+f 3971/6298/16093 4053/6445/16092 4054/6446/16094
+s 3962
+f 3971/6299/16095 4054/6447/16096 4016/6300/16097
+f 4016/6300/16097 4054/6447/16096 4087/6448/16098
+s 3963
+f 4015/6443/16099 3972/6450/16100 4005/6449/16101
+f 4005/6449/16101 3972/6450/16100 4045/6451/16102
+s 3964
+f 3972/6452/16103 4017/6390/16104 4045/6428/16105
+f 4045/6428/16105 4017/6390/16104 4022/6453/16106
+s 3965
+f 3974/6303/16107 4057/6454/16108 4018/6304/16109
+f 4018/6304/16109 4057/6454/16108 4088/6455/16110
+s 3966
+f 3974/6457/16111 3975/6458/16112 4057/6456/16113
+f 4057/6456/16113 3975/6458/16112 4058/6459/16114
+s 3967
+f 3975/6458/16115 4019/6460/16116 4058/6459/16117
+f 4058/6459/16117 4019/6460/16116 4089/6461/16118
+s 3968
+f 3976/6239/16119 4020/6397/16120 4059/6396/16121
+f 4059/6396/16121 4020/6397/16120 4090/6462/16122
+s 3969
+f 4022/6453/16123 3977/6463/16124 4046/6430/16125
+f 4046/6430/16125 3977/6463/16124 4091/6464/16126
+s 3970
+f 3934/6165/16127 4023/6465/16128 4021/6312/16129
+f 4021/6312/16129 4023/6465/16128 4093/6466/16130
+s 3971
+f 4023/6316/16131 3978/6315/16132 4061/6467/16133
+f 4061/6467/16133 3978/6315/16132 4094/6468/16134
+s 3972
+f 3941/6170/16135 3979/6469/16136 4024/6329/16137
+f 4024/6329/16137 3979/6469/16136 4062/6470/16138
+s 3973
+f 3982/6327/16139 4063/6403/16140 3983/6328/16141
+f 3983/6328/16141 4063/6403/16140 4064/6471/16142
+s 3974
+f 4025/6331/16143 4065/6472/16144 3980/6244/16145
+f 3980/6244/16145 4065/6472/16144 4062/6401/16146
+s 3975
+f 3985/6333/16147 3986/6254/16148 4066/6473/16149
+f 4066/6473/16149 3986/6254/16148 4026/6335/16150
+s 3976
+f 3988/6257/16151 4027/6410/16152 3987/6474/16153
+f 3987/6474/16153 4027/6410/16152 4029/6475/16154
+s 3977
+f 4027/6410/16155 3989/6259/16156 4029/6475/16157
+f 4029/6475/16157 3989/6259/16156 4028/6342/16158
+s 3978
+f 3990/6346/16159 4031/6347/16160 4030/6476/16161
+f 4030/6476/16161 4031/6347/16160 4095/6477/16162
+s 3979
+f 3991/6479/16163 4030/6480/16164 4067/6478/16165
+f 4067/6478/16165 4030/6480/16164 4095/6481/16166
+s 3980
+f 3992/6415/16167 4035/6416/16168 4032/6482/16169
+f 4032/6482/16169 4035/6416/16168 4096/6483/16170
+s 3981
+f 4033/6419/16171 4068/6420/16172 3994/6484/16173
+f 3994/6484/16173 4068/6420/16172 4034/6485/16174
+s 3982
+f 4036/6351/16175 3995/6267/16176 4069/6486/16177
+f 4069/6486/16177 3995/6267/16176 4067/6413/16178
+s 3983
+f 3999/6354/16179 4000/6355/16180 4071/6487/16181
+f 4071/6487/16181 4000/6355/16180 4072/6488/16182
+s 3984
+f 4000/6356/16183 4041/6357/16184 4072/6489/16185
+f 4072/6489/16185 4041/6357/16184 4101/6490/16186
+s 3985
+f 3999/6354/16187 4071/6487/16188 4003/6358/16189
+f 4003/6358/16189 4071/6487/16188 4075/6491/16190
+s 3986
+f 4001/6359/16191 4002/6360/16192 4073/6492/16193
+f 4073/6492/16193 4002/6360/16192 4074/6493/16194
+s 3987
+f 4002/6361/16195 4042/6362/16196 4074/6494/16197
+f 4074/6494/16197 4042/6362/16196 4102/6495/16198
+s 3988
+f 4003/6358/16199 4075/6491/16200 4042/6362/16201
+f 4042/6362/16201 4075/6491/16200 4102/6495/16202
+s 3989
+f 3966/6363/16203 4043/6366/16204 4048/6496/16205
+f 4048/6496/16205 4043/6366/16204 4103/6497/16206
+s 3990
+f 3962/6365/16207 4044/6367/16208 4043/6366/16209
+f 4043/6366/16209 4044/6367/16208 4104/6498/16210
+s 3991
+f 4004/6287/16211 4046/6430/16212 4012/6499/16213
+f 4012/6499/16213 4046/6430/16212 4091/6464/16214
+s 3992
+f 4005/6449/16215 4047/6500/16216 4015/6443/16217
+f 4015/6443/16217 4047/6500/16216 4051/6440/16218
+s 3993
+f 4047/6431/16219 4006/6370/16220 4077/6501/16221
+f 4077/6501/16221 4006/6370/16220 4078/6502/16222
+s 3994
+f 4006/6370/16223 4007/6372/16224 4078/6502/16225
+f 4078/6502/16225 4007/6372/16224 4079/6503/16226
+s 3995
+f 4007/6373/16227 4016/6300/16228 4079/6504/16229
+f 4079/6504/16229 4016/6300/16228 4087/6448/16230
+s 3996
+f 4009/6377/16231 4081/6505/16232 4008/6374/16233
+f 4008/6374/16233 4081/6505/16232 4106/6506/16234
+s 3997
+f 4009/6378/16235 4010/6379/16236 4081/6507/16237
+f 4081/6507/16237 4010/6379/16236 4107/6508/16238
+s 3998
+f 4048/6380/16239 4082/6509/16240 4010/6379/16241
+f 4010/6379/16241 4082/6509/16240 4107/6508/16242
+s 3999
+f 4049/6382/16243 4083/6510/16244 3978/6315/16245
+f 3978/6315/16245 4083/6510/16244 4094/6468/16246
+s 4000
+f 3967/6229/16247 4050/6383/16248 4049/6511/16249
+f 4049/6511/16249 4050/6383/16248 4108/6512/16250
+s 4001
+f 4011/6294/16251 4084/6437/16252 4044/6434/16253
+f 4044/6434/16253 4084/6437/16252 4104/6513/16254
+s 4002
+f 4051/6514/16255 4086/6515/16256 4014/6388/16257
+f 4014/6388/16257 4086/6515/16256 4052/6444/16258
+s 4003
+f 4017/6390/16259 4055/6393/16260 4022/6453/16261
+f 4022/6453/16261 4055/6393/16260 4020/6516/16262
+s 4004
+f 3973/6392/16263 4056/6517/16264 4055/6393/16265
+f 4055/6393/16265 4056/6517/16264 4111/6518/16266
+s 4005
+f 4018/6304/16267 4088/6455/16268 4056/6394/16269
+f 4056/6394/16269 4088/6455/16268 4112/6519/16270
+s 4006
+f 4019/6395/16271 4059/6396/16272 4089/6520/16273
+f 4089/6520/16273 4059/6396/16272 4115/6521/16274
+s 4007
+f 3977/6310/16275 4060/6400/16276 4091/6522/16277
+f 4091/6522/16277 4060/6400/16276 4116/6523/16278
+s 4008
+f 4060/6400/16279 4021/6399/16280 4092/6524/16281
+f 4092/6524/16281 4021/6399/16280 4093/6525/16282
+s 4009
+f 4046/6430/16283 4076/6429/16284 4022/6453/16285
+f 4022/6453/16285 4076/6429/16284 4045/6428/16286
+s 4010
+f 4023/6465/16287 4061/6526/16288 4093/6466/16289
+f 4093/6466/16289 4061/6526/16288 4118/6527/16290
+s 4011
+f 4063/6403/16291 4024/6329/16292 4065/6528/16293
+f 4065/6528/16293 4024/6329/16292 4062/6470/16294
+s 4012
+f 4065/6472/16295 4025/6331/16296 4063/6529/16297
+f 4063/6529/16297 4025/6331/16296 4064/6530/16298
+s 4013
+f 3985/6407/16299 4066/6531/16300 3996/6352/16301
+f 3996/6352/16301 4066/6531/16300 4068/6420/16302
+s 4014
+f 4066/6473/16303 4026/6335/16304 4068/6532/16305
+f 4068/6532/16305 4026/6335/16304 4034/6409/16306
+s 4015
+f 4032/6414/16307 4096/6533/16308 4031/6347/16309
+f 4031/6347/16309 4096/6533/16308 4095/6477/16310
+s 4016
+f 4036/6418/16311 4069/6534/16312 4035/6416/16313
+f 4035/6416/16313 4069/6534/16312 4096/6483/16314
+s 4017
+f 4037/6421/16315 4097/6535/16316 4038/6422/16317
+f 4038/6422/16317 4097/6535/16316 4098/6536/16318
+s 4018
+f 4038/6423/16319 4098/6537/16320 4041/6357/16321
+f 4041/6357/16321 4098/6537/16320 4101/6490/16322
+s 4019
+f 4037/6421/16323 4040/6424/16324 4097/6535/16325
+f 4097/6535/16325 4040/6424/16324 4100/6538/16326
+s 4020
+f 4001/6359/16327 4073/6492/16328 4039/6425/16329
+f 4039/6425/16329 4073/6492/16328 4099/6539/16330
+s 4021
+f 4039/6426/16331 4099/6540/16332 4070/6427/16333
+f 4070/6427/16333 4099/6540/16332 4119/6541/16334
+s 4022
+f 4040/6424/16335 4070/6427/16336 4100/6538/16337
+f 4100/6538/16337 4070/6427/16336 4119/6541/16338
+s 4023
+f 4047/6431/16339 4077/6501/16340 4051/6542/16341
+f 4051/6542/16341 4077/6501/16340 4086/6543/16342
+s 4024
+f 4013/6436/16343 4080/6544/16344 4084/6437/16345
+f 4084/6437/16345 4080/6544/16344 4125/6545/16346
+s 4025
+f 4080/6433/16347 4008/6374/16348 4105/6546/16349
+f 4105/6546/16349 4008/6374/16348 4106/6506/16350
+s 4026
+f 4048/6496/16351 4103/6497/16352 4082/6547/16353
+f 4082/6547/16353 4103/6497/16352 4126/6548/16354
+s 4027
+f 4049/6511/16355 4108/6512/16356 4083/6549/16357
+f 4083/6549/16357 4108/6512/16356 4127/6550/16358
+s 4028
+f 4085/6439/16359 4109/6551/16360 4050/6383/16361
+f 4050/6383/16361 4109/6551/16360 4108/6512/16362
+s 4029
+f 4012/6499/16363 4091/6464/16364 4085/6552/16365
+f 4085/6552/16365 4091/6464/16364 4116/6553/16366
+s 4030
+f 4052/6444/16367 4086/6515/16368 4053/6445/16369
+f 4053/6445/16369 4086/6515/16368 4110/6554/16370
+s 4031
+f 4053/6445/16371 4110/6554/16372 4054/6446/16373
+f 4054/6446/16373 4110/6554/16372 4087/6555/16374
+s 4032
+f 4057/6454/16375 4113/6556/16376 4088/6455/16377
+f 4088/6455/16377 4113/6556/16376 4129/6557/16378
+s 4033
+f 4057/6456/16379 4058/6459/16380 4113/6558/16381
+f 4113/6558/16381 4058/6459/16380 4130/6559/16382
+s 4034
+f 4089/6461/16383 4114/6560/16384 4058/6459/16385
+f 4058/6459/16385 4114/6560/16384 4130/6559/16386
+s 4035
+f 4059/6396/16387 4090/6462/16388 4115/6521/16389
+f 4115/6521/16389 4090/6462/16388 4131/6561/16390
+s 4036
+f 4090/6562/16391 4020/6516/16392 4111/6518/16393
+f 4111/6518/16393 4020/6516/16392 4055/6393/16394
+s 4037
+f 4092/6564/16395 4117/6565/16396 4060/6563/16397
+f 4060/6563/16397 4117/6565/16396 4116/6553/16398
+s 4038
+f 4061/6526/16399 4094/6566/16400 4118/6527/16401
+f 4118/6527/16401 4094/6566/16400 4134/6567/16402
+s 4039
+f 4069/6534/16403 4067/6568/16404 4096/6483/16405
+f 4096/6483/16405 4067/6568/16404 4095/6569/16406
+s 4040
+f 4071/6487/16407 4072/6488/16408 4120/6570/16409
+f 4120/6570/16409 4072/6488/16408 4121/6571/16410
+s 4041
+f 4072/6489/16411 4101/6490/16412 4121/6572/16413
+f 4121/6572/16413 4101/6490/16412 4139/6573/16414
+s 4042
+f 4071/6487/16415 4120/6570/16416 4075/6491/16417
+f 4075/6491/16417 4120/6570/16416 4140/6574/16418
+s 4043
+f 4073/6492/16419 4074/6493/16420 4122/6575/16421
+f 4122/6575/16421 4074/6493/16420 4123/6576/16422
+s 4044
+f 4074/6494/16423 4102/6495/16424 4123/6577/16425
+f 4123/6577/16425 4102/6495/16424 4124/6578/16426
+s 4045
+f 4102/6495/16427 4075/6491/16428 4124/6578/16429
+f 4124/6578/16429 4075/6491/16428 4140/6574/16430
+s 4046
+f 4043/6366/16431 4104/6498/16432 4103/6497/16433
+f 4103/6497/16433 4104/6498/16432 4141/6579/16434
+s 4047
+f 4077/6501/16435 4078/6502/16436 4086/6543/16437
+f 4086/6543/16437 4078/6502/16436 4110/6580/16438
+s 4048
+f 4078/6502/16439 4079/6503/16440 4110/6580/16441
+f 4110/6580/16441 4079/6503/16440 4087/6581/16442
+s 4049
+f 4080/6544/16443 4105/6582/16444 4125/6545/16445
+f 4125/6545/16445 4105/6582/16444 4142/6583/16446
+s 4050
+f 4081/6585/16447 4107/6586/16448 4106/6584/16449
+f 4106/6584/16449 4107/6586/16448 4143/6587/16450
+s 4051
+f 4082/6509/16451 4126/6588/16452 4107/6508/16453
+f 4107/6508/16453 4126/6588/16452 4143/6589/16454
+s 4052
+f 4083/6549/16455 4127/6550/16456 4094/6590/16457
+f 4094/6590/16457 4127/6550/16456 4134/6591/16458
+s 4053
+f 4084/6437/16459 4125/6545/16460 4104/6513/16461
+f 4104/6513/16461 4125/6545/16460 4141/6592/16462
+s 4054
+f 4109/6593/16463 4085/6552/16464 4117/6565/16465
+f 4117/6565/16465 4085/6552/16464 4116/6553/16466
+s 4055
+f 4056/6517/16467 4112/6594/16468 4111/6518/16469
+f 4111/6518/16469 4112/6594/16468 4132/6595/16470
+s 4056
+f 4112/6519/16471 4088/6455/16472 4128/6596/16473
+f 4128/6596/16473 4088/6455/16472 4129/6557/16474
+s 4057
+f 4089/6520/16475 4115/6521/16476 4114/6597/16477
+f 4114/6597/16477 4115/6521/16476 4146/6598/16478
+s 4058
+f 4111/6518/16479 4132/6595/16480 4090/6562/16481
+f 4090/6562/16481 4132/6595/16480 4131/6599/16482
+s 4059
+f 4092/6564/16483 4133/6600/16484 4117/6565/16485
+f 4117/6565/16485 4133/6600/16484 4148/6601/16486
+s 4060
+f 4092/6603/16487 4093/6466/16488 4133/6602/16489
+f 4133/6602/16489 4093/6466/16488 4118/6527/16490
+s 4061
+f 4097/6535/16491 4135/6604/16492 4098/6536/16493
+f 4098/6536/16493 4135/6604/16492 4136/6605/16494
+s 4062
+f 4098/6537/16495 4136/6606/16496 4101/6490/16497
+f 4101/6490/16497 4136/6606/16496 4139/6573/16498
+s 4063
+f 4097/6535/16499 4100/6538/16500 4135/6604/16501
+f 4135/6604/16501 4100/6538/16500 4149/6607/16502
+s 4064
+f 4073/6492/16503 4122/6575/16504 4099/6539/16505
+f 4099/6539/16505 4122/6575/16504 4137/6608/16506
+s 4065
+f 4099/6540/16507 4137/6609/16508 4119/6541/16509
+f 4119/6541/16509 4137/6609/16508 4138/6610/16510
+s 4066
+f 4119/6541/16511 4138/6610/16512 4100/6538/16513
+f 4100/6538/16513 4138/6610/16512 4149/6607/16514
+s 4067
+f 4105/6612/16515 4106/6584/16516 4142/6611/16517
+f 4142/6611/16517 4106/6584/16516 4143/6587/16518
+s 4068
+f 4126/6548/16519 4103/6497/16520 4144/6613/16521
+f 4144/6613/16521 4103/6497/16520 4141/6579/16522
+s 4069
+f 4127/6550/16523 4108/6512/16524 4145/6614/16525
+f 4145/6614/16525 4108/6512/16524 4109/6551/16526
+s 4070
+f 4109/6593/16527 4117/6565/16528 4145/6615/16529
+f 4145/6615/16529 4117/6565/16528 4148/6601/16530
+s 4071
+f 4112/6594/16531 4128/6616/16532 4132/6595/16533
+f 4132/6595/16533 4128/6616/16532 4155/6617/16534
+s 4072
+f 4113/6619/16535 4130/6620/16536 4129/6618/16537
+f 4129/6618/16537 4130/6620/16536 4156/6621/16538
+s 4073
+f 4114/6597/16539 4146/6598/16540 4130/6622/16541
+f 4130/6622/16541 4146/6598/16540 4156/6623/16542
+s 4074
+f 4131/6561/16543 4147/6624/16544 4115/6521/16545
+f 4115/6521/16545 4147/6624/16544 4146/6598/16546
+s 4075
+f 4133/6602/16547 4118/6527/16548 4148/6625/16549
+f 4148/6625/16549 4118/6527/16548 4134/6567/16550
+s 4076
+f 4120/6570/16551 4121/6571/16552 4150/6626/16553
+f 4150/6626/16553 4121/6571/16552 4151/6627/16554
+s 4077
+f 4121/6572/16555 4139/6573/16556 4151/6628/16557
+f 4151/6628/16557 4139/6573/16556 4161/6629/16558
+s 4078
+f 4120/6570/16559 4150/6626/16560 4140/6574/16561
+f 4140/6574/16561 4150/6626/16560 4162/6630/16562
+s 4079
+f 4122/6575/16563 4123/6576/16564 4152/6631/16565
+f 4152/6631/16565 4123/6576/16564 4153/6632/16566
+s 4080
+f 4123/6577/16567 4124/6578/16568 4153/6633/16569
+f 4153/6633/16569 4124/6578/16568 4154/6634/16570
+s 4081
+f 4124/6578/16571 4140/6574/16572 4154/6634/16573
+f 4154/6634/16573 4140/6574/16572 4162/6630/16574
+s 4082
+f 4142/6583/16575 4144/6635/16576 4125/6545/16577
+f 4125/6545/16577 4144/6635/16576 4141/6592/16578
+s 4083
+f 4144/6613/16579 4142/6636/16580 4126/6548/16581
+f 4126/6548/16581 4142/6636/16580 4143/6637/16582
+s 4084
+f 4145/6614/16583 4148/6638/16584 4127/6550/16585
+f 4127/6550/16585 4148/6638/16584 4134/6591/16586
+s 4085
+f 4128/6616/16587 4129/6639/16588 4155/6617/16589
+f 4155/6617/16589 4129/6639/16588 4156/6640/16590
+s 4086
+f 4131/6599/16591 4132/6595/16592 4147/6641/16593
+f 4147/6641/16593 4132/6595/16592 4155/6617/16594
+s 4087
+f 4135/6604/16595 4157/6642/16596 4136/6605/16597
+f 4136/6605/16597 4157/6642/16596 4158/6643/16598
+s 4088
+f 4136/6606/16599 4158/6644/16600 4139/6573/16601
+f 4139/6573/16601 4158/6644/16600 4161/6629/16602
+s 4089
+f 4135/6604/16603 4149/6607/16604 4157/6642/16605
+f 4157/6642/16605 4149/6607/16604 4163/6645/16606
+s 4090
+f 4122/6575/16607 4152/6631/16608 4137/6608/16609
+f 4137/6608/16609 4152/6631/16608 4159/6646/16610
+s 4091
+f 4137/6609/16611 4159/6647/16612 4138/6610/16613
+f 4138/6610/16613 4159/6647/16612 4160/6648/16614
+s 4092
+f 4138/6610/16615 4160/6648/16616 4149/6607/16617
+f 4149/6607/16617 4160/6648/16616 4163/6645/16618
+s 4093
+f 4147/6624/16619 4155/6649/16620 4146/6598/16621
+f 4146/6598/16621 4155/6649/16620 4156/6623/16622
+s 4094
+f 4150/6626/16623 4151/6627/16624 4164/6650/16625
+f 4164/6650/16625 4151/6627/16624 4165/6651/16626
+s 4095
+f 4151/6628/16627 4161/6629/16628 4165/6652/16629
+f 4165/6652/16629 4161/6629/16628 4173/6653/16630
+s 4096
+f 4150/6626/16631 4164/6650/16632 4162/6630/16633
+f 4162/6630/16633 4164/6650/16632 4168/6654/16634
+s 4097
+f 4152/6631/16635 4153/6632/16636 4166/6655/16637
+f 4166/6655/16637 4153/6632/16636 4167/6656/16638
+s 4098
+f 4153/6633/16639 4154/6634/16640 4167/6657/16641
+f 4167/6657/16641 4154/6634/16640 4174/6658/16642
+s 4099
+f 4162/6630/16643 4168/6654/16644 4154/6634/16645
+f 4154/6634/16645 4168/6654/16644 4174/6658/16646
+s 4100
+f 4157/6642/16647 4169/6659/16648 4158/6643/16649
+f 4158/6643/16649 4169/6659/16648 4170/6660/16650
+s 4101
+f 4158/6644/16651 4170/6661/16652 4161/6629/16653
+f 4161/6629/16653 4170/6661/16652 4173/6653/16654
+s 4102
+f 4157/6642/16655 4163/6645/16656 4169/6659/16657
+f 4169/6659/16657 4163/6645/16656 4172/6662/16658
+s 4103
+f 4152/6631/16659 4166/6655/16660 4159/6646/16661
+f 4159/6646/16661 4166/6655/16660 4171/6663/16662
+s 4104
+f 4159/6647/16663 4171/6664/16664 4160/6648/16665
+f 4160/6648/16665 4171/6664/16664 4175/6665/16666
+s 4105
+f 4163/6645/16667 4160/6648/16668 4172/6662/16669
+f 4172/6662/16669 4160/6648/16668 4175/6665/16670
+s 4106
+f 4164/6650/16671 4165/6651/16672 4176/6666/16673
+f 4176/6666/16673 4165/6651/16672 4177/6667/16674
+s 4107
+f 4165/6652/16675 4173/6653/16676 4177/6668/16677
+f 4177/6668/16677 4173/6653/16676 4185/6669/16678
+s 4108
+f 4164/6650/16679 4176/6666/16680 4168/6654/16681
+f 4168/6654/16681 4176/6666/16680 4180/6670/16682
+s 4109
+f 4166/6655/16683 4167/6656/16684 4178/6671/16685
+f 4178/6671/16685 4167/6656/16684 4179/6672/16686
+s 4110
+f 4167/6657/16687 4174/6658/16688 4179/6673/16689
+f 4179/6673/16689 4174/6658/16688 4186/6674/16690
+s 4111
+f 4168/6654/16691 4180/6670/16692 4174/6658/16693
+f 4174/6658/16693 4180/6670/16692 4186/6674/16694
+s 4112
+f 4169/6659/16695 4181/6675/16696 4170/6660/16697
+f 4170/6660/16697 4181/6675/16696 4182/6676/16698
+s 4113
+f 4170/6661/16699 4182/6677/16700 4173/6653/16701
+f 4173/6653/16701 4182/6677/16700 4185/6669/16702
+s 4114
+f 4169/6659/16703 4172/6662/16704 4181/6675/16705
+f 4181/6675/16705 4172/6662/16704 4184/6678/16706
+s 4115
+f 4166/6655/16707 4178/6671/16708 4171/6663/16709
+f 4171/6663/16709 4178/6671/16708 4183/6679/16710
+s 4116
+f 4171/6664/16711 4183/6680/16712 4175/6665/16713
+f 4175/6665/16713 4183/6680/16712 4187/6681/16714
+s 4117
+f 4172/6662/16715 4175/6665/16716 4184/6678/16717
+f 4184/6678/16717 4175/6665/16716 4187/6681/16718
+s 4118
+f 4176/6666/16719 4177/6667/16720 4188/6682/16721
+f 4188/6682/16721 4177/6667/16720 4189/6683/16722
+s 4119
+f 4177/6668/16723 4185/6669/16724 4189/6684/16725
+f 4189/6684/16725 4185/6669/16724 4197/6685/16726
+s 4120
+f 4176/6666/16727 4188/6682/16728 4180/6670/16729
+f 4180/6670/16729 4188/6682/16728 4192/6686/16730
+s 4121
+f 4178/6671/16731 4179/6672/16732 4190/6687/16733
+f 4190/6687/16733 4179/6672/16732 4191/6688/16734
+s 4122
+f 4179/6673/16735 4186/6674/16736 4191/6689/16737
+f 4191/6689/16737 4186/6674/16736 4198/6690/16738
+s 4123
+f 4180/6670/16739 4192/6686/16740 4186/6674/16741
+f 4186/6674/16741 4192/6686/16740 4198/6690/16742
+s 4124
+f 4181/6675/16743 4193/6691/16744 4182/6676/16745
+f 4182/6676/16745 4193/6691/16744 4194/6692/16746
+s 4125
+f 4182/6677/16747 4194/6693/16748 4185/6669/16749
+f 4185/6669/16749 4194/6693/16748 4197/6685/16750
+s 4126
+f 4181/6675/16751 4184/6678/16752 4193/6691/16753
+f 4193/6691/16753 4184/6678/16752 4196/6694/16754
+s 4127
+f 4178/6671/16755 4190/6687/16756 4183/6679/16757
+f 4183/6679/16757 4190/6687/16756 4195/6695/16758
+s 4128
+f 4183/6680/16759 4195/6696/16760 4187/6681/16761
+f 4187/6681/16761 4195/6696/16760 4199/6697/16762
+s 4129
+f 4184/6678/16763 4187/6681/16764 4196/6694/16765
+f 4196/6694/16765 4187/6681/16764 4199/6697/16766
+s 4130
+f 4189/6683/16767 4200/6698/16768 4188/6682/16769
+f 4188/6682/16769 4200/6698/16768 4202/6699/16770
+s 4131
+f 4197/6685/16771 4201/6700/16772 4189/6684/16773
+f 4189/6684/16773 4201/6700/16772 4200/6701/16774
+s 4132
+f 4188/6682/16775 4202/6699/16776 4192/6686/16777
+f 4192/6686/16777 4202/6699/16776 4205/6702/16778
+s 4133
+f 4190/6687/16779 4191/6688/16780 4203/6703/16781
+f 4203/6703/16781 4191/6688/16780 4210/6704/16782
+s 4134
+f 4198/6690/16783 4204/6705/16784 4191/6689/16785
+f 4191/6689/16785 4204/6705/16784 4210/6706/16786
+s 4135
+f 4192/6686/16787 4205/6702/16788 4198/6690/16789
+f 4198/6690/16789 4205/6702/16788 4204/6705/16790
+s 4136
+f 4194/6692/16791 4193/6691/16792 4206/6707/16793
+f 4206/6707/16793 4193/6691/16792 4207/6708/16794
+s 4137
+f 4197/6685/16795 4194/6693/16796 4201/6700/16797
+f 4201/6700/16797 4194/6693/16796 4206/6709/16798
+s 4138
+f 4193/6691/16799 4196/6694/16800 4207/6708/16801
+f 4207/6708/16801 4196/6694/16800 4209/6710/16802
+s 4139
+f 4190/6687/16803 4203/6703/16804 4195/6695/16805
+f 4195/6695/16805 4203/6703/16804 4211/6711/16806
+s 4140
+f 4199/6697/16807 4195/6696/16808 4208/6712/16809
+f 4208/6712/16809 4195/6696/16808 4211/6713/16810
+s 4141
+f 4196/6694/16811 4199/6697/16812 4209/6710/16813
+f 4209/6710/16813 4199/6697/16812 4208/6712/16814
+s 4142
+f 4201/6700/16815 4212/6714/16816 4200/6701/16817
+f 4200/6701/16817 4212/6714/16816 4213/6715/16818
+s 4143
+f 4200/6698/16819 4213/6716/16820 4202/6699/16821
+f 4202/6699/16821 4213/6716/16820 4214/6717/16822
+s 4144
+f 4202/6699/16823 4214/6717/16824 4205/6702/16825
+f 4205/6702/16825 4214/6717/16824 4215/6718/16826
+s 4145
+f 4203/6703/16827 4210/6704/16828 4211/6711/16829
+f 4211/6711/16829 4210/6704/16828 4216/6719/16830
+s 4146
+f 4205/6702/16831 4215/6718/16832 4204/6705/16833
+f 4204/6705/16833 4215/6718/16832 4220/6720/16834
+s 4147
+f 4210/6704/16835 4204/6721/16836 4216/6719/16837
+f 4216/6719/16837 4204/6721/16836 4220/6722/16838
+s 4148
+f 4201/6700/16839 4206/6709/16840 4212/6714/16841
+f 4212/6714/16841 4206/6709/16840 4217/6723/16842
+s 4149
+f 4206/6707/16843 4207/6708/16844 4217/6724/16845
+f 4217/6724/16845 4207/6708/16844 4218/6725/16846
+s 4150
+f 4207/6708/16847 4209/6710/16848 4218/6725/16849
+f 4218/6725/16849 4209/6710/16848 4219/6726/16850
+s 4151
+f 4209/6710/16851 4208/6712/16852 4219/6726/16853
+f 4219/6726/16853 4208/6712/16852 4221/6727/16854
+s 4152
+f 4211/6711/16855 4216/6719/16856 4208/6728/16857
+f 4208/6728/16857 4216/6719/16856 4221/6729/16858
+s 4153
+f 4212/6714/16859 4222/6730/16860 4213/6715/16861
+f 4213/6715/16861 4222/6730/16860 4227/6731/16862
+s 4154
+f 4214/6717/16863 4213/6716/16864 4223/6732/16865
+f 4223/6732/16865 4213/6716/16864 4227/6733/16866
+s 4155
+f 4214/6717/16867 4223/6732/16868 4215/6718/16869
+f 4215/6718/16869 4223/6732/16868 4228/6734/16870
+s 4156
+f 4220/6720/16871 4215/6718/16872 4224/6735/16873
+f 4224/6735/16873 4215/6718/16872 4228/6734/16874
+s 4157
+f 4220/6722/16875 4224/6736/16876 4216/6719/16877
+f 4216/6719/16877 4224/6736/16876 4229/6737/16878
+s 4158
+f 4212/6714/16879 4217/6723/16880 4222/6730/16881
+f 4222/6730/16881 4217/6723/16880 4230/6738/16882
+s 4159
+f 4218/6725/16883 4225/6739/16884 4217/6724/16885
+f 4217/6724/16885 4225/6739/16884 4230/6740/16886
+s 4160
+f 4218/6725/16887 4219/6726/16888 4225/6739/16889
+f 4225/6739/16889 4219/6726/16888 4231/6741/16890
+s 4161
+f 4221/6727/16891 4226/6742/16892 4219/6726/16893
+f 4219/6726/16893 4226/6742/16892 4231/6741/16894
+s 4162
+f 4221/6729/16895 4216/6719/16896 4226/6743/16897
+f 4226/6743/16897 4216/6719/16896 4229/6737/16898
+s 4163
+f 4222/6730/16899 4230/6738/16900 4227/6731/16901
+f 4227/6731/16901 4230/6738/16900 4232/6744/16902
+s 4164
+f 4223/6732/16903 4227/6733/16904 4228/6734/16905
+f 4228/6734/16905 4227/6733/16904 4232/6745/16906
+s 4165
+f 4224/6735/16907 4228/6734/16908 4229/6746/16909
+f 4229/6746/16909 4228/6734/16908 4232/6745/16910
+s 4166
+f 4225/6739/16911 4231/6741/16912 4230/6740/16913
+f 4230/6740/16913 4231/6741/16912 4232/6747/16914
+s 4167
+f 4226/6742/16915 4229/6748/16916 4231/6741/16917
+f 4231/6741/16917 4229/6748/16916 4232/6747/16918
+s off
+f 219/399/16919 301/449/16920 338/516/16921
+f 338/516/16922 272/515/16923 219/399/16924
+f 272/515/16925 300/6749/16926 219/399/16927
+f 300/6749/16928 379/6750/16929 219/399/16930
+f 184/6751/16931 426/6752/16932 374/6753/16933
+f 432/6754/16934 426/6752/16935 184/6751/16936
+f 337/6755/16937 432/6754/16938 184/6751/16939
+s 4168
+f 4234/294/16940 4233/293/16941 200/252/16942
+f 200/252/16942 4233/293/16941 184/249/16943
+s off
+f 242/296/16944 4234/294/16945 200/252/16946
+f 184/6751/16947 4233/6756/16948 337/6755/16949
+f 337/6755/16950 4233/6756/16951 493/6757/16952
+f 493/6757/16953 4233/6756/16954 433/6758/16955
+f 4233/6756/16956 219/399/16957 379/6750/16958
+f 4233/6756/16959 379/6750/16960 433/6758/16961
+s 4169
+f 4236/251/16962 4235/250/16963 160/219/16964
+f 160/219/16964 4235/250/16963 171/233/16965
+s off
+f 201/254/16966 4236/251/16967 160/219/16968
+f 184/6751/16969 374/6753/16970 333/6759/16971
+f 184/6751/16972 333/6759/16973 297/6760/16974
+f 297/6760/16975 269/6761/16976 184/6751/16977
+s 4170
+f 184/6751/16978 269/6761/16979 4235/6762/16980
+f 4235/6762/16980 269/6761/16979 334/6763/16981
+s off
+f 4235/6762/16982 334/6763/16983 239/6764/16984
+f 4235/6762/16985 239/6764/16986 270/6765/16987
+f 4235/6762/16988 270/6765/16989 218/6766/16990
+s 4171
+f 199/326/16991 171/298/16992 218/6766/16993
+f 218/6766/16993 171/298/16992 4235/6762/16994
+s off
+f 55/49/16995 54/48/16996 63/6767/16997
+s 4172
+f 54/48/16998 70/51/16999 63/6767/17000
+f 63/6767/17000 70/51/16999 73/6768/17001
+f 70/51/16999 71/120/17002 73/6768/17001
+f 71/120/17002 72/122/17003 73/6768/17001
+s off
+f 70/51/17004 83/6769/17005 71/120/17006
+f 83/6769/17007 70/51/17008 68/50/17009
+f 72/123/17010 69/103/17011 73/104/17012
+s 4173
+f 2676/4117/17013 2769/6770/17014 2599/4114/17015
+f 2599/4114/17015 2769/6770/17014 2782/6771/17016
<Compile Include="devel-src\AccessibilityActionSignal.cs" />\r
<Compile Include="devel-src\AccessibilityFocusOvershotSignal.cs" />\r
<Compile Include="devel-src\AccessibilityManager.cs" />\r
+ <Compile Include="devel-src\ActorContainer.cs" />\r
<Compile Include="devel-src\Actor.cs" />\r
- <Compile Include="devel-src\ActorContainer.cs" />\r
<Compile Include="devel-src\ActorHoverSignal.cs" />\r
<Compile Include="devel-src\ActorSignal.cs" />\r
<Compile Include="devel-src\ActorTouchDataSignal.cs" />\r
<Compile Include="devel-src\BlendEquationType.cs" />\r
<Compile Include="devel-src\BlendFactorType.cs" />\r
<Compile Include="devel-src\BlendModeType.cs" />\r
- <Compile Include="devel-src\BoolSignal.cs" />\r
<Compile Include="devel-src\BufferImage.cs" />\r
<Compile Include="devel-src\Builder.cs" />\r
<Compile Include="devel-src\Button.cs" />\r
<Compile Include="devel-src\ButtonSignal.cs" />\r
<Compile Include="devel-src\CameraActor.cs" />\r
- <Compile Include="devel-src\CameraType.cs" />\r
<Compile Include="devel-src\CheckBoxButton.cs" />\r
<Compile Include="devel-src\ChildPropertyRegistration.cs" />\r
<Compile Include="devel-src\ClampState.cs" />\r
<Compile Include="devel-src\ClampState2D.cs" />\r
- <Compile Include="devel-src\ClippingModeType.cs" />\r
<Compile Include="devel-src\Color.cs" />\r
- <Compile Include="devel-src\ColorMode.cs" />\r
<Compile Include="devel-src\ConnectionTracker.cs" />\r
<Compile Include="devel-src\ConnectionTrackerInterface.cs" />\r
<Compile Include="devel-src\ControlKeySignal.cs" />\r
<Compile Include="devel-src\ControlOrientationType.cs" />\r
<Compile Include="devel-src\CustomActor.cs" />\r
<Compile Include="devel-src\CustomActorImpl.cs" />\r
+ <Compile Include="devel-src\CustomAlgorithmInterface.cs" />\r
<Compile Include="devel-src\CustomView.cs" />\r
- <Compile Include="devel-src\DaliApplication.cs" />\r
<Compile Include="devel-src\DaliEnumConstants.cs" />\r
<Compile Include="devel-src\DaliEventHandler.cs" />\r
<Compile Include="devel-src\DaliException.cs" />\r
<Compile Include="devel-src\DepthFunctionType.cs" />\r
<Compile Include="devel-src\DepthTestModeType.cs" />\r
<Compile Include="devel-src\DepthWriteModeType.cs" />\r
- <Compile Include="devel-src\DimensionType.cs" />\r
+ <Compile Include="devel-src\DirectionType.cs" />\r
<Compile Include="devel-src\DirectionBias.cs" />\r
<Compile Include="devel-src\DisposeQueue.cs" />\r
- <Compile Include="devel-src\dotnetcore\addedManually.cs" />\r
- <Compile Include="devel-src\dotnetcore\handleref.cs" />\r
+ <Compile Include="devel-src\dotnetcore\AddedException.cs" />\r
+ <Compile Include="devel-src\dotnetcore\HandleRef.cs" />\r
<Compile Include="devel-src\doublep.cs" />\r
<Compile Include="devel-src\DragAndDropDetector.cs" />\r
- <Compile Include="devel-src\DrawModeType.cs" />\r
<Compile Include="devel-src\EncodedBufferImage.cs" />\r
<Compile Include="devel-src\FaceCullingModeType.cs" />\r
<Compile Include="devel-src\FilterModeType.cs" />\r
<Compile Include="devel-src\FocusManager.cs" />\r
<Compile Include="devel-src\FrameBuffer.cs" />\r
<Compile Include="devel-src\FrameBufferImage.cs" />\r
+ <Compile Include="devel-src\FriendAssembly.cs" />\r
<Compile Include="devel-src\GaussianBlurView.cs" />\r
<Compile Include="devel-src\GaussianBlurViewSignal.cs" />\r
<Compile Include="devel-src\Geometry.cs" />\r
<Compile Include="devel-src\GradientVisualSpreadMethodType.cs" />\r
<Compile Include="devel-src\GradientVisualUnitsType.cs" />\r
<Compile Include="devel-src\Handle.cs" />\r
- <Compile Include="devel-src\HorizontalAlignmentType.cs" />\r
<Compile Include="devel-src\Hover.cs" />\r
<Compile Include="devel-src\Image.cs" />\r
<Compile Include="devel-src\ImageSignal.cs" />\r
<Compile Include="devel-src\NDalic.cs" />\r
<Compile Include="devel-src\NDalicPINVOKE.cs" />\r
<Compile Include="devel-src\NinePatchImage.cs" />\r
+ <Compile Include="devel-src\NUIApplication.cs" />\r
<Compile Include="devel-src\ObjectCreatedSignal.cs" />\r
<Compile Include="devel-src\ObjectDestroyedSignal.cs" />\r
<Compile Include="devel-src\ObjectRegistry.cs" />\r
<Compile Include="devel-src\PinchGestureDetector.cs" />\r
<Compile Include="devel-src\PixelData.cs" />\r
<Compile Include="devel-src\PixelFormat.cs" />\r
- <Compile Include="devel-src\PointStateType.cs" />\r
<Compile Include="devel-src\Popup.cs" />\r
+ <Compile Include="devel-src\Position2D.cs" />\r
<Compile Include="devel-src\Position.cs" />\r
<Compile Include="devel-src\PositionInheritanceMode.cs" />\r
<Compile Include="devel-src\PrimitiveVisualShapeType.cs" />\r
<Compile Include="devel-src\ProgressBar.cs" />\r
- <Compile Include="devel-src\ProjectionMode.cs" />\r
+ <Compile Include="devel-src\ProgressBarValueChangedSignal.cs" />\r
<Compile Include="devel-src\Property.cs" />\r
<Compile Include="devel-src\PropertyBuffer.cs" />\r
<Compile Include="devel-src\PropertyCondition.cs" />\r
<Compile Include="devel-src\PropertyRanges.cs" />\r
<Compile Include="devel-src\PropertyRegistration.cs" />\r
<Compile Include="devel-src\PushButton.cs" />\r
- <Compile Include="devel-src\Quaternion.cs" />\r
<Compile Include="devel-src\Radian.cs" />\r
<Compile Include="devel-src\RadioButton.cs" />\r
<Compile Include="devel-src\Rectangle.cs" />\r
<Compile Include="devel-src\RenderTask.cs" />\r
<Compile Include="devel-src\RenderTaskList.cs" />\r
<Compile Include="devel-src\RenderTaskSignal.cs" />\r
- <Compile Include="devel-src\ResizePolicyType.cs" />\r
<Compile Include="devel-src\ResourceImage.cs" />\r
<Compile Include="devel-src\ResourceImageSignal.cs" />\r
+ <Compile Include="devel-src\Rotation.cs" />\r
<Compile Include="devel-src\Ruler.cs" />\r
<Compile Include="devel-src\RulerDomain.cs" />\r
<Compile Include="devel-src\RulerPtr.cs" />\r
<Compile Include="devel-src\Shader.cs" />\r
<Compile Include="devel-src\SignalConnectorType.cs" />\r
<Compile Include="devel-src\SignalObserver.cs" />\r
+ <Compile Include="devel-src\Size2D.cs" />\r
<Compile Include="devel-src\Size.cs" />\r
- <Compile Include="devel-src\SizeScalePolicyType.cs" />\r
<Compile Include="devel-src\Slider.cs" />\r
<Compile Include="devel-src\SliderMarkReachedSignal.cs" />\r
<Compile Include="devel-src\SliderValueChangedSignal.cs" />\r
<Compile Include="devel-src\SlotObserver.cs" />\r
<Compile Include="devel-src\SnapType.cs" />\r
- <Compile Include="devel-src\spin.cs" />\r
+ <Compile Include="devel-src\CustomView\Spin.cs" />\r
<Compile Include="devel-src\Stage.cs" />\r
<Compile Include="devel-src\StageWheelSignal.cs" />\r
<Compile Include="devel-src\StencilFunctionType.cs" />\r
<Compile Include="devel-src\StencilOperationType.cs" />\r
<Compile Include="devel-src\StringValuePair.cs" />\r
<Compile Include="devel-src\StyleChangedSignal.cs" />\r
- <Compile Include="devel-src\StyleChangeType.cs" />\r
<Compile Include="devel-src\StyleManager.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_CallbackBase.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Configuration__ContextLoss.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__Constraint.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__CustomActorImpl__Extension.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__FunctorDelegate.cs" />\r
+ <Compile Include="devel-src\SWIGTYPE_p_Dali__Internal__Texture.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__Internal__TypeRegistry.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__RectT_unsigned_int_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__SignalT_void_fboolF_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t.cs" />\r
- <Compile Include="devel-src\SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_Dali__TouchEvent.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_double.cs" />\r
+ <Compile Include="devel-src\SWIGTYPE_p_f_float__float.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_float.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_FunctorDelegate.cs" />\r
- <Compile Include="devel-src\SWIGTYPE_p_f_float__float.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_f_r_Dali__Vector2__bool.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.cs" />\r
- <Compile Include="devel-src\SWIGTYPE_p_f___bool.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_int.cs" />\r
+ <Compile Include="devel-src\SWIGTYPE_p_KeyboardFocusManager.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_PropertyInputContainer.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_std__type_info.cs" />\r
<Compile Include="devel-src\SWIGTYPE_p_uint8_t.cs" />\r
<Compile Include="devel-src\VectorInteger.cs" />\r
<Compile Include="devel-src\VectorUint16Pair.cs" />\r
<Compile Include="devel-src\VectorUnsignedChar.cs" />\r
- <Compile Include="devel-src\VerticalAlignmentType.cs" />\r
<Compile Include="devel-src\VideoView.cs" />\r
<Compile Include="devel-src\VideoViewSignal.cs" />\r
<Compile Include="devel-src\View.cs" />\r
<Compile Include="devel-src\ViewRegistryHelper.cs" />\r
<Compile Include="devel-src\ViewWrapper.cs" />\r
<Compile Include="devel-src\ViewWrapperImpl.cs" />\r
- <Compile Include="devel-src\visual-high-level\ImageVisual.cs" />\r
- <Compile Include="devel-src\visual-high-level\TextVisual.cs" />\r
- <Compile Include="devel-src\visual-high-level\VisualCommon.cs" />\r
- <Compile Include="devel-src\visual-high-level\VisualView.cs" />\r
+ <Compile Include="devel-src\CustomView\VisualView.cs" />\r
<Compile Include="devel-src\VisualBase.cs" />\r
<Compile Include="devel-src\VisualFactory.cs" />\r
+ <Compile Include="devel-src\VisualMaps.cs" />\r
+ <Compile Include="devel-src\VisualTransformPolicyType.cs" />\r
<Compile Include="devel-src\VisualTransformPropertyType.cs" />\r
<Compile Include="devel-src\VisualType.cs" />\r
<Compile Include="devel-src\VoidSignal.cs" />\r
<Compile Include="devel-src\Wheel.cs" />\r
<Compile Include="devel-src\Window.cs" />\r
<Compile Include="devel-src\WrapModeType.cs" />\r
- <Compile Include="Properties\AssemblyInfo.cs" />\r
</ItemGroup>\r
<ItemGroup>\r
<Reference Include="Tizen.Applications, Version=1.0.0.0, Culture=neutral, PublicKeyToken=4aa249e9db245e88, processorArchitecture=MSIL">\r
</FlavorProperties>\r
</VisualStudio>\r
</ProjectExtensions>\r
-</Project>
\ No newline at end of file
+</Project>\r
namespace Tizen.NUI {
-public class AccessibilityActionSignal : global::System.IDisposable {
+internal class AccessibilityActionSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class AccessibilityFocusOvershotSignal : global::System.IDisposable {
+internal class AccessibilityFocusOvershotSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
using System;
using System.Runtime.InteropServices;
-public class AccessibilityManager : BaseHandle {
+internal class AccessibilityManager : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal AccessibilityManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.AccessibilityManager_SWIGUpcast(cPtr), cMemoryOwn) {
-/** Copyright (c) 2017 Samsung Electronics Co., Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-*/
-// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
-//------------------------------------------------------------------------------
-// <auto-generated />
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
+
+namespace Tizen.NUI
+{
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// Actor is the primary object with which Dali applications interact.
+ /// UI controls can be built by combining multiple actors.
+ /// </summary>
+ public class Actor : Handle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal Actor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Actor_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Actor obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Actor()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ /// <summary>
+ /// To make Actor instance be disposed.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Actor(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
+
+ internal static Actor GetActorFromPtr(global::System.IntPtr cPtr)
+ {
+ Actor ret = new Actor(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal IntPtr GetPtrfromActor()
+ {
+ return (IntPtr)swigCPtr;
+ }
+
+ /// <summary>
+ /// Retrieve the position of the Actor.
+ /// The coordinates are relative to the Actor's parent.
+ /// </summary>
+ public Position CurrentPosition
+ {
+ get
+ {
+ return GetCurrentPosition();
+ }
+ }
+
+ /// <summary>
+ /// Retrieve the size of the Actor.
+ /// The coordinates are relative to the Actor's parent.
+ /// </summary>
+ public Size CurrentSize
+ {
+ get
+ {
+ return GetCurrentSize();
+ }
+ }
+
+ /// <summary>
+ /// Retrieves the actor's parent.
+ /// </summary>
+ public Actor Parent
+ {
+ get
+ {
+ return GetParent();
+ }
+ }
+
+ /// <summary>
+ /// Retrieves and sets the actor's opacity.
+ /// </summary>
+ public float Opacity
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.COLOR_ALPHA).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.COLOR_ALPHA, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Retrieves screen postion of actor's
+ /// </summary>
+ public Vector2 ScreenPosition
+ {
+ get
+ {
+ Vector2 temp = new Vector2(0.0f, 0.0f);
+ GetProperty(Actor.Property.SCREEN_POSITION).Get(temp);
+ return temp;
+ }
+ }
+
+ /// <summary>
+ /// Determines whether the anchor point should be used to determine the position of the actor.
+ /// This is true by default.
+ /// Note: If false, then the top-left of the actor is used for the position.
+ /// Setting this to false will allow scaling or rotation around the anchor-point without affecting the actor's position.
+ /// </summary>
+ public bool PositionUsesAnchorPoint
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.POSITION_USES_ANCHOR_POINT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.POSITION_USES_ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Queries whether the actor is connected to the Stage.
+ /// When an actor is connected, it will be directly or indirectly parented to the root Actor.
+ /// </summary>
+ public bool IsOnStage
+ {
+ get
+ {
+ return OnStage();
+ }
+ }
+
+ /// <summary>
+ /// Gets depth in the hierarchy for the actor.
+ /// </summary>
+ public int HierarchyDepth
+ {
+ get
+ {
+ return GetHierarchyDepth();
+ }
+ }
+
+ /// <summary>
+ /// Sets the sibling order of the actor so depth position can be defined within the same parent.
+ /// Note The initial value is 0.
+ /// Raise, Lower, RaiseToTop, LowerToBottom, RaiseAbove and LowerBelow will override the sibling order.
+ /// The values set by this Property will likely change.
+ /// </summary>
+ public int SiblingOrder
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(Actor.Property.SIBLING_ORDER).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SIBLING_ORDER, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Sets the size of an actor for Width and Height.
+ /// Geometry can be scaled to fit within this area.
+ /// This does not interfere with the actors scale factor.
+ /// The actors default depth is the minimum of Width & Height.
+ /// </summary>
+ public Size2D Size2D
+ {
+ get
+ {
+ Size temp = new Size(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.SIZE).Get(temp);
+ return new Size2D(temp);
+ }
+ set
+ {
+ SetProperty(Actor.Property.SIZE, new PropertyValue(new Size(value)));
+ }
+ }
+
+ /// <summary>
+ /// Sets the position of the Actor for X and Y.
+ /// By default, sets the position vector between the parent origin and anchor point(default).
+ /// If Position inheritance if disabled, sets the world position.
+ /// </summary>
+ public Position2D Position2D
+ {
+ get
+ {
+ Position temp = new Position(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.POSITION).Get(temp);
+ return new Position2D(temp);
+ }
+ set
+ {
+ SetProperty(Actor.Property.POSITION, new PropertyValue(new Position(value)));
+ }
+ }
+
+ /// <summary>
+ /// Sets the visibility flag of an actor as true to be shown.
+ /// Note This is an asynchronous method; the value written may not match a value subsequently read with Visible.
+ /// If an actor's visibility flag is set to false, then the actor and its children will not be rendered.
+ /// This is regardless of the individual visibility values of the children i.e.an actor will only be rendered if all of its parents have visibility set to true.
+ /// </summary>
+ public void Show()
+ {
+ SetVisible(true);
+ }
+
+ /// <summary>
+ /// Sets the visibility flag of an actor as false to be hidden.
+ /// </summary>
+ public void Hide()
+ {
+ SetVisible(false);
+ }
+
+ /// <summary>
+ /// Raise actor above the next highest level of actor(s).
+ /// Note Sibling order of actors within the parent will be updated automatically.
+ /// Initially actors added to a parent will have the same sibling order and shown in relation to insertion order.
+ /// Raising this actor above actors with the same sibling order as each other will raise this actor above them.
+ /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+ /// </summary>
+ public void Raise()
+ {
+ NDalicPINVOKE.Raise(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Lower the actor to underneath the level below actor(s).
+ /// Note Sibling order of actors within the parent will be updated automatically.
+ /// Lowering this actor below actors with the same sibling order as each other will lower this actor above them.
+ /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+ /// </summary>
+ public void Lower()
+ {
+ NDalicPINVOKE.Lower(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Raise actor above all other actors.
+ /// Note Sibling order of actors within the parent will be updated automatically.
+ /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+ /// </summary>
+ public void RaiseToTop()
+ {
+ NDalicPINVOKE.RaiseToTop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Lower actor to the bottom of all actors.
+ /// Note Sibling order of actors within the parent will be updated automatically.
+ /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+ /// </summary>
+ public void LowerToBottom()
+ {
+ NDalicPINVOKE.LowerToBottom(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Raise the actor to above the target actor.
+ /// Note Sibling order of actors within the parent will be updated automatically.
+ /// Actors on the level above the target actor will still be shown above this actor.
+ /// Raising this actor above actors with the same sibling order as each other will raise this actor above them.
+ /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+ /// </summary>
+ /// <param name="target">Will be raised above this actor</param>
+ public void RaiseAbove(Actor target)
+ {
+ NDalicPINVOKE.RaiseAbove(swigCPtr, Actor.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Lower the actor to below the target actor.
+ /// Note Sibling order of actors within the parent will be updated automatically.
+ /// Lowering this actor below actors with the same sibling order as each other will lower this actor above them.
+ /// Once a raise or lower API is used that actor will then have an exclusive sibling order independent of insertion.
+ /// </summary>
+ /// <param name="target">Will be lowered below this actor</param>
+ public void LowerBelow(Actor target)
+ {
+ NDalicPINVOKE.RaiseAbove(swigCPtr, Actor.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Actor_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
+ internal static readonly int OPACITY = NDalicManualPINVOKE.Actor_Property_OPACITY_get();
+ internal static readonly int SCREEN_POSITION = NDalicManualPINVOKE.Actor_Property_SCREEN_POSITION_get();
+ internal static readonly int POSITION_USES_ANCHOR_POINT = NDalicManualPINVOKE.Actor_Property_POSITION_USES_ANCHOR_POINT_get();
+
+ internal Property() : this(NDalicPINVOKE.new_Actor_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
+ internal static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
+ internal static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
+ internal static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
+ internal static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
+ internal static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
+ internal static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
+ internal static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
+ internal static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
+ internal static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
+ internal static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
+ internal static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
+ internal static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
+ internal static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
+ internal static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
+ internal static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
+ internal static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
+ internal static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
+ internal static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
+ internal static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
+ internal static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
+ internal static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
+ internal static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
+ internal static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
+ internal static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
+ internal static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
+ internal static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
+ internal static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
+ internal static readonly int COLOR = NDalicPINVOKE.Actor_Property_COLOR_get();
+ internal static readonly int COLOR_RED = NDalicPINVOKE.Actor_Property_COLOR_RED_get();
+ internal static readonly int COLOR_GREEN = NDalicPINVOKE.Actor_Property_COLOR_GREEN_get();
+ internal static readonly int COLOR_BLUE = NDalicPINVOKE.Actor_Property_COLOR_BLUE_get();
+ internal static readonly int COLOR_ALPHA = NDalicPINVOKE.Actor_Property_COLOR_ALPHA_get();
+ internal static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
+ internal static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
+ internal static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
+ internal static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
+ internal static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
+ internal static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
+ internal static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
+ internal static readonly int COLOR_MODE = NDalicPINVOKE.Actor_Property_COLOR_MODE_get();
+ internal static readonly int POSITION_INHERITANCE = NDalicPINVOKE.Actor_Property_POSITION_INHERITANCE_get();
+ internal static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
+ internal static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
+ internal static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
+ internal static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
+ internal static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
+ internal static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
+ internal static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
+ internal static readonly int PADDING = NDalicPINVOKE.Actor_Property_PADDING_get();
+ internal static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
+ internal static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
+ internal static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
+ internal static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
+
+ }
+
+ /// <summary>
+ /// Creates an initialized Actor.
+ /// </summary>
+ public Actor() : this(NDalicPINVOKE.Actor_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Downcasts a handle to Actor handle.
+ /// If handle points to an Actor object, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized. *
+ /// </summary>
+ /// <param name="handle">handle to An object</param>
+ /// <returns>handle to a Actor object or an uninitialized handle</returns>
+ public new static Actor DownCast(BaseHandle handle)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Actor_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Actor(Actor copy) : this(NDalicPINVOKE.new_Actor__SWIG_1(Actor.getCPtr(copy)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Actor Assign(Actor rhs)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Actor_Assign(swigCPtr, Actor.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal string GetName()
+ {
+ string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetName(string name)
+ {
+ NDalicPINVOKE.Actor_SetName(swigCPtr, name);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal uint GetId()
+ {
+ uint ret = NDalicPINVOKE.Actor_GetId(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool IsRoot()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsRoot(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool OnStage()
+ {
+ bool ret = NDalicPINVOKE.Actor_OnStage(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool IsLayer()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsLayer(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Layer GetLayer()
+ {
+ Layer ret = new Layer(NDalicPINVOKE.Actor_GetLayer(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Adds a child Actor to this Actor.
+ /// Precondition : This Actor(the parent) has been initialized. The child actor has been initialized. The child actor is not the same as the parent actor.
+ /// PostCondition : The child will be referenced by its parent. This means that the child will be kept alive, even if the handle passed into this method is reset or destroyed.
+ /// Note : If the child already has a parent, it will be removed from old parent and reparented to this actor. This may change child's position, color, scale etc as it now inherits them from this actor.
+ /// </summary>
+ /// <param name="child">The child</param>
+ public void Add(Actor child)
+ {
+ NDalicPINVOKE.Actor_Add(swigCPtr, Actor.getCPtr(child));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Removes a child Actor from this Actor. If the actor was not a child of this actor, this is a no-op.
+ /// Precondition : This Actor(the parent) has been initialized. The child actor is not the same as the parent actor.
+ /// </summary>
+ /// <param name="child">The child</param>
+ public void Remove(Actor child)
+ {
+ NDalicPINVOKE.Actor_Remove(swigCPtr, Actor.getCPtr(child));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Unparent()
+ {
+ NDalicPINVOKE.Actor_Unparent(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Retrieves the number of children held by the actor.
+ /// Precondition : The Actor has been initialized.
+ /// </summary>
+ /// <returns>The number of children</returns>
+ public uint GetChildCount()
+ {
+ uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieve and child actor by index.
+ /// Precondition : The Actor has been initialized.
+ /// </summary>
+ /// <param name="index">The index of the child to retrieve</param>
+ /// <returns>The actor for the given index or empty handle if children not initialized</returns>
+ public Actor GetChildAt(uint index)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Search through this actor's hierarchy for an actor with the given name.
+ /// The actor itself is also considered in the search.
+ ///Precondition : The Actor has been initialized.
+ /// </summary>
+ /// <param name="actorName">The name of the actor to find</param>
+ /// <returns>A handle to the actor if found, or an empty handle if not</returns>
+ public Actor FindChildByName(string actorName)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Actor_FindChildByName(swigCPtr, actorName), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Actor FindChildById(uint id)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Actor_FindChildById(swigCPtr, id), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Actor GetParent()
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Actor_GetParent(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetParentOrigin(Vector3 origin)
+ {
+ NDalicPINVOKE.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector3 GetCurrentParentOrigin()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentParentOrigin(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetAnchorPoint(Vector3 anchorPoint)
+ {
+ NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector3 GetCurrentAnchorPoint()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentAnchorPoint(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetSize(float width, float height)
+ {
+ NDalicPINVOKE.Actor_SetSize__SWIG_0(swigCPtr, width, height);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetSize(float width, float height, float depth)
+ {
+ NDalicPINVOKE.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetSize(Vector2 size)
+ {
+ NDalicPINVOKE.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetSize(Vector3 size)
+ {
+ NDalicPINVOKE.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector3 GetTargetSize()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetTargetSize(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Size GetCurrentSize()
+ {
+ Size ret = new Size(NDalicPINVOKE.Actor_GetCurrentSize(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the natural size of the actor.
+ /// Deriving classes stipulate the natural size and by default an actor has a ZERO natural size.
+ /// </summary>
+ /// <returns>The actor's natural size</returns>
+ public Vector3 GetNaturalSize()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetPosition(float x, float y)
+ {
+ NDalicPINVOKE.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetPosition(float x, float y, float z)
+ {
+ NDalicPINVOKE.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetPosition(Vector3 position)
+ {
+ NDalicPINVOKE.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetX(float x)
+ {
+ NDalicPINVOKE.Actor_SetX(swigCPtr, x);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetY(float y)
+ {
+ NDalicPINVOKE.Actor_SetY(swigCPtr, y);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetZ(float z)
+ {
+ NDalicPINVOKE.Actor_SetZ(swigCPtr, z);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void TranslateBy(Vector3 distance)
+ {
+ NDalicPINVOKE.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Position GetCurrentPosition()
+ {
+ Position ret = new Position(NDalicPINVOKE.Actor_GetCurrentPosition(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 GetCurrentWorldPosition()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldPosition(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetInheritPosition(bool inherit)
+ {
+ NDalicPINVOKE.Actor_SetInheritPosition(swigCPtr, inherit);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal PositionInheritanceMode GetPositionInheritanceMode()
+ {
+ PositionInheritanceMode ret = (PositionInheritanceMode)NDalicPINVOKE.Actor_GetPositionInheritanceMode(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool IsPositionInherited()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsPositionInherited(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetOrientation(Degree angle, Vector3 axis)
+ {
+ NDalicPINVOKE.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetOrientation(Radian angle, Vector3 axis)
+ {
+ NDalicPINVOKE.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetOrientation(Rotation orientation)
+ {
+ NDalicPINVOKE.Actor_SetOrientation__SWIG_2(swigCPtr, Rotation.getCPtr(orientation));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void RotateBy(Degree angle, Vector3 axis)
+ {
+ NDalicPINVOKE.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void RotateBy(Radian angle, Vector3 axis)
+ {
+ NDalicPINVOKE.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void RotateBy(Rotation relativeRotation)
+ {
+ NDalicPINVOKE.Actor_RotateBy__SWIG_2(swigCPtr, Rotation.getCPtr(relativeRotation));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Rotation GetCurrentOrientation()
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentOrientation(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetInheritOrientation(bool inherit)
+ {
+ NDalicPINVOKE.Actor_SetInheritOrientation(swigCPtr, inherit);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsOrientationInherited()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsOrientationInherited(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Rotation GetCurrentWorldOrientation()
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Actor_GetCurrentWorldOrientation(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetScale(float scale)
+ {
+ NDalicPINVOKE.Actor_SetScale__SWIG_0(swigCPtr, scale);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetScale(float scaleX, float scaleY, float scaleZ)
+ {
+ NDalicPINVOKE.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetScale(Vector3 scale)
+ {
+ NDalicPINVOKE.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void ScaleBy(Vector3 relativeScale)
+ {
+ NDalicPINVOKE.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector3 GetCurrentScale()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentScale(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 GetCurrentWorldScale()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldScale(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetInheritScale(bool inherit)
+ {
+ NDalicPINVOKE.Actor_SetInheritScale(swigCPtr, inherit);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsScaleInherited()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsScaleInherited(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Matrix GetCurrentWorldMatrix()
+ {
+ Matrix ret = new Matrix(NDalicPINVOKE.Actor_GetCurrentWorldMatrix(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetVisible(bool visible)
+ {
+ NDalicPINVOKE.Actor_SetVisible(swigCPtr, visible);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsVisible()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsVisible(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetOpacity(float opacity)
+ {
+ NDalicPINVOKE.Actor_SetOpacity(swigCPtr, opacity);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetCurrentOpacity()
+ {
+ float ret = NDalicPINVOKE.Actor_GetCurrentOpacity(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetColor(Vector4 color)
+ {
+ NDalicPINVOKE.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector4 GetCurrentColor()
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentColor(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetColorMode(ColorMode colorMode)
+ {
+ NDalicPINVOKE.Actor_SetColorMode(swigCPtr, (int)colorMode);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ColorMode GetColorMode()
+ {
+ ColorMode ret = (ColorMode)NDalicPINVOKE.Actor_GetColorMode(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 GetCurrentWorldColor()
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentWorldColor(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetDrawMode(DrawModeType drawMode)
+ {
+ NDalicPINVOKE.Actor_SetDrawMode(swigCPtr, (int)drawMode);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal DrawModeType GetDrawMode()
+ {
+ DrawModeType ret = (DrawModeType)NDalicPINVOKE.Actor_GetDrawMode(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetSensitive(bool sensitive)
+ {
+ NDalicPINVOKE.Actor_SetSensitive(swigCPtr, sensitive);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsSensitive()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsSensitive(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Converts screen coordinates into the actor's coordinate system using the default camera.
+ /// Precondition : The Actor has been initialized.
+ /// Note : The actor coordinates are relative to the top-left(0.0, 0.0, 0.5)
+ /// </summary>
+ /// <param name="localX">On return, the X-coordinate relative to the actor</param>
+ /// <param name="localY">On return, the Y-coordinate relative to the actor</param>
+ /// <param name="screenX">The screen X-coordinate</param>
+ /// <param name="screenY">The screen Y-coordinate</param>
+ /// <returns>True if the conversion succeeded</returns>
+ public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY)
+ {
+ bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetLeaveRequired(bool required)
+ {
+ NDalicPINVOKE.Actor_SetLeaveRequired(swigCPtr, required);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool GetLeaveRequired()
+ {
+ bool ret = NDalicPINVOKE.Actor_GetLeaveRequired(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetKeyboardFocusable(bool focusable)
+ {
+ NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsKeyboardFocusable()
+ {
+ bool ret = NDalicPINVOKE.Actor_IsKeyboardFocusable(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
+ {
+ NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ResizePolicyType GetResizePolicy(DimensionType dimension)
+ {
+ ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetSizeScalePolicy(SizeScalePolicyType policy)
+ {
+ NDalicPINVOKE.Actor_SetSizeScalePolicy(swigCPtr, (int)policy);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal SizeScalePolicyType GetSizeScalePolicy()
+ {
+ SizeScalePolicyType ret = (SizeScalePolicyType)NDalicPINVOKE.Actor_GetSizeScalePolicy(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the relative to parent size factor of the actor.
+ /// This factor is only used when ResizePolicy is set to either
+ /// This actor's size is set to the actor's size multiplied by or added to this factor, depending on ResizePolicy
+ /// Precondition : The Actor has been initialized.
+ /// </summary>
+ /// <param name="factor">A Vector3 representing the relative factor to be applied to each axis</param>
+ public void SetSizeModeFactor(Vector3 factor)
+ {
+ NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector3 GetSizeModeFactor()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Calculates the height of the actor given a width.
+ /// The natural size is used for default calculation.
+ /// size 0 is treated as aspect ratio 1:1.
+ /// </summary>
+ /// <param name="width">Width to use</param>
+ /// <returns>the height based on the width</returns>
+ public float GetHeightForWidth(float width)
+ {
+ float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Calculates the width of the actor given a height.
+ /// The natural size is used for default calculation.
+ /// size 0 is treated as aspect ratio 1:1.
+ /// </summary>
+ /// <param name="height">Height to use</param>
+ /// <returns>the width based on the height</returns>
+ public float GetWidthForHeight(float height)
+ {
+ float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public float GetRelayoutSize(DimensionType dimension)
+ {
+ float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the padding for use in layout.
+ /// </summary>
+ /// <param name="padding">padding Padding for the actor</param>
+ public void SetPadding(PaddingType padding)
+ {
+ NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Returns the value of the padding.
+ /// </summary>
+ /// <param name="paddingOut">The returned padding data</param>
+ public void GetPadding(PaddingType paddingOut)
+ {
+ NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetMinimumSize(Vector2 size)
+ {
+ NDalicPINVOKE.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector2 GetMinimumSize()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMinimumSize(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetMaximumSize(Vector2 size)
+ {
+ NDalicPINVOKE.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector2 GetMaximumSize()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMaximumSize(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal int GetHierarchyDepth()
+ {
+ int ret = NDalicPINVOKE.Actor_GetHierarchyDepth(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal uint AddRenderer(Renderer renderer)
+ {
+ uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal uint GetRendererCount()
+ {
+ uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Renderer GetRendererAt(uint index)
+ {
+ Renderer ret = new Renderer(NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void RemoveRenderer(Renderer renderer)
+ {
+ NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void RemoveRenderer(uint index)
+ {
+ NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t TouchedSignal()
+ {
+ SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t ret = new SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t(NDalicPINVOKE.Actor_TouchedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ActorTouchDataSignal TouchSignal()
+ {
+ ActorTouchDataSignal ret = new ActorTouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ActorHoverSignal HoveredSignal()
+ {
+ ActorHoverSignal ret = new ActorHoverSignal(NDalicPINVOKE.Actor_HoveredSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ActorWheelSignal WheelEventSignal()
+ {
+ ActorWheelSignal ret = new ActorWheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ActorSignal OnStageSignal()
+ {
+ ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OnStageSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ActorSignal OffStageSignal()
+ {
+ ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OffStageSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ActorSignal OnRelayoutSignal()
+ {
+ ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OnRelayoutSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Gets/Sets the origin of an actor, within its parent's area.
+ /// This is expressed in unit coordinates, such that(0.0, 0.0, 0.5) is the top-left corner of the parent, and(1.0, 1.0, 0.5) is the bottom-right corner.
+ /// The default parent-origin is ParentOrigin.TopLeft (0.0, 0.0, 0.5).
+ /// An actor's position is the distance between this origin, and the actor's anchor-point.
+ /// Precondition : The Actor has been initialized.
+ /// </summary>
+ public Position ParentOrigin
+ {
+ get
+ {
+ Position temp = new Position(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.PARENT_ORIGIN).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.PARENT_ORIGIN, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the anchor-point of an actor.
+ /// This is expressed in unit coordinates, such that (0.0, 0.0, 0.5) is the top-left corner of the actor, and(1.0, 1.0, 0.5) is the bottom-right corner.
+ /// The default anchor point is AnchorPoint.Center (0.5, 0.5, 0.5).
+ /// An actor position is the distance between its parent-origin and this anchor-point.
+ /// An actor's orientation is the rotation from its default orientation, the rotation is centered around its anchor-point.
+ /// Precondition : The Actor has been initialized.
+ /// </summary>
+ public Position AnchorPoint
+ {
+ get
+ {
+ Position temp = new Position(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.ANCHOR_POINT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.ANCHOR_POINT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+
+ /// <summary>
+ /// Gets/Sets the size of an actor.
+ /// Geometry can be scaled to fit within this area.
+ /// This does not interfere with the actors scale factor.
+ /// </summary>
+ public Size Size
+ {
+ get
+ {
+ Size temp = new Size(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.SIZE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the size width of an actor.
+ /// </summary>
+ public float SizeWidth
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.SIZE_WIDTH).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SIZE_WIDTH, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the size height of an actor.
+ /// </summary>
+ public float SizeHeight
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.SIZE_HEIGHT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SIZE_HEIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the size depth of an actor.
+ /// </summary>
+ public float SizeDepth
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.SIZE_DEPTH).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SIZE_DEPTH, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the position of the Actor.
+ /// By default, sets the position vector between the parent origin and anchor point(default).
+ /// If Position inheritance if disabled, sets the world position.
+ /// </summary>
+ public Position Position
+ {
+ get
+ {
+ Position temp = new Position(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.POSITION).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.POSITION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+
+ /// <summary>
+ /// Gets/Sets the position x of the Actor.
+ /// </summary>
+ public float PositionX
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.POSITION_X).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.POSITION_X, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the position y of the Actor.
+ /// </summary>
+ public float PositionY
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.POSITION_Y).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.POSITION_Y, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the position z of the Actor.
+ /// </summary>
+ public float PositionZ
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.POSITION_Z).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.POSITION_Z, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the world position of the Actor.
+ /// </summary>
+ public Vector3 WorldPosition
+ {
+ get
+ {
+ Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.WORLD_POSITION).Get(temp);
+ return temp;
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the orientation of the Actor.
+ /// An actor's orientation is the rotation from its default orientation, and the rotation is centered around its anchor-point.
+ /// Note: This is an asynchronous method.
+ /// </summary>
+ public Rotation Orientation
+ {
+ get
+ {
+ Rotation temp = new Rotation();
+ GetProperty(Actor.Property.ORIENTATION).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.ORIENTATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the world orientation of the Actor.
+ /// </summary>
+ public Rotation WorldOrientation
+ {
+ get
+ {
+ Rotation temp = new Rotation();
+ GetProperty(Actor.Property.WORLD_ORIENTATION).Get(temp);
+ return temp;
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the scale factor applied to an actor.
+ /// Note : This is an asynchronous method.
+ /// </summary>
+ public Vector3 Scale
+ {
+ get
+ {
+ Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.SCALE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SCALE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the scale x factor applied to an actor.
+ /// </summary>
+ public float ScaleX
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.SCALE_X).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SCALE_X, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the scale y factor applied to an actor.
+ /// </summary>
+ public float ScaleY
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.SCALE_Y).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SCALE_Y, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the scale z factor applied to an actor.
+ /// </summary>
+ public float ScaleZ
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.SCALE_Z).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SCALE_Z, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets the world scale of Actor.
+ /// </summary>
+ public Vector3 WorldScale
+ {
+ get
+ {
+ Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.WORLD_SCALE).Get(temp);
+ return temp;
+ }
+ }
-namespace Tizen.NUI {
+ /// <summary>
+ /// Retrieves the visibility flag of an actor.
+ /// Note : If an actor is not visible, then the actor and its children will not be rendered.
+ /// This is regardless of the individual visibility values of the children i.e.an actor will only be rendered if all of its parents have visibility set to true.
+ /// </summary>
+ public bool Visible
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.VISIBLE).Get(ref temp);
+ return temp;
+ }
+ /* only get is required : removed
+ set
+ {
+ SetProperty(Actor.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
+ }
+ */
+ }
- using System;
- using System.Runtime.InteropServices;
+ /// <summary>
+ /// Gets/Sets the actor's mix color; this is an RGBA value.
+ /// The final color of the actor depends on its color mode.
+ /// Note : This is an asynchronous method.
+ /// </summary>
+ public Color MixColor
+ {
+ get
+ {
+ Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
-public class Actor : Handle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// Gets/Sets the actor's mix color red.
+ /// </summary>
+ public float ColorRed
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.COLOR_RED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.COLOR_RED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- internal Actor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Actor_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ /// <summary>
+ /// Gets/Sets the actor's mix color green.
+ /// </summary>
+ public float ColorGreen
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.COLOR_GREEN).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.COLOR_GREEN, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Actor obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// Gets/Sets the actor's mix color blue
+ /// </summary>
+ public float ColorBlue
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.COLOR_BLUE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.COLOR_BLUE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- ~Actor() {
- DisposeQueue.Instance.Add(this);
- }
+ /// <summary>
+ /// Gets/Sets the actor's mix color alpha.
+ /// </summary>
+ public float ColorAlpha
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Actor.Property.COLOR_ALPHA).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.COLOR_ALPHA, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Gets the actor's world color.
+ /// </summary>
+ public Color WorldColor
+ {
+ get
+ {
+ Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.WORLD_COLOR).Get(temp);
+ return temp;
+ }
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Actor(swigCPtr);
+ /// <summary>
+ /// Gets/Sets the Actor's name.
+ /// </summary>
+ public string Name
+ {
+ get
+ {
+ string temp;
+ GetProperty(Actor.Property.NAME).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.NAME, new Tizen.NUI.PropertyValue(value));
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// Gets/Sets the status of whether an actor should emit touch or hover signals.
+ /// </summary>
+ public bool Sensitive
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.SENSITIVE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SENSITIVE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Gets/Sets the status of whether the actor should receive a notification when touch or hover motion events leave the boundary of the actor.
+ /// </summary>
+ public bool LeaveRequired
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.LEAVE_REQUIRED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.LEAVE_REQUIRED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public static Actor GetActorFromPtr(global::System.IntPtr cPtr) {
- Actor ret = new Actor(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Gets/Sets the status of whether a child actor inherits it's parent's orientation.
+ /// </summary>
+ public bool InheritOrientation
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.INHERIT_ORIENTATION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.INHERIT_ORIENTATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public IntPtr GetPtrfromActor ()
- {
- return (IntPtr)swigCPtr;
- }
+ /// <summary>
+ /// Gets/Sets the status of whether a child actor inherits it's parent's scale.
+ /// </summary>
+ public bool InheritScale
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.INHERIT_SCALE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.INHERIT_SCALE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public Position CurrentPosition
- {
- get
- {
- return GetCurrentPosition();
- }
- }
+ /// <summary>
+ /// Gets/Sets the actor's color mode.
+ /// This specifies whether the Actor uses its own color, or inherits its parent color.
+ /// The default is UseOwnMultiplyParentAlpha.
+ /// </summary>
+ public ColorMode ColorMode
+ {
+ get
+ {
+ string temp;
+ if (GetProperty(Actor.Property.COLOR_MODE).Get(out temp) == false)
+ {
+ //Tizen.Log.Error("NUI", "ColorMode get error!");
+ }
+ switch (temp)
+ {
+ case "USE_OWN_COLOR":
+ return ColorMode.UseOwnColor;
+ case "USE_PARENT_COLOR":
+ return ColorMode.UseParentColor;
+ case "USE_OWN_MULTIPLY_PARENT_COLOR":
+ return ColorMode.UseOwnMultiplyParentColor;
+ case "USE_OWN_MULTIPLY_PARENT_ALPHA":
+ return ColorMode.UseOwnMultiplyParentAlpha;
+ default:
+ return ColorMode.UseOwnMultiplyParentAlpha;
+ }
+ }
+ set
+ {
+ SetProperty(Actor.Property.COLOR_MODE, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
- public Size3D CurrentSize
- {
- get
- {
- return GetCurrentSize();
- }
- }
- public Actor Parent
- {
- get
- {
- return GetParent();
- }
- }
+ /// <summary>
+ /// Gets/Sets the status of how the actor and its children should be drawn.
+ /// Not all actors are renderable, but DrawMode can be inherited from any actor.
+ /// If an object is in a 3D layer, it will be depth-tested against other objects in the world i.e. it may be obscured if other objects are in front.
+ /// If DrawMode.Overlay2D is used, the actor and its children will be drawn as a 2D overlay.
+ /// Overlay actors are drawn in a separate pass, after all non-overlay actors within the Layer.
+ /// For overlay actors, the drawing order is with respect to tree levels of Actors, and depth-testing will not be used.
+ /// </summary>
+ public DrawModeType DrawMode
+ {
+ get
+ {
+ string temp;
+ if (GetProperty(Actor.Property.DRAW_MODE).Get(out temp) == false)
+ {
+ //Tizen.Log.Error("NUI", "DrawMode get error!");
+ }
+ switch (temp)
+ {
+ case "NORMAL":
+ return DrawModeType.Normal;
+ case "OVERLAY_2D":
+ return DrawModeType.Overlay2D;
+ case "STENCIL":
+ return DrawModeType.Stencil;
+ default:
+ return DrawModeType.Normal;
+ }
+ }
+ set
+ {
+ SetProperty(Actor.Property.DRAW_MODE, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
- public bool Visibility
- {
- get
- {
- return IsVisible();
- }
- }
+ /// <summary>
+ /// Gets/Sets the relative to parent size factor of the actor.
+ /// This factor is only used when ResizePolicyType is set to either: ResizePolicyType.SizeRelativeToParent or ResizePolicyType.SizeFixedOffsetFromParent.
+ /// This actor's size is set to the actor's size multiplied by or added to this factor, depending on ResizePolicyType.
+ /// </summary>
+ public Vector3 SizeModeFactor
+ {
+ get
+ {
+ Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.SIZE_MODE_FACTOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.SIZE_MODE_FACTOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public float Opacity
- {
- set
- {
- SetOpacity(value);
- }
- get
- {
- return GetCurrentOpacity();
- }
- }
-
- public bool StateFocusEnable
- {
- set
- {
- SetKeyboardFocusable(value);
- }
- get
- {
- return IsKeyboardFocusable();
- }
- }
+ /// <summary>
+ /// Gets/Sets the width resize policy to be used for the given dimension(s).
+ /// </summary>
+ public ResizePolicyType WidthResizePolicy
+ {
+ get
+ {
+ string temp;
+ if (GetProperty(Actor.Property.WIDTH_RESIZE_POLICY).Get(out temp) == false)
+ {
+ //Tizen.Log.Error("NUI", "WidthResizePolicy get error!");
+ }
+ switch (temp)
+ {
+ case "FIXED":
+ return ResizePolicyType.Fixed;
+ case "USE_NATURAL_SIZE":
+ return ResizePolicyType.UseNaturalSize;
+ case "FILL_TO_PARENT":
+ return ResizePolicyType.FillToParent;
+ case "SIZE_RELATIVE_TO_PARENT":
+ return ResizePolicyType.SizeRelativeToParent;
+ case "SIZE_FIXED_OFFSET_FROM_PARENT":
+ return ResizePolicyType.SizeFixedOffsetFromParent;
+ case "FIT_TO_CHILDREN":
+ return ResizePolicyType.FitToChildren;
+ case "DIMENSION_DEPENDENCY":
+ return ResizePolicyType.DimensionDependency;
+ case "USE_ASSIGNED_SIZE":
+ return ResizePolicyType.UseAssignedSize;
+ default:
+ return ResizePolicyType.Fixed;
+ }
+ }
+ set
+ {
+ SetProperty(Actor.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
- public bool IsOnStage
- {
- get
- {
- return OnStage();
- }
- }
+ /// <summary>
+ /// Gets/Sets the height resize policy to be used for the given dimension(s).
+ /// </summary>
+ public ResizePolicyType HeightResizePolicy
+ {
+ get
+ {
+ string temp;
+ if (GetProperty(Actor.Property.HEIGHT_RESIZE_POLICY).Get(out temp) == false)
+ {
+ //Tizen.Log.Error("NUI", "HeightResizePolicy get error!");
+ }
+ switch (temp)
+ {
+ case "FIXED":
+ return ResizePolicyType.Fixed;
+ case "USE_NATURAL_SIZE":
+ return ResizePolicyType.UseNaturalSize;
+ case "FILL_TO_PARENT":
+ return ResizePolicyType.FillToParent;
+ case "SIZE_RELATIVE_TO_PARENT":
+ return ResizePolicyType.SizeRelativeToParent;
+ case "SIZE_FIXED_OFFSET_FROM_PARENT":
+ return ResizePolicyType.SizeFixedOffsetFromParent;
+ case "FIT_TO_CHILDREN":
+ return ResizePolicyType.FitToChildren;
+ case "DIMENSION_DEPENDENCY":
+ return ResizePolicyType.DimensionDependency;
+ case "USE_ASSIGNED_SIZE":
+ return ResizePolicyType.UseAssignedSize;
+ default:
+ return ResizePolicyType.Fixed;
+ }
+ }
+ set
+ {
+ SetProperty(Actor.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
- public int SiblingOrder
- {
- get
- {
- int temp = 0;
- GetProperty( Actor.Property.SIBLING_ORDER).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SIBLING_ORDER, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// Gets/Sets the policy to use when setting size with size negotiation.
+ /// Defaults to SizeScalePolicyType.UseSizeSet.
+ /// </summary>
+ public SizeScalePolicyType SizeScalePolicy
+ {
+ get
+ {
+ string temp;
+ if (GetProperty(Actor.Property.SIZE_SCALE_POLICY).Get(out temp) == false)
+ {
+ //Tizen.Log.Error("NUI", "SizeScalePolicy get error!");
+ }
+ switch (temp)
+ {
+ case "USE_SIZE_SET":
+ return SizeScalePolicyType.UseSizeSet;
+ case "FIT_WITH_ASPECT_RATIO":
+ return SizeScalePolicyType.FitWithAspectRatio;
+ case "FILL_WITH_ASPECT_RATIO":
+ return SizeScalePolicyType.FillWithAspectRatio;
+ default:
+ return SizeScalePolicyType.UseSizeSet;
+ }
+ }
+ set
+ {
+ string valueToString = "";
+ switch (value)
+ {
+ case SizeScalePolicyType.UseSizeSet:
+ {
+ valueToString = "USE_SIZE_SET";
+ break;
+ }
+ case SizeScalePolicyType.FitWithAspectRatio:
+ {
+ valueToString = "FIT_WITH_ASPECT_RATIO";
+ break;
+ }
+ case SizeScalePolicyType.FillWithAspectRatio:
+ {
+ valueToString = "FILL_WITH_ASPECT_RATIO";
+ break;
+ }
+ default:
+ {
+ valueToString = "USE_SIZE_SET";
+ break;
+ }
+ }
+ SetProperty(Actor.Property.SIZE_SCALE_POLICY, new Tizen.NUI.PropertyValue(valueToString));
+ }
+ }
- public void Show()
- {
- SetVisible(true);
- }
+ /// <summary>
+ /// Gets/Sets the status of whether the width size is dependent on height size.
+ /// </summary>
+ public bool WidthDependentOnHeight
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.WIDTH_FOR_HEIGHT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public void Hide()
- {
- SetVisible(false);
- }
+ /// <summary>
+ /// Gets/Sets the status of whether the height size is dependent on width size.
+ /// </summary>
+ public bool HeightDependentOnWidth
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.HEIGHT_FOR_WIDTH).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the padding for use in layout.
+ /// </summary>
+ public Vector4 Padding
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Actor.Property.PADDING).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+
+ /// <summary>
+ /// Gets/Sets the minimum size an actor can be assigned in size negotiation.
+ /// </summary>
+ public Size2D MinimumSize
+ {
+ get
+ {
+ Size2D temp = new Size2D(0, 0);
+ GetProperty(Actor.Property.MINIMUM_SIZE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.MINIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+
+ /// <summary>
+ /// Gets/Sets the maximum size an actor can be assigned in size negotiation.
+ /// </summary>
+ public Size2D MaximumSize
+ {
+ get
+ {
+ Size2D temp = new Size2D(0, 0);
+ GetProperty(Actor.Property.MAXIMUM_SIZE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.MAXIMUM_SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets whether a child actor inherits it's parent's position.
+ /// Default is to inherit.
+ /// Switching this off means that using Position sets the actor's world position, i.e. translates from the world origin(0,0,0) to the anchor point of the actor.
+ /// </summary>
+ public bool InheritPosition
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Actor.Property.INHERIT_POSITION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Actor.Property.INHERIT_POSITION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets clipping behavior(mode) of it's children
+ /// </summary>
+ public ClippingModeType ClippingMode
+ {
+ get
+ {
+ string temp;
+ if (GetProperty(Actor.Property.CLIPPING_MODE).Get(out temp) == false)
+ {
+ //Tizen.Log.Error("NUI", "ClippingMode get error!");
+ }
+ switch (temp)
+ {
+ case "DISABLED":
+ return ClippingModeType.Disabled;
+ case "CLIP_CHILDREN":
+ return ClippingModeType.ClipChildren;
+ default:
+ return ClippingModeType.Disabled;
+ }
+ }
+ set
+ {
+ SetProperty(Actor.Property.CLIPPING_MODE, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Actor_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public static readonly int SIBLING_ORDER = NDalicManualPINVOKE.Actor_Property_SIBLING_ORDER_get();
-
- public Property() : this(NDalicPINVOKE.new_Actor_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int PARENT_ORIGIN = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_get();
- public static readonly int PARENT_ORIGIN_X = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_X_get();
- public static readonly int PARENT_ORIGIN_Y = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Y_get();
- public static readonly int PARENT_ORIGIN_Z = NDalicPINVOKE.Actor_Property_PARENT_ORIGIN_Z_get();
- public static readonly int ANCHOR_POINT = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_get();
- public static readonly int ANCHOR_POINT_X = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_X_get();
- public static readonly int ANCHOR_POINT_Y = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Y_get();
- public static readonly int ANCHOR_POINT_Z = NDalicPINVOKE.Actor_Property_ANCHOR_POINT_Z_get();
- public static readonly int SIZE = NDalicPINVOKE.Actor_Property_SIZE_get();
- public static readonly int SIZE_WIDTH = NDalicPINVOKE.Actor_Property_SIZE_WIDTH_get();
- public static readonly int SIZE_HEIGHT = NDalicPINVOKE.Actor_Property_SIZE_HEIGHT_get();
- public static readonly int SIZE_DEPTH = NDalicPINVOKE.Actor_Property_SIZE_DEPTH_get();
- public static readonly int POSITION = NDalicPINVOKE.Actor_Property_POSITION_get();
- public static readonly int POSITION_X = NDalicPINVOKE.Actor_Property_POSITION_X_get();
- public static readonly int POSITION_Y = NDalicPINVOKE.Actor_Property_POSITION_Y_get();
- public static readonly int POSITION_Z = NDalicPINVOKE.Actor_Property_POSITION_Z_get();
- public static readonly int WORLD_POSITION = NDalicPINVOKE.Actor_Property_WORLD_POSITION_get();
- public static readonly int WORLD_POSITION_X = NDalicPINVOKE.Actor_Property_WORLD_POSITION_X_get();
- public static readonly int WORLD_POSITION_Y = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Y_get();
- public static readonly int WORLD_POSITION_Z = NDalicPINVOKE.Actor_Property_WORLD_POSITION_Z_get();
- public static readonly int ORIENTATION = NDalicPINVOKE.Actor_Property_ORIENTATION_get();
- public static readonly int WORLD_ORIENTATION = NDalicPINVOKE.Actor_Property_WORLD_ORIENTATION_get();
- public static readonly int SCALE = NDalicPINVOKE.Actor_Property_SCALE_get();
- public static readonly int SCALE_X = NDalicPINVOKE.Actor_Property_SCALE_X_get();
- public static readonly int SCALE_Y = NDalicPINVOKE.Actor_Property_SCALE_Y_get();
- public static readonly int SCALE_Z = NDalicPINVOKE.Actor_Property_SCALE_Z_get();
- public static readonly int WORLD_SCALE = NDalicPINVOKE.Actor_Property_WORLD_SCALE_get();
- public static readonly int VISIBLE = NDalicPINVOKE.Actor_Property_VISIBLE_get();
- public static readonly int COLOR = NDalicPINVOKE.Actor_Property_COLOR_get();
- public static readonly int COLOR_RED = NDalicPINVOKE.Actor_Property_COLOR_RED_get();
- public static readonly int COLOR_GREEN = NDalicPINVOKE.Actor_Property_COLOR_GREEN_get();
- public static readonly int COLOR_BLUE = NDalicPINVOKE.Actor_Property_COLOR_BLUE_get();
- public static readonly int COLOR_ALPHA = NDalicPINVOKE.Actor_Property_COLOR_ALPHA_get();
- public static readonly int WORLD_COLOR = NDalicPINVOKE.Actor_Property_WORLD_COLOR_get();
- public static readonly int WORLD_MATRIX = NDalicPINVOKE.Actor_Property_WORLD_MATRIX_get();
- public static readonly int NAME = NDalicPINVOKE.Actor_Property_NAME_get();
- public static readonly int SENSITIVE = NDalicPINVOKE.Actor_Property_SENSITIVE_get();
- public static readonly int LEAVE_REQUIRED = NDalicPINVOKE.Actor_Property_LEAVE_REQUIRED_get();
- public static readonly int INHERIT_ORIENTATION = NDalicPINVOKE.Actor_Property_INHERIT_ORIENTATION_get();
- public static readonly int INHERIT_SCALE = NDalicPINVOKE.Actor_Property_INHERIT_SCALE_get();
- public static readonly int COLOR_MODE = NDalicPINVOKE.Actor_Property_COLOR_MODE_get();
- public static readonly int POSITION_INHERITANCE = NDalicPINVOKE.Actor_Property_POSITION_INHERITANCE_get();
- public static readonly int DRAW_MODE = NDalicPINVOKE.Actor_Property_DRAW_MODE_get();
- public static readonly int SIZE_MODE_FACTOR = NDalicPINVOKE.Actor_Property_SIZE_MODE_FACTOR_get();
- public static readonly int WIDTH_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_WIDTH_RESIZE_POLICY_get();
- public static readonly int HEIGHT_RESIZE_POLICY = NDalicPINVOKE.Actor_Property_HEIGHT_RESIZE_POLICY_get();
- public static readonly int SIZE_SCALE_POLICY = NDalicPINVOKE.Actor_Property_SIZE_SCALE_POLICY_get();
- public static readonly int WIDTH_FOR_HEIGHT = NDalicPINVOKE.Actor_Property_WIDTH_FOR_HEIGHT_get();
- public static readonly int HEIGHT_FOR_WIDTH = NDalicPINVOKE.Actor_Property_HEIGHT_FOR_WIDTH_get();
- public static readonly int PADDING = NDalicPINVOKE.Actor_Property_PADDING_get();
- public static readonly int MINIMUM_SIZE = NDalicPINVOKE.Actor_Property_MINIMUM_SIZE_get();
- public static readonly int MAXIMUM_SIZE = NDalicPINVOKE.Actor_Property_MAXIMUM_SIZE_get();
- public static readonly int INHERIT_POSITION = NDalicPINVOKE.Actor_Property_INHERIT_POSITION_get();
- public static readonly int CLIPPING_MODE = NDalicPINVOKE.Actor_Property_CLIPPING_MODE_get();
-
- }
-
- public Actor () : this (NDalicPINVOKE.Actor_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public new static Actor DownCast(BaseHandle handle) {
- Actor ret = new Actor(NDalicPINVOKE.Actor_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor(Actor copy) : this(NDalicPINVOKE.new_Actor__SWIG_1(Actor.getCPtr(copy)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Actor Assign(Actor rhs) {
- Actor ret = new Actor(NDalicPINVOKE.Actor_Assign(swigCPtr, Actor.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public string GetName() {
- string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetName(string name) {
- NDalicPINVOKE.Actor_SetName(swigCPtr, name);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public uint GetId() {
- uint ret = NDalicPINVOKE.Actor_GetId(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsRoot() {
- bool ret = NDalicPINVOKE.Actor_IsRoot(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool OnStage() {
- bool ret = NDalicPINVOKE.Actor_OnStage(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsLayer() {
- bool ret = NDalicPINVOKE.Actor_IsLayer(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Layer GetLayer() {
- Layer ret = new Layer(NDalicPINVOKE.Actor_GetLayer(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Add(Actor child) {
- NDalicPINVOKE.Actor_Add(swigCPtr, Actor.getCPtr(child));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Remove(Actor child) {
- NDalicPINVOKE.Actor_Remove(swigCPtr, Actor.getCPtr(child));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Unparent() {
- NDalicPINVOKE.Actor_Unparent(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public uint GetChildCount() {
- uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor GetChildAt(uint index) {
- Actor ret = new Actor(NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor FindChildByName(string actorName) {
- Actor ret = new Actor(NDalicPINVOKE.Actor_FindChildByName(swigCPtr, actorName), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor FindChildById(uint id) {
- Actor ret = new Actor(NDalicPINVOKE.Actor_FindChildById(swigCPtr, id), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor GetParent() {
- Actor ret = new Actor(NDalicPINVOKE.Actor_GetParent(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetParentOrigin(Vector3 origin) {
- NDalicPINVOKE.Actor_SetParentOrigin(swigCPtr, Vector3.getCPtr(origin));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetCurrentParentOrigin() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentParentOrigin(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetAnchorPoint(Vector3 anchorPoint) {
- NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetCurrentAnchorPoint() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentAnchorPoint(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetSize(float width, float height) {
- NDalicPINVOKE.Actor_SetSize__SWIG_0(swigCPtr, width, height);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetSize(float width, float height, float depth) {
- NDalicPINVOKE.Actor_SetSize__SWIG_1(swigCPtr, width, height, depth);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetSize(Vector2 size) {
- NDalicPINVOKE.Actor_SetSize__SWIG_2(swigCPtr, Vector2.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetSize(Vector3 size) {
- NDalicPINVOKE.Actor_SetSize__SWIG_3(swigCPtr, Vector3.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetTargetSize() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetTargetSize(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 GetCurrentSize() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentSize(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 GetNaturalSize() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetNaturalSize(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetPosition(float x, float y) {
- NDalicPINVOKE.Actor_SetPosition__SWIG_0(swigCPtr, x, y);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetPosition(float x, float y, float z) {
- NDalicPINVOKE.Actor_SetPosition__SWIG_1(swigCPtr, x, y, z);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetPosition(Vector3 position) {
- NDalicPINVOKE.Actor_SetPosition__SWIG_2(swigCPtr, Vector3.getCPtr(position));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetX(float x) {
- NDalicPINVOKE.Actor_SetX(swigCPtr, x);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetY(float y) {
- NDalicPINVOKE.Actor_SetY(swigCPtr, y);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetZ(float z) {
- NDalicPINVOKE.Actor_SetZ(swigCPtr, z);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void TranslateBy(Vector3 distance) {
- NDalicPINVOKE.Actor_TranslateBy(swigCPtr, Vector3.getCPtr(distance));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetCurrentPosition() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentPosition(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 GetCurrentWorldPosition() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldPosition(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetInheritPosition(bool inherit) {
- NDalicPINVOKE.Actor_SetInheritPosition(swigCPtr, inherit);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PositionInheritanceMode GetPositionInheritanceMode() {
- PositionInheritanceMode ret = (PositionInheritanceMode)NDalicPINVOKE.Actor_GetPositionInheritanceMode(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsPositionInherited() {
- bool ret = NDalicPINVOKE.Actor_IsPositionInherited(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetOrientation(Degree angle, Vector3 axis) {
- NDalicPINVOKE.Actor_SetOrientation__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetOrientation(Radian angle, Vector3 axis) {
- NDalicPINVOKE.Actor_SetOrientation__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetOrientation(Quaternion orientation) {
- NDalicPINVOKE.Actor_SetOrientation__SWIG_2(swigCPtr, Quaternion.getCPtr(orientation));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RotateBy(Degree angle, Vector3 axis) {
- NDalicPINVOKE.Actor_RotateBy__SWIG_0(swigCPtr, Degree.getCPtr(angle), Vector3.getCPtr(axis));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RotateBy(Radian angle, Vector3 axis) {
- NDalicPINVOKE.Actor_RotateBy__SWIG_1(swigCPtr, Radian.getCPtr(angle), Vector3.getCPtr(axis));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RotateBy(Quaternion relativeRotation) {
- NDalicPINVOKE.Actor_RotateBy__SWIG_2(swigCPtr, Quaternion.getCPtr(relativeRotation));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion GetCurrentOrientation() {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Actor_GetCurrentOrientation(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetInheritOrientation(bool inherit) {
- NDalicPINVOKE.Actor_SetInheritOrientation(swigCPtr, inherit);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsOrientationInherited() {
- bool ret = NDalicPINVOKE.Actor_IsOrientationInherited(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion GetCurrentWorldOrientation() {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Actor_GetCurrentWorldOrientation(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetScale(float scale) {
- NDalicPINVOKE.Actor_SetScale__SWIG_0(swigCPtr, scale);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetScale(float scaleX, float scaleY, float scaleZ) {
- NDalicPINVOKE.Actor_SetScale__SWIG_1(swigCPtr, scaleX, scaleY, scaleZ);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetScale(Vector3 scale) {
- NDalicPINVOKE.Actor_SetScale__SWIG_2(swigCPtr, Vector3.getCPtr(scale));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void ScaleBy(Vector3 relativeScale) {
- NDalicPINVOKE.Actor_ScaleBy(swigCPtr, Vector3.getCPtr(relativeScale));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetCurrentScale() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentScale(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 GetCurrentWorldScale() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetCurrentWorldScale(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetInheritScale(bool inherit) {
- NDalicPINVOKE.Actor_SetInheritScale(swigCPtr, inherit);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsScaleInherited() {
- bool ret = NDalicPINVOKE.Actor_IsScaleInherited(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Matrix GetCurrentWorldMatrix() {
- Matrix ret = new Matrix(NDalicPINVOKE.Actor_GetCurrentWorldMatrix(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetVisible(bool visible) {
- NDalicPINVOKE.Actor_SetVisible(swigCPtr, visible);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsVisible() {
- bool ret = NDalicPINVOKE.Actor_IsVisible(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetOpacity(float opacity) {
- NDalicPINVOKE.Actor_SetOpacity(swigCPtr, opacity);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetCurrentOpacity() {
- float ret = NDalicPINVOKE.Actor_GetCurrentOpacity(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetColor(Vector4 color) {
- NDalicPINVOKE.Actor_SetColor(swigCPtr, Vector4.getCPtr(color));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4 GetCurrentColor() {
- Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentColor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetColorMode(ColorMode colorMode) {
- NDalicPINVOKE.Actor_SetColorMode(swigCPtr, (int)colorMode);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ColorMode GetColorMode() {
- ColorMode ret = (ColorMode)NDalicPINVOKE.Actor_GetColorMode(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 GetCurrentWorldColor() {
- Vector4 ret = new Vector4(NDalicPINVOKE.Actor_GetCurrentWorldColor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetDrawMode(DrawModeType drawMode) {
- NDalicPINVOKE.Actor_SetDrawMode(swigCPtr, (int)drawMode);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public DrawModeType GetDrawMode() {
- DrawModeType ret = (DrawModeType)NDalicPINVOKE.Actor_GetDrawMode(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetSensitive(bool sensitive) {
- NDalicPINVOKE.Actor_SetSensitive(swigCPtr, sensitive);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsSensitive() {
- bool ret = NDalicPINVOKE.Actor_IsSensitive(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool ScreenToLocal(out float localX, out float localY, float screenX, float screenY) {
- bool ret = NDalicPINVOKE.Actor_ScreenToLocal(swigCPtr, out localX, out localY, screenX, screenY);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetLeaveRequired(bool required) {
- NDalicPINVOKE.Actor_SetLeaveRequired(swigCPtr, required);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool GetLeaveRequired() {
- bool ret = NDalicPINVOKE.Actor_GetLeaveRequired(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetKeyboardFocusable(bool focusable) {
- NDalicPINVOKE.Actor_SetKeyboardFocusable(swigCPtr, focusable);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsKeyboardFocusable() {
- bool ret = NDalicPINVOKE.Actor_IsKeyboardFocusable(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetResizePolicy(ResizePolicyType policy, DimensionType dimension) {
- NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ResizePolicyType GetResizePolicy(DimensionType dimension) {
- ResizePolicyType ret = (ResizePolicyType)NDalicPINVOKE.Actor_GetResizePolicy(swigCPtr, (int)dimension);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetSizeScalePolicy(SizeScalePolicyType policy) {
- NDalicPINVOKE.Actor_SetSizeScalePolicy(swigCPtr, (int)policy);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public SizeScalePolicyType GetSizeScalePolicy() {
- SizeScalePolicyType ret = (SizeScalePolicyType)NDalicPINVOKE.Actor_GetSizeScalePolicy(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetSizeModeFactor(Vector3 factor) {
- NDalicPINVOKE.Actor_SetSizeModeFactor(swigCPtr, Vector3.getCPtr(factor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetSizeModeFactor() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Actor_GetSizeModeFactor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetHeightForWidth(float width) {
- float ret = NDalicPINVOKE.Actor_GetHeightForWidth(swigCPtr, width);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetWidthForHeight(float height) {
- float ret = NDalicPINVOKE.Actor_GetWidthForHeight(swigCPtr, height);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetRelayoutSize(DimensionType dimension) {
- float ret = NDalicPINVOKE.Actor_GetRelayoutSize(swigCPtr, (int)dimension);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetPadding(PaddingType padding) {
- NDalicPINVOKE.Actor_SetPadding(swigCPtr, PaddingType.getCPtr(padding));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void GetPadding(PaddingType paddingOut) {
- NDalicPINVOKE.Actor_GetPadding(swigCPtr, PaddingType.getCPtr(paddingOut));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetMinimumSize(Vector2 size) {
- NDalicPINVOKE.Actor_SetMinimumSize(swigCPtr, Vector2.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2 GetMinimumSize() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMinimumSize(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetMaximumSize(Vector2 size) {
- NDalicPINVOKE.Actor_SetMaximumSize(swigCPtr, Vector2.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2 GetMaximumSize() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Actor_GetMaximumSize(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int GetHierarchyDepth() {
- int ret = NDalicPINVOKE.Actor_GetHierarchyDepth(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint AddRenderer(Renderer renderer) {
- uint ret = NDalicPINVOKE.Actor_AddRenderer(swigCPtr, Renderer.getCPtr(renderer));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetRendererCount() {
- uint ret = NDalicPINVOKE.Actor_GetRendererCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Renderer GetRendererAt(uint index) {
- Renderer ret = new Renderer(NDalicPINVOKE.Actor_GetRendererAt(swigCPtr, index), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void RemoveRenderer(Renderer renderer) {
- NDalicPINVOKE.Actor_RemoveRenderer__SWIG_0(swigCPtr, Renderer.getCPtr(renderer));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RemoveRenderer(uint index) {
- NDalicPINVOKE.Actor_RemoveRenderer__SWIG_1(swigCPtr, index);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t TouchedSignal() {
- SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t ret = new SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t(NDalicPINVOKE.Actor_TouchedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ActorTouchDataSignal TouchSignal() {
- ActorTouchDataSignal ret = new ActorTouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ActorHoverSignal HoveredSignal() {
- ActorHoverSignal ret = new ActorHoverSignal(NDalicPINVOKE.Actor_HoveredSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ActorWheelSignal WheelEventSignal() {
- ActorWheelSignal ret = new ActorWheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ActorSignal OnStageSignal() {
- ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OnStageSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ActorSignal OffStageSignal() {
- ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OffStageSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ActorSignal OnRelayoutSignal() {
- ActorSignal ret = new ActorSignal(NDalicPINVOKE.Actor_OnRelayoutSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 ParentOrigin
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.PARENT_ORIGIN).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.PARENT_ORIGIN, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ParentOriginX
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.PARENT_ORIGIN_X).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.PARENT_ORIGIN_X, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ParentOriginY
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.PARENT_ORIGIN_Y).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.PARENT_ORIGIN_Y, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ParentOriginZ
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.PARENT_ORIGIN_Z).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.PARENT_ORIGIN_Z, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 AnchorPoint
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.ANCHOR_POINT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.ANCHOR_POINT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float AnchorPointX
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.ANCHOR_POINT_X).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.ANCHOR_POINT_X, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float AnchorPointY
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.ANCHOR_POINT_Y).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.ANCHOR_POINT_Y, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float AnchorPointZ
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.ANCHOR_POINT_Z).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.ANCHOR_POINT_Z, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 Size
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.SIZE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SIZE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float SizeWidth
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.SIZE_WIDTH).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SIZE_WIDTH, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float SizeHeight
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.SIZE_HEIGHT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SIZE_HEIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float SizeDepth
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.SIZE_DEPTH).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SIZE_DEPTH, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 Position
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.POSITION).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.POSITION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float PositionX
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.POSITION_X).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.POSITION_X, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float PositionY
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.POSITION_Y).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.POSITION_Y, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float PositionZ
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.POSITION_Z).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.POSITION_Z, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 WorldPosition
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.WORLD_POSITION).Get( temp );
- return temp;
- }
-} public float WorldPositionX
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.WORLD_POSITION_X).Get( ref temp );
- return temp;
- }
-} public float WorldPositionY
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.WORLD_POSITION_Y).Get( ref temp );
- return temp;
- }
-} public float WorldPositionZ
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.WORLD_POSITION_Z).Get( ref temp );
- return temp;
- }
-} public Quaternion Orientation
- {
- get
- {
- Quaternion temp = new Quaternion();
- GetProperty( Actor.Property.ORIENTATION).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.ORIENTATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Quaternion WorldOrientation
- {
- get
- {
- Quaternion temp = new Quaternion();
- GetProperty( Actor.Property.WORLD_ORIENTATION).Get( temp );
- return temp;
- }
-} public Vector3 Scale
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.SCALE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SCALE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ScaleX
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.SCALE_X).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SCALE_X, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ScaleY
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.SCALE_Y).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SCALE_Y, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ScaleZ
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.SCALE_Z).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SCALE_Z, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 WorldScale
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.WORLD_SCALE).Get( temp );
- return temp;
- }
-} public bool Visible
- {
- get
- {
- bool temp = false;
- GetProperty( Actor.Property.VISIBLE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.VISIBLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 Color
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ColorRed
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.COLOR_RED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.COLOR_RED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ColorGreen
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.COLOR_GREEN).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.COLOR_GREEN, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ColorBlue
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.COLOR_BLUE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.COLOR_BLUE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ColorAlpha
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Actor.Property.COLOR_ALPHA).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.COLOR_ALPHA, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 WorldColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.WORLD_COLOR).Get( temp );
- return temp;
- }
-} public Matrix WorldMatrix
- {
- get
- {
- Matrix temp = new Matrix();
- GetProperty( Actor.Property.WORLD_MATRIX).Get( temp );
- return temp;
- }
-} public string Name
- {
- get
- {
- string temp;
- GetProperty( Actor.Property.NAME).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.NAME, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool Sensitive
- {
- get
- {
- bool temp = false;
- GetProperty( Actor.Property.SENSITIVE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SENSITIVE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool LeaveRequired
- {
- get
- {
- bool temp = false;
- GetProperty( Actor.Property.LEAVE_REQUIRED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.LEAVE_REQUIRED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool InheritOrientation
- {
- get
- {
- bool temp = false;
- GetProperty( Actor.Property.INHERIT_ORIENTATION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.INHERIT_ORIENTATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool InheritScale
- {
- get
- {
- bool temp = false;
- GetProperty( Actor.Property.INHERIT_SCALE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.INHERIT_SCALE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string ColorMode
- {
- get
- {
- string temp;
- GetProperty( Actor.Property.COLOR_MODE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.COLOR_MODE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string PositionInheritance
- {
- get
- {
- string temp;
- GetProperty( Actor.Property.POSITION_INHERITANCE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.POSITION_INHERITANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string DrawMode
- {
- get
- {
- string temp;
- GetProperty( Actor.Property.DRAW_MODE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.DRAW_MODE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 SizeModeFactor
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.SIZE_MODE_FACTOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SIZE_MODE_FACTOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string WidthResizePolicy
- {
- get
- {
- string temp;
- GetProperty( Actor.Property.WIDTH_RESIZE_POLICY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.WIDTH_RESIZE_POLICY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string HeightResizePolicy
- {
- get
- {
- string temp;
- GetProperty( Actor.Property.HEIGHT_RESIZE_POLICY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.HEIGHT_RESIZE_POLICY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string SizeScalePolicy
- {
- get
- {
- string temp;
- GetProperty( Actor.Property.SIZE_SCALE_POLICY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.SIZE_SCALE_POLICY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool WidthForHeight
- {
- get
- {
- bool temp = false;
- GetProperty( Actor.Property.WIDTH_FOR_HEIGHT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.WIDTH_FOR_HEIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool HeightForWidth
- {
- get
- {
- bool temp = false;
- GetProperty( Actor.Property.HEIGHT_FOR_WIDTH).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.HEIGHT_FOR_WIDTH, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 Padding
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Actor.Property.PADDING).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector2 MinimumSize
- {
- get
- {
- Vector2 temp = new Vector2(0.0f,0.0f);
- GetProperty( Actor.Property.MINIMUM_SIZE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Actor.Property.MINIMUM_SIZE, new Tizen.NUI.Property.Value( value ) );
}
- }
- public Vector2 MaximumSize
- {
- get
+
+ /// <summary>
+ /// This specifies whether the Actor uses its own color, or inherits
+ /// ColorMode.UseOwnColor : Actor will use its own color
+ /// ColorMode.UseParentColor : Actor will use its parent color
+ /// ColorMode.UseOwnMultiplyParentColor : Actor will blend its color with its parents color.
+ /// ColorMode.UseOwnMultiplyParentAlpha : Actor will blend its alpha with its parents alpha. This means when parent fades in or out child does as well. This is the default.
+ /// </summary>
+ public enum ColorMode
{
- Vector2 temp = new Vector2(0.0f,0.0f);
- GetProperty( Actor.Property.MAXIMUM_SIZE).Get( temp );
- return temp;
+ UseOwnColor,
+ UseParentColor,
+ UseOwnMultiplyParentColor,
+ UseOwnMultiplyParentAlpha
}
- set
+
+ /// <summary>
+ /// This specifies the dimesion of width or heigh for size negotiation.
+ /// </summary>
+ public enum DimensionType
{
- SetProperty( Actor.Property.MAXIMUM_SIZE, new Tizen.NUI.Property.Value( value ) );
+ Width = 0x1,
+ Height = 0x2,
+ AllDimensions = 0x3
}
- }
- public bool InheritPosition
- {
- get
+
+ /// <summary>
+ /// This specifies draw mode types
+ /// </summary>
+ public enum DrawModeType
{
- bool temp = false;
- GetProperty( Actor.Property.INHERIT_POSITION).Get( ref temp );
- return temp;
+ Normal = 0,
+ Overlay2D = 1,
+ Stencil = 3
}
- set
+
+ /// <summary>
+ /// This specifies resize policy types
+ /// </summary>
+ public enum ResizePolicyType
{
- SetProperty( Actor.Property.INHERIT_POSITION, new Tizen.NUI.Property.Value( value ) );
+ Fixed,
+ UseNaturalSize,
+ FillToParent,
+ SizeRelativeToParent,
+ SizeFixedOffsetFromParent,
+ FitToChildren,
+ DimensionDependency,
+ UseAssignedSize
}
- }
- public string ClippingMode
- {
- get
+
+ /// <summary>
+ /// This specifies size scale policy types
+ /// </summary>
+ public enum SizeScalePolicyType
{
- string temp;
- GetProperty( Actor.Property.CLIPPING_MODE).Get( out temp );
- return temp;
+ UseSizeSet,
+ FitWithAspectRatio,
+ FillWithAspectRatio
}
- set
+
+ /// <summary>
+ /// This specifies clipping mode types
+ /// </summary>
+ public enum ClippingModeType
{
- SetProperty( Actor.Property.CLIPPING_MODE, new Tizen.NUI.Property.Value( value ) );
+ Disabled,
+ ClipChildren
}
- }
-
-}
}
namespace Tizen.NUI {
-public class ActorContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+internal class ActorContainer : global::System.IDisposable, global::System.Collections.IEnumerable
, global::System.Collections.Generic.IEnumerable<Actor>
{
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
namespace Tizen.NUI {
-public class ActorHoverSignal : global::System.IDisposable {
+internal class ActorHoverSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class ActorSignal : global::System.IDisposable {
+internal class ActorSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class ActorTouchDataSignal : global::System.IDisposable {
+ internal class ActorTouchDataSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class ActorWheelSignal : global::System.IDisposable {
+ internal class ActorWheelSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
-
-public enum ColorMode {
- USE_OWN_COLOR,
- USE_PARENT_COLOR,
- USE_OWN_MULTIPLY_PARENT_COLOR,
- USE_OWN_MULTIPLY_PARENT_ALPHA
-}
-
+/* moved to VisualMaps.cs
+namespace Tizen.NUI
+{
+ public enum AlignType
+ {
+ TOP_BEGIN = 0,
+ TOP_CENTER,
+ TOP_END,
+ CENTER_BEGIN,
+ CENTER,
+ CENTER_END,
+ BOTTOM_BEGIN,
+ BOTTOM_CENTER,
+ BOTTOM_END
+ }
}
+*/
\ No newline at end of file
namespace Tizen.NUI {
-public class Alignment : View {
+internal class Alignment : View {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Alignment(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Alignment_SWIGUpcast(cPtr), cMemoryOwn) {
-//------------------------------------------------------------------------------
-// <auto-generated />
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// Alpha functions are used in animations to specify the rate of change of the animation parameter over time.
+ /// Understanding an animation as a parametric function over time, the alpha function is applied to the parameter of
+ /// the animation before computing the final animation value.
+ /// </summary>
+ public class AlphaFunction : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal AlphaFunction(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-namespace Tizen.NUI {
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AlphaFunction obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
-public class AlphaFunction : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ ~AlphaFunction()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal AlphaFunction(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ /// <summary>
+ /// To make AlphaFunction instance be disposed.
+ /// </summary>
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_AlphaFunction(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AlphaFunction obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// Constructor.
+ /// Creates an alpha function object with user defined alpha function.
+ /// </summary>
+ /// <param name="func">User defined fuction. It must be a method formatted as float alphafunction(float progress)</param>
+ public AlphaFunction(System.Delegate func) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(new SWIGTYPE_p_f_float__float(System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func), true))), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- ~AlphaFunction() {
- DisposeQueue.Instance.Add(this);
- }
+ /// <summary>
+ /// Default constructor.
+ /// Creates an alpha function object with the default built-in alpha function.
+ /// </summary>
+ public AlphaFunction() : this(NDalicPINVOKE.new_AlphaFunction__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Constructor.
+ /// Creates an alpha function object with the built-in alpha function passed as a parameter to the constructor.
+ /// </summary>
+ /// <param name="function">One of the built-in alpha functions</param>
+ public AlphaFunction(AlphaFunction.BuiltinFunctions function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_1((int)function), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_AlphaFunction(swigCPtr);
+ internal AlphaFunction(SWIGTYPE_p_f_float__float function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(function)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
-
- public AlphaFunction(System.Delegate func) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(new SWIGTYPE_p_f_float__float(System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func), true))), true)
- {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public AlphaFunction() : this(NDalicPINVOKE.new_AlphaFunction__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public AlphaFunction(AlphaFunction.BuiltinFunction function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_1((int)function), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public AlphaFunction(SWIGTYPE_p_f_float__float function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(function)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public AlphaFunction(Vector2 controlPoint0, Vector2 controlPoint1) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_3(Vector2.getCPtr(controlPoint0), Vector2.getCPtr(controlPoint1)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4 GetBezierControlPoints() {
- Vector4 ret = new Vector4(NDalicPINVOKE.AlphaFunction_GetBezierControlPoints(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SWIGTYPE_p_f_float__float GetCustomFunction() {
- global::System.IntPtr cPtr = NDalicPINVOKE.AlphaFunction_GetCustomFunction(swigCPtr);
- SWIGTYPE_p_f_float__float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_float__float(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public AlphaFunction.BuiltinFunction GetBuiltinFunction() {
- AlphaFunction.BuiltinFunction ret = (AlphaFunction.BuiltinFunction)NDalicPINVOKE.AlphaFunction_GetBuiltinFunction(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public AlphaFunction.Mode GetMode() {
- AlphaFunction.Mode ret = (AlphaFunction.Mode)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum BuiltinFunction {
- Default,
- Linear,
- Reverse,
- EaseInSquare,
- EaseOutSquare,
- EaseIn,
- EaseOut,
- EaseInOut,
- EaseInSine,
- EaseOutSine,
- EaseInOutSine,
- Bounce,
- Sin,
- EaseOutBack,
- Count
- }
-
- public enum Mode {
- CustomFunction = 1,
- Bezier
- }
-}
+ /// <summary>
+ /// Constructor.
+ /// Creates a bezier alpha function.The bezier will have the first point at(0,0) and the end point at(1,1).
+ /// Note : The x components of the control points will be clamped to the range[0, 1] to prevent non monotonic curves.
+ /// </summary>
+ /// <param name="controlPoint0">A Vector2 which will be used as the first control point of the curve</param>
+ /// <param name="controlPoint1">A Vector2 which will be used as the second control point of the curve</param>
+ public AlphaFunction(Vector2 controlPoint0, Vector2 controlPoint1) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_3(Vector2.getCPtr(controlPoint0), Vector2.getCPtr(controlPoint1)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Retrives the control points of the alpha function.
+ /// </summary>
+ /// <param name="controlPoint0">A Vector2 which is used as the first control point of the curve</param>
+ /// <param name="controlPoint1">A Vector2 which is used as the second control point of the curve</param>
+ public void GetBezierControlPoints(out Vector2 controlPoint0, out Vector2 controlPoint1)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.AlphaFunction_GetBezierControlPoints(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ controlPoint0 = new Vector2(ret.X, ret.Y);
+ controlPoint1 = new Vector2(ret.Z, ret.W);
+ }
+
+ internal SWIGTYPE_p_f_float__float GetCustomFunction()
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AlphaFunction_GetCustomFunction(swigCPtr);
+ SWIGTYPE_p_f_float__float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_float__float(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the built-in function used by the alpha function.
+ /// In case no built-in function has been specified, it will return AlphaFunction::DEFAULT
+ /// </summary>
+ /// <returns>One of the built-in alpha functions.</returns>
+ public AlphaFunction.BuiltinFunctions GetBuiltinFunction()
+ {
+ AlphaFunction.BuiltinFunctions ret = (AlphaFunction.BuiltinFunctions)NDalicPINVOKE.AlphaFunction_GetBuiltinFunction(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the functioning mode of the alpha function
+ /// </summary>
+ /// <returns>The functioning mode of the alpha function</returns>
+ public AlphaFunction.Modes GetMode()
+ {
+ AlphaFunction.Modes ret = (AlphaFunction.Modes)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// This specifies the various types of BuiltinFunctions
+ /// </summary>
+ public enum BuiltinFunctions
+ {
+ Default,
+ Linear,
+ Reverse,
+ EaseInSquare,
+ EaseOutSquare,
+ EaseIn,
+ EaseOut,
+ EaseInOut,
+ EaseInSine,
+ EaseOutSine,
+ EaseInOutSine,
+ Bounce,
+ Sin,
+ EaseOutBack,
+ Count
+ }
+
+ /// <summary>
+ /// This specifies which mode is set for AlphaFuction
+ /// </summary>
+ public enum Modes
+ {
+ CustomFunction = 1,
+ Bezier
+ }
+
+ }
}
namespace Tizen.NUI {
-public class AngleAxis : global::System.IDisposable {
+ internal class AngleAxis : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class AngleThresholdPair : global::System.IDisposable {
+ internal class AngleThresholdPair : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class AnimatablePropertyComponentRegistration : global::System.IDisposable {
+ internal class AnimatablePropertyComponentRegistration : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class AnimatablePropertyRegistration : global::System.IDisposable {
+ internal class AnimatablePropertyRegistration : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
}
- public AnimatablePropertyRegistration(TypeRegistration registered, string name, int index, Property.Type type) : this(NDalicPINVOKE.new_AnimatablePropertyRegistration__SWIG_0(TypeRegistration.getCPtr(registered), name, index, (int)type), true) {
+ public AnimatablePropertyRegistration(TypeRegistration registered, string name, int index, PropertyType type) : this(NDalicPINVOKE.new_AnimatablePropertyRegistration__SWIG_0(TypeRegistration.getCPtr(registered), name, index, (int)type), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public AnimatablePropertyRegistration(TypeRegistration registered, string name, int index, Property.Value value) : this(NDalicPINVOKE.new_AnimatablePropertyRegistration__SWIG_1(TypeRegistration.getCPtr(registered), name, index, Property.Value.getCPtr(value)), true) {
+ public AnimatablePropertyRegistration(TypeRegistration registered, string name, int index, PropertyValue value) : this(NDalicPINVOKE.new_AnimatablePropertyRegistration__SWIG_1(TypeRegistration.getCPtr(registered), name, index, PropertyValue.getCPtr(value)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
-/** Copyright (c) 2017 Samsung Electronics Co., Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-*/
-// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
-//------------------------------------------------------------------------------
-// <auto-generated />
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
+namespace Tizen.NUI
+{
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// Animation can be used to animate the properties of any number of objects, typically Actors.
+ /// If the "Finished" event is connected to a member function of an object, it must be disconnected before the object is destroyed.
+ /// This is typically done in the object destructor, and requires either the Animation handle to be stored.
+ /// The overall animation time is superseded by the values given in the Duration property used when calling the AnimateTo(), AnimateBy(), AnimateBetween() and AnimatePath() methods.
+ /// If any of the individual calls to those functions exceeds the overall animation time(Duration), then the overall animation time is automatically extended.
+ /// </summary>
+ public class Animation : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-namespace Tizen.NUI {
+ internal Animation(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Animation_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-using System;
-using System.Runtime.InteropServices;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animation obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
-public class Animation : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ ~Animation()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal Animation(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Animation_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ /// <summary>
+ /// To make Animation instance be disposed.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Animation(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animation obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// Create an initialized Animation.
+ /// The animation will not loop.
+ /// The default end action is "Cancel".
+ /// The default Alpha function is linear.
+ /// Precodition : DurationmSeconds must be greater than zero.
+ /// </summary>
+ /// <param name="durationMilliSeconds">The duration in milli seconds (int).</param>
+ public Animation(int durationMilliSeconds) : this(NDalicPINVOKE.Animation_New((float)durationMilliSeconds / 1000.0f), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- ~Animation() {
- DisposeQueue.Instance.Add(this);
- }
+ private AnimationFinishedEventCallbackType _animationFinishedEventCallback;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void AnimationFinishedEventCallbackType(IntPtr data);
+ private event EventHandler _animationFinishedEventHandler;
+ /**
+ * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler
+ * Finished signal is emitted when an Animation's animations have finished.
+ */
+ public event EventHandler Finished
+ {
+ add
+ {
+ if (_animationFinishedEventHandler == null)
+ {
+ _animationFinishedEventCallback = OnFinished;
+ FinishedSignal().Connect(_animationFinishedEventCallback);
+ }
+
+ _animationFinishedEventHandler += value;
+ }
+ remove
+ {
+ _animationFinishedEventHandler -= value;
+
+ if (_animationFinishedEventHandler == null && _animationFinishedEventCallback != null)
+ {
+ FinishedSignal().Disconnect(_animationFinishedEventCallback);
+ }
+ }
+ }
+ private void OnFinished(IntPtr data)
+ {
+ if (_animationFinishedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _animationFinishedEventHandler(this, null);
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Animation(swigCPtr);
+ internal static Animation GetAnimationFromPtr(global::System.IntPtr cPtr)
+ {
+ Animation ret = new Animation(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ private float MilliSecondsToSeconds(int millisec)
+ {
+ return (float)millisec / 1000.0f;
+ }
+ private int SecondsToMilliSeconds(float sec)
+ {
+ return (int)(sec * 1000);
+ }
- private EventCallbackDelegateType1 _animationFinishedEventCallbackDelegate;
- private event EventHandler _animationFinishedEventHandler;
+ /// <summary>
+ /// Gets/Sets the duration of animation
+ /// </summary>
+ public int Duration
+ {
+ set
+ {
+ SetDuration(MilliSecondsToSeconds(value));
+ }
+ get
+ {
+ return SecondsToMilliSeconds(GetDuration());
+ }
+ }
- /**
- * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler
- * Finished signal is emitted when an Animation's animations have finished.
- */
- public event EventHandler Finished
- {
- add
- {
- lock(this)
- {
- _animationFinishedEventHandler += value;
- _animationFinishedEventCallbackDelegate = OnFinished;
- this.FinishedSignal().Connect(_animationFinishedEventCallbackDelegate);
- }
- }
- remove
- {
- lock(this)
- {
- if (_animationFinishedEventHandler != null)
- {
- this.FinishedSignal().Disconnect(_animationFinishedEventCallbackDelegate);
- }
- _animationFinishedEventHandler -= value;
- }
- }
- }
+ /// <summary>
+ /// Gets/Sets the default alpha function for an animation.
+ /// </summary>
+ public AlphaFunction DefaultAlphaFunction
+ {
+ set
+ {
+ SetDefaultAlphaFunction(value);
+ }
+ get
+ {
+ AlphaFunction ret = GetDefaultAlphaFunction();
+ return ret;
+ }
+ }
- // Callback for Animation FinishedSignal
- private void OnFinished(IntPtr data)
- {
- if (_animationFinishedEventHandler != null)
- {
- //here we send all data to user event handlers
- _animationFinishedEventHandler(this, null);
- }
- }
+ /// <summary>
+ /// Queries the state of the animation.
+ /// </summary>
+ public States State
+ {
+ get
+ {
+ return GetState();
+ }
+ }
- public static Animation GetAnimationFromPtr(global::System.IntPtr cPtr) {
- Animation ret = new Animation(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private float MilliSecondsToSeconds( int millisec )
- {
- return (float)millisec / 1000.0f;
- }
-
- private int SecondsToMilliSeconds( float sec )
- {
- return (int)( sec * 1000 );
- }
-
- public int Duration
- {
- set
- {
- SetDuration( MilliSecondsToSeconds( value ) );
- }
- get
- {
- return SecondsToMilliSeconds( GetDuration() );
- }
- }
+ /// <summary>
+ /// Set : Enables looping for 'count' repeats. A zero is the same as Looping = true; i.e.repeat forever.
+ /// If Play() Stop() or 'count' loops is reached, the loop counter will reset.
+ /// Setting this parameter does not cause the animation to Play().
+ ///
+ /// Get : Gets the loop count. A zero is the same as Looping = true; ie repeat forever.
+ /// The loop count is initially 1 for play once.
+ /// </summary>
+ public int LoopCount
+ {
+ set
+ {
+ SetLoopCount(value);
+ }
+ get
+ {
+ int ret = GetLoopCount();
+ return ret;
+ }
+ }
- public AlphaFunction DefaultAlphaFunction
- {
- set
- {
- SetDefaultAlphaFunction(value);
- }
- get
- {
- AlphaFunction ret = GetDefaultAlphaFunction();
- return ret;
- }
- }
+ /// <summary>
+ /// Gets/Sets the status of whether the animation will loop.
+ /// This property resets the loop count and should not be used with LoopCount property.
+ /// Setting this parameter does not cause the animation to Play().
+ /// </summary>
+ public bool Looping
+ {
+ set
+ {
+ SetLooping(value);
+ }
+ get
+ {
+ bool ret = IsLooping();
+ return ret;
+ }
+ }
- public Animation.State Status
- {
- get
- {
- return GetState();
- }
- }
- public int LoopCount
- {
- set
- {
- SetLoopCount(value);
- }
- get
- {
- int ret = GetLoopCount();
- return ret;
- }
- }
+ /// <summary>
+ /// Gets/Sets the end action of the animation.
+ /// This action is performed when the animation ends or if it is stopped.
+ /// Default end action is Cancel
+ /// </summary>
+ public EndActions EndAction
+ {
+ set
+ {
+ SetEndAction(value);
+ }
+ get
+ {
+ return GetEndAction();
+ }
+ }
- public bool Looping
- {
- set
- {
- SetLooping(value);
- }
- get
- {
- bool ret = IsLooping();
- return ret;
- }
- }
- public Animation.EndActions EndAction
- {
- set
- {
- SetEndAction(value);
- }
- get
- {
- return GetEndAction();
- }
- }
+ /// <summary>
+ /// Stops the animation.
+ /// </summary>
+ /// <param name="action">end action can be set</param>
+ public void Stop(EndActions action = EndActions.Cancel)
+ {
+ SetEndAction(action);
+ NDalicPINVOKE.Animation_Stop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public void Stop(Animation.EndActions action)
- {
- SetEndAction(action);
- NDalicPINVOKE.Animation_Stop(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ /// <summary>
+ /// Gets the current loop count.
+ /// A value 0 to CurrentLoop indicating the current loop count when looping.
+ /// </summary>
+ public int CurrentLoop
+ {
+ get
+ {
+ return GetCurrentLoop();
+ }
+ }
- public int StartTime { set; get; }
- public int EndTime { set; get; }
- public string TargetProperty { set; get; }
- public object Destination { set; get; }
- public Tizen.NUI.AlphaFunction AlphaFunction { set; get; }
+ /// <summary>
+ /// Gets/Sets the disconnect action.
+ /// If any of the animated property owners are disconnected from the stage while the animation is being played, then this action is performed.
+ /// Default action is to Cancel.
+ /// </summary>
+ public EndActions DisconnectAction
+ {
+ set
+ {
+ NDalicPINVOKE.Animation_SetDisconnectAction(swigCPtr, (int)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetDisconnectAction(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
- public void AnimateBy(Actor target)
- {
- string _str1 = TargetProperty.Substring(0, 1);
- string _str2 = TargetProperty.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ /// <summary>
+ /// Gets/Sets the progress of the animation.
+ /// The animation will play(or continue playing) from this point.
+ /// The progress must be in the 0-1 interval or in the play range interval if defined
+ /// otherwise, it will be ignored.
+ /// </summary>
+ public float CurrentProgress
+ {
+ set
+ {
+ NDalicPINVOKE.Animation_SetCurrentProgress(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Animation_GetCurrentProgress(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
- dynamic obj = (object)Destination;
+ /// <summary>
+ /// Gets/Sets Specifies a speed factor for the animation.
+ /// The speed factor is a multiplier of the normal velocity of the animation.
+ /// Values between[0, 1] will slow down the animation and values above one will speed up the animation.
+ /// It is also possible to specify a negative multiplier to play the animation in reverse.
+ /// </summary>
+ public float SpeedFactor
+ {
+ set
+ {
+ NDalicPINVOKE.Animation_SetSpeedFactor(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Animation_GetSpeedFactor(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBy(new Property(target, _str), new Property.Value(obj) );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBy(new Property(target, _str), new Property.Value(obj), time );
- }
- }
- }
+ /// <summary>
+ /// Gets/Sets the playing range.
+ /// Animation will play between the values specified. Both values(range.x and range.y ) should be between 0-1,
+ /// otherwise they will be ignored.If the range provided is not in proper order(minimum, maximum ), it will be reordered.
+ /// </summary>
+ public Vector2 PlayRange
+ {
+ set
+ {
+ NDalicPINVOKE.Animation_SetPlayRange(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Animation_GetPlayRange(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
- public void AnimateBy(Actor target, string propertyIndex)
- {
- string _str1 = propertyIndex.Substring(0, 1);
- string _str2 = propertyIndex.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ /// <summary>
+ /// Animates a property value by a relative amount.
+ /// The default alpha function will be used.
+ /// The effect will start & end when the animation begins & ends.
+ /// </summary>
+ /// <param name="target">The target object to animate</param>
+ /// <param name="property">The target property to animate</param>
+ /// <param name="relativeValue">The property value will change by this amount</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ public void AnimateBy(Actor target, string property, object relativeValue, AlphaFunction alphaFunction = null)
+ {
+ string _str1 = property.Substring(0, 1);
+ string _str2 = property.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ Property _prop = new Property(target, _str);
+ if (_prop.propertyIndex == Property.INVALID_INDEX)
+ {
+ throw new System.Exception("second argument string property is invalid parameter!");
+ }
+
+ dynamic obj = (object)relativeValue;
+
+ if (alphaFunction != null)
+ {
+ AnimateBy(_prop, new PropertyValue(obj), alphaFunction);
+ }
+ else
+ {
+ AnimateBy(_prop, new PropertyValue(obj));
+ }
+ }
- dynamic obj = (object)Destination;
+ /// <summary>
+ /// Animates a property value by a relative amount.
+ /// The default alpha function will be used.
+ /// The effect will start & end when the animation begins & ends.
+ /// </summary>
+ /// <param name="target">The target object to animate</param>
+ /// <param name="property">The target property to animate</param>
+ /// <param name="relativeValue">The property value will change by this amount</param>
+ /// <param name="startTime">Start time of animation</param>
+ /// <param name="endTime">End time of animation</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ public void AnimateBy(Actor target, string property, object relativeValue, int startTime, int endTime, AlphaFunction alphaFunction = null)
+ {
+ string _str1 = property.Substring(0, 1);
+ string _str2 = property.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ Property _prop = new Property(target, _str);
+ if (_prop.propertyIndex == Property.INVALID_INDEX)
+ {
+ throw new System.Exception("second argument string property is invalid parameter!");
+ }
+
+ dynamic obj = (object)relativeValue;
+
+ if (alphaFunction != null)
+ {
+ Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+ AnimateBy(_prop, new PropertyValue(obj), alphaFunction, time);
+ }
+ else
+ {
+ Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+ AnimateBy(_prop, new PropertyValue(obj), time);
+ }
+ }
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBy(new Property(target, _str), new Property.Value(obj) );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBy(new Property(target, _str), new Property.Value(obj), time );
- }
- }
- }
+ /// <summary>
+ /// Animates a property to a destination value.
+ /// The default alpha function will be used.
+ /// The effect will start & end when the animation begins & ends.
+ /// </summary>
+ /// <param name="target">The target object to animate</param>
+ /// <param name="property">The target property to animate</param>
+ /// <param name="destinationValue">The destination value</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ public void AnimateTo(Actor target, string property, object destinationValue, AlphaFunction alphaFunction = null)
+ {
+ string _str1 = property.Substring(0, 1);
+ string _str2 = property.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ Property _prop = new Property(target, _str);
+ if (_prop.propertyIndex == Property.INVALID_INDEX)
+ {
+ throw new System.Exception("second argument string property is invalid parameter!");
+ }
+
+ dynamic obj = (object)destinationValue;
+
+ if (alphaFunction != null)
+ {
+ AnimateTo(_prop, new PropertyValue(obj), alphaFunction);
+ }
+ else
+ {
+ AnimateTo(_prop, new PropertyValue(obj));
+ }
+ }
- public void AnimateBy(Actor target, string propertyIndex, object relativeValue)
- {
- string _str1 = propertyIndex.Substring(0, 1);
- string _str2 = propertyIndex.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ /// <summary>
+ /// Animates a property to a destination value.
+ /// The default alpha function will be used.
+ /// The effect will start & end when the animation begins & ends.
+ /// </summary>
+ /// <param name="target">The target object to animate</param>
+ /// <param name="property">The target property to animate</param>
+ /// <param name="destinationValue">The destination value</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ /// <param name="startTime">Start time of animation</param>
+ /// <param name="endTime">End time of animation</param>
+ /// <param name="alphaFunction"></param>
+ public void AnimateTo(Actor target, string property, object destinationValue, int startTime, int endTime, AlphaFunction alphaFunction = null)
+ {
+ string _str1 = property.Substring(0, 1);
+ string _str2 = property.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ Property _prop = new Property(target, _str);
+ if (_prop.propertyIndex == Property.INVALID_INDEX)
+ {
+ throw new System.Exception("second argument string property is invalid parameter!");
+ }
+
+ dynamic obj = (object)destinationValue;
+
+ if (alphaFunction != null)
+ {
+ Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+ AnimateTo(_prop, new PropertyValue(obj), alphaFunction, time);
+ }
+ else
+ {
+ Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+ AnimateTo(_prop, new PropertyValue(obj), time);
+ }
+ }
- dynamic obj = (object)relativeValue;
+ /// <summary>
+ /// Animates a property between keyframes.
+ /// </summary>
+ /// <param name="target">The target object to animate</param>
+ /// <param name="property">The target property to animate</param>
+ /// <param name="keyFrames">The set of time/value pairs between which to animate</param>
+ /// <param name="interpolation">The method used to interpolate between values</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ public void AnimateBetween(Actor target, string property, KeyFrames keyFrames, Interpolation interpolation = Interpolation.Linear, AlphaFunction alphaFunction = null)
+ {
+ string _str1 = property.Substring(0, 1);
+ string _str2 = property.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ Property _prop = new Property(target, _str);
+ if (_prop.propertyIndex == Property.INVALID_INDEX)
+ {
+ throw new System.Exception("second argument string property is invalid parameter!");
+ }
+
+ if (alphaFunction != null)
+ {
+ AnimateBetween(_prop, keyFrames, alphaFunction, interpolation);
+ }
+ else
+ {
+ AnimateBetween(_prop, keyFrames, interpolation);
+ }
+ }
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBy(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBy(new Property(target, _str), new Property.Value(obj) );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBy(new Property(target, _str), new Property.Value(obj), time );
- }
- }
- }
- public void AnimateTo(Actor target)
- {
- string _str1 = TargetProperty.Substring(0, 1);
- string _str2 = TargetProperty.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ /// <summary>
+ /// Animates a property between keyframes.
+ /// </summary>
+ /// <param name="target">The target object to animate</param>
+ /// <param name="property">The target property to animate</param>
+ /// <param name="keyFrames">The set of time/value pairs between which to animate</param>
+ /// <param name="startTime">Start time of animation</param>
+ /// <param name="endTime">End time of animation</param>
+ /// <param name="interpolation">The method used to interpolate between values</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ public void AnimateBetween(Actor target, string property, KeyFrames keyFrames, int startTime, int endTime, Interpolation interpolation = Interpolation.Linear, AlphaFunction alphaFunction = null)
+ {
+ string _str1 = property.Substring(0, 1);
+ string _str2 = property.Substring(1);
+ string _str = _str1.ToLower() + _str2;
+
+ Property _prop = new Property(target, _str);
+ if (_prop.propertyIndex == Property.INVALID_INDEX)
+ {
+ throw new System.Exception("second argument string property is invalid parameter!");
+ }
+
+ Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+ if (alphaFunction != null)
+ {
+ AnimateBetween(_prop, keyFrames, alphaFunction, time, interpolation);
+ }
+ else
+ {
+ AnimateBetween(_prop, keyFrames, time, interpolation);
+ }
+ }
- dynamic obj = (object)Destination;
+ /// <summary>
+ /// Animates an actor's position and orientation through a predefined path.
+ /// The actor will rotate to orient the supplied forward vector with the path's tangent.
+ /// If forward is the zero vector then no rotation will happen.
+ /// </summary>
+ /// <param name="actor">The actor to animate</param>
+ /// <param name="path">It defines position and orientation</param>
+ /// <param name="forward">The vector (in local space coordinate system) that will be oriented with the path's tangent direction</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ public void AnimatePath(Actor actor, Path path, Vector3 forward, AlphaFunction alphaFunction = null)
+ {
+ if (alphaFunction == null)
+ {
+ Animate(actor, path, forward);
+ }
+ else
+ {
+ Animate(actor, path, forward, alphaFunction);
+ }
+ }
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateTo(new Property(target, _str), new Property.Value(obj) );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateTo(new Property(target, _str), new Property.Value(obj), time );
- }
- }
- }
+ /// <summary>
+ /// Animates an actor's position and orientation through a predefined path.
+ /// The actor will rotate to orient the supplied forward vector with the path's tangent.
+ /// If forward is the zero vector then no rotation will happen.
+ /// </summary>
+ /// <param name="actor">The actor to animate</param>
+ /// <param name="path">It defines position and orientation</param>
+ /// <param name="forward">The vector (in local space coordinate system) that will be oriented with the path's tangent direction</param>
+ /// <param name="startTime">Start time of animation</param>
+ /// <param name="endTime">End time of animation</param>
+ /// <param name="alphaFunction">The alpha function to apply</param>
+ public void AnimatePath(Actor actor, Path path, Vector3 forward, int startTime, int endTime, AlphaFunction alphaFunction = null)
+ {
+ TimePeriod time = new TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+ if (alphaFunction == null)
+ {
+ Animate(actor, path, forward, time);
+ }
+ else
+ {
+ Animate(actor, path, forward, alphaFunction, time);
+ }
+ }
- public void AnimateTo(Actor target, string propertyIndex)
- {
- string _str1 = propertyIndex.Substring(0, 1);
- string _str2 = propertyIndex.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ /// <summary>
+ /// Creates an initialized Animation.
+ /// The animation will not loop.
+ /// The default end action is "Cancel".
+ /// The default alpha function is linear.
+ /// </summary>
+ public Animation() : this(NDalicPINVOKE.Animation_New(0.0f), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- dynamic obj = (object)Destination;
+ internal Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateTo(new Property(target, _str), new Property.Value(obj) );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateTo(new Property(target, _str), new Property.Value(obj), time );
- }
- }
- }
+ }
- public void AnimateTo(Actor target, string propertyIndex, object destinationValue)
- {
- string _str1 = propertyIndex.Substring(0, 1);
- string _str2 = propertyIndex.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ /// <summary>
+ /// Downcasts a handle to Animation handle.
+ /// If handle points to an Animation object, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to an Animation object or an uninitialized handle</returns>
+ public static Animation DownCast(BaseHandle handle)
+ {
+ Animation ret = new Animation(NDalicPINVOKE.Animation_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- dynamic obj = (object)destinationValue;
+ internal Animation(Animation handle) : this(NDalicPINVOKE.new_Animation__SWIG_1(Animation.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateTo(new Property(target, _str), new Property.Value(obj), this.AlphaFunction, time );
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateTo(new Property(target, _str), new Property.Value(obj) );
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateTo(new Property(target, _str), new Property.Value(obj), time );
- }
- }
- }
+ internal Animation Assign(Animation rhs)
+ {
+ Animation ret = new Animation(NDalicPINVOKE.Animation_Assign(swigCPtr, Animation.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public void AnimateBetween(Actor target, KeyFrames keyFrames)
- {
- string _str1 = TargetProperty.Substring(0, 1);
- string _str2 = TargetProperty.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ internal void SetDuration(float seconds)
+ {
+ NDalicPINVOKE.Animation_SetDuration(swigCPtr, seconds);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ internal float GetDuration()
+ {
+ float ret = NDalicPINVOKE.Animation_GetDuration(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction);
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time);
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBetween(new Property(target, _str), keyFrames);
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBetween(new Property(target, _str), keyFrames, time);
- }
- }
- }
+ internal void SetLooping(bool looping)
+ {
+ NDalicPINVOKE.Animation_SetLooping(swigCPtr, looping);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public void AnimateBetween(Actor target, KeyFrames keyFrames, Animation.Interpolation interpolation)
- {
- string _str1 = TargetProperty.Substring(0, 1);
- string _str2 = TargetProperty.Substring(1);
- string _str = _str1.ToLower() + _str2;
+ internal void SetLoopCount(int count)
+ {
+ NDalicPINVOKE.Animation_SetLoopCount(swigCPtr, count);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ internal int GetLoopCount()
+ {
+ int ret = NDalicPINVOKE.Animation_GetLoopCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- if( this.AlphaFunction != null )
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, interpolation);
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBetween(new Property(target, _str), keyFrames, this.AlphaFunction, time, interpolation);
- }
- }
- else
- {
- if( this.StartTime == 0 && this.EndTime == 0 )
- {
- AnimateBetween(new Property(target, _str), keyFrames, interpolation);
- }
- else
- {
- Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod( MilliSecondsToSeconds( this.StartTime ), MilliSecondsToSeconds( this.EndTime - this.StartTime ) );
- AnimateBetween(new Property(target, _str), keyFrames, time, interpolation);
- }
- }
- }
-
-
- /**
- * @brief Create an initialized Animation.
- *
- * The animation will not loop.
- * The default end action is "Bake".
- * The default Alpha function is linear.
- * @since 1.0.0
- * @param [in] durationmSeconds The duration in milli seconds (int).
- * @return A handle to a newly allocated Dali resource.
- * @pre DurationmSeconds must be greater than zero.
- */
- public Animation (int durationmSeconds) : this (NDalicPINVOKE.Animation_New((float)durationmSeconds/1000.0f), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Animation () : this (NDalicPINVOKE.Animation_New( 0.0f ), true ) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
-
- public Animation (float durationSeconds) : this (NDalicPINVOKE.Animation_New(durationSeconds), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public static Animation DownCast(BaseHandle handle) {
- Animation ret = new Animation(NDalicPINVOKE.Animation_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Animation(Animation handle) : this(NDalicPINVOKE.new_Animation__SWIG_1(Animation.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Animation Assign(Animation rhs) {
- Animation ret = new Animation(NDalicPINVOKE.Animation_Assign(swigCPtr, Animation.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetDuration(float seconds) {
- NDalicPINVOKE.Animation_SetDuration(swigCPtr, seconds);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetDuration() {
- float ret = NDalicPINVOKE.Animation_GetDuration(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetLooping(bool looping) {
- NDalicPINVOKE.Animation_SetLooping(swigCPtr, looping);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetLoopCount(int count) {
- NDalicPINVOKE.Animation_SetLoopCount(swigCPtr, count);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public int GetLoopCount() {
- int ret = NDalicPINVOKE.Animation_GetLoopCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int GetCurrentLoop() {
- int ret = NDalicPINVOKE.Animation_GetCurrentLoop(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsLooping() {
- bool ret = NDalicPINVOKE.Animation_IsLooping(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetEndAction(Animation.EndActions action) {
- NDalicPINVOKE.Animation_SetEndAction(swigCPtr, (int)action);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Animation.EndActions GetEndAction() {
- Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetEndAction(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetDisconnectAction(Animation.EndActions disconnectAction) {
- NDalicPINVOKE.Animation_SetDisconnectAction(swigCPtr, (int)disconnectAction);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Animation.EndActions GetDisconnectAction() {
- Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetDisconnectAction(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetDefaultAlphaFunction(AlphaFunction alpha) {
- NDalicPINVOKE.Animation_SetDefaultAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public AlphaFunction GetDefaultAlphaFunction() {
- AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.Animation_GetDefaultAlphaFunction(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetCurrentProgress(float progress) {
- NDalicPINVOKE.Animation_SetCurrentProgress(swigCPtr, progress);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetCurrentProgress() {
- float ret = NDalicPINVOKE.Animation_GetCurrentProgress(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetSpeedFactor(float factor) {
- NDalicPINVOKE.Animation_SetSpeedFactor(swigCPtr, factor);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetSpeedFactor() {
- float ret = NDalicPINVOKE.Animation_GetSpeedFactor(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetPlayRange(Vector2 range) {
- NDalicPINVOKE.Animation_SetPlayRange(swigCPtr, Vector2.getCPtr(range));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2 GetPlayRange() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Animation_GetPlayRange(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Play() {
- NDalicPINVOKE.Animation_Play(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void PlayFrom(float progress) {
- NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Pause() {
- NDalicPINVOKE.Animation_Pause(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Animation.State GetState() {
- Animation.State ret = (Animation.State)NDalicPINVOKE.Animation_GetState(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Stop() {
- NDalicPINVOKE.Animation_Stop(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Clear() {
- NDalicPINVOKE.Animation_Clear(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public AnimationSignal FinishedSignal() {
- AnimationSignal ret = new AnimationSignal(NDalicPINVOKE.Animation_FinishedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void AnimateBy(Property target, Property.Value relativeValue) {
- NDalicPINVOKE.Animation_AnimateBy__SWIG_0(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBy(Property target, Property.Value relativeValue, AlphaFunction alpha) {
- NDalicPINVOKE.Animation_AnimateBy__SWIG_1(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBy(Property target, Property.Value relativeValue, TimePeriod period) {
- NDalicPINVOKE.Animation_AnimateBy__SWIG_2(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBy(Property target, Property.Value relativeValue, AlphaFunction alpha, TimePeriod period) {
- NDalicPINVOKE.Animation_AnimateBy__SWIG_3(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateTo(Property target, Property.Value destinationValue) {
- NDalicPINVOKE.Animation_AnimateTo__SWIG_0(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateTo(Property target, Property.Value destinationValue, AlphaFunction alpha) {
- NDalicPINVOKE.Animation_AnimateTo__SWIG_1(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateTo(Property target, Property.Value destinationValue, TimePeriod period) {
- NDalicPINVOKE.Animation_AnimateTo__SWIG_2(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateTo(Property target, Property.Value destinationValue, AlphaFunction alpha, TimePeriod period) {
- NDalicPINVOKE.Animation_AnimateTo__SWIG_3(swigCPtr, Property.getCPtr(target), Property.Value.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_0(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames, Animation.Interpolation interpolation) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_1(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), (int)interpolation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_2(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, Animation.Interpolation interpolation) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_3(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), (int)interpolation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_4(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period, Animation.Interpolation interpolation) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_5(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period), (int)interpolation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_6(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period, Animation.Interpolation interpolation) {
- NDalicPINVOKE.Animation_AnimateBetween__SWIG_7(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period), (int)interpolation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Animate(Actor actor, Path path, Vector3 forward) {
- NDalicPINVOKE.Animation_Animate__SWIG_0(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Animate(Actor actor, Path path, Vector3 forward, AlphaFunction alpha) {
- NDalicPINVOKE.Animation_Animate__SWIG_1(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Animate(Actor actor, Path path, Vector3 forward, TimePeriod period) {
- NDalicPINVOKE.Animation_Animate__SWIG_2(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Animate(Actor actor, Path path, Vector3 forward, AlphaFunction alpha, TimePeriod period) {
- NDalicPINVOKE.Animation_Animate__SWIG_3(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Show(Actor actor, float delaySeconds) {
- NDalicPINVOKE.Animation_Show(swigCPtr, Actor.getCPtr(actor), delaySeconds);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Hide(Actor actor, float delaySeconds) {
- NDalicPINVOKE.Animation_Hide(swigCPtr, Actor.getCPtr(actor), delaySeconds);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public enum EndActions {
- Cancel,
- Discard,
- StopFinal
- }
-
- public enum Interpolation {
- Linear,
- Cubic
- }
-
- public enum State {
- Stopped,
- Playing,
- Paused
- }
+ internal int GetCurrentLoop()
+ {
+ int ret = NDalicPINVOKE.Animation_GetCurrentLoop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ internal bool IsLooping()
+ {
+ bool ret = NDalicPINVOKE.Animation_IsLooping(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetEndAction(Animation.EndActions action)
+ {
+ NDalicPINVOKE.Animation_SetEndAction(swigCPtr, (int)action);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Animation.EndActions GetEndAction()
+ {
+ Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetEndAction(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetDisconnectAction(Animation.EndActions disconnectAction)
+ {
+ NDalicPINVOKE.Animation_SetDisconnectAction(swigCPtr, (int)disconnectAction);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Animation.EndActions GetDisconnectAction()
+ {
+ Animation.EndActions ret = (Animation.EndActions)NDalicPINVOKE.Animation_GetDisconnectAction(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetDefaultAlphaFunction(AlphaFunction alpha)
+ {
+ NDalicPINVOKE.Animation_SetDefaultAlphaFunction(swigCPtr, AlphaFunction.getCPtr(alpha));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal AlphaFunction GetDefaultAlphaFunction()
+ {
+ AlphaFunction ret = new AlphaFunction(NDalicPINVOKE.Animation_GetDefaultAlphaFunction(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetCurrentProgress(float progress)
+ {
+ NDalicPINVOKE.Animation_SetCurrentProgress(swigCPtr, progress);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetCurrentProgress()
+ {
+ float ret = NDalicPINVOKE.Animation_GetCurrentProgress(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetSpeedFactor(float factor)
+ {
+ NDalicPINVOKE.Animation_SetSpeedFactor(swigCPtr, factor);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetSpeedFactor()
+ {
+ float ret = NDalicPINVOKE.Animation_GetSpeedFactor(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetPlayRange(Vector2 range)
+ {
+ NDalicPINVOKE.Animation_SetPlayRange(swigCPtr, Vector2.getCPtr(range));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector2 GetPlayRange()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Animation_GetPlayRange(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Play the animation.
+ /// </summary>
+ public void Play()
+ {
+ NDalicPINVOKE.Animation_Play(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Plays the animation from a given point.
+ /// The progress must be in the 0-1 interval or in the play range interval if defined
+ /// otherwise, it will be ignored.
+ /// </summary>
+ /// <param name="progress">A value between [0,1], or between the play range if specified, from where the animation should start playing</param>
+ public void PlayFrom(float progress)
+ {
+ NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Pauses the animation.
+ /// </summary>
+ public void Pause()
+ {
+ NDalicPINVOKE.Animation_Pause(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Animation.States GetState()
+ {
+ Animation.States ret = (Animation.States)NDalicPINVOKE.Animation_GetState(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Stops the animation.
+ /// </summary>
+ public void Stop()
+ {
+ NDalicPINVOKE.Animation_Stop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Clears the animation.
+ /// This disconnects any objects that were being animated, effectively stopping the animation.
+ /// </summary>
+ public void Clear()
+ {
+ NDalicPINVOKE.Animation_Clear(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal AnimationSignal FinishedSignal()
+ {
+ AnimationSignal ret = new AnimationSignal(NDalicPINVOKE.Animation_FinishedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void AnimateBy(Property target, PropertyValue relativeValue)
+ {
+ NDalicPINVOKE.Animation_AnimateBy__SWIG_0(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(relativeValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBy(Property target, PropertyValue relativeValue, AlphaFunction alpha)
+ {
+ NDalicPINVOKE.Animation_AnimateBy__SWIG_1(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBy(Property target, PropertyValue relativeValue, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_AnimateBy__SWIG_2(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(relativeValue), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBy(Property target, PropertyValue relativeValue, AlphaFunction alpha, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_AnimateBy__SWIG_3(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(relativeValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateTo(Property target, PropertyValue destinationValue)
+ {
+ NDalicPINVOKE.Animation_AnimateTo__SWIG_0(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(destinationValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateTo(Property target, PropertyValue destinationValue, AlphaFunction alpha)
+ {
+ NDalicPINVOKE.Animation_AnimateTo__SWIG_1(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateTo(Property target, PropertyValue destinationValue, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_AnimateTo__SWIG_2(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(destinationValue), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateTo(Property target, PropertyValue destinationValue, AlphaFunction alpha, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_AnimateTo__SWIG_3(swigCPtr, Property.getCPtr(target), PropertyValue.getCPtr(destinationValue), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_0(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames, Animation.Interpolation interpolation)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_1(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), (int)interpolation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_2(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, Animation.Interpolation interpolation)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_3(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), (int)interpolation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_4(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames, TimePeriod period, Animation.Interpolation interpolation)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_5(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), TimePeriod.getCPtr(period), (int)interpolation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_6(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AnimateBetween(Property target, KeyFrames keyFrames, AlphaFunction alpha, TimePeriod period, Animation.Interpolation interpolation)
+ {
+ NDalicPINVOKE.Animation_AnimateBetween__SWIG_7(swigCPtr, Property.getCPtr(target), KeyFrames.getCPtr(keyFrames), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period), (int)interpolation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Animate(Actor actor, Path path, Vector3 forward)
+ {
+ NDalicPINVOKE.Animation_Animate__SWIG_0(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Animate(Actor actor, Path path, Vector3 forward, AlphaFunction alpha)
+ {
+ NDalicPINVOKE.Animation_Animate__SWIG_1(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Animate(Actor actor, Path path, Vector3 forward, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_Animate__SWIG_2(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Animate(Actor actor, Path path, Vector3 forward, AlphaFunction alpha, TimePeriod period)
+ {
+ NDalicPINVOKE.Animation_Animate__SWIG_3(swigCPtr, Actor.getCPtr(actor), Path.getCPtr(path), Vector3.getCPtr(forward), AlphaFunction.getCPtr(alpha), TimePeriod.getCPtr(period));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Show(Actor actor, float delaySeconds)
+ {
+ NDalicPINVOKE.Animation_Show(swigCPtr, Actor.getCPtr(actor), delaySeconds);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Hide(Actor actor, float delaySeconds)
+ {
+ NDalicPINVOKE.Animation_Hide(swigCPtr, Actor.getCPtr(actor), delaySeconds);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Enumeration for what to do when the animation ends, is stopped, or is destroyed.
+ /// Cancel : When the animation ends, the animated property values are saved.
+ /// Discard : When the animation ends, the animated property values are forgotten.
+ /// StopFinal : If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like Cancel.
+ /// </summary>
+ public enum EndActions
+ {
+ Cancel,
+ Discard,
+ StopFinal
+ }
+
+ /// <summary>
+ /// Enumeration for what interpolation method to use on key-frame animations.
+ /// Linear : Values in between key frames are interpolated using a linear polynomial. (Default)
+ /// Cubic : Values in between key frames are interpolated using a cubic polynomial.
+ /// </summary>
+ public enum Interpolation
+ {
+ Linear,
+ Cubic
+ }
+
+ /// <summary>
+ /// Enumeration for what state the animation is in.
+ /// Note: Calling Reset() on this class will NOT reset the animation. It will call BaseHandle.Reset() which drops the object handle.
+ /// </summary>
+ public enum States
+ {
+ Stopped,
+ Playing,
+ Paused
+ }
+
+ }
}
namespace Tizen.NUI {
-public class AnimationSignal : global::System.IDisposable {
+ internal class AnimationSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class Any : global::System.IDisposable {
+ internal class Any : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
using System;
using System.Runtime.InteropServices;
*/
public class NUIApplicationInitEventArgs : EventArgs
{
- private Application _application;
+ private Application _application;
- /**
- * @brief Application - is the application that is being initialized
- *
- */
- public Application Application
- {
- get
- {
- return _application;
- }
- set
+ /**
+ * @brief Application - is the application that is being initialized
+ *
+ */
+ public Application Application
{
- _application = value;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- }
}
/**
*/
public class NUIApplicationTerminateEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being Terminated
- *
- */
- public Application Application
- {
- get
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being Terminated
+ *
+ */
+ public Application Application
{
- return _application;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- set
- {
- _application = value;
- }
- }
}
/**
*/
public class NUIApplicationPauseEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being Paused
- *
- */
- public Application Application
- {
- get
- {
- return _application;
- }
- set
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being Paused
+ *
+ */
+ public Application Application
{
- _application = value;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- }
}
/**
*/
public class NUIApplicationResumeEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being Resumed
- *
- */
- public Application Application
- {
- get
- {
- return _application;
- }
- set
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being Resumed
+ *
+ */
+ public Application Application
{
- _application = value;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- }
}
/**
*/
public class NUIApplicationResetEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being Reset
- *
- */
- public Application Application
- {
- get
- {
- return _application;
- }
- set
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being Reset
+ *
+ */
+ public Application Application
{
- _application = value;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- }
}
/**
*/
public class NUIApplicationResizeEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being Resized
- *
- */
- public Application Application
- {
- get
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being Resized
+ *
+ */
+ public Application Application
{
- return _application;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- set
- {
- _application = value;
- }
- }
}
/**
*/
public class NUIApplicationLanguageChangedEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being affected with Device's language change
- *
- */
- public Application Application
- {
- get
- {
- return _application;
- }
- set
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being affected with Device's language change
+ *
+ */
+ public Application Application
{
- _application = value;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- }
}
/**
*/
public class NUIApplicationRegionChangedEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being affected with Device's region change
- *
- */
- public Application Application
- {
- get
- {
- return _application;
- }
- set
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being affected with Device's region change
+ *
+ */
+ public Application Application
{
- _application = value;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- }
}
/**
*/
public class NUIApplicationBatteryLowEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being affected when the battery level of the device is low
- *
- */
- public Application Application
- {
- get
- {
- return _application;
- }
- set
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being affected when the battery level of the device is low
+ *
+ */
+ public Application Application
{
- _application = value;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- }
}
/**
*/
public class NUIApplicationMemoryLowEventArgs : EventArgs
{
- private Application _application;
- /**
- * @brief Application - is the application that is being affected when the memory level of the device is low
- *
- */
- public Application Application
- {
- get
+ private Application _application;
+ /**
+ * @brief Application - is the application that is being affected when the memory level of the device is low
+ *
+ */
+ public Application Application
{
- return _application;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- set
- {
- _application = value;
- }
- }
}
/**
*/
public class NUIApplicationAppControlEventArgs : EventArgs
{
- private Application _application;
- private IntPtr _voidp;
- /**
- * @brief Application - is the application that is receiving the launch request from another application
- *
- */
- public Application Application
- {
- get
+ private Application _application;
+ private IntPtr _voidp;
+ /**
+ * @brief Application - is the application that is receiving the launch request from another application
+ *
+ */
+ public Application Application
{
- return _application;
+ get
+ {
+ return _application;
+ }
+ set
+ {
+ _application = value;
+ }
}
- set
+ /**
+ * @brief VoidP - contains the information about why the application is launched
+ *
+ */
+ public IntPtr VoidP
{
- _application = value;
+ get
+ {
+ return _voidp;
+ }
+ set
+ {
+ _voidp = value;
+ }
}
- }
- /**
- * @brief VoidP - contains the information about why the application is launched
- *
- */
- public IntPtr VoidP
- {
- get
+ }
+
+ public class Application : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal Application(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Application_SWIGUpcast(cPtr), cMemoryOwn)
{
- return _voidp;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
- set
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Application obj)
{
- _voidp = value;
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
- }
- }
-
-public class Application : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
- internal Application(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Application_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Application obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~Application()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~Application() {
- DisposeQueue.Instance.Add(this);
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Application(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ private static void LOG(string str)
+ {
+ //Tizen.Log.Debug("NUI", str);
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Application(swigCPtr);
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationInitEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationInitEventArgs> _applicationInitEventHandler;
+ private NUIApplicationInitEventCallbackDelegate _applicationInitEventCallbackDelegate;
+
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationTerminateEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationTerminateEventArgs> _applicationTerminateEventHandler;
+ private NUIApplicationTerminateEventCallbackDelegate _applicationTerminateEventCallbackDelegate;
+
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationPauseEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationPauseEventArgs> _applicationPauseEventHandler;
+ private NUIApplicationPauseEventCallbackDelegate _applicationPauseEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationResumeEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationResumeEventArgs> _applicationResumeEventHandler;
+ private NUIApplicationResumeEventCallbackDelegate _applicationResumeEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationResetEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationResetEventArgs> _applicationResetEventHandler;
+ private NUIApplicationResetEventCallbackDelegate _applicationResetEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationResizeEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationResizeEventArgs> _applicationResizeEventHandler;
+ private NUIApplicationResizeEventCallbackDelegate _applicationResizeEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationLanguageChangedEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationLanguageChangedEventArgs> _applicationLanguageChangedEventHandler;
+ private NUIApplicationLanguageChangedEventCallbackDelegate _applicationLanguageChangedEventCallbackDelegate;
+
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationRegionChangedEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationRegionChangedEventArgs> _applicationRegionChangedEventHandler;
+ private NUIApplicationRegionChangedEventCallbackDelegate _applicationRegionChangedEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationBatteryLowEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationBatteryLowEventArgs> _applicationBatteryLowEventHandler;
+ private NUIApplicationBatteryLowEventCallbackDelegate _applicationBatteryLowEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationMemoryLowEventCallbackDelegate(IntPtr application);
+ private DaliEventHandler<object, NUIApplicationMemoryLowEventArgs> _applicationMemoryLowEventHandler;
+ private NUIApplicationMemoryLowEventCallbackDelegate _applicationMemoryLowEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void NUIApplicationAppControlEventCallbackDelegate(IntPtr application, IntPtr voidp);
+ private DaliEventHandler<object, NUIApplicationAppControlEventArgs> _applicationAppControlEventHandler;
+ private NUIApplicationAppControlEventCallbackDelegate _applicationAppControlEventCallbackDelegate;
+
+ /**
+ * @brief Event for Initialized signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationInitEventHandler - DaliEventHandler<object,NUIApplicationInitEventArgs>)
+ * provided by the user. Initialized signal is emitted when application is initialised
+ */
+ public event DaliEventHandler<object, NUIApplicationInitEventArgs> Initialized
+ {
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationInitEventHandler == null)
+ {
+ _applicationInitEventHandler += value;
+
+ _applicationInitEventCallbackDelegate = new NUIApplicationInitEventCallbackDelegate(OnApplicationInit);
+ this.InitSignal().Connect(_applicationInitEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationInitEventHandler != null)
+ {
+ this.InitSignal().Disconnect(_applicationInitEventCallbackDelegate);
+ }
+
+ _applicationInitEventHandler -= value;
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ // Callback for Application InitSignal
+ private void OnApplicationInit(IntPtr data)
+ {
+ NUIApplicationInitEventArgs e = new NUIApplicationInitEventArgs();
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationInitEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationInitEventArgs> _applicationInitEventHandler;
- private NUIApplicationInitEventCallbackDelegate _applicationInitEventCallbackDelegate;
+ // Populate all members of "e" (NUIApplicationInitEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
+ if (_applicationInitEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationInitEventHandler(this, e);
+ }
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationTerminateEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationTerminateEventArgs> _applicationTerminateEventHandler;
- private NUIApplicationTerminateEventCallbackDelegate _applicationTerminateEventCallbackDelegate;
+ /**
+ * @brief Event for Terminated signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationTerminateEventHandler-DaliEventHandler<object,NUIApplicationTerminateEventArgs>)
+ * provided by the user. Terminated signal is emitted when application is terminated
+ */
+ public event DaliEventHandler<object, NUIApplicationTerminateEventArgs> Terminated
+ {
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationTerminateEventHandler == null)
+ {
+ _applicationTerminateEventHandler += value;
+
+ _applicationTerminateEventCallbackDelegate = new NUIApplicationTerminateEventCallbackDelegate(OnNUIApplicationTerminate);
+ this.TerminateSignal().Connect(_applicationTerminateEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationTerminateEventHandler != null)
+ {
+ this.TerminateSignal().Disconnect(_applicationTerminateEventCallbackDelegate);
+ }
+
+ _applicationTerminateEventHandler -= value;
+ }
+ }
+ }
+ // Callback for Application TerminateSignal
+ private void OnNUIApplicationTerminate(IntPtr data)
+ {
+ NUIApplicationTerminateEventArgs e = new NUIApplicationTerminateEventArgs();
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationPauseEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationPauseEventArgs> _applicationPauseEventHandler;
- private NUIApplicationPauseEventCallbackDelegate _applicationPauseEventCallbackDelegate;
+ // Populate all members of "e" (NUIApplicationTerminateEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationResumeEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationResumeEventArgs> _applicationResumeEventHandler;
- private NUIApplicationResumeEventCallbackDelegate _applicationResumeEventCallbackDelegate;
+ if (_applicationTerminateEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationTerminateEventHandler(this, e);
+ }
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationResetEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationResetEventArgs> _applicationResetEventHandler;
- private NUIApplicationResetEventCallbackDelegate _applicationResetEventCallbackDelegate;
+ /**
+ * @brief Event for Paused signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationPauseEventHandler-DaliEventHandler<object,NUIApplicationPauseEventArgs>)
+ * provided by the user. Paused signal is emitted when application is paused
+ */
+ public event DaliEventHandler<object, NUIApplicationPauseEventArgs> Paused
+ {
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationPauseEventHandler == null)
+ {
+ _applicationPauseEventHandler += value;
+
+ _applicationPauseEventCallbackDelegate = new NUIApplicationPauseEventCallbackDelegate(OnNUIApplicationPause);
+ this.PauseSignal().Connect(_applicationPauseEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationPauseEventHandler != null)
+ {
+ this.PauseSignal().Disconnect(_applicationPauseEventCallbackDelegate);
+ }
+
+ _applicationPauseEventHandler -= value;
+ }
+ }
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationResizeEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationResizeEventArgs> _applicationResizeEventHandler;
- private NUIApplicationResizeEventCallbackDelegate _applicationResizeEventCallbackDelegate;
+ // Callback for Application PauseSignal
+ private void OnNUIApplicationPause(IntPtr data)
+ {
+ NUIApplicationPauseEventArgs e = new NUIApplicationPauseEventArgs();
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationLanguageChangedEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationLanguageChangedEventArgs> _applicationLanguageChangedEventHandler;
- private NUIApplicationLanguageChangedEventCallbackDelegate _applicationLanguageChangedEventCallbackDelegate;
+ // Populate all members of "e" (NUIApplicationPauseEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
+ if (_applicationPauseEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationPauseEventHandler(this, e);
+ }
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationRegionChangedEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationRegionChangedEventArgs> _applicationRegionChangedEventHandler;
- private NUIApplicationRegionChangedEventCallbackDelegate _applicationRegionChangedEventCallbackDelegate;
+ /**
+ * @brief Event for Resumed signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationResumeEventHandler-DaliEventHandler<object,NUIApplicationResumeEventArgs>)
+ * provided by the user. Resumed signal is emitted when application is resumed
+ */
+ public event DaliEventHandler<object, NUIApplicationResumeEventArgs> Resumed
+ {
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationResumeEventHandler == null)
+ {
+ _applicationResumeEventHandler += value;
+
+ _applicationResumeEventCallbackDelegate = new NUIApplicationResumeEventCallbackDelegate(OnNUIApplicationResume);
+ this.ResumeSignal().Connect(_applicationResumeEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationResumeEventHandler != null)
+ {
+ this.ResumeSignal().Disconnect(_applicationResumeEventCallbackDelegate);
+ }
+
+ _applicationResumeEventHandler -= value;
+ }
+ }
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationBatteryLowEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationBatteryLowEventArgs> _applicationBatteryLowEventHandler;
- private NUIApplicationBatteryLowEventCallbackDelegate _applicationBatteryLowEventCallbackDelegate;
+ // Callback for Application ResumeSignal
+ private void OnNUIApplicationResume(IntPtr data)
+ {
+ NUIApplicationResumeEventArgs e = new NUIApplicationResumeEventArgs();
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationMemoryLowEventCallbackDelegate(IntPtr application);
- private DaliEventHandler<object,NUIApplicationMemoryLowEventArgs> _applicationMemoryLowEventHandler;
- private NUIApplicationMemoryLowEventCallbackDelegate _applicationMemoryLowEventCallbackDelegate;
+ // Populate all members of "e" (NUIApplicationResumeEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void NUIApplicationAppControlEventCallbackDelegate(IntPtr application, IntPtr voidp);
- private DaliEventHandler<object,NUIApplicationAppControlEventArgs> _applicationAppControlEventHandler;
- private NUIApplicationAppControlEventCallbackDelegate _applicationAppControlEventCallbackDelegate;
+ if (_applicationResumeEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationResumeEventHandler(this, e);
+ }
+ }
- /**
- * @brief Event for Initialized signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationInitEventHandler - DaliEventHandler<object,NUIApplicationInitEventArgs>)
- * provided by the user. Initialized signal is emitted when application is initialised
- */
- public event DaliEventHandler<object,NUIApplicationInitEventArgs> Initialized
- {
- add
- {
- lock(this)
+ /**
+ * @brief Event for Reset signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationResetEventHandler-DaliEventHandler<object,NUIApplicationResetEventArgs>)
+ * provided by the user. Reset signal is emitted when application is reset
+ */
+ public event DaliEventHandler<object, NUIApplicationResetEventArgs> Reset
{
- // Restricted to only one listener
- if (_applicationInitEventHandler == null)
- {
- _applicationInitEventHandler += value;
-
- _applicationInitEventCallbackDelegate = new NUIApplicationInitEventCallbackDelegate(OnApplicationInit);
- this.InitSignal().Connect(_applicationInitEventCallbackDelegate);
- }
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationResetEventHandler == null)
+ {
+ _applicationResetEventHandler += value;
+
+ _applicationResetEventCallbackDelegate = new NUIApplicationResetEventCallbackDelegate(OnNUIApplicationReset);
+ this.ResetSignal().Connect(_applicationResetEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationResetEventHandler != null)
+ {
+ this.ResetSignal().Disconnect(_applicationResetEventCallbackDelegate);
+ }
+
+ _applicationResetEventHandler -= value;
+ }
+ }
}
- }
- remove
- {
- lock(this)
+ // Callback for Application ResetSignal
+ private void OnNUIApplicationReset(IntPtr data)
{
- if (_applicationInitEventHandler != null)
- {
- this.InitSignal().Disconnect(_applicationInitEventCallbackDelegate);
- }
-
- _applicationInitEventHandler -= value;
- }
- }
- }
+ NUIApplicationResetEventArgs e = new NUIApplicationResetEventArgs();
- // Callback for Application InitSignal
- private void OnApplicationInit(IntPtr data)
- {
- NUIApplicationInitEventArgs e = new NUIApplicationInitEventArgs();
+ // Populate all members of "e" (NUIApplicationResetEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
- // Populate all members of "e" (NUIApplicationInitEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ if (_applicationResetEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationResetEventHandler(this, e);
+ }
+ }
- if (_applicationInitEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationInitEventHandler(this, e);
- }
- }
+ /**
+ * @brief Event for Resized signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationResizeEventHandler-DaliEventHandler<object,NUIApplicationResizeEventArgs>)
+ * provided by the user. Resized signal is emitted when application is resized
+ */
+ public event DaliEventHandler<object, NUIApplicationResizeEventArgs> Resized
+ {
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationResizeEventHandler == null)
+ {
+ _applicationResizeEventHandler += value;
+
+ _applicationResizeEventCallbackDelegate = new NUIApplicationResizeEventCallbackDelegate(OnNUIApplicationResize);
+ this.ResizeSignal().Connect(_applicationResizeEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationResizeEventHandler != null)
+ {
+ this.ResizeSignal().Disconnect(_applicationResizeEventCallbackDelegate);
+ }
+
+ _applicationResizeEventHandler -= value;
+ }
+ }
+ }
- /**
- * @brief Event for Terminated signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationTerminateEventHandler-DaliEventHandler<object,NUIApplicationTerminateEventArgs>)
- * provided by the user. Terminated signal is emitted when application is terminated
- */
- public event DaliEventHandler<object,NUIApplicationTerminateEventArgs> Terminated
- {
- add
- {
- lock(this)
+ // Callback for Application ResizeSignal
+ private void OnNUIApplicationResize(IntPtr data)
{
- // Restricted to only one listener
- if (_applicationTerminateEventHandler == null)
- {
- _applicationTerminateEventHandler += value;
+ NUIApplicationResizeEventArgs e = new NUIApplicationResizeEventArgs();
- _applicationTerminateEventCallbackDelegate = new NUIApplicationTerminateEventCallbackDelegate(OnNUIApplicationTerminate);
- this.TerminateSignal().Connect(_applicationTerminateEventCallbackDelegate);
- }
+ // Populate all members of "e" (NUIApplicationResizeEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
+
+ if (_applicationResizeEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationResizeEventHandler(this, e);
+ }
}
- }
- remove
- {
- lock(this)
+ /**
+ * @brief Event for LanguageChanged signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationLanguageChangedEventHandler-DaliEventHandler<object,NUIApplicationLanguageChangedEventArgs>)
+ * provided by the user. LanguageChanged signal is emitted when the region of the device is changed.
+ */
+ public event DaliEventHandler<object, NUIApplicationLanguageChangedEventArgs> LanguageChanged
{
- if (_applicationTerminateEventHandler != null)
- {
- this.TerminateSignal().Disconnect(_applicationTerminateEventCallbackDelegate);
- }
-
- _applicationTerminateEventHandler -= value;
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationLanguageChangedEventHandler == null)
+ {
+ _applicationLanguageChangedEventHandler += value;
+
+ _applicationLanguageChangedEventCallbackDelegate = new NUIApplicationLanguageChangedEventCallbackDelegate(OnNUIApplicationLanguageChanged);
+ this.LanguageChangedSignal().Connect(_applicationLanguageChangedEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationLanguageChangedEventHandler != null)
+ {
+ this.LanguageChangedSignal().Disconnect(_applicationLanguageChangedEventCallbackDelegate);
+ }
+
+ _applicationLanguageChangedEventHandler -= value;
+ }
+ }
}
- }
- }
- // Callback for Application TerminateSignal
- private void OnNUIApplicationTerminate(IntPtr data)
- {
- NUIApplicationTerminateEventArgs e = new NUIApplicationTerminateEventArgs();
+ // Callback for Application LanguageChangedSignal
+ private void OnNUIApplicationLanguageChanged(IntPtr data)
+ {
+ NUIApplicationLanguageChangedEventArgs e = new NUIApplicationLanguageChangedEventArgs();
- // Populate all members of "e" (NUIApplicationTerminateEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ // Populate all members of "e" (NUIApplicationLanguageChangedEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
- if (_applicationTerminateEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationTerminateEventHandler(this, e);
- }
- }
+ if (_applicationLanguageChangedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationLanguageChangedEventHandler(this, e);
+ }
+ }
- /**
- * @brief Event for Paused signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationPauseEventHandler-DaliEventHandler<object,NUIApplicationPauseEventArgs>)
- * provided by the user. Paused signal is emitted when application is paused
- */
- public event DaliEventHandler<object,NUIApplicationPauseEventArgs> Paused
- {
- add
- {
- lock(this)
+ /**
+ * @brief Event for RegionChanged signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationRegionChangedEventHandler-DaliEventHandler<object,NUIApplicationRegionChangedEventArgs>)
+ * provided by the user. RegionChanged signal is emitted when the region of the device is changed.
+ */
+ public event DaliEventHandler<object, NUIApplicationRegionChangedEventArgs> RegionChanged
{
- // Restricted to only one listener
- if (_applicationPauseEventHandler == null)
- {
- _applicationPauseEventHandler += value;
-
- _applicationPauseEventCallbackDelegate = new NUIApplicationPauseEventCallbackDelegate(OnNUIApplicationPause);
- this.PauseSignal().Connect(_applicationPauseEventCallbackDelegate);
- }
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationRegionChangedEventHandler == null)
+ {
+ _applicationRegionChangedEventHandler += value;
+
+ _applicationRegionChangedEventCallbackDelegate = new NUIApplicationRegionChangedEventCallbackDelegate(OnNUIApplicationRegionChanged);
+ this.RegionChangedSignal().Connect(_applicationRegionChangedEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationRegionChangedEventHandler != null)
+ {
+ this.RegionChangedSignal().Disconnect(_applicationRegionChangedEventCallbackDelegate);
+ }
+
+ _applicationRegionChangedEventHandler -= value;
+ }
+ }
}
- }
- remove
- {
- lock(this)
+ // Callback for Application RegionChangedSignal
+ private void OnNUIApplicationRegionChanged(IntPtr data)
{
- if (_applicationPauseEventHandler != null)
- {
- this.PauseSignal().Disconnect(_applicationPauseEventCallbackDelegate);
- }
-
- _applicationPauseEventHandler -= value;
- }
- }
- }
+ NUIApplicationRegionChangedEventArgs e = new NUIApplicationRegionChangedEventArgs();
- // Callback for Application PauseSignal
- private void OnNUIApplicationPause(IntPtr data)
- {
- NUIApplicationPauseEventArgs e = new NUIApplicationPauseEventArgs();
+ // Populate all members of "e" (NUIApplicationRegionChangedEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
- // Populate all members of "e" (NUIApplicationPauseEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ if (_applicationRegionChangedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationRegionChangedEventHandler(this, e);
+ }
+ }
- if (_applicationPauseEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationPauseEventHandler(this, e);
- }
- }
+ /**
+ * @brief Event for BatteryLow signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationBatteryLowEventHandler-DaliEventHandler<object,NUIApplicationBatteryLowEventArgs>)
+ * provided by the user. BatteryLow signal is emitted when the battery level of the device is low.
+ */
+ public event DaliEventHandler<object, NUIApplicationBatteryLowEventArgs> BatteryLow
+ {
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationBatteryLowEventHandler == null)
+ {
+ _applicationBatteryLowEventHandler += value;
+
+ _applicationBatteryLowEventCallbackDelegate = new NUIApplicationBatteryLowEventCallbackDelegate(OnNUIApplicationBatteryLow);
+ this.BatteryLowSignal().Connect(_applicationBatteryLowEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationBatteryLowEventHandler != null)
+ {
+ this.BatteryLowSignal().Disconnect(_applicationBatteryLowEventCallbackDelegate);
+ }
+
+ _applicationBatteryLowEventHandler -= value;
+ }
+ }
+ }
- /**
- * @brief Event for Resumed signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationResumeEventHandler-DaliEventHandler<object,NUIApplicationResumeEventArgs>)
- * provided by the user. Resumed signal is emitted when application is resumed
- */
- public event DaliEventHandler<object,NUIApplicationResumeEventArgs> Resumed
- {
- add
- {
- lock(this)
+ // Callback for Application BatteryLowSignal
+ private void OnNUIApplicationBatteryLow(IntPtr data)
{
- // Restricted to only one listener
- if (_applicationResumeEventHandler == null)
- {
- _applicationResumeEventHandler += value;
+ NUIApplicationBatteryLowEventArgs e = new NUIApplicationBatteryLowEventArgs();
- _applicationResumeEventCallbackDelegate = new NUIApplicationResumeEventCallbackDelegate(OnNUIApplicationResume);
- this.ResumeSignal().Connect(_applicationResumeEventCallbackDelegate);
- }
+ // Populate all members of "e" (NUIApplicationBatteryLowEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
+
+ if (_applicationBatteryLowEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationBatteryLowEventHandler(this, e);
+ }
}
- }
- remove
- {
- lock(this)
+ /**
+ * @brief Event for MemoryLow signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationMemoryLowEventHandler-DaliEventHandler<object,NUIApplicationMemoryLowEventArgs>)
+ * provided by the user. MemoryLow signal is emitted when the memory level of the device is low.
+ */
+ public event DaliEventHandler<object, NUIApplicationMemoryLowEventArgs> MemoryLow
{
- if (_applicationResumeEventHandler != null)
- {
- this.ResumeSignal().Disconnect(_applicationResumeEventCallbackDelegate);
- }
-
- _applicationResumeEventHandler -= value;
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationMemoryLowEventHandler == null)
+ {
+ _applicationMemoryLowEventHandler += value;
+
+ _applicationMemoryLowEventCallbackDelegate = new NUIApplicationMemoryLowEventCallbackDelegate(OnNUIApplicationMemoryLow);
+ this.MemoryLowSignal().Connect(_applicationMemoryLowEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationMemoryLowEventHandler != null)
+ {
+ this.MemoryLowSignal().Disconnect(_applicationMemoryLowEventCallbackDelegate);
+ }
+
+ _applicationMemoryLowEventHandler -= value;
+ }
+ }
}
- }
- }
- // Callback for Application ResumeSignal
- private void OnNUIApplicationResume(IntPtr data)
- {
- NUIApplicationResumeEventArgs e = new NUIApplicationResumeEventArgs();
+ // Callback for Application MemoryLowSignal
+ private void OnNUIApplicationMemoryLow(IntPtr data)
+ {
+ NUIApplicationMemoryLowEventArgs e = new NUIApplicationMemoryLowEventArgs();
- // Populate all members of "e" (NUIApplicationResumeEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ // Populate all members of "e" (NUIApplicationMemoryLowEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(data);
- if (_applicationResumeEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationResumeEventHandler(this, e);
- }
- }
+ if (_applicationMemoryLowEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationMemoryLowEventHandler(this, e);
+ }
+ }
- /**
- * @brief Event for Reset signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationResetEventHandler-DaliEventHandler<object,NUIApplicationResetEventArgs>)
- * provided by the user. Reset signal is emitted when application is reset
- */
- public event DaliEventHandler<object,NUIApplicationResetEventArgs> Reset
- {
- add
- {
- lock(this)
+ /**
+ * @brief Event for AppControl signal which can be used to subscribe/unsubscribe the event handler
+ * (in the type of NUIApplicationAppControlEventHandler-DaliEventHandler<object,NUIApplicationAppControlEventArgs>)
+ * provided by the user. AppControl signal is emitted when another application sends a launch request to the application.
+ */
+ public event DaliEventHandler<object, NUIApplicationAppControlEventArgs> AppControl
{
- // Restricted to only one listener
- if (_applicationResetEventHandler == null)
- {
- _applicationResetEventHandler += value;
-
- _applicationResetEventCallbackDelegate = new NUIApplicationResetEventCallbackDelegate(OnNUIApplicationReset);
- this.ResetSignal().Connect(_applicationResetEventCallbackDelegate);
- }
+ add
+ {
+ lock (this)
+ {
+ // Restricted to only one listener
+ if (_applicationAppControlEventHandler == null)
+ {
+ _applicationAppControlEventHandler += value;
+
+ _applicationAppControlEventCallbackDelegate = new NUIApplicationAppControlEventCallbackDelegate(OnNUIApplicationAppControl);
+ this.AppControlSignal().Connect(_applicationAppControlEventCallbackDelegate);
+ }
+ }
+ }
+
+ remove
+ {
+ lock (this)
+ {
+ if (_applicationAppControlEventHandler != null)
+ {
+ this.AppControlSignal().Disconnect(_applicationAppControlEventCallbackDelegate);
+ }
+
+ _applicationAppControlEventHandler -= value;
+ }
+ }
}
- }
- remove
- {
- lock(this)
+ // Callback for Application AppControlSignal
+ private void OnNUIApplicationAppControl(IntPtr application, IntPtr voidp)
{
- if (_applicationResetEventHandler != null)
- {
- this.ResetSignal().Disconnect(_applicationResetEventCallbackDelegate);
- }
+ NUIApplicationAppControlEventArgs e = new NUIApplicationAppControlEventArgs();
+
+ // Populate all members of "e" (NUIApplicationAppControlEventArgs) with real data
+ e.Application = Application.GetApplicationFromPtr(application);
+ e.VoidP = voidp;
- _applicationResetEventHandler -= value;
+ if (_applicationAppControlEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _applicationAppControlEventHandler(this, e);
+ }
}
- }
- }
- // Callback for Application ResetSignal
- private void OnNUIApplicationReset(IntPtr data)
- {
- NUIApplicationResetEventArgs e = new NUIApplicationResetEventArgs();
+ private static Application _instance; // singleton
- // Populate all members of "e" (NUIApplicationResetEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ public delegate void InitDelegate();
- if (_applicationResetEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationResetEventHandler(this, e);
- }
- }
+ public delegate void TerminateDelegate();
- /**
- * @brief Event for Resized signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationResizeEventHandler-DaliEventHandler<object,NUIApplicationResizeEventArgs>)
- * provided by the user. Resized signal is emitted when application is resized
- */
- public event DaliEventHandler<object,NUIApplicationResizeEventArgs> Resized
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_applicationResizeEventHandler == null)
- {
- _applicationResizeEventHandler += value;
+ public delegate void PauseDelegate();
- _applicationResizeEventCallbackDelegate = new NUIApplicationResizeEventCallbackDelegate(OnNUIApplicationResize);
- this.ResizeSignal().Connect(_applicationResizeEventCallbackDelegate);
- }
- }
- }
+ public delegate void ResumeDelegate();
- remove
- {
- lock(this)
- {
- if (_applicationResizeEventHandler != null)
- {
- this.ResizeSignal().Disconnect(_applicationResizeEventCallbackDelegate);
- }
+ public delegate void ResizeDelegate();
- _applicationResizeEventHandler -= value;
- }
- }
- }
+ public delegate void AppControlDelegate();
- // Callback for Application ResizeSignal
- private void OnNUIApplicationResize(IntPtr data)
- {
- NUIApplicationResizeEventArgs e = new NUIApplicationResizeEventArgs();
+ public delegate void LanguageChangedDelegate();
- // Populate all members of "e" (NUIApplicationResizeEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ public delegate void RegionChangedDelegate();
- if (_applicationResizeEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationResizeEventHandler(this, e);
- }
- }
+ public delegate void BatteryLowDelegate();
- /**
- * @brief Event for LanguageChanged signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationLanguageChangedEventHandler-DaliEventHandler<object,NUIApplicationLanguageChangedEventArgs>)
- * provided by the user. LanguageChanged signal is emitted when the region of the device is changed.
- */
- public event DaliEventHandler<object,NUIApplicationLanguageChangedEventArgs> LanguageChanged
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_applicationLanguageChangedEventHandler == null)
- {
- _applicationLanguageChangedEventHandler += value;
+ public delegate void MemoryLowDelegate();
- _applicationLanguageChangedEventCallbackDelegate = new NUIApplicationLanguageChangedEventCallbackDelegate(OnNUIApplicationLanguageChanged);
- this.LanguageChangedSignal().Connect(_applicationLanguageChangedEventCallbackDelegate);
- }
- }
- }
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void InitDelegateInternal();
- remove
- {
- lock(this)
- {
- if (_applicationLanguageChangedEventHandler != null)
- {
- this.LanguageChangedSignal().Disconnect(_applicationLanguageChangedEventCallbackDelegate);
- }
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void TerminateDelegateInternal();
- _applicationLanguageChangedEventHandler -= value;
- }
- }
- }
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void PauseDelegateInternal();
- // Callback for Application LanguageChangedSignal
- private void OnNUIApplicationLanguageChanged(IntPtr data)
- {
- NUIApplicationLanguageChangedEventArgs e = new NUIApplicationLanguageChangedEventArgs();
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void ResumeDelegateInternal();
- // Populate all members of "e" (NUIApplicationLanguageChangedEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void ResizeDelegateInternal();
- if (_applicationLanguageChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationLanguageChangedEventHandler(this, e);
- }
- }
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void AppControlDelegateInternal();
- /**
- * @brief Event for RegionChanged signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationRegionChangedEventHandler-DaliEventHandler<object,NUIApplicationRegionChangedEventArgs>)
- * provided by the user. RegionChanged signal is emitted when the region of the device is changed.
- */
- public event DaliEventHandler<object,NUIApplicationRegionChangedEventArgs> RegionChanged
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_applicationRegionChangedEventHandler == null)
- {
- _applicationRegionChangedEventHandler += value;
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void LanguageChangedDelegateInternal();
- _applicationRegionChangedEventCallbackDelegate = new NUIApplicationRegionChangedEventCallbackDelegate(OnNUIApplicationRegionChanged);
- this.RegionChangedSignal().Connect(_applicationRegionChangedEventCallbackDelegate);
- }
- }
- }
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void RegionChangedDelegateInternal();
- remove
- {
- lock(this)
- {
- if (_applicationRegionChangedEventHandler != null)
- {
- this.RegionChangedSignal().Disconnect(_applicationRegionChangedEventCallbackDelegate);
- }
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void BatteryLowDelegateInternal();
- _applicationRegionChangedEventHandler -= value;
- }
- }
- }
+ [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
+ internal delegate void MemoryLowDelegateInternal();
- // Callback for Application RegionChangedSignal
- private void OnNUIApplicationRegionChanged(IntPtr data)
- {
- NUIApplicationRegionChangedEventArgs e = new NUIApplicationRegionChangedEventArgs();
+ static void Initialize()
+ {
+ // instance.InitDelegate();
+ }
- // Populate all members of "e" (NUIApplicationRegionChangedEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ public static Application Instance
+ {
+ get
+ {
+ return _instance;
+ }
+ }
- if (_applicationRegionChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationRegionChangedEventHandler(this, e);
- }
- }
+ public static Application GetApplicationFromPtr(global::System.IntPtr cPtr)
+ {
+ Application ret = new Application(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- /**
- * @brief Event for BatteryLow signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationBatteryLowEventHandler-DaliEventHandler<object,NUIApplicationBatteryLowEventArgs>)
- * provided by the user. BatteryLow signal is emitted when the battery level of the device is low.
- */
- public event DaliEventHandler<object,NUIApplicationBatteryLowEventArgs> BatteryLow
- {
- add
- {
- lock(this)
+ internal void SetupDelegates()
{
- // Restricted to only one listener
- if (_applicationBatteryLowEventHandler == null)
- {
- _applicationBatteryLowEventHandler += value;
+ InitDelegateInternal initializeCallback = new InitDelegateInternal(Initialize);
+ System.Console.WriteLine("InitSignal connection count");
- _applicationBatteryLowEventCallbackDelegate = new NUIApplicationBatteryLowEventCallbackDelegate(OnNUIApplicationBatteryLow);
- this.BatteryLowSignal().Connect(_applicationBatteryLowEventCallbackDelegate);
- }
+ this.InitSignal().Connect(initializeCallback);
+ //Console.WriteLine( "InitSignal connection count = " + app.InitSignal().GetConnectionCount() );
}
- }
- remove
- {
- lock(this)
+ public static Application NewApplication()
{
- if (_applicationBatteryLowEventHandler != null)
- {
- this.BatteryLowSignal().Disconnect(_applicationBatteryLowEventCallbackDelegate);
- }
-
- _applicationBatteryLowEventHandler -= value;
+ _instance = NewApplication("", Application.WindowMode.Opaque);
+ return _instance;
}
- }
- }
- // Callback for Application BatteryLowSignal
- private void OnNUIApplicationBatteryLow(IntPtr data)
- {
- NUIApplicationBatteryLowEventArgs e = new NUIApplicationBatteryLowEventArgs();
+ public static Application NewApplication(string stylesheet)
+ {
+ _instance = NewApplication(stylesheet, Application.WindowMode.Opaque);
+ return _instance;
+ }
- // Populate all members of "e" (NUIApplicationBatteryLowEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
+ public static Application NewApplication(string stylesheet, Application.WindowMode windowMode)
+ {
+ LOG(" NewApplication(string stylesheet, Application.WindowMode windowMode) is called! ");
- if (_applicationBatteryLowEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationBatteryLowEventHandler(this, e);
- }
- }
+ // register all Views with the type registry, so that can be created / styled via JSON
+ ViewRegistryHelper.Initialize();
- /**
- * @brief Event for MemoryLow signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationMemoryLowEventHandler-DaliEventHandler<object,NUIApplicationMemoryLowEventArgs>)
- * provided by the user. MemoryLow signal is emitted when the memory level of the device is low.
- */
- public event DaliEventHandler<object,NUIApplicationMemoryLowEventArgs> MemoryLow
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_applicationMemoryLowEventHandler == null)
- {
- _applicationMemoryLowEventHandler += value;
+ Application ret = New(1, stylesheet, windowMode);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- _applicationMemoryLowEventCallbackDelegate = new NUIApplicationMemoryLowEventCallbackDelegate(OnNUIApplicationMemoryLow);
- this.MemoryLowSignal().Connect(_applicationMemoryLowEventCallbackDelegate);
- }
+ // we've got an application now connect the signals
+ ret.SetupDelegates();
+ // set the singleton
+ _instance = ret;
+ return ret;
}
- }
- remove
- {
- lock(this)
+ public bool AddIdle(System.Delegate func)
{
- if (_applicationMemoryLowEventHandler != null)
- {
- this.MemoryLowSignal().Disconnect(_applicationMemoryLowEventCallbackDelegate);
- }
+ System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ System.IntPtr ip2 = NDalicManualPINVOKE.MakeCallback(new System.Runtime.InteropServices.HandleRef(this, ip));
- _applicationMemoryLowEventHandler -= value;
- }
- }
- }
+ bool ret = NDalicPINVOKE.Application_AddIdle(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip2));
- // Callback for Application MemoryLowSignal
- private void OnNUIApplicationMemoryLow(IntPtr data)
- {
- NUIApplicationMemoryLowEventArgs e = new NUIApplicationMemoryLowEventArgs();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- // Populate all members of "e" (NUIApplicationMemoryLowEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(data);
- if (_applicationMemoryLowEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationMemoryLowEventHandler(this, e);
- }
- }
- /**
- * @brief Event for AppControl signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of NUIApplicationAppControlEventHandler-DaliEventHandler<object,NUIApplicationAppControlEventArgs>)
- * provided by the user. AppControl signal is emitted when another application sends a launch request to the application.
- */
- public event DaliEventHandler<object,NUIApplicationAppControlEventArgs> AppControl
- {
- add
- {
- lock(this)
+ /**
+ * Outer::outer_method(int)
+ */
+ public static Application New()
{
- // Restricted to only one listener
- if (_applicationAppControlEventHandler == null)
- {
- _applicationAppControlEventHandler += value;
+ LOG("New() is called!");
- _applicationAppControlEventCallbackDelegate = new NUIApplicationAppControlEventCallbackDelegate(OnNUIApplicationAppControl);
- this.AppControlSignal().Connect(_applicationAppControlEventCallbackDelegate);
- }
+ Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_0(), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- remove
- {
- lock(this)
+ public static Application New(int argc)
{
- if (_applicationAppControlEventHandler != null)
- {
- this.AppControlSignal().Disconnect(_applicationAppControlEventCallbackDelegate);
- }
+ LOG("New(int argc) is called!");
- _applicationAppControlEventHandler -= value;
+ Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_1(argc), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- }
-
- // Callback for Application AppControlSignal
- private void OnNUIApplicationAppControl(IntPtr application, IntPtr voidp)
- {
- NUIApplicationAppControlEventArgs e = new NUIApplicationAppControlEventArgs();
-
- // Populate all members of "e" (NUIApplicationAppControlEventArgs) with real data
- e.Application = Application.GetApplicationFromPtr(application);
- e.VoidP = voidp;
-
- if (_applicationAppControlEventHandler != null)
- {
- //here we send all data to user event handlers
- _applicationAppControlEventHandler(this, e);
- }
- }
-
- private static Application _instance; // singleton
-
- public delegate void InitDelegate();
- public delegate void TerminateDelegate();
+ public static Application New(int argc, string stylesheet)
+ {
+ LOG("New(int argc, string stylesheet) is called!");
- public delegate void PauseDelegate();
+ Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_2(argc, stylesheet), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public delegate void ResumeDelegate();
+ public static Application New(int argc, string stylesheet, Application.WindowMode windowMode)
+ {
+ LOG("New(int argc, string stylesheet, Application.WindowMode windowMode) is called!");
- public delegate void ResizeDelegate();
+ Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_3(argc, stylesheet, (int)windowMode), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public delegate void AppControlDelegate();
+ public Application() : this(NDalicPINVOKE.new_Application__SWIG_0(), true)
+ {
+ LOG("Application() is called!");
- public delegate void LanguageChangedDelegate();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public delegate void RegionChangedDelegate();
+ public Application(Application application) : this(NDalicPINVOKE.new_Application__SWIG_1(Application.getCPtr(application)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public delegate void BatteryLowDelegate();
+ public Application Assign(Application application)
+ {
+ Application ret = new Application(NDalicPINVOKE.Application_Assign(swigCPtr, Application.getCPtr(application)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public delegate void MemoryLowDelegate();
+ public void MainLoop()
+ {
+ NDalicPINVOKE.Application_MainLoop__SWIG_0(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void InitDelegateInternal();
+ internal void MainLoop(SWIGTYPE_p_Configuration__ContextLoss configuration)
+ {
+ NDalicPINVOKE.Application_MainLoop__SWIG_1(swigCPtr, SWIGTYPE_p_Configuration__ContextLoss.getCPtr(configuration));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void TerminateDelegateInternal();
+ public void Lower()
+ {
+ NDalicPINVOKE.Application_Lower(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void PauseDelegateInternal();
+ public void Quit()
+ {
+ NDalicPINVOKE.Application_Quit(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void ResumeDelegateInternal();
+ internal bool AddIdle(SWIGTYPE_p_Dali__CallbackBase callback)
+ {
+ bool ret = NDalicPINVOKE.Application_AddIdle(swigCPtr, SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void ResizeDelegateInternal();
+ public Window GetWindow()
+ {
+ Window ret = new Window(NDalicPINVOKE.Application_GetWindow(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void AppControlDelegateInternal();
+ public void ReplaceWindow(Rectangle windowPosition, string name)
+ {
+ NDalicPINVOKE.Application_ReplaceWindow(swigCPtr, Rectangle.getCPtr(windowPosition), name);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void LanguageChangedDelegateInternal();
+ public static string GetResourcePath()
+ {
+ string ret = NDalicPINVOKE.Application_GetResourcePath();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void RegionChangedDelegateInternal();
+ internal void SetViewMode(ViewMode viewMode)
+ {
+ NDalicPINVOKE.Application_SetViewMode(swigCPtr, (int)viewMode);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void BatteryLowDelegateInternal();
+ internal ViewMode GetViewMode()
+ {
+ ViewMode ret = (ViewMode)NDalicPINVOKE.Application_GetViewMode(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- [System.Runtime.InteropServices.UnmanagedFunctionPointer(System.Runtime.InteropServices.CallingConvention.StdCall)]
- internal delegate void MemoryLowDelegateInternal();
+ public void SetStereoBase(float stereoBase)
+ {
+ NDalicPINVOKE.Application_SetStereoBase(swigCPtr, stereoBase);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- static void Initialize()
- {
- // instance.InitDelegate();
- }
+ public float GetStereoBase()
+ {
+ float ret = NDalicPINVOKE.Application_GetStereoBase(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Application Instance
- {
- get
- {
- return _instance;
- }
- }
+ internal ApplicationSignal InitSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_InitSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Application GetApplicationFromPtr(global::System.IntPtr cPtr) {
- Application ret = new Application(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal ApplicationSignal TerminateSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_TerminateSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- internal void SetupDelegates() {
- InitDelegateInternal initializeCallback = new InitDelegateInternal( Initialize );
- //Console.WriteLine( "InitSignal connection count");
+ internal ApplicationSignal PauseSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_PauseSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- this.InitSignal().Connect( initializeCallback );
- //Console.WriteLine( "InitSignal connection count = " + app.InitSignal().GetConnectionCount() );
- }
+ internal ApplicationSignal ResumeSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResumeSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Application NewApplication() {
- _instance = NewApplication("", Application.WINDOW_MODE.OPAQUE);
- return _instance;
- }
+ internal ApplicationSignal ResetSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResetSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Application NewApplication(string stylesheet) {
- _instance = NewApplication(stylesheet, Application.WINDOW_MODE.OPAQUE);
- return _instance;
- }
+ internal ApplicationSignal ResizeSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResizeSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Application NewApplication(string stylesheet, Application.WINDOW_MODE windowMode) {
+ internal ApplicationControlSignal AppControlSignal()
+ {
+ ApplicationControlSignal ret = new ApplicationControlSignal(NDalicPINVOKE.Application_AppControlSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- // register all Views with the type registry, so that can be created / styled via JSON
- ViewRegistryHelper.Initialize();
+ internal ApplicationSignal LanguageChangedSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_LanguageChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- Application ret = New(1, stylesheet, windowMode);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ internal ApplicationSignal RegionChangedSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_RegionChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- // we've got an application now connect the signals
- ret.SetupDelegates();
- // set the singleton
- _instance = ret;
- return ret;
- }
+ internal ApplicationSignal BatteryLowSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_BatteryLowSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public bool AddIdle(System.Delegate func) {
- System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
- System.IntPtr ip2 = NDalicManualPINVOKE.MakeCallback(new System.Runtime.InteropServices.HandleRef(this, ip));
+ internal ApplicationSignal MemoryLowSignal()
+ {
+ ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_MemoryLowSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- bool ret = NDalicPINVOKE.Application_AddIdle(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip2));
+ public enum WindowMode
+ {
+ Opaque = 0,
+ Transparent = 1
+ }
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
}
-
-
- /**
- * Outer::outer_method(int)
- */
- public static Application New() {
- Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_0(), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Application New(int argc) {
- Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_1(argc), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Application New(int argc, string stylesheet) {
- Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_2(argc, stylesheet), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Application New(int argc, string stylesheet, Application.WINDOW_MODE windowMode) {
- Application ret = new Application(NDalicPINVOKE.Application_New__SWIG_3(argc, stylesheet, (int)windowMode), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Application() : this(NDalicPINVOKE.new_Application__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Application(Application application) : this(NDalicPINVOKE.new_Application__SWIG_1(Application.getCPtr(application)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Application Assign(Application application) {
- Application ret = new Application(NDalicPINVOKE.Application_Assign(swigCPtr, Application.getCPtr(application)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void MainLoop() {
- NDalicPINVOKE.Application_MainLoop__SWIG_0(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void MainLoop(SWIGTYPE_p_Configuration__ContextLoss configuration) {
- NDalicPINVOKE.Application_MainLoop__SWIG_1(swigCPtr, SWIGTYPE_p_Configuration__ContextLoss.getCPtr(configuration));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Lower() {
- NDalicPINVOKE.Application_Lower(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Quit() {
- NDalicPINVOKE.Application_Quit(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool AddIdle(SWIGTYPE_p_Dali__CallbackBase callback) {
- bool ret = NDalicPINVOKE.Application_AddIdle(swigCPtr, SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Window GetWindow() {
- Window ret = new Window(NDalicPINVOKE.Application_GetWindow(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ReplaceWindow(Rectangle windowPosition, string name) {
- NDalicPINVOKE.Application_ReplaceWindow(swigCPtr, Rectangle.getCPtr(windowPosition), name);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static string GetResourcePath() {
- string ret = NDalicPINVOKE.Application_GetResourcePath();
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetViewMode(ViewMode viewMode) {
- NDalicPINVOKE.Application_SetViewMode(swigCPtr, (int)viewMode);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ViewMode GetViewMode() {
- ViewMode ret = (ViewMode)NDalicPINVOKE.Application_GetViewMode(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetStereoBase(float stereoBase) {
- NDalicPINVOKE.Application_SetStereoBase(swigCPtr, stereoBase);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetStereoBase() {
- float ret = NDalicPINVOKE.Application_GetStereoBase(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal InitSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_InitSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal TerminateSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_TerminateSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal PauseSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_PauseSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal ResumeSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResumeSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal ResetSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResetSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal ResizeSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_ResizeSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationControlSignal AppControlSignal() {
- ApplicationControlSignal ret = new ApplicationControlSignal(NDalicPINVOKE.Application_AppControlSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal LanguageChangedSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_LanguageChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal RegionChangedSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_RegionChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal BatteryLowSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_BatteryLowSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ApplicationSignal MemoryLowSignal() {
- ApplicationSignal ret = new ApplicationSignal(NDalicPINVOKE.Application_MemoryLowSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum WINDOW_MODE {
- OPAQUE = 0,
- TRANSPARENT = 1
- }
-
-}
-
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class ApplicationControlSignal : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal ApplicationControlSignal(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal class ApplicationControlSignal : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ApplicationControlSignal obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal ApplicationControlSignal(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- ~ApplicationControlSignal() {
- DisposeQueue.Instance.Add(this);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ApplicationControlSignal obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ ~ApplicationControlSignal()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ApplicationControlSignal(swigCPtr);
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ApplicationControlSignal(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
- public bool Empty() {
- bool ret = NDalicPINVOKE.ApplicationControlSignal_Empty(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ public bool Empty()
+ {
+ bool ret = NDalicPINVOKE.ApplicationControlSignal_Empty(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public uint GetConnectionCount() {
- uint ret = NDalicPINVOKE.ApplicationControlSignal_GetConnectionCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ public uint GetConnectionCount()
+ {
+ uint ret = NDalicPINVOKE.ApplicationControlSignal_GetConnectionCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public void Connect(System.Delegate func) {
-System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
- {
- NDalicPINVOKE.ApplicationControlSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- }
+ public void Connect(System.Delegate func)
+ {
+ System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.ApplicationControlSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ }
- public void Disconnect(System.Delegate func) {
-System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
- {
- NDalicPINVOKE.ApplicationControlSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- }
+ public void Disconnect(System.Delegate func)
+ {
+ System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.ApplicationControlSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ }
- public void Emit(Application arg1, System.IntPtr arg2) {
- NDalicPINVOKE.ApplicationControlSignal_Emit(swigCPtr, Application.getCPtr(arg1), arg2);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ public void Emit(Application arg1, System.IntPtr arg2)
+ {
+ NDalicPINVOKE.ApplicationControlSignal_Emit(swigCPtr, Application.getCPtr(arg1), arg2);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public ApplicationControlSignal() : this(NDalicPINVOKE.new_ApplicationControlSignal(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ public ApplicationControlSignal() : this(NDalicPINVOKE.new_ApplicationControlSignal(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ }
}
namespace Tizen.NUI {
-public class ApplicationExtensions : global::System.IDisposable {
+internal class ApplicationExtensions : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class ApplicationSignal : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal ApplicationSignal(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal class ApplicationSignal : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ApplicationSignal obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal ApplicationSignal(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- ~ApplicationSignal() {
- DisposeQueue.Instance.Add(this);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ApplicationSignal obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ ~ApplicationSignal()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ApplicationSignal(swigCPtr);
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ApplicationSignal(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
- public bool Empty() {
- bool ret = NDalicPINVOKE.ApplicationSignal_Empty(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ public bool Empty()
+ {
+ bool ret = NDalicPINVOKE.ApplicationSignal_Empty(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public uint GetConnectionCount() {
- uint ret = NDalicPINVOKE.ApplicationSignal_GetConnectionCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ public uint GetConnectionCount()
+ {
+ uint ret = NDalicPINVOKE.ApplicationSignal_GetConnectionCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public void Connect(System.Delegate func) {
-System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
- {
- NDalicPINVOKE.ApplicationSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- }
+ public void Connect(System.Delegate func)
+ {
+ System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.ApplicationSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ }
- public void Disconnect(System.Delegate func) {
-System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
- {
- NDalicPINVOKE.ApplicationSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- }
+ public void Disconnect(System.Delegate func)
+ {
+ System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.ApplicationSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ }
- public void Emit(Application arg) {
- NDalicPINVOKE.ApplicationSignal_Emit(swigCPtr, Application.getCPtr(arg));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ public void Emit(Application arg)
+ {
+ NDalicPINVOKE.ApplicationSignal_Emit(swigCPtr, Application.getCPtr(arg));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public ApplicationSignal() : this(NDalicPINVOKE.new_ApplicationSignal(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ public ApplicationSignal() : this(NDalicPINVOKE.new_ApplicationSignal(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ }
}
namespace Tizen.NUI {
-public class AsyncImageLoader : BaseHandle {
+ internal class AsyncImageLoader : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal AsyncImageLoader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.AsyncImageLoader_SWIGUpcast(cPtr), cMemoryOwn) {
}
- public BaseHandle(BaseObject handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_0(BaseObject.getCPtr(handle)), true) {
+ internal BaseHandle(BaseObject handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_0(BaseObject.getCPtr(handle)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
return ret;
}
- public bool DoAction(string actionName, Property.Map attributes) {
- bool ret = NDalicPINVOKE.BaseHandle_DoAction(swigCPtr, actionName, Property.Map.getCPtr(attributes));
+ public bool DoAction(string actionName, PropertyMap attributes) {
+ bool ret = NDalicPINVOKE.BaseHandle_DoAction(swigCPtr, actionName, PropertyMap.getCPtr(attributes));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public BaseObject GetBaseObject() {
+ internal BaseObject GetBaseObject() {
BaseObject ret = new BaseObject(NDalicPINVOKE.BaseHandle_GetBaseObject__SWIG_0(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
return ret;
}
- public RefObject GetObjectPtr() {
+ internal RefObject GetObjectPtr() {
global::System.IntPtr cPtr = NDalicPINVOKE.BaseHandle_GetObjectPtr(swigCPtr);
RefObject ret = (cPtr == global::System.IntPtr.Zero) ? null : new RefObject(cPtr, false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
namespace Tizen.NUI {
-public class BaseObject : RefObject {
+ internal class BaseObject : RefObject {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal BaseObject(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.BaseObject_SWIGUpcast(cPtr), cMemoryOwn) {
}
}
- public bool DoAction(string actionName, Property.Map attributes) {
- bool ret = NDalicPINVOKE.BaseObject_DoAction(swigCPtr, actionName, Property.Map.getCPtr(attributes));
+ public bool DoAction(string actionName, PropertyMap attributes) {
+ bool ret = NDalicPINVOKE.BaseObject_DoAction(swigCPtr, actionName, PropertyMap.getCPtr(attributes));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public bool DoConnectSignal(ConnectionTrackerInterface connectionTracker, string signalName, SWIGTYPE_p_FunctorDelegate functorDelegate) {
+ internal bool DoConnectSignal(ConnectionTrackerInterface connectionTracker, string signalName, SWIGTYPE_p_FunctorDelegate functorDelegate) {
bool ret = NDalicPINVOKE.BaseObject_DoConnectSignal(swigCPtr, ConnectionTrackerInterface.getCPtr(connectionTracker), signalName, SWIGTYPE_p_FunctorDelegate.getCPtr(functorDelegate));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
namespace Tizen.NUI {
-public enum BlendEquationType {
+ internal enum BlendEquationType {
ADD = 0x8006,
SUBTRACT = 0x800A,
REVERSE_SUBTRACT = 0x800B
namespace Tizen.NUI {
-public enum BlendFactorType {
+ internal enum BlendFactorType {
ZERO = 0,
ONE = 1,
SRC_COLOR = 0x0300,
namespace Tizen.NUI {
-public enum BlendModeType {
+ internal enum BlendModeType {
OFF,
AUTO,
ON
namespace Tizen.NUI {
-public class BufferImage : Image {
+ internal class BufferImage : Image {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal BufferImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.BufferImage_SWIGUpcast(cPtr), cMemoryOwn) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public void AddConstants(Property.Map map) {
- NDalicPINVOKE.Builder_AddConstants(swigCPtr, Property.Map.getCPtr(map));
+ public void AddConstants(PropertyMap map) {
+ NDalicPINVOKE.Builder_AddConstants(swigCPtr, PropertyMap.getCPtr(map));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public void AddConstant(string key, Property.Value value) {
- NDalicPINVOKE.Builder_AddConstant(swigCPtr, key, Property.Value.getCPtr(value));
+ public void AddConstant(string key, PropertyValue value) {
+ NDalicPINVOKE.Builder_AddConstant(swigCPtr, key, PropertyValue.getCPtr(value));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public Property.Map GetConstants() {
- Property.Map ret = new Property.Map(NDalicPINVOKE.Builder_GetConstants(swigCPtr), false);
+ public PropertyMap GetConstants() {
+ PropertyMap ret = new PropertyMap(NDalicPINVOKE.Builder_GetConstants(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public Property.Value GetConstant(string key) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Builder_GetConstant(swigCPtr, key), false);
+ public PropertyValue GetConstant(string key) {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Builder_GetConstant(swigCPtr, key), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public Animation CreateAnimation(string animationName, Property.Map map) {
- Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_1(swigCPtr, animationName, Property.Map.getCPtr(map)), true);
+ public Animation CreateAnimation(string animationName, PropertyMap map) {
+ Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_1(swigCPtr, animationName, PropertyMap.getCPtr(map)), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public Animation CreateAnimation(string animationName, Property.Map map, Actor sourceActor) {
- Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_3(swigCPtr, animationName, Property.Map.getCPtr(map), Actor.getCPtr(sourceActor)), true);
+ public Animation CreateAnimation(string animationName, PropertyMap map, Actor sourceActor) {
+ Animation ret = new Animation(NDalicPINVOKE.Builder_CreateAnimation__SWIG_3(swigCPtr, animationName, PropertyMap.getCPtr(map), Actor.getCPtr(sourceActor)), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public BaseHandle Create(string templateName, Property.Map map) {
- BaseHandle ret = new BaseHandle(NDalicPINVOKE.Builder_Create__SWIG_1(swigCPtr, templateName, Property.Map.getCPtr(map)), true);
+ public BaseHandle Create(string templateName, PropertyMap map) {
+ BaseHandle ret = new BaseHandle(NDalicPINVOKE.Builder_Create__SWIG_1(swigCPtr, templateName, PropertyMap.getCPtr(map)), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public FrameBufferImage GetFrameBufferImage(string name) {
+ internal FrameBufferImage GetFrameBufferImage(string name) {
FrameBufferImage ret = new FrameBufferImage(NDalicPINVOKE.Builder_GetFrameBufferImage(swigCPtr, name), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
return ret;
}
- public PathConstrainer GetPathConstrainer(string pathConstrainerName) {
+ internal PathConstrainer GetPathConstrainer(string pathConstrainerName) {
PathConstrainer ret = new PathConstrainer(NDalicPINVOKE.Builder_GetPathConstrainer(swigCPtr, pathConstrainerName), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public LinearConstrainer GetLinearConstrainer(string linearConstrainerName) {
+ internal LinearConstrainer GetLinearConstrainer(string linearConstrainerName) {
LinearConstrainer ret = new LinearConstrainer(NDalicPINVOKE.Builder_GetLinearConstrainer(swigCPtr, linearConstrainerName), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public VoidSignal QuitSignal() {
+ internal VoidSignal QuitSignal() {
VoidSignal ret = new VoidSignal(NDalicPINVOKE.Builder_QuitSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
-//------------------------------------------------------------------------------
-// <auto-generated />
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
+namespace Tizen.NUI
+{
-namespace Tizen.NUI {
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// Button is a base class for different kinds of buttons.
+ /// This class provides the disabled property and the clicked signal.
+ /// A Clicked event handler is emitted when the button is touched and the touch point doesn't leave the boundary of the button.
+ /// When the disabled property is set to true, no signal is emitted.
+ /// 'Visual' describes not just traditional images like png, bmp but refers to whatever is used to show the button, it could be a color, gradient or some other kind of renderer.
+ /// The button's appearance can be modified by setting properties for the various visuals/images.
+ /// It is not mandatory to set all visuals. A button could be defined only by setting its background visual or by setting its background and selected visuals.
+ /// The button visual is shown over the background visual.
+ /// When pressed the unselected visuals are replaced by the selected visual.
+ /// The text label is always placed on the top of all images.
+ /// When the button is disabled, background, button and selected visuals are replaced by their disabled visuals.
+ /// </summary>
+ public class Button : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal Button(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Button_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-using System;
-using System.Runtime.InteropServices;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Button obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+ ~Button()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
-public class Button : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// To make Button instance be disposed.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Button(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- internal Button(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Button_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Button obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ private EventHandlerWithReturnType<object, EventArgs, bool> _clickedEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool ClickedCallbackType(global::System.IntPtr data);
+ private ClickedCallbackType _clickedCallback;
- ~Button() {
- DisposeQueue.Instance.Add(this);
- }
+ public event EventHandlerWithReturnType<object, EventArgs, bool> Clicked
+ {
+ add
+ {
+ if (_clickedEventHandler == null)
+ {
+ _clickedCallback = OnClicked;
+ ClickedSignal().Connect(_clickedCallback);
+ }
+
+ _clickedEventHandler += value;
+ }
+
+ remove
+ {
+ _clickedEventHandler -= value;
+
+ if (_clickedEventHandler == null && _clickedCallback != null)
+ {
+ ClickedSignal().Disconnect(_clickedCallback);
+ }
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Button(swigCPtr);
+ private bool OnClicked(IntPtr data)
+ {
+ if (_clickedEventHandler != null)
+ {
+ return _clickedEventHandler(this, null);
+ }
+ return false;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-public class ClickedEventArgs : EventArgs
-{
- private Button _button;
-
- public Button Button
- {
- get
- {
- return _button;
- }
- set
- {
- _button = value;
- }
- }
-}
-
-public class PressedEventArgs : EventArgs
-{
- private Button _button;
-
- public Button Button
- {
- get
- {
- return _button;
- }
- set
- {
- _button = value;
- }
- }
-}
-
-public class ReleasedEventArgs : EventArgs
-{
- private Button _button;
-
- public Button Button
- {
- get
- {
- return _button;
- }
- set
- {
- _button = value;
- }
- }
-}
-
-public class StateChangedEventArgs : EventArgs
-{
- private Button _button;
-
- public Button Button
- {
- get
- {
- return _button;
- }
- set
- {
- _button = value;
- }
- }
-}
+ private EventHandlerWithReturnType<object, EventArgs, bool> _pressedEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool PressedCallbackType(global::System.IntPtr data);
+ private PressedCallbackType _pressedCallback;
+
+ public event EventHandlerWithReturnType<object, EventArgs, bool> Pressed
+ {
+ add
+ {
+ if (_pressedEventHandler == null)
+ {
+ _pressedCallback = OnPressed;
+ PressedSignal().Connect(_pressedCallback);
+ }
+
+ _pressedEventHandler += value;
+ }
+
+ remove
+ {
+ _pressedEventHandler -= value;
+
+ if (_pressedEventHandler == null && _pressedCallback != null)
+ {
+ this.PressedSignal().Disconnect(_pressedCallback);
+ }
+ }
+ }
+
+ private bool OnPressed(IntPtr data)
+ {
+ if (_pressedEventHandler != null)
+ {
+ return _pressedEventHandler(this, null);
+ }
+ return false;
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool ClickedCallbackDelegate(global::System.IntPtr data);
- private DaliEventHandlerWithReturnType<object,ClickedEventArgs,bool> _buttonClickedEventHandler;
- private ClickedCallbackDelegate _buttonClickedCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool PressedCallbackDelegate(global::System.IntPtr data);
- private DaliEventHandlerWithReturnType<object,PressedEventArgs,bool> _buttonPressedEventHandler;
- private PressedCallbackDelegate _buttonPressedCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool ReleasedCallbackDelegate(global::System.IntPtr data);
- private DaliEventHandlerWithReturnType<object,ReleasedEventArgs,bool> _buttonReleasedEventHandler;
- private ReleasedCallbackDelegate _buttonReleasedCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool StateChangedCallbackDelegate(global::System.IntPtr data);
- private DaliEventHandlerWithReturnType<object,StateChangedEventArgs,bool> _buttonStateChangedEventHandler;
- private StateChangedCallbackDelegate _buttonStateChangedCallbackDelegate;
-
-
- public event DaliEventHandlerWithReturnType<object,ClickedEventArgs,bool> Clicked
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_buttonClickedEventHandler == null)
- {
- _buttonClickedEventHandler += value;
-
- _buttonClickedCallbackDelegate = new ClickedCallbackDelegate(OnClicked);
- this.ClickedSignal().Connect(_buttonClickedCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_buttonClickedEventHandler != null)
- {
- this.ClickedSignal().Disconnect(_buttonClickedCallbackDelegate);
- }
- _buttonClickedEventHandler -= value;
- }
- }
- }
-
- // Callback for button click signal
- private bool OnClicked (IntPtr data)
- {
- ClickedEventArgs e = new ClickedEventArgs();
-
- e.Button = Button.GetButtonFromPtr(data);
-
- if (_buttonClickedEventHandler != null)
- {
- //here we send all data to user event handlers
- return _buttonClickedEventHandler(this, e);
- }
- return false;
- }
-
-
- public event DaliEventHandlerWithReturnType<object,PressedEventArgs,bool> Pressed
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_buttonPressedEventHandler == null)
- {
- _buttonPressedEventHandler += value;
+ private EventHandlerWithReturnType<object, EventArgs, bool> _releasedEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool ReleasedCallbackType(global::System.IntPtr data);
+ private ReleasedCallbackType _releasedCallback;
- _buttonPressedCallbackDelegate = new PressedCallbackDelegate(OnPressed);
- this.PressedSignal().Connect(_buttonPressedCallbackDelegate);
- }
+ public event EventHandlerWithReturnType<object, EventArgs, bool> Released
+ {
+ add
+ {
+ if (_releasedEventHandler == null)
+ {
+ _releasedCallback = OnReleased;
+ ReleasedSignal().Connect(_releasedCallback);
+ }
+ _releasedEventHandler += value;
+ }
+
+ remove
+ {
+ _releasedEventHandler -= value;
+
+ if (_releasedEventHandler == null && _releasedCallback != null)
+ {
+ ReleasedSignal().Disconnect(_releasedCallback);
+ }
+
+ }
}
- }
-
- remove
- {
- lock(this)
- {
- if (_buttonPressedEventHandler != null)
- {
- this.PressedSignal().Disconnect(_buttonPressedCallbackDelegate);
- }
- _buttonPressedEventHandler -= value;
+ private bool OnReleased(IntPtr data)
+ {
+ if (_releasedEventHandler != null)
+ {
+ return _releasedEventHandler(this, null);
+ }
+ return false;
}
- }
- }
- // Callback for button click signal
- private bool OnPressed (IntPtr data)
- {
- PressedEventArgs e = new PressedEventArgs();
- e.Button = Button.GetButtonFromPtr(data);
+ private EventHandlerWithReturnType<object, EventArgs, bool> _stateChangedEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool StateChangedCallback(global::System.IntPtr data);
+ private StateChangedCallback _stateChangedCallback;
+
+ public event EventHandlerWithReturnType<object, EventArgs, bool> StateChanged
+ {
+ add
+ {
+ if (_stateChangedEventHandler == null)
+ {
+ _stateChangedCallback = OnStateChanged;
+ StateChangedSignal().Connect(_stateChangedCallback);
+ }
+
+ _stateChangedEventHandler += value;
+ }
+
+ remove
+ {
+ _stateChangedEventHandler -= value;
+
+ if (_stateChangedEventHandler == null && _stateChangedCallback != null)
+ {
+ StateChangedSignal().Disconnect(_stateChangedCallback);
+ }
+ }
+ }
+
+ private bool OnStateChanged(IntPtr data)
+ {
+ if (_stateChangedEventHandler != null)
+ {
+ return _stateChangedEventHandler(this, null);
+ }
+ return false;
+ }
- if (_buttonPressedEventHandler != null)
- {
- //here we send all data to user event handlers
- return _buttonPressedEventHandler(this, e);
- }
- return false;
- }
- public event DaliEventHandlerWithReturnType<object,ReleasedEventArgs,bool> Released
- {
- add
- {
- lock(this)
+ internal static Button GetButtonFromPtr(global::System.IntPtr cPtr)
{
- // Restricted to only one listener
- if (_buttonReleasedEventHandler == null)
- {
- _buttonReleasedEventHandler += value;
+ Button ret = new Button(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- _buttonReleasedCallbackDelegate = new ReleasedCallbackDelegate(OnReleased);
- this.ReleasedSignal().Connect(_buttonReleasedCallbackDelegate);
- }
+ /// <summary>
+ /// Gets/Sets the unselected button foreground/icon visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap UnselectedVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.UNSELECTED_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.UNSELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- remove
- {
- lock(this)
+ /// <summary>
+ /// Gets/Sets the selected button foreground/icon visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap SelectedVisual
{
- if (_buttonReleasedEventHandler != null)
- {
- this.ReleasedSignal().Disconnect(_buttonReleasedCallbackDelegate);
- }
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.SELECTED_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.SELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _buttonReleasedEventHandler -= value;
+ /// <summary>
+ /// Gets/Sets the disabled selected state foreground/icon button visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap DisabledSelectedVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.DISABLED_SELECTED_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.DISABLED_SELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- }
- // Callback for button click signal
- private bool OnReleased (IntPtr data)
- {
- ReleasedEventArgs e = new ReleasedEventArgs();
+ /// <summary>
+ /// Gets/Sets the disabled unselected state foreground/icon visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap DisabledUnselectedVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.DISABLED_UNSELECTED_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.DISABLED_UNSELECTED_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- e.Button = Button.GetButtonFromPtr(data);
-
- if (_buttonReleasedEventHandler != null)
- {
- //here we send all data to user event handlers
- return _buttonReleasedEventHandler(this, e);
- }
- return false;
- }
-
-
- public event DaliEventHandlerWithReturnType<object,StateChangedEventArgs,bool> StateChanged
- {
- add
- {
- lock(this)
+ /// <summary>
+ /// Gets/Sets the disabled in the unselected state background, button visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap UnselectedBackgroundVisual
{
- // Restricted to only one listener
- if (_buttonStateChangedEventHandler == null)
- {
- _buttonStateChangedEventHandler += value;
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.UNSELECTED_BACKGROUND_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.UNSELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _buttonStateChangedCallbackDelegate = new StateChangedCallbackDelegate(OnStateChanged);
- this.StateChangedSignal().Connect(_buttonStateChangedCallbackDelegate);
- }
+ /// <summary>
+ /// Gets/Sets the selected background button visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap SelectedBackgroundVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.SELECTED_BACKGROUND_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.SELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- remove
- {
- lock(this)
+ /// <summary>
+ /// Gets/Sets the disabled while unselected background button visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap DisabledUnselectedBackgroundVisual
{
- if (_buttonStateChangedEventHandler != null)
- {
- this.StateChangedSignal().Disconnect(_buttonStateChangedCallbackDelegate);
- }
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _buttonStateChangedEventHandler -= value;
- }
- }
- }
+ /// <summary>
+ /// Gets/Sets the disabled while selected background button visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap DisabledSelectedBackgroundVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- // Callback for button click signal
- private bool OnStateChanged (IntPtr data)
- {
- StateChangedEventArgs e = new StateChangedEventArgs();
-
- e.Button = Button.GetButtonFromPtr(data);
-
- if (_buttonStateChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- return _buttonStateChangedEventHandler(this, e);
- }
- return false;
- }
-
- public static Button GetButtonFromPtr(global::System.IntPtr cPtr) {
- Button ret = new Button(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Gets/Sets the position of the the label in relation to the foreground/icon if both present
+ /// </summary>
+ public string LabelRelativeAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(Button.Property.LABEL_RELATIVE_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.LABEL_RELATIVE_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public Tizen.NUI.Property.Map UnselectedVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.UNSELECTED_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.UNSELECTED_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// Gets/Sets the padding around the text
+ /// </summary>
+ public Vector4 LabelPadding
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Button.Property.LABEL_PADDING).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.LABEL_PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public Tizen.NUI.Property.Map SelectedVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.SELECTED_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.SELECTED_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// Gets/Sets the padding around the foreground visual
+ /// </summary>
+ public Vector4 VisualPadding
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Button.Property.VISUAL_PADDING).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.VISUAL_PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public Tizen.NUI.Property.Map DisabledSelectedVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.DISABLED_SELECTED_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.DISABLED_SELECTED_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Button_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal static readonly int UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_VISUAL_get();
+ internal static readonly int SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_VISUAL_get();
+ internal static readonly int DISABLED_SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_VISUAL_get();
+ internal static readonly int DISABLED_UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_VISUAL_get();
+ internal static readonly int UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
+ internal static readonly int SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_BACKGROUND_VISUAL_get();
+ internal static readonly int DISABLED_UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
+ internal static readonly int DISABLED_SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
+ internal static readonly int LABEL_RELATIVE_ALIGNMENT = NDalicManualPINVOKE.Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
+ internal static readonly int LABEL_PADDING = NDalicManualPINVOKE.Button_Property_LABEL_PADDING_get();
+ internal static readonly int VISUAL_PADDING = NDalicManualPINVOKE.Button_Property_VISUAL_PADDING_get();
+ //changed
+ internal Property() : this(NDalicPINVOKE.new_Button_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int DISABLED = NDalicPINVOKE.Button_Property_DISABLED_get();
+ internal static readonly int AUTO_REPEATING = NDalicPINVOKE.Button_Property_AUTO_REPEATING_get();
+ internal static readonly int INITIAL_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_INITIAL_AUTO_REPEATING_DELAY_get();
+ internal static readonly int NEXT_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_NEXT_AUTO_REPEATING_DELAY_get();
+ internal static readonly int TOGGLABLE = NDalicPINVOKE.Button_Property_TOGGLABLE_get();
+ internal static readonly int SELECTED = NDalicPINVOKE.Button_Property_SELECTED_get();
+ internal static readonly int UNSELECTED_STATE_IMAGE = NDalicPINVOKE.Button_Property_UNSELECTED_STATE_IMAGE_get();
+ internal static readonly int SELECTED_STATE_IMAGE = NDalicPINVOKE.Button_Property_SELECTED_STATE_IMAGE_get();
+ internal static readonly int DISABLED_STATE_IMAGE = NDalicPINVOKE.Button_Property_DISABLED_STATE_IMAGE_get();
+ internal static readonly int UNSELECTED_COLOR = NDalicPINVOKE.Button_Property_UNSELECTED_COLOR_get();
+ internal static readonly int SELECTED_COLOR = NDalicPINVOKE.Button_Property_SELECTED_COLOR_get();
+ internal static readonly int LABEL = NDalicPINVOKE.Button_Property_LABEL_get();
+ internal static readonly int LABEL_TEXT = NDalicPINVOKE.Button_Property_LABEL_TEXT_get();
- public Tizen.NUI.Property.Map DisabledUnselectedVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.DISABLED_UNSELECTED_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.DISABLED_UNSELECTED_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ }
- public Tizen.NUI.Property.Map UnselectedBackgroundVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.UNSELECTED_BACKGROUND_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.UNSELECTED_BACKGROUND_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// Creates an uninitialized Button.
+ /// Only derived versions can be instantiated.
+ /// </summary>
+ public Button() : this(NDalicPINVOKE.new_Button__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Tizen.NUI.Property.Map SelectedBackgroundVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.SELECTED_BACKGROUND_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.SELECTED_BACKGROUND_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal Button(Button button) : this(NDalicPINVOKE.new_Button__SWIG_1(Button.getCPtr(button)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Tizen.NUI.Property.Map DisabledUnselectedBackgroundVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.DISABLED_UNSELECTED_BACKGROUND_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal Button Assign(Button button)
+ {
+ Button ret = new Button(NDalicPINVOKE.Button_Assign(swigCPtr, Button.getCPtr(button)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public Tizen.NUI.Property.Map DisabledSelectedBackgroundVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.DISABLED_SELECTED_BACKGROUND_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// Downcasts a handle to Button handle.
+ /// If handle points to a Button, the downcast produces valid handle.
+ /// If not the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>A handle to a Button or an uninitialized handle</returns>
+ public new static Button DownCast(BaseHandle handle)
+ {
+ Button ret = new Button(NDalicPINVOKE.Button_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public string LabelRelativeAlignment
- {
- get
- {
- string temp;
- GetProperty( Button.Property.LABEL_RELATIVE_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.LABEL_RELATIVE_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal bool IsDisabled()
+ {
+ bool ret = NDalicPINVOKE.Button_IsDisabled(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public Vector4 LabelPadding
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Button.Property.LABEL_PADDING).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.LABEL_PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal bool IsAutoRepeating()
+ {
+ bool ret = NDalicPINVOKE.Button_IsAutoRepeating(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public Vector4 VisualPadding
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Button.Property.VISUAL_PADDING).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.VISUAL_PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
-
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Button_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public static readonly int UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_VISUAL_get();
- public static readonly int SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_VISUAL_get();
- public static readonly int DISABLED_SELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_VISUAL_get();
- public static readonly int DISABLED_UNSELECTED_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_VISUAL_get();
- public static readonly int UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_UNSELECTED_BACKGROUND_VISUAL_get();
- public static readonly int SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_SELECTED_BACKGROUND_VISUAL_get();
- public static readonly int DISABLED_UNSELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_UNSELECTED_BACKGROUND_VISUAL_get();
- public static readonly int DISABLED_SELECTED_BACKGROUND_VISUAL = NDalicManualPINVOKE.Button_Property_DISABLED_SELECTED_BACKGROUND_VISUAL_get();
- public static readonly int LABEL_RELATIVE_ALIGNMENT = NDalicManualPINVOKE.Button_Property_LABEL_RELATIVE_ALIGNMENT_get();
- public static readonly int LABEL_PADDING = NDalicManualPINVOKE.Button_Property_LABEL_PADDING_get();
- public static readonly int VISUAL_PADDING = NDalicManualPINVOKE.Button_Property_VISUAL_PADDING_get();
-
- public Property() : this(NDalicPINVOKE.new_Button_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int DISABLED = NDalicPINVOKE.Button_Property_DISABLED_get();
- public static readonly int AUTO_REPEATING = NDalicPINVOKE.Button_Property_AUTO_REPEATING_get();
- public static readonly int INITIAL_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_INITIAL_AUTO_REPEATING_DELAY_get();
- public static readonly int NEXT_AUTO_REPEATING_DELAY = NDalicPINVOKE.Button_Property_NEXT_AUTO_REPEATING_DELAY_get();
- public static readonly int TOGGLABLE = NDalicPINVOKE.Button_Property_TOGGLABLE_get();
- public static readonly int SELECTED = NDalicPINVOKE.Button_Property_SELECTED_get();
- public static readonly int UNSELECTED_STATE_IMAGE = NDalicPINVOKE.Button_Property_UNSELECTED_STATE_IMAGE_get();
- public static readonly int SELECTED_STATE_IMAGE = NDalicPINVOKE.Button_Property_SELECTED_STATE_IMAGE_get();
- public static readonly int DISABLED_STATE_IMAGE = NDalicPINVOKE.Button_Property_DISABLED_STATE_IMAGE_get();
- public static readonly int UNSELECTED_COLOR = NDalicPINVOKE.Button_Property_UNSELECTED_COLOR_get();
- public static readonly int SELECTED_COLOR = NDalicPINVOKE.Button_Property_SELECTED_COLOR_get();
- public static readonly int LABEL = NDalicPINVOKE.Button_Property_LABEL_get();
- public static readonly int LABEL_TEXT = NDalicPINVOKE.Button_Property_LABEL_TEXT_get();
-
- }
-
- public Button() : this(NDalicPINVOKE.new_Button__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Button(Button button) : this(NDalicPINVOKE.new_Button__SWIG_1(Button.getCPtr(button)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Button Assign(Button button) {
- Button ret = new Button(NDalicPINVOKE.Button_Assign(swigCPtr, Button.getCPtr(button)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static Button DownCast(BaseHandle handle) {
- Button ret = new Button(NDalicPINVOKE.Button_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsDisabled() {
- bool ret = NDalicPINVOKE.Button_IsDisabled(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsAutoRepeating() {
- bool ret = NDalicPINVOKE.Button_IsAutoRepeating(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetInitialAutoRepeatingDelay() {
- float ret = NDalicPINVOKE.Button_GetInitialAutoRepeatingDelay(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetNextAutoRepeatingDelay() {
- float ret = NDalicPINVOKE.Button_GetNextAutoRepeatingDelay(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsTogglableButton() {
- bool ret = NDalicPINVOKE.Button_IsTogglableButton(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsSelected() {
- bool ret = NDalicPINVOKE.Button_IsSelected(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetAnimationTime() {
- float ret = NDalicPINVOKE.Button_GetAnimationTime(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public string GetLabelText() {
- string ret = NDalicPINVOKE.Button_GetLabelText(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetLabel(Actor label) {
- NDalicPINVOKE.Button_SetLabel(swigCPtr, Actor.getCPtr(label));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetButtonImage(Image image) {
- NDalicPINVOKE.Button_SetButtonImage(swigCPtr, Image.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetSelectedImage(Image image) {
- NDalicPINVOKE.Button_SetSelectedImage(swigCPtr, Image.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Actor GetButtonImage() {
- Actor ret = new Actor(NDalicPINVOKE.Button_GetButtonImage(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor GetSelectedImage() {
- Actor ret = new Actor(NDalicPINVOKE.Button_GetSelectedImage(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ButtonSignal PressedSignal() {
- ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_PressedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ButtonSignal ReleasedSignal() {
- ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ReleasedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ButtonSignal ClickedSignal() {
- ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ClickedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ButtonSignal StateChangedSignal() {
- ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_StateChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public bool Disabled
- {
- get
- {
- bool temp = false;
- GetProperty( Button.Property.DISABLED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.DISABLED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool AutoRepeating
- {
- get
- {
- bool temp = false;
- GetProperty( Button.Property.AUTO_REPEATING).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.AUTO_REPEATING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float InitialAutoRepeatingDelay
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Button.Property.INITIAL_AUTO_REPEATING_DELAY).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.INITIAL_AUTO_REPEATING_DELAY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float NextAutoRepeatingDelay
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Button.Property.NEXT_AUTO_REPEATING_DELAY).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.NEXT_AUTO_REPEATING_DELAY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool Togglable
- {
- get
- {
- bool temp = false;
- GetProperty( Button.Property.TOGGLABLE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.TOGGLABLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool Selected
- {
- get
- {
- bool temp = false;
- GetProperty( Button.Property.SELECTED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.SELECTED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map UnselectedStateImage
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.UNSELECTED_STATE_IMAGE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.UNSELECTED_STATE_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectedStateImage
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.SELECTED_STATE_IMAGE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.SELECTED_STATE_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map DisabledStateImage
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.DISABLED_STATE_IMAGE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.DISABLED_STATE_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 UnselectedColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Button.Property.UNSELECTED_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.UNSELECTED_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 SelectedColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Button.Property.SELECTED_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.SELECTED_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Label
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Button.Property.LABEL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.LABEL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string LabelText
- {
- get
- {
- string temp;
- GetProperty( Button.Property.LABEL_TEXT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Button.Property.LABEL_TEXT, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal float GetInitialAutoRepeatingDelay()
+ {
+ float ret = NDalicPINVOKE.Button_GetInitialAutoRepeatingDelay(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float GetNextAutoRepeatingDelay()
+ {
+ float ret = NDalicPINVOKE.Button_GetNextAutoRepeatingDelay(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool IsTogglableButton()
+ {
+ bool ret = NDalicPINVOKE.Button_IsTogglableButton(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ internal bool IsSelected()
+ {
+ bool ret = NDalicPINVOKE.Button_IsSelected(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves button's animation time.
+ /// </summary>
+ /// <returns></returns>
+ public float GetAnimationTime()
+ {
+ float ret = NDalicPINVOKE.Button_GetAnimationTime(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal string GetLabelText()
+ {
+ string ret = NDalicPINVOKE.Button_GetLabelText(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetLabel(Actor label)
+ {
+ NDalicPINVOKE.Button_SetLabel(swigCPtr, Actor.getCPtr(label));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetButtonImage(Image image)
+ {
+ NDalicPINVOKE.Button_SetButtonImage(swigCPtr, Image.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetSelectedImage(Image image)
+ {
+ NDalicPINVOKE.Button_SetSelectedImage(swigCPtr, Image.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Actor GetButtonImage()
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Button_GetButtonImage(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Actor GetSelectedImage()
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Button_GetSelectedImage(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ButtonSignal PressedSignal()
+ {
+ ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_PressedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ButtonSignal ReleasedSignal()
+ {
+ ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ReleasedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ButtonSignal ClickedSignal()
+ {
+ ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_ClickedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ButtonSignal StateChangedSignal()
+ {
+ ButtonSignal ret = new ButtonSignal(NDalicPINVOKE.Button_StateChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// Gets/Sets the button as disabled.
+ /// </summary>
+ public bool Disabled
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Button.Property.DISABLED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.DISABLED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// If the autorepeating property is set to true then the togglable property is set to false
+ /// </summary>
+ public bool AutoRepeating
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Button.Property.AUTO_REPEATING).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.AUTO_REPEATING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// By default this value is set to 0.15 seconds.
+ /// </summary>
+ public float InitialAutoRepeatingDelay
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Button.Property.INITIAL_AUTO_REPEATING_DELAY).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.INITIAL_AUTO_REPEATING_DELAY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// default this value is set to 0.05 seconds
+ /// </summary>
+ public float NextAutoRepeatingDelay
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Button.Property.NEXT_AUTO_REPEATING_DELAY).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.NEXT_AUTO_REPEATING_DELAY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// If the togglable property is set to true, then the autorepeating property is set to false.
+ /// </summary>
+ public bool Togglable
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Button.Property.TOGGLABLE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.TOGGLABLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// /Gets/Sets the togglable button as either selected or unselected, togglable property must be set to true.
+ /// </summary>
+ public bool Selected
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Button.Property.SELECTED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.SELECTED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the unselected button foreground image
+ /// </summary>
+ public Tizen.NUI.PropertyMap UnselectedStateImage
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.UNSELECTED_STATE_IMAGE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.UNSELECTED_STATE_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the selected button foreground image
+ /// </summary>
+ public Tizen.NUI.PropertyMap SelectedStateImage
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.SELECTED_STATE_IMAGE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.SELECTED_STATE_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the disabled whilst unselected foreground button visual
+ /// </summary>
+ public Tizen.NUI.PropertyMap DisabledStateImage
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.DISABLED_STATE_IMAGE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.DISABLED_STATE_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets unselected color
+ /// </summary>
+ public Color UnselectedColor
+ {
+ get
+ {
+ Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Button.Property.UNSELECTED_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.UNSELECTED_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets selected color
+ /// </summary>
+ public Color SelectedColor
+ {
+ get
+ {
+ Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Button.Property.SELECTED_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.SELECTED_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets label
+ /// </summary>
+ public Tizen.NUI.PropertyMap Label
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(Button.Property.LABEL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.LABEL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets text of label
+ /// </summary>
+ public string LabelText
+ {
+ get
+ {
+ string temp;
+ GetProperty(Button.Property.LABEL_TEXT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Button.Property.LABEL_TEXT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
\ No newline at end of file
namespace Tizen.NUI {
-public class ButtonSignal : global::System.IDisposable {
+ internal class ButtonSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
-/** Copyright (c) 2017 Samsung Electronics Co., Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-*/
-// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
-//------------------------------------------------------------------------------
-// <auto-generated />
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// CameraActor controls a camera.
+ /// Allows the developer to use actor semantics to control a camera.
+ /// NUI has a concept of a camera to display its virtual 3D world to a 2D screen.
+ /// There are 2 ways of using the camera in NUI:
+ /// - For 2D applications, you do not need to care about the camera at all. The default camera is already best suited for 2D applications
+ /// (configured to have the origin of the coordinate system at the top-left corner of the screen, and unit 1 as 1 pixel of the screen). This is a typical way.
+ /// - For 3D applications, you can change the view by manipulating the camera.You can translate or rotate the camera in this case.
+ /// Note that the top-left corner of the screen and unit 1 no longer are (0,0,0) and 1 pixel after manipulating the camera.
+ /// There are two types of camera actor, FreeLook and LookAtTarget By default, the camera actor will be FreeLook.
+ /// - A FreeLook camera uses actor's orientation to control where the camera is looking.
+ /// If no additional rotations are specified, the camera looks in the negative Z direction.
+ /// - For LookAtTarget, the actor's orientation is ignored, instead the camera looks at TargetPosition in world coordinates.
+ /// /// </summary>
+ public class CameraActor : Actor
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-namespace Tizen.NUI {
+ internal CameraActor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CameraActor_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class CameraActor : Actor {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CameraActor obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal CameraActor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CameraActor_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~CameraActor()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CameraActor obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// To make CameraActor instance be disposed.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_CameraActor(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~CameraActor() {
- DisposeQueue.Instance.Add(this);
- }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_CameraActor_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_CameraActor_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int TYPE = NDalicPINVOKE.CameraActor_Property_TYPE_get();
+ internal static readonly int PROJECTION_MODE = NDalicPINVOKE.CameraActor_Property_PROJECTION_MODE_get();
+ internal static readonly int FIELD_OF_VIEW = NDalicPINVOKE.CameraActor_Property_FIELD_OF_VIEW_get();
+ internal static readonly int ASPECT_RATIO = NDalicPINVOKE.CameraActor_Property_ASPECT_RATIO_get();
+ internal static readonly int NEAR_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_NEAR_PLANE_DISTANCE_get();
+ internal static readonly int FAR_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_FAR_PLANE_DISTANCE_get();
+ internal static readonly int LEFT_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_LEFT_PLANE_DISTANCE_get();
+ internal static readonly int RIGHT_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_RIGHT_PLANE_DISTANCE_get();
+ internal static readonly int TOP_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_TOP_PLANE_DISTANCE_get();
+ internal static readonly int BOTTOM_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_BOTTOM_PLANE_DISTANCE_get();
+ internal static readonly int TARGET_POSITION = NDalicPINVOKE.CameraActor_Property_TARGET_POSITION_get();
+ internal static readonly int PROJECTION_MATRIX = NDalicPINVOKE.CameraActor_Property_PROJECTION_MATRIX_get();
+ internal static readonly int VIEW_MATRIX = NDalicPINVOKE.CameraActor_Property_VIEW_MATRIX_get();
+ internal static readonly int INVERT_Y_AXIS = NDalicPINVOKE.CameraActor_Property_INVERT_Y_AXIS_get();
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_CameraActor(swigCPtr);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// Creates an initialized CameraActor handle.
+ /// </summary>
+ public CameraActor() : this(NDalicPINVOKE.CameraActor_New__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Creates a CameraActor object.
+ /// Sets the default camera perspective projection for the given canvas size
+ /// </summary>
+ /// <param name="size">The canvas size</param>
+ public CameraActor(Size2D size) : this(NDalicPINVOKE.CameraActor_New__SWIG_1(Size2D.getCPtr(size)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Downcasts a handle to CameraActor handle.
+ /// If handle points to a CameraActor, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">to An object</param>
+ /// <returns>Handle to a CameraActor or an uninitialized handle</returns>
+ public new static CameraActor DownCast(BaseHandle handle)
+ {
+ CameraActor ret = new CameraActor(NDalicPINVOKE.CameraActor_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal CameraActor(CameraActor copy) : this(NDalicPINVOKE.new_CameraActor__SWIG_1(CameraActor.getCPtr(copy)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal CameraActor Assign(CameraActor rhs)
+ {
+ CameraActor ret = new CameraActor(NDalicPINVOKE.CameraActor_Assign(swigCPtr, CameraActor.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetType(CameraType type)
+ {
+ NDalicPINVOKE.CameraActor_SetType(swigCPtr, (int)type);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal CameraType GetType()
+ {
+ CameraType ret = (CameraType)NDalicPINVOKE.CameraActor_GetType(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetProjectionMode(ProjectionMode mode)
+ {
+ NDalicPINVOKE.CameraActor_SetProjectionMode(swigCPtr, (int)mode);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ProjectionMode GetProjectionMode()
+ {
+ ProjectionMode ret = (ProjectionMode)NDalicPINVOKE.CameraActor_GetProjectionMode(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetFieldOfView(float fieldOfView)
+ {
+ NDalicPINVOKE.CameraActor_SetFieldOfView(swigCPtr, fieldOfView);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetFieldOfView()
+ {
+ float ret = NDalicPINVOKE.CameraActor_GetFieldOfView(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetAspectRatio(float aspectRatio)
+ {
+ NDalicPINVOKE.CameraActor_SetAspectRatio(swigCPtr, aspectRatio);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetAspectRatio()
+ {
+ float ret = NDalicPINVOKE.CameraActor_GetAspectRatio(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetNearClippingPlane(float nearClippingPlane)
+ {
+ NDalicPINVOKE.CameraActor_SetNearClippingPlane(swigCPtr, nearClippingPlane);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetNearClippingPlane()
+ {
+ float ret = NDalicPINVOKE.CameraActor_GetNearClippingPlane(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetFarClippingPlane(float farClippingPlane)
+ {
+ NDalicPINVOKE.CameraActor_SetFarClippingPlane(swigCPtr, farClippingPlane);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetFarClippingPlane()
+ {
+ float ret = NDalicPINVOKE.CameraActor_GetFarClippingPlane(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetTargetPosition(Vector3 targetPosition)
+ {
+ NDalicPINVOKE.CameraActor_SetTargetPosition(swigCPtr, Vector3.getCPtr(targetPosition));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Vector3 GetTargetPosition()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.CameraActor_GetTargetPosition(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetInvertYAxis(bool invertYAxis)
+ {
+ NDalicPINVOKE.CameraActor_SetInvertYAxis(swigCPtr, invertYAxis);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool GetInvertYAxis()
+ {
+ bool ret = NDalicPINVOKE.CameraActor_GetInvertYAxis(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetPerspectiveProjection(Vector2 size)
+ {
+ NDalicPINVOKE.CameraActor_SetPerspectiveProjection(swigCPtr, Vector2.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetOrthographicProjection(Vector2 size)
+ {
+ NDalicPINVOKE.CameraActor_SetOrthographicProjection__SWIG_0(swigCPtr, Vector2.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetOrthographicProjection(float left, float right, float top, float bottom, float near, float far)
+ {
+ NDalicPINVOKE.CameraActor_SetOrthographicProjection__SWIG_1(swigCPtr, left, right, top, bottom, near, far);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Gets/Sets the camera type. The default type is FreeLook
+ /// </summary>
+ public string Type
+ {
+ get
+ {
+ string temp;
+ GetProperty(CameraActor.Property.TYPE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.TYPE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the projection mode.
+ /// </summary>
+ public string ProjectionMode
+ {
+ get
+ {
+ string temp;
+ GetProperty(CameraActor.Property.PROJECTION_MODE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.PROJECTION_MODE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the field of view.
+ /// </summary>
+ public float FieldOfView
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.FIELD_OF_VIEW).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.FIELD_OF_VIEW, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the aspect ratio of the camera.
+ /// </summary>
+ public float AspectRatio
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.ASPECT_RATIO).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.ASPECT_RATIO, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets near plane distance
+ /// </summary>
+ public float NearPlaneDistance
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.NEAR_PLANE_DISTANCE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.NEAR_PLANE_DISTANCE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets far plane distance
+ /// </summary>
+ public float FarPlaneDistance
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.FAR_PLANE_DISTANCE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.FAR_PLANE_DISTANCE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets left plane distance
+ /// </summary>
+ public float LeftPlaneDistance
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.LEFT_PLANE_DISTANCE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.LEFT_PLANE_DISTANCE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets right plane distance
+ /// </summary>
+ public float RightPlaneDistance
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.RIGHT_PLANE_DISTANCE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.RIGHT_PLANE_DISTANCE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets top plane distance
+ /// </summary>
+ public float TopPlaneDistance
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.TOP_PLANE_DISTANCE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.TOP_PLANE_DISTANCE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets bottom plane distance
+ /// </summary>
+ public float BottomPlaneDistance
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(CameraActor.Property.BOTTOM_PLANE_DISTANCE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.BOTTOM_PLANE_DISTANCE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Gets/Sets the target position of the camera.
+ /// </summary>
+ public Position TargetPosition
+ {
+ get
+ {
+ Position temp = new Position(0.0f, 0.0f, 0.0f);
+ GetProperty(CameraActor.Property.TARGET_POSITION).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.TARGET_POSITION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ internal Matrix ProjectionMatrix
+ {
+ get
+ {
+ Matrix temp = new Matrix();
+ GetProperty(CameraActor.Property.PROJECTION_MATRIX).Get(temp);
+ return temp;
+ }
+ }
+
+ internal Matrix ViewMatrix
+ {
+ get
+ {
+ Matrix temp = new Matrix();
+ GetProperty(CameraActor.Property.VIEW_MATRIX).Get(temp);
+ return temp;
+ }
+ }
+
+ /// <summary>
+ /// Requests for an inversion on the Y axis on the projection calculation.
+ /// </summary>
+ public bool InvertYAxis
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(CameraActor.Property.INVERT_Y_AXIS).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(CameraActor.Property.INVERT_Y_AXIS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_CameraActor_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_CameraActor_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int TYPE = NDalicPINVOKE.CameraActor_Property_TYPE_get();
- public static readonly int PROJECTION_MODE = NDalicPINVOKE.CameraActor_Property_PROJECTION_MODE_get();
- public static readonly int FIELD_OF_VIEW = NDalicPINVOKE.CameraActor_Property_FIELD_OF_VIEW_get();
- public static readonly int ASPECT_RATIO = NDalicPINVOKE.CameraActor_Property_ASPECT_RATIO_get();
- public static readonly int NEAR_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_NEAR_PLANE_DISTANCE_get();
- public static readonly int FAR_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_FAR_PLANE_DISTANCE_get();
- public static readonly int LEFT_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_LEFT_PLANE_DISTANCE_get();
- public static readonly int RIGHT_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_RIGHT_PLANE_DISTANCE_get();
- public static readonly int TOP_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_TOP_PLANE_DISTANCE_get();
- public static readonly int BOTTOM_PLANE_DISTANCE = NDalicPINVOKE.CameraActor_Property_BOTTOM_PLANE_DISTANCE_get();
- public static readonly int TARGET_POSITION = NDalicPINVOKE.CameraActor_Property_TARGET_POSITION_get();
- public static readonly int PROJECTION_MATRIX = NDalicPINVOKE.CameraActor_Property_PROJECTION_MATRIX_get();
- public static readonly int VIEW_MATRIX = NDalicPINVOKE.CameraActor_Property_VIEW_MATRIX_get();
- public static readonly int INVERT_Y_AXIS = NDalicPINVOKE.CameraActor_Property_INVERT_Y_AXIS_get();
-
- }
-
- public CameraActor () : this (NDalicPINVOKE.CameraActor_New__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public CameraActor (Vector2 size) : this (NDalicPINVOKE.CameraActor_New__SWIG_1(Vector2.getCPtr(size)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public new static CameraActor DownCast(BaseHandle handle) {
- CameraActor ret = new CameraActor(NDalicPINVOKE.CameraActor_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public CameraActor(CameraActor copy) : this(NDalicPINVOKE.new_CameraActor__SWIG_1(CameraActor.getCPtr(copy)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public CameraActor Assign(CameraActor rhs) {
- CameraActor ret = new CameraActor(NDalicPINVOKE.CameraActor_Assign(swigCPtr, CameraActor.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetType(CameraType type) {
- NDalicPINVOKE.CameraActor_SetType(swigCPtr, (int)type);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public CameraType GetType() {
- CameraType ret = (CameraType)NDalicPINVOKE.CameraActor_GetType(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetProjectionMode(ProjectionMode mode) {
- NDalicPINVOKE.CameraActor_SetProjectionMode(swigCPtr, (int)mode);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ProjectionMode GetProjectionMode() {
- ProjectionMode ret = (ProjectionMode)NDalicPINVOKE.CameraActor_GetProjectionMode(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFieldOfView(float fieldOfView) {
- NDalicPINVOKE.CameraActor_SetFieldOfView(swigCPtr, fieldOfView);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetFieldOfView() {
- float ret = NDalicPINVOKE.CameraActor_GetFieldOfView(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetAspectRatio(float aspectRatio) {
- NDalicPINVOKE.CameraActor_SetAspectRatio(swigCPtr, aspectRatio);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetAspectRatio() {
- float ret = NDalicPINVOKE.CameraActor_GetAspectRatio(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetNearClippingPlane(float nearClippingPlane) {
- NDalicPINVOKE.CameraActor_SetNearClippingPlane(swigCPtr, nearClippingPlane);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetNearClippingPlane() {
- float ret = NDalicPINVOKE.CameraActor_GetNearClippingPlane(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFarClippingPlane(float farClippingPlane) {
- NDalicPINVOKE.CameraActor_SetFarClippingPlane(swigCPtr, farClippingPlane);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetFarClippingPlane() {
- float ret = NDalicPINVOKE.CameraActor_GetFarClippingPlane(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetTargetPosition(Vector3 targetPosition) {
- NDalicPINVOKE.CameraActor_SetTargetPosition(swigCPtr, Vector3.getCPtr(targetPosition));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetTargetPosition() {
- Vector3 ret = new Vector3(NDalicPINVOKE.CameraActor_GetTargetPosition(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetInvertYAxis(bool invertYAxis) {
- NDalicPINVOKE.CameraActor_SetInvertYAxis(swigCPtr, invertYAxis);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool GetInvertYAxis() {
- bool ret = NDalicPINVOKE.CameraActor_GetInvertYAxis(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetPerspectiveProjection(Vector2 size) {
- NDalicPINVOKE.CameraActor_SetPerspectiveProjection(swigCPtr, Vector2.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetOrthographicProjection(Vector2 size) {
- NDalicPINVOKE.CameraActor_SetOrthographicProjection__SWIG_0(swigCPtr, Vector2.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetOrthographicProjection(float left, float right, float top, float bottom, float near, float far) {
- NDalicPINVOKE.CameraActor_SetOrthographicProjection__SWIG_1(swigCPtr, left, right, top, bottom, near, far);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public string Type
- {
- get
- {
- string temp;
- GetProperty( CameraActor.Property.TYPE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.TYPE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string ProjectionMode
- {
- get
- {
- string temp;
- GetProperty( CameraActor.Property.PROJECTION_MODE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.PROJECTION_MODE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float FieldOfView
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.FIELD_OF_VIEW).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.FIELD_OF_VIEW, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float AspectRatio
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.ASPECT_RATIO).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.ASPECT_RATIO, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float NearPlaneDistance
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.NEAR_PLANE_DISTANCE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.NEAR_PLANE_DISTANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float FarPlaneDistance
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.FAR_PLANE_DISTANCE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.FAR_PLANE_DISTANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float LeftPlaneDistance
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.LEFT_PLANE_DISTANCE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.LEFT_PLANE_DISTANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float RightPlaneDistance
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.RIGHT_PLANE_DISTANCE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.RIGHT_PLANE_DISTANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float TopPlaneDistance
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.TOP_PLANE_DISTANCE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.TOP_PLANE_DISTANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float BottomPlaneDistance
- {
- get
- {
- float temp = 0.0f;
- GetProperty( CameraActor.Property.BOTTOM_PLANE_DISTANCE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.BOTTOM_PLANE_DISTANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 TargetPosition
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( CameraActor.Property.TARGET_POSITION).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( CameraActor.Property.TARGET_POSITION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Matrix ProjectionMatrix
- {
- get
- {
- Matrix temp = new Matrix();
- GetProperty( CameraActor.Property.PROJECTION_MATRIX).Get( temp );
- return temp;
- }
-} public Matrix ViewMatrix
- {
- get
- {
- Matrix temp = new Matrix();
- GetProperty( CameraActor.Property.VIEW_MATRIX).Get( temp );
- return temp;
}
-} public bool InvertYAxis
- {
- get
+
+ /// <summary>
+ /// Enumeration for type determination of how camera operates.
+ /// FreeLook : Camera orientation is taken from CameraActor
+ /// LookAtTarget : Camera is oriented to always look at a target
+ /// </summary>
+ public enum CameraType
{
- bool temp = false;
- GetProperty( CameraActor.Property.INVERT_Y_AXIS).Get( ref temp );
- return temp;
+ FreeLook,
+ LookAtTarget
}
- set
+
+ /// <summary>
+ /// Enumeration for projection modes.
+ /// PerspectiveProjection : Distance causes foreshortening; objects further from the camera appear smaller
+ /// OrthographicProjection : Relative distance from the camera does not affect the size of objects
+ /// </summary>
+ public enum ProjectionMode
{
- SetProperty( CameraActor.Property.INVERT_Y_AXIS, new Tizen.NUI.Property.Value( value ) );
+ PerspectiveProjection,
+ OrthographicProjection
}
- }
-
-}
}
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum CameraType {
- FREE_LOOK,
- LOOK_AT_TARGET
-}
-
-}
-/** Copyright (c) 2017 Samsung Electronics Co., Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-*/
-// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
-//------------------------------------------------------------------------------
-// <auto-generated />
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class CheckBoxButton : Button {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// CheckBoxButton provides a check box button which user can check or uncheck.
+ /// By default, a CheckBoxButton emits a Button.Clicked event when the button changes its state to selected or unselected.
+ /// The button's appearance could be modified by Button.UnselectedImage, Button.BackgroundImage, Button.SelectedImage,
+ /// Button.SelectedBackgroundImage, Button.DisabledBackgroundImage, Button.DisabledImage, and Button.DisabledSelectedImage.
+ /// When the button is not disabled, if it's not selected it only shows the background image.
+ /// The selected image is shown over the background image when the box is selected (background image is not replaced by \e selected image).
+ /// When the button is disabled, background image and selected image are replaced by disabled images.
+ /// /// </summary>
+ public class CheckBoxButton : Button
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal CheckBoxButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CheckBoxButton_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal CheckBoxButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.CheckBoxButton_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CheckBoxButton obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CheckBoxButton obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~CheckBoxButton() {
- DisposeQueue.Instance.Add(this);
- }
+ ~CheckBoxButton()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_CheckBoxButton(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// To make CheckBoxButton instance be disposed.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_CheckBoxButton(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public CheckBoxButton () : this (NDalicPINVOKE.CheckBoxButton_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ /// <summary>
+ /// Creates an initialized CheckBoxButton
+ /// </summary>
+ public CheckBoxButton() : this(NDalicPINVOKE.CheckBoxButton_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- public CheckBoxButton(CheckBoxButton checkBox) : this(NDalicPINVOKE.new_CheckBoxButton__SWIG_1(CheckBoxButton.getCPtr(checkBox)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
+ internal CheckBoxButton(CheckBoxButton checkBox) : this(NDalicPINVOKE.new_CheckBoxButton__SWIG_1(CheckBoxButton.getCPtr(checkBox)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public CheckBoxButton Assign(CheckBoxButton checkBox) {
- CheckBoxButton ret = new CheckBoxButton(NDalicPINVOKE.CheckBoxButton_Assign(swigCPtr, CheckBoxButton.getCPtr(checkBox)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal CheckBoxButton Assign(CheckBoxButton checkBox)
+ {
+ CheckBoxButton ret = new CheckBoxButton(NDalicPINVOKE.CheckBoxButton_Assign(swigCPtr, CheckBoxButton.getCPtr(checkBox)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public new static CheckBoxButton DownCast(BaseHandle handle) {
- CheckBoxButton ret = new CheckBoxButton(NDalicPINVOKE.CheckBoxButton_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal new static CheckBoxButton DownCast(BaseHandle handle)
+ {
+ CheckBoxButton ret = new CheckBoxButton(NDalicPINVOKE.CheckBoxButton_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ }
}
namespace Tizen.NUI {
-public class ChildPropertyRegistration : global::System.IDisposable {
+ internal class ChildPropertyRegistration : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
}
- public ChildPropertyRegistration(TypeRegistration registered, string name, int index, Property.Type type) : this(NDalicPINVOKE.new_ChildPropertyRegistration(TypeRegistration.getCPtr(registered), name, index, (int)type), true) {
+ public ChildPropertyRegistration(TypeRegistration registered, string name, int index, PropertyType type) : this(NDalicPINVOKE.new_ChildPropertyRegistration(TypeRegistration.getCPtr(registered), name, index, (int)type), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
namespace Tizen.NUI {
-public enum ClampState {
+ internal enum ClampState {
NotClamped,
ClampedToMin,
ClampedToMax
namespace Tizen.NUI {
-public class ClampState2D : global::System.IDisposable {
+ internal class ClampState2D : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
namespace Tizen.NUI
{
- using System;
-
- public enum Colors
- {
- Red,
- White,
- Blue,
- Green,
- Black,
- Yellow,
- Magenta,
- Cyan
- }
-
-
- public class Color
- {
-
- private float r;
- private float g;
- private float b;
- private float a;
-
- /**
- * @brief constructor
- *
- * @since 1.0.0
- */
- public Color()
- {
- r = 0.0f;
- g = 0.0f;
- b = 0.0f;
- a = 0.0f;
- }
- /**
- * @brief constructor
- *
- * @since 1.0.0
- * @param [in] red The Color r.
- * @param [in] green The Color g.
- * @param [in] blue The Color b.
- * @param [in] alpha The Color a.
- */
- public Color(float red, float green, float blue, float alpha)
- {
- r = red;
- g = green;
- b = blue;
- a = alpha;
- }
+ using System;
- /**
- * @brief constructor
- *
- * @since 1.0.0
- * @param [in] o The Vector4 having r g b a components
- */
- public Color(Vector4 o)
+ /// <summary>
+ /// Color class
+ /// </summary>
+ public class Color : global::System.IDisposable
{
- r = o.r;
- g = o.g;
- b = o.b;
- a = o.a;
- }
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Color(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Color obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Color()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ /// <summary>
+ /// To make Color instance be disposed.
+ /// </summary>
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector4(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// Addition operator.
+ /// </summary>
+ /// <param name="arg1">First value</param>
+ /// <param name="arg2">Second value</param>
+ /// <returns>A Color containing the result of the addition</returns>
+ public static Color operator +(Color arg1, Color arg2)
+ {
+ return arg1.Add(arg2);
+ }
+
+ /// <summary>
+ /// Subtraction operator.
+ /// </summary>
+ /// <param name="arg1">First value</param>
+ /// <param name="arg2">Second value</param>
+ /// <returns>A Color containing the result of the subtraction</returns>
+ public static Color operator -(Color arg1, Color arg2)
+ {
+ return arg1.Subtract(arg2);
+ }
+
+ /// <summary>
+ /// Unary negation operator.
+ /// </summary>
+ /// <param name="arg1">Target Value</param>
+ /// <returns>A Color containg the negation</returns>
+ public static Color operator -(Color arg1)
+ {
+ return arg1.Subtract();
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A Color containing the result of the multiplication</returns>
+ public static Color operator *(Color arg1, Color arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A Color containing the result of the division</returns>
+ public static Color operator /(Color arg1, Color arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+ /// <summary>
+ /// Array subscript operator overload.
+ /// </summary>
+ /// <param name="index">Subscript index</param>
+ /// <returns>The float at the given index</returns>
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
+
+ internal static Color GetColorFromPtr(global::System.IntPtr cPtr)
+ {
+ Color ret = new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Default constructor
+ /// </summary>
+ public Color() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="r">red component</param>
+ /// <param name="g">green component</param>
+ /// <param name="b">blue component</param>
+ /// <param name="a">alpha component</param>
+ public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(r, g, b, a), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Conversion constructor from an array of four floats.
+ /// </summary>
+ /// <param name="array">array Array of R,G,B,A</param>
+ public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ private Color Add(Color rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_Add(swigCPtr, Color.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color AddAssign(Vector4 rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Color.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color Subtract(Color rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Color.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color SubtractAssign(Color rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Color.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color Multiply(Color rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Color.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color MultiplyAssign(Color rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Color.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color MultiplyAssign(float rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color Divide(Vector4 rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Color.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ private Color DivideAssign(Color rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Color.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color DivideAssign(float rhs)
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Color Subtract()
+ {
+ Color ret = new Color(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Check if two Color classes are same.
+ /// </summary>
+ /// <param name="rhs">A Color to be compared</param>
+ /// <returns>If two Colors are are same, then true.</returns>
+ public bool EqualTo(Color rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Color.getCPtr(rhs));
+
+ if (rhs == null) return false;
+
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Check if two Color classes are different.
+ /// </summary>
+ /// <param name="rhs">A Color to be compared</param>
+ /// <returns>If two Colors are are different, then true.</returns>
+ public bool NotEqualTo(Color rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Color.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ private float ValueOfIndex(uint index)
+ {
+ float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// red component
+ /// </summary>
+ public float R
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// green component
+ /// </summary>
+ public float G
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_g_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// blue component
+ /// </summary>
+ public float B
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_b_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// alpha component
+ /// </summary>
+ public float A
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_a_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get black colored Color class
+ /// </summary>
+ public static Color Black
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.BLACK_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get white colored Color class
+ /// </summary>
+ public static Color White
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.WHITE_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get red colored Color class
+ /// </summary>
+ public static Color Red
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.RED_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get green colored Color class
+ /// </summary>
+ public static Color Green
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.GREEN_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get blue colored Color class
+ /// </summary>
+ public static Color Blue
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.BLUE_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get yellow colored Color class
+ /// </summary>
+ public static Color Yellow
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.YELLOW_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get magenta colored Color class
+ /// </summary>
+ public static Color Magenta
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.MAGENTA_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get cyan colored Color class
+ /// </summary>
+ public static Color Cyan
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.CYAN_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Get transparent colored Color class
+ /// </summary>
+ public static Color Transparent
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.TRANSPARENT_get();
+ Color ret = (cPtr == global::System.IntPtr.Zero) ? null : new Color(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// convert Color class to Vector4 class implicitly.
+ /// </summary>
+ /// <param name="color">A Color to be converted to Vector4</param>
+ public static implicit operator Vector4(Color color)
+ {
+ return new Vector4(color.R, color.G, color.B, color.A);
+ }
+
+ /// <summary>
+ /// convert Vector4 class to Color class implicitly.
+ /// </summary>
+ /// <param name="vec">A Vector4 to be converted to Color</param></param>
+ public static implicit operator Color(Vector4 vec)
+ {
+ return new Color(vec.R, vec.G, vec.B, vec.A);
+ }
-
- /**
- * @brief constructor
- *
- * @since 1.0.0
- * @param [in] color as enum Colors.
- */
- public Color(Colors color)
- {
- switch (color)
- {
- case Colors.Red:
- SetColor(1.0f, 0.0f, 0.0f, 1.0f);
- break;
- case Colors.White:
- SetColor(1.0f, 1.0f, 1.0f, 1.0f);
- break;
- case Colors.Blue:
- SetColor(0.0f, 0.0f, 1.0f, 1.0f);
- break;
- case Colors.Green:
- SetColor(0.0f, 1.0f, 0.0f, 1.0f);
- break;
- case Colors.Black:
- SetColor(0.0f, 0.0f, 0.0f, 1.0f);
- break;
- case Colors.Yellow:
- SetColor(1.0f, 1.0f, 0.0f, 1.0f);
- break;
- case Colors.Cyan:
- SetColor(0.0f, 1.0f, 1.0f, 1.0f);
- break;
- case Colors.Magenta:
- SetColor(1.0f, 0.0f, 1.0f, 1.0f);
- break;
- }
}
+}
- /**
- * @brief SetColor
- *
- * @since 1.0.0
- * @param [in] red The Color r.
- * @param [in] green The Color g.
- * @param [in] blue The Color b.
- * @param [in] alpha The Color a.
- */
- public void SetColor(float red, float green, float blue, float alpha)
- {
- r = red;
- g = green;
- b = blue;
- a = alpha;
- }
-
- /**
- * @brief name "R", type float (Color's Red component)
- * @SINCE_1_0.0
- */
-
- public float R
- {
- get { return r; }
- set { r = value; }
- }
-
- /**
- * @brief name "G", type float (Color's Green component)
- * @SINCE_1_0.0
- */
- public float G
- {
- get { return g; }
- set { g = value; }
- }
-
- /**
- * @brief name "B", type float (Color's Blue component)
- * @SINCE_1_0.0
- */
- public float B
- {
- get { return b; }
- set { b = value; }
- }
-
- /**
- * @brief name "A", type float (Color's Alpha value)
- * @SINCE_1_0.0
- */
- public float A
- {
- get { return a; }
- set { a = value; }
- }
-
- /**
- * @brief operator+
- *
- * @since 1.0.0
- * @param [in] l The Color to add.
- * @param [in] r The Color to add
- * @return A reference to this
- */
- public static Color operator +(Color l, Color r)
- {
- return new Color(l.R + r.R, l.G + r.G, l.B + r.B, l.A + r.A);
- }
-
- /**
- * @brief operator-
- *
- * @since 1.0.0
- * @param [in] l The Color to substract.
- * @param [in] r The Color to substract
- * @return A reference to this
- */
- public static Color operator -(Color l, Color r)
- {
- return new Color(l.R - r.R, l.G - r.G, l.B - r.B, l.A - r.A);
- }
-
- /**
- * @brief operator*
- *
- * @since 1.0.0
- * @param [in] a The Color to multiply.
- * @param [in] b The constant double to multiply.
- * @return A reference to this
- */
- public static Color operator *(Color a, double b)
- {
- return new Color((float)(a.R * b), (float)(a.G * b), (float)(a.B * b), (float)(a.A * b));
- }
-
- /**
- * @brief operator/
- *
- * @since 1.0.0
- * @param [in] a The Color to divide.
- * @param [in] b The Color to divide
- * @return float value of division operation
- */
- public static float operator /(Color a, Color b)
- {
- return (float)System.Math.Sqrt((a.R / b.R) * (a.G / b.G) * (a.B / b.B) * (a.A / b.A));
- }
-
- /**
- * @brief Operator ==
- *
- * @since 1.0.0
- * @param [in] x The Color object to compare.
- * @param [in] y The Color object to compare.
- * @return bool, whether colors are equal or not
- */
- public static bool operator == (Color x, Color y)
- {
- return x.R == y.R && x.G == y.G && x.B == y.B && x.A == y.A;
- }
-
- /**
- * @brief Operator !=
- *
- * @since 1.0.0
- * @param [in] x The Color object to compare.
- * @param [in] y The Color object to compare.
- * @return bool, whether colors are equal or not
- */
- public static bool operator != (Color x, Color y)
- {
- return x.R != y.R || x.G != y.G || x.B != y.B || x.A != y.A;
- }
-
- /**
- * @brief GetHashCode
- *
- * @since 1.0.0
- * @return int, hascode of Color
- */
- public override int GetHashCode()
- {
- return base.GetHashCode();
- }
-
- /**
- * @brief Clone
- *
- * @since 1.0.0
- * @return Color object
- */
- public Color Clone()
- {
- Color copy = new Color(R, G, B, A);
- return copy;
- }
-
- // Create a color for RGBA values ranging from 0..255, useful when dealing with HTML colors
- static Color FromRgbaByte( byte red, byte green, byte blue, byte alpha )
- {
- return new Color ( red / 255, green / 255, blue / 255, alpha / 255 );
- }
-
- // User-defined conversion from Color to Vector4
- public static implicit operator Vector4(Color color)
- {
- return new Vector4(color.r, color.g, color.b, color.a);
- }
-
- public static implicit operator Color(Vector4 vec)
- {
- return new Color(vec.r, vec.g, vec.b, vec.a);
- }
-
- /**
- * @brief name "White", type Color (White Color object)
- * @SINCE_1_0.0
- */
- public static Color White
- {
- get
- {
- return new Color(Colors.White);
- }
- }
-
- /**
- * @brief name "Black", type Color (Black Color object)
- * @SINCE_1_0.0
- */
- public static Color Black
- {
- get
- {
- return new Color(Colors.Black);
- }
- }
-
- /**
- * @brief name "Red", type Color (Red Color object)
- * @SINCE_1_0.0
- */
- public static Color Red
- {
- get
- {
- return new Color(Colors.Red);
- }
- }
-
- /**
- * @brief name "Green", type Color (Green Color object)
- * @SINCE_1_0.0
- */
- public static Color Green
- {
- get
- {
- return new Color(Colors.Green);
- }
- }
-
- /**
- * @brief name "Blue", type Color (Blue Color object)
- * @SINCE_1_0.0
- */
- public static Color Blue
- {
- get
- {
- return new Color(Colors.Blue);
- }
- }
-
- /**
- * @brief name "Yellow", type Color (Yellow Color object)
- * @SINCE_1_0.0
- */
- public static Color Yellow
- {
- get
- {
- return new Color(Colors.Yellow);
- }
- }
-
- /**
- * @brief name "Magenta", type Color (Magenta Color object)
- * @SINCE_1_0.0
- */
- public static Color Magenta
- {
- get
- {
- return new Color(Colors.Magenta);
- }
- }
- /**
- * @brief name "Cyan", type Color (Cyan Color object)
- * @SINCE_1_0.0
- */
- public static Color Cyan
- {
- get
- {
- return new Color(Colors.Cyan);
- }
- }
- }
-}
namespace Tizen.NUI {
-public class ConnectionTracker : ConnectionTrackerInterface {
+ internal class ConnectionTracker : ConnectionTrackerInterface {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ConnectionTracker(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ConnectionTracker_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class ConnectionTrackerInterface : SignalObserver {
+ internal class ConnectionTrackerInterface : SignalObserver {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ConnectionTrackerInterface(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ConnectionTrackerInterface_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class ControlKeySignal : global::System.IDisposable {
+ internal class ControlKeySignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public enum ControlOrientationType {
+ internal enum ControlOrientationType {
Up,
Left,
Down,
}
}
- public CustomActor Self() {
+ internal CustomActor Self() {
CustomActor ret = new CustomActor(NDalicPINVOKE.CustomActorImpl_Self(swigCPtr), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public virtual void OnPropertySet(int index, Property.Value propertyValue) {
- NDalicPINVOKE.CustomActorImpl_OnPropertySet(swigCPtr, index, Property.Value.getCPtr(propertyValue));
+ public virtual void OnPropertySet(int index, PropertyValue propertyValue) {
+ NDalicPINVOKE.CustomActorImpl_OnPropertySet(swigCPtr, index, PropertyValue.getCPtr(propertyValue));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public virtual bool OnTouchEvent(SWIGTYPE_p_Dali__TouchEvent arg0) {
+ internal virtual bool OnTouchEvent(SWIGTYPE_p_Dali__TouchEvent arg0) {
bool ret = NDalicPINVOKE.CustomActorImpl_OnTouchEvent(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
--- /dev/null
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.12
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+#define DOT_NET_CORE
+
+#if (DOT_NET_CORE)
+using System.Reflection;
+#endif
+
+namespace Tizen.NUI {
+
+internal class CustomAlgorithmInterface : global::System.IDisposable {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal CustomAlgorithmInterface(global::System.IntPtr cPtr, bool cMemoryOwn) {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CustomAlgorithmInterface obj) {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~CustomAlgorithmInterface() {
+ Dispose();
+ }
+
+ public virtual void Dispose() {
+ lock(this) {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+ if (swigCMemOwn) {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_CustomAlgorithmInterface(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ public virtual Actor GetNextFocusableActor(Actor current, Actor proposed, View.FocusDirection direction) {
+ Actor ret = new Actor(NDalicPINVOKE.CustomAlgorithmInterface_GetNextFocusableActor(swigCPtr, Actor.getCPtr(current), Actor.getCPtr(proposed), (int)direction), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public CustomAlgorithmInterface() : this(NDalicPINVOKE.new_CustomAlgorithmInterface(), true) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ SwigDirectorConnect();
+ }
+
+ private void SwigDirectorConnect() {
+ if (SwigDerivedClassHasMethod("GetNextFocusableActor", swigMethodTypes0))
+ swigDelegate0 = new SwigDelegateCustomAlgorithmInterface_0(SwigDirectorGetNextFocusableActor);
+ NDalicPINVOKE.CustomAlgorithmInterface_director_connect(swigCPtr, swigDelegate0);
+ }
+
+#if (DOT_NET_CORE)
+ private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
+ global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);
+ bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(CustomAlgorithmInterface));
+ return hasDerivedMethod;
+ }
+#else
+ private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
+ global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
+ bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(CustomAlgorithmInterface));
+ return hasDerivedMethod;
+ }
+#endif
+
+ private global::System.IntPtr SwigDirectorGetNextFocusableActor(global::System.IntPtr current, global::System.IntPtr proposed, int direction) {
+ return Actor.getCPtr(GetNextFocusableActor(new Actor(current, true), new Actor(proposed, true), (View.FocusDirection)direction)).Handle;
+ }
+
+ public delegate global::System.IntPtr SwigDelegateCustomAlgorithmInterface_0(global::System.IntPtr current, global::System.IntPtr proposed, int direction);
+
+ private SwigDelegateCustomAlgorithmInterface_0 swigDelegate0;
+
+ private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(Actor), typeof(Actor), typeof(View.FocusDirection) };
+}
+
+}
* limitations under the License.
*
*/
-using System;
namespace Tizen.NUI
{
+ /// <summary>
+ /// CustomView provides some common functionality required by all views.
+ /// </summary>
public class CustomView : ViewWrapper
{
- public CustomView(string typeName, ViewWrapperImpl.CustomViewBehaviour behaviour) : base(typeName, new ViewWrapperImpl(behaviour))
+ public CustomView(string typeName, CustomViewBehaviour behaviour) : base(typeName, new ViewWrapperImpl(behaviour))
{
// Registering CustomView virtual functions to viewWrapperImpl delegates.
viewWrapperImpl.OnStageConnection = new ViewWrapperImpl.OnStageConnectionDelegate(OnStageConnection);
viewWrapperImpl.OnAccessibilityZoom = new ViewWrapperImpl.OnAccessibilityZoomDelegate(OnAccessibilityZoom);
viewWrapperImpl.OnKeyInputFocusGained = new ViewWrapperImpl.OnKeyInputFocusGainedDelegate(OnKeyInputFocusGained);
viewWrapperImpl.OnKeyInputFocusLost = new ViewWrapperImpl.OnKeyInputFocusLostDelegate(OnKeyInputFocusLost);
- viewWrapperImpl.GetNextKeyboardFocusableActor = new ViewWrapperImpl.GetNextKeyboardFocusableActorDelegate(GetNextKeyboardFocusableActor);
+ viewWrapperImpl.GetNextKeyboardFocusableView = new ViewWrapperImpl.GetNextKeyboardFocusableViewDelegate(GetNextKeyboardFocusableView);
viewWrapperImpl.OnKeyboardFocusChangeCommitted = new ViewWrapperImpl.OnKeyboardFocusChangeCommittedDelegate(OnKeyboardFocusChangeCommitted);
viewWrapperImpl.OnKeyboardEnter = new ViewWrapperImpl.OnKeyboardEnterDelegate(OnKeyboardEnter);
viewWrapperImpl.OnPinch = new ViewWrapperImpl.OnPinchDelegate(OnPinch);
viewWrapperImpl.OnPan = new ViewWrapperImpl.OnPanDelegate(OnPan);
viewWrapperImpl.OnTap = new ViewWrapperImpl.OnTapDelegate(OnTap);
viewWrapperImpl.OnLongPress = new ViewWrapperImpl.OnLongPressDelegate(OnLongPress);
- viewWrapperImpl.SignalConnected = new ViewWrapperImpl.SignalConnectedDelegate(SignalConnected);
- viewWrapperImpl.SignalDisconnected = new ViewWrapperImpl.SignalDisconnectedDelegate(SignalDisconnected);
+
+ // By default, we do not want the position to use the anchor point
+ this.PositionUsesAnchorPoint = false;
// Make sure CustomView is initialized.
OnInitialize();
- // Make sure the style of actors/visuals initialized above are applied by the style manager.
- viewWrapperImpl.ApplyThemeStyle();
-
- //Console.WriteLine("[CustomView] CustomView()");
-
+ // Set the StyleName the name of the View
+ // We have to do this because the StyleManager on Native side can't workout it out
+ // This will also ensure that the style of actors/visuals initialized above are applied by the style manager.
+ SetStyleName(this.GetType().Name);
}
- /**
- * @brief Set the background with a property map.
- *
- * @param[in] map The background property map.
- */
- public void SetBackground(Tizen.NUI.Property.Map map)
+ /// <summary>
+ /// Set the background with a property map.
+ /// </summary>
+ /// <param name="map">The background property map</param>
+ public void SetBackground(Tizen.NUI.PropertyMap map)
{
viewWrapperImpl.SetBackground(map);
}
* @param[in] type The gesture type(s) to disable.
* @see EnableGetureDetection
*/
- public void DisableGestureDetection(Gesture.GestureType type)
+ internal void DisableGestureDetection(Gesture.GestureType type)
{
viewWrapperImpl.DisableGestureDetection(type);
}
- /**
- * @brief Sets whether this control supports two dimensional
- * keyboard navigation (i.e. whether it knows how to handle the
- * keyboard focus movement between its child actors).
- *
- * The control doesn't support it by default.
- * @param[in] isSupported Whether this control supports two dimensional keyboard navigation.
- */
- public void SetKeyboardNavigationSupport(bool isSupported)
+ /// <summary>
+ /// Sets whether this control supports two dimensional keyboard navigation
+ /// (i.e. whether it knows how to handle the keyboard focus movement between its child actors).
+ /// The control doesn't support it by default.
+ /// </summary>
+ /// <param name="isSupported">Whether this control supports two dimensional keyboard navigation.</param>
+ public bool FocusNavigationSupport
+ {
+ get
+ {
+ return IsKeyboardNavigationSupported();
+ }
+ set
+ {
+ SetKeyboardNavigationSupport(value);
+ }
+ }
+
+ internal void SetKeyboardNavigationSupport(bool isSupported)
{
viewWrapperImpl.SetKeyboardNavigationSupport(isSupported);
}
+
/**
* @brief Gets whether this control supports two dimensional keyboard navigation.
*
* @return true if this control supports two dimensional keyboard navigation.
*/
- public bool IsKeyboardNavigationSupported()
+ internal bool IsKeyboardNavigationSupported()
{
return viewWrapperImpl.IsKeyboardNavigationSupported();
}
+
+ /// <summary>
+ /// Sets or Gets whether this control is a focus group for keyboard navigation.
+ /// </summary>
+ /// <returns>true if this control is set as a focus group for keyboard navigation</returns>
+ public bool FocusGroup
+ {
+ get
+ {
+ return IsKeyboardFocusGroup();
+ }
+ set
+ {
+ SetAsKeyboardFocusGroup(value);
+ }
+ }
+
/**
* @brief Sets whether this control is a focus group for keyboard navigation.
*
* can be limitied to its child actors). The control is not a focus group by default.
* @param[in] isFocusGroup Whether this control is set as a focus group for keyboard navigation.
*/
- public void SetAsKeyboardFocusGroup(bool isFocusGroup)
+ internal void SetAsKeyboardFocusGroup(bool isFocusGroup)
{
viewWrapperImpl.SetAsKeyboardFocusGroup(isFocusGroup);
}
*
* @return true if this control is set as a focus group for keyboard navigation.
*/
- public bool IsKeyboardFocusGroup()
+ internal bool IsKeyboardFocusGroup()
{
return viewWrapperImpl.IsKeyboardFocusGroup();
}
* @brief Called by the AccessibilityManager to activate the Control.
* @SINCE_1_0.0
*/
- public void AccessibilityActivate()
+ internal void AccessibilityActivate()
{
viewWrapperImpl.AccessibilityActivate();
}
- /**
- * @brief Called by the KeyboardFocusManager.
- */
- public void KeyboardEnter()
+ /// <summary>
+ /// Called by the KeyboardFocusManager.
+ /// </summary>
+ internal void KeyboardEnter()
{
viewWrapperImpl.KeyboardEnter();
}
- /**
- * @brief Called by the KeyInputFocusManager to emit key event signals.
- *
- * @param[in] key The key event.
- * @return True if the event was consumed.
- */
- public bool EmitKeyEventSignal(Key key)
+ /// <summary>
+ /// Called by the KeyInputFocusManager to emit key event signals.
+ /// </summary>
+ /// <param name="key">The key event</param>
+ /// <returns>True if the event was consumed</returns>
+ internal bool EmitKeyEventSignal(Key key)
{
return viewWrapperImpl.EmitKeyEventSignal(key);
}
*/
protected float GetHeightForWidthBase(float width)
{
- return viewWrapperImpl.GetHeightForWidthBase( width );
+ return viewWrapperImpl.GetHeightForWidthBase(width);
}
/**
*/
protected float GetWidthForHeightBase(float height)
{
- return viewWrapperImpl.GetWidthForHeightBase( height );
+ return viewWrapperImpl.GetWidthForHeightBase(height);
}
/**
*/
protected float CalculateChildSizeBase(Actor child, DimensionType dimension)
{
- return viewWrapperImpl.CalculateChildSizeBase( child, dimension );
+ return viewWrapperImpl.CalculateChildSizeBase(child, dimension);
}
/**
*/
protected bool RelayoutDependentOnChildrenBase(DimensionType dimension)
{
- return viewWrapperImpl.RelayoutDependentOnChildrenBase( dimension );
+ return viewWrapperImpl.RelayoutDependentOnChildrenBase(dimension);
}
/**
*/
protected void RegisterVisual(int index, VisualBase visual)
{
- viewWrapperImpl.RegisterVisual( index, visual );
+ viewWrapperImpl.RegisterVisual(index, visual);
}
/**
*/
protected void RegisterVisual(int index, VisualBase visual, bool enabled)
{
- viewWrapperImpl.RegisterVisual( index, visual, enabled );
+ viewWrapperImpl.RegisterVisual(index, visual, enabled);
}
/**
*/
protected void UnregisterVisual(int index)
{
- viewWrapperImpl.UnregisterVisual( index );
+ viewWrapperImpl.UnregisterVisual(index);
}
/**
*/
protected VisualBase GetVisual(int index)
{
- return viewWrapperImpl.GetVisual( index );
+ return viewWrapperImpl.GetVisual(index);
}
/**
*/
protected void EnableVisual(int index, bool enable)
{
- viewWrapperImpl.EnableVisual( index, enable );
+ viewWrapperImpl.EnableVisual(index, enable);
}
/**
*/
protected bool IsVisualEnabled(int index)
{
- return viewWrapperImpl.IsVisualEnabled( index );
+ return viewWrapperImpl.IsVisualEnabled(index);
}
/**
*/
protected Animation CreateTransition(TransitionData transitionData)
{
- return viewWrapperImpl.CreateTransition( transitionData );
+ return viewWrapperImpl.CreateTransition(transitionData);
}
/**
*/
protected void EmitKeyInputFocusSignal(bool focusGained)
{
- viewWrapperImpl.EmitKeyInputFocusSignal( focusGained );
+ viewWrapperImpl.EmitKeyInputFocusSignal(focusGained);
}
/**
*/
public virtual void OnInitialize()
{
- //Console.WriteLine("[CustomView] OnInitialize()");
}
/**
*/
public virtual void OnStageConnection(int depth)
{
- //Console.WriteLine("[CustomView] OnStageConnection()");
}
/**
* @param[in] index The Property index that was set
* @param[in] propertyValue The value to set
*/
- public virtual void OnPropertySet(int index, Tizen.NUI.Property.Value propertyValue)
+ public virtual void OnPropertySet(int index, Tizen.NUI.PropertyValue propertyValue)
{
}
*
* @return The actor's natural size
*/
- public virtual Vector3 GetNaturalSize()
+ public virtual Size GetNaturalSize()
{
- return new Vector3(0.0f, 0.0f, 0.0f);
+ return new Size(0.0f, 0.0f, 0.0f);
}
/**
*/
public virtual float CalculateChildSize(Actor child, DimensionType dimension)
{
- return viewWrapperImpl.CalculateChildSizeBase( child, dimension );
+ return viewWrapperImpl.CalculateChildSizeBase(child, dimension);
}
/**
*/
public virtual float GetHeightForWidth(float width)
{
- return viewWrapperImpl.GetHeightForWidthBase( width );
+ return viewWrapperImpl.GetHeightForWidthBase(width);
}
/**
*/
public virtual float GetWidthForHeight(float height)
{
- return viewWrapperImpl.GetWidthForHeightBase( height );
+ return viewWrapperImpl.GetWidthForHeightBase(height);
}
/**
*/
public virtual bool RelayoutDependentOnChildren(DimensionType dimension)
{
- return viewWrapperImpl.RelayoutDependentOnChildrenBase( dimension );
+ return viewWrapperImpl.RelayoutDependentOnChildrenBase(dimension);
}
/**
* Derived classes should override this to perform custom accessibility activation.
* @return true if this control can perform accessibility activation.
*/
- public virtual bool OnAccessibilityActivated()
+ internal virtual bool OnAccessibilityActivated()
{
return false;
}
* @param[in] gesture The pan gesture.
* @return true if the pan gesture has been consumed by this control
*/
- public virtual bool OnAccessibilityPan(PanGesture gestures)
+ internal virtual bool OnAccessibilityPan(PanGesture gestures)
{
return false;
}
* @param[in] touch The touch event.
* @return true if the touch event has been consumed by this control
*/
- public virtual bool OnAccessibilityTouch(Touch touch)
+ internal virtual bool OnAccessibilityTouch(Touch touch)
{
return false;
}
* @param[in] isIncrease Whether the value should be increased or decreased
* @return true if the value changed action has been consumed by this control
*/
- public virtual bool OnAccessibilityValueChange(bool isIncrease)
+ internal virtual bool OnAccessibilityValueChange(bool isIncrease)
{
return false;
}
*
* @return true if the zoom action has been consumed by this control
*/
- public virtual bool OnAccessibilityZoom()
+ internal virtual bool OnAccessibilityZoom()
{
return false;
}
* @param[in] loopEnabled Whether the focus movement should be looped within the control.
* @return the next keyboard focusable actor in this control or an empty handle if no actor can be focused.
*/
- public virtual Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled)
+ public virtual View GetNextKeyboardFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
{
- //Console.WriteLine("[CustomView] GetNextKeyboardFocusableActor()");
- return new Actor();
+ return new View();
}
/**
*
* @param[in] commitedFocusableActor The commited focusable actor.
*/
- public virtual void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor)
+ public virtual void OnKeyboardFocusChangeCommitted(View commitedFocusableView)
{
}
* @note Pinch detection should be enabled via EnableGestureDetection().
* @see EnableGestureDetection
*/
- public virtual void OnPinch(PinchGesture pinch)
+ internal virtual void OnPinch(PinchGesture pinch)
{
}
* @note Long press detection should be enabled via EnableGestureDetection().
* @see EnableGestureDetection
*/
- public virtual void OnLongPress(LongPressGesture longPress)
- {
- }
-
- private void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback)
- {
- }
-
- private void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback)
+ internal virtual void OnLongPress(LongPressGesture longPress)
{
}
{
}
}
+ public enum CustomViewBehaviour
+ {
+ ViewBehaviourDefault = 0,
+ DisableSizeNegotiation = 1 << 0,
+ RequiresKeyboardNavigationSupport = 1 << 5,
+ DisableStyleChangeSignals = 1 << 6,
+ LastViewBehaviourFlag
+ }
}
--- /dev/null
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Apache License, Version 2.0 (the "License");\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+// http://www.apache.org/licenses/LICENSE-2.0\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an "AS IS" BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+//\r
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts\r
+// Some have been manually changed\r
+\r
+using System;\r
+using System.Runtime.InteropServices;\r
+using Tizen.NUI;\r
+\r
+// A spin control (for continously changing values when users can easily predict a set of values)\r
+\r
+namespace Tizen.NUI\r
+{\r
+ ///<summary>\r
+ ///Spin CustomView class\r
+ /// </summary>\r
+ public class Spin : CustomView\r
+ {\r
+ private VisualBase _arrowVisual;\r
+ private TextField _textField;\r
+ private int _arrowVisualPropertyIndex;\r
+ private string _arrowImage;\r
+ private int _currentValue;\r
+ private int _minValue;\r
+ private int _maxValue;\r
+ private int _singleStep;\r
+ private bool _wrappingEnabled;\r
+ private string _fontFamily;\r
+ private string _fontStyle;\r
+ private int _pointSize;\r
+ private Color _textColor;\r
+ private Color _textBackgroundColor;\r
+ private int _maxTextLength;\r
+\r
+ // Called by DALi Builder if it finds a Spin control in a JSON file\r
+ static CustomView CreateInstance()\r
+ {\r
+ return new Spin();\r
+ }\r
+\r
+ // static constructor registers the control type (only runs once)\r
+ static Spin()\r
+ {\r
+ // ViewRegistry registers control type with DALi type registery\r
+ // also uses introspection to find any properties that need to be registered with type registry\r
+ ViewRegistry.Instance.Register(CreateInstance, typeof(Spin));\r
+ }\r
+\r
+ public Spin() : base(typeof(Spin).Name, CustomViewBehaviour.RequiresKeyboardNavigationSupport)\r
+ {\r
+\r
+ }\r
+\r
+ /// <summary>\r
+ /// Override method of OnInitialize() for CustomView class.\r
+ /// This method is called after the Control has been initialized.\r
+ /// Derived classes should do any second phase initialization by overriding this method.\r
+ /// </summary>\r
+ public override void OnInitialize()\r
+ {\r
+ // Initialize the propertiesControl\r
+ _arrowImage = "/home/owner/apps_rw/NUISamples.TizenTV/res/images/arrow.png";\r
+ _textBackgroundColor = new Color(0.6f, 0.6f, 0.6f, 1.0f);\r
+ _currentValue = 0;\r
+ _minValue = 0;\r
+ _maxValue = 0;\r
+ _singleStep = 1;\r
+ _maxTextLength = 0;\r
+\r
+ // Create image visual for the arrow keys\r
+ _arrowVisualPropertyIndex = RegisterProperty("ArrowImage", new PropertyValue(_arrowImage), Tizen.NUI.PropertyAccessMode.ReadWrite);\r
+ _arrowVisual = VisualFactory.Get().CreateVisual(_arrowImage, new Uint16Pair(150, 150));\r
+ RegisterVisual(_arrowVisualPropertyIndex, _arrowVisual);\r
+\r
+ // Create a text field\r
+ _textField = new TextField();\r
+ _textField.ParentOrigin = Tizen.NUI.ParentOrigin.Center;\r
+ _textField.AnchorPoint = Tizen.NUI.AnchorPoint.Center;\r
+ _textField.WidthResizePolicy = ResizePolicyType.SizeRelativeToParent;\r
+ _textField.HeightResizePolicy = ResizePolicyType.SizeRelativeToParent;\r
+ _textField.SizeModeFactor = new Vector3(1.0f, 0.45f, 1.0f);\r
+ _textField.PlaceholderText = "----";\r
+ _textField.BackgroundColor = _textBackgroundColor;\r
+ _textField.HorizontalAlignment = "Center";\r
+ _textField.VerticalAlignment = "Center";\r
+ _textField.Focusable = (true);\r
+ _textField.Name = "_textField";\r
+\r
+ this.Add(_textField);\r
+\r
+ _textField.FocusGained += TextFieldKeyInputFocusGained;\r
+ _textField.FocusLost += TextFieldKeyInputFocusLost;\r
+ }\r
+\r
+ /// <summary>\r
+ /// Override method of GetNaturalSize() for CustomView class.\r
+ /// Return the natural size of the actor.\r
+ /// </summary>\r
+ /// <returns> Natural size of this Spin itself</returns>\r
+ public override Size GetNaturalSize()\r
+ {\r
+ return new Size(150.0f, 150.0f, 0.0f);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Event handler when the TextField in Spin gets the Key focus\r
+ /// Make sure when the current spin that takes input focus also takes the keyboard focus\r
+ /// For example, when you tap the spin directly\r
+ /// </summary>\r
+ /// <param name="source">Sender of this event</param>\r
+ /// <param name="e">Event arguments</param>\r
+ public void TextFieldKeyInputFocusGained(object source, EventArgs e)\r
+ {\r
+ FocusManager.Instance.SetCurrentFocusView(_textField);\r
+ }\r
+\r
+ /// <summary>\r
+ /// Event handler when the TextField in Spin looses it's Key focus\r
+ /// </summary>\r
+ /// <param name="source"></param>\r
+ /// <param name="e"></param>\r
+ public void TextFieldKeyInputFocusLost(object source, EventArgs e)\r
+ {\r
+ int previousValue = _currentValue;\r
+\r
+ // If the input value is invalid, change it back to the previous valid value\r
+ if (int.TryParse(_textField.Text, out _currentValue))\r
+ {\r
+ if (_currentValue < _minValue || _currentValue > _maxValue)\r
+ {\r
+ _currentValue = previousValue;\r
+ }\r
+ }\r
+ else\r
+ {\r
+ _currentValue = previousValue;\r
+ }\r
+\r
+ // Otherwise take the new value\r
+ this.Value = _currentValue;\r
+ }\r
+\r
+ /// <summary>\r
+ /// Override method of GetNextKeyboardFocusableView() for CustomView class.\r
+ /// Gets the next key focusable view in this View towards the given direction.\r
+ /// A View needs to override this function in order to support two dimensional key navigation.\r
+ /// </summary>\r
+ /// <param name="currentFocusedView">The current focused view</param>\r
+ /// <param name="direction">The direction to move the focus towards</param>\r
+ /// <param name="loopEnabled">Whether the focus movement should be looped within the control</param>\r
+ /// <returns>The next keyboard focusable view in this control or an empty handle if no view can be focused</returns>\r
+ public override View GetNextKeyboardFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)\r
+ {\r
+ // Respond to Up/Down keys to change the value while keeping the current spin focused\r
+ View nextFocusedView = currentFocusedView;\r
+ if (direction == View.FocusDirection.Up)\r
+ {\r
+ this.Value += this.Step;\r
+ nextFocusedView = _textField;\r
+ }\r
+ else if (direction == View.FocusDirection.Down)\r
+ {\r
+ this.Value -= this.Step;\r
+ nextFocusedView = _textField;\r
+ }\r
+ else\r
+ {\r
+ // Return a native empty handle as nothing can be focused in the left or right\r
+ nextFocusedView = new View();\r
+ nextFocusedView.Reset();\r
+ }\r
+\r
+ return nextFocusedView;\r
+ }\r
+\r
+ /// <summary>\r
+ /// Value to be set in Spin\r
+ /// </summary>\r
+ [ScriptableProperty()]\r
+ public int Value\r
+ {\r
+ get\r
+ {\r
+ return _currentValue;\r
+ }\r
+ set\r
+ {\r
+\r
+ Console.WriteLine("Value set to " + value);\r
+ _currentValue = value;\r
+\r
+ // Make sure no invalid value is accepted\r
+ if (_currentValue < _minValue)\r
+ {\r
+ _currentValue = _minValue;\r
+ }\r
+\r
+ if (_currentValue > _maxValue)\r
+ {\r
+ _currentValue = _maxValue;\r
+ }\r
+\r
+ _textField.Text = _currentValue.ToString();\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// Minimum Value of Spin Value\r
+ /// </summary>\r
+ // MinValue property of type int:\r
+ [ScriptableProperty()]\r
+ public int MinValue\r
+ {\r
+ get\r
+ {\r
+ return _minValue;\r
+ }\r
+ set\r
+ {\r
+ _minValue = value;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Maximum Value of Spin Value\r
+ /// </summary>\r
+ // MaxValue property of type int:\r
+ [ScriptableProperty()]\r
+ public int MaxValue\r
+ {\r
+ get\r
+ {\r
+ return _maxValue;\r
+ }\r
+ set\r
+ {\r
+ _maxValue = value;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Increasing, decresing step of Spin Value when Up or Down key is pressed\r
+ /// </summary>\r
+ // Step property of type int:\r
+ [ScriptableProperty()]\r
+ public int Step\r
+ {\r
+ get\r
+ {\r
+ return _singleStep;\r
+ }\r
+ set\r
+ {\r
+ _singleStep = value;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Wrapping enabled status\r
+ /// </summary>\r
+ // WrappingEnabled property of type bool:\r
+ [ScriptableProperty()]\r
+ public bool WrappingEnabled\r
+ {\r
+ get\r
+ {\r
+ return _wrappingEnabled;\r
+ }\r
+ set\r
+ {\r
+ _wrappingEnabled = value;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Text point size of Spin Value\r
+ /// </summary>\r
+ // TextPointSize property of type int:\r
+ [ScriptableProperty()]\r
+ public int TextPointSize\r
+ {\r
+ get\r
+ {\r
+ return _pointSize;\r
+ }\r
+ set\r
+ {\r
+ _pointSize = value;\r
+ _textField.PointSize = _pointSize;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// The color of Spin Value\r
+ /// </summary>\r
+ // TextColor property of type Color:\r
+ [ScriptableProperty()]\r
+ public Color TextColor\r
+ {\r
+ get\r
+ {\r
+ return _textColor;\r
+ }\r
+ set\r
+ {\r
+ Console.WriteLine("TextColor set to " + value.R + "," + value.G + "," + value.B);\r
+\r
+ _textColor = value;\r
+ _textField.TextColor = _textColor;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Maximum text lengh of Spin Value\r
+ /// </summary>\r
+ // MaxTextLength property of type int:\r
+ [ScriptableProperty()]\r
+ public int MaxTextLength\r
+ {\r
+ get\r
+ {\r
+ return _maxTextLength;\r
+ }\r
+ set\r
+ {\r
+ _maxTextLength = value;\r
+ _textField.MaxLength = _maxTextLength;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Reference of TextField of Spin\r
+ /// </summary>\r
+ public TextField SpinText\r
+ {\r
+ get\r
+ {\r
+ return _textField;\r
+ }\r
+ set\r
+ {\r
+ _textField = value;\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Show indicator image, for example Up/Down Arrow image.\r
+ /// </summary>\r
+ // Indicator property of type string:\r
+ public string IndicatorImage\r
+ {\r
+ get\r
+ {\r
+ return _arrowImage;\r
+ }\r
+ set\r
+ {\r
+ _arrowImage = value;\r
+ _arrowVisual = VisualFactory.Get().CreateVisual(_arrowImage, new Uint16Pair(150, 150));\r
+ RegisterVisual(_arrowVisualPropertyIndex, _arrowVisual);\r
+ }\r
+ }\r
+ }\r
+}\r
--- /dev/null
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
+//\r
+// Licensed under the Apache License, Version 2.0 (the "License");\r
+// you may not use this file except in compliance with the License.\r
+// You may obtain a copy of the License at\r
+//\r
+// http://www.apache.org/licenses/LICENSE-2.0\r
+//\r
+// Unless required by applicable law or agreed to in writing, software\r
+// distributed under the License is distributed on an "AS IS" BASIS,\r
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+// See the License for the specific language governing permissions and\r
+// limitations under the License.\r
+//\r
+\r
+namespace Tizen.NUI\r
+{\r
+ using System;\r
+ using System.Runtime.InteropServices;\r
+ using System.Collections.Generic;\r
+ using System.Linq;\r
+\r
+ /// <summary>\r
+ /// A visual view control for user add any visual to it.\r
+ /// Example:\r
+ /// VisualView _visualView = new VisualView();\r
+ /// ImageVisualMap imageVisualMap1 = new ImageVisualMap();\r
+ /// imageVisualMap1.URL = "./NUISample/res/images/image-1.jpg";\r
+ /// imageVisualMap1.VisualSize = new Vector2( 300.0f, 300.0f );\r
+ /// imageVisualMap1.Offset = new Vector2( 50.0f, 50.0f );\r
+ /// imageVisualMap1.OffsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f );\r
+ /// imageVisualMap1.Origin = AlignType.TOP_BEGIN;\r
+ /// imageVisualMap1.AnchorPoint = AlignType.TOP_BEGIN;\r
+ /// _visualView.AddVisual("imageVisual1", imageVisualMap1);\r
+ /// </summary>\r
+ public class VisualView : CustomView\r
+ {\r
+ //private LinkedList<VisualBase> _visualList = null;\r
+ private Dictionary<int, VisualBase> _visualDictionary = null;\r
+ private Dictionary<int, PropertyMap> _tranformDictionary = null;\r
+\r
+ static CustomView CreateInstance()\r
+ {\r
+ return new VisualView();\r
+ }\r
+\r
+ // static constructor registers the control type (for user can add kinds of visuals to it)\r
+ static VisualView()\r
+ {\r
+ // ViewRegistry registers control type with DALi type registery\r
+ // also uses introspection to find any properties that need to be registered with type registry\r
+ ViewRegistry.Instance.Register(CreateInstance, typeof(VisualView));\r
+ }\r
+\r
+ public VisualView() : base(typeof(VisualView).Name, CustomViewBehaviour.ViewBehaviourDefault)\r
+ {\r
+ }\r
+\r
+ /// <summary>\r
+ /// Override the parent method.\r
+ /// </summary>\r
+ public override void OnInitialize()\r
+ {\r
+ //Initialize empty\r
+ _visualDictionary = new Dictionary<int, VisualBase>();\r
+ _tranformDictionary = new Dictionary<int, PropertyMap>();\r
+ }\r
+\r
+ /// <summary>\r
+ /// Add or update a visual to visual view.\r
+ /// </summary>\r
+ /// <param name="visualName"> The name of visual to add. If add a existed visual name, the visual will be replaced. </param>\r
+ /// <param name="visualMap"> The property map of visual to create. </param>\r
+ public void AddVisual(string visualName, VisualMap visualMap)\r
+ {\r
+ VisualBase visual = null;\r
+ int visualIndex = -1;\r
+\r
+ /* If the visual had added, then replace it using RegisterVusal. */\r
+ //visual.Name = name;\r
+ foreach (var item in _visualDictionary)\r
+ {\r
+ if (item.Value.Name == visualName)\r
+ {\r
+ /* Find a existed visual, its key also exited. */\r
+ visualIndex = item.Key;\r
+ UnregisterVisual(visualIndex);\r
+ _visualDictionary.Remove(visualIndex);\r
+ _tranformDictionary.Remove(visualIndex);\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (visualIndex == -1) // The visual is a new one, create index for it. */\r
+ {\r
+ visualIndex = RegisterProperty(visualName, new PropertyValue(visualName), PropertyAccessMode.ReadWrite);\r
+ }\r
+\r
+ if (visualIndex > 0)\r
+ {\r
+ visual = VisualFactory.Get().CreateVisual(visualMap.OutputVisualMap); // Create a visual for the new one.\r
+ visual.Name = visualName;\r
+ visual.DepthIndex = visualMap.DepthIndex;\r
+\r
+ RegisterVisual(visualIndex, visual);\r
+\r
+ _visualDictionary.Add(visualIndex, visual);\r
+ _tranformDictionary.Add(visualIndex, visualMap.OutputTransformMap);\r
+\r
+ RelayoutRequest();\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// Remove a visual by name.\r
+ /// </summary>\r
+ /// <param name="visualName"> The name of visual to remove. </param>\r
+ public void RemoveVisual(string visualName)\r
+ {\r
+ foreach (var item in _visualDictionary)\r
+ {\r
+ if (item.Value.Name == visualName)\r
+ {\r
+ EnableVisual(item.Key, false);\r
+ UnregisterVisual(item.Key);\r
+ _tranformDictionary.Remove(item.Key);\r
+ _visualDictionary.Remove(item.Key);\r
+\r
+ RelayoutRequest();\r
+ break;\r
+ }\r
+ }\r
+ }\r
+\r
+ /// <summary>\r
+ /// A visual view control for user add any visual to it.\r
+ /// </summary>\r
+ /// <returns> The number of visuals. </returns>\r
+ public int NumberOfVisuals()\r
+ {\r
+ return _visualDictionary.Count;\r
+ }\r
+\r
+ /// <summary>\r
+ /// Remove all visuals of visual view.\r
+ /// </summary>\r
+ public void RemoveAll()\r
+ {\r
+ foreach (var item in _visualDictionary)\r
+ {\r
+ EnableVisual(item.Key, false);\r
+ UnregisterVisual(item.Key);\r
+ }\r
+ _visualDictionary.Clear();\r
+ _tranformDictionary.Clear();\r
+ RelayoutRequest();\r
+ }\r
+\r
+ /// <summary>\r
+ /// Override method of OnRelayout() for CustomView class.\r
+ /// Called after the size negotiation has been finished for this control.\r
+ /// The control is expected to assign this given size to itself/its children.\r
+ /// Should be overridden by derived classes if they need to layout actors differently after certain operations like add or remove actors, resize or after changing specific properties.\r
+ /// Note! As this function is called from inside the size negotiation algorithm, you cannot call RequestRelayout (the call would just be ignored)\r
+ /// </summary>\r
+ /// <param name="size">The allocated size</param>\r
+ /// <param name="container">The control should add actors to this container that it is not able to allocate a size for.</param>\r
+ public override void OnRelayout(Vector2 size, RelayoutContainer container)\r
+ {\r
+ foreach (var item in _visualDictionary)\r
+ {\r
+ item.Value.SetTransformAndSize(_tranformDictionary[item.Key], size);\r
+ EnableVisual(item.Key, true);\r
+ }\r
+ }\r
+ }\r
+\r
+}\r
+++ /dev/null
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-using System;
-using Tizen.NUI;
-
-//------------------------------------------------------------------------------
-// This file can only run on Tizen target. You should compile it with hello-test.cs, and
-// add tizen c# application related library as reference.
-//------------------------------------------------------------------------------
-namespace Tizen.Applications
-{
- /// <summary>
- /// Represents an application that have UI screen. The DaliApplication class has a default stage.
- /// </summary>
- public class DaliApplication : CoreUIApplication
- {
- /// <summary>
- /// The instance of the Dali Application.
- /// </summary>
- /// <remarks>
- /// This application is created before OnCreate() or created event. And the DaliApplication will be terminated when this application is closed.
- /// </remarks>
- protected Tizen.NUI.Application application;
-
- /// <summary>
- /// The instance of the Dali Application extension.
- /// </summary>
- protected Tizen.NUI.ApplicationExtensions applicationExt;
-
- /// <summary>
- /// Store the stylesheet value.
- /// </summary>
- protected string m_stylesheet;
-
- /// <summary>
- /// Store the window mode value.
- /// </summary>
- protected Tizen.NUI.Application.WINDOW_MODE m_windowMode;
-
- /// <summary>
- /// Store the app mode value.
- /// </summary>
- protected APP_MODE appMode;
-
- /// <summary>
- /// The instance of the Dali Stage.
- /// </summary>
- public Stage stage { get; private set; }
-
- /// <summary>
- /// The default constructor.
- /// </summary>
- public DaliApplication():base()
- {
- appMode = APP_MODE.DEFAULT;
- }
-
- /// <summary>
- /// The constructor with stylesheet.
- /// </summary>
- public DaliApplication(string stylesheet):base()
- {
- //handle the stylesheet
- appMode = APP_MODE.STYLESHEETONLY;
- m_stylesheet = stylesheet;
- }
-
- /// <summary>
- /// The constructor with stylesheet and window mode.
- /// </summary>
- public DaliApplication(string stylesheet, Tizen.NUI.Application.WINDOW_MODE windowMode)
- : base()
- {
- //handle the stylesheet and windowMode
- appMode = APP_MODE.STYLESHEETWITHWINDOWMODE;
- m_stylesheet = stylesheet;
- m_windowMode = windowMode;
- }
-
- /// <summary>
- /// Overrides this method if want to handle behavior before calling OnCreate().
- /// stage property is initialized in this overrided method.
- /// </summary>
- protected override void OnPreCreate()
- {
- switch(appMode)
- {
- case APP_MODE.DEFAULT:
- application = Tizen.NUI.Application.NewApplication();
- break;
- case APP_MODE.STYLESHEETONLY:
- application = Tizen.NUI.Application.NewApplication(m_stylesheet);
- break;
- case APP_MODE.STYLESHEETWITHWINDOWMODE:
- application = Tizen.NUI.Application.NewApplication(m_stylesheet, m_windowMode);
- break;
- default:
- break;
- }
-
- applicationExt = new Tizen.NUI.ApplicationExtensions(application);
- applicationExt.Init();
-
- stage = Stage.GetCurrent();
- stage.SetBackgroundColor( NDalic.WHITE );
- }
-
- /// <summary>
- /// Overrides this method if want to handle behavior.
- /// </summary>
- protected override void OnTerminate()
- {
- base.OnTerminate();
- applicationExt.Terminate();
- }
-
- /// <summary>
- /// Overrides this method if want to handle behavior.
- /// </summary>
- protected override void OnPause()
- {
- base.OnPause();
- applicationExt.Pause();
- }
-
- /// <summary>
- /// Overrides this method if want to handle behavior.
- /// </summary>
- protected override void OnResume()
- {
- base.OnResume();
- applicationExt.Resume();
- }
-
- /// <summary>
- /// Overrides this method if want to handle behavior.
- /// </summary>
- protected override void OnLocaleChanged(LocaleChangedEventArgs e)
- {
- base.OnLocaleChanged(e);
- applicationExt.LanguageChange();
- }
-
- /// <summary>
- /// The mode of creating Dali application.
- /// </summary>
- protected enum APP_MODE
- {
- DEFAULT = 0,
- STYLESHEETONLY = 1,
- STYLESHEETWITHWINDOWMODE = 2
- }
- }
-}
{
namespace Constants
{
-
public enum TextureType
{
Texture2D = Tizen.NUI.TextureType.TEXTURE_2D, ///< One 2D image @SINCE_1_1.43
StereoInterlaced = Tizen.NUI.ViewMode.STEREO_INTERLACED ///< @DEPRECATED_1_1.19 @brief Stereoscopic. Left/Right camera views are rendered into the framebuffer on alternate frames. @SINCE_1_0.0
}
- public enum MeshVisualShadingModeValue
- {
- TexturelessWithDiffuseLighting = Tizen.NUI.MeshVisualShadingModeValue.TEXTURELESS_WITH_DIFFUSE_LIGHTING, ///< *Simplest*. One color that is lit by ambient and diffuse lighting. @SINCE_1_1.45
- TexturedWithSpecularLigting = Tizen.NUI.MeshVisualShadingModeValue.TEXTURED_WITH_SPECULAR_LIGHTING, ///< Uses only the visual image textures provided with specular lighting in addition to ambient and diffuse lighting. @SINCE_1_1.45
- TexturedWithDetailedSpecularLighting = Tizen.NUI.MeshVisualShadingModeValue.TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING ///< Uses all textures provided including a gloss, normal and texture map along with specular, ambient and diffuse lighting. @SINCE_1_1.45
- }
-
- public enum ProjectionMode
- {
- PerspectiveProjection = Tizen.NUI.ProjectionMode.PERSPECTIVE_PROJECTION, ///< Distance causes foreshortening; objects further from the camera appear smaller @SINCE_1_0.0
- OrthographicProjection = Tizen.NUI.ProjectionMode.ORTHOGRAPHIC_PROJECTION ///< Relative distance from the camera does not affect the size of objects @SINCE_1_0.0
- }
-
- public struct ParentOrigin
- {
- public static readonly float Top = NDalic.ParentOriginTop;
- public static readonly float Bottom = NDalic.ParentOriginBottom;
- public static readonly float Left = NDalic.ParentOriginLeft;
- public static readonly float Right = NDalic.ParentOriginRight;
- public static readonly float Middle = NDalic.ParentOriginMiddle;
- public static readonly Tizen.NUI.Vector3 TopLeft = NDalic.ParentOriginTopLeft;
- public static readonly Tizen.NUI.Vector3 TopCenter = NDalic.ParentOriginTopCenter;
- public static readonly Tizen.NUI.Vector3 TopRight = NDalic.ParentOriginTopRight;
- public static readonly Tizen.NUI.Vector3 CenterLeft = NDalic.ParentOriginCenterLeft;
- public static readonly Tizen.NUI.Vector3 Center = NDalic.ParentOriginCenter;
- public static readonly Tizen.NUI.Vector3 CenterRight = NDalic.ParentOriginCenterRight;
- public static readonly Tizen.NUI.Vector3 BottomLeft = NDalic.ParentOriginBottomLeft;
- public static readonly Tizen.NUI.Vector3 BottomCenter = NDalic.ParentOriginBottomCenter;
- public static readonly Tizen.NUI.Vector3 BottomRight = NDalic.ParentOriginBottomRight;
- }
-
- public struct AnchorPoint
- {
- public static readonly float Top = NDalic.AnchorPointTop;
- public static readonly float Bottom = NDalic.AnchorPointBottom;
- public static readonly float Left = NDalic.AnchorPointLeft;
- public static readonly float Right = NDalic.AnchorPointRight;
- public static readonly float Middle = NDalic.AnchorPointMiddle;
- public static readonly Tizen.NUI.Vector3 TopLeft = NDalic.AnchorPointTopLeft;
- public static readonly Tizen.NUI.Vector3 TopCenter = NDalic.AnchorPointTopCenter;
- public static readonly Tizen.NUI.Vector3 TopRight = NDalic.AnchorPointTopRight;
- public static readonly Tizen.NUI.Vector3 CenterLeft = NDalic.AnchorPointCenterLeft;
- public static readonly Tizen.NUI.Vector3 Center = NDalic.AnchorPointCenter;
- public static readonly Tizen.NUI.Vector3 CenterRight = NDalic.AnchorPointCenterRight;
- public static readonly Tizen.NUI.Vector3 BottomLeft = NDalic.AnchorPointBottomLeft;
- public static readonly Tizen.NUI.Vector3 BottomCenter = NDalic.AnchorPointBottomCenter;
- public static readonly Tizen.NUI.Vector3 BottomRight = NDalic.AnchorPointBottomRight;
- }
-
- public struct Vect3
- {
- public static readonly Tizen.NUI.Vector3 One = Tizen.NUI.Vector3.ONE;
- public static readonly Tizen.NUI.Vector3 Xaxis = Tizen.NUI.Vector3.XAXIS;
- public static readonly Tizen.NUI.Vector3 Yaxis = Tizen.NUI.Vector3.YAXIS;
- public static readonly Tizen.NUI.Vector3 Zaxis = Tizen.NUI.Vector3.ZAXIS;
- public static readonly Tizen.NUI.Vector3 NegativeXaxis = Tizen.NUI.Vector3.NEGATIVE_XAXIS;
- public static readonly Tizen.NUI.Vector3 NegativeYaxis = Tizen.NUI.Vector3.NEGATIVE_YAXIS;
- public static readonly Tizen.NUI.Vector3 NegativeZaxis = Tizen.NUI.Vector3.NEGATIVE_ZAXIS;
- public static readonly Tizen.NUI.Vector3 Zero = Tizen.NUI.Vector3.ZERO;
- }
-
- public struct Visual
+ public struct Direction
{
public enum Type
{
- Border = Tizen.NUI.VisualType.BORDER,
- Color = Tizen.NUI.VisualType.COLOR,
- Gradient = Tizen.NUI.VisualType.GRADIENT,
- Image = Tizen.NUI.VisualType.IMAGE,
- Mesh = Tizen.NUI.VisualType.MESH,
- Primitive = Tizen.NUI.VisualType.PRIMITIVE,
- WireFrame = Tizen.NUI.VisualType.WIREFRAME,
- Text = Tizen.NUI.VisualType.TEXT
- }
-
- public struct Property
- {
- public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
- public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
- public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
- public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
- public static readonly int MixCOlor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
- }
-
- public struct ShaderProperty
- {
- public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
- public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
- public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
- public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
- public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
+ LeftToRight = Tizen.NUI.DirectionType.LEFT_TO_RIGHT,
+ RightToLeft = Tizen.NUI.DirectionType.RIGHT_TO_LEFT
}
}
- public struct BorderVisualProperty
- {
- public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
- public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
- public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
- }
- public struct ColorVisualProperty
- {
- public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
- }
- public struct GradientVisualProperty
- {
- public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
- public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
- public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
- public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
- public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
- public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
- public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
- public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
- }
-
- public struct ImageVisualProperty
- {
- public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
- public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
- public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
- public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
- public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
- public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
- public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
- public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
- public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
- public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
- }
-
- public struct MeshVisualProperty
- {
- public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
- public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
- public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
- public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
- public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
- public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
- public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
- }
-
- public struct PrimitiveVisualProperty
- {
- public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
- public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
- public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
- public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
- public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
- public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
- public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
- public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
- public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
- public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
- public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
- public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
- }
-
- public struct TextVisualProperty
- {
- public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
- public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
- public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
- public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
- public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
- public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
- public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
- public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
- public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
- }
public struct Tooltip
{
public static readonly int BelowVisual = NDalic.TOOLTIP_TAIL_BELOW_VISUAL;
}
}
-
} // namespace Constants
} // namesapce Dali
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void EventCallbackDelegateType1(IntPtr arg1);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- internal delegate void EventCallbackDelegateType2<T,U>(T arg1, U arg2);
-
//this should be removed with EventHandler from .NET
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
- public delegate void DaliEventHandler<T,U>(T source, U e);
+ public delegate void DaliEventHandler<T, U>(T source, U e);
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ public delegate R EventHandlerWithReturnType<T, U, R>(T source, U e);
}
namespace Tizen.NUI {
-public class DaliException : global::System.IDisposable {
+ internal class DaliException : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public enum DefaultItemLayoutProperty {
+ internal enum DefaultItemLayoutProperty {
TYPE = 0,
ITEM_SIZE,
ORIENTATION,
namespace Tizen.NUI {
-public enum DefaultItemLayoutType {
+ internal enum DefaultItemLayoutType {
DEPTH,
GRID,
LIST,
namespace Tizen.NUI {
-public class DefaultRuler : Ruler {
+ public class DefaultRuler : Ruler {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal DefaultRuler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.DefaultRuler_SWIGUpcast(cPtr), cMemoryOwn) {
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Degree : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ /// <summary>
+ /// An angle in degrees.
+ /// This reduces ambiguity when using methods which accept angles in degrees or radians.
+ /// </summary>
+ public class Degree : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Degree(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Degree(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Degree obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Degree obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Degree() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Degree()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Degree(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Degree(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
- public Degree() : this(NDalicPINVOKE.new_Degree__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ public Degree() : this(NDalicPINVOKE.new_Degree__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Degree(float value) : this(NDalicPINVOKE.new_Degree__SWIG_1(value), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ /// <summary>
+ /// Creates an angle in degrees.
+ /// </summary>
+ /// <param name="value">The initial value in degrees</param>
+ public Degree(float value) : this(NDalicPINVOKE.new_Degree__SWIG_1(value), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Degree(Radian value) : this(NDalicPINVOKE.new_Degree__SWIG_2(Radian.getCPtr(value)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ /// <summary>
+ /// Creates an angle in degrees from a Radian.
+ /// </summary>
+ /// <param name="value">The initial value in Radians</param>
+ public Degree(Radian value) : this(NDalicPINVOKE.new_Degree__SWIG_2(Radian.getCPtr(value)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public float degree {
- set {
- NDalicPINVOKE.Degree_degree_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Degree_degree_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ public float degree
+ {
+ set
+ {
+ NDalicPINVOKE.Degree_degree_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Degree_degree_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
-}
+ }
}
namespace Tizen.NUI {
-public enum DepthFunctionType {
+ internal enum DepthFunctionType {
NEVER,
ALWAYS,
LESS,
namespace Tizen.NUI {
-public enum DepthTestModeType {
+ internal enum DepthTestModeType {
OFF,
AUTO,
ON
namespace Tizen.NUI {
-public enum DepthWriteModeType {
+ internal enum DepthWriteModeType {
OFF,
AUTO,
ON
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum DimensionType {
- WIDTH = 0x1,
- HEIGHT = 0x2,
- ALL_DIMENSIONS = 0x3
-}
-
-}
namespace Tizen.NUI {
-public enum DirectionBias {
+ public enum DirectionBias {
DirectionBiasLeft = -1,
DirectionBiasNone = 0,
DirectionBiasRight = 1
namespace Tizen.NUI {
-public enum ClippingModeType {
- DISABLED,
- CLIP_CHILDREN
+ internal enum DirectionType {
+ LEFT_TO_RIGHT = 0,
+ RIGHT_TO_LEFT
}
}
namespace Tizen.NUI
{
- public class DisposeQueue
+ internal class DisposeQueue
{
private static DisposeQueue _disposableQueue = new DisposeQueue();
private List<IDisposable> _disposables = new List<IDisposable>();
namespace Tizen.NUI {
-public class DragAndDropDetector : BaseHandle {
+ internal class DragAndDropDetector : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal DragAndDropDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.DragAndDropDetector_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class EncodedBufferImage : Image {
+ internal class EncodedBufferImage : Image {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal EncodedBufferImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.EncodedBufferImage_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public enum FaceCullingModeType {
+ internal enum FaceCullingModeType {
NONE,
FRONT,
BACK,
namespace Tizen.NUI {
-public enum FilterModeType {
+ internal enum FilterModeType {
NONE = 0,
DEFAULT,
NEAREST,
//------------------------------------------------------------------------------
namespace Tizen.NUI {
-
+/* moved to VisualMaps.cs
public enum FittingModeType {
SHRINK_TO_FIT,
SCALE_TO_FILL,
FIT_WIDTH,
FIT_HEIGHT
}
-
+*/
}
namespace Tizen.NUI {
-public class FixedRuler : Ruler {
+ public class FixedRuler : Ruler {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal FixedRuler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FixedRuler_SWIGUpcast(cPtr), cMemoryOwn) {
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class FlexContainer : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ public class FlexContainer : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal FlexContainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FlexContainer_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal FlexContainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FlexContainer_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FlexContainer obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FlexContainer obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~FlexContainer() {
- DisposeQueue.Instance.Add(this);
- }
+ ~FlexContainer()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_FlexContainer(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_FlexContainer(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_FlexContainer_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_FlexContainer_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_FlexContainer_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int CONTENT_DIRECTION = NDalicPINVOKE.FlexContainer_Property_CONTENT_DIRECTION_get();
+ internal static readonly int FLEX_DIRECTION = NDalicPINVOKE.FlexContainer_Property_FLEX_DIRECTION_get();
+ internal static readonly int FLEX_WRAP = NDalicPINVOKE.FlexContainer_Property_FLEX_WRAP_get();
+ internal static readonly int JUSTIFY_CONTENT = NDalicPINVOKE.FlexContainer_Property_JUSTIFY_CONTENT_get();
+ internal static readonly int ALIGN_ITEMS = NDalicPINVOKE.FlexContainer_Property_ALIGN_ITEMS_get();
+ internal static readonly int ALIGN_CONTENT = NDalicPINVOKE.FlexContainer_Property_ALIGN_CONTENT_get();
+
}
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_FlexContainer_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int CONTENT_DIRECTION = NDalicPINVOKE.FlexContainer_Property_CONTENT_DIRECTION_get();
- public static readonly int FLEX_DIRECTION = NDalicPINVOKE.FlexContainer_Property_FLEX_DIRECTION_get();
- public static readonly int FLEX_WRAP = NDalicPINVOKE.FlexContainer_Property_FLEX_WRAP_get();
- public static readonly int JUSTIFY_CONTENT = NDalicPINVOKE.FlexContainer_Property_JUSTIFY_CONTENT_get();
- public static readonly int ALIGN_ITEMS = NDalicPINVOKE.FlexContainer_Property_ALIGN_ITEMS_get();
- public static readonly int ALIGN_CONTENT = NDalicPINVOKE.FlexContainer_Property_ALIGN_CONTENT_get();
-
- }
-
- public class ChildProperty : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal ChildProperty(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ChildProperty obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~ChildProperty() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_FlexContainer_ChildProperty(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+ /// <summary>
+ /// Enumeration for the instance of child properties belonging to the FlexContainer class.
+ /// </summary>
+ public class ChildProperty : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal ChildProperty(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ChildProperty obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~ChildProperty()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_FlexContainer_ChildProperty(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal ChildProperty() : this(NDalicPINVOKE.new_FlexContainer_ChildProperty(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int FLEX = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_get();
+ internal static readonly int ALIGN_SELF = NDalicPINVOKE.FlexContainer_ChildProperty_ALIGN_SELF_get();
+ internal static readonly int FLEX_MARGIN = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_MARGIN_get();
+
}
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public ChildProperty() : this(NDalicPINVOKE.new_FlexContainer_ChildProperty(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int FLEX = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_get();
- public static readonly int ALIGN_SELF = NDalicPINVOKE.FlexContainer_ChildProperty_ALIGN_SELF_get();
- public static readonly int FLEX_MARGIN = NDalicPINVOKE.FlexContainer_ChildProperty_FLEX_MARGIN_get();
-
- }
-
- public FlexContainer () : this (NDalicPINVOKE.FlexContainer_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public FlexContainer(FlexContainer handle) : this(NDalicPINVOKE.new_FlexContainer__SWIG_1(FlexContainer.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public FlexContainer Assign(FlexContainer handle) {
- FlexContainer ret = new FlexContainer(NDalicPINVOKE.FlexContainer_Assign(swigCPtr, FlexContainer.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static FlexContainer DownCast(BaseHandle handle) {
- FlexContainer ret = new FlexContainer(NDalicPINVOKE.FlexContainer_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum FlexDirectionType {
- COLUMN,
- COLUMN_REVERSE,
- ROW,
- ROW_REVERSE
- }
-
- public enum ContentDirectionType {
- INHERIT,
- LTR,
- RTL
- }
-
- public enum Justification {
- JUSTIFY_FLEX_START,
- JUSTIFY_CENTER,
- JUSTIFY_FLEX_END,
- JUSTIFY_SPACE_BETWEEN,
- JUSTIFY_SPACE_AROUND
- }
-
- public enum Alignment {
- ALIGN_AUTO,
- ALIGN_FLEX_START,
- ALIGN_CENTER,
- ALIGN_FLEX_END,
- ALIGN_STRETCH
- }
-
- public enum WrapType {
- NO_WRAP,
- WRAP
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
- CHILD_PROPERTY_START_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX,
- CHILD_PROPERTY_END_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX+1000
- }
-
- public int ContentDirection
- {
- get
- {
- int temp = 0;
- GetProperty( FlexContainer.Property.CONTENT_DIRECTION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.Property.CONTENT_DIRECTION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int FlexDirection
- {
- get
- {
- int temp = 0;
- GetProperty( FlexContainer.Property.FLEX_DIRECTION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.Property.FLEX_DIRECTION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int FlexWrap
- {
- get
- {
- int temp = 0;
- GetProperty( FlexContainer.Property.FLEX_WRAP).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.Property.FLEX_WRAP, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int JustifyContent
- {
- get
- {
- int temp = 0;
- GetProperty( FlexContainer.Property.JUSTIFY_CONTENT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.Property.JUSTIFY_CONTENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int AlignItems
- {
- get
- {
- int temp = 0;
- GetProperty( FlexContainer.Property.ALIGN_ITEMS).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.Property.ALIGN_ITEMS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int AlignContent
- {
- get
- {
- int temp = 0;
- GetProperty( FlexContainer.Property.ALIGN_CONTENT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.Property.ALIGN_CONTENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
-}
+ /// <summary>
+ /// Creates a FlexContainer handle.
+ /// Calling member functions with an uninitialized handle is not allowed.
+ /// </summary>
+ public FlexContainer() : this(NDalicPINVOKE.FlexContainer_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal FlexContainer(FlexContainer handle) : this(NDalicPINVOKE.new_FlexContainer__SWIG_1(FlexContainer.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal FlexContainer Assign(FlexContainer handle)
+ {
+ FlexContainer ret = new FlexContainer(NDalicPINVOKE.FlexContainer_Assign(swigCPtr, FlexContainer.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal new static FlexContainer DownCast(BaseHandle handle)
+ {
+ FlexContainer ret = new FlexContainer(NDalicPINVOKE.FlexContainer_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Enumeration for the direction of the main axis in the flex container. This determines
+ /// the direction that flex items are laid out in the flex container.
+ /// </summary>
+ public enum FlexDirectionType
+ {
+ Column,
+ ColumnReverse,
+ Row,
+ RowReverse
+ }
+
+ /// <summary>
+ /// Enumeration for the primary direction in which content is ordered in the flex container
+ /// and on which sides the ?\9cstart??and ?\9cend??are.
+ /// </summary>
+ public enum ContentDirectionType
+ {
+ Inherit,
+ LTR,
+ RTL
+ }
+
+ /// <summary>
+ /// Enumeration for the alignment of the flex items when the items do not use all available
+ /// space on the main-axis.
+ /// </summary>
+ public enum Justification
+ {
+ JustifyFlexStart,
+ JustifyCenter,
+ JustifyFlexEnd,
+ JustifySpaceBetween,
+ JustifySpaceAround
+ }
+
+ /// <summary>
+ /// Enumeration for the alignment of the flex items or lines when the items or lines do not
+ /// use all the available space on the cross-axis.
+ /// </summary>
+ public enum Alignment
+ {
+ AlignAuto,
+ AlignFlexStart,
+ AlignCenter,
+ AlignFlexEnd,
+ AlignStretch
+ }
+
+ /// <summary>
+ /// Enumeration for the wrap type of the flex container when there is no enough room for
+ /// all the items on one flex line.
+ /// </summary>
+ public enum WrapType
+ {
+ NoWrap,
+ Wrap
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000,
+ CHILD_PROPERTY_START_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX,
+ CHILD_PROPERTY_END_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// The primary direction in which content is ordered
+ /// </summary>
+ public ContentDirectionType ContentDirection
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(FlexContainer.Property.CONTENT_DIRECTION).Get(ref temp);
+ return (ContentDirectionType)temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.Property.CONTENT_DIRECTION, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
+
+ /// <summary>
+ /// The direction of the main-axis which determines the direction that flex items are laid out
+ /// </summary>
+ public FlexDirectionType FlexDirection
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(FlexContainer.Property.FLEX_DIRECTION).Get(ref temp);
+ return (FlexDirectionType)temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.Property.FLEX_DIRECTION, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
+
+ /// <summary>
+ /// Whether the flex items should wrap or not if there is no enough room for them on one flex line
+ /// </summary>
+ public WrapType FlexWrap
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(FlexContainer.Property.FLEX_WRAP).Get(ref temp);
+ return (WrapType)temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.Property.FLEX_WRAP, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
+
+ /// <summary>
+ /// The alignment of flex items when the items do not use all available space on the main-axis
+ /// </summary>
+ public Justification JustifyContent
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(FlexContainer.Property.JUSTIFY_CONTENT).Get(ref temp);
+ return (Justification)temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.Property.JUSTIFY_CONTENT, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
+
+ /// <summary>
+ /// The alignment of flex items when the items do not use all available space on the cross-axis
+ /// </summary>
+ public Alignment AlignItems
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(FlexContainer.Property.ALIGN_ITEMS).Get(ref temp);
+ return (Alignment)temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.Property.ALIGN_ITEMS, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
+
+ /// <summary>
+ /// Similar to "alignItems", but it aligns flex lines, so only works when there are multiple lines
+ /// </summary>
+ public Alignment AlignContent
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(FlexContainer.Property.ALIGN_CONTENT).Get(ref temp);
+ return (Alignment)temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.Property.ALIGN_CONTENT, new Tizen.NUI.PropertyValue((int)value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class FloatSignal : global::System.IDisposable {
+ internal class FloatSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class FocusChangedSignal : global::System.IDisposable {
+ internal class FocusChangedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class FocusGroupChangedSignal : global::System.IDisposable {
+ internal class FocusGroupChangedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-namespace Tizen.NUI {
-
-using System;
-using System.Runtime.InteropServices;
-
-public class FocusManager : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
- internal FocusManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.FocusManager_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FocusManager obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~FocusManager() {
- DisposeQueue.Instance.Add(this);
- }
-
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
+
+namespace Tizen.NUI
+{
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// Provides the functionality of handling keyboard navigation and maintaining the two dimensional keyboard focus chain.
+ /// It provides functionality of setting the focus and moving the focus in four directions(i.e.Left, Right, Up and Down).
+ /// It also draws a highlight for the focused View and sends a event when the focus is changed.
+ /// </summary>
+ public class FocusManager : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ private CustomAlgorithmInterfaceWrapper _customAlgorithmInterfaceWrapper;
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicManualPINVOKE.delete_FocusManager(swigCPtr);
+ internal FocusManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.FocusManager_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FocusManager obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
-/**
- * @brief Event arguments that passed via FocusChanged signal
- *
- */
-public class FocusChangedEventArgs : EventArgs
-{
- private Actor _actorCurrent;
- private Actor _actorNext;
-
- /**
- * @brief Actor - is the original focused Actor
- *
- */
- public Actor ActorCurrent
- {
- get
- {
- return _actorCurrent;
- }
- set
- {
- _actorCurrent = value;
- }
- }
-
- /**
- * @brief Actor - is the current focused Actor
- *
- */
- public Actor ActorNext
- {
- get
- {
- return _actorNext;
- }
- set
- {
- _actorNext = value;
- }
- }
-}
+ ~FocusManager()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
-/**
- * @brief Event arguments that passed via FocusGroupChanged signal
- *
- */
-public class FocusGroupChangedEventArgs : EventArgs
-{
- private Actor _currentFocusedActor;
- private bool _forwardDirection;
-
- /**
- * @brief Actor - is the current focused Actor
- *
- */
- public Actor CurrentFocusedActor
- {
- get
- {
- return _currentFocusedActor;
- }
- set
- {
- _currentFocusedActor = value;
- }
- }
-
- /**
- * @brief ForwardDirection - is the direction (forward or backward) in which to move the focus next
- *
- */
- public bool ForwardDirection
- {
- get
- {
- return _forwardDirection;
- }
- set
- {
- _forwardDirection = value;
- }
- }
-}
+ /// <summary>
+ /// To make FocusManager instance be disposed.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicManualPINVOKE.delete_FocusManager(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
-/**
- * @brief Event arguments that passed via FocusedActorEnterKey signal
- *
- */
-public class FocusedActorEnterKeyEventArgs : EventArgs
-{
- private Actor _actor;
-
- /**
- * @brief Actor - is the current focused Actor which has the enter key pressed on it.
- *
- */
- public Actor Actor
- {
- get
- {
- return _actor;
- }
- set
- {
- _actor = value;
- }
- }
-}
-/**
- * @brief Event arguments that passed via PreFocusChange signal
- *
- */
-public class PreFocusChangeEventArgs : EventArgs
-{
- private Actor _current;
- private Actor _proposed;
- private View.KeyboardFocus.Direction _direction;
-
- /**
- * @brief Actor - is the current focused Actor.
- *
- */
- public Actor Current
- {
- get
- {
- return _current;
- }
- set
- {
- _current = value;
- }
- }
-
- /**
- * @brief Actor - is the proposed focused Actor.
- *
- */
- public Actor Proposed
- {
- get
+ ///<summary>
+ ///Event arguments that passed via PreFocusChange signal
+ /// </summary>
+ public class PreFocusChangeEventArgs : EventArgs
{
- return _proposed;
+ private View _current;
+ private View _proposed;
+ private View.FocusDirection _direction;
+
+ public View CurrentView
+ {
+ get
+ {
+ return _current;
+ }
+ set
+ {
+ _current = value;
+ }
+ }
+
+ public View ProposedView
+ {
+ get
+ {
+ return _proposed;
+ }
+ set
+ {
+ _proposed = value;
+ }
+ }
+
+ public View.FocusDirection Direction
+ {
+ get
+ {
+ return _direction;
+ }
+ set
+ {
+ _direction = value;
+ }
+ }
}
- set
+
+ private EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> _preFocusChangeEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
+ private PreFocusChangeEventCallback _preFocusChangeCallback;
+
+ public event EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> PreFocusChange
{
- _proposed = value;
+ add
+ {
+ if (_preFocusChangeEventHandler == null)
+ {
+ _preFocusChangeCallback = OnPreFocusChange;
+ PreFocusChangeSignal().Connect(_preFocusChangeCallback);
+ }
+ _preFocusChangeEventHandler += value;
+ }
+ remove
+ {
+ _preFocusChangeEventHandler -= value;
+ if (_preFocusChangeEventHandler == null && _preFocusChangeCallback != null)
+ {
+ PreFocusChangeSignal().Disconnect(_preFocusChangeCallback);
+ }
+ }
}
- }
- /**
- * @brief Direction - is the direction of Focus change.
- *
- */
- public View.KeyboardFocus.Direction Direction
- {
- get
+ private IntPtr OnPreFocusChange(IntPtr current, IntPtr proposed, View.FocusDirection direction)
{
- return _direction;
+ View view = null;
+ PreFocusChangeEventArgs e = new PreFocusChangeEventArgs();
+
+ e.CurrentView = View.GetViewFromPtr(current);
+ e.ProposedView = View.GetViewFromPtr(proposed);
+ e.Direction = direction;
+
+ if (_preFocusChangeEventHandler != null)
+ {
+ view = _preFocusChangeEventHandler(this, e);
+ }
+
+ if (view)
+ {
+ return view.GetPtrfromActor();
+ }
+ else
+ {
+ if (e.ProposedView) return proposed;
+ else return current;
+ }
}
- set
+
+ ///<summary>
+ ///Event arguments that passed via FocusChanged signal
+ /// </summary>
+ public class FocusChangedEventArgs : EventArgs
{
- _direction = value;
+ private View _current;
+ private View _next;
+
+ public View CurrentView
+ {
+ get
+ {
+ return _current;
+ }
+ set
+ {
+ _current = value;
+ }
+ }
+
+ public View NextView
+ {
+ get
+ {
+ return _next;
+ }
+ set
+ {
+ _next = value;
+ }
+ }
}
- }
-}
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- public delegate void FocusChangedEventHandler(object source, FocusChangedEventArgs e);
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- public delegate void FocusGroupChangedEventHandler(object source, FocusGroupChangedEventArgs e);
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- public delegate void FocusedActorEnterKeyEventHandler(object source, FocusedActorEnterKeyEventArgs e);
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- public delegate Actor PreFocusChangeEventHandler(object source, PreFocusChangeEventArgs e);
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- public delegate IntPtr PreFocusChangeEventCallbackDelegate(IntPtr current, IntPtr proposed, View.KeyboardFocus.Direction direction);
- private PreFocusChangeEventHandler _FocusManagerPreFocusChangeEventHandler;
- private PreFocusChangeEventCallbackDelegate _FocusManagerPreFocusChangeEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void FocusChangedEventCallbackDelegate(IntPtr actorCurrent, IntPtr actorNext);
- private FocusChangedEventHandler _FocusManagerFocusChangedEventHandler;
- private FocusChangedEventCallbackDelegate _FocusManagerFocusChangedEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void FocusGroupChangedEventCallbackDelegate(IntPtr currentFocusedActor, bool forwardDirection);
- private FocusGroupChangedEventHandler _FocusManagerFocusGroupChangedEventHandler;
- private FocusGroupChangedEventCallbackDelegate _FocusManagerFocusGroupChangedEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void FocusedActorEnterKeyEventCallbackDelegate(IntPtr actor);
- private FocusedActorEnterKeyEventHandler _FocusManagerFocusedActorEnterKeyEventHandler;
- private FocusedActorEnterKeyEventCallbackDelegate _FocusManagerFocusedActorEnterKeyEventCallbackDelegate;
-
- public event PreFocusChangeEventHandler PreFocusChange
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_FocusManagerPreFocusChangeEventHandler == null)
- {
- _FocusManagerPreFocusChangeEventHandler += value;
-
- _FocusManagerPreFocusChangeEventCallbackDelegate = new PreFocusChangeEventCallbackDelegate(OnPreFocusChange);
- this.PreFocusChangeSignal().Connect(_FocusManagerPreFocusChangeEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_FocusManagerPreFocusChangeEventHandler != null)
- {
- this.PreFocusChangeSignal().Disconnect(_FocusManagerPreFocusChangeEventCallbackDelegate);
- }
-
- _FocusManagerPreFocusChangeEventHandler -= value;
- }
- }
- }
-
- // Callback for FocusManager PreFocusChangeSignal
- private IntPtr OnPreFocusChange(IntPtr current, IntPtr proposed, View.KeyboardFocus.Direction direction)
- {
- Actor actor = null;
- PreFocusChangeEventArgs e = new PreFocusChangeEventArgs();
-
- // Populate all members of "e" (PreFocusChangeEventArgs) with real data
- e.Current = Actor.GetActorFromPtr(current);
- e.Proposed = Actor.GetActorFromPtr(proposed);
- e.Direction = direction;
-
- if (_FocusManagerPreFocusChangeEventHandler != null)
- {
- //here we send all data to user event handlers
- actor = _FocusManagerPreFocusChangeEventHandler(this, e);
- }
-
- return actor.GetPtrfromActor();
- }
-
- /**
- * @brief Event for FocusChanged signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of FocusChangedEventHandler) provided by the user.
- * FocusChanged signal is emitted after the current focused actor has been changed.
- */
- public event FocusChangedEventHandler FocusChanged
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_FocusManagerFocusChangedEventHandler == null)
- {
- _FocusManagerFocusChangedEventHandler += value;
-
- _FocusManagerFocusChangedEventCallbackDelegate = new FocusChangedEventCallbackDelegate(OnFocusChanged);
- this.FocusChangedSignal().Connect(_FocusManagerFocusChangedEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_FocusManagerFocusChangedEventHandler != null)
- {
- this.FocusChangedSignal().Disconnect(_FocusManagerFocusChangedEventCallbackDelegate);
- }
-
- _FocusManagerFocusChangedEventHandler -= value;
- }
- }
- }
-
- // Callback for FocusManager FocusChangedSignal
- private void OnFocusChanged(IntPtr actorCurrent, IntPtr actorNext)
- {
- FocusChangedEventArgs e = new FocusChangedEventArgs();
-
- // Populate all members of "e" (FocusChangedEventArgs) with real data
- e.ActorCurrent = Actor.GetActorFromPtr(actorCurrent);
- e.ActorNext = Actor.GetActorFromPtr(actorNext);
-
- if (_FocusManagerFocusChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- _FocusManagerFocusChangedEventHandler(this, e);
- }
- }
-
- /**
- * @brief Event for FocusGroupChanged signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of FocusGroupChangedEventHandler) provided by the user.
- * FocusGroupChanged signal is emitted when the focus group has been changed.
- */
- public event FocusGroupChangedEventHandler FocusGroupChanged
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_FocusManagerFocusGroupChangedEventHandler == null)
- {
- _FocusManagerFocusGroupChangedEventHandler += value;
-
- _FocusManagerFocusGroupChangedEventCallbackDelegate = new FocusGroupChangedEventCallbackDelegate(OnFocusGroupChanged);
- this.FocusGroupChangedSignal().Connect(_FocusManagerFocusGroupChangedEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_FocusManagerFocusGroupChangedEventHandler != null)
- {
- this.FocusGroupChangedSignal().Disconnect(_FocusManagerFocusGroupChangedEventCallbackDelegate);
- }
-
- _FocusManagerFocusGroupChangedEventHandler -= value;
- }
- }
- }
-
- // Callback for FocusManager FocusGroupChangedSignal
- private void OnFocusGroupChanged(IntPtr currentFocusedActor, bool forwardDirection)
- {
- FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
-
- // Populate all members of "e" (FocusGroupChangedEventArgs) with real data
- e.CurrentFocusedActor = Actor.GetActorFromPtr(currentFocusedActor);
- e.ForwardDirection = forwardDirection;
-
- if (_FocusManagerFocusGroupChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- _FocusManagerFocusGroupChangedEventHandler(this, e);
- }
- }
-
- /**
- * @brief Event for FocusedActorEnterKeyPressed signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of FocusedActorEnterKeyEventHandler) provided by the user.
- * FocusedActorEnterKeyPressed signal is emitted when the current focused actor has the enter key pressed on it.
- */
- public event FocusedActorEnterKeyEventHandler FocusedActorEnterKeyPressed
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_FocusManagerFocusedActorEnterKeyEventHandler == null)
- {
- _FocusManagerFocusedActorEnterKeyEventHandler += value;
-
- _FocusManagerFocusedActorEnterKeyEventCallbackDelegate = new FocusedActorEnterKeyEventCallbackDelegate(OnFocusedActorEnterKey);
- this.FocusedActorEnterKeySignal().Connect(_FocusManagerFocusedActorEnterKeyEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_FocusManagerFocusedActorEnterKeyEventHandler != null)
- {
- this.FocusedActorEnterKeySignal().Disconnect(_FocusManagerFocusedActorEnterKeyEventCallbackDelegate);
- }
-
- _FocusManagerFocusedActorEnterKeyEventHandler -= value;
- }
- }
- }
-
- // Callback for FocusManager FocusedActorEnterKeySignal
- private void OnFocusedActorEnterKey(IntPtr actor)
- {
- FocusedActorEnterKeyEventArgs e = new FocusedActorEnterKeyEventArgs();
-
- // Populate all members of "e" (FocusedActorEnterKeyEventArgs) with real data
- e.Actor = Actor.GetActorFromPtr(actor);
-
- if (_FocusManagerFocusedActorEnterKeyEventHandler != null)
- {
- //here we send all data to user event handlers
- _FocusManagerFocusedActorEnterKeyEventHandler(this, e);
- }
- }
-
- public FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static FocusManager Get() {
- FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool SetCurrentFocusActor(Actor actor) {
- bool ret = NDalicManualPINVOKE.FocusManager_SetCurrentFocusActor(swigCPtr, Actor.getCPtr(actor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor GetCurrentFocusActor() {
- Actor ret = new Actor(NDalicManualPINVOKE.FocusManager_GetCurrentFocusActor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool MoveFocus(View.KeyboardFocus.Direction direction) {
- bool ret = NDalicManualPINVOKE.FocusManager_MoveFocus(swigCPtr, (int)direction);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ClearFocus() {
- NDalicManualPINVOKE.FocusManager_ClearFocus(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetFocusGroupLoop(bool enabled) {
- NDalicManualPINVOKE.FocusManager_SetFocusGroupLoop(swigCPtr, enabled);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool GetFocusGroupLoop() {
- bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetAsFocusGroup(Actor actor, bool isFocusGroup) {
- NDalicManualPINVOKE.FocusManager_SetAsFocusGroup(swigCPtr, Actor.getCPtr(actor), isFocusGroup);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsFocusGroup(Actor actor) {
- bool ret = NDalicManualPINVOKE.FocusManager_IsFocusGroup(swigCPtr, Actor.getCPtr(actor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor GetFocusGroup(Actor actor) {
- Actor ret = new Actor(NDalicManualPINVOKE.FocusManager_GetFocusGroup(swigCPtr, Actor.getCPtr(actor)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFocusIndicatorActor(Actor indicator) {
- NDalicManualPINVOKE.FocusManager_SetFocusIndicatorActor(swigCPtr, Actor.getCPtr(indicator));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Actor GetFocusIndicatorActor() {
- Actor ret = new Actor(NDalicManualPINVOKE.FocusManager_GetFocusIndicatorActor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public PreFocusChangeSignal PreFocusChangeSignal() {
- PreFocusChangeSignal ret = new PreFocusChangeSignal(NDalicManualPINVOKE.FocusManager_PreFocusChangeSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public FocusChangedSignal FocusChangedSignal() {
- FocusChangedSignal ret = new FocusChangedSignal(NDalicManualPINVOKE.FocusManager_FocusChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public FocusGroupChangedSignal FocusGroupChangedSignal() {
- FocusGroupChangedSignal ret = new FocusGroupChangedSignal(NDalicManualPINVOKE.FocusManager_FocusGroupChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ActorSignal FocusedActorEnterKeySignal() {
- ActorSignal ret = new ActorSignal(NDalicManualPINVOKE.FocusManager_FocusedActorEnterKeySignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private static readonly FocusManager instance = FocusManager.Get();
-
- public static FocusManager Instance
- {
- get
- {
- return instance;
- }
- }
+ private EventHandler<FocusChangedEventArgs> _focusChangedEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ internal delegate void FocusChangedEventCallback(IntPtr current, IntPtr next);
+ private FocusChangedEventCallback _focusChangedEventCallback;
+
+ public event EventHandler<FocusChangedEventArgs> FocusChanged
+ {
+ add
+ {
+ if (_focusChangedEventCallback == null)
+ {
+ _focusChangedEventCallback = OnFocusChanged;
+ FocusChangedSignal().Connect(_focusChangedEventCallback);
+ }
+ _focusChangedEventHandler += value;
+ }
+ remove
+ {
+ _focusChangedEventHandler -= value;
+
+ if (_focusChangedEventCallback == null && _focusChangedEventCallback != null)
+ {
+ FocusChangedSignal().Disconnect(_focusChangedEventCallback);
+ }
+ }
+ }
+ private void OnFocusChanged(IntPtr current, IntPtr next)
+ {
+ FocusChangedEventArgs e = new FocusChangedEventArgs();
-}
+ e.CurrentView = View.GetViewFromPtr(current);
+ e.NextView = View.GetViewFromPtr(next);
+
+ if (_focusChangedEventHandler != null)
+ {
+ _focusChangedEventHandler(this, e);
+ }
+ }
+
+ ///<summary>
+ ///Event arguments that passed via FocusGroupChanged signal
+ /// </summary>
+ public class FocusGroupChangedEventArgs : EventArgs
+ {
+ private View _current;
+ private bool _forwardDirection;
+
+ public View CurrentView
+ {
+ get
+ {
+ return _current;
+ }
+ set
+ {
+ _current = value;
+ }
+ }
+
+ public bool ForwardDirection
+ {
+ get
+ {
+ return _forwardDirection;
+ }
+ set
+ {
+ _forwardDirection = value;
+ }
+ }
+ }
+
+ private EventHandler<FocusGroupChangedEventArgs> _focusGroupChangedEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void FocusGroupChangedEventCallback(IntPtr current, bool forwardDirection);
+ private FocusGroupChangedEventCallback _focusGroupChangedEventCallback;
+
+ public event EventHandler<FocusGroupChangedEventArgs> FocusGroupChanged
+ {
+ add
+ {
+ if (_focusGroupChangedEventCallback == null)
+ {
+ _focusGroupChangedEventCallback = OnFocusGroupChanged;
+ FocusGroupChangedSignal().Connect(_focusGroupChangedEventCallback);
+ }
+ _focusGroupChangedEventHandler += value;
+ }
+ remove
+ {
+ _focusGroupChangedEventHandler -= value;
+
+ if (_focusGroupChangedEventCallback == null && _focusGroupChangedEventCallback != null)
+ {
+ FocusGroupChangedSignal().Disconnect(_focusGroupChangedEventCallback);
+ }
+ }
+ }
+
+ private void OnFocusGroupChanged(IntPtr current, bool forwardDirection)
+ {
+ FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
+
+ e.CurrentView = View.GetViewFromPtr(current);
+ e.ForwardDirection = forwardDirection;
+
+ if (_focusGroupChangedEventHandler != null)
+ {
+ _focusGroupChangedEventHandler(this, e);
+ }
+ }
+
+ ///<summary>
+ ///Event arguments that passed via FocusedViewEnterKey signal
+ /// </summary>
+ public class FocusedViewEnterKeyEventArgs : EventArgs
+ {
+ private View _view;
+
+ public View View
+ {
+ get
+ {
+ return _view;
+ }
+ set
+ {
+ _view = value;
+ }
+ }
+ }
+
+ private EventHandler<FocusedViewEnterKeyEventArgs> _focusedViewEnterKeyEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
+ private FocusedViewEnterKeyEventCallback _focusedViewEnterKeyEventCallback;
+
+ public event EventHandler<FocusedViewEnterKeyEventArgs> FocusedViewEnterKeyPressed
+ {
+ add
+ {
+ if (_focusedViewEnterKeyEventCallback == null)
+ {
+ _focusedViewEnterKeyEventCallback = OnFocusedViewEnterKey;
+ FocusedActorEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback);
+ }
+ _focusedViewEnterKeyEventHandler += value;
+ }
+ remove
+ {
+ _focusedViewEnterKeyEventHandler -= value;
+
+ if (_focusedViewEnterKeyEventCallback == null && _focusedViewEnterKeyEventCallback != null)
+ {
+ FocusedActorEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
+ }
+ }
+ }
+
+ private void OnFocusedViewEnterKey(IntPtr view)
+ {
+ FocusedViewEnterKeyEventArgs e = new FocusedViewEnterKeyEventArgs();
+
+ e.View = View.GetViewFromPtr(view);
+
+ if (_focusedViewEnterKeyEventHandler != null)
+ {
+ _focusedViewEnterKeyEventHandler(this, e);
+ }
+ }
+
+
+ internal FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static FocusManager Get()
+ {
+ FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ /// <summary>
+ /// Moves the keyboard focus to the given View.
+ /// Only one View can be focused at the same time.
+ /// The View must be in the stage already and keyboard focusable.
+ /// </summary>
+ /// <param name="view">The View to be focused</param>
+ /// <returns>Whether the focus is successful or not</returns>
+ public bool SetCurrentFocusView(View view)
+ {
+ bool ret = NDalicManualPINVOKE.FocusManager_SetCurrentFocusActor(swigCPtr, Actor.getCPtr(view));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Gets the current focused actor.
+ /// </summary>
+ /// <returns>A handle to the current focused View or an empty handle if no View is focused</returns>
+ public View GetCurrentFocusView()
+ {
+ View ret = View.DownCast(new Actor(NDalicManualPINVOKE.FocusManager_GetCurrentFocusActor(swigCPtr), true));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Moves the focus to the next focusable View in the focus chain in the given direction(according to the focus traversal order).
+ /// </summary>
+ /// <param name="direction">The direction of focus movement</param>
+ /// <returns>true if the movement was successful</returns>
+ public bool MoveFocus(View.FocusDirection direction)
+ {
+ bool ret = NDalicManualPINVOKE.FocusManager_MoveFocus(swigCPtr, (int)direction);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Clears the focus from the current focused actor if any, so that no actor is focused in the focus chain.
+ /// It will emit FocusChanged event without current focused View.
+ /// </summary>
+ public void ClearFocus()
+ {
+ NDalicManualPINVOKE.FocusManager_ClearFocus(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Sets/Gets the status of whether the focus movement should be looped within the same focus group.
+ /// The focus movement is not looped by default.
+ /// </summary>
+ public bool FocusGroupLoop
+ {
+ set
+ {
+ SetFocusGroupLoop(value);
+ }
+ get
+ {
+ return GetFocusGroupLoop();
+ }
+ }
+
+ internal void SetFocusGroupLoop(bool enabled)
+ {
+ NDalicManualPINVOKE.FocusManager_SetFocusGroupLoop(swigCPtr, enabled);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool GetFocusGroupLoop()
+ {
+ bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets whether an View is a focus group that can limit the scope of focus movement to its child actors in the focus chain.
+ /// Layout controls set themselves as focus groups by default.
+ /// </summary>
+ /// <param name="view">The View to be set as a focus group</param>
+ /// <param name="isFocusGroup">Whether to set the View as a focus group or not</param>
+ public void SetAsFocusGroup(View view, bool isFocusGroup)
+ {
+ NDalicManualPINVOKE.FocusManager_SetAsFocusGroup(swigCPtr, Actor.getCPtr(view), isFocusGroup);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Checks whether the actor is set as a focus group or not.
+ /// </summary>
+ /// <param name="view">The View to be checked</param>
+ /// <returns>Whether the View is set as a focus group</returns>
+ public bool IsFocusGroup(View view)
+ {
+ bool ret = NDalicManualPINVOKE.FocusManager_IsFocusGroup(swigCPtr, Actor.getCPtr(view));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the closest ancestor of the given actor that is a focus group.
+ /// </summary>
+ /// <param name="view">The View to be checked for its focus group</param>
+ /// <returns>The focus group the given view belongs to or an empty handle if the given view</returns>
+ public View GetFocusGroup(View view)
+ {
+ View ret = View.DownCast(new Actor(NDalicManualPINVOKE.FocusManager_GetFocusGroup(swigCPtr, Actor.getCPtr(view)), true));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets/Gets the focus indicator View.
+ /// This will replace the default focus indicator view in FocusManager and will be added to the focused view as a highlight.
+ /// </summary>
+ public View FocusIndicator
+ {
+ set
+ {
+ SetFocusIndicatorView(value);
+ }
+ get
+ {
+ return GetFocusIndicatorView();
+ }
+ }
+
+ internal void SetFocusIndicatorView(View indicator)
+ {
+ NDalicManualPINVOKE.FocusManager_SetFocusIndicatorActor(swigCPtr, Actor.getCPtr(indicator));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal View GetFocusIndicatorView()
+ {
+ View ret = View.DownCast(new Actor(NDalicManualPINVOKE.FocusManager_GetFocusIndicatorActor(swigCPtr), true));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0) {
+ _customAlgorithmInterfaceWrapper = new CustomAlgorithmInterfaceWrapper();
+ _customAlgorithmInterfaceWrapper.SetFocusAlgorithm(arg0);
+
+ NDalicPINVOKE.SetCustomAlgorithm(swigCPtr, CustomAlgorithmInterface.getCPtr(_customAlgorithmInterfaceWrapper));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal PreFocusChangeSignal PreFocusChangeSignal()
+ {
+ PreFocusChangeSignal ret = new PreFocusChangeSignal(NDalicManualPINVOKE.FocusManager_PreFocusChangeSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal FocusChangedSignal FocusChangedSignal()
+ {
+ FocusChangedSignal ret = new FocusChangedSignal(NDalicManualPINVOKE.FocusManager_FocusChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal FocusGroupChangedSignal FocusGroupChangedSignal()
+ {
+ FocusGroupChangedSignal ret = new FocusGroupChangedSignal(NDalicManualPINVOKE.FocusManager_FocusGroupChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ActorSignal FocusedActorEnterKeySignal()
+ {
+ ActorSignal ret = new ActorSignal(NDalicManualPINVOKE.FocusManager_FocusedActorEnterKeySignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private static readonly FocusManager instance = FocusManager.Get();
+
+ /// <summary>
+ /// Gets the singleton of FocusManager object.
+ /// </summary>
+ public static FocusManager Instance
+ {
+ get
+ {
+ return instance;
+ }
+ }
+
+ public interface ICustomFocusAlgorithm
+ {
+ View GetNextFocusableActor(View current, View proposed, View.FocusDirection direction);
+ }
+
+ private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
+ {
+ private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
+
+ public CustomAlgorithmInterfaceWrapper()
+ {
+ }
+
+ public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
+ {
+ _customFocusAlgorithm = customFocusAlgorithm;
+ }
+
+ public override Actor GetNextFocusableActor(Actor current, Actor proposed, View.FocusDirection direction)
+ {
+ View currentView = View.DownCast<View>(current);
+ View proposedView = View.DownCast<View>(proposed);
+ return _customFocusAlgorithm.GetNextFocusableActor(currentView, proposedView, direction);
+ }
+ }
+ }
}
namespace Tizen.NUI {
-public class FrameBuffer : BaseHandle {
+ internal class FrameBuffer : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal FrameBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FrameBuffer_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class FrameBufferImage : Image {
+ internal class FrameBufferImage : Image {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal FrameBufferImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.FrameBufferImage_SWIGUpcast(cPtr), cMemoryOwn) {
--- /dev/null
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
+
+// friend assembly setting\r
+// compile with: /target:Tizen.NUI.ExtTEST /keyfile:FriendAssemblies.snk\r
+\r
+using System.Runtime.CompilerServices;\r
+[assembly: InternalsVisibleTo("Tizen.NUI.ExtTEST, PublicKey=00240000048000009400000006020000002400005253413100040000010001004d7c7c03a196ecb8e7cc5056750e1f40ee2bbe99f0e53a07f2538f2b0f450bd731b9dca3706503a0378baca74a09cf3af6261b330c031f44817ab6ed64189460765a402279d3e0c1fa7295ae1dccb2e3ff329705fd85b58d66ae7cb7e95ba06e0d847c3e3ba918798f579e5caeb1c6149955e6baf24236eec46227a623e494b1")]\r
+namespace Tizen.NUI
+{
+}
\ No newline at end of file
using System.Runtime.InteropServices;
-public class GaussianBlurView : View {
+ internal class GaussianBlurView : View {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal GaussianBlurView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.GaussianBlurView_SWIGUpcast(cPtr), cMemoryOwn) {
public static GaussianBlurView GetGaussianBlurViewFromPtr(global::System.IntPtr cPtr) {
GaussianBlurView ret = new GaussianBlurView(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
namespace Tizen.NUI {
-public class GaussianBlurViewSignal : global::System.IDisposable {
+ internal class GaussianBlurViewSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class Geometry : BaseHandle {
+ internal class Geometry : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn) {
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// Base structure for different gestures that an application can receive.
+ /// A gesture is an event that is produced from a combination of several touch events
+ /// in a particular order or within a certain time frame (e.g pinch).
+ /// </summary>
+ public class Gesture : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
-public class Gesture : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Gesture obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Gesture obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~Gesture()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~Gesture() {
- DisposeQueue.Instance.Add(this);
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Gesture(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Gesture(swigCPtr);
+ /// <summary>
+ /// The gesture type.
+ /// </summary>
+ public Gesture.GestureType Type
+ {
+ get
+ {
+ return type;
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
+ /// <summary>
+ /// The gesture state.
+ /// </summary>
+ public Gesture.StateType State
+ {
+ get
+ {
+ return state;
+ }
+ }
- public Gesture.GestureType Type
- {
- get
- {
- return type;
- }
- }
+ /// <summary>
+ /// The time the gesture took place.
+ /// </summary>
+ public uint Time
+ {
+ get
+ {
+ return time;
+ }
+ }
- public Gesture.StateType State
- {
- get
- {
- return state;
- }
- }
+ /// <summary>
+ /// Copy constructor.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ public Gesture(Gesture rhs) : this(NDalicPINVOKE.new_Gesture(Gesture.getCPtr(rhs)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public uint Time
- {
- get
- {
- return time;
- }
- }
-
- public Gesture(Gesture rhs) : this(NDalicPINVOKE.new_Gesture(Gesture.getCPtr(rhs)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Gesture Assign(Gesture rhs) {
- Gesture ret = new Gesture(NDalicPINVOKE.Gesture_Assign(swigCPtr, Gesture.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private Gesture.GestureType type {
- set {
- NDalicPINVOKE.Gesture_type_set(swigCPtr, (int)value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- Gesture.GestureType ret = (Gesture.GestureType)NDalicPINVOKE.Gesture_type_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Gesture.StateType state {
- set {
- NDalicPINVOKE.Gesture_state_set(swigCPtr, (int)value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- Gesture.StateType ret = (Gesture.StateType)NDalicPINVOKE.Gesture_state_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private uint time {
- set {
- NDalicPINVOKE.Gesture_time_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.Gesture_time_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public enum GestureType {
- Pinch = 1 << 0,
- Pan = 1 << 1,
- Tap = 1 << 2,
- LongPress = 1 << 3
- }
-
- public enum StateType {
- Clear,
- Started,
- Continuing,
- Finished,
- Cancelled,
- Possible
- }
+ /// <summary>
+ /// Assignment operator.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ /// <returns>A reference to this</returns>
+ public Gesture Assign(Gesture rhs)
+ {
+ Gesture ret = new Gesture(NDalicPINVOKE.Gesture_Assign(swigCPtr, Gesture.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ private Gesture.GestureType type
+ {
+ set
+ {
+ NDalicPINVOKE.Gesture_type_set(swigCPtr, (int)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Gesture.GestureType ret = (Gesture.GestureType)NDalicPINVOKE.Gesture_type_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Gesture.StateType state
+ {
+ set
+ {
+ NDalicPINVOKE.Gesture_state_set(swigCPtr, (int)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Gesture.StateType ret = (Gesture.StateType)NDalicPINVOKE.Gesture_state_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private uint time
+ {
+ set
+ {
+ NDalicPINVOKE.Gesture_time_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.Gesture_time_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Enumeration for type of gesture
+ /// </summary>
+ public enum GestureType
+ {
+ Pinch = 1 << 0,
+ Pan = 1 << 1,
+ Tap = 1 << 2,
+ LongPress = 1 << 3
+ }
+
+ /// <summary>
+ /// Enumeration for state of the gesture.
+ /// </summary>
+ public enum StateType
+ {
+ Clear,
+ Started,
+ Continuing,
+ Finished,
+ Cancelled,
+ Possible
+ }
+
+ }
}
//------------------------------------------------------------------------------
namespace Tizen.NUI {
-
-public enum GradientVisualSpreadMethodType {
+/* moved to VisualMaps.cs
+ internal enum GradientVisualSpreadMethodType {
PAD,
REFLECT,
REPEAT
}
-
+*/
}
//------------------------------------------------------------------------------
namespace Tizen.NUI {
-
-public enum GradientVisualUnitsType {
+/* moved to VisualMap.cs
+ internal enum GradientVisualUnitsType {
OBJECT_BOUNDING_BOX,
USER_SPACE
}
-
+*/
}
return ret;
}
- public Property.Type GetPropertyType(int index) {
- Property.Type ret = (Property.Type)NDalicPINVOKE.Handle_GetPropertyType(swigCPtr, index);
+ public PropertyType GetPropertyType(int index) {
+ PropertyType ret = (PropertyType)NDalicPINVOKE.Handle_GetPropertyType(swigCPtr, index);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public void SetProperty(int index, Property.Value propertyValue) {
- NDalicPINVOKE.Handle_SetProperty(swigCPtr, index, Property.Value.getCPtr(propertyValue));
+ public void SetProperty(int index, PropertyValue propertyValue) {
+ NDalicPINVOKE.Handle_SetProperty(swigCPtr, index, PropertyValue.getCPtr(propertyValue));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public int RegisterProperty(string name, Property.Value propertyValue) {
- int ret = NDalicPINVOKE.Handle_RegisterProperty__SWIG_0(swigCPtr, name, Property.Value.getCPtr(propertyValue));
+ public int RegisterProperty(string name, PropertyValue propertyValue) {
+ int ret = NDalicPINVOKE.Handle_RegisterProperty__SWIG_0(swigCPtr, name, PropertyValue.getCPtr(propertyValue));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public int RegisterProperty(string name, Property.Value propertyValue, Property.AccessMode accessMode) {
- int ret = NDalicPINVOKE.Handle_RegisterProperty__SWIG_1(swigCPtr, name, Property.Value.getCPtr(propertyValue), (int)accessMode);
+ public int RegisterProperty(string name, PropertyValue propertyValue, PropertyAccessMode accessMode) {
+ int ret = NDalicPINVOKE.Handle_RegisterProperty__SWIG_1(swigCPtr, name, PropertyValue.getCPtr(propertyValue), (int)accessMode);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public Property.Value GetProperty(int index) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Handle_GetProperty(swigCPtr, index), true);
+ public PropertyValue GetProperty(int index) {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Handle_GetProperty(swigCPtr, index), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public void GetPropertyIndices(VectorInteger indices) {
- NDalicPINVOKE.Handle_GetPropertyIndices(swigCPtr, VectorInteger.getCPtr(indices));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ internal void GetPropertyIndices(VectorInteger indices)
+ {
+ NDalicPINVOKE.Handle_GetPropertyIndices(swigCPtr, VectorInteger.getCPtr(indices));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public PropertyNotification AddPropertyNotification(int index, PropertyCondition condition) {
- PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_0(swigCPtr, index, PropertyCondition.getCPtr(condition)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal PropertyNotification AddPropertyNotification(int index, PropertyCondition condition)
+ {
+ PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_0(swigCPtr, index, PropertyCondition.getCPtr(condition)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public PropertyNotification AddPropertyNotification(int index, int componentIndex, PropertyCondition condition) {
- PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_1(swigCPtr, index, componentIndex, PropertyCondition.getCPtr(condition)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal PropertyNotification AddPropertyNotification(int index, int componentIndex, PropertyCondition condition)
+ {
+ PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_1(swigCPtr, index, componentIndex, PropertyCondition.getCPtr(condition)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public void RemovePropertyNotification(PropertyNotification propertyNotification) {
- NDalicPINVOKE.Handle_RemovePropertyNotification(swigCPtr, PropertyNotification.getCPtr(propertyNotification));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ internal void RemovePropertyNotification(PropertyNotification propertyNotification)
+ {
+ NDalicPINVOKE.Handle_RemovePropertyNotification(swigCPtr, PropertyNotification.getCPtr(propertyNotification));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
public void RemovePropertyNotifications() {
NDalicPINVOKE.Handle_RemovePropertyNotifications(swigCPtr);
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum HorizontalAlignmentType {
- LEFT,
- CENTER,
- RIGHT
-}
-
-}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// Hover events are a collection of points at a specific moment in time.
+ /// When a multi event occurs, each point represents the points that are currently being
+ /// hovered or the points where a hover has stopped.
+ /// </summary>
+ public class Hover : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
-public class Hover : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ internal Hover(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal Hover(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Hover obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Hover obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~Hover()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~Hover() {
- DisposeQueue.Instance.Add(this);
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Hover(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Hover(swigCPtr);
+ internal static Hover GetHoverFromPtr(global::System.IntPtr cPtr)
+ {
+ Hover ret = new Hover(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
+ /// <summary>
+ /// The time (in ms) that the hover event occurred.
+ /// </summary>
+ public uint Time
+ {
+ get
+ {
+ return time;
+ }
+ }
- public static Hover GetHoverFromPtr(global::System.IntPtr cPtr) {
- Hover ret = new Hover(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Returns the ID of the device used for the Point specified.
+ /// Each point has a unique device ID which specifies the device used for that
+ /// point. This is returned by this method.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The Device ID of this poin</returns>
+ public int GetDeviceId(uint point)
+ {
+ if (point < points.Count)
+ {
+ return points[(int)point].deviceId;
+ }
+ return -1;
+ }
- public uint Time
- {
- get
- {
- return time;
- }
- }
+ /// <summary>
+ /// Retrieves the State of the point specified.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The state of the point specified</returns>
+ public PointStateType GetState(uint point)
+ {
+ if (point < points.Count)
+ {
+ return (Tizen.NUI.PointStateType)(points[(int)point].state);
+ }
+ return PointStateType.Finished;
+ }
- public int GetDeviceId(uint point) {
- if( point < points.Count )
- {
- return points[(int)point].deviceId;
- }
- return -1;
- }
+ /// <summary>
+ /// Retrieves the actor that was underneath the point specified.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The actor that was underneath the point specified</returns>
+ public Actor GetHitActor(uint point)
+ {
+ if (point < points.Count)
+ {
+ return points[(int)point].hitActor;
+ }
+ else
+ {
+ // Return a native empty handle
+ Actor actor = new Actor();
+ actor.Reset();
+ return actor;
+ }
+ }
- public PointStateType GetState(uint point) {
- if( point < points.Count )
- {
- return (Tizen.NUI.PointStateType)(points[(int)point].state);
- }
- return PointStateType.FINISHED;
- }
+ /// <summary>
+ /// Retrieves the co-ordinates relative to the top-left of the hit-actor at the point specified.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The co-ordinates relative to the top-left of the hit-actor of the point specified</returns>
+ public Vector2 GetLocalPosition(uint point)
+ {
+ if (point < points.Count)
+ {
+ return points[(int)point].local;
+ }
+ return new Vector2(0.0f, 0.0f);
+ }
- public Actor GetHitActor(uint point) {
- if( point < points.Count )
- {
- return points[(int)point].hitActor;
- }
- else
- {
- // Return a native empty handle
- Actor actor = new Actor();
- actor.Reset();
- return actor;
- }
- }
+ /// <summary>
+ /// Retrieves the co-ordinates relative to the top-left of the screen of the point specified.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The co-ordinates relative to the top-left of the screen of the point specified</returns>
+ public Vector2 GetScreenPosition(uint point)
+ {
+ if (point < points.Count)
+ {
+ return points[(int)point].screen;
+ }
+ return new Vector2(0.0f, 0.0f);
+ }
- public Vector2 GetLocalPosition(uint point) {
- if( point < points.Count )
- {
- return points[(int)point].local;
- }
- return new Vector2(0.0f, 0.0f);
- }
+ /// <summary>
+ /// Default constructor.
+ /// </summary>
+ public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Vector2 GetScreenPosition(uint point) {
- if( point < points.Count )
- {
- return points[(int)point].screen;
- }
- return new Vector2(0.0f, 0.0f);
- }
-
- public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- private TouchPointContainer points {
- set {
- NDalicPINVOKE.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Hover_points_get(swigCPtr);
- TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private uint time {
- set {
- NDalicPINVOKE.Hover_time_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.Hover_time_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public uint GetPointCount() {
- uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public TouchPoint GetPoint(uint point) {
- TouchPoint ret = new TouchPoint(NDalicPINVOKE.Hover_GetPoint(swigCPtr, point), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="time">The time the event occurred</param>
+ public Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ private TouchPointContainer points
+ {
+ set
+ {
+ NDalicPINVOKE.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Hover_points_get(swigCPtr);
+ TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private uint time
+ {
+ set
+ {
+ NDalicPINVOKE.Hover_time_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.Hover_time_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Returns the total number of points.
+ /// </summary>
+ /// <returns>Total number of Points</returns>
+ public uint GetPointCount()
+ {
+ uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal TouchPoint GetPoint(uint point)
+ {
+ TouchPoint ret = new TouchPoint(NDalicPINVOKE.Hover_GetPoint(swigCPtr, point), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ }
}
using System.Runtime.InteropServices;
-public class Image : BaseHandle {
+ internal class Image : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Image(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Image_SWIGUpcast(cPtr), cMemoryOwn) {
public static Image GetImageFromPtr(global::System.IntPtr cPtr) {
Image ret = new Image(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
namespace Tizen.NUI {
-public class ImageSignal : global::System.IDisposable {
+ internal class ImageSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class ImageView : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// ImageView is a class for displaying an image resource.
+ /// An instance of ImageView can be created using a URL or an Image instance.
+ /// </summary>
+ public class ImageView : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal ImageView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ImageView_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal ImageView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ImageView_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImageView obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImageView obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~ImageView() {
- DisposeQueue.Instance.Add(this);
- }
+ ~ImageView()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ImageView(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ImageView(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ImageView_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_ImageView_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int RESOURCE_URL = NDalicPINVOKE.ImageView_Property_RESOURCE_URL_get();
- public static readonly int IMAGE = NDalicPINVOKE.ImageView_Property_IMAGE_get();
- public static readonly int PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.ImageView_Property_PRE_MULTIPLIED_ALPHA_get();
- public static readonly int PIXEL_AREA = NDalicPINVOKE.ImageView_Property_PIXEL_AREA_get();
-
- }
-
- public ImageView () : this (NDalicPINVOKE.ImageView_New__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public ImageView (Image image) : this (NDalicPINVOKE.ImageView_New__SWIG_1(Image.getCPtr(image)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public ImageView (string url) : this (NDalicPINVOKE.ImageView_New__SWIG_2(url), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public ImageView (string url, Uint16Pair size) : this (NDalicPINVOKE.ImageView_New__SWIG_3(url, Uint16Pair.getCPtr(size)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public ImageView(ImageView imageView) : this(NDalicPINVOKE.new_ImageView__SWIG_1(ImageView.getCPtr(imageView)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ImageView Assign(ImageView imageView) {
- ImageView ret = new ImageView(NDalicPINVOKE.ImageView_Assign(swigCPtr, ImageView.getCPtr(imageView)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static ImageView DownCast(BaseHandle handle) {
- ImageView ret = new ImageView(NDalicPINVOKE.ImageView_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetImage(Image image) {
- NDalicPINVOKE.ImageView_SetImage__SWIG_0(swigCPtr, Image.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetImage(string url) {
- NDalicPINVOKE.ImageView_SetImage__SWIG_1(swigCPtr, url);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetImage(string url, Uint16Pair size) {
- NDalicPINVOKE.ImageView_SetImage__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Image GetImage() {
- Image ret = new Image(NDalicPINVOKE.ImageView_GetImage(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
- ANIMATABLE_PROPERTY_START_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
- ANIMATABLE_PROPERTY_END_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX+1000
- }
-
- public string ResourceUrl
- {
- get
- {
- string temp;
- GetProperty( ImageView.Property.RESOURCE_URL).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( ImageView.Property.RESOURCE_URL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map ImageMap
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( ImageView.Property.IMAGE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ImageView.Property.IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool PreMultipliedAlpha
- {
- get
- {
- bool temp = false;
- GetProperty( ImageView.Property.PRE_MULTIPLIED_ALPHA).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ImageView.Property.PRE_MULTIPLIED_ALPHA, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 PixelArea
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( ImageView.Property.PIXEL_AREA).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ImageView.Property.PIXEL_AREA, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
-}
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ImageView_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_ImageView_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int RESOURCE_URL = NDalicPINVOKE.ImageView_Property_RESOURCE_URL_get();
+ internal static readonly int IMAGE = NDalicPINVOKE.ImageView_Property_IMAGE_get();
+ internal static readonly int PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.ImageView_Property_PRE_MULTIPLIED_ALPHA_get();
+ internal static readonly int PIXEL_AREA = NDalicPINVOKE.ImageView_Property_PIXEL_AREA_get();
+
+ }
+
+ /// <summary>
+ /// Creates an initialized ImageView.
+ /// </summary>
+ public ImageView() : this(NDalicPINVOKE.ImageView_New__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ /// <summary>
+ /// Creates an initialized ImageView from an URL to an image resource.
+ /// If the string is empty, ImageView will not display anything.
+ /// </summary>
+ /// <param name="url">The url of the image resource to display</param>
+ public ImageView(string url) : this(NDalicPINVOKE.ImageView_New__SWIG_2(url), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal ImageView(string url, Uint16Pair size) : this(NDalicPINVOKE.ImageView_New__SWIG_3(url, Uint16Pair.getCPtr(size)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal ImageView(ImageView imageView) : this(NDalicPINVOKE.new_ImageView__SWIG_1(ImageView.getCPtr(imageView)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ internal ImageView Assign(ImageView imageView)
+ {
+ ImageView ret = new ImageView(NDalicPINVOKE.ImageView_Assign(swigCPtr, ImageView.getCPtr(imageView)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ /// <summary>
+ /// Downcasts a handle to ImageView handle.
+ /// If handle points to a ImageView, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a ImageView or an uninitialized handle</returns>
+ public new static ImageView DownCast(BaseHandle handle)
+ {
+ ImageView ret = new ImageView(NDalicPINVOKE.ImageView_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ /// <summary>
+ /// Sets this ImageView from the given URL.
+ /// If the URL is empty, ImageView will not display anything.
+ /// </summary>
+ /// <param name="url">The URL to the image resource to display</param>
+ public void SetImage(string url)
+ {
+ NDalicPINVOKE.ImageView_SetImage__SWIG_1(swigCPtr, url);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ internal void SetImage(string url, Uint16Pair size)
+ {
+ NDalicPINVOKE.ImageView_SetImage__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000,
+ ANIMATABLE_PROPERTY_START_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+ ANIMATABLE_PROPERTY_END_INDEX = PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// ImageView ResourceUrl, type string
+ /// </summary>
+ public string ResourceUrl
+ {
+ get
+ {
+ string temp;
+ GetProperty(ImageView.Property.RESOURCE_URL).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ImageView.Property.RESOURCE_URL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// ImageView ImageMap, type PropertyMap : string if it is a url, map otherwise
+ /// </summary>
+ public PropertyMap ImageMap
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(ImageView.Property.IMAGE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ImageView.Property.IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// ImageView PreMultipliedAlpha, type Boolean
+ /// Image must be initialized.
+ /// </summary>
+ public bool PreMultipliedAlpha
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(ImageView.Property.PRE_MULTIPLIED_ALPHA).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ImageView.Property.PRE_MULTIPLIED_ALPHA, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// ImageView PixelArea, type Vector4 (Animatable property)
+ /// Pixel area is a relative value with the whole image area as [0.0, 0.0, 1.0, 1.0].
+ /// </summary>
+ public Vector4 PixelArea
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(ImageView.Property.PIXEL_AREA).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ImageView.Property.PIXEL_AREA, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class Item : global::System.IDisposable {
+ internal class Item : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class ItemContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+ internal class ItemContainer : global::System.IDisposable, global::System.Collections.IEnumerable
, global::System.Collections.Generic.IEnumerable<Item>
{
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-using System;
-using System.Runtime.InteropServices;
-using System.Collections.Generic;
-#if true
+#define DOT_NET_CORE
+#if (DOT_NET_CORE)
using System.Reflection;
#endif
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class ItemFactory : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ internal class ItemFactory : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal ItemFactory(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal ItemFactory(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ItemFactory obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ItemFactory obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~ItemFactory() {
- DisposeQueue.Instance.Add(this);
- }
+ ~ItemFactory()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ItemFactory(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ItemFactory(swigCPtr);
+ public virtual uint GetNumberOfItems()
+ {
+ uint ret = NDalicPINVOKE.ItemFactory_GetNumberOfItems(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual Actor NewItem(uint itemId)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.ItemFactory_NewItem(swigCPtr, itemId), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual void ItemReleased(uint itemId, Actor actor)
+ {
+ if (SwigDerivedClassHasMethod("ItemReleased", swigMethodTypes2)) NDalicPINVOKE.ItemFactory_ItemReleasedSwigExplicitItemFactory(swigCPtr, itemId, Actor.getCPtr(actor)); else NDalicPINVOKE.ItemFactory_ItemReleased(swigCPtr, itemId, Actor.getCPtr(actor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public ItemFactory() : this(NDalicPINVOKE.new_ItemFactory(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ SwigDirectorConnect();
+ }
+
+ private void SwigDirectorConnect()
+ {
+ if (SwigDerivedClassHasMethod("GetNumberOfItems", swigMethodTypes0))
+ swigDelegate0 = new SwigDelegateItemFactory_0(SwigDirectorGetNumberOfItems);
+ if (SwigDerivedClassHasMethod("NewItem", swigMethodTypes1))
+ swigDelegate1 = new SwigDelegateItemFactory_1(SwigDirectorNewItem);
+ if (SwigDerivedClassHasMethod("ItemReleased", swigMethodTypes2))
+ swigDelegate2 = new SwigDelegateItemFactory_2(SwigDirectorItemReleased);
+ NDalicPINVOKE.ItemFactory_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2);
+ }
+
+#if (DOT_NET_CORE)
+ private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
+ {
+ global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);
+ bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(ItemFactory));
+ Tizen.Log.Debug("NUI-APP", "hasDerivedMethod=" + hasDerivedMethod);
+ return hasDerivedMethod;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
-
- public virtual uint GetNumberOfItems() {
- uint ret = NDalicPINVOKE.ItemFactory_GetNumberOfItems(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual Actor NewItem(uint itemId) {
- Actor ret = new Actor(NDalicPINVOKE.ItemFactory_NewItem(swigCPtr, itemId), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual void ItemReleased(uint itemId, Actor actor) {
- if (SwigDerivedClassHasMethod("ItemReleased", swigMethodTypes2)) NDalicPINVOKE.ItemFactory_ItemReleasedSwigExplicitItemFactory(swigCPtr, itemId, Actor.getCPtr(actor)); else NDalicPINVOKE.ItemFactory_ItemReleased(swigCPtr, itemId, Actor.getCPtr(actor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ItemFactory() : this(NDalicPINVOKE.new_ItemFactory(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- SwigDirectorConnect();
- }
-
- private void SwigDirectorConnect() {
- if (SwigDerivedClassHasMethod("GetNumberOfItems", swigMethodTypes0))
- swigDelegate0 = new SwigDelegateItemFactory_0(SwigDirectorGetNumberOfItems);
- if (SwigDerivedClassHasMethod("NewItem", swigMethodTypes1))
- swigDelegate1 = new SwigDelegateItemFactory_1(SwigDirectorNewItem);
- if (SwigDerivedClassHasMethod("ItemReleased", swigMethodTypes2))
- swigDelegate2 = new SwigDelegateItemFactory_2(SwigDirectorItemReleased);
- NDalicPINVOKE.ItemFactory_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2);
- }\r
-\r
-\r
-#if true
- private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)\r
- {\r
- global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);\r
- bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(ItemFactory));\r
- Tizen.Log.Debug("NUI-APP", "hasDerivedMethod=" + hasDerivedMethod);\r
- return hasDerivedMethod;\r
- }\r
#else
-//original
- private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
- global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
- bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(ItemFactory));
- //Console.WriteLine("ItemFactory.cs hasDerivedMethod=" + hasDerivedMethod);
- return hasDerivedMethod;
- }
+ private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
+ {
+ global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
+ bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(ItemFactory));
+ return hasDerivedMethod;
+ }
#endif
-\r
-\r
- private uint SwigDirectorGetNumberOfItems() {
- return GetNumberOfItems();
- }
-
- private global::System.IntPtr SwigDirectorNewItem(uint itemId) {
- return Actor.getCPtr(NewItem(itemId)).Handle;
- }
-
- private void SwigDirectorItemReleased(uint itemId, global::System.IntPtr actor) {
- ItemReleased(itemId, new Actor(actor, true));
- }
-
- public delegate uint SwigDelegateItemFactory_0();
- public delegate global::System.IntPtr SwigDelegateItemFactory_1(uint itemId);
- public delegate void SwigDelegateItemFactory_2(uint itemId, global::System.IntPtr actor);
-
- private SwigDelegateItemFactory_0 swigDelegate0;
- private SwigDelegateItemFactory_1 swigDelegate1;
- private SwigDelegateItemFactory_2 swigDelegate2;
-
- private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { typeof(uint) };
- private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { typeof(uint), typeof(Actor) };
-}
+
+ private uint SwigDirectorGetNumberOfItems()
+ {
+ return GetNumberOfItems();
+ }
+
+ private global::System.IntPtr SwigDirectorNewItem(uint itemId)
+ {
+ return Actor.getCPtr(NewItem(itemId)).Handle;
+ }
+
+ private void SwigDirectorItemReleased(uint itemId, global::System.IntPtr actor)
+ {
+ ItemReleased(itemId, new Actor(actor, true));
+ }
+
+ public delegate uint SwigDelegateItemFactory_0();
+ public delegate global::System.IntPtr SwigDelegateItemFactory_1(uint itemId);
+ public delegate void SwigDelegateItemFactory_2(uint itemId, global::System.IntPtr actor);
+
+ private SwigDelegateItemFactory_0 swigDelegate0;
+ private SwigDelegateItemFactory_1 swigDelegate1;
+ private SwigDelegateItemFactory_2 swigDelegate2;
+
+ private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { typeof(uint) };
+ private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { typeof(uint), typeof(Actor) };
+ }
}
namespace Tizen.NUI {
-public class ItemIdContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+ internal class ItemIdContainer : global::System.IDisposable, global::System.Collections.IEnumerable
, global::System.Collections.Generic.IList<uint>
{
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
namespace Tizen.NUI {
-public class ItemLayout : RefObject {
+ internal class ItemLayout : RefObject {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ItemLayout(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ItemLayout_SWIGUpcast(cPtr), cMemoryOwn) {
return ret;
}
- public void SetLayoutProperties(Property.Map properties) {
- NDalicPINVOKE.ItemLayout_SetLayoutProperties(swigCPtr, Property.Map.getCPtr(properties));
+ public void SetLayoutProperties(PropertyMap properties) {
+ NDalicPINVOKE.ItemLayout_SetLayoutProperties(swigCPtr, PropertyMap.getCPtr(properties));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public Property.Map GetLayoutProperties() {
- Property.Map ret = new Property.Map(NDalicPINVOKE.ItemLayout_GetLayoutProperties(swigCPtr), true);
+ public PropertyMap GetLayoutProperties() {
+ PropertyMap ret = new PropertyMap(NDalicPINVOKE.ItemLayout_GetLayoutProperties(swigCPtr), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public virtual int GetNextFocusItemID(int itemID, int maxItems, View.KeyboardFocus.Direction direction, bool loopEnabled) {
+ public virtual int GetNextFocusItemID(int itemID, int maxItems, View.FocusDirection direction, bool loopEnabled) {
int ret = NDalicPINVOKE.ItemLayout_GetNextFocusItemID(swigCPtr, itemID, maxItems, (int)direction, loopEnabled);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
namespace Tizen.NUI {
-public class ItemRange : global::System.IDisposable {
+ internal class ItemRange : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
using System.Runtime.InteropServices;
-public class ItemView : Scrollable {
+ internal class ItemView : Scrollable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ItemView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ItemView_SWIGUpcast(cPtr), cMemoryOwn) {
}
- public Tizen.NUI.Property.Array Layout
+ public Tizen.NUI.PropertyArray Layout
{
get
{
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
GetProperty( ItemView.Property.LAYOUT).Get( temp );
return temp;
}
set
{
- SetProperty( ItemView.Property.LAYOUT, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.LAYOUT, new Tizen.NUI.PropertyValue( value ) );
}
}
}
set
{
- SetProperty( ItemView.Property.MINIMUM_SWIPE_SPEED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.MINIMUM_SWIPE_SPEED, new Tizen.NUI.PropertyValue( value ) );
}
}
public float MinimumSwipeDistance
}
set
{
- SetProperty( ItemView.Property.MINIMUM_SWIPE_DISTANCE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.MINIMUM_SWIPE_DISTANCE, new Tizen.NUI.PropertyValue( value ) );
}
}
public float WheelScrollDistanceStep
}
set
{
- SetProperty( ItemView.Property.WHEEL_SCROLL_DISTANCE_STEP, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.WHEEL_SCROLL_DISTANCE_STEP, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool SnapToItemEnabled
}
set
{
- SetProperty( ItemView.Property.SNAP_TO_ITEM_ENABLED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.SNAP_TO_ITEM_ENABLED, new Tizen.NUI.PropertyValue( value ) );
}
}
public float RefreshInterval
}
set
{
- SetProperty( ItemView.Property.REFRESH_INTERVAL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.REFRESH_INTERVAL, new Tizen.NUI.PropertyValue( value ) );
}
}
public float LayoutPosition
}
set
{
- SetProperty( ItemView.Property.LAYOUT_POSITION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.LAYOUT_POSITION, new Tizen.NUI.PropertyValue( value ) );
}
}
public float ScrollSpeed
}
set
{
- SetProperty( ItemView.Property.SCROLL_SPEED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue( value ) );
}
}
public float Overshoot
}
set
{
- SetProperty( ItemView.Property.OVERSHOOT, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.OVERSHOOT, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollDirection
}
set
{
- SetProperty( ItemView.Property.SCROLL_DIRECTION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.SCROLL_DIRECTION, new Tizen.NUI.PropertyValue( value ) );
}
}
public int LayoutOrientation
}
set
{
- SetProperty( ItemView.Property.LAYOUT_ORIENTATION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.LAYOUT_ORIENTATION, new Tizen.NUI.PropertyValue( value ) );
}
}
public float ScrollContentSize
}
set
{
- SetProperty( ItemView.Property.SCROLL_CONTENT_SIZE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ItemView.Property.SCROLL_CONTENT_SIZE, new Tizen.NUI.PropertyValue( value ) );
}
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Key : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ /// <summary>
+ /// The key structure is used to store a key press.
+ /// </summary>
+ public class Key : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Key(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Key(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Key obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Key obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Key() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Key()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Key(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Key(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
- public static Key GetKeyFromPtr(global::System.IntPtr cPtr) {
- Key ret = new Key(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal static Key GetKeyFromPtr(global::System.IntPtr cPtr)
+ {
+ Key ret = new Key(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public string KeyPressedName
- {
- get
- {
- return keyPressedName;
- }
- }
+ /// <summary>
+ /// Name given to the key pressed
+ /// </summary>
+ public string KeyPressedName
+ {
+ get
+ {
+ return keyPressedName;
+ }
+ }
- public string KeyPressed
- {
- get
- {
- return keyPressed;
- }
- }
+ /* duplicated with KeyPressedName : removed
+ public string KeyPressed
+ {
+ get
+ {
+ return keyPressed;
+ }
+ }
+ */
- public int KeyCode
- {
- get
- {
- return keyCode;
- }
- }
+ /// <summary>
+ /// Keycode for the key pressed.
+ /// </summary>
+ public int KeyCode
+ {
+ get
+ {
+ return keyCode;
+ }
+ }
- public int KeyModifier
- {
- get
- {
- return keyModifier;
- }
- }
+ /// <summary>
+ /// Special keys like shift, alt and control which modify the next key pressed.
+ /// </summary>
+ public int KeyModifier
+ {
+ get
+ {
+ return keyModifier;
+ }
+ }
- public uint Time
- {
- get
- {
- return time;
- }
- }
+ /// <summary>
+ /// The time (in ms) that the key event occurred.
+ /// </summary>
+ public uint Time
+ {
+ get
+ {
+ return time;
+ }
+ }
- public Key.StateType State
- {
- get
- {
- return state;
- }
- }
-
- public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Key(string keyName, string keyString, int keyCode, int keyModifier, uint timeStamp, Key.StateType keyState) : this(NDalicPINVOKE.new_Key__SWIG_1(keyName, keyString, keyCode, keyModifier, timeStamp, (int)keyState), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsShiftModifier() {
- bool ret = NDalicPINVOKE.Key_IsShiftModifier(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsCtrlModifier() {
- bool ret = NDalicPINVOKE.Key_IsCtrlModifier(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsAltModifier() {
- bool ret = NDalicPINVOKE.Key_IsAltModifier(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private string keyPressedName {
- set {
- NDalicPINVOKE.Key_keyPressedName_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- string ret = NDalicPINVOKE.Key_keyPressedName_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private string keyPressed {
- set {
- NDalicPINVOKE.Key_keyPressed_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- string ret = NDalicPINVOKE.Key_keyPressed_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int keyCode {
- set {
- NDalicPINVOKE.Key_keyCode_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Key_keyCode_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int keyModifier {
- set {
- NDalicPINVOKE.Key_keyModifier_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Key_keyModifier_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private uint time {
- set {
- NDalicPINVOKE.Key_time_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.Key_time_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Key.StateType state {
- set {
- NDalicPINVOKE.Key_state_set(swigCPtr, (int)value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- Key.StateType ret = (Key.StateType)NDalicPINVOKE.Key_state_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public enum StateType {
- Down,
- Up,
- Last
- }
+ /// <summary>
+ /// State of the key event.
+ /// </summary>
+ public Key.StateType State
+ {
+ get
+ {
+ return state;
+ }
+ }
-}
+ /// <summary>
+ /// Default Constructor.
+ /// </summary>
+ public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="keyName">The name of the key pressed or command from the IMF, if later then the some following parameters will be needed</param>
+ /// <param name="keyString">A string of input characters or key pressed</param>
+ /// <param name="keyCode">The unique key code for the key pressed</param>
+ /// <param name="keyModifier">The key modifier for special keys like shift and alt</param>
+ /// <param name="timeStamp">The time (in ms) that the key event occurred</param>
+ /// <param name="keyState">The state of the key event</param>
+ public Key(string keyName, string keyString, int keyCode, int keyModifier, uint timeStamp, Key.StateType keyState) : this(NDalicPINVOKE.new_Key__SWIG_1(keyName, keyString, keyCode, keyModifier, timeStamp, (int)keyState), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Checks to see if Shift key modifier has been supplied.
+ /// </summary>
+ /// <returns>True if shift modifier</returns>
+ public bool IsShiftModifier()
+ {
+ bool ret = NDalicPINVOKE.Key_IsShiftModifier(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Checks to see if Ctrl (control) key modifier has been supplied.
+ /// </summary>
+ /// <returns>True if ctrl modifier</returns>
+ public bool IsCtrlModifier()
+ {
+ bool ret = NDalicPINVOKE.Key_IsCtrlModifier(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Checks to see if Alt key modifier has been supplied.
+ /// </summary>
+ /// <returns>True if alt modifier</returns>
+ public bool IsAltModifier()
+ {
+ bool ret = NDalicPINVOKE.Key_IsAltModifier(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private string keyPressedName
+ {
+ set
+ {
+ NDalicPINVOKE.Key_keyPressedName_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ string ret = NDalicPINVOKE.Key_keyPressedName_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private string keyPressed
+ {
+ set
+ {
+ NDalicPINVOKE.Key_keyPressed_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ string ret = NDalicPINVOKE.Key_keyPressed_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int keyCode
+ {
+ set
+ {
+ NDalicPINVOKE.Key_keyCode_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Key_keyCode_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int keyModifier
+ {
+ set
+ {
+ NDalicPINVOKE.Key_keyModifier_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Key_keyModifier_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private uint time
+ {
+ set
+ {
+ NDalicPINVOKE.Key_time_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.Key_time_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Key.StateType state
+ {
+ set
+ {
+ NDalicPINVOKE.Key_state_set(swigCPtr, (int)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Key.StateType ret = (Key.StateType)NDalicPINVOKE.Key_state_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Enumeration for specifying the state of the key event.
+ /// </summary>
+ public enum StateType
+ {
+ Down,
+ Up,
+ Last
+ }
+
+ }
}
namespace Tizen.NUI {
-public class KeyEventSignal : global::System.IDisposable {
+ internal class KeyEventSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
-
-public class KeyFrames : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
- internal KeyFrames(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyFrames_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyFrames obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~KeyFrames() {
- DisposeQueue.Instance.Add(this);
- }
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// A set of key frames for a property that can be animated using Dali Animation.
+ /// This allows the generation of key frame objects from individual Property::Values.
+ /// </summary>
+ public class KeyFrames : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal KeyFrames(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyFrames_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyFrames obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_KeyFrames(swigCPtr);
+ ~KeyFrames()
+ {
+ DisposeQueue.Instance.Add(this);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_KeyFrames(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public void Add(float progress, object value)
- {
- dynamic obj = value;
- Add(progress, new Property.Value(obj));
- }
- public void Add(float progress, object value, AlphaFunction alpha)
- {
- dynamic obj = value;
- Add(progress, new Property.Value(obj), alpha);
- }
+ /// <summary>
+ /// Adds a key frame.
+ /// </summary>
+ /// <param name="progress">A progress value between 0.0 and 1.0</param>
+ /// <param name="value">A value</param>
+ public void Add(float progress, object value)
+ {
+ dynamic obj = value;
+ Add(progress, new PropertyValue(obj));
+ }
+ /// <summary>
+ /// Adds a key frame.
+ /// </summary>
+ /// <param name="progress">A progress value between 0.0 and 1.0</param>
+ /// <param name="value">A value</param>
+ /// <param name="alpha">The alpha function used to blend to the next keyframe</param>
+ public void Add(float progress, object value, AlphaFunction alpha)
+ {
+ dynamic obj = value;
+ Add(progress, new PropertyValue(obj), alpha);
+ }
- public KeyFrames () : this (NDalicPINVOKE.KeyFrames_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ /// <summary>
+ /// Creates an initialized KeyFrames handle.
+ /// </summary>
+ public KeyFrames() : this(NDalicPINVOKE.KeyFrames_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- public static KeyFrames DownCast(BaseHandle handle) {
- KeyFrames ret = new KeyFrames(NDalicPINVOKE.KeyFrames_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ }
+ /// <summary>
+ /// Downcasts a handle to KeyFrames handle.
+ /// If handle points to a KeyFrames object, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a KeyFrames object or an uninitialized handle</returns>
+ public static KeyFrames DownCast(BaseHandle handle)
+ {
+ KeyFrames ret = new KeyFrames(NDalicPINVOKE.KeyFrames_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public KeyFrames(KeyFrames handle) : this(NDalicPINVOKE.new_KeyFrames__SWIG_1(KeyFrames.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ internal KeyFrames(KeyFrames handle) : this(NDalicPINVOKE.new_KeyFrames__SWIG_1(KeyFrames.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public KeyFrames Assign(KeyFrames rhs) {
- KeyFrames ret = new KeyFrames(NDalicPINVOKE.KeyFrames_Assign(swigCPtr, KeyFrames.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal KeyFrames Assign(KeyFrames rhs)
+ {
+ KeyFrames ret = new KeyFrames(NDalicPINVOKE.KeyFrames_Assign(swigCPtr, KeyFrames.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public Property.Type GetType() {
- Property.Type ret = (Property.Type)NDalicPINVOKE.KeyFrames_GetType(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Gets the type of the key frame.
+ /// </summary>
+ /// <returns>The key frame property type</returns>
+ public PropertyType GetType()
+ {
+ PropertyType ret = (PropertyType)NDalicPINVOKE.KeyFrames_GetType(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public void Add(float progress, Property.Value value) {
- NDalicPINVOKE.KeyFrames_Add__SWIG_0(swigCPtr, progress, Property.Value.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ /// <summary>
+ /// Adds a key frame.
+ /// </summary>
+ /// <param name="progress">A progress value between 0.0 and 1.0</param>
+ /// <param name="value">A value</param>
+ public void Add(float progress, PropertyValue value)
+ {
+ NDalicPINVOKE.KeyFrames_Add__SWIG_0(swigCPtr, progress, PropertyValue.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public void Add(float progress, Property.Value value, AlphaFunction alpha) {
- NDalicPINVOKE.KeyFrames_Add__SWIG_1(swigCPtr, progress, Property.Value.getCPtr(value), AlphaFunction.getCPtr(alpha));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ /// <summary>
+ /// Adds a key frame.
+ /// </summary>
+ /// <param name="progress">A progress value between 0.0 and 1.0</param>
+ /// <param name="value">A value</param>
+ /// <param name="alpha">The alpha function used to blend to the next keyframe</param>
+ public void Add(float progress, PropertyValue value, AlphaFunction alpha)
+ {
+ NDalicPINVOKE.KeyFrames_Add__SWIG_1(swigCPtr, progress, PropertyValue.getCPtr(value), AlphaFunction.getCPtr(alpha));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ }
}
return ret;
}
- public SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t KeyInputFocusChangedSignal() {
+ internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t KeyInputFocusChangedSignal() {
SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t(NDalicPINVOKE.KeyInputFocusManager_KeyInputFocusChangedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public KeyEventSignal UnhandledKeyEventSignal() {
+ internal KeyEventSignal UnhandledKeyEventSignal() {
KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.KeyInputFocusManager_UnhandledKeyEventSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
namespace Tizen.NUI {
-public class KeyInputFocusSignal : global::System.IDisposable {
+ internal class KeyInputFocusSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public delegate IntPtr SwigDelegatePreFocusChangeSignal(IntPtr current, IntPtr proposed, View.KeyboardFocus.Direction direction);
+internal delegate IntPtr SwigDelegatePreFocusChangeSignal(IntPtr current, IntPtr proposed, View.FocusDirection direction);
-public class PreFocusChangeSignal : global::System.IDisposable {
+internal class PreFocusChangeSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
return ret;
}
- public void Connect(FocusManager.PreFocusChangeEventCallbackDelegate func) {
+ public void Connect(FocusManager.PreFocusChangeEventCallback func) {
NDalicManualPINVOKE.PreFocusChangeSignal_Connect(swigCPtr, func);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
}
}
- public Actor Emit(Actor arg1, Actor arg2, View.KeyboardFocus.Direction arg3) {
+ public Actor Emit(Actor arg1, Actor arg2, View.FocusDirection arg3) {
Actor ret = new Actor(NDalicManualPINVOKE.PreFocusChangeSignal_Emit(swigCPtr, Actor.getCPtr(arg1), Actor.getCPtr(arg2), (int)arg3), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Layer : Actor {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// Layers provide a mechanism for overlaying groups of actors on top of each other.
+ /// </summary>
+ public class Layer : Actor
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal Layer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Layer_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Layer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Layer_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Layer() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Layer()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Layer(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
+
+
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Layer_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_Layer_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int CLIPPING_ENABLE = NDalicPINVOKE.Layer_Property_CLIPPING_ENABLE_get();
+ internal static readonly int CLIPPING_BOX = NDalicPINVOKE.Layer_Property_CLIPPING_BOX_get();
+ internal static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Layer(swigCPtr);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// Creates a Layer object.
+ /// </summary>
+ public Layer() : this(NDalicPINVOKE.Layer_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Layer_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_Layer_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int CLIPPING_ENABLE = NDalicPINVOKE.Layer_Property_CLIPPING_ENABLE_get();
- public static readonly int CLIPPING_BOX = NDalicPINVOKE.Layer_Property_CLIPPING_BOX_get();
- public static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
-
- }
-
- public Layer () : this (NDalicPINVOKE.Layer_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public new static Layer DownCast(BaseHandle handle) {
- Layer ret = new Layer(NDalicPINVOKE.Layer_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Layer(Layer copy) : this(NDalicPINVOKE.new_Layer__SWIG_1(Layer.getCPtr(copy)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Layer Assign(Layer rhs) {
- Layer ret = new Layer(NDalicPINVOKE.Layer_Assign(swigCPtr, Layer.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetDepth() {
- uint ret = NDalicPINVOKE.Layer_GetDepth(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Raise() {
- NDalicPINVOKE.Layer_Raise(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Lower() {
- NDalicPINVOKE.Layer_Lower(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RaiseAbove(Layer target) {
- NDalicPINVOKE.Layer_RaiseAbove(swigCPtr, Layer.getCPtr(target));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void LowerBelow(Layer target) {
- NDalicPINVOKE.Layer_LowerBelow(swigCPtr, Layer.getCPtr(target));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RaiseToTop() {
- NDalicPINVOKE.Layer_RaiseToTop(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void LowerToBottom() {
- NDalicPINVOKE.Layer_LowerToBottom(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void MoveAbove(Layer target) {
- NDalicPINVOKE.Layer_MoveAbove(swigCPtr, Layer.getCPtr(target));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void MoveBelow(Layer target) {
- NDalicPINVOKE.Layer_MoveBelow(swigCPtr, Layer.getCPtr(target));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetBehavior(Layer.LayerBehavior behavior) {
- NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Layer.LayerBehavior GetBehavior() {
- Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetClipping(bool enabled) {
- NDalicPINVOKE.Layer_SetClipping(swigCPtr, enabled);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsClipping() {
- bool ret = NDalicPINVOKE.Layer_IsClipping(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetClippingBox(int x, int y, int width, int height) {
- NDalicPINVOKE.Layer_SetClippingBox__SWIG_0(swigCPtr, x, y, width, height);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetClippingBox(Rectangle box) {
- NDalicPINVOKE.Layer_SetClippingBox__SWIG_1(swigCPtr, Rectangle.getCPtr(box));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Rectangle GetClippingBox() {
- Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetDepthTestDisabled(bool disable) {
- NDalicPINVOKE.Layer_SetDepthTestDisabled(swigCPtr, disable);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsDepthTestDisabled() {
- bool ret = NDalicPINVOKE.Layer_IsDepthTestDisabled(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetSortFunction(SWIGTYPE_p_f_r_q_const__Dali__Vector3__float function) {
- NDalicPINVOKE.Layer_SetSortFunction(swigCPtr, SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.getCPtr(function));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetTouchConsumed(bool consume) {
- NDalicPINVOKE.Layer_SetTouchConsumed(swigCPtr, consume);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsTouchConsumed() {
- bool ret = NDalicPINVOKE.Layer_IsTouchConsumed(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetHoverConsumed(bool consume) {
- NDalicPINVOKE.Layer_SetHoverConsumed(swigCPtr, consume);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsHoverConsumed() {
- bool ret = NDalicPINVOKE.Layer_IsHoverConsumed(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum LayerBehavior {
- LAYER_2D,
- LAYER_UI = LAYER_2D,
- LAYER_3D
- }
-
- public enum TreeDepthMultiplier {
- TREE_DEPTH_MULTIPLIER = 10000
- }
-
- public bool ClippingEnable
- {
- get
- {
- bool temp = false;
- GetProperty( Layer.Property.CLIPPING_ENABLE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Layer.Property.CLIPPING_ENABLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Rectangle ClippingBox
- {
- get
- {
- Rectangle temp = new Rectangle(0,0,0,0);
- GetProperty( Layer.Property.CLIPPING_BOX).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Layer.Property.CLIPPING_BOX, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Layer.LayerBehavior Behavior
- {
- get
- {
- return GetBehavior();
- }
- set
- {
- SetBehavior( value );
- }
- }
+ }
+ /// <summary>
+ /// Downcasts a handle to Layer handle.
+ /// If handle points to a Layer, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a Layer or an uninitialized handle</returns>
+ public new static Layer DownCast(BaseHandle handle)
+ {
+ Layer ret = new Layer(NDalicPINVOKE.Layer_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ internal Layer(Layer copy) : this(NDalicPINVOKE.new_Layer__SWIG_1(Layer.getCPtr(copy)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Layer Assign(Layer rhs)
+ {
+ Layer ret = new Layer(NDalicPINVOKE.Layer_Assign(swigCPtr, Layer.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Queries the depth of the layer.
+ /// 0 is the bottom most layer, higher number is on top.
+ /// </summary>
+ public uint Depth
+ {
+ get
+ {
+ return GetDepth();
+ }
+ }
+
+ internal uint GetDepth()
+ {
+ uint ret = NDalicPINVOKE.Layer_GetDepth(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Increments the depth of the layer.
+ /// </summary>
+ public void Raise()
+ {
+ NDalicPINVOKE.Layer_Raise(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Decrements the depth of the layer.
+ /// </summary>
+ public void Lower()
+ {
+ NDalicPINVOKE.Layer_Lower(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void RaiseAbove(Layer target)
+ {
+ NDalicPINVOKE.Layer_RaiseAbove(swigCPtr, Layer.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void LowerBelow(Layer target)
+ {
+ NDalicPINVOKE.Layer_LowerBelow(swigCPtr, Layer.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Raises the layer to the top.
+ /// </summary>
+ public void RaiseToTop()
+ {
+ NDalicPINVOKE.Layer_RaiseToTop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Lowers the layer to the bottom.
+ /// </summary>
+ public void LowerToBottom()
+ {
+ NDalicPINVOKE.Layer_LowerToBottom(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Moves the layer directly above the given layer.
+ /// After the call, this layers depth will be immediately above target.
+ /// </summary>
+ /// <param name="target">Layer to get on top of</param>
+ public void MoveAbove(Layer target)
+ {
+ NDalicPINVOKE.Layer_MoveAbove(swigCPtr, Layer.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Moves the layer directly below the given layer
+ /// After the call, this layers depth will be immediately below target.
+ /// </summary>
+ /// <param name="target">Layer to get below of</param>
+ public void MoveBelow(Layer target)
+ {
+ NDalicPINVOKE.Layer_MoveBelow(swigCPtr, Layer.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetBehavior(LayerBehavior behavior)
+ {
+ NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal LayerBehavior GetBehavior()
+ {
+ Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetClipping(bool enabled)
+ {
+ NDalicPINVOKE.Layer_SetClipping(swigCPtr, enabled);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsClipping()
+ {
+ bool ret = NDalicPINVOKE.Layer_IsClipping(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetClippingBox(int x, int y, int width, int height)
+ {
+ NDalicPINVOKE.Layer_SetClippingBox__SWIG_0(swigCPtr, x, y, width, height);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Sets the clipping box of a layer, in window coordinates.
+ /// The contents of the layer will not be visible outside this box, when clipping is
+ /// enabled. The default clipping box is empty (0,0,0,0) which means everything is clipped.
+ /// </summary>
+ /// <param name="box">The clipping box</param>
+ public void SetClippingBox(Rectangle box)
+ {
+ NDalicPINVOKE.Layer_SetClippingBox__SWIG_1(swigCPtr, Rectangle.getCPtr(box));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Retrieves the clipping box of a layer in window coordinates.
+ /// </summary>
+ /// <returns>The clipping box</returns>
+ public Rectangle GetClippingBox()
+ {
+ Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetDepthTestDisabled(bool disable)
+ {
+ NDalicPINVOKE.Layer_SetDepthTestDisabled(swigCPtr, disable);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsDepthTestDisabled()
+ {
+ bool ret = NDalicPINVOKE.Layer_IsDepthTestDisabled(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetSortFunction(SWIGTYPE_p_f_r_q_const__Dali__Vector3__float function)
+ {
+ NDalicPINVOKE.Layer_SetSortFunction(swigCPtr, SWIGTYPE_p_f_r_q_const__Dali__Vector3__float.getCPtr(function));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetTouchConsumed(bool consume)
+ {
+ NDalicPINVOKE.Layer_SetTouchConsumed(swigCPtr, consume);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsTouchConsumed()
+ {
+ bool ret = NDalicPINVOKE.Layer_IsTouchConsumed(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetHoverConsumed(bool consume)
+ {
+ NDalicPINVOKE.Layer_SetHoverConsumed(swigCPtr, consume);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal bool IsHoverConsumed()
+ {
+ bool ret = NDalicPINVOKE.Layer_IsHoverConsumed(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Enumeration for the behavior of the layer.
+ /// </summary>
+ public enum LayerBehavior
+ {
+ Layer2D,
+ LayerUI = Layer2D,
+ Layer3D
+ }
+
+ internal enum TreeDepthMultiplier
+ {
+ TREE_DEPTH_MULTIPLIER = 10000
+ }
+
+ /// <summary>
+ /// Layer ClippingEnable, type bool
+ /// </summary>
+ public bool ClippingEnable
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Layer.Property.CLIPPING_ENABLE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Layer.Property.CLIPPING_ENABLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Layer ClippingBox, type Rectangle
+ /// </summary>
+ public Rectangle ClippingBox
+ {
+ get
+ {
+ Rectangle temp = new Rectangle(0, 0, 0, 0);
+ GetProperty(Layer.Property.CLIPPING_BOX).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Layer.Property.CLIPPING_BOX, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Layer Behavior, type String(Layer.LayerBehavior)
+ /// </summary>
+ public Layer.LayerBehavior Behavior
+ {
+ get
+ {
+ return GetBehavior();
+ }
+ set
+ {
+ SetBehavior(value);
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class LinearConstrainer : Handle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal class LinearConstrainer : Handle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal LinearConstrainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LinearConstrainer_SWIGUpcast(cPtr), cMemoryOwn) {
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
}
- public Property() : this(NDalicPINVOKE.new_LinearConstrainer_Property(), true) {
+ internal Property() : this(NDalicPINVOKE.new_LinearConstrainer_Property(), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public static readonly int VALUE = NDalicPINVOKE.LinearConstrainer_Property_VALUE_get();
- public static readonly int PROGRESS = NDalicPINVOKE.LinearConstrainer_Property_PROGRESS_get();
+ internal static readonly int VALUE = NDalicPINVOKE.LinearConstrainer_Property_VALUE_get();
+ internal static readonly int PROGRESS = NDalicPINVOKE.LinearConstrainer_Property_PROGRESS_get();
}
return ret;
}
- public LinearConstrainer(LinearConstrainer handle) : this(NDalicPINVOKE.new_LinearConstrainer__SWIG_1(LinearConstrainer.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ internal LinearConstrainer(LinearConstrainer handle) : this(NDalicPINVOKE.new_LinearConstrainer__SWIG_1(LinearConstrainer.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public LinearConstrainer Assign(LinearConstrainer rhs) {
- LinearConstrainer ret = new LinearConstrainer(NDalicPINVOKE.LinearConstrainer_Assign(swigCPtr, LinearConstrainer.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal LinearConstrainer Assign(LinearConstrainer rhs)
+ {
+ LinearConstrainer ret = new LinearConstrainer(NDalicPINVOKE.LinearConstrainer_Assign(swigCPtr, LinearConstrainer.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
public void Apply(Property target, Property source, Vector2 range, Vector2 wrap) {
NDalicPINVOKE.LinearConstrainer_Apply__SWIG_0(swigCPtr, Property.getCPtr(target), Property.getCPtr(source), Vector2.getCPtr(range), Vector2.getCPtr(wrap));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public void Remove(Handle target) {
- NDalicPINVOKE.LinearConstrainer_Remove(swigCPtr, Handle.getCPtr(target));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ internal void Remove(Handle target)
+ {
+ NDalicPINVOKE.LinearConstrainer_Remove(swigCPtr, Handle.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Tizen.NUI.Property.Array Value
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( LinearConstrainer.Property.VALUE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( LinearConstrainer.Property.VALUE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Array Progress
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( LinearConstrainer.Property.PROGRESS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( LinearConstrainer.Property.PROGRESS, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ public PropertyArray Value
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(LinearConstrainer.Property.VALUE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(LinearConstrainer.Property.VALUE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ public PropertyArray Progress
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(LinearConstrainer.Property.PROGRESS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(LinearConstrainer.Property.PROGRESS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
}
namespace Tizen.NUI {
-public enum LoadingState {
+ internal enum LoadingState {
ResourceLoading,
ResourceLoadingSucceeded,
ResourceLoadingFailed
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// A LongPressGesture is emitted when the user holds the screen with the stated number of fingers.
+ /// Long press gesture finishes when all touches have been released.
+ /// </summary>
+ public class LongPressGesture : Gesture
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class LongPressGesture : Gesture {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal LongPressGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGesture_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal LongPressGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGesture_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGesture obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGesture obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~LongPressGesture()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~LongPressGesture() {
- DisposeQueue.Instance.Add(this);
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_LongPressGesture(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_LongPressGesture(swigCPtr);
+ internal static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr)
+ {
+ LongPressGesture ret = new LongPressGesture(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// The number of touch points in this long press gesture, i.e. the number of fingers the user had
+ /// on the screen to generate the long press gesture.
+ /// </summary>
+ public uint NumberOfTouches
+ {
+ get
+ {
+ return numberOfTouches;
+ }
+ }
- public static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr) {
- LongPressGesture ret = new LongPressGesture(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// This is the point, in screen coordinates, where the long press occurred.
+ /// If a multi-touch long press, then this is the centroid of all the touch points.
+ /// </summary>
+ public Vector2 ScreenPoint
+ {
+ get
+ {
+ return screenPoint;
+ }
+ }
- public uint NumberOfTouches
- {
- get
- {
- return numberOfTouches;
- }
- }
+ /// <summary>
+ /// This is the point, in local actor coordinates, where the long press occurred.
+ /// If a multi-touch long press, then this is the centroid of all the touch points.
+ /// </summary>
+ public Vector2 LocalPoint
+ {
+ get
+ {
+ return localPoint;
+ }
+ }
- public Vector2 ScreenPoint
- {
- get
- {
- return screenPoint;
- }
- }
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="state">The state of the gesture</param>
+ public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Vector2 LocalPoint
- {
- get
- {
- return localPoint;
- }
- }
-
- public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public LongPressGesture(LongPressGesture rhs) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_1(LongPressGesture.getCPtr(rhs)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public LongPressGesture Assign(LongPressGesture rhs) {
- LongPressGesture ret = new LongPressGesture(NDalicPINVOKE.LongPressGesture_Assign(swigCPtr, LongPressGesture.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private uint numberOfTouches {
- set {
- NDalicPINVOKE.LongPressGesture_numberOfTouches_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.LongPressGesture_numberOfTouches_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 screenPoint {
- set {
- NDalicPINVOKE.LongPressGesture_screenPoint_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.LongPressGesture_screenPoint_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 localPoint {
- set {
- NDalicPINVOKE.LongPressGesture_localPoint_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.LongPressGesture_localPoint_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ /// <summary>
+ /// Copy constructor.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ public LongPressGesture(LongPressGesture rhs) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_1(LongPressGesture.getCPtr(rhs)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// Assignment operator.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ /// <returns>A reference to this</returns>
+ public LongPressGesture Assign(LongPressGesture rhs)
+ {
+ LongPressGesture ret = new LongPressGesture(NDalicPINVOKE.LongPressGesture_Assign(swigCPtr, LongPressGesture.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private uint numberOfTouches
+ {
+ set
+ {
+ NDalicPINVOKE.LongPressGesture_numberOfTouches_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.LongPressGesture_numberOfTouches_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 screenPoint
+ {
+ set
+ {
+ NDalicPINVOKE.LongPressGesture_screenPoint_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.LongPressGesture_screenPoint_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 localPoint
+ {
+ set
+ {
+ NDalicPINVOKE.LongPressGesture_localPoint_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.LongPressGesture_localPoint_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class LongPressGestureDetectedSignal : global::System.IDisposable {
+ internal class LongPressGestureDetectedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
public static LongPressGestureDetector GetLongPressGestureDetectorFromPtr(global::System.IntPtr cPtr) {
LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public LongPressGestureDetectedSignal DetectedSignal() {
+ internal LongPressGestureDetectedSignal DetectedSignal() {
LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
public static extern uint PreFocusChangeSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_KeyboardPreFocusChangeSignal_Connect")]
- public static extern void PreFocusChangeSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, FocusManager.PreFocusChangeEventCallbackDelegate delegate1);
+ public static extern void PreFocusChangeSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, FocusManager.PreFocusChangeEventCallback delegate1);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_KeyboardPreFocusChangeSignal_Disconnect")]
public static extern void PreFocusChangeSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Actor_Property_SIBLING_ORDER_get")]
public static extern int Actor_Property_SIBLING_ORDER_get();
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Actor_Property_OPACITY_get")]
+ public static extern int Actor_Property_OPACITY_get();
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Actor_Property_SCREEN_POSITION_get")]
+ public static extern int Actor_Property_SCREEN_POSITION_get();
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Actor_Property_POSITION_USES_ANCHOR_POINT_get")]
+ public static extern int Actor_Property_POSITION_USES_ANCHOR_POINT_get();
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_View_Property_TOOLTIP_get")]
public static extern int View_Property_TOOLTIP_get();
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_View_Property_SUB_STATE_get")]
public static extern int View_Property_SUB_STATE_get();
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_View_Property_LEFT_FOCUSABLE_ACTOR_ID_get")]
+ public static extern int View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get")]
+ public static extern int View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_View_Property_UP_FOCUSABLE_ACTOR_ID_get")]
+ public static extern int View_Property_UP_FOCUSABLE_ACTOR_ID_get();
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_View_Property_DOWN_FOCUSABLE_ACTOR_ID_get")]
+ public static extern int View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_ItemView_Property_LAYOUT_get")]
public static extern int ItemView_Property_LAYOUT_get();
namespace Tizen.NUI {
-public class Matrix : global::System.IDisposable {
+ internal class Matrix : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public Matrix(Quaternion rotation) : this(NDalicPINVOKE.new_Matrix__SWIG_3(Quaternion.getCPtr(rotation)), true) {
+ public Matrix(Rotation rotation) : this(NDalicPINVOKE.new_Matrix__SWIG_3(Rotation.getCPtr(rotation)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public static void Multiply(Matrix result, Matrix lhs, Quaternion rhs) {
- NDalicPINVOKE.Matrix_Multiply__SWIG_1(Matrix.getCPtr(result), Matrix.getCPtr(lhs), Quaternion.getCPtr(rhs));
+ public static void Multiply(Matrix result, Matrix lhs, Rotation rhs) {
+ NDalicPINVOKE.Matrix_Multiply__SWIG_1(Matrix.getCPtr(result), Matrix.getCPtr(lhs), Rotation.getCPtr(rhs));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
return ret;
}
- public void SetTransformComponents(Vector3 scale, Quaternion rotation, Vector3 translation) {
- NDalicPINVOKE.Matrix_SetTransformComponents(swigCPtr, Vector3.getCPtr(scale), Quaternion.getCPtr(rotation), Vector3.getCPtr(translation));
+ public void SetTransformComponents(Vector3 scale, Rotation rotation, Vector3 translation) {
+ NDalicPINVOKE.Matrix_SetTransformComponents(swigCPtr, Vector3.getCPtr(scale), Rotation.getCPtr(rotation), Vector3.getCPtr(translation));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public void SetInverseTransformComponents(Vector3 scale, Quaternion rotation, Vector3 translation) {
- NDalicPINVOKE.Matrix_SetInverseTransformComponents__SWIG_0(swigCPtr, Vector3.getCPtr(scale), Quaternion.getCPtr(rotation), Vector3.getCPtr(translation));
+ public void SetInverseTransformComponents(Vector3 scale, Rotation rotation, Vector3 translation) {
+ NDalicPINVOKE.Matrix_SetInverseTransformComponents__SWIG_0(swigCPtr, Vector3.getCPtr(scale), Rotation.getCPtr(rotation), Vector3.getCPtr(translation));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public void GetTransformComponents(Vector3 position, Quaternion rotation, Vector3 scale) {
- NDalicPINVOKE.Matrix_GetTransformComponents(swigCPtr, Vector3.getCPtr(position), Quaternion.getCPtr(rotation), Vector3.getCPtr(scale));
+ public void GetTransformComponents(Vector3 position, Rotation rotation, Vector3 scale) {
+ NDalicPINVOKE.Matrix_GetTransformComponents(swigCPtr, Vector3.getCPtr(position), Rotation.getCPtr(rotation), Vector3.getCPtr(scale));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
namespace Tizen.NUI {
-public class Matrix3 : global::System.IDisposable {
+ internal class Matrix3 : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
//------------------------------------------------------------------------------
namespace Tizen.NUI {
-
-public enum MeshVisualShadingModeValue {
+/* moved to VisualMaps.cs
+ internal enum MeshVisualShadingModeValue {
TEXTURELESS_WITH_DIFFUSE_LIGHTING,
TEXTURED_WITH_SPECULAR_LIGHTING,
TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING
}
-
+*/
}
namespace Tizen.NUI {
-public enum Meta {
+ internal enum Meta {
DIMENSION_COUNT = 2
}
namespace Tizen.NUI {
-public class Model3dView : View {
+ internal class Model3dView : View {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Model3dView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Model3dView_SWIGUpcast(cPtr), cMemoryOwn) {
}
set
{
- SetProperty( Model3dView.Property.GEOMETRY_URL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.GEOMETRY_URL, new Tizen.NUI.PropertyValue( value ) );
}
}
public string MaterialUrl
}
set
{
- SetProperty( Model3dView.Property.MATERIAL_URL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.MATERIAL_URL, new Tizen.NUI.PropertyValue( value ) );
}
}
public string ImagesUrl
}
set
{
- SetProperty( Model3dView.Property.IMAGES_URL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.IMAGES_URL, new Tizen.NUI.PropertyValue( value ) );
}
}
public int IlluminationType
}
set
{
- SetProperty( Model3dView.Property.ILLUMINATION_TYPE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.ILLUMINATION_TYPE, new Tizen.NUI.PropertyValue( value ) );
}
}
public string Texture0Url
}
set
{
- SetProperty( Model3dView.Property.TEXTURE0_URL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.TEXTURE0_URL, new Tizen.NUI.PropertyValue( value ) );
}
}
public string Texture1Url
}
set
{
- SetProperty( Model3dView.Property.TEXTURE1_URL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.TEXTURE1_URL, new Tizen.NUI.PropertyValue( value ) );
}
}
public string Texture2Url
}
set
{
- SetProperty( Model3dView.Property.TEXTURE2_URL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.TEXTURE2_URL, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector3 LightPosition
}
set
{
- SetProperty( Model3dView.Property.LIGHT_POSITION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Model3dView.Property.LIGHT_POSITION, new Tizen.NUI.PropertyValue( value ) );
}
}
namespace Tizen.NUI {
-public class NDalic {
+ internal class NDalic {
public static uint int_to_uint(int x) {
uint ret = NDalicPINVOKE.int_to_uint(x);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public static string GetName(Property.Type type) {
+ public static string GetName(PropertyType type) {
string ret = NDalicPINVOKE.GetName((int)type);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
}
- public static bool RegisterProperty(string objectName, string name, int index, Property.Type type, System.Delegate setFunc, System.Delegate getFunc) {
+ public static bool RegisterProperty(string objectName, string name, int index, PropertyType type, System.Delegate setFunc, System.Delegate getFunc) {
System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(setFunc);
System.IntPtr ip2 = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(getFunc);
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
+ public static void Raise(Actor actor) {
+ NDalicPINVOKE.Raise(Actor.getCPtr(actor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static void Lower(Actor actor) {
+ NDalicPINVOKE.Lower(Actor.getCPtr(actor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static void RaiseToTop(Actor actor) {
+ NDalicPINVOKE.RaiseToTop(Actor.getCPtr(actor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static void LowerToBottom(Actor actor) {
+ NDalicPINVOKE.LowerToBottom(Actor.getCPtr(actor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static void RaiseAbove(Actor actor, Actor target) {
+ NDalicPINVOKE.RaiseAbove(Actor.getCPtr(actor), Actor.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static void LowerBelow(Actor actor, Actor target) {
+ NDalicPINVOKE.LowerBelow(Actor.getCPtr(actor), Actor.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
public static FittingModeType FittingModeDefault {
get {
FittingModeType ret = (FittingModeType)NDalicPINVOKE.FittingModeDefault_get();
}
}
+ public static SWIGTYPE_p_Dali__SignalT_void_fboolF_t FocusChangedSignal(Window window) {
+ SWIGTYPE_p_Dali__SignalT_void_fboolF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fboolF_t(NDalicPINVOKE.FocusChangedSignal(Window.getCPtr(window)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public static void SetAcceptFocus(Window window, bool accept) {
+ NDalicPINVOKE.SetAcceptFocus(Window.getCPtr(window), accept);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static bool IsFocusAcceptable(Window window) {
+ bool ret = NDalicPINVOKE.IsFocusAcceptable(Window.getCPtr(window));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public static void Show(Window window) {
+ NDalicPINVOKE.Show(Window.getCPtr(window));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static void Hide(Window window) {
+ NDalicPINVOKE.Hide(Window.getCPtr(window));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public static bool IsVisible(Window window) {
+ bool ret = NDalicPINVOKE.IsVisible(Window.getCPtr(window));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
public static ViewImpl GetImplementation(View handle) {
ViewImpl ret = new ViewImpl(NDalicPINVOKE.GetImplementation__SWIG_0(View.getCPtr(handle)), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
+ public static void SetCustomAlgorithm(SWIGTYPE_p_KeyboardFocusManager keyboardFocusManager, CustomAlgorithmInterface arg1) {
+ NDalicPINVOKE.SetCustomAlgorithm(SWIGTYPE_p_KeyboardFocusManager.getCPtr(keyboardFocusManager), CustomAlgorithmInterface.getCPtr(arg1));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
public static readonly int VISUAL_PROPERTY_TYPE = NDalicPINVOKE.VISUAL_PROPERTY_TYPE_get();
public static readonly int VISUAL_PROPERTY_SHADER = NDalicPINVOKE.VISUAL_PROPERTY_SHADER_get();
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Clamp__SWIG_4")]
public static extern global::System.IntPtr Clamp__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2, float jarg3);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_0")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_0();
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Rotation__SWIG_0")]
+ public static extern global::System.IntPtr new_Rotation__SWIG_0();
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_1")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_1(float jarg1, float jarg2, float jarg3, float jarg4);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Rotation__SWIG_1")]
+ public static extern global::System.IntPtr new_Rotation__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_2")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_Rotation")]
+ public static extern void delete_Rotation(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_3")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_3(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_IDENTITY_get")]
+ public static extern global::System.IntPtr Rotation_IDENTITY_get();
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_4")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_IsIdentity")]
+ public static extern bool Rotation_IsIdentity(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_5")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_5(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_GetAxisAngle")]
+ public static extern bool Rotation_GetAxisAngle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_6")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_6(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Add")]
+ public static extern global::System.IntPtr Rotation_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Quaternion__SWIG_7")]
- public static extern global::System.IntPtr new_Quaternion__SWIG_7(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Subtract__SWIG_0")]
+ public static extern global::System.IntPtr Rotation_Subtract__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_Quaternion")]
- public static extern void delete_Quaternion(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Multiply__SWIG_0")]
+ public static extern global::System.IntPtr Rotation_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_IDENTITY_get")]
- public static extern global::System.IntPtr Quaternion_IDENTITY_get();
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Multiply__SWIG_1")]
+ public static extern global::System.IntPtr Rotation_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_IsIdentity")]
- public static extern bool Quaternion_IsIdentity(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Divide__SWIG_0")]
+ public static extern global::System.IntPtr Rotation_Divide__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_ToAxisAngle")]
- public static extern bool Quaternion_ToAxisAngle(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Multiply__SWIG_2")]
+ public static extern global::System.IntPtr Rotation_Multiply__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_AsVector")]
- public static extern global::System.IntPtr Quaternion_AsVector(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Divide__SWIG_1")]
+ public static extern global::System.IntPtr Rotation_Divide__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_SetEuler")]
- public static extern void Quaternion_SetEuler(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Subtract__SWIG_1")]
+ public static extern global::System.IntPtr Rotation_Subtract__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_EulerAngles")]
- public static extern global::System.IntPtr Quaternion_EulerAngles(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_AddAssign")]
+ public static extern global::System.IntPtr Rotation_AddAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Add")]
- public static extern global::System.IntPtr Quaternion_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_SubtractAssign")]
+ public static extern global::System.IntPtr Rotation_SubtractAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Subtract__SWIG_0")]
- public static extern global::System.IntPtr Quaternion_Subtract__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_MultiplyAssign__SWIG_0")]
+ public static extern global::System.IntPtr Rotation_MultiplyAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Multiply__SWIG_0")]
- public static extern global::System.IntPtr Quaternion_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_MultiplyAssign__SWIG_1")]
+ public static extern global::System.IntPtr Rotation_MultiplyAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Multiply__SWIG_1")]
- public static extern global::System.IntPtr Quaternion_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_DivideAssign")]
+ public static extern global::System.IntPtr Rotation_DivideAssign(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Divide__SWIG_0")]
- public static extern global::System.IntPtr Quaternion_Divide__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_EqualTo")]
+ public static extern bool Rotation_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Multiply__SWIG_2")]
- public static extern global::System.IntPtr Quaternion_Multiply__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_NotEqualTo")]
+ public static extern bool Rotation_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Divide__SWIG_1")]
- public static extern global::System.IntPtr Quaternion_Divide__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Length")]
+ public static extern float Rotation_Length(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Subtract__SWIG_1")]
- public static extern global::System.IntPtr Quaternion_Subtract__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_LengthSquared")]
+ public static extern float Rotation_LengthSquared(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_AddAssign")]
- public static extern global::System.IntPtr Quaternion_AddAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Normalize")]
+ public static extern void Rotation_Normalize(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_SubtractAssign")]
- public static extern global::System.IntPtr Quaternion_SubtractAssign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Normalized")]
+ public static extern global::System.IntPtr Rotation_Normalized(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_MultiplyAssign__SWIG_0")]
- public static extern global::System.IntPtr Quaternion_MultiplyAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Conjugate")]
+ public static extern void Rotation_Conjugate(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_MultiplyAssign__SWIG_1")]
- public static extern global::System.IntPtr Quaternion_MultiplyAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Invert")]
+ public static extern void Rotation_Invert(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_DivideAssign")]
- public static extern global::System.IntPtr Quaternion_DivideAssign(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Log")]
+ public static extern global::System.IntPtr Rotation_Log(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_EqualTo")]
- public static extern bool Quaternion_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Exp")]
+ public static extern global::System.IntPtr Rotation_Exp(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_NotEqualTo")]
- public static extern bool Quaternion_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Dot")]
+ public static extern float Rotation_Dot(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Length")]
- public static extern float Quaternion_Length(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Lerp")]
+ public static extern global::System.IntPtr Rotation_Lerp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_LengthSquared")]
- public static extern float Quaternion_LengthSquared(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Slerp")]
+ public static extern global::System.IntPtr Rotation_Slerp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Normalize")]
- public static extern void Quaternion_Normalize(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_SlerpNoInvert")]
+ public static extern global::System.IntPtr Rotation_SlerpNoInvert(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Normalized")]
- public static extern global::System.IntPtr Quaternion_Normalized(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_Squad")]
+ public static extern global::System.IntPtr Rotation_Squad(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, float jarg5);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Conjugate")]
- public static extern void Quaternion_Conjugate(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Invert")]
- public static extern void Quaternion_Invert(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Log")]
- public static extern global::System.IntPtr Quaternion_Log(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Exp")]
- public static extern global::System.IntPtr Quaternion_Exp(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Dot")]
- public static extern float Quaternion_Dot(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Lerp")]
- public static extern global::System.IntPtr Quaternion_Lerp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Slerp")]
- public static extern global::System.IntPtr Quaternion_Slerp(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_SlerpNoInvert")]
- public static extern global::System.IntPtr Quaternion_SlerpNoInvert(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Squad")]
- public static extern global::System.IntPtr Quaternion_Squad(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, float jarg5);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_AngleBetween")]
- public static extern float Quaternion_AngleBetween(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Rotate__SWIG_0")]
- public static extern global::System.IntPtr Quaternion_Rotate__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_Rotate__SWIG_1")]
- public static extern global::System.IntPtr Quaternion_Rotate__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_mVector_set")]
- public static extern void Quaternion_mVector_set(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Quaternion_mVector_get")]
- public static extern global::System.IntPtr Quaternion_mVector_get(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Rotation_AngleBetween")]
+ public static extern float Rotation_AngleBetween(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Matrix__SWIG_0")]
public static extern global::System.IntPtr new_Matrix__SWIG_0();
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Texture_GetHeight")]
public static extern uint Texture_GetHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_Texture__SWIG_2")]
+ public static extern global::System.IntPtr new_Texture__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Sampler_New")]
public static extern global::System.IntPtr Sampler_New();
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_UnparentAndReset")]
public static extern void UnparentAndReset(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Raise")]
+ public static extern void Raise(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Lower")]
+ public static extern void Lower(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_RaiseToTop")]
+ public static extern void RaiseToTop(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LowerToBottom")]
+ public static extern void LowerToBottom(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_RaiseAbove")]
+ public static extern void RaiseAbove(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LowerBelow")]
+ public static extern void LowerBelow(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Layer_Property_CLIPPING_ENABLE_get")]
public static extern int Layer_Property_CLIPPING_ENABLE_get();
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_VoidSignal_Emit")]
public static extern void VoidSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_BoolSignal")]
- public static extern global::System.IntPtr new_BoolSignal();
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_BoolSignal")]
- public static extern void delete_BoolSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_BoolSignal_Empty")]
- public static extern bool BoolSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_BoolSignal_GetConnectionCount")]
- public static extern uint BoolSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_BoolSignal_Connect__SWIG_0")]
- public static extern void BoolSignal_Connect__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_BoolSignal_Disconnect")]
- public static extern void BoolSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_BoolSignal_Connect__SWIG_4")]
- public static extern void BoolSignal_Connect__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_BoolSignal_Emit")]
- public static extern bool BoolSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1);
-
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_FloatSignal_Empty")]
public static extern bool FloatSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Window_IndicatorVisibilityChangedSignal")]
public static extern global::System.IntPtr Window_IndicatorVisibilityChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_FocusChangedSignal")]
+ public static extern global::System.IntPtr FocusChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SetAcceptFocus")]
+ public static extern void SetAcceptFocus(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsFocusAcceptable")]
+ public static extern bool IsFocusAcceptable(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Show")]
+ public static extern void Show(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_Hide")]
+ public static extern void Hide(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_IsVisible")]
+ public static extern bool IsVisible(global::System.Runtime.InteropServices.HandleRef jarg1);
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Application_New__SWIG_0")]
public static extern global::System.IntPtr Application_New__SWIG_0();
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Application_GetWindow")]
public static extern global::System.IntPtr Application_GetWindow(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ //window handle test
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Application_GetWindowHandleFromNUI")]
+ public static extern global::System.IntPtr Application_GetWindowHandleFromNUI(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_Application_ReplaceWindow")]
public static extern void Application_ReplaceWindow(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_ApplicationControlSignal")]
public static extern void delete_ApplicationControlSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_TimerSignalType")]
- public static extern global::System.IntPtr new_TimerSignalType();
-
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_TimerSignalType")]
- public static extern void delete_TimerSignalType(global::System.Runtime.InteropServices.HandleRef jarg1);
-
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_Empty")]
public static extern bool TimerSignalType_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_GetConnectionCount")]
public static extern uint TimerSignalType_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_Connect__SWIG_0")]
- public static extern void TimerSignalType_Connect__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_Connect")]
+ public static extern void TimerSignalType_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_Disconnect")]
public static extern void TimerSignalType_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
- [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_Connect__SWIG_4")]
- public static extern void TimerSignalType_Connect__SWIG_4(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
-
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_TimerSignalType_Emit")]
public static extern bool TimerSignalType_Emit(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_TimerSignalType")]
+ public static extern global::System.IntPtr new_TimerSignalType();
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_TimerSignalType")]
+ public static extern void delete_TimerSignalType(global::System.Runtime.InteropServices.HandleRef jarg1);
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_VISUAL_PROPERTY_TYPE_get")]
public static extern int VISUAL_PROPERTY_TYPE_get();
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_LoadImageSynchronously__SWIG_2")]
public static extern global::System.IntPtr LoadImageSynchronously__SWIG_2(string jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, int jarg3, int jarg4, bool jarg5);
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_delete_CustomAlgorithmInterface")]
+ public static extern void delete_CustomAlgorithmInterface(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_GetNextFocusableActor")]
+ public static extern global::System.IntPtr CustomAlgorithmInterface_GetNextFocusableActor(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, int jarg4);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_new_CustomAlgorithmInterface")]
+ public static extern global::System.IntPtr new_CustomAlgorithmInterface();
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_CustomAlgorithmInterface_director_connect")]
+ public static extern void CustomAlgorithmInterface_director_connect(global::System.Runtime.InteropServices.HandleRef jarg1, CustomAlgorithmInterface.SwigDelegateCustomAlgorithmInterface_0 delegate0);
+
+ [global::System.Runtime.InteropServices.DllImport("NDalic", EntryPoint="CSharp_Dali_SetCustomAlgorithm")]
+ public static extern void SetCustomAlgorithm(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ItemIdContainer_Clear")]
public static extern void ItemIdContainer_Clear(global::System.Runtime.InteropServices.HandleRef jarg1);
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_PagePanSignal")]
public static extern void delete_PagePanSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Empty")]
+ public static extern bool ProgressBarValueChangedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_GetConnectionCount")]
+ public static extern uint ProgressBarValueChangedSignal_GetConnectionCount(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Connect")]
+ public static extern void ProgressBarValueChangedSignal_Connect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Disconnect")]
+ public static extern void ProgressBarValueChangedSignal_Disconnect(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ProgressBarValueChangedSignal_Emit")]
+ public static extern void ProgressBarValueChangedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, float jarg3, float jarg4);
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_new_ProgressBarValueChangedSignal")]
+ public static extern global::System.IntPtr new_ProgressBarValueChangedSignal();
+
+ [global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_delete_ProgressBarValueChangedSignal")]
+ public static extern void delete_ProgressBarValueChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
+
[global::System.Runtime.InteropServices.DllImport("libdali-csharp-binder.so", EntryPoint="CSharp_Dali_ScrollViewSnapStartedSignal_Empty")]
public static extern bool ScrollViewSnapStartedSignal_Empty(global::System.Runtime.InteropServices.HandleRef jarg1);
--- /dev/null
+/*
+ * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+using System;
+using Tizen.Applications;
+using Tizen.NUI;
+
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// Represents an application that have UI screen. The NUIApplication class has a default stage.
+ /// </summary>
+ public class NUIApplication : CoreUIApplication
+ {
+ private void LOG(string _str)
+ {
+ //Tizen.Log.Debug("NUI", _str);
+ //Console.WriteLine("[NUI]" + _str);
+ }
+
+ /// <summary>
+ /// The instance of the Application.
+ /// </summary>
+ /// <remarks>
+ /// This application is created before OnCreate() or created event. And the NUIApplication will be terminated when this application is closed.
+ /// </remarks>
+ private Application _application;
+
+ /// <summary>
+ /// The instance of the Dali Application extension.
+ /// </summary>
+ private ApplicationExtensions _applicationExt;
+
+ /// <summary>
+ /// Store the stylesheet value.
+ /// </summary>
+ private string _stylesheet;
+
+ /// <summary>
+ /// Store the window mode value.
+ /// </summary>
+ private Application.WindowMode _windowMode;
+
+ /// <summary>
+ /// Store the app mode value.
+ /// </summary>
+ private AppMode _appMode;
+
+ /// <summary>
+ /// The instance of the Dali Stage.
+ /// </summary>
+ private Stage _stage;
+
+ /// <summary>
+ /// The default constructor.
+ /// </summary>
+ public NUIApplication() : base()
+ {
+ _appMode = AppMode.Default;
+ }
+
+ /// <summary>
+ /// The constructor with stylesheet.
+ /// </summary>
+ public NUIApplication(string stylesheet) : base()
+ {
+ //handle the stylesheet
+ _appMode = AppMode.StyleSheetOnly;
+ _stylesheet = stylesheet;
+ }
+
+ /// <summary>
+ /// The constructor with stylesheet and window mode.
+ /// </summary>
+ public NUIApplication(string stylesheet, WindowMode windowMode) : base()
+ {
+ //handle the stylesheet and windowMode
+ _appMode = AppMode.StyleSheetWithWindowMode;
+ _stylesheet = stylesheet;
+ _windowMode = (Application.WindowMode)windowMode;
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnPause()
+ {
+ base.OnPause();
+ _applicationExt.Pause();
+ LOG("OnPause() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior before calling OnCreate().
+ /// stage property is initialized in this overrided method.
+ /// </summary>
+ protected override void OnPreCreate()
+ {
+ switch (_appMode)
+ {
+ case AppMode.Default:
+ _application = Tizen.NUI.Application.NewApplication();
+ break;
+ case AppMode.StyleSheetOnly:
+ _application = Tizen.NUI.Application.NewApplication(_stylesheet);
+ break;
+ case AppMode.StyleSheetWithWindowMode:
+ _application = Tizen.NUI.Application.NewApplication(_stylesheet, _windowMode);
+ break;
+ default:
+ break;
+ }
+ _applicationExt = new ApplicationExtensions(_application);
+ _applicationExt.Init();
+
+ _stage = Stage.Instance;
+ _stage.SetBackgroundColor(Color.White);
+ LOG("OnPreCreate() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnResume()
+ {
+ base.OnResume();
+ _applicationExt.Resume();
+ LOG("OnResume() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnAppControlReceived(AppControlReceivedEventArgs e)
+ {
+ base.OnAppControlReceived(e);
+ LOG("OnAppControlReceived() is called!");
+ if (e != null)
+ {
+ LOG("OnAppControlReceived() is called! ApplicationId=" + e.ReceivedAppControl.ApplicationId);
+ LOG("CallerApplicationId=" + e.ReceivedAppControl.CallerApplicationId + " IsReplyRequest=" + e.ReceivedAppControl.IsReplyRequest);
+ }
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnCreate()
+ {
+ base.OnCreate();
+ LOG("OnCreate() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnLocaleChanged(LocaleChangedEventArgs e)
+ {
+ base.OnLocaleChanged(e);
+ _applicationExt.LanguageChange();
+ LOG("OnLocaleChanged() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnLowBattery(LowBatteryEventArgs e)
+ {
+ base.OnLowBattery(e);
+ LOG("OnLowBattery() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnLowMemory(LowMemoryEventArgs e)
+ {
+ base.OnLowMemory(e);
+ LOG("OnLowMemory() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
+ {
+ base.OnRegionFormatChanged(e);
+ LOG("OnRegionFormatChanged() is called!");
+ }
+
+ /// <summary>
+ /// Overrides this method if want to handle behavior.
+ /// </summary>
+ protected override void OnTerminate()
+ {
+ base.OnTerminate();
+ _applicationExt.Terminate();
+ LOG("OnTerminate() is called!");
+ }
+
+ /// <summary>
+ /// The mode of creating NUI application.
+ /// </summary>
+ private enum AppMode
+ {
+ Default = 0,
+ StyleSheetOnly = 1,
+ StyleSheetWithWindowMode = 2
+ }
+
+ /// <summary>
+ /// Enumeration for deciding whether a NUI application window is opaque or transparent.
+ /// </summary>
+ public enum WindowMode
+ {
+ Opaque = 0,
+ Transparent = 1
+ }
+
+ }
+}
\ No newline at end of file
namespace Tizen.NUI {
-public class NativeImage : Image {
+ internal class NativeImage : Image {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal NativeImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.NativeImage_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class NativeImageInterface : RefObject {
+ internal class NativeImageInterface : RefObject {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal NativeImageInterface(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.NativeImageInterface_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class NinePatchImage : ResourceImage {
+ internal class NinePatchImage : ResourceImage {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal NinePatchImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.NinePatchImage_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class ObjectCreatedSignal : global::System.IDisposable {
+ internal class ObjectCreatedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class ObjectDestroyedSignal : global::System.IDisposable {
+ internal class ObjectDestroyedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
using System.Runtime.InteropServices;
-public class ObjectRegistry : BaseHandle {
+ internal class ObjectRegistry : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ObjectRegistry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ObjectRegistry_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class PageFactory : global::System.IDisposable {
+ internal class PageFactory : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class PagePanSignal : global::System.IDisposable {
+ internal class PagePanSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class PageTurnLandscapeView : PageTurnView {
+ internal class PageTurnLandscapeView : PageTurnView {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PageTurnLandscapeView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PageTurnLandscapeView_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class PageTurnPortraitView : PageTurnView {
+ internal class PageTurnPortraitView : PageTurnView {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PageTurnPortraitView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PageTurnPortraitView_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class PageTurnSignal : global::System.IDisposable {
+ internal class PageTurnSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
using System.Runtime.InteropServices;
-public class PageTurnView : View {
+ internal class PageTurnView : View {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PageTurnView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PageTurnView_SWIGUpcast(cPtr), cMemoryOwn) {
public static PageTurnView GetPageTurnViewFromPtr(global::System.IntPtr cPtr) {
PageTurnView ret = new PageTurnView(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
}
set
{
- SetProperty( PageTurnView.Property.PAGE_SIZE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( PageTurnView.Property.PAGE_SIZE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int CurrentPageId
}
set
{
- SetProperty( PageTurnView.Property.CURRENT_PAGE_ID, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( PageTurnView.Property.CURRENT_PAGE_ID, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 SpineShadow
}
set
{
- SetProperty( PageTurnView.Property.SPINE_SHADOW, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( PageTurnView.Property.SPINE_SHADOW, new Tizen.NUI.PropertyValue( value ) );
}
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// A PanGesture is emitted when the user moves one or more fingers in a particular direction.
+ /// A pan gesture will end in the following ways:
+ /// - User releases the primary finger (the first touch).
+ /// - User has more fingers on the screen than the maximum specified.
+ /// - User has less fingers on the screen than the minimum specified.
+ /// - Cancelled by the system.
+ /// A pan gesture will continue to be sent to the actor under than initial pan until it ends.
+ /// </summary>
+ public class PanGesture : Gesture
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class PanGesture : Gesture {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGesture obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGesture obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~PanGesture()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~PanGesture() {
- DisposeQueue.Instance.Add(this);
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_PanGesture(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_PanGesture(swigCPtr);
+ internal static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr)
+ {
+ PanGesture ret = new PanGesture(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// The velocity at which the user is moving their fingers.
+ /// This is represented as a Vector2 and is the pixel movement per millisecond.
+ /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
+ /// A positive y value shows that the user is panning downwards, a negative y values means upwards.
+ /// </summary>
+ public Vector2 Velocity
+ {
+ get
+ {
+ return velocity;
+ }
+ }
- public static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr) {
- PanGesture ret = new PanGesture(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// This is a Vector2 showing how much the user has panned (dragged) since the last pan gesture or,
+ /// if the gesture has just started, then the amount panned since the user touched the screen.
+ /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
+ /// A positive y value shows that the user is panning downwards, a negative y value means upwards.
+ /// </summary>
+ public Vector2 Displacement
+ {
+ get
+ {
+ return displacement;
+ }
+ }
- public Vector2 Velocity
- {
- get
- {
- return velocity;
- }
- }
+ /// <summary>
+ /// This current touch position of the primary touch point in local actor coordinates.
+ /// </summary>
+ public Vector2 Position
+ {
+ get
+ {
+ return position;
+ }
+ }
- public Vector2 Displacement
- {
- get
- {
- return displacement;
- }
- }
+ /// <summary>
+ /// The velocity at which the user is moving their fingers.
+ /// This is represented as a Vector2 and is the pixel movement per millisecond.
+ /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
+ /// A positive y value shows that the user is panning downwards, a negative y values means upwards.
+ /// This value represents the screen coordinates.
+ /// </summary>
+ public Vector2 ScreenVelocity
+ {
+ get
+ {
+ return screenVelocity;
+ }
+ }
- public Vector2 Position
- {
- get
- {
- return position;
- }
- }
+ /// <summary>
+ /// This is a Vector2 showing how much the user has panned (dragged) since the last pan gesture or,
+ /// if the gesture has just started, then the amount panned since the user touched the screen.
+ /// A positive x value shows that the user is panning to the right, a negative x value means the opposite.
+ /// A positive y value shows that the user is panning downwards, a negative y value means upwards.
+ /// This value is in screen coordinates.
+ /// </summary>
+ public Vector2 ScreenDisplacement
+ {
+ get
+ {
+ return screenDisplacement;
+ }
+ }
- public Vector2 ScreenVelocity
- {
- get
- {
- return screenVelocity;
- }
- }
+ /// <summary>
+ /// This current touch position of the primary touch point in screen coordinates.
+ /// </summary>
+ public Vector2 ScreenPosition
+ {
+ get
+ {
+ return screenPosition;
+ }
+ }
- public Vector2 ScreenDisplacement
- {
- get
- {
- return screenDisplacement;
- }
- }
+ /// <summary>
+ /// The total number of fingers touching the screen in a pan gesture.
+ /// </summary>
+ public uint NumberOfTouches
+ {
+ get
+ {
+ return numberOfTouches;
+ }
+ }
- public Vector2 ScreenPosition
- {
- get
- {
- return screenPosition;
- }
- }
+ /// <summary>
+ /// Default Constructor.
+ /// </summary>
+ public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public uint NumberOfTouches
- {
- get
- {
- return numberOfTouches;
- }
- }
-
- public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PanGesture(PanGesture rhs) : this(NDalicPINVOKE.new_PanGesture__SWIG_2(PanGesture.getCPtr(rhs)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PanGesture Assign(PanGesture rhs) {
- PanGesture ret = new PanGesture(NDalicPINVOKE.PanGesture_Assign(swigCPtr, PanGesture.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private Vector2 velocity {
- set {
- NDalicPINVOKE.PanGesture_velocity_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_velocity_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 displacement {
- set {
- NDalicPINVOKE.PanGesture_displacement_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_displacement_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 position {
- set {
- NDalicPINVOKE.PanGesture_position_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_position_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 screenVelocity {
- set {
- NDalicPINVOKE.PanGesture_screenVelocity_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenVelocity_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 screenDisplacement {
- set {
- NDalicPINVOKE.PanGesture_screenDisplacement_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenDisplacement_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 screenPosition {
- set {
- NDalicPINVOKE.PanGesture_screenPosition_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenPosition_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private uint numberOfTouches {
- set {
- NDalicPINVOKE.PanGesture_numberOfTouches_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.PanGesture_numberOfTouches_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float GetSpeed() {
- float ret = NDalicPINVOKE.PanGesture_GetSpeed(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetDistance() {
- float ret = NDalicPINVOKE.PanGesture_GetDistance(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetScreenSpeed() {
- float ret = NDalicPINVOKE.PanGesture_GetScreenSpeed(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetScreenDistance() {
- float ret = NDalicPINVOKE.PanGesture_GetScreenDistance(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="state">The state of the gesture</param>
+ public PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// Copy constructor.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ public PanGesture(PanGesture rhs) : this(NDalicPINVOKE.new_PanGesture__SWIG_2(PanGesture.getCPtr(rhs)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Assignment operator.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ /// <returns>A reference to this</returns>
+ public PanGesture Assign(PanGesture rhs)
+ {
+ PanGesture ret = new PanGesture(NDalicPINVOKE.PanGesture_Assign(swigCPtr, PanGesture.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Vector2 velocity
+ {
+ set
+ {
+ NDalicPINVOKE.PanGesture_velocity_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_velocity_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 displacement
+ {
+ set
+ {
+ NDalicPINVOKE.PanGesture_displacement_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_displacement_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 position
+ {
+ set
+ {
+ NDalicPINVOKE.PanGesture_position_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_position_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 screenVelocity
+ {
+ set
+ {
+ NDalicPINVOKE.PanGesture_screenVelocity_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenVelocity_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 screenDisplacement
+ {
+ set
+ {
+ NDalicPINVOKE.PanGesture_screenDisplacement_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenDisplacement_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 screenPosition
+ {
+ set
+ {
+ NDalicPINVOKE.PanGesture_screenPosition_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PanGesture_screenPosition_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private uint numberOfTouches
+ {
+ set
+ {
+ NDalicPINVOKE.PanGesture_numberOfTouches_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.PanGesture_numberOfTouches_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Returns the speed at which the user is moving their fingers.
+ /// This is the pixel movement per millisecond.
+ /// </summary>
+ /// <returns>The speed of the pan (in pixels per millisecond)</returns>
+ public float GetSpeed()
+ {
+ float ret = NDalicPINVOKE.PanGesture_GetSpeed(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// This returns the distance the user has panned (dragged) since the last pan gesture or,
+ /// if the gesture has just started, then the distance moved since the user touched the screen.
+ /// This is always a positive value.
+ /// </summary>
+ /// <returns>The distance, as a float, a user's finger has panned</returns>
+ public float GetDistance()
+ {
+ float ret = NDalicPINVOKE.PanGesture_GetDistance(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the speed at which the user is moving their fingers relative to screen coordinates.
+ /// This is the pixel movement per millisecond.
+ /// </summary>
+ /// <returns>The speed of the pan (in pixels per millisecond)</returns>
+ public float GetScreenSpeed()
+ {
+ float ret = NDalicPINVOKE.PanGesture_GetScreenSpeed(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// This returns the distance the user has panned (dragged) since the last pan gesture in screen
+ /// coordinates or, if the gesture has just started, then the distance in screen coordinates moved
+ /// since the user touched the screen.
+ /// This is always a positive value.
+ /// </summary>
+ /// <returns>The distance, as a float, a user's finger has panned</returns>
+ public float GetScreenDistance()
+ {
+ float ret = NDalicPINVOKE.PanGesture_GetScreenDistance(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ }
}
namespace Tizen.NUI {
-public class PanGestureDetectedSignal : global::System.IDisposable {
+ internal class PanGestureDetectedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
public static PanGestureDetector GetPanGestureDetectorFromPtr(global::System.IntPtr cPtr) {
PanGestureDetector ret = new PanGestureDetector(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public AngleThresholdPair GetAngle(uint index) {
- AngleThresholdPair ret = new AngleThresholdPair(NDalicPINVOKE.PanGestureDetector_GetAngle(swigCPtr, index), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal AngleThresholdPair GetAngle(uint index)
+ {
+ AngleThresholdPair ret = new AngleThresholdPair(NDalicPINVOKE.PanGestureDetector_GetAngle(swigCPtr, index), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
public void ClearAngles() {
NDalicPINVOKE.PanGestureDetector_ClearAngles(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public PanGestureDetectedSignal DetectedSignal() {
- PanGestureDetectedSignal ret = new PanGestureDetectedSignal(NDalicPINVOKE.PanGestureDetector_DetectedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal PanGestureDetectedSignal DetectedSignal()
+ {
+ PanGestureDetectedSignal ret = new PanGestureDetectedSignal(NDalicPINVOKE.PanGestureDetector_DetectedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
public static void SetPanGestureProperties(PanGesture pan) {
NDalicPINVOKE.PanGestureDetector_SetPanGestureProperties(PanGesture.getCPtr(pan));
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Path : Handle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// A 3D parametric curve.
+ /// Paths can be used to animate position and orientation of actors.
+ /// </summary>
+ public class Path : Handle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Path() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Path()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Path(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Path(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Path_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_Path_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
- public static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
-
- }
-
- public Path () : this (NDalicPINVOKE.Path_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public new static Path DownCast(BaseHandle handle) {
- Path ret = new Path(NDalicPINVOKE.Path_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Path(Path handle) : this(NDalicPINVOKE.new_Path__SWIG_1(Path.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Path Assign(Path rhs) {
- Path ret = new Path(NDalicPINVOKE.Path_Assign(swigCPtr, Path.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void AddPoint(Vector3 point) {
- NDalicPINVOKE.Path_AddPoint(swigCPtr, Vector3.getCPtr(point));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AddControlPoint(Vector3 point) {
- NDalicPINVOKE.Path_AddControlPoint(swigCPtr, Vector3.getCPtr(point));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void GenerateControlPoints(float curvature) {
- NDalicPINVOKE.Path_GenerateControlPoints(swigCPtr, curvature);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Sample(float progress, Vector3 position, Vector3 tangent) {
- NDalicPINVOKE.Path_Sample(swigCPtr, progress, Vector3.getCPtr(position), Vector3.getCPtr(tangent));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3 GetPoint(uint index) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Path_GetPoint(swigCPtr, index), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 GetControlPoint(uint index) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Path_GetControlPoint(swigCPtr, index), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetPointCount() {
- uint ret = NDalicPINVOKE.Path_GetPointCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Tizen.NUI.Property.Array Points
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( Path.Property.POINTS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Path.Property.POINTS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Array ControlPoints
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( Path.Property.CONTROL_POINTS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Path.Property.CONTROL_POINTS, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
-}
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Path_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_Path_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
+ internal static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
+
+ }
+
+ /// <summary>
+ /// Creates an initialized Path handle.
+ /// </summary>
+ public Path() : this(NDalicPINVOKE.Path_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ /// <summary>
+ /// Downcasts a handle to Path handle.
+ /// If handle points to a Path object, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ public new static Path DownCast(BaseHandle handle)
+ {
+ Path ret = new Path(NDalicPINVOKE.Path_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Path(Path handle) : this(NDalicPINVOKE.new_Path__SWIG_1(Path.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Path Assign(Path rhs)
+ {
+ Path ret = new Path(NDalicPINVOKE.Path_Assign(swigCPtr, Path.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Adds an interpolation point.
+ /// </summary>
+ /// <param name="point">The new interpolation point to be added</param>
+ public void AddPoint(Position point)
+ {
+ NDalicPINVOKE.Path_AddPoint(swigCPtr, Position.getCPtr(point));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Adds a control point.
+ /// </summary>
+ /// <param name="point">The new control point to be added</param>
+ public void AddControlPoint(Vector3 point)
+ {
+ NDalicPINVOKE.Path_AddControlPoint(swigCPtr, Vector3.getCPtr(point));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Automatic generation of control points. Generated control points which result in a smooth join between the splines of each segment.
+ /// The generating algorithm is as follows:
+ /// For a given knot point K[N], find the vector that bisects K[N-1],[N] and [N],[N+1].
+ /// Calculate the tangent vector by taking the normal of this bisector.
+ /// The in control point is the length of the preceding segment back along this bisector multiplied by the curvature.
+ /// The out control point is the length of the succeeding segment forward along this bisector multiplied by the curvature.
+ /// </summary>
+ /// <param name="curvature">The curvature of the spline. 0 gives straight lines between the knots, negative values means the spline contains loops, positive values up to 0.5 result in a smooth curve, positive values between 0.5 and 1 result in looped curves where the loops are not distinct (i.e. the curve appears to be non-continuous), positive values higher than 1 result in looped curves</param>
+ public void GenerateControlPoints(float curvature)
+ {
+ NDalicPINVOKE.Path_GenerateControlPoints(swigCPtr, curvature);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Sample path at a given progress. Calculates position and tangent at that point of the curve.
+ /// </summary>
+ /// <param name="progress">A floating point value between 0.0 and 1.0</param>
+ /// <param name="position">The interpolated position at that progress</param>
+ /// <param name="tangent">The interpolated tangent at that progress</param>
+ public void Sample(float progress, Vector3 position, Vector3 tangent)
+ {
+ NDalicPINVOKE.Path_Sample(swigCPtr, progress, Vector3.getCPtr(position), Vector3.getCPtr(tangent));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Accessor for the interpolation points.
+ /// </summary>
+ /// <param name="index">The index of the interpolation point</param>
+ public Vector3 GetPoint(uint index)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Path_GetPoint(swigCPtr, index), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Accessor for the control points.
+ /// </summary>
+ /// <param name="index">The index of the control point</param>
+ public Vector3 GetControlPoint(uint index)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Path_GetControlPoint(swigCPtr, index), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Gets the number of interpolation points in the path.
+ /// </summary>
+ /// <returns>The number of interpolation points in the path</returns>
+ public uint GetPointCount()
+ {
+ uint ret = NDalicPINVOKE.Path_GetPointCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Enumeration for Points
+ /// </summary>
+ public PropertyArray Points
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(Path.Property.POINTS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Path.Property.POINTS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Enumeration for ControlPoints
+ /// </summary>
+ public PropertyArray ControlPoints
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(Path.Property.CONTROL_POINTS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Path.Property.CONTROL_POINTS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class PathConstrainer : Handle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal class PathConstrainer : Handle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PathConstrainer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PathConstrainer_SWIGUpcast(cPtr), cMemoryOwn) {
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public static readonly int FORWARD = NDalicPINVOKE.PathConstrainer_Property_FORWARD_get();
- public static readonly int POINTS = NDalicPINVOKE.PathConstrainer_Property_POINTS_get();
- public static readonly int CONTROL_POINTS = NDalicPINVOKE.PathConstrainer_Property_CONTROL_POINTS_get();
+ internal static readonly int FORWARD = NDalicPINVOKE.PathConstrainer_Property_FORWARD_get();
+ internal static readonly int POINTS = NDalicPINVOKE.PathConstrainer_Property_POINTS_get();
+ internal static readonly int CONTROL_POINTS = NDalicPINVOKE.PathConstrainer_Property_CONTROL_POINTS_get();
}
return ret;
}
- public PathConstrainer(PathConstrainer handle) : this(NDalicPINVOKE.new_PathConstrainer__SWIG_1(PathConstrainer.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ internal PathConstrainer(PathConstrainer handle) : this(NDalicPINVOKE.new_PathConstrainer__SWIG_1(PathConstrainer.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public PathConstrainer Assign(PathConstrainer rhs) {
- PathConstrainer ret = new PathConstrainer(NDalicPINVOKE.PathConstrainer_Assign(swigCPtr, PathConstrainer.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal PathConstrainer Assign(PathConstrainer rhs)
+ {
+ PathConstrainer ret = new PathConstrainer(NDalicPINVOKE.PathConstrainer_Assign(swigCPtr, PathConstrainer.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
public void Apply(Property target, Property source, Vector2 range, Vector2 wrap) {
NDalicPINVOKE.PathConstrainer_Apply__SWIG_0(swigCPtr, Property.getCPtr(target), Property.getCPtr(source), Vector2.getCPtr(range), Vector2.getCPtr(wrap));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public void Remove(Handle target) {
- NDalicPINVOKE.PathConstrainer_Remove(swigCPtr, Handle.getCPtr(target));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ internal void Remove(Handle target)
+ {
+ NDalicPINVOKE.PathConstrainer_Remove(swigCPtr, Handle.getCPtr(target));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Vector3 Forward
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( PathConstrainer.Property.FORWARD).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( PathConstrainer.Property.FORWARD, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Array Points
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( PathConstrainer.Property.POINTS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( PathConstrainer.Property.POINTS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Array ControlPoints
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( PathConstrainer.Property.CONTROL_POINTS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( PathConstrainer.Property.CONTROL_POINTS, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ public Vector3 Forward
+ {
+ get
+ {
+ Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+ GetProperty(PathConstrainer.Property.FORWARD).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(PathConstrainer.Property.FORWARD, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ public PropertyArray Points
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(PathConstrainer.Property.POINTS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(PathConstrainer.Property.POINTS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ public PropertyArray ControlPoints
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(PathConstrainer.Property.CONTROL_POINTS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(PathConstrainer.Property.CONTROL_POINTS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// A PinchGesture is emitted when the user moves two fingers towards or away from each other.
+ /// A pinch gesture will continue to be sent to the actor under the center point of the pinch until the pinch ends.
+ /// </summary>
+ public class PinchGesture : Gesture
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class PinchGesture : Gesture {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal PinchGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PinchGesture_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal PinchGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PinchGesture_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGesture obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGesture obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~PinchGesture()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~PinchGesture() {
- DisposeQueue.Instance.Add(this);
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_PinchGesture(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_PinchGesture(swigCPtr);
+ internal static PinchGesture GetPinchGestureFromPtr(global::System.IntPtr cPtr)
+ {
+ PinchGesture ret = new PinchGesture(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// The scale factor from the start of the pinch gesture till the latest pinch gesture.
+ /// If the user is moving their fingers away from each other, then
+ /// this value increases. Conversely, if the user is moving their
+ /// fingers towards each other, this value will decrease.
+ /// </summary>
+ public float Scale
+ {
+ get
+ {
+ return scale;
+ }
+ }
- public static PinchGesture GetPinchGestureFromPtr(global::System.IntPtr cPtr) {
- PinchGesture ret = new PinchGesture(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// The speed at which the user is moving their fingers.
+ /// This is the pixel movement per second.
+ /// </summary>
+ public float Speed
+ {
+ get
+ {
+ return speed;
+ }
+ }
- public float Scale
- {
- get
- {
- return scale;
- }
- }
+ /// <summary>
+ /// The center point of the two points that caused the pinch gesture in screen coordinates.
+ /// </summary>
+ public Vector2 ScreenCenterPoint
+ {
+ get
+ {
+ return screenCenterPoint;
+ }
+ }
- public float Speed
- {
- get
- {
- return speed;
- }
- }
+ /// <summary>
+ /// The center point of the two points that caused the pinch gesture in local actor coordinates.
+ /// </summary>
+ public Vector2 LocalCenterPoint
+ {
+ get
+ {
+ return localCenterPoint;
+ }
+ }
- public Vector2 ScreenCenterPoint
- {
- get
- {
- return screenCenterPoint;
- }
- }
+ /// <summary>
+ /// Default Constructor.
+ /// </summary>
+ /// <param name="state">The state of the gesture</param>
+ public PinchGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PinchGesture__SWIG_0((int)state), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Vector2 LocalCenterPoint
- {
- get
- {
- return localCenterPoint;
- }
- }
-
- public PinchGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PinchGesture__SWIG_0((int)state), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PinchGesture(PinchGesture rhs) : this(NDalicPINVOKE.new_PinchGesture__SWIG_1(PinchGesture.getCPtr(rhs)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PinchGesture Assign(PinchGesture rhs) {
- PinchGesture ret = new PinchGesture(NDalicPINVOKE.PinchGesture_Assign(swigCPtr, PinchGesture.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private float scale {
- set {
- NDalicPINVOKE.PinchGesture_scale_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.PinchGesture_scale_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private float speed {
- set {
- NDalicPINVOKE.PinchGesture_speed_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.PinchGesture_speed_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 screenCenterPoint {
- set {
- NDalicPINVOKE.PinchGesture_screenCenterPoint_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PinchGesture_screenCenterPoint_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 localCenterPoint {
- set {
- NDalicPINVOKE.PinchGesture_localCenterPoint_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.PinchGesture_localCenterPoint_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ /// <summary>
+ /// Copy constructor.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ public PinchGesture(PinchGesture rhs) : this(NDalicPINVOKE.new_PinchGesture__SWIG_1(PinchGesture.getCPtr(rhs)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// Assignment operator.
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ /// <returns>A reference to this</returns>
+ public PinchGesture Assign(PinchGesture rhs)
+ {
+ PinchGesture ret = new PinchGesture(NDalicPINVOKE.PinchGesture_Assign(swigCPtr, PinchGesture.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private float scale
+ {
+ set
+ {
+ NDalicPINVOKE.PinchGesture_scale_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.PinchGesture_scale_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private float speed
+ {
+ set
+ {
+ NDalicPINVOKE.PinchGesture_speed_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.PinchGesture_speed_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 screenCenterPoint
+ {
+ set
+ {
+ NDalicPINVOKE.PinchGesture_screenCenterPoint_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PinchGesture_screenCenterPoint_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 localCenterPoint
+ {
+ set
+ {
+ NDalicPINVOKE.PinchGesture_localCenterPoint_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.PinchGesture_localCenterPoint_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class PinchGestureDetectedSignal : global::System.IDisposable {
+ internal class PinchGestureDetectedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
public static PinchGestureDetector GetPinchGestureDetectorFromPtr(global::System.IntPtr cPtr) {
PinchGestureDetector ret = new PinchGestureDetector(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public PinchGestureDetectedSignal DetectedSignal() {
+ internal PinchGestureDetectedSignal DetectedSignal() {
PinchGestureDetectedSignal ret = new PinchGestureDetectedSignal(NDalicPINVOKE.PinchGestureDetector_DetectedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
namespace Tizen.NUI {
-public class PixelData : BaseHandle {
+ internal class PixelData : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PixelData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelData_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public enum PixelFormat {
+ internal enum PixelFormat {
INVALID = 0,
A8 = 1,
L8,
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum PointStateType {
- STARTED,
- FINISHED,
- DOWN = STARTED,
- UP = FINISHED,
- MOTION,
- LEAVE,
- STATIONARY,
- INTERRUPTED
-}
-
-}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-using System;
-using System.Runtime.InteropServices;
+ using System;
+ using System.Runtime.InteropServices;
-public class Popup : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// The Popup widget provides a configurable pop-up dialog with built-in layout of three main fields.
+ /// </summary>
+ public class Popup : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal Popup(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Popup_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Popup(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Popup_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Popup obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Popup obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Popup()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Popup(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~Popup() {
- DisposeQueue.Instance.Add(this);
- }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Popup(swigCPtr);
+ /// <summary>
+ /// Event arguments that passed via OutsideTouchedEvent
+ /// </summary>
+ public class OutsideTouchedEventArgs : EventArgs
+ {
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-
+ /// <summary>
+ /// Event arguments that passed via ShowingEventArgs
+ /// </summary>
+ public class ShowingEventArgs : EventArgs
+ {
+ }
- public class OutsideTouchedEventArgs : EventArgs
- {
- }
-
- public class ShowingEventArgs : EventArgs
- {
- }
-
- public class ShownEventArgs : EventArgs
- {
- }
-
- public class HidingEventArgs : EventArgs
- {
- }
-
- public class HiddenEventArgs : EventArgs
- {
- }
+ /// <summary>
+ /// Event arguments that passed via ShownEventArgs
+ /// </summary>
+ public class ShownEventArgs : EventArgs
+ {
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void OutsideTouchedEventCallbackDelegate();
- private DaliEventHandler<object,OutsideTouchedEventArgs> _popUpOutsideTouchedEventHandler;
- private OutsideTouchedEventCallbackDelegate _popUpOutsideTouchedEventCallbackDelegate;
+ /// <summary>
+ /// Event arguments that passed via HidingEventArgs
+ /// </summary>
+ public class HidingEventArgs : EventArgs
+ {
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void ShowingEventCallbackDelegate();
- private DaliEventHandler<object,ShowingEventArgs> _popUpShowingEventHandler;
- private ShowingEventCallbackDelegate _popUpShowingEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void ShownEventCallbackDelegate();
- private DaliEventHandler<object,ShownEventArgs> _popUpShownEventHandler;
- private ShownEventCallbackDelegate _popUpShownEventCallbackDelegate;
+ /// <summary>
+ /// Event arguments that passed via HiddenEventArgs
+ /// </summary>
+ public class HiddenEventArgs : EventArgs
+ {
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void HidingEventCallbackDelegate();
- private DaliEventHandler<object,HidingEventArgs> _popUpHidingEventHandler;
- private HidingEventCallbackDelegate _popUpHidingEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void HiddenEventCallbackDelegate();
- private DaliEventHandler<object,HiddenEventArgs> _popUpHiddenEventHandler;
- private HiddenEventCallbackDelegate _popUpHiddenEventCallbackDelegate;
-
- public event DaliEventHandler<object,OutsideTouchedEventArgs> OutsideTouched
- {
- add
- {
- lock(this)
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void OutsideTouchedEventCallbackDelegate();
+ private EventHandler<OutsideTouchedEventArgs> _popUpOutsideTouchedEventHandler;
+ private OutsideTouchedEventCallbackDelegate _popUpOutsideTouchedEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void ShowingEventCallbackDelegate();
+ private EventHandler<ShowingEventArgs> _popUpShowingEventHandler;
+ private ShowingEventCallbackDelegate _popUpShowingEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void ShownEventCallbackDelegate();
+ private EventHandler<ShownEventArgs> _popUpShownEventHandler;
+ private ShownEventCallbackDelegate _popUpShownEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void HidingEventCallbackDelegate();
+ private EventHandler<HidingEventArgs> _popUpHidingEventHandler;
+ private HidingEventCallbackDelegate _popUpHidingEventCallbackDelegate;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void HiddenEventCallbackDelegate();
+ private EventHandler<HiddenEventArgs> _popUpHiddenEventHandler;
+ private HiddenEventCallbackDelegate _popUpHiddenEventCallbackDelegate;
+
+ /// <summary>
+ /// Event is sent when user has touched outside of the Dialog.
+ /// </summary>
+ public event EventHandler<OutsideTouchedEventArgs> OutsideTouched
{
- // Restricted to only one listener
- if (_popUpOutsideTouchedEventHandler == null)
- {
- _popUpOutsideTouchedEventHandler += value;
-
- _popUpOutsideTouchedEventCallbackDelegate = new OutsideTouchedEventCallbackDelegate(OnOutsideTouched);
- this.OutsideTouchedSignal().Connect(_popUpOutsideTouchedEventCallbackDelegate);
- }
+ add
+ {
+ if (_popUpOutsideTouchedEventHandler == null)
+ {
+ _popUpOutsideTouchedEventCallbackDelegate = (OnOutsideTouched);
+ OutsideTouchedSignal().Connect(_popUpOutsideTouchedEventCallbackDelegate);
+ }
+ _popUpOutsideTouchedEventHandler += value;
+ }
+ remove
+ {
+ _popUpOutsideTouchedEventHandler -= value;
+ if (_popUpOutsideTouchedEventHandler == null && _popUpOutsideTouchedEventCallbackDelegate != null)
+ {
+ this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
+ }
+ }
}
- }
- remove
- {
- lock(this)
+ // Callback for Popup OutsideTouchedSignal
+ private void OnOutsideTouched()
{
- if (_popUpOutsideTouchedEventHandler != null)
- {
- this.OutsideTouchedSignal().Disconnect(_popUpOutsideTouchedEventCallbackDelegate);
- }
+ OutsideTouchedEventArgs e = new OutsideTouchedEventArgs();
- _popUpOutsideTouchedEventHandler -= value;
- }
- }
- }
-
- // Callback for Popup OutsideTouchedSignal
- private void OnOutsideTouched()
- {
- OutsideTouchedEventArgs e = new OutsideTouchedEventArgs();
-
- if (_popUpOutsideTouchedEventHandler != null)
- {
- //here we send all data to user event handlers
- _popUpOutsideTouchedEventHandler(this, e);
- }
- }
-
- public event DaliEventHandler<object,ShowingEventArgs> Showing
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_popUpShowingEventHandler == null)
- {
- _popUpShowingEventHandler += value;
-
- _popUpShowingEventCallbackDelegate = new ShowingEventCallbackDelegate(OnShowing);
- this.ShowingSignal().Connect(_popUpShowingEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_popUpShowingEventHandler != null)
- {
- this.ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
- }
-
- _popUpShowingEventHandler -= value;
- }
- }
- }
-
- // Callback for ShowingSignal
- private void OnShowing()
- {
- ShowingEventArgs e = new ShowingEventArgs();
-
- if (_popUpShowingEventHandler != null)
- {
- //here we send all data to user event handlers
- _popUpShowingEventHandler(this, e);
- }
- }
-
-
- public event DaliEventHandler<object,ShownEventArgs> Shown
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_popUpShownEventHandler == null)
- {
- _popUpShownEventHandler += value;
-
- _popUpShownEventCallbackDelegate = new ShownEventCallbackDelegate(OnShown);
- this.ShownSignal().Connect(_popUpShownEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_popUpShownEventHandler != null)
- {
- this.ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
- }
-
- _popUpShownEventHandler -= value;
- }
- }
- }
-
- // Callback for ShownSignal
- private void OnShown()
- {
- ShownEventArgs e = new ShownEventArgs();
-
- if (_popUpShownEventHandler != null)
- {
- //here we send all data to user event handlers
- _popUpShownEventHandler(this, e);
- }
- }
-
- public event DaliEventHandler<object,HidingEventArgs> Hiding
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_popUpHidingEventHandler == null)
- {
- _popUpHidingEventHandler += value;
-
- _popUpHidingEventCallbackDelegate = new HidingEventCallbackDelegate(OnHiding);
- this.HidingSignal().Connect(_popUpHidingEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_popUpHidingEventHandler != null)
- {
- this.HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
- }
-
- _popUpHidingEventHandler -= value;
- }
- }
- }
-
- // Callback for HidingSignal
- private void OnHiding()
- {
- HidingEventArgs e = new HidingEventArgs();
-
- if (_popUpHidingEventHandler != null)
- {
- //here we send all data to user event handlers
- _popUpHidingEventHandler(this, e);
- }
- }
-
- public event DaliEventHandler<object,HiddenEventArgs> Hidden
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_popUpHiddenEventHandler == null)
- {
- _popUpHiddenEventHandler += value;
-
- _popUpHiddenEventCallbackDelegate = new HiddenEventCallbackDelegate(OnHidden);
- this.HiddenSignal().Connect(_popUpHiddenEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_popUpHiddenEventHandler != null)
- {
- this.HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
- }
-
- _popUpHiddenEventHandler -= value;
- }
- }
- }
-
- // Callback for HiddenSignal
- private void OnHidden()
- {
- HiddenEventArgs e = new HiddenEventArgs();
-
- if (_popUpHiddenEventHandler != null)
- {
- //here we send all data to user event handlers
- _popUpHiddenEventHandler(this, e);
- }
- }
-
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Popup_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_Popup_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int TITLE = NDalicPINVOKE.Popup_Property_TITLE_get();
- public static readonly int CONTENT = NDalicPINVOKE.Popup_Property_CONTENT_get();
- public static readonly int FOOTER = NDalicPINVOKE.Popup_Property_FOOTER_get();
- public static readonly int DISPLAY_STATE = NDalicPINVOKE.Popup_Property_DISPLAY_STATE_get();
- public static readonly int TOUCH_TRANSPARENT = NDalicPINVOKE.Popup_Property_TOUCH_TRANSPARENT_get();
- public static readonly int TAIL_VISIBILITY = NDalicPINVOKE.Popup_Property_TAIL_VISIBILITY_get();
- public static readonly int TAIL_POSITION = NDalicPINVOKE.Popup_Property_TAIL_POSITION_get();
- public static readonly int CONTEXTUAL_MODE = NDalicPINVOKE.Popup_Property_CONTEXTUAL_MODE_get();
- public static readonly int ANIMATION_DURATION = NDalicPINVOKE.Popup_Property_ANIMATION_DURATION_get();
- public static readonly int ANIMATION_MODE = NDalicPINVOKE.Popup_Property_ANIMATION_MODE_get();
- public static readonly int ENTRY_ANIMATION = NDalicPINVOKE.Popup_Property_ENTRY_ANIMATION_get();
- public static readonly int EXIT_ANIMATION = NDalicPINVOKE.Popup_Property_EXIT_ANIMATION_get();
- public static readonly int AUTO_HIDE_DELAY = NDalicPINVOKE.Popup_Property_AUTO_HIDE_DELAY_get();
- public static readonly int BACKING_ENABLED = NDalicPINVOKE.Popup_Property_BACKING_ENABLED_get();
- public static readonly int BACKING_COLOR = NDalicPINVOKE.Popup_Property_BACKING_COLOR_get();
- public static readonly int POPUP_BACKGROUND_IMAGE = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_IMAGE_get();
- public static readonly int POPUP_BACKGROUND_BORDER = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_BORDER_get();
- public static readonly int TAIL_UP_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_UP_IMAGE_get();
- public static readonly int TAIL_DOWN_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_DOWN_IMAGE_get();
- public static readonly int TAIL_LEFT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_LEFT_IMAGE_get();
- public static readonly int TAIL_RIGHT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_RIGHT_IMAGE_get();
-
- }
-
- public Popup () : this (NDalicPINVOKE.Popup_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public Popup(Popup handle) : this(NDalicPINVOKE.new_Popup__SWIG_1(Popup.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Popup Assign(Popup handle) {
- Popup ret = new Popup(NDalicPINVOKE.Popup_Assign(swigCPtr, Popup.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static Popup DownCast(BaseHandle handle) {
- Popup ret = new Popup(NDalicPINVOKE.Popup_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetTitle(Actor titleActor) {
- NDalicPINVOKE.Popup_SetTitle(swigCPtr, Actor.getCPtr(titleActor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Actor GetTitle() {
- Actor ret = new Actor(NDalicPINVOKE.Popup_GetTitle(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetContent(Actor content) {
- NDalicPINVOKE.Popup_SetContent(swigCPtr, Actor.getCPtr(content));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Actor GetContent() {
- Actor ret = new Actor(NDalicPINVOKE.Popup_GetContent(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFooter(Actor footer) {
- NDalicPINVOKE.Popup_SetFooter(swigCPtr, Actor.getCPtr(footer));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Actor GetFooter() {
- Actor ret = new Actor(NDalicPINVOKE.Popup_GetFooter(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetDisplayState(Popup.DisplayStateType displayState) {
- NDalicPINVOKE.Popup_SetDisplayState(swigCPtr, (int)displayState);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Popup.DisplayStateType GetDisplayState() {
- Popup.DisplayStateType ret = (Popup.DisplayStateType)NDalicPINVOKE.Popup_GetDisplayState(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal OutsideTouchedSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_OutsideTouchedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal ShowingSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShowingSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal ShownSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShownSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal HidingSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HidingSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal HiddenSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HiddenSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public enum DisplayStateType {
- SHOWING,
- SHOWN,
- HIDING,
- HIDDEN
- }
-
- public enum AnimationModeType {
- NONE,
- ZOOM,
- FADE,
- CUSTOM
- }
-
- public enum ContextualModeType {
- NON_CONTEXTUAL,
- ABOVE,
- RIGHT,
- BELOW,
- LEFT
- }
-
- public Tizen.NUI.Property.Map Title
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Popup.Property.TITLE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TITLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Content
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Popup.Property.CONTENT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.CONTENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Footer
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Popup.Property.FOOTER).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.FOOTER, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string DisplayState
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.DISPLAY_STATE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.DISPLAY_STATE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool TouchTransparent
- {
- get
- {
- bool temp = false;
- GetProperty( Popup.Property.TOUCH_TRANSPARENT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TOUCH_TRANSPARENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool TailVisibility
- {
- get
- {
- bool temp = false;
- GetProperty( Popup.Property.TAIL_VISIBILITY).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TAIL_VISIBILITY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector3 TailPosition
- {
- get
- {
- Vector3 temp = new Vector3(0.0f,0.0f,0.0f);
- GetProperty( Popup.Property.TAIL_POSITION).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TAIL_POSITION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string ContextualMode
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.CONTEXTUAL_MODE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.CONTEXTUAL_MODE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float AnimationDuration
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Popup.Property.ANIMATION_DURATION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.ANIMATION_DURATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string AnimationMode
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.ANIMATION_MODE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.ANIMATION_MODE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map EntryAnimation
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Popup.Property.ENTRY_ANIMATION).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.ENTRY_ANIMATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map ExitAnimation
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Popup.Property.EXIT_ANIMATION).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.EXIT_ANIMATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int AutoHideDelay
- {
- get
- {
- int temp = 0;
- GetProperty( Popup.Property.AUTO_HIDE_DELAY).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.AUTO_HIDE_DELAY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool BackingEnabled
- {
- get
- {
- bool temp = false;
- GetProperty( Popup.Property.BACKING_ENABLED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.BACKING_ENABLED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 BackingColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Popup.Property.BACKING_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.BACKING_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string PopupBackgroundImage
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.POPUP_BACKGROUND_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.POPUP_BACKGROUND_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Rectangle PopupBackgroundBorder
- {
- get
- {
- Rectangle temp = new Rectangle(0,0,0,0);
- GetProperty( Popup.Property.POPUP_BACKGROUND_BORDER).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.POPUP_BACKGROUND_BORDER, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string TailUpImage
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.TAIL_UP_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TAIL_UP_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string TailDownImage
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.TAIL_DOWN_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TAIL_DOWN_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string TailLeftImage
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.TAIL_LEFT_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TAIL_LEFT_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string TailRightImage
- {
- get
- {
- string temp;
- GetProperty( Popup.Property.TAIL_RIGHT_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( Popup.Property.TAIL_RIGHT_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ if (_popUpOutsideTouchedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _popUpOutsideTouchedEventHandler(this, e);
+ }
+ }
-}
+ /// <summary>
+ /// Event is sent when the Popup is starting to be shown.
+ /// </summary>
+ public event EventHandler<ShowingEventArgs> Showing
+ {
+ add
+ {
+ if (_popUpShowingEventHandler == null)
+ {
+ _popUpShowingEventCallbackDelegate = (OnShowing);
+ ShowingSignal().Connect(_popUpShowingEventCallbackDelegate);
+ }
+ _popUpShowingEventHandler += value;
+ }
+ remove
+ {
+ _popUpShowingEventHandler -= value;
+ if (_popUpShowingEventHandler == null && _popUpShowingEventCallbackDelegate != null)
+ {
+ ShowingSignal().Disconnect(_popUpShowingEventCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for ShowingSignal
+ private void OnShowing()
+ {
+ ShowingEventArgs e = new ShowingEventArgs();
+
+ if (_popUpShowingEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _popUpShowingEventHandler(this, e);
+ }
+ }
+
+
+ /// <summary>
+ /// Event is sent when the Popup has been fully displayed.
+ /// </summary>
+ public event EventHandler<ShownEventArgs> Shown
+ {
+ add
+ {
+ if (_popUpShownEventHandler == null)
+ {
+ _popUpShownEventCallbackDelegate = (OnShown);
+ ShownSignal().Connect(_popUpShownEventCallbackDelegate);
+ }
+ _popUpShownEventHandler += value;
+ }
+ remove
+ {
+ _popUpShownEventHandler -= value;
+ if (_popUpShownEventHandler == null && _popUpShownEventCallbackDelegate != null)
+ {
+ ShownSignal().Disconnect(_popUpShownEventCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for ShownSignal
+ private void OnShown()
+ {
+ ShownEventArgs e = new ShownEventArgs();
+
+ if (_popUpShownEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _popUpShownEventHandler(this, e);
+ }
+ }
+
+ /// <summary>
+ /// Event is sent when the Popup is starting to be hidden.
+ /// </summary>
+ public event EventHandler<HidingEventArgs> Hiding
+ {
+ add
+ {
+ if (_popUpHidingEventHandler == null)
+ {
+ _popUpHidingEventCallbackDelegate = (OnHiding);
+ HidingSignal().Connect(_popUpHidingEventCallbackDelegate);
+ }
+ _popUpHidingEventHandler += value;
+ }
+ remove
+ {
+ _popUpHidingEventHandler -= value;
+ if (_popUpHidingEventHandler == null && _popUpHidingEventCallbackDelegate != null)
+ {
+ HidingSignal().Disconnect(_popUpHidingEventCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for HidingSignal
+ private void OnHiding()
+ {
+ HidingEventArgs e = new HidingEventArgs();
+
+ if (_popUpHidingEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _popUpHidingEventHandler(this, e);
+ }
+ }
+
+ /// <summary>
+ /// Event is sent when the Popup has been completely hidden.
+ /// </summary>
+ public event EventHandler<HiddenEventArgs> Hidden
+ {
+ add
+ {
+ if (_popUpHiddenEventHandler == null)
+ {
+ _popUpHiddenEventCallbackDelegate = (OnHidden);
+ HiddenSignal().Connect(_popUpHiddenEventCallbackDelegate);
+ }
+ _popUpHiddenEventHandler += value;
+ }
+ remove
+ {
+ _popUpHiddenEventHandler -= value;
+ if (_popUpHiddenEventHandler == null && _popUpHiddenEventCallbackDelegate != null)
+ {
+ HiddenSignal().Disconnect(_popUpHiddenEventCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for HiddenSignal
+ private void OnHidden()
+ {
+ HiddenEventArgs e = new HiddenEventArgs();
+
+ if (_popUpHiddenEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _popUpHiddenEventHandler(this, e);
+ }
+ }
+
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Popup_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_Popup_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int TITLE = NDalicPINVOKE.Popup_Property_TITLE_get();
+ internal static readonly int CONTENT = NDalicPINVOKE.Popup_Property_CONTENT_get();
+ internal static readonly int FOOTER = NDalicPINVOKE.Popup_Property_FOOTER_get();
+ internal static readonly int DISPLAY_STATE = NDalicPINVOKE.Popup_Property_DISPLAY_STATE_get();
+ internal static readonly int TOUCH_TRANSPARENT = NDalicPINVOKE.Popup_Property_TOUCH_TRANSPARENT_get();
+ internal static readonly int TAIL_VISIBILITY = NDalicPINVOKE.Popup_Property_TAIL_VISIBILITY_get();
+ internal static readonly int TAIL_POSITION = NDalicPINVOKE.Popup_Property_TAIL_POSITION_get();
+ internal static readonly int CONTEXTUAL_MODE = NDalicPINVOKE.Popup_Property_CONTEXTUAL_MODE_get();
+ internal static readonly int ANIMATION_DURATION = NDalicPINVOKE.Popup_Property_ANIMATION_DURATION_get();
+ internal static readonly int ANIMATION_MODE = NDalicPINVOKE.Popup_Property_ANIMATION_MODE_get();
+ internal static readonly int ENTRY_ANIMATION = NDalicPINVOKE.Popup_Property_ENTRY_ANIMATION_get();
+ internal static readonly int EXIT_ANIMATION = NDalicPINVOKE.Popup_Property_EXIT_ANIMATION_get();
+ internal static readonly int AUTO_HIDE_DELAY = NDalicPINVOKE.Popup_Property_AUTO_HIDE_DELAY_get();
+ internal static readonly int BACKING_ENABLED = NDalicPINVOKE.Popup_Property_BACKING_ENABLED_get();
+ internal static readonly int BACKING_COLOR = NDalicPINVOKE.Popup_Property_BACKING_COLOR_get();
+ internal static readonly int POPUP_BACKGROUND_IMAGE = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_IMAGE_get();
+ internal static readonly int POPUP_BACKGROUND_BORDER = NDalicPINVOKE.Popup_Property_POPUP_BACKGROUND_BORDER_get();
+ internal static readonly int TAIL_UP_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_UP_IMAGE_get();
+ internal static readonly int TAIL_DOWN_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_DOWN_IMAGE_get();
+ internal static readonly int TAIL_LEFT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_LEFT_IMAGE_get();
+ internal static readonly int TAIL_RIGHT_IMAGE = NDalicPINVOKE.Popup_Property_TAIL_RIGHT_IMAGE_get();
+
+ }
+
+ /// <summary>
+ /// Create the Popup.
+ /// </summary>
+ public Popup() : this(NDalicPINVOKE.Popup_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal Popup(Popup handle) : this(NDalicPINVOKE.new_Popup__SWIG_1(Popup.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Popup Assign(Popup handle)
+ {
+ Popup ret = new Popup(NDalicPINVOKE.Popup_Assign(swigCPtr, Popup.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to Popup handle.
+ /// If handle points to a Popup, the downcast produces valid handle.
+ /// If not the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>handle to a Popup or an uninitialized handle</returns>
+ public new static Popup DownCast(BaseHandle handle)
+ {
+ Popup ret = new Popup(NDalicPINVOKE.Popup_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets a title for this Popup.
+ /// </summary>
+ /// <param name="titleActor">The actor to set a title</param>
+ public void SetTitle(Actor titleActor)
+ {
+ NDalicPINVOKE.Popup_SetTitle(swigCPtr, Actor.getCPtr(titleActor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Actor GetTitle()
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Popup_GetTitle(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the content actor.
+ /// </summary>
+ /// <param name="content">The actor to use</param>
+ public void SetContent(Actor content)
+ {
+ NDalicPINVOKE.Popup_SetContent(swigCPtr, Actor.getCPtr(content));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Actor GetContent()
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Popup_GetContent(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the actor to use for a footer in this Popup.
+ /// </summary>
+ /// <param name="footer">The footer actor to be added to this Popup</param>
+ public void SetFooter(Actor footer)
+ {
+ NDalicPINVOKE.Popup_SetFooter(swigCPtr, Actor.getCPtr(footer));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Actor GetFooter()
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Popup_GetFooter(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the display state of Popup.
+ /// There are 4 total display states.
+ /// Only 2 can be set, but all four can be read for better inspection of the current popup state.
+ ///
+ /// The other two states are getable, but not setable and are there for consistency.
+ ///
+ /// | Value | Setting the state | Getting the state |
+ /// |----------|--------------------------------|--------------------------------|
+ /// | SHOWN | Show the popup | The popup is fully shown |
+ /// | HIDDEN | Hide the popup | The popup is fully hidden |
+ /// | SHOWING | | The popup is transitioning in |
+ /// | HIDING | | The popup is transitioning out |
+ ///
+ /// All 4 state changes cause notifications via 4 respective signals that can be connected to.
+ /// </summary>
+ /// <param name="displayState">The desired display state to change to</param>
+ public void SetDisplayState(Popup.DisplayStateType displayState)
+ {
+ NDalicPINVOKE.Popup_SetDisplayState(swigCPtr, (int)displayState);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Popup.DisplayStateType GetDisplayState()
+ {
+ Popup.DisplayStateType ret = (Popup.DisplayStateType)NDalicPINVOKE.Popup_GetDisplayState(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal OutsideTouchedSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_OutsideTouchedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal ShowingSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShowingSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal ShownSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_ShownSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal HidingSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HidingSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal HiddenSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Popup_HiddenSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// The display states of the Popup.
+ /// </summary>
+ public enum DisplayStateType
+ {
+ Showing,
+ Shown,
+ Hiding,
+ Hidden
+ }
+
+ /// <summary>
+ /// The animation mode within popup.
+ /// Choose from a predefined mode or "CUSTOM" to use the ANIMATION_IN and ANIMATION_OUT properties.
+ /// </summary>
+ public enum AnimationModeType
+ {
+ None,
+ Zoom,
+ Fade,
+ Custom
+ }
+
+ /// <summary>
+ /// Types of contextual layout.
+ /// The Popup is positioned adjacent to it's parent in the direction specified by this mode.
+ /// NON_CONTEXTUAL disables any contextual positioning.
+ /// </summary>
+ public enum ContextualModeType
+ {
+ NonContextual,
+ Above,
+ Rright,
+ Below,
+ Left
+ }
+
+ /// <summary>
+ /// Popup title
+ /// </summary>
+ public PropertyMap Title
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Popup.Property.TITLE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TITLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Popup content
+ /// </summary>
+ public PropertyMap Content
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Popup.Property.CONTENT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.CONTENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Popup footer
+ /// </summary>
+ public PropertyMap Footer
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Popup.Property.FOOTER).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.FOOTER, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Popup display state
+ /// </summary>
+ public string DisplayState
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.DISPLAY_STATE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.DISPLAY_STATE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Touch transparent
+ /// </summary>
+ public bool TouchTransparent
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Popup.Property.TOUCH_TRANSPARENT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TOUCH_TRANSPARENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Popup tail visibility
+ /// </summary>
+ public bool TailVisibility
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Popup.Property.TAIL_VISIBILITY).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TAIL_VISIBILITY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Popup tail position
+ /// </summary>
+ public Vector3 TailPosition
+ {
+ get
+ {
+ Vector3 temp = new Vector3(0.0f, 0.0f, 0.0f);
+ GetProperty(Popup.Property.TAIL_POSITION).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TAIL_POSITION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Contextual mode
+ /// </summary>
+ public string ContextualMode
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.CONTEXTUAL_MODE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.CONTEXTUAL_MODE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Animation duration
+ /// </summary>
+ public float AnimationDuration
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Popup.Property.ANIMATION_DURATION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.ANIMATION_DURATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Animation mode
+ /// </summary>
+ public string AnimationMode
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.ANIMATION_MODE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.ANIMATION_MODE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Entry animation
+ /// </summary>
+ public PropertyMap EntryAnimation
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Popup.Property.ENTRY_ANIMATION).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.ENTRY_ANIMATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Exit animation
+ /// </summary>
+ public PropertyMap ExitAnimation
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Popup.Property.EXIT_ANIMATION).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.EXIT_ANIMATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Auto hide delay
+ /// </summary>
+ public int AutoHideDelay
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(Popup.Property.AUTO_HIDE_DELAY).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.AUTO_HIDE_DELAY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Backing enabled
+ /// </summary>
+ public bool BackingEnabled
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Popup.Property.BACKING_ENABLED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.BACKING_ENABLED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Backing color
+ /// </summary>
+ public Vector4 BackingColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Popup.Property.BACKING_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.BACKING_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Background image
+ /// </summary>
+ public string PopupBackgroundImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.POPUP_BACKGROUND_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.POPUP_BACKGROUND_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Background border
+ /// </summary>
+ public Rectangle PopupBackgroundBorder
+ {
+ get
+ {
+ Rectangle temp = new Rectangle(0, 0, 0, 0);
+ GetProperty(Popup.Property.POPUP_BACKGROUND_BORDER).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.POPUP_BACKGROUND_BORDER, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Tail up image
+ /// </summary>
+ public string TailUpImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.TAIL_UP_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TAIL_UP_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Tail down image
+ /// </summary>
+ public string TailDownImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.TAIL_DOWN_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TAIL_DOWN_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Tail left image
+ /// </summary>
+ public string TailLeftImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.TAIL_LEFT_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TAIL_LEFT_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Tail right image
+ /// </summary>
+ public string TailRightImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(Popup.Property.TAIL_RIGHT_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Popup.Property.TAIL_RIGHT_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
namespace Tizen.NUI
{
- using System;
- public class Position
- {
+ /// <summary>
+ /// Position is a three dimensional vector.
+ /// </summary>
+ public class Position : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- private float x;
- private float y;
- private float z;
+ internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- /**
- * @brief constructor
- *
- * @since 1.0.0
- */
- public Position()
- {
- x = 0.0f;
- y = 0.0f;
- z = 0.0f;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- /**
- * @brief constructor
- *
- * @since 1.0.0
- * @param [in] a The Position X.
- * @param [in] b The Position Y.
- * @param [in] c The Position Z.
- */
- public Position(float a, float b, float c)
- {
- x = a;
- y = b;
- z = c;
- }
+ ~Position()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- /**
- * @brief constructor
- *
- * @since 1.0.0
- * @param [in] o The Vector Position X, Y, Z.
- */
- public Position(Vector3 o)
- {
- x = o.X;
- y = o.Y;
- z = o.Z;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- ///< name "X", type float (Position X value)
- //@since 1.0.0
- public float X
- {
- get { return x; }
- set { x = value; }
- }
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector3(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- ///< name "Y", type float (Position Y value)
- //@since 1.0.0
- public float Y
- {
- get { return y; }
- set { y = value; }
- }
- ///< name "Z", type float (Position Z value)
- //@since 1.0.0
- public float Z
- {
- get { return z; }
- set { z = value; }
- }
+ /// <summary>
+ /// Addition operator.
+ /// </summary>
+ /// <param name="arg1">Vector to add</param>
+ /// <param name="arg2">Vector to add</param>
+ /// <returns>A vector containing the result of the addition</returns>
+ public static Position operator +(Position arg1, Position arg2)
+ {
+ return arg1.Add(arg2);
+ }
- /**
- * @brief operator+
- *
- * @since 1.0.0
- * @param [in] l The Position to add.
- * @param [in] r The Position to add
- * @return A reference to this
- */
- public static Position operator +(Position l, Position r)
- {
- return new Position(l.X + r.X, l.Y + r.Y, l.Z + r.Z);
- }
+ /// <summary>
+ /// Subtraction operator.
+ /// </summary>
+ /// <param name="arg1">Vector to subtract</param>
+ /// <param name="arg2">Vector to subtract</param>
+ /// <returns>A vector containing the result of the subtraction</returns>
+ public static Position operator -(Position arg1, Position arg2)
+ {
+ return arg1.Subtract(arg2);
+ }
- /**
- * @brief operator-
- *
- * @since 1.0.0
- * @param [in] l The Position to substract.
- * @param [in] r The Position to substract
- * @return A reference to this
- */
- public static Position operator -(Position l, Position r)
- {
- return new Position(l.X - r.X, l.Y - r.Y, l.Z - r.Z);
- }
+ /// <summary>
+ /// Unary negation operator.
+ /// </summary>
+ /// <param name="arg1">Vector to netate</param>
+ /// <returns>A vector containg the negation</returns>
+ public static Position operator -(Position arg1)
+ {
+ return arg1.Subtract();
+ }
- /**
- * @brief operator*
- *
- * @since 1.0.0
- * @param [in] a The Position to multiply.
- * @param [in] b The constant to multiply of type double.
- * @return A reference to this
- */
- public static Position operator *(Position a, double b)
- {
- return new Position((int)(a.X * b), (int)(a.Y * b), (int)(a.Z * b));
- }
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">The vector to multiply</param>
+ /// <param name="arg2">The vector to multiply</param>
+ /// <returns>A vector containing the result of the multiplication</returns>
+ public static Position operator *(Position arg1, Position arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
- /**
- * @brief operator/
- *
- * @since 1.0.0
- * @param [in] a The Position to divide.
- * @param [in] b The Position to divide
- * @return float value of division operation
- */
- public static float operator /(Position a, Position b)
- {
- return (float)System.Math.Sqrt((a.X / b.X) * (a.Y / b.Y) * (a.Z / b.Z));
- }
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">The vector to multiply</param>
+ /// <param name="arg2">The float value to scale the vector</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Position operator *(Position arg1, float arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
- /**
- * @brief Operator ==
- *
- * @since 1.0.0
- * @param [in] a The Position object to compare.
- * @param [in] b The Position object to compare.
- * @return bool, whether Position are equal or not
- */
- public static bool operator == (Position a, Position b)
- {
- return a.X == b.X && a.Y == b.Y && a.Z == b.Z;
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">The vector to divide</param>
+ /// <param name="arg2">The vector to divide</param>
+ /// <returns>A vector containing the result of the division</returns>
+ public static Position operator /(Position arg1, Position arg2)
+ {
+ return arg1.Divide(arg2);
+ }
- /**
- * @brief Operator !=
- *
- * @since 1.0.0
- * @param [in] a The Position object to compare.
- * @param [in] b The Position object to compare.
- * @return bool, whether Position are equal or not
- */
- public static bool operator != (Position a, Position b)
- {
- return a.X != b.X || a.Y != b.Y || a.Z == b.Z;
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">The vector to divide</param>
+ /// <param name="arg2">The float value to scale the vector by</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Position operator /(Position arg1, float arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+
+ /// <summary>
+ /// Const array subscript operator overload. Should be 0, 1 or 2.
+ /// </summary>
+ /// <param name="index">Subscript index</param>
+ /// <returns>The float at the given index</returns>
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
+
+ /// <summary>
+ /// </summary>
+ internal static Position GetPositionFromPtr(global::System.IntPtr cPtr)
+ {
+ Position ret = new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ /// <param name="x">x component</param>
+ /// <param name="y">y component</param>
+ /// <param name="z">z component</param>
+ public Position(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ /// <param name="position2d">Position2D to create this vector from</param>
+ public Position(Position2D position2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+
+
+ private Position Add(Position rhs)
+ {
+ Position ret = new Position(NDalicPINVOKE.Vector3_Add(swigCPtr, Position.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position Subtract(Position rhs)
+ {
+ Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position Multiply(Position rhs)
+ {
+ Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position Multiply(float rhs)
+ {
+ Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position Divide(Position rhs)
+ {
+ Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position Divide(float rhs)
+ {
+ Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position Subtract()
+ {
+ Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private float ValueOfIndex(uint index)
+ {
+ float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Compare if rhs is equal to
+ /// </summary>
+ /// <param name="rhs">The vector to compare</param>
+ /// <returns>Returns true if the two vectors are equal, otherwise false</returns>
+ public bool EqualTo(Position rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Compare if rhs is not equal to
+ /// </summary>
+ /// <param name="rhs">The vector to compare</param>
+ /// <returns>Returns true if the two vectors are not equal, otherwise false</returns>
+ public bool NotEqualTo(Position rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ /// <summary>
+ /// x component
+ /// </summary>
+ public float X
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// y component
+ /// </summary>
+ public float Y
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// z component
+ /// </summary>
+ public float Z
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants. It's 0.0.
+ /// </summary>
+ public static float ParentOriginTop
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.ParentOriginTop_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants. It's 1.0.
+ /// </summary>
+ public static float ParentOriginBottom
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.ParentOriginBottom_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants. It's 0.0.
+ /// </summary>
+ public static float ParentOriginLeft
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.ParentOriginLeft_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants. It's 1.0.
+ /// </summary>
+ public static float ParentOriginRight
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.ParentOriginRight_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants. It's 0.5.
+ /// </summary>
+ public static float ParentOriginMiddle
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 0.0, 0.0, 0.5
+ /// </summary>
+ public static Position ParentOriginTopLeft
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 0.5, 0.0, 0.5
+ /// </summary>
+ public static Position ParentOriginTopCenter
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 1.0, 0.0, 0.5
+ /// </summary>
+ public static Position ParentOriginTopRight
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 0.0, 0.5, 0.5
+ /// </summary>
+ public static Position ParentOriginCenterLeft
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 0.0, 0.5, 0.5
+ /// </summary>
+ public static Position ParentOriginCenter
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 1.0, 0.5, 0.5
+ /// </summary>
+ public static Position ParentOriginCenterRight
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 0.0f, 1.0f, 0.5f
+ /// </summary>
+ public static Position ParentOriginBottomLeft
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 0.5, 1.0, 0.5
+ /// </summary>
+ public static Position ParentOriginBottomCenter
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// ParentOrigin constants: 1.0, 1.0, 0.5
+ /// </summary>
+ public static Position ParentOriginBottomRight
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.0
+ /// </summary>
+ public static float AnchorPointTop
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.AnchorPointTop_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 1.0
+ /// </summary>
+ public static float AnchorPointBottom
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.AnchorPointBottom_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.0
+ /// </summary>
+ public static float AnchorPointLeft
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.AnchorPointLeft_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 1.0
+ /// </summary>
+ public static float AnchorPointRight
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.AnchorPointRight_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.0
+ /// </summary>
+ public static float AnchorPointMiddle
+ {
+ get
+ {
+ float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.0, 0.0, 0.5
+ /// </summary>
+ public static Position AnchorPointTopLeft
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.5, 0.0, 0.5
+ /// </summary>
+ public static Position AnchorPointTopCenter
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 1.0, 0.0, 0.5
+ /// </summary>
+ public static Position AnchorPointTopRight
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.0, 0.5, 0.5
+ /// </summary>
+ public static Position AnchorPointCenterLeft
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.5, 0.5, 0.5
+ /// </summary>
+ public static Position AnchorPointCenter
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 1.0, 0.5, 0.5
+ /// </summary>
+ public static Position AnchorPointCenterRight
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.0, 1.0, 0.5
+ /// </summary>
+ public static Position AnchorPointBottomLeft
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 0.5, 1.0, 0.5
+ /// </summary>
+ public static Position AnchorPointBottomCenter
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// AnchorPoint constants: 1.0, 1.0, 0.5
+ /// </summary>
+ public static Position AnchorPointBottomRight
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Constant ( 1.0f, 1.0f, 1.0f )
+ /// </summary>
+ public static Position One
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static Position XAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static Position YAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static Position ZAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static Position NegativeXAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static Position NegativeYAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static Position NegativeZAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Constant ( 0.0f, 0.0f, 0.0f )
+ /// </summary>
+ public static Position Zero
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+ Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// </summary>
+ public static implicit operator Vector3(Position Position)
+ {
+ return new Vector3(Position.X, Position.Y, Position.Z);
+ }
+
+ /// <summary>
+ /// </summary>
+ public static implicit operator Position(Vector3 vec)
+ {
+ return new Position(vec.X, vec.Y, vec.Z);
+ }
- /**
- * @brief GetHashCode
- *
- * @since 1.0.0
- * @return int, hascode of position
- */
- public override int GetHashCode()
- {
- return base.GetHashCode();
}
- /**
- * @brief Clone
- *
- * @since 1.0.0
- * @return Position object
- */
- public Position Clone()
+ public struct ParentOrigin
{
- Position copy = new Position(X, Y, Z);
- return copy;
+ public static readonly float Top = Position.ParentOriginTop;
+ public static readonly float Bottom = Position.ParentOriginBottom;
+ public static readonly float Left = Position.ParentOriginLeft;
+ public static readonly float Right = Position.ParentOriginRight;
+ public static readonly float Middle = Position.ParentOriginMiddle;
+ public static readonly Position TopLeft = Position.ParentOriginTopLeft;
+ public static readonly Position TopCenter = Position.ParentOriginTopCenter;
+ public static readonly Position TopRight = Position.ParentOriginTopRight;
+ public static readonly Position CenterLeft = Position.ParentOriginCenterLeft;
+ public static readonly Position Center = Position.ParentOriginCenter;
+ public static readonly Position CenterRight = Position.ParentOriginCenterRight;
+ public static readonly Position BottomLeft = Position.ParentOriginBottomLeft;
+ public static readonly Position BottomCenter = Position.ParentOriginBottomCenter;
+ public static readonly Position BottomRight = Position.ParentOriginBottomRight;
}
-
- // User-defined conversion from Position to Vector3
- public static implicit operator Vector3(Position pos)
+ public struct AnchorPoint
{
- return new Vector3(pos.x, pos.y, pos.z);
+ public static readonly float Top = Position.AnchorPointTop;
+ public static readonly float Bottom = Position.AnchorPointBottom;
+ public static readonly float Left = Position.AnchorPointLeft;
+ public static readonly float Right = Position.AnchorPointRight;
+ public static readonly float Middle = Position.AnchorPointMiddle;
+ public static readonly Position TopLeft = Position.AnchorPointTopLeft;
+ public static readonly Position TopCenter = Position.AnchorPointTopCenter;
+ public static readonly Position TopRight = Position.AnchorPointTopRight;
+ public static readonly Position CenterLeft = Position.AnchorPointCenterLeft;
+ public static readonly Position Center = Position.AnchorPointCenter;
+ public static readonly Position CenterRight = Position.AnchorPointCenterRight;
+ public static readonly Position BottomLeft = Position.AnchorPointBottomLeft;
+ public static readonly Position BottomCenter = Position.AnchorPointBottomCenter;
+ public static readonly Position BottomRight = Position.AnchorPointBottomRight;
}
-
- public static implicit operator Position(Vector3 vec)
+ public struct PositionAxis
{
- return new Position(vec.X, vec.Y, vec.Z);
+ public static readonly Position X = Position.XAxis;
+ public static readonly Position Y = Position.YAxis;
+ public static readonly Position Z = Position.ZAxis;
+ public static readonly Position NegativeX = Position.NegativeXAxis;
+ public static readonly Position NegativeY = Position.NegativeYAxis;
+ public static readonly Position NegativeZ = Position.NegativeZAxis;
}
- }
+
}
+
+
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+namespace Tizen.NUI {
+
+public class Position2D : global::System.IDisposable {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Position2D(global::System.IntPtr cPtr, bool cMemoryOwn) {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position2D obj) {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Position2D() {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ public virtual void Dispose() {
+ if (!Stage.IsInstalled()) {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock(this) {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero) {
+ if (swigCMemOwn) {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector2(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+
+ public static Position2D operator+(Position2D arg1, Position2D arg2) {
+ return arg1.Add(arg2);
+ }
+
+ public static Position2D operator-(Position2D arg1, Position2D arg2) {
+ return arg1.Subtract(arg2);
+ }
+
+ public static Position2D operator-(Position2D arg1) {
+ return arg1.Subtract();
+ }
+
+ public static Position2D operator*(Position2D arg1, Position2D arg2) {
+ return arg1.Multiply(arg2);
+ }
+
+ public static Position2D operator*(Position2D arg1, int arg2) {
+ return arg1.Multiply(arg2);
+ }
+
+ public static Position2D operator/(Position2D arg1, Position2D arg2) {
+ return arg1.Divide(arg2);
+ }
+
+ public static Position2D operator/(Position2D arg1, int arg2) {
+ return arg1.Divide(arg2);
+ }
+
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
+
+ internal static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr) {
+ Position2D ret = new Position2D(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ private Position2D Add(Position2D rhs) {
+ Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Add(swigCPtr, Position2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position2D Subtract(Position2D rhs) {
+ Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Position2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ private Position2D Multiply(Position2D rhs) {
+ Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Position2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position2D Multiply(int rhs) {
+ Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, (float)rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ private Position2D Divide(Position2D rhs) {
+ Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Position2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position2D Divide(int rhs) {
+ Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, (float)rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Position2D Subtract() {
+ Position2D ret = new Position2D(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public bool EqualTo(Position2D rhs) {
+ bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public bool NotEqualTo(Position2D rhs) {
+ bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private int ValueOfIndex(uint index) {
+ int ret = (int)NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ public int X {
+ set {
+ NDalicPINVOKE.Vector2_X_set(swigCPtr, (float)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get {
+ float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return (int)ret;
+ }
+ }
+
+ public int Y {
+ set {
+ NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get {
+ float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return (int)ret;
+ }
+ }
+
+ public static implicit operator Vector2(Position2D position2d)
+ {
+ return new Vector2((float)position2d.X, (float)position2d.Y);
+ }
+
+ public static implicit operator Position2D(Vector2 vec)
+ {
+ return new Position2D((int)vec.X, (int)vec.Y);
+ }
+
+}
+
+}
+
+
namespace Tizen.NUI {
-public enum PositionInheritanceMode {
+ internal enum PositionInheritanceMode {
INHERIT_PARENT_POSITION,
USE_PARENT_POSITION,
USE_PARENT_POSITION_PLUS_LOCAL_POSITION,
//------------------------------------------------------------------------------
namespace Tizen.NUI {
-
-public enum PrimitiveVisualShapeType {
+/* moved to VisualMaps.cs
+ internal enum PrimitiveVisualShapeType {
SPHERE,
CONICAL_FRUSTRUM,
CONE,
OCTAHEDRON,
BEVELLED_CUBE
}
-
+*/
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class ProgressBar : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ using System;
+ using System.Runtime.InteropServices;
- internal ProgressBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ProgressBar_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ProgressBar obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// ProgressBar is a control to give the user an indication of the progress of an operation.
+ /// </summary>
+ public class ProgressBar : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- ~ProgressBar() {
- DisposeQueue.Instance.Add(this);
- }
+ internal ProgressBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ProgressBar_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ProgressBar obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ProgressBar(swigCPtr);
+ ~ProgressBar()
+ {
+ DisposeQueue.Instance.Add(this);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ProgressBar_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ProgressBar(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_ProgressBar_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VALUE_get();
- public static readonly int SECONDARY_PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get();
- public static readonly int INDETERMINATE = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_get();
- public static readonly int TRACK_VISUAL = NDalicPINVOKE.ProgressBar_Property_TRACK_VISUAL_get();
- public static readonly int PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VISUAL_get();
- public static readonly int SECONDARY_PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get();
- public static readonly int INDETERMINATE_VISUAL = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_get();
- public static readonly int INDETERMINATE_VISUAL_ANIMATION = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get();
- public static readonly int LABEL_VISUAL = NDalicPINVOKE.ProgressBar_Property_LABEL_VISUAL_get();
-
- }
-
- public ProgressBar () : this (NDalicPINVOKE.ProgressBar_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public ProgressBar(ProgressBar handle) : this(NDalicPINVOKE.new_ProgressBar__SWIG_1(ProgressBar.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ProgressBar Assign(ProgressBar handle) {
- ProgressBar ret = new ProgressBar(NDalicPINVOKE.ProgressBar_Assign(swigCPtr, ProgressBar.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static ProgressBar DownCast(BaseHandle handle) {
- ProgressBar ret = new ProgressBar(NDalicPINVOKE.ProgressBar_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t ValueChangedSignal() {
- SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t(NDalicPINVOKE.ProgressBar_ValueChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public float ProgressValue
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ProgressBar.Property.PROGRESS_VALUE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.PROGRESS_VALUE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float SecondaryProgressValue
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VALUE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VALUE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool Indeterminate
- {
- get
- {
- bool temp = false;
- GetProperty( ProgressBar.Property.INDETERMINATE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.INDETERMINATE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map TrackVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( ProgressBar.Property.TRACK_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.TRACK_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map ProgressVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( ProgressBar.Property.PROGRESS_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.PROGRESS_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SecondaryProgressVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.SECONDARY_PROGRESS_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map IndeterminateVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( ProgressBar.Property.INDETERMINATE_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.INDETERMINATE_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Array IndeterminateVisualAnimation
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( ProgressBar.Property.INDETERMINATE_VISUAL_ANIMATION).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.INDETERMINATE_VISUAL_ANIMATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map LabelVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( ProgressBar.Property.LABEL_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ProgressBar.Property.LABEL_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
-}
+
+
+ /// <summary>
+ /// Event arguments that passed via ValueChangedEventArgs
+ /// </summary>
+ public class ValueChangedEventArgs : EventArgs
+ {
+ private ProgressBar _progressBar;
+ private float _progressValue;
+ private float _secondaryProgressValue;
+
+ public ProgressBar ProgressBar
+ {
+ get
+ {
+ return _progressBar;
+ }
+ set
+ {
+ _progressBar = value;
+ }
+ }
+
+ public float ProgressValue
+ {
+ get
+ {
+ return _progressValue;
+ }
+ set
+ {
+ _progressValue = value;
+ }
+ }
+
+ public float SecondaryProgressValue
+ {
+ get
+ {
+ return _secondaryProgressValue;
+ }
+ set
+ {
+ _secondaryProgressValue = value;
+ }
+ }
+
+ }
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void ValueChangedCallbackDelegate(IntPtr progressBar, float progressValue, float secondaryProgressValue);
+ private EventHandler<ValueChangedEventArgs> _progressBarValueChangedEventHandler;
+ private ValueChangedCallbackDelegate _progressBarValueChangedCallbackDelegate;
+
+ /// <summary>
+ /// Event is sent when the ProgressBar value changes.
+ /// </summary>
+ public event EventHandler<ValueChangedEventArgs> ValueChanged
+ {
+ add
+ {
+ if (_progressBarValueChangedEventHandler == null)
+ {
+ _progressBarValueChangedCallbackDelegate = (OnValueChanged);
+ ValueChangedSignal().Connect(_progressBarValueChangedCallbackDelegate);
+ }
+ _progressBarValueChangedEventHandler += value;
+ }
+ remove
+ {
+ _progressBarValueChangedEventHandler -= value;
+ if (_progressBarValueChangedEventHandler == null && _progressBarValueChangedCallbackDelegate != null)
+ {
+ ValueChangedSignal().Disconnect(_progressBarValueChangedCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for ProgressBar ValueChanged signal
+ private void OnValueChanged(IntPtr progressBar, float progressValue, float secondaryProgressValue)
+ {
+ ValueChangedEventArgs e = new ValueChangedEventArgs();
+
+ // Populate all members of "e" (ValueChangedEventArgs) with real page
+ e.ProgressBar = ProgressBar.GetProgressBarFromPtr(progressBar);
+ e.ProgressValue = progressValue;
+ e.SecondaryProgressValue = secondaryProgressValue;
+
+ if (_progressBarValueChangedEventHandler != null)
+ {
+ _progressBarValueChangedEventHandler(this, e);
+ }
+ }
+
+ /// <summary>
+ /// </summary>
+ internal static ProgressBar GetProgressBarFromPtr(global::System.IntPtr cPtr)
+ {
+ ProgressBar ret = new ProgressBar(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ProgressBar_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_ProgressBar_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VALUE_get();
+ internal static readonly int SECONDARY_PROGRESS_VALUE = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VALUE_get();
+ internal static readonly int INDETERMINATE = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_get();
+ internal static readonly int TRACK_VISUAL = NDalicPINVOKE.ProgressBar_Property_TRACK_VISUAL_get();
+ internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_PROGRESS_VISUAL_get();
+ internal static readonly int SECONDARY_PROGRESS_VISUAL = NDalicPINVOKE.ProgressBar_Property_SECONDARY_PROGRESS_VISUAL_get();
+ internal static readonly int INDETERMINATE_VISUAL = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_get();
+ internal static readonly int INDETERMINATE_VISUAL_ANIMATION = NDalicPINVOKE.ProgressBar_Property_INDETERMINATE_VISUAL_ANIMATION_get();
+ internal static readonly int LABEL_VISUAL = NDalicPINVOKE.ProgressBar_Property_LABEL_VISUAL_get();
+
+ }
+
+ /// <summary>
+ /// Creates the ProgressBar.
+ /// </summary>
+ public ProgressBar() : this(NDalicPINVOKE.ProgressBar_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal ProgressBar(ProgressBar handle) : this(NDalicPINVOKE.new_ProgressBar__SWIG_1(ProgressBar.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ProgressBar Assign(ProgressBar handle)
+ {
+ ProgressBar ret = new ProgressBar(NDalicPINVOKE.ProgressBar_Assign(swigCPtr, ProgressBar.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to ProgressBar handle.
+ /// If handle points to a ProgressBar, the downcast produces valid handle.
+ /// If not the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>handle to a ProgressBar or an uninitialized handle</returns>
+ public new static ProgressBar DownCast(BaseHandle handle)
+ {
+ ProgressBar ret = new ProgressBar(NDalicPINVOKE.ProgressBar_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ProgressBarValueChangedSignal ValueChangedSignal()
+ {
+ ProgressBarValueChangedSignal ret = new ProgressBarValueChangedSignal(NDalicPINVOKE.ProgressBar_ValueChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// The progress value of progress bar, progress runs form 0 to 1.
+ /// If Value is set to 0, progress bar will be set to beginning.
+ /// If Value is set to 1, progress bar will be set to end.
+ /// Any Value outside of the range is ignored.
+ /// </summary>
+ public float ProgressValue
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ProgressBar.Property.PROGRESS_VALUE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.PROGRESS_VALUE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// The secondary progress value of progress bar, secondary progress runs form 0 to 1.
+ /// Optional. If not supplied, the default is 0.
+ /// If Value is set to 0, progress bar will be set secondary progress to beginning.
+ /// If Value is set to 1, progress bar will be set secondary progress to end.
+ /// Any Value outside of the range is ignored.
+ /// </summary>
+ public float SecondaryProgressValue
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ProgressBar.Property.SECONDARY_PROGRESS_VALUE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.SECONDARY_PROGRESS_VALUE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Sets the progress-bar as \e indeterminate state.
+ /// </summary>
+ public bool Indeterminate
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(ProgressBar.Property.INDETERMINATE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.INDETERMINATE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// The track Visual value of progress bar, it's a full progress area and it's shown behind PROGRESS_VISUAL.
+ /// Optional. If not supplied, the default track visual will be shown.
+ /// </summary>
+ public Tizen.NUI.PropertyMap TrackVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(ProgressBar.Property.TRACK_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// The progress Visual value of progress bar, size of the progress visual is changed based on PROGRESS_VALUE.
+ /// Optional. If not supplied, the default progress visual will be shown.
+ /// </summary>
+ public Tizen.NUI.PropertyMap ProgressVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(ProgressBar.Property.PROGRESS_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// The secondary progress visual of progress bar, size of the secondary progress visual is changed based on SECONDARY_PROGRESS_VALUE.
+ /// Optional. If not supplied, the secondary progress visual will not be shown.
+ /// </summary>
+ public Tizen.NUI.PropertyMap SecondaryProgressVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(ProgressBar.Property.SECONDARY_PROGRESS_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.SECONDARY_PROGRESS_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// The indeterminate visual of progress bar.
+ /// Optional. If not supplied, the default inditerminate visual will be shown.
+ /// </summary>
+ public Tizen.NUI.PropertyMap IndeterminateVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(ProgressBar.Property.INDETERMINATE_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.INDETERMINATE_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// The transition data for indeterminate visual animation.
+ /// Optional. If not supplied, default animation will be played.
+ /// </summary>
+ public Tizen.NUI.PropertyArray IndeterminateVisualAnimation
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(ProgressBar.Property.INDETERMINATE_VISUAL_ANIMATION).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.INDETERMINATE_VISUAL_ANIMATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// The Label visual of progress bar.
+ /// </summary>
+ public Tizen.NUI.PropertyMap LabelVisual
+ {
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(ProgressBar.Property.LABEL_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ProgressBar.Property.LABEL_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class BoolSignal : global::System.IDisposable {
+public class ProgressBarValueChangedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
- internal BoolSignal(global::System.IntPtr cPtr, bool cMemoryOwn) {
+ internal ProgressBarValueChangedSignal(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BoolSignal obj) {
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ProgressBarValueChangedSignal obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
- ~BoolSignal() {
- Dispose();
+ ~ProgressBarValueChangedSignal() {
+ DisposeQueue.Instance.Add(this);
}
public virtual void Dispose() {
+ if (!Stage.IsInstalled()) {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
if (swigCMemOwn) {
swigCMemOwn = false;
- NDalicPINVOKE.delete_BoolSignal(swigCPtr);
+ NDalicPINVOKE.delete_ProgressBarValueChangedSignal(swigCPtr);
}
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
}
}
- public BoolSignal() : this(NDalicPINVOKE.new_BoolSignal(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
public bool Empty() {
- bool ret = NDalicPINVOKE.BoolSignal_Empty(swigCPtr);
+ bool ret = NDalicPINVOKE.ProgressBarValueChangedSignal_Empty(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
public uint GetConnectionCount() {
- uint ret = NDalicPINVOKE.BoolSignal_GetConnectionCount(swigCPtr);
+ uint ret = NDalicPINVOKE.ProgressBarValueChangedSignal_GetConnectionCount(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public void Connect(SWIGTYPE_p_f___bool func) {
- NDalicPINVOKE.BoolSignal_Connect__SWIG_0(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.ProgressBarValueChangedSignal_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
}
- public void Disconnect(SWIGTYPE_p_f___bool func) {
- NDalicPINVOKE.BoolSignal_Disconnect(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.ProgressBarValueChangedSignal_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
}
- public void Connect(ConnectionTrackerInterface connectionTracker, SWIGTYPE_p_Dali__FunctorDelegate arg1) {
- NDalicPINVOKE.BoolSignal_Connect__SWIG_4(swigCPtr, ConnectionTrackerInterface.getCPtr(connectionTracker), SWIGTYPE_p_Dali__FunctorDelegate.getCPtr(arg1));
+ public void Emit(ProgressBar arg1, float arg2, float arg3) {
+ NDalicPINVOKE.ProgressBarValueChangedSignal_Emit(swigCPtr, ProgressBar.getCPtr(arg1), arg2, arg3);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public bool Emit() {
- bool ret = NDalicPINVOKE.BoolSignal_Emit(swigCPtr);
+ public ProgressBarValueChangedSignal() : this(NDalicPINVOKE.new_ProgressBarValueChangedSignal(), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
}
}
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum ProjectionMode {
- PERSPECTIVE_PROJECTION,
- ORTHOGRAPHIC_PROJECTION
-}
-
-}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Property() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Property()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Property(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
-
- public static int INVALID_INDEX {
- get {
- int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static int INVALID_KEY {
- get {
- int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static int INVALID_COMPONENT_INDEX {
- get {
- int ret = NDalicPINVOKE.Property_INVALID_COMPONENT_INDEX_get();
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public Property(Handle arg0, int propertyIndex) : this(NDalicPINVOKE.new_Property__SWIG_0(Handle.getCPtr(arg0), propertyIndex), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Property(Handle arg0, int propertyIndex, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_1(Handle.getCPtr(arg0), propertyIndex, componentIndex), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Property(Handle arg0, string propertyName) : this(NDalicPINVOKE.new_Property__SWIG_2(Handle.getCPtr(arg0), propertyName), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Property(Handle arg0, string propertyName, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_3(Handle.getCPtr(arg0), propertyName, componentIndex), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Handle _object {
- set {
- NDalicPINVOKE.Property__object_set(swigCPtr, Handle.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- Handle ret = new Handle(NDalicPINVOKE.Property__object_get(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public int propertyIndex {
- set {
- NDalicPINVOKE.Property_propertyIndex_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Property_propertyIndex_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public int componentIndex {
- set {
- NDalicPINVOKE.Property_componentIndex_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Property_componentIndex_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public class Array : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Array(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Array obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Array() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Property_Array(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
+
+
+ internal static int INVALID_INDEX
+ {
+ get
+ {
+ int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static int INVALID_KEY
+ {
+ get
+ {
+ int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static int INVALID_COMPONENT_INDEX
+ {
+ get
+ {
+ int ret = NDalicPINVOKE.Property_INVALID_COMPONENT_INDEX_get();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ public Property(Handle arg0, int propertyIndex) : this(NDalicPINVOKE.new_Property__SWIG_0(Handle.getCPtr(arg0), propertyIndex), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public Property(Handle arg0, int propertyIndex, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_1(Handle.getCPtr(arg0), propertyIndex, componentIndex), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public Property(Handle arg0, string propertyName) : this(NDalicPINVOKE.new_Property__SWIG_2(Handle.getCPtr(arg0), propertyName), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public Property(Handle arg0, string propertyName, int componentIndex) : this(NDalicPINVOKE.new_Property__SWIG_3(Handle.getCPtr(arg0), propertyName, componentIndex), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Handle _object
+ {
+ set
+ {
+ NDalicPINVOKE.Property__object_set(swigCPtr, Handle.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Handle ret = new Handle(NDalicPINVOKE.Property__object_get(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ public int propertyIndex
+ {
+ set
+ {
+ NDalicPINVOKE.Property_propertyIndex_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Property_propertyIndex_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ public int componentIndex
+ {
+ set
+ {
+ NDalicPINVOKE.Property_componentIndex_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Property_componentIndex_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
}
-
- public Property.Value this[uint index]
+
+ /// <summary>
+ /// A Array of property values.
+ /// </summary>
+ public class PropertyArray : global::System.IDisposable
{
- get
- {
- return ValueOfIndex(index);
- }
- }
-
- public Array() : this(NDalicPINVOKE.new_Property_Array__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Array(Property.Array other) : this(NDalicPINVOKE.new_Property_Array__SWIG_1(Property.Array.getCPtr(other)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public uint Size() {
- uint ret = NDalicPINVOKE.Property_Array_Size(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint Count() {
- uint ret = NDalicPINVOKE.Property_Array_Count(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Empty() {
- bool ret = NDalicPINVOKE.Property_Array_Empty(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Clear() {
- NDalicPINVOKE.Property_Array_Clear(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Reserve(uint size) {
- NDalicPINVOKE.Property_Array_Reserve(swigCPtr, size);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Resize(uint size) {
- NDalicPINVOKE.Property_Array_Resize(swigCPtr, size);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public uint Capacity() {
- uint ret = NDalicPINVOKE.Property_Array_Capacity(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void PushBack(Property.Value value) {
- NDalicPINVOKE.Property_Array_PushBack(swigCPtr, Property.Value.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Property.Array Add(Property.Value value) {
- Property.Array ret = new Property.Array(NDalicPINVOKE.Property_Array_Add(swigCPtr, Property.Value.getCPtr(value)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value GetElementAt(uint index) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Array_GetElementAt__SWIG_0(swigCPtr, index), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value ValueOfIndex(uint index) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Array Assign(Property.Array other) {
- Property.Array ret = new Property.Array(NDalicPINVOKE.Property_Array_Assign(swigCPtr, Property.Array.getCPtr(other)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- }
-
- public class Key : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Key(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Key obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Key() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Property_Key(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property.Key.Type type {
- set {
- NDalicPINVOKE.Property_Key_type_set(swigCPtr, (int)value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- Property.Key.Type ret = (Property.Key.Type)NDalicPINVOKE.Property_Key_type_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public int indexKey {
- set {
- NDalicPINVOKE.Property_Key_indexKey_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Property_Key_indexKey_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public string stringKey {
- set {
- NDalicPINVOKE.Property_Key_stringKey_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- string ret = NDalicPINVOKE.Property_Key_stringKey_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public Key(string key) : this(NDalicPINVOKE.new_Property_Key__SWIG_0(key), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Key(int key) : this(NDalicPINVOKE.new_Property_Key__SWIG_1(key), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool EqualTo(string rhs) {
- bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_0(swigCPtr, rhs);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool EqualTo(int rhs) {
- bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_1(swigCPtr, rhs);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool EqualTo(Property.Key rhs) {
- bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_2(swigCPtr, Property.Key.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool NotEqualTo(string rhs) {
- bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_0(swigCPtr, rhs);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool NotEqualTo(int rhs) {
- bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_1(swigCPtr, rhs);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool NotEqualTo(Property.Key rhs) {
- bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_2(swigCPtr, Property.Key.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum Type {
- INDEX,
- STRING
- }
-
- }
-
- public class Map : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Map(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Map obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Map() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Property_Map(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal PropertyArray(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyArray obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~PropertyArray()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Property_Array(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// Operator to access an element.
+ /// </summary>
+ /// <param name="index">The element index to access. No bounds checking is performed</param>
+ /// <returns>The a reference to the element</returns>
+ public PropertyValue this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
+
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ public PropertyArray() : this(NDalicPINVOKE.new_Property_Array__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal PropertyArray(PropertyArray other) : this(NDalicPINVOKE.new_Property_Array__SWIG_1(PropertyArray.getCPtr(other)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Retrieves the number of elements in the array.
+ /// </summary>
+ /// <returns>The number of elements in the array</returns>
+ public uint Size()
+ {
+ uint ret = NDalicPINVOKE.Property_Array_Size(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the number of elements in the array.
+ /// </summary>
+ /// <returns>The number of elements in the array</returns>
+ public uint Count()
+ {
+ uint ret = NDalicPINVOKE.Property_Array_Count(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns whether the array is empty.
+ /// </summary>
+ /// <returns>Return true if empty, false otherwise</returns>
+ public bool Empty()
+ {
+ bool ret = NDalicPINVOKE.Property_Array_Empty(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Clears the array.
+ /// </summary>
+ public void Clear()
+ {
+ NDalicPINVOKE.Property_Array_Clear(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Increases the capacity of the array.
+ /// </summary>
+ /// <param name="size">The size to reserve</param>
+ public void Reserve(uint size)
+ {
+ NDalicPINVOKE.Property_Array_Reserve(swigCPtr, size);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Resizes to size.
+ /// </summary>
+ /// <param name="size">The size to resize</param>
+ public void Resize(uint size)
+ {
+ NDalicPINVOKE.Property_Array_Resize(swigCPtr, size);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Retrieves the capacity of the array.
+ /// </summary>
+ /// <returns>The allocated capacity of the array</returns>
+ public uint Capacity()
+ {
+ uint ret = NDalicPINVOKE.Property_Array_Capacity(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Adds an element to the array.
+ /// </summary>
+ /// <param name="value">The value to add to the end of the array</param>
+ public void PushBack(PropertyValue value)
+ {
+ NDalicPINVOKE.Property_Array_PushBack(swigCPtr, PropertyValue.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Add an element to the array.
+ /// </summary>
+ /// <param name="value">The value to add to the end of the array</param>
+ public PropertyArray Add(PropertyValue value)
+ {
+ PropertyArray ret = new PropertyArray(NDalicPINVOKE.Property_Array_Add(swigCPtr, PropertyValue.getCPtr(value)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Access an element.
+ /// </summary>
+ /// <param name="index">The element index to access. No bounds checking is performed</param>
+ /// <returns>The a reference to the element</returns>
+ public PropertyValue GetElementAt(uint index)
+ {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Array_GetElementAt__SWIG_0(swigCPtr, index), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the value of elements in the array.
+ /// </summary>
+ /// <param name="index">The element index to retrieve.</param>
+ /// <returns>The a reference to the element</returns>
+ public PropertyValue ValueOfIndex(uint index)
+ {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Copy the array.
+ /// </summary>
+ /// <param name="other">The array to copy from</param>
+ /// <returns>The copied array</returns>
+ internal PropertyArray Assign(PropertyArray other)
+ {
+ PropertyArray ret = new PropertyArray(NDalicPINVOKE.Property_Array_Assign(swigCPtr, PropertyArray.getCPtr(other)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
}
-
- public Property.Value this[string key]
+
+ /// <summary>
+ /// A key type which can be either a std::string or a Property::Index
+ /// </summary>
+ public class PropertyKey : global::System.IDisposable
{
- get
- {
- return ValueOfIndex(key);
- }
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal PropertyKey(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyKey obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~PropertyKey()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Property_Key(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// The type of the key
+ /// </summary>
+ public PropertyKey.Type type
+ {
+ set
+ {
+ NDalicPINVOKE.Property_Key_type_set(swigCPtr, (int)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ PropertyKey.Type ret = (PropertyKey.Type)NDalicPINVOKE.Property_Key_type_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// The index key.
+ /// </summary>
+ public int indexKey
+ {
+ set
+ {
+ NDalicPINVOKE.Property_Key_indexKey_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Property_Key_indexKey_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// The string key.
+ /// </summary>
+ public string stringKey
+ {
+ set
+ {
+ NDalicPINVOKE.Property_Key_stringKey_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ string ret = NDalicPINVOKE.Property_Key_stringKey_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ /// <param name="key">The string key</param>
+ public PropertyKey(string key) : this(NDalicPINVOKE.new_Property_Key__SWIG_0(key), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ /// <param name="key">The index key</param>
+ public PropertyKey(int key) : this(NDalicPINVOKE.new_Property_Key__SWIG_1(key), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Compare if rhs is equal to
+ /// </summary>
+ /// <param name="rhs">A string key to compare against</param>
+ /// <returns>Returns true if the key compares, or false if it isn't equal or of the wrong type</returns>
+ public bool EqualTo(string rhs)
+ {
+ bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_0(swigCPtr, rhs);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Compare if rhs is equal to
+ /// </summary>
+ /// <param name="rhs">A index key to compare against</param>
+ /// <returns>Returns true if the key compares, or false if it isn't equal or of the wrong type</returns>
+ public bool EqualTo(int rhs)
+ {
+ bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_1(swigCPtr, rhs);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Compare if rhs is equal to
+ /// </summary>
+ /// <param name="rhs">A key to compare against</param>
+ /// <returns>Returns true if the keys are of the same type and have the same value</returns>
+ public bool EqualTo(PropertyKey rhs)
+ {
+ bool ret = NDalicPINVOKE.Property_Key_EqualTo__SWIG_2(swigCPtr, PropertyKey.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Compare if rhs is not equal to
+ /// </summary>
+ /// <param name="rhs">An index key to compare against.</param>
+ /// <returns>Returns true if the key is not equal or not a string key</returns>
+ public bool NotEqualTo(string rhs)
+ {
+ bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_0(swigCPtr, rhs);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Compare if rhs is not equal to
+ /// </summary>
+ /// <param name="rhs">An index key to compare against.</param>
+ /// <returns>Returns true if the key is not equal, or not an index key</returns>
+ public bool NotEqualTo(int rhs)
+ {
+ bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_1(swigCPtr, rhs);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Compare if rhs is not equal to
+ /// </summary>
+ /// <param name="rhs">A key to compare against.</param>
+ /// <returns>Returns true if the keys are not of the same type or are not equal</returns>
+ public bool NotEqualTo(PropertyKey rhs)
+ {
+ bool ret = NDalicPINVOKE.Property_Key_NotEqualTo__SWIG_2(swigCPtr, PropertyKey.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// The type of key
+ /// </summary>
+ public enum Type
+ {
+ Index,
+ String
+ }
+
}
-
- public Property.Value this[int key]
+
+ /// <summary>
+ /// A Map of property values, the key type could be String or Property::Index.
+ /// </summary>
+ public class PropertyMap : global::System.IDisposable
{
- get
- {
- return ValueOfIndex(key);
- }
- }
-
- public Map() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Map(Property.Map other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(Property.Map.getCPtr(other)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public uint Count() {
- uint ret = NDalicPINVOKE.Property_Map_Count(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Empty() {
- bool ret = NDalicPINVOKE.Property_Map_Empty(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Insert(string key, Property.Value value) {
- NDalicPINVOKE.Property_Map_Insert__SWIG_0(swigCPtr, key, Property.Value.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Insert(int key, Property.Value value) {
- NDalicPINVOKE.Property_Map_Insert__SWIG_2(swigCPtr, key, Property.Value.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Property.Map Add(string key, Property.Value value) {
- Property.Map ret = new Property.Map(NDalicPINVOKE.Property_Map_Add__SWIG_0(swigCPtr, key, Property.Value.getCPtr(value)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Map Add(int key, Property.Value value) {
- Property.Map ret = new Property.Map(NDalicPINVOKE.Property_Map_Add__SWIG_2(swigCPtr, key, Property.Value.getCPtr(value)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value GetValue(uint position) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Map_GetValue(swigCPtr, position), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public string GetKey(uint position) {
- string ret = NDalicPINVOKE.Property_Map_GetKey(swigCPtr, position);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Key GetKeyAt(uint position) {
- Property.Key ret = new Property.Key(NDalicPINVOKE.Property_Map_GetKeyAt(swigCPtr, position), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public StringValuePair GetPair(uint position) {
- StringValuePair ret = new StringValuePair(NDalicPINVOKE.Property_Map_GetPair(swigCPtr, position), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value Find(string key) {
- global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_0(swigCPtr, key);
- Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value Find(int key) {
- global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_2(swigCPtr, key);
- Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value Find(int indexKey, string stringKey) {
- global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_3(swigCPtr, indexKey, stringKey);
- Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value Find(string key, Property.Type type) {
- global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_4(swigCPtr, key, (int)type);
- Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value Find(int key, Property.Type type) {
- global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_5(swigCPtr, key, (int)type);
- Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Clear() {
- NDalicPINVOKE.Property_Map_Clear(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Merge(Property.Map from) {
- NDalicPINVOKE.Property_Map_Merge(swigCPtr, Property.Map.getCPtr(from));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Property.Value ValueOfIndex(string key) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_0(swigCPtr, key), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Value ValueOfIndex(int key) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Map Assign(Property.Map other) {
- Property.Map ret = new Property.Map(NDalicPINVOKE.Property_Map_Assign(swigCPtr, Property.Map.getCPtr(other)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- }
-
- public class Value : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Value(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Value obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Value() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Property_Value(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
-
- // Extension to property value class that allows us to create a
- // PropertyValue from a C# object, e.g. int, float, string
- static public Property.Value CreateFromObject( System.Object obj)
- {
- System.Type type = obj.GetType ();
-
- Property.Value value;
-
- if ( type.Equals (typeof(int)) )
- {
- //Console.WriteLine (" got an int property value ");
- value = new Property.Value ((int) obj );
- }
- if ( type.Equals (typeof(System.Int32)) )
- {
- //Console.WriteLine (" got an int property value ");
- value = new Property.Value ((int) obj );
- }
- else if ( type.Equals (typeof(bool)) )
- {
- //Console.WriteLine (" got an bool property value ");
- value = new Property.Value ((bool) obj );
- }
- else if ( type.Equals (typeof(float)) )
- {
- //Console.WriteLine (" got an float property value ");
- value = new Property.Value ((float) obj );
- }
- else if ( type.Equals (typeof(string)) )
- {
- //Console.WriteLine (" got a string property value ");
- value = new Property.Value ((string) obj );
- }
- else if ( type.Equals (typeof(Vector2)) )
- {
- //Console.WriteLine (" got an Vector2 property value ");
- value = new Property.Value ((Vector2) obj );
- }
- else if ( type.Equals (typeof(Vector3)) )
- {
- //Console.WriteLine (" got an Vector3 property value ");
- value = new Property.Value ((Vector3) obj );
- }
- else if ( type.Equals (typeof(Vector4)) )
- {
- //Console.WriteLine (" got an Vector4 property value ");
-
- value = new Property.Value ((Vector4) obj );
- }
- else if ( type.Equals (typeof(Position)) )
- {
- //Console.WriteLine (" got an Position property value ");
- value = new Property.Value ((Position) obj );
- }
- else if ( type.Equals (typeof(Size)) )
- {
- //Console.WriteLine (" got an Size property value ");
- value = new Property.Value ((Size) obj );
- }
- else if ( type.Equals (typeof(Color)) )
- {
- //Console.WriteLine (" got an Color property value ");
- value = new Property.Value ((Color) obj );
- }
- else
- {
- throw new global::System.InvalidOperationException("Unimplemented type for Property Value");
- }
- return value;
- }
-
-
-
- public Value() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Vector4 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Matrix3 matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Matrix matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_8(Matrix.getCPtr(matrixValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Quaternion quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Quaternion.getCPtr(quaternion)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Property.Array arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(Property.Array.getCPtr(arrayValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Property.Map mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(Property.Map.getCPtr(mapValue)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Property.Type type) : this(NDalicPINVOKE.new_Property_Value__SWIG_16((int)type), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Value(Property.Value value) : this(NDalicPINVOKE.new_Property_Value__SWIG_17(Property.Value.getCPtr(value)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Property.Value Assign(Property.Value value) {
- Property.Value ret = new Property.Value(NDalicPINVOKE.Property_Value_Assign(swigCPtr, Property.Value.getCPtr(value)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Property.Type GetType() {
- Property.Type ret = (Property.Type)NDalicPINVOKE.Property_Value_GetType(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(ref bool boolValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_1(swigCPtr, ref boolValue);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(ref float floatValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_2(swigCPtr, ref floatValue);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(ref int integerValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_3(swigCPtr, ref integerValue);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Rectangle rect) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_4(swigCPtr, Rectangle.getCPtr(rect));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Vector2 vectorValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Vector2.getCPtr(vectorValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Vector3 vectorValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Vector3.getCPtr(vectorValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Vector4 vectorValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_7(swigCPtr, Vector4.getCPtr(vectorValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Matrix3 matrixValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_8(swigCPtr, Matrix3.getCPtr(matrixValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Matrix matrixValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_9(swigCPtr, Matrix.getCPtr(matrixValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(AngleAxis angleAxisValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_10(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Quaternion quaternionValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_11(swigCPtr, Quaternion.getCPtr(quaternionValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(out string stringValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_12(swigCPtr, out stringValue);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Property.Array arrayValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_13(swigCPtr, Property.Array.getCPtr(arrayValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Get(Property.Map mapValue) {
- bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_14(swigCPtr, Property.Map.getCPtr(mapValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal PropertyMap(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyMap obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~PropertyMap()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Property_Map(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// Operator to access the element with the specified string key.
+ /// If an element with the key does not exist, then it is created.
+ /// </summary>
+ /// <param name="key">The key whose value to access</param>
+ /// <returns>A value for the element with the specified key</returns>
+ public PropertyValue this[string key]
+ {
+ get
+ {
+ return ValueOfIndex(key);
+ }
+ }
+
+ /// <summary>
+ /// Operator to access the element with the specified index key.
+ /// If an element with the key does not exist, then it is created.
+ /// </summary>
+ /// <param name="key">The key whose value to access</param>
+ /// <returns>A value for the element with the specified key</returns>
+ public PropertyValue this[int key]
+ {
+ get
+ {
+ return ValueOfIndex(key);
+ }
+ }
+
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ public PropertyMap() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Copy Constructor
+ /// </summary>
+ /// <param name="other">The Map to copy from</param>
+ public PropertyMap(PropertyMap other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(PropertyMap.getCPtr(other)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Retrieves the number of elements in the map.
+ /// </summary>
+ /// <returns>The number of elements in the map</returns>
+ public uint Count()
+ {
+ uint ret = NDalicPINVOKE.Property_Map_Count(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns whether the map is empty.
+ /// </summary>
+ /// <returns>Returns true if empty, false otherwise</returns>
+ public bool Empty()
+ {
+ bool ret = NDalicPINVOKE.Property_Map_Empty(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Inserts the key-value pair in the Map, with the key type as string.
+ /// Does not check for duplicates.
+ /// </summary>
+ /// <param name="key">The key to insert</param>
+ /// <param name="value">The value to insert</param>
+ public void Insert(string key, PropertyValue value)
+ {
+ NDalicPINVOKE.Property_Map_Insert__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Inserts the key-value pair in the Map, with the key type as index.
+ /// Does not check for duplicates.
+ /// </summary>
+ /// <param name="key">The key to insert</param>
+ /// <param name="value">The value to insert</param>
+ public void Insert(int key, PropertyValue value)
+ {
+ NDalicPINVOKE.Property_Map_Insert__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Inserts the key-value pair in the Map, with the key type as string.
+ /// Does not check for duplicates.
+ /// </summary>
+ /// <param name="key">The key to insert</param>
+ /// <param name="value">The value to insert</param>
+ /// <returns>Returns a reference to this object</returns>
+ public PropertyMap Add(string key, PropertyValue value)
+ {
+ PropertyMap ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Inserts the key-value pair in the Map, with the key type as string.
+ /// Does not check for duplicates.
+ /// </summary>
+ /// <param name="key">The key to insert</param>
+ /// <param name="value">The value to insert</param>
+ /// <returns>Returns a reference to this object</returns>
+ public PropertyMap Add(int key, PropertyValue value)
+ {
+ PropertyMap ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the value at the specified position.
+ /// </summary>
+ /// <param name="position">The specified position</param>
+ /// <returns>A reference to the value at the specified position</returns>
+ public PropertyValue GetValue(uint position)
+ {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_GetValue(swigCPtr, position), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the key at the specified position.
+ /// </summary>
+ /// <param name="position">The specified position</param>
+ /// <returns>A reference to the key at the specified position</returns>
+ public string GetKey(uint position)
+ {
+ string ret = NDalicPINVOKE.Property_Map_GetKey(swigCPtr, position);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieve the key at the specified position.
+ /// </summary>
+ /// <param name="position">The specified position</param>
+ /// <returns>A copy of the key at the specified position</returns>
+ public PropertyKey GetKeyAt(uint position)
+ {
+ PropertyKey ret = new PropertyKey(NDalicPINVOKE.Property_Map_GetKeyAt(swigCPtr, position), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal StringValuePair GetPair(uint position)
+ {
+ StringValuePair ret = new StringValuePair(NDalicPINVOKE.Property_Map_GetPair(swigCPtr, position), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Finds the value for the specified key if it exists.
+ /// </summary>
+ /// <param name="key">The key to find</param>
+ /// <returns>The value if it exists, an empty object otherwise</returns>
+ public PropertyValue Find(string key)
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_0(swigCPtr, key);
+ PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Finds the value for the specified key if it exists.
+ /// </summary>
+ /// <param name="key">The key to find</param>
+ /// <returns>The value if it exists, an empty object otherwise</returns>
+ public PropertyValue Find(int key)
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_2(swigCPtr, key);
+ PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Finds the value for the specified keys if either exist.
+ /// </summary>
+ /// <param name="indexKey">The index key to find</param>
+ /// <param name="stringKey">The string key to find</param>
+ /// <returns>The value if it exists, an empty object otherwise</returns>
+ public PropertyValue Find(int indexKey, string stringKey)
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_3(swigCPtr, indexKey, stringKey);
+ PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Finds the value for the specified key if it exists and its type is type.
+ /// </summary>
+ /// <param name="key">The key to find</param>
+ /// <param name="type">The type to check</param>
+ /// <returns>The value if it exists, an empty value otherwise</returns>
+ public PropertyValue Find(string key, PropertyType type)
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_4(swigCPtr, key, (int)type);
+ PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Finds the value for the specified key if it exists and its type is type.
+ /// </summary>
+ /// <param name="key">The key to find</param>
+ /// <param name="type">The type to check</param>
+ /// <returns>The value if it exists, an empty value otherwise</returns>
+ public PropertyValue Find(int key, PropertyType type)
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_5(swigCPtr, key, (int)type);
+ PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Clears the map.
+ /// </summary>
+ public void Clear()
+ {
+ NDalicPINVOKE.Property_Map_Clear(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Merges values from the map 'from' to the current.
+ /// Any values in 'from' will overwrite the values in the current map.
+ /// </summary>
+ /// <param name="from">The map to merge from</param>
+ public void Merge(PropertyMap from)
+ {
+ NDalicPINVOKE.Property_Map_Merge(swigCPtr, PropertyMap.getCPtr(from));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Retrieves the element with the specified string key.
+ /// </summary>
+ /// <param name="key">The key whose value to retrieve</param>
+ /// <returns>The value for the element with the specified key</returns>
+ public PropertyValue ValueOfIndex(string key)
+ {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_0(swigCPtr, key), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the element with the specified index key.
+ /// </summary>
+ /// <param name="key">The key whose value to retrieve</param>
+ /// <returns>The value for the element with the specified key</returns>
+ public PropertyValue ValueOfIndex(int key)
+ {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Copy the map.
+ /// </summary>
+ /// <param name="other">The map to copy from</param>
+ /// <returns>The copied map</returns>
+ internal PropertyMap Assign(PropertyMap other)
+ {
+ PropertyMap ret = new PropertyMap(NDalicPINVOKE.Property_Map_Assign(swigCPtr, PropertyMap.getCPtr(other)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
}
-
- public Property.Array GetArray() {
- global::System.IntPtr cPtr = NDalicPINVOKE.Property_Value_GetArray(swigCPtr);
- Property.Array ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Array(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
+
+ /// <summary>
+ /// A value-type representing a property value.
+ /// </summary>
+ public class PropertyValue : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal PropertyValue(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~PropertyValue()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Property_Value(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+
+ /// <summary>
+ /// Extension to property value class that allows us to create a
+ /// PropertyValue from a C# object, e.g. int, float, string
+ /// </summary>
+ /// <param name="obj">An object to create</param>
+ /// <returns>The created value</returns>
+ static public PropertyValue CreateFromObject(System.Object obj)
+ {
+ System.Type type = obj.GetType();
+
+ PropertyValue value;
+
+ if (type.Equals(typeof(int)))
+ {
+ System.Console.WriteLine(" got an int property value ");
+ value = new PropertyValue((int)obj);
+ }
+ if (type.Equals(typeof(System.Int32)))
+ {
+ System.Console.WriteLine(" got an int property value ");
+ value = new PropertyValue((int)obj);
+ }
+ else if (type.Equals(typeof(bool)))
+ {
+ System.Console.WriteLine(" got an bool property value ");
+ value = new PropertyValue((bool)obj);
+ }
+ else if (type.Equals(typeof(float)))
+ {
+ System.Console.WriteLine(" got an float property value ");
+ value = new PropertyValue((float)obj);
+ }
+ else if (type.Equals(typeof(string)))
+ {
+ System.Console.WriteLine(" got a string property value ");
+ value = new PropertyValue((string)obj);
+ }
+ else if (type.Equals(typeof(Vector2)))
+ {
+ System.Console.WriteLine(" got an Vector2 property value ");
+ value = new PropertyValue((Vector2)obj);
+ }
+ else if (type.Equals(typeof(Vector3)))
+ {
+ System.Console.WriteLine(" got an Vector3 property value ");
+ value = new PropertyValue((Vector3)obj);
+ }
+ else if (type.Equals(typeof(Vector4)))
+ {
+ System.Console.WriteLine(" got an Vector4 property value ");
+
+ value = new PropertyValue((Vector4)obj);
+ }
+ else if (type.Equals(typeof(Position)))
+ {
+ System.Console.WriteLine(" got an Position property value ");
+ value = new PropertyValue((Position)obj);
+ }
+ else if (type.Equals(typeof(Size)))
+ {
+ System.Console.WriteLine(" got an Size property value ");
+ value = new PropertyValue((Size)obj);
+ }
+ else if (type.Equals(typeof(Color)))
+ {
+ System.Console.WriteLine(" got an Color property value ");
+ value = new PropertyValue((Color)obj);
+ }
+ else
+ {
+ throw new global::System.InvalidOperationException("Unimplemented type for Property Value");
+ }
+ return value;
+ }
+
+
+ /// <summary>
+ /// Creates a Size2D property value.
+ /// </summary>
+ /// <param name="vectorValue">A Size2D values</param>
+ public PropertyValue(Size2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Size2D.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Size property value.
+ /// </summary>
+ /// <param name="vectorValue">A Size values</param>
+ public PropertyValue(Size vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Size.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Position2D property value.
+ /// </summary>
+ /// <param name="vectorValue">A Position2D values</param>
+ public PropertyValue(Position2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Position2D.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Position property value.
+ /// </summary>
+ /// <param name="vectorValue">A Position values</param>
+ public PropertyValue(Position vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Position.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Color property value.
+ /// </summary>
+ /// <param name="vectorValue">A Color values</param>
+ public PropertyValue(Color vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Color.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+
+ /// <summary>
+ /// Retrieves a Size2D value.
+ /// </summary>
+ /// <param name="vectorValue"> On return, a Size2D value</param>
+ public bool Get(Size2D vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Size2D.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a Size2D value.
+ /// </summary>
+ /// <param name="vectorValue"> On return, a Size2D value</param>
+ public bool Get(Size vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Size.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a Position2D value.
+ /// </summary>
+ /// <param name="vectorValue"> On return, a Position2D value</param>
+ public bool Get(Position2D vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Position2D.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a Position value.
+ /// </summary>
+ /// <param name="vectorValue"> On return, a Position value</param>
+ public bool Get(Position vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Position.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a Color value.
+ /// </summary>
+ /// <param name="vectorValue"> On return, a Color value</param>
+ public bool Get(Color vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_7(swigCPtr, Color.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+
+ /// <summary>
+ /// Default constructor.
+ /// </summary>
+ public PropertyValue() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a boolean property value.
+ /// </summary>
+ /// <param name="boolValue">A boolean value</param>
+ public PropertyValue(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates an integer property value.
+ /// </summary>
+ /// <param name="integerValue">An integer value</param>
+ public PropertyValue(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a float property value.
+ /// </summary>
+ /// <param name="floatValue">A floating-point value</param>
+ public PropertyValue(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Vector2 property value.
+ /// </summary>
+ /// <param name="vectorValue">A vector of 2 floating-point values</param>
+ public PropertyValue(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Vector3 property value.
+ /// </summary>
+ /// <param name="vectorValue">A vector of 3 floating-point values</param>
+ public PropertyValue(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Vector4 property value.
+ /// </summary>
+ /// <param name="vectorValue">A vector of 4 floating-point values</param>
+ public PropertyValue(Vector4 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal PropertyValue(Matrix3 matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal PropertyValue(Matrix matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_8(Matrix.getCPtr(matrixValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Rectangle property value.
+ /// </summary>
+ /// <param name="vectorValue">A Rectangle values</param>
+ public PropertyValue(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal PropertyValue(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a Rotation property value.
+ /// </summary>
+ /// <param name="quaternion">A Rotation values</param>
+ public PropertyValue(Rotation quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a string property value.
+ /// </summary>
+ /// <param name="stringValue">A string</param>
+ public PropertyValue(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates an array property value.
+ /// </summary>
+ /// <param name="arrayValue">An array</param>
+ public PropertyValue(PropertyArray arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(PropertyArray.getCPtr(arrayValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a map property value.
+ /// </summary>
+ /// <param name="mapValue">An array</param>
+ public PropertyValue(PropertyMap mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(PropertyMap.getCPtr(mapValue)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a PropertyType value.
+ /// </summary>
+ /// <param name="type">A PropertyType values</param>
+ public PropertyValue(PropertyType type) : this(NDalicPINVOKE.new_Property_Value__SWIG_16((int)type), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates a PropertyValue value.
+ /// </summary>
+ /// <param name="value">A PropertyValue values</param>
+ public PropertyValue(PropertyValue value) : this(NDalicPINVOKE.new_Property_Value__SWIG_17(PropertyValue.getCPtr(value)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Copy the value.
+ /// </summary>
+ /// <param name="value">The value to copy from</param>
+ /// <returns>The copied value</returns>
+ internal PropertyValue Assign(PropertyValue value)
+ {
+ PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Value_Assign(swigCPtr, PropertyValue.getCPtr(value)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Queries the type of this property value.
+ /// </summary>
+ /// <returns>The type ID</returns>
+ public PropertyType GetType()
+ {
+ PropertyType ret = (PropertyType)NDalicPINVOKE.Property_Value_GetType(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a boolean value.
+ /// </summary>
+ /// <param name="boolValue">On return, a boolean value</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(ref bool boolValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_1(swigCPtr, ref boolValue);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a floating-point value.
+ /// </summary>
+ /// <param name="floatValue">On return, a floating-point value</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(ref float floatValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_2(swigCPtr, ref floatValue);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a integer value.
+ /// </summary>
+ /// <param name="integerValue">On return, a integer value</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(ref int integerValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_3(swigCPtr, ref integerValue);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves an integer rectangle.
+ /// </summary>
+ /// <param name="rect">On return, an integer rectangle</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(Rectangle rect)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_4(swigCPtr, Rectangle.getCPtr(rect));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a vector value.
+ /// </summary>
+ /// <param name="vectorValue">On return, a vector value</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(Vector2 vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_5(swigCPtr, Vector2.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a vector value.
+ /// </summary>
+ /// <param name="vectorValue">On return, a vector value</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(Vector3 vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_6(swigCPtr, Vector3.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a vector value.
+ /// </summary>
+ /// <param name="vectorValue">On return, a vector value</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(Vector4 vectorValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_7(swigCPtr, Vector4.getCPtr(vectorValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool Get(Matrix3 matrixValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_8(swigCPtr, Matrix3.getCPtr(matrixValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool Get(Matrix matrixValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_9(swigCPtr, Matrix.getCPtr(matrixValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool Get(AngleAxis angleAxisValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_10(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a Rotation value.
+ /// </summary>
+ /// <param name="quaternionValue">On return, a Rotation value</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(Rotation quaternionValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_11(swigCPtr, Rotation.getCPtr(quaternionValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves a string property value.
+ /// </summary>
+ /// <param name="stringValue">On return, a string</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(out string stringValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_12(swigCPtr, out stringValue);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves an array property value.
+ /// </summary>
+ /// <param name="arrayValue">On return, the array as a vector Property Values</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(PropertyArray arrayValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_13(swigCPtr, PropertyArray.getCPtr(arrayValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves an map property value.
+ /// </summary>
+ /// <param name="mapValue">On return, the map as vector of string and Property Value pairs</param>
+ /// <returns>Returns true if the value is successfully retrieved, false if the type is not convertible</returns>
+ public bool Get(PropertyMap mapValue)
+ {
+ bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_14(swigCPtr, PropertyMap.getCPtr(mapValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the Array API of the Property::Value without copying the contents of the map.
+ /// </summary>
+ /// <returns>The Array API of the Property::Value or NULL if not a Property::Array</returns>
+ public PropertyArray GetArray()
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Property_Value_GetArray(swigCPtr);
+ PropertyArray ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyArray(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the Map API of the Property::Value without copying the contents of the map.
+ /// </summary>
+ /// <returns>The Map API of the Property::Value or NULL if not a Property::Map</returns>
+ public PropertyMap GetMap()
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Property_Value_GetMap(swigCPtr);
+ PropertyMap ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyMap(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
}
-
- public Property.Map GetMap() {
- global::System.IntPtr cPtr = NDalicPINVOKE.Property_Value_GetMap(swigCPtr);
- Property.Map ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Map(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
+
+ public enum PropertyType
+ {
+ None,
+ Boolean,
+ Float,
+ Integer,
+ Vector2,
+ Vector3,
+ Vector4,
+ Matrix3,
+ Matrix,
+ Rectangle,
+ Rotation,
+ String,
+ Array,
+ Map
}
-
- }
-
- public enum Type {
- NONE,
- BOOLEAN,
- FLOAT,
- INTEGER,
- VECTOR2,
- VECTOR3,
- VECTOR4,
- MATRIX3,
- MATRIX,
- RECTANGLE,
- ROTATION,
- STRING,
- ARRAY,
- MAP
- }
-
- public enum AccessMode {
- READ_ONLY,
- READ_WRITE,
- ANIMATABLE,
- ACCESS_MODE_COUNT
- }
-}
+ public enum PropertyAccessMode
+ {
+ ReadOnly,
+ ReadWrite,
+ Animatable,
+ AccessModeCount
+ }
}
namespace Tizen.NUI {
-public class PropertyBuffer : BaseHandle {
+ internal class PropertyBuffer : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PropertyBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyBuffer_SWIGUpcast(cPtr), cMemoryOwn) {
}
- public PropertyBuffer (Property.Map bufferFormat) : this (NDalicPINVOKE.PropertyBuffer_New(Property.Map.getCPtr(bufferFormat)), true) {
+ public PropertyBuffer (PropertyMap bufferFormat) : this (NDalicPINVOKE.PropertyBuffer_New(PropertyMap.getCPtr(bufferFormat)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
namespace Tizen.NUI {
-public class PropertyCondition : BaseHandle {
+ internal class PropertyCondition : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PropertyCondition(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyCondition_SWIGUpcast(cPtr), cMemoryOwn) {
using System.Runtime.InteropServices;
-public class PropertyNotification : BaseHandle {
+ internal class PropertyNotification : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal PropertyNotification(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyNotification_SWIGUpcast(cPtr), cMemoryOwn) {
public static PropertyNotification GetPropertyNotificationFromPtr(global::System.IntPtr cPtr) {
PropertyNotification ret = new PropertyNotification(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
namespace Tizen.NUI {
-public class PropertyNotifySignal : global::System.IDisposable {
+ internal class PropertyNotifySignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
-using System;
+#define DOT_NET_CORE
+
+using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
-
-#if true
+#if (DOT_NET_CORE)
using System.Reflection;
#endif
namespace Tizen.NUI
{
- /// <summary>
- /// Helper class for calculating what property indexes should be assigned to C# View (view) classes.
- /// </summary>
- public class PropertyRangeManager
+ /// <summary>
+ /// Helper class for calculating what property indexes should be assigned to C# View (view) classes.
+ /// </summary>
+ internal class PropertyRangeManager
{
private Dictionary<String, PropertyRange > _propertyRange;
- /// <summary>
- /// Initializes a new instance of the <see cref="Tizen.NUI.PropertyRangeManager"/> class.
- /// </summary>
- public PropertyRangeManager ()
- {
- _propertyRange = new Dictionary<String, PropertyRange > ();
- }
+ /// <summary>
+ /// Initializes a new instance of the <see cref="Tizen.NUI.PropertyRangeManager"/> class.
+ /// </summary>
+ public PropertyRangeManager()
+ {
+ _propertyRange = new Dictionary<String, PropertyRange>();
+ }
- /// <summary>
- /// Only called if a View has scriptable properties
- /// </summary>
- private PropertyRange RegisterView( string viewName, System.Type viewType )
- {
- PropertyRange range;
+ /// <summary>
+ /// Only called if a View has scriptable properties
+ /// </summary>
+ private PropertyRange RegisterView(string viewName, System.Type viewType)
+ {
+ PropertyRange range;
- if ( _propertyRange.TryGetValue (viewName, out range) )
- {
- // already registered
- return range;
- }
+ if (_propertyRange.TryGetValue(viewName, out range))
+ {
+ // already registered
+ return range;
+ }
- // Find out the event and animatable start indexes for the type
- range = new PropertyRange();
+ // Find out the event and animatable start indexes for the type
+ range = new PropertyRange();
- GetPropertyStartRange( viewType, ref range);
+ GetPropertyStartRange(viewType, ref range);
- // add it to our dictionary
- _propertyRange.Add( viewName, range );
+ // add it to our dictionary
+ _propertyRange.Add(viewName, range);
- return range;
+ return range;
- }
+ }
- /// <summary>
- /// Gets the index of the property.
- /// Each property has to have unique index for this view type
- /// </summary>
- /// <returns>The property index.</returns>
- /// <param name="viewName">View name</param>
- /// <param name="viewType">View type</param>
- /// <param name="type">Type.</param>
- public int GetPropertyIndex( string viewName, System.Type viewType, ScriptableProperty.ScriptableType type )
- {
+ /// <summary>
+ /// Gets the index of the property.
+ /// Each property has to have unique index for this view type
+ /// </summary>
+ /// <returns>The property index.</returns>
+ /// <param name="viewName">View name</param>
+ /// <param name="viewType">View type</param>
+ /// <param name="type">Type.</param>
+ public int GetPropertyIndex(string viewName, System.Type viewType, ScriptableProperty.ScriptableType type)
+ {
- PropertyRange range;
+ PropertyRange range;
- if (! _propertyRange.TryGetValue (viewName, out range) )
- {
- // view not found, register it now
- range = RegisterView( viewName, viewType);
- }
+ if (!_propertyRange.TryGetValue(viewName, out range))
+ {
+ // view not found, register it now
+ range = RegisterView(viewName, viewType);
+ }
- int index = range.GetNextFreePropertyIndex ( type );
+ int index = range.GetNextFreePropertyIndex(type);
- // update the dictionary
- _propertyRange[viewName]=range;
+ // update the dictionary
+ _propertyRange[viewName] = range;
- return index;
+ return index;
- }
+ }
- ///<summary>
- /// We calculate the start property indices, based on the type and it's class heirachy, e.g. DateView (70,000)- > Spin (60,000) -> View (50,000)
- /// </summary>
- private void GetPropertyStartRange( System.Type viewType, ref PropertyRange range )
- {
- const int maxCountPerDerivation = 1000; // For child and animtable properties we use a gap of 1000 between each
- // views property range in the heirachy
-
- // custom views start there property index, at view_PROPERTY_END_INDEX
- // we add 1000, just incase View class (our C# custom view base) starts using scriptable properties
- int startEventPropertyIndex = (int)View.PropertyRange.CONTROL_PROPERTY_END_INDEX+maxCountPerDerivation;
-
- // for animatable properties current range starts at ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
- // we add 1000, just incase View class starts using animatable properties
- int startAnimatablePropertyIndex = (int)Tizen.NUI.PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX +maxCountPerDerivation;\r
-\r
-#if true
- while (viewType.GetTypeInfo().BaseType.Name != "CustomView") // custom view is our C# view base class. we don't go any deeper.\r
- {\r
- // for every base class increase property start index\r
- startEventPropertyIndex += (int)Tizen.NUI.PropertyRanges.DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION; // DALi uses 10,000\r
- startAnimatablePropertyIndex += maxCountPerDerivation;\r
-\r
- Tizen.Log.Debug("NUI-APP", "getStartPropertyIndex = " + viewType.Name + "current index " + startEventPropertyIndex);\r
- viewType = viewType.GetTypeInfo().BaseType;\r
- }\r
+ ///<summary>
+ /// We calculate the start property indices, based on the type and it's class heirachy, e.g. DateView (70,000)- > Spin (60,000) -> View (50,000)
+ /// </summary>
+ private void GetPropertyStartRange(System.Type viewType, ref PropertyRange range)
+ {
+ const int maxCountPerDerivation = 1000; // For child and animtable properties we use a gap of 1000 between each
+ // views property range in the heirachy
+
+ // custom views start there property index, at view_PROPERTY_END_INDEX
+ // we add 1000, just incase View class (our C# custom view base) starts using scriptable properties
+ int startEventPropertyIndex = (int)View.PropertyRange.CONTROL_PROPERTY_END_INDEX + maxCountPerDerivation;
+
+ // for animatable properties current range starts at ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
+ // we add 1000, just incase View class starts using animatable properties
+ int startAnimatablePropertyIndex = (int)Tizen.NUI.PropertyRanges.ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX + maxCountPerDerivation;
+
+#if (DOT_NET_CORE)
+ while ( viewType.GetTypeInfo().BaseType.Name != "CustomView" ) // custom view is our C# view base class. we don't go any deeper.
#else
- //original
- while ( viewType.BaseType.Name != "CustomView" ) // custom view is our C# view base class. we don't go any deeper.
- {
- // for every base class increase property start index
- startEventPropertyIndex += (int)Tizen.NUI.PropertyRanges.DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION; // DALi uses 10,000
- startAnimatablePropertyIndex += maxCountPerDerivation;
-
- ////Console.WriteLine ("getStartPropertyIndex = " + viewType.Name +"current index " + startEventPropertyIndex);
- viewType = viewType.BaseType;
- }
+ while (viewType.BaseType.Name != "CustomView") // custom view is our C# view base class. we don't go any deeper.
#endif
-\r
+ {
+ // for every base class increase property start index
+ startEventPropertyIndex += (int)Tizen.NUI.PropertyRanges.DEFAULT_PROPERTY_MAX_COUNT_PER_DERIVATION; // DALi uses 10,000
+ startAnimatablePropertyIndex += maxCountPerDerivation;
+
+ //Console.WriteLine ("getStartPropertyIndex = " + viewType.Name +"current index " + startEventPropertyIndex);
+#if (DOT_NET_CORE)
+ viewType = viewType.GetTypeInfo().BaseType;
+#else
+ viewType = viewType.BaseType;
+#endif
+ }
+
range.startEventIndex = startEventPropertyIndex;
- range.lastUsedEventIndex = startEventPropertyIndex;
+ range.lastUsedEventIndex = startEventPropertyIndex;
- range.startAnimationIndex = startAnimatablePropertyIndex;
- range.lastUsedAnimationIndex = startAnimatablePropertyIndex;
-
- }
+ range.startAnimationIndex = startAnimatablePropertyIndex;
+ range.lastUsedAnimationIndex = startAnimatablePropertyIndex;
+ }
- public struct PropertyRange
- {
- public int GetNextFreePropertyIndex( ScriptableProperty.ScriptableType type)
- {
- if ( type == ScriptableProperty.ScriptableType.Default )
- {
- lastUsedEventIndex++;
- return lastUsedEventIndex;
- }
- else
+ public struct PropertyRange
{
- lastUsedAnimationIndex++;
- return lastUsedAnimationIndex ;
- }
- }
+ public int GetNextFreePropertyIndex(ScriptableProperty.ScriptableType type)
+ {
+ if (type == ScriptableProperty.ScriptableType.Default)
+ {
+ lastUsedEventIndex++;
+ return lastUsedEventIndex;
+ }
+ else
+ {
+ lastUsedAnimationIndex++;
+ return lastUsedAnimationIndex;
+ }
+ }
- public int startEventIndex; /// start of the property range
- public int lastUsedEventIndex; /// last used of the property index
- public int startAnimationIndex; /// start of the property range
- public int lastUsedAnimationIndex; /// last used of the property index
- };
+ public int startEventIndex; /// start of the property range
+ public int lastUsedEventIndex; /// last used of the property index
+ public int startAnimationIndex; /// start of the property range
+ public int lastUsedAnimationIndex; /// last used of the property index
+ };
-}
+
+ }
}
namespace Tizen.NUI {
-public enum PropertyRanges {
+ internal enum PropertyRanges {
DEFAULT_OBJECT_PROPERTY_START_INDEX = 0,
DEFAULT_ACTOR_PROPERTY_START_INDEX = DEFAULT_OBJECT_PROPERTY_START_INDEX,
DEFAULT_ACTOR_PROPERTY_MAX_COUNT = 10000,
namespace Tizen.NUI {
-public class PropertyRegistration : global::System.IDisposable {
+ internal class PropertyRegistration : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
}
}
- public PropertyRegistration(TypeRegistration registered, string name, int index, Property.Type type, SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void setFunc, SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value getFunc) : this(NDalicPINVOKE.new_PropertyRegistration(TypeRegistration.getCPtr(registered), name, index, (int)type, SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void.getCPtr(setFunc), SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value.getCPtr(getFunc)), true) {
+ public PropertyRegistration(TypeRegistration registered, string name, int index, PropertyType type, SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void setFunc, SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value getFunc) : this(NDalicPINVOKE.new_PropertyRegistration(TypeRegistration.getCPtr(registered), name, index, (int)type, SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void.getCPtr(setFunc), SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value.getCPtr(getFunc)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class PushButton : Button {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// A PushButton changes its appearance when is pressed and returns to its original when is released.
+ /// </summary>
+ public class PushButton : Button
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal PushButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PushButton_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal PushButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PushButton_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PushButton obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PushButton obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~PushButton() {
- DisposeQueue.Instance.Add(this);
- }
+ ~PushButton()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_PushButton(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_PushButton(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_PushButton_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_PushButton_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int UNSELECTED_ICON = NDalicPINVOKE.PushButton_Property_UNSELECTED_ICON_get();
- public static readonly int SELECTED_ICON = NDalicPINVOKE.PushButton_Property_SELECTED_ICON_get();
- public static readonly int ICON_ALIGNMENT = NDalicPINVOKE.PushButton_Property_ICON_ALIGNMENT_get();
- public static readonly int LABEL_PADDING = NDalicPINVOKE.PushButton_Property_LABEL_PADDING_get();
- public static readonly int ICON_PADDING = NDalicPINVOKE.PushButton_Property_ICON_PADDING_get();
-
- }
-
- public PushButton () : this (NDalicPINVOKE.PushButton_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public PushButton(PushButton pushButton) : this(NDalicPINVOKE.new_PushButton__SWIG_1(PushButton.getCPtr(pushButton)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PushButton Assign(PushButton pushButton) {
- PushButton ret = new PushButton(NDalicPINVOKE.PushButton_Assign(swigCPtr, PushButton.getCPtr(pushButton)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static PushButton DownCast(BaseHandle handle) {
- PushButton ret = new PushButton(NDalicPINVOKE.PushButton_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new void SetButtonImage(Image image) {
- NDalicPINVOKE.PushButton_SetButtonImage__SWIG_0_0(swigCPtr, Image.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetButtonImage(Actor image) {
- NDalicPINVOKE.PushButton_SetButtonImage__SWIG_1(swigCPtr, Actor.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetBackgroundImage(Actor image) {
- NDalicPINVOKE.PushButton_SetBackgroundImage(swigCPtr, Actor.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public new void SetSelectedImage(Image image) {
- NDalicPINVOKE.PushButton_SetSelectedImage__SWIG_0_0(swigCPtr, Image.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetSelectedImage(Actor image) {
- NDalicPINVOKE.PushButton_SetSelectedImage__SWIG_1(swigCPtr, Actor.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetSelectedBackgroundImage(Actor image) {
- NDalicPINVOKE.PushButton_SetSelectedBackgroundImage(swigCPtr, Actor.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetDisabledBackgroundImage(Actor image) {
- NDalicPINVOKE.PushButton_SetDisabledBackgroundImage(swigCPtr, Actor.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetDisabledImage(Actor image) {
- NDalicPINVOKE.PushButton_SetDisabledImage(swigCPtr, Actor.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetDisabledSelectedImage(Actor image) {
- NDalicPINVOKE.PushButton_SetDisabledSelectedImage(swigCPtr, Actor.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public string UnselectedIcon
- {
- get
- {
- string temp;
- GetProperty( PushButton.Property.UNSELECTED_ICON).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( PushButton.Property.UNSELECTED_ICON, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string SelectedIcon
- {
- get
- {
- string temp;
- GetProperty( PushButton.Property.SELECTED_ICON).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( PushButton.Property.SELECTED_ICON, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string IconAlignment
- {
- get
- {
- string temp;
- GetProperty( PushButton.Property.ICON_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( PushButton.Property.ICON_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string LabelPadding
- {
- get
- {
- string temp;
- GetProperty( PushButton.Property.LABEL_PADDING).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( PushButton.Property.LABEL_PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string IconPadding
- {
- get
- {
- string temp;
- GetProperty( PushButton.Property.ICON_PADDING).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( PushButton.Property.ICON_PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
-}
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_PushButton_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_PushButton_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int UNSELECTED_ICON = NDalicPINVOKE.PushButton_Property_UNSELECTED_ICON_get();
+ internal static readonly int SELECTED_ICON = NDalicPINVOKE.PushButton_Property_SELECTED_ICON_get();
+ internal static readonly int ICON_ALIGNMENT = NDalicPINVOKE.PushButton_Property_ICON_ALIGNMENT_get();
+ internal static readonly int LABEL_PADDING = NDalicPINVOKE.PushButton_Property_LABEL_PADDING_get();
+ internal static readonly int ICON_PADDING = NDalicPINVOKE.PushButton_Property_ICON_PADDING_get();
+
+ }
+
+ /// <summary>
+ /// Creates the PushButton.
+ /// </summary>
+ public PushButton() : this(NDalicPINVOKE.PushButton_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal PushButton(PushButton pushButton) : this(NDalicPINVOKE.new_PushButton__SWIG_1(PushButton.getCPtr(pushButton)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal PushButton Assign(PushButton pushButton)
+ {
+ PushButton ret = new PushButton(NDalicPINVOKE.PushButton_Assign(swigCPtr, PushButton.getCPtr(pushButton)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to PushButton handle.
+ /// If handle points to a PushButton, the downcast produces valid handle.
+ /// If not the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>handle to a PushButton or an uninitialized handle</returns>
+ public new static PushButton DownCast(BaseHandle handle)
+ {
+ PushButton ret = new PushButton(NDalicPINVOKE.PushButton_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal new void SetButtonImage(Image image)
+ {
+ NDalicPINVOKE.PushButton_SetButtonImage__SWIG_0_0(swigCPtr, Image.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetButtonImage(Actor image)
+ {
+ NDalicPINVOKE.PushButton_SetButtonImage__SWIG_1(swigCPtr, Actor.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetBackgroundImage(Actor image)
+ {
+ NDalicPINVOKE.PushButton_SetBackgroundImage(swigCPtr, Actor.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal new void SetSelectedImage(Image image)
+ {
+ NDalicPINVOKE.PushButton_SetSelectedImage__SWIG_0_0(swigCPtr, Image.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetSelectedImage(Actor image)
+ {
+ NDalicPINVOKE.PushButton_SetSelectedImage__SWIG_1(swigCPtr, Actor.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetSelectedBackgroundImage(Actor image)
+ {
+ NDalicPINVOKE.PushButton_SetSelectedBackgroundImage(swigCPtr, Actor.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetDisabledBackgroundImage(Actor image)
+ {
+ NDalicPINVOKE.PushButton_SetDisabledBackgroundImage(swigCPtr, Actor.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetDisabledImage(Actor image)
+ {
+ NDalicPINVOKE.PushButton_SetDisabledImage(swigCPtr, Actor.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetDisabledSelectedImage(Actor image)
+ {
+ NDalicPINVOKE.PushButton_SetDisabledSelectedImage(swigCPtr, Actor.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// Sets the unselected button image.
+ /// </summary>
+ public string UnselectedIcon
+ {
+ set
+ {
+ SetProperty(PushButton.Property.UNSELECTED_ICON, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Sets the selected button image.
+ /// </summary>
+ public string SelectedIcon
+ {
+ set
+ {
+ SetProperty(PushButton.Property.SELECTED_ICON, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Sets the icon alignment.
+ /// </summary>
+ public string IconAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(PushButton.Property.ICON_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(PushButton.Property.ICON_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// Sets the label padding value.
+ /// </summary>
+ public Vector4 LabelPadding
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(PushButton.Property.LABEL_PADDING).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(PushButton.Property.LABEL_PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Sets the icon padding value.
+ /// </summary>
+ public string IconPadding
+ {
+ get
+ {
+ string temp;
+ GetProperty(PushButton.Property.ICON_PADDING).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(PushButton.Property.ICON_PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public class Quaternion : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Quaternion(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Quaternion obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Quaternion() {
- DisposeQueue.Instance.Add(this);
- }
-
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
-
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Quaternion(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
-
- public static Quaternion operator+(Quaternion arg1, Quaternion arg2) {
- return arg1.Add(arg2);
- }
-
- public static Quaternion operator-(Quaternion arg1, Quaternion arg2) {
- return arg1.Subtract(arg2);
- }
-
- public static Quaternion operator-(Quaternion arg1) {
- return arg1.Subtract();
- }
-
- public static Quaternion operator*(Quaternion arg1, Quaternion arg2) {
- return arg1.Multiply(arg2);
- }
-
- public static Vector3 operator*(Quaternion arg1, Vector3 arg2) {
- return arg1.Multiply(arg2);
- }
-
- public static Quaternion operator*(Quaternion arg1, float arg2) {
- return arg1.Multiply(arg2);
- }
-
- public static Quaternion operator/(Quaternion arg1, Quaternion arg2) {
- return arg1.Divide(arg2);
- }
-
- public static Quaternion operator/(Quaternion arg1, float arg2) {
- return arg1.Divide(arg2);
- }
-
- public Quaternion() : this(NDalicPINVOKE.new_Quaternion__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion(float cosThetaBy2, float iBySineTheta, float jBySineTheta, float kBySineTheta) : this(NDalicPINVOKE.new_Quaternion__SWIG_1(cosThetaBy2, iBySineTheta, jBySineTheta, kBySineTheta), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion(Vector4 vector) : this(NDalicPINVOKE.new_Quaternion__SWIG_2(Vector4.getCPtr(vector)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Quaternion__SWIG_3(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion(Radian pitch, Radian yaw, Radian roll) : this(NDalicPINVOKE.new_Quaternion__SWIG_4(Radian.getCPtr(pitch), Radian.getCPtr(yaw), Radian.getCPtr(roll)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion(Matrix matrix) : this(NDalicPINVOKE.new_Quaternion__SWIG_5(Matrix.getCPtr(matrix)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion(Vector3 xAxis, Vector3 yAxis, Vector3 zAxis) : this(NDalicPINVOKE.new_Quaternion__SWIG_6(Vector3.getCPtr(xAxis), Vector3.getCPtr(yAxis), Vector3.getCPtr(zAxis)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion(Vector3 v0, Vector3 v1) : this(NDalicPINVOKE.new_Quaternion__SWIG_7(Vector3.getCPtr(v0), Vector3.getCPtr(v1)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static Quaternion IDENTITY {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Quaternion_IDENTITY_get();
- Quaternion ret = (cPtr == global::System.IntPtr.Zero) ? null : new Quaternion(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public bool IsIdentity() {
- bool ret = NDalicPINVOKE.Quaternion_IsIdentity(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool ToAxisAngle(Vector3 axis, Radian angle) {
- bool ret = NDalicPINVOKE.Quaternion_ToAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 AsVector() {
- Vector4 ret = new Vector4(NDalicPINVOKE.Quaternion_AsVector(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetEuler(Radian pitch, Radian yaw, Radian roll) {
- NDalicPINVOKE.Quaternion_SetEuler(swigCPtr, Radian.getCPtr(pitch), Radian.getCPtr(yaw), Radian.getCPtr(roll));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4 EulerAngles() {
- Vector4 ret = new Vector4(NDalicPINVOKE.Quaternion_EulerAngles(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Add(Quaternion other) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Add(swigCPtr, Quaternion.getCPtr(other)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Subtract(Quaternion other) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Subtract__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Multiply(Quaternion other) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Multiply__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Multiply(Vector3 other) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Quaternion_Multiply__SWIG_1(swigCPtr, Vector3.getCPtr(other)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Divide(Quaternion other) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Divide__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Multiply(float scale) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Multiply__SWIG_2(swigCPtr, scale), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Divide(float scale) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Divide__SWIG_1(swigCPtr, scale), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Subtract() {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Subtract__SWIG_1(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion AddAssign(Quaternion other) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_AddAssign(swigCPtr, Quaternion.getCPtr(other)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion SubtractAssign(Quaternion other) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_SubtractAssign(swigCPtr, Quaternion.getCPtr(other)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion MultiplyAssign(Quaternion other) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_MultiplyAssign__SWIG_0(swigCPtr, Quaternion.getCPtr(other)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion MultiplyAssign(float scale) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion DivideAssign(float scale) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_DivideAssign(swigCPtr, scale), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool EqualTo(Quaternion rhs) {
- bool ret = NDalicPINVOKE.Quaternion_EqualTo(swigCPtr, Quaternion.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool NotEqualTo(Quaternion rhs) {
- bool ret = NDalicPINVOKE.Quaternion_NotEqualTo(swigCPtr, Quaternion.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Length() {
- float ret = NDalicPINVOKE.Quaternion_Length(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float LengthSquared() {
- float ret = NDalicPINVOKE.Quaternion_LengthSquared(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Normalize() {
- NDalicPINVOKE.Quaternion_Normalize(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion Normalized() {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Normalized(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Conjugate() {
- NDalicPINVOKE.Quaternion_Conjugate(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Invert() {
- NDalicPINVOKE.Quaternion_Invert(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Quaternion Log() {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Log(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Quaternion Exp() {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Exp(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static float Dot(Quaternion q1, Quaternion q2) {
- float ret = NDalicPINVOKE.Quaternion_Dot(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Quaternion Lerp(Quaternion q1, Quaternion q2, float t) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Lerp(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2), t), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Quaternion Slerp(Quaternion q1, Quaternion q2, float progress) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Slerp(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2), progress), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Quaternion SlerpNoInvert(Quaternion q1, Quaternion q2, float t) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_SlerpNoInvert(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2), t), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Quaternion Squad(Quaternion start, Quaternion end, Quaternion ctrl1, Quaternion ctrl2, float t) {
- Quaternion ret = new Quaternion(NDalicPINVOKE.Quaternion_Squad(Quaternion.getCPtr(start), Quaternion.getCPtr(end), Quaternion.getCPtr(ctrl1), Quaternion.getCPtr(ctrl2), t), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static float AngleBetween(Quaternion q1, Quaternion q2) {
- float ret = NDalicPINVOKE.Quaternion_AngleBetween(Quaternion.getCPtr(q1), Quaternion.getCPtr(q2));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Rotate(Vector4 vector) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Quaternion_Rotate__SWIG_0(swigCPtr, Vector4.getCPtr(vector)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Rotate(Vector3 vector) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Quaternion_Rotate__SWIG_1(swigCPtr, Vector3.getCPtr(vector)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 mVector {
- set {
- NDalicPINVOKE.Quaternion_mVector_set(swigCPtr, Vector4.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Quaternion_mVector_get(swigCPtr);
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
-}
-
-}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// An angle in radians.
+ /// </summary>
+ public class Radian : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Radian(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class Radian : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Radian obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal Radian(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~Radian()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Radian obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Radian(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- ~Radian() {
- DisposeQueue.Instance.Add(this);
- }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Default constructor, initializes to 0.
+ /// </summary>
+ public Radian() : this(NDalicPINVOKE.new_Radian__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Radian(swigCPtr);
+ /// <summary>
+ /// Creates an angle in radians.
+ /// </summary>
+ /// <param name="value">The initial value in radians</param>
+ public Radian(float value) : this(NDalicPINVOKE.new_Radian__SWIG_1(value), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
-
- public Radian() : this(NDalicPINVOKE.new_Radian__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Radian(float value) : this(NDalicPINVOKE.new_Radian__SWIG_1(value), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Radian(Degree degree) : this(NDalicPINVOKE.new_Radian__SWIG_2(Degree.getCPtr(degree)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Radian Assign(float value) {
- Radian ret = new Radian(NDalicPINVOKE.Radian_Assign__SWIG_0(swigCPtr, value), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Radian Assign(Degree degree) {
- Radian ret = new Radian(NDalicPINVOKE.Radian_Assign__SWIG_1(swigCPtr, Degree.getCPtr(degree)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float ConvertToFloat() {
- float ret = NDalicPINVOKE.Radian_ConvertToFloat(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float radian {
- set {
- NDalicPINVOKE.Radian_radian_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Radian_radian_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-}
+ /// <summary>
+ /// Creates an angle in radians from an angle in degrees.
+ /// </summary>
+ /// <param name="degree">The initial value in degrees</param>
+ public Radian(Degree degree) : this(NDalicPINVOKE.new_Radian__SWIG_2(Degree.getCPtr(degree)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Assigns an angle from a float value.
+ /// </summary>
+ /// <param name="value">Float value in radians</param>
+ /// <returns>A reference to this</returns>
+ internal Radian Assign(float value)
+ {
+ Radian ret = new Radian(NDalicPINVOKE.Radian_Assign__SWIG_0(swigCPtr, value), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Assigns an angle from a Degree value.
+ /// </summary>
+ /// <param name="degree">The value in degrees</param>
+ /// <returns>A reference to this</returns>
+ internal Radian Assign(Degree degree)
+ {
+ Radian ret = new Radian(NDalicPINVOKE.Radian_Assign__SWIG_1(swigCPtr, Degree.getCPtr(degree)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Conversion to float.
+ /// </summary>
+ /// <returns>The float value of this Radian</returns>
+ public float ConvertToFloat()
+ {
+ float ret = NDalicPINVOKE.Radian_ConvertToFloat(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// The value in radians
+ /// </summary>
+ public float radian
+ {
+ set
+ {
+ NDalicPINVOKE.Radian_radian_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Radian_radian_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class RadioButton : Button {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// A RadioButton provides a radio button which two states \e selected or \e unselected.
+ /// Radio buttons are designed to select one of many option at the same time.
+ /// RadioButton can change its current state using Selected.
+ ///
+ /// RadioButtons can be grouped.
+ /// Two or more RadioButtons are in one group when they have this same parent.
+ /// In each groups only one RadioButton can be \e selected at a given time.
+ /// So when RadioButton is set to \e selected, other RadioButtons in its group are set to \e unselected.
+ /// When \e selected RadioButton is set to \e unselected no other RadioButtons in his group is set to \e selected.
+ ///
+ /// A StateChanged Event is emitted when the RadioButton change its state to \e selected or \e unselected.
+ /// </summary>
+ public class RadioButton : Button
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal RadioButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RadioButton_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal RadioButton(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RadioButton_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RadioButton obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RadioButton obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~RadioButton() {
- DisposeQueue.Instance.Add(this);
- }
+ ~RadioButton()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_RadioButton(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_RadioButton(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// Creates an uninitialized RadioButton
+ /// </summary>
+ public RadioButton() : this(NDalicPINVOKE.RadioButton_New__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- public RadioButton () : this (NDalicPINVOKE.RadioButton_New__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- }
- public RadioButton (string label) : this (NDalicPINVOKE.RadioButton_New__SWIG_1(label), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ /// <summary>
+ /// Creates an uninitialized RadioButton with Label
+ /// </summary>
+ /// <param name="label">Label text</param>
+ public RadioButton(string label) : this(NDalicPINVOKE.RadioButton_New__SWIG_1(label), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- public RadioButton(RadioButton radioButton) : this(NDalicPINVOKE.new_RadioButton__SWIG_1(RadioButton.getCPtr(radioButton)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
+ internal RadioButton(RadioButton radioButton) : this(NDalicPINVOKE.new_RadioButton__SWIG_1(RadioButton.getCPtr(radioButton)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public RadioButton Assign(RadioButton radioButton) {
- RadioButton ret = new RadioButton(NDalicPINVOKE.RadioButton_Assign(swigCPtr, RadioButton.getCPtr(radioButton)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal RadioButton Assign(RadioButton radioButton)
+ {
+ RadioButton ret = new RadioButton(NDalicPINVOKE.RadioButton_Assign(swigCPtr, RadioButton.getCPtr(radioButton)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public new static RadioButton DownCast(BaseHandle handle) {
- RadioButton ret = new RadioButton(NDalicPINVOKE.RadioButton_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Downcasts a handle to RadioButton handle.
+ /// If handle points to a RadioButton, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>A handle to a RadioButton or an uninitialized handle</returns>
+ public new static RadioButton DownCast(BaseHandle handle)
+ {
+ RadioButton ret = new RadioButton(NDalicPINVOKE.RadioButton_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Rectangle : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ /// <summary>
+ /// Rectangle class
+ /// </summary>
+ public class Rectangle : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Rectangle() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Rectangle()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Rectangle(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Rectangle(swigCPtr);
+ /// <summary>
+ /// Equality operator.
+ /// </summary>
+ /// <param name="a">First operand</param>
+ /// <param name="b">Second operand</param>
+ /// <returns>True if boxes are exactly same</returns>
+ public static bool operator ==(Rectangle a, Rectangle b)
+ {
+ // If both are null, or both are same instance, return true.
+ if (System.Object.ReferenceEquals(a, b))
+ {
+ return true;
+ }
+
+ // If one is null, but not both, return false.
+ if (((object)a == null) || ((object)b == null))
+ {
+ return false;
+ }
+
+ // Return true if the fields match:
+ return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
+ /// <summary>
+ /// Inequality operator.
+ /// </summary>
+ /// <param name="a">The first rectangle</param>
+ /// <param name="b">The second rectangle</param>
+ /// <returns>True if rectangles are not identical</returns>
+ public static bool operator !=(Rectangle a, Rectangle b)
+ {
+ return !(a == b);
+ }
- public static bool operator ==(Rectangle a, Rectangle b)
- {
- // If both are null, or both are same instance, return true.
- if (System.Object.ReferenceEquals(a, b))
+ /// <summary>
+ /// X position of the rectangle
+ /// </summary>
+ public int X
{
- return true;
+ set
+ {
+ x = value;
+ }
+ get
+ {
+ return x;
+ }
}
- // If one is null, but not both, return false.
- if (((object)a == null) || ((object)b == null))
+ /// <summary>
+ /// Y position of the rectangle
+ /// </summary>
+ public int Y
{
- return false;
+ set
+ {
+ y = value;
+ }
+ get
+ {
+ return y;
+ }
}
- // Return true if the fields match:
- return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
- }
+ /// <summary>
+ /// Width of the rectangle
+ /// </summary>
+ public int Width
+ {
+ set
+ {
+ width = value;
+ }
+ get
+ {
+ return width;
+ }
+ }
- public static bool operator !=(Rectangle a, Rectangle b)
- {
- return !(a == b);
- }
+ /// <summary>
+ /// Height of the rectangle
+ /// </summary>
+ public int Height
+ {
+ set
+ {
+ height = value;
+ }
+ get
+ {
+ return height;
+ }
+ }
- ///< X position of the rectangle
- public int X
- {
- set
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
{
- x = value;
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- get
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="x">X coordinate (or left)</param>
+ /// <param name="y">Y coordinate (or right)</param>
+ /// <param name="width">Width (or bottom)</param>
+ /// <param name="height">Height (or top)</param>
+ public Rectangle(int x, int y, int width, int height) : this(NDalicPINVOKE.new_Rectangle__SWIG_1(x, y, width, height), true)
{
- return x;
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- }
- ///< Y position of the rectangle
- public int Y
- {
- set
+ /// <summary>
+ /// Copy constructor.
+ /// </summary>
+ /// <param name="rhs">The original object</param>
+ public Rectangle(Rectangle rhs) : this(NDalicPINVOKE.new_Rectangle__SWIG_2(Rectangle.getCPtr(rhs)), true)
{
- y = value;
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- get
+
+ /// <summary>
+ /// Make reference of original Rectangle object.
+ /// </summary>
+ /// <param name="rhs">The original object</param>
+ /// <returns>Reference to this</returns>
+ public Rectangle Assign(Rectangle rhs)
{
- return y;
+ Rectangle ret = new Rectangle(NDalicPINVOKE.Rectangle_Assign(swigCPtr, Rectangle.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- ///< Width of the rectangle
- public int Width
- {
- set
+ /// <summary>
+ /// Assignment from individual values.
+ /// </summary>
+ /// <param name="newX">X coordinate</param>
+ /// <param name="newY">Y coordinate</param>
+ /// <param name="newWidth">Width</param>
+ /// <param name="newHeight">Height</param>
+ public void Set(int newX, int newY, int newWidth, int newHeight)
{
- width = value;
+ NDalicPINVOKE.Rectangle_Set(swigCPtr, newX, newY, newWidth, newHeight);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- get
+
+ /// <summary>
+ /// Determines whether or not this Rectangle is empty.
+ /// </summary>
+ /// <returns>True if width or height are zero</returns>
+ public bool IsEmpty()
{
- return width;
+ bool ret = NDalicPINVOKE.Rectangle_IsEmpty(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- ///< Height of the rectangle
- public int Height
- {
- set
+ /// <summary>
+ /// Gets the left of the rectangle.
+ /// </summary>
+ /// <returns>The left edge of the rectangle</returns>
+ public int Left()
{
- height = value;
+ int ret = NDalicPINVOKE.Rectangle_Left(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- get
+
+ /// <summary>
+ /// Gets the right of the rectangle.
+ /// </summary>
+ /// <returns>The right edge of the rectangle</returns>
+ public int Right()
{
- return height;
+ int ret = NDalicPINVOKE.Rectangle_Right(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Rectangle(int x, int y, int width, int height) : this(NDalicPINVOKE.new_Rectangle__SWIG_1(x, y, width, height), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Rectangle(Rectangle rhs) : this(NDalicPINVOKE.new_Rectangle__SWIG_2(Rectangle.getCPtr(rhs)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Rectangle Assign(Rectangle rhs) {
- Rectangle ret = new Rectangle(NDalicPINVOKE.Rectangle_Assign(swigCPtr, Rectangle.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Set(int newX, int newY, int newWidth, int newHeight) {
- NDalicPINVOKE.Rectangle_Set(swigCPtr, newX, newY, newWidth, newHeight);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsEmpty() {
- bool ret = NDalicPINVOKE.Rectangle_IsEmpty(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int Left() {
- int ret = NDalicPINVOKE.Rectangle_Left(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int Right() {
- int ret = NDalicPINVOKE.Rectangle_Right(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int Top() {
- int ret = NDalicPINVOKE.Rectangle_Top(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int Bottom() {
- int ret = NDalicPINVOKE.Rectangle_Bottom(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int Area() {
- int ret = NDalicPINVOKE.Rectangle_Area(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Intersects(Rectangle other) {
- bool ret = NDalicPINVOKE.Rectangle_Intersects(swigCPtr, Rectangle.getCPtr(other));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool Contains(Rectangle other) {
- bool ret = NDalicPINVOKE.Rectangle_Contains(swigCPtr, Rectangle.getCPtr(other));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private int x {
- set {
- NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int left {
- set {
- NDalicPINVOKE.Rectangle_left_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_left_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int y {
- set {
- NDalicPINVOKE.Rectangle_y_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_y_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int right {
- set {
- NDalicPINVOKE.Rectangle_right_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_right_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int width {
- set {
- NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int bottom {
- set {
- NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int height {
- set {
- NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int top {
- set {
- NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ /// <summary>
+ /// Gets the top of the rectangle.
+ /// </summary>
+ /// <returns>The top of the rectangle</returns>
+ public int Top()
+ {
+ int ret = NDalicPINVOKE.Rectangle_Top(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ /// <summary>
+ /// Gets the bottom of the rectangle.
+ /// </summary>
+ /// <returns>The bottom of the rectangle</returns>
+ public int Bottom()
+ {
+ int ret = NDalicPINVOKE.Rectangle_Bottom(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Gets the area of the rectangle.
+ /// </summary>
+ /// <returns>The area of the rectangle</returns>
+ public int Area()
+ {
+ int ret = NDalicPINVOKE.Rectangle_Area(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Determines whether or not this rectangle and the specified rectangle intersect.
+ /// </summary>
+ /// <param name="other">The other rectangle to test against this rectangle</param>
+ /// <returns>True if the rectangles intersect</returns>
+ public bool Intersects(Rectangle other)
+ {
+ bool ret = NDalicPINVOKE.Rectangle_Intersects(swigCPtr, Rectangle.getCPtr(other));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Determines whether or not this Rectangle contains the specified rectangle.
+ /// </summary>
+ /// <param name="other">The other rectangle to test against this rectangle</param>
+ /// <returns>True if the specified rectangle is contained</returns>
+ public bool Contains(Rectangle other)
+ {
+ bool ret = NDalicPINVOKE.Rectangle_Contains(swigCPtr, Rectangle.getCPtr(other));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private int x
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int left
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_left_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_left_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int y
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_y_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_y_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int right
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_right_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_right_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int width
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int bottom
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int height
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int top
+ {
+ set
+ {
+ NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
public static RefObject GetRefObjectFromPtr(global::System.IntPtr cPtr) {
RefObject ret = new RefObject(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
-//------------------------------------------------------------------------------
-// <auto-generated />
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+//
+// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
+// Some have been manually changed
-public class RelayoutContainer : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
- internal RelayoutContainer(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+namespace Tizen.NUI
+{
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelayoutContainer obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// Interface to encapsulate information required for relayout.
+ /// </summary>
+ public class RelayoutContainer : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- ~RelayoutContainer() {
- DisposeQueue.Instance.Add(this);
- }
+ internal RelayoutContainer(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelayoutContainer obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_RelayoutContainer(swigCPtr);
+ ~RelayoutContainer()
+ {
+ DisposeQueue.Instance.Add(this);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
+ /// <summary>
+ /// To make RelayoutContainer instance be disposed.
+ /// </summary>
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- public virtual void Add(Actor actor, Vector2 size) {
- NDalicPINVOKE.RelayoutContainer_Add(swigCPtr, Actor.getCPtr(actor), Vector2.getCPtr(size));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_RelayoutContainer(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
-}
+ /// <summary>
+ /// Adds relayout information to the container if it doesn't already exist.
+ /// </summary>
+ /// <param name="actor">The actor to relayout</param>
+ /// <param name="size">The size to relayout</param>
+ public virtual void Add(Actor actor, Size2D size)
+ {
+ NDalicPINVOKE.RelayoutContainer_Add(swigCPtr, Actor.getCPtr(actor), Size2D.getCPtr(size));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ }
}
namespace Tizen.NUI {
-public enum RenderBufferFormat {
+ internal enum RenderBufferFormat {
COLOR,
COLOR_DEPTH,
COLOR_STENCIL,
namespace Tizen.NUI {
-public enum RenderModeType {
+ internal enum RenderModeType {
NONE,
AUTO,
COLOR,
namespace Tizen.NUI {
-public class RenderTask : Handle {
+ internal class RenderTask : Handle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal RenderTask(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RenderTask_SWIGUpcast(cPtr), cMemoryOwn) {
public static RenderTask GetRenderTaskFromPtr(global::System.IntPtr cPtr) {
RenderTask ret = new RenderTask(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
}
set
{
- SetProperty( RenderTask.Property.VIEWPORT_POSITION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( RenderTask.Property.VIEWPORT_POSITION, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ViewportSize
}
set
{
- SetProperty( RenderTask.Property.VIEWPORT_SIZE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( RenderTask.Property.VIEWPORT_SIZE, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector4 ClearColor
}
set
{
- SetProperty( RenderTask.Property.CLEAR_COLOR, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( RenderTask.Property.CLEAR_COLOR, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool RequiresSync
}
set
{
- SetProperty( RenderTask.Property.REQUIRES_SYNC, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( RenderTask.Property.REQUIRES_SYNC, new Tizen.NUI.PropertyValue( value ) );
}
}
namespace Tizen.NUI {
-public class RenderTaskList : BaseHandle {
+ internal class RenderTaskList : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal RenderTaskList(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.RenderTaskList_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class RenderTaskSignal : global::System.IDisposable {
+ internal class RenderTaskSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class Renderer : Handle {
+ internal class Renderer : Handle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Renderer_SWIGUpcast(cPtr), cMemoryOwn) {
}
set
{
- SetProperty( Renderer.Property.DEPTH_INDEX, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.DEPTH_INDEX, new Tizen.NUI.PropertyValue( value ) );
}
}
public int FaceCullingMode
}
set
{
- SetProperty( Renderer.Property.FACE_CULLING_MODE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.FACE_CULLING_MODE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int BlendMode
}
set
{
- SetProperty( Renderer.Property.BLEND_MODE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_MODE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int BlendEquationRgb
}
set
{
- SetProperty( Renderer.Property.BLEND_EQUATION_RGB, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_EQUATION_RGB, new Tizen.NUI.PropertyValue( value ) );
}
}
public int BlendEquationAlpha
}
set
{
- SetProperty( Renderer.Property.BLEND_EQUATION_ALPHA, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_EQUATION_ALPHA, new Tizen.NUI.PropertyValue( value ) );
}
}
public int BlendFactorSrcRgb
}
set
{
- SetProperty( Renderer.Property.BLEND_FACTOR_SRC_RGB, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_FACTOR_SRC_RGB, new Tizen.NUI.PropertyValue( value ) );
}
}
public int BlendFactorDestRgb
}
set
{
- SetProperty( Renderer.Property.BLEND_FACTOR_DEST_RGB, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_FACTOR_DEST_RGB, new Tizen.NUI.PropertyValue( value ) );
}
}
public int BlendFactorSrcAlpha
}
set
{
- SetProperty( Renderer.Property.BLEND_FACTOR_SRC_ALPHA, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_FACTOR_SRC_ALPHA, new Tizen.NUI.PropertyValue( value ) );
}
}
public int BlendFactorDestAlpha
}
set
{
- SetProperty( Renderer.Property.BLEND_FACTOR_DEST_ALPHA, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_FACTOR_DEST_ALPHA, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector4 BlendColor
}
set
{
- SetProperty( Renderer.Property.BLEND_COLOR, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_COLOR, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool BlendPreMultipliedAlpha
}
set
{
- SetProperty( Renderer.Property.BLEND_PRE_MULTIPLIED_ALPHA, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.BLEND_PRE_MULTIPLIED_ALPHA, new Tizen.NUI.PropertyValue( value ) );
}
}
public int IndexRangeFirst
}
set
{
- SetProperty( Renderer.Property.INDEX_RANGE_FIRST, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.INDEX_RANGE_FIRST, new Tizen.NUI.PropertyValue( value ) );
}
}
public int IndexRangeCount
}
set
{
- SetProperty( Renderer.Property.INDEX_RANGE_COUNT, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.INDEX_RANGE_COUNT, new Tizen.NUI.PropertyValue( value ) );
}
}
public int DepthWriteMode
}
set
{
- SetProperty( Renderer.Property.DEPTH_WRITE_MODE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.DEPTH_WRITE_MODE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int DepthFunction
}
set
{
- SetProperty( Renderer.Property.DEPTH_FUNCTION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.DEPTH_FUNCTION, new Tizen.NUI.PropertyValue( value ) );
}
}
public int DepthTestMode
}
set
{
- SetProperty( Renderer.Property.DEPTH_TEST_MODE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.DEPTH_TEST_MODE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int RenderMode
}
set
{
- SetProperty( Renderer.Property.RENDER_MODE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.RENDER_MODE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int StencilFunction
}
set
{
- SetProperty( Renderer.Property.STENCIL_FUNCTION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.STENCIL_FUNCTION, new Tizen.NUI.PropertyValue( value ) );
}
}
public int StencilFunctionMask
}
set
{
- SetProperty( Renderer.Property.STENCIL_FUNCTION_MASK, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.STENCIL_FUNCTION_MASK, new Tizen.NUI.PropertyValue( value ) );
}
}
public int StencilFunctionReference
}
set
{
- SetProperty( Renderer.Property.STENCIL_FUNCTION_REFERENCE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.STENCIL_FUNCTION_REFERENCE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int StencilMask
}
set
{
- SetProperty( Renderer.Property.STENCIL_MASK, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.STENCIL_MASK, new Tizen.NUI.PropertyValue( value ) );
}
}
public int StencilOperationOnFail
}
set
{
- SetProperty( Renderer.Property.STENCIL_OPERATION_ON_FAIL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.STENCIL_OPERATION_ON_FAIL, new Tizen.NUI.PropertyValue( value ) );
}
}
public int StencilOperationOnZFail
}
set
{
- SetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_FAIL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_FAIL, new Tizen.NUI.PropertyValue( value ) );
}
}
public int StencilOperationOnZPass
}
set
{
- SetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_PASS, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Renderer.Property.STENCIL_OPERATION_ON_Z_PASS, new Tizen.NUI.PropertyValue( value ) );
}
}
namespace Tizen.NUI {
-public enum RenderingType {
+ internal enum RenderingType {
RENDERING_SHARED_ATLAS,
RENDERING_VECTOR_BASED
}
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum ResizePolicyType {
- FIXED,
- USE_NATURAL_SIZE,
- FILL_TO_PARENT,
- SIZE_RELATIVE_TO_PARENT,
- SIZE_FIXED_OFFSET_FROM_PARENT,
- FIT_TO_CHILDREN,
- DIMENSION_DEPENDENCY,
- USE_ASSIGNED_SIZE
-}
-
-}
using System.Runtime.InteropServices;
-public class ResourceImage : Image {
+internal class ResourceImage : Image {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ResourceImage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ResourceImage_SWIGUpcast(cPtr), cMemoryOwn) {
public static ResourceImage GetResourceImageFromPtr(global::System.IntPtr cPtr) {
ResourceImage ret = new ResourceImage(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
namespace Tizen.NUI {
-public class ResourceImageSignal : global::System.IDisposable {
+ internal class ResourceImageSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
--- /dev/null
+//------------------------------------------------------------------------------
+// <auto-generated />
+//
+// This file was automatically generated by SWIG (http://www.swig.org).
+// Version 3.0.9
+//
+// Do not make changes to this file unless you know what you are doing--modify
+// the SWIG interface file instead.
+//------------------------------------------------------------------------------
+
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// Rotation Class
+ /// </summary>
+ public class Rotation : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Rotation(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rotation obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Rotation()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Rotation(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// Addition operator.
+ /// </summary>
+ /// <param name="arg1">First Rotation</param>
+ /// <param name="arg2">Second Rotation</param>
+ /// <returns>A Rotation containing the result of the Addition</returns>
+ public static Rotation operator +(Rotation arg1, Rotation arg2)
+ {
+ return arg1.Add(arg2);
+ }
+
+ /// <summary>
+ /// Subtraction operator.
+ /// </summary>
+ /// <param name="arg1">First Rotation</param>
+ /// <param name="arg2">Second Rotation</param>
+ /// <returns>A Rotation containing the result of the subtract</returns>
+ public static Rotation operator -(Rotation arg1, Rotation arg2)
+ {
+ return arg1.Subtract(arg2);
+ }
+
+ /// <summary>
+ /// Unary Negation operator.
+ /// </summary>
+ /// <param name="arg1">First Rotation</param>
+ /// <returns>A Rotation containing the negated result</returns>
+ public static Rotation operator -(Rotation arg1)
+ {
+ return arg1.Subtract();
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Rotation</param>
+ /// <param name="arg2">Second Rotation</param>
+ /// <returns>A Rotation containing the result of the Multiplication</returns>
+ public static Rotation operator *(Rotation arg1, Rotation arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">Rotation</param>
+ /// <param name="arg2">The vector to multiply</param>
+ /// <returns>A Rotation containing the result of the multiplication</returns>
+ public static Vector3 operator *(Rotation arg1, Vector3 arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Scale operator.
+ /// </summary>
+ /// <param name="arg1">Rotation</param>
+ /// <param name="arg2">A value to scale by</param>
+ /// <returns>A Rotation containing the result of the scaling</returns>
+ public static Rotation operator *(Rotation arg1, float arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Rotation</param>
+ /// <param name="arg2">Second Rotation</param>
+ /// <returns>A Rotation containing the result of the scaling</returns>
+ public static Rotation operator /(Rotation arg1, Rotation arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+ /// <summary>
+ /// Scale operator.
+ /// </summary>
+ /// <param name="arg1">Rotation</param>
+ /// <param name="arg2">A value to scale by</param>
+ /// <returns>A Rotation containing the result of the scaling</returns>
+ public static Rotation operator /(Rotation arg1, float arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+ /// <summary>
+ /// Default Constructor.
+ /// </summary>
+ public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor from an axis and angle.
+ /// </summary>
+ /// <param name="angle">The angle around the axis</param>
+ /// <param name="axis">The vector of the axis</param>
+ public Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// (0.0f,0.0f,0.0f,1.0f)
+ /// </summary>
+ public static Rotation IDENTITY
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Rotation_IDENTITY_get();
+ Rotation ret = (cPtr == global::System.IntPtr.Zero) ? null : new Rotation(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Helper to check if this is an identity quaternion.
+ /// </summary>
+ /// <returns>True if this is identity quaternion</returns>
+ public bool IsIdentity()
+ {
+ bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Converts the quaternion to an axis/angle pair.
+ /// </summary>
+ /// <param name="axis">the result of axis</param>
+ /// <param name="angle">the result of angle Angle in radians</param>
+ /// <returns>True if converted correctly</returns>
+ public bool GetAxisAngle(Vector3 axis, Radian angle)
+ {
+ bool ret = NDalicPINVOKE.Rotation_GetAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation Add(Rotation other)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Add(swigCPtr, Rotation.getCPtr(other)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation Subtract(Rotation other)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation Multiply(Rotation other)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Vector3 Multiply(Vector3 other)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Rotation_Multiply__SWIG_1(swigCPtr, Vector3.getCPtr(other)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation Divide(Rotation other)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation Multiply(float scale)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_2(swigCPtr, scale), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation Divide(float scale)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_1(swigCPtr, scale), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation Subtract()
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation AddAssign(Rotation other)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_AddAssign(swigCPtr, Rotation.getCPtr(other)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation SubtractAssign(Rotation other)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SubtractAssign(swigCPtr, Rotation.getCPtr(other)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation MultiplyAssign(Rotation other)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_0(swigCPtr, Rotation.getCPtr(other)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation MultiplyAssign(float scale)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Rotation DivideAssign(float scale)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_DivideAssign(swigCPtr, scale), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private bool EqualTo(Rotation rhs)
+ {
+ bool ret = NDalicPINVOKE.Rotation_EqualTo(swigCPtr, Rotation.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private bool NotEqualTo(Rotation rhs)
+ {
+ bool ret = NDalicPINVOKE.Rotation_NotEqualTo(swigCPtr, Rotation.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the length of the rotation
+ /// </summary>
+ /// <returns>The length of the rotation</returns>
+ public float Length()
+ {
+ float ret = NDalicPINVOKE.Rotation_Length(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the squared length of the rotation
+ /// </summary>
+ /// <returns>The squared length of the rotation</returns>
+ public float LengthSquared()
+ {
+ float ret = NDalicPINVOKE.Rotation_LengthSquared(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Normalizes this to unit length.
+ /// </summary>
+ public void Normalize()
+ {
+ NDalicPINVOKE.Rotation_Normalize(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Normalized.
+ /// </summary>
+ /// <returns>A normalized version of this rotation</returns>
+ public Rotation Normalized()
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Normalized(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Conjugates this rotation.
+ /// </summary>
+ public void Conjugate()
+ {
+ NDalicPINVOKE.Rotation_Conjugate(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Inverts this rotation.
+ /// </summary>
+ public void Invert()
+ {
+ NDalicPINVOKE.Rotation_Invert(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Performs the logarithm of a rotation
+ /// </summary>
+ /// <returns>A rotation representing the logarithm</returns>
+ public Rotation Log()
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Log(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Performs an exponent
+ /// </summary>
+ /// <returns>A rotation representing the exponent</returns>
+ public Rotation Exp()
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Exp(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the dot product of two rotations.
+ /// </summary>
+ /// <param name="q1">The first rotation</param>
+ /// <param name="q2">The second rotation</param>
+ /// <returns>The dot product of the two rotations</returns>
+ public static float Dot(Rotation q1, Rotation q2)
+ {
+ float ret = NDalicPINVOKE.Rotation_Dot(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Linear Interpolation (using a straight line between the two rotations).
+ /// </summary>
+ /// <param name="q1">The start rotation</param>
+ /// <param name="q2">The end rotation</param>
+ /// <param name="t">A progress value between 0 and 1</param>
+ /// <returns>The interpolated rotation</returns>
+ public static Rotation Lerp(Rotation q1, Rotation q2, float t)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Lerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Spherical Linear Interpolation (using the shortest arc of a great circle between the two rotations).
+ /// </summary>
+ /// <param name="q1">The start rotation</param>
+ /// <param name="q2">The end rotation</param>
+ /// <param name="progress">A progress value between 0 and 1</param>
+ /// <returns>The interpolated rotation</returns>
+ public static Rotation Slerp(Rotation q1, Rotation q2, float progress)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Slerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), progress), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// This version of Slerp, used by Squad, does not check for theta > 90.
+ /// </summary>
+ /// <param name="q1">The start rotation</param>
+ /// <param name="q2">The end rotation</param>
+ /// <param name="t">A progress value between 0 and 1</param>
+ /// <returns>The interpolated rotation</returns>
+ public static Rotation SlerpNoInvert(Rotation q1, Rotation q2, float t)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SlerpNoInvert(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Spherical Cubic Interpolation.
+ /// </summary>
+ /// <param name="start">The start rotation</param>
+ /// <param name="end">The end rotation</param>
+ /// <param name="ctrl1">The control rotation for q1</param>
+ /// <param name="ctrl2">The control rotation for q2</param>
+ /// <param name="t">A progress value between 0 and 1</param>
+ /// <returns>The interpolated rotation</returns>
+ public static Rotation Squad(Rotation start, Rotation end, Rotation ctrl1, Rotation ctrl2, float t)
+ {
+ Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Squad(Rotation.getCPtr(start), Rotation.getCPtr(end), Rotation.getCPtr(ctrl1), Rotation.getCPtr(ctrl2), t), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the shortest angle between two rotations in Radians.
+ /// </summary>
+ /// <param name="q1">The first rotation</param>
+ /// <param name="q2">The second rotation</param>
+ /// <returns>The angle between the two rotation</returns>
+ public static float AngleBetween(Rotation q1, Rotation q2)
+ {
+ float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ }
+
+}
namespace Tizen.NUI {
-public class Ruler : RefObject {
+ public class Ruler : RefObject {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Ruler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Ruler_SWIGUpcast(cPtr), cMemoryOwn) {
return ret;
}
- public float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+ internal float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
float ret = NDalicPINVOKE.Ruler_Clamp__SWIG_3(swigCPtr, x, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
return ret;
}
- public float SnapAndClamp(float x, float bias, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+ internal float SnapAndClamp(float x, float bias, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
float ret = NDalicPINVOKE.Ruler_SnapAndClamp__SWIG_4(swigCPtr, x, bias, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
namespace Tizen.NUI {
-public class RulerDomain : global::System.IDisposable {
+ public class RulerDomain : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
return ret;
}
- public float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+ internal float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
float ret = NDalicPINVOKE.RulerDomain_Clamp__SWIG_3(swigCPtr, x, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
namespace Tizen.NUI {
-public class RulerPtr : global::System.IDisposable {
+ public class RulerPtr : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
return ret;
}
- public float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+ internal float Clamp(float x, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
float ret = NDalicPINVOKE.RulerPtr_Clamp__SWIG_3(swigCPtr, x, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
return ret;
}
- public float SnapAndClamp(float x, float bias, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
+ internal float SnapAndClamp(float x, float bias, float length, float scale, SWIGTYPE_p_Dali__Toolkit__ClampState clamped) {
float ret = NDalicPINVOKE.RulerPtr_SnapAndClamp__SWIG_4(swigCPtr, x, bias, length, scale, SWIGTYPE_p_Dali__Toolkit__ClampState.getCPtr(clamped));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
namespace Tizen.NUI {
-public class SWIGTYPE_p_CallbackBase {
+ internal class SWIGTYPE_p_CallbackBase {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_CallbackBase(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Configuration__ContextLoss {
+ internal class SWIGTYPE_p_Configuration__ContextLoss {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Configuration__ContextLoss(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__CallbackBase {
+ internal class SWIGTYPE_p_Dali__CallbackBase {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__CallbackBase(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Constraint {
+ internal class SWIGTYPE_p_Dali__Constraint {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Constraint(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__CustomActorImpl__Extension {
+ internal class SWIGTYPE_p_Dali__CustomActorImpl__Extension {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__CustomActorImpl__Extension(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__FunctorDelegate {
+ internal class SWIGTYPE_p_Dali__FunctorDelegate {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__FunctorDelegate(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f___bool {
+public class SWIGTYPE_p_Dali__Internal__Texture {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal SWIGTYPE_p_f___bool(global::System.IntPtr cPtr, bool futureUse) {
+ internal SWIGTYPE_p_Dali__Internal__Texture(global::System.IntPtr cPtr, bool futureUse) {
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
- protected SWIGTYPE_p_f___bool() {
+ protected SWIGTYPE_p_Dali__Internal__Texture() {
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_f___bool obj) {
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__Internal__Texture obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
}
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Internal__TypeRegistry {
+ internal class SWIGTYPE_p_Dali__Internal__TypeRegistry {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Internal__TypeRegistry(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t {
+ internal class SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__IntrusivePtrT_Dali__Toolkit__ItemLayout_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__RectT_unsigned_int_t {
+ internal class SWIGTYPE_p_Dali__RectT_unsigned_int_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__RectT_unsigned_int_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_bool_fDali__Actor_Dali__TouchEvent_const_RF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_bool_fDali__Toolkit__AccessibilityManager_R_Dali__TouchEvent_const_RF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_void_fDali__DragAndDropDetectorF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__Control_Dali__Toolkit__ControlF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_void_fboolF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_void_fboolF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_void_fboolF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t {
+ internal class SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__SignalT_void_fuint32_t_Dali__PixelDataF_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Toolkit__ClampState {
+ internal class SWIGTYPE_p_Dali__Toolkit__ClampState {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Toolkit__ClampState(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader {
+ internal class SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Toolkit__Internal__AsyncImageLoader(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension {
+ internal class SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Toolkit__Internal__Control__Extension(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData {
+ internal class SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base {
+ internal class SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension {
+ internal class SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__Toolkit__ItemFactory__Extension(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__TouchEvent {
+ internal class SWIGTYPE_p_Dali__TouchEvent {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_Dali__TouchEvent(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_FunctorDelegate {
+ internal class SWIGTYPE_p_FunctorDelegate {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_FunctorDelegate(global::System.IntPtr cPtr, bool futureUse) {
// <auto-generated />
//
// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Version 3.0.12
//
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
namespace Tizen.NUI {
-public class SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t {
+internal class SWIGTYPE_p_KeyboardFocusManager {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t(global::System.IntPtr cPtr, bool futureUse) {
+ internal SWIGTYPE_p_KeyboardFocusManager(global::System.IntPtr cPtr, bool futureUse) {
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
- protected SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t() {
+ protected SWIGTYPE_p_KeyboardFocusManager() {
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
}
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__ProgressBar_float_floatF_t obj) {
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SWIGTYPE_p_KeyboardFocusManager obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
}
namespace Tizen.NUI {
-public class SWIGTYPE_p_PropertyInputContainer {
+ internal class SWIGTYPE_p_PropertyInputContainer {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_PropertyInputContainer(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_double {
+ internal class SWIGTYPE_p_double {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_double(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_float__float {
+ internal class SWIGTYPE_p_f_float__float {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_float__float(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value {
+ internal class SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_p_Dali__BaseObject_Dali__Property__Index__Dali__Property__Value(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void {
+ internal class SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_p_Dali__BaseObject_int_r_q_const__Dali__Property__Value__void(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool {
+ internal class SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_p_Dali__BaseObject_p_Dali__ConnectionTrackerInterface_r_q_const__std__string_p_Dali__FunctorDelegate__bool(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool {
+ internal class SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_p_Dali__BaseObject_r_q_const__std__string_r_q_const__Dali__Property__Map__bool(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void {
+ internal class SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_p_q_const__Dali__Any__AnyContainerBase__void(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_r_Dali__Vector2__bool {
+ internal class SWIGTYPE_p_f_r_Dali__Vector2__bool {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_r_Dali__Vector2__bool(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase {
+ internal class SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_r_q_const__Dali__Any__AnyContainerBase__p_Dali__Any__AnyContainerBase(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_f_r_q_const__Dali__Vector3__float {
+ internal class SWIGTYPE_p_f_r_q_const__Dali__Vector3__float {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_f_r_q_const__Dali__Vector3__float(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_float {
+ internal class SWIGTYPE_p_float {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_float(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_int {
+ internal class SWIGTYPE_p_int {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_int(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_std__type_info {
+ internal class SWIGTYPE_p_std__type_info {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_std__type_info(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_uint8_t {
+ internal class SWIGTYPE_p_uint8_t {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_uint8_t(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_unsigned_char {
+ internal class SWIGTYPE_p_unsigned_char {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_unsigned_char(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_unsigned_int {
+ internal class SWIGTYPE_p_unsigned_int {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_unsigned_int(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class SWIGTYPE_p_unsigned_short {
+ internal class SWIGTYPE_p_unsigned_short {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal SWIGTYPE_p_unsigned_short(global::System.IntPtr cPtr, bool futureUse) {
namespace Tizen.NUI {
-public class Sampler : BaseHandle {
+ internal class Sampler : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Sampler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Sampler_SWIGUpcast(cPtr), cMemoryOwn) {
//------------------------------------------------------------------------------
namespace Tizen.NUI {
-
+/* moved to VisualMaps.cs
public enum SamplingModeType {
BOX,
NEAREST,
NO_FILTER,
DONT_CARE
}
-
+*/
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-using System;
-using System.Runtime.InteropServices;
+ using System;
+ using System.Runtime.InteropServices;
+ /// <summary>
+ /// ScrollBar is a UI component that can be linked to the scrollable objects
+ /// indicating the current scroll position of the scrollable object.
+ /// </summary>
+ public class ScrollBar : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class ScrollBar : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal ScrollBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollBar_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal ScrollBar(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollBar_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollBar obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollBar obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~ScrollBar()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~ScrollBar() {
- DisposeQueue.Instance.Add(this);
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ScrollBar(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Event arguments that passed via PanFinished event
+ /// </summary>
+ public class PanFinishedEventArgs : EventArgs
+ {
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ScrollBar(swigCPtr);
+ /// <summary>
+ /// Event arguments that passed via ScrollPositionIntervalReached event
+ /// </summary>
+ public class ScrollPositionIntervalReachedEventArgs : EventArgs
+ {
+ private float _currentScrollPosition;
+
+ /// <summary>
+ /// current scroll position of the scrollable content
+ /// </summary>
+ public float CurrentScrollPosition
+ {
+ get
+ {
+ return _currentScrollPosition;
+ }
+ set
+ {
+ _currentScrollPosition = value;
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void PanFinishedEventCallbackDelegate();
+ private EventHandler<PanFinishedEventArgs> _scrollBarPanFinishedEventHandler;
+ private PanFinishedEventCallbackDelegate _scrollBarPanFinishedEventCallbackDelegate;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void ScrollPositionIntervalReachedEventCallbackDelegate();
+ private EventHandler<ScrollPositionIntervalReachedEventArgs> _scrollBarScrollPositionIntervalReachedEventHandler;
+ private ScrollPositionIntervalReachedEventCallbackDelegate _scrollBarScrollPositionIntervalReachedEventCallbackDelegate;
+ /// <summary>
+ /// Event emitted when panning is finished on the scroll indicator.
+ /// </summary>
+ public event EventHandler<PanFinishedEventArgs> PanFinished
+ {
+ add
+ {
+ if (_scrollBarPanFinishedEventHandler == null)
+ {
+ _scrollBarPanFinishedEventCallbackDelegate = (OnScrollBarPanFinished);
+ PanFinishedSignal().Connect(_scrollBarPanFinishedEventCallbackDelegate);
+ }
+ _scrollBarPanFinishedEventHandler += value;
+ }
+ remove
+ {
+ _scrollBarPanFinishedEventHandler -= value;
+ if (_scrollBarPanFinishedEventHandler == null && _scrollBarPanFinishedEventCallbackDelegate != null)
+ {
+ PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
+ }
+ }
+ }
-public class PanFinishedEventArgs : EventArgs
-{
-}
+ // Callback for ScrollBar PanFinishedSignal
+ private void OnScrollBarPanFinished()
+ {
+ PanFinishedEventArgs e = new PanFinishedEventArgs();
-public class ScrollPositionIntervalReachedEventArgs : EventArgs
-{
- private float _currentScrollPosition;
-
- public float CurrentScrollPosition
- {
- get
- {
- return _currentScrollPosition;
- }
- set
- {
- _currentScrollPosition = value;
- }
- }
-}
+ if (_scrollBarPanFinishedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _scrollBarPanFinishedEventHandler(this, e);
+ }
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void PanFinishedEventCallbackDelegate();
- private DaliEventHandler<object,PanFinishedEventArgs> _scrollBarPanFinishedEventHandler;
- private PanFinishedEventCallbackDelegate _scrollBarPanFinishedEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void ScrollPositionIntervalReachedEventCallbackDelegate();
- private DaliEventHandler<object,ScrollPositionIntervalReachedEventArgs> _scrollBarScrollPositionIntervalReachedEventHandler;
- private ScrollPositionIntervalReachedEventCallbackDelegate _scrollBarScrollPositionIntervalReachedEventCallbackDelegate;
-
- public event DaliEventHandler<object,PanFinishedEventArgs> PanFinished
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_scrollBarPanFinishedEventHandler == null)
- {
- _scrollBarPanFinishedEventHandler += value;
-
- _scrollBarPanFinishedEventCallbackDelegate = new PanFinishedEventCallbackDelegate(OnScrollBarPanFinished);
- this.PanFinishedSignal().Connect(_scrollBarPanFinishedEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_scrollBarPanFinishedEventHandler != null)
- {
- this.PanFinishedSignal().Disconnect(_scrollBarPanFinishedEventCallbackDelegate);
- }
-
- _scrollBarPanFinishedEventHandler -= value;
- }
- }
- }
-
- // Callback for ScrollBar PanFinishedSignal
- private void OnScrollBarPanFinished()
- {
- PanFinishedEventArgs e = new PanFinishedEventArgs();
-
- if (_scrollBarPanFinishedEventHandler != null)
- {
- //here we send all data to user event handlers
- _scrollBarPanFinishedEventHandler(this, e);
- }
- }
-
-
- public event DaliEventHandler<object,ScrollPositionIntervalReachedEventArgs> ScrollPositionIntervalReached
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_scrollBarScrollPositionIntervalReachedEventHandler == null)
- {
- _scrollBarScrollPositionIntervalReachedEventHandler += value;
-
- _scrollBarScrollPositionIntervalReachedEventCallbackDelegate = new ScrollPositionIntervalReachedEventCallbackDelegate(OnScrollBarScrollPositionIntervalReached);
- this.ScrollPositionIntervalReachedSignal().Connect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
- {
- this.ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
- }
-
- _scrollBarScrollPositionIntervalReachedEventHandler -= value;
- }
- }
- }
-
- // Callback for ScrollBar ScrollPositionIntervalReachedSignal
- private void OnScrollBarScrollPositionIntervalReached()
- {
- ScrollPositionIntervalReachedEventArgs e = new ScrollPositionIntervalReachedEventArgs();
-
- if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
- {
- //here we send all data to user event handlers
- _scrollBarScrollPositionIntervalReachedEventHandler(this, e);
- }
- }
-
-
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_ScrollBar_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_ScrollBar_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ScrollBar_Property_SCROLL_DIRECTION_get();
- public static readonly int INDICATOR_HEIGHT_POLICY = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
- public static readonly int INDICATOR_FIXED_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
- public static readonly int INDICATOR_SHOW_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
- public static readonly int INDICATOR_HIDE_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
- public static readonly int SCROLL_POSITION_INTERVALS = NDalicPINVOKE.ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
- public static readonly int INDICATOR_MINIMUM_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
- public static readonly int INDICATOR_START_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_START_PADDING_get();
- public static readonly int INDICATOR_END_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_END_PADDING_get();
-
- }
-
- public ScrollBar (ScrollBar.Direction direction) : this (NDalicPINVOKE.ScrollBar_New__SWIG_0((int)direction), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public ScrollBar () : this (NDalicPINVOKE.ScrollBar_New__SWIG_1(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public ScrollBar(ScrollBar scrollBar) : this(NDalicPINVOKE.new_ScrollBar__SWIG_1(ScrollBar.getCPtr(scrollBar)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ScrollBar Assign(ScrollBar scrollBar) {
- ScrollBar ret = new ScrollBar(NDalicPINVOKE.ScrollBar_Assign(swigCPtr, ScrollBar.getCPtr(scrollBar)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static ScrollBar DownCast(BaseHandle handle) {
- ScrollBar ret = new ScrollBar(NDalicPINVOKE.ScrollBar_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetScrollPropertySource(Handle handle, int propertyScrollPosition, int propertyMinScrollPosition, int propertyMaxScrollPosition, int propertyScrollContentSize) {
- NDalicPINVOKE.ScrollBar_SetScrollPropertySource(swigCPtr, Handle.getCPtr(handle), propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetScrollIndicator(Actor indicator) {
- NDalicPINVOKE.ScrollBar_SetScrollIndicator(swigCPtr, Actor.getCPtr(indicator));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Actor GetScrollIndicator() {
- Actor ret = new Actor(NDalicPINVOKE.ScrollBar_GetScrollIndicator(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetScrollPositionIntervals(VectorFloat positions) {
- NDalicPINVOKE.ScrollBar_SetScrollPositionIntervals(swigCPtr, VectorFloat.getCPtr(positions));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VectorFloat GetScrollPositionIntervals() {
- VectorFloat ret = new VectorFloat(NDalicPINVOKE.ScrollBar_GetScrollPositionIntervals(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetScrollDirection(ScrollBar.Direction direction) {
- NDalicPINVOKE.ScrollBar_SetScrollDirection(swigCPtr, (int)direction);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ScrollBar.Direction GetScrollDirection() {
- ScrollBar.Direction ret = (ScrollBar.Direction)NDalicPINVOKE.ScrollBar_GetScrollDirection(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetIndicatorHeightPolicy(ScrollBar.IndicatorHeightPolicyType policy) {
- NDalicPINVOKE.ScrollBar_SetIndicatorHeightPolicy(swigCPtr, (int)policy);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ScrollBar.IndicatorHeightPolicyType GetIndicatorHeightPolicy() {
- ScrollBar.IndicatorHeightPolicyType ret = (ScrollBar.IndicatorHeightPolicyType)NDalicPINVOKE.ScrollBar_GetIndicatorHeightPolicy(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetIndicatorFixedHeight(float height) {
- NDalicPINVOKE.ScrollBar_SetIndicatorFixedHeight(swigCPtr, height);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetIndicatorFixedHeight() {
- float ret = NDalicPINVOKE.ScrollBar_GetIndicatorFixedHeight(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetIndicatorShowDuration(float durationSeconds) {
- NDalicPINVOKE.ScrollBar_SetIndicatorShowDuration(swigCPtr, durationSeconds);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetIndicatorShowDuration() {
- float ret = NDalicPINVOKE.ScrollBar_GetIndicatorShowDuration(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetIndicatorHideDuration(float durationSeconds) {
- NDalicPINVOKE.ScrollBar_SetIndicatorHideDuration(swigCPtr, durationSeconds);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetIndicatorHideDuration() {
- float ret = NDalicPINVOKE.ScrollBar_GetIndicatorHideDuration(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ShowIndicator() {
- NDalicPINVOKE.ScrollBar_ShowIndicator(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void HideIndicator() {
- NDalicPINVOKE.ScrollBar_HideIndicator(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VoidSignal PanFinishedSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.ScrollBar_PanFinishedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public FloatSignal ScrollPositionIntervalReachedSignal() {
- FloatSignal ret = new FloatSignal(NDalicPINVOKE.ScrollBar_ScrollPositionIntervalReachedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public enum Direction {
- Vertical = 0,
- Horizontal
- }
-
- public enum IndicatorHeightPolicyType {
- Variable = 0,
- Fixed
- }
-
- public string ScrollDirection
- {
- get
- {
- string temp;
- GetProperty( ScrollBar.Property.SCROLL_DIRECTION).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.SCROLL_DIRECTION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string IndicatorHeightPolicy
- {
- get
- {
- string temp;
- GetProperty( ScrollBar.Property.INDICATOR_HEIGHT_POLICY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.INDICATOR_HEIGHT_POLICY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float IndicatorFixedHeight
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ScrollBar.Property.INDICATOR_FIXED_HEIGHT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.INDICATOR_FIXED_HEIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float IndicatorShowDuration
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ScrollBar.Property.INDICATOR_SHOW_DURATION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.INDICATOR_SHOW_DURATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float IndicatorHideDuration
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ScrollBar.Property.INDICATOR_HIDE_DURATION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.INDICATOR_HIDE_DURATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Array ScrollPositionIntervals
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( ScrollBar.Property.SCROLL_POSITION_INTERVALS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.SCROLL_POSITION_INTERVALS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float IndicatorMinimumHeight
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float IndicatorStartPadding
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ScrollBar.Property.INDICATOR_START_PADDING).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.INDICATOR_START_PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float IndicatorEndPadding
- {
- get
- {
- float temp = 0.0f;
- GetProperty( ScrollBar.Property.INDICATOR_END_PADDING).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( ScrollBar.Property.INDICATOR_END_PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
-}
+ /// <summary>
+ /// Event emitted when the current scroll position of the scrollable content
+ /// </summary>
+ public event EventHandler<ScrollPositionIntervalReachedEventArgs> ScrollPositionIntervalReached
+ {
+ add
+ {
+ if (_scrollBarScrollPositionIntervalReachedEventHandler == null)
+ {
+ _scrollBarScrollPositionIntervalReachedEventCallbackDelegate = (OnScrollBarScrollPositionIntervalReached);
+ ScrollPositionIntervalReachedSignal().Connect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
+ }
+ _scrollBarScrollPositionIntervalReachedEventHandler += value;
+ }
+ remove
+ {
+ _scrollBarScrollPositionIntervalReachedEventHandler -= value;
+ if (_scrollBarScrollPositionIntervalReachedEventHandler == null && _scrollBarScrollPositionIntervalReachedEventCallbackDelegate != null)
+ {
+ ScrollPositionIntervalReachedSignal().Disconnect(_scrollBarScrollPositionIntervalReachedEventCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for ScrollBar ScrollPositionIntervalReachedSignal
+ private void OnScrollBarScrollPositionIntervalReached()
+ {
+ ScrollPositionIntervalReachedEventArgs e = new ScrollPositionIntervalReachedEventArgs();
+
+ if (_scrollBarScrollPositionIntervalReachedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _scrollBarScrollPositionIntervalReachedEventHandler(this, e);
+ }
+ }
+
+
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_ScrollBar_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_ScrollBar_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int SCROLL_DIRECTION = NDalicPINVOKE.ScrollBar_Property_SCROLL_DIRECTION_get();
+ internal static readonly int INDICATOR_HEIGHT_POLICY = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HEIGHT_POLICY_get();
+ internal static readonly int INDICATOR_FIXED_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_FIXED_HEIGHT_get();
+ internal static readonly int INDICATOR_SHOW_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_SHOW_DURATION_get();
+ internal static readonly int INDICATOR_HIDE_DURATION = NDalicPINVOKE.ScrollBar_Property_INDICATOR_HIDE_DURATION_get();
+ internal static readonly int SCROLL_POSITION_INTERVALS = NDalicPINVOKE.ScrollBar_Property_SCROLL_POSITION_INTERVALS_get();
+ internal static readonly int INDICATOR_MINIMUM_HEIGHT = NDalicPINVOKE.ScrollBar_Property_INDICATOR_MINIMUM_HEIGHT_get();
+ internal static readonly int INDICATOR_START_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_START_PADDING_get();
+ internal static readonly int INDICATOR_END_PADDING = NDalicPINVOKE.ScrollBar_Property_INDICATOR_END_PADDING_get();
+
+ }
+
+ /// <summary>
+ /// Creates an initialized ScrollBar.
+ /// </summary>
+ /// <param name="direction">The direction of scroll bar (either vertically or horizontally)</param>
+ public ScrollBar(ScrollBar.Direction direction) : this(NDalicPINVOKE.ScrollBar_New__SWIG_0((int)direction), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Creates an uninitialized ScrollBar
+ /// </summary>
+ public ScrollBar() : this(NDalicPINVOKE.ScrollBar_New__SWIG_1(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal ScrollBar(ScrollBar scrollBar) : this(NDalicPINVOKE.new_ScrollBar__SWIG_1(ScrollBar.getCPtr(scrollBar)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ScrollBar Assign(ScrollBar scrollBar)
+ {
+ ScrollBar ret = new ScrollBar(NDalicPINVOKE.ScrollBar_Assign(swigCPtr, ScrollBar.getCPtr(scrollBar)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to ScrollBar handle.
+ /// If handle points to a ScrollBar, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a ScrollBar or an uninitialized handle</returns>
+ public new static ScrollBar DownCast(BaseHandle handle)
+ {
+ ScrollBar ret = new ScrollBar(NDalicPINVOKE.ScrollBar_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetScrollPropertySource(Handle handle, int propertyScrollPosition, int propertyMinScrollPosition, int propertyMaxScrollPosition, int propertyScrollContentSize)
+ {
+ NDalicPINVOKE.ScrollBar_SetScrollPropertySource(swigCPtr, Handle.getCPtr(handle), propertyScrollPosition, propertyMinScrollPosition, propertyMaxScrollPosition, propertyScrollContentSize);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetScrollIndicator(Actor indicator)
+ {
+ NDalicPINVOKE.ScrollBar_SetScrollIndicator(swigCPtr, Actor.getCPtr(indicator));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Actor GetScrollIndicator()
+ {
+ Actor ret = new Actor(NDalicPINVOKE.ScrollBar_GetScrollIndicator(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetScrollPositionIntervals(VectorFloat positions)
+ {
+ NDalicPINVOKE.ScrollBar_SetScrollPositionIntervals(swigCPtr, VectorFloat.getCPtr(positions));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal VectorFloat GetScrollPositionIntervals()
+ {
+ VectorFloat ret = new VectorFloat(NDalicPINVOKE.ScrollBar_GetScrollPositionIntervals(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetScrollDirection(ScrollBar.Direction direction)
+ {
+ NDalicPINVOKE.ScrollBar_SetScrollDirection(swigCPtr, (int)direction);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ScrollBar.Direction GetScrollDirection()
+ {
+ ScrollBar.Direction ret = (ScrollBar.Direction)NDalicPINVOKE.ScrollBar_GetScrollDirection(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetIndicatorHeightPolicy(ScrollBar.IndicatorHeightPolicyType policy)
+ {
+ NDalicPINVOKE.ScrollBar_SetIndicatorHeightPolicy(swigCPtr, (int)policy);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ScrollBar.IndicatorHeightPolicyType GetIndicatorHeightPolicy()
+ {
+ ScrollBar.IndicatorHeightPolicyType ret = (ScrollBar.IndicatorHeightPolicyType)NDalicPINVOKE.ScrollBar_GetIndicatorHeightPolicy(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetIndicatorFixedHeight(float height)
+ {
+ NDalicPINVOKE.ScrollBar_SetIndicatorFixedHeight(swigCPtr, height);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetIndicatorFixedHeight()
+ {
+ float ret = NDalicPINVOKE.ScrollBar_GetIndicatorFixedHeight(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetIndicatorShowDuration(float durationSeconds)
+ {
+ NDalicPINVOKE.ScrollBar_SetIndicatorShowDuration(swigCPtr, durationSeconds);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetIndicatorShowDuration()
+ {
+ float ret = NDalicPINVOKE.ScrollBar_GetIndicatorShowDuration(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetIndicatorHideDuration(float durationSeconds)
+ {
+ NDalicPINVOKE.ScrollBar_SetIndicatorHideDuration(swigCPtr, durationSeconds);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetIndicatorHideDuration()
+ {
+ float ret = NDalicPINVOKE.ScrollBar_GetIndicatorHideDuration(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void ShowIndicator()
+ {
+ NDalicPINVOKE.ScrollBar_ShowIndicator(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void HideIndicator()
+ {
+ NDalicPINVOKE.ScrollBar_HideIndicator(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal VoidSignal PanFinishedSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.ScrollBar_PanFinishedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal FloatSignal ScrollPositionIntervalReachedSignal()
+ {
+ FloatSignal ret = new FloatSignal(NDalicPINVOKE.ScrollBar_ScrollPositionIntervalReachedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// Direction of scroll bar
+ /// </summary>
+ public enum Direction
+ {
+ Vertical = 0,
+ Horizontal
+ }
+
+ /// <summary>
+ /// Indicator height policy.
+ /// </summary>
+ public enum IndicatorHeightPolicyType
+ {
+ Variable = 0,
+ Fixed
+ }
+
+ /// <summary>
+ /// Direction of scroll bar
+ /// </summary>
+ public string ScrollDirection
+ {
+ get
+ {
+ string temp;
+ GetProperty(ScrollBar.Property.SCROLL_DIRECTION).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.SCROLL_DIRECTION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Indicator height policy.
+ /// </summary>
+ public string IndicatorHeightPolicy
+ {
+ get
+ {
+ string temp;
+ GetProperty(ScrollBar.Property.INDICATOR_HEIGHT_POLICY).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.INDICATOR_HEIGHT_POLICY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// the fixed height of scroll indicator.
+ /// </summary>
+ public float IndicatorFixedHeight
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ScrollBar.Property.INDICATOR_FIXED_HEIGHT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.INDICATOR_FIXED_HEIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// the duration in seconds for the scroll indicator to become fully visible.
+ /// </summary>
+ public float IndicatorShowDuration
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ScrollBar.Property.INDICATOR_SHOW_DURATION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.INDICATOR_SHOW_DURATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// the duration in seconds for the scroll indicator to become fully invisible.
+ /// </summary>
+ public float IndicatorHideDuration
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ScrollBar.Property.INDICATOR_HIDE_DURATION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.INDICATOR_HIDE_DURATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// the list of values to get notification when the current scroll position of the scrollable object goes above or below any of these values.
+ /// </summary>
+ public Tizen.NUI.PropertyArray ScrollPositionIntervals
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(ScrollBar.Property.SCROLL_POSITION_INTERVALS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.SCROLL_POSITION_INTERVALS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// The minimum height for a variable size indicator.
+ /// </summary>
+ public float IndicatorMinimumHeight
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.INDICATOR_MINIMUM_HEIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// The padding at the start of the indicator. For example, the top if scrollDirection is Vertical.
+ /// </summary>
+ public float IndicatorStartPadding
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ScrollBar.Property.INDICATOR_START_PADDING).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.INDICATOR_START_PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// The padding at the end of the indicator. For example, the bottom if scrollDirection is Vertical.
+ /// </summary>
+ public float IndicatorEndPadding
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(ScrollBar.Property.INDICATOR_END_PADDING).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(ScrollBar.Property.INDICATOR_END_PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
using System.Runtime.InteropServices;
-public class ScrollView : Scrollable {
+ public class ScrollView : Scrollable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ScrollView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollView_SWIGUpcast(cPtr), cMemoryOwn) {
}
}
-
-
/**
* @brief Event arguments that passed via SnapStarted signal
*
public class ClampEvent : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
-
+
internal ClampEvent(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
-
+
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ClampEvent obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
-
+
~ClampEvent() {
Dispose();
}
-
+
public virtual void Dispose() {
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
global::System.GC.SuppressFinalize(this);
}
}
-
- public ClampState2D scale {
+
+ internal ClampState2D scale {
set {
NDalicPINVOKE.ScrollView_ClampEvent_scale_set(swigCPtr, ClampState2D.getCPtr(value));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
get {
global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_ClampEvent_scale_get(swigCPtr);
ClampState2D ret = (cPtr == global::System.IntPtr.Zero) ? null : new ClampState2D(cPtr, false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
- }
+ }
}
-
- public ClampState2D position {
+
+ internal ClampState2D position {
set {
NDalicPINVOKE.ScrollView_ClampEvent_position_set(swigCPtr, ClampState2D.getCPtr(value));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
get {
global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_ClampEvent_position_get(swigCPtr);
ClampState2D ret = (cPtr == global::System.IntPtr.Zero) ? null : new ClampState2D(cPtr, false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
- }
+ }
}
-
- public ClampState rotation {
+
+ internal ClampState rotation {
set {
NDalicPINVOKE.ScrollView_ClampEvent_rotation_set(swigCPtr, (int)value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
get {
ClampState ret = (ClampState)NDalicPINVOKE.ScrollView_ClampEvent_rotation_get(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
- }
+ }
}
-
+
public ClampEvent() : this(NDalicPINVOKE.new_ScrollView_ClampEvent(), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
-
+
}
public class SnapEvent : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
-
+
internal SnapEvent(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
-
+
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(SnapEvent obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
-
+
~SnapEvent() {
Dispose();
}
-
+
public virtual void Dispose() {
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
global::System.GC.SuppressFinalize(this);
}
}
-
+
public static SnapEvent GetSnapEventFromPtr(global::System.IntPtr cPtr) {
SnapEvent ret = new SnapEvent(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
-
- public SnapType type {
+
+ internal SnapType type {
set {
NDalicPINVOKE.ScrollView_SnapEvent_type_set(swigCPtr, (int)value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
get {
SnapType ret = (SnapType)NDalicPINVOKE.ScrollView_SnapEvent_type_get(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
- }
+ }
}
-
+
public Vector2 position {
set {
NDalicPINVOKE.ScrollView_SnapEvent_position_set(swigCPtr, Vector2.getCPtr(value));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
get {
global::System.IntPtr cPtr = NDalicPINVOKE.ScrollView_SnapEvent_position_get(swigCPtr);
Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
- }
+ }
}
-
+
public float duration {
set {
NDalicPINVOKE.ScrollView_SnapEvent_duration_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+ }
get {
float ret = NDalicPINVOKE.ScrollView_SnapEvent_duration_get(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
- }
+ }
}
-
+
public SnapEvent() : this(NDalicPINVOKE.new_ScrollView_SnapEvent(), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
-
+
}
public class Property : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
-
+
internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
}
-
+
internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
-
+
~Property() {
Dispose();
}
-
+
public virtual void Dispose() {
lock(this) {
if (swigCPtr.Handle != global::System.IntPtr.Zero) {
global::System.GC.SuppressFinalize(this);
}
}
-
+
public Property() : this(NDalicPINVOKE.new_ScrollView_Property(), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
-
+
public static readonly int WRAP_ENABLED = NDalicPINVOKE.ScrollView_Property_WRAP_ENABLED_get();
public static readonly int PANNING_ENABLED = NDalicPINVOKE.ScrollView_Property_PANNING_ENABLED_get();
public static readonly int AXIS_AUTO_LOCK_ENABLED = NDalicPINVOKE.ScrollView_Property_AXIS_AUTO_LOCK_ENABLED_get();
public static readonly int SCROLL_DOMAIN_OFFSET = NDalicPINVOKE.ScrollView_Property_SCROLL_DOMAIN_OFFSET_get();
public static readonly int SCROLL_POSITION_DELTA = NDalicPINVOKE.ScrollView_Property_SCROLL_POSITION_DELTA_get();
public static readonly int START_PAGE_POSITION = NDalicPINVOKE.ScrollView_Property_START_PAGE_POSITION_get();
-
+
}
public ScrollView () : this (NDalicPINVOKE.ScrollView_New(), true) {
return ret;
}
- public void ApplyConstraintToChildren(SWIGTYPE_p_Dali__Constraint constraint) {
+ internal void ApplyConstraintToChildren(SWIGTYPE_p_Dali__Constraint constraint) {
NDalicPINVOKE.ScrollView_ApplyConstraintToChildren(swigCPtr, SWIGTYPE_p_Dali__Constraint.getCPtr(constraint));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public ScrollViewSnapStartedSignal SnapStartedSignal() {
+ internal ScrollViewSnapStartedSignal SnapStartedSignal() {
ScrollViewSnapStartedSignal ret = new ScrollViewSnapStartedSignal(NDalicPINVOKE.ScrollView_SnapStartedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
set
{
- SetProperty( ScrollView.Property.WRAP_ENABLED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.WRAP_ENABLED, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool PanningEnabled
}
set
{
- SetProperty( ScrollView.Property.PANNING_ENABLED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.PANNING_ENABLED, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool AxisAutoLockEnabled
}
set
{
- SetProperty( ScrollView.Property.AXIS_AUTO_LOCK_ENABLED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.AXIS_AUTO_LOCK_ENABLED, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 WheelScrollDistanceStep
}
set
{
- SetProperty( ScrollView.Property.WHEEL_SCROLL_DISTANCE_STEP, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.WHEEL_SCROLL_DISTANCE_STEP, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollPosition
}
set
{
- SetProperty( ScrollView.Property.SCROLL_POSITION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLL_POSITION, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollPrePosition
}
set
{
- SetProperty( ScrollView.Property.SCROLL_PRE_POSITION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLL_PRE_POSITION, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollPrePositionMax
}
set
{
- SetProperty( ScrollView.Property.SCROLL_PRE_POSITION_MAX, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLL_PRE_POSITION_MAX, new Tizen.NUI.PropertyValue( value ) );
}
}
public float OvershootX
}
set
{
- SetProperty( ScrollView.Property.OVERSHOOT_X, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.OVERSHOOT_X, new Tizen.NUI.PropertyValue( value ) );
}
}
public float OvershootY
}
set
{
- SetProperty( ScrollView.Property.OVERSHOOT_Y, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.OVERSHOOT_Y, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollFinal
}
set
{
- SetProperty( ScrollView.Property.SCROLL_FINAL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLL_FINAL, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool Wrap
}
set
{
- SetProperty( ScrollView.Property.WRAP, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.WRAP, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool Panning
}
set
{
- SetProperty( ScrollView.Property.PANNING, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.PANNING, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool Scrolling
}
set
{
- SetProperty( ScrollView.Property.SCROLLING, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLLING, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollDomainSize
}
set
{
- SetProperty( ScrollView.Property.SCROLL_DOMAIN_SIZE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLL_DOMAIN_SIZE, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollDomainOffset
}
set
{
- SetProperty( ScrollView.Property.SCROLL_DOMAIN_OFFSET, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLL_DOMAIN_OFFSET, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollPositionDelta
}
set
{
- SetProperty( ScrollView.Property.SCROLL_POSITION_DELTA, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.SCROLL_POSITION_DELTA, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector3 StartPagePosition
}
set
{
- SetProperty( ScrollView.Property.START_PAGE_POSITION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ScrollView.Property.START_PAGE_POSITION, new Tizen.NUI.PropertyValue( value ) );
}
}
namespace Tizen.NUI {
-public class ScrollViewEffect : BaseHandle {
+ public class ScrollViewEffect : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ScrollViewEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewEffect_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class ScrollViewPagePathEffect : ScrollViewEffect {
+ internal class ScrollViewPagePathEffect : ScrollViewEffect {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal ScrollViewPagePathEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewPagePathEffect_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public class ScrollViewSnapStartedSignal : global::System.IDisposable {
+ internal class ScrollViewSnapStartedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
using System.Runtime.InteropServices;
-public class Scrollable : View {
+ public class Scrollable : View {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Scrollable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Scrollable_SWIGUpcast(cPtr), cMemoryOwn) {
return ret;
}
- public ScrollableSignal ScrollStartedSignal() {
+ internal ScrollableSignal ScrollStartedSignal() {
ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollStartedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public ScrollableSignal ScrollUpdatedSignal() {
+ internal ScrollableSignal ScrollUpdatedSignal() {
ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollUpdatedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public ScrollableSignal ScrollCompletedSignal() {
+ internal ScrollableSignal ScrollCompletedSignal() {
ScrollableSignal ret = new ScrollableSignal(NDalicPINVOKE.Scrollable_ScrollCompletedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
set
{
- SetProperty( Scrollable.Property.OVERSHOOT_EFFECT_COLOR, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.OVERSHOOT_EFFECT_COLOR, new Tizen.NUI.PropertyValue( value ) );
}
}
public float OvershootAnimationSpeed
}
set
{
- SetProperty( Scrollable.Property.OVERSHOOT_ANIMATION_SPEED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.OVERSHOOT_ANIMATION_SPEED, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool OvershootEnabled
}
set
{
- SetProperty( Scrollable.Property.OVERSHOOT_ENABLED, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.OVERSHOOT_ENABLED, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 OvershootSize
}
set
{
- SetProperty( Scrollable.Property.OVERSHOOT_SIZE, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.OVERSHOOT_SIZE, new Tizen.NUI.PropertyValue( value ) );
}
}
public int ScrollToAlphaFunction
}
set
{
- SetProperty( Scrollable.Property.SCROLL_TO_ALPHA_FUNCTION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.SCROLL_TO_ALPHA_FUNCTION, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollRelativePosition
}
set
{
- SetProperty( Scrollable.Property.SCROLL_RELATIVE_POSITION, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.SCROLL_RELATIVE_POSITION, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollPositionMin
}
set
{
- SetProperty( Scrollable.Property.SCROLL_POSITION_MIN, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.SCROLL_POSITION_MIN, new Tizen.NUI.PropertyValue( value ) );
}
}
public Vector2 ScrollPositionMax
}
set
{
- SetProperty( Scrollable.Property.SCROLL_POSITION_MAX, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.SCROLL_POSITION_MAX, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool CanScrollVertical
}
set
{
- SetProperty( Scrollable.Property.CAN_SCROLL_VERTICAL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.CAN_SCROLL_VERTICAL, new Tizen.NUI.PropertyValue( value ) );
}
}
public bool CanScrollHorizontal
}
set
{
- SetProperty( Scrollable.Property.CAN_SCROLL_HORIZONTAL, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Scrollable.Property.CAN_SCROLL_HORIZONTAL, new Tizen.NUI.PropertyValue( value ) );
}
}
namespace Tizen.NUI {
-public class ScrollableSignal : global::System.IDisposable {
+ internal class ScrollableSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class Shader : Handle {
+ internal class Shader : Handle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Shader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Shader_SWIGUpcast(cPtr), cMemoryOwn) {
return ret;
}
- public Tizen.NUI.Property.Map Program
+ public Tizen.NUI.PropertyMap Program
{
get
{
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
GetProperty( Shader.Property.PROGRAM).Get( temp );
return temp;
}
set
{
- SetProperty( Shader.Property.PROGRAM, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( Shader.Property.PROGRAM, new Tizen.NUI.PropertyValue( value ) );
}
}
namespace Tizen.NUI {
-public class SignalConnectorType : global::System.IDisposable {
+ internal class SignalConnectorType : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class SignalObserver : global::System.IDisposable {
+ internal class SignalObserver : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
namespace Tizen.NUI
{
- using System;
-
- public class Size
- {
- private float width;
- private float height;
-
- /**
- * @brief constructor
- *
- * @since 1.0.0
- * @param [in] a Width value .
- * @param [in] b Height value.
- */
- public Size(float a, float b)
- {
- width = a;
- height = b;
- }
- /**
- * @brief default constructor
- *
- * @since 1.0.0
- */
- public Size()
- {
- width = 0.0f;
- height = 0.0f;
- }
-
- /**
- * @brief constructor with base class object
- *
- * @since 1.0.0
- * @param [in] o The Vector2 with Width, Height values.
- */
- public Size(Vector2 o)
- {
- width = o.X;
- height = o.Y;
- }
-
- /**
- * @brief Copy constructor
- *
- * @since 1.0.0
- * @param [in] o The Size having Width & Y.
- */
- public Size(Size a)
- {
- width = a.width;
- height = a.height;
- }
-
- ///< name "W", type float (Size Width value)
- //@since 1.0.0
- public float W
- {
- get { return width; }
- set { width = value; }
- }
- ///< name "H", type float (Size Height value)
- //@since 1.0.0
- public float H
- {
- get { return height; }
- set { height = value; }
- }
+ /// <summary>
+ /// Three dimensional size
+ /// </summary>
+ public class Size : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Size(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Size()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ /// <summary>
+ /// Dispose
+ /// </summary>
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector3(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// Addition operator for A+B
+ /// </summary>
+ /// <param name="arg1">Size, A</param>
+ /// <param name="arg2">Size to assign, B</param>
+ /// <returns>A Size containing the result of the addition</returns>
+ public static Size operator +(Size arg1, Size arg2)
+ {
+ return arg1.Add(arg2);
+ }
+
+ /// <summary>
+ /// Subtraction operator for A-B
+ /// </summary>
+ /// <param name="arg1">Size, A</param>
+ /// <param name="arg2">Size to subtract, B</param>
+ /// <returns>A Size containing the result of the subtraction</returns>
+ public static Size operator -(Size arg1, Size arg2)
+ {
+ return arg1.Subtract(arg2);
+ }
+
+ /// <summary>
+ /// Unary negation operator.
+ /// </summary>
+ /// <param name="arg1">Size for unary negation</param>
+ /// <returns>A Size containg the negation</returns>
+ public static Size operator -(Size arg1)
+ {
+ return arg1.Subtract();
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">Size for multiplication</param>
+ /// <param name="arg2">The Size to multipl</param>
+ /// <returns>A Size containing the result of the multiplication</returns>
+ public static Size operator *(Size arg1, Size arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">Size for multiplication</param>
+ /// <param name="arg2">The float value to scale the Size</param>
+ /// <returns>A Size containing the result of the scaling</returns>
+ public static Size operator *(Size arg1, float arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">Size for division</param>
+ /// <param name="arg2">The Size to divide</param>
+ /// <returns>A Size containing the result of the division></returns>
+ public static Size operator /(Size arg1, Size arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">Size for division</param>
+ /// <param name="arg2">The float value to scale the Size by</param>
+ /// <returns>A Size containing the result of the scaling</returns>
+ public static Size operator /(Size arg1, float arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+ /// <summary>
+ /// Array subscript operator.
+ /// </summary>
+ /// <param name="index">Subscript index</param>
+ /// <returns>The float at the given index</returns>
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
+
+ internal static Size GetSizeFromPtr(global::System.IntPtr cPtr)
+ {
+ Size ret = new Size(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ public Size() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="x">x (or width) component</param>
+ /// <param name="y">y (or height) component</param>
+ /// <param name="z">z (or depth) component</param>
+ public Size(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="size2d">Size2D with x (width) and y (height)</param>
+ public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Zero constant, (0.0f, 0.0f, 0.0f).
+ /// </summary>
+ public static Size Zero
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+ Size ret = (cPtr == global::System.IntPtr.Zero) ? null : new Size(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Size Add(Size rhs)
+ {
+ Size ret = new Size(NDalicPINVOKE.Vector3_Add(swigCPtr, Size.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size Subtract(Size rhs)
+ {
+ Size ret = new Size(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size Multiply(Size rhs)
+ {
+ Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size Multiply(float rhs)
+ {
+ Size ret = new Size(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size Divide(Size rhs)
+ {
+ Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Size.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size Divide(float rhs)
+ {
+ Size ret = new Size(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size Subtract()
+ {
+ Size ret = new Size(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private float ValueOfIndex(uint index)
+ {
+ float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Check equality.
+ /// Utilizes appropriate machine epsilon values.
+ /// </summary>
+ /// <param name="rhs">The Size to test against</param>
+ /// <returns>True if the Sizes are equal</returns>
+ public bool EqualTo(Size rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Size.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Check inequality.
+ /// Utilizes appropriate machine epsilon values.
+ /// </summary>
+ /// <param name="rhs">The Size to test against</param>
+ /// <returns>True if the Sizes are not equal</returns>
+ public bool NotEqualTo(Size rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Size.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Width property for width component of Siz
+ /// </summary>
+ public float Width
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Height property for height component of Size
+ /// </summary>
+ public float Height
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Depth property for depth component of Size
+ /// </summary>
+ public float Depth
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Type cast operator, Size to Vector3.
+ /// </summary>
+ /// <param name="size">Object of Size type</param>
+ public static implicit operator Vector3(Size size)
+ {
+ return new Vector3(size.Width, size.Height, size.Depth);
+ }
+
+ /// <summary>
+ /// Type cast operator, Vector3 to Size type.
+ /// </summary>
+ /// <param name="vec">Object of Vector3 type</param>
+ public static implicit operator Size(Vector3 vec)
+ {
+ return new Size(vec.Width, vec.Height, vec.Depth);
+ }
- public float Width
- {
- get { return width; }
- set { width = value; }
- }
-
- public float Height
- {
- get { return height; }
- set { height = value; }
- }
-
- /**
- * @brief operator+
- *
- * @since 1.0.0
- * @param [in] l The Size to add.
- * @param [in] r The Size to add
- * @return A reference to this
- */
- public static Size operator +(Size l, Size r)
- {
- return new Size(l.W + r.W, l.H + r.H);
- }
-
- /**
- * @brief operator-
- *
- * @since 1.0.0
- * @param [in] l The Size to substract.
- * @param [in] r The Size to substract
- * @return A reference to this
- */
- public static Size operator -(Size l, Size r)
- {
- return new Size(l.W - r.W, l.H - r.H);
}
- /**
- * @brief operator*
- *
- * @since 1.0.0
- * @param [in] a The Size to multiply
- * @param [in] b The constant to multiply of type double.
- * @return A reference to this
- */
- public static Size operator *(Size a, double b)
- {
- return new Size((float)(a.W * b), (float)(a.H * b));
- }
-
- /**
- * @brief operator/
- *
- * @since 1.0.0
- * @param [in] a The Size to divide.
- * @param [in] b The Size to divide
- * @return float of the size division
- */
- public static float operator /(Size a, Size b)
- {
- return (float)System.Math.Sqrt((a.W / b.W) * (a.H / b.H));
- }
-
- /**
- * @brief Operator ==
- *
- * @since 1.0.0
- * @param [in] a The Size object to compare.
- * @param [in] b The Size object to compare.
- * @return bool, whether Size are equal or not
- */
- public static bool operator == (Size a, Size b)
- {
- return a.W == b.W && a.H == b.H ;
- }
-
- /**
- * @brief Operator !=
- *
- * @since 1.0.0
- * @param [in] a The Size object to compare.
- * @param [in] b The Size object to compare.
- * @return bool, whether Size are equal or not
- */
- public static bool operator != (Size a, Size b)
- {
- return a.W != b.W || a.H != b.H;
- }
-
- /**
- * @brief GetHashCode
- *
- * @since 1.0.0
- * @return int, hascode of Size
- */
- public override int GetHashCode()
- {
- return (int)(W + H);
- }
-
- /**
- * @brief Clone
- *
- * @since 1.0.0
- * @return returns a copy of Size object
- */
- public Size Clone()
- {
- Size copy = new Size(W, H);
- return copy;
- }
-
- // User-defined conversion from Position to Vector2
- public static implicit operator Vector2(Size size)
- {
- return new Vector2(size.width, size.height);
- }
-
- public static implicit operator Size(Vector2 vec)
- {
- return new Size(vec.X, vec.Y);
- }
- }
-
- public class Size3D
- {
- private float width;
- private float height;
- private float depth;
-
- public Size3D(float a, float b, float c)
- {
- width = a;
- height = b;
- depth = c;
- }
-
- public Size3D()
- {
- width = 0.0f;
- height = 0.0f;
- depth = 0.0f;
- }
-
- public Size3D(Vector3 o)
- {
- width = o.X;
- height = o.Y;
- depth = o.Z;
- }
-
- public Size3D(Vector2 o)
- {
- width = o.X;
- height = o.Y;
- depth = 0.0f;
- }
-
- public Size3D(Size3D a)
- {
- width = a.width;
- height = a.height;
- depth = a.depth;
- }
-
- public float W
- {
- get { return width; }
- set { width = value; }
- }
-
- public float H
- {
- get { return height; }
- set { height = value; }
- }
-
- public float D
- {
- get { return depth; }
- set { depth = value; }
- }
-
- public float Width
- {
- get { return width; }
- set { width = value; }
- }
-
- public float Height
- {
- get { return height; }
- set { height = value; }
- }
-
- public float Depth
- {
- get { return depth; }
- set { depth = value; }
- }
-
- public float X
- {
- get { return width; }
- set { width = value; }
- }
-
- public float Y
- {
- get { return height; }
- set { height = value; }
- }
-
- public float Z
- {
- get { return depth; }
- set { depth = value; }
- }
-
- // User-defined conversion from Position to Vector3
- public static implicit operator Vector3(Size3D size)
- {
- return new Vector3(size.width, size.height, size.depth);
- }
-
- public static implicit operator Size3D(Vector3 vec)
- {
- return new Size3D(vec.X, vec.Y, vec.Z);
- }
-
- }
-
}
+
--- /dev/null
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// A two dimensional size
+ /// </summary>
+ public class Size2D : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Size2D(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size2D obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Size2D()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ /// <summary>
+ /// Dispose
+ /// </summary>
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector2(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// Addition operator for A+B
+ /// </summary>
+ /// <param name="arg1">Size, A</param>
+ /// <param name="arg2">Size to assign, B</param>
+ /// <returns>A Size containing the result of the addition</returns>
+ public static Size2D operator +(Size2D arg1, Size2D arg2)
+ {
+ return arg1.Add(arg2);
+ }
+
+ /// <summary>
+ /// Subtraction operator for A-B
+ /// </summary>
+ /// <param name="arg1">Size, A</param>
+ /// <param name="arg2">Size to subtract, B</param>
+ /// <returns>A Size containing the result of the subtraction</returns>
+ public static Size2D operator -(Size2D arg1, Size2D arg2)
+ {
+ return arg1.Subtract(arg2);
+ }
+
+ /// <summary>
+ /// Unary negation operator.
+ /// </summary>
+ /// <param name="arg1">Size for unary negation</param>
+ /// <returns>A Size containg the negation</returns>
+ public static Size2D operator -(Size2D arg1)
+ {
+ return arg1.Subtract();
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">Size for multiplication</param>
+ /// <param name="arg2">The Size to multipl</param>
+ /// <returns>A Size containing the result of the multiplication</returns>
+ public static Size2D operator *(Size2D arg1, Size2D arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">Size for multiplication</param>
+ /// <param name="arg2">The int value to scale the Size</param>
+ /// <returns>A Size containing the result of the scaling</returns>
+
+ public static Size2D operator *(Size2D arg1, int arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">Size for division</param>
+ /// <param name="arg2">The Size to divide</param>
+ /// <returns>A Size containing the result of the division></returns>
+ public static Size2D operator /(Size2D arg1, Size2D arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">Size for division</param>
+ /// <param name="arg2">The int value to scale the Size by</param>
+ /// <returns>A Size containing the result of the scaling</returns>
+ public static Size2D operator /(Size2D arg1, int arg2)
+ {
+ return arg1.Divide(arg2);
+ }
+
+ /// <summary>
+ /// Array subscript operator.
+ /// </summary>
+ /// <param name="index">Subscript index</param>
+ /// <returns>The float at the given index</returns>
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
+
+ /// <summary>
+ /// Get Size from pointer.
+ /// </summary>
+ /// <param name="cPtr">Pointer of the Size</param>
+ /// <returns>Size</returns>
+ internal static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr)
+ {
+ Size2D ret = new Size2D(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ public Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="x">x (or width) component</param>
+ /// <param name="y">y (or height) component</param>
+ public Size2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="size">Size with x (width), y (height), and z (depth)</param>
+ public Size2D(Size size) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Size.getCPtr(size)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ private Size2D Add(Size2D rhs)
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Add(swigCPtr, Size2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size2D Subtract(Size2D rhs)
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ private Size2D Multiply(Size2D rhs)
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size2D Multiply(int rhs)
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, (float)rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ private Size2D Divide(Size2D rhs)
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size2D Divide(int rhs)
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, (float)rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Size2D Subtract()
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Check equality.
+ /// Utilizes appropriate machine epsilon values.
+ /// </summary>
+ /// <param name="rhs">The Size to test against</param>
+ /// <returns>True if the Sizes are equal</returns>
+ public bool EqualTo(Size2D rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Size2D.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Check inequality.
+ /// Utilizes appropriate machine epsilon values.
+ /// </summary>
+ /// <param name="rhs">The Size to test against</param>
+ /// <returns>True if the Sizes are not equal</returns>
+ public bool NotEqualTo(Size2D rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Size2D.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private int ValueOfIndex(uint index)
+ {
+ int ret = (int)NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Property for width component of Size
+ /// </summary>
+ public int Width
+ {
+ set
+ {
+ NDalicPINVOKE.Vector2_Width_set(swigCPtr, (float)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return (int)ret;
+ }
+ }
+
+ /// <summary>
+ /// Property for height component of Size
+ /// </summary>
+ public int Height
+ {
+ set
+ {
+ NDalicPINVOKE.Vector2_Height_set(swigCPtr, (float)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return (int)ret;
+ }
+ }
+
+ /// <summary>
+ /// Type cast operator, Size2D to Vector2.
+ /// </summary>
+ /// <param name="size">Object of Size2D type</param>
+ public static implicit operator Vector2(Size2D size)
+ {
+ return new Vector2((float)size.Width, (float)size.Height);
+ }
+
+ /// <summary>
+ /// Type cast operator, Vector2 to Size2D type.
+ /// </summary>
+ /// <param name="vec">Object of Vector2 type</param>
+ public static implicit operator Size2D(Vector2 vec)
+ {
+ return new Size2D((int)vec.X, (int)vec.Y);
+ }
+
+ }
+
+}
+
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum SizeScalePolicyType {
- USE_SIZE_SET,
- FIT_WITH_ASPECT_RATIO,
- FILL_WITH_ASPECT_RATIO
-}
-
-}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ using System;
+ using System.Runtime.InteropServices;
-using System;
-using System.Runtime.InteropServices;
+ /// <summary>
+ /// Slider is a control to enable sliding an indicator between two values.
+ /// </summary>
+ public class Slider : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class Slider : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal Slider(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Slider_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~Slider()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Slider obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// Dispose
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Slider(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~Slider() {
- DisposeQueue.Instance.Add(this);
- }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Slider(swigCPtr);
+ /// <summary>
+ /// Value changed event arguments.
+ /// </summary>
+ public class ValueChangedEventArgs : EventArgs
+ {
+ private Slider _slider;
+ private float _slideValue;
+
+ /// <summary>
+ /// Slider.
+ /// </summary>
+ public Slider Slider
+ {
+ get
+ {
+ return _slider;
+ }
+ set
+ {
+ _slider = value;
+ }
+ }
+
+ /// <summary>
+ /// Slider value.
+ /// </summary>
+ public float SlideValue
+ {
+ get
+ {
+ return _slideValue;
+ }
+ set
+ {
+ _slideValue = value;
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// Sliding finished event arguments.
+ /// </summary>
+ public class SlidingFinishedEventArgs : EventArgs
+ {
+ private Slider _slider;
+ private float _slideValue;
+
+ /// <summary>
+ /// Slider.
+ /// </summary>
+ public Slider Slider
+ {
+ get
+ {
+ return _slider;
+ }
+ set
+ {
+ _slider = value;
+ }
+ }
+
+ /// <summary>
+ /// Slider value.
+ /// </summary>
+ public float SlideValue
+ {
+ get
+ {
+ return _slideValue;
+ }
+ set
+ {
+ _slideValue = value;
+ }
+ }
+ }
+ /// <summary>
+ /// Mark reached event arguments.
+ /// </summary>
+ public class MarkReachedEventArgs : EventArgs
+ {
+ private Slider _slider;
+ private int _slideValue;
+
+ /// <summary>
+ /// Slider.
+ /// </summary>
+ public Slider Slider
+ {
+ get
+ {
+ return _slider;
+ }
+ set
+ {
+ _slider = value;
+ }
+ }
+
+ /// <summary>
+ /// Slider value.
+ /// </summary>
+ public int SlideValue
+ {
+ get
+ {
+ return _slideValue;
+ }
+ set
+ {
+ _slideValue = value;
+ }
+ }
+ }
-public class ValueChangedEventArgs : EventArgs
-{
- private Slider _slider;
- private float _slideValue;
-
- public Slider Slider
- {
- get
- {
- return _slider;
- }
- set
- {
- _slider = value;
- }
- }
-
- public float SlideValue
- {
- get
- {
- return _slideValue;
- }
- set
- {
- _slideValue = value;
- }
- }
-}
-public class SlidingFinishedEventArgs : EventArgs
-{
- private Slider _slider;
- private float _slideValue;
-
- public Slider Slider
- {
- get
- {
- return _slider;
- }
- set
- {
- _slider = value;
- }
- }
-
- public float SlideValue
- {
- get
- {
- return _slideValue;
- }
- set
- {
- _slideValue = value;
- }
- }
-}
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
+ private EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> _sliderValueChangedEventHandler;
+ private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
-public class MarkReachedEventArgs : EventArgs
-{
- private Slider _slider;
- private int _slideValue;
-
- public Slider Slider
- {
- get
- {
- return _slider;
- }
- set
- {
- _slider = value;
- }
- }
-
- public int SlideValue
- {
- get
- {
- return _slideValue;
- }
- set
- {
- _slideValue = value;
- }
- }
-}
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
+ private EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> _sliderSlidingFinishedEventHandler;
+ private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
+ private EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> _sliderMarkReachedEventHandler;
+ private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool ValueChangedCallbackDelegate(IntPtr slider, float slideValue);
- private DaliEventHandlerWithReturnType<object,ValueChangedEventArgs,bool> _sliderValueChangedEventHandler;
- private ValueChangedCallbackDelegate _sliderValueChangedCallbackDelegate;
+ /// <summary>
+ /// Event emitted when the slider value changes.
+ /// </summary>
+ public event EventHandlerWithReturnType<object, ValueChangedEventArgs, bool> ValueChanged
+ {
+ add
+ {
+ if (_sliderValueChangedEventHandler == null)
+ {
+ _sliderValueChangedCallbackDelegate = (OnValueChanged);
+ ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
+ }
+ _sliderValueChangedEventHandler += value;
+ }
+ remove
+ {
+ _sliderValueChangedEventHandler -= value;
+ if (_sliderValueChangedEventHandler == null && _sliderValueChangedCallbackDelegate != null)
+ {
+ ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
+ }
+ }
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool SlidingFinishedCallbackDelegate(IntPtr slider, float slideValue);
- private DaliEventHandlerWithReturnType<object,SlidingFinishedEventArgs,bool> _sliderSlidingFinishedEventHandler;
- private SlidingFinishedCallbackDelegate _sliderSlidingFinishedCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool MarkReachedCallbackDelegate(IntPtr slider, int slideValue);
- private DaliEventHandlerWithReturnType<object,MarkReachedEventArgs,bool> _sliderMarkReachedEventHandler;
- private MarkReachedCallbackDelegate _sliderMarkReachedCallbackDelegate;
-
- public event DaliEventHandlerWithReturnType<object,ValueChangedEventArgs,bool> ValueChanged
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_sliderValueChangedEventHandler == null)
- {
- _sliderValueChangedEventHandler += value;
-
- _sliderValueChangedCallbackDelegate = new ValueChangedCallbackDelegate(OnValueChanged);
- this.ValueChangedSignal().Connect(_sliderValueChangedCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_sliderValueChangedEventHandler != null)
- {
- this.ValueChangedSignal().Disconnect(_sliderValueChangedCallbackDelegate);
- }
-
- _sliderValueChangedEventHandler -= value;
- }
- }
- }
-
- // Callback for Slider ValueChanged signal
- private bool OnValueChanged(IntPtr slider, float slideValue)
- {
- ValueChangedEventArgs e = new ValueChangedEventArgs();
-
- // Populate all members of "e" (ValueChangedEventArgs) with real page
- e.Slider = Slider.GetSliderFromPtr( slider );
- e.SlideValue = slideValue;
-
- if (_sliderValueChangedEventHandler != null)
- {
- //here we send all page to user event handlers
- return _sliderValueChangedEventHandler(this, e);
- }
- return false;
- }
-
- public event DaliEventHandlerWithReturnType<object,SlidingFinishedEventArgs,bool> SlidingFinished
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_sliderSlidingFinishedEventHandler == null)
- {
- _sliderSlidingFinishedEventHandler += value;
-
- _sliderSlidingFinishedCallbackDelegate = new SlidingFinishedCallbackDelegate(OnSlidingFinished);
- this.SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_sliderSlidingFinishedEventHandler != null)
- {
- this.SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
- }
-
- _sliderSlidingFinishedEventHandler -= value;
- }
- }
- }
-
- // Callback for Slider SlidingFinished signal
- private bool OnSlidingFinished(IntPtr slider, float slideValue)
- {
- SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
-
- // Populate all members of "e" (SlidingFinishedEventArgs) with real page
- e.Slider = Slider.GetSliderFromPtr( slider );
- e.SlideValue = slideValue;
-
- if (_sliderSlidingFinishedEventHandler != null)
- {
- //here we send all page to user event handlers
- return _sliderSlidingFinishedEventHandler(this, e);
- }
- return false;
- }
-
- public event DaliEventHandlerWithReturnType<object,MarkReachedEventArgs,bool> MarkReached
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_sliderMarkReachedEventHandler == null)
- {
- _sliderMarkReachedEventHandler += value;
-
- _sliderMarkReachedCallbackDelegate = new MarkReachedCallbackDelegate(OnMarkReached);
- this.MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_sliderMarkReachedEventHandler != null)
- {
- this.MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
- }
-
- _sliderMarkReachedEventHandler -= value;
- }
- }
- }
-
- // Callback for Slider MarkReached signal
- private bool OnMarkReached(IntPtr slider, int slideValue)
- {
- MarkReachedEventArgs e = new MarkReachedEventArgs();
-
- // Populate all members of "e" (MarkReachedEventArgs) with real page
- e.Slider = Slider.GetSliderFromPtr( slider );
- e.SlideValue = slideValue;
-
- if (_sliderMarkReachedEventHandler != null)
- {
- //here we send all page to user event handlers
- return _sliderMarkReachedEventHandler(this, e);
- }
- return false;
- }
-
- public static Slider GetSliderFromPtr(global::System.IntPtr cPtr) {
- Slider ret = new Slider(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
-
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Slider_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_Slider_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
- public static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
- public static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
- public static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
- public static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
- public static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
- public static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
- public static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
- public static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
- public static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
- public static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
- public static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
- public static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
- public static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
- public static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
-
- }
-
- public Slider () : this (NDalicPINVOKE.Slider_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Slider Assign(Slider handle) {
- Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static Slider DownCast(BaseHandle handle) {
- Slider ret = new Slider(NDalicPINVOKE.Slider_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SliderValueChangedSignal ValueChangedSignal() {
- SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SliderValueChangedSignal SlidingFinishedSignal() {
- SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SliderMarkReachedSignal MarkReachedSignal() {
- SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public float LowerBound
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Slider.Property.LOWER_BOUND).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.LOWER_BOUND, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float UpperBound
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Slider.Property.UPPER_BOUND).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.UPPER_BOUND, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float Value
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Slider.Property.VALUE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.VALUE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map TrackVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Slider.Property.TRACK_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.TRACK_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map HandleVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Slider.Property.HANDLE_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.HANDLE_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map ProgressVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Slider.Property.PROGRESS_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.PROGRESS_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map PopupVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Slider.Property.POPUP_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.POPUP_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map PopupArrowVisual
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( Slider.Property.POPUP_ARROW_VISUAL).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.POPUP_ARROW_VISUAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 DisabledColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( Slider.Property.DISABLED_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.DISABLED_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int ValuePrecision
- {
- get
- {
- int temp = 0;
- GetProperty( Slider.Property.VALUE_PRECISION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.VALUE_PRECISION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool ShowPopup
- {
- get
- {
- bool temp = false;
- GetProperty( Slider.Property.SHOW_POPUP).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.SHOW_POPUP, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool ShowValue
- {
- get
- {
- bool temp = false;
- GetProperty( Slider.Property.SHOW_VALUE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.SHOW_VALUE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Array Marks
- {
- get
- {
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
- GetProperty( Slider.Property.MARKS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.MARKS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool SnapToMarks
- {
- get
- {
- bool temp = false;
- GetProperty( Slider.Property.SNAP_TO_MARKS).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.SNAP_TO_MARKS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float MarkTolerance
- {
- get
- {
- float temp = 0.0f;
- GetProperty( Slider.Property.MARK_TOLERANCE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( Slider.Property.MARK_TOLERANCE, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ // Callback for Slider ValueChanged signal
+ private bool OnValueChanged(IntPtr slider, float slideValue)
+ {
+ ValueChangedEventArgs e = new ValueChangedEventArgs();
+
+ // Populate all members of "e" (ValueChangedEventArgs) with real page
+ e.Slider = Slider.GetSliderFromPtr(slider);
+ e.SlideValue = slideValue;
+
+ if (_sliderValueChangedEventHandler != null)
+ {
+ //here we send all page to user event handlers
+ return _sliderValueChangedEventHandler(this, e);
+ }
+ return false;
+ }
-}
+ /// <summary>
+ /// Event emitted when the sliding is finished.
+ /// </summary>
+ public event EventHandlerWithReturnType<object, SlidingFinishedEventArgs, bool> SlidingFinished
+ {
+ add
+ {
+ if (_sliderSlidingFinishedEventHandler == null)
+ {
+ _sliderSlidingFinishedCallbackDelegate = (OnSlidingFinished);
+ SlidingFinishedSignal().Connect(_sliderSlidingFinishedCallbackDelegate);
+ }
+ _sliderSlidingFinishedEventHandler += value;
+ }
+ remove
+ {
+ _sliderSlidingFinishedEventHandler -= value;
+ if (_sliderSlidingFinishedEventHandler == null && _sliderSlidingFinishedCallbackDelegate != null)
+ {
+ SlidingFinishedSignal().Disconnect(_sliderSlidingFinishedCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for Slider SlidingFinished signal
+ private bool OnSlidingFinished(IntPtr slider, float slideValue)
+ {
+ SlidingFinishedEventArgs e = new SlidingFinishedEventArgs();
+
+ // Populate all members of "e" (SlidingFinishedEventArgs) with real page
+ e.Slider = Slider.GetSliderFromPtr(slider);
+ e.SlideValue = slideValue;
+
+ if (_sliderSlidingFinishedEventHandler != null)
+ {
+ //here we send all page to user event handlers
+ return _sliderSlidingFinishedEventHandler(this, e);
+ }
+ return false;
+ }
+
+ /// <summary>
+ /// Event emitted when the slider handle reaches a mark.
+ /// </summary>
+ public event EventHandlerWithReturnType<object, MarkReachedEventArgs, bool> MarkReached
+ {
+ add
+ {
+ if (_sliderMarkReachedEventHandler == null)
+ {
+ _sliderMarkReachedCallbackDelegate = (OnMarkReached);
+ MarkReachedSignal().Connect(_sliderMarkReachedCallbackDelegate);
+ }
+ _sliderMarkReachedEventHandler += value;
+ }
+ remove
+ {
+ _sliderMarkReachedEventHandler -= value;
+ if (_sliderMarkReachedEventHandler == null && _sliderMarkReachedCallbackDelegate != null)
+ {
+ MarkReachedSignal().Disconnect(_sliderMarkReachedCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for Slider MarkReached signal
+ private bool OnMarkReached(IntPtr slider, int slideValue)
+ {
+ MarkReachedEventArgs e = new MarkReachedEventArgs();
+
+ // Populate all members of "e" (MarkReachedEventArgs) with real page
+ e.Slider = Slider.GetSliderFromPtr(slider);
+ e.SlideValue = slideValue;
+
+ if (_sliderMarkReachedEventHandler != null)
+ {
+ //here we send all page to user event handlers
+ return _sliderMarkReachedEventHandler(this, e);
+ }
+ return false;
+ }
+
+ /// <summary>
+ /// Get Slider from the pointer.
+ /// </summary>
+ /// <param name="cPtr">The pointer of Slider</param>
+ /// <returns>Object of Slider type</returns>
+ internal static Slider GetSliderFromPtr(global::System.IntPtr cPtr)
+ {
+ Slider ret = new Slider(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Slider_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_Slider_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int LOWER_BOUND = NDalicPINVOKE.Slider_Property_LOWER_BOUND_get();
+ internal static readonly int UPPER_BOUND = NDalicPINVOKE.Slider_Property_UPPER_BOUND_get();
+ internal static readonly int VALUE = NDalicPINVOKE.Slider_Property_VALUE_get();
+ internal static readonly int TRACK_VISUAL = NDalicPINVOKE.Slider_Property_TRACK_VISUAL_get();
+ internal static readonly int HANDLE_VISUAL = NDalicPINVOKE.Slider_Property_HANDLE_VISUAL_get();
+ internal static readonly int PROGRESS_VISUAL = NDalicPINVOKE.Slider_Property_PROGRESS_VISUAL_get();
+ internal static readonly int POPUP_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_VISUAL_get();
+ internal static readonly int POPUP_ARROW_VISUAL = NDalicPINVOKE.Slider_Property_POPUP_ARROW_VISUAL_get();
+ internal static readonly int DISABLED_COLOR = NDalicPINVOKE.Slider_Property_DISABLED_COLOR_get();
+ internal static readonly int VALUE_PRECISION = NDalicPINVOKE.Slider_Property_VALUE_PRECISION_get();
+ internal static readonly int SHOW_POPUP = NDalicPINVOKE.Slider_Property_SHOW_POPUP_get();
+ internal static readonly int SHOW_VALUE = NDalicPINVOKE.Slider_Property_SHOW_VALUE_get();
+ internal static readonly int MARKS = NDalicPINVOKE.Slider_Property_MARKS_get();
+ internal static readonly int SNAP_TO_MARKS = NDalicPINVOKE.Slider_Property_SNAP_TO_MARKS_get();
+ internal static readonly int MARK_TOLERANCE = NDalicPINVOKE.Slider_Property_MARK_TOLERANCE_get();
+
+ }
+
+ /// <summary>
+ /// Creates the Slider control.
+ /// </summary>
+ public Slider() : this(NDalicPINVOKE.Slider_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal Slider(Slider handle) : this(NDalicPINVOKE.new_Slider__SWIG_1(Slider.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Slider Assign(Slider handle)
+ {
+ Slider ret = new Slider(NDalicPINVOKE.Slider_Assign(swigCPtr, Slider.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts an Object handle to Slider.
+ /// If handle points to a Slider, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a Slider or an uninitialized handle</returns>
+ public new static Slider DownCast(BaseHandle handle)
+ {
+ Slider ret = new Slider(NDalicPINVOKE.Slider_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal SliderValueChangedSignal ValueChangedSignal()
+ {
+ SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_ValueChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal SliderValueChangedSignal SlidingFinishedSignal()
+ {
+ SliderValueChangedSignal ret = new SliderValueChangedSignal(NDalicPINVOKE.Slider_SlidingFinishedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal SliderMarkReachedSignal MarkReachedSignal()
+ {
+ SliderMarkReachedSignal ret = new SliderMarkReachedSignal(NDalicPINVOKE.Slider_MarkReachedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// Lower bound property
+ /// </summary>
+ public float LowerBound
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Slider.Property.LOWER_BOUND).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.LOWER_BOUND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Upper bound property
+ /// </summary>
+ public float UpperBound
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Slider.Property.UPPER_BOUND).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.UPPER_BOUND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Value property
+ /// </summary>
+ public float Value
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Slider.Property.VALUE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.VALUE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Track visual property
+ /// </summary>
+ public PropertyMap TrackVisual
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Slider.Property.TRACK_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.TRACK_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Handle visual property
+ /// </summary>
+ public PropertyMap HandleVisual
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Slider.Property.HANDLE_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.HANDLE_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Progress visual property
+ /// </summary>
+ public PropertyMap ProgressVisual
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Slider.Property.PROGRESS_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.PROGRESS_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Popup visual property
+ /// </summary>
+ public PropertyMap PopupVisual
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Slider.Property.POPUP_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.POPUP_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Popup arrow visual property
+ /// </summary>
+ public PropertyMap PopupArrowVisual
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(Slider.Property.POPUP_ARROW_VISUAL).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.POPUP_ARROW_VISUAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Disable color property
+ /// </summary>
+ public Vector4 DisabledColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(Slider.Property.DISABLED_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.DISABLED_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Value presicion property
+ /// </summary>
+ public int ValuePrecision
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(Slider.Property.VALUE_PRECISION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.VALUE_PRECISION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Show popup property
+ /// </summary>
+ public bool ShowPopup
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Slider.Property.SHOW_POPUP).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.SHOW_POPUP, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Show value property
+ /// </summary>
+ public bool ShowValue
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Slider.Property.SHOW_VALUE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.SHOW_VALUE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Marks property
+ /// </summary>
+ public Tizen.NUI.PropertyArray Marks
+ {
+ get
+ {
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+ GetProperty(Slider.Property.MARKS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.MARKS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Snap to marks property
+ /// </summary>
+ public bool SnapToMarks
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(Slider.Property.SNAP_TO_MARKS).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.SNAP_TO_MARKS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Mark tolerance property
+ /// </summary>
+ public float MarkTolerance
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(Slider.Property.MARK_TOLERANCE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(Slider.Property.MARK_TOLERANCE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class SliderMarkReachedSignal : global::System.IDisposable {
+ internal class SliderMarkReachedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class SliderValueChangedSignal : global::System.IDisposable {
+ internal class SliderValueChangedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class SlotObserver : global::System.IDisposable {
+ internal class SlotObserver : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public enum SnapType {
+ internal enum SnapType {
Snap,
Flick
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// The Stage is a top-level object used for displaying a tree of Actors.
+ /// Stage is a top-level object that represents the entire screen.
+ /// It is used for displaying a hierarchy of actors managed by the scene graph structure,
+ /// which means an actor inherits a position relative to its parent,
+ /// and can be moved in relation to this point.
+ /// The stage instance is a singleton object (the only instance of its class during the
+ /// lifetime of the program). You can get it using a static function.
+ /// To display the contents of an actor, it must be added to a stage.
+ /// </summary>
+ public class Stage : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal Stage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Stage_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-using System;
-using System.Runtime.InteropServices;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Stage obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+ ~Stage()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ /// <summary>
+ /// Dispose.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Stage(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
-public class Stage : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// Touch event argument.
+ /// </summary>
+ public class TouchEventArgs : EventArgs
+ {
+ private Touch _touch;
+
+ /// <summary>
+ /// Touch.
+ /// </summary>
+ public Touch Touch
+ {
+ get
+ {
+ return _touch;
+ }
+ set
+ {
+ _touch = value;
+ }
+ }
+ }
- internal Stage(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Stage_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ private event EventHandler<TouchEventArgs> _stageTouchHandler;
+ private EventCallbackDelegateType1 _stageTouchCallbackDelegate;
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Stage obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// This is emitted when the screen is touched and when the touch ends.
+ /// If there are multiple touch points, then this will be emitted when the first touch occurs and
+ /// then when the last finger is lifted.
+ /// An interrupted event will also be emitted (if it occurs).
+ /// </summary>
+ public event EventHandler<TouchEventArgs> Touch
+ {
+ add
+ {
+ if (_stageTouchHandler == null)
+ {
+ _stageTouchCallbackDelegate = OnStageTouch;
+ TouchSignal().Connect(_stageTouchCallbackDelegate);
+ }
+ _stageTouchHandler += value;
+ }
+ remove
+ {
+ _stageTouchHandler -= value;
+ if (_stageTouchHandler == null && _stageTouchCallbackDelegate != null)
+ {
+ TouchSignal().Disconnect(_stageTouchCallbackDelegate);
+ }
+ }
+ }
- ~Stage() {
- DisposeQueue.Instance.Add(this);
- }
+ private void OnStageTouch(IntPtr data)
+ {
+ TouchEventArgs e = new TouchEventArgs();
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ if (data != null)
+ {
+ e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(data);
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Stage(swigCPtr);
+ if (_stageTouchHandler != null)
+ {
+ _stageTouchHandler(this, e);
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// Wheel event arguments.
+ /// </summary>
+ public class WheelEventArgs : EventArgs
+ {
+ private Wheel _wheel;
+
+ /// <summary>
+ /// Wheel.
+ /// </summary>
+ public Wheel Wheel
+ {
+ get
+ {
+ return _wheel;
+ }
+ set
+ {
+ _wheel = value;
+ }
+ }
+ }
+ private event EventHandler<WheelEventArgs> _stageWheelHandler;
+ private EventCallbackDelegateType1 _stageWheelCallbackDelegate;
+ /// <summary>
+ /// Event emitted when wheel event is received.
+ /// </summary>
+ public event EventHandler<WheelEventArgs> Wheel
+ {
+ add
+ {
+ if (_stageWheelHandler == null)
+ {
+ _stageWheelCallbackDelegate = OnStageWheel;
+ WheelEventSignal().Connect(_stageWheelCallbackDelegate);
+ }
+ _stageWheelHandler += value;
+ }
+ remove
+ {
+ _stageWheelHandler -= value;
+ if (_stageWheelHandler == null && _stageWheelCallbackDelegate != null)
+ {
+ WheelEventSignal().Disconnect(_stageWheelCallbackDelegate);
+ }
+ }
+ }
- /**
- * @brief Event arguments that passed via Touch signal
- *
- */
- public class TouchEventArgs : EventArgs
- {
- private Touch _touch;
+ private void OnStageWheel(IntPtr data)
+ {
+ WheelEventArgs e = new WheelEventArgs();
+
+ if (data != null)
+ {
+ e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(data);
+ }
+
+ if (_stageWheelHandler != null)
+ {
+ _stageWheelHandler(this, e);
+ }
+ }
- /**
- * @brief Touch - contains the information of touch points
- *
- */
- public Touch Touch
- {
- get
+ /// <summary>
+ /// Key event arguments.
+ /// </summary>
+ public class KeyEventArgs : EventArgs
{
- return _touch;
+ private Key _key;
+
+ /// <summary>
+ /// Key
+ /// </summary>
+ public Key Key
+ {
+ get
+ {
+ return _key;
+ }
+ set
+ {
+ _key = value;
+ }
+ }
}
- set
+
+ private event EventHandler<KeyEventArgs> _stageKeyHandler;
+ private EventCallbackDelegateType1 _stageKeyCallbackDelegate;
+
+ /// <summary>
+ /// Event emitted when key event is received.
+ /// </summary>
+ public event EventHandler<KeyEventArgs> Key
{
- _touch = value;
+ add
+ {
+ if (_stageKeyHandler == null)
+ {
+ _stageKeyCallbackDelegate = OnStageKey;
+ KeyEventSignal().Connect(_stageKeyCallbackDelegate);
+ }
+ _stageKeyHandler += value;
+ }
+ remove
+ {
+ _stageKeyHandler -= value;
+ if (_stageKeyHandler == null && _stageKeyCallbackDelegate != null)
+ {
+ KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for Stage KeyEventsignal
+ private void OnStageKey(IntPtr data)
+ {
+ KeyEventArgs e = new KeyEventArgs();
+
+ if (data != null)
+ {
+ e.Key = Tizen.NUI.Key.GetKeyFromPtr(data);
+ }
+
+ if (_stageKeyHandler != null)
+ {
+ //here we send all data to user event handlers
+ _stageKeyHandler(this, e);
+ }
}
- }
- }
- private event EventHandler<TouchEventArgs> _stageTouchHandler;
- private EventCallbackDelegateType1 _stageTouchCallbackDelegate;
- /**
- * @brief Event for TouchEvent signal which can be used to subscribe/unsubscribe the event handler
- * TouchEvent signal is emitted when the screen is touched and when the touch ends
- * (i.e. the down & up touch events only).
- *
- */
- public event EventHandler<TouchEventArgs> Touch
- {
- add
- {
- lock(this)
+ private event EventHandler _stageEventProcessingFinishedEventHandler;
+ private EventCallbackDelegateType0 _stageEventProcessingFinishedEventCallbackDelegate;
+
+ internal event EventHandler EventProcessingFinished
{
- _stageTouchHandler += value;
- _stageTouchCallbackDelegate = OnStageTouch;
- this.TouchSignal().Connect(_stageTouchCallbackDelegate);
+ add
+ {
+ if (_stageEventProcessingFinishedEventHandler == null)
+ {
+ _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
+ EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
+ }
+ _stageEventProcessingFinishedEventHandler += value;
+
+ }
+ remove
+ {
+ _stageEventProcessingFinishedEventHandler -= value;
+ if (_stageEventProcessingFinishedEventHandler == null && _stageEventProcessingFinishedEventCallbackDelegate != null)
+ {
+ EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
+ }
+ }
}
- }
- remove
- {
- lock(this)
+
+ // Callback for Stage EventProcessingFinishedSignal
+ private void OnEventProcessingFinished()
{
- if (_stageTouchHandler != null)
- {
- this.TouchSignal().Disconnect(_stageTouchCallbackDelegate);
- }
- _stageTouchHandler -= value;
+ if (_stageEventProcessingFinishedEventHandler != null)
+ {
+ _stageEventProcessingFinishedEventHandler(this, null);
+ }
}
- }
- }
- private void OnStageTouch(IntPtr data)
- {
- TouchEventArgs e = new TouchEventArgs();
- if( data != null )
- {
- e.Touch = Tizen.NUI.Touch.GetTouchFromPtr( data );
- }
+ private EventHandler _stageContextLostEventHandler;
+ private EventCallbackDelegateType0 _stageContextLostEventCallbackDelegate;
- if (_stageTouchHandler != null)
- {
- _stageTouchHandler(this, e);
- }
- }
-
- /**
- * @brief Wheel arguments that passed via Wheel signal
- *
- */
- public class WheelEventArgs : EventArgs
- {
- private Wheel _wheel;
-
- /**
- * @brief Wheel - store a wheel rolling type MOUSE_WHEEL or CUSTOM_WHEEL
- *
- */
- public Wheel Wheel
- {
- get
- {
- return _wheel;
- }
- set
- {
- _wheel = value;
- }
- }
- }
-
- private event EventHandler<WheelEventArgs> _stageWheelHandler;
- private EventCallbackDelegateType1 _stageWheelCallbackDelegate;
-
- /**
- * @brief Event for Wheel signal which can be used to subscribe/unsubscribe the event handler
- * Wheel signal is emitted is emitted when wheel event is received.
- *
- */
- public event EventHandler<WheelEventArgs> Wheel
- {
- add
- {
- lock(this)
- {
- _stageWheelHandler += value;
- _stageWheelCallbackDelegate = OnStageWheel;
- this.WheelEventSignal().Connect(_stageWheelCallbackDelegate);
- }
- }
- remove
- {
- lock(this)
- {
- if (_stageWheelHandler != null)
- {
- this.WheelEventSignal().Disconnect(_stageWheelCallbackDelegate);
- }
- _stageWheelHandler -= value;
- }
- }
- }
-
- private void OnStageWheel(IntPtr data)
- {
- WheelEventArgs e = new WheelEventArgs();
-
- if( data != null )
- {
- e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr( data );
- }
+ internal event EventHandler ContextLost
+ {
+ add
+ {
+ if (_stageContextLostEventHandler == null)
+ {
+ _stageContextLostEventCallbackDelegate = OnContextLost;
+ ContextLostSignal().Connect(_stageContextLostEventCallbackDelegate);
+ }
+ _stageContextLostEventHandler += value;
+ }
+ remove
+ {
+ _stageContextLostEventHandler -= value;
+ if (_stageContextLostEventHandler == null && _stageContextLostEventCallbackDelegate != null)
+ {
+ ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
+ }
+ }
+ }
- if (_stageWheelHandler != null)
- {
- _stageWheelHandler(this, e);
- }
- }
-
- /**
- * @brief Event arguments that passed via Key signal
- *
- */
- public class KeyEventArgs : EventArgs
- {
- private Key _key;
-
- /**
- * @brief Key - is the keyevent sent to Stage.
- *
- */
- public Key Key
- {
- get
- {
- return _key;
- }
- set
- {
- _key = value;
- }
- }
- }
-
- private event EventHandler<KeyEventArgs> _stageKeyHandler;
- private EventCallbackDelegateType1 _stageKeyCallbackDelegate;
-
- /**
- * @brief Event for Key signal which can be used to subscribe/unsubscribe the event handler
- * Key signal is emitted is emitted when key event is received.
- *
- */
- public event EventHandler<KeyEventArgs> Key
- {
- add
- {
- lock(this)
- {
- _stageKeyHandler += value;
- _stageKeyCallbackDelegate = OnStageKey;
- this.KeyEventSignal().Connect(_stageKeyCallbackDelegate);
- }
- }
- remove
- {
- lock(this)
- {
- if (_stageKeyHandler != null)
- {
- this.KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
- }
- _stageKeyHandler -= value;
- }
- }
- }
-
- // Callback for Stage KeyEventsignal
- private void OnStageKey(IntPtr data)
- {
- KeyEventArgs e = new KeyEventArgs();
-
- if( data != null )
- {
- e.Key = Tizen.NUI.Key.GetKeyFromPtr( data );
- }
+ // Callback for Stage ContextLostSignal
+ private void OnContextLost()
+ {
+ if (_stageContextLostEventHandler != null)
+ {
+ _stageContextLostEventHandler(this, null);
+ }
+ }
- if (_stageKeyHandler != null)
- {
- //here we send all data to user event handlers
- _stageKeyHandler(this, e);
- }
- }
-
-
- private event EventHandler _stageEventProcessingFinishedEventHandler;
- private EventCallbackDelegateType0 _stageEventProcessingFinishedEventCallbackDelegate;
-
- /**
- * @brief Event for EventProcessingFinished signal which can be used to subscribe/unsubscribe the event handler
- * provided by the user. EventProcessingFinished signal is emitted just after the event processing is finished.
- *
- */
- public event EventHandler EventProcessingFinished
- {
- add
- {
- lock(this)
- {
- _stageEventProcessingFinishedEventHandler += value;
- _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
- this.EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
- }
- }
- remove
- {
- lock(this)
- {
- if (_stageEventProcessingFinishedEventHandler != null)
- {
- this.EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
- }
- _stageEventProcessingFinishedEventHandler -= value;
- }
- }
- }
-
- // Callback for Stage EventProcessingFinishedSignal
- private void OnEventProcessingFinished()
- {
- if (_stageEventProcessingFinishedEventHandler != null)
- {
- _stageEventProcessingFinishedEventHandler(this, null);
- }
- }
-
-
- private EventHandler _stageContextLostEventHandler;
- private EventCallbackDelegateType0 _stageContextLostEventCallbackDelegate;
-
- /**
- * @brief Event for ContextLost signal which can be used to subscribe/unsubscribe the event handler
- * ContextLost signal is emitted when the GL context is lost (Platform specific behaviour).
- *
- */
- public event EventHandler ContextLost
- {
- add
- {
- lock(this)
- {
- _stageContextLostEventHandler += value;
- _stageContextLostEventCallbackDelegate = OnContextLost;
- this.ContextLostSignal().Connect(_stageContextLostEventCallbackDelegate);
- }
- }
- remove
- {
- lock(this)
- {
- if (_stageContextLostEventHandler != null)
- {
- this.ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
- }
-
- _stageContextLostEventHandler -= value;
- }
- }
- }
-
- // Callback for Stage ContextLostSignal
- private void OnContextLost()
- {
- if (_stageContextLostEventHandler != null)
- {
- _stageContextLostEventHandler(this, null);
- }
- }
-
-
- private EventHandler _stageContextRegainedEventHandler;
- private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
-
- /**
- * @brief Event for ContextRegained signal which can be used to subscribe/unsubscribe the event handler
- * provided by the user. ContextRegained signal is emitted when the GL context is regained (Platform specific
- * behaviour).
- *
- */
- public event EventHandler ContextRegained
- {
- add
- {
- lock(this)
- {
- _stageContextRegainedEventHandler += value;
- _stageContextRegainedEventCallbackDelegate = OnContextRegained;
- this.ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
- }
- }
- remove
- {
- lock(this)
- {
- if (_stageContextRegainedEventHandler != null)
- {
- this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
- }
-
- _stageContextRegainedEventHandler -= value;
- }
- }
- }
-
- // Callback for Stage ContextRegainedSignal
- private void OnContextRegained()
- {
- if (_stageContextRegainedEventHandler != null)
- {
- _stageContextRegainedEventHandler(this, null);
- }
- }
-
-
- private EventHandler _stageSceneCreatedEventHandler;
- private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
-
- /**
- * @brief Event for SceneCreated signal which can be used to subscribe/unsubscribe the event handler
- * SceneCreated signal is emitted after the initial scene is created.
- *
- */
- public event EventHandler SceneCreated
- {
- add
- {
- lock(this)
- {
- _stageSceneCreatedEventHandler += value;
- _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
- this.SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
- }
- }
- remove
- {
- lock(this)
- {
- if (_stageSceneCreatedEventHandler != null)
- {
- this.SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
- }
-
- _stageSceneCreatedEventHandler -= value;
- }
- }
- }
-
- // Callback for Stage SceneCreatedSignal
- private void OnSceneCreated()
- {
- if (_stageSceneCreatedEventHandler != null)
- {
- _stageSceneCreatedEventHandler(this, null);
- }
- }
-
-
- public Vector2 Size
- {
- get
- {
- Vector2 ret = GetSize();
- return ret;
- }
- }
-
- public Vector4 BackgroundColor
- {
- set
- {
- SetBackgroundColor(value);
- }
- get
- {
- Vector4 ret = GetBackgroundColor();
- return ret;
- }
- }
-
- private static readonly Stage instance = Stage.GetCurrent();
-
- public static Stage Instance
- {
- get
- {
- return instance;
- }
- }
-
- public Layer GetDefaultLayer()
- {
- return this.GetRootLayer();
- }
-
- public void AddLayer(Layer layer)
- {
- this.Add( (Actor)layer );
- }
-
- public void RemoveLayer(Layer layer)
- {
- this.Remove( (Actor)layer );
- }
-
-
-
- public static Vector4 DEFAULT_BACKGROUND_COLOR {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEFAULT_BACKGROUND_COLOR_get();
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector4 DEBUG_BACKGROUND_COLOR {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEBUG_BACKGROUND_COLOR_get();
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public Stage() : this(NDalicPINVOKE.new_Stage__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static Stage GetCurrent() {
- Stage ret = new Stage(NDalicPINVOKE.Stage_GetCurrent(), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static bool IsInstalled() {
- bool ret = NDalicPINVOKE.Stage_IsInstalled();
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Stage(Stage handle) : this(NDalicPINVOKE.new_Stage__SWIG_1(Stage.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Stage Assign(Stage rhs) {
- Stage ret = new Stage(NDalicPINVOKE.Stage_Assign(swigCPtr, Stage.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Add(Actor actor) {
- NDalicPINVOKE.Stage_Add(swigCPtr, Actor.getCPtr(actor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Remove(Actor actor) {
- NDalicPINVOKE.Stage_Remove(swigCPtr, Actor.getCPtr(actor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2 GetSize() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public RenderTaskList GetRenderTaskList() {
- RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetLayerCount() {
- uint ret = NDalicPINVOKE.Stage_GetLayerCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Layer GetLayer(uint depth) {
- Layer ret = new Layer(NDalicPINVOKE.Stage_GetLayer(swigCPtr, depth), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Layer GetRootLayer() {
- Layer ret = new Layer(NDalicPINVOKE.Stage_GetRootLayer(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetBackgroundColor(Vector4 color) {
- NDalicPINVOKE.Stage_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4 GetBackgroundColor() {
- Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 GetDpi() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public ObjectRegistry GetObjectRegistry() {
- ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void KeepRendering(float durationSeconds) {
- NDalicPINVOKE.Stage_KeepRendering(swigCPtr, durationSeconds);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public KeyEventSignal KeyEventSignal() {
- KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal EventProcessingFinishedSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public TouchSignal TouchSignal() {
- TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public StageWheelSignal WheelEventSignal() {
- StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal ContextLostSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal ContextRegainedSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VoidSignal SceneCreatedSignal() {
- VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-}
+ private EventHandler _stageContextRegainedEventHandler;
+ private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
+
+ internal event EventHandler ContextRegained
+ {
+ add
+ {
+ if (_stageContextRegainedEventHandler == null)
+ {
+ _stageContextRegainedEventCallbackDelegate = OnContextRegained;
+ ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
+ }
+ _stageContextRegainedEventHandler += value;
+ }
+ remove
+ {
+ _stageContextRegainedEventHandler -= value;
+ if (_stageContextRegainedEventHandler == null && _stageContextRegainedEventCallbackDelegate != null)
+ {
+ this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for Stage ContextRegainedSignal
+ private void OnContextRegained()
+ {
+ if (_stageContextRegainedEventHandler != null)
+ {
+ _stageContextRegainedEventHandler(this, null);
+ }
+ }
+
+
+ private EventHandler _stageSceneCreatedEventHandler;
+ private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
+
+ internal event EventHandler SceneCreated
+ {
+ add
+ {
+ if (_stageSceneCreatedEventHandler == null)
+ {
+ _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
+ SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
+ }
+ _stageSceneCreatedEventHandler += value;
+ }
+ remove
+ {
+ _stageSceneCreatedEventHandler -= value;
+ if (_stageSceneCreatedEventHandler == null && _stageSceneCreatedEventCallbackDelegate != null)
+ {
+ SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
+ }
+ }
+ }
+
+ // Callback for Stage SceneCreatedSignal
+ private void OnSceneCreated()
+ {
+ if (_stageSceneCreatedEventHandler != null)
+ {
+ _stageSceneCreatedEventHandler(this, null);
+ }
+ }
+
+ /// <summary>
+ /// Stage size property (read-only).
+ /// </summary>
+ public Size2D Size
+ {
+ get
+ {
+ Size2D ret = GetSize();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Background color property.
+ /// </summary>
+ public Color BackgroundColor
+ {
+ set
+ {
+ SetBackgroundColor(value);
+ }
+ get
+ {
+ Color ret = GetBackgroundColor();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Dpi property (read-only).
+ /// Retrieves the DPI of the display device to which the stage is connected.
+ /// </summary>
+ public Vector2 Dpi
+ {
+ get
+ {
+ return GetDpi();
+ }
+ }
+
+ /// <summary>
+ /// Layer count property (read-only).
+ /// Queries the number of on-stage layers.
+ /// </summary>
+ public uint LayerCount
+ {
+ get
+ {
+ return GetLayerCount();
+ }
+ }
+
+ private static readonly Stage instance = Stage.GetCurrent();
+
+ /// <summary>
+ /// Stage instance property (read-only).
+ /// Gets the current Stage.
+ /// </summary>
+ public static Stage Instance
+ {
+ get
+ {
+ return instance;
+ }
+ }
+
+ /// <summary>
+ /// Get default ( root ) layer.
+ /// </summary>
+ /// <returns>The root layer</returns>
+ public Layer GetDefaultLayer()
+ {
+ return this.GetRootLayer();
+ }
+
+ /// <summary>
+ /// Add layer to the Stage.
+ /// </summary>
+ /// <param name="layer">Layer to add</param>
+ public void AddLayer(Layer layer)
+ {
+ this.Add((Actor)layer);
+ }
+
+ /// <summary>
+ /// Remove layer from the Stage.
+ /// </summary>
+ /// <param name="layer">Layer to remove</param>
+ public void RemoveLayer(Layer layer)
+ {
+ this.Remove((Actor)layer);
+ }
+
+ internal static Vector4 DEFAULT_BACKGROUND_COLOR
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEFAULT_BACKGROUND_COLOR_get();
+ Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal static Vector4 DEBUG_BACKGROUND_COLOR
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEBUG_BACKGROUND_COLOR_get();
+ Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal Stage() : this(NDalicPINVOKE.new_Stage__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static Stage GetCurrent()
+ {
+ Stage ret = new Stage(NDalicPINVOKE.Stage_GetCurrent(), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal static bool IsInstalled()
+ {
+ bool ret = NDalicPINVOKE.Stage_IsInstalled();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Stage(Stage handle) : this(NDalicPINVOKE.new_Stage__SWIG_1(Stage.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Stage Assign(Stage rhs)
+ {
+ Stage ret = new Stage(NDalicPINVOKE.Stage_Assign(swigCPtr, Stage.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void Add(Actor actor)
+ {
+ NDalicPINVOKE.Stage_Add(swigCPtr, Actor.getCPtr(actor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Remove(Actor actor)
+ {
+ NDalicPINVOKE.Stage_Remove(swigCPtr, Actor.getCPtr(actor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Size2D GetSize()
+ {
+ Size2D ret = new Size2D(NDalicPINVOKE.Stage_GetSize(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal RenderTaskList GetRenderTaskList()
+ {
+ RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal uint GetLayerCount()
+ {
+ uint ret = NDalicPINVOKE.Stage_GetLayerCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the layer at a specified depth.
+ /// </summary>
+ /// <param name="depth">The depth</param>
+ /// <returns>The layer found at the given depth</returns>
+ public Layer GetLayer(uint depth)
+ {
+ Layer ret = new Layer(NDalicPINVOKE.Stage_GetLayer(swigCPtr, depth), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Layer GetRootLayer()
+ {
+ Layer ret = new Layer(NDalicPINVOKE.Stage_GetRootLayer(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetBackgroundColor(Color color)
+ {
+ NDalicPINVOKE.Stage_SetBackgroundColor(swigCPtr, Color.getCPtr(color));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Color GetBackgroundColor()
+ {
+ Color ret = new Color(NDalicPINVOKE.Stage_GetBackgroundColor(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 GetDpi()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal ObjectRegistry GetObjectRegistry()
+ {
+ ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Keep rendering for at least the given amount of time.
+ /// </summary>
+ /// <param name="durationSeconds">Time to keep rendering, 0 means render at least one more frame</param>
+ public void KeepRendering(float durationSeconds)
+ {
+ NDalicPINVOKE.Stage_KeepRendering(swigCPtr, durationSeconds);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal KeyEventSignal KeyEventSignal()
+ {
+ KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal EventProcessingFinishedSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal TouchSignal TouchSignal()
+ {
+ TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal StageWheelSignal WheelEventSignal()
+ {
+ StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal ContextLostSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal ContextRegainedSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VoidSignal SceneCreatedSignal()
+ {
+ VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ }
}
namespace Tizen.NUI {
-public class StageWheelSignal : global::System.IDisposable {
+ internal class StageWheelSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public enum StencilFunctionType {
+ internal enum StencilFunctionType {
NEVER,
LESS,
EQUAL,
namespace Tizen.NUI {
-public enum StencilOperationType {
+ internal enum StencilOperationType {
ZERO,
KEEP,
REPLACE,
namespace Tizen.NUI {
-public class StringValuePair : global::System.IDisposable {
+ internal class StringValuePair : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public StringValuePair(string t, Property.Value u) : this(NDalicPINVOKE.new_StringValuePair__SWIG_1(t, Property.Value.getCPtr(u)), true) {
+ public StringValuePair(string t, PropertyValue u) : this(NDalicPINVOKE.new_StringValuePair__SWIG_1(t, PropertyValue.getCPtr(u)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
}
}
- public Property.Value second {
+ public PropertyValue second {
set {
- NDalicPINVOKE.StringValuePair_second_set(swigCPtr, Property.Value.getCPtr(value));
+ NDalicPINVOKE.StringValuePair_second_set(swigCPtr, PropertyValue.getCPtr(value));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
get {
global::System.IntPtr cPtr = NDalicPINVOKE.StringValuePair_second_get(swigCPtr);
- Property.Value ret = (cPtr == global::System.IntPtr.Zero) ? null : new Property.Value(cPtr, false);
+ PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum StyleChangeType {
- DEFAULT_FONT_CHANGE,
- DEFAULT_FONT_SIZE_CHANGE,
- THEME_CHANGE
-}
-
-}
namespace Tizen.NUI {
-public class StyleChangedSignal : global::System.IDisposable {
+ internal class StyleChangedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-using System;
-using System.Runtime.InteropServices;
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// StyleManager informs applications of system theme change,
+ /// and supports application theme change at runtime.
+ /// Applies various styles to Controls using the properties system.
+ /// On theme change, it automatically updates all controls, then raises
+ /// a event to inform the application.
+ ///
+ /// If the application wants to customize the theme, RequestThemeChange
+ /// needs to be called.
+ /// It provides the path to the application resource root folder,
+ /// from there the filename can an be specified along with
+ /// any sub folders, e.g Images, Models etc.
+ /// </summary>
+ public class StyleManager : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class StyleManager : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~StyleManager()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// Dispose
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_StyleManager(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~StyleManager() {
- DisposeQueue.Instance.Add(this);
- }
+ /// <summary>
+ /// Style changed event arguments
+ /// </summary>
+ public class StyleChangedEventArgs : EventArgs
+ {
+ private StyleManager _styleManager;
+ private StyleChangeType _styleChange;
+
+ /// <summary>
+ /// StyleManager.
+ /// </summary>
+ public StyleManager StyleManager
+ {
+ get
+ {
+ return _styleManager;
+ }
+ set
+ {
+ _styleManager = value;
+ }
+ }
+
+ /// <summary>
+ /// StyleChange - contains Style change information (default font changed or
+ /// default font size changed or theme has changed)
+ /// </summary>
+ public StyleChangeType StyleChange
+ {
+ get
+ {
+ return _styleChange;
+ }
+ set
+ {
+ _styleChange = value;
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_StyleManager(swigCPtr);
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void StyleChangedCallbackDelegate(IntPtr styleManager, Tizen.NUI.StyleChangeType styleChange);
+ private EventHandler<StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
+ private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
+
+ /// <summary>
+ /// Event for StyleChanged signal which can be used to subscribe/unsubscribe the
+ /// event handler provided by the user.
+ /// StyleChanged signal is is emitted after the style (e.g. theme/font change) has changed
+ /// and the controls have been informed.
+ /// </summary>
+ public event EventHandler<StyleChangedEventArgs> StyleChanged
+ {
+ add
+ {
+ if (_styleManagerStyleChangedEventHandler == null)
+ {
+ _styleManagerStyleChangedCallbackDelegate = (OnStyleChanged);
+ StyleChangedSignal().Connect(_styleManagerStyleChangedCallbackDelegate);
+ }
+ _styleManagerStyleChangedEventHandler += value;
+ }
+ remove
+ {
+ _styleManagerStyleChangedEventHandler -= value;
+ if (_styleManagerStyleChangedEventHandler == null && _styleManagerStyleChangedCallbackDelegate != null)
+ {
+ StyleChangedSignal().Disconnect(_styleManagerStyleChangedCallbackDelegate);
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ // Callback for StyleManager StyleChangedsignal
+ private void OnStyleChanged(IntPtr styleManager, StyleChangeType styleChange)
+ {
+ StyleChangedEventArgs e = new StyleChangedEventArgs();
+ // Populate all members of "e" (StyleChangedEventArgs) with real data
+ e.StyleManager = StyleManager.GetStyleManagerFromPtr(styleManager);
+ e.StyleChange = styleChange;
+ if (_styleManagerStyleChangedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _styleManagerStyleChangedEventHandler(this, e);
+ }
+ }
-/**
- * @brief Event arguments that passed via StyleChanged signal
- *
- */
-public class StyleChangedEventArgs : EventArgs
-{
- private StyleManager _styleManager;
- private Tizen.NUI.StyleChangeType _styleChange;
-
- /**
- * @brief StyleManager - is the StyleManager that informs applications of system theme change,
- * and supports application theme change at runtime.
- *
- */
- public StyleManager StyleManager
- {
- get
- {
- return _styleManager;
- }
- set
- {
- _styleManager = value;
- }
- }
-
- /**
- * @brief StyleChange - contains Style change information (default font changed or
- * default font size changed or theme has changed)
- *
- */
- public Tizen.NUI.StyleChangeType StyleChange
- {
- get
- {
- return _styleChange;
- }
- set
- {
- _styleChange = value;
- }
- }
+ internal static StyleManager GetStyleManagerFromPtr(global::System.IntPtr cPtr)
+ {
+ StyleManager ret = new StyleManager(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ /// <summary>
+ /// Creates a StyleManager handle.
+ /// this can be initialized with StyleManager::Get().
+ /// </summary>
+ public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Gets the singleton of StyleManager object.
+ /// </summary>
+ /// <returns>A handle to the StyleManager control</returns>
+ public static StyleManager Get()
+ {
+ StyleManager ret = new StyleManager(NDalicPINVOKE.StyleManager_Get(), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void StyleChangedCallbackDelegate(IntPtr styleManager, Tizen.NUI.StyleChangeType styleChange);
- private DaliEventHandler<object,StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
- private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
-
- /**
- * @brief Event for StyleChanged signal which can be used to subscribe/unsubscribe the
- * event handler (in the type of StyleChangedEventHandler-DaliEventHandler<object,StyleChangedEventArgs>)
- * provided by the user. StyleChanged signal is is emitted after the style (e.g. theme/font change) has changed
- * and the controls have been informed.
- */
- public event DaliEventHandler<object,StyleChangedEventArgs> StyleChanged
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_styleManagerStyleChangedEventHandler == null)
- {
- _styleManagerStyleChangedEventHandler += value;
-
- _styleManagerStyleChangedCallbackDelegate = new StyleChangedCallbackDelegate(OnStyleChanged);
- this.StyleChangedSignal().Connect(_styleManagerStyleChangedCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_styleManagerStyleChangedEventHandler != null)
- {
- this.StyleChangedSignal().Disconnect(_styleManagerStyleChangedCallbackDelegate);
- }
-
- _styleManagerStyleChangedEventHandler -= value;
- }
- }
- }
-
- // Callback for StyleManager StyleChangedsignal
- private void OnStyleChanged(IntPtr styleManager, Tizen.NUI.StyleChangeType styleChange)
- {
- StyleChangedEventArgs e = new StyleChangedEventArgs();
-
- // Populate all members of "e" (StyleChangedEventArgs) with real data
- e.StyleManager = StyleManager.GetStyleManagerFromPtr( styleManager );
- e.StyleChange = styleChange;
-
- if (_styleManagerStyleChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- _styleManagerStyleChangedEventHandler(this, e);
- }
- }
-
- public static StyleManager GetStyleManagerFromPtr(global::System.IntPtr cPtr) {
- StyleManager ret = new StyleManager(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
-
- public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static StyleManager Get() {
- StyleManager ret = new StyleManager(NDalicPINVOKE.StyleManager_Get(), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ApplyTheme(string themeFile) {
- NDalicPINVOKE.StyleManager_ApplyTheme(swigCPtr, themeFile);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void ApplyDefaultTheme() {
- NDalicPINVOKE.StyleManager_ApplyDefaultTheme(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetStyleConstant(string key, Property.Value value) {
- NDalicPINVOKE.StyleManager_SetStyleConstant(swigCPtr, key, Property.Value.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool GetStyleConstant(string key, Property.Value valueOut) {
- bool ret = NDalicPINVOKE.StyleManager_GetStyleConstant(swigCPtr, key, Property.Value.getCPtr(valueOut));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ApplyStyle(View control, string jsonFileName, string styleName) {
- NDalicPINVOKE.StyleManager_ApplyStyle(swigCPtr, View.getCPtr(control), jsonFileName, styleName);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public StyleChangedSignal StyleChangedSignal() {
- StyleChangedSignal ret = new StyleChangedSignal(NDalicPINVOKE.StyleManager_StyleChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Applies a new theme to the application.
+ /// This will be merged on top of the default Toolkit theme.
+ /// If the application theme file doesn't style all controls that the
+ /// application uses, then the default Toolkit theme will be used
+ /// instead for those controls.
+ /// </summary>
+ /// <param name="themeFile">A relative path is specified for style theme</param>
+ public void ApplyTheme(string themeFile)
+ {
+ NDalicPINVOKE.StyleManager_ApplyTheme(swigCPtr, themeFile);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// Applies the default Toolkit theme.
+ /// </summary>
+ public void ApplyDefaultTheme()
+ {
+ NDalicPINVOKE.StyleManager_ApplyDefaultTheme(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Sets a constant for use when building styles.
+ /// </summary>
+ /// <param name="key">The key of the constant</param>
+ /// <param name="value">The value of the constant</param>
+ public void SetStyleConstant(string key, PropertyValue value)
+ {
+ NDalicPINVOKE.StyleManager_SetStyleConstant(swigCPtr, key, PropertyValue.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Returns the style constant set for a specific key.
+ /// </summary>
+ /// <param name="key">The key of the constant</param>
+ /// <param name="valueOut">The value of the constant if it exists</param>
+ /// <returns></returns>
+ public bool GetStyleConstant(string key, PropertyValue valueOut)
+ {
+ bool ret = NDalicPINVOKE.StyleManager_GetStyleConstant(swigCPtr, key, PropertyValue.getCPtr(valueOut));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Applies the specified style to the control.
+ /// </summary>
+ /// <param name="control">The control to which to apply the style</param>
+ /// <param name="jsonFileName">The name of the JSON style file to apply</param>
+ /// <param name="styleName">The name of the style within the JSON file to apply</param>
+ public void ApplyStyle(View control, string jsonFileName, string styleName)
+ {
+ NDalicPINVOKE.StyleManager_ApplyStyle(swigCPtr, View.getCPtr(control), jsonFileName, styleName);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal StyleChangedSignal StyleChangedSignal()
+ {
+ StyleChangedSignal ret = new StyleChangedSignal(NDalicPINVOKE.StyleManager_StyleChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ }
+
+ /// <summary>
+ /// Types of style change.
+ /// </summary>
+ public enum StyleChangeType
+ {
+ DefaultFontChange,
+ DefaultFontSizeChange,
+ ThemeChange
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// TableView is a layout container for aligning child actors in a grid like layout.
+ /// TableView constrains the x and y position and width and height of the child actors.
+ /// z position and depth are left intact so that 3D model actors can also be laid out
+ /// in a grid without loosing their depth scaling.
+ /// </summary>
+ public class TableView : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class TableView : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TableView_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal TableView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TableView_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TableView obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TableView obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~TableView()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~TableView() {
- DisposeQueue.Instance.Add(this);
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TableView(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TableView(swigCPtr);
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TableView_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ public Property() : this(NDalicPINVOKE.new_TableView_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int ROWS = NDalicPINVOKE.TableView_Property_ROWS_get();
+ internal static readonly int COLUMNS = NDalicPINVOKE.TableView_Property_COLUMNS_get();
+ internal static readonly int CELL_PADDING = NDalicPINVOKE.TableView_Property_CELL_PADDING_get();
+ internal static readonly int LAYOUT_ROWS = NDalicPINVOKE.TableView_Property_LAYOUT_ROWS_get();
+ internal static readonly int LAYOUT_COLUMNS = NDalicPINVOKE.TableView_Property_LAYOUT_COLUMNS_get();
+
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ internal class ChildProperty : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal ChildProperty(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ChildProperty obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~ChildProperty()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TableView_ChildProperty(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ public ChildProperty() : this(NDalicPINVOKE.new_TableView_ChildProperty(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int CELL_INDEX = NDalicPINVOKE.TableView_ChildProperty_CELL_INDEX_get();
+ internal static readonly int ROW_SPAN = NDalicPINVOKE.TableView_ChildProperty_ROW_SPAN_get();
+ internal static readonly int COLUMN_SPAN = NDalicPINVOKE.TableView_ChildProperty_COLUMN_SPAN_get();
+ internal static readonly int CELL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
+ internal static readonly int CELL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
+
+ }
+
+ /// <summary>
+ /// Class to specify layout position for child view.
+ /// </summary>
+ public class CellPosition : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal CellPosition(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CellPosition obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~CellPosition()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TableView_CellPosition(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="rowIndex">The row index initialized</param>
+ /// <param name="columnIndex">The column index initialized</param>
+ /// <param name="rowSpan">The row span initialized</param>
+ /// <param name="columnSpan">The column span initialized</param>
+ public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_0(rowIndex, columnIndex, rowSpan, columnSpan), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor to initialise values to defaults for convenience.
+ /// </summary>
+ /// <param name="rowIndex">The row index initialized</param>
+ /// <param name="columnIndex">The column index initialized</param>
+ /// <param name="rowSpan">The row span initialized</param>
+ public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_1(rowIndex, columnIndex, rowSpan), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor to initialise values to defaults for convenience.
+ /// </summary>
+ /// <param name="rowIndex">The row index initialized</param>
+ /// <param name="columnIndex">The column index initialized</param>
+ public CellPosition(uint rowIndex, uint columnIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_2(rowIndex, columnIndex), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor to initialise values to defaults for convenience.
+ /// </summary>
+ /// <param name="rowIndex">The row index initialized</param>
+ public CellPosition(uint rowIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_3(rowIndex), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Default constructor
+ /// </summary>
+ public CellPosition() : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_4(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Index of row
+ /// </summary>
+ public uint rowIndex
+ {
+ set
+ {
+ NDalicPINVOKE.TableView_CellPosition_rowIndex_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Index of column
+ /// </summary>
+ public uint columnIndex
+ {
+ set
+ {
+ NDalicPINVOKE.TableView_CellPosition_columnIndex_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Span of row
+ /// </summary>
+ public uint rowSpan
+ {
+ set
+ {
+ NDalicPINVOKE.TableView_CellPosition_rowSpan_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Span of column
+ /// </summary>
+ public uint columnSpan
+ {
+ set
+ {
+ NDalicPINVOKE.TableView_CellPosition_columnSpan_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
+
+ /// <summary>
+ /// Creates the TableView view.
+ /// </summary>
+ /// <param name="initialRows">initialRows for the table</param>
+ /// <param name="initialColumns">initialColumns for the table</param>
+ public TableView(uint initialRows, uint initialColumns) : this(NDalicPINVOKE.TableView_New(initialRows, initialColumns), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Copy constructor. Creates another handle that points to the same real object.
+ /// </summary>
+ /// <param name="handle">Handle to copy from</param>
+ public TableView(TableView handle) : this(NDalicPINVOKE.new_TableView__SWIG_1(TableView.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Changes this handle to point to another real object.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>A reference to this</returns>
+ public TableView Assign(TableView handle)
+ {
+ TableView ret = new TableView(NDalicPINVOKE.TableView_Assign(swigCPtr, TableView.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to TableView handle.
+ /// If handle points to a TableView, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a TableView or an uninitialized handle</returns>
+ public new static TableView DownCast(BaseHandle handle)
+ {
+ TableView ret = new TableView(NDalicPINVOKE.TableView_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Adds a child to the table.
+ /// If the row or column index is outside the table, the table gets resized bigger.
+ /// </summary>
+ /// <param name="child">The child to add</param>
+ /// <param name="position">The position for the child</param>
+ /// <returns>Tue if the addition succeeded and false if the cell is already occupied</returns>
+ public bool AddChild(Actor child, TableView.CellPosition position)
+ {
+ bool ret = NDalicPINVOKE.TableView_AddChild(swigCPtr, Actor.getCPtr(child), TableView.CellPosition.getCPtr(position));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns a child from the given layout position.
+ /// </summary>
+ /// <param name="position">The position in the table</param>
+ /// <returns>Child that was in the cell or an uninitialized handle</returns>
+ public Actor GetChildAt(TableView.CellPosition position)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.TableView_GetChildAt(swigCPtr, TableView.CellPosition.getCPtr(position)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Removes a child from the given layout position.
+ /// </summary>
+ /// <param name="position">The position for the child to remove</param>
+ /// <returns>Child that was removed or an uninitialized handle</returns>
+ public Actor RemoveChildAt(TableView.CellPosition position)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.TableView_RemoveChildAt(swigCPtr, TableView.CellPosition.getCPtr(position)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Finds the child's layout position.
+ /// </summary>
+ /// <param name="child">The child to search for</param>
+ /// <param name="position">The position for the child</param>
+ /// <returns>true if the child was included in this TableView</returns>
+ public bool FindChildPosition(Actor child, TableView.CellPosition position)
+ {
+ bool ret = NDalicPINVOKE.TableView_FindChildPosition(swigCPtr, Actor.getCPtr(child), TableView.CellPosition.getCPtr(position));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Inserts a new row to given index.
+ /// </summary>
+ /// <param name="rowIndex">The rowIndex of the new row</param>
+ public void InsertRow(uint rowIndex)
+ {
+ NDalicPINVOKE.TableView_InsertRow(swigCPtr, rowIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Deletes a row from the given index.
+ /// Removed elements are deleted.
+ /// </summary>
+ /// <param name="rowIndex">The rowIndex of the row to delete</param>
+ public void DeleteRow(uint rowIndex)
+ {
+ NDalicPINVOKE.TableView_DeleteRow__SWIG_0(swigCPtr, rowIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void DeleteRow(uint rowIndex, ActorContainer removed)
+ {
+ NDalicPINVOKE.TableView_DeleteRow__SWIG_1(swigCPtr, rowIndex, ActorContainer.getCPtr(removed));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Inserts a new column to the given index.
+ /// </summary>
+ /// <param name="columnIndex">The columnIndex of the new column</param>
+ public void InsertColumn(uint columnIndex)
+ {
+ NDalicPINVOKE.TableView_InsertColumn(swigCPtr, columnIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Deletes a column from the given index.
+ /// Removed elements are deleted.
+ /// </summary>
+ /// <param name="columnIndex">The columnIndex of the column to delete</param>
+ public void DeleteColumn(uint columnIndex)
+ {
+ NDalicPINVOKE.TableView_DeleteColumn__SWIG_0(swigCPtr, columnIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void DeleteColumn(uint columnIndex, ActorContainer removed)
+ {
+ NDalicPINVOKE.TableView_DeleteColumn__SWIG_1(swigCPtr, columnIndex, ActorContainer.getCPtr(removed));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Resizes the TableView.
+ /// </summary>
+ /// <param name="rows">The rows for the table</param>
+ /// <param name="columns">The columns for the table</param>
+ public void Resize(uint rows, uint columns)
+ {
+ NDalicPINVOKE.TableView_Resize__SWIG_0(swigCPtr, rows, columns);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void Resize(uint rows, uint columns, ActorContainer removed)
+ {
+ NDalicPINVOKE.TableView_Resize__SWIG_1(swigCPtr, rows, columns, ActorContainer.getCPtr(removed));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Sets horizontal and vertical padding between cells.
+ /// </summary>
+ /// <param name="padding">Width and height</param>
+ public void SetCellPadding(Size2D padding)
+ {
+ NDalicPINVOKE.TableView_SetCellPadding(swigCPtr, Size2D.getCPtr(padding));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Gets the current padding as width and height.
+ /// </summary>
+ /// <returns>The current padding as width and height</returns>
+ public Vector2 GetCellPadding()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.TableView_GetCellPadding(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Specifies this row as fitting its height to its children.
+ /// </summary>
+ /// <param name="rowIndex">The row to set</param>
+ public void SetFitHeight(uint rowIndex)
+ {
+ NDalicPINVOKE.TableView_SetFitHeight(swigCPtr, rowIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Checks if the row is a fit row.
+ /// </summary>
+ /// <param name="rowIndex">The row to check</param>
+ /// <returns>true if the row is fit</returns>
+ public bool IsFitHeight(uint rowIndex)
+ {
+ bool ret = NDalicPINVOKE.TableView_IsFitHeight(swigCPtr, rowIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Specifies this column as fitting its width to its children.
+ /// </summary>
+ /// <param name="columnIndex">The column to set</param>
+ public void SetFitWidth(uint columnIndex)
+ {
+ NDalicPINVOKE.TableView_SetFitWidth(swigCPtr, columnIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Checks if the column is a fit column.
+ /// </summary>
+ /// <param name="columnIndex">The column to check</param>
+ /// <returns>true if the column is fit</returns>
+ public bool IsFitWidth(uint columnIndex)
+ {
+ bool ret = NDalicPINVOKE.TableView_IsFitWidth(swigCPtr, columnIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets a row to have fixed height.
+ /// Setting a fixed height of 0 has no effect.
+ /// </summary>
+ /// <param name="rowIndex">The rowIndex for row with fixed height</param>
+ /// <param name="height">The height in world coordinate units</param>
+ public void SetFixedHeight(uint rowIndex, float height)
+ {
+ NDalicPINVOKE.TableView_SetFixedHeight(swigCPtr, rowIndex, height);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Gets a row's fixed height.
+ /// </summary>
+ /// <param name="rowIndex">The row index with fixed height</param>
+ /// <returns>height The height in world coordinate units</returns>
+ public float GetFixedHeight(uint rowIndex)
+ {
+ float ret = NDalicPINVOKE.TableView_GetFixedHeight(swigCPtr, rowIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets a row to have relative height. Relative height means percentage of
+ /// the remainder of the table height after subtracting Padding and Fixed height rows.
+ /// Setting a relative height of 0 has no effect.
+ /// </summary>
+ /// <param name="rowIndex">The rowIndex for row with relative height</param>
+ /// <param name="heightPercentage">The height percentage between 0.0f and 1.0f</param>
+ public void SetRelativeHeight(uint rowIndex, float heightPercentage)
+ {
+ NDalicPINVOKE.TableView_SetRelativeHeight(swigCPtr, rowIndex, heightPercentage);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Gets a row's relative height.
+ /// </summary>
+ /// <param name="rowIndex">The row index with relative height</param>
+ /// <returns>Height in percentage units, between 0.0f and 1.0f</returns>
+ public float GetRelativeHeight(uint rowIndex)
+ {
+ float ret = NDalicPINVOKE.TableView_GetRelativeHeight(swigCPtr, rowIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets a column to have fixed width.
+ /// Setting a fixed width of 0 has no effect.
+ /// </summary>
+ /// <param name="columnIndex">The columnIndex for column with fixed width</param>
+ /// <param name="width">The width in world coordinate units</param>
+ public void SetFixedWidth(uint columnIndex, float width)
+ {
+ NDalicPINVOKE.TableView_SetFixedWidth(swigCPtr, columnIndex, width);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Gets a column's fixed width.
+ /// </summary>
+ /// <param name="columnIndex">The column index with fixed width</param>
+ /// <returns>Width in world coordinate units</returns>
+ public float GetFixedWidth(uint columnIndex)
+ {
+ float ret = NDalicPINVOKE.TableView_GetFixedWidth(swigCPtr, columnIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets a column to have relative width. Relative width means percentage of
+ /// the remainder of table width after subtracting Padding and Fixed width columns.
+ /// Setting a relative width of 0 has no effect.
+ /// </summary>
+ /// <param name="columnIndex">The columnIndex for column with fixed width</param>
+ /// <param name="widthPercentage">The widthPercentage between 0.0f and 1.0f</param>
+ public void SetRelativeWidth(uint columnIndex, float widthPercentage)
+ {
+ NDalicPINVOKE.TableView_SetRelativeWidth(swigCPtr, columnIndex, widthPercentage);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Gets a column's relative width.
+ /// </summary>
+ /// <param name="columnIndex">The column index with relative width</param>
+ /// <returns>Width in percentage units, between 0.0f and 1.0f</returns>
+ public float GetRelativeWidth(uint columnIndex)
+ {
+ float ret = NDalicPINVOKE.TableView_GetRelativeWidth(swigCPtr, columnIndex);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Gets the amount of rows in the table.
+ /// </summary>
+ /// <returns>The amount of rows in the table</returns>
+ public uint GetRows()
+ {
+ uint ret = NDalicPINVOKE.TableView_GetRows(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Gets the amount of columns in the table.
+ /// </summary>
+ /// <returns>The amount of columns in the table</returns>
+ public uint GetColumns()
+ {
+ uint ret = NDalicPINVOKE.TableView_GetColumns(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the alignment on a cell.
+ /// Cells without calling this function have the default values of LEFT and TOP respectively.
+ /// </summary>
+ /// <param name="position">The cell to set alignment on</param>
+ /// <param name="horizontal">The horizontal alignment</param>
+ /// <param name="vertical">The vertical alignment</param>
+ public void SetCellAlignment(TableView.CellPosition position, HorizontalAlignmentType horizontal, VerticalAlignmentType vertical)
+ {
+ NDalicPINVOKE.TableView_SetCellAlignment(swigCPtr, TableView.CellPosition.getCPtr(position), (int)horizontal, (int)vertical);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000,
+ CHILD_PROPERTY_START_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX,
+ CHILD_PROPERTY_END_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// Enumeration for describing how the size of a row / column has been set.
+ /// </summary>
+ public enum LayoutPolicy
+ {
+ Fixed,
+ Relative,
+ Fill,
+ Fit
+ }
+
+ /// <summary>
+ /// the amount of rows in the table.
+ /// </summary>
+ public int Rows
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TableView.Property.ROWS).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.Property.ROWS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// the amount of columns in the table.
+ /// </summary>
+ public int Columns
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TableView.Property.COLUMNS).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.Property.COLUMNS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+ /// <summary>
+ /// padding between cells.
+ /// </summary>
+ public Vector2 CellPadding
+ {
+ get
+ {
+ Vector2 temp = new Vector2(0.0f, 0.0f);
+ GetProperty(TableView.Property.CELL_PADDING).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.Property.CELL_PADDING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// The number of layout rows
+ /// </summary>
+ public PropertyMap LayoutRows
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TableView.Property.LAYOUT_ROWS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.Property.LAYOUT_ROWS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// The number of layout columns
+ /// </summary>
+ public PropertyMap LayoutColumns
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TableView.Property.LAYOUT_COLUMNS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.Property.LAYOUT_COLUMNS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TableView_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_TableView_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int ROWS = NDalicPINVOKE.TableView_Property_ROWS_get();
- public static readonly int COLUMNS = NDalicPINVOKE.TableView_Property_COLUMNS_get();
- public static readonly int CELL_PADDING = NDalicPINVOKE.TableView_Property_CELL_PADDING_get();
- public static readonly int LAYOUT_ROWS = NDalicPINVOKE.TableView_Property_LAYOUT_ROWS_get();
- public static readonly int LAYOUT_COLUMNS = NDalicPINVOKE.TableView_Property_LAYOUT_COLUMNS_get();
-
- }
-
- public class ChildProperty : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal ChildProperty(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ChildProperty obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~ChildProperty() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TableView_ChildProperty(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public ChildProperty() : this(NDalicPINVOKE.new_TableView_ChildProperty(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int CELL_INDEX = NDalicPINVOKE.TableView_ChildProperty_CELL_INDEX_get();
- public static readonly int ROW_SPAN = NDalicPINVOKE.TableView_ChildProperty_ROW_SPAN_get();
- public static readonly int COLUMN_SPAN = NDalicPINVOKE.TableView_ChildProperty_COLUMN_SPAN_get();
- public static readonly int CELL_HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_HORIZONTAL_ALIGNMENT_get();
- public static readonly int CELL_VERTICAL_ALIGNMENT = NDalicPINVOKE.TableView_ChildProperty_CELL_VERTICAL_ALIGNMENT_get();
-
- }
-
- public class CellPosition : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal CellPosition(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CellPosition obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~CellPosition() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TableView_CellPosition(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan, uint columnSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_0(rowIndex, columnIndex, rowSpan, columnSpan), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public CellPosition(uint rowIndex, uint columnIndex, uint rowSpan) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_1(rowIndex, columnIndex, rowSpan), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public CellPosition(uint rowIndex, uint columnIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_2(rowIndex, columnIndex), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public CellPosition(uint rowIndex) : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_3(rowIndex), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public CellPosition() : this(NDalicPINVOKE.new_TableView_CellPosition__SWIG_4(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public uint rowIndex {
- set {
- NDalicPINVOKE.TableView_CellPosition_rowIndex_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.TableView_CellPosition_rowIndex_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public uint columnIndex {
- set {
- NDalicPINVOKE.TableView_CellPosition_columnIndex_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.TableView_CellPosition_columnIndex_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public uint rowSpan {
- set {
- NDalicPINVOKE.TableView_CellPosition_rowSpan_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.TableView_CellPosition_rowSpan_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public uint columnSpan {
- set {
- NDalicPINVOKE.TableView_CellPosition_columnSpan_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.TableView_CellPosition_columnSpan_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- }
-
- public TableView (uint initialRows, uint initialColumns) : this (NDalicPINVOKE.TableView_New(initialRows, initialColumns), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public TableView(TableView handle) : this(NDalicPINVOKE.new_TableView__SWIG_1(TableView.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public TableView Assign(TableView handle) {
- TableView ret = new TableView(NDalicPINVOKE.TableView_Assign(swigCPtr, TableView.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static TableView DownCast(BaseHandle handle) {
- TableView ret = new TableView(NDalicPINVOKE.TableView_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool AddChild(Actor child, TableView.CellPosition position) {
- bool ret = NDalicPINVOKE.TableView_AddChild(swigCPtr, Actor.getCPtr(child), TableView.CellPosition.getCPtr(position));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor GetChildAt(TableView.CellPosition position) {
- Actor ret = new Actor(NDalicPINVOKE.TableView_GetChildAt(swigCPtr, TableView.CellPosition.getCPtr(position)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor RemoveChildAt(TableView.CellPosition position) {
- Actor ret = new Actor(NDalicPINVOKE.TableView_RemoveChildAt(swigCPtr, TableView.CellPosition.getCPtr(position)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool FindChildPosition(Actor child, TableView.CellPosition position) {
- bool ret = NDalicPINVOKE.TableView_FindChildPosition(swigCPtr, Actor.getCPtr(child), TableView.CellPosition.getCPtr(position));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void InsertRow(uint rowIndex) {
- NDalicPINVOKE.TableView_InsertRow(swigCPtr, rowIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void DeleteRow(uint rowIndex) {
- NDalicPINVOKE.TableView_DeleteRow__SWIG_0(swigCPtr, rowIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void DeleteRow(uint rowIndex, ActorContainer removed) {
- NDalicPINVOKE.TableView_DeleteRow__SWIG_1(swigCPtr, rowIndex, ActorContainer.getCPtr(removed));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void InsertColumn(uint columnIndex) {
- NDalicPINVOKE.TableView_InsertColumn(swigCPtr, columnIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void DeleteColumn(uint columnIndex) {
- NDalicPINVOKE.TableView_DeleteColumn__SWIG_0(swigCPtr, columnIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void DeleteColumn(uint columnIndex, ActorContainer removed) {
- NDalicPINVOKE.TableView_DeleteColumn__SWIG_1(swigCPtr, columnIndex, ActorContainer.getCPtr(removed));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Resize(uint rows, uint columns) {
- NDalicPINVOKE.TableView_Resize__SWIG_0(swigCPtr, rows, columns);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Resize(uint rows, uint columns, ActorContainer removed) {
- NDalicPINVOKE.TableView_Resize__SWIG_1(swigCPtr, rows, columns, ActorContainer.getCPtr(removed));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetCellPadding(Vector2 padding) {
- NDalicPINVOKE.TableView_SetCellPadding(swigCPtr, Vector2.getCPtr(padding));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2 GetCellPadding() {
- Vector2 ret = new Vector2(NDalicPINVOKE.TableView_GetCellPadding(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFitHeight(uint rowIndex) {
- NDalicPINVOKE.TableView_SetFitHeight(swigCPtr, rowIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsFitHeight(uint rowIndex) {
- bool ret = NDalicPINVOKE.TableView_IsFitHeight(swigCPtr, rowIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFitWidth(uint columnIndex) {
- NDalicPINVOKE.TableView_SetFitWidth(swigCPtr, columnIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsFitWidth(uint columnIndex) {
- bool ret = NDalicPINVOKE.TableView_IsFitWidth(swigCPtr, columnIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFixedHeight(uint rowIndex, float height) {
- NDalicPINVOKE.TableView_SetFixedHeight(swigCPtr, rowIndex, height);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetFixedHeight(uint rowIndex) {
- float ret = NDalicPINVOKE.TableView_GetFixedHeight(swigCPtr, rowIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetRelativeHeight(uint rowIndex, float heightPercentage) {
- NDalicPINVOKE.TableView_SetRelativeHeight(swigCPtr, rowIndex, heightPercentage);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetRelativeHeight(uint rowIndex) {
- float ret = NDalicPINVOKE.TableView_GetRelativeHeight(swigCPtr, rowIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetFixedWidth(uint columnIndex, float width) {
- NDalicPINVOKE.TableView_SetFixedWidth(swigCPtr, columnIndex, width);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetFixedWidth(uint columnIndex) {
- float ret = NDalicPINVOKE.TableView_GetFixedWidth(swigCPtr, columnIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetRelativeWidth(uint columnIndex, float widthPercentage) {
- NDalicPINVOKE.TableView_SetRelativeWidth(swigCPtr, columnIndex, widthPercentage);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetRelativeWidth(uint columnIndex) {
- float ret = NDalicPINVOKE.TableView_GetRelativeWidth(swigCPtr, columnIndex);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetRows() {
- uint ret = NDalicPINVOKE.TableView_GetRows(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetColumns() {
- uint ret = NDalicPINVOKE.TableView_GetColumns(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetCellAlignment(TableView.CellPosition position, HorizontalAlignmentType horizontal, VerticalAlignmentType vertical) {
- NDalicPINVOKE.TableView_SetCellAlignment(swigCPtr, TableView.CellPosition.getCPtr(position), (int)horizontal, (int)vertical);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000,
- CHILD_PROPERTY_START_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX,
- CHILD_PROPERTY_END_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX+1000
- }
-
- public enum LayoutPolicy {
- FIXED,
- RELATIVE,
- FILL,
- FIT
- }
-
- public int Rows
- {
- get
- {
- int temp = 0;
- GetProperty( TableView.Property.ROWS).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.Property.ROWS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int Columns
- {
- get
- {
- int temp = 0;
- GetProperty( TableView.Property.COLUMNS).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.Property.COLUMNS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector2 CellPadding
- {
- get
- {
- Vector2 temp = new Vector2(0.0f,0.0f);
- GetProperty( TableView.Property.CELL_PADDING).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.Property.CELL_PADDING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map LayoutRows
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TableView.Property.LAYOUT_ROWS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.Property.LAYOUT_ROWS, new Tizen.NUI.Property.Value( value ) );
}
- }
- public Tizen.NUI.Property.Map LayoutColumns
- {
- get
+
+ /// <summary>
+ /// Enumeration for horizontal alignment types.
+ /// </summary>
+ public enum HorizontalAlignmentType
{
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TableView.Property.LAYOUT_COLUMNS).Get( temp );
- return temp;
+ Left,
+ Center,
+ Right
}
- set
+
+ /// <summary>
+ /// Enumeration for vertical alignment types.
+ /// </summary>
+ public enum VerticalAlignmentType
{
- SetProperty( TableView.Property.LAYOUT_COLUMNS, new Tizen.NUI.Property.Value( value ) );
+ Top,
+ Center,
+ Bottom
}
- }
-
-}
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class TapGesture : Gesture {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// A TapGesture is emitted when the user taps the screen with the stated number of fingers a stated number of times.
+ /// </summary>
+ public class TapGesture : Gesture
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal TapGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGesture_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal TapGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGesture_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGesture obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGesture obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~TapGesture() {
- DisposeQueue.Instance.Add(this);
- }
+ ~TapGesture()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
+
+ /// <summary>
+ /// Dispose
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TapGesture(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TapGesture(swigCPtr);
+ /// <summary>
+ /// Get TapGesture from the pointer.
+ /// </summary>
+ /// <param name="cPtr">The pointer to cast</param>
+ /// <returns>TapGesture object</returns>
+ internal static TapGesture GetTapGestureFromPtr(global::System.IntPtr cPtr)
+ {
+ TapGesture ret = new TapGesture(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// Number of taps property (read-only).
+ /// </summary>
+ public uint NumberOfTaps
+ {
+ get
+ {
+ return numberOfTaps;
+ }
+ }
- public static TapGesture GetTapGestureFromPtr(global::System.IntPtr cPtr) {
- TapGesture ret = new TapGesture(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// Number of touches property (read-only).
+ /// </summary>
+ public uint NumberOfTouches
+ {
+ get
+ {
+ return numberOfTouches;
+ }
+ }
- public uint NumberOfTaps
- {
- get
- {
- return numberOfTaps;
- }
- }
+ /// <summary>
+ /// Screen point property (read-only).
+ /// </summary>
+ public Vector2 ScreenPoint
+ {
+ get
+ {
+ return screenPoint;
+ }
+ }
- public uint NumberOfTouches
- {
- get
- {
- return numberOfTouches;
- }
- }
+ /// <summary>
+ /// Local point property (read-only).
+ /// </summary>
+ public Vector2 LocalPoint
+ {
+ get
+ {
+ return localPoint;
+ }
+ }
- public Vector2 ScreenPoint
- {
- get
- {
- return screenPoint;
- }
- }
+ /// <summary>
+ /// Creates a TapGesture.
+ /// </summary>
+ public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public Vector2 LocalPoint
- {
- get
- {
- return localPoint;
- }
- }
-
- public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public TapGesture(TapGesture rhs) : this(NDalicPINVOKE.new_TapGesture__SWIG_1(TapGesture.getCPtr(rhs)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public TapGesture Assign(TapGesture rhs) {
- TapGesture ret = new TapGesture(NDalicPINVOKE.TapGesture_Assign(swigCPtr, TapGesture.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private uint numberOfTaps {
- set {
- NDalicPINVOKE.TapGesture_numberOfTaps_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.TapGesture_numberOfTaps_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private uint numberOfTouches {
- set {
- NDalicPINVOKE.TapGesture_numberOfTouches_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.TapGesture_numberOfTouches_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 screenPoint {
- set {
- NDalicPINVOKE.TapGesture_screenPoint_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.TapGesture_screenPoint_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 localPoint {
- set {
- NDalicPINVOKE.TapGesture_localPoint_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.TapGesture_localPoint_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ /// <summary>
+ /// Copy constructor.
+ /// </summary>
+ /// <param name="rhs">TapGesture to copy</param>
+ public TapGesture(TapGesture rhs) : this(NDalicPINVOKE.new_TapGesture__SWIG_1(TapGesture.getCPtr(rhs)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// Assignment
+ /// </summary>
+ /// <param name="rhs">A reference to the copied handle</param>
+ /// <returns>A reference to this</returns>
+ public TapGesture Assign(TapGesture rhs)
+ {
+ TapGesture ret = new TapGesture(NDalicPINVOKE.TapGesture_Assign(swigCPtr, TapGesture.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private uint numberOfTaps
+ {
+ set
+ {
+ NDalicPINVOKE.TapGesture_numberOfTaps_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.TapGesture_numberOfTaps_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private uint numberOfTouches
+ {
+ set
+ {
+ NDalicPINVOKE.TapGesture_numberOfTouches_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.TapGesture_numberOfTouches_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 screenPoint
+ {
+ set
+ {
+ NDalicPINVOKE.TapGesture_screenPoint_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.TapGesture_screenPoint_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 localPoint
+ {
+ set
+ {
+ NDalicPINVOKE.TapGesture_localPoint_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.TapGesture_localPoint_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class TapGestureDetectedSignal : global::System.IDisposable {
+ internal class TapGestureDetectedSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
public static TapGestureDetector GetTapGestureDetectorFromPtr(global::System.IntPtr cPtr) {
TapGestureDetector ret = new TapGestureDetector(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
return ret;
}
- public TapGestureDetectedSignal DetectedSignal() {
+ internal TapGestureDetectedSignal DetectedSignal() {
TapGestureDetectedSignal ret = new TapGestureDetectedSignal(NDalicPINVOKE.TapGestureDetector_DetectedSignal(swigCPtr), false);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ using System;
+ using System.Runtime.InteropServices;
-using System;
-using System.Runtime.InteropServices;
+ /// <summary>
+ /// A control which provides a multi-line editable text editor.
+ /// </summary>
+ public class TextEditor : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class TextEditor : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal TextEditor(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextEditor_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~TextEditor()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextEditor obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ /// <summary>
+ /// Dispose.
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- ~TextEditor() {
- DisposeQueue.Instance.Add(this);
- }
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextEditor(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextEditor(swigCPtr);
+
+ /// <summary>
+ /// Event arguments that passed via TextChanged signal.
+ /// </summary>
+ public class TextChangedEventArgs : EventArgs
+ {
+ private TextEditor _textEditor;
+
+ /// <summary>
+ /// TextEditor - is the texteditor control which has the text contents changed.
+ /// </summary>
+ public TextEditor TextEditor
+ {
+ get
+ {
+ return _textEditor;
+ }
+ set
+ {
+ _textEditor = value;
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void TextChangedCallbackDelegate(IntPtr textEditor);
+ private EventHandler<TextChangedEventArgs> _textEditorTextChangedEventHandler;
+ private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
+ /// <summary>
+ /// Event for TextChanged signal which can be used to subscribe/unsubscribe the event handler
+ /// provided by the user. TextChanged signal is emitted when the text changes.
+ /// </summary>
+ public event EventHandler<TextChangedEventArgs> TextChanged
+ {
+ add
+ {
+ if (_textEditorTextChangedEventHandler == null)
+ {
+ _textEditorTextChangedCallbackDelegate = (OnTextChanged);
+ TextChangedSignal().Connect(_textEditorTextChangedCallbackDelegate);
+ }
+ _textEditorTextChangedEventHandler += value;
+ }
+ remove
+ {
+ _textEditorTextChangedEventHandler -= value;
+ if (_textEditorTextChangedEventHandler == null && _textEditorTextChangedCallbackDelegate != null)
+ {
+ TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
+ }
+ }
+ }
-/**
- * @brief Event arguments that passed via TextChanged signal
- *
- */
-public class TextChangedEventArgs : EventArgs
-{
- private TextEditor _textEditor;
- /**
- * @brief TextEditor - is the texteditor control which has the text contents changed.
- *
- */
- public TextEditor TextEditor
- {
- get
- {
- return _textEditor;
- }
- set
- {
- _textEditor = value;
- }
- }
-}
+ private void OnTextChanged(IntPtr textEditor)
+ {
+ TextChangedEventArgs e = new TextChangedEventArgs();
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void TextChangedCallbackDelegate(IntPtr textEditor);
- private DaliEventHandler<object,TextChangedEventArgs> _textEditorTextChangedEventHandler;
- private TextChangedCallbackDelegate _textEditorTextChangedCallbackDelegate;
-
- /**
- * @brief Event for TextChanged signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of TextChangedEventHandler-DaliEventHandler<object,TextChangedEventArgs>)
- * provided by the user. TextChanged signal is emitted when the text changes.
- */
- public event DaliEventHandler<object,TextChangedEventArgs> TextChanged
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_textEditorTextChangedEventHandler == null)
- {
- _textEditorTextChangedEventHandler += value;
-
- _textEditorTextChangedCallbackDelegate = new TextChangedCallbackDelegate(OnTextChanged);
- this.TextChangedSignal().Connect(_textEditorTextChangedCallbackDelegate);
- }
- }
- }
-
- remove
- {
- lock(this)
- {
- if (_textEditorTextChangedEventHandler != null)
- {
- this.TextChangedSignal().Disconnect(_textEditorTextChangedCallbackDelegate);
- }
-
- _textEditorTextChangedEventHandler -= value;
- }
- }
- }
-
- private void OnTextChanged(IntPtr textEditor)
- {
- TextChangedEventArgs e = new TextChangedEventArgs();
-
- // Populate all members of "e" (TextChangedEventArgs) with real data
- e.TextEditor = Tizen.NUI.TextEditor.GetTextEditorFromPtr(textEditor);
-
- if (_textEditorTextChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- _textEditorTextChangedEventHandler(this, e);
- }
-
- }
-
- public static TextEditor GetTextEditorFromPtr(global::System.IntPtr cPtr) {
- TextEditor ret = new TextEditor(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
-
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextEditor_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_TextEditor_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
- public static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
- public static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
- public static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
- public static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
- public static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
- public static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
- public static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
- public static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
- public static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
- public static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
- public static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
- public static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
- public static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
- public static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
- public static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
- public static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
- public static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
- public static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
- public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
- public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
- public static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
- public static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
- public static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
- public static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
- public static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
- public static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
- public static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
- public static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
- public static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
- public static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
- public static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
- public static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
- public static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
- public static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
- public static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
- public static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
- public static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
- public static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
- public static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
-
- }
-
- public class InputStyle : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal InputStyle(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputStyle obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~InputStyle() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextEditor_InputStyle(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public InputStyle() : this(NDalicPINVOKE.new_TextEditor_InputStyle(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public enum Mask {
- NONE = 0x0000,
- COLOR = 0x0001,
- FONT_FAMILY = 0x0002,
- POINT_SIZE = 0x0004,
- FONT_STYLE = 0x0008,
- LINE_SPACING = 0x0010,
- UNDERLINE = 0x0020,
- SHADOW = 0x0040,
- EMBOSS = 0x0080,
- OUTLINE = 0x0100
- }
-
- }
-
- public TextEditor () : this (NDalicPINVOKE.TextEditor_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public TextEditor Assign(TextEditor handle) {
- TextEditor ret = new TextEditor(NDalicPINVOKE.TextEditor_Assign(swigCPtr, TextEditor.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static TextEditor DownCast(BaseHandle handle) {
- TextEditor ret = new TextEditor(NDalicPINVOKE.TextEditor_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public TextEditorSignal TextChangedSignal() {
- TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal() {
- SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(NDalicPINVOKE.TextEditor_InputStyleChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public int RenderingBackend
- {
- get
- {
- int temp = 0;
- GetProperty( TextEditor.Property.RENDERING_BACKEND).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.RENDERING_BACKEND, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string Text
- {
- get
- {
- string temp;
- GetProperty( TextEditor.Property.TEXT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.TEXT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 TextColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextEditor.Property.TEXT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.TEXT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string FontFamily
- {
- get
- {
- string temp;
- GetProperty( TextEditor.Property.FONT_FAMILY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.FONT_FAMILY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map FontStyle
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.FONT_STYLE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.FONT_STYLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float PointSize
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.POINT_SIZE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.POINT_SIZE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string HorizontalAlignment
- {
- get
- {
- string temp;
- GetProperty( TextEditor.Property.HORIZONTAL_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ScrollThreshold
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.SCROLL_THRESHOLD).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SCROLL_THRESHOLD, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ScrollSpeed
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.SCROLL_SPEED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SCROLL_SPEED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 PrimaryCursorColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextEditor.Property.PRIMARY_CURSOR_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 SecondaryCursorColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextEditor.Property.SECONDARY_CURSOR_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool EnableCursorBlink
- {
- get
- {
- bool temp = false;
- GetProperty( TextEditor.Property.ENABLE_CURSOR_BLINK).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float CursorBlinkInterval
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.CURSOR_BLINK_INTERVAL).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float CursorBlinkDuration
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.CURSOR_BLINK_DURATION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int CursorWidth
- {
- get
- {
- int temp = 0;
- GetProperty( TextEditor.Property.CURSOR_WIDTH).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.CURSOR_WIDTH, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string GrabHandleImage
- {
- get
- {
- string temp;
- GetProperty( TextEditor.Property.GRAB_HANDLE_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string GrabHandlePressedImage
- {
- get
- {
- string temp;
- GetProperty( TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleImageLeft
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleImageRight
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandlePressedImageLeft
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandlePressedImageRight
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleMarkerImageLeft
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleMarkerImageRight
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 SelectionHighlightColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextEditor.Property.SELECTION_HIGHLIGHT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Rectangle DecorationBoundingBox
- {
- get
- {
- Rectangle temp = new Rectangle(0,0,0,0);
- GetProperty( TextEditor.Property.DECORATION_BOUNDING_BOX).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool EnableMarkup
- {
- get
- {
- bool temp = false;
- GetProperty( TextEditor.Property.ENABLE_MARKUP).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.ENABLE_MARKUP, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 InputColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextEditor.Property.INPUT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string InputFontFamily
- {
- get
- {
- string temp;
- GetProperty( TextEditor.Property.INPUT_FONT_FAMILY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_FONT_FAMILY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputFontStyle
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.INPUT_FONT_STYLE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_FONT_STYLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float InputPointSize
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.INPUT_POINT_SIZE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_POINT_SIZE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float LineSpacing
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.LINE_SPACING).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.LINE_SPACING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float InputLineSpacing
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextEditor.Property.INPUT_LINE_SPACING).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_LINE_SPACING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Underline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.UNDERLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.UNDERLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputUnderline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.INPUT_UNDERLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_UNDERLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Shadow
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.SHADOW).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.SHADOW, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputShadow
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.INPUT_SHADOW).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_SHADOW, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Emboss
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.EMBOSS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.EMBOSS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputEmboss
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.INPUT_EMBOSS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_EMBOSS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Outline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.OUTLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.OUTLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputOutline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextEditor.Property.INPUT_OUTLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextEditor.Property.INPUT_OUTLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ // Populate all members of "e" (TextChangedEventArgs) with real data
+ e.TextEditor = Tizen.NUI.TextEditor.GetTextEditorFromPtr(textEditor);
-}
+ if (_textEditorTextChangedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _textEditorTextChangedEventHandler(this, e);
+ }
+
+ }
+
+ internal static TextEditor GetTextEditorFromPtr(global::System.IntPtr cPtr)
+ {
+ TextEditor ret = new TextEditor(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextEditor_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_TextEditor_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextEditor_Property_RENDERING_BACKEND_get();
+ internal static readonly int TEXT = NDalicPINVOKE.TextEditor_Property_TEXT_get();
+ internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextEditor_Property_TEXT_COLOR_get();
+ internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_FONT_FAMILY_get();
+ internal static readonly int FONT_STYLE = NDalicPINVOKE.TextEditor_Property_FONT_STYLE_get();
+ internal static readonly int POINT_SIZE = NDalicPINVOKE.TextEditor_Property_POINT_SIZE_get();
+ internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextEditor_Property_HORIZONTAL_ALIGNMENT_get();
+ internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextEditor_Property_SCROLL_THRESHOLD_get();
+ internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextEditor_Property_SCROLL_SPEED_get();
+ internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_PRIMARY_CURSOR_COLOR_get();
+ internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextEditor_Property_SECONDARY_CURSOR_COLOR_get();
+ internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextEditor_Property_ENABLE_CURSOR_BLINK_get();
+ internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_INTERVAL_get();
+ internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextEditor_Property_CURSOR_BLINK_DURATION_get();
+ internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextEditor_Property_CURSOR_WIDTH_get();
+ internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_IMAGE_get();
+ internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextEditor_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+ internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+ internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+ internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+ internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+ internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+ internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextEditor_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+ internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextEditor_Property_SELECTION_HIGHLIGHT_COLOR_get();
+ internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextEditor_Property_DECORATION_BOUNDING_BOX_get();
+ internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextEditor_Property_ENABLE_MARKUP_get();
+ internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextEditor_Property_INPUT_COLOR_get();
+ internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_FAMILY_get();
+ internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextEditor_Property_INPUT_FONT_STYLE_get();
+ internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextEditor_Property_INPUT_POINT_SIZE_get();
+ internal static readonly int LINE_SPACING = NDalicPINVOKE.TextEditor_Property_LINE_SPACING_get();
+ internal static readonly int INPUT_LINE_SPACING = NDalicPINVOKE.TextEditor_Property_INPUT_LINE_SPACING_get();
+ internal static readonly int UNDERLINE = NDalicPINVOKE.TextEditor_Property_UNDERLINE_get();
+ internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextEditor_Property_INPUT_UNDERLINE_get();
+ internal static readonly int SHADOW = NDalicPINVOKE.TextEditor_Property_SHADOW_get();
+ internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextEditor_Property_INPUT_SHADOW_get();
+ internal static readonly int EMBOSS = NDalicPINVOKE.TextEditor_Property_EMBOSS_get();
+ internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextEditor_Property_INPUT_EMBOSS_get();
+ internal static readonly int OUTLINE = NDalicPINVOKE.TextEditor_Property_OUTLINE_get();
+ internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextEditor_Property_INPUT_OUTLINE_get();
+
+ }
+
+ internal class InputStyle : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal InputStyle(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputStyle obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~InputStyle()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextEditor_InputStyle(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal InputStyle() : this(NDalicPINVOKE.new_TextEditor_InputStyle(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal enum Mask
+ {
+ None = 0x0000,
+ Color = 0x0001,
+ FontFamily = 0x0002,
+ PointSize = 0x0004,
+ FontStyle = 0x0008,
+ LineSpacing = 0x0010,
+ Underline = 0x0020,
+ Shadow = 0x0040,
+ Emboss = 0x0080,
+ Outline = 0x0100
+ }
+
+ }
+
+ /// <summary>
+ /// Creates the TextEditor control.
+ /// </summary>
+ public TextEditor() : this(NDalicPINVOKE.TextEditor_New(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal TextEditor(TextEditor handle) : this(NDalicPINVOKE.new_TextEditor__SWIG_1(TextEditor.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal TextEditor Assign(TextEditor handle)
+ {
+ TextEditor ret = new TextEditor(NDalicPINVOKE.TextEditor_Assign(swigCPtr, TextEditor.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to TextEditor.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a TextEditor or an empty handle</returns>
+ public new static TextEditor DownCast(BaseHandle handle)
+ {
+ TextEditor ret = new TextEditor(NDalicPINVOKE.TextEditor_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal TextEditorSignal TextChangedSignal()
+ {
+ TextEditorSignal ret = new TextEditorSignal(NDalicPINVOKE.TextEditor_TextChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t InputStyleChangedSignal()
+ {
+ SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextEditor_Dali__Toolkit__TextEditor__InputStyle__MaskF_t(NDalicPINVOKE.TextEditor_InputStyleChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// Rendering backend property
+ /// </summary>
+ public int RenderingBackend
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextEditor.Property.RENDERING_BACKEND).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.RENDERING_BACKEND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Text property.
+ /// </summary>
+ public string Text
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextEditor.Property.TEXT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.TEXT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Text color property.
+ /// </summary>
+ public Vector4 TextColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextEditor.Property.TEXT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Font family property.
+ /// </summary>
+ public string FontFamily
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextEditor.Property.FONT_FAMILY).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Font style property.
+ /// </summary>
+ public PropertyMap FontStyle
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.FONT_STYLE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Point size property.
+ /// </summary>
+ public float PointSize
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.POINT_SIZE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Horizontal alignment property.
+ /// </summary>
+ public string HorizontalAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextEditor.Property.HORIZONTAL_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Scroll threshold property.
+ /// </summary>
+ public float ScrollThreshold
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.SCROLL_THRESHOLD).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Scroll speed property.
+ /// </summary>
+ public float ScrollSpeed
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.SCROLL_SPEED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Primary cursor color property.
+ /// </summary>
+ public Vector4 PrimaryCursorColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextEditor.Property.PRIMARY_CURSOR_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SecondaryCursorColor property.
+ /// </summary>
+ public Vector4 SecondaryCursorColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextEditor.Property.SECONDARY_CURSOR_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// EnableCursorBlink property.
+ /// </summary>
+ public bool EnableCursorBlink
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextEditor.Property.ENABLE_CURSOR_BLINK).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// CursorBlinkInterval property.
+ /// </summary>
+ public float CursorBlinkInterval
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.CURSOR_BLINK_INTERVAL).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// CursorBlinkDuration property.
+ /// </summary>
+ public float CursorBlinkDuration
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.CURSOR_BLINK_DURATION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// CursorWidth property.
+ /// </summary>
+ public int CursorWidth
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextEditor.Property.CURSOR_WIDTH).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// GrabHandleImage property.
+ /// </summary>
+ public string GrabHandleImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextEditor.Property.GRAB_HANDLE_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// GrabHandlePressedImage property.
+ /// </summary>
+ public string GrabHandlePressedImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleImageLeft property.
+ /// </summary>
+ public PropertyMap SelectionHandleImageLeft
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleImageRight property.
+ /// </summary>
+ public PropertyMap SelectionHandleImageRight
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandlePressedImageLeft property.
+ /// </summary>
+ public PropertyMap SelectionHandlePressedImageLeft
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandlePressedImageRight property.
+ /// </summary>
+ public PropertyMap SelectionHandlePressedImageRight
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleMarkerImageLeft property.
+ /// </summary>
+ public PropertyMap SelectionHandleMarkerImageLeft
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleMarkerImageRight property.
+ /// </summary>
+ public PropertyMap SelectionHandleMarkerImageRight
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHighlightColor property.
+ /// </summary>
+ public Vector4 SelectionHighlightColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextEditor.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// DecorationBoundingBox property.
+ /// </summary>
+ public Rectangle DecorationBoundingBox
+ {
+ get
+ {
+ Rectangle temp = new Rectangle(0, 0, 0, 0);
+ GetProperty(TextEditor.Property.DECORATION_BOUNDING_BOX).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// EnableMarkup property.
+ /// </summary>
+ public bool EnableMarkup
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextEditor.Property.ENABLE_MARKUP).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputColor property.
+ /// </summary>
+ public Vector4 InputColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextEditor.Property.INPUT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputFontFamily property.
+ /// </summary>
+ public string InputFontFamily
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextEditor.Property.INPUT_FONT_FAMILY).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputFontStyle property.
+ /// </summary>
+ public PropertyMap InputFontStyle
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.INPUT_FONT_STYLE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputPointSize property.
+ /// </summary>
+ public float InputPointSize
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.INPUT_POINT_SIZE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// LineSpacing property.
+ /// </summary>
+ public float LineSpacing
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.LINE_SPACING).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.LINE_SPACING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputLineSpacing property.
+ /// </summary>
+ public float InputLineSpacing
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextEditor.Property.INPUT_LINE_SPACING).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_LINE_SPACING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Underline property.
+ /// </summary>
+ public PropertyMap Underline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.UNDERLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputUnderline property.
+ /// </summary>
+ public PropertyMap InputUnderline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.INPUT_UNDERLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Shadow property.
+ /// </summary>
+ public PropertyMap Shadow
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.SHADOW).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputShadow property.
+ /// </summary>
+ public PropertyMap InputShadow
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.INPUT_SHADOW).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Emboss property.
+ /// </summary>
+ public PropertyMap Emboss
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.EMBOSS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputEmboss property.
+ /// </summary>
+ public PropertyMap InputEmboss
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.INPUT_EMBOSS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Outline property.
+ /// </summary>
+ public PropertyMap Outline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.OUTLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputOutline property.
+ /// </summary>
+ public PropertyMap InputOutline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextEditor.Property.INPUT_OUTLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextEditor.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class TextEditorSignal : global::System.IDisposable {
+ internal class TextEditorSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-using System;
-using System.Runtime.InteropServices;
+ using System;
+ using System.Runtime.InteropServices;
+ /// <summary>
+ /// A control which provides a single-line editable text field.
+ /// </summary>
+ public class TextField : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class TextField : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal TextField(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextField_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal TextField(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextField_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextField obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextField obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~TextField()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~TextField() {
- DisposeQueue.Instance.Add(this);
- }
+ /// <summary>
+ /// Dispose
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextField(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
+
+ /// <summary>
+ /// Text changed event arguments.
+ /// </summary>
+ public class TextChangedEventArgs : EventArgs
+ {
+ private TextField _textField;
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextField(swigCPtr);
+ /// <summary>
+ /// TextField.
+ /// </summary>
+ public TextField TextField
+ {
+ get
+ {
+ return _textField;
+ }
+ set
+ {
+ _textField = value;
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ /// <summary>
+ /// MaxLengthReached event arguments.
+ /// </summary>
+ public class MaxLengthReachedEventArgs : EventArgs
+ {
+ private TextField _textField;
+ /// <summary>
+ /// TextField.
+ /// </summary>
+ public TextField TextField
+ {
+ get
+ {
+ return _textField;
+ }
+ set
+ {
+ _textField = value;
+ }
+ }
+ }
-public class TextChangedEventArgs : EventArgs
-{
- private TextField _textField;
-
- public TextField TextField
- {
- get
- {
- return _textField;
- }
- set
- {
- _textField = value;
- }
- }
-}
-public class MaxLengthReachedEventArgs : EventArgs
-{
- private TextField _textField;
-
- public TextField TextField
- {
- get
- {
- return _textField;
- }
- set
- {
- _textField = value;
- }
- }
-}
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void TextChangedCallbackDelegate(IntPtr textField);
+ private EventHandler<TextChangedEventArgs> _textFieldTextChangedEventHandler;
+ private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
+ private EventHandler<MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
+ private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void TextChangedCallbackDelegate(IntPtr textField);
- private DaliEventHandler<object,TextChangedEventArgs> _textFieldTextChangedEventHandler;
- private TextChangedCallbackDelegate _textFieldTextChangedCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void MaxLengthReachedCallbackDelegate(IntPtr textField);
- private DaliEventHandler<object,MaxLengthReachedEventArgs> _textFieldMaxLengthReachedEventHandler;
- private MaxLengthReachedCallbackDelegate _textFieldMaxLengthReachedCallbackDelegate;
+ /// <summary>
+ /// TextChanged event.
+ /// </summary>
+ public event EventHandler<TextChangedEventArgs> TextChanged
+ {
+ add
+ {
+ if (_textFieldTextChangedEventHandler == null)
+ {
+ _textFieldTextChangedCallbackDelegate = (OnTextChanged);
+ TextChangedSignal().Connect(_textFieldTextChangedCallbackDelegate);
+ }
+ _textFieldTextChangedEventHandler += value;
+ }
+ remove
+ {
+ _textFieldTextChangedEventHandler -= value;
+ if (_textFieldTextChangedEventHandler == null && _textFieldTextChangedCallbackDelegate != null)
+ {
+ TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
+ }
+ }
+ }
- public event DaliEventHandler<object,TextChangedEventArgs> TextChanged
- {
- add
- {
- lock(this)
+ private void OnTextChanged(IntPtr textField)
{
- // Restricted to only one listener
- if (_textFieldTextChangedEventHandler == null)
- {
- _textFieldTextChangedEventHandler += value;
+ TextChangedEventArgs e = new TextChangedEventArgs();
+
+ // Populate all members of "e" (TextChangedEventArgs) with real data
+ e.TextField = Tizen.NUI.TextField.GetTextFieldFromPtr(textField);
+
+ if (_textFieldTextChangedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _textFieldTextChangedEventHandler(this, e);
+ }
- _textFieldTextChangedCallbackDelegate = new TextChangedCallbackDelegate(OnTextChanged);
- this.TextChangedSignal().Connect(_textFieldTextChangedCallbackDelegate);
- }
}
- }
- remove
- {
- lock(this)
+ /// <summary>
+ /// MaxLengthReached event.
+ /// </summary>
+ public event EventHandler<MaxLengthReachedEventArgs> MaxLengthReached
{
- if (_textFieldTextChangedEventHandler != null)
- {
- this.TextChangedSignal().Disconnect(_textFieldTextChangedCallbackDelegate);
- }
+ add
+ {
+ if (_textFieldMaxLengthReachedEventHandler == null)
+ {
+ _textFieldMaxLengthReachedCallbackDelegate = (OnMaxLengthReached);
+ MaxLengthReachedSignal().Connect(_textFieldMaxLengthReachedCallbackDelegate);
+ }
+ _textFieldMaxLengthReachedEventHandler += value;
+ }
+ remove
+ {
+ if (_textFieldMaxLengthReachedEventHandler == null && _textFieldMaxLengthReachedCallbackDelegate != null)
+ {
+ this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
+ }
+ _textFieldMaxLengthReachedEventHandler -= value;
+ }
+ }
+
+ private void OnMaxLengthReached(IntPtr textField)
+ {
+ MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
+
+ // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
+ e.TextField = Tizen.NUI.TextField.GetTextFieldFromPtr(textField);
+
+ if (_textFieldMaxLengthReachedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _textFieldMaxLengthReachedEventHandler(this, e);
+ }
- _textFieldTextChangedEventHandler -= value;
}
- }
- }
- private void OnTextChanged(IntPtr textField)
- {
- TextChangedEventArgs e = new TextChangedEventArgs();
+ internal static TextField GetTextFieldFromPtr(global::System.IntPtr cPtr)
+ {
+ TextField ret = new TextField(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
- // Populate all members of "e" (TextChangedEventArgs) with real data
- e.TextField = Tizen.NUI.TextField.GetTextFieldFromPtr(textField);
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- if (_textFieldTextChangedEventHandler != null)
- {
- //here we send all data to user event handlers
- _textFieldTextChangedEventHandler(this, e);
- }
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextField_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_TextField_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextField_Property_RENDERING_BACKEND_get();
+ internal static readonly int TEXT = NDalicPINVOKE.TextField_Property_TEXT_get();
+ internal static readonly int PLACEHOLDER_TEXT = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_get();
+ internal static readonly int PLACEHOLDER_TEXT_FOCUSED = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
+ internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextField_Property_FONT_FAMILY_get();
+ internal static readonly int FONT_STYLE = NDalicPINVOKE.TextField_Property_FONT_STYLE_get();
+ internal static readonly int POINT_SIZE = NDalicPINVOKE.TextField_Property_POINT_SIZE_get();
+ internal static readonly int MAX_LENGTH = NDalicPINVOKE.TextField_Property_MAX_LENGTH_get();
+ internal static readonly int EXCEED_POLICY = NDalicPINVOKE.TextField_Property_EXCEED_POLICY_get();
+ internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_HORIZONTAL_ALIGNMENT_get();
+ internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_VERTICAL_ALIGNMENT_get();
+ internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextField_Property_TEXT_COLOR_get();
+ internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
+ internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextField_Property_SHADOW_OFFSET_get();
+ internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextField_Property_SHADOW_COLOR_get();
+ internal static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_PRIMARY_CURSOR_COLOR_get();
+ internal static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_SECONDARY_CURSOR_COLOR_get();
+ internal static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextField_Property_ENABLE_CURSOR_BLINK_get();
+ internal static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_INTERVAL_get();
+ internal static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_DURATION_get();
+ internal static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextField_Property_CURSOR_WIDTH_get();
+ internal static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_IMAGE_get();
+ internal static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
+ internal static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextField_Property_SCROLL_THRESHOLD_get();
+ internal static readonly int SCROLL_SPEED = NDalicPINVOKE.TextField_Property_SCROLL_SPEED_get();
+ internal static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
+ internal static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
+ internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
+ internal static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
+ internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
+ internal static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
+ internal static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
+ internal static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextField_Property_DECORATION_BOUNDING_BOX_get();
+ internal static readonly int INPUT_METHOD_SETTINGS = NDalicPINVOKE.TextField_Property_INPUT_METHOD_SETTINGS_get();
+ internal static readonly int INPUT_COLOR = NDalicPINVOKE.TextField_Property_INPUT_COLOR_get();
+ internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextField_Property_ENABLE_MARKUP_get();
+ internal static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextField_Property_INPUT_FONT_FAMILY_get();
+ internal static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextField_Property_INPUT_FONT_STYLE_get();
+ internal static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextField_Property_INPUT_POINT_SIZE_get();
+ internal static readonly int UNDERLINE = NDalicPINVOKE.TextField_Property_UNDERLINE_get();
+ internal static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextField_Property_INPUT_UNDERLINE_get();
+ internal static readonly int SHADOW = NDalicPINVOKE.TextField_Property_SHADOW_get();
+ internal static readonly int INPUT_SHADOW = NDalicPINVOKE.TextField_Property_INPUT_SHADOW_get();
+ internal static readonly int EMBOSS = NDalicPINVOKE.TextField_Property_EMBOSS_get();
+ internal static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextField_Property_INPUT_EMBOSS_get();
+ internal static readonly int OUTLINE = NDalicPINVOKE.TextField_Property_OUTLINE_get();
+ internal static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextField_Property_INPUT_OUTLINE_get();
+
+ }
- public event DaliEventHandler<object,MaxLengthReachedEventArgs> MaxLengthReached
- {
- add
- {
- lock(this)
+ internal class InputStyle : global::System.IDisposable
{
- // Restricted to only one listener
- if (_textFieldMaxLengthReachedEventHandler == null)
- {
- _textFieldMaxLengthReachedEventHandler += value;
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal InputStyle(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputStyle obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~InputStyle()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextField_InputStyle(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal InputStyle() : this(NDalicPINVOKE.new_TextField_InputStyle(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal enum Mask
+ {
+ None = 0x0000,
+ Color = 0x0001,
+ FontFamily = 0x0002,
+ PointSize = 0x0004,
+ FontStyle = 0x0008,
+ Underline = 0x0010,
+ Shadow = 0x0020,
+ Emboss = 0x0040,
+ Outline = 0x0080
+ }
- _textFieldMaxLengthReachedCallbackDelegate = new MaxLengthReachedCallbackDelegate(OnMaxLengthReached);
- this.MaxLengthReachedSignal().Connect(_textFieldMaxLengthReachedCallbackDelegate);
- }
}
- }
- remove
- {
- lock(this)
+ /// <summary>
+ /// Creates the TextField control.
+ /// </summary>
+ public TextField() : this(NDalicPINVOKE.TextField_New(), true)
{
- if (_textFieldMaxLengthReachedEventHandler != null)
- {
- this.MaxLengthReachedSignal().Disconnect(_textFieldMaxLengthReachedCallbackDelegate);
- }
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- _textFieldMaxLengthReachedEventHandler -= value;
}
- }
- }
+ internal TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- private void OnMaxLengthReached(IntPtr textField)
- {
- MaxLengthReachedEventArgs e = new MaxLengthReachedEventArgs();
+ internal TextField Assign(TextField handle)
+ {
+ TextField ret = new TextField(NDalicPINVOKE.TextField_Assign(swigCPtr, TextField.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- // Populate all members of "e" (MaxLengthReachedEventArgs) with real data
- e.TextField = Tizen.NUI.TextField.GetTextFieldFromPtr(textField);
+ /// <summary>
+ /// Downcasts a handle to TextField.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a TextField or an empty handle</returns>
+ public new static TextField DownCast(BaseHandle handle)
+ {
+ TextField ret = new TextField(NDalicPINVOKE.TextField_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- if (_textFieldMaxLengthReachedEventHandler != null)
- {
- //here we send all data to user event handlers
- _textFieldMaxLengthReachedEventHandler(this, e);
- }
-
- }
-
- public static TextField GetTextFieldFromPtr(global::System.IntPtr cPtr) {
- TextField ret = new TextField(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal TextFieldSignal TextChangedSignal()
+ {
+ TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ internal TextFieldSignal MaxLengthReachedSignal()
+ {
+ TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextField_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_TextField_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextField_Property_RENDERING_BACKEND_get();
- public static readonly int TEXT = NDalicPINVOKE.TextField_Property_TEXT_get();
- public static readonly int PLACEHOLDER_TEXT = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_get();
- public static readonly int PLACEHOLDER_TEXT_FOCUSED = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_FOCUSED_get();
- public static readonly int FONT_FAMILY = NDalicPINVOKE.TextField_Property_FONT_FAMILY_get();
- public static readonly int FONT_STYLE = NDalicPINVOKE.TextField_Property_FONT_STYLE_get();
- public static readonly int POINT_SIZE = NDalicPINVOKE.TextField_Property_POINT_SIZE_get();
- public static readonly int MAX_LENGTH = NDalicPINVOKE.TextField_Property_MAX_LENGTH_get();
- public static readonly int EXCEED_POLICY = NDalicPINVOKE.TextField_Property_EXCEED_POLICY_get();
- public static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_HORIZONTAL_ALIGNMENT_get();
- public static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextField_Property_VERTICAL_ALIGNMENT_get();
- public static readonly int TEXT_COLOR = NDalicPINVOKE.TextField_Property_TEXT_COLOR_get();
- public static readonly int PLACEHOLDER_TEXT_COLOR = NDalicPINVOKE.TextField_Property_PLACEHOLDER_TEXT_COLOR_get();
- public static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextField_Property_SHADOW_OFFSET_get();
- public static readonly int SHADOW_COLOR = NDalicPINVOKE.TextField_Property_SHADOW_COLOR_get();
- public static readonly int PRIMARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_PRIMARY_CURSOR_COLOR_get();
- public static readonly int SECONDARY_CURSOR_COLOR = NDalicPINVOKE.TextField_Property_SECONDARY_CURSOR_COLOR_get();
- public static readonly int ENABLE_CURSOR_BLINK = NDalicPINVOKE.TextField_Property_ENABLE_CURSOR_BLINK_get();
- public static readonly int CURSOR_BLINK_INTERVAL = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_INTERVAL_get();
- public static readonly int CURSOR_BLINK_DURATION = NDalicPINVOKE.TextField_Property_CURSOR_BLINK_DURATION_get();
- public static readonly int CURSOR_WIDTH = NDalicPINVOKE.TextField_Property_CURSOR_WIDTH_get();
- public static readonly int GRAB_HANDLE_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_IMAGE_get();
- public static readonly int GRAB_HANDLE_PRESSED_IMAGE = NDalicPINVOKE.TextField_Property_GRAB_HANDLE_PRESSED_IMAGE_get();
- public static readonly int SCROLL_THRESHOLD = NDalicPINVOKE.TextField_Property_SCROLL_THRESHOLD_get();
- public static readonly int SCROLL_SPEED = NDalicPINVOKE.TextField_Property_SCROLL_SPEED_get();
- public static readonly int SELECTION_HANDLE_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_LEFT_get();
- public static readonly int SELECTION_HANDLE_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_IMAGE_RIGHT_get();
- public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_LEFT_get();
- public static readonly int SELECTION_HANDLE_PRESSED_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_PRESSED_IMAGE_RIGHT_get();
- public static readonly int SELECTION_HANDLE_MARKER_IMAGE_LEFT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_LEFT_get();
- public static readonly int SELECTION_HANDLE_MARKER_IMAGE_RIGHT = NDalicPINVOKE.TextField_Property_SELECTION_HANDLE_MARKER_IMAGE_RIGHT_get();
- public static readonly int SELECTION_HIGHLIGHT_COLOR = NDalicPINVOKE.TextField_Property_SELECTION_HIGHLIGHT_COLOR_get();
- public static readonly int DECORATION_BOUNDING_BOX = NDalicPINVOKE.TextField_Property_DECORATION_BOUNDING_BOX_get();
- public static readonly int INPUT_METHOD_SETTINGS = NDalicPINVOKE.TextField_Property_INPUT_METHOD_SETTINGS_get();
- public static readonly int INPUT_COLOR = NDalicPINVOKE.TextField_Property_INPUT_COLOR_get();
- public static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextField_Property_ENABLE_MARKUP_get();
- public static readonly int INPUT_FONT_FAMILY = NDalicPINVOKE.TextField_Property_INPUT_FONT_FAMILY_get();
- public static readonly int INPUT_FONT_STYLE = NDalicPINVOKE.TextField_Property_INPUT_FONT_STYLE_get();
- public static readonly int INPUT_POINT_SIZE = NDalicPINVOKE.TextField_Property_INPUT_POINT_SIZE_get();
- public static readonly int UNDERLINE = NDalicPINVOKE.TextField_Property_UNDERLINE_get();
- public static readonly int INPUT_UNDERLINE = NDalicPINVOKE.TextField_Property_INPUT_UNDERLINE_get();
- public static readonly int SHADOW = NDalicPINVOKE.TextField_Property_SHADOW_get();
- public static readonly int INPUT_SHADOW = NDalicPINVOKE.TextField_Property_INPUT_SHADOW_get();
- public static readonly int EMBOSS = NDalicPINVOKE.TextField_Property_EMBOSS_get();
- public static readonly int INPUT_EMBOSS = NDalicPINVOKE.TextField_Property_INPUT_EMBOSS_get();
- public static readonly int OUTLINE = NDalicPINVOKE.TextField_Property_OUTLINE_get();
- public static readonly int INPUT_OUTLINE = NDalicPINVOKE.TextField_Property_INPUT_OUTLINE_get();
-
- }
-
- public class InputStyle : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal InputStyle(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputStyle obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~InputStyle() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextField_InputStyle(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public InputStyle() : this(NDalicPINVOKE.new_TextField_InputStyle(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public enum Mask {
- NONE = 0x0000,
- COLOR = 0x0001,
- FONT_FAMILY = 0x0002,
- POINT_SIZE = 0x0004,
- FONT_STYLE = 0x0008,
- UNDERLINE = 0x0010,
- SHADOW = 0x0020,
- EMBOSS = 0x0040,
- OUTLINE = 0x0080
- }
-
- }
-
- public TextField () : this (NDalicPINVOKE.TextField_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public TextField(TextField handle) : this(NDalicPINVOKE.new_TextField__SWIG_1(TextField.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public TextField Assign(TextField handle) {
- TextField ret = new TextField(NDalicPINVOKE.TextField_Assign(swigCPtr, TextField.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static TextField DownCast(BaseHandle handle) {
- TextField ret = new TextField(NDalicPINVOKE.TextField_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public TextFieldSignal TextChangedSignal() {
- TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_TextChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public TextFieldSignal MaxLengthReachedSignal() {
- TextFieldSignal ret = new TextFieldSignal(NDalicPINVOKE.TextField_MaxLengthReachedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal() {
- SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(NDalicPINVOKE.TextField_InputStyleChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public enum ExceedPolicyType {
- EXCEED_POLICY_ORIGINAL,
- EXCEED_POLICY_CLIP
- }
-
- public int RenderingBackend
- {
- get
- {
- int temp = 0;
- GetProperty( TextField.Property.RENDERING_BACKEND).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.RENDERING_BACKEND, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string Text
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.TEXT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.TEXT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string PlaceholderText
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.PLACEHOLDER_TEXT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.PLACEHOLDER_TEXT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string PlaceholderTextFocused
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.PLACEHOLDER_TEXT_FOCUSED).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string FontFamily
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.FONT_FAMILY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.FONT_FAMILY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map FontStyle
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.FONT_STYLE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.FONT_STYLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float PointSize
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextField.Property.POINT_SIZE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.POINT_SIZE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int MaxLength
- {
- get
- {
- int temp = 0;
- GetProperty( TextField.Property.MAX_LENGTH).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.MAX_LENGTH, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int ExceedPolicy
- {
- get
- {
- int temp = 0;
- GetProperty( TextField.Property.EXCEED_POLICY).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.EXCEED_POLICY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string HorizontalAlignment
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.HORIZONTAL_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string VerticalAlignment
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.VERTICAL_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 TextColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextField.Property.TEXT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.TEXT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 PlaceholderTextColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextField.Property.PLACEHOLDER_TEXT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector2 ShadowOffset
- {
- get
- {
- Vector2 temp = new Vector2(0.0f,0.0f);
- GetProperty( TextField.Property.SHADOW_OFFSET).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SHADOW_OFFSET, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 ShadowColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextField.Property.SHADOW_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SHADOW_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 PrimaryCursorColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextField.Property.PRIMARY_CURSOR_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 SecondaryCursorColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextField.Property.SECONDARY_CURSOR_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool EnableCursorBlink
- {
- get
- {
- bool temp = false;
- GetProperty( TextField.Property.ENABLE_CURSOR_BLINK).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float CursorBlinkInterval
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextField.Property.CURSOR_BLINK_INTERVAL).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float CursorBlinkDuration
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextField.Property.CURSOR_BLINK_DURATION).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int CursorWidth
- {
- get
- {
- int temp = 0;
- GetProperty( TextField.Property.CURSOR_WIDTH).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.CURSOR_WIDTH, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string GrabHandleImage
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.GRAB_HANDLE_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string GrabHandlePressedImage
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.GRAB_HANDLE_PRESSED_IMAGE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ScrollThreshold
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextField.Property.SCROLL_THRESHOLD).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SCROLL_THRESHOLD, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ScrollSpeed
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextField.Property.SCROLL_SPEED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SCROLL_SPEED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleImageLeft
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_LEFT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleImageRight
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandlePressedImageLeft
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandlePressedImageRight
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleMarkerImageLeft
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map SelectionHandleMarkerImageRight
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 SelectionHighlightColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextField.Property.SELECTION_HIGHLIGHT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Rectangle DecorationBoundingBox
- {
- get
- {
- Rectangle temp = new Rectangle(0,0,0,0);
- GetProperty( TextField.Property.DECORATION_BOUNDING_BOX).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputMethodSettings
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.INPUT_METHOD_SETTINGS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_METHOD_SETTINGS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 InputColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextField.Property.INPUT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool EnableMarkup
- {
- get
- {
- bool temp = false;
- GetProperty( TextField.Property.ENABLE_MARKUP).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.ENABLE_MARKUP, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string InputFontFamily
- {
- get
- {
- string temp;
- GetProperty( TextField.Property.INPUT_FONT_FAMILY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_FONT_FAMILY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputFontStyle
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.INPUT_FONT_STYLE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_FONT_STYLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float InputPointSize
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextField.Property.INPUT_POINT_SIZE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_POINT_SIZE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Underline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.UNDERLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.UNDERLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputUnderline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.INPUT_UNDERLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_UNDERLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Shadow
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.SHADOW).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.SHADOW, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputShadow
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.INPUT_SHADOW).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_SHADOW, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Emboss
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.EMBOSS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.EMBOSS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputEmboss
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.INPUT_EMBOSS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_EMBOSS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Outline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.OUTLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.OUTLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map InputOutline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextField.Property.INPUT_OUTLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextField.Property.INPUT_OUTLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t InputStyleChangedSignal()
+ {
+ SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fDali__Toolkit__TextField_Dali__Toolkit__TextField__InputStyle__MaskF_t(NDalicPINVOKE.TextField_InputStyleChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
-}
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ internal enum ExceedPolicyType
+ {
+ ExceedPolicyOriginal,
+ ExceedPolicyClip
+ }
+
+ /// <summary>
+ /// RenderingBackend property.
+ /// </summary>
+ public int RenderingBackend
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextField.Property.RENDERING_BACKEND).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.RENDERING_BACKEND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Text property.
+ /// </summary>
+ public string Text
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.TEXT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.TEXT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// PlaceholderText property.
+ /// </summary>
+ public string PlaceholderText
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.PLACEHOLDER_TEXT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.PLACEHOLDER_TEXT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// PlaceholderTextFocused property.
+ /// </summary>
+ public string PlaceholderTextFocused
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.PLACEHOLDER_TEXT_FOCUSED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// FontFamily property.
+ /// </summary>
+ public string FontFamily
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.FONT_FAMILY).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// FontStyle property.
+ /// </summary>
+ public PropertyMap FontStyle
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.FONT_STYLE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// PointSize property.
+ /// </summary>
+ public float PointSize
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextField.Property.POINT_SIZE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// MaxLength property.
+ /// </summary>
+ public int MaxLength
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextField.Property.MAX_LENGTH).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.MAX_LENGTH, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// ExceedPolicy property.
+ /// </summary>
+ public int ExceedPolicy
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextField.Property.EXCEED_POLICY).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.EXCEED_POLICY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// HorizontalAlignment property.
+ /// </summary>
+ public string HorizontalAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.HORIZONTAL_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// VerticalAlignment property.
+ /// </summary>
+ public string VerticalAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.VERTICAL_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// TextColor property.
+ /// </summary>
+ public Color TextColor
+ {
+ get
+ {
+ Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextField.Property.TEXT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// PlaceholderTextColor property.
+ /// </summary>
+ public Vector4 PlaceholderTextColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.PLACEHOLDER_TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// ShadowOffset property.
+ /// </summary>
+ public Vector2 ShadowOffset
+ {
+ get
+ {
+ Vector2 temp = new Vector2(0.0f, 0.0f);
+ GetProperty(TextField.Property.SHADOW_OFFSET).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// ShadowColor property.
+ /// </summary>
+ public Vector4 ShadowColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextField.Property.SHADOW_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// PrimaryCursorColor property.
+ /// </summary>
+ public Vector4 PrimaryCursorColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextField.Property.PRIMARY_CURSOR_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.PRIMARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SecondaryCursorColor property.
+ /// </summary>
+ public Vector4 SecondaryCursorColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextField.Property.SECONDARY_CURSOR_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SECONDARY_CURSOR_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// EnableCursorBlink property.
+ /// </summary>
+ public bool EnableCursorBlink
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextField.Property.ENABLE_CURSOR_BLINK).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.ENABLE_CURSOR_BLINK, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// CursorBlinkInterval property.
+ /// </summary>
+ public float CursorBlinkInterval
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextField.Property.CURSOR_BLINK_INTERVAL).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.CURSOR_BLINK_INTERVAL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// CursorBlinkDuration property.
+ /// </summary>
+ public float CursorBlinkDuration
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextField.Property.CURSOR_BLINK_DURATION).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.CURSOR_BLINK_DURATION, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// CursorWidth property.
+ /// </summary>
+ public int CursorWidth
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextField.Property.CURSOR_WIDTH).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.CURSOR_WIDTH, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// GrabHandleImage property.
+ /// </summary>
+ public string GrabHandleImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.GRAB_HANDLE_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.GRAB_HANDLE_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// GrabHandlePressedImage property.
+ /// </summary>
+ public string GrabHandlePressedImage
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.GRAB_HANDLE_PRESSED_IMAGE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// ScrollThreshold property.
+ /// </summary>
+ public float ScrollThreshold
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextField.Property.SCROLL_THRESHOLD).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SCROLL_THRESHOLD, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// ScrollSpeed property.
+ /// </summary>
+ public float ScrollSpeed
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextField.Property.SCROLL_SPEED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleImageLeft property.
+ /// </summary>
+ public PropertyMap SelectionHandleImageLeft
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleImageRight property.
+ /// </summary>
+ public PropertyMap SelectionHandleImageRight
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SELECTION_HANDLE_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandlePressedImageLeft property.
+ /// </summary>
+ public PropertyMap SelectionHandlePressedImageLeft
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandlePressedImageRight property.
+ /// </summary>
+ public PropertyMap SelectionHandlePressedImageRight
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SELECTION_HANDLE_PRESSED_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleMarkerImageLeft property.
+ /// </summary>
+ public PropertyMap SelectionHandleMarkerImageLeft
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_LEFT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHandleMarkerImageRight property.
+ /// </summary>
+ public PropertyMap SelectionHandleMarkerImageRight
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SELECTION_HANDLE_MARKER_IMAGE_RIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// SelectionHighlightColor property.
+ /// </summary>
+ public Vector4 SelectionHighlightColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SELECTION_HIGHLIGHT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// DecorationBoundingBox property.
+ /// </summary>
+ public Rectangle DecorationBoundingBox
+ {
+ get
+ {
+ Rectangle temp = new Rectangle(0, 0, 0, 0);
+ GetProperty(TextField.Property.DECORATION_BOUNDING_BOX).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.DECORATION_BOUNDING_BOX, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputMethodSettings property.
+ /// </summary>
+ public PropertyMap InputMethodSettings
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.INPUT_METHOD_SETTINGS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_METHOD_SETTINGS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputColor property.
+ /// </summary>
+ public Vector4 InputColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextField.Property.INPUT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// EnableMarkup property.
+ /// </summary>
+ public bool EnableMarkup
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextField.Property.ENABLE_MARKUP).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputFontFamily property.
+ /// </summary>
+ public string InputFontFamily
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextField.Property.INPUT_FONT_FAMILY).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputFontStyle property.
+ /// </summary>
+ public PropertyMap InputFontStyle
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.INPUT_FONT_STYLE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_FONT_STYLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputPointSize property.
+ /// </summary>
+ public float InputPointSize
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextField.Property.INPUT_POINT_SIZE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_POINT_SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Underline property.
+ /// </summary>
+ public PropertyMap Underline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.UNDERLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputUnderline property.
+ /// </summary>
+ public PropertyMap InputUnderline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.INPUT_UNDERLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_UNDERLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Shadow property.
+ /// </summary>
+ public PropertyMap Shadow
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.SHADOW).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputShadow property.
+ /// </summary>
+ public PropertyMap InputShadow
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.INPUT_SHADOW).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_SHADOW, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Emboss property.
+ /// </summary>
+ public PropertyMap Emboss
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.EMBOSS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputEmboss property.
+ /// </summary>
+ public PropertyMap InputEmboss
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.INPUT_EMBOSS).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_EMBOSS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Outline property.
+ /// </summary>
+ public PropertyMap Outline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.OUTLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// InputOutline property.
+ /// </summary>
+ public PropertyMap InputOutline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextField.Property.INPUT_OUTLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextField.Property.INPUT_OUTLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class TextFieldSignal : global::System.IDisposable {
+ internal class TextFieldSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class TextLabel : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ /// <summary>
+ /// A control which renders a short text string.
+ /// Text labels are lightweight, non-editable and do not respond to user input.
+ /// </summary>
+ public class TextLabel : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal TextLabel(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextLabel_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextLabel obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~TextLabel() {
- DisposeQueue.Instance.Add(this);
- }
+ ~TextLabel()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Dispose
+ /// </summary>
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextLabel(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextLabel(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_TextLabel_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_TextLabel_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
- public static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
- public static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
- public static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
- public static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
- public static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
- public static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
- public static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
- public static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
- public static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextLabel_Property_SHADOW_OFFSET_get();
- public static readonly int SHADOW_COLOR = NDalicPINVOKE.TextLabel_Property_SHADOW_COLOR_get();
- public static readonly int UNDERLINE_ENABLED = NDalicPINVOKE.TextLabel_Property_UNDERLINE_ENABLED_get();
- public static readonly int UNDERLINE_COLOR = NDalicPINVOKE.TextLabel_Property_UNDERLINE_COLOR_get();
- public static readonly int UNDERLINE_HEIGHT = NDalicPINVOKE.TextLabel_Property_UNDERLINE_HEIGHT_get();
- public static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
- public static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
- public static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
- public static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
- public static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
- public static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
- public static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
- public static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
- public static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
- public static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
-
- }
-
- public TextLabel () : this (NDalicPINVOKE.TextLabel_New__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public TextLabel (string text) : this (NDalicPINVOKE.TextLabel_New__SWIG_1(text), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public TextLabel(TextLabel handle) : this(NDalicPINVOKE.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public TextLabel Assign(TextLabel handle) {
- TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_Assign(swigCPtr, TextLabel.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static TextLabel DownCast(BaseHandle handle) {
- TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
- }
-
- public int RenderingBackend
- {
- get
- {
- int temp = 0;
- GetProperty( TextLabel.Property.RENDERING_BACKEND).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.RENDERING_BACKEND, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string Text
- {
- get
- {
- string temp;
- GetProperty( TextLabel.Property.TEXT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.TEXT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string FontFamily
- {
- get
- {
- string temp;
- GetProperty( TextLabel.Property.FONT_FAMILY).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.FONT_FAMILY, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map FontStyle
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextLabel.Property.FONT_STYLE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.FONT_STYLE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float PointSize
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextLabel.Property.POINT_SIZE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.POINT_SIZE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool MultiLine
- {
- get
- {
- bool temp = false;
- GetProperty( TextLabel.Property.MULTI_LINE).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.MULTI_LINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string HorizontalAlignment
- {
- get
- {
- string temp;
- GetProperty( TextLabel.Property.HORIZONTAL_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string VerticalAlignment
- {
- get
- {
- string temp;
- GetProperty( TextLabel.Property.VERTICAL_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 TextColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextLabel.Property.TEXT_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.TEXT_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector2 ShadowOffset
- {
- get
- {
- Vector2 temp = new Vector2(0.0f,0.0f);
- GetProperty( TextLabel.Property.SHADOW_OFFSET).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.SHADOW_OFFSET, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 ShadowColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextLabel.Property.SHADOW_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.SHADOW_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool UnderlineEnabled
- {
- get
- {
- bool temp = false;
- GetProperty( TextLabel.Property.UNDERLINE_ENABLED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.UNDERLINE_ENABLED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 UnderlineColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( TextLabel.Property.UNDERLINE_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.UNDERLINE_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float UnderlineHeight
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextLabel.Property.UNDERLINE_HEIGHT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.UNDERLINE_HEIGHT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool EnableMarkup
- {
- get
- {
- bool temp = false;
- GetProperty( TextLabel.Property.ENABLE_MARKUP).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.ENABLE_MARKUP, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool EnableAutoScroll
- {
- get
- {
- bool temp = false;
- GetProperty( TextLabel.Property.ENABLE_AUTO_SCROLL).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.ENABLE_AUTO_SCROLL, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int AutoScrollSpeed
- {
- get
- {
- int temp = 0;
- GetProperty( TextLabel.Property.AUTO_SCROLL_SPEED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.AUTO_SCROLL_SPEED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int AutoScrollLoopCount
- {
- get
- {
- int temp = 0;
- GetProperty( TextLabel.Property.AUTO_SCROLL_LOOP_COUNT).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.AUTO_SCROLL_LOOP_COUNT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float AutoScrollGap
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextLabel.Property.AUTO_SCROLL_GAP).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.AUTO_SCROLL_GAP, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float LineSpacing
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TextLabel.Property.LINE_SPACING).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.LINE_SPACING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Underline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextLabel.Property.UNDERLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.UNDERLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Shadow
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextLabel.Property.SHADOW).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.SHADOW, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Emboss
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextLabel.Property.EMBOSS).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.EMBOSS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Outline
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( TextLabel.Property.OUTLINE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TextLabel.Property.OUTLINE, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ internal class Property : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
-}
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_TextLabel_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_TextLabel_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int RENDERING_BACKEND = NDalicPINVOKE.TextLabel_Property_RENDERING_BACKEND_get();
+ internal static readonly int TEXT = NDalicPINVOKE.TextLabel_Property_TEXT_get();
+ internal static readonly int FONT_FAMILY = NDalicPINVOKE.TextLabel_Property_FONT_FAMILY_get();
+ internal static readonly int FONT_STYLE = NDalicPINVOKE.TextLabel_Property_FONT_STYLE_get();
+ internal static readonly int POINT_SIZE = NDalicPINVOKE.TextLabel_Property_POINT_SIZE_get();
+ internal static readonly int MULTI_LINE = NDalicPINVOKE.TextLabel_Property_MULTI_LINE_get();
+ internal static readonly int HORIZONTAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_HORIZONTAL_ALIGNMENT_get();
+ internal static readonly int VERTICAL_ALIGNMENT = NDalicPINVOKE.TextLabel_Property_VERTICAL_ALIGNMENT_get();
+ internal static readonly int TEXT_COLOR = NDalicPINVOKE.TextLabel_Property_TEXT_COLOR_get();
+ internal static readonly int SHADOW_OFFSET = NDalicPINVOKE.TextLabel_Property_SHADOW_OFFSET_get();
+ internal static readonly int SHADOW_COLOR = NDalicPINVOKE.TextLabel_Property_SHADOW_COLOR_get();
+ internal static readonly int UNDERLINE_ENABLED = NDalicPINVOKE.TextLabel_Property_UNDERLINE_ENABLED_get();
+ internal static readonly int UNDERLINE_COLOR = NDalicPINVOKE.TextLabel_Property_UNDERLINE_COLOR_get();
+ internal static readonly int UNDERLINE_HEIGHT = NDalicPINVOKE.TextLabel_Property_UNDERLINE_HEIGHT_get();
+ internal static readonly int ENABLE_MARKUP = NDalicPINVOKE.TextLabel_Property_ENABLE_MARKUP_get();
+ internal static readonly int ENABLE_AUTO_SCROLL = NDalicPINVOKE.TextLabel_Property_ENABLE_AUTO_SCROLL_get();
+ internal static readonly int AUTO_SCROLL_SPEED = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_SPEED_get();
+ internal static readonly int AUTO_SCROLL_LOOP_COUNT = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_LOOP_COUNT_get();
+ internal static readonly int AUTO_SCROLL_GAP = NDalicPINVOKE.TextLabel_Property_AUTO_SCROLL_GAP_get();
+ internal static readonly int LINE_SPACING = NDalicPINVOKE.TextLabel_Property_LINE_SPACING_get();
+ internal static readonly int UNDERLINE = NDalicPINVOKE.TextLabel_Property_UNDERLINE_get();
+ internal static readonly int SHADOW = NDalicPINVOKE.TextLabel_Property_SHADOW_get();
+ internal static readonly int EMBOSS = NDalicPINVOKE.TextLabel_Property_EMBOSS_get();
+ internal static readonly int OUTLINE = NDalicPINVOKE.TextLabel_Property_OUTLINE_get();
+
+ }
+
+ /// <summary>
+ /// Creates the TextLabel control.
+ /// </summary>
+ public TextLabel() : this(NDalicPINVOKE.TextLabel_New__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Creates the TextLabel control.
+ /// </summary>
+ /// <param name="text">The text to display</param>
+ public TextLabel(string text) : this(NDalicPINVOKE.TextLabel_New__SWIG_1(text), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal TextLabel(TextLabel handle) : this(NDalicPINVOKE.new_TextLabel__SWIG_1(TextLabel.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal TextLabel Assign(TextLabel handle)
+ {
+ TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_Assign(swigCPtr, TextLabel.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to TextLabel.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ public new static TextLabel DownCast(BaseHandle handle)
+ {
+ TextLabel ret = new TextLabel(NDalicPINVOKE.TextLabel_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX + 1000
+ }
+
+ /// <summary>
+ /// RenderingBackend property
+ /// The type of rendering e.g. bitmap-based.
+ /// </summary>
+ public int RenderingBackend
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextLabel.Property.RENDERING_BACKEND).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.RENDERING_BACKEND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Text property
+ /// The text to display in UTF-8 format.
+ /// </summary>
+ public string Text
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextLabel.Property.TEXT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.TEXT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// FontFamily property
+ /// The requested font family to use.
+ /// </summary>
+ public string FontFamily
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextLabel.Property.FONT_FAMILY).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.FONT_FAMILY, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// FontStyle property
+ /// The requested font style to use.
+ /// </summary>
+ public PropertyMap FontStyle
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextLabel.Property.FONT_STYLE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.FONT_STYLE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// PointSize property
+ /// The size of font in points.
+ /// </summary>
+ public float PointSize
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextLabel.Property.POINT_SIZE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.POINT_SIZE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// MultiLine property
+ /// The single-line or multi-line layout option.
+ /// </summary>
+ public bool MultiLine
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextLabel.Property.MULTI_LINE).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.MULTI_LINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// HorizontalAlignment property
+ /// The line horizontal alignment.
+ /// </summary>
+ public string HorizontalAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextLabel.Property.HORIZONTAL_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// VerticalAlignment property
+ /// The line vertical alignment.
+ /// </summary>
+ public string VerticalAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextLabel.Property.VERTICAL_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// TextColor property
+ /// The color of the text.
+ /// </summary>
+ public Color TextColor
+ {
+ get
+ {
+ Color temp = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextLabel.Property.TEXT_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.TEXT_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// ShadowOffset property
+ /// The drop shadow offset 0 indicates no shadow.
+ /// </summary>
+ public Vector2 ShadowOffset
+ {
+ get
+ {
+ Vector2 temp = new Vector2(0.0f, 0.0f);
+ GetProperty(TextLabel.Property.SHADOW_OFFSET).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.SHADOW_OFFSET, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// ShadowColor property
+ /// The color of a drop shadow.
+ /// </summary>
+ public Vector4 ShadowColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextLabel.Property.SHADOW_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.SHADOW_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// UnderlineEnabled property
+ /// The underline enabled flag.
+ /// </summary>
+ public bool UnderlineEnabled
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextLabel.Property.UNDERLINE_ENABLED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.UNDERLINE_ENABLED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// UnderlineColor property
+ /// Overrides the underline height from font metrics.
+ /// </summary>
+ public Vector4 UnderlineColor
+ {
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(TextLabel.Property.UNDERLINE_COLOR).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.UNDERLINE_COLOR, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// UnderlineHeight property
+ /// Overrides the underline height from font metrics.
+ /// </summary>
+ public float UnderlineHeight
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextLabel.Property.UNDERLINE_HEIGHT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.UNDERLINE_HEIGHT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// EnableMarkup property
+ /// Whether the mark-up processing is enabled.
+ /// </summary>
+ public bool EnableMarkup
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextLabel.Property.ENABLE_MARKUP).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.ENABLE_MARKUP, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// EnableAutoScroll property
+ /// Starts or stops auto scrolling.
+ /// </summary>
+ public bool EnableAutoScroll
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(TextLabel.Property.ENABLE_AUTO_SCROLL).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.ENABLE_AUTO_SCROLL, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// AutoScrollSpeed property
+ /// Sets the speed of scrolling in pixels per second.
+ /// </summary>
+ public int AutoScrollSpeed
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextLabel.Property.AUTO_SCROLL_SPEED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.AUTO_SCROLL_SPEED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// AutoScrollLoopCount property
+ /// Number of complete loops when scrolling enabled.
+ /// </summary>
+ public int AutoScrollLoopCount
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_COUNT).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.AUTO_SCROLL_LOOP_COUNT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// AutoScrollGap property
+ /// Gap before scrolling wraps.
+ /// </summary>
+ public float AutoScrollGap
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextLabel.Property.AUTO_SCROLL_GAP).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.AUTO_SCROLL_GAP, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// LineSpacing property
+ /// The default extra space between lines in points.
+ /// </summary>
+ public float LineSpacing
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TextLabel.Property.LINE_SPACING).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.LINE_SPACING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Underline property
+ /// The default underline parameters.
+ /// </summary>
+ public PropertyMap Underline
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextLabel.Property.UNDERLINE).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.UNDERLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Shadow property
+ /// The default shadow parameters.
+ /// </summary>
+ public PropertyMap Shadow
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(TextLabel.Property.SHADOW).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.SHADOW, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Emboss property
+ /// The default emboss parameters.
+ /// </summary>
+ public string Emboss
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextLabel.Property.EMBOSS).Get( out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.EMBOSS, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// Outline property
+ /// The default outline parameters.
+ /// </summary>
+ public string Outline
+ {
+ get
+ {
+ string temp;
+ GetProperty(TextLabel.Property.OUTLINE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TextLabel.Property.OUTLINE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class Texture : BaseHandle {
+ internal class Texture : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal Texture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Texture_SWIGUpcast(cPtr), cMemoryOwn) {
return ret;
}
+ public Texture(SWIGTYPE_p_Dali__Internal__Texture pointer) : this(NDalicPINVOKE.new_Texture__SWIG_2(SWIGTYPE_p_Dali__Internal__Texture.getCPtr(pointer)), true) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
}
}
namespace Tizen.NUI {
-public class TextureSet : BaseHandle {
+ internal class TextureSet : BaseHandle {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
internal TextureSet(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextureSet_SWIGUpcast(cPtr), cMemoryOwn) {
namespace Tizen.NUI {
-public enum TextureType {
+ internal enum TextureType {
TEXTURE_2D,
TEXTURE_CUBE
}
namespace Tizen.NUI {
-public class TimePeriod : global::System.IDisposable {
+ internal class TimePeriod : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// Mechanism to issue simple periodic or one-shot events.
+ /// Timer is provided for application developers to be able to issue
+ /// simple periodic or one-shot events. Please note that timer
+ /// callback functions should return as soon as possible, because they
+ /// block the next SignalTick. Please note that timer signals are not
+ /// in sync with Dali's render timer.
+ /// This class is a handle class so it can be stack allocated and used
+ /// as a member.
+ /// </summary>
+ public class Timer : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class Timer : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Timer obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~Timer()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Timer obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Timer(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~Timer() {
- DisposeQueue.Instance.Add(this);
- }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Event arguments that passed via Tick event
+ /// </summary>
+ public class TickEventArgs : EventArgs
+ {
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Timer(swigCPtr);
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool TickCallbackDelegate(IntPtr data);
+ private EventHandlerWithReturnType<object, TickEventArgs, bool> _timerTickEventHandler;
+ private TickCallbackDelegate _timerTickCallbackDelegate;
+
+ /// <summary>
+ /// brief Event for Ticked signal which can be used to subscribe/unsubscribe the event handler
+ /// (in the type of TickEventHandler-DaliEventHandlerWithReturnType<object,TickEventArgs,bool>)
+ /// provided by the user. Ticked signal is emitted after specified time interval.
+ /// </summary>
+ public event EventHandlerWithReturnType<object, TickEventArgs, bool> Tick
+ {
+ add
+ {
+ if (_timerTickEventHandler == null)
+ {
+ _timerTickCallbackDelegate = (OnTick);
+ TickSignal().Connect(_timerTickCallbackDelegate);
+ }
+ _timerTickEventHandler += value;
+ }
+ remove
+ {
+ _timerTickEventHandler -= value;
+ if (_timerTickEventHandler == null && _timerTickCallbackDelegate != null)
+ {
+ TickSignal().Disconnect(_timerTickCallbackDelegate);
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-
-
- public Timer (uint milliSec) : this (NDalicPINVOKE.Timer_New(milliSec), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Timer Assign(Timer timer) {
- Timer ret = new Timer(NDalicPINVOKE.Timer_Assign(swigCPtr, Timer.getCPtr(timer)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public static Timer DownCast(BaseHandle handle) {
- Timer ret = new Timer(NDalicPINVOKE.Timer_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Start() {
- NDalicPINVOKE.Timer_Start(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Stop() {
- NDalicPINVOKE.Timer_Stop(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetInterval(uint milliSec) {
- NDalicPINVOKE.Timer_SetInterval(swigCPtr, milliSec);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public uint GetInterval() {
- uint ret = NDalicPINVOKE.Timer_GetInterval(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsRunning() {
- bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public BoolSignal TickSignal() {
- BoolSignal ret = new BoolSignal(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-}
+ private bool OnTick(IntPtr data)
+ {
+ TickEventArgs e = new TickEventArgs();
+
+ if (_timerTickEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ return _timerTickEventHandler(this, e);
+ }
+ return false;
+ }
+
+ /// <summary>
+ /// Creates a tick Timer that emits periodic signal.
+ /// </summary>
+ /// <param name="millSec">Interval in milliseconds</param>
+ /// <returns>A new timer</returns>
+ public Timer(uint milliSec) : this(NDalicPINVOKE.Timer_New(milliSec), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Timer Assign(Timer timer)
+ {
+ Timer ret = new Timer(NDalicPINVOKE.Timer_Assign(swigCPtr, Timer.getCPtr(timer)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to Timer handle.
+ /// </summary>
+ /// <param name="handle">handle to An object</param>
+ /// <returns>handle to a Timer object or an uninitialized handle</returns>
+ public static Timer DownCast(BaseHandle handle)
+ {
+ Timer ret = new Timer(NDalicPINVOKE.Timer_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Starts timer
+ /// In case a Timer is already running, its time is reset and timer is restarted.
+ /// </summary>
+ public void Start()
+ {
+ NDalicPINVOKE.Timer_Start(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Stops timer.
+ /// </summary>
+ public void Stop()
+ {
+ NDalicPINVOKE.Timer_Stop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Sets a new interval on the timer and starts the timer.
+ /// Cancels the previous timer.
+ /// </summary>
+ /// <param name="milliSec">milliSec Interval in milliseconds</param>
+ internal void SetInterval(uint milliSec)
+ {
+ NDalicPINVOKE.Timer_SetInterval(swigCPtr, milliSec);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal uint GetInterval()
+ {
+ uint ret = NDalicPINVOKE.Timer_GetInterval(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Tells whether timer is running.
+ /// </summary>
+ /// <returns>Whether Timer is started or not</returns>
+ public bool IsRunning()
+ {
+ bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal TimerSignalType TickSignal()
+ {
+ TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ }
}
namespace Tizen.NUI {
-public class TimerSignalType : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ internal class TimerSignalType : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
internal TimerSignalType(global::System.IntPtr cPtr, bool cMemoryOwn) {
swigCMemOwn = cMemoryOwn;
}
}
- public TimerSignalType() : this(NDalicPINVOKE.new_TimerSignalType(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
public bool Empty() {
bool ret = NDalicPINVOKE.TimerSignalType_Empty(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public void Connect(SWIGTYPE_p_f___bool func) {
- NDalicPINVOKE.TimerSignalType_Connect__SWIG_0(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Disconnect(SWIGTYPE_p_f___bool func) {
- NDalicPINVOKE.TimerSignalType_Disconnect(swigCPtr, SWIGTYPE_p_f___bool.getCPtr(func));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ public void Connect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.TimerSignalType_Connect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
}
- public void Connect(ConnectionTrackerInterface connectionTracker, SWIGTYPE_p_Dali__FunctorDelegate arg1) {
- NDalicPINVOKE.TimerSignalType_Connect__SWIG_4(swigCPtr, ConnectionTrackerInterface.getCPtr(connectionTracker), SWIGTYPE_p_Dali__FunctorDelegate.getCPtr(arg1));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ public void Disconnect(System.Delegate func) {
+System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(func);
+ {
+ NDalicPINVOKE.TimerSignalType_Disconnect(swigCPtr, new System.Runtime.InteropServices.HandleRef(this, ip));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
}
public bool Emit() {
return ret;
}
+ public TimerSignalType() : this(NDalicPINVOKE.new_TimerSignalType(), true) {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
}
}
PROPERTY_END_INDEX = View.PropertyRange.PROPERTY_START_INDEX+1000
}
- public Tizen.NUI.Property.Array StateVisuals
+ public Tizen.NUI.PropertyArray StateVisuals
{
get
{
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
GetProperty( ToggleButton.Property.STATE_VISUALS).Get( temp );
return temp;
}
set
{
- SetProperty( ToggleButton.Property.STATE_VISUALS, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ToggleButton.Property.STATE_VISUALS, new Tizen.NUI.PropertyValue( value ) );
}
}
- public Tizen.NUI.Property.Array Tooltips
+ public Tizen.NUI.PropertyArray Tooltips
{
get
{
- Tizen.NUI.Property.Array temp = new Tizen.NUI.Property.Array();
+ Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
GetProperty( ToggleButton.Property.TOOLTIPS).Get( temp );
return temp;
}
set
{
- SetProperty( ToggleButton.Property.TOOLTIPS, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ToggleButton.Property.TOOLTIPS, new Tizen.NUI.PropertyValue( value ) );
}
}
public int CurrentStateIndex
}
set
{
- SetProperty( ToggleButton.Property.CURRENT_STATE_INDEX, new Tizen.NUI.Property.Value( value ) );
+ SetProperty( ToggleButton.Property.CURRENT_STATE_INDEX, new Tizen.NUI.PropertyValue( value ) );
}
}
namespace Tizen.NUI {
-public enum ToolkitPropertyRange {
+ internal enum ToolkitPropertyRange {
VISUAL_PROPERTY_BASE_START_INDEX = PropertyRanges.CORE_PROPERTY_MAX_INDEX+1,
VISUAL_PROPERTY_BASE_END_INDEX = VISUAL_PROPERTY_BASE_START_INDEX+100,
VISUAL_PROPERTY_START_INDEX = VISUAL_PROPERTY_BASE_END_INDEX+1,
namespace Tizen.NUI {
-public enum TooltipPositionType {
+ internal enum TooltipPositionType {
ABOVE,
BELOW,
HOVER_POINT
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+ /// <summary>
+ /// Touch events are a collection of points at a specific moment in time.
+ /// When a multi-touch event occurs, each point represents the points that are currently being
+ /// touched or the points where a touch has stopped.
+ /// </summary>
+ public class Touch : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal Touch(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Touch_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class Touch : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Touch obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal Touch(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Touch_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~Touch()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Touch obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Touch(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~Touch() {
- DisposeQueue.Instance.Add(this);
- }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ internal static Touch GetTouchFromPtr(global::System.IntPtr cPtr)
+ {
+ Touch ret = new Touch(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// An uninitialized Touch instance.
+ /// Calling member functions with an uninitialized Touch handle is not allowed.
+ /// </summary>
+ public Touch() : this(NDalicPINVOKE.new_Touch__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Touch(Touch other) : this(NDalicPINVOKE.new_Touch__SWIG_1(Touch.getCPtr(other)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Touch Assign(Touch other)
+ {
+ Touch ret = new Touch(NDalicPINVOKE.Touch_Assign(swigCPtr, Touch.getCPtr(other)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the time (in ms) that the touch event occurred.
+ /// </summary>
+ /// <returns>The time (in ms) that the touch event occurred</returns>
+ public uint GetTime()
+ {
+ uint ret = NDalicPINVOKE.Touch_GetTime(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the total number of points in this TouchData.
+ /// </summary>
+ /// <returns>Total number of Points</returns>
+ public uint GetPointCount()
+ {
+ uint ret = NDalicPINVOKE.Touch_GetPointCount(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the ID of the device used for the Point specified.
+ /// Each point has a unique device ID which specifies the device used for that
+ /// point. This is returned by this method.
+ /// If point is greater than GetPointCount() then this method will return -1.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The Device ID of this point</returns>
+ public int GetDeviceId(uint point)
+ {
+ int ret = NDalicPINVOKE.Touch_GetDeviceId(swigCPtr, point);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Touch(swigCPtr);
+ /// <summary>
+ /// Retrieves the State of the point specified.
+ /// If point is greater than GetPointCount() then this method will return PointState.Finished.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The state of the point specified</returns>
+ public PointStateType GetState(uint point)
+ {
+ PointStateType ret = (PointStateType)NDalicPINVOKE.Touch_GetState(swigCPtr, point);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
+
+ /// <summary>
+ /// Retrieves the actor that was underneath the point specified.
+ /// If point is greater than GetPointCount() then this method will return an empty handle.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The actor that was underneath the point specified</returns>
+ public Actor GetHitActor(uint point)
+ {
+ Actor ret = new Actor(NDalicPINVOKE.Touch_GetHitActor(swigCPtr, point), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the co-ordinates relative to the top-left of the hit-actor at the point specified.
+ /// The top-left of an actor is (0.0, 0.0, 0.5).
+ /// If you require the local coordinates of another actor (e.g the parent of the hit actor),
+ /// then you should use Actor::ScreenToLocal().
+ /// If point is greater than GetPointCount() then this method will return Vector2.Zero.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The co-ordinates relative to the top-left of the hit-actor of the point specified</returns>
+ public Vector2 GetLocalPosition(uint point)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetLocalPosition(swigCPtr, point), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the co-ordinates relative to the top-left of the screen of the point specified.
+ /// If point is greater than GetPointCount() then this method will return Vector2.Zero.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The co-ordinates relative to the top-left of the screen of the point specified</returns>
+ public Vector2 GetScreenPosition(uint point)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetScreenPosition(swigCPtr, point), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the radius of the press point.
+ /// This is the average of both the horizontal and vertical radii of the press point.
+ /// If point is greater than GetPointCount() then this method will return 0.0f.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The radius of the press point</returns>
+ public float GetRadius(uint point)
+ {
+ float ret = NDalicPINVOKE.Touch_GetRadius(swigCPtr, point);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves BOTH the horizontal and the vertical radii of the press point.
+ /// If point is greater than GetPointCount() then this method will return Vector2.Zero.
+ /// </summary>
+ /// <param name="point">The point required</param>
+ /// <returns>The horizontal and vertical radii of the press point</returns>
+ public Vector2 GetEllipseRadius(uint point)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetEllipseRadius(swigCPtr, point), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Retrieves the touch pressure.
+ /// The pressure range starts at 0.0f.
+ /// Normal pressure is defined as 1.0f.
+ /// A value between 0.0f and 1.0f means light pressure has been applied.
+ /// A value greater than 1.0f means more pressure than normal has been applied.
+ /// If point is greater than GetPointCount() then this method will return 1.0f.
+ /// </summary>
+ /// <param name="point">point The point required</param>
+ /// <returns>The touch pressure</returns>
+ public float GetPressure(uint point)
+ {
+ float ret = NDalicPINVOKE.Touch_GetPressure(swigCPtr, point);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Degree GetAngle(uint point)
+ {
+ Degree ret = new Degree(NDalicPINVOKE.Touch_GetAngle(swigCPtr, point), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
}
- }
-
-
- public static Touch GetTouchFromPtr(global::System.IntPtr cPtr) {
- Touch ret = new Touch(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Touch() : this(NDalicPINVOKE.new_Touch__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Touch(Touch other) : this(NDalicPINVOKE.new_Touch__SWIG_1(Touch.getCPtr(other)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Touch Assign(Touch other) {
- Touch ret = new Touch(NDalicPINVOKE.Touch_Assign(swigCPtr, Touch.getCPtr(other)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetTime() {
- uint ret = NDalicPINVOKE.Touch_GetTime(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public uint GetPointCount() {
- uint ret = NDalicPINVOKE.Touch_GetPointCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public int GetDeviceId(uint point) {
- int ret = NDalicPINVOKE.Touch_GetDeviceId(swigCPtr, point);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public PointStateType GetState(uint point) {
- PointStateType ret = (PointStateType)NDalicPINVOKE.Touch_GetState(swigCPtr, point);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Actor GetHitActor(uint point) {
- Actor ret = new Actor(NDalicPINVOKE.Touch_GetHitActor(swigCPtr, point), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 GetLocalPosition(uint point) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetLocalPosition(swigCPtr, point), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 GetScreenPosition(uint point) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetScreenPosition(swigCPtr, point), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetRadius(uint point) {
- float ret = NDalicPINVOKE.Touch_GetRadius(swigCPtr, point);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 GetEllipseRadius(uint point) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Touch_GetEllipseRadius(swigCPtr, point), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetPressure(uint point) {
- float ret = NDalicPINVOKE.Touch_GetPressure(swigCPtr, point);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Degree GetAngle(uint point) {
- Degree ret = new Degree(NDalicPINVOKE.Touch_GetAngle(swigCPtr, point), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-}
+ /// <summary>
+ /// Enumeration for point state type.
+ /// </summary>
+ public enum PointStateType
+ {
+ Started,
+ Finished,
+ Down = Started,
+ Up = Finished,
+ Motion,
+ Leave,
+ Stationary,
+ Interrupted
+ }
}
namespace Tizen.NUI {
-public class TouchPoint : global::System.IDisposable {
+ internal class TouchPoint : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class TouchPointContainer : global::System.IDisposable, global::System.Collections.IEnumerable
+ internal class TouchPointContainer : global::System.IDisposable, global::System.Collections.IEnumerable
, global::System.Collections.Generic.IEnumerable<TouchPoint>
{
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
namespace Tizen.NUI {
-public class TouchSignal : global::System.IDisposable {
+ internal class TouchSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
}
}
- public TransitionData (Property.Map transition) : this (NDalicPINVOKE.TransitionData_New__SWIG_0(Property.Map.getCPtr(transition)), true) {
+ public TransitionData (PropertyMap transition) : this (NDalicPINVOKE.TransitionData_New__SWIG_0(PropertyMap.getCPtr(transition)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- public TransitionData (Property.Array transition) : this (NDalicPINVOKE.TransitionData_New__SWIG_1(Property.Array.getCPtr(transition)), true) {
+ public TransitionData (PropertyArray transition) : this (NDalicPINVOKE.TransitionData_New__SWIG_1(PropertyArray.getCPtr(transition)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
return ret;
}
- public Property.Map GetAnimatorAt(uint index) {
- Property.Map ret = new Property.Map(NDalicPINVOKE.TransitionData_GetAnimatorAt(swigCPtr, index), true);
+ public PropertyMap GetAnimatorAt(uint index) {
+ PropertyMap ret = new PropertyMap(NDalicPINVOKE.TransitionData_GetAnimatorAt(swigCPtr, index), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
- public TransitionData(SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData impl) : this(NDalicPINVOKE.new_TransitionData__SWIG_2(SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData.getCPtr(impl)), true) {
+ internal TransitionData(SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData impl) : this(NDalicPINVOKE.new_TransitionData__SWIG_2(SWIGTYPE_p_Dali__Toolkit__Internal__TransitionData.getCPtr(impl)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
namespace Tizen.NUI {
-public class TypeAction : global::System.IDisposable {
+ internal class TypeAction : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
return ret;
}
- public void GetPropertyIndices(VectorInteger indices) {
+ internal void GetPropertyIndices(VectorInteger indices) {
NDalicPINVOKE.TypeInfo_GetPropertyIndices(swigCPtr, VectorInteger.getCPtr(indices));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
namespace Tizen.NUI {
-public class TypeRegistration : global::System.IDisposable {
+ internal class TypeRegistration : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
}
}
- public static void RegisterProperty(string controlName, string propertyName, int index, Property.Type type, System.Delegate setFunc, System.Delegate getFunc) {
+ public static void RegisterProperty(string controlName, string propertyName, int index, PropertyType type, System.Delegate setFunc, System.Delegate getFunc) {
System.IntPtr ip = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(setFunc);
System.IntPtr ip2 = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate(getFunc);
{
return ret;
}
- public TypeInfo GetTypeInfo(SWIGTYPE_p_std__type_info registerType) {
+ internal TypeInfo GetTypeInfo(SWIGTYPE_p_std__type_info registerType) {
TypeInfo ret = new TypeInfo(NDalicPINVOKE.TypeRegistry_GetTypeInfo__SWIG_1(swigCPtr, SWIGTYPE_p_std__type_info.getCPtr(registerType)), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
return ret;
}
- public TypeRegistry(SWIGTYPE_p_Dali__Internal__TypeRegistry typeRegistry) : this(NDalicPINVOKE.new_TypeRegistry__SWIG_2(SWIGTYPE_p_Dali__Internal__TypeRegistry.getCPtr(typeRegistry)), true) {
+ internal TypeRegistry(SWIGTYPE_p_Dali__Internal__TypeRegistry typeRegistry) : this(NDalicPINVOKE.new_TypeRegistry__SWIG_2(SWIGTYPE_p_Dali__Internal__TypeRegistry.getCPtr(typeRegistry)), true) {
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
namespace Tizen.NUI {
-public class Uint16Pair : global::System.IDisposable {
+ internal class Uint16Pair : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Vector2 : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ /// <summary>
+ /// A two dimensional vector.
+ /// </summary>
+ public class Vector2 : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Vector2(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Vector2(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector2 obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector2 obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Vector2() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Vector2()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector2(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Vector2(swigCPtr);
+ /// <summary>
+ /// Addition operator.
+ /// </summary>
+ /// <param name="arg1">First value</param>
+ /// <param name="arg2">Second value</param>
+ /// <returns>A vector containing the result of the addition</returns>
+ public static Vector2 operator +(Vector2 arg1, Vector2 arg2)
+ {
+ return arg1.Add(arg2);
+ }
+
+ /// <summary>
+ /// Subtraction operator.
+ /// </summary>
+ /// <param name="arg1">First value</param>
+ /// <param name="arg2">Second value</param>
+ /// <returns>A vector containing the result of the subtraction</returns>
+ public static Vector2 operator -(Vector2 arg1, Vector2 arg2)
+ {
+ return arg1.Subtract(arg2);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
+ /// <summary>
+ /// Unary negation operator.
+ /// </summary>
+ /// <param name="arg1">Target Value</param>
+ /// <returns>A vector containg the negation</returns>
+ public static Vector2 operator -(Vector2 arg1)
+ {
+ return arg1.Subtract();
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the multiplication</returns>
+ public static Vector2 operator *(Vector2 arg1, Vector2 arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
- public static Vector2 operator+(Vector2 arg1, Vector2 arg2) {
- return arg1.Add(arg2);
- }
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">The float value to scale the vector</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Vector2 operator *(Vector2 arg1, float arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
- public static Vector2 operator-(Vector2 arg1, Vector2 arg2) {
- return arg1.Subtract(arg2);
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the division</returns>
+ public static Vector2 operator /(Vector2 arg1, Vector2 arg2)
+ {
+ return arg1.Divide(arg2);
+ }
- public static Vector2 operator-(Vector2 arg1) {
- return arg1.Subtract();
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">The float value to scale the vector by</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Vector2 operator /(Vector2 arg1, float arg2)
+ {
+ return arg1.Divide(arg2);
+ }
- public static Vector2 operator*(Vector2 arg1, Vector2 arg2) {
- return arg1.Multiply(arg2);
- }
+ /// <summary>
+ /// Array subscript operator overload.
+ /// </summary>
+ /// <param name="index">Subscript index</param>
+ /// <returns>The float at the given index</returns>
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
- public static Vector2 operator*(Vector2 arg1, float arg2) {
- return arg1.Multiply(arg2);
- }
+ internal static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr)
+ {
+ Vector2 ret = new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Vector2 operator/(Vector2 arg1, Vector2 arg2) {
- return arg1.Divide(arg2);
- }
+ /// <summary>
+ /// Default constructor, initializes the vector to 0.
+ /// </summary>
+ public Vector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public static Vector2 operator/(Vector2 arg1, float arg2) {
- return arg1.Divide(arg2);
- }
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="x">x or width component</param>
+ /// <param name="y">y or height component</param>
+ public Vector2(float x, float y) : this(NDalicPINVOKE.new_Vector2__SWIG_1(x, y), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public float this[uint index]
- {
- get
- {
- return ValueOfIndex(index);
- }
- }
-
- public static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr) {
- Vector2 ret = new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
-
- public Vector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2(float x, float y) : this(NDalicPINVOKE.new_Vector2__SWIG_1(x, y), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2(float[] array) : this(NDalicPINVOKE.new_Vector2__SWIG_2(array), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2(Vector3 vec3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Vector3.getCPtr(vec3)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector2(Vector4 vec4) : this(NDalicPINVOKE.new_Vector2__SWIG_4(Vector4.getCPtr(vec4)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static Vector2 ONE {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_ONE_get();
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector2 XAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_XAXIS_get();
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector2 YAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_YAXIS_get();
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector2 NEGATIVE_XAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_NEGATIVE_XAXIS_get();
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector2 NEGATIVE_YAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_NEGATIVE_YAXIS_get();
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector2 ZERO {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_ZERO_get();
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public Vector2 Assign(float[] array) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_0(swigCPtr, array), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Assign(Vector3 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_1(swigCPtr, Vector3.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Assign(Vector4 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_2(swigCPtr, Vector4.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Add(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 AddAssign(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Subtract(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 SubtractAssign(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_SubtractAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Multiply(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Multiply(float rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 MultiplyAssign(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 MultiplyAssign(float rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Divide(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Divide(float rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 DivideAssign(Vector2 rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 DivideAssign(float rhs) {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_1(swigCPtr, rhs), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 Subtract() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool EqualTo(Vector2 rhs) {
- bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool NotEqualTo(Vector2 rhs) {
- bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float ValueOfIndex(uint index) {
- float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Length() {
- float ret = NDalicPINVOKE.Vector2_Length(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float LengthSquared() {
- float ret = NDalicPINVOKE.Vector2_LengthSquared(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Normalize() {
- NDalicPINVOKE.Vector2_Normalize(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Clamp(Vector2 min, Vector2 max) {
- NDalicPINVOKE.Vector2_Clamp(swigCPtr, Vector2.getCPtr(min), Vector2.getCPtr(max));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public SWIGTYPE_p_float AsFloat() {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_AsFloat__SWIG_0(swigCPtr);
- SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float X {
- set {
- NDalicPINVOKE.Vector2_X_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Width {
- set {
- NDalicPINVOKE.Vector2_Width_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Y {
- set {
- NDalicPINVOKE.Vector2_Y_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Height {
- set {
- NDalicPINVOKE.Vector2_Height_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ /// <summary>
+ /// Conversion constructor from an array of two floats.
+ /// </summary>
+ /// <param name="array">Array of xy</param>
+ public Vector2(float[] array) : this(NDalicPINVOKE.new_Vector2__SWIG_2(array), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="vec3">Vector3 to create this vector from</param>
+ public Vector2(Vector3 vec3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Vector3.getCPtr(vec3)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="vec4">Vector4 to create this vector from</param>
+ public Vector2(Vector4 vec4) : this(NDalicPINVOKE.new_Vector2__SWIG_4(Vector4.getCPtr(vec4)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// (1.0f,1.0f)
+ /// </summary>
+ public static Vector2 One
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_ONE_get();
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the X axis
+ /// </summary>
+ public static Vector2 XAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_XAXIS_get();
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the Y axis
+ /// </summary>
+ public static Vector2 YAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_YAXIS_get();
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the negative X axis
+ /// </summary>
+ public static Vector2 NegativeXAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_NEGATIVE_XAXIS_get();
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the negative Y axis
+ /// </summary>
+ public static Vector2 NegativeYAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_NEGATIVE_YAXIS_get();
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// (0.0f, 0.0f)
+ /// </summary>
+ public static Vector2 Zero
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_ZERO_get();
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal Vector2 Assign(float[] array)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_0(swigCPtr, array), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Assign(Vector3 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_1(swigCPtr, Vector3.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Assign(Vector4 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Assign__SWIG_2(swigCPtr, Vector4.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Add(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 AddAssign(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Subtract(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 SubtractAssign(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_SubtractAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Multiply(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Multiply(float rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 MultiplyAssign(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 MultiplyAssign(float rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Divide(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Divide(float rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 DivideAssign(Vector2 rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 DivideAssign(float rhs)
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector2 Subtract()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool EqualTo(Vector2 rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool NotEqualTo(Vector2 rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float ValueOfIndex(uint index)
+ {
+ float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the length of the vector.
+ /// </summary>
+ /// <returns>The length of the vector</returns>
+ public float Length()
+ {
+ float ret = NDalicPINVOKE.Vector2_Length(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the length of the vector squared.
+ /// This is more efficient than Length() for threshold
+ /// testing as it avoids the use of a square root.
+ /// </summary>
+ /// <returns>The length of the vector squared</returns>
+ public float LengthSquared()
+ {
+ float ret = NDalicPINVOKE.Vector2_LengthSquared(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the vector to be unit length, whilst maintaining its direction.
+ /// </summary>
+ public void Normalize()
+ {
+ NDalicPINVOKE.Vector2_Normalize(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Clamps the vector between minimum and maximum vectors.
+ /// </summary>
+ /// <param name="min">The minimum vector</param>
+ /// <param name="max">The maximum vector</param>
+ public void Clamp(Vector2 min, Vector2 max)
+ {
+ NDalicPINVOKE.Vector2_Clamp(swigCPtr, Vector2.getCPtr(min), Vector2.getCPtr(max));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal SWIGTYPE_p_float AsFloat()
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_AsFloat__SWIG_0(swigCPtr);
+ SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// x component
+ /// </summary>
+ public float X
+ {
+ set
+ {
+ NDalicPINVOKE.Vector2_X_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// width
+ /// </summary>
+ public float Width
+ {
+ set
+ {
+ NDalicPINVOKE.Vector2_Width_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// y component
+ /// </summary>
+ public float Y
+ {
+ set
+ {
+ NDalicPINVOKE.Vector2_Y_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// height
+ /// </summary>
+ public float Height
+ {
+ set
+ {
+ NDalicPINVOKE.Vector2_Height_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Vector3 : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ /// <summary>
+ /// A three dimensional vector.
+ /// </summary>
+ public class Vector3 : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Vector3() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Vector3()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector3(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Vector3(swigCPtr);
+ /// <summary>
+ /// Addition operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the addition</returns>
+ public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
+ {
+ return arg1.Add(arg2);
+ }
+
+ /// <summary>
+ /// Subtraction operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the subtraction</returns>
+ public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
+ {
+ return arg1.Subtract(arg2);
+ }
+
+ /// <summary>
+ /// Unary negation operator.
+ /// </summary>
+ /// <param name="arg1">Target Value</param>
+ /// <returns>A vector containg the negation</returns>
+ public static Vector3 operator -(Vector3 arg1)
+ {
+ return arg1.Subtract();
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the multiplication</returns>
+ public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">The float value to scale the vector</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Vector3 operator *(Vector3 arg1, float arg2)
+ {
+ return arg1.Multiply(arg2);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the division</returns>
+ public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
+ {
+ return arg1.Divide(arg2);
+ }
- public static Vector3 operator+(Vector3 arg1, Vector3 arg2) {
- return arg1.Add(arg2);
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">The float value to scale the vector by</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Vector3 operator /(Vector3 arg1, float arg2)
+ {
+ return arg1.Divide(arg2);
+ }
- public static Vector3 operator-(Vector3 arg1, Vector3 arg2) {
- return arg1.Subtract(arg2);
- }
+ /// <summary>
+ /// Array subscript operator overload.
+ /// </summary>
+ /// <param name="index">Subscript index</param>
+ /// <returns>The float at the given index</returns>
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
- public static Vector3 operator-(Vector3 arg1) {
- return arg1.Subtract();
- }
+ internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
+ {
+ Vector3 ret = new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Vector3 operator*(Vector3 arg1, Vector3 arg2) {
- return arg1.Multiply(arg2);
- }
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ public Vector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public static Vector3 operator*(Vector3 arg1, float arg2) {
- return arg1.Multiply(arg2);
- }
+ /// <summary>
+ /// Default constructor, initializes the vector to 0.
+ /// </summary>
+ /// <param name="x">x (or width) component</param>
+ /// <param name="y">y (or height) component</param>
+ /// <param name="z">z (or depth) component</param>
+ public Vector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public static Vector3 operator/(Vector3 arg1, Vector3 arg2) {
- return arg1.Divide(arg2);
- }
+ /// <summary>
+ /// Conversion constructor from an array of three floats.
+ /// </summary>
+ /// <param name="array">Array of xyz</param>
+ public Vector3(float[] array) : this(NDalicPINVOKE.new_Vector3__SWIG_2(array), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public static Vector3 operator/(Vector3 arg1, float arg2) {
- return arg1.Divide(arg2);
- }
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="vec2">Vector2 to create this vector from</param>
+ public Vector3(Vector2 vec2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public float this[uint index]
- {
- get
- {
- return ValueOfIndex(index);
- }
- }
-
- public static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr) {
- Vector3 ret = new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
-
- public Vector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3(float[] array) : this(NDalicPINVOKE.new_Vector3__SWIG_2(array), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3(Vector2 vec2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Vector2.getCPtr(vec2)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector3(Vector4 vec4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static Vector3 ONE {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector3 XAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector3 YAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector3 ZAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector3 NEGATIVE_XAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector3 NEGATIVE_YAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector3 NEGATIVE_ZAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector3 ZERO {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
- Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public Vector3 Assign(float[] array) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_0(swigCPtr, array), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Assign(Vector2 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_1(swigCPtr, Vector2.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Assign(Vector4 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_2(swigCPtr, Vector4.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Add(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 AddAssign(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Subtract(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 SubtractAssign(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Multiply(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Multiply(float rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 MultiplyAssign(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 MultiplyAssign(float rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 MultiplyAssign(Quaternion rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Quaternion.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Divide(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Divide(float rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 DivideAssign(Vector3 rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 DivideAssign(float rhs) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Subtract() {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool EqualTo(Vector3 rhs) {
- bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool NotEqualTo(Vector3 rhs) {
- bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float ValueOfIndex(uint index) {
- float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Dot(Vector3 other) {
- float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector3 Cross(Vector3 other) {
- Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Length() {
- float ret = NDalicPINVOKE.Vector3_Length(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float LengthSquared() {
- float ret = NDalicPINVOKE.Vector3_LengthSquared(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Normalize() {
- NDalicPINVOKE.Vector3_Normalize(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Clamp(Vector3 min, Vector3 max) {
- NDalicPINVOKE.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public SWIGTYPE_p_float AsFloat() {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_AsFloat__SWIG_0(swigCPtr);
- SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 GetVectorXY() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector2 GetVectorYZ() {
- Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float X {
- set {
- NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Width {
- set {
- NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float r {
- set {
- NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Y {
- set {
- NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Height {
- set {
- NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float g {
- set {
- NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Z {
- set {
- NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Depth {
- set {
- NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float b {
- set {
- NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ /// <summary>
+ /// Constructor
+ /// </summary>
+ /// <param name="vec4">Vector4 to create this vector from</param>
+ public Vector3(Vector4 vec4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(Vector4.getCPtr(vec4)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// (1.0f,1.0f,1.0f)
+ /// </summary>
+ public static Vector3 One
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the X axis
+ /// </summary>
+ public static Vector3 XAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the Y axis
+ /// </summary>
+ public static Vector3 YAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the Z axis
+ /// </summary>
+ public static Vector3 ZAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the negative X axis
+ /// </summary>
+ public static Vector3 NegativeXAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the negative Y axis
+ /// </summary>
+ public static Vector3 NegativeYAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// Vector representing the negative Z axis
+ /// </summary>
+ public static Vector3 NegativeZAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// (0.0f, 0.0f, 0.0f)
+ /// </summary>
+ public static Vector3 Zero
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+ Vector3 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector3(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal Vector3 Assign(float[] array)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_0(swigCPtr, array), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Assign(Vector2 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_1(swigCPtr, Vector2.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Assign(Vector4 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Assign__SWIG_2(swigCPtr, Vector4.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Add(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 AddAssign(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Subtract(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 SubtractAssign(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Multiply(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Multiply(float rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 MultiplyAssign(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 MultiplyAssign(float rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 MultiplyAssign(Rotation rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Divide(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Divide(float rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 DivideAssign(Vector3 rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 DivideAssign(float rhs)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Subtract()
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool EqualTo(Vector3 rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool NotEqualTo(Vector3 rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float ValueOfIndex(uint index)
+ {
+ float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float Dot(Vector3 other)
+ {
+ float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector3 Cross(Vector3 other)
+ {
+ Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the length of the vector.
+ /// </summary>
+ /// <returns>The length of the vector</returns>
+ public float Length()
+ {
+ float ret = NDalicPINVOKE.Vector3_Length(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the length of the vector squared.
+ /// This is more efficient than Length() for threshold
+ /// testing as it avoids the use of a square root.
+ /// </summary>
+ /// <returns>The length of the vector squared</returns>
+ public float LengthSquared()
+ {
+ float ret = NDalicPINVOKE.Vector3_LengthSquared(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the vector to be unit length, whilst maintaining its direction.
+ /// </summary>
+ public void Normalize()
+ {
+ NDalicPINVOKE.Vector3_Normalize(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Clamps the vector between minimum and maximum vectors.
+ /// </summary>
+ /// <param name="min">The minimum vector</param>
+ /// <param name="max">The maximum vector</param>
+ public void Clamp(Vector3 min, Vector3 max)
+ {
+ NDalicPINVOKE.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal SWIGTYPE_p_float AsFloat()
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_AsFloat__SWIG_0(swigCPtr);
+ SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the x & y components (or width & height, or r & g) as a Vector2.
+ /// </summary>
+ /// <returns>The partial vector contents as Vector2 (x,y)</returns>
+ public Vector2 GetVectorXY()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the y & z components (or height & depth, or g & b) as a Vector2.
+ /// </summary>
+ /// <returns>The partial vector contents as Vector2 (y,z)</returns>
+ public Vector2 GetVectorYZ()
+ {
+ Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// x component
+ /// </summary>
+ public float X
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// width component
+ /// </summary>
+ public float Width
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// red component
+ /// </summary>
+ public float R
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// y component
+ /// </summary>
+ public float Y
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// height component
+ /// </summary>
+ public float Height
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// green component
+ /// </summary>
+ public float G
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// z component
+ /// </summary>
+ public float Z
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// depth component
+ /// </summary>
+ public float Depth
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// blue component
+ /// </summary>
+ public float B
+ {
+ set
+ {
+ NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Vector4 : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ /// <summary>
+ /// A four dimensional vector.
+ /// </summary>
+ public class Vector4 : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Vector4() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Vector4()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Vector4(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Vector4(swigCPtr);
+ /// <summary>
+ /// Addition operator.
+ /// </summary>
+ /// <param name="arg1">First value</param>
+ /// <param name="arg2">Second value</param>
+ /// <returns>A vector containing the result of the addition</returns>
+ public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
+ {
+ return arg1.Add(arg2);
+ }
+
+ /// <summary>
+ /// Subtraction operator.
+ /// </summary>
+ /// <param name="arg1">First value</param>
+ /// <param name="arg2">Second value</param>
+ /// <returns>A vector containing the result of the subtraction</returns>
+ public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
+ {
+ return arg1.Subtract(arg2);
+ }
+
+ /// <summary>
+ /// Unary negation operator.
+ /// </summary>
+ /// <param name="arg1">Target Value</param>
+ /// <returns>A vector containg the negation</returns>
+ public static Vector4 operator -(Vector4 arg1)
+ {
+ return arg1.Subtract();
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the multiplication</returns>
+ public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
+ {
+ return arg1.Multiply(arg2);
+ }
+
+ /// <summary>
+ /// Multiplication operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">The float value to scale the vector</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Vector4 operator *(Vector4 arg1, float arg2)
+ {
+ return arg1.Multiply(arg2);
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">Second Value</param>
+ /// <returns>A vector containing the result of the division</returns>
+ public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
+ {
+ return arg1.Divide(arg2);
+ }
- public static Vector4 operator+(Vector4 arg1, Vector4 arg2) {
- return arg1.Add(arg2);
- }
+ /// <summary>
+ /// Division operator.
+ /// </summary>
+ /// <param name="arg1">First Value</param>
+ /// <param name="arg2">The float value to scale the vector by</param>
+ /// <returns>A vector containing the result of the scaling</returns>
+ public static Vector4 operator /(Vector4 arg1, float arg2)
+ {
+ return arg1.Divide(arg2);
+ }
- public static Vector4 operator-(Vector4 arg1, Vector4 arg2) {
- return arg1.Subtract(arg2);
- }
+ /// <summary>
+ /// Array subscript operator overload.
+ /// </summary>
+ /// <param name="index">Subscript index</param>
+ /// <returns>The float at the given index</returns>
+ public float this[uint index]
+ {
+ get
+ {
+ return ValueOfIndex(index);
+ }
+ }
- public static Vector4 operator-(Vector4 arg1) {
- return arg1.Subtract();
- }
+ internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
+ {
+ Vector4 ret = new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public static Vector4 operator*(Vector4 arg1, Vector4 arg2) {
- return arg1.Multiply(arg2);
- }
+ /// <summary>
+ /// Default constructor, initializes the vector to 0.
+ /// </summary>
+ public Vector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public static Vector4 operator*(Vector4 arg1, float arg2) {
- return arg1.Multiply(arg2);
- }
+ /// <summary>
+ /// Conversion constructor from four floats.
+ /// </summary>
+ /// <param name="x">x (or r/s) component</param>
+ /// <param name="y">y (or g/t) component</param>
+ /// <param name="z">z (or b/p) component</param>
+ /// <param name="w">w (or a/q) component</param>
+ public Vector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(x, y, z, w), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public static Vector4 operator/(Vector4 arg1, Vector4 arg2) {
- return arg1.Divide(arg2);
- }
+ /// <summary>
+ /// Conversion constructor from an array of four floats.
+ /// </summary>
+ /// <param name="array">array Array of either xyzw/rgba/stpq</param>
+ public Vector4(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public static Vector4 operator/(Vector4 arg1, float arg2) {
- return arg1.Divide(arg2);
- }
+ /// <summary>
+ /// Conversion constructor from Vector2.
+ /// </summary>
+ /// <param name="vec2">Vector2 to copy from, z and w are initialized to 0</param>
+ public Vector4(Vector2 vec2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(Vector2.getCPtr(vec2)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public float this[uint index]
- {
- get
- {
- return ValueOfIndex(index);
- }
- }
-
- public static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr) {
- Vector4 ret = new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
-
- public Vector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(x, y, z, w), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4(Vector2 vec2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(Vector2.getCPtr(vec2)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4(Vector3 vec3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(Vector3.getCPtr(vec3)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static Vector4 ONE {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ONE_get();
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector4 XAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_XAXIS_get();
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector4 YAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_YAXIS_get();
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector4 ZAXIS {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZAXIS_get();
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public static Vector4 ZERO {
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZERO_get();
- Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public Vector4 Assign(float[] array) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_0(swigCPtr, array), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Assign(Vector2 vec2) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_1(swigCPtr, Vector2.getCPtr(vec2)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Assign(Vector3 vec3) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_2(swigCPtr, Vector3.getCPtr(vec3)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Add(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 AddAssign(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Subtract(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 SubtractAssign(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Multiply(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Multiply(float rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 MultiplyAssign(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 MultiplyAssign(float rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Divide(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Divide(float rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 DivideAssign(Vector4 rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 DivideAssign(float rhs) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Subtract() {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool EqualTo(Vector4 rhs) {
- bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool NotEqualTo(Vector4 rhs) {
- bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float ValueOfIndex(uint index) {
- float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Dot(Vector3 other) {
- float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Dot(Vector4 other) {
- float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Dot4(Vector4 other) {
- float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Vector4 Cross(Vector4 other) {
- Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float Length() {
- float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float LengthSquared() {
- float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Normalize() {
- NDalicPINVOKE.Vector4_Normalize(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Clamp(Vector4 min, Vector4 max) {
- NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public SWIGTYPE_p_float AsFloat() {
- global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
- SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float X {
- set {
- NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float r {
- set {
- NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float s {
- set {
- NDalicPINVOKE.Vector4_s_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_s_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Y {
- set {
- NDalicPINVOKE.Vector4_Y_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float g {
- set {
- NDalicPINVOKE.Vector4_g_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float t {
- set {
- NDalicPINVOKE.Vector4_t_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_t_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float Z {
- set {
- NDalicPINVOKE.Vector4_Z_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float b {
- set {
- NDalicPINVOKE.Vector4_b_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float p {
- set {
- NDalicPINVOKE.Vector4_p_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_p_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float W {
- set {
- NDalicPINVOKE.Vector4_W_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float a {
- set {
- NDalicPINVOKE.Vector4_a_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public float q {
- set {
- NDalicPINVOKE.Vector4_q_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- float ret = NDalicPINVOKE.Vector4_q_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
+ /// <summary>
+ /// Conversion constructor from Vector3.
+ /// </summary>
+ /// <param name="vec3">Vector3 to copy from, w is initialized to 0</param>
+ public Vector4(Vector3 vec3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(Vector3.getCPtr(vec3)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
-}
+ /// <summary>
+ /// (1.0f,1.0f,1.0f,1.0f)
+ /// </summary>
+ public static Vector4 One
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ONE_get();
+ Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// (1.0f,0.0f,0.0f,0.0f)
+ /// </summary>
+ public static Vector4 XAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_XAXIS_get();
+ Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// (0.0f,1.0f,0.0f,0.0f)
+ /// </summary>
+ public static Vector4 YAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_YAXIS_get();
+ Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// (0.0f,0.0f,1.0f,0.0f)
+ /// </summary>
+ public static Vector4 ZAxis
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZAXIS_get();
+ Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// (0.0f, 0.0f, 0.0f, 0.0f)
+ /// </summary>
+ public static Vector4 Zero
+ {
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_ZERO_get();
+ Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ internal Vector4 Assign(float[] array)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_0(swigCPtr, array), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Assign(Vector2 vec2)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_1(swigCPtr, Vector2.getCPtr(vec2)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Assign(Vector3 vec3)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Assign__SWIG_2(swigCPtr, Vector3.getCPtr(vec3)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Add(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 AddAssign(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Subtract(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 SubtractAssign(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Multiply(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Multiply(float rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 MultiplyAssign(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 MultiplyAssign(float rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Divide(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Divide(float rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 DivideAssign(Vector4 rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 DivideAssign(float rhs)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Subtract()
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool EqualTo(Vector4 rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal bool NotEqualTo(Vector4 rhs)
+ {
+ bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float ValueOfIndex(uint index)
+ {
+ float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float Dot(Vector3 other)
+ {
+ float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float Dot(Vector4 other)
+ {
+ float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal float Dot4(Vector4 other)
+ {
+ float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Vector4 Cross(Vector4 other)
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the length of the vector.
+ /// </summary>
+ /// <returns>The length</returns>
+ public float Length()
+ {
+ float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the length of the vector squared.
+ /// This is faster than using Length() when performing
+ /// threshold checks as it avoids use of the square root.
+ /// </summary>
+ /// <returns>The length of the vector squared</returns>
+ public float LengthSquared()
+ {
+ float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Normalizes the vector.
+ /// Sets the vector to unit length whilst maintaining its direction.
+ /// </summary>
+ public void Normalize()
+ {
+ NDalicPINVOKE.Vector4_Normalize(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Clamps the vector between minimum and maximum vectors.
+ /// </summary>
+ /// <param name="min">The minimum vector</param>
+ /// <param name="max">The maximum vector</param>
+ public void Clamp(Vector4 min, Vector4 max)
+ {
+ NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal SWIGTYPE_p_float AsFloat()
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
+ SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// x component
+ /// </summary>
+ public float X
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// red component
+ /// </summary>
+ public float R
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// s component
+ /// </summary>
+ public float S
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_s_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_s_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// y component
+ /// </summary>
+ public float Y
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_Y_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// green component
+ /// </summary>
+ public float G
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_g_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// t component
+ /// </summary>
+ public float T
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_t_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_t_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// z component
+ /// </summary>
+ public float Z
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_Z_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// blue component
+ /// </summary>
+ public float B
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_b_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// p component
+ /// </summary>
+ public float P
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_p_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_p_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// w component
+ /// </summary>
+ public float W
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_W_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// alpha component
+ /// </summary>
+ public float A
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_a_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// q component
+ /// </summary>
+ public float Q
+ {
+ set
+ {
+ NDalicPINVOKE.Vector4_q_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ float ret = NDalicPINVOKE.Vector4_q_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class VectorBase : global::System.IDisposable {
+ internal class VectorBase : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class VectorFloat : global::System.IDisposable {
+ internal class VectorFloat : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class VectorInteger : global::System.IDisposable {
+internal class VectorInteger : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class VectorUint16Pair : global::System.IDisposable {
+ internal class VectorUint16Pair : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class VectorUnsignedChar : global::System.IDisposable {
+ internal class VectorUnsignedChar : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
+++ /dev/null
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
-
-public enum VerticalAlignmentType {
- TOP,
- CENTER,
- BOTTOM
-}
-
-}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-using System;
-using System.Runtime.InteropServices;
+ using System;
+ using System.Runtime.InteropServices;
+ /// <summary>
+ /// VideoView is a control for video playback and display.
+ /// </summary>
+ public class VideoView : View
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class VideoView : View {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal VideoView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VideoView_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal VideoView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VideoView_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VideoView obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VideoView obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ ~VideoView()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- ~VideoView() {
- DisposeQueue.Instance.Add(this);
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_VideoView(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Event arguments that passed via Finished signal
+ /// </summary>
+ public class FinishedEventArgs : EventArgs
+ {
+ private VideoView _videoView;
+
+ /// <summary>
+ /// The view for video playback and display.
+ /// </summary>
+ public VideoView VideoView
+ {
+ get
+ {
+ return _videoView;
+ }
+ set
+ {
+ _videoView = value;
+ }
+ }
+ }
+
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void FinishedCallbackDelegate(IntPtr data);
+ private EventHandler<FinishedEventArgs> _videoViewFinishedEventHandler;
+ private FinishedCallbackDelegate _videoViewFinishedCallbackDelegate;
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_VideoView(swigCPtr);
+
+ /// <summary>
+ /// Event for Finished signal which can be used to subscribe/unsubscribe the event handler
+ /// (in the type of FinishedEventHandler-DaliEventHandler<object,FinishedEventArgs>) provided by the user.
+ /// Finished signal is emitted when a video playback have finished.
+ /// </summary>
+ public event EventHandler<FinishedEventArgs> Finished
+ {
+ add
+ {
+ if (_videoViewFinishedEventHandler == null)
+ {
+ _videoViewFinishedCallbackDelegate = (OnFinished);
+ FinishedSignal().Connect(_videoViewFinishedCallbackDelegate);
+ }
+ _videoViewFinishedEventHandler += value;
+ }
+ remove
+ {
+ _videoViewFinishedEventHandler -= value;
+ if (_videoViewFinishedEventHandler == null && _videoViewFinishedCallbackDelegate != null)
+ {
+ FinishedSignal().Disconnect(_videoViewFinishedCallbackDelegate);
+ }
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
+ // Callback for VideoView Finished signal
+ private void OnFinished(IntPtr data)
+ {
+ FinishedEventArgs e = new FinishedEventArgs();
+ // Populate all members of "e" (FinishedEventArgs) with real data
+ e.VideoView = VideoView.GetVideoViewFromPtr(data);
-/**
- * @brief Event arguments that passed via Finished signal
- *
- */
-public class FinishedEventArgs : EventArgs
-{
- private VideoView _videoView;
-
- /**
- * @brief VideoView - VideoView is a control for video playback and display.
- *
- */
- public VideoView VideoView
- {
- get
- {
- return _videoView;
- }
- set
- {
- _videoView = value;
- }
- }
-}
+ if (_videoViewFinishedEventHandler != null)
+ {
+ //here we send all data to user event handlers
+ _videoViewFinishedEventHandler(this, e);
+ }
+ }
+ internal static VideoView GetVideoViewFromPtr(global::System.IntPtr cPtr)
+ {
+ VideoView ret = new VideoView(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void FinishedCallbackDelegate(IntPtr data);
- private DaliEventHandler<object,FinishedEventArgs> _videoViewFinishedEventHandler;
- private FinishedCallbackDelegate _videoViewFinishedCallbackDelegate;
-
- /**
- * @brief Event for Finished signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of FinishedEventHandler-DaliEventHandler<object,FinishedEventArgs>) provided by the user.
- * Finished signal is emitted when a video playback have finished.
- */
- public event DaliEventHandler<object,FinishedEventArgs> Finished
- {
- add
- {
- lock(this)
+
+ internal class Property : global::System.IDisposable
{
- // Restricted to only one listener
- if (_videoViewFinishedEventHandler == null)
- {
- _videoViewFinishedEventHandler += value;
-
- _videoViewFinishedCallbackDelegate = new FinishedCallbackDelegate(OnFinished);
- this.FinishedSignal().Connect(_videoViewFinishedCallbackDelegate);
- }
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_VideoView_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal Property() : this(NDalicPINVOKE.new_VideoView_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int VIDEO = NDalicPINVOKE.VideoView_Property_VIDEO_get();
+ internal static readonly int LOOPING = NDalicPINVOKE.VideoView_Property_LOOPING_get();
+ internal static readonly int MUTED = NDalicPINVOKE.VideoView_Property_MUTED_get();
+ internal static readonly int VOLUME = NDalicPINVOKE.VideoView_Property_VOLUME_get();
+
}
- }
- remove
- {
- lock(this)
+ /// <summary>
+ /// Creates an initialized VideoView.
+ /// </summary>
+ public VideoView() : this(NDalicPINVOKE.VideoView_New__SWIG_0(), true)
{
- if (_videoViewFinishedEventHandler != null)
- {
- this.FinishedSignal().Disconnect(_videoViewFinishedCallbackDelegate);
- }
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- _videoViewFinishedEventHandler -= value;
}
- }
- }
-
- // Callback for VideoView Finished signal
- private void OnFinished(IntPtr data)
- {
- FinishedEventArgs e = new FinishedEventArgs();
-
- // Populate all members of "e" (FinishedEventArgs) with real data
- e.VideoView = VideoView.GetVideoViewFromPtr( data );
-
- if (_videoViewFinishedEventHandler != null)
- {
- //here we send all data to user event handlers
- _videoViewFinishedEventHandler(this, e);
- }
- }
-
- public static VideoView GetVideoViewFromPtr(global::System.IntPtr cPtr) {
- VideoView ret = new VideoView(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
-
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_VideoView_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+ /// <summary>
+ /// Creates an initialized VideoView.
+ /// If the string is empty, VideoView will not display anything.
+ /// </summary>
+ /// <param name="url">The url of the video resource to display</param>
+ public VideoView(string url) : this(NDalicPINVOKE.VideoView_New__SWIG_1(url), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal VideoView(VideoView videoView) : this(NDalicPINVOKE.new_VideoView__SWIG_1(VideoView.getCPtr(videoView)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public Property() : this(NDalicPINVOKE.new_VideoView_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int VIDEO = NDalicPINVOKE.VideoView_Property_VIDEO_get();
- public static readonly int LOOPING = NDalicPINVOKE.VideoView_Property_LOOPING_get();
- public static readonly int MUTED = NDalicPINVOKE.VideoView_Property_MUTED_get();
- public static readonly int VOLUME = NDalicPINVOKE.VideoView_Property_VOLUME_get();
-
- }
-
- public VideoView () : this (NDalicPINVOKE.VideoView_New__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public VideoView (string url) : this (NDalicPINVOKE.VideoView_New__SWIG_1(url), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public VideoView(VideoView videoView) : this(NDalicPINVOKE.new_VideoView__SWIG_1(VideoView.getCPtr(videoView)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VideoView Assign(VideoView videoView) {
- VideoView ret = new VideoView(NDalicPINVOKE.VideoView_Assign(swigCPtr, VideoView.getCPtr(videoView)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static VideoView DownCast(BaseHandle handle) {
- VideoView ret = new VideoView(NDalicPINVOKE.VideoView_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void Play() {
- NDalicPINVOKE.VideoView_Play(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Pause() {
- NDalicPINVOKE.VideoView_Pause(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Stop() {
- NDalicPINVOKE.VideoView_Stop(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Forward(int millisecond) {
- NDalicPINVOKE.VideoView_Forward(swigCPtr, millisecond);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Backward(int millisecond) {
- NDalicPINVOKE.VideoView_Backward(swigCPtr, millisecond);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VideoViewSignal FinishedSignal() {
- VideoViewSignal ret = new VideoViewSignal(NDalicPINVOKE.VideoView_FinishedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX
- }
-
- public Tizen.NUI.Property.Map Video
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( VideoView.Property.VIDEO).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( VideoView.Property.VIDEO, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool Looping
- {
- get
- {
- bool temp = false;
- GetProperty( VideoView.Property.LOOPING).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( VideoView.Property.LOOPING, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool Muted
- {
- get
- {
- bool temp = false;
- GetProperty( VideoView.Property.MUTED).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( VideoView.Property.MUTED, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Volume
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( VideoView.Property.VOLUME).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( VideoView.Property.VOLUME, new Tizen.NUI.Property.Value( value ) );
- }
- }
-}
+ internal VideoView Assign(VideoView videoView)
+ {
+ VideoView ret = new VideoView(NDalicPINVOKE.VideoView_Assign(swigCPtr, VideoView.getCPtr(videoView)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Downcasts a handle to VideoView handle.
+ /// If handle points to a VideoView, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>Handle to a VideoView or an uninitialized handle</returns>
+ public new static VideoView DownCast(BaseHandle handle)
+ {
+ VideoView ret = new VideoView(NDalicPINVOKE.VideoView_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Starts the video playback.
+ /// </summary>
+ public void Play()
+ {
+ NDalicPINVOKE.VideoView_Play(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Pauses the video playback.
+ /// </summary>
+ public void Pause()
+ {
+ NDalicPINVOKE.VideoView_Pause(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Stops the video playback.
+ /// </summary>
+ public void Stop()
+ {
+ NDalicPINVOKE.VideoView_Stop(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Seeks forward by the specified number of milliseconds.
+ /// </summary>
+ /// <param name="millisecond">The position for forward playback</param>
+ public void Forward(int millisecond)
+ {
+ NDalicPINVOKE.VideoView_Forward(swigCPtr, millisecond);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Seeks backward by the specified number of milliseconds.
+ /// </summary>
+ /// <param name="millisecond">The position for backward playback</param>
+ public void Backward(int millisecond)
+ {
+ NDalicPINVOKE.VideoView_Backward(swigCPtr, millisecond);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal VideoViewSignal FinishedSignal()
+ {
+ VideoViewSignal ret = new VideoViewSignal(NDalicPINVOKE.VideoView_FinishedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX
+ }
+
+ /// <summary>
+ /// video file url as string type or PropertyMap.
+ /// </summary>
+ public PropertyMap Video
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(VideoView.Property.VIDEO).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(VideoView.Property.VIDEO, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// looping status, true or false.
+ /// </summary>
+ public bool Looping
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(VideoView.Property.LOOPING).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(VideoView.Property.LOOPING, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// mute status, true or false.
+ /// </summary>
+ public bool Muted
+ {
+ get
+ {
+ bool temp = false;
+ GetProperty(VideoView.Property.MUTED).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(VideoView.Property.MUTED, new Tizen.NUI.PropertyValue(value));
+ }
+ }
+
+ /// <summary>
+ /// left and right volume scalar as float type, PropertyMap with two values ( "left" and "right" ).
+ /// </summary>
+ public PropertyMap Volume
+ {
+ get
+ {
+ PropertyMap temp = new PropertyMap();
+ GetProperty(VideoView.Property.VOLUME).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(VideoView.Property.VOLUME, new PropertyValue(value));
+ }
+ }
+
+ }
}
namespace Tizen.NUI {
-public class VideoViewSignal : global::System.IDisposable {
+ internal class VideoViewSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
* limitations under the License.
*
*/
-// This File has been auto-generated by SWIG and then modified using DALi Ruby Scripts
-//------------------------------------------------------------------------------
-// <auto-generated />
-//
-// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
-//
-// Do not make changes to this file unless you know what you are doing--modify
-// the SWIG interface file instead.
-//------------------------------------------------------------------------------
-
-namespace Tizen.NUI {
+
+namespace Tizen.NUI
+{
using System;
using System.Runtime.InteropServices;
-
-public class View : CustomActor {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
- internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~View() {
- Dispose();
- }
-
- public override void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_View(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-
-
- /**
- * @brief Event arguments that passed via KeyInputFocusGained signal
- *
- */
- public class KeyInputFocusGainedEventArgs : EventArgs
+ /// <summary>
+ /// View is the base class for all views.
+ /// </summary>
+ public class View : CustomActor
{
- private View _view;
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- /**
- * @brief View - is the view that gets Key Input Focus
- *
- */
- public View View
- {
- get
+ internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn)
{
- return _view;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+
+ // Register this instance of view in the view registry.
+ ViewRegistry.RegisterView(this);
+
+ // By default, we do not want the position to use the anchor point
+ //this.PositionUsesAnchorPoint = false;
}
- set
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(View obj)
{
- _view = value;
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
}
- }
- }
- /**
- * @brief Event arguments that passed via KeyInputFocusLost signal
- *
- */
- public class KeyInputFocusLostEventArgs : EventArgs
- {
- private View _view;
-
- /**
- * @brief View - is the view that loses Key Input Focus
- *
- */
- public View View
- {
- get
+ ~View()
{
- return _view;
+ DisposeQueue.Instance.Add(this);
+
+ // Unregister this instance of view from the view registry.
+ ViewRegistry.UnregisterView(this);
}
- set
+
+ public override void Dispose()
{
- _view = value;
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_View(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
}
- }
- }
- /**
- * @brief Event arguments that passed via Key signal
- *
- */
- public class KeyEventArgs : EventArgs
- {
- private View _view;
- private Key _key;
- /**
- * @brief View - is the view that recieves the key.
- *
- */
- public View View
- {
- get
+
+ private EventHandler _keyInputFocusGainedEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void KeyInputFocusGainedCallbackType(IntPtr control);
+ private KeyInputFocusGainedCallbackType _keyInputFocusGainedCallback;
+
+ /**
+ * @brief Event for KeyInputFocusGained signal which can be used to subscribe/unsubscribe the event handler
+ * provided by the user. KeyInputFocusGained signal is emitted when the control gets Key Input Focus.
+ */
+ public event EventHandler FocusGained
{
- return _view;
+ add
+ {
+ if (_keyInputFocusGainedEventHandler == null)
+ {
+ _keyInputFocusGainedCallback = OnKeyInputFocusGained;
+ this.KeyInputFocusGainedSignal().Connect(_keyInputFocusGainedCallback);
+ }
+
+ _keyInputFocusGainedEventHandler += value;
+ }
+
+ remove
+ {
+ _keyInputFocusGainedEventHandler -= value;
+
+ if (_keyInputFocusGainedEventHandler == null && _keyInputFocusGainedCallback != null)
+ {
+ this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
+ }
+ }
}
- set
+
+ private void OnKeyInputFocusGained(IntPtr view)
{
- _view = value;
+ if (_keyInputFocusGainedEventHandler != null)
+ {
+ _keyInputFocusGainedEventHandler(this, null);
+ }
}
- }
- /**
- * @brief Key - is the key sent to the View.
- *
- */
- public Key Key
- {
- get
+
+ private EventHandler _keyInputFocusLostEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void KeyInputFocusLostCallbackType(IntPtr control);
+ private KeyInputFocusLostCallbackType _keyInputFocusLostCallback;
+
+ /**
+ * @brief Event for KeyInputFocusLost signal which can be used to subscribe/unsubscribe the event handler
+ * provided by the user. KeyInputFocusLost signal is emitted when the control loses Key Input Focus.
+ */
+ public event EventHandler FocusLost
{
- return _key;
+ add
+ {
+ if (_keyInputFocusLostEventHandler == null)
+ {
+ _keyInputFocusLostCallback = OnKeyInputFocusLost;
+ this.KeyInputFocusLostSignal().Connect(_keyInputFocusLostCallback);
+ }
+
+ _keyInputFocusLostEventHandler += value;
+ }
+
+ remove
+ {
+ _keyInputFocusLostEventHandler -= value;
+
+ if (_keyInputFocusLostEventHandler == null && _keyInputFocusLostCallback != null)
+ {
+ this.KeyInputFocusLostSignal().Disconnect(_keyInputFocusLostCallback);
+ }
+ }
}
- set
+
+ private void OnKeyInputFocusLost(IntPtr view)
{
- _key = value;
+ if (_keyInputFocusLostEventHandler != null)
+ {
+ _keyInputFocusLostEventHandler(this, null);
+ }
}
- }
- }
- /**
- * @brief Event arguments that passed via OnRelayout signal
- *
- */
- public class OnRelayoutEventArgs : EventArgs
- {
- private View _view;
- /**
- * @brief View - is the view that is being resized upon relayout
- *
- */
- public View View
- {
- get
+ /**
+ * @brief Event arguments that passed via KeyEvent signal
+ *
+ */
+ public class KeyEventArgs : EventArgs
{
- return _view;
+ private Key _key;
+
+ /**
+ * @brief KeyEvent - is the keyevent sent to the View.
+ *
+ */
+ public Key Key
+ {
+ get
+ {
+ return _key;
+ }
+ set
+ {
+ _key = value;
+ }
+ }
}
- set
+
+ private EventHandlerWithReturnType<object, KeyEventArgs, bool> _keyEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool KeyCallbackType(IntPtr control, IntPtr keyEvent);
+ private KeyCallbackType _keyCallback;
+
+ /**
+ * @brief Event for KeyPressed signal which can be used to subscribe/unsubscribe the event handler
+ * provided by the user. KeyPressed signal is emitted when key event is received.
+ */
+ public event EventHandlerWithReturnType<object, KeyEventArgs, bool> KeyEvent
{
- _view = value;
+ add
+ {
+ if (_keyEventHandler == null)
+ {
+ _keyCallback = OnKeyEvent;
+ this.KeyEventSignal().Connect(_keyCallback);
+ }
+
+ _keyEventHandler += value;
+ }
+
+ remove
+ {
+ _keyEventHandler -= value;
+
+ if (_keyEventHandler == null && _keyCallback != null)
+ {
+ this.KeyEventSignal().Disconnect(_keyCallback);
+ }
+ }
}
- }
- }
+ private bool OnKeyEvent(IntPtr view, IntPtr keyEvent)
+ {
+ KeyEventArgs e = new KeyEventArgs();
- /**
- * @brief Event arguments that passed via Touch signal
- *
- */
- public class TouchEventArgs : EventArgs
- {
- private View _view;
- private Touch _touch;
+ e.Key = Tizen.NUI.Key.GetKeyFromPtr(keyEvent);
- /**
- * @brief View - is the view that is being touched
- *
- */
- public View View
- {
- get
- {
- return _view;
+ if (_keyEventHandler != null)
+ {
+ return _keyEventHandler(this, e);
+ }
+ return false;
}
- set
+
+
+ private EventHandler _onRelayoutEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void OnRelayoutEventCallbackType(IntPtr control);
+ private OnRelayoutEventCallbackType _onRelayoutEventCallback;
+
+ /**
+ * @brief Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler
+ * OnRelayout signal is emitted after the size has been set on the view during relayout.
+ */
+ public event EventHandler OnRelayoutEvent
{
- _view = value;
+ add
+ {
+ if (_onRelayoutEventHandler == null)
+ {
+ _onRelayoutEventCallback = OnRelayout;
+ this.OnRelayoutSignal().Connect(_onRelayoutEventCallback);
+ }
+
+ _onRelayoutEventHandler += value;
+ }
+
+ remove
+ {
+ _onRelayoutEventHandler -= value;
+
+ if (_onRelayoutEventHandler == null && _onRelayoutEventCallback != null)
+ {
+ this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
+ }
+
+ }
}
- }
- /**
- * @brief Touch - contains the information of touch points
- *
- */
- public Touch Touch
- {
- get
+ // Callback for View OnRelayout signal
+ private void OnRelayout(IntPtr data)
{
- return _touch;
+ if (_onRelayoutEventHandler != null)
+ {
+ _onRelayoutEventHandler(this, null);
+ }
}
- set
+
+
+ /**
+ * @brief Event arguments that passed via Touch signal
+ *
+ */
+ public class TouchEventArgs : EventArgs
{
- _touch = value;
+ private Touch _touch;
+
+ /**
+ * @brief TouchData - contains the information of touch points
+ *
+ */
+ public Touch Touch
+ {
+ get
+ {
+ return _touch;
+ }
+ set
+ {
+ _touch = value;
+ }
+ }
}
- }
- }
- /**
- * @brief Event arguments that passed via Hover signal
- *
- */
- public class HoverEventArgs : EventArgs
- {
- private View _view;
- private Hover _hover;
+ private EventHandlerWithReturnType<object, TouchEventArgs, bool> _touchDataEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool TouchDataCallbackType(IntPtr view, IntPtr touchData);
+ private TouchDataCallbackType _touchDataCallback;
- /**
- * @brief View - is the view that is being hovered
- *
- */
- public View View
- {
- get
+ /**
+ * @brief Event for Touched signal which can be used to subscribe/unsubscribe the event handler
+ * provided by the user. Touched signal is emitted when touch input is received.
+ */
+ public event EventHandlerWithReturnType<object, TouchEventArgs, bool> Touched
{
- return _view;
+ add
+ {
+ if (_touchDataEventHandler == null)
+ {
+ _touchDataCallback = OnTouch;
+ this.TouchSignal().Connect(_touchDataCallback);
+ }
+
+ _touchDataEventHandler += value;
+ }
+
+ remove
+ {
+ _touchDataEventHandler -= value;
+
+ if (_touchDataEventHandler == null && _touchDataCallback != null)
+ {
+ this.TouchSignal().Disconnect(_touchDataCallback);
+ }
+
+ }
}
- set
+
+ // Callback for View TouchSignal
+ private bool OnTouch(IntPtr view, IntPtr touchData)
{
- _view = value;
+ TouchEventArgs e = new TouchEventArgs();
+
+ e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
+
+ if (_touchDataEventHandler != null)
+ {
+ return _touchDataEventHandler(this, e);
+ }
+ return false;
}
- }
- /**
- * @brief Hover - contains touch points that represent the points
- * that are currently being hovered or the points where a hover has stopped
- *
- */
- public Hover Hover
- {
- get
+
+ /**
+ * @brief Event arguments that passed via Hover signal
+ *
+ */
+ public class HoverEventArgs : EventArgs
{
- return _hover;
+ private Hover _hover;
+ /**
+ * @brief HoverEvent - contains touch points that represent the points
+ * that are currently being hovered or the points where a hover has stopped
+ *
+ */
+ public Hover Hover
+ {
+ get
+ {
+ return _hover;
+ }
+ set
+ {
+ _hover = value;
+ }
+ }
}
- set
+
+ private EventHandlerWithReturnType<object, HoverEventArgs, bool> _hoverEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool HoverEventCallbackType(IntPtr view, IntPtr hoverEvent);
+ private HoverEventCallbackType _hoverEventCallback;
+
+ /**
+ * @brief Event for Hovered signal which can be used to subscribe/unsubscribe the event handler
+ * provided by the user. Hovered signal is emitted when hover input is received.
+ */
+ public event EventHandlerWithReturnType<object, HoverEventArgs, bool> Hovered
{
- _hover = value;
+ add
+ {
+ if (_hoverEventHandler == null)
+ {
+ _hoverEventCallback = OnHoverEvent;
+ this.HoveredSignal().Connect(_hoverEventCallback);
+ }
+
+ _hoverEventHandler += value;
+ }
+
+ remove
+ {
+ _hoverEventHandler -= value;
+
+ if (_hoverEventHandler == null && _hoverEventCallback != null)
+ {
+ this.HoveredSignal().Disconnect(_hoverEventCallback);
+ }
+
+ }
}
- }
- }
-
- /**
- * @brief Event arguments that passed via Wheel signal
- *
- */
- public class WheelEventArgs : EventArgs
- {
- private View _view;
- private Wheel _wheel;
- /**
- * @brief View - is the view that is being wheeled
- *
- */
- public View View
- {
- get
+ // Callback for View Hover signal
+ private bool OnHoverEvent(IntPtr view, IntPtr hoverEvent)
{
- return _view;
+ HoverEventArgs e = new HoverEventArgs();
+
+ e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hoverEvent);
+
+ if (_hoverEventHandler != null)
+ {
+ return _hoverEventHandler(this, e);
+ }
+ return false;
}
- set
+
+
+ /**
+ * @brief Event arguments that passed via Wheel signal
+ *
+ */
+ public class WheelEventArgs : EventArgs
{
- _view = value;
+ private Wheel _wheel;
+ /**
+ * @brief WheelEvent - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
+ *
+ */
+ public Wheel Wheel
+ {
+ get
+ {
+ return _wheel;
+ }
+ set
+ {
+ _wheel = value;
+ }
+ }
}
- }
- /**
- * @brief Wheel - store a wheel rolling type : MOUSE_WHEEL or CUSTOM_WHEEL
- *
- */
- public Wheel Wheel
- {
- get
+ private EventHandlerWithReturnType<object, WheelEventArgs, bool> _wheelEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
+ private WheelEventCallbackType _wheelEventCallback;
+
+ /**
+ * @brief Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler
+ * provided by the user. WheelMoved signal is emitted when wheel event is received.
+ */
+ public event EventHandlerWithReturnType<object, WheelEventArgs, bool> WheelMoved
{
- return _wheel;
+ add
+ {
+ if (_wheelEventHandler == null)
+ {
+ _wheelEventCallback = OnWheelEvent;
+ this.WheelEventSignal().Connect(_wheelEventCallback);
+ }
+
+ _wheelEventHandler += value;
+ }
+
+ remove
+ {
+ _wheelEventHandler -= value;
+
+ if (_wheelEventHandler == null && _wheelEventCallback != null)
+ {
+ this.WheelEventSignal().Disconnect(_wheelEventCallback);
+ }
+
+ }
}
- set
+
+ // Callback for View Wheel signal
+ private bool OnWheelEvent(IntPtr view, IntPtr wheelEvent)
{
- _wheel = value;
+ WheelEventArgs e = new WheelEventArgs();
+
+ e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
+
+ if (_wheelEventHandler != null)
+ {
+ return _wheelEventHandler(this, e);
+ }
+ return false;
}
- }
- }
- /**
- * @brief Event arguments that passed via OnStage signal
- *
- */
- public class OnStageEventArgs : EventArgs
- {
- private View _view;
- /**
- * @brief View - is the view that is being connected to the stage
- *
- */
- public View View
- {
- get
+ private EventHandler _onStageEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void OnStageEventCallbackType(IntPtr control);
+ private OnStageEventCallbackType _onStageEventCallback;
+
+ /**
+ * @brief Event for OnStage signal which can be used to subscribe/unsubscribe the event handler
+ * OnStage signal is emitted after the view has been connected to the stage.
+ */
+ public event EventHandler OnStageEvent
{
- return _view;
+ add
+ {
+ if (_onStageEventHandler == null)
+ {
+ _onStageEventCallback = OnStage;
+ this.OnStageSignal().Connect(_onStageEventCallback);
+ }
+
+ _onStageEventHandler += value;
+ }
+
+ remove
+ {
+ _onStageEventHandler -= value;
+
+ if (_onStageEventHandler == null && _onStageEventCallback != null)
+ {
+ this.OnStageSignal().Disconnect(_onStageEventCallback);
+ }
+ }
}
- set
+
+ // Callback for View OnStage signal
+ private void OnStage(IntPtr data)
{
- _view = value;
+ if (_onStageEventHandler != null)
+ {
+ _onStageEventHandler(this, null);
+ }
}
- }
- }
- /**
- * @brief Event arguments that passed via OffStage signal
- *
- */
- public class OffStageEventArgs : EventArgs
- {
- private View _view;
- /**
- * @brief View - is the view that is being disconnected from the stage
- *
- */
- public View View
- {
- get
+ private EventHandler _offStageEventHandler;
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ private delegate void OffStageEventCallbackType(IntPtr control);
+ private OffStageEventCallbackType _offStageEventCallback;
+
+ /**
+ * @brief Event for OffStage signal which can be used to subscribe/unsubscribe the event handler
+ * OffStage signal is emitted after the view has been disconnected from the stage.
+ */
+ public event EventHandler OffStageEvent
{
- return _view;
+ add
+ {
+ if (_offStageEventHandler == null)
+ {
+ _offStageEventCallback = OffStage;
+ this.OffStageSignal().Connect(_offStageEventCallback);
+ }
+
+ _offStageEventHandler += value;
+ }
+
+ remove
+ {
+ _offStageEventHandler -= value;
+
+ if (_offStageEventHandler == null && _offStageEventCallback != null)
+ {
+ this.OffStageSignal().Disconnect(_offStageEventCallback);
+ }
+ }
}
- set
+
+ // Callback for View OffStage signal
+ private void OffStage(IntPtr data)
{
- _view = value;
+ if (_offStageEventHandler != null)
+ {
+ _offStageEventHandler(this, null);
+ }
}
- }
- }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void KeyInputFocusGainedCallbackDelegate(IntPtr control);
- private DaliEventHandler<object,KeyInputFocusGainedEventArgs> _KeyInputFocusGainedEventHandler;
- private KeyInputFocusGainedCallbackDelegate _KeyInputFocusGainedCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void KeyInputFocusLostCallbackDelegate(IntPtr control);
- private DaliEventHandler<object,KeyInputFocusLostEventArgs> _KeyInputFocusLostEventHandler;
- private KeyInputFocusLostCallbackDelegate _KeyInputFocusLostCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool KeyCallbackDelegate(IntPtr control, IntPtr key);
- private DaliEventHandlerWithReturnType<object,KeyEventArgs,bool> _KeyHandler;
- private KeyCallbackDelegate _KeyCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void OnRelayoutEventCallbackDelegate(IntPtr control);
- private DaliEventHandler<object,OnRelayoutEventArgs> _viewOnRelayoutEventHandler;
- private OnRelayoutEventCallbackDelegate _viewOnRelayoutEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool TouchCallbackDelegate(IntPtr view, IntPtr touch);
- private DaliEventHandlerWithReturnType<object,TouchEventArgs,bool> _viewTouchHandler;
- private TouchCallbackDelegate _viewTouchCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool HoverCallbackDelegate(IntPtr view, IntPtr hover);
- private DaliEventHandlerWithReturnType<object,HoverEventArgs,bool> _viewHoverHandler;
- private HoverCallbackDelegate _viewHoverCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate bool WheelCallbackDelegate(IntPtr view, IntPtr wheel);
- private DaliEventHandlerWithReturnType<object,WheelEventArgs,bool> _viewWheelHandler;
- private WheelCallbackDelegate _viewWheelCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void OnStageEventCallbackDelegate(IntPtr control);
- private DaliEventHandler<object,OnStageEventArgs> _viewOnStageEventHandler;
- private OnStageEventCallbackDelegate _viewOnStageEventCallbackDelegate;
-
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- private delegate void OffStageEventCallbackDelegate(IntPtr control);
- private DaliEventHandler<object,OffStageEventArgs> _viewOffStageEventHandler;
- private OffStageEventCallbackDelegate _viewOffStageEventCallbackDelegate;
-
- /**
- * @brief Event for KeyInputFocusGained signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of KeyInputFocusGainedEventHandler-DaliEventHandler<object,KeyInputFocusGainedEventArgs>)
- * provided by the user. KeyInputFocusGained signal is emitted when the control gets Key Input Focus.
- */
- public event DaliEventHandler<object,KeyInputFocusGainedEventArgs> KeyInputFocusGained
- {
- add
- {
- lock(this)
+
+
+
+
+
+ internal static View GetViewFromPtr(global::System.IntPtr cPtr)
{
- // Restricted to only one listener
- if (_KeyInputFocusGainedEventHandler == null)
- {
- _KeyInputFocusGainedEventHandler += value;
- //Console.WriteLine("View Key EVENT Locked....");
- _KeyInputFocusGainedCallbackDelegate = new KeyInputFocusGainedCallbackDelegate(OnKeyInputFocusGained);
- this.KeyInputFocusGainedSignal().Connect(_KeyInputFocusGainedCallbackDelegate);
- }
+ View ret = new View(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- remove
- {
- lock(this)
+ internal class Property : global::System.IDisposable
{
- if (_KeyInputFocusGainedEventHandler != null)
- {
- this.KeyInputFocusGainedSignal().Disconnect(_KeyInputFocusGainedCallbackDelegate);
- }
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
+
+ internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
+
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~Property()
+ {
+ Dispose();
+ }
+
+ public virtual void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_View_Property(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
+ }
+
+ internal static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
+ internal static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
+ internal static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
+ internal static readonly int LEFT_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_LEFT_FOCUSABLE_ACTOR_ID_get();
+ internal static readonly int RIGHT_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_RIGHT_FOCUSABLE_ACTOR_ID_get();
+ internal static readonly int UP_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_UP_FOCUSABLE_ACTOR_ID_get();
+ internal static readonly int DOWN_FOCUSABLE_ACTOR_ID = NDalicManualPINVOKE.View_Property_DOWN_FOCUSABLE_ACTOR_ID_get();
+
+ internal Property() : this(NDalicPINVOKE.new_View_Property(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
+ internal static readonly int BACKGROUND_COLOR = NDalicPINVOKE.View_Property_BACKGROUND_COLOR_get();
+ internal static readonly int BACKGROUND_IMAGE = NDalicPINVOKE.View_Property_BACKGROUND_IMAGE_get();
+ internal static readonly int KEY_INPUT_FOCUS = NDalicPINVOKE.View_Property_KEY_INPUT_FOCUS_get();
+ internal static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
- _KeyInputFocusGainedEventHandler -= value;
}
- }
- }
- private void OnKeyInputFocusGained(IntPtr view)
- {
- KeyInputFocusGainedEventArgs e = new KeyInputFocusGainedEventArgs();
- //Console.WriteLine("View Key ....");
- // Populate all members of "e" (KeyInputFocusGainedEventArgs) with real data
- e.View = Tizen.NUI.View.GetViewFromPtr(view);
-
- if (_KeyInputFocusGainedEventHandler != null)
- {
- //here we send all data to user event handlers
- _KeyInputFocusGainedEventHandler(this, e);
- }
- }
+ /// <summary>
+ /// Describes the direction to move the keyboard focus towards.
+ /// </summary>
+ public enum FocusDirection
+ {
+ Left,
+ Right,
+ Up,
+ Down,
+ PageUp,
+ PageDown
+ }
- /**
- * @brief Event for KeyInputFocusLost signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of KeyInputFocusLostEventHandler-DaliEventHandler<object,KeyInputFocusLostEventArgs>)
- * provided by the user. KeyInputFocusLost signal is emitted when the control loses Key Input Focus.
- */
- public event DaliEventHandler<object,KeyInputFocusLostEventArgs> KeyInputFocusLost
- {
- add
- {
- lock(this)
+ /// <summary>
+ /// Creates a new instance of a View.
+ /// </summary>
+ public View() : this(NDalicPINVOKE.View_New(), true)
{
- // Restricted to only one listener
- if (_KeyInputFocusLostEventHandler == null)
- {
- _KeyInputFocusLostEventHandler += value;
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- _KeyInputFocusLostCallbackDelegate = new KeyInputFocusLostCallbackDelegate(OnKeyInputFocusLost);
- this.KeyInputFocusLostSignal().Connect(_KeyInputFocusLostCallbackDelegate);
- }
}
- }
+ internal View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- remove
- {
- lock(this)
+ internal View Assign(View handle)
{
- if (_KeyInputFocusLostEventHandler != null)
- {
- this.KeyInputFocusLostSignal().Disconnect(_KeyInputFocusLostCallbackDelegate);
- }
+ View ret = new View(NDalicPINVOKE.View_Assign(swigCPtr, View.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- _KeyInputFocusLostEventHandler -= value;
+ /// <summary>
+ /// Downcasts a handle to View handle.
+ /// If handle points to a View, the downcast produces valid handle.
+ /// If not, the returned handle is left uninitialized.
+ /// </summary>
+ /// <param name="handle">Handle to an object</param>
+ /// <returns>A handle to a View or an uninitialized handle</returns>
+ public new static View DownCast(BaseHandle handle)
+ {
+ View ret = new View(NDalicPINVOKE.View_DownCast(BaseHandle.getCPtr(handle)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- }
- private void OnKeyInputFocusLost(IntPtr view)
- {
- KeyInputFocusLostEventArgs e = new KeyInputFocusLostEventArgs();
+ /// <summary>
+ /// Downcasts a handle to class which inherit View handle.
+ /// </summary>
+ /// <typeparam name="T">Class which inherit View</typeparam>
+ /// <param name="actor">Actor to an object</param>
+ /// <returns>A object which inherit View</returns>
+ public static T DownCast<T>(Actor actor) where T : View
+ {
+ return (T)(ViewRegistry.GetViewFromActor(actor));
+ }
- // Populate all members of "e" (KeyInputFocusLostEventArgs) with real data
- e.View = Tizen.NUI.View.GetViewFromPtr(view);
+ private View ConvertIdToView(uint id)
+ {
+ Actor actor = null;
- if (_KeyInputFocusLostEventHandler != null)
- {
- //here we send all data to user event handlers
- _KeyInputFocusLostEventHandler(this, e);
- }
- }
+ if (Parent)
+ {
+ actor = Parent.FindChildById(id);
+ }
- /**
- * @brief Event for KeyPressed signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of KeyHandler-DaliEventHandlerWithReturnType<object,KeyEventArgs,bool>)
- * provided by the user. KeyPressed signal is emitted when key event is received.
- */
- public event DaliEventHandlerWithReturnType<object,KeyEventArgs,bool> KeyPressed
- {
- add
- {
- lock(this)
- {
- // Restricted to only one listener
- if (_KeyHandler == null)
- {
- _KeyHandler += value;
+ if (!actor)
+ {
+ actor = Stage.Instance.GetRootLayer().FindChildById(id);
+ }
- _KeyCallbackDelegate = new KeyCallbackDelegate(OnKey);
- this.KeyEventSignal().Connect(_KeyCallbackDelegate);
- }
+ return View.DownCast<View>(actor);
}
- }
- remove
- {
- lock(this)
+ internal void SetKeyInputFocus()
{
- if (_KeyHandler != null)
- {
- this.KeyEventSignal().Disconnect(_KeyCallbackDelegate);
- }
-
- _KeyHandler -= value;
+ NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- }
- }
- private bool OnKey(IntPtr view, IntPtr key)
- {
- KeyEventArgs e = new KeyEventArgs();
+ /// <summary>
+ /// Quries whether the view has key input focus.
+ /// </summary>
+ /// <returns>true if this view has keyboard input focus</returns>
+ public bool HasKeyInputFocus()
+ {
+ bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- // Populate all members of "e" (KeyEventArgs) with real data
- e.View = Tizen.NUI.View.GetViewFromPtr(view);
- e.Key = Tizen.NUI.Key.GetKeyFromPtr(key);
+ internal void ClearKeyInputFocus()
+ {
+ NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- if (_KeyHandler != null)
- {
- //here we send all data to user event handlers
- return _KeyHandler(this, e);
- }
- return false;
+ internal PinchGestureDetector GetPinchGestureDetector()
+ {
+ PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- }
+ internal PanGestureDetector GetPanGestureDetector()
+ {
+ PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- /**
- * @brief Event for OnRelayout signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of OnRelayoutEventHandler) provided by the user.
- * OnRelayout signal is emitted after the size has been set on the view during relayout.
- */
- public event DaliEventHandler<object,OnRelayoutEventArgs> OnRelayoutEvent
- {
- add
- {
- lock(this)
+ internal TapGestureDetector GetTapGestureDetector()
{
- // Restricted to only one listener
- if (_viewOnRelayoutEventHandler == null)
- {
- _viewOnRelayoutEventHandler += value;
- //Console.WriteLine("View OnRelayoutEventArgs Locked....");
- _viewOnRelayoutEventCallbackDelegate = new OnRelayoutEventCallbackDelegate(OnRelayout);
- this.OnRelayoutSignal().Connect(_viewOnRelayoutEventCallbackDelegate);
- }
+ TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- remove
- {
- lock(this)
+ internal LongPressGestureDetector GetLongPressGestureDetector()
{
- if (_viewOnRelayoutEventHandler != null)
- {
- this.OnRelayoutSignal().Disconnect(_viewOnRelayoutEventCallbackDelegate);
- }
+ LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- _viewOnRelayoutEventHandler -= value;
+ /// <summary>
+ /// Sets the name of the style to be applied to the view.
+ /// </summary>
+ /// <param name="styleName">A string matching a style described in a stylesheet</param>
+ public void SetStyleName(string styleName)
+ {
+ NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- }
- }
- // Callback for View OnRelayout signal
- private void OnRelayout(IntPtr data)
- {
- OnRelayoutEventArgs e = new OnRelayoutEventArgs();
- //Console.WriteLine("View OnRelayoutEventArgs....");
- // Populate all members of "e" (OnRelayoutEventArgs) with real data
- e.View = View.GetViewFromPtr(data);
-
- if (_viewOnRelayoutEventHandler != null)
- {
- //here we send all data to user event handlers
- _viewOnRelayoutEventHandler(this, e);
- }
- }
+ /// <summary>
+ /// Retrieves the name of the style to be applied to the view (if any).
+ /// </summary>
+ /// <returns>A string matching a style, or an empty string</returns>
+ public string GetStyleName()
+ {
+ string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- /**
- * @brief Event for Touched signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of TouchHandler-DaliEventHandlerWithReturnType<object,TouchEventArgs,bool>)
- * provided by the user. Touched signal is emitted when touch input is received.
- */
- public event DaliEventHandlerWithReturnType<object,TouchEventArgs,bool> Touched
- {
- add
- {
- lock(this)
+ internal void SetBackgroundColor(Vector4 color)
{
- // Restricted to only one listener
- if (_viewTouchHandler == null)
- {
- _viewTouchHandler += value;
- //Console.WriteLine("View Touch EVENT LOCKED....");
- _viewTouchCallbackDelegate = new TouchCallbackDelegate(OnTouch);
- this.TouchSignal().Connect(_viewTouchCallbackDelegate);
- }
+ NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- }
- remove
- {
- lock(this)
+ internal Vector4 GetBackgroundColor()
{
- if (_viewTouchHandler != null)
- {
- this.TouchSignal().Disconnect(_viewTouchCallbackDelegate);
- }
+ Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- _viewTouchHandler -= value;
+ internal void SetBackgroundImage(Image image)
+ {
+ NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- }
- }
- // Callback for View TouchSignal
- private bool OnTouch(IntPtr view, IntPtr touch)
- {
- TouchEventArgs e = new TouchEventArgs();
- //Console.WriteLine("View Touch EVENT....");
- // Populate all members of "e" (TouchEventArgs) with real data
- e.View = View.GetViewFromPtr(view);
- e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touch);
-
- if (_viewTouchHandler != null)
- {
- //here we send all data to user event handlers
- return _viewTouchHandler(this, e);
- }
-
- return false;
- }
+ /// <summary>
+ /// Clears the background.
+ /// </summary>
+ public void ClearBackground()
+ {
+ NDalicPINVOKE.View_ClearBackground(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- /**
- * @brief Event for Hovered signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of HoverHandler-DaliEventHandlerWithReturnType<object,HoverEventArgs,bool>)
- * provided by the user. Hovered signal is emitted when hover input is received.
- */
- public event DaliEventHandlerWithReturnType<object,HoverEventArgs,bool> Hovered
- {
- add
- {
- lock(this)
+ internal ControlKeySignal KeyEventSignal()
{
- // Restricted to only one listener
- if (_viewHoverHandler == null)
- {
- _viewHoverHandler += value;
+ ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- _viewHoverCallbackDelegate = new HoverCallbackDelegate(OnHover);
- this.HoveredSignal().Connect(_viewHoverCallbackDelegate);
- }
+ internal KeyInputFocusSignal KeyInputFocusGainedSignal()
+ {
+ KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
}
- }
- remove
- {
- lock(this)
+ internal KeyInputFocusSignal KeyInputFocusLostSignal()
{
- if (_viewHoverHandler != null)
- {
- this.HoveredSignal().Disconnect(_viewHoverCallbackDelegate);
- }
+ KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- _viewHoverHandler -= value;
+ internal View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- }
- }
- // Callback for View Hover signal
- private bool OnHover(IntPtr view, IntPtr hover)
- {
- HoverEventArgs e = new HoverEventArgs();
+ internal enum PropertyRange
+ {
+ PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
+ CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
+ CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX + 1000
+ }
- // Populate all members of "e" (HoverEventArgs) with real data
- e.View = View.GetViewFromPtr(view);
- e.Hover = Tizen.NUI.Hover.GetHoverFromPtr(hover);
+ /// <summary>
+ /// styleName, type string.
+ /// </summary>
+ public string StyleName
+ {
+ get
+ {
+ string temp;
+ GetProperty(View.Property.STYLE_NAME).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.STYLE_NAME, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- if (_viewHoverHandler != null)
- {
- //here we send all data to user event handlers
- return _viewHoverHandler(this, e);
- }
+ /// <summary>
+ /// mutually exclusive with BACKGROUND_IMAGE & BACKGROUND, type Vector4.
+ /// </summary>
+ public Color BackgroundColor
+ {
+ get
+ {
+ Color backgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+
+ Tizen.NUI.PropertyMap background = Background;
+ int visualType = 0;
+ background.Find(Visual.Property.Type).Get(ref visualType);
+ if (visualType == (int)Visual.Type.Color)
+ {
+ background.Find(ColorVisualProperty.MixColor).Get(backgroundColor);
+ }
+
+ return backgroundColor;
+ }
+ set
+ {
+ SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- return false;
- }
+ /// <summary>
+ /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND, type Map.
+ /// </summary>
+ public string BackgroundImage
+ {
+ get
+ {
+ string backgroundImage = "";
+
+ Tizen.NUI.PropertyMap background = Background;
+ int visualType = 0;
+ background.Find(Visual.Property.Type).Get(ref visualType);
+ if (visualType == (int)Visual.Type.Image)
+ {
+ background.Find(ImageVisualProperty.URL).Get(out backgroundImage);
+ }
+
+ return backgroundImage;
+ }
+ set
+ {
+ SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- /**
- * @brief Event for WheelMoved signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of WheelHandler-DaliEventHandlerWithReturnType<object,WheelEventArgs,bool>)
- * provided by the user. WheelMoved signal is emitted when wheel event is received.
- */
- public event DaliEventHandlerWithReturnType<object,WheelEventArgs,bool> WheelMoved
- {
- add
- {
- lock(this)
+ internal bool KeyInputFocus
{
- // Restricted to only one listener
- if (_viewWheelHandler == null)
- {
- _viewWheelHandler += value;
- //Console.WriteLine("View Wheel EVENT LOCKED....");
- _viewWheelCallbackDelegate = new WheelCallbackDelegate(OnWheel);
- this.WheelEventSignal().Connect(_viewWheelCallbackDelegate);
- }
+ get
+ {
+ bool temp = false;
+ GetProperty(View.Property.KEY_INPUT_FOCUS).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.KEY_INPUT_FOCUS, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- remove
- {
- lock(this)
+ /// <summary>
+ /// mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE, type Map or string for URL.
+ /// </summary>
+ public Tizen.NUI.PropertyMap Background
{
- if (_viewWheelHandler != null)
- {
- this.WheelEventSignal().Disconnect(_viewWheelCallbackDelegate);
- }
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(View.Property.BACKGROUND).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.BACKGROUND, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _viewWheelHandler -= value;
+ /// <summary>
+ /// The current state of the view.
+ /// </summary>
+ public string State
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(View.Property.STATE).Get(ref temp);
+ switch (temp)
+ {
+ case 0:
+ {
+ return "NORMAL";
+ }
+ case 1:
+ {
+ return "FOCUSED";
+ }
+ case 2:
+ {
+ return "DISABLED";
+ }
+ default:
+ {
+ return "";
+ }
+ }
+ }
+ set
+ {
+ SetProperty(View.Property.STATE, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- }
- // Callback for View Wheel signal
- private bool OnWheel(IntPtr view, IntPtr wheel)
- {
- WheelEventArgs e = new WheelEventArgs();
- //Console.WriteLine("View Wheel EVENT ....");
- // Populate all members of "e" (WheelEventArgs) with real data
- e.View = View.GetViewFromPtr(view);
- e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheel);
-
- if (_viewWheelHandler != null)
- {
- //here we send all data to user event handlers
- return _viewWheelHandler(this, e);
- }
-
- return false;
- }
+ /// <summary>
+ /// The current sub state of the view.
+ /// </summary>
+ public string SubState
+ {
+ get
+ {
+ string temp;
+ GetProperty(View.Property.SUB_STATE).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.SUB_STATE, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- /**
- * @brief Event for OnStage signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of OnStageEventHandler) provided by the user.
- * OnStage signal is emitted after the view has been connected to the stage.
- */
- public event DaliEventHandler<object,OnStageEventArgs> OnStageEvent
- {
- add
- {
- lock(this)
+ /// <summary>
+ /// Displays a tooltip
+ /// </summary>
+ public Tizen.NUI.PropertyMap Tooltip
{
- // Restricted to only one listener
- if (_viewOnStageEventHandler == null)
- {
- _viewOnStageEventHandler += value;
+ get
+ {
+ Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+ GetProperty(View.Property.TOOLTIP).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _viewOnStageEventCallbackDelegate = new OnStageEventCallbackDelegate(OnStage);
- this.OnStageSignal().Connect(_viewOnStageEventCallbackDelegate);
- }
+ /// <summary>
+ /// Displays a tooltip as Text
+ /// </summary>
+ public string TooltipText
+ {
+ set
+ {
+ SetProperty(View.Property.TOOLTIP, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- remove
- {
- lock(this)
+ private int LeftFocusableActorId
{
- if (_viewOnStageEventHandler != null)
- {
- this.OnStageSignal().Disconnect(_viewOnStageEventCallbackDelegate);
- }
+ get
+ {
+ int temp = 0;
+ GetProperty(View.Property.LEFT_FOCUSABLE_ACTOR_ID).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.LEFT_FOCUSABLE_ACTOR_ID, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _viewOnStageEventHandler -= value;
+ private int RightFocusableActorId
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(View.Property.RIGHT_FOCUSABLE_ACTOR_ID).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.RIGHT_FOCUSABLE_ACTOR_ID, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- }
- // Callback for View OnStage signal
- private void OnStage(IntPtr data)
- {
- OnStageEventArgs e = new OnStageEventArgs();
+ private int UpFocusableActorId
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(View.Property.UP_FOCUSABLE_ACTOR_ID).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.UP_FOCUSABLE_ACTOR_ID, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- // Populate all members of "e" (OnStageEventArgs) with real data
- e.View = View.GetViewFromPtr(data);
+ private int DownFocusableActorId
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(View.Property.DOWN_FOCUSABLE_ACTOR_ID).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(View.Property.DOWN_FOCUSABLE_ACTOR_ID, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- ////Console.WriteLine("############# OnStage()! e.View.Name=" + e.View.Name);
+ /// <summary>
+ /// Child Property of FlexContainer
+ /// The proportion of the free space in the container the flex item will receive.
+ /// If all items in the container set this property, their sizes will be proportional to the specified flex factor
+ /// </summary>
+ public float Flex
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(FlexContainer.ChildProperty.FLEX).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.ChildProperty.FLEX, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- if (_viewOnStageEventHandler != null)
- {
- //here we send all data to user event handlers
- _viewOnStageEventHandler(this, e);
- }
- }
+ /// <summary>
+ /// Child Property of FlexContainer
+ /// The alignment of the flex item along the cross axis, which, if set, overides the default alignment for all items in the container
+ /// </summary>
+ public int AlignSelf
+ {
+ get
+ {
+ int temp = 0;
+ GetProperty(FlexContainer.ChildProperty.ALIGN_SELF).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- /**
- * @brief Event for OffStage signal which can be used to subscribe/unsubscribe the event handler
- * (in the type of OffStageEventHandler) provided by the user.
- * OffStage signal is emitted after the view has been disconnected from the stage.
- */
- public event DaliEventHandler<object,OffStageEventArgs> OffStageEvent
- {
- add
- {
- lock(this)
+ /// <summary>
+ /// Child Property of FlexContainer
+ /// The space around the flex item
+ /// </summary>
+ public Vector4 FlexMargin
{
- // Restricted to only one listener
- if (_viewOffStageEventHandler == null)
- {
- _viewOffStageEventHandler += value;
+ get
+ {
+ Vector4 temp = new Vector4(0.0f, 0.0f, 0.0f, 0.0f);
+ GetProperty(FlexContainer.ChildProperty.FLEX_MARGIN).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _viewOffStageEventCallbackDelegate = new OffStageEventCallbackDelegate(OffStage);
- this.OnStageSignal().Connect(_viewOffStageEventCallbackDelegate);
- }
+ /// <summary>
+ /// The top-left cell this child occupies, if not set, the first available cell is used
+ /// </summary>
+ public Vector2 CellIndex
+ {
+ get
+ {
+ Vector2 temp = new Vector2(0.0f, 0.0f);
+ GetProperty(TableView.ChildProperty.CELL_INDEX).Get(temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- remove
- {
- lock(this)
+ /// <summary>
+ /// The number of rows this child occupies, if not set, default value is 1
+ /// </summary>
+ public float RowSpan
{
- if (_viewOffStageEventHandler != null)
- {
- this.OnStageSignal().Disconnect(_viewOffStageEventCallbackDelegate);
- }
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TableView.ChildProperty.ROW_SPAN).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- _viewOffStageEventHandler -= value;
+ /// <summary>
+ /// The number of columns this child occupies, if not set, default value is 1
+ /// </summary>
+ public float ColumnSpan
+ {
+ get
+ {
+ float temp = 0.0f;
+ GetProperty(TableView.ChildProperty.COLUMN_SPAN).Get(ref temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.PropertyValue(value));
+ }
}
- }
- }
- // Callback for View OffStage signal
- private void OffStage(IntPtr data)
- {
- OffStageEventArgs e = new OffStageEventArgs();
+ /// <summary>
+ /// The horizontal alignment of this child inside the cells, if not set, default value is 'left'
+ /// </summary>
+ public string CellHorizontalAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- // Populate all members of "e" (OffStageEventArgs) with real data
- e.View = View.GetViewFromPtr(data);
+ /// <summary>
+ /// The vertical alignment of this child inside the cells, if not set, default value is 'top'
+ /// </summary>
+ public string CellVerticalAlignment
+ {
+ get
+ {
+ string temp;
+ GetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get(out temp);
+ return temp;
+ }
+ set
+ {
+ SetProperty(TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue(value));
+ }
+ }
- if (_viewOffStageEventHandler != null)
- {
- //here we send all data to user event handlers
- _viewOffStageEventHandler(this, e);
- }
- }
+ /// <summary>
+ /// The left focusable view.
+ /// This will return NULL if not set.
+ /// This will also return NULL if the specified left focusable view is not on stage.
+ /// </summary>
+ public View LeftFocusableView
+ {
+ // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+ get
+ {
+ if (LeftFocusableActorId >= 0)
+ {
+ return ConvertIdToView((uint)LeftFocusableActorId);
+ }
+ return null;
+ }
+ set
+ {
+ LeftFocusableActorId = (int)value.GetId();
+ }
+ }
- public static View GetViewFromPtr(global::System.IntPtr cPtr) {
- View ret = new View(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ /// <summary>
+ /// The right focusable view.
+ /// This will return NULL if not set.
+ /// This will also return NULL if the specified right focusable view is not on stage.
+ /// </summary>
+ public View RightFocusableView
+ {
+ // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+ get
+ {
+ if (RightFocusableActorId >= 0)
+ {
+ return ConvertIdToView((uint)RightFocusableActorId);
+ }
+ return null;
+ }
+ set
+ {
+ RightFocusableActorId = (int)value.GetId();
+ }
+ }
- public Tizen.NUI.Property.Map Tooltip
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( View.Property.TOOLTIP).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.TOOLTIP, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// The up focusable view.
+ /// This will return NULL if not set.
+ /// This will also return NULL if the specified up focusable view is not on stage.
+ /// </summary>
+ public View UpFocusableView
+ {
+ // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+ get
+ {
+ if (UpFocusableActorId >= 0)
+ {
+ return ConvertIdToView((uint)UpFocusableActorId);
+ }
+ return null;
+ }
+ set
+ {
+ UpFocusableActorId = (int)value.GetId();
+ }
+ }
- public string TooltipText
- {
- set
- {
- SetProperty( View.Property.TOOLTIP, new Tizen.NUI.Property.Value( value ) );
- }
- }
-
- public class Property : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal Property(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~Property() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_View_Property(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public static readonly int TOOLTIP = NDalicManualPINVOKE.View_Property_TOOLTIP_get();
- public static readonly int STATE = NDalicManualPINVOKE.View_Property_STATE_get();
- public static readonly int SUB_STATE = NDalicManualPINVOKE.View_Property_SUB_STATE_get();
-
- public Property() : this(NDalicPINVOKE.new_View_Property(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public static readonly int STYLE_NAME = NDalicPINVOKE.View_Property_STYLE_NAME_get();
- public static readonly int BACKGROUND_COLOR = NDalicPINVOKE.View_Property_BACKGROUND_COLOR_get();
- public static readonly int BACKGROUND_IMAGE = NDalicPINVOKE.View_Property_BACKGROUND_IMAGE_get();
- public static readonly int KEY_INPUT_FOCUS = NDalicPINVOKE.View_Property_KEY_INPUT_FOCUS_get();
- public static readonly int BACKGROUND = NDalicPINVOKE.View_Property_BACKGROUND_get();
-
- }
-
- public class KeyboardFocus : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
-
- internal KeyboardFocus(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyboardFocus obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~KeyboardFocus() {
- Dispose();
- }
-
- public virtual void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_View_KeyboardFocus(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
-
- public KeyboardFocus() : this(NDalicPINVOKE.new_View_KeyboardFocus(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public enum Direction {
- LEFT,
- RIGHT,
- UP,
- DOWN,
- PAGE_UP,
- PAGE_DOWN
- }
-
- }
-
- public View () : this (NDalicPINVOKE.View_New(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public View(View uiControl) : this(NDalicPINVOKE.new_View__SWIG_1(View.getCPtr(uiControl)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public View Assign(View handle) {
- View ret = new View(NDalicPINVOKE.View_Assign(swigCPtr, View.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public new static View DownCast(BaseHandle handle) {
- View ret = new View(NDalicPINVOKE.View_DownCast(BaseHandle.getCPtr(handle)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetKeyInputFocus() {
- NDalicPINVOKE.View_SetKeyInputFocus(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool HasKeyInputFocus() {
- bool ret = NDalicPINVOKE.View_HasKeyInputFocus(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ClearKeyInputFocus() {
- NDalicPINVOKE.View_ClearKeyInputFocus(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PinchGestureDetector GetPinchGestureDetector() {
- PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.View_GetPinchGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public PanGestureDetector GetPanGestureDetector() {
- PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.View_GetPanGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public TapGestureDetector GetTapGestureDetector() {
- TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.View_GetTapGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public LongPressGestureDetector GetLongPressGestureDetector() {
- LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.View_GetLongPressGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetStyleName(string styleName) {
- NDalicPINVOKE.View_SetStyleName(swigCPtr, styleName);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public string GetStyleName() {
- string ret = NDalicPINVOKE.View_GetStyleName(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetBackgroundColor(Vector4 color) {
- NDalicPINVOKE.View_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4 GetBackgroundColor() {
- Vector4 ret = new Vector4(NDalicPINVOKE.View_GetBackgroundColor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetBackgroundImage(Image image) {
- NDalicPINVOKE.View_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void ClearBackground() {
- NDalicPINVOKE.View_ClearBackground(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ControlKeySignal KeyEventSignal() {
- ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.View_KeyEventSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public KeyInputFocusSignal KeyInputFocusGainedSignal() {
- KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusGainedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public KeyInputFocusSignal KeyInputFocusLostSignal() {
- KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.View_KeyInputFocusLostSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public View(ViewImpl implementation) : this(NDalicPINVOKE.new_View__SWIG_2(ViewImpl.getCPtr(implementation)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public enum PropertyRange {
- PROPERTY_START_INDEX = PropertyRanges.PROPERTY_REGISTRATION_START_INDEX,
- CONTROL_PROPERTY_START_INDEX = PROPERTY_START_INDEX,
- CONTROL_PROPERTY_END_INDEX = CONTROL_PROPERTY_START_INDEX+1000
- }
-
- public string StyleName
- {
- get
- {
- string temp;
- GetProperty( View.Property.STYLE_NAME).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.STYLE_NAME, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 BackgroundColor
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( View.Property.BACKGROUND_COLOR).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.BACKGROUND_COLOR, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map BackgroundImage
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( View.Property.BACKGROUND_IMAGE).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.BACKGROUND_IMAGE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public bool KeyInputFocus
- {
- get
- {
- bool temp = false;
- GetProperty( View.Property.KEY_INPUT_FOCUS).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.KEY_INPUT_FOCUS, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Tizen.NUI.Property.Map Background
- {
- get
- {
- Tizen.NUI.Property.Map temp = new Tizen.NUI.Property.Map();
- GetProperty( View.Property.BACKGROUND).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.BACKGROUND, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string State
- {
- get
- {
- string temp;
- GetProperty( View.Property.STATE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.STATE, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string SubState
- {
- get
- {
- string temp;
- GetProperty( View.Property.SUB_STATE).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( View.Property.SUB_STATE, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// The down focusable view.
+ /// This will return NULL if not set.
+ /// This will also return NULL if the specified down focusable view is not on stage.
+ /// </summary>
+ public View DownFocusableView
+ {
+ // As native side will be only storing IDs so need a logic to convert View to ID and vice-versa.
+ get
+ {
+ if (DownFocusableActorId >= 0)
+ {
+ return ConvertIdToView((uint)DownFocusableActorId);
+ }
+ return null;
+ }
+ set
+ {
+ DownFocusableActorId = (int)value.GetId();
+ }
+ }
- public Vector2 CellIndex
- {
- get
- {
- Vector2 temp = new Vector2(0.0f,0.0f);
- GetProperty( TableView.ChildProperty.CELL_INDEX).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.ChildProperty.CELL_INDEX, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float RowSpan
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TableView.ChildProperty.ROW_SPAN).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.ChildProperty.ROW_SPAN, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public float ColumnSpan
- {
- get
- {
- float temp = 0.0f;
- GetProperty( TableView.ChildProperty.COLUMN_SPAN).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.ChildProperty.COLUMN_SPAN, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string CellHorizontalAlignment
- {
- get
- {
- string temp;
- GetProperty( TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.ChildProperty.CELL_HORIZONTAL_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public string CellVerticalAlignment
- {
- get
- {
- string temp;
- GetProperty( TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT).Get( out temp );
- return temp;
- }
- set
- {
- SetProperty( TableView.ChildProperty.CELL_VERTICAL_ALIGNMENT, new Tizen.NUI.Property.Value( value ) );
- }
- }
+ /// <summary>
+ /// whether the view should be focusable by keyboard navigation.
+ /// </summary>
+ public bool Focusable
+ {
+ set
+ {
+ SetKeyboardFocusable(value);
+ }
+ get
+ {
+ return IsKeyboardFocusable();
+ }
+ }
- public float Flex
- {
- get
- {
- float temp = 0.0f;
- GetProperty( FlexContainer.ChildProperty.FLEX).Get( ref temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.ChildProperty.FLEX, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public int AlignSelf
- {
- get
- {
- int temp = 0;
- GetProperty( FlexContainer.ChildProperty.ALIGN_SELF).Get( ref temp );
- return temp;
}
- set
- {
- SetProperty( FlexContainer.ChildProperty.ALIGN_SELF, new Tizen.NUI.Property.Value( value ) );
- }
- }
- public Vector4 FlexMargin
- {
- get
- {
- Vector4 temp = new Vector4(0.0f,0.0f,0.0f,0.0f);
- GetProperty( FlexContainer.ChildProperty.FLEX_MARGIN).Get( temp );
- return temp;
- }
- set
- {
- SetProperty( FlexContainer.ChildProperty.FLEX_MARGIN, new Tizen.NUI.Property.Value( value ) );
- }
- }
-
-}
}
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
+#define DOT_NET_CORE
-using System;
-
-#if true
+#if (DOT_NET_CORE)
using System.Reflection;
#endif
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+ public class ViewImpl : CustomActorImpl
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-public class ViewImpl : CustomActorImpl {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal ViewImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ViewImpl_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal ViewImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ViewImpl_SWIGUpcast(cPtr), cMemoryOwn) {
- //Console.WriteLine("[ViewImple] ViewImpl()");
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ViewImpl obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ public override void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ throw new global::System.MethodAccessException("C++ destructor does not have public access");
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ViewImpl obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ public static View New()
+ {
+ View ret = new View(NDalicPINVOKE.ViewImpl_New(), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public override void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- throw new global::System.MethodAccessException("C++ destructor does not have public access");
+ public void SetStyleName(string styleName)
+ {
+ NDalicPINVOKE.ViewImpl_SetStyleName(swigCPtr, styleName);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public string GetStyleName()
+ {
+ string ret = NDalicPINVOKE.ViewImpl_GetStyleName(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public void SetBackgroundColor(Vector4 color)
+ {
+ NDalicPINVOKE.ViewImpl_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public Vector4 GetBackgroundColor()
+ {
+ Vector4 ret = new Vector4(NDalicPINVOKE.ViewImpl_GetBackgroundColor(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal void SetBackgroundImage(Image image)
+ {
+ NDalicPINVOKE.ViewImpl_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public void SetBackground(PropertyMap map)
+ {
+ NDalicPINVOKE.ViewImpl_SetBackground(swigCPtr, PropertyMap.getCPtr(map));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public void ClearBackground()
+ {
+ NDalicPINVOKE.ViewImpl_ClearBackground(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public void EnableGestureDetection(Gesture.GestureType type)
+ {
+ NDalicPINVOKE.ViewImpl_EnableGestureDetection(swigCPtr, (int)type);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public void DisableGestureDetection(Gesture.GestureType type)
+ {
+ NDalicPINVOKE.ViewImpl_DisableGestureDetection(swigCPtr, (int)type);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public PinchGestureDetector GetPinchGestureDetector()
+ {
+ PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.ViewImpl_GetPinchGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public PanGestureDetector GetPanGestureDetector()
+ {
+ PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.ViewImpl_GetPanGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public TapGestureDetector GetTapGestureDetector()
+ {
+ TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.ViewImpl_GetTapGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public LongPressGestureDetector GetLongPressGestureDetector()
+ {
+ LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.ViewImpl_GetLongPressGestureDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public void SetKeyboardNavigationSupport(bool isSupported)
+ {
+ NDalicPINVOKE.ViewImpl_SetKeyboardNavigationSupport(swigCPtr, isSupported);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public bool IsKeyboardNavigationSupported()
+ {
+ bool ret = NDalicPINVOKE.ViewImpl_IsKeyboardNavigationSupported(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public void SetKeyInputFocus()
+ {
+ NDalicPINVOKE.ViewImpl_SetKeyInputFocus(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public bool HasKeyInputFocus()
+ {
+ bool ret = NDalicPINVOKE.ViewImpl_HasKeyInputFocus(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public void ClearKeyInputFocus()
+ {
+ NDalicPINVOKE.ViewImpl_ClearKeyInputFocus(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public void SetAsKeyboardFocusGroup(bool isFocusGroup)
+ {
+ NDalicPINVOKE.ViewImpl_SetAsKeyboardFocusGroup(swigCPtr, isFocusGroup);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public bool IsKeyboardFocusGroup()
+ {
+ bool ret = NDalicPINVOKE.ViewImpl_IsKeyboardFocusGroup(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public void AccessibilityActivate()
+ {
+ NDalicPINVOKE.ViewImpl_AccessibilityActivate(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public void KeyboardEnter()
+ {
+ NDalicPINVOKE.ViewImpl_KeyboardEnter(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal ControlKeySignal KeyEventSignal()
+ {
+ ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.ViewImpl_KeyEventSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal KeyInputFocusSignal KeyInputFocusGainedSignal()
+ {
+ KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.ViewImpl_KeyInputFocusGainedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal KeyInputFocusSignal KeyInputFocusLostSignal()
+ {
+ KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.ViewImpl_KeyInputFocusLostSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public bool EmitKeyEventSignal(Key arg0)
+ {
+ bool ret = NDalicPINVOKE.ViewImpl_EmitKeyEventSignal(swigCPtr, Key.getCPtr(arg0));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new void OnStageConnection(int depth)
+ {
+ if (SwigDerivedClassHasMethod("OnStageConnection", swigMethodTypes0)) NDalicPINVOKE.ViewImpl_OnStageConnectionSwigExplicitViewImpl(swigCPtr, depth); else NDalicPINVOKE.ViewImpl_OnStageConnection(swigCPtr, depth);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnStageDisconnection()
+ {
+ if (SwigDerivedClassHasMethod("OnStageDisconnection", swigMethodTypes1)) NDalicPINVOKE.ViewImpl_OnStageDisconnectionSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnStageDisconnection(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnChildAdd(Actor child)
+ {
+ if (SwigDerivedClassHasMethod("OnChildAdd", swigMethodTypes2)) NDalicPINVOKE.ViewImpl_OnChildAddSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnChildAdd(swigCPtr, Actor.getCPtr(child));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnChildRemove(Actor child)
+ {
+ if (SwigDerivedClassHasMethod("OnChildRemove", swigMethodTypes3)) NDalicPINVOKE.ViewImpl_OnChildRemoveSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnChildRemove(swigCPtr, Actor.getCPtr(child));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnPropertySet(int index, PropertyValue propertyValue)
+ {
+ if (SwigDerivedClassHasMethod("OnPropertySet", swigMethodTypes4)) NDalicPINVOKE.ViewImpl_OnPropertySetSwigExplicitViewImpl(swigCPtr, index, PropertyValue.getCPtr(propertyValue)); else NDalicPINVOKE.ViewImpl_OnPropertySet(swigCPtr, index, PropertyValue.getCPtr(propertyValue));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnSizeSet(Vector3 targetSize)
+ {
+ if (SwigDerivedClassHasMethod("OnSizeSet", swigMethodTypes5)) NDalicPINVOKE.ViewImpl_OnSizeSetSwigExplicitViewImpl(swigCPtr, Vector3.getCPtr(targetSize)); else NDalicPINVOKE.ViewImpl_OnSizeSet(swigCPtr, Vector3.getCPtr(targetSize));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnSizeAnimation(Animation animation, Vector3 targetSize)
+ {
+ if (SwigDerivedClassHasMethod("OnSizeAnimation", swigMethodTypes6)) NDalicPINVOKE.ViewImpl_OnSizeAnimationSwigExplicitViewImpl(swigCPtr, Animation.getCPtr(animation), Vector3.getCPtr(targetSize)); else NDalicPINVOKE.ViewImpl_OnSizeAnimation(swigCPtr, Animation.getCPtr(animation), Vector3.getCPtr(targetSize));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal virtual new bool OnTouchEvent(SWIGTYPE_p_Dali__TouchEvent arg0)
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnTouchEvent", swigMethodTypes7) ? NDalicPINVOKE.ViewImpl_OnTouchEventSwigExplicitViewImpl(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnTouchEvent(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0)));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new bool OnHoverEvent(Hover arg0)
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnHoverEvent", swigMethodTypes8) ? NDalicPINVOKE.ViewImpl_OnHoverEventSwigExplicitViewImpl(swigCPtr, Hover.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnHoverEvent(swigCPtr, Hover.getCPtr(arg0)));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new bool OnKeyEvent(Key arg0)
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnKeyEvent", swigMethodTypes9) ? NDalicPINVOKE.ViewImpl_OnKeyEventSwigExplicitViewImpl(swigCPtr, Key.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnKeyEvent(swigCPtr, Key.getCPtr(arg0)));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new bool OnWheelEvent(Wheel arg0)
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnWheelEvent", swigMethodTypes10) ? NDalicPINVOKE.ViewImpl_OnWheelEventSwigExplicitViewImpl(swigCPtr, Wheel.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnWheelEvent(swigCPtr, Wheel.getCPtr(arg0)));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new void OnRelayout(Vector2 size, RelayoutContainer container)
+ {
+ if (SwigDerivedClassHasMethod("OnRelayout", swigMethodTypes11)) NDalicPINVOKE.ViewImpl_OnRelayoutSwigExplicitViewImpl(swigCPtr, Vector2.getCPtr(size), RelayoutContainer.getCPtr(container)); else NDalicPINVOKE.ViewImpl_OnRelayout(swigCPtr, Vector2.getCPtr(size), RelayoutContainer.getCPtr(container));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnSetResizePolicy(ResizePolicyType policy, DimensionType dimension)
+ {
+ if (SwigDerivedClassHasMethod("OnSetResizePolicy", swigMethodTypes12)) NDalicPINVOKE.ViewImpl_OnSetResizePolicySwigExplicitViewImpl(swigCPtr, (int)policy, (int)dimension); else NDalicPINVOKE.ViewImpl_OnSetResizePolicy(swigCPtr, (int)policy, (int)dimension);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new Vector3 GetNaturalSize()
+ {
+ Vector3 ret = new Vector3((SwigDerivedClassHasMethod("GetNaturalSize", swigMethodTypes13) ? NDalicPINVOKE.ViewImpl_GetNaturalSizeSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_GetNaturalSize(swigCPtr)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new float CalculateChildSize(Actor child, DimensionType dimension)
+ {
+ float ret = (SwigDerivedClassHasMethod("CalculateChildSize", swigMethodTypes14) ? NDalicPINVOKE.ViewImpl_CalculateChildSizeSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child), (int)dimension) : NDalicPINVOKE.ViewImpl_CalculateChildSize(swigCPtr, Actor.getCPtr(child), (int)dimension));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new float GetHeightForWidth(float width)
+ {
+ float ret = (SwigDerivedClassHasMethod("GetHeightForWidth", swigMethodTypes15) ? NDalicPINVOKE.ViewImpl_GetHeightForWidthSwigExplicitViewImpl(swigCPtr, width) : NDalicPINVOKE.ViewImpl_GetHeightForWidth(swigCPtr, width));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new float GetWidthForHeight(float height)
+ {
+ float ret = (SwigDerivedClassHasMethod("GetWidthForHeight", swigMethodTypes16) ? NDalicPINVOKE.ViewImpl_GetWidthForHeightSwigExplicitViewImpl(swigCPtr, height) : NDalicPINVOKE.ViewImpl_GetWidthForHeight(swigCPtr, height));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new bool RelayoutDependentOnChildren(DimensionType dimension)
+ {
+ bool ret = (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes17) ? NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_0(swigCPtr, (int)dimension) : NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildren__SWIG_0(swigCPtr, (int)dimension));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new bool RelayoutDependentOnChildren()
+ {
+ bool ret = (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes18) ? NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_1(swigCPtr) : NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildren__SWIG_1(swigCPtr));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ protected virtual new void OnCalculateRelayoutSize(DimensionType dimension)
+ {
+ if (SwigDerivedClassHasMethod("OnCalculateRelayoutSize", swigMethodTypes19)) NDalicPINVOKE.ViewImpl_OnCalculateRelayoutSizeSwigExplicitViewImpl(swigCPtr, (int)dimension); else NDalicPINVOKE.ViewImpl_OnCalculateRelayoutSize(swigCPtr, (int)dimension);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ protected virtual new void OnLayoutNegotiated(float size, DimensionType dimension)
+ {
+ if (SwigDerivedClassHasMethod("OnLayoutNegotiated", swigMethodTypes20)) NDalicPINVOKE.ViewImpl_OnLayoutNegotiatedSwigExplicitViewImpl(swigCPtr, size, (int)dimension); else NDalicPINVOKE.ViewImpl_OnLayoutNegotiated(swigCPtr, size, (int)dimension);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnInitialize()
+ {
+ if (SwigDerivedClassHasMethod("OnInitialize", swigMethodTypes21)) NDalicPINVOKE.ViewImpl_OnInitializeSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnInitialize(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnControlChildAdd(Actor child)
+ {
+ if (SwigDerivedClassHasMethod("OnControlChildAdd", swigMethodTypes22)) NDalicPINVOKE.ViewImpl_OnControlChildAddSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnControlChildAdd(swigCPtr, Actor.getCPtr(child));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnControlChildRemove(Actor child)
+ {
+ if (SwigDerivedClassHasMethod("OnControlChildRemove", swigMethodTypes23)) NDalicPINVOKE.ViewImpl_OnControlChildRemoveSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnControlChildRemove(swigCPtr, Actor.getCPtr(child));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnStyleChange(StyleManager styleManager, StyleChangeType change)
+ {
+ if (SwigDerivedClassHasMethod("OnStyleChange", swigMethodTypes24)) NDalicPINVOKE.ViewImpl_OnStyleChangeSwigExplicitViewImpl(swigCPtr, StyleManager.getCPtr(styleManager), (int)change); else NDalicPINVOKE.ViewImpl_OnStyleChange(swigCPtr, StyleManager.getCPtr(styleManager), (int)change);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual bool OnAccessibilityActivated()
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnAccessibilityActivated", swigMethodTypes25) ? NDalicPINVOKE.ViewImpl_OnAccessibilityActivatedSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnAccessibilityActivated(swigCPtr));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual bool OnAccessibilityPan(PanGesture gesture)
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnAccessibilityPan", swigMethodTypes26) ? NDalicPINVOKE.ViewImpl_OnAccessibilityPanSwigExplicitViewImpl(swigCPtr, PanGesture.getCPtr(gesture)) : NDalicPINVOKE.ViewImpl_OnAccessibilityPan(swigCPtr, PanGesture.getCPtr(gesture)));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal virtual bool OnAccessibilityTouch(SWIGTYPE_p_Dali__TouchEvent touchEvent)
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnAccessibilityTouch", swigMethodTypes27) ? NDalicPINVOKE.ViewImpl_OnAccessibilityTouchSwigExplicitViewImpl(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(touchEvent)) : NDalicPINVOKE.ViewImpl_OnAccessibilityTouch(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(touchEvent)));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual bool OnAccessibilityValueChange(bool isIncrease)
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnAccessibilityValueChange", swigMethodTypes28) ? NDalicPINVOKE.ViewImpl_OnAccessibilityValueChangeSwigExplicitViewImpl(swigCPtr, isIncrease) : NDalicPINVOKE.ViewImpl_OnAccessibilityValueChange(swigCPtr, isIncrease));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual bool OnAccessibilityZoom()
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnAccessibilityZoom", swigMethodTypes29) ? NDalicPINVOKE.ViewImpl_OnAccessibilityZoomSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnAccessibilityZoom(swigCPtr));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual void OnKeyInputFocusGained()
+ {
+ if (SwigDerivedClassHasMethod("OnKeyInputFocusGained", swigMethodTypes30)) NDalicPINVOKE.ViewImpl_OnKeyInputFocusGainedSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnKeyInputFocusGained(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnKeyInputFocusLost()
+ {
+ if (SwigDerivedClassHasMethod("OnKeyInputFocusLost", swigMethodTypes31)) NDalicPINVOKE.ViewImpl_OnKeyInputFocusLostSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnKeyInputFocusLost(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.FocusDirection direction, bool loopEnabled)
+ {
+ Actor ret = new Actor((SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32) ? NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled) : NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActor(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor)
+ {
+ if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33)) NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(commitedFocusableActor)); else NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommitted(swigCPtr, Actor.getCPtr(commitedFocusableActor));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual bool OnKeyboardEnter()
+ {
+ bool ret = (SwigDerivedClassHasMethod("OnKeyboardEnter", swigMethodTypes34) ? NDalicPINVOKE.ViewImpl_OnKeyboardEnterSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnKeyboardEnter(swigCPtr));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ public virtual void OnPinch(PinchGesture pinch)
+ {
+ if (SwigDerivedClassHasMethod("OnPinch", swigMethodTypes35)) NDalicPINVOKE.ViewImpl_OnPinchSwigExplicitViewImpl(swigCPtr, PinchGesture.getCPtr(pinch)); else NDalicPINVOKE.ViewImpl_OnPinch(swigCPtr, PinchGesture.getCPtr(pinch));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnPan(PanGesture pan)
+ {
+ if (SwigDerivedClassHasMethod("OnPan", swigMethodTypes36)) NDalicPINVOKE.ViewImpl_OnPanSwigExplicitViewImpl(swigCPtr, PanGesture.getCPtr(pan)); else NDalicPINVOKE.ViewImpl_OnPan(swigCPtr, PanGesture.getCPtr(pan));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnTap(TapGesture tap)
+ {
+ if (SwigDerivedClassHasMethod("OnTap", swigMethodTypes37)) NDalicPINVOKE.ViewImpl_OnTapSwigExplicitViewImpl(swigCPtr, TapGesture.getCPtr(tap)); else NDalicPINVOKE.ViewImpl_OnTap(swigCPtr, TapGesture.getCPtr(tap));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ public virtual void OnLongPress(LongPressGesture longPress)
+ {
+ if (SwigDerivedClassHasMethod("OnLongPress", swigMethodTypes38)) NDalicPINVOKE.ViewImpl_OnLongPressSwigExplicitViewImpl(swigCPtr, LongPressGesture.getCPtr(longPress)); else NDalicPINVOKE.ViewImpl_OnLongPress(swigCPtr, LongPressGesture.getCPtr(longPress));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal virtual void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback)
+ {
+ if (SwigDerivedClassHasMethod("SignalConnected", swigMethodTypes39)) NDalicPINVOKE.ViewImpl_SignalConnectedSwigExplicitViewImpl(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback)); else NDalicPINVOKE.ViewImpl_SignalConnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal virtual void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback)
+ {
+ if (SwigDerivedClassHasMethod("SignalDisconnected", swigMethodTypes40)) NDalicPINVOKE.ViewImpl_SignalDisconnectedSwigExplicitViewImpl(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback)); else NDalicPINVOKE.ViewImpl_SignalDisconnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ private void SwigDirectorConnect()
+ {
+ if (SwigDerivedClassHasMethod("OnStageConnection", swigMethodTypes0))
+ swigDelegate0 = new SwigDelegateViewImpl_0(SwigDirectorOnStageConnection);
+ if (SwigDerivedClassHasMethod("OnStageDisconnection", swigMethodTypes1))
+ swigDelegate1 = new SwigDelegateViewImpl_1(SwigDirectorOnStageDisconnection);
+ if (SwigDerivedClassHasMethod("OnChildAdd", swigMethodTypes2))
+ swigDelegate2 = new SwigDelegateViewImpl_2(SwigDirectorOnChildAdd);
+ if (SwigDerivedClassHasMethod("OnChildRemove", swigMethodTypes3))
+ swigDelegate3 = new SwigDelegateViewImpl_3(SwigDirectorOnChildRemove);
+ if (SwigDerivedClassHasMethod("OnPropertySet", swigMethodTypes4))
+ swigDelegate4 = new SwigDelegateViewImpl_4(SwigDirectorOnPropertySet);
+ if (SwigDerivedClassHasMethod("OnSizeSet", swigMethodTypes5))
+ swigDelegate5 = new SwigDelegateViewImpl_5(SwigDirectorOnSizeSet);
+ if (SwigDerivedClassHasMethod("OnSizeAnimation", swigMethodTypes6))
+ swigDelegate6 = new SwigDelegateViewImpl_6(SwigDirectorOnSizeAnimation);
+ if (SwigDerivedClassHasMethod("OnTouchEvent", swigMethodTypes7))
+ swigDelegate7 = new SwigDelegateViewImpl_7(SwigDirectorOnTouchEvent);
+ if (SwigDerivedClassHasMethod("OnHoverEvent", swigMethodTypes8))
+ swigDelegate8 = new SwigDelegateViewImpl_8(SwigDirectorOnHoverEvent);
+ if (SwigDerivedClassHasMethod("OnKeyEvent", swigMethodTypes9))
+ swigDelegate9 = new SwigDelegateViewImpl_9(SwigDirectorOnKeyEvent);
+ if (SwigDerivedClassHasMethod("OnWheelEvent", swigMethodTypes10))
+ swigDelegate10 = new SwigDelegateViewImpl_10(SwigDirectorOnWheelEvent);
+ if (SwigDerivedClassHasMethod("OnRelayout", swigMethodTypes11))
+ swigDelegate11 = new SwigDelegateViewImpl_11(SwigDirectorOnRelayout);
+ if (SwigDerivedClassHasMethod("OnSetResizePolicy", swigMethodTypes12))
+ swigDelegate12 = new SwigDelegateViewImpl_12(SwigDirectorOnSetResizePolicy);
+ if (SwigDerivedClassHasMethod("GetNaturalSize", swigMethodTypes13))
+ swigDelegate13 = new SwigDelegateViewImpl_13(SwigDirectorGetNaturalSize);
+ if (SwigDerivedClassHasMethod("CalculateChildSize", swigMethodTypes14))
+ swigDelegate14 = new SwigDelegateViewImpl_14(SwigDirectorCalculateChildSize);
+ if (SwigDerivedClassHasMethod("GetHeightForWidth", swigMethodTypes15))
+ swigDelegate15 = new SwigDelegateViewImpl_15(SwigDirectorGetHeightForWidth);
+ if (SwigDerivedClassHasMethod("GetWidthForHeight", swigMethodTypes16))
+ swigDelegate16 = new SwigDelegateViewImpl_16(SwigDirectorGetWidthForHeight);
+ if (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes17))
+ swigDelegate17 = new SwigDelegateViewImpl_17(SwigDirectorRelayoutDependentOnChildren__SWIG_0);
+ if (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes18))
+ swigDelegate18 = new SwigDelegateViewImpl_18(SwigDirectorRelayoutDependentOnChildren__SWIG_1);
+ if (SwigDerivedClassHasMethod("OnCalculateRelayoutSize", swigMethodTypes19))
+ swigDelegate19 = new SwigDelegateViewImpl_19(SwigDirectorOnCalculateRelayoutSize);
+ if (SwigDerivedClassHasMethod("OnLayoutNegotiated", swigMethodTypes20))
+ swigDelegate20 = new SwigDelegateViewImpl_20(SwigDirectorOnLayoutNegotiated);
+ if (SwigDerivedClassHasMethod("OnInitialize", swigMethodTypes21))
+ swigDelegate21 = new SwigDelegateViewImpl_21(SwigDirectorOnInitialize);
+ if (SwigDerivedClassHasMethod("OnControlChildAdd", swigMethodTypes22))
+ swigDelegate22 = new SwigDelegateViewImpl_22(SwigDirectorOnControlChildAdd);
+ if (SwigDerivedClassHasMethod("OnControlChildRemove", swigMethodTypes23))
+ swigDelegate23 = new SwigDelegateViewImpl_23(SwigDirectorOnControlChildRemove);
+ if (SwigDerivedClassHasMethod("OnStyleChange", swigMethodTypes24))
+ swigDelegate24 = new SwigDelegateViewImpl_24(SwigDirectorOnStyleChange);
+ if (SwigDerivedClassHasMethod("OnAccessibilityActivated", swigMethodTypes25))
+ swigDelegate25 = new SwigDelegateViewImpl_25(SwigDirectorOnAccessibilityActivated);
+ if (SwigDerivedClassHasMethod("OnAccessibilityPan", swigMethodTypes26))
+ swigDelegate26 = new SwigDelegateViewImpl_26(SwigDirectorOnAccessibilityPan);
+ if (SwigDerivedClassHasMethod("OnAccessibilityTouch", swigMethodTypes27))
+ swigDelegate27 = new SwigDelegateViewImpl_27(SwigDirectorOnAccessibilityTouch);
+ if (SwigDerivedClassHasMethod("OnAccessibilityValueChange", swigMethodTypes28))
+ swigDelegate28 = new SwigDelegateViewImpl_28(SwigDirectorOnAccessibilityValueChange);
+ if (SwigDerivedClassHasMethod("OnAccessibilityZoom", swigMethodTypes29))
+ swigDelegate29 = new SwigDelegateViewImpl_29(SwigDirectorOnAccessibilityZoom);
+ if (SwigDerivedClassHasMethod("OnKeyInputFocusGained", swigMethodTypes30))
+ swigDelegate30 = new SwigDelegateViewImpl_30(SwigDirectorOnKeyInputFocusGained);
+ if (SwigDerivedClassHasMethod("OnKeyInputFocusLost", swigMethodTypes31))
+ swigDelegate31 = new SwigDelegateViewImpl_31(SwigDirectorOnKeyInputFocusLost);
+ if (SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32))
+ swigDelegate32 = new SwigDelegateViewImpl_32(SwigDirectorGetNextKeyboardFocusableActor);
+ if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33))
+ swigDelegate33 = new SwigDelegateViewImpl_33(SwigDirectorOnKeyboardFocusChangeCommitted);
+ if (SwigDerivedClassHasMethod("OnKeyboardEnter", swigMethodTypes34))
+ swigDelegate34 = new SwigDelegateViewImpl_34(SwigDirectorOnKeyboardEnter);
+ if (SwigDerivedClassHasMethod("OnPinch", swigMethodTypes35))
+ swigDelegate35 = new SwigDelegateViewImpl_35(SwigDirectorOnPinch);
+ if (SwigDerivedClassHasMethod("OnPan", swigMethodTypes36))
+ swigDelegate36 = new SwigDelegateViewImpl_36(SwigDirectorOnPan);
+ if (SwigDerivedClassHasMethod("OnTap", swigMethodTypes37))
+ swigDelegate37 = new SwigDelegateViewImpl_37(SwigDirectorOnTap);
+ if (SwigDerivedClassHasMethod("OnLongPress", swigMethodTypes38))
+ swigDelegate38 = new SwigDelegateViewImpl_38(SwigDirectorOnLongPress);
+ if (SwigDerivedClassHasMethod("SignalConnected", swigMethodTypes39))
+ swigDelegate39 = new SwigDelegateViewImpl_39(SwigDirectorSignalConnected);
+ if (SwigDerivedClassHasMethod("SignalDisconnected", swigMethodTypes40))
+ swigDelegate40 = new SwigDelegateViewImpl_40(SwigDirectorSignalDisconnected);
+ NDalicPINVOKE.ViewImpl_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3, swigDelegate4, swigDelegate5, swigDelegate6, swigDelegate7, swigDelegate8, swigDelegate9, swigDelegate10, swigDelegate11, swigDelegate12, swigDelegate13, swigDelegate14, swigDelegate15, swigDelegate16, swigDelegate17, swigDelegate18, swigDelegate19, swigDelegate20, swigDelegate21, swigDelegate22, swigDelegate23, swigDelegate24, swigDelegate25, swigDelegate26, swigDelegate27, swigDelegate28, swigDelegate29, swigDelegate30, swigDelegate31, swigDelegate32, swigDelegate33, swigDelegate34, swigDelegate35, swigDelegate36, swigDelegate37, swigDelegate38, swigDelegate39, swigDelegate40);
+ }
+
+
+#if (DOT_NET_CORE)
+ private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
+ {
+ global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);
+ bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(ViewImpl));
+
+ Tizen.Log.Debug("NUI-APP", "hasDerivedMethod=" + hasDerivedMethod);
+ return hasDerivedMethod;
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-
- public static View New() {
- //Console.WriteLine("[ViewImple] New()");
-
- View ret = new View(NDalicPINVOKE.ViewImpl_New(), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetStyleName(string styleName) {
- NDalicPINVOKE.ViewImpl_SetStyleName(swigCPtr, styleName);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public string GetStyleName() {
- string ret = NDalicPINVOKE.ViewImpl_GetStyleName(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetBackgroundColor(Vector4 color) {
- NDalicPINVOKE.ViewImpl_SetBackgroundColor(swigCPtr, Vector4.getCPtr(color));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Vector4 GetBackgroundColor() {
- Vector4 ret = new Vector4(NDalicPINVOKE.ViewImpl_GetBackgroundColor(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetBackgroundImage(Image image) {
- NDalicPINVOKE.ViewImpl_SetBackgroundImage(swigCPtr, Image.getCPtr(image));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetBackground(Property.Map map) {
- NDalicPINVOKE.ViewImpl_SetBackground(swigCPtr, Property.Map.getCPtr(map));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void ClearBackground() {
- NDalicPINVOKE.ViewImpl_ClearBackground(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void EnableGestureDetection(Gesture.GestureType type) {
- NDalicPINVOKE.ViewImpl_EnableGestureDetection(swigCPtr, (int)type);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void DisableGestureDetection(Gesture.GestureType type) {
- NDalicPINVOKE.ViewImpl_DisableGestureDetection(swigCPtr, (int)type);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public PinchGestureDetector GetPinchGestureDetector() {
- PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.ViewImpl_GetPinchGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public PanGestureDetector GetPanGestureDetector() {
- PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.ViewImpl_GetPanGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public TapGestureDetector GetTapGestureDetector() {
- TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.ViewImpl_GetTapGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public LongPressGestureDetector GetLongPressGestureDetector() {
- LongPressGestureDetector ret = new LongPressGestureDetector(NDalicPINVOKE.ViewImpl_GetLongPressGestureDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetKeyboardNavigationSupport(bool isSupported) {
- NDalicPINVOKE.ViewImpl_SetKeyboardNavigationSupport(swigCPtr, isSupported);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsKeyboardNavigationSupported() {
- bool ret = NDalicPINVOKE.ViewImpl_IsKeyboardNavigationSupported(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetKeyInputFocus() {
- NDalicPINVOKE.ViewImpl_SetKeyInputFocus(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool HasKeyInputFocus() {
- bool ret = NDalicPINVOKE.ViewImpl_HasKeyInputFocus(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ClearKeyInputFocus() {
- NDalicPINVOKE.ViewImpl_ClearKeyInputFocus(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetAsKeyboardFocusGroup(bool isFocusGroup) {
- NDalicPINVOKE.ViewImpl_SetAsKeyboardFocusGroup(swigCPtr, isFocusGroup);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsKeyboardFocusGroup() {
- bool ret = NDalicPINVOKE.ViewImpl_IsKeyboardFocusGroup(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void AccessibilityActivate() {
- NDalicPINVOKE.ViewImpl_AccessibilityActivate(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void KeyboardEnter() {
- NDalicPINVOKE.ViewImpl_KeyboardEnter(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public ControlKeySignal KeyEventSignal() {
- ControlKeySignal ret = new ControlKeySignal(NDalicPINVOKE.ViewImpl_KeyEventSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public KeyInputFocusSignal KeyInputFocusGainedSignal() {
- KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.ViewImpl_KeyInputFocusGainedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public KeyInputFocusSignal KeyInputFocusLostSignal() {
- KeyInputFocusSignal ret = new KeyInputFocusSignal(NDalicPINVOKE.ViewImpl_KeyInputFocusLostSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool EmitKeyEventSignal(Key arg0) {
- bool ret = NDalicPINVOKE.ViewImpl_EmitKeyEventSignal(swigCPtr, Key.getCPtr(arg0));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new void OnStageConnection(int depth) {
- if (SwigDerivedClassHasMethod("OnStageConnection", swigMethodTypes0)) NDalicPINVOKE.ViewImpl_OnStageConnectionSwigExplicitViewImpl(swigCPtr, depth); else NDalicPINVOKE.ViewImpl_OnStageConnection(swigCPtr, depth);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnStageDisconnection() {
- if (SwigDerivedClassHasMethod("OnStageDisconnection", swigMethodTypes1)) NDalicPINVOKE.ViewImpl_OnStageDisconnectionSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnStageDisconnection(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnChildAdd(Actor child) {
- if (SwigDerivedClassHasMethod("OnChildAdd", swigMethodTypes2)) NDalicPINVOKE.ViewImpl_OnChildAddSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnChildAdd(swigCPtr, Actor.getCPtr(child));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnChildRemove(Actor child) {
- if (SwigDerivedClassHasMethod("OnChildRemove", swigMethodTypes3)) NDalicPINVOKE.ViewImpl_OnChildRemoveSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnChildRemove(swigCPtr, Actor.getCPtr(child));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnPropertySet(int index, Property.Value propertyValue) {
- if (SwigDerivedClassHasMethod("OnPropertySet", swigMethodTypes4)) NDalicPINVOKE.ViewImpl_OnPropertySetSwigExplicitViewImpl(swigCPtr, index, Property.Value.getCPtr(propertyValue)); else NDalicPINVOKE.ViewImpl_OnPropertySet(swigCPtr, index, Property.Value.getCPtr(propertyValue));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnSizeSet(Vector3 targetSize) {
- if (SwigDerivedClassHasMethod("OnSizeSet", swigMethodTypes5)) NDalicPINVOKE.ViewImpl_OnSizeSetSwigExplicitViewImpl(swigCPtr, Vector3.getCPtr(targetSize)); else NDalicPINVOKE.ViewImpl_OnSizeSet(swigCPtr, Vector3.getCPtr(targetSize));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnSizeAnimation(Animation animation, Vector3 targetSize) {
- if (SwigDerivedClassHasMethod("OnSizeAnimation", swigMethodTypes6)) NDalicPINVOKE.ViewImpl_OnSizeAnimationSwigExplicitViewImpl(swigCPtr, Animation.getCPtr(animation), Vector3.getCPtr(targetSize)); else NDalicPINVOKE.ViewImpl_OnSizeAnimation(swigCPtr, Animation.getCPtr(animation), Vector3.getCPtr(targetSize));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new bool OnTouchEvent(SWIGTYPE_p_Dali__TouchEvent arg0) {
- bool ret = (SwigDerivedClassHasMethod("OnTouchEvent", swigMethodTypes7) ? NDalicPINVOKE.ViewImpl_OnTouchEventSwigExplicitViewImpl(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnTouchEvent(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(arg0)));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new bool OnHoverEvent(Hover arg0) {
- bool ret = (SwigDerivedClassHasMethod("OnHoverEvent", swigMethodTypes8) ? NDalicPINVOKE.ViewImpl_OnHoverEventSwigExplicitViewImpl(swigCPtr, Hover.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnHoverEvent(swigCPtr, Hover.getCPtr(arg0)));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new bool OnKeyEvent(Key arg0) {
- bool ret = (SwigDerivedClassHasMethod("OnKeyEvent", swigMethodTypes9) ? NDalicPINVOKE.ViewImpl_OnKeyEventSwigExplicitViewImpl(swigCPtr, Key.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnKeyEvent(swigCPtr, Key.getCPtr(arg0)));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new bool OnWheelEvent(Wheel arg0) {
- bool ret = (SwigDerivedClassHasMethod("OnWheelEvent", swigMethodTypes10) ? NDalicPINVOKE.ViewImpl_OnWheelEventSwigExplicitViewImpl(swigCPtr, Wheel.getCPtr(arg0)) : NDalicPINVOKE.ViewImpl_OnWheelEvent(swigCPtr, Wheel.getCPtr(arg0)));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new void OnRelayout(Vector2 size, RelayoutContainer container) {
- if (SwigDerivedClassHasMethod("OnRelayout", swigMethodTypes11)) NDalicPINVOKE.ViewImpl_OnRelayoutSwigExplicitViewImpl(swigCPtr, Vector2.getCPtr(size), RelayoutContainer.getCPtr(container)); else NDalicPINVOKE.ViewImpl_OnRelayout(swigCPtr, Vector2.getCPtr(size), RelayoutContainer.getCPtr(container));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnSetResizePolicy(ResizePolicyType policy, DimensionType dimension) {
- if (SwigDerivedClassHasMethod("OnSetResizePolicy", swigMethodTypes12)) NDalicPINVOKE.ViewImpl_OnSetResizePolicySwigExplicitViewImpl(swigCPtr, (int)policy, (int)dimension); else NDalicPINVOKE.ViewImpl_OnSetResizePolicy(swigCPtr, (int)policy, (int)dimension);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new Vector3 GetNaturalSize() {
- Vector3 ret = new Vector3((SwigDerivedClassHasMethod("GetNaturalSize", swigMethodTypes13) ? NDalicPINVOKE.ViewImpl_GetNaturalSizeSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_GetNaturalSize(swigCPtr)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new float CalculateChildSize(Actor child, DimensionType dimension) {
- float ret = (SwigDerivedClassHasMethod("CalculateChildSize", swigMethodTypes14) ? NDalicPINVOKE.ViewImpl_CalculateChildSizeSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child), (int)dimension) : NDalicPINVOKE.ViewImpl_CalculateChildSize(swigCPtr, Actor.getCPtr(child), (int)dimension));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new float GetHeightForWidth(float width) {
- float ret = (SwigDerivedClassHasMethod("GetHeightForWidth", swigMethodTypes15) ? NDalicPINVOKE.ViewImpl_GetHeightForWidthSwigExplicitViewImpl(swigCPtr, width) : NDalicPINVOKE.ViewImpl_GetHeightForWidth(swigCPtr, width));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new float GetWidthForHeight(float height) {
- float ret = (SwigDerivedClassHasMethod("GetWidthForHeight", swigMethodTypes16) ? NDalicPINVOKE.ViewImpl_GetWidthForHeightSwigExplicitViewImpl(swigCPtr, height) : NDalicPINVOKE.ViewImpl_GetWidthForHeight(swigCPtr, height));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new bool RelayoutDependentOnChildren(DimensionType dimension) {
- bool ret = (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes17) ? NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_0(swigCPtr, (int)dimension) : NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildren__SWIG_0(swigCPtr, (int)dimension));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new bool RelayoutDependentOnChildren() {
- bool ret = (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes18) ? NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildrenSwigExplicitViewImpl__SWIG_1(swigCPtr) : NDalicPINVOKE.ViewImpl_RelayoutDependentOnChildren__SWIG_1(swigCPtr));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- protected virtual new void OnCalculateRelayoutSize(DimensionType dimension) {
- if (SwigDerivedClassHasMethod("OnCalculateRelayoutSize", swigMethodTypes19)) NDalicPINVOKE.ViewImpl_OnCalculateRelayoutSizeSwigExplicitViewImpl(swigCPtr, (int)dimension); else NDalicPINVOKE.ViewImpl_OnCalculateRelayoutSize(swigCPtr, (int)dimension);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- protected virtual new void OnLayoutNegotiated(float size, DimensionType dimension) {
- if (SwigDerivedClassHasMethod("OnLayoutNegotiated", swigMethodTypes20)) NDalicPINVOKE.ViewImpl_OnLayoutNegotiatedSwigExplicitViewImpl(swigCPtr, size, (int)dimension); else NDalicPINVOKE.ViewImpl_OnLayoutNegotiated(swigCPtr, size, (int)dimension);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnInitialize() {
- if (SwigDerivedClassHasMethod("OnInitialize", swigMethodTypes21)) NDalicPINVOKE.ViewImpl_OnInitializeSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnInitialize(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnControlChildAdd(Actor child) {
- if (SwigDerivedClassHasMethod("OnControlChildAdd", swigMethodTypes22)) NDalicPINVOKE.ViewImpl_OnControlChildAddSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnControlChildAdd(swigCPtr, Actor.getCPtr(child));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnControlChildRemove(Actor child) {
- if (SwigDerivedClassHasMethod("OnControlChildRemove", swigMethodTypes23)) NDalicPINVOKE.ViewImpl_OnControlChildRemoveSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(child)); else NDalicPINVOKE.ViewImpl_OnControlChildRemove(swigCPtr, Actor.getCPtr(child));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnStyleChange(StyleManager styleManager, StyleChangeType change) {
- if (SwigDerivedClassHasMethod("OnStyleChange", swigMethodTypes24)) NDalicPINVOKE.ViewImpl_OnStyleChangeSwigExplicitViewImpl(swigCPtr, StyleManager.getCPtr(styleManager), (int)change); else NDalicPINVOKE.ViewImpl_OnStyleChange(swigCPtr, StyleManager.getCPtr(styleManager), (int)change);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual bool OnAccessibilityActivated() {
- bool ret = (SwigDerivedClassHasMethod("OnAccessibilityActivated", swigMethodTypes25) ? NDalicPINVOKE.ViewImpl_OnAccessibilityActivatedSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnAccessibilityActivated(swigCPtr));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual bool OnAccessibilityPan(PanGesture gesture) {
- bool ret = (SwigDerivedClassHasMethod("OnAccessibilityPan", swigMethodTypes26) ? NDalicPINVOKE.ViewImpl_OnAccessibilityPanSwigExplicitViewImpl(swigCPtr, PanGesture.getCPtr(gesture)) : NDalicPINVOKE.ViewImpl_OnAccessibilityPan(swigCPtr, PanGesture.getCPtr(gesture)));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual bool OnAccessibilityTouch(SWIGTYPE_p_Dali__TouchEvent touchEvent) {
- bool ret = (SwigDerivedClassHasMethod("OnAccessibilityTouch", swigMethodTypes27) ? NDalicPINVOKE.ViewImpl_OnAccessibilityTouchSwigExplicitViewImpl(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(touchEvent)) : NDalicPINVOKE.ViewImpl_OnAccessibilityTouch(swigCPtr, SWIGTYPE_p_Dali__TouchEvent.getCPtr(touchEvent)));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual bool OnAccessibilityValueChange(bool isIncrease) {
- bool ret = (SwigDerivedClassHasMethod("OnAccessibilityValueChange", swigMethodTypes28) ? NDalicPINVOKE.ViewImpl_OnAccessibilityValueChangeSwigExplicitViewImpl(swigCPtr, isIncrease) : NDalicPINVOKE.ViewImpl_OnAccessibilityValueChange(swigCPtr, isIncrease));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual bool OnAccessibilityZoom() {
- bool ret = (SwigDerivedClassHasMethod("OnAccessibilityZoom", swigMethodTypes29) ? NDalicPINVOKE.ViewImpl_OnAccessibilityZoomSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnAccessibilityZoom(swigCPtr));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual void OnKeyInputFocusGained() {
- if (SwigDerivedClassHasMethod("OnKeyInputFocusGained", swigMethodTypes30)) NDalicPINVOKE.ViewImpl_OnKeyInputFocusGainedSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnKeyInputFocusGained(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnKeyInputFocusLost() {
- if (SwigDerivedClassHasMethod("OnKeyInputFocusLost", swigMethodTypes31)) NDalicPINVOKE.ViewImpl_OnKeyInputFocusLostSwigExplicitViewImpl(swigCPtr); else NDalicPINVOKE.ViewImpl_OnKeyInputFocusLost(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled) {
-
- //Console.WriteLine("[ViewImple] GetNextKeyboardFocusableActor()");
- Actor ret = new Actor((SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32) ? NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActorSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled) : NDalicPINVOKE.ViewImpl_GetNextKeyboardFocusableActor(swigCPtr, Actor.getCPtr(currentFocusedActor), (int)direction, loopEnabled)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor) {
- if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33)) NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommittedSwigExplicitViewImpl(swigCPtr, Actor.getCPtr(commitedFocusableActor)); else NDalicPINVOKE.ViewImpl_OnKeyboardFocusChangeCommitted(swigCPtr, Actor.getCPtr(commitedFocusableActor));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual bool OnKeyboardEnter() {
- bool ret = (SwigDerivedClassHasMethod("OnKeyboardEnter", swigMethodTypes34) ? NDalicPINVOKE.ViewImpl_OnKeyboardEnterSwigExplicitViewImpl(swigCPtr) : NDalicPINVOKE.ViewImpl_OnKeyboardEnter(swigCPtr));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public virtual void OnPinch(PinchGesture pinch) {
- if (SwigDerivedClassHasMethod("OnPinch", swigMethodTypes35)) NDalicPINVOKE.ViewImpl_OnPinchSwigExplicitViewImpl(swigCPtr, PinchGesture.getCPtr(pinch)); else NDalicPINVOKE.ViewImpl_OnPinch(swigCPtr, PinchGesture.getCPtr(pinch));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnPan(PanGesture pan) {
- if (SwigDerivedClassHasMethod("OnPan", swigMethodTypes36)) NDalicPINVOKE.ViewImpl_OnPanSwigExplicitViewImpl(swigCPtr, PanGesture.getCPtr(pan)); else NDalicPINVOKE.ViewImpl_OnPan(swigCPtr, PanGesture.getCPtr(pan));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnTap(TapGesture tap) {
- if (SwigDerivedClassHasMethod("OnTap", swigMethodTypes37)) NDalicPINVOKE.ViewImpl_OnTapSwigExplicitViewImpl(swigCPtr, TapGesture.getCPtr(tap)); else NDalicPINVOKE.ViewImpl_OnTap(swigCPtr, TapGesture.getCPtr(tap));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void OnLongPress(LongPressGesture longPress) {
- if (SwigDerivedClassHasMethod("OnLongPress", swigMethodTypes38)) NDalicPINVOKE.ViewImpl_OnLongPressSwigExplicitViewImpl(swigCPtr, LongPressGesture.getCPtr(longPress)); else NDalicPINVOKE.ViewImpl_OnLongPress(swigCPtr, LongPressGesture.getCPtr(longPress));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void SignalConnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) {
- if (SwigDerivedClassHasMethod("SignalConnected", swigMethodTypes39)) NDalicPINVOKE.ViewImpl_SignalConnectedSwigExplicitViewImpl(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback)); else NDalicPINVOKE.ViewImpl_SignalConnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public virtual void SignalDisconnected(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback) {
- if (SwigDerivedClassHasMethod("SignalDisconnected", swigMethodTypes40)) NDalicPINVOKE.ViewImpl_SignalDisconnectedSwigExplicitViewImpl(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback)); else NDalicPINVOKE.ViewImpl_SignalDisconnected(swigCPtr, SlotObserver.getCPtr(slotObserver), SWIGTYPE_p_Dali__CallbackBase.getCPtr(callback));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- private void SwigDirectorConnect() {
-
- //Console.WriteLine("[ViewImple] SwigDirectorConnect()");
-
- if (SwigDerivedClassHasMethod("OnStageConnection", swigMethodTypes0))
- swigDelegate0 = new SwigDelegateViewImpl_0(SwigDirectorOnStageConnection);
- if (SwigDerivedClassHasMethod("OnStageDisconnection", swigMethodTypes1))
- swigDelegate1 = new SwigDelegateViewImpl_1(SwigDirectorOnStageDisconnection);
- if (SwigDerivedClassHasMethod("OnChildAdd", swigMethodTypes2))
- swigDelegate2 = new SwigDelegateViewImpl_2(SwigDirectorOnChildAdd);
- if (SwigDerivedClassHasMethod("OnChildRemove", swigMethodTypes3))
- swigDelegate3 = new SwigDelegateViewImpl_3(SwigDirectorOnChildRemove);
- if (SwigDerivedClassHasMethod("OnPropertySet", swigMethodTypes4))
- swigDelegate4 = new SwigDelegateViewImpl_4(SwigDirectorOnPropertySet);
- if (SwigDerivedClassHasMethod("OnSizeSet", swigMethodTypes5))
- swigDelegate5 = new SwigDelegateViewImpl_5(SwigDirectorOnSizeSet);
- if (SwigDerivedClassHasMethod("OnSizeAnimation", swigMethodTypes6))
- swigDelegate6 = new SwigDelegateViewImpl_6(SwigDirectorOnSizeAnimation);
- if (SwigDerivedClassHasMethod("OnTouchEvent", swigMethodTypes7))
- swigDelegate7 = new SwigDelegateViewImpl_7(SwigDirectorOnTouchEvent);
- if (SwigDerivedClassHasMethod("OnHoverEvent", swigMethodTypes8))
- swigDelegate8 = new SwigDelegateViewImpl_8(SwigDirectorOnHoverEvent);
- if (SwigDerivedClassHasMethod("OnKeyEvent", swigMethodTypes9))
- swigDelegate9 = new SwigDelegateViewImpl_9(SwigDirectorOnKeyEvent);
- if (SwigDerivedClassHasMethod("OnWheelEvent", swigMethodTypes10))
- swigDelegate10 = new SwigDelegateViewImpl_10(SwigDirectorOnWheelEvent);
- if (SwigDerivedClassHasMethod("OnRelayout", swigMethodTypes11))
- swigDelegate11 = new SwigDelegateViewImpl_11(SwigDirectorOnRelayout);
- if (SwigDerivedClassHasMethod("OnSetResizePolicy", swigMethodTypes12))
- swigDelegate12 = new SwigDelegateViewImpl_12(SwigDirectorOnSetResizePolicy);
- if (SwigDerivedClassHasMethod("GetNaturalSize", swigMethodTypes13))
- swigDelegate13 = new SwigDelegateViewImpl_13(SwigDirectorGetNaturalSize);
- if (SwigDerivedClassHasMethod("CalculateChildSize", swigMethodTypes14))
- swigDelegate14 = new SwigDelegateViewImpl_14(SwigDirectorCalculateChildSize);
- if (SwigDerivedClassHasMethod("GetHeightForWidth", swigMethodTypes15))
- swigDelegate15 = new SwigDelegateViewImpl_15(SwigDirectorGetHeightForWidth);
- if (SwigDerivedClassHasMethod("GetWidthForHeight", swigMethodTypes16))
- swigDelegate16 = new SwigDelegateViewImpl_16(SwigDirectorGetWidthForHeight);
- if (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes17))
- swigDelegate17 = new SwigDelegateViewImpl_17(SwigDirectorRelayoutDependentOnChildren__SWIG_0);
- if (SwigDerivedClassHasMethod("RelayoutDependentOnChildren", swigMethodTypes18))
- swigDelegate18 = new SwigDelegateViewImpl_18(SwigDirectorRelayoutDependentOnChildren__SWIG_1);
- if (SwigDerivedClassHasMethod("OnCalculateRelayoutSize", swigMethodTypes19))
- swigDelegate19 = new SwigDelegateViewImpl_19(SwigDirectorOnCalculateRelayoutSize);
- if (SwigDerivedClassHasMethod("OnLayoutNegotiated", swigMethodTypes20))
- swigDelegate20 = new SwigDelegateViewImpl_20(SwigDirectorOnLayoutNegotiated);
- if (SwigDerivedClassHasMethod("OnInitialize", swigMethodTypes21))
- swigDelegate21 = new SwigDelegateViewImpl_21(SwigDirectorOnInitialize);
- if (SwigDerivedClassHasMethod("OnControlChildAdd", swigMethodTypes22))
- swigDelegate22 = new SwigDelegateViewImpl_22(SwigDirectorOnControlChildAdd);
- if (SwigDerivedClassHasMethod("OnControlChildRemove", swigMethodTypes23))
- swigDelegate23 = new SwigDelegateViewImpl_23(SwigDirectorOnControlChildRemove);
- if (SwigDerivedClassHasMethod("OnStyleChange", swigMethodTypes24))
- swigDelegate24 = new SwigDelegateViewImpl_24(SwigDirectorOnStyleChange);
- if (SwigDerivedClassHasMethod("OnAccessibilityActivated", swigMethodTypes25))
- swigDelegate25 = new SwigDelegateViewImpl_25(SwigDirectorOnAccessibilityActivated);
- if (SwigDerivedClassHasMethod("OnAccessibilityPan", swigMethodTypes26))
- swigDelegate26 = new SwigDelegateViewImpl_26(SwigDirectorOnAccessibilityPan);
- if (SwigDerivedClassHasMethod("OnAccessibilityTouch", swigMethodTypes27))
- swigDelegate27 = new SwigDelegateViewImpl_27(SwigDirectorOnAccessibilityTouch);
- if (SwigDerivedClassHasMethod("OnAccessibilityValueChange", swigMethodTypes28))
- swigDelegate28 = new SwigDelegateViewImpl_28(SwigDirectorOnAccessibilityValueChange);
- if (SwigDerivedClassHasMethod("OnAccessibilityZoom", swigMethodTypes29))
- swigDelegate29 = new SwigDelegateViewImpl_29(SwigDirectorOnAccessibilityZoom);
- if (SwigDerivedClassHasMethod("OnKeyInputFocusGained", swigMethodTypes30))
- swigDelegate30 = new SwigDelegateViewImpl_30(SwigDirectorOnKeyInputFocusGained);
- if (SwigDerivedClassHasMethod("OnKeyInputFocusLost", swigMethodTypes31))
- swigDelegate31 = new SwigDelegateViewImpl_31(SwigDirectorOnKeyInputFocusLost);
- if (SwigDerivedClassHasMethod("GetNextKeyboardFocusableActor", swigMethodTypes32))
- swigDelegate32 = new SwigDelegateViewImpl_32(SwigDirectorGetNextKeyboardFocusableActor);
- if (SwigDerivedClassHasMethod("OnKeyboardFocusChangeCommitted", swigMethodTypes33))
- swigDelegate33 = new SwigDelegateViewImpl_33(SwigDirectorOnKeyboardFocusChangeCommitted);
- if (SwigDerivedClassHasMethod("OnKeyboardEnter", swigMethodTypes34))
- swigDelegate34 = new SwigDelegateViewImpl_34(SwigDirectorOnKeyboardEnter);
- if (SwigDerivedClassHasMethod("OnPinch", swigMethodTypes35))
- swigDelegate35 = new SwigDelegateViewImpl_35(SwigDirectorOnPinch);
- if (SwigDerivedClassHasMethod("OnPan", swigMethodTypes36))
- swigDelegate36 = new SwigDelegateViewImpl_36(SwigDirectorOnPan);
- if (SwigDerivedClassHasMethod("OnTap", swigMethodTypes37))
- swigDelegate37 = new SwigDelegateViewImpl_37(SwigDirectorOnTap);
- if (SwigDerivedClassHasMethod("OnLongPress", swigMethodTypes38))
- swigDelegate38 = new SwigDelegateViewImpl_38(SwigDirectorOnLongPress);
- if (SwigDerivedClassHasMethod("SignalConnected", swigMethodTypes39))
- swigDelegate39 = new SwigDelegateViewImpl_39(SwigDirectorSignalConnected);
- if (SwigDerivedClassHasMethod("SignalDisconnected", swigMethodTypes40))
- swigDelegate40 = new SwigDelegateViewImpl_40(SwigDirectorSignalDisconnected);
- NDalicPINVOKE.ViewImpl_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3, swigDelegate4, swigDelegate5, swigDelegate6, swigDelegate7, swigDelegate8, swigDelegate9, swigDelegate10, swigDelegate11, swigDelegate12, swigDelegate13, swigDelegate14, swigDelegate15, swigDelegate16, swigDelegate17, swigDelegate18, swigDelegate19, swigDelegate20, swigDelegate21, swigDelegate22, swigDelegate23, swigDelegate24, swigDelegate25, swigDelegate26, swigDelegate27, swigDelegate28, swigDelegate29, swigDelegate30, swigDelegate31, swigDelegate32, swigDelegate33, swigDelegate34, swigDelegate35, swigDelegate36, swigDelegate37, swigDelegate38, swigDelegate39, swigDelegate40);
- }\r
-\r
-\r
-#if true
- private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)\r
- {\r
- global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, methodTypes);\r
- bool hasDerivedMethod = methodInfo.GetType().GetTypeInfo().IsSubclassOf(typeof(ViewImpl));\r
-\r
- Tizen.Log.Debug("NUI-APP", "hasDerivedMethod=" + hasDerivedMethod);\r
- return hasDerivedMethod;\r
- }\r
#else
-//original
- private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes) {
- global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
- bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(ViewImpl));
-
- //Console.WriteLine("[ViewImple] hasDerivedMethod=" + hasDerivedMethod);
- return hasDerivedMethod;
- }
+ private bool SwigDerivedClassHasMethod(string methodName, global::System.Type[] methodTypes)
+ {
+ global::System.Reflection.MethodInfo methodInfo = this.GetType().GetMethod(methodName, global::System.Reflection.BindingFlags.Public | global::System.Reflection.BindingFlags.NonPublic | global::System.Reflection.BindingFlags.Instance, null, methodTypes, null);
+ bool hasDerivedMethod = methodInfo.DeclaringType.IsSubclassOf(typeof(ViewImpl));
+ return hasDerivedMethod;
+ }
#endif
-\r
-\r
- private void SwigDirectorOnStageConnection(int depth) {
- OnStageConnection(depth);
- }
- private void SwigDirectorOnStageDisconnection() {
- OnStageDisconnection();
- }
+ private void SwigDirectorOnStageConnection(int depth)
+ {
+ OnStageConnection(depth);
+ }
- private void SwigDirectorOnChildAdd(global::System.IntPtr child) {
- OnChildAdd(new Actor(child, false));
- }
+ private void SwigDirectorOnStageDisconnection()
+ {
+ OnStageDisconnection();
+ }
- private void SwigDirectorOnChildRemove(global::System.IntPtr child) {
- OnChildRemove(new Actor(child, false));
- }
+ private void SwigDirectorOnChildAdd(global::System.IntPtr child)
+ {
+ OnChildAdd(new Actor(child, false));
+ }
- private void SwigDirectorOnPropertySet(int index, global::System.IntPtr propertyValue) {
- OnPropertySet(index, new Property.Value(propertyValue, true));
- }
+ private void SwigDirectorOnChildRemove(global::System.IntPtr child)
+ {
+ OnChildRemove(new Actor(child, false));
+ }
- private void SwigDirectorOnSizeSet(global::System.IntPtr targetSize) {
- OnSizeSet(new Vector3(targetSize, false));
- }
+ private void SwigDirectorOnPropertySet(int index, global::System.IntPtr propertyValue)
+ {
+ OnPropertySet(index, new PropertyValue(propertyValue, true));
+ }
- private void SwigDirectorOnSizeAnimation(global::System.IntPtr animation, global::System.IntPtr targetSize) {
- OnSizeAnimation(new Animation(animation, false), new Vector3(targetSize, false));
- }
+ private void SwigDirectorOnSizeSet(global::System.IntPtr targetSize)
+ {
+ OnSizeSet(new Vector3(targetSize, false));
+ }
- private bool SwigDirectorOnTouchEvent(global::System.IntPtr arg0) {
- return OnTouchEvent(new SWIGTYPE_p_Dali__TouchEvent(arg0, false));
- }
+ private void SwigDirectorOnSizeAnimation(global::System.IntPtr animation, global::System.IntPtr targetSize)
+ {
+ OnSizeAnimation(new Animation(animation, false), new Vector3(targetSize, false));
+ }
- private bool SwigDirectorOnHoverEvent(global::System.IntPtr arg0) {
- return OnHoverEvent(new Hover(arg0, false));
- }
+ private bool SwigDirectorOnTouchEvent(global::System.IntPtr arg0)
+ {
+ return OnTouchEvent(new SWIGTYPE_p_Dali__TouchEvent(arg0, false));
+ }
- private bool SwigDirectorOnKeyEvent(global::System.IntPtr arg0) {
- return OnKeyEvent(new Key(arg0, false));
- }
+ private bool SwigDirectorOnHoverEvent(global::System.IntPtr arg0)
+ {
+ return OnHoverEvent(new Hover(arg0, false));
+ }
- private bool SwigDirectorOnWheelEvent(global::System.IntPtr arg0) {
- return OnWheelEvent(new Wheel(arg0, false));
- }
+ private bool SwigDirectorOnKeyEvent(global::System.IntPtr arg0)
+ {
+ return OnKeyEvent(new Key(arg0, false));
+ }
- private void SwigDirectorOnRelayout(global::System.IntPtr size, global::System.IntPtr container) {
- OnRelayout(new Vector2(size, false), new RelayoutContainer(container, false));
- }
+ private bool SwigDirectorOnWheelEvent(global::System.IntPtr arg0)
+ {
+ return OnWheelEvent(new Wheel(arg0, false));
+ }
- private void SwigDirectorOnSetResizePolicy(int policy, int dimension) {
- OnSetResizePolicy((ResizePolicyType)policy, (DimensionType)dimension);
- }
+ private void SwigDirectorOnRelayout(global::System.IntPtr size, global::System.IntPtr container)
+ {
+ OnRelayout(new Vector2(size, false), new RelayoutContainer(container, false));
+ }
- private global::System.IntPtr SwigDirectorGetNaturalSize() {
- return Vector3.getCPtr(GetNaturalSize()).Handle;
- }
+ private void SwigDirectorOnSetResizePolicy(int policy, int dimension)
+ {
+ OnSetResizePolicy((ResizePolicyType)policy, (DimensionType)dimension);
+ }
- private float SwigDirectorCalculateChildSize(global::System.IntPtr child, int dimension) {
- return CalculateChildSize(new Actor(child, false), (DimensionType)dimension);
- }
+ private global::System.IntPtr SwigDirectorGetNaturalSize()
+ {
+ return Vector3.getCPtr(GetNaturalSize()).Handle;
+ }
- private float SwigDirectorGetHeightForWidth(float width) {
- return GetHeightForWidth(width);
- }
+ private float SwigDirectorCalculateChildSize(global::System.IntPtr child, int dimension)
+ {
+ return CalculateChildSize(new Actor(child, false), (DimensionType)dimension);
+ }
- private float SwigDirectorGetWidthForHeight(float height) {
- return GetWidthForHeight(height);
- }
-
- private bool SwigDirectorRelayoutDependentOnChildren__SWIG_0(int dimension) {
- return RelayoutDependentOnChildren((DimensionType)dimension);
- }
-
- private bool SwigDirectorRelayoutDependentOnChildren__SWIG_1() {
- return RelayoutDependentOnChildren();
- }
-
- private void SwigDirectorOnCalculateRelayoutSize(int dimension) {
- OnCalculateRelayoutSize((DimensionType)dimension);
- }
-
- private void SwigDirectorOnLayoutNegotiated(float size, int dimension) {
- OnLayoutNegotiated(size, (DimensionType)dimension);
- }
-
- private void SwigDirectorOnInitialize() {
- OnInitialize();
- }
-
- private void SwigDirectorOnControlChildAdd(global::System.IntPtr child) {
- OnControlChildAdd(new Actor(child, false));
- }
-
- private void SwigDirectorOnControlChildRemove(global::System.IntPtr child) {
- OnControlChildRemove(new Actor(child, false));
- }
-
- private void SwigDirectorOnStyleChange(global::System.IntPtr styleManager, int change) {
- OnStyleChange(new StyleManager(styleManager, true), (StyleChangeType)change);
- }
-
- private bool SwigDirectorOnAccessibilityActivated() {
- return OnAccessibilityActivated();
- }
-
- private bool SwigDirectorOnAccessibilityPan(global::System.IntPtr gesture) {
- return OnAccessibilityPan(new PanGesture(gesture, true));
- }
-
- private bool SwigDirectorOnAccessibilityTouch(global::System.IntPtr touchEvent) {
- return OnAccessibilityTouch(new SWIGTYPE_p_Dali__TouchEvent(touchEvent, false));
- }
-
- private bool SwigDirectorOnAccessibilityValueChange(bool isIncrease) {
- return OnAccessibilityValueChange(isIncrease);
- }
-
- private bool SwigDirectorOnAccessibilityZoom() {
- return OnAccessibilityZoom();
- }
-
- private void SwigDirectorOnKeyInputFocusGained() {
- OnKeyInputFocusGained();
- }
-
- private void SwigDirectorOnKeyInputFocusLost() {
- OnKeyInputFocusLost();
- }
-
- private global::System.IntPtr SwigDirectorGetNextKeyboardFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled) {
- return Actor.getCPtr(GetNextKeyboardFocusableActor(new Actor(currentFocusedActor, true), (View.KeyboardFocus.Direction)direction, loopEnabled)).Handle;
- }
-
- private void SwigDirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableActor) {
- OnKeyboardFocusChangeCommitted(new Actor(commitedFocusableActor, true));
- }
-
- private bool SwigDirectorOnKeyboardEnter() {
- return OnKeyboardEnter();
- }
-
- private void SwigDirectorOnPinch(global::System.IntPtr pinch) {
- OnPinch(new PinchGesture(pinch, false));
- }
-
- private void SwigDirectorOnPan(global::System.IntPtr pan) {
- OnPan(new PanGesture(pan, false));
- }
-
- private void SwigDirectorOnTap(global::System.IntPtr tap) {
- OnTap(new TapGesture(tap, false));
- }
-
- private void SwigDirectorOnLongPress(global::System.IntPtr longPress) {
- OnLongPress(new LongPressGesture(longPress, false));
- }
-
- private void SwigDirectorSignalConnected(global::System.IntPtr slotObserver, global::System.IntPtr callback) {
- SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
- }
-
- private void SwigDirectorSignalDisconnected(global::System.IntPtr slotObserver, global::System.IntPtr callback) {
- SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
- }
-
- public delegate void SwigDelegateViewImpl_0(int depth);
- public delegate void SwigDelegateViewImpl_1();
- public delegate void SwigDelegateViewImpl_2(global::System.IntPtr child);
- public delegate void SwigDelegateViewImpl_3(global::System.IntPtr child);
- public delegate void SwigDelegateViewImpl_4(int index, global::System.IntPtr propertyValue);
- public delegate void SwigDelegateViewImpl_5(global::System.IntPtr targetSize);
- public delegate void SwigDelegateViewImpl_6(global::System.IntPtr animation, global::System.IntPtr targetSize);
- public delegate bool SwigDelegateViewImpl_7(global::System.IntPtr arg0);
- public delegate bool SwigDelegateViewImpl_8(global::System.IntPtr arg0);
- public delegate bool SwigDelegateViewImpl_9(global::System.IntPtr arg0);
- public delegate bool SwigDelegateViewImpl_10(global::System.IntPtr arg0);
- public delegate void SwigDelegateViewImpl_11(global::System.IntPtr size, global::System.IntPtr container);
- public delegate void SwigDelegateViewImpl_12(int policy, int dimension);
- public delegate global::System.IntPtr SwigDelegateViewImpl_13();
- public delegate float SwigDelegateViewImpl_14(global::System.IntPtr child, int dimension);
- public delegate float SwigDelegateViewImpl_15(float width);
- public delegate float SwigDelegateViewImpl_16(float height);
- public delegate bool SwigDelegateViewImpl_17(int dimension);
- public delegate bool SwigDelegateViewImpl_18();
- public delegate void SwigDelegateViewImpl_19(int dimension);
- public delegate void SwigDelegateViewImpl_20(float size, int dimension);
- public delegate void SwigDelegateViewImpl_21();
- public delegate void SwigDelegateViewImpl_22(global::System.IntPtr child);
- public delegate void SwigDelegateViewImpl_23(global::System.IntPtr child);
- public delegate void SwigDelegateViewImpl_24(global::System.IntPtr styleManager, int change);
- public delegate bool SwigDelegateViewImpl_25();
- public delegate bool SwigDelegateViewImpl_26(global::System.IntPtr gesture);
- public delegate bool SwigDelegateViewImpl_27(global::System.IntPtr touchEvent);
- public delegate bool SwigDelegateViewImpl_28(bool isIncrease);
- public delegate bool SwigDelegateViewImpl_29();
- public delegate void SwigDelegateViewImpl_30();
- public delegate void SwigDelegateViewImpl_31();
- public delegate global::System.IntPtr SwigDelegateViewImpl_32(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled);
- public delegate void SwigDelegateViewImpl_33(global::System.IntPtr commitedFocusableActor);
- public delegate bool SwigDelegateViewImpl_34();
- public delegate void SwigDelegateViewImpl_35(global::System.IntPtr pinch);
- public delegate void SwigDelegateViewImpl_36(global::System.IntPtr pan);
- public delegate void SwigDelegateViewImpl_37(global::System.IntPtr tap);
- public delegate void SwigDelegateViewImpl_38(global::System.IntPtr longPress);
- public delegate void SwigDelegateViewImpl_39(global::System.IntPtr slotObserver, global::System.IntPtr callback);
- public delegate void SwigDelegateViewImpl_40(global::System.IntPtr slotObserver, global::System.IntPtr callback);
-
- private SwigDelegateViewImpl_0 swigDelegate0;
- private SwigDelegateViewImpl_1 swigDelegate1;
- private SwigDelegateViewImpl_2 swigDelegate2;
- private SwigDelegateViewImpl_3 swigDelegate3;
- private SwigDelegateViewImpl_4 swigDelegate4;
- private SwigDelegateViewImpl_5 swigDelegate5;
- private SwigDelegateViewImpl_6 swigDelegate6;
- private SwigDelegateViewImpl_7 swigDelegate7;
- private SwigDelegateViewImpl_8 swigDelegate8;
- private SwigDelegateViewImpl_9 swigDelegate9;
- private SwigDelegateViewImpl_10 swigDelegate10;
- private SwigDelegateViewImpl_11 swigDelegate11;
- private SwigDelegateViewImpl_12 swigDelegate12;
- private SwigDelegateViewImpl_13 swigDelegate13;
- private SwigDelegateViewImpl_14 swigDelegate14;
- private SwigDelegateViewImpl_15 swigDelegate15;
- private SwigDelegateViewImpl_16 swigDelegate16;
- private SwigDelegateViewImpl_17 swigDelegate17;
- private SwigDelegateViewImpl_18 swigDelegate18;
- private SwigDelegateViewImpl_19 swigDelegate19;
- private SwigDelegateViewImpl_20 swigDelegate20;
- private SwigDelegateViewImpl_21 swigDelegate21;
- private SwigDelegateViewImpl_22 swigDelegate22;
- private SwigDelegateViewImpl_23 swigDelegate23;
- private SwigDelegateViewImpl_24 swigDelegate24;
- private SwigDelegateViewImpl_25 swigDelegate25;
- private SwigDelegateViewImpl_26 swigDelegate26;
- private SwigDelegateViewImpl_27 swigDelegate27;
- private SwigDelegateViewImpl_28 swigDelegate28;
- private SwigDelegateViewImpl_29 swigDelegate29;
- private SwigDelegateViewImpl_30 swigDelegate30;
- private SwigDelegateViewImpl_31 swigDelegate31;
- private SwigDelegateViewImpl_32 swigDelegate32;
- private SwigDelegateViewImpl_33 swigDelegate33;
- private SwigDelegateViewImpl_34 swigDelegate34;
- private SwigDelegateViewImpl_35 swigDelegate35;
- private SwigDelegateViewImpl_36 swigDelegate36;
- private SwigDelegateViewImpl_37 swigDelegate37;
- private SwigDelegateViewImpl_38 swigDelegate38;
- private SwigDelegateViewImpl_39 swigDelegate39;
- private SwigDelegateViewImpl_40 swigDelegate40;
-
- private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(int) };
- private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { typeof(Actor) };
- private static global::System.Type[] swigMethodTypes3 = new global::System.Type[] { typeof(Actor) };
- private static global::System.Type[] swigMethodTypes4 = new global::System.Type[] { typeof(int), typeof(Property.Value) };
- private static global::System.Type[] swigMethodTypes5 = new global::System.Type[] { typeof(Vector3) };
- private static global::System.Type[] swigMethodTypes6 = new global::System.Type[] { typeof(Animation), typeof(Vector3) };
- private static global::System.Type[] swigMethodTypes7 = new global::System.Type[] { typeof(SWIGTYPE_p_Dali__TouchEvent) };
- private static global::System.Type[] swigMethodTypes8 = new global::System.Type[] { typeof(Hover) };
- private static global::System.Type[] swigMethodTypes9 = new global::System.Type[] { typeof(Key) };
- private static global::System.Type[] swigMethodTypes10 = new global::System.Type[] { typeof(Wheel) };
- private static global::System.Type[] swigMethodTypes11 = new global::System.Type[] { typeof(Vector2), typeof(RelayoutContainer) };
- private static global::System.Type[] swigMethodTypes12 = new global::System.Type[] { typeof(ResizePolicyType), typeof(DimensionType) };
- private static global::System.Type[] swigMethodTypes13 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes14 = new global::System.Type[] { typeof(Actor), typeof(DimensionType) };
- private static global::System.Type[] swigMethodTypes15 = new global::System.Type[] { typeof(float) };
- private static global::System.Type[] swigMethodTypes16 = new global::System.Type[] { typeof(float) };
- private static global::System.Type[] swigMethodTypes17 = new global::System.Type[] { typeof(DimensionType) };
- private static global::System.Type[] swigMethodTypes18 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes19 = new global::System.Type[] { typeof(DimensionType) };
- private static global::System.Type[] swigMethodTypes20 = new global::System.Type[] { typeof(float), typeof(DimensionType) };
- private static global::System.Type[] swigMethodTypes21 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes22 = new global::System.Type[] { typeof(Actor) };
- private static global::System.Type[] swigMethodTypes23 = new global::System.Type[] { typeof(Actor) };
- private static global::System.Type[] swigMethodTypes24 = new global::System.Type[] { typeof(StyleManager), typeof(StyleChangeType) };
- private static global::System.Type[] swigMethodTypes25 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes26 = new global::System.Type[] { typeof(PanGesture) };
- private static global::System.Type[] swigMethodTypes27 = new global::System.Type[] { typeof(SWIGTYPE_p_Dali__TouchEvent) };
- private static global::System.Type[] swigMethodTypes28 = new global::System.Type[] { typeof(bool) };
- private static global::System.Type[] swigMethodTypes29 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes30 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes31 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes32 = new global::System.Type[] { typeof(Actor), typeof(View.KeyboardFocus.Direction), typeof(bool) };
- private static global::System.Type[] swigMethodTypes33 = new global::System.Type[] { typeof(Actor) };
- private static global::System.Type[] swigMethodTypes34 = new global::System.Type[] { };
- private static global::System.Type[] swigMethodTypes35 = new global::System.Type[] { typeof(PinchGesture) };
- private static global::System.Type[] swigMethodTypes36 = new global::System.Type[] { typeof(PanGesture) };
- private static global::System.Type[] swigMethodTypes37 = new global::System.Type[] { typeof(TapGesture) };
- private static global::System.Type[] swigMethodTypes38 = new global::System.Type[] { typeof(LongPressGesture) };
- private static global::System.Type[] swigMethodTypes39 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) };
- private static global::System.Type[] swigMethodTypes40 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) };
-}
+ private float SwigDirectorGetHeightForWidth(float width)
+ {
+ return GetHeightForWidth(width);
+ }
+
+ private float SwigDirectorGetWidthForHeight(float height)
+ {
+ return GetWidthForHeight(height);
+ }
+
+ private bool SwigDirectorRelayoutDependentOnChildren__SWIG_0(int dimension)
+ {
+ return RelayoutDependentOnChildren((DimensionType)dimension);
+ }
+
+ private bool SwigDirectorRelayoutDependentOnChildren__SWIG_1()
+ {
+ return RelayoutDependentOnChildren();
+ }
+
+ private void SwigDirectorOnCalculateRelayoutSize(int dimension)
+ {
+ OnCalculateRelayoutSize((DimensionType)dimension);
+ }
+
+ private void SwigDirectorOnLayoutNegotiated(float size, int dimension)
+ {
+ OnLayoutNegotiated(size, (DimensionType)dimension);
+ }
+
+ private void SwigDirectorOnInitialize()
+ {
+ OnInitialize();
+ }
+
+ private void SwigDirectorOnControlChildAdd(global::System.IntPtr child)
+ {
+ OnControlChildAdd(new Actor(child, false));
+ }
+
+ private void SwigDirectorOnControlChildRemove(global::System.IntPtr child)
+ {
+ OnControlChildRemove(new Actor(child, false));
+ }
+
+ private void SwigDirectorOnStyleChange(global::System.IntPtr styleManager, int change)
+ {
+ OnStyleChange(new StyleManager(styleManager, true), (StyleChangeType)change);
+ }
+
+ private bool SwigDirectorOnAccessibilityActivated()
+ {
+ return OnAccessibilityActivated();
+ }
+
+ private bool SwigDirectorOnAccessibilityPan(global::System.IntPtr gesture)
+ {
+ return OnAccessibilityPan(new PanGesture(gesture, true));
+ }
+
+ private bool SwigDirectorOnAccessibilityTouch(global::System.IntPtr touchEvent)
+ {
+ return OnAccessibilityTouch(new SWIGTYPE_p_Dali__TouchEvent(touchEvent, false));
+ }
+
+ private bool SwigDirectorOnAccessibilityValueChange(bool isIncrease)
+ {
+ return OnAccessibilityValueChange(isIncrease);
+ }
+
+ private bool SwigDirectorOnAccessibilityZoom()
+ {
+ return OnAccessibilityZoom();
+ }
+
+ private void SwigDirectorOnKeyInputFocusGained()
+ {
+ OnKeyInputFocusGained();
+ }
+
+ private void SwigDirectorOnKeyInputFocusLost()
+ {
+ OnKeyInputFocusLost();
+ }
+
+ private global::System.IntPtr SwigDirectorGetNextKeyboardFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled)
+ {
+ return Actor.getCPtr(GetNextKeyboardFocusableActor(new Actor(currentFocusedActor, true), (View.FocusDirection)direction, loopEnabled)).Handle;
+ }
+
+ private void SwigDirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableActor)
+ {
+ OnKeyboardFocusChangeCommitted(new Actor(commitedFocusableActor, true));
+ }
+
+ private bool SwigDirectorOnKeyboardEnter()
+ {
+ return OnKeyboardEnter();
+ }
+
+ private void SwigDirectorOnPinch(global::System.IntPtr pinch)
+ {
+ OnPinch(new PinchGesture(pinch, false));
+ }
+
+ private void SwigDirectorOnPan(global::System.IntPtr pan)
+ {
+ OnPan(new PanGesture(pan, false));
+ }
+
+ private void SwigDirectorOnTap(global::System.IntPtr tap)
+ {
+ OnTap(new TapGesture(tap, false));
+ }
+
+ private void SwigDirectorOnLongPress(global::System.IntPtr longPress)
+ {
+ OnLongPress(new LongPressGesture(longPress, false));
+ }
+
+ private void SwigDirectorSignalConnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
+ {
+ SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
+ }
+
+ private void SwigDirectorSignalDisconnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
+ {
+ SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
+ }
+
+ public delegate void SwigDelegateViewImpl_0(int depth);
+ public delegate void SwigDelegateViewImpl_1();
+ public delegate void SwigDelegateViewImpl_2(global::System.IntPtr child);
+ public delegate void SwigDelegateViewImpl_3(global::System.IntPtr child);
+ public delegate void SwigDelegateViewImpl_4(int index, global::System.IntPtr propertyValue);
+ public delegate void SwigDelegateViewImpl_5(global::System.IntPtr targetSize);
+ public delegate void SwigDelegateViewImpl_6(global::System.IntPtr animation, global::System.IntPtr targetSize);
+ public delegate bool SwigDelegateViewImpl_7(global::System.IntPtr arg0);
+ public delegate bool SwigDelegateViewImpl_8(global::System.IntPtr arg0);
+ public delegate bool SwigDelegateViewImpl_9(global::System.IntPtr arg0);
+ public delegate bool SwigDelegateViewImpl_10(global::System.IntPtr arg0);
+ public delegate void SwigDelegateViewImpl_11(global::System.IntPtr size, global::System.IntPtr container);
+ public delegate void SwigDelegateViewImpl_12(int policy, int dimension);
+ public delegate global::System.IntPtr SwigDelegateViewImpl_13();
+ public delegate float SwigDelegateViewImpl_14(global::System.IntPtr child, int dimension);
+ public delegate float SwigDelegateViewImpl_15(float width);
+ public delegate float SwigDelegateViewImpl_16(float height);
+ public delegate bool SwigDelegateViewImpl_17(int dimension);
+ public delegate bool SwigDelegateViewImpl_18();
+ public delegate void SwigDelegateViewImpl_19(int dimension);
+ public delegate void SwigDelegateViewImpl_20(float size, int dimension);
+ public delegate void SwigDelegateViewImpl_21();
+ public delegate void SwigDelegateViewImpl_22(global::System.IntPtr child);
+ public delegate void SwigDelegateViewImpl_23(global::System.IntPtr child);
+ public delegate void SwigDelegateViewImpl_24(global::System.IntPtr styleManager, int change);
+ public delegate bool SwigDelegateViewImpl_25();
+ public delegate bool SwigDelegateViewImpl_26(global::System.IntPtr gesture);
+ public delegate bool SwigDelegateViewImpl_27(global::System.IntPtr touchEvent);
+ public delegate bool SwigDelegateViewImpl_28(bool isIncrease);
+ public delegate bool SwigDelegateViewImpl_29();
+ public delegate void SwigDelegateViewImpl_30();
+ public delegate void SwigDelegateViewImpl_31();
+ public delegate global::System.IntPtr SwigDelegateViewImpl_32(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled);
+ public delegate void SwigDelegateViewImpl_33(global::System.IntPtr commitedFocusableActor);
+ public delegate bool SwigDelegateViewImpl_34();
+ public delegate void SwigDelegateViewImpl_35(global::System.IntPtr pinch);
+ public delegate void SwigDelegateViewImpl_36(global::System.IntPtr pan);
+ public delegate void SwigDelegateViewImpl_37(global::System.IntPtr tap);
+ public delegate void SwigDelegateViewImpl_38(global::System.IntPtr longPress);
+ public delegate void SwigDelegateViewImpl_39(global::System.IntPtr slotObserver, global::System.IntPtr callback);
+ public delegate void SwigDelegateViewImpl_40(global::System.IntPtr slotObserver, global::System.IntPtr callback);
+
+ private SwigDelegateViewImpl_0 swigDelegate0;
+ private SwigDelegateViewImpl_1 swigDelegate1;
+ private SwigDelegateViewImpl_2 swigDelegate2;
+ private SwigDelegateViewImpl_3 swigDelegate3;
+ private SwigDelegateViewImpl_4 swigDelegate4;
+ private SwigDelegateViewImpl_5 swigDelegate5;
+ private SwigDelegateViewImpl_6 swigDelegate6;
+ private SwigDelegateViewImpl_7 swigDelegate7;
+ private SwigDelegateViewImpl_8 swigDelegate8;
+ private SwigDelegateViewImpl_9 swigDelegate9;
+ private SwigDelegateViewImpl_10 swigDelegate10;
+ private SwigDelegateViewImpl_11 swigDelegate11;
+ private SwigDelegateViewImpl_12 swigDelegate12;
+ private SwigDelegateViewImpl_13 swigDelegate13;
+ private SwigDelegateViewImpl_14 swigDelegate14;
+ private SwigDelegateViewImpl_15 swigDelegate15;
+ private SwigDelegateViewImpl_16 swigDelegate16;
+ private SwigDelegateViewImpl_17 swigDelegate17;
+ private SwigDelegateViewImpl_18 swigDelegate18;
+ private SwigDelegateViewImpl_19 swigDelegate19;
+ private SwigDelegateViewImpl_20 swigDelegate20;
+ private SwigDelegateViewImpl_21 swigDelegate21;
+ private SwigDelegateViewImpl_22 swigDelegate22;
+ private SwigDelegateViewImpl_23 swigDelegate23;
+ private SwigDelegateViewImpl_24 swigDelegate24;
+ private SwigDelegateViewImpl_25 swigDelegate25;
+ private SwigDelegateViewImpl_26 swigDelegate26;
+ private SwigDelegateViewImpl_27 swigDelegate27;
+ private SwigDelegateViewImpl_28 swigDelegate28;
+ private SwigDelegateViewImpl_29 swigDelegate29;
+ private SwigDelegateViewImpl_30 swigDelegate30;
+ private SwigDelegateViewImpl_31 swigDelegate31;
+ private SwigDelegateViewImpl_32 swigDelegate32;
+ private SwigDelegateViewImpl_33 swigDelegate33;
+ private SwigDelegateViewImpl_34 swigDelegate34;
+ private SwigDelegateViewImpl_35 swigDelegate35;
+ private SwigDelegateViewImpl_36 swigDelegate36;
+ private SwigDelegateViewImpl_37 swigDelegate37;
+ private SwigDelegateViewImpl_38 swigDelegate38;
+ private SwigDelegateViewImpl_39 swigDelegate39;
+ private SwigDelegateViewImpl_40 swigDelegate40;
+
+ private static global::System.Type[] swigMethodTypes0 = new global::System.Type[] { typeof(int) };
+ private static global::System.Type[] swigMethodTypes1 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes2 = new global::System.Type[] { typeof(Actor) };
+ private static global::System.Type[] swigMethodTypes3 = new global::System.Type[] { typeof(Actor) };
+ private static global::System.Type[] swigMethodTypes4 = new global::System.Type[] { typeof(int), typeof(PropertyValue) };
+ private static global::System.Type[] swigMethodTypes5 = new global::System.Type[] { typeof(Vector3) };
+ private static global::System.Type[] swigMethodTypes6 = new global::System.Type[] { typeof(Animation), typeof(Vector3) };
+ private static global::System.Type[] swigMethodTypes7 = new global::System.Type[] { typeof(SWIGTYPE_p_Dali__TouchEvent) };
+ private static global::System.Type[] swigMethodTypes8 = new global::System.Type[] { typeof(Hover) };
+ private static global::System.Type[] swigMethodTypes9 = new global::System.Type[] { typeof(Key) };
+ private static global::System.Type[] swigMethodTypes10 = new global::System.Type[] { typeof(Wheel) };
+ private static global::System.Type[] swigMethodTypes11 = new global::System.Type[] { typeof(Vector2), typeof(RelayoutContainer) };
+ private static global::System.Type[] swigMethodTypes12 = new global::System.Type[] { typeof(ResizePolicyType), typeof(DimensionType) };
+ private static global::System.Type[] swigMethodTypes13 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes14 = new global::System.Type[] { typeof(Actor), typeof(DimensionType) };
+ private static global::System.Type[] swigMethodTypes15 = new global::System.Type[] { typeof(float) };
+ private static global::System.Type[] swigMethodTypes16 = new global::System.Type[] { typeof(float) };
+ private static global::System.Type[] swigMethodTypes17 = new global::System.Type[] { typeof(DimensionType) };
+ private static global::System.Type[] swigMethodTypes18 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes19 = new global::System.Type[] { typeof(DimensionType) };
+ private static global::System.Type[] swigMethodTypes20 = new global::System.Type[] { typeof(float), typeof(DimensionType) };
+ private static global::System.Type[] swigMethodTypes21 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes22 = new global::System.Type[] { typeof(Actor) };
+ private static global::System.Type[] swigMethodTypes23 = new global::System.Type[] { typeof(Actor) };
+ private static global::System.Type[] swigMethodTypes24 = new global::System.Type[] { typeof(StyleManager), typeof(StyleChangeType) };
+ private static global::System.Type[] swigMethodTypes25 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes26 = new global::System.Type[] { typeof(PanGesture) };
+ private static global::System.Type[] swigMethodTypes27 = new global::System.Type[] { typeof(SWIGTYPE_p_Dali__TouchEvent) };
+ private static global::System.Type[] swigMethodTypes28 = new global::System.Type[] { typeof(bool) };
+ private static global::System.Type[] swigMethodTypes29 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes30 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes31 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes32 = new global::System.Type[] { typeof(Actor), typeof(View.FocusDirection), typeof(bool) };
+ private static global::System.Type[] swigMethodTypes33 = new global::System.Type[] { typeof(Actor) };
+ private static global::System.Type[] swigMethodTypes34 = new global::System.Type[] { };
+ private static global::System.Type[] swigMethodTypes35 = new global::System.Type[] { typeof(PinchGesture) };
+ private static global::System.Type[] swigMethodTypes36 = new global::System.Type[] { typeof(PanGesture) };
+ private static global::System.Type[] swigMethodTypes37 = new global::System.Type[] { typeof(TapGesture) };
+ private static global::System.Type[] swigMethodTypes38 = new global::System.Type[] { typeof(LongPressGesture) };
+ private static global::System.Type[] swigMethodTypes39 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) };
+ private static global::System.Type[] swigMethodTypes40 = new global::System.Type[] { typeof(SlotObserver), typeof(SWIGTYPE_p_Dali__CallbackBase) };
+ }
}
namespace Tizen.NUI {
-public enum ViewMode {
+ internal enum ViewMode {
MONO,
STEREO_HORIZONTAL,
STEREO_VERTICAL,
-using System;
+#define DOT_NET_CORE
+
+using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
-
-#if true
+#if (DOT_NET_CORE)
using System.Reflection;
#endif
namespace Tizen.NUI
{
- /// <summary>
- /// Add this attribute to any property belonging to a View (control) you want to be scriptable from JSON
- /// </summary>
- /// <remarks>
- /// Example:
- ///
- /// class MyView : public CustomView
- /// {
- /// [ScriptableProperty()]
- /// public int MyProperty
- /// {
- /// get
- /// {
- /// return _myProperty;
- /// }
- /// set
- /// {
- /// _myProperty = value;
- /// }
- /// }
- /// }
- ///
- /// Internally the following occurs for property registration ( this only occurs once per Type, not per Instance):
- ///
- /// - The controls static constructor should call ViewRegistry.Register() (only called once for the lifecycle of the app)
- /// - Within Register() the code will introspect the Controls properties, looking for the ScriptableProperty() attribute
- /// - For every property with the ScriptableProperty() attribute, TypeRegistration.RegisterProperty is called.
- /// - TypeRegistration.RegisterProperty calls in to DALi C++ Code Dali::CSharpTypeRegistry::RegisterProperty()
- /// - DALi C++ now knows the existance of the property and will try calling SetProperty, if it finds the property in a JSON file (loaded using builder).
- ///
- /// The DALi C# example
- ///
- /// class MyView : public CustomView
- /// {
- ///
- /// [ScriptableProperty()]
- /// public double Hours
- /// {
- /// get { return seconds / 3600; }
- /// set { seconds = value * 3600; }
- /// }
- /// }
- ///
- /// Equivalent code in DALi C++:
- /// in MyControl.h
- /// class MyControl : public Control
- /// {
- /// struct Property
- /// {
- /// enum
- /// {
- /// HOURS = Control::CONTROL_PROPERTY_END_INDEX + 1
- /// }
- /// }
- ///
- ///
- /// in MyControl-impl.cpp
- ///
- /// DALI_TYPE_REGISTRATION_BEGIN( Toolkit::MyControl, Toolkit::Control, Create );
- /// DALI_PROPERTY_REGISTRATION( Toolkit, MyControl, "Hours", INTEGER, DISABLED )
- /// DALI_TYPE_REGISTRATION_END()
- /// </remarks>
- ///
- ///
- public class ScriptableProperty : System.Attribute
- {
- public enum ScriptableType
+ /// <summary>
+ /// Add this attribute to any property belonging to a View (control) you want to be scriptable from JSON
+ /// </summary>
+ /// <remarks>
+ /// Example:
+ ///
+ /// class MyView : public CustomView
+ /// {
+ /// [ScriptableProperty()]
+ /// public int MyProperty
+ /// {
+ /// get
+ /// {
+ /// return _myProperty;
+ /// }
+ /// set
+ /// {
+ /// _myProperty = value;
+ /// }
+ /// }
+ /// }
+ ///
+ /// Internally the following occurs for property registration ( this only occurs once per Type, not per Instance):
+ ///
+ /// - The controls static constructor should call ViewRegistry.Register() (only called once for the lifecycle of the app)
+ /// - Within Register() the code will introspect the Controls properties, looking for the ScriptableProperty() attribute
+ /// - For every property with the ScriptableProperty() attribute, TypeRegistration.RegisterProperty is called.
+ /// - TypeRegistration.RegisterProperty calls in to DALi C++ Code Dali::CSharpTypeRegistry::RegisterProperty()
+ /// - DALi C++ now knows the existance of the property and will try calling SetProperty, if it finds the property in a JSON file (loaded using builder).
+ ///
+ /// The DALi C# example
+ ///
+ /// class MyView : public CustomView
+ /// {
+ ///
+ /// [ScriptableProperty()]
+ /// public double Hours
+ /// {
+ /// get { return seconds / 3600; }
+ /// set { seconds = value * 3600; }
+ /// }
+ /// }
+ ///
+ /// Equivalent code in DALi C++:
+ /// in MyControl.h
+ /// class MyControl : public Control
+ /// {
+ /// struct Property
+ /// {
+ /// enum
+ /// {
+ /// HOURS = Control::CONTROL_PROPERTY_END_INDEX + 1
+ /// }
+ /// }
+ /// }
+ ///
+ /// in MyControl-impl.cpp
+ ///
+ /// DALI_TYPE_REGISTRATION_BEGIN( Toolkit::MyControl, Toolkit::Control, Create );
+ /// DALI_PROPERTY_REGISTRATION( Toolkit, MyControl, "Hours", INTEGER, DISABLED )
+ /// DALI_TYPE_REGISTRATION_END()
+ /// </remarks>
+ ///
+ ///
+ public class ScriptableProperty : System.Attribute
{
- Default, // Read Writable, non-animatable property, event thread only
- // Animatable // Animatable property, Currently disabled, UK
- }
- public readonly ScriptableType type;
+ public enum ScriptableType
+ {
+ Default, // Read Writable, non-animatable property, event thread only
+ // Animatable // Animatable property, Currently disabled, UK
+ }
+ public readonly ScriptableType type;
- public ScriptableProperty(ScriptableType type = ScriptableType.Default )
- {
- this.type = type;
+ public ScriptableProperty(ScriptableType type = ScriptableType.Default)
+ {
+ this.type = type;
+ }
}
- }
-
- /// <summary>
- /// View Registry singleton.
- /// Used for registering controls and any scriptable properties they have ( see ScriptableProperty )
- ///
- /// Internal Design from C# to C++
- ///
- /// - Each custom C# view should have it's static constructor called before any JSON file is loaded.
- /// Static constructors for a class will only run once ( they are run per control type, not per instance).
- /// Example of running a static constructor:
- /// System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (typeof(Spin).TypeHandle);
- /// Inside the static constructor the control should register it's type with the ViewRegistry
- /// e.g.
- ///
- /// static Spin()
- /// {
- /// ViewRegistry.Instance.Register(CreateInstance, typeof(Spin) );
- /// }
- ///
- /// The control should also provide a CreateInstance function, which gets passed to the ViewRegistry
- /// // Eventually it will be called if DALi Builderfinds a Spin control in a JSON file
- /// static CustomView CreateInstance()
- /// {
- /// return new Spin();
- /// }
- ///
- ///
- ///
- /// The DALi C++ equivalent of this is
- ///
- /// TypeRegistration mType( typeid(Toolkit::Spin), typeid(Toolkit::Control), CreateInstance );
- ///
- ///
- ///
- /// </summary>
- public sealed class ViewRegistry
- {
+
/// <summary>
- /// ViewRegistry is a singleton
+ /// View Registry singleton.
+ /// Used for registering controls and any scriptable properties they have ( see ScriptableProperty )
+ ///
+ /// Internal Design from C# to C++
+ ///
+ /// - Each custom C# view should have it's static constructor called before any JSON file is loaded.
+ /// Static constructors for a class will only run once ( they are run per control type, not per instance).
+ /// Example of running a static constructor:
+ /// System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor (typeof(Spin).TypeHandle);
+ /// Inside the static constructor the control should register it's type with the ViewRegistry
+ /// e.g.
+ ///
+ /// static Spin()
+ /// {
+ /// ViewRegistry.Instance.Register(CreateInstance, typeof(Spin) );
+ /// }
+ ///
+ /// The control should also provide a CreateInstance function, which gets passed to the ViewRegistry
+ /// // Eventually it will be called if DALi Builderfinds a Spin control in a JSON file
+ /// static CustomView CreateInstance()
+ /// {
+ /// return new Spin();
+ /// }
+ ///
+ ///
+ ///
+ /// The DALi C++ equivalent of this is
+ ///
+ /// TypeRegistration mType( typeid(Toolkit::Spin), typeid(Toolkit::Control), CreateInstance );
+ ///
+ ///
+ ///
/// </summary>
- private static ViewRegistry instance = null;
+ public sealed class ViewRegistry
+ {
+ /// <summary>
+ /// ViewRegistry is a singleton
+ /// </summary>
+ private static ViewRegistry instance = null;
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ delegate IntPtr CreateControlDelegate(IntPtr cPtrControlName);
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ delegate IntPtr GetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName);
+
+ [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+ delegate void SetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue);
+
+ private CreateControlDelegate _createCallback;
+ private SetPropertyDelegate _setPropertyCallback;
+ private GetPropertyDelegate _getPropertyCallback;
+ private PropertyRangeManager _propertyRangeManager;
+
+ /// <summary>
+ /// Given a C++ control the dictionary allows us to find which C# control (View) it belongs to.
+ /// By keeping the weak reference only, it will allow the object to be garbage collected.
+ /// </summary>
+ private Dictionary<IntPtr, WeakReference> _controlMap;
+
+ ///<summary>
+ // Maps the name of a custom view to a create instance function
+ /// E.g. given a string "Spin", we can get a function used to create the Spin View.
+ ///</summary>
+ private Dictionary<String, Func<CustomView>> _constructorMap;
+
+ /// <summary>
+ /// Lookup table to match C# types to DALi types, used for the automatic property registration
+ /// </summary>
+ private static readonly Dictionary<string, Tizen.NUI.PropertyType> _daliPropertyTypeLookup
+ = new Dictionary<string, Tizen.NUI.PropertyType>
+ {
+ { "float", PropertyType.Float },
+ { "int", PropertyType.Integer },
+ { "Int32", PropertyType.Integer },
+ { "Boolean", PropertyType.Boolean },
+ { "string", PropertyType.String },
+ { "Vector2", PropertyType.Vector2 },
+ { "Vector3", PropertyType.Vector3 },
+ { "Vector4", PropertyType.Vector4 },
+ { "Size", PropertyType.Vector2 },
+ { "Position",PropertyType.Vector3 },
+ { "Color", PropertyType.Vector4 },
+ // { "Matrix3", PropertyType.MATRIX3 }, commented out until we need to use Matrices from JSON
+ // { "Matrix", PropertyType.MATRIX },
+ };
+
+
+ public ViewRegistry()
+ {
+ _createCallback = new CreateControlDelegate(CreateControl);
+ _getPropertyCallback = new GetPropertyDelegate(GetProperty);
+ _setPropertyCallback = new SetPropertyDelegate(SetProperty);
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate IntPtr CreateControlDelegate( IntPtr cPtrControlName );
+ _controlMap = new Dictionary<IntPtr, WeakReference>();
+ _constructorMap = new Dictionary<string, Func<CustomView>>();
+ _propertyRangeManager = new PropertyRangeManager();
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate IntPtr GetPropertyDelegate( IntPtr controlPtr, IntPtr propertyName );
+ }
- [UnmanagedFunctionPointer(CallingConvention.StdCall)]
- delegate void SetPropertyDelegate( IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue );
+ private Tizen.NUI.PropertyType GetDaliPropertyType(string cSharpTypeName)
+ {
+ Tizen.NUI.PropertyType daliType;
+ if (_daliPropertyTypeLookup.TryGetValue(cSharpTypeName, out daliType))
+ {
+ //Console.WriteLine("mapped "+ cSharpTypeName + " to dAli type " +daliType );
+ return daliType;
+ }
+ else
+ {
+ // Console.WriteLine("Failed to find a mapping between C# property" + cSharpTypeName +" and DALi type");
+ return PropertyType.None;
+ }
+ }
- private CreateControlDelegate _createCallback;
- private SetPropertyDelegate _setPropertyCallback;
- private GetPropertyDelegate _getPropertyCallback;
- private PropertyRangeManager _propertyRangeManager;
+ /// <summary>
+ /// Called directly from DALi C++ type registry to create a control (View) using no marshalling.
+ /// </summary>
+ /// <returns>Pointer to the Control (Views) handle </returns>
+ /// <param name="cPtrControlName"> C pointer to the Control (View) name</param>
+ private static IntPtr CreateControl(IntPtr cPtrControlName)
+ {
+ string controlName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(cPtrControlName);
+ // Console.WriteLine ("Create controlled called from C++ create a " + controlName);
- /// <summary>
- /// Given a C++ custom control the dictionary allows us to find what CustomView it belongs to
- /// </summary>
- private Dictionary<IntPtr, Tizen.NUI.CustomView> _controlMap;
+ Func<CustomView> controlConstructor;
- ///<summary>
- // Maps the name of a custom view to a create instance function
- /// E.g. given a string "Spin", we can get a function used to create the Spin View.
- ///</summary>
- private Dictionary<String, Func< CustomView > > _constructorMap;
+ // find the control constructor
+ if (Instance._constructorMap.TryGetValue(controlName, out controlConstructor))
+ {
+ // Create the control
+ CustomView newControl = controlConstructor();
+ return newControl.GetPtrfromActor(); // return pointer to handle
+ }
+ else
+ {
+ throw new global::System.InvalidOperationException("C# View not registererd with ViewRegistry" + controlName);
+ return IntPtr.Zero;
+ }
+ }
- /// <summary>
- /// Lookup table to match C# types to DALi types, used for the automatic property registration
- /// </summary>
- private static readonly Dictionary<string, Tizen.NUI.Property.Type> _daliPropertyTypeLookup
- = new Dictionary< string, Tizen.NUI.Property.Type >
- {
- { "float", Property.Type.FLOAT },
- { "int", Property.Type.INTEGER },
- { "Int32", Property.Type.INTEGER },
- { "Boolean", Property.Type.BOOLEAN },
- { "string", Property.Type.STRING },
- { "Vector2", Property.Type.VECTOR2 },
- { "Vector3", Property.Type.VECTOR3 },
- { "Vector4", Property.Type.VECTOR4 },
- { "Size", Property.Type.VECTOR2 },
- { "Position",Property.Type.VECTOR3 },
- { "Color", Property.Type.VECTOR4 },
- // { "Matrix3", Property.Type.MATRIX3 }, commented out until we need to use Matrices from JSON
- // { "Matrix", Property.Type.MATRIX },
- };
-
-
- public ViewRegistry()
- {
- _createCallback = new CreateControlDelegate( CreateControl );
- _getPropertyCallback = new GetPropertyDelegate (GetProperty);
- _setPropertyCallback = new SetPropertyDelegate (SetProperty);
+ /// <summary>
+ /// Store the mapping between this instance of control (View) and native part.
+ /// </summary>
+ /// <param name="view"> The instance of control (View)</param>
+ public static void RegisterView(View view)
+ {
+ // We store a pointer to the RefObject for the control
+ RefObject refObj = view.GetObjectPtr();
+ IntPtr refCptr = (IntPtr)RefObject.getCPtr(refObj);
- _controlMap = new Dictionary<IntPtr, CustomView>();
- _constructorMap = new Dictionary<string, Func<CustomView>>();
- _propertyRangeManager = new PropertyRangeManager();
+ //Console.WriteLine ("________Storing ref object cptr in control map Hex: {0:X}", refCptr);
+ if (!Instance._controlMap.ContainsKey(refCptr))
+ {
+ Instance._controlMap.Add(refCptr, new WeakReference(view, false));
+ }
- }
+ return;
+ }
- private Tizen.NUI.Property.Type GetDaliPropertyType( string cSharpTypeName )
- {
- Tizen.NUI.Property.Type daliType;
- if ( _daliPropertyTypeLookup.TryGetValue (cSharpTypeName, out daliType) )
- {
- //Console.WriteLine("[ViewRegistry]mapped "+ cSharpTypeName + " to dAli type " +daliType );
- return daliType;
- }
- else
- {
- //Console.WriteLine("[ViewRegistry]Failed to find a mapping between C# property" + cSharpTypeName +" and DALi type");
- return Property.Type.NONE;
- }
- }
+ /// <summary>
+ /// Remove the this instance of control (View) and native part from the mapping table.
+ /// </summary>
+ /// <param name="view"> The instance of control (View)</param>
+ public static void UnregisterView(View view)
+ {
+ RefObject refObj = view.GetObjectPtr();
+ IntPtr refCptr = (IntPtr)RefObject.getCPtr(refObj);
- /// <summary>
- /// Called directly from DALi C++ type registry to create a control (View) uses no marshalling.
- /// </summary>
- /// <returns>Pointer to the Control (Views) handle </returns>
- /// <param name="cPtrControlName"> C pointer to the Control (View) name</param>
- private static IntPtr CreateControl( IntPtr cPtrControlName )
- {
- string controlName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi (cPtrControlName);
- //Console.WriteLine ("[ViewRegistry]Create controlled called from C++ create a " + controlName);
-
- Func< CustomView > controlConstructor;
-
- // find the control constructor
- if ( Instance._constructorMap.TryGetValue (controlName, out controlConstructor) )
- {
- // Create the control
- CustomView newControl = controlConstructor ();
-
- // Store the mapping between this instance of the custom control and native part
- // We store a pointer to the RefObject for the control
- IntPtr cPtr = newControl.GetPtrfromActor();
- RefObject refObj = newControl.GetObjectPtr ();
- IntPtr refCptr = (IntPtr) RefObject.getCPtr(refObj);
-
- //Console.WriteLine ("[ViewRegistry]________Storing ref object cptr in control map Hex: {0:X}", refCptr);
- Instance._controlMap.Add (refCptr , newControl );
-
- return cPtr; // return pointer to handle
- }
- else
- {
- throw new global::System.InvalidOperationException("C# View not registererd with ViewRegistry"+ controlName );
- return IntPtr.Zero;
- }
- }
+ if (Instance._controlMap.ContainsKey(refCptr))
+ {
+ Instance._controlMap.Remove(refCptr);
+ }
- private static IntPtr GetProperty( IntPtr controlPtr, IntPtr propertyName )
- {
- string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi (propertyName);
- return Instance.GetPropertyValue ( controlPtr, name);
- }
+ return;
+ }
- private static void SetProperty( IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue )
- {
- string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi (propertyName);
- //Console.WriteLine ( "[ViewRegistry]SetControlProperty called for:" + name );
- Instance.SetPropertyValue ( controlPtr, name, propertyValue);
+ private static IntPtr GetProperty(IntPtr controlPtr, IntPtr propertyName)
+ {
+ string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
+ return Instance.GetPropertyValue(controlPtr, name);
+ }
- }
+ private static void SetProperty(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue)
+ {
+ string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
+ //Console.WriteLine ( SetControlProperty called for:" + name );
+ Instance.SetPropertyValue(controlPtr, name, propertyValue);
- public static ViewRegistry Instance
- {
- get
- {
- if (instance==null)
+ }
+
+ public static ViewRegistry Instance
{
- instance = new ViewRegistry();
+ get
+ {
+ if (instance == null)
+ {
+ instance = new ViewRegistry();
+ }
+ return instance;
+ }
}
- return instance;
- }
- }
- public static CustomView GetCustomViewFromActor( Actor actor )
- {
- // we store a dictionary of ref-obects (C++ land) to custom views (C# land)
- Tizen.NUI.CustomView view;
+ public static View GetViewFromActor(Actor actor)
+ {
+ // we store a dictionary of ref-obects (C++ land) to custom views (C# land)
- RefObject refObj = actor.GetObjectPtr ();
- IntPtr refObjectPtr = (IntPtr) RefObject.getCPtr(refObj);
+ RefObject refObj = actor.GetObjectPtr();
+ IntPtr refObjectPtr = (IntPtr)RefObject.getCPtr(refObj);
- if ( Instance._controlMap.TryGetValue ( refObjectPtr, out view) )
- {
+ WeakReference viewReference;
+ if (Instance._controlMap.TryGetValue(refObjectPtr, out viewReference))
+ {
+ View view = viewReference.Target as View;
+ return view;
+ }
+ else
+ {
+ return null;
+ }
+ }
- // call the get property function
- return view;
- }
- else
- {
- return null;
- }
- }
+ /// <summary>
+ /// Function which registers a view and all it's scriptable properties with DALi's type registry.
+ /// Means the View can be created / configured from a JSON script.
+ ///
+ /// The function uses introspection to scan a Views C# properties, then selects the ones with
+ ///[ScriptableProperty] attribute to be registered.
+ /// Example of a Spin view registering itself
+ /// static Spin()
+ /// {
+ /// ViewRegistry registers control type with DALi type registery
+ /// also uses introspection to find any properties that need to be registered with type registry
+ /// ViewRegistry.Instance.Register(CreateInstance, typeof(Spin) );
+ /// }
+ ///
+ /// </summary>
+ public void Register(Func<CustomView> createFunction, System.Type viewType)
+ {
+ // add the mapping between the view name and it's create function
+ _constructorMap.Add(viewType.Name, createFunction);
+ // Call into DALi C++ to register the control with the type registry
+ TypeRegistration.RegisterControl(viewType.Name, _createCallback);
- /// <summary>
- /// Function which registers a view and all it's scriptable properties with DALi's type registry.
- /// Means the View can be created / configured from a JSON script.
- ///
- /// The function uses introspection to scan a Views C# properties, then selects the ones with
- ///[ScriptableProperty] attribute to be registered.
- /// Example of a Spin view registering itself
- /// static Spin()
- /// {
- /// ViewRegistry registers control type with DALi type registery
- /// also uses introspection to find any properties that need to be registered with type registry
- /// ViewRegistry.Instance.Register(CreateInstance, typeof(Spin) );
- /// }
- ///
- /// </summary>
- public void Register(Func< CustomView > createFunction, System.Type viewType )
- {
- // add the mapping between the view name and it's create function
- _constructorMap.Add (viewType.Name, createFunction);
-
- // Call into DALi C++ to register the control with the type registry
- TypeRegistration.RegisterControl( viewType.Name, _createCallback );
-
- // Cycle through each property in the class
- foreach (System.Reflection.PropertyInfo propertyInfo in viewType.GetProperties())
- {
-
- if ( propertyInfo.CanRead )
- {\r
-\r
-#if true\r
- IEnumerable<Attribute> ie_attrs = propertyInfo.GetCustomAttributes<Attribute>();\r
- List<Attribute> li_attrs = new List<Attribute>(ie_attrs);\r
- System.Attribute[] attrs = li_attrs.ToArray();\r
-#else\r
- //original\r
- System.Attribute[] attrs = System.Attribute.GetCustomAttributes(propertyInfo);\r
-#endif\r
-\r
- foreach (System.Attribute attr in attrs)
- {
- // If the Scriptable attribute exists, then register it with the type registry.
- if (attr is ScriptableProperty)
+ // Cycle through each property in the class
+ foreach (System.Reflection.PropertyInfo propertyInfo in viewType.GetProperties())
{
- //Console.WriteLine ("[ViewRegistry]Got a DALi JSON scriptable property = " + propertyInfo.Name +", of type " + propertyInfo.PropertyType.Name);
- // first get the attribute type, ( default, or animatable)
- ScriptableProperty scriptableProp = attr as ScriptableProperty;
+ if (propertyInfo.CanRead)
+ {
- // we get the start property index, based on the type and it's heirachy, e.g. DateView (70,000)-> Spin (60,000) -> View (50,000)
- int propertyIndex = _propertyRangeManager.GetPropertyIndex( viewType.Name, viewType, scriptableProp.type );
-
- // get the enum for the property type... E.g. registering a string property returns Tizen.NUI.PropertyType.String
- Tizen.NUI.Property.Type propertyType = GetDaliPropertyType( propertyInfo.PropertyType.Name );
+#if (DOT_NET_CORE)
+ IEnumerable<Attribute> ie_attrs = propertyInfo.GetCustomAttributes<Attribute>();
+ List<Attribute> li_attrs = new List<Attribute>(ie_attrs);
+ System.Attribute[] attrs = li_attrs.ToArray();
+#else
+ System.Attribute[] attrs = System.Attribute.GetCustomAttributes(propertyInfo);
+#endif
- // Example RegisterProperty("spin","maxValue", 50001, FLOAT, set, get );
- // Native call to register the property
- TypeRegistration.RegisterProperty (viewType.Name, propertyInfo.Name , propertyIndex, propertyType, _setPropertyCallback, _getPropertyCallback);
+ foreach (System.Attribute attr in attrs)
+ {
+ // If the Scriptable attribute exists, then register it with the type registry.
+ if (attr is ScriptableProperty)
+ {
+ //Console.WriteLine ("Got a DALi JSON scriptable property = " + propertyInfo.Name +", of type " + propertyInfo.PropertyType.Name);
+
+ // first get the attribute type, ( default, or animatable)
+ ScriptableProperty scriptableProp = attr as ScriptableProperty;
+
+ // we get the start property index, based on the type and it's heirachy, e.g. DateView (70,000)-> Spin (60,000) -> View (50,000)
+ int propertyIndex = _propertyRangeManager.GetPropertyIndex(viewType.Name, viewType, scriptableProp.type);
+
+ // get the enum for the property type... E.g. registering a string property returns Tizen.NUI.PropertyType.String
+ Tizen.NUI.PropertyType propertyType = GetDaliPropertyType(propertyInfo.PropertyType.Name);
+
+ // Example RegisterProperty("spin","maxValue", 50001, FLOAT, set, get );
+ // Native call to register the property
+ TypeRegistration.RegisterProperty(viewType.Name, propertyInfo.Name, propertyIndex, propertyType, _setPropertyCallback, _getPropertyCallback);
+ }
+ }
+ // Console.WriteLine ("property name = " + propertyInfo.Name);
+ }
}
- }
- //Console.WriteLine ("[ViewRegistry]property name = " + propertyInfo.Name);
}
- }
- }
- /// <summary>
- /// Get a property value from a View
- ///
- /// </summary>
- private IntPtr GetPropertyValue ( IntPtr controlPtr, string propertyName)
- {
- // Get the C# control that maps to the C++ control
- Tizen.NUI.CustomView view;
-
- BaseHandle baseHandle = new BaseHandle (controlPtr, false);
-
- RefObject refObj = baseHandle.GetObjectPtr ();
-
- IntPtr refObjectPtr = (IntPtr) RefObject.getCPtr(refObj);
-
- if ( _controlMap.TryGetValue ( refObjectPtr, out view) )
- {
+ /// <summary>
+ /// Get a property value from a View
+ ///
+ /// </summary>
+ private IntPtr GetPropertyValue(IntPtr controlPtr, string propertyName)
+ {
+ // Get the C# control that maps to the C++ control
+ BaseHandle baseHandle = new BaseHandle(controlPtr, false);
- // call the get property function
- System.Object val = view.GetType ().GetProperty (propertyName).GetAccessors () [0].Invoke (view, null);
+ RefObject refObj = baseHandle.GetObjectPtr();
- Property.Value value = Property.Value.CreateFromObject (val);
+ IntPtr refObjectPtr = (IntPtr)RefObject.getCPtr(refObj);
- return (IntPtr)Property.Value.getCPtr (value);
- }
- else
- {
- return IntPtr.Zero;
- }
- }
+ WeakReference viewReference;
+ if (_controlMap.TryGetValue(refObjectPtr, out viewReference))
+ {
+ View view = viewReference.Target as View;
- /// <summary>
- /// Set a property value on a View
- ///
- /// </summary>
- private void SetPropertyValue ( IntPtr controlPtr, string propertyName, IntPtr propertyValuePtr)
- {
- // Get the C# control that maps to the C++ control
- Tizen.NUI.CustomView view;
+ // call the get property function
+ System.Object val = view.GetType().GetProperty(propertyName).GetAccessors()[0].Invoke(view, null);
- //Console.WriteLine ("[ViewRegistry]SetPropertyValue refObjectPtr = {0:X}", controlPtr);
+ PropertyValue value = PropertyValue.CreateFromObject(val);
- Property.Value propValue = new Property.Value (propertyValuePtr, false);
+ return (IntPtr)PropertyValue.getCPtr(value);
+ }
+ else
+ {
+ return IntPtr.Zero;
+ }
+ }
- if ( _controlMap.TryGetValue ( controlPtr, out view) )
- {
+ /// <summary>
+ /// Set a property value on a View
+ ///
+ /// </summary>
+ private void SetPropertyValue(IntPtr controlPtr, string propertyName, IntPtr propertyValuePtr)
+ {
+ // Get the C# control that maps to the C++ control
- System.Reflection.PropertyInfo propertyInfo = view.GetType().GetProperty(propertyName);
+ //Console.WriteLine ("SetPropertyValue refObjectPtr = {0:X}", controlPtr);
- // We know the property name, we know it's type, we just need to convert from a DALi property value to native C# type
- System.Type type = propertyInfo.PropertyType;
- bool ok = false;
+ PropertyValue propValue = new PropertyValue(propertyValuePtr, false);
- if ( type.Equals (typeof(Int32)) )
- {
- int value = 0;
- ok = propValue.Get( ref value );
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
- }
- else if ( type.Equals (typeof(bool)) )
- {
- bool value = false;
- ok = propValue.Get( ref value );
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
- }
- else if ( type.Equals (typeof(float)) )
- {
- float value = 0;
- ok = propValue.Get( ref value );
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
- }
- else if ( type.Equals (typeof(string)) )
- {
- string value = "";
- ok = propValue.Get( out value );
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
- }
- else if ( type.Equals (typeof(Vector2)) )
- {
- Vector2 value = new Vector2 ();
- ok = propValue.Get( value );
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
- }
- else if ( type.Equals (typeof(Vector3)) )
- {
- Vector3 value = new Vector3 ();
- ok = propValue.Get( value );
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
- }
- else if ( type.Equals (typeof(Vector4)) )
- {
- Vector4 value = new Vector4 ();
- ok = propValue.Get( value );
+ WeakReference viewReference;
+ if (_controlMap.TryGetValue(controlPtr, out viewReference))
+ {
+ View view = viewReference.Target as View;
+ System.Reflection.PropertyInfo propertyInfo = view.GetType().GetProperty(propertyName);
+
+ // We know the property name, we know it's type, we just need to convert from a DALi property value to native C# type
+ System.Type type = propertyInfo.PropertyType;
+ bool ok = false;
+
+ if (type.Equals(typeof(Int32)))
+ {
+ int value = 0;
+ ok = propValue.Get(ref value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(bool)))
+ {
+ bool value = false;
+ ok = propValue.Get(ref value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(float)))
+ {
+ float value = 0;
+ ok = propValue.Get(ref value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(string)))
+ {
+ string value = "";
+ ok = propValue.Get(out value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(Vector2)))
+ {
+ Vector2 value = new Vector2();
+ ok = propValue.Get(value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(Vector3)))
+ {
+ Vector3 value = new Vector3();
+ ok = propValue.Get(value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(Vector4)))
+ {
+ Vector4 value = new Vector4();
+ ok = propValue.Get(value);
+
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(Position)))
+ {
+ Position value = new Position();
+ ok = propValue.Get(value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, value);
+ }
+ }
+ else if (type.Equals(typeof(Size)))
+ {
+ Size value = new Size();
+ ok = propValue.Get(value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, new Size(value.Width, value.Height, value.Depth));
+ };
+ }
+ else if (type.Equals(typeof(Color)))
+ {
+ // Colors are stored as Vector4's in DALi
+ Color value = new Color();
+ ok = propValue.Get(value);
+ if (ok)
+ {
+ propertyInfo.SetValue(view, (Color)value);
+ };
+ }
+ else
+ {
+ throw new global::System.InvalidOperationException("SetPropertyValue Unimplemented type for Property Value");
+ }
+ if (!ok)
+ {
+ throw new global::System.InvalidOperationException("SetPropertyValue propValue.Get failed");
+ }
+ }
+ else
+ {
+ throw new global::System.InvalidOperationException("failed to find the control to write a property to: cptr = " + controlPtr);
+ }
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
- }
- else if ( type.Equals (typeof(Position)) )
- {
- Position value = new Position ();
- ok = propValue.Get( value );
- if ( ok )
- {
- propertyInfo.SetValue (view, value);
- }
}
- else if ( type.Equals (typeof(Size)) )
- {
- // DALi sizes are Vector3
- Vector3 value = new Vector3();
- ok = propValue.Get( value );
- if ( ok )
- {
- propertyInfo.SetValue(view, new Size(value.X,value.Y));
- };
- }
- else if ( type.Equals (typeof(Color)) )
- {
- // Colors are stored as Vector4's in DALi
- Vector4 value = new Vector4();
- ok = propValue.Get( value );
- if ( ok )
- {
- propertyInfo.SetValue (view, (Color)value);
- };
- }
- else
- {
- throw new global::System.InvalidOperationException("SetPropertyValue Unimplemented type for Property Value");
- }
- if ( !ok )
- {
- throw new global::System.InvalidOperationException("SetPropertyValue propValue.Get failed");
- }
- }
- else
- {
- throw new global::System.InvalidOperationException("failed to find the control to write a property to: cptr = " + controlPtr);
- }
}
- }
-
}
\ No newline at end of file
-using System;
+using System;
// include all custom views here which will be
namespace Tizen.NUI
public delegate void OnStageDisconnectionDelegate();
public delegate void OnChildAddDelegate(Actor actor);
public delegate void OnChildRemoveDelegate(Actor actor);
- public delegate void OnPropertySetDelegate(int index, Property.Value propertyValue);
+ public delegate void OnPropertySetDelegate(int index, PropertyValue propertyValue);
public delegate void OnSizeSetDelegate(Vector3 targetSize);
public delegate void OnSizeAnimationDelegate(Animation animation, Vector3 targetSize);
public delegate bool OnTouchDelegate(Touch touch);
public delegate bool OnWheelDelegate(Wheel wheel);
public delegate void OnRelayoutDelegate(Vector2 size, RelayoutContainer container);
public delegate void OnSetResizePolicyDelegate(ResizePolicyType policy, DimensionType dimension);
- public delegate Vector3 GetNaturalSizeDelegate();
+ public delegate Size GetNaturalSizeDelegate();
public delegate float CalculateChildSizeDelegate(Actor child, DimensionType dimension);
public delegate float GetHeightForWidthDelegate(float width);
public delegate float GetWidthForHeightDelegate(float height);
public delegate bool OnAccessibilityZoomDelegate();
public delegate void OnKeyInputFocusGainedDelegate();
public delegate void OnKeyInputFocusLostDelegate();
- public delegate Actor GetNextKeyboardFocusableActorDelegate(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled);
- public delegate void OnKeyboardFocusChangeCommittedDelegate(Actor commitedFocusableActor);
+ public delegate View GetNextKeyboardFocusableViewDelegate(View currentFocusedView, View.FocusDirection direction, bool loopEnabled);
+ public delegate void OnKeyboardFocusChangeCommittedDelegate(View commitedFocusableView);
public delegate bool OnKeyboardEnterDelegate();
public delegate void OnPinchDelegate(PinchGesture pinch);
public delegate void OnPanDelegate(PanGesture pan);
public delegate void OnTapDelegate(TapGesture tap);
public delegate void OnLongPressDelegate(LongPressGesture longPress);
- public delegate void SignalConnectedDelegate(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback);
- public delegate void SignalDisconnectedDelegate(SlotObserver slotObserver, SWIGTYPE_p_Dali__CallbackBase callback);
public OnStageConnectionDelegate OnStageConnection;
public OnStageDisconnectionDelegate OnStageDisconnection;
public OnAccessibilityZoomDelegate OnAccessibilityZoom;
public OnKeyInputFocusGainedDelegate OnKeyInputFocusGained;
public OnKeyInputFocusLostDelegate OnKeyInputFocusLost;
- public GetNextKeyboardFocusableActorDelegate GetNextKeyboardFocusableActor;
+ public GetNextKeyboardFocusableViewDelegate GetNextKeyboardFocusableView;
public OnKeyboardFocusChangeCommittedDelegate OnKeyboardFocusChangeCommitted;
public OnKeyboardEnterDelegate OnKeyboardEnter;
public OnPinchDelegate OnPinch;
public OnPanDelegate OnPan;
public OnTapDelegate OnTap;
public OnLongPressDelegate OnLongPress;
- public SignalConnectedDelegate SignalConnected;
- public SignalDisconnectedDelegate SignalDisconnected;
internal ViewWrapperImpl(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.ViewWrapperImpl_SWIGUpcast(cPtr), cMemoryOwn)
{
}
}
- public ViewWrapperImpl(ViewWrapperImpl.CustomViewBehaviour behaviourFlags) : this(NDalicManualPINVOKE.new_ViewWrapperImpl((int)behaviourFlags), true)
+ public ViewWrapperImpl(CustomViewBehaviour behaviourFlags) : this(NDalicManualPINVOKE.new_ViewWrapperImpl((int)behaviourFlags), true)
{
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
DirectorConnect();
private void DirectorOnPropertySet(int index, global::System.IntPtr propertyValue)
{
- OnPropertySet(index, new Property.Value(propertyValue, true));
+ if ( OnPropertySet != null )
+ {
+ OnPropertySet(index, new PropertyValue(propertyValue, true));
+ }
}
private void DirectorOnSizeSet(global::System.IntPtr targetSize)
private global::System.IntPtr DirectorGetNaturalSize()
{
- return Vector3.getCPtr(GetNaturalSize()).Handle;
+ return Size.getCPtr(GetNaturalSize()).Handle;
}
private float DirectorCalculateChildSize(global::System.IntPtr child, int dimension)
private void DirectorOnStyleChange(global::System.IntPtr styleManager, int change)
{
- OnStyleChange(new StyleManager(styleManager, false), (StyleChangeType)change);
+ if (OnStyleChange != null)
+ {
+ OnStyleChange(new StyleManager(styleManager, false), (StyleChangeType)change);
+ }
}
private bool DirectorOnAccessibilityActivated()
private global::System.IntPtr DirectorGetNextKeyboardFocusableActor(global::System.IntPtr currentFocusedActor, int direction, bool loopEnabled)
{
- return Actor.getCPtr(GetNextKeyboardFocusableActor(new Actor(currentFocusedActor, false), (View.KeyboardFocus.Direction)direction, loopEnabled)).Handle;
+ return Actor.getCPtr(GetNextKeyboardFocusableView(new View(currentFocusedActor, false), (View.FocusDirection)direction, loopEnabled)).Handle;
}
- private void DirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableActor)
+ private void DirectorOnKeyboardFocusChangeCommitted(global::System.IntPtr commitedFocusableView)
{
- OnKeyboardFocusChangeCommitted(new Actor(commitedFocusableActor, false));
+ OnKeyboardFocusChangeCommitted(new View(commitedFocusableView, false));
}
private bool DirectorOnKeyboardEnter()
OnLongPress(new LongPressGesture(longPress, false));
}
- private void DirectorSignalConnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
- {
- SignalConnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
- }
-
- private void DirectorSignalDisconnected(global::System.IntPtr slotObserver, global::System.IntPtr callback)
- {
- SignalDisconnected((slotObserver == global::System.IntPtr.Zero) ? null : new SlotObserver(slotObserver, false), (callback == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_Dali__CallbackBase(callback, false));
- }
-
public delegate void DelegateViewWrapperImpl_0(int depth);
public delegate void DelegateViewWrapperImpl_1();
public delegate void DelegateViewWrapperImpl_2(global::System.IntPtr child);
private DelegateViewWrapperImpl_39 Delegate39;
private DelegateViewWrapperImpl_40 Delegate40;
- public enum CustomViewBehaviour
- {
- VIEW_BEHAVIOUR_DEFAULT = 0,
- DISABLE_SIZE_NEGOTIATION = 1 << 0,
- REQUIRES_KEYBOARD_NAVIGATION_SUPPORT = 1 << 5,
- DISABLE_STYLE_CHANGE_SIGNALS = 1 << 6,
- LAST_VIEW_BEHAVIOUR_FLAG
- }
-
public static readonly int VIEW_BEHAVIOUR_FLAG_COUNT = NDalicManualPINVOKE.ViewWrapperImpl_CONTROL_BEHAVIOUR_FLAG_COUNT_get();
}
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
-
-public class VisualBase : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
- internal VisualBase(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualBase_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
-
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualBase obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
-
- ~VisualBase() {
- Dispose();
- }
-
- public override void Dispose() {
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_VisualBase(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-
- public VisualBase() : this(NDalicPINVOKE.new_VisualBase__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VisualBase(VisualBase handle) : this(NDalicPINVOKE.new_VisualBase__SWIG_1(VisualBase.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VisualBase Assign(VisualBase handle) {
- VisualBase ret = new VisualBase(NDalicPINVOKE.VisualBase_Assign(swigCPtr, VisualBase.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetName(string name) {
- NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public string GetName() {
- string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void SetTransformAndSize(Property.Map transform, Vector2 controlSize) {
- NDalicPINVOKE.VisualBase_SetTransformAndSize(swigCPtr, Property.Map.getCPtr(transform), Vector2.getCPtr(controlSize));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetHeightForWidth(float width) {
- float ret = NDalicPINVOKE.VisualBase_GetHeightForWidth(swigCPtr, width);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public float GetWidthForHeight(float height) {
- float ret = NDalicPINVOKE.VisualBase_GetWidthForHeight(swigCPtr, height);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void GetNaturalSize(Vector2 naturalSize) {
- NDalicPINVOKE.VisualBase_GetNaturalSize(swigCPtr, Vector2.getCPtr(naturalSize));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetDepthIndex(float index) {
- NDalicPINVOKE.VisualBase_SetDepthIndex(swigCPtr, index);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public float GetDepthIndex() {
- float ret = NDalicPINVOKE.VisualBase_GetDepthIndex(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void CreatePropertyMap(Property.Map map) {
- NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, Property.Map.getCPtr(map));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VisualBase(SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base impl) : this(NDalicPINVOKE.new_VisualBase__SWIG_2(SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base.getCPtr(impl)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// Sets whether the actor should be focusable by keyboard navigation.
+ /// Visuals reuse geometry, shader etc. across controls. They ensure that the renderer and texture sets exist only when control is on-stage.
+ /// Each visual also responds to actor size and color change, and provides clipping at the renderer level.
+ /// Note: The visual responds to the the Actor::COLOR by blending it with the 'Multiply' operator.
+ /// </summary>
+ public class VisualBase : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal VisualBase(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualBase_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-}
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualBase obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
+
+ ~VisualBase()
+ {
+ Dispose();
+ }
+
+ public override void Dispose()
+ {
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_VisualBase(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
+
+ /// <summary>
+ /// Create an empty Visual Handle
+ /// </summary>
+ public VisualBase() : this(NDalicPINVOKE.new_VisualBase__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal VisualBase(VisualBase handle) : this(NDalicPINVOKE.new_VisualBase__SWIG_1(VisualBase.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal VisualBase Assign(VisualBase handle)
+ {
+ VisualBase ret = new VisualBase(NDalicPINVOKE.VisualBase_Assign(swigCPtr, VisualBase.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// name of the visual
+ /// </summary>
+ public string Name
+ {
+ set
+ {
+ SetName(value);
+ }
+ get
+ {
+ return GetName();
+ }
+ }
+
+ internal void SetName(string name)
+ {
+ NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal string GetName()
+ {
+ string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Sets the transform and the control size
+ /// </summary>
+ /// <param name="transform">A property map describing the transform</param>
+ /// <param name="controlSize">The size of the parent control for visuals that need to scale internally.</param>
+ public void SetTransformAndSize(PropertyMap transform, Vector2 controlSize)
+ {
+ NDalicPINVOKE.VisualBase_SetTransformAndSize(swigCPtr, PropertyMap.getCPtr(transform), Vector2.getCPtr(controlSize));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Returns the height for a given width.
+ /// </summary>
+ /// <param name="width">Width to use.</param>
+ /// <returns>The height based on the width.</returns>
+ public float GetHeightForWidth(float width)
+ {
+ float ret = NDalicPINVOKE.VisualBase_GetHeightForWidth(swigCPtr, width);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Returns the width for a given height.
+ /// </summary>
+ /// <param name="height">Height to use.</param>
+ /// <returns>The width based on the height.</returns>
+ public float GetWidthForHeight(float height)
+ {
+ float ret = NDalicPINVOKE.VisualBase_GetWidthForHeight(swigCPtr, height);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Return the natural size of the visual.
+ /// Deriving classes stipulate the natural size and by default a visual has a ZERO natural size.
+ /// A visual may not actually have a natural size until it has been placed on stage and acquired all it's resources.
+ /// </summary>
+ /// <param name="naturalSize">The visual's natural size</param>
+ public void GetNaturalSize(Size2D naturalSize)
+ {
+ NDalicPINVOKE.VisualBase_GetNaturalSize(swigCPtr, Size2D.getCPtr(naturalSize));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// the depth index of this visual.
+ /// </summary>
+ public float DepthIndex
+ {
+ set
+ {
+ SetDepthIndex(value);
+ }
+ get
+ {
+ return GetDepthIndex();
+ }
+ }
+ internal void SetDepthIndex(float index)
+ {
+ NDalicPINVOKE.VisualBase_SetDepthIndex(swigCPtr, index);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal float GetDepthIndex()
+ {
+ float ret = NDalicPINVOKE.VisualBase_GetDepthIndex(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Create the property map representing this visual.
+ /// </summary>
+ public PropertyMap Creation
+ {
+ set
+ {
+ CreatePropertyMap(value);
+ }
+ }
+ internal void CreatePropertyMap(PropertyMap map)
+ {
+ NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, PropertyMap.getCPtr(map));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal VisualBase(SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base impl) : this(NDalicPINVOKE.new_VisualBase__SWIG_2(SWIGTYPE_p_Dali__Toolkit__Internal__Visual__Base.getCPtr(impl)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+
+ /// <summary>
+ /// VisualFactory is a singleton object that provides and shares visuals between views
+ /// </summary>
+ public class VisualFactory : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal VisualFactory(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualFactory_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class VisualFactory : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualFactory obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal VisualFactory(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualFactory_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~VisualFactory()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualFactory obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_VisualFactory(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~VisualFactory() {
- DisposeQueue.Instance.Add(this);
- }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ /// <summary>
+ /// Create or retrieve VisualFactory singleton.
+ /// </summary>
+ /// <returns>A handle to the VisualFactory control.</returns>
+ public static VisualFactory Get()
+ {
+ VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_VisualFactory(swigCPtr);
+ internal VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-
-
- public static VisualFactory Get() {
- VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VisualFactory(VisualFactory handle) : this(NDalicPINVOKE.new_VisualFactory__SWIG_1(VisualFactory.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public VisualFactory Assign(VisualFactory handle) {
- VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Assign(swigCPtr, VisualFactory.getCPtr(handle)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VisualBase CreateVisual(Property.Map propertyMap) {
- VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_0(swigCPtr, Property.Map.getCPtr(propertyMap)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VisualBase CreateVisual(Image image) {
- VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_1(swigCPtr, Image.getCPtr(image)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public VisualBase CreateVisual(string url, Uint16Pair size) {
- VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size)), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-}
+ internal VisualFactory(VisualFactory handle) : this(NDalicPINVOKE.new_VisualFactory__SWIG_1(VisualFactory.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal VisualFactory Assign(VisualFactory handle)
+ {
+ VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Assign(swigCPtr, VisualFactory.getCPtr(handle)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Request the visual
+ /// </summary>
+ /// <param name="propertyMap">The map contains the properties required by the visual. The content of the map determines the type of visual that will be returned.</param>
+ /// <returns>The handle to the created visual</returns>
+ public VisualBase CreateVisual(PropertyMap propertyMap)
+ {
+ VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_0(swigCPtr, PropertyMap.getCPtr(propertyMap)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VisualBase CreateVisual(Image image)
+ {
+ VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_1(swigCPtr, Image.getCPtr(image)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal VisualBase CreateVisual(string url, Uint16Pair size)
+ {
+ VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size)), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ private static readonly VisualFactory instance = VisualFactory.Get();
+
+ /// <summary>
+ /// retrieve VisualFactory singleton.
+ /// </summary>
+ public static VisualFactory Instance
+ {
+ get
+ {
+ return instance;
+ }
+ }
+
+ }
}
--- /dev/null
+// Copyright (c) 2017 Samsung Electronics Co., Ltd.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+namespace Tizen.NUI
+{
+ using System;
+ using System.Runtime.InteropServices;
+
+ /// <summary>
+ /// A class encapsulating the transform map of visual.
+ /// </summary>
+ public class VisualMap
+ {
+ private Vector2 _visualSize = Vector2.Zero;
+ private Vector2 _visualOffset = Vector2.Zero;
+ private Vector2 _visualOffsetPolicy = new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute); // default absolute
+ private Vector2 _visualSizePolicy = new Vector2((int)VisualTransformPolicyType.Absolute, (int)VisualTransformPolicyType.Absolute); // default absolute
+ private AlignType _visualOrigin = AlignType.TopBegin;
+ private AlignType _visualAnchorPoint = AlignType.TopBegin;
+
+ private PropertyMap _visualTransformMap = null;
+
+ private float _depthIndex = 0.0f;
+ protected PropertyMap _outputVisualMap = null;
+
+ public VisualMap()
+ {
+ }
+
+ /// <summary>
+ /// Get or set size of the visual.
+ /// It can be either relative (percentage of the parent)
+ /// or absolute (in world units).
+ /// </summary>
+ public Vector2 VisualSize
+ {
+ get
+ {
+ return _visualSize;
+ }
+ set
+ {
+ _visualSize = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set offset of the visual.
+ /// It can be either relative (percentage of the parent)
+ /// or absolute (in world units).
+ /// </summary>
+ public Vector2 Offset
+ {
+ get
+ {
+ return _visualOffset;
+ }
+ set
+ {
+ _visualOffset = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set offset policy of the visual.
+ /// Indicates which components of the offset are relative
+ /// (percentage of the parent) or absolute (in world units).
+ /// 0 indicates the component is relative, and 1 absolute.
+ /// </summary>
+ public Vector2 OffsetPolicy
+ {
+ get
+ {
+ return _visualOffsetPolicy;
+ }
+ set
+ {
+ _visualOffsetPolicy = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set size policy of the visual.
+ /// Indicates which components of the size are relative
+ /// (percentage of the parent) or absolute (in world units).
+ /// 0 indicates the component is relative, and 1 absolute.
+ /// </summary>
+ public Vector2 SizePolicy
+ {
+ get
+ {
+ return _visualSizePolicy;
+ }
+ set
+ {
+ _visualSizePolicy = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the origin of the visual within its control area.
+ /// </summary>
+ public AlignType Origin
+ {
+ get
+ {
+ return _visualOrigin;
+ }
+ set
+ {
+ _visualOrigin = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the anchor-point of the visual.
+ /// </summary>
+ public AlignType AnchorPoint
+ {
+ get
+ {
+ return _visualAnchorPoint;
+ }
+ set
+ {
+ _visualAnchorPoint = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the depth index of the visual.
+ /// </summary>
+ public float DepthIndex
+ {
+ get
+ {
+ return _depthIndex;
+ }
+ set
+ {
+ _depthIndex = value;
+ }
+ }
+
+ private void ComposingTransformMap()
+ {
+ if (_visualSize != Vector2.Zero)
+ {
+ _visualTransformMap = new PropertyMap();
+ _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize));
+ _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset));
+ _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy));
+ _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy));
+ _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin));
+ _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint));
+ }
+ }
+
+ /// <summary>
+ /// Get the transform map used by the visual.
+ /// </summary>
+ public PropertyMap OutputTransformMap
+ {
+ get
+ {
+ ComposingTransformMap();
+ return _visualTransformMap;
+ }
+ }
+
+ protected virtual void ComposingPropertyMap()
+ {
+ _outputVisualMap = new PropertyMap();
+ }
+
+ /// <summary>
+ /// Get the property map to create the visual.
+ /// </summary>
+ public PropertyMap OutputVisualMap
+ {
+ get
+ {
+ ComposingPropertyMap();
+ return _outputVisualMap;
+ }
+ }
+ }
+
+ /// <summary>
+ /// A class encapsulating the property map of a image visual.
+ /// </summary>
+ public class ImageVisualMap : VisualMap
+ {
+ public ImageVisualMap() : base()
+ {
+ }
+
+ private string _url = "";
+ private FittingModeType _fittingMode = FittingModeType.ShrinkToFit;
+ private SamplingModeType _samplingMode = SamplingModeType.Box;
+ private int _desiredWidth = 0;
+ private int _desiredHeight = 0;
+ private bool _synchronousLoading = false;
+ private bool _borderOnly = false;
+ private Vector4 _pixelArea = new Vector4(0.0f, 0.0f, 1.0f, 1.0f);
+ private WrapModeType _wrapModeU = WrapModeType.ClampToEdge;
+ private WrapModeType _wrapModeV = WrapModeType.ClampToEdge;
+
+ /// <summary>
+ /// Get or set the URL of the image.
+ /// </summary>
+ public string URL
+ {
+ get
+ {
+ return _url;
+ }
+ set
+ {
+ _url = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set fitting options, used when resizing images to fit desired dimensions.
+ /// If not supplied, default is FittingMode::SHRINK_TO_FIT.
+ /// For Normal Quad images only.
+ /// </summary>
+ public FittingModeType FittingMode
+ {
+ get
+ {
+ return _fittingMode;
+ }
+ set
+ {
+ _fittingMode = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set filtering options, used when resizing images to sample original pixels.
+ /// If not supplied, default is SamplingMode::BOX.
+ /// For Normal Quad images only.
+ /// </summary>
+ public SamplingModeType SamplingMode
+ {
+ get
+ {
+ return _samplingMode;
+ }
+ set
+ {
+ _samplingMode = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the desired image width.
+ /// If not specified, the actual image width is used.
+ /// For Normal Quad images only.
+ /// </summary>
+ public int DesiredWidth
+ {
+ get
+ {
+ return _desiredWidth;
+ }
+ set
+ {
+ _desiredWidth = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the desired image height.
+ /// If not specified, the actual image height is used.
+ /// For Normal Quad images only.
+ /// </summary>
+ public int DesiredHeight
+ {
+ get
+ {
+ return _desiredHeight;
+ }
+ set
+ {
+ _desiredHeight = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set whether to load the image synchronously.
+ /// If not specified, the default is false, i.e. the image is loaded asynchronously.
+ /// For Normal Quad images only.
+ /// </summary>
+ public bool SynchronousLoading
+ {
+ get
+ {
+ return _synchronousLoading;
+ }
+ set
+ {
+ _synchronousLoading = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set whether to draws the borders only(If true).
+ /// If not specified, the default is false.
+ /// For N-Patch images only.
+ /// </summary>
+ public bool BorderOnly
+ {
+ get
+ {
+ return _borderOnly;
+ }
+ set
+ {
+ _borderOnly = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the image area to be displayed.
+ /// It is a rectangular area.
+ /// The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.
+ /// If not specified, the default value is [0.0, 0.0, 1.0, 1.0], i.e. the entire area of the image.
+ /// For For Normal QUAD image only.
+ /// </summary>
+ public Vector4 PixelArea
+ {
+ get
+ {
+ return _pixelArea;
+ }
+ set
+ {
+ _pixelArea = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the wrap mode for u coordinate.
+ /// It decides how the texture should be sampled when the u coordinate exceeds the range of 0.0 to 1.0.
+ /// If not specified, the default is CLAMP.
+ /// For Normal QUAD image only.
+ /// </summary>
+ public WrapModeType WrapModeU
+ {
+ get
+ {
+ return _wrapModeU;
+ }
+ set
+ {
+ _wrapModeU = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the wrap mode for v coordinate.
+ /// It decides how the texture should be sampled when the v coordinate exceeds the range of 0.0 to 1.0.
+ /// The first two elements indicate the top-left position of the area, and the last two elements are the area width and height respectively.
+ /// If not specified, the default is CLAMP.
+ /// For Normal QUAD image only.
+ /// </summary>
+ public WrapModeType WrapModeV
+ {
+ get
+ {
+ return _wrapModeV;
+ }
+ set
+ {
+ _wrapModeV = value;
+ }
+ }
+
+ protected override void ComposingPropertyMap()
+ {
+ if (_url != "")
+ {
+ _outputVisualMap = new PropertyMap();
+ _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Image));
+ _outputVisualMap.Add(ImageVisualProperty.URL, new PropertyValue(_url));
+ _outputVisualMap.Add(ImageVisualProperty.FittingMode, new PropertyValue((int)_fittingMode));
+ _outputVisualMap.Add(ImageVisualProperty.SamplingMode, new PropertyValue((int)_samplingMode));
+
+ if (_desiredWidth != 0)
+ {
+ _outputVisualMap.Add(ImageVisualProperty.DesiredWidth, new PropertyValue(_desiredWidth));
+ }
+
+ if (_desiredHeight != 0)
+ {
+ _outputVisualMap.Add(ImageVisualProperty.DesiredHeight, new PropertyValue(_desiredHeight));
+ }
+
+ _outputVisualMap.Add(ImageVisualProperty.SynchronousLoading, new PropertyValue(_synchronousLoading));
+ _outputVisualMap.Add(ImageVisualProperty.BorderOnly, new PropertyValue(_borderOnly));
+ _outputVisualMap.Add(ImageVisualProperty.PixelArea, new PropertyValue(_pixelArea));
+ _outputVisualMap.Add(ImageVisualProperty.WrapModeU, new PropertyValue((int)_wrapModeU));
+ _outputVisualMap.Add(ImageVisualProperty.WrapModeV, new PropertyValue((int)_wrapModeV));
+ }
+ }
+ }
+
+ /// <summary>
+ /// A class encapsulating the property map of a text visual.
+ /// </summary>
+ public class TextVisualMap : VisualMap
+ {
+ public TextVisualMap() : base()
+ {
+ }
+
+ private string _text = "";
+ private string _fontFamily = "";
+ private PropertyMap _fontStyle = null;
+ private float _pointSize = 0.0f;
+ private bool _multiLine = false;
+ private string _horizontalAlignment = "BEGIN";
+ private string _verticalAlignment = "TOP";
+ private Color _textColor = Color.Black;
+ private bool _enableMarkup = false;
+
+ /// <summary>
+ /// Get or set the text to display in UTF-8 format.
+ /// </summary>
+ public string Text
+ {
+ get
+ {
+ return _text;
+ }
+ set
+ {
+ _text = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the requested font family to use.
+ /// </summary>
+ public string FontFamily
+ {
+ get
+ {
+ return _fontFamily;
+ }
+ set
+ {
+ _fontFamily = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the requested font style to use.
+ /// </summary>
+ public PropertyMap FontStyle
+ {
+ get
+ {
+ return _fontStyle;
+ }
+ set
+ {
+ _fontStyle = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the size of font in points.
+ /// </summary>
+ public float PointSize
+ {
+ get
+ {
+ return _pointSize;
+ }
+ set
+ {
+ _pointSize = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the single-line or multi-line layout option.
+ /// </summary>
+ public bool MultiLine
+ {
+ get
+ {
+ return _multiLine;
+ }
+ set
+ {
+ _multiLine = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the line horizontal alignment.
+ /// If not specified, the default is BEGIN.
+ /// </summary>
+ public string HorizontalAlignment
+ {
+ get
+ {
+ return _horizontalAlignment;
+ }
+ set
+ {
+ _horizontalAlignment = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the line vertical alignment.
+ /// If not specified, the default is TOP.
+ /// </summary>
+ public string VerticalAlignment
+ {
+ get
+ {
+ return _verticalAlignment;
+ }
+ set
+ {
+ _verticalAlignment = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the color of the text.
+ /// </summary>
+ public Color TextColor
+ {
+ get
+ {
+ return _textColor;
+ }
+ set
+ {
+ _textColor = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set whether the mark-up processing is enabled.
+ /// </summary>
+ public bool EnableMarkup
+ {
+ get
+ {
+ return _enableMarkup;
+ }
+ set
+ {
+ _enableMarkup = value;
+ }
+ }
+
+ protected override void ComposingPropertyMap()
+ {
+ if (_text != "")
+ {
+ _outputVisualMap = new PropertyMap();
+ _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Text));
+ _outputVisualMap.Add(TextVisualProperty.Text, new PropertyValue(_text));
+
+ if (_fontFamily != "")
+ {
+ _outputVisualMap.Add(TextVisualProperty.FontFamily, new PropertyValue(_fontFamily));
+ }
+
+ if (_fontStyle != null)
+ {
+ _outputVisualMap.Add(TextVisualProperty.FontStyle, new PropertyValue(_fontStyle));
+ }
+
+ if (_pointSize != 0)
+ {
+ _outputVisualMap.Add(TextVisualProperty.PointSize, new PropertyValue(_pointSize));
+ }
+
+ _outputVisualMap.Add(TextVisualProperty.MultiLine, new PropertyValue(_multiLine));
+ _outputVisualMap.Add(TextVisualProperty.HorizontalAlignment, new PropertyValue(_horizontalAlignment));
+ _outputVisualMap.Add(TextVisualProperty.VerticalAlignment, new PropertyValue(_verticalAlignment));
+ _outputVisualMap.Add(TextVisualProperty.TextColor, new PropertyValue(_textColor));
+ _outputVisualMap.Add(TextVisualProperty.EnableMarkup, new PropertyValue(_enableMarkup));
+ }
+ }
+ }
+
+ /// <summary>
+ /// A class encapsulating the property map of a border visual.
+ /// </summary>
+ public class BorderVisualMap : VisualMap
+ {
+ public BorderVisualMap() : base()
+ {
+ }
+
+ private Color _color = Color.Black;
+ private float _size = 0.000001f;
+ private bool _antiAliasing = false;
+
+ /// <summary>
+ /// Get or set the color of the border.
+ /// </summary>
+ public Color Color
+ {
+ get
+ {
+ return _color;
+ }
+ set
+ {
+ _color = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the width of the border (in pixels).
+ /// </summary>
+ public float Size
+ {
+ get
+ {
+ return _size;
+ }
+ set
+ {
+ _size = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set whether anti-aliasing of the border is required.
+ /// If not supplied, default is false.
+ /// </summary>
+ public bool AntiAliasing
+ {
+ get
+ {
+ return _antiAliasing;
+ }
+ set
+ {
+ _antiAliasing = value;
+ }
+ }
+
+ protected override void ComposingPropertyMap()
+ {
+ if (_size > 0.000001f)
+ {
+ _outputVisualMap = new PropertyMap();
+ _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Border));
+ _outputVisualMap.Add(BorderVisualProperty.Color, new PropertyValue(_color));
+ _outputVisualMap.Add(BorderVisualProperty.Size, new PropertyValue(_size));
+ _outputVisualMap.Add(BorderVisualProperty.AntiAliasing, new PropertyValue(_antiAliasing));
+ }
+ }
+ }
+
+ /// <summary>
+ /// A class encapsulating the property map of a color visual.
+ /// </summary>
+ public class ColorVisualMap : VisualMap
+ {
+ public ColorVisualMap() : base()
+ {
+ }
+
+ private Color _mixColor = Color.Black;
+
+ /// <summary>
+ /// Get or set the solid color required.
+ /// </summary>
+ public Color MixColor
+ {
+ get
+ {
+ return _mixColor;
+ }
+ set
+ {
+ _mixColor = value;
+ }
+ }
+
+ protected override void ComposingPropertyMap()
+ {
+ _outputVisualMap = new PropertyMap();
+ _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Color));
+ _outputVisualMap.Add(ColorVisualProperty.MixColor, new PropertyValue(_mixColor));
+ }
+ }
+
+ /// <summary>
+ /// A class encapsulating the property map of a gradient visual.
+ /// </summary>
+ public class GradientVisualMap : VisualMap
+ {
+ public GradientVisualMap() : base()
+ {
+ }
+
+ private Vector2 _startPosition = Vector2.Zero;
+ private Vector2 _endPosition = Vector2.Zero;
+ private Vector2 _center = Vector2.Zero;
+ private float _radius = 0.000001f;
+ private PropertyArray _stopOffset = null; //0.0, 1.0
+ private PropertyArray _stopColor = null; // Color.Black, Color.Blue
+ private GradientVisualUnitsType _units = GradientVisualUnitsType.ObjectBoundingBox;
+ private GradientVisualSpreadMethodType _spreadMethod = GradientVisualSpreadMethodType.Pad;
+
+ /// <summary>
+ /// Get or set the start position of a linear gradient.
+ /// Mandatory for Linear.
+ /// </summary>
+ public Vector2 StartPosition
+ {
+ get
+ {
+ return _startPosition;
+ }
+ set
+ {
+ _startPosition = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the end position of a linear gradient.
+ /// Mandatory for Linear.
+ /// </summary>
+ public Vector2 EndPosition
+ {
+ get
+ {
+ return _endPosition;
+ }
+ set
+ {
+ _endPosition = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the center point of a radial gradient.
+ /// Mandatory for Radial.
+ /// </summary>
+ public Vector2 Center
+ {
+ get
+ {
+ return _center;
+ }
+ set
+ {
+ _center = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the size of the radius of a radial gradient.
+ /// Mandatory for Radial.
+ /// </summary>
+ public float Radius
+ {
+ get
+ {
+ return _radius;
+ }
+ set
+ {
+ _radius = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set all the stop offsets.
+ /// A PropertyArray of float.
+ /// If not supplied, default is 0.0f and 1.0f.
+ /// </summary>
+ public PropertyArray StopOffset
+ {
+ get
+ {
+ return _stopOffset;
+ }
+ set
+ {
+ _stopOffset = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the color at the stop offsets.
+ /// A PropertyArray of Color.
+ /// At least 2 values required to show a gradient.
+ /// </summary>
+ public PropertyArray StopColor
+ {
+ get
+ {
+ return _stopColor;
+ }
+ set
+ {
+ _stopColor = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set defines the coordinate system for certain attributes of the points in a gradient.
+ /// If not supplied, default is GradientVisualUnitsType.OBJECT_BOUNDING_BOX.
+ /// </summary>
+ public GradientVisualUnitsType Units
+ {
+ get
+ {
+ return _units;
+ }
+ set
+ {
+ _units = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
+ /// If not supplied, default is GradientVisualSpreadMethodType.PAD.
+ /// </summary>
+ public GradientVisualSpreadMethodType SpreadMethod
+ {
+ get
+ {
+ return _spreadMethod;
+ }
+ set
+ {
+ _spreadMethod = value;
+ }
+ }
+
+ protected override void ComposingPropertyMap()
+ {
+ if (_startPosition != Vector2.Zero && _endPosition != Vector2.Zero && _center != Vector2.Zero
+ && _radius > 0.000001f && _stopColor != null)
+ {
+ _outputVisualMap = new PropertyMap();
+ _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Gradient));
+ _outputVisualMap.Add(GradientVisualProperty.StartPosition, new PropertyValue(_startPosition));
+ _outputVisualMap.Add(GradientVisualProperty.EndPosition, new PropertyValue(_endPosition));
+ _outputVisualMap.Add(GradientVisualProperty.Center, new PropertyValue(_center));
+ _outputVisualMap.Add(GradientVisualProperty.Radius, new PropertyValue(_radius));
+
+ if (_stopOffset != null)
+ {
+ _outputVisualMap.Add(GradientVisualProperty.StopOffset, new PropertyValue(_stopOffset));
+ }
+
+ _outputVisualMap.Add(GradientVisualProperty.StopColor, new PropertyValue(_stopColor));
+ _outputVisualMap.Add(GradientVisualProperty.Units, new PropertyValue((int)_units));
+ _outputVisualMap.Add(GradientVisualProperty.SpreadMethod, new PropertyValue((int)_spreadMethod));
+ }
+ }
+ }
+
+ /// <summary>
+ /// A class encapsulating the property map of a mesh visual.
+ /// </summary>
+ public class MeshVisualMap : VisualMap
+ {
+ public MeshVisualMap() : base()
+ {
+ }
+
+ private string _objectURL = "";
+ private string _materialtURL = "";
+ private string _texturesPath = "";
+ private MeshVisualShadingModeValue _shadingMode = MeshVisualShadingModeValue.TexturedWithDetailedSpecularLighting;
+ private bool _useMipmapping = true;
+ private bool _useSoftNormals = true;
+ private Vector3 _lightPosition = null; //default center of screen
+
+ /// <summary>
+ /// Get or set the location of the ".obj" file.
+ /// </summary>
+ public string ObjectURL
+ {
+ get
+ {
+ return _objectURL;
+ }
+ set
+ {
+ _objectURL = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the location of the ".mtl" file.
+ /// If not specified, then a textureless object is assumed.
+ /// </summary>
+ public string MaterialtURL
+ {
+ get
+ {
+ return _materialtURL;
+ }
+ set
+ {
+ _materialtURL = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set path to the directory the textures (including gloss and normal) are stored in.
+ /// Mandatory if using material.
+ /// </summary>
+ public string TexturesPath
+ {
+ get
+ {
+ return _texturesPath;
+ }
+ set
+ {
+ _texturesPath = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the type of shading mode that the mesh will use.
+ /// If anything the specified shading mode requires is missing, a simpler mode that can be handled with what has been supplied will be used instead.
+ /// If not specified, it will use the best it can support (will try MeshVisualShadingModeValue.TEXTURED_WITH_DETAILED_SPECULAR_LIGHTING first).
+ /// </summary>
+ public MeshVisualShadingModeValue ShadingMode
+ {
+ get
+ {
+ return _shadingMode;
+ }
+ set
+ {
+ _shadingMode = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set whether to use mipmaps for textures or not.
+ /// If not specified, the default is true.
+ /// </summary>
+ public bool UseMipmapping
+ {
+ get
+ {
+ return _useMipmapping;
+ }
+ set
+ {
+ _useMipmapping = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set whether to average normals at each point to smooth textures or not.
+ /// If not specified, the default is true.
+ /// </summary>
+ public bool UseSoftNormals
+ {
+ get
+ {
+ return _useSoftNormals;
+ }
+ set
+ {
+ _useSoftNormals = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the position, in stage space, of the point light that applies lighting to the model.
+ /// This is based off the stage's dimensions, so using the width and height of the stage halved will correspond to the center,
+ /// and using all zeroes will place the light at the top left corner.
+ /// If not specified, the default is an offset outwards from the center of the screen.
+ /// </summary>
+ public Vector3 LightPosition
+ {
+ get
+ {
+ return _lightPosition;
+ }
+ set
+ {
+ _lightPosition = value;
+ }
+ }
+
+ protected override void ComposingPropertyMap()
+ {
+ if (_objectURL != "")
+ {
+ _outputVisualMap = new PropertyMap();
+ _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Mesh));
+ _outputVisualMap.Add(MeshVisualProperty.ObjectURL, new PropertyValue(_objectURL));
+
+ if (_materialtURL != "" && _texturesPath != "")
+ {
+ _outputVisualMap.Add(MeshVisualProperty.MaterialtURL, new PropertyValue(_materialtURL));
+ _outputVisualMap.Add(MeshVisualProperty.TexturesPath, new PropertyValue(_texturesPath));
+ }
+
+ _outputVisualMap.Add(MeshVisualProperty.ShadingMode, new PropertyValue((int)_shadingMode));
+ _outputVisualMap.Add(MeshVisualProperty.UseMipmapping, new PropertyValue(_useMipmapping));
+ _outputVisualMap.Add(MeshVisualProperty.UseSoftNormals, new PropertyValue(_useSoftNormals));
+
+ if (_lightPosition != null)
+ {
+ _outputVisualMap.Add(MeshVisualProperty.LightPosition, new PropertyValue(_lightPosition));
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// A class encapsulating the property map of a primetive visual.
+ /// </summary>
+ public class PrimitiveVisualMap : VisualMap
+ {
+ public PrimitiveVisualMap() : base()
+ {
+ }
+
+ private PrimitiveVisualShapeType _shape = PrimitiveVisualShapeType.Sphere;
+ private Color _mixColor = new Color(0.5f, 0.5f, 0.5f, 1.0f);
+ private int _slices = 128;
+ private int _stacks = 128;
+ private float _scaleTopRadius = 1.0f;
+ private float _scaleBottomRadius = 1.5f;
+ private float _scaleHeight = 3.0f;
+ private float _scaleRadius = 1.0f;
+ private Vector3 _scaleDimensions = Vector3.One;
+ private float _bevelPercentage = 0.0f;
+ private float _bevelSmoothness = 0.0f;
+ private Vector3 _lightPosition = null; // default ?? center of screen
+
+ /// <summary>
+ /// Get or set the specific shape to render.
+ /// If not specified, the default is PrimitiveVisualShapeType.SPHERE.
+ /// </summary>
+ public PrimitiveVisualShapeType Shape
+ {
+ get
+ {
+ return _shape;
+ }
+ set
+ {
+ _shape = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the color of the shape.
+ /// If not specified, the default is Color(0.5, 0.5, 0.5, 1.0).
+ /// Applies to ALL shapes.
+ /// </summary>
+ public Color MixColor
+ {
+ get
+ {
+ return _mixColor;
+ }
+ set
+ {
+ _mixColor = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the number of slices as you go around the shape.
+ /// For spheres and conical frustrums, this determines how many divisions there are as you go around the object.
+ /// If not specified, the default is 128.
+ /// The range is from 1 to 255.
+ /// </summary>
+ public int Slices
+ {
+ get
+ {
+ return _slices;
+ }
+ set
+ {
+ _slices = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the number of stacks as you go down the shape.
+ /// For spheres, 'stacks' determines how many layers there are as you go down the object.
+ /// If not specified, the default is 128.
+ /// The range is from 1 to 255.
+ /// </summary>
+ public int Stacks
+ {
+ get
+ {
+ return _stacks;
+ }
+ set
+ {
+ _stacks = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the scale of the radius of the top circle of a conical frustrum.
+ /// If not specified, the default is 1.0f.
+ /// Applies to: - PrimitiveVisualShapeType.CONICAL_FRUSTRUM
+ /// Only values greater than or equal to 0.0f are accepted.
+ /// </summary>
+ public float ScaleTopRadius
+ {
+ get
+ {
+ return _scaleTopRadius;
+ }
+ set
+ {
+ _scaleTopRadius = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the scale of the radius of the bottom circle of a conical frustrum.
+ /// If not specified, the default is 1.5f.
+ /// Applies to: - PrimitiveVisualShapeType.CONICAL_FRUSTRUM
+ /// - PrimitiveVisualShapeType.CONE
+ /// Only values greater than or equal to 0.0f are accepted.
+ /// </summary>
+ public float ScaleBottomRadius
+ {
+ get
+ {
+ return _scaleBottomRadius;
+ }
+ set
+ {
+ _scaleBottomRadius = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the scale of the height of a conic.
+ /// If not specified, the default is 3.0f.
+ /// Applies to:
+ /// - Shape::CONICAL_FRUSTRUM
+ /// - Shape::CONE
+ /// - Shape::CYLINDER
+ /// Only values greater than or equal to 0.0f are accepted.
+ /// </summary>
+ public float ScaleHeight
+ {
+ get
+ {
+ return _scaleHeight;
+ }
+ set
+ {
+ _scaleHeight = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the scale of the radius of a cylinder.
+ /// If not specified, the default is 1.0f.
+ /// Applies to:
+ /// - Shape::CYLINDER
+ /// Only values greater than or equal to 0.0f are accepted.
+ /// </summary>
+ public float ScaleRadius
+ {
+ get
+ {
+ return _scaleRadius;
+ }
+ set
+ {
+ _scaleRadius = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
+ /// If not specified, the default is Vector3.One.
+ /// Applies to:
+ /// - Shape::CUBE
+ /// - Shape::OCTAHEDRON
+ /// - Shape::BEVELLED_CUBE
+ /// Each vector3 parameter should be greater than or equal to 0.0f.
+ /// </summary>
+ public Vector3 ScaleDimensions
+ {
+ get
+ {
+ return _scaleDimensions;
+ }
+ set
+ {
+ _scaleDimensions = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set determines how bevelled the cuboid should be, based off the smallest dimension.
+ /// Bevel percentage ranges from 0.0 to 1.0. It affects the ratio of the outer face widths to the width of the overall cube.
+ /// If not specified, the default is 0.0f (no bevel).
+ /// Applies to:
+ /// - Shape::BEVELLED_CUBE
+ /// The range is from 0.0f to 1.0f.
+ /// </summary>
+ public float BevelPercentage
+ {
+ get
+ {
+ return _bevelPercentage;
+ }
+ set
+ {
+ _bevelPercentage = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set defines how smooth the bevelled edges should be.
+ /// If not specified, the default is 0.0f (sharp edges).
+ /// Applies to:
+ /// - Shape::BEVELLED_CUBE
+ /// The range is from 0.0f to 1.0f.
+ /// </summary>
+ public float BevelSmoothness
+ {
+ get
+ {
+ return _bevelSmoothness;
+ }
+ set
+ {
+ _bevelSmoothness = value;
+ }
+ }
+
+ /// <summary>
+ /// Get or set the position, in stage space, of the point light that applies lighting to the model.
+ /// This is based off the stage's dimensions, so using the width and height of the stage halved will correspond to the center,
+ /// and using all zeroes will place the light at the top left corner.
+ /// If not specified, the default is an offset outwards from the center of the screen.
+ /// Applies to ALL shapes.
+ /// </summary>
+ public Vector3 LightPosition
+ {
+ get
+ {
+ return _lightPosition;
+ }
+ set
+ {
+ _lightPosition = value;
+ }
+ }
+
+ protected override void ComposingPropertyMap()
+ {
+ _outputVisualMap = new PropertyMap(); ;
+ _outputVisualMap.Add(Visual.Property.Type, new PropertyValue((int)Visual.Type.Primitive));
+ _outputVisualMap.Add(PrimitiveVisualProperty.Shape, new PropertyValue((int)_shape));
+ _outputVisualMap.Add(PrimitiveVisualProperty.MixColor, new PropertyValue(_mixColor));
+ _outputVisualMap.Add(PrimitiveVisualProperty.Slices, new PropertyValue(_slices));
+ _outputVisualMap.Add(PrimitiveVisualProperty.Stacks, new PropertyValue(_stacks));
+ _outputVisualMap.Add(PrimitiveVisualProperty.ScaleTopRadius, new PropertyValue(_scaleTopRadius));
+ _outputVisualMap.Add(PrimitiveVisualProperty.ScaleBottomRadius, new PropertyValue(_scaleBottomRadius));
+ _outputVisualMap.Add(PrimitiveVisualProperty.ScaleHeight, new PropertyValue(_scaleHeight));
+ _outputVisualMap.Add(PrimitiveVisualProperty.ScaleRadius, new PropertyValue(_scaleRadius));
+ _outputVisualMap.Add(PrimitiveVisualProperty.ScaleDimensions, new PropertyValue(_scaleDimensions));
+ _outputVisualMap.Add(PrimitiveVisualProperty.BevelPercentage, new PropertyValue(_bevelPercentage));
+ _outputVisualMap.Add(PrimitiveVisualProperty.BevelSmoothness, new PropertyValue(_bevelSmoothness));
+
+ if (_lightPosition != null)
+ {
+ _outputVisualMap.Add(PrimitiveVisualProperty.LightPosition, new PropertyValue(_lightPosition));
+ }
+ }
+ }
+
+
+ public enum WrapModeType
+ {
+ Default = 0,
+ ClampToEdge,
+ Repeat,
+ MirroredRepeat
+ }
+
+ public enum GradientVisualUnitsType
+ {
+ ObjectBoundingBox,
+ UserSpace
+ }
+
+ public enum GradientVisualSpreadMethodType
+ {
+ Pad,
+ Reflect,
+ Repeat
+ }
+
+ public enum MeshVisualShadingModeValue
+ {
+ TexturelessWithDiffuseLighting,
+ TexturedWithSpecularLighting,
+ TexturedWithDetailedSpecularLighting
+ }
+
+ public enum PrimitiveVisualShapeType
+ {
+ Sphere,
+ ConicalFrustrum,
+ Cone,
+ Cylinder,
+ Cube,
+ Octahedron,
+ BevelledCube
+ }
+
+ public enum FittingModeType
+ {
+ ShrinkToFit,
+ ScaleToFill,
+ FitWidth,
+ FitHeight
+ }
+
+ public enum SamplingModeType
+ {
+ Box,
+ Nearest,
+ Linear,
+ BoxThenNearest,
+ BoxThenLinear,
+ NoFilter,
+ DontCare
+ }
+
+ public enum VisualTransformPolicyType
+ {
+ Relative = 0,
+ Absolute = 1
+ }
+
+ public enum AlignType
+ {
+ TopBegin = 0,
+ TopCenter,
+ TopEnd,
+ CenterBegin,
+ Center,
+ CenterEnd,
+ BottomBegin,
+ BottomCenter,
+ BottomEnd
+ }
+
+ public enum VisualTransformPropertyType
+ {
+ Offset,
+ Size,
+ Origin,
+ AnchorPoint,
+ OffsetPolicy,
+ SizePolicy
+ }
+
+ public struct Visual
+ {
+ public enum Type
+ {
+ Border,
+ Color,
+ Gradient,
+ Image,
+ Mesh,
+ Primitive,
+ Wireframe,
+ Text
+ }
+
+ public struct Property
+ {
+ public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
+ public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
+ public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
+ public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
+ public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
+ }
+
+ public struct ShaderProperty
+ {
+ public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
+ public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
+ public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
+ public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
+ public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
+ }
+ }
+
+ public struct BorderVisualProperty
+ {
+ public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
+ public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
+ public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
+ }
+
+ public struct ColorVisualProperty
+ {
+ public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
+ }
+
+ public struct GradientVisualProperty
+ {
+ public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
+ public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
+ public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
+ public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
+ public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
+ public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
+ public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
+ public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
+ }
+
+ public struct ImageVisualProperty
+ {
+ public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
+ public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+ public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+ public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+ public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+ public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+ public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+ public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+ public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+ public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+ }
+
+ public struct MeshVisualProperty
+ {
+ public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
+ public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
+ public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
+ public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
+ public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
+ public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
+ public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
+ }
+
+ public struct PrimitiveVisualProperty
+ {
+ public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
+ public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
+ public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
+ public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
+ public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
+ public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
+ public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
+ public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
+ public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
+ public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
+ public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
+ public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
+ }
+
+ public struct TextVisualProperty
+ {
+ public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
+ public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
+ public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
+ public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
+ public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
+ public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
+ public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
+ public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
+ public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+ }
+
+
+}
// <auto-generated />
//
// This file was automatically generated by SWIG (http://www.swig.org).
-// Version 3.0.9
+// Version 3.0.12
//
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
+/* moved to VisualMaps.cs
namespace Tizen.NUI {
-public enum DrawModeType {
- NORMAL = 0,
- OVERLAY_2D = 1,
- STENCIL = 3
+public enum VisualTransformPolicyType {
+ RELATIVE = 0,
+ ABSOLUTE = 1
}
}
+*/
\ No newline at end of file
// the SWIG interface file instead.
//------------------------------------------------------------------------------
+/* moved to VisualMaps.cs
namespace Tizen.NUI {
public enum VisualTransformPropertyType {
SIZE,
ORIGIN,
ANCHOR_POINT,
- OFFSET_SIZE_MODE
+ OFFSET_POLICY,
+ SIZE_POLICY
}
}
+*/
\ No newline at end of file
// Do not make changes to this file unless you know what you are doing--modify
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-
+/* moved to VisualMaps.cs
namespace Tizen.NUI {
-public enum VisualType {
+ internal enum VisualType {
BORDER,
COLOR,
GRADIENT,
}
}
+*/
\ No newline at end of file
namespace Tizen.NUI {
-public class VoidSignal : global::System.IDisposable {
+ internal class VoidSignal : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
-public class Wheel : global::System.IDisposable {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
- protected bool swigCMemOwn;
+ /// <summary>
+ /// The wheel event structure is used to store a wheel rolling, it facilitates
+ /// processing of the wheel rolling and passing to other libraries like Toolkit.
+ ///
+ /// There is a key modifier which relates to keys like alt, shift and control functions are
+ /// supplied to check if they have been pressed when the wheel is being rolled.
+ ///
+ /// We support a mouse device and there may be another custom device that support the wheel event. The device type is specified as \e type.
+ /// The mouse wheel event can be sent to the specific actor but the custom wheel event will be sent to the stage.
+ /// </summary>
+ public class Wheel : global::System.IDisposable
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ protected bool swigCMemOwn;
- internal Wheel(global::System.IntPtr cPtr, bool cMemoryOwn) {
- swigCMemOwn = cMemoryOwn;
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ internal Wheel(global::System.IntPtr cPtr, bool cMemoryOwn)
+ {
+ swigCMemOwn = cMemoryOwn;
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Wheel obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Wheel obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- ~Wheel() {
- DisposeQueue.Instance.Add(this);
- }
+ ~Wheel()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- public virtual void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public virtual void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Wheel(swigCPtr);
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Wheel(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ }
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- }
- }
- public static Wheel GetWheelFromPtr(global::System.IntPtr cPtr) {
- Wheel ret = new Wheel(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
+ internal static Wheel GetWheelFromPtr(global::System.IntPtr cPtr)
+ {
+ Wheel ret = new Wheel(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
- public Wheel.WheelType Type
- {
- get
- {
- return type;
- }
- }
+ /// <summary>
+ /// The type of the wheel event
+ /// </summary>
+ public Wheel.WheelType Type
+ {
+ get
+ {
+ return type;
+ }
+ }
- public int Direction
- {
- get
- {
- return direction;
- }
- }
+ /// <summary>
+ /// he direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel)
+ /// </summary>
+ public int Direction
+ {
+ get
+ {
+ return direction;
+ }
+ }
- public uint Modifiers
- {
- get
- {
- return modifiers;
- }
- }
+ /// <summary>
+ /// Modifier keys pressed during the event (such as shift, alt and control)
+ /// </summary>
+ public uint Modifiers
+ {
+ get
+ {
+ return modifiers;
+ }
+ }
- public Vector2 Point
- {
- get
- {
- return point;
- }
- }
+ /// <summary>
+ /// The co-ordinates of the cursor relative to the top-left of the screen
+ /// </summary>
+ public Vector2 Point
+ {
+ get
+ {
+ return point;
+ }
+ }
- public int Z
- {
- get
- {
- return z;
- }
- }
+ /// <summary>
+ /// The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise)
+ /// </summary>
+ public int Z
+ {
+ get
+ {
+ return z;
+ }
+ }
- public uint TimeStamp
- {
- get
- {
- return timeStamp;
- }
- }
-
- public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Wheel(Wheel.WheelType type, int direction, uint modifiers, Vector2 point, int z, uint timeStamp) : this(NDalicPINVOKE.new_Wheel__SWIG_1((int)type, direction, modifiers, Vector2.getCPtr(point), z, timeStamp), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public bool IsShiftModifier() {
- bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsCtrlModifier() {
- bool ret = NDalicPINVOKE.Wheel_IsCtrlModifier(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public bool IsAltModifier() {
- bool ret = NDalicPINVOKE.Wheel_IsAltModifier(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- private Wheel.WheelType type {
- set {
- NDalicPINVOKE.Wheel_type_set(swigCPtr, (int)value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- Wheel.WheelType ret = (Wheel.WheelType)NDalicPINVOKE.Wheel_type_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int direction {
- set {
- NDalicPINVOKE.Wheel_direction_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Wheel_direction_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private uint modifiers {
- set {
- NDalicPINVOKE.Wheel_modifiers_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.Wheel_modifiers_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private Vector2 point {
- set {
- NDalicPINVOKE.Wheel_point_set(swigCPtr, Vector2.getCPtr(value));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- global::System.IntPtr cPtr = NDalicPINVOKE.Wheel_point_get(swigCPtr);
- Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private int z {
- set {
- NDalicPINVOKE.Wheel_z_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- int ret = NDalicPINVOKE.Wheel_z_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- private uint timeStamp {
- set {
- NDalicPINVOKE.Wheel_timeStamp_set(swigCPtr, value);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
- get {
- uint ret = NDalicPINVOKE.Wheel_timeStamp_get(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
- }
-
- public enum WheelType {
- MOUSE_WHEEL,
- CUSTOM_WHEEL
- }
+ /// <summary>
+ /// The time the wheel is being rolled
+ /// </summary>
+ public uint TimeStamp
+ {
+ get
+ {
+ return timeStamp;
+ }
+ }
-}
+ /// <summary>
+ /// Default constructor.
+ /// </summary>
+ public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Constructor.
+ /// </summary>
+ /// <param name="type">The type of the wheel event</param>
+ /// <param name="direction">The direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel)</param>
+ /// <param name="modifiers">Modifier keys pressed during the event (such as shift, alt and control)</param>
+ /// <param name="point">The co-ordinates of the cursor relative to the top-left of the screen</param>
+ /// <param name="z">The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise)</param>
+ /// <param name="timeStamp">The time the wheel is being rolled</param>
+ public Wheel(Wheel.WheelType type, int direction, uint modifiers, Vector2 point, int z, uint timeStamp) : this(NDalicPINVOKE.new_Wheel__SWIG_1((int)type, direction, modifiers, Vector2.getCPtr(point), z, timeStamp), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Checks to see if Shift key modifier has been supplied.
+ /// </summary>
+ /// <returns>True if shift modifier</returns>
+ public bool IsShiftModifier()
+ {
+ bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Checks to see if Ctrl (control) key modifier has been supplied.
+ /// </summary>
+ /// <returns>True if ctrl modifier</returns>
+ public bool IsCtrlModifier()
+ {
+ bool ret = NDalicPINVOKE.Wheel_IsCtrlModifier(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Checks to see if Alt key modifier has been supplied.
+ /// </summary>
+ /// <returns>True if alt modifier</returns>
+ public bool IsAltModifier()
+ {
+ bool ret = NDalicPINVOKE.Wheel_IsAltModifier(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ private Wheel.WheelType type
+ {
+ set
+ {
+ NDalicPINVOKE.Wheel_type_set(swigCPtr, (int)value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ Wheel.WheelType ret = (Wheel.WheelType)NDalicPINVOKE.Wheel_type_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int direction
+ {
+ set
+ {
+ NDalicPINVOKE.Wheel_direction_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Wheel_direction_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private uint modifiers
+ {
+ set
+ {
+ NDalicPINVOKE.Wheel_modifiers_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.Wheel_modifiers_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private Vector2 point
+ {
+ set
+ {
+ NDalicPINVOKE.Wheel_point_set(swigCPtr, Vector2.getCPtr(value));
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ global::System.IntPtr cPtr = NDalicPINVOKE.Wheel_point_get(swigCPtr);
+ Vector2 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector2(cPtr, false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private int z
+ {
+ set
+ {
+ NDalicPINVOKE.Wheel_z_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ int ret = NDalicPINVOKE.Wheel_z_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ private uint timeStamp
+ {
+ set
+ {
+ NDalicPINVOKE.Wheel_timeStamp_set(swigCPtr, value);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+ get
+ {
+ uint ret = NDalicPINVOKE.Wheel_timeStamp_get(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+ }
+
+ /// <summary>
+ /// The type of the wheel event
+ /// </summary>
+ public enum WheelType
+ {
+ MouseWheel,
+ CustomWheel
+ }
+
+ }
}
// the SWIG interface file instead.
//------------------------------------------------------------------------------
-namespace Tizen.NUI {
+namespace Tizen.NUI
+{
+ /// <summary>
+ /// The window class is used internally for drawing.
+ /// A Window has an orientation and indicator properties.
+ /// </summary>
+ public class Window : BaseHandle
+ {
+ private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+ internal Window(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Window_SWIGUpcast(cPtr), cMemoryOwn)
+ {
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+ }
-public class Window : BaseHandle {
- private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+ internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj)
+ {
+ return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+ }
- internal Window(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Window_SWIGUpcast(cPtr), cMemoryOwn) {
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- }
+ ~Window()
+ {
+ DisposeQueue.Instance.Add(this);
+ }
- internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj) {
- return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
- }
+ public override void Dispose()
+ {
+ if (!Stage.IsInstalled())
+ {
+ DisposeQueue.Instance.Add(this);
+ return;
+ }
+
+ lock (this)
+ {
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Window(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+ global::System.GC.SuppressFinalize(this);
+ base.Dispose();
+ }
+ }
- ~Window() {
- DisposeQueue.Instance.Add(this);
- }
+ public void Show()
+ {
+ NDalicPINVOKE.Show(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- public override void Dispose() {
- if (!Stage.IsInstalled()) {
- DisposeQueue.Instance.Add(this);
- return;
- }
+ public void Hide()
+ {
+ NDalicPINVOKE.Hide(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
- lock(this) {
- if (swigCPtr.Handle != global::System.IntPtr.Zero) {
- if (swigCMemOwn) {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Window(swigCPtr);
+ public void IsVisible()
+ {
+ NDalicPINVOKE.IsVisible(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
- global::System.GC.SuppressFinalize(this);
- base.Dispose();
- }
- }
-
-
- public Window (Rectangle windowPosition, string name, bool isTransparent) : this (NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public Window (Rectangle windowPosition, string name) : this (NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public Window (Rectangle windowPosition, string name, string className, bool isTransparent) : this (NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public Window (Rectangle windowPosition, string name, string className) : this (NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- }
- public Window(Window handle) : this(NDalicPINVOKE.new_Window__SWIG_1(Window.getCPtr(handle)), true) {
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Window Assign(Window rhs) {
- Window ret = new Window(NDalicPINVOKE.Window_Assign(swigCPtr, Window.getCPtr(rhs)), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public void ShowIndicator(Window.IndicatorVisibleMode visibleMode) {
- NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetIndicatorBgOpacity(Window.IndicatorBgOpacity opacity) {
- NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RotateIndicator(Window.WindowOrientation orientation) {
- NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetClass(string name, string klass) {
- NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Raise() {
- NDalicPINVOKE.Window_Raise(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Lower() {
- NDalicPINVOKE.Window_Lower(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void Activate() {
- NDalicPINVOKE.Window_Activate(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void AddAvailableOrientation(Window.WindowOrientation orientation) {
- NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void RemoveAvailableOrientation(Window.WindowOrientation orientation) {
- NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public void SetPreferredOrientation(Window.WindowOrientation orientation) {
- NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- }
-
- public Window.WindowOrientation GetPreferredOrientation() {
- Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public DragAndDropDetector GetDragAndDropDetector() {
- DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public Any GetNativeHandle() {
- Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public SWIGTYPE_p_Dali__SignalT_void_fboolF_t IndicatorVisibilityChangedSignal() {
- SWIGTYPE_p_Dali__SignalT_void_fboolF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fboolF_t(NDalicPINVOKE.Window_IndicatorVisibilityChangedSignal(swigCPtr), false);
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
- }
-
- public enum WindowOrientation {
- PORTRAIT = 0,
- LANDSCAPE = 90,
- PORTRAIT_INVERSE = 180,
- LANDSCAPE_INVERSE = 270
- }
-
- public enum IndicatorBgOpacity {
- OPAQUE = 100,
- TRANSLUCENT = 50,
- TRANSPARENT = 0
- }
-
- public enum IndicatorVisibleMode {
- INVISIBLE = 0,
- VISIBLE = 1,
- AUTO = 2
- }
-}
+ /// <summary>
+ /// Creates an initialized handle to a new Window.
+ /// </summary>
+ /// <param name="windowPosition">The position and size of the Window</param>
+ /// <param name="name">The Window title</param>
+ /// <param name="isTransparent">Whether Window is transparent</param>
+ public Window(Rectangle windowPosition, string name, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Creates an initialized handle to a new Window.
+ /// </summary>
+ /// <param name="windowPosition">The position and size of the Window</param>
+ /// <param name="name">The Window title</param>
+ public Window(Rectangle windowPosition, string name) : this(NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Creates an initialized handle to a new Window.
+ /// </summary>
+ /// <param name="windowPosition">The position and size of the Window</param>
+ /// <param name="name">The Window title</param>
+ /// <param name="className">The Window class name</param>
+ /// <param name="isTransparent">Whether Window is transparent</param>
+ public Window(Rectangle windowPosition, string name, string className, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+
+ /// <summary>
+ /// Creates an initialized handle to a new Window.
+ /// </summary>
+ /// <param name="windowPosition">The position and size of the Window</param>
+ /// <param name="name">The Window title</param>
+ /// <param name="className">The Window class name</param>
+ public Window(Rectangle windowPosition, string name, string className) : this(NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ }
+ internal Window(Window handle) : this(NDalicPINVOKE.new_Window__SWIG_1(Window.getCPtr(handle)), true)
+ {
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Window Assign(Window rhs)
+ {
+ Window ret = new Window(NDalicPINVOKE.Window_Assign(swigCPtr, Window.getCPtr(rhs)), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// This sets whether the indicator bar should be shown or not.
+ /// </summary>
+ /// <param name="visibleMode">Visible mode for indicator bar, Visible in default</param>
+ internal void ShowIndicator(Window.IndicatorVisibleMode visibleMode)
+ {
+ NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// This sets the opacity mode of indicator bar.
+ /// </summary>
+ /// <param name="opacity">The opacity mode</param>
+ internal void SetIndicatorBgOpacity(Window.IndicatorBgOpacity opacity)
+ {
+ NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// This sets the orientation of indicator bar.
+ /// It does not implicitly show the indicator if it is currently hidden.
+ /// </summary>
+ /// <param name="orientation">The orientation</param>
+ internal void RotateIndicator(Window.WindowOrientation orientation)
+ {
+ NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetClass(string name, string klass)
+ {
+ NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Raises window to the top of Window stack.
+ /// </summary>
+ public void Raise()
+ {
+ NDalicPINVOKE.Window_Raise(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Lowers window to the bottom of Window stack.
+ /// </summary>
+ public void Lower()
+ {
+ NDalicPINVOKE.Window_Lower(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ /// <summary>
+ /// Activates window to the top of Window stack even it is iconified.
+ /// </summary>
+ public void Activate()
+ {
+ NDalicPINVOKE.Window_Activate(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void AddAvailableOrientation(Window.WindowOrientation orientation)
+ {
+ NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void RemoveAvailableOrientation(Window.WindowOrientation orientation)
+ {
+ NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal void SetPreferredOrientation(Window.WindowOrientation orientation)
+ {
+ NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
+
+ internal Window.WindowOrientation GetPreferredOrientation()
+ {
+ Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal DragAndDropDetector GetDragAndDropDetector()
+ {
+ DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal Any GetNativeHandle()
+ {
+ Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ internal SWIGTYPE_p_Dali__SignalT_void_fboolF_t IndicatorVisibilityChangedSignal()
+ {
+ SWIGTYPE_p_Dali__SignalT_void_fboolF_t ret = new SWIGTYPE_p_Dali__SignalT_void_fboolF_t(NDalicPINVOKE.Window_IndicatorVisibilityChangedSignal(swigCPtr), false);
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ return ret;
+ }
+
+ /// <summary>
+ /// Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
+ /// </summary>
+ public enum WindowOrientation
+ {
+ Portrait = 0,
+ Landscape = 90,
+ PortraitInverse = 180,
+ LandscapeInverse = 270
+ }
+
+ /// <summary>
+ /// Enumeration for opacity of the indicator.
+ /// </summary>
+ internal enum IndicatorBgOpacity
+ {
+ Opaque = 100,
+ Translucent = 50,
+ Transparent = 0
+ }
+
+ /// <summary>
+ /// Enumeration for visible mode of the indicator.
+ /// </summary>
+ internal enum IndicatorVisibleMode
+ {
+ Invisible = 0,
+ Visible = 1,
+ Auto = 2
+ }
+
+ }
}
//------------------------------------------------------------------------------
namespace Tizen.NUI {
-
-public enum WrapModeType {
+/* move to VisualMap.cs
+ internal enum WrapModeType {
DEFAULT = 0,
CLAMP_TO_EDGE,
REPEAT,
MIRRORED_REPEAT
}
-
+*/
}
-/** Copyright (c) 2017 Samsung Electronics Co., Ltd.
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*
-*/
-
-namespace System
-{
- public class ApplicationException : Exception
- {
- public ApplicationException()
- {
- new global::System.InvalidCastException();
- }
-
- public ApplicationException(string message)
- {
- new global::System.InvalidCastException(message);
- }
-
- public ApplicationException(string message, Exception innerException)
- {
- new global::System.InvalidCastException(message, innerException);
- }
- }
-
- public class SystemException : Exception
- {
- public SystemException()
- {
- new global::System.InvalidCastException();
- }
-
- public SystemException(string message)
- {
- new global::System.InvalidCastException(message);
- }
-
- public SystemException(string message, Exception innerException)
- {
- new global::System.InvalidCastException(message, innerException);
- }
- }
-}
+/** Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
+*\r
+* Licensed under the Apache License, Version 2.0 (the "License");\r
+* you may not use this file except in compliance with the License.\r
+* You may obtain a copy of the License at\r
+*\r
+* http://www.apache.org/licenses/LICENSE-2.0\r
+*\r
+* Unless required by applicable law or agreed to in writing, software\r
+* distributed under the License is distributed on an "AS IS" BASIS,\r
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+* See the License for the specific language governing permissions and\r
+* limitations under the License.\r
+*\r
+*/\r
+\r
+namespace System\r
+{\r
+ public class ApplicationException : Exception\r
+ {\r
+ public ApplicationException()\r
+ {\r
+ new global::System.InvalidCastException();\r
+ }\r
+\r
+ public ApplicationException(string message)\r
+ {\r
+ new global::System.InvalidCastException(message);\r
+ }\r
+\r
+ public ApplicationException(string message, Exception innerException)\r
+ {\r
+ new global::System.InvalidCastException(message, innerException);\r
+ }\r
+ }\r
+\r
+ public class SystemException : Exception\r
+ {\r
+ public SystemException()\r
+ {\r
+ new global::System.InvalidCastException();\r
+ }\r
+\r
+ public SystemException(string message)\r
+ {\r
+ new global::System.InvalidCastException(message);\r
+ }\r
+\r
+ public SystemException(string message, Exception innerException)\r
+ {\r
+ new global::System.InvalidCastException(message, innerException);\r
+ }\r
+ }\r
+}\r
-// ==++==
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-//
-// ==--==
-namespace System.Runtime.InteropServices
-{
-
- using System;
-
- [System.Runtime.InteropServices.ComVisible(true)]
- public struct HandleRef
- {
-
- // ! Do not add or rearrange fields as the EE depends on this layout.
- //------------------------------------------------------------------
- internal Object m_wrapper;
- internal IntPtr m_handle;
- //------------------------------------------------------------------
-
-
- public HandleRef(Object wrapper, IntPtr handle)
- {
- m_wrapper = wrapper;
- m_handle = handle;
- }
-
- public Object Wrapper {
- get {
- return m_wrapper;
- }
- }
-
- public IntPtr Handle {
- get {
- return m_handle;
- }
- }
-
-
- public static explicit operator IntPtr(HandleRef value)
- {
- return value.m_handle;
- }
-
- public static IntPtr ToIntPtr(HandleRef value)
- {
- return value.m_handle;
- }
- }
-}
+// ==++==\r
+// \r
+// Copyright (c) Microsoft Corporation. All rights reserved.\r
+// \r
+// ==--==\r
+namespace System.Runtime.InteropServices\r
+{\r
+\r
+ using System;\r
+\r
+ [System.Runtime.InteropServices.ComVisible(true)]\r
+ public struct HandleRef\r
+ {\r
+\r
+ // ! Do not add or rearrange fields as the EE depends on this layout.\r
+ //------------------------------------------------------------------\r
+ internal Object m_wrapper;\r
+ internal IntPtr m_handle;\r
+ //------------------------------------------------------------------\r
+\r
+\r
+ public HandleRef(Object wrapper, IntPtr handle)\r
+ {\r
+ m_wrapper = wrapper;\r
+ m_handle = handle;\r
+ }\r
+\r
+ public Object Wrapper\r
+ {\r
+ get\r
+ {\r
+ return m_wrapper;\r
+ }\r
+ }\r
+\r
+ public IntPtr Handle\r
+ {\r
+ get\r
+ {\r
+ return m_handle;\r
+ }\r
+ }\r
+\r
+\r
+ public static explicit operator IntPtr(HandleRef value)\r
+ {\r
+ return value.m_handle;\r
+ }\r
+\r
+ public static IntPtr ToIntPtr(HandleRef value)\r
+ {\r
+ return value.m_handle;\r
+ }\r
+ }\r
+}\r
namespace Tizen.NUI {
-public class doublep : global::System.IDisposable {
+ internal class doublep : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class floatp : global::System.IDisposable {
+ internal class floatp : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class intp : global::System.IDisposable {
+ internal class intp : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
+++ /dev/null
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-using System;
-using System.Runtime.InteropServices;
-using Tizen.NUI;
-
-// A spin control (for continously changing values when users can easily predict a set of values)
-
-namespace Tizen.NUI
-{
-public class Spin : CustomView
- {
- private VisualBase _arrowVisual;
- private TextField _textField;
- private int _arrowVisualPropertyIndex;
- private string _arrowImage;
- private int _currentValue;
- private int _minValue;
- private int _maxValue;
- private int _singleStep;
- private bool _wrappingEnabled;
- private string _fontFamily;
- private string _fontStyle;
- private int _pointSize;
- private Color _textColor;
- private Color _textBackgroundColor;
- private int _maxTextLength;
-
- // Called by DALi Builder if it finds a Spin control in a JSON file
- static CustomView CreateInstance()
- {
- return new Spin();
- }
-
- // static constructor registers the control type (only runs once)
- static Spin()
- {
- // ViewRegistry registers control type with DALi type registery
- // also uses introspection to find any properties that need to be registered with type registry
- ViewRegistry.Instance.Register(CreateInstance, typeof(Spin) );
- }
-
- public Spin() : base(typeof(Spin).Name, ViewWrapperImpl.CustomViewBehaviour.REQUIRES_KEYBOARD_NAVIGATION_SUPPORT | ViewWrapperImpl.CustomViewBehaviour.DISABLE_STYLE_CHANGE_SIGNALS)
- {
-
- }
- public override void OnInitialize()
- {
- //Console.WriteLine ("[Spin]OnInitialize()!");
-
- // Initialize the propertiesControl
- _arrowImage = "/home/owner/apps_rw/NUISamples.TizenTV/res/images/arrow.png";
- _textBackgroundColor = new Color(1.0f, 1.0f, 0.6f, 1.0f);
- _currentValue = 0;
- _minValue = 0;
- _maxValue = 0;
- _singleStep = 1;
- _maxTextLength = 0;
-
- // Create image visual for the arrow keys
- _arrowVisualPropertyIndex = RegisterProperty("ArrowImage", new Tizen.NUI.Property.Value(_arrowImage), Tizen.NUI.Property.AccessMode.READ_WRITE);
- _arrowVisual = VisualFactory.Get().CreateVisual( _arrowImage, new Uint16Pair(150, 150) );
- RegisterVisual( _arrowVisualPropertyIndex, _arrowVisual );
-
- // Create a text field
- _textField = new TextField();
- _textField.ParentOrigin = NDalic.ParentOriginCenter;
- _textField.AnchorPoint = NDalic.AnchorPointCenter;
- _textField.WidthResizePolicy = "SIZE_RELATIVE_TO_PARENT";
- _textField.HeightResizePolicy = "SIZE_RELATIVE_TO_PARENT";
- _textField.SizeModeFactor = new Vector3( 1.0f, 0.45f, 1.0f );
- _textField.PlaceholderText = "----";
- _textField.BackgroundColor = _textBackgroundColor;
- _textField.HorizontalAlignment = "Center";
- _textField.VerticalAlignment = "Center";
- _textField.SetKeyboardFocusable(true);
- _textField.Name = "_textField";
-
- this.Add(_textField);
-
- _textField.KeyInputFocusGained += TextFieldKeyInputFocusGained;
- _textField.KeyInputFocusLost += TextFieldKeyInputFocusLost;
- }
-
- public override Vector3 GetNaturalSize()
- {
- //Console.WriteLine ("[Spin]GetNaturalSize()!");
-
- return new Vector3(150.0f, 150.0f, 0.0f);
- }
-
- public void TextFieldKeyInputFocusGained(object source, KeyInputFocusGainedEventArgs e)
- {
- //Console.WriteLine ("[Spin]TextFieldKeyInputFocusGained()!");
-
- // Make sure when the current spin that takes input focus also takes the keyboard focus
- // For example, when you tap the spin directly
- FocusManager.Instance.SetCurrentFocusActor(_textField);
- }
-
- public void TextFieldKeyInputFocusLost(object source, KeyInputFocusLostEventArgs e)
- {
- //Console.WriteLine ("[Spin]TextFieldKeyInputFocusLost()!");
- int previousValue = _currentValue;
-
- // If the input value is invalid, change it back to the previous valid value
- if(int.TryParse(_textField.Text, out _currentValue))
- {
- if (_currentValue < _minValue || _currentValue > _maxValue)
- {
- _currentValue = previousValue;
- }
- }
- else
- {
- _currentValue = previousValue;
- }
-
- // Otherwise take the new value
- this.Value = _currentValue;
- }
-
- public override Actor GetNextKeyboardFocusableActor(Actor currentFocusedActor, View.KeyboardFocus.Direction direction, bool loopEnabled)
- {
- // Respond to Up/Down keys to change the value while keeping the current spin focused
- //Console.WriteLine ("[Spin]GetNextKeyboardFocusableActor()!");
-
- Actor nextFocusedActor = currentFocusedActor;
- if (direction == View.KeyboardFocus.Direction.UP)
- {
- this.Value += this.Step;
- nextFocusedActor = _textField;
- }
- else if (direction == View.KeyboardFocus.Direction.DOWN)
- {
- this.Value -= this.Step;
- nextFocusedActor = _textField;
- }
- else
- {
- // Return a native empty handle as nothing can be focused in the left or right
- nextFocusedActor = new Actor();
- nextFocusedActor.Reset();
- }
-
- return nextFocusedActor;
- }
-
-
- [ScriptableProperty()]
- public int Value
- {
- get
- {
- return _currentValue;
- }
- set
- {
-
- //Console.WriteLine ("[Spin]Value set to " + value );
- _currentValue = value;
-
- // Make sure no invalid value is accepted
- if (_currentValue < _minValue)
- {
- _currentValue = _minValue;
- }
-
- if (_currentValue > _maxValue)
- {
- _currentValue = _maxValue;
- }
-
- _textField.Text = _currentValue.ToString();
- }
- }
- // MinValue property of type int:
- [ScriptableProperty()]
- public int MinValue
- {
- get
- {
- return _minValue;
- }
- set
- {
- _minValue = value;
- }
- }
-
- // MaxValue property of type int:
- [ScriptableProperty()]
- public int MaxValue
- {
- get
- {
- return _maxValue;
- }
- set
- {
- _maxValue = value;
- }
- }
-
- // Step property of type int:
- [ScriptableProperty()]
- public int Step
- {
- get
- {
- return _singleStep;
- }
- set
- {
- _singleStep = value;
- }
- }
-
- // WrappingEnabled property of type bool:
- [ScriptableProperty()]
- public bool WrappingEnabled
- {
- get
- {
- return _wrappingEnabled;
- }
- set
- {
- _wrappingEnabled = value;
- }
- }
-
- // TextPointSize property of type int:
- [ScriptableProperty()]
- public int TextPointSize
- {
- get
- {
- return _pointSize;
- }
- set
- {
- _pointSize = value;
- _textField.PointSize = _pointSize;
- }
- }
-
- // TextColor property of type Color:
- [ScriptableProperty()]
- public Color TextColor
- {
- get
- {
- return _textColor;
- }
- set
- {
- //Console.WriteLine ("[Spin]TextColor set to " + value.R + "," + value.G + ","+ value.B);
-
- _textColor = value;
- _textField.TextColor = _textColor;
- }
- }
-
- // MaxTextLength property of type int:
- [ScriptableProperty()]
- public int MaxTextLength
- {
- get
- {
- return _maxTextLength;
- }
- set
- {
- _maxTextLength = value;
- _textField.MaxLength = _maxTextLength;
- }
- }
-
- public TextField SpinText
- {
- get
- {
- return _textField;
- }
- set
- {
- _textField = value;
- }
- }
-
- // Indicator property of type string:
- public string IndicatorImage
- {
- get
- {
- return _arrowImage;
- }
- set
- {
- _arrowImage = value;
- _arrowVisual = VisualFactory.Get().CreateVisual( _arrowImage, new Uint16Pair(150, 150) );
- RegisterVisual( _arrowVisualPropertyIndex, _arrowVisual );
- }
- }
-}
-}
namespace Tizen.NUI {
-public class uintp : global::System.IDisposable {
+ internal class uintp : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
namespace Tizen.NUI {
-public class ushortp : global::System.IDisposable {
+ internal class ushortp : global::System.IDisposable {
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
protected bool swigCMemOwn;
+++ /dev/null
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- */\r
-\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using Tizen.NUI;\r
-\r
-namespace Tizen.NUI\r
-{\r
-public class ImageVisual : VisualBase\r
-{\r
- private VisualBase _imageVisual;\r
- private Property.Map _imageProperty;\r
- private string _imageUrl;\r
- private string _fittingMode;\r
- private string _samplingMode;\r
- private int _desiredWidth;\r
- private int _desiredHeight;\r
- private bool _synchronousLoading;\r
- private bool _borderOnly;\r
- private Vector4 _pixelArea;\r
- private string _wrapModeU;\r
- private string _wrapModeV;\r
-\r
- private Vector2 _imageVisualSize;\r
- private Vector2 _imageVisualPosition;\r
- private Vector4 _offsetSizeMode;\r
- private Vector2 _parentSize;\r
- private Tizen.NUI.AlignType _origin;\r
- private Tizen.NUI.AlignType _anchorPoint;\r
-\r
- public ImageVisual() : base()\r
- {\r
- //Initial the default transform map.\r
- _offsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f ); //absolute\r
- _origin = AlignType.TOP_BEGIN;\r
- _anchorPoint = AlignType.TOP_BEGIN;\r
-\r
- //Initial the image property map.\r
- _imageProperty = new Property.Map();\r
- _imageProperty.Insert( NDalic.VISUAL_PROPERTY_TYPE, new Property.Value( (int)VisualType.IMAGE ) );\r
- }\r
-\r
- public ImageVisual(string imageUrl)\r
- {\r
- //Initial the default transform map.\r
- _offsetSizeMode = new Vector4( 1.0f, 1.0f, 1.0f, 1.0f ); //absolute\r
- _origin = AlignType.TOP_BEGIN;\r
- _anchorPoint = AlignType.TOP_BEGIN;\r
-\r
- //Initial the image property map.\r
- _imageUrl = imageUrl;\r
- _imageProperty = new Property.Map();\r
- _imageProperty.Insert( NDalic.VISUAL_PROPERTY_TYPE, new Property.Value( (int)VisualType.IMAGE ) );\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_URL, new Property.Value( _imageUrl ) );\r
- }\r
-\r
- public string Url\r
- {\r
- get\r
- {\r
- return _imageUrl;\r
- }\r
- set\r
- {\r
- _imageUrl = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_URL, new Property.Value( _imageUrl ) );\r
- }\r
- }\r
-\r
- public string FittingMode\r
- {\r
- get\r
- {\r
- return _fittingMode;\r
- }\r
- set\r
- {\r
- _fittingMode = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_FITTING_MODE, new Property.Value( _fittingMode ) );\r
- }\r
- }\r
-\r
- public string SamplingMode\r
- {\r
- get\r
- {\r
- return _samplingMode;\r
- }\r
- set\r
- {\r
- _samplingMode = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_SAMPLING_MODE, new Property.Value( _samplingMode ) );\r
- }\r
- }\r
-\r
- public int DesiredWidth\r
- {\r
- get\r
- {\r
- return _desiredWidth;\r
- }\r
- set\r
- {\r
- _desiredWidth = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_DESIRED_WIDTH, new Property.Value( _desiredWidth ) );\r
- }\r
- }\r
-\r
- public int DesiredHeight\r
- {\r
- get\r
- {\r
- return _desiredHeight;\r
- }\r
- set\r
- {\r
- _desiredHeight = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_DESIRED_HEIGHT, new Property.Value( _desiredHeight ) );\r
- }\r
- }\r
-\r
- public bool SynchronousLoading\r
- {\r
- get\r
- {\r
- return _synchronousLoading;\r
- }\r
- set\r
- {\r
- _synchronousLoading = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING, new Property.Value( _synchronousLoading ) );\r
- }\r
- }\r
-\r
- public bool BorderOnly\r
- {\r
- get\r
- {\r
- return _borderOnly;\r
- }\r
- set\r
- {\r
- _borderOnly = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_BORDER_ONLY, new Property.Value( _borderOnly ) );\r
- }\r
- }\r
-\r
- public Vector4 PixelArea\r
- {\r
- get\r
- {\r
- return _pixelArea;\r
- }\r
- set\r
- {\r
- _pixelArea = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_PIXEL_AREA, new Property.Value( _pixelArea ) );\r
- }\r
- }\r
-\r
- public string WrapModeU\r
- {\r
- get\r
- {\r
- return _wrapModeU;\r
- }\r
- set\r
- {\r
- _wrapModeU = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_WRAP_MODE_U, new Property.Value( _wrapModeU ) );\r
- }\r
- }\r
-\r
- public string WrapModeV\r
- {\r
- get\r
- {\r
- return _wrapModeV;\r
- }\r
- set\r
- {\r
- _wrapModeV = value;\r
- _imageProperty.Insert( NDalic.IMAGE_VISUAL_WRAP_MODE_V, new Property.Value( _wrapModeV ) );\r
- }\r
- }\r
-\r
- public Vector2 Size\r
- {\r
- get\r
- {\r
- return _imageVisualSize;\r
- }\r
- set\r
- {\r
- _imageVisualSize = value;\r
- }\r
- }\r
-\r
- public Vector2 Position\r
- {\r
- get\r
- {\r
- return _imageVisualPosition;\r
- }\r
- set\r
- {\r
- _imageVisualPosition = value;\r
- }\r
- }\r
-\r
- public Vector4 OffsetSizeMode\r
- {\r
- get\r
- {\r
- return _offsetSizeMode;\r
- }\r
- set\r
- {\r
- _offsetSizeMode = value;\r
- }\r
- }\r
-\r
- public Vector2 ParentSize\r
- {\r
- get\r
- {\r
- return _parentSize;\r
- }\r
- set\r
- {\r
- _parentSize = value;\r
- }\r
- }\r
-\r
- public AlignType Origin\r
- {\r
- get\r
- {\r
- return _origin;\r
- }\r
- set\r
- {\r
- _origin = value;\r
- }\r
- }\r
-\r
- public AlignType AnchorPoint\r
- {\r
- get\r
- {\r
- return _anchorPoint;\r
- }\r
- set\r
- {\r
- _anchorPoint = value;\r
- }\r
- }\r
-\r
- public void Instantiate()\r
- {\r
- //\r
- _imageVisual = VisualFactory.Get().CreateVisual( _imageProperty );\r
-\r
- Property.Map imageVisualTransform = new Property.Map();\r
- imageVisualTransform.Add( (int)VisualTransformPropertyType.SIZE, new Property.Value(_imageVisualSize) );\r
- imageVisualTransform.Add( (int)VisualTransformPropertyType.OFFSET, new Property.Value(_imageVisualPosition) );\r
- imageVisualTransform.Add( (int)VisualTransformPropertyType.OFFSET_SIZE_MODE, new Property.Value(_offsetSizeMode) );\r
- imageVisualTransform.Add( (int)VisualTransformPropertyType.ORIGIN, new Property.Value((int)_origin) );\r
- imageVisualTransform.Add( (int)VisualTransformPropertyType.ANCHOR_POINT, new Property.Value((int)_anchorPoint) );\r
- _imageVisual.SetTransformAndSize( imageVisualTransform, _parentSize );\r
- }\r
-}\r
-}
\ No newline at end of file
+++ /dev/null
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- */\r
-\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using Tizen.NUI;\r
-\r
-namespace Tizen.NUI\r
-{\r
- public class TextVisual : VisualCommon\r
- {\r
- private VisualBase _textVisual;\r
- private Property.Map _textProperty;\r
- private string _text;\r
- private string _fontFamily;\r
- //private Property.Map _fontStyle;\r
- private string _fontStyle;\r
- private float _pointSize;\r
- private bool _multiLine;\r
- private string _horizontalAlignment;\r
- private string _verticalAlignment;\r
- private Vector4 _textColor;\r
- private bool _enableMarkup;\r
-\r
- private Vector2 _imageVisualSize;\r
- private Vector2 _imageVisualPosition;\r
- private Vector4 _offsetSizeMode;\r
- private Vector2 _parentSize;\r
- private Tizen.NUI.AlignType _origin;\r
- private Tizen.NUI.AlignType _anchorPoint;\r
-\r
- public TextVisual() : base()\r
- {\r
- //Initial the default transform map.\r
- _offsetSizeMode = new Vector4(1.0f, 1.0f, 1.0f, 1.0f); //absolute\r
- _origin = AlignType.TOP_BEGIN;\r
- _anchorPoint = AlignType.TOP_BEGIN;\r
-\r
- //Initial the image property map.\r
- _textProperty = new Property.Map();\r
- _textProperty.Insert(NDalic.VISUAL_PROPERTY_TYPE, new Property.Value((int)VisualType.TEXT));\r
- }\r
-\r
- public TextVisual(string text)\r
- {\r
- //Initial the default transform map.\r
- _offsetSizeMode = new Vector4(1.0f, 1.0f, 1.0f, 1.0f); //absolute\r
- _origin = AlignType.TOP_BEGIN;\r
- _anchorPoint = AlignType.TOP_BEGIN;\r
-\r
- //Initial the image property map.\r
- _text = text;\r
- _textProperty = new Property.Map();\r
- _textProperty.Insert(NDalic.VISUAL_PROPERTY_TYPE, new Property.Value((int)VisualType.TEXT));\r
- _textProperty.Insert(NDalic.TEXT_VISUAL_TEXT, new Property.Value(_text));\r
- }\r
-\r
- public string Text\r
- {\r
- get\r
- {\r
- return _text;\r
- }\r
- set\r
- {\r
- _text = value;\r
- _textProperty.Insert(NDalic.TEXT_VISUAL_TEXT, new Property.Value(_text));\r
- }\r
- }\r
-\r
- public string FontFamily\r
- {\r
- get\r
- {\r
- return _fontFamily;\r
- }\r
- set\r
- {\r
- _fontFamily = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_FITTING_MODE, new Property.Value(_fontFamily));\r
- }\r
- }\r
-\r
- public string FontStyle\r
- {\r
- get\r
- {\r
- return _fontStyle;\r
- }\r
- set\r
- {\r
- _fontStyle = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_SAMPLING_MODE, new Property.Value(_fontStyle));\r
- }\r
- }\r
-\r
- public float PointSize\r
- {\r
- get\r
- {\r
- return _pointSize;\r
- }\r
- set\r
- {\r
- _pointSize = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_DESIRED_WIDTH, new Property.Value(_pointSize));\r
- }\r
- }\r
-\r
- public bool MultiLine\r
- {\r
- get\r
- {\r
- return _multiLine;\r
- }\r
- set\r
- {\r
- _multiLine = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_DESIRED_HEIGHT, new Property.Value(_multiLine));\r
- }\r
- }\r
-\r
- public string HorizontalAlignment\r
- {\r
- get\r
- {\r
- return _horizontalAlignment;\r
- }\r
- set\r
- {\r
- _horizontalAlignment = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING, new Property.Value(_horizontalAlignment));\r
- }\r
- }\r
-\r
- public string VerticalAlignment\r
- {\r
- get\r
- {\r
- return _verticalAlignment;\r
- }\r
- set\r
- {\r
- _verticalAlignment = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_BORDER_ONLY, new Property.Value(_verticalAlignment));\r
- }\r
- }\r
-\r
- public Vector4 TextColor\r
- {\r
- get\r
- {\r
- return _textColor;\r
- }\r
- set\r
- {\r
- _textColor = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_PIXEL_AREA, new Property.Value(_textColor));\r
- }\r
- }\r
-\r
- public bool EnableMarkup\r
- {\r
- get\r
- {\r
- return _enableMarkup;\r
- }\r
- set\r
- {\r
- _enableMarkup = value;\r
- _textProperty.Insert(NDalic.IMAGE_VISUAL_WRAP_MODE_U, new Property.Value(_enableMarkup));\r
- }\r
- }\r
-\r
-\r
-\r
- public void Instantiate()\r
- {\r
- //\r
- _textVisual = VisualFactory.Get().CreateVisual(_textProperty);\r
-\r
- Property.Map imageVisualTransform = new Property.Map();\r
- imageVisualTransform.Add((int)VisualTransformPropertyType.SIZE, new Property.Value(_imageVisualSize));\r
- imageVisualTransform.Add((int)VisualTransformPropertyType.OFFSET, new Property.Value(_imageVisualPosition));\r
- imageVisualTransform.Add((int)VisualTransformPropertyType.OFFSET_SIZE_MODE, new Property.Value(_offsetSizeMode));\r
- imageVisualTransform.Add((int)VisualTransformPropertyType.ORIGIN, new Property.Value((int)_origin));\r
- imageVisualTransform.Add((int)VisualTransformPropertyType.ANCHOR_POINT, new Property.Value((int)_anchorPoint));\r
- _textVisual.SetTransformAndSize(imageVisualTransform, _parentSize);\r
- }\r
- }\r
-}
\ No newline at end of file
+++ /dev/null
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- */\r
-\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using Tizen.NUI;\r
-\r
-namespace Tizen.NUI\r
-{\r
-public class VisualCommon : VisualBase\r
-{\r
- private Vector2 _visualSize;\r
- private Vector2 _visualPosition;\r
- private Vector4 _visualOffsetSizeMode;\r
- private Vector2 _visualParentSize;\r
- private AlignType _visualOrigin;\r
- private AlignType _visualAnchorPoint;\r
-\r
- public VisualCommon()\r
- {\r
- //\r
- }\r
-\r
- public Vector2 Size\r
- {\r
- get\r
- {\r
- return _visualSize;\r
- }\r
- set\r
- {\r
- _visualSize = value;\r
- }\r
- }\r
-\r
- public Vector2 Position\r
- {\r
- get\r
- {\r
- return _visualPosition;\r
- }\r
- set\r
- {\r
- _visualPosition = value;\r
- }\r
- }\r
-\r
- public Vector4 OffsetSizeMode\r
- {\r
- get\r
- {\r
- return _visualOffsetSizeMode;\r
- }\r
- set\r
- {\r
- _visualOffsetSizeMode = value;\r
- }\r
- }\r
-\r
- public Vector2 ParentSize\r
- {\r
- get\r
- {\r
- return _visualParentSize;\r
- }\r
- set\r
- {\r
- _visualParentSize = value;\r
- }\r
- }\r
-\r
- public AlignType Origin\r
- {\r
- get\r
- {\r
- return _visualOrigin;\r
- }\r
- set\r
- {\r
- _visualOrigin = value;\r
- }\r
- }\r
-\r
- public AlignType AnchorPoint\r
- {\r
- get\r
- {\r
- return _visualAnchorPoint;\r
- }\r
- set\r
- {\r
- _visualAnchorPoint = value;\r
- }\r
- }\r
-\r
-}\r
-\r
- public enum AlignType\r
- {\r
- TOP_BEGIN = 0,\r
- TOP_CENTER,\r
- TOP_END,\r
- CENTER_BEGIN,\r
- CENTER,\r
- CENTER_END,\r
- BOTTOM_BEGIN,\r
- BOTTOM_CENTER,\r
- BOTTOM_END\r
- }\r
-\r
-}
\ No newline at end of file
+++ /dev/null
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- *\r
- */\r
-\r
-using System;\r
-using System.Runtime.InteropServices;\r
-using System.Collections.Generic;\r
-using System.Linq;\r
-using Tizen.NUI;\r
-\r
-namespace Tizen.NUI\r
-{\r
-public class VisualView : CustomView\r
-{\r
- //private LinkedList<VisualBase> _visualList = null;\r
- private Dictionary<int, VisualBase> _visualDictionary = null;\r
-\r
- static CustomView CreateInstance()\r
- {\r
- return new VisualView();\r
- }\r
-\r
- // static constructor registers the control type (only runs once)\r
- static VisualView()\r
- {\r
- // ViewRegistry registers control type with DALi type registery\r
- // also uses introspection to find any properties that need to be registered with type registry\r
- ViewRegistry.Instance.Register(CreateInstance, typeof(VisualView) );\r
- }\r
-\r
- public VisualView() : base(typeof(VisualView).Name, ViewWrapperImpl.CustomViewBehaviour.REQUIRES_KEYBOARD_NAVIGATION_SUPPORT | ViewWrapperImpl.CustomViewBehaviour.DISABLE_STYLE_CHANGE_SIGNALS)\r
- {\r
- }\r
-\r
- public override void OnInitialize()\r
- {\r
- //Initialize empty\r
- _visualDictionary = new Dictionary<int, VisualBase>();\r
- }\r
-\r
- //\r
- public void AddVisual( VisualBase visual )\r
- {\r
- //_visualDictionary.Add( visual );\r
- string visualViewProperty = "visualViewProperty" + _visualDictionary.Count;\r
- Console.WriteLine ("--------------visualViewProperty name: " + visualViewProperty );\r
-\r
- int visualViewPropertyIndex = RegisterProperty( visualViewProperty, new Tizen.NUI.Property.Value(visualViewProperty), Tizen.NUI.Property.AccessMode.READ_WRITE);\r
- _visualDictionary.Add( visualViewPropertyIndex, visual );\r
-\r
- RegisterVisual( visualViewPropertyIndex, visual );\r
- }\r
-\r
- public void RemoveVisual( VisualBase visual )\r
- {\r
- int foundIndex = -1;\r
-\r
- foreach (var item in _visualDictionary)\r
- {\r
- if (item.Value == visual) \r
- {\r
- foundIndex = item.Key;\r
- EnableVisual(foundIndex, false);\r
- UnregisterVisual(foundIndex);\r
- _visualDictionary.Remove(foundIndex);\r
- }\r
- }\r
- }\r
-\r
- public int NumOfVisual()\r
- {\r
- return _visualDictionary.Count;\r
- }\r
-\r
- public void DisposeAllVisual()\r
- {\r
- //\r
- }\r
-}\r
-}
\ No newline at end of file
+++ /dev/null
-L:\work\git\csharp\2\dali\nui\Tizen.NUI\bin\Debug\Tizen.NUI.dll\r
-L:\work\git\csharp\2\dali\nui\Tizen.NUI\bin\Debug\Tizen.NUI.pdb\r
-L:\work\git\csharp\2\dali\nui\Tizen.NUI\obj\Debug\Tizen.NUI.dll\r
-L:\work\git\csharp\2\dali\nui\Tizen.NUI\obj\Debug\Tizen.NUI.pdb\r