diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 30f937f..0000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -cmake_minimum_required(VERSION 2.8) - -project(FDTD) - -include_directories(include gtest) - - -# BUILD -add_subdirectory(include) -add_subdirectory(samples) -add_subdirectory(test) -add_subdirectory(gtest) diff --git a/PlotScript/.idea/.name b/PlotScript/.idea/.name index 11a5d8e..80a36c1 100644 --- a/PlotScript/.idea/.name +++ b/PlotScript/.idea/.name @@ -1 +1 @@ -main.py \ No newline at end of file +convergence.py \ No newline at end of file diff --git a/PlotScript/OutFile.csv b/PlotScript/OutFile.csv index 5d5a28f..11ad4c8 100644 --- a/PlotScript/OutFile.csv +++ b/PlotScript/OutFile.csv @@ -1,204 +1,396 @@ -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 -0.0095036;-0.185761;-0.373886;-0.547643;-0.700355;-0.826152;-0.920201;-0.978887;-0.999955;-0.982595;-0.927475;-0.836712;-0.713795;-0.563447;-0.391446;-0.204403;-0.0095036;0.185761;0.373886;0.547643;0.700355;0.826152;0.920201;0.978887;0.999955;0.982595;0.927475;0.836712;0.713795;0.563447;0.391446;0.204403 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 +0.00942556;-0.0886326;-0.185837;-0.281252;-0.373958;-0.463063;-0.547708;-0.627079;-0.70041;-0.766997;-0.826196;-0.877439;-0.920231;-0.954162;-0.978903;-0.994217;-0.999956;-0.996064;-0.982581;-0.959634;-0.927445;-0.886325;-0.836669;-0.778956;-0.71374;-0.641651;-0.563383;-0.479688;-0.391375;-0.299291;-0.204326;-0.107393;-0.00942556;0.0886326;0.185837;0.281252;0.373958;0.463063;0.547708;0.627079;0.70041;0.766997;0.826196;0.877439;0.920231;0.954162;0.978903;0.994217;0.999956;0.996064;0.982581;0.959634;0.927445;0.886325;0.836669;0.778956;0.71374;0.641651;0.563383;0.479688;0.391375;0.299291;0.204326;0.107393 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 +0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 -0.0885549;0.281177;0.462994;0.627018;0.766947;0.877401;0.954138;0.994208;0.996071;0.959656;0.886361;0.779005;0.641711;0.479757;0.299366;0.107471;-0.0885549;-0.281177;-0.462994;-0.627018;-0.766947;-0.877401;-0.954138;-0.994208;-0.996071;-0.959656;-0.886361;-0.779005;-0.641711;-0.479757;-0.299366;-0.107471 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 +0.0396513;0.1374;0.233826;0.328;0.419015;0.505995;0.588102;0.664545;0.734588;0.797557;0.852845;0.899919;0.938327;0.967698;0.98775;0.998289;0.999214;0.990516;0.972278;0.944678;0.907979;0.862536;0.808787;0.747248;0.678513;0.603244;0.522164;0.436057;0.345749;0.252112;0.156048;0.0584797;-0.0396513;-0.1374;-0.233826;-0.328;-0.419015;-0.505995;-0.588102;-0.664545;-0.734588;-0.797557;-0.852845;-0.899919;-0.938327;-0.967698;-0.98775;-0.998289;-0.999214;-0.990516;-0.972278;-0.944678;-0.907979;-0.862536;-0.808787;-0.747248;-0.678513;-0.603244;-0.522164;-0.436057;-0.345749;-0.252112;-0.156048;-0.0584797 diff --git a/PlotScript/Plots/plt_Bx.png b/PlotScript/Plots/plt_Bx.png index 376938c..f276a20 100644 Binary files a/PlotScript/Plots/plt_Bx.png and b/PlotScript/Plots/plt_Bx.png differ diff --git a/PlotScript/Plots/plt_By.png b/PlotScript/Plots/plt_By.png index 5f0f0be..c28992a 100644 Binary files a/PlotScript/Plots/plt_By.png and b/PlotScript/Plots/plt_By.png differ diff --git a/PlotScript/Plots/plt_Bz.png b/PlotScript/Plots/plt_Bz.png index d42659b..f0317ea 100644 Binary files a/PlotScript/Plots/plt_Bz.png and b/PlotScript/Plots/plt_Bz.png differ diff --git a/PlotScript/Plots/plt_Ex.png b/PlotScript/Plots/plt_Ex.png index d141e68..a61efa7 100644 Binary files a/PlotScript/Plots/plt_Ex.png and b/PlotScript/Plots/plt_Ex.png differ diff --git a/PlotScript/Plots/plt_Ey.png b/PlotScript/Plots/plt_Ey.png index 2b11e87..190541b 100644 Binary files a/PlotScript/Plots/plt_Ey.png and b/PlotScript/Plots/plt_Ey.png differ diff --git a/PlotScript/Plots/plt_Ez.png b/PlotScript/Plots/plt_Ez.png index 92d2401..820bbbf 100644 Binary files a/PlotScript/Plots/plt_Ez.png and b/PlotScript/Plots/plt_Ez.png differ diff --git a/PlotScript/Source.txt b/PlotScript/Source.txt index 2902568..a8f4d75 100644 --- a/PlotScript/Source.txt +++ b/PlotScript/Source.txt @@ -1,8 +1,8 @@ -32 -32 -0 -1 -0 -1 -5e-16 +64 +64 +0.0 +1.0 +0.0 +1.0 +2.5e-17 5e-14 diff --git a/PlotScript/convergence.py b/PlotScript/convergence.py new file mode 100644 index 0000000..302bde8 --- /dev/null +++ b/PlotScript/convergence.py @@ -0,0 +1,75 @@ +import matplotlib.pyplot as plt +import csv +import subprocess + +components = {1: "Ex", 2: "Ey", 3: "Ez", 4: "Bx", 5: "By", 6: "Bz"} +nums_com = {"Ex": 0, "Ey": 1, "Ez": 2, "Bx": 3, "By": 4, "Bz": 5} +shift_flag = "0" + + +def execute_cpp(field_1, field_2, field_to_plot): + num_field_1 = nums_com[field_1] + num_field_2 = nums_com[field_2] + num_field_to_plot = nums_com[field_to_plot] + + print("\n" + field_to_plot + ":\n") + + cpp_executable = "src/Release/sample.exe" + args = [cpp_executable, str(num_field_1), str(num_field_2), str(num_field_to_plot), shift_flag] + try: + completed_process = subprocess.run(args, check=True, stdout=subprocess.PIPE) + output = completed_process.stdout.decode("utf-8").strip() + print(output) + return output + except subprocess.CalledProcessError: + print("Error when starting a C++ project") + except FileNotFoundError: + print("sample.exe not found") + + +if __name__ == '__main__': + input_list = ["Ni", "Nj", "ax", "bx", "ay", "by", "dt", "t"] + + print("Update parameters? \n \ + 1 - Yes \n \ + 2 - No") + select_update = int(input("Number: ")) * (-1) + 2 + if not (select_update == 0 or select_update == 1): + print("Invalid input") + exit(1) + + if (select_update): + with open("Source.txt", "w") as file: + for component in input_list: + file.write(input(component + ": ") + "\n") + else: + with open("Source.txt", "r+") as file: + lines = file.readlines() + lines[-1] = input("t : ") + "\n" + file.seek(0) + file.writelines(lines) + file.truncate() + + with open('Source.txt', 'r') as file: + numbers = [float(line.strip()) for line in file] + + convergences = [] + for n in range(0, 10): + with open("Source.txt", "w") as file: + tmp_n_0 = numbers[0] * (1.5 ** n) + file.write(str(tmp_n_0) + "\n") + + tmp_n_1 = numbers[1] * (1.5 ** n) + file.write(str(tmp_n_1) + "\n") + + file.write(str(numbers[2]) + "\n") + file.write(str(numbers[3]) + "\n") + file.write(str(numbers[4]) + "\n") + file.write(str(numbers[5]) + "\n") + + tmp_n_6 = numbers[6] / (1.5 ** n) + file.write(str(tmp_n_6) + "\n") + + file.write(str(numbers[7]) + "\n") + + convergences.append(execute_cpp("Ex", "Bz", "Ex")) \ No newline at end of file diff --git a/PlotScript/src/Release/sample.exe b/PlotScript/src/Release/sample.exe index c4e6c69..5759498 100644 Binary files a/PlotScript/src/Release/sample.exe and b/PlotScript/src/Release/sample.exe differ diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt deleted file mode 100644 index eaa900d..0000000 --- a/include/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -set(target "FDTD") - -add_library(${target} STATIC FDTD.h ../src/FDTD.cpp) diff --git a/include/FDTD.h b/include/FDTD.h index 57d233b..df438e7 100644 --- a/include/FDTD.h +++ b/include/FDTD.h @@ -55,4 +55,7 @@ class FDTD void update_field(const double&); void shifted_update_field(const double&); + + int get_Ni() { return Ni; } + int get_Nj() { return Nj; } }; diff --git a/include/test_FDTD.h b/include/test_FDTD.h new file mode 100644 index 0000000..afb7a71 --- /dev/null +++ b/include/test_FDTD.h @@ -0,0 +1,159 @@ +#pragma once +#define _USE_MATH_DEFINES + +#include +#include +#include +#include + +#include "FDTD.h" + +//sin(2.0 * M_PI * (x - size_wave[0]) / (size_wave[1] - size_wave[0])) +//sin(2.0 * M_PI * (x - size_wave[0] - FDTD_Const::C * _t) / (size_wave[1] - size_wave[0]))) + +enum class Axis {X, Y}; + +class Test_FDTD +{ +private: + double sign = 0.0; + Axis axis; + bool shifted; + double max_abs_error = 0.0; + + void initial_filling(FDTD& _test, Component field_1, Component field_2, double size_d, double size_wave[2], + std::function& _init_function) + { + if (axis == Axis::X) + { + double x = 0.0; + double x_b = 0.0; + for (int i = 0; i < _test.get_Ni(); x += size_d, ++i) + { + for (int j = 0; j < _test.get_Nj(); ++j) + { + _test.get_field(field_1)(i, j) = sign * _init_function(x, size_wave); + if (shifted) + { + x_b = x + size_d / 2.0; + } + else x_b = x; + _test.get_field(field_2)(i, j) = _init_function(x_b, size_wave); + } + } + } + else + { + double y = 0.0; + double y_b = 0.0; + for (int j = 0; j < _test.get_Nj(); y += size_d, ++j) + { + for (int i = 0; i < _test.get_Ni(); ++i) + { + _test.get_field(field_1)(i, j) = sign * _init_function(y, size_wave); + if (shifted) + { + y_b = y + size_d / 2.0; + } + else y_b = y; + _test.get_field(field_2)(i, j) = _init_function(y_b, size_wave); + } + } + } + } + + void start(FDTD& _test, double _t) + { + if (shifted) + { + _test.shifted_update_field(_t); + } + else _test.update_field(_t); + } + double get_shift(Component _field, double step) + { + if (static_cast(_field) > static_cast(Component::EZ)) + { + sign = 1.0; + return step / 2; + } + } + + void get_max_abs_error(Field& this_field, Component field, double _size_d[2], double size_wave[2], + std::function& _true_function, double _t) + { + double shift = 0.0; + if (axis == Axis::X) + { + shift = get_shift(field, _size_d[0]); + double extr_n = 0.0; + double x = (shifted) ? shift : 0.0; + int j = 0; + for (int i = 0; i < this_field.get_Ni(); ++i, x += _size_d[0]) + { + double this_n = fabs(sign * this_field(i, j) - _true_function(x, _t, size_wave)); + if (this_n > extr_n) + extr_n = this_n; + } + max_abs_error = extr_n; + } + else + { + shift = get_shift(field, _size_d[1]); + double extr_n = 0.0; + double y = (shifted) ? shift : 0.0; + int i = 0; + for (int j = 0; j < this_field.get_Nj(); ++j, y += _size_d[1]) + { + double this_n = fabs(sign * this_field(i, j) - _true_function(y, _t, size_wave)); + if (this_n > extr_n) + extr_n = this_n; + } + max_abs_error = extr_n; + } + } + +public: + Test_FDTD(FDTD& test, Component field_1, Component field_2, Component field_3, + double size_x[2], double size_y[2], double size_d[2], double t, + std::function& init_function, + std::function& true_function, bool _shifted) : shifted(_shifted) + { + if (field_1 == Component::EY && field_2 == Component::BZ || field_1 == Component::EZ && field_2 == Component::BX) + { + sign = 1.0; + } + else if (field_1 == Component::EX && field_2 == Component::BZ || field_1 == Component::EZ && field_2 == Component::BY) + { + sign = -1.0; + } + + if (field_1 == Component::EY && field_2 == Component::BZ || field_1 == Component::EZ && field_2 == Component::BY) + { + axis = Axis::X; + initial_filling(test, field_1, field_2, size_d[0], size_x, init_function); + + start(test, t); + + get_max_abs_error(test.get_field(field_3), field_3, size_d, size_x, true_function, t); + } + else if (field_1 == Component::EX && field_2 == Component::BZ || field_1 == Component::EZ && field_2 == Component::BX) + { + axis = Axis::Y; + initial_filling(test, field_1, field_2, size_d[1], size_y, init_function); + + start(test, t); + + get_max_abs_error(test.get_field(field_3), field_3, size_d, size_y, true_function, t); + } + else + { + throw std::exception("ERROR: invalid selected fields"); + } + } + + double get_max_abs_error() + { + return max_abs_error; + } +}; diff --git a/samples/CMakeLists.txt b/samples/CMakeLists.txt deleted file mode 100644 index acb5d5c..0000000 --- a/samples/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -file(GLOB hdrs "*.h*" "../include/*.h") -file(GLOB srcs "*.cpp" "../src/*.cpp") - -add_executable(sample ${srcs} ${hdrs}) -set_target_properties(sample PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/PlotScript/src") - diff --git a/samples/sample.cpp b/samples/sample.cpp index 43fd8fa..17c45a3 100644 --- a/samples/sample.cpp +++ b/samples/sample.cpp @@ -5,60 +5,7 @@ #include #include -#include "FDTD.h" - -double sign; -double shift = 0.0; - -double get_vector_sign(Component vect_1, Component vect_2) -{ - if (vect_1 == Component::EY && vect_2 == Component::BZ || vect_1 == Component::EZ && vect_2 == Component::BX) - { - return 1.0; - } - else if (vect_1 == Component::EX && vect_2 == Component::BZ || vect_1 == Component::EZ && vect_2 == Component::BY) - { - return -1.0; - } - else return 0.0; -} - -void initial_filling_x(FDTD& test, Component field_1, Component field_2, int size_N[2], double size_d, double size_wave[2], bool shifted = true) -{ - double x = 0.0; - double x_b = 0.0; - for (int i = 0; i < size_N[0]; x += size_d, ++i) - { - for (int j = 0; j < size_N[1]; ++j) - { - test.get_field(field_1)(i, j) = sign * sin(2.0 * M_PI * (x - size_wave[0]) / (size_wave[1] - size_wave[0])); - if (shifted) - { - x_b = x + size_d / 2.0; - } - else x_b = x; - test.get_field(field_2)(i, j) = sin(2.0 * M_PI * (x_b - size_wave[0]) / (size_wave[1] - size_wave[0])); - } - } -} -void initial_filling_y(FDTD& test, Component field_1, Component field_2, int size_N[2], double size_d, double size_wave[2], bool shifted = true) -{ - double y = 0.0; - double y_b = 0.0; - for (int j = 0; j < size_N[1]; y += size_d, ++j) - { - for (int i = 0; i < size_N[0]; ++i) - { - test.get_field(field_1)(i, j) = sign * sin(2.0 * M_PI * (y - size_wave[0]) / (size_wave[1] - size_wave[0])); - if (shifted) - { - y_b = y + size_d / 2.0; - } - else y_b = y; - test.get_field(field_2)(i, j) = sin(2.0 * M_PI * (y_b - size_wave[0]) / (size_wave[1] - size_wave[0])); - } - } -} +#include "test_FDTD.h" void write_x(Field& this_field, std::ofstream& fout) { @@ -99,33 +46,6 @@ void write_y(Field& this_field, std::ofstream& fout) fout << std::endl << std::endl; } -double max_abs_error_x(Field& this_field, int size_N[2], double size_x[2], double size_d[2], double t, bool shifted = true) -{ - double extr_n = 0.0; - double x = (shifted) ? shift : 0.0; - int j = 0; - for (int i = 0; i < this_field.get_Ni(); ++i, x += size_d[0]) - { - double this_n = fabs(sign * this_field(i, j) - sin(2.0 * M_PI * (x - size_x[0] - FDTD_Const::C * t) / (size_x[1] - size_x[0]))); - if (this_n > extr_n) - extr_n = this_n; - } - return extr_n; -} -double max_abs_error_y(Field& this_field, int size_N[2], double size_y[2], double size_d[2], double t, bool shifted = true) -{ - double extr_n = 0.0; - double y = (shifted) ? shift : 0.0; - int i = 0; - for (int j = 0; j < this_field.get_Nj(); ++j, y += size_d[1]) - { - double this_n = fabs(sign * this_field(i, j) - sin(2.0 * M_PI * (y - size_y[0] - FDTD_Const::C * t) / (size_y[1] - size_y[0]))); - if (this_n > extr_n) - extr_n = this_n; - } - return extr_n; -} - void write_all(FDTD& test, char axis) { std::ofstream test_fout; @@ -133,7 +53,7 @@ void write_all(FDTD& test, char axis) #ifndef __DEBUG__ test_fout.open("OutFile.csv"); #else - test_fout.open("../../../PlotScript/OutFile.csv"); + test_fout.open("../../PlotScript/OutFile.csv"); #endif if (!test_fout.is_open()) @@ -152,6 +72,15 @@ void write_all(FDTD& test, char axis) test_fout.close(); } +double func_1(double x, double size[2]) +{ + return sin(2.0 * M_PI * (x - size[0]) / (size[1] - size[0])); +} +double func_2(double x, double t, double size[2]) +{ + return sin(2.0 * M_PI * (x - size[0] - FDTD_Const::C * t) / (size[1] - size[0])); +} + #ifndef __DEBUG__ int main(int argc, char* argv[]) #else @@ -164,7 +93,7 @@ int main() #ifndef __DEBUG__ source_fin.open("Source.txt"); #else - source_fin.open("../../../PlotScript/Source.txt"); + source_fin.open("../../PlotScript/Source.txt"); #endif if (!source_fin.is_open()) @@ -174,7 +103,7 @@ int main() } #ifdef __DEBUG__ - const char* argv[5] = {"0", "0", "5", "0", "0"}; + const char* argv[5] = {"0", "0", "5", "0", "1"}; #endif double number; @@ -194,47 +123,20 @@ int main() Component fld_2 = static_cast(std::atoi(argv[2])); Component fld_3 = static_cast(std::atoi(argv[3])); - bool shifted_version = std::atoi(argv[4]); - sign = get_vector_sign(fld_1, fld_2); + std::function initial_func = func_1; + std::function true_func = func_2; + + Test_FDTD test(test_1, fld_1, fld_2, fld_3, arr_x, arr_y, arr_d, numbers[7], initial_func, true_func, static_cast(std::atoi(argv[4]))); + std::cout << test.get_max_abs_error() << std::endl; char selected_axis; if (fld_1 == Component::EY && fld_2 == Component::BZ || fld_1 == Component::EZ && fld_2 == Component::BY) { selected_axis = 'x'; - - initial_filling_x(test_1, fld_1, fld_2, arr_N, arr_d[0], arr_x, shifted_version); - - if (shifted_version) - { - test_1.shifted_update_field(numbers[7]); - } - else test_1.update_field(numbers[7]); - - if (static_cast(fld_3) > static_cast(Component::EZ)) - { - sign = 1.0; - shift = arr_d[0] / 2; - } - std::cout << "Maximum absolute error: " << max_abs_error_x(test_1.get_field(fld_3), arr_N, arr_x, arr_d, numbers[7], shifted_version) << std::endl; } else if (fld_1 == Component::EX && fld_2 == Component::BZ || fld_1 == Component::EZ && fld_2 == Component::BX) { selected_axis = 'y'; - - initial_filling_y(test_1, fld_1, fld_2, arr_N, arr_d[1], arr_y, shifted_version); - - if (shifted_version) - { - test_1.shifted_update_field(numbers[7]); - } - else test_1.update_field(numbers[7]); - - if (static_cast(fld_3) > static_cast(Component::EZ)) - { - sign = 1.0; - shift = arr_d[1] / 2; - } - std::cout << "Maximum absolute error: " << max_abs_error_y(test_1.get_field(fld_3), arr_N, arr_y, arr_d, numbers[7], shifted_version) << std::endl; } else { @@ -245,7 +147,5 @@ int main() source_fin.close(); - std::cout << "The work of sample.exe is completed without errors" << std::endl; - return 0; } diff --git a/sln/CMakeLists.txt b/sln/CMakeLists.txt new file mode 100644 index 0000000..c6e4e0e --- /dev/null +++ b/sln/CMakeLists.txt @@ -0,0 +1,12 @@ +cmake_minimum_required(VERSION 2.8) + +project(FDTD) + +include_directories(../include ../gtest) + + +# BUILD +add_subdirectory(FDTD) +add_subdirectory(FDTD_test) +add_subdirectory(gtest) +add_subdirectory(sample) diff --git a/sln/FDTD.sln b/sln/FDTD.sln index 9fa29ef..e33a278 100644 --- a/sln/FDTD.sln +++ b/sln/FDTD.sln @@ -1,38 +1,38 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{664E384D-63E0-353D-BF2B-19838FAC397D}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ALL_BUILD", "ALL_BUILD.vcxproj", "{63A3B5CB-37A5-3930-906F-7082A84CDFA2}" ProjectSection(ProjectDependencies) = postProject - {86FA29AF-817B-35E8-82DE-9BC06E392116} = {86FA29AF-817B-35E8-82DE-9BC06E392116} - {61F955EF-5095-319C-A0C2-182C0A523B17} = {61F955EF-5095-319C-A0C2-182C0A523B17} - {072FF979-995E-37F7-B395-4EC7A23DC109} = {072FF979-995E-37F7-B395-4EC7A23DC109} - {31338150-6251-3323-B29D-7B2E23D21252} = {31338150-6251-3323-B29D-7B2E23D21252} - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55} = {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55} + {F6059A17-BF71-3D87-A23E-356CE15DAFF4} = {F6059A17-BF71-3D87-A23E-356CE15DAFF4} + {C9AC3713-F9FA-39AD-B555-B16CB1906909} = {C9AC3713-F9FA-39AD-B555-B16CB1906909} + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} = {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} + {C2921F86-4805-38E7-800F-CC004A5C6DEC} = {C2921F86-4805-38E7-800F-CC004A5C6DEC} + {E4DB9955-3859-3474-9413-0416BB77B964} = {E4DB9955-3859-3474-9413-0416BB77B964} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FDTD", "include\FDTD.vcxproj", "{86FA29AF-817B-35E8-82DE-9BC06E392116}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FDTD", "FDTD\FDTD.vcxproj", "{F6059A17-BF71-3D87-A23E-356CE15DAFF4}" ProjectSection(ProjectDependencies) = postProject - {072FF979-995E-37F7-B395-4EC7A23DC109} = {072FF979-995E-37F7-B395-4EC7A23DC109} + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} = {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FDTD_test", "test\FDTD_test.vcxproj", "{61F955EF-5095-319C-A0C2-182C0A523B17}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FDTD_test", "FDTD_test\FDTD_test.vcxproj", "{C9AC3713-F9FA-39AD-B555-B16CB1906909}" ProjectSection(ProjectDependencies) = postProject - {072FF979-995E-37F7-B395-4EC7A23DC109} = {072FF979-995E-37F7-B395-4EC7A23DC109} - {31338150-6251-3323-B29D-7B2E23D21252} = {31338150-6251-3323-B29D-7B2E23D21252} + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} = {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} + {C2921F86-4805-38E7-800F-CC004A5C6DEC} = {C2921F86-4805-38E7-800F-CC004A5C6DEC} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{072FF979-995E-37F7-B395-4EC7A23DC109}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ZERO_CHECK", "ZERO_CHECK.vcxproj", "{0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}" ProjectSection(ProjectDependencies) = postProject EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "gtest\gtest.vcxproj", "{31338150-6251-3323-B29D-7B2E23D21252}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "gtest\gtest.vcxproj", "{C2921F86-4805-38E7-800F-CC004A5C6DEC}" ProjectSection(ProjectDependencies) = postProject - {072FF979-995E-37F7-B395-4EC7A23DC109} = {072FF979-995E-37F7-B395-4EC7A23DC109} + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} = {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample", "samples\sample.vcxproj", "{CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "sample", "sample\sample.vcxproj", "{E4DB9955-3859-3474-9413-0416BB77B964}" ProjectSection(ProjectDependencies) = postProject - {072FF979-995E-37F7-B395-4EC7A23DC109} = {072FF979-995E-37F7-B395-4EC7A23DC109} + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} = {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} EndProjectSection EndProject Global @@ -43,53 +43,53 @@ Global RelWithDebInfo|x64 = RelWithDebInfo|x64 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {664E384D-63E0-353D-BF2B-19838FAC397D}.Debug|x64.ActiveCfg = Debug|x64 - {664E384D-63E0-353D-BF2B-19838FAC397D}.Release|x64.ActiveCfg = Release|x64 - {664E384D-63E0-353D-BF2B-19838FAC397D}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {664E384D-63E0-353D-BF2B-19838FAC397D}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.Debug|x64.ActiveCfg = Debug|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.Debug|x64.Build.0 = Debug|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.Release|x64.ActiveCfg = Release|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.Release|x64.Build.0 = Release|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {86FA29AF-817B-35E8-82DE-9BC06E392116}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.Debug|x64.ActiveCfg = Debug|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.Debug|x64.Build.0 = Debug|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.Release|x64.ActiveCfg = Release|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.Release|x64.Build.0 = Release|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {61F955EF-5095-319C-A0C2-182C0A523B17}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.Debug|x64.ActiveCfg = Debug|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.Debug|x64.Build.0 = Debug|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.Release|x64.ActiveCfg = Release|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.Release|x64.Build.0 = Release|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {072FF979-995E-37F7-B395-4EC7A23DC109}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.Debug|x64.ActiveCfg = Debug|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.Debug|x64.Build.0 = Debug|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.Release|x64.ActiveCfg = Release|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.Release|x64.Build.0 = Release|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {31338150-6251-3323-B29D-7B2E23D21252}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.Debug|x64.ActiveCfg = Debug|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.Debug|x64.Build.0 = Debug|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.Release|x64.ActiveCfg = Release|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.Release|x64.Build.0 = Release|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 - {CB11E1AD-CECC-36B2-BDAB-6BB4BA476F55}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {63A3B5CB-37A5-3930-906F-7082A84CDFA2}.Debug|x64.ActiveCfg = Debug|x64 + {63A3B5CB-37A5-3930-906F-7082A84CDFA2}.Release|x64.ActiveCfg = Release|x64 + {63A3B5CB-37A5-3930-906F-7082A84CDFA2}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {63A3B5CB-37A5-3930-906F-7082A84CDFA2}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.Debug|x64.ActiveCfg = Debug|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.Debug|x64.Build.0 = Debug|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.Release|x64.ActiveCfg = Release|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.Release|x64.Build.0 = Release|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {F6059A17-BF71-3D87-A23E-356CE15DAFF4}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.Debug|x64.ActiveCfg = Debug|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.Debug|x64.Build.0 = Debug|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.Release|x64.ActiveCfg = Release|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.Release|x64.Build.0 = Release|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {C9AC3713-F9FA-39AD-B555-B16CB1906909}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.Debug|x64.ActiveCfg = Debug|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.Debug|x64.Build.0 = Debug|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.Release|x64.ActiveCfg = Release|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.Release|x64.Build.0 = Release|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.Debug|x64.ActiveCfg = Debug|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.Debug|x64.Build.0 = Debug|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.Release|x64.ActiveCfg = Release|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.Release|x64.Build.0 = Release|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {C2921F86-4805-38E7-800F-CC004A5C6DEC}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.Debug|x64.ActiveCfg = Debug|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.Debug|x64.Build.0 = Debug|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.Release|x64.ActiveCfg = Release|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.Release|x64.Build.0 = Release|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.MinSizeRel|x64.ActiveCfg = MinSizeRel|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.MinSizeRel|x64.Build.0 = MinSizeRel|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.RelWithDebInfo|x64.ActiveCfg = RelWithDebInfo|x64 + {E4DB9955-3859-3474-9413-0416BB77B964}.RelWithDebInfo|x64.Build.0 = RelWithDebInfo|x64 EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {EE9F09C0-CE78-389F-AEB3-C339928A990F} + SolutionGuid = {E86DB9DF-FADF-3BA4-863C-DE89542DBF24} EndGlobalSection GlobalSection(ExtensibilityAddIns) = postSolution EndGlobalSection diff --git a/sln/FDTD/CMakeFiles/generate.stamp b/sln/FDTD/CMakeFiles/generate.stamp new file mode 100644 index 0000000..9b5f49f --- /dev/null +++ b/sln/FDTD/CMakeFiles/generate.stamp @@ -0,0 +1 @@ +# CMake generation timestamp file for this directory. diff --git a/sln/FDTD/CMakeFiles/generate.stamp.depend b/sln/FDTD/CMakeFiles/generate.stamp.depend new file mode 100644 index 0000000..84237da --- /dev/null +++ b/sln/FDTD/CMakeFiles/generate.stamp.depend @@ -0,0 +1,2 @@ +# CMake generation dependency list for this directory. +A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeLists.txt diff --git a/sln/FDTD/CMakeLists.txt b/sln/FDTD/CMakeLists.txt new file mode 100644 index 0000000..18d6c9f --- /dev/null +++ b/sln/FDTD/CMakeLists.txt @@ -0,0 +1,3 @@ +set(target "FDTD") + +add_library(${target} STATIC ../../include/FDTD.h ../../src/FDTD.cpp) diff --git a/sln/FDTD/FDTD.vcxproj b/sln/FDTD/FDTD.vcxproj new file mode 100644 index 0000000..6c76308 --- /dev/null +++ b/sln/FDTD/FDTD.vcxproj @@ -0,0 +1,282 @@ + + + + x64 + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {F6059A17-BF71-3D87-A23E-356CE15DAFF4} + Win32Proj + 10.0.19041.0 + x64 + FDTD + NoUpgrade + + + + StaticLibrary + MultiByte + v142 + + + StaticLibrary + MultiByte + v142 + + + StaticLibrary + MultiByte + v142 + + + StaticLibrary + MultiByte + v142 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + A:\FDTD_Method\FDTD_Method\sln\FDTD\Debug\ + FDTD.dir\Debug\ + FDTD + .lib + A:\FDTD_Method\FDTD_Method\sln\FDTD\Release\ + FDTD.dir\Release\ + FDTD + .lib + A:\FDTD_Method\FDTD_Method\sln\FDTD\MinSizeRel\ + FDTD.dir\MinSizeRel\ + FDTD + .lib + A:\FDTD_Method\FDTD_Method\sln\FDTD\RelWithDebInfo\ + FDTD.dir\RelWithDebInfo\ + FDTD + .lib + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + EnableFastChecks + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;CMAKE_INTDIR="Debug" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + OnlyExplicitInline + MinSpace + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + ProgramDatabase + Sync + OnlyExplicitInline + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + Always + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD\CMakeFiles\generate.stamp + false + + + + + + + + + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/sln/FDTD/FDTD.vcxproj.filters b/sln/FDTD/FDTD.vcxproj.filters new file mode 100644 index 0000000..4f0f51c --- /dev/null +++ b/sln/FDTD/FDTD.vcxproj.filters @@ -0,0 +1,24 @@ + + + + + Source Files + + + + + Header Files + + + + + + + + {A13D8BB6-E069-349F-A35B-99BB3A0D89BD} + + + {FB28F087-299B-3245-B6A4-505C29AFE4BF} + + + diff --git a/sln/FDTD/cmake_install.cmake b/sln/FDTD/cmake_install.cmake new file mode 100644 index 0000000..578e97e --- /dev/null +++ b/sln/FDTD/cmake_install.cmake @@ -0,0 +1,34 @@ +# Install script for directory: A:/FDTD_Method/FDTD_Method/sln/FDTD + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/FDTD") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/sln/FDTD_test/CMakeFiles/generate.stamp b/sln/FDTD_test/CMakeFiles/generate.stamp new file mode 100644 index 0000000..9b5f49f --- /dev/null +++ b/sln/FDTD_test/CMakeFiles/generate.stamp @@ -0,0 +1 @@ +# CMake generation timestamp file for this directory. diff --git a/sln/FDTD_test/CMakeFiles/generate.stamp.depend b/sln/FDTD_test/CMakeFiles/generate.stamp.depend new file mode 100644 index 0000000..f3e8d70 --- /dev/null +++ b/sln/FDTD_test/CMakeFiles/generate.stamp.depend @@ -0,0 +1,2 @@ +# CMake generation dependency list for this directory. +A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeLists.txt diff --git a/test/CMakeLists.txt b/sln/FDTD_test/CMakeLists.txt similarity index 56% rename from test/CMakeLists.txt rename to sln/FDTD_test/CMakeLists.txt index dc4b493..271ac7a 100644 --- a/test/CMakeLists.txt +++ b/sln/FDTD_test/CMakeLists.txt @@ -1,8 +1,8 @@ set(target FDTD_test) -file(GLOB hdrs "*.h*" "../include/*.h" "../gtest/*.h") +file(GLOB hdrs "*.h*" "../../include/*.h" "../../gtest/*.h") #file(GLOB hdrs "*.h*") -file(GLOB srcs "*.cpp" "../src/*.cpp") +file(GLOB srcs "*.cpp" "../../src/*.cpp" "../../test/*.cpp") add_executable(${target} ${srcs} ${hdrs}) target_link_libraries(${target} gtest) diff --git a/sln/FDTD_test/FDTD_test.vcxproj b/sln/FDTD_test/FDTD_test.vcxproj new file mode 100644 index 0000000..f8b42e6 --- /dev/null +++ b/sln/FDTD_test/FDTD_test.vcxproj @@ -0,0 +1,338 @@ + + + + x64 + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {C9AC3713-F9FA-39AD-B555-B16CB1906909} + Win32Proj + 10.0.19041.0 + x64 + FDTD_test + NoUpgrade + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\Debug\ + FDTD_test.dir\Debug\ + FDTD_test + .exe + true + true + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\Release\ + FDTD_test.dir\Release\ + FDTD_test + .exe + false + true + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\MinSizeRel\ + FDTD_test.dir\MinSizeRel\ + FDTD_test + .exe + false + true + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\RelWithDebInfo\ + FDTD_test.dir\RelWithDebInfo\ + FDTD_test + .exe + true + true + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + EnableFastChecks + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;CMAKE_INTDIR="Debug" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + ..\gtest\Debug\gtest.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/Debug/FDTD_test.lib + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/Debug/FDTD_test.pdb + Console + + + false + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + ..\gtest\Release\gtest.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/Release/FDTD_test.lib + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/Release/FDTD_test.pdb + Console + + + false + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + OnlyExplicitInline + MinSpace + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + ..\gtest\MinSizeRel\gtest.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/MinSizeRel/FDTD_test.lib + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/MinSizeRel/FDTD_test.pdb + Console + + + false + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + ProgramDatabase + Sync + OnlyExplicitInline + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + ..\gtest\RelWithDebInfo\gtest.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/RelWithDebInfo/FDTD_test.lib + A:/FDTD_Method/FDTD_Method/sln/FDTD_test/RelWithDebInfo/FDTD_test.pdb + Console + + + false + + + + + Always + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/FDTD_test/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\FDTD_test\CMakeFiles\generate.stamp + false + + + + + + + + + + + + + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} + ZERO_CHECK + false + Never + + + {C2921F86-4805-38E7-800F-CC004A5C6DEC} + gtest + + + + + + \ No newline at end of file diff --git a/sln/FDTD_test/FDTD_test.vcxproj.filters b/sln/FDTD_test/FDTD_test.vcxproj.filters new file mode 100644 index 0000000..a2d7870 --- /dev/null +++ b/sln/FDTD_test/FDTD_test.vcxproj.filters @@ -0,0 +1,36 @@ + + + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + Header Files + + + + + + + + {A13D8BB6-E069-349F-A35B-99BB3A0D89BD} + + + {FB28F087-299B-3245-B6A4-505C29AFE4BF} + + + diff --git a/sln/FDTD_test/cmake_install.cmake b/sln/FDTD_test/cmake_install.cmake new file mode 100644 index 0000000..a2019b5 --- /dev/null +++ b/sln/FDTD_test/cmake_install.cmake @@ -0,0 +1,34 @@ +# Install script for directory: A:/FDTD_Method/FDTD_Method/sln/FDTD_test + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/FDTD") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/sln/gtest/CMakeFiles/generate.stamp b/sln/gtest/CMakeFiles/generate.stamp new file mode 100644 index 0000000..9b5f49f --- /dev/null +++ b/sln/gtest/CMakeFiles/generate.stamp @@ -0,0 +1 @@ +# CMake generation timestamp file for this directory. diff --git a/sln/gtest/CMakeFiles/generate.stamp.depend b/sln/gtest/CMakeFiles/generate.stamp.depend new file mode 100644 index 0000000..07c7b01 --- /dev/null +++ b/sln/gtest/CMakeFiles/generate.stamp.depend @@ -0,0 +1,2 @@ +# CMake generation dependency list for this directory. +A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeLists.txt diff --git a/gtest/CMakeLists.txt b/sln/gtest/CMakeLists.txt similarity index 83% rename from gtest/CMakeLists.txt rename to sln/gtest/CMakeLists.txt index 73b4ec3..618a443 100644 --- a/gtest/CMakeLists.txt +++ b/sln/gtest/CMakeLists.txt @@ -1,6 +1,6 @@ set(target "gtest") -add_library(${target} STATIC gtest-all.cc) +add_library(${target} STATIC ../../gtest/gtest-all.cc) if((${CMAKE_CXX_COMPILER_ID} MATCHES "GNU" OR ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang") AND diff --git a/sln/gtest/cmake_install.cmake b/sln/gtest/cmake_install.cmake new file mode 100644 index 0000000..fd8da67 --- /dev/null +++ b/sln/gtest/cmake_install.cmake @@ -0,0 +1,34 @@ +# Install script for directory: A:/FDTD_Method/FDTD_Method/sln/gtest + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/FDTD") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/sln/gtest/gtest.vcxproj b/sln/gtest/gtest.vcxproj new file mode 100644 index 0000000..fbc2137 --- /dev/null +++ b/sln/gtest/gtest.vcxproj @@ -0,0 +1,281 @@ + + + + x64 + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {C2921F86-4805-38E7-800F-CC004A5C6DEC} + Win32Proj + 10.0.19041.0 + x64 + gtest + NoUpgrade + + + + StaticLibrary + MultiByte + v142 + + + StaticLibrary + MultiByte + v142 + + + StaticLibrary + MultiByte + v142 + + + StaticLibrary + MultiByte + v142 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + A:\FDTD_Method\FDTD_Method\sln\gtest\Debug\ + gtest.dir\Debug\ + gtest + .lib + A:\FDTD_Method\FDTD_Method\sln\gtest\Release\ + gtest.dir\Release\ + gtest + .lib + A:\FDTD_Method\FDTD_Method\sln\gtest\MinSizeRel\ + gtest.dir\MinSizeRel\ + gtest + .lib + A:\FDTD_Method\FDTD_Method\sln\gtest\RelWithDebInfo\ + gtest.dir\RelWithDebInfo\ + gtest + .lib + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + EnableFastChecks + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;CMAKE_INTDIR="Debug" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + OnlyExplicitInline + MinSpace + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + ProgramDatabase + Sync + OnlyExplicitInline + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + %(AdditionalOptions) /machine:x64 + + + + + Always + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\gtest\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\gtest\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\gtest\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/gtest/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\gtest\CMakeFiles\generate.stamp + false + + + + + + + + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/sln/gtest/gtest.vcxproj.filters b/sln/gtest/gtest.vcxproj.filters new file mode 100644 index 0000000..94ca41e --- /dev/null +++ b/sln/gtest/gtest.vcxproj.filters @@ -0,0 +1,16 @@ + + + + + Source Files + + + + + + + + {FB28F087-299B-3245-B6A4-505C29AFE4BF} + + + diff --git a/sln/sample/CMakeFiles/generate.stamp b/sln/sample/CMakeFiles/generate.stamp new file mode 100644 index 0000000..9b5f49f --- /dev/null +++ b/sln/sample/CMakeFiles/generate.stamp @@ -0,0 +1 @@ +# CMake generation timestamp file for this directory. diff --git a/sln/sample/CMakeFiles/generate.stamp.depend b/sln/sample/CMakeFiles/generate.stamp.depend new file mode 100644 index 0000000..831f912 --- /dev/null +++ b/sln/sample/CMakeFiles/generate.stamp.depend @@ -0,0 +1,2 @@ +# CMake generation dependency list for this directory. +A:/FDTD_Method/FDTD_Method/sln/sample/CMakeLists.txt diff --git a/sln/sample/CMakeLists.txt b/sln/sample/CMakeLists.txt new file mode 100644 index 0000000..544d079 --- /dev/null +++ b/sln/sample/CMakeLists.txt @@ -0,0 +1,6 @@ +file(GLOB hdrs "*.h*" "../../include/*.h") +file(GLOB srcs "*.cpp" "../../src/*.cpp" "../../samples/*.cpp") + +add_executable(sample ${srcs} ${hdrs}) +set_target_properties(sample PROPERTIES RUNTIME_OUTPUT_DIRECTORY "../../PlotScript/src") + diff --git a/sln/sample/cmake_install.cmake b/sln/sample/cmake_install.cmake new file mode 100644 index 0000000..d3cc653 --- /dev/null +++ b/sln/sample/cmake_install.cmake @@ -0,0 +1,34 @@ +# Install script for directory: A:/FDTD_Method/FDTD_Method/sln/sample + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/FDTD") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Release") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + diff --git a/sln/sample/sample.dir/Release/sample.exe.recipe b/sln/sample/sample.dir/Release/sample.exe.recipe new file mode 100644 index 0000000..1cf0f5b --- /dev/null +++ b/sln/sample/sample.dir/Release/sample.exe.recipe @@ -0,0 +1,14 @@ + + + + + A:\FDTD_Method\FDTD_Method\sln\x64\Release\ZERO_CHECK + + + A:\FDTD_Method\FDTD_Method\PlotScript\src\Release\sample.exe + + + + + + \ No newline at end of file diff --git a/sln/sample/sample.dir/Release/sample.tlog/CL.command.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/CL.command.1.tlog new file mode 100644 index 0000000..4106515 Binary files /dev/null and b/sln/sample/sample.dir/Release/sample.tlog/CL.command.1.tlog differ diff --git a/sln/sample/sample.dir/Release/sample.tlog/CL.read.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/CL.read.1.tlog new file mode 100644 index 0000000..22ca65a Binary files /dev/null and b/sln/sample/sample.dir/Release/sample.tlog/CL.read.1.tlog differ diff --git a/sln/sample/sample.dir/Release/sample.tlog/CL.write.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/CL.write.1.tlog new file mode 100644 index 0000000..7f2782d Binary files /dev/null and b/sln/sample/sample.dir/Release/sample.tlog/CL.write.1.tlog differ diff --git a/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.command.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.command.1.tlog new file mode 100644 index 0000000..bdd79c4 --- /dev/null +++ b/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.command.1.tlog @@ -0,0 +1,10 @@ +^A:\FDTD_METHOD\FDTD_METHOD\SLN\SAMPLE\CMAKELISTS.TXT +setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/sample/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd diff --git a/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.read.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.read.1.tlog new file mode 100644 index 0000000..a037ecf --- /dev/null +++ b/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.read.1.tlog @@ -0,0 +1 @@ +^A:\FDTD_METHOD\FDTD_METHOD\SLN\SAMPLE\CMAKELISTS.TXT diff --git a/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.write.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.write.1.tlog new file mode 100644 index 0000000..db10e88 --- /dev/null +++ b/sln/sample/sample.dir/Release/sample.tlog/CustomBuild.write.1.tlog @@ -0,0 +1,2 @@ +^A:\FDTD_METHOD\FDTD_METHOD\SLN\SAMPLE\CMAKELISTS.TXT +A:\FDTD_METHOD\FDTD_METHOD\SLN\SAMPLE\CMAKEFILES\GENERATE.STAMP diff --git a/sln/sample/sample.dir/Release/sample.tlog/link.command.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/link.command.1.tlog new file mode 100644 index 0000000..e62a088 Binary files /dev/null and b/sln/sample/sample.dir/Release/sample.tlog/link.command.1.tlog differ diff --git a/sln/sample/sample.dir/Release/sample.tlog/link.read.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/link.read.1.tlog new file mode 100644 index 0000000..86c8a12 Binary files /dev/null and b/sln/sample/sample.dir/Release/sample.tlog/link.read.1.tlog differ diff --git a/sln/sample/sample.dir/Release/sample.tlog/link.write.1.tlog b/sln/sample/sample.dir/Release/sample.tlog/link.write.1.tlog new file mode 100644 index 0000000..e2af3b4 Binary files /dev/null and b/sln/sample/sample.dir/Release/sample.tlog/link.write.1.tlog differ diff --git a/sln/sample/sample.dir/Release/sample.tlog/sample.lastbuildstate b/sln/sample/sample.dir/Release/sample.tlog/sample.lastbuildstate new file mode 100644 index 0000000..8c85c6f --- /dev/null +++ b/sln/sample/sample.dir/Release/sample.tlog/sample.lastbuildstate @@ -0,0 +1,2 @@ +PlatformToolSet=v142:VCToolArchitecture=Native64Bit:VCToolsVersion=14.29.30133:TargetPlatformVersion=10.0.19041.0:VcpkgTriplet=x64-windows: +Release|x64|A:\FDTD_Method\FDTD_Method\sln\| diff --git a/sln/sample/sample.vcxproj b/sln/sample/sample.vcxproj new file mode 100644 index 0000000..3864acf --- /dev/null +++ b/sln/sample/sample.vcxproj @@ -0,0 +1,333 @@ + + + + x64 + + + + Debug + x64 + + + Release + x64 + + + MinSizeRel + x64 + + + RelWithDebInfo + x64 + + + + {E4DB9955-3859-3474-9413-0416BB77B964} + Win32Proj + 10.0.19041.0 + x64 + sample + NoUpgrade + + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + Application + MultiByte + v142 + + + + + + + + + + <_ProjectFileVersion>10.0.20506.1 + A:\FDTD_Method\FDTD_Method\PlotScript\src\Debug\ + sample.dir\Debug\ + sample + .exe + true + true + A:\FDTD_Method\FDTD_Method\PlotScript\src\Release\ + sample.dir\Release\ + sample + .exe + false + true + A:\FDTD_Method\FDTD_Method\PlotScript\src\MinSizeRel\ + sample.dir\MinSizeRel\ + sample + .exe + false + true + A:\FDTD_Method\FDTD_Method\PlotScript\src\RelWithDebInfo\ + sample.dir\RelWithDebInfo\ + sample + .exe + true + true + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + EnableFastChecks + ProgramDatabase + Sync + Disabled + Disabled + NotUsing + MultiThreadedDebugDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;CMAKE_INTDIR="Debug" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_DEBUG;_WINDOWS;CMAKE_INTDIR=\"Debug\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/sample/Debug/sample.lib + A:/FDTD_Method/FDTD_Method/PlotScript/src/Debug/sample.pdb + Console + + + false + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + AnySuitable + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="Release" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"Release\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/sample/Release/sample.lib + A:/FDTD_Method/FDTD_Method/PlotScript/src/Release/sample.pdb + Console + + + false + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + Sync + OnlyExplicitInline + MinSpace + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="MinSizeRel" + $(IntDir) + + + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"MinSizeRel\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + false + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/sample/MinSizeRel/sample.lib + A:/FDTD_Method/FDTD_Method/PlotScript/src/MinSizeRel/sample.pdb + Console + + + false + + + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(IntDir) + ProgramDatabase + Sync + OnlyExplicitInline + MaxSpeed + NotUsing + MultiThreadedDLL + true + false + Level3 + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR="RelWithDebInfo" + $(IntDir) + + + %(PreprocessorDefinitions);WIN32;_WINDOWS;NDEBUG;CMAKE_INTDIR=\"RelWithDebInfo\" + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + + + A:\FDTD_Method\FDTD_Method\sln\..\include;A:\FDTD_Method\FDTD_Method\sln\..\gtest;%(AdditionalIncludeDirectories) + $(ProjectDir)/$(IntDir) + %(Filename).h + %(Filename).tlb + %(Filename)_i.c + %(Filename)_p.c + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib + %(AdditionalLibraryDirectories) + %(AdditionalOptions) /machine:x64 + true + %(IgnoreSpecificDefaultLibraries) + A:/FDTD_Method/FDTD_Method/sln/sample/RelWithDebInfo/sample.lib + A:/FDTD_Method/FDTD_Method/PlotScript/src/RelWithDebInfo/sample.pdb + Console + + + false + + + + + Always + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/sample/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/sample/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\sample\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/sample/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/sample/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\sample\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/sample/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/sample/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\sample\CMakeFiles\generate.stamp + false + Building Custom Rule A:/FDTD_Method/FDTD_Method/sln/sample/CMakeLists.txt + setlocal +"C:\Program Files\CMake\bin\cmake.exe" -SA:/FDTD_Method/FDTD_Method/sln -BA:/FDTD_Method/FDTD_Method/sln --check-stamp-file A:/FDTD_Method/FDTD_Method/sln/sample/CMakeFiles/generate.stamp +if %errorlevel% neq 0 goto :cmEnd +:cmEnd +endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone +:cmErrorLevel +exit /b %1 +:cmDone +if %errorlevel% neq 0 goto :VCEnd + %(AdditionalInputs) + A:\FDTD_Method\FDTD_Method\sln\sample\CMakeFiles\generate.stamp + false + + + + + + + + + + + + {0C00A5A1-0BB9-3056-AEF8-70F08D1355A5} + ZERO_CHECK + false + Never + + + + + + \ No newline at end of file diff --git a/sln/sample/sample.vcxproj.filters b/sln/sample/sample.vcxproj.filters new file mode 100644 index 0000000..a5286a3 --- /dev/null +++ b/sln/sample/sample.vcxproj.filters @@ -0,0 +1,33 @@ + + + + + Source Files + + + Source Files + + + Source Files + + + + + Header Files + + + Header Files + + + + + + + + {A13D8BB6-E069-349F-A35B-99BB3A0D89BD} + + + {FB28F087-299B-3245-B6A4-505C29AFE4BF} + + + diff --git a/src/test_FDTD.cpp b/src/test_FDTD.cpp new file mode 100644 index 0000000..8d1c8b6 --- /dev/null +++ b/src/test_FDTD.cpp @@ -0,0 +1 @@ +