diff --git a/.envrc b/.envrc new file mode 100644 index 0000000..98f11ca --- /dev/null +++ b/.envrc @@ -0,0 +1,2 @@ +use nix -p python312 +layout python python3 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..92b2793 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.direnv diff --git a/3DPrintedMetric.xml b/3DPrintedMetric.xml index 061fc5e..f845b54 100644 --- a/3DPrintedMetric.xml +++ b/3DPrintedMetric.xml @@ -14,77 +14,77 @@ external O.0 - 7.75 - 5.55 - 3.7 + 8 + 5.727 + 4.211 internal O.0 - 8.4 - 5.85 - 4.5 + 8 + 5.727 + 4.211 4.5 external O.1 - 7.65 - 5.45 - 3.6 + 7.9 + 5.627 + 4.111 internal O.1 - 8.5 - 5.95 - 4.6 - 4.6 + 8.1 + 5.827 + 4.311 + 4.5 external O.2 - 7.55 - 5.35 - 3.5 + 7.8 + 5.527 + 4.011 internal O.2 - 8.6 - 6.05 - 4.7 - 4.7 + 8.2 + 5.927 + 4.411 + 4.5 external O.4 - 7.35 - 5.15 - 3.3 + 7.6 + 5.327 + 3.811 internal O.4 - 8.8 - 6.25 - 4.9 - 4.9 + 8.4 + 6.127 + 4.611 + 4.5 external O.8 - 6.95 - 4.75 - 2.9 + 7.2 + 4.927 + 3.411 internal O.8 - 9.2 - 6.65 - 5.3 - 5.3 + 8.8 + 6.527 + 5.011 + 4.5 @@ -94,77 +94,77 @@ external O.0 - 7.75 - 4.8 - 2.2 + 8 + 4.752 + 2.587 internal O.0 - 8.4 - 5.1 - 3 + 8 + 4.752 + 2.587 3 external O.1 - 7.65 - 4.7 - 2.1 + 7.9 + 4.652 + 2.487 internal O.1 - 8.5 - 5.2 - 3.1 - 3.1 + 8.1 + 4.852 + 2.687 + 3 external O.2 - 7.55 - 4.6 - 2 + 7.8 + 4.552 + 2.387 internal O.2 - 8.6 - 5.3 - 3.2 - 3.2 + 8.2 + 4.952 + 2.787 + 3 external O.4 - 7.35 - 4.4 - 1.8 + 7.6 + 4.352 + 2.187 internal O.4 - 8.8 - 5.5 - 3.4 - 3.4 + 8.4 + 5.152 + 2.987 + 3 external O.8 - 6.95 - 4 - 1.4 + 7.2 + 3.952 + 1.787 internal O.8 - 9.2 - 5.9 - 3.8 - 3.8 + 8.8 + 5.552 + 3.387 + 3 @@ -177,77 +177,77 @@ external O.0 - 8.75 - 6.55 - 4.7 + 9 + 6.727 + 5.211 internal O.0 - 9.4 - 6.85 - 5.5 + 9 + 6.727 + 5.211 5.5 external O.1 - 8.65 - 6.45 - 4.6 + 8.9 + 6.627 + 5.111 internal O.1 - 9.5 - 6.95 - 5.6 - 5.6 + 9.1 + 6.827 + 5.311 + 5.5 external O.2 - 8.55 - 6.35 - 4.5 + 8.8 + 6.527 + 5.011 internal O.2 - 9.6 - 7.05 - 5.7 - 5.7 + 9.2 + 6.927 + 5.411 + 5.5 external O.4 - 8.35 - 6.15 - 4.3 + 8.6 + 6.327 + 4.811 internal O.4 - 9.8 - 7.25 - 5.9 - 5.9 + 9.4 + 7.127 + 5.611 + 5.5 external O.8 - 7.95 - 5.75 - 3.9 + 8.2 + 5.927 + 4.411 internal O.8 - 10.2 - 7.65 - 6.3 - 6.3 + 9.8 + 7.527 + 6.011 + 5.5 @@ -257,77 +257,77 @@ external O.0 - 8.75 - 5.8 - 3.2 + 9 + 5.752 + 3.587 internal O.0 - 9.4 - 6.1 - 4 + 9 + 5.752 + 3.587 4 external O.1 - 8.65 - 5.7 - 3.1 + 8.9 + 5.652 + 3.487 internal O.1 - 9.5 - 6.2 - 4.1 - 4.1 + 9.1 + 5.852 + 3.687 + 4 external O.2 - 8.55 - 5.6 - 3 + 8.8 + 5.552 + 3.387 internal O.2 - 9.6 - 6.3 - 4.2 - 4.2 + 9.2 + 5.952 + 3.787 + 4 external O.4 - 8.35 - 5.4 - 2.8 + 8.6 + 5.352 + 3.187 internal O.4 - 9.8 - 6.5 - 4.4 - 4.4 + 9.4 + 6.152 + 3.987 + 4 external O.8 - 7.95 - 5 - 2.4 + 8.2 + 4.952 + 2.787 internal O.8 - 10.2 - 6.9 - 4.8 - 4.8 + 9.8 + 6.552 + 4.387 + 4 @@ -340,77 +340,77 @@ external O.0 - 9.75 - 7.55 - 5.7 + 10 + 7.727 + 6.211 internal O.0 - 10.4 - 7.85 - 6.5 + 10 + 7.727 + 6.211 6.5 external O.1 - 9.65 - 7.45 - 5.6 + 9.9 + 7.627 + 6.111 internal O.1 - 10.5 - 7.95 - 6.6 - 6.6 + 10.1 + 7.827 + 6.311 + 6.5 external O.2 - 9.55 - 7.35 - 5.5 + 9.8 + 7.527 + 6.011 internal O.2 - 10.6 - 8.05 - 6.7 - 6.7 + 10.2 + 7.927 + 6.411 + 6.5 external O.4 - 9.35 - 7.15 - 5.3 + 9.6 + 7.327 + 5.811 internal O.4 - 10.8 - 8.25 - 6.9 - 6.9 + 10.4 + 8.127 + 6.611 + 6.5 external O.8 - 8.95 - 6.75 - 4.9 + 9.2 + 6.927 + 5.411 internal O.8 - 11.2 - 8.65 - 7.3 - 7.3 + 10.8 + 8.527 + 7.011 + 6.5 @@ -420,77 +420,77 @@ external O.0 - 9.75 - 6.8 - 4.2 + 10 + 6.752 + 4.587 internal O.0 - 10.4 - 7.1 - 5 + 10 + 6.752 + 4.587 5 external O.1 - 9.65 - 6.7 - 4.1 + 9.9 + 6.652 + 4.487 internal O.1 - 10.5 - 7.2 - 5.1 - 5.1 + 10.1 + 6.852 + 4.687 + 5 external O.2 - 9.55 - 6.6 - 4 + 9.8 + 6.552 + 4.387 internal O.2 - 10.6 - 7.3 - 5.2 - 5.2 + 10.2 + 6.952 + 4.787 + 5 external O.4 - 9.35 - 6.4 - 3.8 + 9.6 + 6.352 + 4.187 internal O.4 - 10.8 - 7.5 - 5.4 - 5.4 + 10.4 + 7.152 + 4.987 + 5 external O.8 - 8.95 - 6 - 3.4 + 9.2 + 5.952 + 3.787 internal O.8 - 11.2 - 7.9 - 5.8 - 5.8 + 10.8 + 7.552 + 5.387 + 5 @@ -503,77 +503,77 @@ external O.0 - 10.75 - 8.55 - 6.7 + 11 + 8.727 + 7.211 internal O.0 - 11.4 - 8.85 - 7.5 + 11 + 8.727 + 7.211 7.5 external O.1 - 10.65 - 8.45 - 6.6 + 10.9 + 8.627 + 7.111 internal O.1 - 11.5 - 8.95 - 7.6 - 7.6 + 11.1 + 8.827 + 7.311 + 7.5 external O.2 - 10.55 - 8.35 - 6.5 + 10.8 + 8.527 + 7.011 internal O.2 - 11.6 - 9.05 - 7.7 - 7.7 + 11.2 + 8.927 + 7.411 + 7.5 external O.4 - 10.35 - 8.15 - 6.3 + 10.6 + 8.327 + 6.811 internal O.4 - 11.8 - 9.25 - 7.9 - 7.9 + 11.4 + 9.127 + 7.611 + 7.5 external O.8 - 9.95 - 7.75 - 5.9 + 10.2 + 7.927 + 6.411 internal O.8 - 12.2 - 9.65 - 8.3 - 8.3 + 11.8 + 9.527 + 8.011 + 7.5 @@ -583,77 +583,77 @@ external O.0 - 10.75 - 7.8 - 5.2 + 11 + 7.752 + 5.587 internal O.0 - 11.4 - 8.1 - 6 + 11 + 7.752 + 5.587 6 external O.1 - 10.65 - 7.7 - 5.1 + 10.9 + 7.652 + 5.487 internal O.1 - 11.5 - 8.2 - 6.1 - 6.1 + 11.1 + 7.852 + 5.687 + 6 external O.2 - 10.55 - 7.6 - 5 + 10.8 + 7.552 + 5.387 internal O.2 - 11.6 - 8.3 - 6.2 - 6.2 + 11.2 + 7.952 + 5.787 + 6 external O.4 - 10.35 - 7.4 - 4.8 + 10.6 + 7.352 + 5.187 internal O.4 - 11.8 - 8.5 - 6.4 - 6.4 + 11.4 + 8.152 + 5.987 + 6 external O.8 - 9.95 - 7 - 4.4 + 10.2 + 6.952 + 4.787 internal O.8 - 12.2 - 8.9 - 6.8 - 6.8 + 11.8 + 8.552 + 6.387 + 6 @@ -666,77 +666,77 @@ external O.0 - 11.75 - 9.55 - 7.7 + 12 + 9.727 + 8.211 internal O.0 - 12.4 - 9.85 - 8.5 + 12 + 9.727 + 8.211 8.5 external O.1 - 11.65 - 9.45 - 7.6 + 11.9 + 9.627 + 8.111 internal O.1 - 12.5 - 9.95 - 8.6 - 8.6 + 12.1 + 9.827 + 8.311 + 8.5 external O.2 - 11.55 - 9.35 - 7.5 + 11.8 + 9.527 + 8.011 internal O.2 - 12.6 - 10.05 - 8.7 - 8.7 + 12.2 + 9.927 + 8.411 + 8.5 external O.4 - 11.35 - 9.15 - 7.3 + 11.6 + 9.327 + 7.811 internal O.4 - 12.8 - 10.25 - 8.9 - 8.9 + 12.4 + 10.13 + 8.611 + 8.5 external O.8 - 10.95 - 8.75 - 6.9 + 11.2 + 8.927 + 7.411 internal O.8 - 13.2 - 10.65 - 9.3 - 9.3 + 12.8 + 10.53 + 9.011 + 8.5 @@ -746,77 +746,77 @@ external O.0 - 11.75 - 8.8 - 6.2 + 12 + 8.752 + 6.587 internal O.0 - 12.4 - 9.1 - 7 + 12 + 8.752 + 6.587 7 external O.1 - 11.65 - 8.7 - 6.1 + 11.9 + 8.652 + 6.487 internal O.1 - 12.5 - 9.2 - 7.1 - 7.1 + 12.1 + 8.852 + 6.687 + 7 external O.2 - 11.55 - 8.6 - 6 + 11.8 + 8.552 + 6.387 internal O.2 - 12.6 - 9.3 - 7.2 - 7.2 + 12.2 + 8.952 + 6.787 + 7 external O.4 - 11.35 - 8.4 - 5.8 + 11.6 + 8.352 + 6.187 internal O.4 - 12.8 - 9.5 - 7.4 - 7.4 + 12.4 + 9.152 + 6.987 + 7 external O.8 - 10.95 - 8 - 5.4 + 11.2 + 7.952 + 5.787 internal O.8 - 13.2 - 9.9 - 7.8 - 7.8 + 12.8 + 9.552 + 7.387 + 7 @@ -829,77 +829,77 @@ external O.0 - 12.75 - 10.55 - 8.7 + 13 + 10.73 + 9.211 internal O.0 - 13.4 - 10.85 - 9.5 + 13 + 10.73 + 9.211 9.5 external O.1 - 12.65 - 10.45 - 8.6 + 12.9 + 10.63 + 9.111 internal O.1 - 13.5 - 10.95 - 9.6 - 9.6 + 13.1 + 10.83 + 9.311 + 9.5 external O.2 - 12.55 - 10.35 - 8.5 + 12.8 + 10.53 + 9.011 internal O.2 - 13.6 - 11.05 - 9.7 - 9.7 + 13.2 + 10.93 + 9.411 + 9.5 external O.4 - 12.35 - 10.15 - 8.3 + 12.6 + 10.33 + 8.811 internal O.4 - 13.8 - 11.25 - 9.9 - 9.9 + 13.4 + 11.13 + 9.611 + 9.5 external O.8 - 11.95 - 9.75 - 7.9 + 12.2 + 9.927 + 8.411 internal O.8 - 14.2 - 11.65 - 10.3 - 10.3 + 13.8 + 11.53 + 10.01 + 9.5 @@ -909,77 +909,77 @@ external O.0 - 12.75 - 9.8 - 7.2 + 13 + 9.752 + 7.587 internal O.0 - 13.4 - 10.1 - 8 + 13 + 9.752 + 7.587 8 external O.1 - 12.65 - 9.7 - 7.1 + 12.9 + 9.652 + 7.487 internal O.1 - 13.5 - 10.2 - 8.1 - 8.1 + 13.1 + 9.852 + 7.687 + 8 external O.2 - 12.55 - 9.6 - 7 + 12.8 + 9.552 + 7.387 internal O.2 - 13.6 - 10.3 - 8.2 - 8.2 + 13.2 + 9.952 + 7.787 + 8 external O.4 - 12.35 - 9.4 - 6.8 + 12.6 + 9.352 + 7.187 internal O.4 - 13.8 - 10.5 - 8.4 - 8.4 + 13.4 + 10.15 + 7.987 + 8 external O.8 - 11.95 - 9 - 6.4 + 12.2 + 8.952 + 6.787 internal O.8 - 14.2 - 10.9 - 8.8 - 8.8 + 13.8 + 10.55 + 8.387 + 8 @@ -992,77 +992,77 @@ external O.0 - 13.75 - 11.55 - 9.7 + 14 + 11.73 + 10.21 internal O.0 - 14.4 - 11.85 - 10.5 + 14 + 11.73 + 10.21 10.5 external O.1 - 13.65 - 11.45 - 9.6 + 13.9 + 11.63 + 10.11 internal O.1 - 14.5 - 11.95 - 10.6 - 10.6 + 14.1 + 11.83 + 10.31 + 10.5 external O.2 - 13.55 - 11.35 - 9.5 + 13.8 + 11.53 + 10.01 internal O.2 - 14.6 - 12.05 - 10.7 - 10.7 + 14.2 + 11.93 + 10.41 + 10.5 external O.4 - 13.35 - 11.15 - 9.3 + 13.6 + 11.33 + 9.811 internal O.4 - 14.8 - 12.25 - 10.9 - 10.9 + 14.4 + 12.13 + 10.61 + 10.5 external O.8 - 12.95 - 10.75 - 8.9 + 13.2 + 10.93 + 9.411 internal O.8 - 15.2 - 12.65 - 11.3 - 11.3 + 14.8 + 12.53 + 11.01 + 10.5 @@ -1072,77 +1072,77 @@ external O.0 - 13.75 - 10.8 - 8.2 + 14 + 10.75 + 8.587 internal O.0 - 14.4 - 11.1 - 9 + 14 + 10.75 + 8.587 9 external O.1 - 13.65 - 10.7 - 8.1 + 13.9 + 10.65 + 8.487 internal O.1 - 14.5 - 11.2 - 9.1 - 9.1 + 14.1 + 10.85 + 8.687 + 9 external O.2 - 13.55 - 10.6 - 8 + 13.8 + 10.55 + 8.387 internal O.2 - 14.6 - 11.3 - 9.2 - 9.2 + 14.2 + 10.95 + 8.787 + 9 external O.4 - 13.35 - 10.4 - 7.8 + 13.6 + 10.35 + 8.187 internal O.4 - 14.8 - 11.5 - 9.4 - 9.4 + 14.4 + 11.15 + 8.987 + 9 external O.8 - 12.95 - 10 - 7.4 + 13.2 + 9.952 + 7.787 internal O.8 - 15.2 - 11.9 - 9.8 - 9.8 + 14.8 + 11.55 + 9.387 + 9 @@ -1155,77 +1155,77 @@ external O.0 - 14.75 - 12.55 - 10.7 + 15 + 12.73 + 11.21 internal O.0 - 15.4 - 12.85 - 11.5 + 15 + 12.73 + 11.21 11.5 external O.1 - 14.65 - 12.45 - 10.6 + 14.9 + 12.63 + 11.11 internal O.1 - 15.5 - 12.95 - 11.6 - 11.6 + 15.1 + 12.83 + 11.31 + 11.5 external O.2 - 14.55 - 12.35 - 10.5 + 14.8 + 12.53 + 11.01 internal O.2 - 15.6 - 13.05 - 11.7 - 11.7 + 15.2 + 12.93 + 11.41 + 11.5 external O.4 - 14.35 - 12.15 - 10.3 + 14.6 + 12.33 + 10.81 internal O.4 - 15.8 - 13.25 - 11.9 - 11.9 + 15.4 + 13.13 + 11.61 + 11.5 external O.8 - 13.95 - 11.75 - 9.9 + 14.2 + 11.93 + 10.41 internal O.8 - 16.2 - 13.65 - 12.3 - 12.3 + 15.8 + 13.53 + 12.01 + 11.5 @@ -1235,77 +1235,77 @@ external O.0 - 14.75 - 11.8 - 9.2 + 15 + 11.75 + 9.587 internal O.0 - 15.4 - 12.1 - 10 + 15 + 11.75 + 9.587 10 external O.1 - 14.65 - 11.7 - 9.1 + 14.9 + 11.65 + 9.487 internal O.1 - 15.5 - 12.2 - 10.1 - 10.1 + 15.1 + 11.85 + 9.687 + 10 external O.2 - 14.55 - 11.6 - 9 + 14.8 + 11.55 + 9.387 internal O.2 - 15.6 - 12.3 - 10.2 - 10.2 + 15.2 + 11.95 + 9.787 + 10 external O.4 - 14.35 - 11.4 - 8.8 + 14.6 + 11.35 + 9.187 internal O.4 - 15.8 - 12.5 - 10.4 - 10.4 + 15.4 + 12.15 + 9.987 + 10 external O.8 - 13.95 - 11 - 8.4 + 14.2 + 10.95 + 8.787 internal O.8 - 16.2 - 12.9 - 10.8 - 10.8 + 15.8 + 12.55 + 10.39 + 10 @@ -1318,77 +1318,77 @@ external O.0 - 15.75 - 13.55 - 11.7 + 16 + 13.73 + 12.21 internal O.0 - 16.4 - 13.85 - 12.5 + 16 + 13.73 + 12.21 12.5 external O.1 - 15.65 - 13.45 - 11.6 + 15.9 + 13.63 + 12.11 internal O.1 - 16.5 - 13.95 - 12.6 - 12.6 + 16.1 + 13.83 + 12.31 + 12.5 external O.2 - 15.55 - 13.35 - 11.5 + 15.8 + 13.53 + 12.01 internal O.2 - 16.6 - 14.05 - 12.7 - 12.7 + 16.2 + 13.93 + 12.41 + 12.5 external O.4 - 15.35 - 13.15 - 11.3 + 15.6 + 13.33 + 11.81 internal O.4 - 16.8 - 14.25 - 12.9 - 12.9 + 16.4 + 14.13 + 12.61 + 12.5 external O.8 - 14.95 - 12.75 - 10.9 + 15.2 + 12.93 + 11.41 internal O.8 - 17.2 - 14.65 - 13.3 - 13.3 + 16.8 + 14.53 + 13.01 + 12.5 @@ -1398,77 +1398,77 @@ external O.0 - 15.75 - 12.8 - 10.2 + 16 + 12.75 + 10.59 internal O.0 - 16.4 - 13.1 - 11 + 16 + 12.75 + 10.59 11 external O.1 - 15.65 - 12.7 - 10.1 + 15.9 + 12.65 + 10.49 internal O.1 - 16.5 - 13.2 - 11.1 - 11.1 + 16.1 + 12.85 + 10.69 + 11 external O.2 - 15.55 - 12.6 - 10 + 15.8 + 12.55 + 10.39 internal O.2 - 16.6 - 13.3 - 11.2 - 11.2 + 16.2 + 12.95 + 10.79 + 11 external O.4 - 15.35 - 12.4 - 9.8 + 15.6 + 12.35 + 10.19 internal O.4 - 16.8 - 13.5 - 11.4 - 11.4 + 16.4 + 13.15 + 10.99 + 11 external O.8 - 14.95 - 12 - 9.4 + 15.2 + 11.95 + 9.787 internal O.8 - 17.2 - 13.9 - 11.8 - 11.8 + 16.8 + 13.55 + 11.39 + 11 @@ -1481,77 +1481,77 @@ external O.0 - 16.75 - 14.55 - 12.7 + 17 + 14.73 + 13.21 internal O.0 - 17.4 - 14.85 - 13.5 + 17 + 14.73 + 13.21 13.5 external O.1 - 16.65 - 14.45 - 12.6 + 16.9 + 14.63 + 13.11 internal O.1 - 17.5 - 14.95 - 13.6 - 13.6 + 17.1 + 14.83 + 13.31 + 13.5 external O.2 - 16.55 - 14.35 - 12.5 + 16.8 + 14.53 + 13.01 internal O.2 - 17.6 - 15.05 - 13.7 - 13.7 + 17.2 + 14.93 + 13.41 + 13.5 external O.4 - 16.35 - 14.15 - 12.3 + 16.6 + 14.33 + 12.81 internal O.4 - 17.8 - 15.25 - 13.9 - 13.9 + 17.4 + 15.13 + 13.61 + 13.5 external O.8 - 15.95 - 13.75 - 11.9 + 16.2 + 13.93 + 12.41 internal O.8 - 18.2 - 15.65 - 14.3 - 14.3 + 17.8 + 15.53 + 14.01 + 13.5 @@ -1561,77 +1561,77 @@ external O.0 - 16.75 - 13.8 - 11.2 + 17 + 13.75 + 11.59 internal O.0 - 17.4 - 14.1 - 12 + 17 + 13.75 + 11.59 12 external O.1 - 16.65 - 13.7 - 11.1 + 16.9 + 13.65 + 11.49 internal O.1 - 17.5 - 14.2 - 12.1 - 12.1 + 17.1 + 13.85 + 11.69 + 12 external O.2 - 16.55 - 13.6 - 11 + 16.8 + 13.55 + 11.39 internal O.2 - 17.6 - 14.3 - 12.2 - 12.2 + 17.2 + 13.95 + 11.79 + 12 external O.4 - 16.35 - 13.4 - 10.8 + 16.6 + 13.35 + 11.19 internal O.4 - 17.8 - 14.5 - 12.4 - 12.4 + 17.4 + 14.15 + 11.99 + 12 external O.8 - 15.95 - 13 - 10.4 + 16.2 + 12.95 + 10.79 internal O.8 - 18.2 - 14.9 - 12.8 - 12.8 + 17.8 + 14.55 + 12.39 + 12 @@ -1644,77 +1644,77 @@ external O.0 - 17.75 - 15.55 - 13.7 + 18 + 15.73 + 14.21 internal O.0 - 18.4 - 15.85 - 14.5 + 18 + 15.73 + 14.21 14.5 external O.1 - 17.65 - 15.45 - 13.6 + 17.9 + 15.63 + 14.11 internal O.1 - 18.5 - 15.95 - 14.6 - 14.6 + 18.1 + 15.83 + 14.31 + 14.5 external O.2 - 17.55 - 15.35 - 13.5 + 17.8 + 15.53 + 14.01 internal O.2 - 18.6 - 16.05 - 14.7 - 14.7 + 18.2 + 15.93 + 14.41 + 14.5 external O.4 - 17.35 - 15.15 - 13.3 + 17.6 + 15.33 + 13.81 internal O.4 - 18.8 - 16.25 - 14.9 - 14.9 + 18.4 + 16.13 + 14.61 + 14.5 external O.8 - 16.95 - 14.75 - 12.9 + 17.2 + 14.93 + 13.41 internal O.8 - 19.2 - 16.65 - 15.3 - 15.3 + 18.8 + 16.53 + 15.01 + 14.5 @@ -1724,77 +1724,77 @@ external O.0 - 17.75 - 14.8 - 12.2 + 18 + 14.75 + 12.59 internal O.0 - 18.4 - 15.1 - 13 + 18 + 14.75 + 12.59 13 external O.1 - 17.65 - 14.7 - 12.1 + 17.9 + 14.65 + 12.49 internal O.1 - 18.5 - 15.2 - 13.1 - 13.1 + 18.1 + 14.85 + 12.69 + 13 external O.2 - 17.55 - 14.6 - 12 + 17.8 + 14.55 + 12.39 internal O.2 - 18.6 - 15.3 - 13.2 - 13.2 + 18.2 + 14.95 + 12.79 + 13 external O.4 - 17.35 - 14.4 - 11.8 + 17.6 + 14.35 + 12.19 internal O.4 - 18.8 - 15.5 - 13.4 - 13.4 + 18.4 + 15.15 + 12.99 + 13 external O.8 - 16.95 - 14 - 11.4 + 17.2 + 13.95 + 11.79 internal O.8 - 19.2 - 15.9 - 13.8 - 13.8 + 18.8 + 15.55 + 13.39 + 13 @@ -1807,77 +1807,77 @@ external O.0 - 18.75 - 16.55 - 14.7 + 19 + 16.73 + 15.21 internal O.0 - 19.4 - 16.85 - 15.5 + 19 + 16.73 + 15.21 15.5 external O.1 - 18.65 - 16.45 - 14.6 + 18.9 + 16.63 + 15.11 internal O.1 - 19.5 - 16.95 - 15.6 - 15.6 + 19.1 + 16.83 + 15.31 + 15.5 external O.2 - 18.55 - 16.35 - 14.5 + 18.8 + 16.53 + 15.01 internal O.2 - 19.6 - 17.05 - 15.7 - 15.7 + 19.2 + 16.93 + 15.41 + 15.5 external O.4 - 18.35 - 16.15 - 14.3 + 18.6 + 16.33 + 14.81 internal O.4 - 19.8 - 17.25 - 15.9 - 15.9 + 19.4 + 17.13 + 15.61 + 15.5 external O.8 - 17.95 - 15.75 - 13.9 + 18.2 + 15.93 + 14.41 internal O.8 - 20.2 - 17.65 - 16.3 - 16.3 + 19.8 + 17.53 + 16.01 + 15.5 @@ -1887,77 +1887,77 @@ external O.0 - 18.75 - 15.8 - 13.2 + 19 + 15.75 + 13.59 internal O.0 - 19.4 - 16.1 - 14 + 19 + 15.75 + 13.59 14 external O.1 - 18.65 - 15.7 - 13.1 + 18.9 + 15.65 + 13.49 internal O.1 - 19.5 - 16.2 - 14.1 - 14.1 + 19.1 + 15.85 + 13.69 + 14 external O.2 - 18.55 - 15.6 - 13 + 18.8 + 15.55 + 13.39 internal O.2 - 19.6 - 16.3 - 14.2 - 14.2 + 19.2 + 15.95 + 13.79 + 14 external O.4 - 18.35 - 15.4 - 12.8 + 18.6 + 15.35 + 13.19 internal O.4 - 19.8 - 16.5 - 14.4 - 14.4 + 19.4 + 16.15 + 13.99 + 14 external O.8 - 17.95 - 15 - 12.4 + 18.2 + 14.95 + 12.79 internal O.8 - 20.2 - 16.9 - 14.8 - 14.8 + 19.8 + 16.55 + 14.39 + 14 @@ -1970,77 +1970,77 @@ external O.0 - 19.75 - 17.55 - 15.7 + 20 + 17.73 + 16.21 internal O.0 - 20.4 - 17.85 - 16.5 + 20 + 17.73 + 16.21 16.5 external O.1 - 19.65 - 17.45 - 15.6 + 19.9 + 17.63 + 16.11 internal O.1 - 20.5 - 17.95 - 16.6 - 16.6 + 20.1 + 17.83 + 16.31 + 16.5 external O.2 - 19.55 - 17.35 - 15.5 + 19.8 + 17.53 + 16.01 internal O.2 - 20.6 - 18.05 - 16.7 - 16.7 + 20.2 + 17.93 + 16.41 + 16.5 external O.4 - 19.35 - 17.15 - 15.3 + 19.6 + 17.33 + 15.81 internal O.4 - 20.8 - 18.25 - 16.9 - 16.9 + 20.4 + 18.13 + 16.61 + 16.5 external O.8 - 18.95 - 16.75 - 14.9 + 19.2 + 16.93 + 15.41 internal O.8 - 21.2 - 18.65 - 17.3 - 17.3 + 20.8 + 18.53 + 17.01 + 16.5 @@ -2050,77 +2050,77 @@ external O.0 - 19.75 - 16.8 - 14.2 + 20 + 16.75 + 14.59 internal O.0 - 20.4 - 17.1 - 15 + 20 + 16.75 + 14.59 15 external O.1 - 19.65 - 16.7 - 14.1 + 19.9 + 16.65 + 14.49 internal O.1 - 20.5 - 17.2 - 15.1 - 15.1 + 20.1 + 16.85 + 14.69 + 15 external O.2 - 19.55 - 16.6 - 14 + 19.8 + 16.55 + 14.39 internal O.2 - 20.6 - 17.3 - 15.2 - 15.2 + 20.2 + 16.95 + 14.79 + 15 external O.4 - 19.35 - 16.4 - 13.8 + 19.6 + 16.35 + 14.19 internal O.4 - 20.8 - 17.5 - 15.4 - 15.4 + 20.4 + 17.15 + 14.99 + 15 external O.8 - 18.95 - 16 - 13.4 + 19.2 + 15.95 + 13.79 internal O.8 - 21.2 - 17.9 - 15.8 - 15.8 + 20.8 + 17.55 + 15.39 + 15 @@ -2133,77 +2133,77 @@ external O.0 - 20.75 - 18.55 - 16.7 + 21 + 18.73 + 17.21 internal O.0 - 21.4 - 18.85 - 17.5 + 21 + 18.73 + 17.21 17.5 external O.1 - 20.65 - 18.45 - 16.6 + 20.9 + 18.63 + 17.11 internal O.1 - 21.5 - 18.95 - 17.6 - 17.6 + 21.1 + 18.83 + 17.31 + 17.5 external O.2 - 20.55 - 18.35 - 16.5 + 20.8 + 18.53 + 17.01 internal O.2 - 21.6 - 19.05 - 17.7 - 17.7 + 21.2 + 18.93 + 17.41 + 17.5 external O.4 - 20.35 - 18.15 - 16.3 + 20.6 + 18.33 + 16.81 internal O.4 - 21.8 - 19.25 - 17.9 - 17.9 + 21.4 + 19.13 + 17.61 + 17.5 external O.8 - 19.95 - 17.75 - 15.9 + 20.2 + 17.93 + 16.41 internal O.8 - 22.2 - 19.65 - 18.3 - 18.3 + 21.8 + 19.53 + 18.01 + 17.5 @@ -2213,77 +2213,77 @@ external O.0 - 20.75 - 17.8 - 15.2 + 21 + 17.75 + 15.59 internal O.0 - 21.4 - 18.1 - 16 + 21 + 17.75 + 15.59 16 external O.1 - 20.65 - 17.7 - 15.1 + 20.9 + 17.65 + 15.49 internal O.1 - 21.5 - 18.2 - 16.1 - 16.1 + 21.1 + 17.85 + 15.69 + 16 external O.2 - 20.55 - 17.6 - 15 + 20.8 + 17.55 + 15.39 internal O.2 - 21.6 - 18.3 - 16.2 - 16.2 - + 21.2 + 17.95 + 15.79 + 16 + external O.4 - 20.35 - 17.4 - 14.8 + 20.6 + 17.35 + 15.19 internal O.4 - 21.8 - 18.5 - 16.4 - 16.4 + 21.4 + 18.15 + 15.99 + 16 external O.8 - 19.95 - 17 - 14.4 + 20.2 + 16.95 + 14.79 internal O.8 - 22.2 - 18.9 - 16.8 - 16.8 + 21.8 + 18.55 + 16.39 + 16 @@ -2296,77 +2296,77 @@ external O.0 - 21.75 - 19.55 - 17.7 + 22 + 19.73 + 18.21 internal O.0 - 22.4 - 19.85 - 18.5 + 22 + 19.73 + 18.21 18.5 external O.1 - 21.65 - 19.45 - 17.6 + 21.9 + 19.63 + 18.11 internal O.1 - 22.5 - 19.95 - 18.6 - 18.6 + 22.1 + 19.83 + 18.31 + 18.5 external O.2 - 21.55 - 19.35 - 17.5 + 21.8 + 19.53 + 18.01 internal O.2 - 22.6 - 20.05 - 18.7 - 18.7 + 22.2 + 19.93 + 18.41 + 18.5 external O.4 - 21.35 - 19.15 - 17.3 + 21.6 + 19.33 + 17.81 internal O.4 - 22.8 - 20.25 - 18.9 - 18.9 + 22.4 + 20.13 + 18.61 + 18.5 external O.8 - 20.95 - 18.75 - 16.9 + 21.2 + 18.93 + 17.41 internal O.8 - 23.2 - 20.65 - 19.3 - 19.3 + 22.8 + 20.53 + 19.01 + 18.5 @@ -2376,77 +2376,77 @@ external O.0 - 21.75 - 18.8 - 16.2 + 22 + 18.75 + 16.59 internal O.0 - 22.4 - 19.1 - 17 + 22 + 18.75 + 16.59 17 external O.1 - 21.65 - 18.7 - 16.1 + 21.9 + 18.65 + 16.49 internal O.1 - 22.5 - 19.2 - 17.1 - 17.1 + 22.1 + 18.85 + 16.69 + 17 external O.2 - 21.55 - 18.6 - 16 + 21.8 + 18.55 + 16.39 internal O.2 - 22.6 - 19.3 - 17.2 - 17.2 + 22.2 + 18.95 + 16.79 + 17 external O.4 - 21.35 - 18.4 - 15.8 + 21.6 + 18.35 + 16.19 internal O.4 - 22.8 - 19.5 - 17.4 - 17.4 + 22.4 + 19.15 + 16.99 + 17 external O.8 - 20.95 - 18 - 15.4 + 21.2 + 17.95 + 15.79 internal O.8 - 23.2 - 19.9 - 17.8 - 17.8 + 22.8 + 19.55 + 17.39 + 17 @@ -2459,77 +2459,77 @@ external O.0 - 22.75 - 20.55 - 18.7 + 23 + 20.73 + 19.21 internal O.0 - 23.4 - 20.85 - 19.5 + 23 + 20.73 + 19.21 19.5 external O.1 - 22.65 - 20.45 - 18.6 + 22.9 + 20.63 + 19.11 internal O.1 - 23.5 - 20.95 - 19.6 - 19.6 + 23.1 + 20.83 + 19.31 + 19.5 external O.2 - 22.55 - 20.35 - 18.5 + 22.8 + 20.53 + 19.01 internal O.2 - 23.6 - 21.05 - 19.7 - 19.7 + 23.2 + 20.93 + 19.41 + 19.5 external O.4 - 22.35 - 20.15 - 18.3 + 22.6 + 20.33 + 18.81 internal O.4 - 23.8 - 21.25 - 19.9 - 19.9 + 23.4 + 21.13 + 19.61 + 19.5 external O.8 - 21.95 - 19.75 - 17.9 + 22.2 + 19.93 + 18.41 internal O.8 - 24.2 - 21.65 - 20.3 - 20.3 + 23.8 + 21.53 + 20.01 + 19.5 @@ -2539,77 +2539,77 @@ external O.0 - 22.75 - 19.8 - 17.2 + 23 + 19.75 + 17.59 internal O.0 - 23.4 - 20.1 - 18 + 23 + 19.75 + 17.59 18 external O.1 - 22.65 - 19.7 - 17.1 + 22.9 + 19.65 + 17.49 internal O.1 - 23.5 - 20.2 - 18.1 - 18.1 + 23.1 + 19.85 + 17.69 + 18 external O.2 - 22.55 - 19.6 - 17 + 22.8 + 19.55 + 17.39 internal O.2 - 23.6 - 20.3 - 18.2 - 18.2 + 23.2 + 19.95 + 17.79 + 18 external O.4 - 22.35 - 19.4 - 16.8 + 22.6 + 19.35 + 17.19 internal O.4 - 23.8 - 20.5 - 18.4 - 18.4 + 23.4 + 20.15 + 17.99 + 18 external O.8 - 21.95 - 19 - 16.4 + 22.2 + 18.95 + 16.79 internal O.8 - 24.2 - 20.9 - 18.8 - 18.8 + 23.8 + 20.55 + 18.39 + 18 @@ -2622,77 +2622,77 @@ external O.0 - 23.75 - 21.55 - 19.7 + 24 + 21.73 + 20.21 internal O.0 - 24.4 - 21.85 - 20.5 + 24 + 21.73 + 20.21 20.5 external O.1 - 23.65 - 21.45 - 19.6 + 23.9 + 21.63 + 20.11 internal O.1 - 24.5 - 21.95 - 20.6 - 20.6 + 24.1 + 21.83 + 20.31 + 20.5 external O.2 - 23.55 - 21.35 - 19.5 + 23.8 + 21.53 + 20.01 internal O.2 - 24.6 - 22.05 - 20.7 - 20.7 + 24.2 + 21.93 + 20.41 + 20.5 external O.4 - 23.35 - 21.15 - 19.3 + 23.6 + 21.33 + 19.81 internal O.4 - 24.8 - 22.25 - 20.9 - 20.9 + 24.4 + 22.13 + 20.61 + 20.5 external O.8 - 22.95 - 20.75 - 18.9 + 23.2 + 20.93 + 19.41 internal O.8 - 25.2 - 22.65 - 21.3 - 21.3 + 24.8 + 22.53 + 21.01 + 20.5 @@ -2702,77 +2702,77 @@ external O.0 - 23.75 - 20.8 - 18.2 + 24 + 20.75 + 18.59 internal O.0 - 24.4 - 21.1 - 19 + 24 + 20.75 + 18.59 19 external O.1 - 23.65 - 20.7 - 18.1 + 23.9 + 20.65 + 18.49 internal O.1 - 24.5 - 21.2 - 19.1 - 19.1 + 24.1 + 20.85 + 18.69 + 19 external O.2 - 23.55 - 20.6 - 18 + 23.8 + 20.55 + 18.39 internal O.2 - 24.6 - 21.3 - 19.2 - 19.2 + 24.2 + 20.95 + 18.79 + 19 external O.4 - 23.35 - 20.4 - 17.8 + 23.6 + 20.35 + 18.19 internal O.4 - 24.8 - 21.5 - 19.4 - 19.4 + 24.4 + 21.15 + 18.99 + 19 external O.8 - 22.95 - 20 - 17.4 + 23.2 + 19.95 + 17.79 internal O.8 - 25.2 - 21.9 - 19.8 - 19.8 + 24.8 + 21.55 + 19.39 + 19 @@ -2785,77 +2785,77 @@ external O.0 - 24.75 - 22.55 - 20.7 + 25 + 22.73 + 21.21 internal O.0 - 25.4 - 22.85 - 21.5 + 25 + 22.73 + 21.21 21.5 external O.1 - 24.65 - 22.45 - 20.6 + 24.9 + 22.63 + 21.11 internal O.1 - 25.5 - 22.95 - 21.6 - 21.6 + 25.1 + 22.83 + 21.31 + 21.5 external O.2 - 24.55 - 22.35 - 20.5 + 24.8 + 22.53 + 21.01 internal O.2 - 25.6 - 23.05 - 21.7 - 21.7 + 25.2 + 22.93 + 21.41 + 21.5 external O.4 - 24.35 - 22.15 - 20.3 + 24.6 + 22.33 + 20.81 internal O.4 - 25.8 - 23.25 - 21.9 - 21.9 + 25.4 + 23.13 + 21.61 + 21.5 external O.8 - 23.95 - 21.75 - 19.9 + 24.2 + 21.93 + 20.41 internal O.8 - 26.2 - 23.65 - 22.3 - 22.3 + 25.8 + 23.53 + 22.01 + 21.5 @@ -2865,77 +2865,77 @@ external O.0 - 24.75 - 21.8 - 19.2 + 25 + 21.75 + 19.59 internal O.0 - 25.4 - 22.1 - 20 + 25 + 21.75 + 19.59 20 external O.1 - 24.65 - 21.7 - 19.1 + 24.9 + 21.65 + 19.49 internal O.1 - 25.5 - 22.2 - 20.1 - 20.1 + 25.1 + 21.85 + 19.69 + 20 external O.2 - 24.55 - 21.6 - 19 + 24.8 + 21.55 + 19.39 internal O.2 - 25.6 - 22.3 - 20.2 - 20.2 + 25.2 + 21.95 + 19.79 + 20 external O.4 - 24.35 - 21.4 - 18.8 + 24.6 + 21.35 + 19.19 internal O.4 - 25.8 - 22.5 - 20.4 - 20.4 + 25.4 + 22.15 + 19.99 + 20 external O.8 - 23.95 - 21 - 18.4 + 24.2 + 20.95 + 18.79 internal O.8 - 26.2 - 22.9 - 20.8 - 20.8 + 25.8 + 22.55 + 20.39 + 20 @@ -2948,77 +2948,77 @@ external O.0 - 25.75 - 23.55 - 21.7 + 26 + 23.73 + 22.21 internal O.0 - 26.4 - 23.85 - 22.5 + 26 + 23.73 + 22.21 22.5 external O.1 - 25.65 - 23.45 - 21.6 + 25.9 + 23.63 + 22.11 internal O.1 - 26.5 - 23.95 - 22.6 - 22.6 + 26.1 + 23.83 + 22.31 + 22.5 external O.2 - 25.55 - 23.35 - 21.5 + 25.8 + 23.53 + 22.01 internal O.2 - 26.6 - 24.05 - 22.7 - 22.7 + 26.2 + 23.93 + 22.41 + 22.5 external O.4 - 25.35 - 23.15 - 21.3 + 25.6 + 23.33 + 21.81 internal O.4 - 26.8 - 24.25 - 22.9 - 22.9 + 26.4 + 24.13 + 22.61 + 22.5 external O.8 - 24.95 - 22.75 - 20.9 + 25.2 + 22.93 + 21.41 internal O.8 - 27.2 - 24.65 - 23.3 - 23.3 + 26.8 + 24.53 + 23.01 + 22.5 @@ -3028,77 +3028,77 @@ external O.0 - 25.75 - 22.8 - 20.2 + 26 + 22.75 + 20.59 internal O.0 - 26.4 - 23.1 - 21 + 26 + 22.75 + 20.59 21 external O.1 - 25.65 - 22.7 - 20.1 + 25.9 + 22.65 + 20.49 internal O.1 - 26.5 - 23.2 - 21.1 - 21.1 + 26.1 + 22.85 + 20.69 + 21 external O.2 - 25.55 - 22.6 - 20 + 25.8 + 22.55 + 20.39 internal O.2 - 26.6 - 23.3 - 21.2 - 21.2 + 26.2 + 22.95 + 20.79 + 21 external O.4 - 25.35 - 22.4 - 19.8 + 25.6 + 22.35 + 20.19 internal O.4 - 26.8 - 23.5 - 21.4 - 21.4 + 26.4 + 23.15 + 20.99 + 21 external O.8 - 24.95 - 22 - 19.4 + 25.2 + 21.95 + 19.79 internal O.8 - 27.2 - 23.9 - 21.8 - 21.8 + 26.8 + 23.55 + 21.39 + 21 @@ -3111,77 +3111,77 @@ external O.0 - 26.75 - 24.55 - 22.7 + 27 + 24.73 + 23.21 internal O.0 - 27.4 - 24.85 - 23.5 + 27 + 24.73 + 23.21 23.5 external O.1 - 26.65 - 24.45 - 22.6 + 26.9 + 24.63 + 23.11 internal O.1 - 27.5 - 24.95 - 23.6 - 23.6 + 27.1 + 24.83 + 23.31 + 23.5 external O.2 - 26.55 - 24.35 - 22.5 + 26.8 + 24.53 + 23.01 internal O.2 - 27.6 - 25.05 - 23.7 - 23.7 + 27.2 + 24.93 + 23.41 + 23.5 external O.4 - 26.35 - 24.15 - 22.3 + 26.6 + 24.33 + 22.81 internal O.4 - 27.8 - 25.25 - 23.9 - 23.9 + 27.4 + 25.13 + 23.61 + 23.5 external O.8 - 25.95 - 23.75 - 21.9 + 26.2 + 23.93 + 22.41 internal O.8 - 28.2 - 25.65 - 24.3 - 24.3 + 27.8 + 25.53 + 24.01 + 23.5 @@ -3191,77 +3191,77 @@ external O.0 - 26.75 - 23.8 - 21.2 + 27 + 23.75 + 21.59 internal O.0 - 27.4 - 24.1 - 22 + 27 + 23.75 + 21.59 22 external O.1 - 26.65 - 23.7 - 21.1 + 26.9 + 23.65 + 21.49 internal O.1 - 27.5 - 24.2 - 22.1 - 22.1 + 27.1 + 23.85 + 21.69 + 22 external O.2 - 26.55 - 23.6 - 21 + 26.8 + 23.55 + 21.39 internal O.2 - 27.6 - 24.3 - 22.2 - 22.2 + 27.2 + 23.95 + 21.79 + 22 external O.4 - 26.35 - 23.4 - 20.8 + 26.6 + 23.35 + 21.19 internal O.4 - 27.8 - 24.5 - 22.4 - 22.4 + 27.4 + 24.15 + 21.99 + 22 external O.8 - 25.95 - 23 - 20.4 + 26.2 + 22.95 + 20.79 internal O.8 - 28.2 - 24.9 - 22.8 - 22.8 + 27.8 + 24.55 + 22.39 + 22 @@ -3274,77 +3274,77 @@ external O.0 - 27.75 - 25.55 - 23.7 + 28 + 25.73 + 24.21 internal - O.0 - 28.4 - 25.85 - 24.5 + O.0 + 28 + 25.73 + 24.21 24.5 external O.1 - 27.65 - 25.45 - 23.6 + 27.9 + 25.63 + 24.11 internal O.1 - 28.5 - 25.95 - 24.6 - 24.6 + 28.1 + 25.83 + 24.31 + 24.5 external O.2 - 27.55 - 25.35 - 23.5 + 27.8 + 25.53 + 24.01 internal O.2 - 28.6 - 26.05 - 24.7 - 24.7 + 28.2 + 25.93 + 24.41 + 24.5 external O.4 - 27.35 - 25.15 - 23.3 + 27.6 + 25.33 + 23.81 internal O.4 - 28.8 - 26.25 - 24.9 - 24.9 + 28.4 + 26.13 + 24.61 + 24.5 external O.8 - 26.95 - 24.75 - 22.9 + 27.2 + 24.93 + 23.41 internal O.8 - 29.2 - 26.65 - 25.3 - 25.3 + 28.8 + 26.53 + 25.01 + 24.5 @@ -3354,77 +3354,77 @@ external O.0 - 27.75 - 24.8 - 22.2 + 28 + 24.75 + 22.59 internal O.0 - 28.4 - 25.1 - 23 + 28 + 24.75 + 22.59 23 external O.1 - 27.65 - 24.7 - 22.1 + 27.9 + 24.65 + 22.49 internal O.1 - 28.5 - 25.2 - 23.1 - 23.1 + 28.1 + 24.85 + 22.69 + 23 external O.2 - 27.55 - 24.6 - 22 + 27.8 + 24.55 + 22.39 internal O.2 - 28.6 - 25.3 - 23.2 - 23.2 + 28.2 + 24.95 + 22.79 + 23 external O.4 - 27.35 - 24.4 - 21.8 + 27.6 + 24.35 + 22.19 internal O.4 - 28.8 - 25.5 - 23.4 - 23.4 + 28.4 + 25.15 + 22.99 + 23 external O.8 - 26.95 - 24 - 21.4 + 27.2 + 23.95 + 21.79 internal O.8 - 29.2 - 25.9 - 23.8 - 23.8 + 28.8 + 25.55 + 23.39 + 23 @@ -3437,77 +3437,77 @@ external O.0 - 28.75 - 26.55 - 24.7 + 29 + 26.73 + 25.21 internal O.0 - 29.4 - 26.85 - 25.5 + 29 + 26.73 + 25.21 25.5 external O.1 - 28.65 - 26.45 - 24.6 + 28.9 + 26.63 + 25.11 internal O.1 - 29.5 - 26.95 - 25.6 - 25.6 + 29.1 + 26.83 + 25.31 + 25.5 external O.2 - 28.55 - 26.35 - 24.5 + 28.8 + 26.53 + 25.01 internal O.2 - 29.6 - 27.05 - 25.7 - 25.7 + 29.2 + 26.93 + 25.41 + 25.5 external O.4 - 28.35 - 26.15 - 24.3 + 28.6 + 26.33 + 24.81 internal O.4 - 29.8 - 27.25 - 25.9 - 25.9 + 29.4 + 27.13 + 25.61 + 25.5 external O.8 - 27.95 - 25.75 - 23.9 + 28.2 + 25.93 + 24.41 internal O.8 - 30.2 - 27.65 - 26.3 - 26.3 + 29.8 + 27.53 + 26.01 + 25.5 @@ -3517,77 +3517,77 @@ external O.0 - 28.75 - 25.8 - 23.2 + 29 + 25.75 + 23.59 internal O.0 - 29.4 - 26.1 - 24 + 29 + 25.75 + 23.59 24 external O.1 - 28.65 - 25.7 - 23.1 + 28.9 + 25.65 + 23.49 internal O.1 - 29.5 - 26.2 - 24.1 - 24.1 + 29.1 + 25.85 + 23.69 + 24 external O.2 - 28.55 - 25.6 - 23 + 28.8 + 25.55 + 23.39 internal O.2 - 29.6 - 26.3 - 24.2 - 24.2 + 29.2 + 25.95 + 23.79 + 24 external O.4 - 28.35 - 25.4 - 22.8 + 28.6 + 25.35 + 23.19 internal O.4 - 29.8 - 26.5 - 24.4 - 24.4 + 29.4 + 26.15 + 23.99 + 24 external O.8 - 27.95 - 25 - 22.4 + 28.2 + 24.95 + 22.79 internal O.8 - 30.2 - 26.9 - 24.8 - 24.8 + 29.8 + 26.55 + 24.39 + 24 @@ -3600,77 +3600,77 @@ external O.0 - 29.75 - 27.55 - 25.7 + 30 + 27.73 + 26.21 internal O.0 - 30.4 - 27.85 - 26.5 + 30 + 27.73 + 26.21 26.5 external O.1 - 29.65 - 27.45 - 25.6 + 29.9 + 27.63 + 26.11 internal O.1 - 30.5 - 27.95 - 26.6 - 26.6 + 30.1 + 27.83 + 26.31 + 26.5 external O.2 - 29.55 - 27.35 - 25.5 + 29.8 + 27.53 + 26.01 internal O.2 - 30.6 - 28.05 - 26.7 - 26.7 + 30.2 + 27.93 + 26.41 + 26.5 external O.4 - 29.35 - 27.15 - 25.3 + 29.6 + 27.33 + 25.81 internal O.4 - 30.8 - 28.25 - 26.9 - 26.9 + 30.4 + 28.13 + 26.61 + 26.5 external O.8 - 28.95 - 26.75 - 24.9 + 29.2 + 26.93 + 25.41 internal O.8 - 31.2 - 28.65 - 27.3 - 27.3 + 30.8 + 28.53 + 27.01 + 26.5 @@ -3680,77 +3680,77 @@ external O.0 - 29.75 - 26.8 - 24.2 + 30 + 26.75 + 24.59 internal O.0 - 30.4 - 27.1 - 25 + 30 + 26.75 + 24.59 25 external O.1 - 29.65 - 26.7 - 24.1 + 29.9 + 26.65 + 24.49 internal O.1 - 30.5 - 27.2 - 25.1 - 25.1 + 30.1 + 26.85 + 24.69 + 25 external O.2 - 29.55 - 26.6 - 24 + 29.8 + 26.55 + 24.39 internal O.2 - 30.6 - 27.3 - 25.2 - 25.2 + 30.2 + 26.95 + 24.79 + 25 external O.4 - 29.35 - 26.4 - 23.8 + 29.6 + 26.35 + 24.19 internal O.4 - 30.8 - 27.5 - 25.4 - 25.4 + 30.4 + 27.15 + 24.99 + 25 external O.8 - 28.95 - 26 - 23.4 + 29.2 + 25.95 + 23.79 internal O.8 - 31.2 - 27.9 - 25.8 - 25.8 + 30.8 + 27.55 + 25.39 + 25 @@ -3763,77 +3763,77 @@ external O.0 - 30.75 - 28.55 - 26.7 + 31 + 28.73 + 27.21 internal O.0 - 31.4 - 28.85 - 27.5 + 31 + 28.73 + 27.21 27.5 external O.1 - 30.65 - 28.45 - 26.6 + 30.9 + 28.63 + 27.11 internal O.1 - 31.5 - 28.95 - 27.6 - 27.6 + 31.1 + 28.83 + 27.31 + 27.5 external O.2 - 30.55 - 28.35 - 26.5 + 30.8 + 28.53 + 27.01 internal O.2 - 31.6 - 29.05 - 27.7 - 27.7 + 31.2 + 28.93 + 27.41 + 27.5 external O.4 - 30.35 - 28.15 - 26.3 + 30.6 + 28.33 + 26.81 internal O.4 - 31.8 - 29.25 - 27.9 - 27.9 + 31.4 + 29.13 + 27.61 + 27.5 external O.8 - 29.95 - 27.75 - 25.9 + 30.2 + 27.93 + 26.41 internal O.8 - 32.2 - 29.65 - 28.3 - 28.3 + 31.8 + 29.53 + 28.01 + 27.5 @@ -3843,77 +3843,77 @@ external O.0 - 30.75 - 27.8 - 25.2 + 31 + 27.75 + 25.59 internal O.0 - 31.4 - 28.1 - 26 + 31 + 27.75 + 25.59 26 external O.1 - 30.65 - 27.7 - 25.1 + 30.9 + 27.65 + 25.49 internal O.1 - 31.5 - 28.2 - 26.1 - 26.1 + 31.1 + 27.85 + 25.69 + 26 external O.2 - 30.55 - 27.6 - 25 + 30.8 + 27.55 + 25.39 internal O.2 - 31.6 - 28.3 - 26.2 - 26.2 + 31.2 + 27.95 + 25.79 + 26 external O.4 - 30.35 - 27.4 - 24.8 + 30.6 + 27.35 + 25.19 internal O.4 - 31.8 - 28.5 - 26.4 - 26.4 + 31.4 + 28.15 + 25.99 + 26 external O.8 - 29.95 - 27 - 24.4 + 30.2 + 26.95 + 24.79 internal O.8 - 32.2 - 28.9 - 26.8 - 26.8 + 31.8 + 28.55 + 26.39 + 26 @@ -3926,77 +3926,77 @@ external O.0 - 31.75 - 29.55 - 27.7 + 32 + 29.73 + 28.21 internal O.0 - 32.4 - 29.85 - 28.5 + 32 + 29.73 + 28.21 28.5 external O.1 - 31.65 - 29.45 - 27.6 + 31.9 + 29.63 + 28.11 internal O.1 - 32.5 - 29.95 - 28.6 - 28.6 + 32.1 + 29.83 + 28.31 + 28.5 external O.2 - 31.55 - 29.35 - 27.5 + 31.8 + 29.53 + 28.01 internal O.2 - 32.6 - 30.05 - 28.7 - 28.7 + 32.2 + 29.93 + 28.41 + 28.5 external O.4 - 31.35 - 29.15 - 27.3 + 31.6 + 29.33 + 27.81 internal O.4 - 32.8 - 30.25 - 28.9 - 28.9 + 32.4 + 30.13 + 28.61 + 28.5 external O.8 - 30.95 - 28.75 - 26.9 + 31.2 + 28.93 + 27.41 internal O.8 - 33.2 - 30.65 - 29.3 - 29.3 + 32.8 + 30.53 + 29.01 + 28.5 @@ -4006,77 +4006,77 @@ external O.0 - 31.75 - 28.8 - 26.2 + 32 + 28.75 + 26.59 internal O.0 - 32.4 - 29.1 - 27 + 32 + 28.75 + 26.59 27 external O.1 - 31.65 - 28.7 - 26.1 + 31.9 + 28.65 + 26.49 internal O.1 - 32.5 - 29.2 - 27.1 - 27.1 + 32.1 + 28.85 + 26.69 + 27 external O.2 - 31.55 - 28.6 - 26 + 31.8 + 28.55 + 26.39 internal O.2 - 32.6 - 29.3 - 27.2 - 27.2 + 32.2 + 28.95 + 26.79 + 27 external O.4 - 31.35 - 28.4 - 25.8 + 31.6 + 28.35 + 26.19 internal O.4 - 32.8 - 29.5 - 27.4 - 27.4 + 32.4 + 29.15 + 26.99 + 27 external O.8 - 30.95 - 28 - 25.4 + 31.2 + 27.95 + 25.79 internal O.8 - 33.2 - 29.9 - 27.8 - 27.8 + 32.8 + 29.55 + 27.39 + 27 @@ -4089,77 +4089,77 @@ external O.0 - 32.75 - 30.55 - 28.7 + 33 + 30.73 + 29.21 internal O.0 - 33.4 - 30.85 - 29.5 + 33 + 30.73 + 29.21 29.5 external O.1 - 32.65 - 30.45 - 28.6 + 32.9 + 30.63 + 29.11 internal O.1 - 33.5 - 30.95 - 29.6 - 29.6 + 33.1 + 30.83 + 29.31 + 29.5 external O.2 - 32.55 - 30.35 - 28.5 + 32.8 + 30.53 + 29.01 internal O.2 - 33.6 - 31.05 - 29.7 - 29.7 + 33.2 + 30.93 + 29.41 + 29.5 external O.4 - 32.35 - 30.15 - 28.3 + 32.6 + 30.33 + 28.81 internal O.4 - 33.8 - 31.25 - 29.9 - 29.9 + 33.4 + 31.13 + 29.61 + 29.5 external O.8 - 31.95 - 29.75 - 27.9 + 32.2 + 29.93 + 28.41 internal O.8 - 34.2 - 31.65 - 30.3 - 30.3 + 33.8 + 31.53 + 30.01 + 29.5 @@ -4169,77 +4169,77 @@ external O.0 - 32.75 - 29.8 - 27.2 + 33 + 29.75 + 27.59 internal O.0 - 33.4 - 30.1 - 28 + 33 + 29.75 + 27.59 28 external O.1 - 32.65 - 29.7 - 27.1 + 32.9 + 29.65 + 27.49 internal O.1 - 33.5 - 30.2 - 28.1 - 28.1 + 33.1 + 29.85 + 27.69 + 28 external O.2 - 32.55 - 29.6 - 27 + 32.8 + 29.55 + 27.39 internal O.2 - 33.6 - 30.3 - 28.2 - 28.2 + 33.2 + 29.95 + 27.79 + 28 external O.4 - 32.35 - 29.4 - 26.8 + 32.6 + 29.35 + 27.19 internal O.4 - 33.8 - 30.5 - 28.4 - 28.4 + 33.4 + 30.15 + 27.99 + 28 external O.8 - 31.95 - 29 - 26.4 + 32.2 + 28.95 + 26.79 internal O.8 - 34.2 - 30.9 - 28.8 - 28.8 + 33.8 + 30.55 + 28.39 + 28 @@ -4252,77 +4252,77 @@ external O.0 - 33.75 - 31.55 - 29.7 + 34 + 31.73 + 30.21 internal O.0 - 34.4 - 31.85 - 30.5 + 34 + 31.73 + 30.21 30.5 external O.1 - 33.65 - 31.45 - 29.6 + 33.9 + 31.63 + 30.11 internal O.1 - 34.5 - 31.95 - 30.6 - 30.6 + 34.1 + 31.83 + 30.31 + 30.5 external O.2 - 33.55 - 31.35 - 29.5 + 33.8 + 31.53 + 30.01 internal O.2 - 34.6 - 32.05 - 30.7 - 30.7 + 34.2 + 31.93 + 30.41 + 30.5 external O.4 - 33.35 - 31.15 - 29.3 + 33.6 + 31.33 + 29.81 internal O.4 - 34.8 - 32.25 - 30.9 - 30.9 + 34.4 + 32.13 + 30.61 + 30.5 external O.8 - 32.95 - 30.75 - 28.9 + 33.2 + 30.93 + 29.41 internal O.8 - 35.2 - 32.65 - 31.3 - 31.3 + 34.8 + 32.53 + 31.01 + 30.5 @@ -4332,77 +4332,77 @@ external O.0 - 33.75 - 30.8 - 28.2 + 34 + 30.75 + 28.59 internal O.0 - 34.4 - 31.1 - 29 + 34 + 30.75 + 28.59 29 external O.1 - 33.65 - 30.7 - 28.1 + 33.9 + 30.65 + 28.49 internal O.1 - 34.5 - 31.2 - 29.1 - 29.1 + 34.1 + 30.85 + 28.69 + 29 external O.2 - 33.55 - 30.6 - 28 + 33.8 + 30.55 + 28.39 internal O.2 - 34.6 - 31.3 - 29.2 - 29.2 + 34.2 + 30.95 + 28.79 + 29 external O.4 - 33.35 - 30.4 - 27.8 + 33.6 + 30.35 + 28.19 internal O.4 - 34.8 - 31.5 - 29.4 - 29.4 + 34.4 + 31.15 + 28.99 + 29 external O.8 - 32.95 - 30 - 27.4 + 33.2 + 29.95 + 27.79 internal O.8 - 35.2 - 31.9 - 29.8 - 29.8 + 34.8 + 31.55 + 29.39 + 29 @@ -4415,77 +4415,77 @@ external O.0 - 34.75 - 32.55 - 30.7 + 35 + 32.73 + 31.21 internal O.0 - 35.4 - 32.85 - 31.5 + 35 + 32.73 + 31.21 31.5 external O.1 - 34.65 - 32.45 - 30.6 + 34.9 + 32.63 + 31.11 internal O.1 - 35.5 - 32.95 - 31.6 - 31.6 + 35.1 + 32.83 + 31.31 + 31.5 external O.2 - 34.55 - 32.35 - 30.5 + 34.8 + 32.53 + 31.01 internal O.2 - 35.6 - 33.05 - 31.7 - 31.7 + 35.2 + 32.93 + 31.41 + 31.5 external O.4 - 34.35 - 32.15 - 30.3 + 34.6 + 32.33 + 30.81 internal O.4 - 35.8 - 33.25 - 31.9 - 31.9 + 35.4 + 33.13 + 31.61 + 31.5 external O.8 - 33.95 - 31.75 - 29.9 + 34.2 + 31.93 + 30.41 internal O.8 - 36.2 - 33.65 - 32.3 - 32.3 + 35.8 + 33.53 + 32.01 + 31.5 @@ -4495,77 +4495,77 @@ external O.0 - 34.75 - 31.8 - 29.2 + 35 + 31.75 + 29.59 internal O.0 - 35.4 - 32.1 - 30 + 35 + 31.75 + 29.59 30 external O.1 - 34.65 - 31.7 - 29.1 + 34.9 + 31.65 + 29.49 internal O.1 - 35.5 - 32.2 - 30.1 - 30.1 + 35.1 + 31.85 + 29.69 + 30 external O.2 - 34.55 - 31.6 - 29 + 34.8 + 31.55 + 29.39 internal O.2 - 35.6 - 32.3 - 30.2 - 30.2 + 35.2 + 31.95 + 29.79 + 30 external O.4 - 34.35 - 31.4 - 28.8 + 34.6 + 31.35 + 29.19 internal O.4 - 35.8 - 32.5 - 30.4 - 30.4 + 35.4 + 32.15 + 29.99 + 30 external O.8 - 33.95 - 31 - 28.4 + 34.2 + 30.95 + 28.79 internal O.8 - 36.2 - 32.9 - 30.8 - 30.8 + 35.8 + 32.55 + 30.39 + 30 @@ -4578,77 +4578,77 @@ external O.0 - 35.75 - 33.55 - 31.7 + 36 + 33.73 + 32.21 internal O.0 - 36.4 - 33.85 - 32.5 + 36 + 33.73 + 32.21 32.5 external O.1 - 35.65 - 33.45 - 31.6 + 35.9 + 33.63 + 32.11 internal O.1 - 36.5 - 33.95 - 32.6 - 32.6 + 36.1 + 33.83 + 32.31 + 32.5 external O.2 - 35.55 - 33.35 - 31.5 + 35.8 + 33.53 + 32.01 internal O.2 - 36.6 - 34.05 - 32.7 - 32.7 + 36.2 + 33.93 + 32.41 + 32.5 external O.4 - 35.35 - 33.15 - 31.3 + 35.6 + 33.33 + 31.81 internal O.4 - 36.8 - 34.25 - 32.9 - 32.9 + 36.4 + 34.13 + 32.61 + 32.5 external O.8 - 34.95 - 32.75 - 30.9 + 35.2 + 32.93 + 31.41 internal O.8 - 37.2 - 34.65 - 33.3 - 33.3 + 36.8 + 34.53 + 33.01 + 32.5 @@ -4658,77 +4658,77 @@ external O.0 - 35.75 - 32.8 - 30.2 + 36 + 32.75 + 30.59 internal O.0 - 36.4 - 33.1 - 31 + 36 + 32.75 + 30.59 31 external O.1 - 35.65 - 32.7 - 30.1 + 35.9 + 32.65 + 30.49 internal O.1 - 36.5 - 33.2 - 31.1 - 31.1 + 36.1 + 32.85 + 30.69 + 31 external O.2 - 35.55 - 32.6 - 30 + 35.8 + 32.55 + 30.39 internal O.2 - 36.6 - 33.3 - 31.2 - 31.2 + 36.2 + 32.95 + 30.79 + 31 external O.4 - 35.35 - 32.4 - 29.8 + 35.6 + 32.35 + 30.19 internal O.4 - 36.8 - 33.5 - 31.4 - 31.4 + 36.4 + 33.15 + 30.99 + 31 external O.8 - 34.95 - 32 - 29.4 + 35.2 + 31.95 + 29.79 internal O.8 - 37.2 - 33.9 - 31.8 - 31.8 + 36.8 + 33.55 + 31.39 + 31 @@ -4741,77 +4741,77 @@ external O.0 - 36.75 - 34.55 - 32.7 + 37 + 34.73 + 33.21 internal O.0 - 37.4 - 34.85 - 33.5 + 37 + 34.73 + 33.21 33.5 external O.1 - 36.65 - 34.45 - 32.6 + 36.9 + 34.63 + 33.11 internal O.1 - 37.5 - 34.95 - 33.6 - 33.6 + 37.1 + 34.83 + 33.31 + 33.5 external O.2 - 36.55 - 34.35 - 32.5 + 36.8 + 34.53 + 33.01 internal O.2 - 37.6 - 35.05 - 33.7 - 33.7 + 37.2 + 34.93 + 33.41 + 33.5 external O.4 - 36.35 - 34.15 - 32.3 + 36.6 + 34.33 + 32.81 internal O.4 - 37.8 - 35.25 - 33.9 - 33.9 + 37.4 + 35.13 + 33.61 + 33.5 external O.8 - 35.95 - 33.75 - 31.9 + 36.2 + 33.93 + 32.41 internal O.8 - 38.2 - 35.65 - 34.3 - 34.3 + 37.8 + 35.53 + 34.01 + 33.5 @@ -4821,77 +4821,77 @@ external O.0 - 36.75 - 33.8 - 31.2 + 37 + 33.75 + 31.59 internal O.0 - 37.4 - 34.1 - 32 + 37 + 33.75 + 31.59 32 external O.1 - 36.65 - 33.7 - 31.1 + 36.9 + 33.65 + 31.49 internal O.1 - 37.5 - 34.2 - 32.1 - 32.1 + 37.1 + 33.85 + 31.69 + 32 external O.2 - 36.55 - 33.6 - 31 + 36.8 + 33.55 + 31.39 internal O.2 - 37.6 - 34.3 - 32.2 - 32.2 + 37.2 + 33.95 + 31.79 + 32 external O.4 - 36.35 - 33.4 - 30.8 + 36.6 + 33.35 + 31.19 internal O.4 - 37.8 - 34.5 - 32.4 - 32.4 + 37.4 + 34.15 + 31.99 + 32 external O.8 - 35.95 - 33 - 30.4 + 36.2 + 32.95 + 30.79 internal O.8 - 38.2 - 34.9 - 32.8 - 32.8 + 37.8 + 34.55 + 32.39 + 32 @@ -4904,77 +4904,77 @@ external O.0 - 37.75 - 35.55 - 33.7 + 38 + 35.73 + 34.21 internal O.0 - 38.4 - 35.85 - 34.5 + 38 + 35.73 + 34.21 34.5 external O.1 - 37.65 - 35.45 - 33.6 + 37.9 + 35.63 + 34.11 internal O.1 - 38.5 - 35.95 - 34.6 - 34.6 + 38.1 + 35.83 + 34.31 + 34.5 external O.2 - 37.55 - 35.35 - 33.5 + 37.8 + 35.53 + 34.01 internal O.2 - 38.6 - 36.05 - 34.7 - 34.7 + 38.2 + 35.93 + 34.41 + 34.5 external O.4 - 37.35 - 35.15 - 33.3 + 37.6 + 35.33 + 33.81 internal O.4 - 38.8 - 36.25 - 34.9 - 34.9 + 38.4 + 36.13 + 34.61 + 34.5 external O.8 - 36.95 - 34.75 - 32.9 + 37.2 + 34.93 + 33.41 internal O.8 - 39.2 - 36.65 - 35.3 - 35.3 + 38.8 + 36.53 + 35.01 + 34.5 @@ -4984,77 +4984,77 @@ external O.0 - 37.75 - 34.8 - 32.2 + 38 + 34.75 + 32.59 internal O.0 - 38.4 - 35.1 - 33 + 38 + 34.75 + 32.59 33 external O.1 - 37.65 - 34.7 - 32.1 + 37.9 + 34.65 + 32.49 internal O.1 - 38.5 - 35.2 - 33.1 - 33.1 + 38.1 + 34.85 + 32.69 + 33 external O.2 - 37.55 - 34.6 - 32 + 37.8 + 34.55 + 32.39 internal O.2 - 38.6 - 35.3 - 33.2 - 33.2 + 38.2 + 34.95 + 32.79 + 33 external O.4 - 37.35 - 34.4 - 31.8 + 37.6 + 34.35 + 32.19 internal O.4 - 38.8 - 35.5 - 33.4 - 33.4 + 38.4 + 35.15 + 32.99 + 33 external O.8 - 36.95 - 34 - 31.4 + 37.2 + 33.95 + 31.79 internal O.8 - 39.2 - 35.9 - 33.8 - 33.8 + 38.8 + 35.55 + 33.39 + 33 @@ -5067,77 +5067,77 @@ external O.0 - 38.75 - 36.55 - 34.7 + 39 + 36.73 + 35.21 internal O.0 - 39.4 - 36.85 - 35.5 + 39 + 36.73 + 35.21 35.5 external O.1 - 38.65 - 36.45 - 34.6 + 38.9 + 36.63 + 35.11 internal O.1 - 39.5 - 36.95 - 35.6 - 35.6 + 39.1 + 36.83 + 35.31 + 35.5 external O.2 - 38.55 - 36.35 - 34.5 + 38.8 + 36.53 + 35.01 internal O.2 - 39.6 - 37.05 - 35.7 - 35.7 + 39.2 + 36.93 + 35.41 + 35.5 external O.4 - 38.35 - 36.15 - 34.3 + 38.6 + 36.33 + 34.81 internal O.4 - 39.8 - 37.25 - 35.9 - 35.9 + 39.4 + 37.13 + 35.61 + 35.5 external O.8 - 37.95 - 35.75 - 33.9 + 38.2 + 35.93 + 34.41 internal O.8 - 40.2 - 37.65 - 36.3 - 36.3 + 39.8 + 37.53 + 36.01 + 35.5 @@ -5147,77 +5147,77 @@ external O.0 - 38.75 - 35.8 - 33.2 + 39 + 35.75 + 33.59 internal O.0 - 39.4 - 36.1 - 34 + 39 + 35.75 + 33.59 34 external O.1 - 38.65 - 35.7 - 33.1 + 38.9 + 35.65 + 33.49 internal O.1 - 39.5 - 36.2 - 34.1 - 34.1 + 39.1 + 35.85 + 33.69 + 34 external O.2 - 38.55 - 35.6 - 33 + 38.8 + 35.55 + 33.39 internal O.2 - 39.6 - 36.3 - 34.2 - 34.2 + 39.2 + 35.95 + 33.79 + 34 external O.4 - 38.35 - 35.4 - 32.8 + 38.6 + 35.35 + 33.19 internal O.4 - 39.8 - 36.5 - 34.4 - 34.4 + 39.4 + 36.15 + 33.99 + 34 external O.8 - 37.95 - 35 - 32.4 + 38.2 + 34.95 + 32.79 internal O.8 - 40.2 - 36.9 - 34.8 - 34.8 + 39.8 + 36.55 + 34.39 + 34 @@ -5230,77 +5230,77 @@ external O.0 - 39.75 - 37.55 - 35.7 + 40 + 37.73 + 36.21 internal O.0 - 40.4 - 37.85 - 36.5 + 40 + 37.73 + 36.21 36.5 external O.1 - 39.65 - 37.45 - 35.6 + 39.9 + 37.63 + 36.11 internal O.1 - 40.5 - 37.95 - 36.6 - 36.6 + 40.1 + 37.83 + 36.31 + 36.5 external O.2 - 39.55 - 37.35 - 35.5 + 39.8 + 37.53 + 36.01 internal O.2 - 40.6 - 38.05 - 36.7 - 36.7 + 40.2 + 37.93 + 36.41 + 36.5 external O.4 - 39.35 - 37.15 - 35.3 + 39.6 + 37.33 + 35.81 internal O.4 - 40.8 - 38.25 - 36.9 - 36.9 + 40.4 + 38.13 + 36.61 + 36.5 external O.8 - 38.95 - 36.75 - 34.9 + 39.2 + 36.93 + 35.41 internal O.8 - 41.2 - 38.65 - 37.3 - 37.3 + 40.8 + 38.53 + 37.01 + 36.5 @@ -5310,77 +5310,77 @@ external O.0 - 39.75 - 36.8 - 34.2 + 40 + 36.75 + 34.59 internal O.0 - 40.4 - 37.1 - 35 + 40 + 36.75 + 34.59 35 external O.1 - 39.65 - 36.7 - 34.1 + 39.9 + 36.65 + 34.49 internal O.1 - 40.5 - 37.2 - 35.1 - 35.1 + 40.1 + 36.85 + 34.69 + 35 external O.2 - 39.55 - 36.6 - 34 + 39.8 + 36.55 + 34.39 internal O.2 - 40.6 - 37.3 - 35.2 - 35.2 + 40.2 + 36.95 + 34.79 + 35 external O.4 - 39.35 - 36.4 - 33.8 + 39.6 + 36.35 + 34.19 internal O.4 - 40.8 - 37.5 - 35.4 - 35.4 + 40.4 + 37.15 + 34.99 + 35 external O.8 - 38.95 - 36 - 33.4 + 39.2 + 35.95 + 33.79 internal O.8 - 41.2 - 37.9 - 35.8 - 35.8 + 40.8 + 37.55 + 35.39 + 35 @@ -5393,77 +5393,77 @@ external O.0 - 40.75 - 38.55 - 36.7 + 41 + 38.73 + 37.21 internal O.0 - 41.4 - 38.85 - 37.5 + 41 + 38.73 + 37.21 37.5 external O.1 - 40.65 - 38.45 - 36.6 + 40.9 + 38.63 + 37.11 internal O.1 - 41.5 - 38.95 - 37.6 - 37.6 + 41.1 + 38.83 + 37.31 + 37.5 external O.2 - 40.55 - 38.35 - 36.5 + 40.8 + 38.53 + 37.01 internal O.2 - 41.6 - 39.05 - 37.7 - 37.7 + 41.2 + 38.93 + 37.41 + 37.5 external O.4 - 40.35 - 38.15 - 36.3 + 40.6 + 38.33 + 36.81 internal O.4 - 41.8 - 39.25 - 37.9 - 37.9 + 41.4 + 39.13 + 37.61 + 37.5 external O.8 - 39.95 - 37.75 - 35.9 + 40.2 + 37.93 + 36.41 internal O.8 - 42.2 - 39.65 - 38.3 - 38.3 + 41.8 + 39.53 + 38.01 + 37.5 @@ -5473,77 +5473,77 @@ external O.0 - 40.75 - 37.8 - 35.2 + 41 + 37.75 + 35.59 internal O.0 - 41.4 - 38.1 - 36 + 41 + 37.75 + 35.59 36 external O.1 - 40.65 - 37.7 - 35.1 + 40.9 + 37.65 + 35.49 internal O.1 - 41.5 - 38.2 - 36.1 - 36.1 + 41.1 + 37.85 + 35.69 + 36 external O.2 - 40.55 - 37.6 - 35 + 40.8 + 37.55 + 35.39 internal O.2 - 41.6 - 38.3 - 36.2 - 36.2 + 41.2 + 37.95 + 35.79 + 36 external O.4 - 40.35 - 37.4 - 34.8 + 40.6 + 37.35 + 35.19 internal O.4 - 41.8 - 38.5 - 36.4 - 36.4 + 41.4 + 38.15 + 35.99 + 36 external O.8 - 39.95 - 37 - 34.4 + 40.2 + 36.95 + 34.79 internal O.8 - 42.2 - 38.9 - 36.8 - 36.8 + 41.8 + 38.55 + 36.39 + 36 @@ -5556,77 +5556,77 @@ external O.0 - 41.75 - 39.55 - 37.7 + 42 + 39.73 + 38.21 internal O.0 - 42.4 - 39.85 - 38.5 + 42 + 39.73 + 38.21 38.5 external O.1 - 41.65 - 39.45 - 37.6 + 41.9 + 39.63 + 38.11 internal O.1 - 42.5 - 39.95 - 38.6 - 38.6 + 42.1 + 39.83 + 38.31 + 38.5 external O.2 - 41.55 - 39.35 - 37.5 + 41.8 + 39.53 + 38.01 internal O.2 - 42.6 - 40.05 - 38.7 - 38.7 + 42.2 + 39.93 + 38.41 + 38.5 external O.4 - 41.35 - 39.15 - 37.3 + 41.6 + 39.33 + 37.81 internal O.4 - 42.8 - 40.25 - 38.9 - 38.9 + 42.4 + 40.13 + 38.61 + 38.5 external O.8 - 40.95 - 38.75 - 36.9 + 41.2 + 38.93 + 37.41 internal O.8 - 43.2 - 40.65 - 39.3 - 39.3 + 42.8 + 40.53 + 39.01 + 38.5 @@ -5636,77 +5636,77 @@ external O.0 - 41.75 - 38.8 - 36.2 + 42 + 38.75 + 36.59 internal O.0 - 42.4 - 39.1 - 37 + 42 + 38.75 + 36.59 37 external O.1 - 41.65 - 38.7 - 36.1 + 41.9 + 38.65 + 36.49 internal O.1 - 42.5 - 39.2 - 37.1 - 37.1 + 42.1 + 38.85 + 36.69 + 37 external O.2 - 41.55 - 38.6 - 36 + 41.8 + 38.55 + 36.39 internal O.2 - 42.6 - 39.3 - 37.2 - 37.2 + 42.2 + 38.95 + 36.79 + 37 external O.4 - 41.35 - 38.4 - 35.8 + 41.6 + 38.35 + 36.19 internal O.4 - 42.8 - 39.5 - 37.4 - 37.4 + 42.4 + 39.15 + 36.99 + 37 external O.8 - 40.95 - 38 - 35.4 + 41.2 + 37.95 + 35.79 internal O.8 - 43.2 - 39.9 - 37.8 - 37.8 + 42.8 + 39.55 + 37.39 + 37 @@ -5719,77 +5719,77 @@ external O.0 - 42.75 - 40.55 - 38.7 + 43 + 40.73 + 39.21 internal O.0 - 43.4 - 40.85 - 39.5 + 43 + 40.73 + 39.21 39.5 external O.1 - 42.65 - 40.45 - 38.6 + 42.9 + 40.63 + 39.11 internal O.1 - 43.5 - 40.95 - 39.6 - 39.6 + 43.1 + 40.83 + 39.31 + 39.5 external O.2 - 42.55 - 40.35 - 38.5 + 42.8 + 40.53 + 39.01 internal O.2 - 43.6 - 41.05 - 39.7 - 39.7 + 43.2 + 40.93 + 39.41 + 39.5 external O.4 - 42.35 - 40.15 - 38.3 + 42.6 + 40.33 + 38.81 internal O.4 - 43.8 - 41.25 - 39.9 - 39.9 + 43.4 + 41.13 + 39.61 + 39.5 external O.8 - 41.95 - 39.75 - 37.9 + 42.2 + 39.93 + 38.41 internal O.8 - 44.2 - 41.65 - 40.3 - 40.3 + 43.8 + 41.53 + 40.01 + 39.5 @@ -5799,77 +5799,77 @@ external O.0 - 42.75 - 39.8 - 37.2 + 43 + 39.75 + 37.59 internal O.0 - 43.4 - 40.1 - 38 + 43 + 39.75 + 37.59 38 external O.1 - 42.65 - 39.7 - 37.1 + 42.9 + 39.65 + 37.49 internal O.1 - 43.5 - 40.2 - 38.1 - 38.1 + 43.1 + 39.85 + 37.69 + 38 external O.2 - 42.55 - 39.6 - 37 + 42.8 + 39.55 + 37.39 internal O.2 - 43.6 - 40.3 - 38.2 - 38.2 + 43.2 + 39.95 + 37.79 + 38 external O.4 - 42.35 - 39.4 - 36.8 + 42.6 + 39.35 + 37.19 internal O.4 - 43.8 - 40.5 - 38.4 - 38.4 + 43.4 + 40.15 + 37.99 + 38 external O.8 - 41.95 - 39 - 36.4 + 42.2 + 38.95 + 36.79 internal O.8 - 44.2 - 40.9 - 38.8 - 38.8 + 43.8 + 40.55 + 38.39 + 38 @@ -5882,77 +5882,77 @@ external O.0 - 43.75 - 41.55 - 39.7 + 44 + 41.73 + 40.21 internal O.0 - 44.4 - 41.85 - 40.5 + 44 + 41.73 + 40.21 40.5 external O.1 - 43.65 - 41.45 - 39.6 + 43.9 + 41.63 + 40.11 internal O.1 - 44.5 - 41.95 - 40.6 - 40.6 + 44.1 + 41.83 + 40.31 + 40.5 external O.2 - 43.55 - 41.35 - 39.5 + 43.8 + 41.53 + 40.01 internal O.2 - 44.6 - 42.05 - 40.7 - 40.7 + 44.2 + 41.93 + 40.41 + 40.5 external O.4 - 43.35 - 41.15 - 39.3 + 43.6 + 41.33 + 39.81 internal O.4 - 44.8 - 42.25 - 40.9 - 40.9 + 44.4 + 42.13 + 40.61 + 40.5 external O.8 - 42.95 - 40.75 - 38.9 + 43.2 + 40.93 + 39.41 internal O.8 - 45.2 - 42.65 - 41.3 - 41.3 + 44.8 + 42.53 + 41.01 + 40.5 @@ -5962,77 +5962,77 @@ external O.0 - 43.75 - 40.8 - 38.2 + 44 + 40.75 + 38.59 internal O.0 - 44.4 - 41.1 - 39 + 44 + 40.75 + 38.59 39 external O.1 - 43.65 - 40.7 - 38.1 + 43.9 + 40.65 + 38.49 internal O.1 - 44.5 - 41.2 - 39.1 - 39.1 + 44.1 + 40.85 + 38.69 + 39 external O.2 - 43.55 - 40.6 - 38 + 43.8 + 40.55 + 38.39 internal O.2 - 44.6 - 41.3 - 39.2 - 39.2 + 44.2 + 40.95 + 38.79 + 39 external O.4 - 43.35 - 40.4 - 37.8 + 43.6 + 40.35 + 38.19 internal O.4 - 44.8 - 41.5 - 39.4 - 39.4 + 44.4 + 41.15 + 38.99 + 39 external O.8 - 42.95 - 40 - 37.4 + 43.2 + 39.95 + 37.79 internal O.8 - 45.2 - 41.9 - 39.8 - 39.8 + 44.8 + 41.55 + 39.39 + 39 @@ -6045,77 +6045,77 @@ external O.0 - 44.75 - 42.55 - 40.7 + 45 + 42.73 + 41.21 internal O.0 - 45.4 - 42.85 - 41.5 + 45 + 42.73 + 41.21 41.5 external O.1 - 44.65 - 42.45 - 40.6 + 44.9 + 42.63 + 41.11 internal O.1 - 45.5 - 42.95 - 41.6 - 41.6 + 45.1 + 42.83 + 41.31 + 41.5 external O.2 - 44.55 - 42.35 - 40.5 + 44.8 + 42.53 + 41.01 internal O.2 - 45.6 - 43.05 - 41.7 - 41.7 + 45.2 + 42.93 + 41.41 + 41.5 external O.4 - 44.35 - 42.15 - 40.3 + 44.6 + 42.33 + 40.81 internal O.4 - 45.8 - 43.25 - 41.9 - 41.9 + 45.4 + 43.13 + 41.61 + 41.5 external O.8 - 43.95 - 41.75 - 39.9 + 44.2 + 41.93 + 40.41 internal O.8 - 46.2 - 43.65 - 42.3 - 42.3 + 45.8 + 43.53 + 42.01 + 41.5 @@ -6125,77 +6125,77 @@ external O.0 - 44.75 - 41.8 - 39.2 + 45 + 41.75 + 39.59 internal O.0 - 45.4 - 42.1 - 40 + 45 + 41.75 + 39.59 40 external O.1 - 44.65 - 41.7 - 39.1 + 44.9 + 41.65 + 39.49 internal O.1 - 45.5 - 42.2 - 40.1 - 40.1 + 45.1 + 41.85 + 39.69 + 40 external O.2 - 44.55 - 41.6 - 39 + 44.8 + 41.55 + 39.39 internal O.2 - 45.6 - 42.3 - 40.2 - 40.2 + 45.2 + 41.95 + 39.79 + 40 external O.4 - 44.35 - 41.4 - 38.8 + 44.6 + 41.35 + 39.19 internal O.4 - 45.8 - 42.5 - 40.4 - 40.4 + 45.4 + 42.15 + 39.99 + 40 external O.8 - 43.95 - 41 - 38.4 + 44.2 + 40.95 + 38.79 internal O.8 - 46.2 - 42.9 - 40.8 - 40.8 + 45.8 + 42.55 + 40.39 + 40 @@ -6208,77 +6208,77 @@ external O.0 - 45.75 - 43.55 - 41.7 + 46 + 43.73 + 42.21 internal O.0 - 46.4 - 43.85 - 42.5 + 46 + 43.73 + 42.21 42.5 external O.1 - 45.65 - 43.45 - 41.6 + 45.9 + 43.63 + 42.11 internal O.1 - 46.5 - 43.95 - 42.6 - 42.6 + 46.1 + 43.83 + 42.31 + 42.5 external O.2 - 45.55 - 43.35 - 41.5 + 45.8 + 43.53 + 42.01 internal O.2 - 46.6 - 44.05 - 42.7 - 42.7 + 46.2 + 43.93 + 42.41 + 42.5 external O.4 - 45.35 - 43.15 - 41.3 + 45.6 + 43.33 + 41.81 internal O.4 - 46.8 - 44.25 - 42.9 - 42.9 + 46.4 + 44.13 + 42.61 + 42.5 external O.8 - 44.95 - 42.75 - 40.9 + 45.2 + 42.93 + 41.41 internal O.8 - 47.2 - 44.65 - 43.3 - 43.3 + 46.8 + 44.53 + 43.01 + 42.5 @@ -6288,77 +6288,77 @@ external O.0 - 45.75 - 42.8 - 40.2 + 46 + 42.75 + 40.59 internal O.0 - 46.4 - 43.1 - 41 + 46 + 42.75 + 40.59 41 external O.1 - 45.65 - 42.7 - 40.1 + 45.9 + 42.65 + 40.49 internal O.1 - 46.5 - 43.2 - 41.1 - 41.1 + 46.1 + 42.85 + 40.69 + 41 external O.2 - 45.55 - 42.6 - 40 + 45.8 + 42.55 + 40.39 internal O.2 - 46.6 - 43.3 - 41.2 - 41.2 + 46.2 + 42.95 + 40.79 + 41 external O.4 - 45.35 - 42.4 - 39.8 + 45.6 + 42.35 + 40.19 internal O.4 - 46.8 - 43.5 - 41.4 - 41.4 + 46.4 + 43.15 + 40.99 + 41 external O.8 - 44.95 - 42 - 39.4 + 45.2 + 41.95 + 39.79 internal O.8 - 47.2 - 43.9 - 41.8 - 41.8 + 46.8 + 43.55 + 41.39 + 41 @@ -6371,77 +6371,77 @@ external O.0 - 46.75 - 44.55 - 42.7 + 47 + 44.73 + 43.21 internal O.0 - 47.4 - 44.85 - 43.5 + 47 + 44.73 + 43.21 43.5 external O.1 - 46.65 - 44.45 - 42.6 + 46.9 + 44.63 + 43.11 internal O.1 - 47.5 - 44.95 - 43.6 - 43.6 + 47.1 + 44.83 + 43.31 + 43.5 external O.2 - 46.55 - 44.35 - 42.5 + 46.8 + 44.53 + 43.01 internal O.2 - 47.6 - 45.05 - 43.7 - 43.7 + 47.2 + 44.93 + 43.41 + 43.5 external O.4 - 46.35 - 44.15 - 42.3 + 46.6 + 44.33 + 42.81 internal O.4 - 47.8 - 45.25 - 43.9 - 43.9 + 47.4 + 45.13 + 43.61 + 43.5 external O.8 - 45.95 - 43.75 - 41.9 + 46.2 + 43.93 + 42.41 internal O.8 - 48.2 - 45.65 - 44.3 - 44.3 + 47.8 + 45.53 + 44.01 + 43.5 @@ -6451,77 +6451,77 @@ external O.0 - 46.75 - 43.8 - 41.2 + 47 + 43.75 + 41.59 internal O.0 - 47.4 - 44.1 - 42 + 47 + 43.75 + 41.59 42 external O.1 - 46.65 - 43.7 - 41.1 + 46.9 + 43.65 + 41.49 internal O.1 - 47.5 - 44.2 - 42.1 - 42.1 + 47.1 + 43.85 + 41.69 + 42 external O.2 - 46.55 - 43.6 - 41 + 46.8 + 43.55 + 41.39 internal O.2 - 47.6 - 44.3 - 42.2 - 42.2 + 47.2 + 43.95 + 41.79 + 42 external O.4 - 46.35 - 43.4 - 40.8 + 46.6 + 43.35 + 41.19 internal O.4 - 47.8 - 44.5 - 42.4 - 42.4 + 47.4 + 44.15 + 41.99 + 42 external O.8 - 45.95 - 43 - 40.4 + 46.2 + 42.95 + 40.79 internal O.8 - 48.2 - 44.9 - 42.8 - 42.8 + 47.8 + 44.55 + 42.39 + 42 @@ -6534,77 +6534,77 @@ external O.0 - 47.75 - 45.55 - 43.7 + 48 + 45.73 + 44.21 internal O.0 - 48.4 - 45.85 - 44.5 + 48 + 45.73 + 44.21 44.5 external O.1 - 47.65 - 45.45 - 43.6 + 47.9 + 45.63 + 44.11 internal O.1 - 48.5 - 45.95 - 44.6 - 44.6 + 48.1 + 45.83 + 44.31 + 44.5 external O.2 - 47.55 - 45.35 - 43.5 + 47.8 + 45.53 + 44.01 internal O.2 - 48.6 - 46.05 - 44.7 - 44.7 + 48.2 + 45.93 + 44.41 + 44.5 external O.4 - 47.35 - 45.15 - 43.3 + 47.6 + 45.33 + 43.81 internal O.4 - 48.8 - 46.25 - 44.9 - 44.9 + 48.4 + 46.13 + 44.61 + 44.5 external O.8 - 46.95 - 44.75 - 42.9 + 47.2 + 44.93 + 43.41 internal O.8 - 49.2 - 46.65 - 45.3 - 45.3 + 48.8 + 46.53 + 45.01 + 44.5 @@ -6614,77 +6614,77 @@ external O.0 - 47.75 - 44.8 - 42.2 + 48 + 44.75 + 42.59 internal O.0 - 48.4 - 45.1 - 43 + 48 + 44.75 + 42.59 43 external O.1 - 47.65 - 44.7 - 42.1 + 47.9 + 44.65 + 42.49 internal O.1 - 48.5 - 45.2 - 43.1 - 43.1 + 48.1 + 44.85 + 42.69 + 43 external O.2 - 47.55 - 44.6 - 42 + 47.8 + 44.55 + 42.39 internal O.2 - 48.6 - 45.3 - 43.2 - 43.2 + 48.2 + 44.95 + 42.79 + 43 external O.4 - 47.35 - 44.4 - 41.8 + 47.6 + 44.35 + 42.19 internal O.4 - 48.8 - 45.5 - 43.4 - 43.4 + 48.4 + 45.15 + 42.99 + 43 external O.8 - 46.95 - 44 - 41.4 + 47.2 + 43.95 + 41.79 internal O.8 - 49.2 - 45.9 - 43.8 - 43.8 + 48.8 + 45.55 + 43.39 + 43 @@ -6697,77 +6697,77 @@ external O.0 - 48.75 - 46.55 - 44.7 + 49 + 46.73 + 45.21 internal O.0 - 49.4 - 46.85 - 45.5 + 49 + 46.73 + 45.21 45.5 external O.1 - 48.65 - 46.45 - 44.6 + 48.9 + 46.63 + 45.11 internal O.1 - 49.5 - 46.95 - 45.6 - 45.6 + 49.1 + 46.83 + 45.31 + 45.5 external O.2 - 48.55 - 46.35 - 44.5 + 48.8 + 46.53 + 45.01 internal O.2 - 49.6 - 47.05 - 45.7 - 45.7 + 49.2 + 46.93 + 45.41 + 45.5 external O.4 - 48.35 - 46.15 - 44.3 + 48.6 + 46.33 + 44.81 internal O.4 - 49.8 - 47.25 - 45.9 - 45.9 + 49.4 + 47.13 + 45.61 + 45.5 external O.8 - 47.95 - 45.75 - 43.9 + 48.2 + 45.93 + 44.41 internal O.8 - 50.2 - 47.65 - 46.3 - 46.3 + 49.8 + 47.53 + 46.01 + 45.5 @@ -6777,77 +6777,77 @@ external O.0 - 48.75 - 45.8 - 43.2 + 49 + 45.75 + 43.59 internal O.0 - 49.4 - 46.1 - 44 + 49 + 45.75 + 43.59 44 external O.1 - 48.65 - 45.7 - 43.1 + 48.9 + 45.65 + 43.49 internal O.1 - 49.5 - 46.2 - 44.1 - 44.1 + 49.1 + 45.85 + 43.69 + 44 external O.2 - 48.55 - 45.6 - 43 + 48.8 + 45.55 + 43.39 internal O.2 - 49.6 - 46.3 - 44.2 - 44.2 + 49.2 + 45.95 + 43.79 + 44 external O.4 - 48.35 - 45.4 - 42.8 + 48.6 + 45.35 + 43.19 internal O.4 - 49.8 - 46.5 - 44.4 - 44.4 + 49.4 + 46.15 + 43.99 + 44 external O.8 - 47.95 - 45 - 42.4 + 48.2 + 44.95 + 42.79 internal O.8 - 50.2 - 46.9 - 44.8 - 44.8 + 49.8 + 46.55 + 44.39 + 44 @@ -6860,77 +6860,77 @@ external O.0 - 49.75 - 47.55 - 45.7 + 50 + 47.73 + 46.21 internal O.0 - 50.4 - 47.85 - 46.5 + 50 + 47.73 + 46.21 46.5 external O.1 - 49.65 - 47.45 - 45.6 + 49.9 + 47.63 + 46.11 internal O.1 - 50.5 - 47.95 - 46.6 - 46.6 + 50.1 + 47.83 + 46.31 + 46.5 external O.2 - 49.55 - 47.35 - 45.5 + 49.8 + 47.53 + 46.01 internal O.2 - 50.6 - 48.05 - 46.7 - 46.7 + 50.2 + 47.93 + 46.41 + 46.5 external O.4 - 49.35 - 47.15 - 45.3 + 49.6 + 47.33 + 45.81 internal O.4 - 50.8 - 48.25 - 46.9 - 46.9 + 50.4 + 48.13 + 46.61 + 46.5 external O.8 - 48.95 - 46.75 - 44.9 + 49.2 + 46.93 + 45.41 internal O.8 - 51.2 - 48.65 - 47.3 - 47.3 + 50.8 + 48.53 + 47.01 + 46.5 @@ -6940,77 +6940,77 @@ external O.0 - 49.75 - 46.8 - 44.2 + 50 + 46.75 + 44.59 internal O.0 - 50.4 - 47.1 - 45 + 50 + 46.75 + 44.59 45 external O.1 - 49.65 - 46.7 - 44.1 + 49.9 + 46.65 + 44.49 internal O.1 - 50.5 - 47.2 - 45.1 - 45.1 + 50.1 + 46.85 + 44.69 + 45 external O.2 - 49.55 - 46.6 - 44 + 49.8 + 46.55 + 44.39 internal O.2 - 50.6 - 47.3 - 45.2 - 45.2 + 50.2 + 46.95 + 44.79 + 45 external O.4 - 49.35 - 46.4 - 43.8 + 49.6 + 46.35 + 44.19 internal O.4 - 50.8 - 47.5 - 45.4 - 45.4 + 50.4 + 47.15 + 44.99 + 45 external O.8 - 48.95 - 46 - 43.4 + 49.2 + 45.95 + 43.79 internal O.8 - 51.2 - 47.9 - 45.8 - 45.8 + 50.8 + 47.55 + 45.39 + 45 diff --git a/config-example.yaml b/config-example.yaml new file mode 100644 index 0000000..9ac408b --- /dev/null +++ b/config-example.yaml @@ -0,0 +1,24 @@ +configs: + - name: "3DPrintedMetric" + customName: "3D-printed Metric Threads" + unit: "mm" + angle: 60.0 + sizes: "8:51" + #sizes: "16:32,2" for range + #sizes: [1,2,4] for list + pitches: [3.5, 5.0] + offsets: [0.0, 0.1, 0.2, 0.4, 0.8] + - name: "3DPrintedMetricV3" + customName: "3D-printed Metric Threads V2" + unit: "mm" + angle: 60.0 + sizes: "8:51" + pitches: [3.5, 5.0] + offsets: [0.0, 0.1, 0.2, 0.4, 0.8] + - name: "3DPrintedMetricV3" + customName: "3D-printed Metric Threads V3" + unit: "mm" + angle: 60.0 + sizes: "8:51" + pitches: [3.5, 5.0] + offsets: [0.0, 0.1, 0.2, 0.4, 0.8] diff --git a/main.py b/main.py index f85d698..c7329c6 100644 --- a/main.py +++ b/main.py @@ -1,13 +1,27 @@ import math import xml.etree.ElementTree as ET from abc import ABC, abstractmethod +import yaml +import logging +import sys +import argparse -NAME = "3D-printed Metric Threads V3" -UNIT = "mm" -ANGLE = 60.0 -SIZES = list(range(8, 51)) -PITCHES = [3.5, 5.0] -OFFSETS = [.0, .1, .2, .4, .8] +# Configure logging +logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s') + +# Parse command-line arguments +parser = argparse.ArgumentParser(description='Generate XML files for custom threads.') +parser.add_argument('config_file', nargs='?', default='./config.yaml', help='Path to the configuration YAML file') +parser.add_argument('-v', '--verbose', action='store_true', help='Enable verbose logging') +args = parser.parse_args() + +# Set logging level based on verbose flag +if args.verbose: + logging.getLogger().setLevel(logging.DEBUG) + +# Load configurations from YAML file +with open(args.config_file, 'r') as file: + configs = yaml.safe_load(file)['configs'] def designator(val: float): @@ -28,9 +42,15 @@ def __init__(self): class ThreadProfile(ABC): - @abstractmethod + + def __init__(self, sizes, pitches, offsets, angle): + self._sizes = sizes + self.pitches = pitches + self.offsets = offsets + self.angle = angle + def sizes(self): - pass + return self._sizes @abstractmethod def designations(self, size): @@ -41,6 +61,7 @@ def threads(self, designation): pass + class Metric3Dprinted(ThreadProfile): class Designation: def __init__(self, diameter, pitch): @@ -48,23 +69,20 @@ def __init__(self, diameter, pitch): self.pitch = pitch self.name = "M{}x{}".format(designator(self.nominalDiameter), designator(self.pitch)) - def __init__(self): - self.offsets = OFFSETS - - def sizes(self): - return SIZES + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) def designations(self, size): - return [Metric3Dprinted.Designation(size, pitch) for pitch in PITCHES] + return [self.Designation(size, pitch) for pitch in self.pitches] + def threads(self, designation): - ts = [] + threads = [] for offset in self.offsets: offset_decimals = str(offset)[2:] # skips the '0.' at the start - # see https://en.wikipedia.org/wiki/ISO_metric_screw_thread P = designation.pitch - H = 1/math.tan(math.radians(ANGLE/2)) * (P/2) + H = 1/math.tan(math.radians(self.angle/2)) * (P/2) D = designation.nominalDiameter Dp = D - 2 * 3*H/8 Dmin = D - 2 * 5*H/8 @@ -75,7 +93,7 @@ def threads(self, designation): t.majorDia = D - offset t.pitchDia = Dp - offset t.minorDia = Dmin - offset - ts.append(t) + threads.append(t) t = Thread() t.gender = "internal" @@ -84,42 +102,65 @@ def threads(self, designation): t.pitchDia = Dp + offset t.minorDia = Dmin + offset t.tapDrill = D - P - ts.append(t) - return ts - - -def generate(): - profile = Metric3Dprinted() - - root = ET.Element('ThreadType') - tree = ET.ElementTree(root) - - ET.SubElement(root, "Name").text = NAME - ET.SubElement(root, "CustomName").text = NAME - ET.SubElement(root, "Unit").text = UNIT - ET.SubElement(root, "Angle").text = str(ANGLE) - ET.SubElement(root, "SortOrder").text = "3" - - for size in profile.sizes(): - thread_size_element = ET.SubElement(root, "ThreadSize") - ET.SubElement(thread_size_element, "Size").text = str(size) - for designation in profile.designations(size): - designation_element = ET.SubElement(thread_size_element, "Designation") - ET.SubElement(designation_element, "ThreadDesignation").text = designation.name - ET.SubElement(designation_element, "CTD").text = designation.name - ET.SubElement(designation_element, "Pitch").text = str(designation.pitch) - for thread in profile.threads(designation): - thread_element = ET.SubElement(designation_element, "Thread") - ET.SubElement(thread_element, "Gender").text = thread.gender - ET.SubElement(thread_element, "Class").text = thread.clazz - ET.SubElement(thread_element, "MajorDia").text = "{:.4g}".format(thread.majorDia) - ET.SubElement(thread_element, "PitchDia").text = "{:.4g}".format(thread.pitchDia) - ET.SubElement(thread_element, "MinorDia").text = "{:.4g}".format(thread.minorDia) - if thread.tapDrill: - ET.SubElement(thread_element, "TapDrill").text = "{:.4g}".format(thread.tapDrill) - - ET.indent(tree) - tree.write('3DPrintedMetricV3.xml', encoding='UTF-8', xml_declaration=True) - - -generate() + threads.append(t) + return threads + +def parse_sizes(sizes): + if isinstance(sizes, str): + if ':' in sizes: + parts = sizes.split(',') + start, end = map(int, parts[0].split(':')) + step = int(parts[1]) if len(parts) > 1 else 1 + return list(range(start, end, step)) + elif isinstance(sizes, list): + return sizes + else: + raise ValueError("Invalid sizes format, should be a list or a range separated by ':'") + +def generate_xml_files(configs): + for config in configs: + name = config['name'] + custom_name = config.get('customName', name) + unit = config['unit'] + sizes = parse_sizes(config['sizes']) + angle = config['angle'] + pitches = config['pitches'] + offsets = config['offsets'] + logging.info(f"Generating XML for {custom_name}") + profile = Metric3Dprinted(sizes, pitches, offsets, angle) + + root = ET.Element('ThreadType') + + tree = ET.ElementTree(root) + ET.SubElement(root, "Name").text = custom_name + ET.SubElement(root, "CustomName").text = custom_name + ET.SubElement(root, "Unit").text = unit + + ET.SubElement(root, "Angle").text = str(angle) + ET.SubElement(root, "SortOrder").text = "3" + for size in profile.sizes(): + logging.info(f"Processing size: {size}") + thread_size_element = ET.SubElement(root, "ThreadSize") + ET.SubElement(thread_size_element, "Size").text = str(size) + for designation in profile.designations(size): + designation_element = ET.SubElement(thread_size_element, "Designation") + ET.SubElement(designation_element, "ThreadDesignation").text = designation.name + ET.SubElement(designation_element, "CTD").text = designation.name + ET.SubElement(designation_element, "Pitch").text = str(designation.pitch) + for thread in profile.threads(designation): + logging.debug(f"Processing thread: Gender={thread.gender}, Class={thread.clazz}, MajorDia={thread.majorDia}, PitchDia={thread.pitchDia}, MinorDia={thread.minorDia}, TapDrill={thread.tapDrill}") + thread_element = ET.SubElement(designation_element, "Thread") + ET.SubElement(thread_element, "Gender").text = thread.gender + ET.SubElement(thread_element, "Class").text = thread.clazz + ET.SubElement(thread_element, "MajorDia").text = "{:.4g}".format(thread.majorDia) + ET.SubElement(thread_element, "PitchDia").text = "{:.4g}".format(thread.pitchDia) + ET.SubElement(thread_element, "MinorDia").text = "{:.4g}".format(thread.minorDia) + if thread.tapDrill: + ET.SubElement(thread_element, "TapDrill").text = "{:.4g}".format(thread.tapDrill) + + ET.indent(tree) + tree.write(f"{name}.xml", encoding='UTF-8', xml_declaration=True) + logging.info(f"XML file {name}.xml generated successfully") + +# Example usage +generate_xml_files(configs) diff --git a/poetry.lock b/poetry.lock new file mode 100644 index 0000000..648c1c7 --- /dev/null +++ b/poetry.lock @@ -0,0 +1,68 @@ +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "pyyaml" +version = "6.0.2" +description = "YAML parser and emitter for Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, +] + +[metadata] +lock-version = "2.0" +python-versions = ">=3.10" +content-hash = "99b0a8c4add5dc53f385c6d3656628b84c91554e318b940f8aa05dd2540273cf" diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..6b0acd2 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,13 @@ +[tool.poetry] +name = "custom-threads" +version = "0.1.0" +description = "generate XML files of custom threads for Fusion360" +authors = ["BalzGuenat"] + +[tool.poetry.dependencies] +python = ">=3.10" +pyyaml = "^6.0" + +[build-system] +requires = ["poetry-core>=1.0.0"] +build-backend = "poetry.core.masonry.api"