From 6d4f5e2895e4f1547a7158344c4843caaf7e3610 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Mon, 18 Dec 2023 00:24:05 +0900 Subject: [PATCH 01/67] Refactor allocations.jl Fix some typos Some bug fixing Repetition Convert GLM example Revert absolute path New abstract syntax Change GLM again mmmmmmmmmmmmmmmmmmmmm Bugfix --- perf/GLM/allocs.jl | 31 ++++++++------------- src/PerfChecker.jl | 12 ++++++-- src/allocations.jl | 69 ++++++++++++++++++++++++++++++++++++++++++---- 3 files changed, 84 insertions(+), 28 deletions(-) diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 9006d36..efb614d 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,25 +1,17 @@ using PerfChecker -using Test -using GLM -using Random -using StatsModels - -@testset "GLM.jl" begin - title = "Basic GLM computation" - dependencies = [GLM] - targets = [GLM] - - function alloc() +j = @prep :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :track => "user") begin + using GLM, Random, StatsModels + @check begin n = 2_500_000 rng = Random.MersenneTwister(1234321) tbl = ( - x1 = randn(rng, n), - x2 = Random.randexp(rng, n), - ss = rand(rng, string.(50:99), n), - y = zeros(n), - ) - f = @formula(y ~ 1 + x1 + x2 + ss) + x1=randn(rng, n), + x2=Random.randexp(rng, n), + ss=rand(rng, string.(50:99), n), + y=zeros(n), + ) + f = @eval @formula(y ~ 1 + x1 + x2 + ss) f = apply_schema(f, schema(f, tbl)) resp, pred = modelcols(f, tbl) B = randn(rng, size(pred, 2)) @@ -27,8 +19,7 @@ using StatsModels logistic(x::Real) = inv(1 + exp(-x)) resp .= rand(rng, n) .< logistic.(pred * B) glm(pred, resp, Bernoulli()) - return nothing end - - alloc_check(title, dependencies, targets, alloc, alloc; path=@__DIR__) end + +println(j) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index ac0c38a..78e32c6 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -2,10 +2,8 @@ module PerfChecker # SECTION - Imports using BenchmarkTools -using CoverageTools using CSV using DataFrames -using Distributed using LibGit2 using OrderedCollections using PGFPlotsX @@ -16,12 +14,22 @@ using Random using StatsPlots using Term using TypedTables +import Distributed: remotecall_fetch, addprocs, rmprocs +import CoverageTools: analyze_malloc_files, find_malloc_files + +struct CheckerOptions + threads::Int + path::AbstractString + targets::Union{String, Vector{String}} +end # SECTION - Exports export alloc_check export alloc_plot export bench_plot export store_benchmark +export @prep +export CheckerOptions # SECTION - Includes diff --git a/src/allocations.jl b/src/allocations.jl index f0a0d7e..828f1fb 100644 --- a/src/allocations.jl +++ b/src/allocations.jl @@ -1,3 +1,59 @@ +prep(d::Dict, block::Expr, ::Val{:alloc}) = quote + import Pkg + Pkg.instantiate() + import Profile + macro check(repeat, block) + repeat && block + Profile.clear_malloc_data() + block + end + macro check(block) + block + Profile.clear_malloc_data() + block + end + $block + targets = eval(Meta.parse("[" * (typeof($d[:targets]) == String ? $d[:targets] : join($d[:targets], ", ")) * "]")) + @warn targets + return map(dirname ∘ pathof ∘ eval, targets) +end + +prep(d::Dict, b::Expr, v::Symbol) = prep(d, b, Val(v)) + +macro prep(x, d, block) + block = Expr(:quote, block) + quote + g = prep($d, $block, $x) + + p = remotecall_fetch(Core.eval, 1, Main, + Expr(:toplevel, quote + import Distributed + d = $($d) + Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$(d[:path])", "-t $(d[:threads])"]) + end).args...) |> first + + j = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, g.args...)) + + remotecall_fetch(Core.eval, 1, Main, + Expr(:toplevel, quote + import Distributed + Distributed.rmprocs($p) + end).args...) + + files = find_malloc_files(j) + + myallocs = analyze_malloc_files(files) + if isempty(myallocs) + @error "No allocation files found in $($d[:targets])" + else + rm.(files) + return myallocs + end + end +end + +#= function alloc_check( title, dependencies, @@ -15,20 +71,20 @@ function alloc_check( # add a proc (id == p) that track allocations p = first(isnothing(threads) ? addprocs(1; exeflags=["--track-allocation=user", "--project=$path"]) : addprocs(1; exeflags=["--track-allocation=user", "--project=$path", "-t $threads"])) - + remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, (quote import Pkg; Pkg.instantiate() import Profile; nothing end).args...)) - + for d in dependencies remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, (quote using $(Symbol(d)) nothing end).args...)) end - + @eval @everywhere $p $pre_alloc() @eval @everywhere $p Profile.clear_malloc_data() @eval @everywhere $p $alloc() @@ -50,13 +106,13 @@ function alloc_check( end # Smart paths - + # common, specifics = smart_paths(map(a -> a.filename, Iterators.reverse(myallocs))) # @info "sizes" map(a -> a.filename, Iterators.reverse(myallocs)) specifics # slash = Sys.iswindows() ? "\\" : "/" # Make the allocations data readable through a dataframe - + #= df = DataFrame() df.bytes = map(a -> a.bytes, Iterators.reverse(myallocs)) @@ -71,7 +127,7 @@ function alloc_check( l = map(a -> a.linenumber, Iterators.reverse(myallocs)) TypedTables.Table(bytes = b, percentage = r, filenames = f, linenumbers = l) end - + # Save it as a CSV file label = "" if labeller == :oid @@ -149,3 +205,4 @@ function alloc_plot( end end end +=# From aee619cb5d5b26e0c339cbe9cf381df2b02139ac Mon Sep 17 00:00:00 2001 From: azzaare Date: Sat, 30 Dec 2023 13:49:50 +0900 Subject: [PATCH 02/67] Fix GLM allocs script --- perf/GLM/allocs.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index efb614d..e96c950 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,6 +1,6 @@ using PerfChecker -j = @prep :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :track => "user") begin +@prep :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :track => "user") begin using GLM, Random, StatsModels @check begin n = 2_500_000 @@ -22,4 +22,4 @@ j = @prep :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :tr end end -println(j) +# println(j) From c5a3ff149e28d4441271d55112aaa999f2cf3e75 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sun, 31 Dec 2023 00:41:03 +0900 Subject: [PATCH 03/67] New syntax again with GLM example --- perf/GLM/allocs.jl | 40 ++++++++++---------- src/PerfChecker.jl | 14 ++----- src/{allocations.jl => check.jl} | 65 +++++++++++++++++++------------- 3 files changed, 62 insertions(+), 57 deletions(-) rename src/{allocations.jl => check.jl} (83%) diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index e96c950..d81a63f 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,25 +1,25 @@ using PerfChecker -@prep :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :track => "user") begin +x = @check :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :track => "user", :repeat => true) begin using GLM, Random, StatsModels - @check begin - n = 2_500_000 - rng = Random.MersenneTwister(1234321) - tbl = ( - x1=randn(rng, n), - x2=Random.randexp(rng, n), - ss=rand(rng, string.(50:99), n), - y=zeros(n), - ) - f = @eval @formula(y ~ 1 + x1 + x2 + ss) - f = apply_schema(f, schema(f, tbl)) - resp, pred = modelcols(f, tbl) - B = randn(rng, size(pred, 2)) - B[1] = 0.5 - logistic(x::Real) = inv(1 + exp(-x)) - resp .= rand(rng, n) .< logistic.(pred * B) - glm(pred, resp, Bernoulli()) - end + end begin + n = 2_500_000 + rng = Random.MersenneTwister(1234321) + tbl = ( + x1=randn(rng, n), + x2=Random.randexp(rng, n), + ss=rand(rng, string.(50:99), n), + y=zeros(n), + ) + f = @formula(y ~ 1 + x1 + x2 + ss) + f = apply_schema(f, schema(f, tbl)) + resp, pred = modelcols(f, tbl) + B = randn(rng, size(pred, 2)) + B[1] = 0.5 + logistic(x::Real) = inv(1 + exp(-x)) + resp .= rand(rng, n) .< logistic.(pred * B) + glm(pred, resp, Bernoulli()) end -# println(j) + +@info x diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 78e32c6..19e84bf 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -17,26 +17,18 @@ using TypedTables import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files -struct CheckerOptions - threads::Int - path::AbstractString - targets::Union{String, Vector{String}} -end - # SECTION - Exports -export alloc_check -export alloc_plot export bench_plot export store_benchmark -export @prep -export CheckerOptions +export @check # SECTION - Includes include("init.jl") -include("allocations.jl") +include("check.jl") include("benchmarks.jl") include("utils.jl") end + diff --git a/src/allocations.jl b/src/check.jl similarity index 83% rename from src/allocations.jl rename to src/check.jl index 828f1fb..4b48b43 100644 --- a/src/allocations.jl +++ b/src/check.jl @@ -2,29 +2,46 @@ prep(d::Dict, block::Expr, ::Val{:alloc}) = quote import Pkg Pkg.instantiate() import Profile - macro check(repeat, block) - repeat && block + $block + nothing +end + +function check(d::Dict, block::Expr, ::Val{:alloc}) + + j = haskey(d, :repeat) && d[:repeat] ? block : nothing + + quote + $j Profile.clear_malloc_data() - block + $block + targets = eval(Meta.parse("[" * join($(d[:targets]), ", ") * "]")) + rmstuff = Base.loaded_modules_array() + return dirname.(filter(!isnothing, pathof.(targets))), dirname.(filter(!isnothing, pathof.(rmstuff))) end - macro check(block) - block - Profile.clear_malloc_data() - block +end + +function post(result, d::Dict, ::Val{:alloc}) + files = find_malloc_files(result[1]) + delete_files = find_malloc_files(result[2]) + myallocs = analyze_malloc_files(files) + if !isempty(myallocs) + rm.(delete_files) + else + @error "No allocation files found in $(d[:targets])" end - $block - targets = eval(Meta.parse("[" * (typeof($d[:targets]) == String ? $d[:targets] : join($d[:targets], ", ")) * "]")) - @warn targets - return map(dirname ∘ pathof ∘ eval, targets) + myallocs end + prep(d::Dict, b::Expr, v::Symbol) = prep(d, b, Val(v)) +check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) +post(result, d::Dict, v::Symbol) = post(result, d, Val(v)) -macro prep(x, d, block) - block = Expr(:quote, block) +macro check(x, d, block1, block2) + block1, block2 = Expr(:quote, block1), Expr(:quote, block2) quote - g = prep($d, $block, $x) - + g = prep($d, $block1, $x) + h = check($d, $block2, $x) p = remotecall_fetch(Core.eval, 1, Main, Expr(:toplevel, quote import Distributed @@ -32,24 +49,19 @@ macro prep(x, d, block) Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$(d[:path])", "-t $(d[:threads])"]) end).args...) |> first - j = remotecall_fetch(Core.eval, p, Main, + remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, g.args...)) + j = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, h.args...)) + remotecall_fetch(Core.eval, 1, Main, Expr(:toplevel, quote - import Distributed + import Distributed Distributed.rmprocs($p) end).args...) - files = find_malloc_files(j) - - myallocs = analyze_malloc_files(files) - if isempty(myallocs) - @error "No allocation files found in $($d[:targets])" - else - rm.(files) - return myallocs - end + $post(j, $d, $x) end end @@ -206,3 +218,4 @@ function alloc_plot( end end =# + From 743f20a1ae2ae031f67a1042d92aa556af178366 Mon Sep 17 00:00:00 2001 From: azzaare Date: Sun, 31 Dec 2023 09:29:29 +0900 Subject: [PATCH 04/67] Update methods args. Clean code --- perf/GLM/allocs.jl | 4 +- src/PerfChecker.jl | 3 +- src/alloc.jl | 36 +++++++++++ src/check.jl | 151 +++++++++++++++++++++++++++------------------ 4 files changed, 132 insertions(+), 62 deletions(-) create mode 100644 src/alloc.jl diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index d81a63f..498909c 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -2,7 +2,7 @@ using PerfChecker x = @check :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :track => "user", :repeat => true) begin using GLM, Random, StatsModels - end begin +end begin n = 2_500_000 rng = Random.MersenneTwister(1234321) tbl = ( @@ -22,4 +22,4 @@ x = @check :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :t end -@info x +# @info x diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 19e84bf..3cd73be 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -25,8 +25,9 @@ export @check # SECTION - Includes include("init.jl") - include("check.jl") +include("alloc.jl") + include("benchmarks.jl") include("utils.jl") diff --git a/src/alloc.jl b/src/alloc.jl new file mode 100644 index 0000000..d822d2c --- /dev/null +++ b/src/alloc.jl @@ -0,0 +1,36 @@ + +prep(::Val{:alloc}, d::Dict, block::Expr, ) = quote + import Pkg + Pkg.instantiate() + import Profile + $block + return nothing +end + +function check(::Val{:alloc}, d::Dict, block::Expr) + + j = haskey(d, :repeat) && d[:repeat] ? block : nothing + + quote + $j + Profile.clear_malloc_data() + $block + targets = eval(Meta.parse("[" * join($(d[:targets]), ", ") * "]")) + rmstuff = Base.loaded_modules_array() + return dirname.(filter(!isnothing, pathof.(targets))), dirname.(filter(!isnothing, pathof.(rmstuff))) + end +end + +function post(::Val{:alloc}, d::Dict, result) + @info "debug" d + # result = d[:check_result] + files = find_malloc_files(result[1]) + delete_files = find_malloc_files(result[2]) + myallocs = analyze_malloc_files(files) + if !isempty(myallocs) + rm.(delete_files) + else + @error "No allocation files found in $(d[:targets])" + end + return myallocs +end \ No newline at end of file diff --git a/src/check.jl b/src/check.jl index 4b48b43..726ea08 100644 --- a/src/check.jl +++ b/src/check.jl @@ -1,67 +1,100 @@ -prep(d::Dict, block::Expr, ::Val{:alloc}) = quote - import Pkg - Pkg.instantiate() - import Profile - $block - nothing -end - -function check(d::Dict, block::Expr, ::Val{:alloc}) - - j = haskey(d, :repeat) && d[:repeat] ? block : nothing - +## Check macro and related functions + +#SECTION - Generic dispatch methods +prep(::Val, args...) = nothing +check(::Val, args...) = nothing +post(::Val, args...) = nothing + +#SECTION - Multiple dispatch methods +prep(tool::Symbol, d, b) = prep(Val(tool), d, b) +check(tool::Symbol, d, b) = check(Val(tool), d, b ) +post(tool::Symbol, d, r) = post(Val(tool), d, r) + +#SECTION - Check macro +macro check(tool, d, block1, block2) + block1 = Expr(:quote, block1) + block2 = Expr(:quote, block2) quote - $j - Profile.clear_malloc_data() - $block - targets = eval(Meta.parse("[" * join($(d[:targets]), ", ") * "]")) - rmstuff = Base.loaded_modules_array() - return dirname.(filter(!isnothing, pathof.(targets))), dirname.(filter(!isnothing, pathof.(rmstuff))) - end -end + g = prep($tool, $d, $block1) + h = check($tool, $d, $block2) + p = remotecall_fetch( + Core.eval, + 1, + Main, + Expr( + :toplevel, + quote + import Distributed + d = $($d) + Distributed.addprocs( + 1; + exeflags=["--track-allocation=$(d[:track])", + "--project=$(d[:path])", + "-t $(d[:threads])"] + ) + end + ).args... + ) |> first + + r1 = remotecall_fetch( + Core.eval, + p, + Main, + Expr(:toplevel, g.args...), + ) -function post(result, d::Dict, ::Val{:alloc}) - files = find_malloc_files(result[1]) - delete_files = find_malloc_files(result[2]) - myallocs = analyze_malloc_files(files) - if !isempty(myallocs) - rm.(delete_files) - else - @error "No allocation files found in $(d[:targets])" - end - myallocs -end + $d[:prep_result] = r1 + @warn "debug" $d + + # push!( + # $d, + # :prep_result => remotecall_fetch( + # Core.eval, + # p, + # Main, + # Expr(:toplevel, g.args...), + # ) + # ) + + r2 = remotecall_fetch( + Core.eval, + p, + Main, + Expr(:toplevel, h.args...), + ) + $d[:check_result] = r2 + + # push!( + # $d, + # :check_result => remotecall_fetch( + # Core.eval, + # p, + # Main, + # Expr(:toplevel, h.args...), + # ) + # ) + + remotecall_fetch( + Core.eval, + 1, + Main, + Expr( + :toplevel, + quote + import Distributed + Distributed.rmprocs($p) + end + ).args... + ) -prep(d::Dict, b::Expr, v::Symbol) = prep(d, b, Val(v)) -check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) -post(result, d::Dict, v::Symbol) = post(result, d, Val(v)) + results = $post($tool, $d, r2) + # results = $post($tool, $d) -macro check(x, d, block1, block2) - block1, block2 = Expr(:quote, block1), Expr(:quote, block2) - quote - g = prep($d, $block1, $x) - h = check($d, $block2, $x) - p = remotecall_fetch(Core.eval, 1, Main, - Expr(:toplevel, quote - import Distributed - d = $($d) - Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$(d[:path])", "-t $(d[:threads])"]) - end).args...) |> first - - remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, g.args...)) - - j = remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, h.args...)) - - remotecall_fetch(Core.eval, 1, Main, - Expr(:toplevel, quote - import Distributed - Distributed.rmprocs($p) - end).args...) - - $post(j, $d, $x) + # pop!($d, :prep_result) + # pop!($d, :check_result) + + return results end end From c8725f9d648e43b1a7abd7876b5407024e898f13 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sun, 31 Dec 2023 15:48:55 +0900 Subject: [PATCH 05/67] default options and some other cleaning Better defaults Table and pretty printing of stuff --- perf/GLM/Project.toml | 1 + perf/GLM/allocs.jl | 8 +- src/PerfChecker.jl | 9 +- src/alloc.jl | 33 +++-- src/check.jl | 288 ++++++------------------------------------ test/pattern_folds.jl | 23 +--- 6 files changed, 76 insertions(+), 286 deletions(-) diff --git a/perf/GLM/Project.toml b/perf/GLM/Project.toml index cf0cca4..8fbc80b 100644 --- a/perf/GLM/Project.toml +++ b/perf/GLM/Project.toml @@ -3,5 +3,6 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" +PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" StatsModels = "3eaba693-59b7-5ba5-a881-562e759f1c8d" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 498909c..70405a5 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,8 +1,8 @@ -using PerfChecker +using PerfChecker, PrettyTables -x = @check :alloc Dict(:threads => 1, :targets => ["GLM"], :path => @__DIR__, :track => "user", :repeat => true) begin +x = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin using GLM, Random, StatsModels -end begin + end begin n = 2_500_000 rng = Random.MersenneTwister(1234321) tbl = ( @@ -22,4 +22,4 @@ end begin end -# @info x +pretty_table(x |> to_table) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 3cd73be..0780dfe 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -13,23 +13,24 @@ using Profile using Random using StatsPlots using Term -using TypedTables +import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs -import CoverageTools: analyze_malloc_files, find_malloc_files +import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo # SECTION - Exports +export alloc_check +export alloc_plot export bench_plot export store_benchmark export @check +export to_table # SECTION - Includes include("init.jl") include("check.jl") include("alloc.jl") - include("benchmarks.jl") include("utils.jl") end - diff --git a/src/alloc.jl b/src/alloc.jl index d822d2c..9afb80b 100644 --- a/src/alloc.jl +++ b/src/alloc.jl @@ -1,13 +1,16 @@ - -prep(::Val{:alloc}, d::Dict, block::Expr, ) = quote +prep(d::Dict, block::Expr, ::Val{:alloc}) = quote import Pkg Pkg.instantiate() import Profile $block - return nothing + nothing +end + +function default_options(::Val{:alloc}) + return Dict(:threads => 1, :targets => [], :track => "user", :repeat => true) end -function check(::Val{:alloc}, d::Dict, block::Expr) +function check(d::Dict, block::Expr, ::Val{:alloc}) j = haskey(d, :repeat) && d[:repeat] ? block : nothing @@ -15,15 +18,17 @@ function check(::Val{:alloc}, d::Dict, block::Expr) $j Profile.clear_malloc_data() $block - targets = eval(Meta.parse("[" * join($(d[:targets]), ", ") * "]")) + targets = eval(Meta.parse("[" * join($(d[:targets]), ", ") * "]")) rmstuff = Base.loaded_modules_array() + if isempty(targets) + targets = Base.loaded_modules_array() + end return dirname.(filter(!isnothing, pathof.(targets))), dirname.(filter(!isnothing, pathof.(rmstuff))) end end -function post(::Val{:alloc}, d::Dict, result) - @info "debug" d - # result = d[:check_result] +function post(d::Dict, ::Val{:alloc}) + result = d[:check_result] files = find_malloc_files(result[1]) delete_files = find_malloc_files(result[2]) myallocs = analyze_malloc_files(files) @@ -32,5 +37,13 @@ function post(::Val{:alloc}, d::Dict, result) else @error "No allocation files found in $(d[:targets])" end - return myallocs -end \ No newline at end of file + myallocs +end + +function to_table(myallocs::Vector{MallocInfo}) + b = map(a -> a.bytes, Iterators.reverse(myallocs)) + r = round.(b / sum(b) * 100; digits=2) + f = map(first ∘ splitext ∘ first ∘ splitext, map(a -> a.filename, Iterators.reverse(myallocs))) + l = map(a -> a.linenumber, Iterators.reverse(myallocs)) + Table(bytes=b, percentage=r, filenames=f, linenumbers=l) +end diff --git a/src/check.jl b/src/check.jl index 726ea08..2ea98e3 100644 --- a/src/check.jl +++ b/src/check.jl @@ -1,254 +1,42 @@ -## Check macro and related functions - -#SECTION - Generic dispatch methods -prep(::Val, args...) = nothing -check(::Val, args...) = nothing -post(::Val, args...) = nothing - -#SECTION - Multiple dispatch methods -prep(tool::Symbol, d, b) = prep(Val(tool), d, b) -check(tool::Symbol, d, b) = check(Val(tool), d, b ) -post(tool::Symbol, d, r) = post(Val(tool), d, r) - -#SECTION - Check macro -macro check(tool, d, block1, block2) - block1 = Expr(:quote, block1) - block2 = Expr(:quote, block2) - quote - g = prep($tool, $d, $block1) - h = check($tool, $d, $block2) - p = remotecall_fetch( - Core.eval, - 1, - Main, - Expr( - :toplevel, - quote - import Distributed - d = $($d) - Distributed.addprocs( - 1; - exeflags=["--track-allocation=$(d[:track])", - "--project=$(d[:path])", - "-t $(d[:threads])"] - ) - end - ).args... - ) |> first - - r1 = remotecall_fetch( - Core.eval, - p, - Main, - Expr(:toplevel, g.args...), - ) - - $d[:prep_result] = r1 - @warn "debug" $d - - # push!( - # $d, - # :prep_result => remotecall_fetch( - # Core.eval, - # p, - # Main, - # Expr(:toplevel, g.args...), - # ) - # ) - - r2 = remotecall_fetch( - Core.eval, - p, - Main, - Expr(:toplevel, h.args...), - ) - - $d[:check_result] = r2 - - # push!( - # $d, - # :check_result => remotecall_fetch( - # Core.eval, - # p, - # Main, - # Expr(:toplevel, h.args...), - # ) - # ) - - remotecall_fetch( - Core.eval, - 1, - Main, - Expr( - :toplevel, - quote - import Distributed - Distributed.rmprocs($p) - end - ).args... - ) - - results = $post($tool, $d, r2) - # results = $post($tool, $d) - - # pop!($d, :prep_result) - # pop!($d, :check_result) - - return results - end +prep(d, b, v) = quote nothing end +check(d, b, v) = quote nothing end +post(d, v) = nothing +default_options(v) = Dict() + +prep(d::Dict, b::Expr, v::Symbol) = prep(d, b, Val(v)) +check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) +post(d::Dict, v::Symbol) = post(d, Val(v)) + +function default_options(d::Dict, v::Symbol) + di = default_options(Val(v)) + return merge(di, d) end -#= -function alloc_check( - title, - dependencies, - targets, - pre_alloc, - alloc; - path=pwd(), - labeller=:version, - threads=nothing, -) - @info "Tracking allocations: $title" - - # cd to path if valid - isdir(path) && cd(path) - - # add a proc (id == p) that track allocations - p = first(isnothing(threads) ? addprocs(1; exeflags=["--track-allocation=user", "--project=$path"]) : addprocs(1; exeflags=["--track-allocation=user", "--project=$path", "-t $threads"])) - - remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, (quote - import Pkg; Pkg.instantiate() - import Profile; - nothing - end).args...)) - - for d in dependencies - remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, (quote - using $(Symbol(d)) - nothing - end).args...)) - end - - @eval @everywhere $p $pre_alloc() - @eval @everywhere $p Profile.clear_malloc_data() - @eval @everywhere $p $alloc() - - rmprocs(p) - - myallocs = CoverageTools.analyze_malloc(map(dirname ∘ pathof ∘ eval, targets)) - - for t in dependencies, d in walkdir(dirname(pathof(t))), f in d[end] - splitext(f)[2] == ".mem" && rm(joinpath(d[1], f)) - end - for d in walkdir(path), f in d[end] - splitext(f)[2] == ".mem" && rm(joinpath(d[1], f)) - end - - if isempty(myallocs) - @warn "No allocations was found in " targets - return nothing - end - - # Smart paths - - # common, specifics = smart_paths(map(a -> a.filename, Iterators.reverse(myallocs))) - # @info "sizes" map(a -> a.filename, Iterators.reverse(myallocs)) specifics - # slash = Sys.iswindows() ? "\\" : "/" - - # Make the allocations data readable through a dataframe - - #= - df = DataFrame() - df.bytes = map(a -> a.bytes, Iterators.reverse(myallocs)) - df[!, "ratio (%)"] = round.(df.bytes / sum(df.bytes) * 100; digits=2) - df[!, "filename: [$common$slash"] = map(first ∘ splitext ∘ first ∘ splitext, specifics) - df.linenumber = map(a -> a.linenumber, Iterators.reverse(myallocs)) - =# - t = let - b = map(a -> a.bytes, Iterators.reverse(myallocs)) - r = round.(b / sum(b) * 100; digits=2) - f = map(first ∘ splitext ∘ first ∘ splitext, map(a -> a.filename, Iterators.reverse(myallocs))) - l = map(a -> a.linenumber, Iterators.reverse(myallocs)) - TypedTables.Table(bytes = b, percentage = r, filenames = f, linenumbers = l) - end - - # Save it as a CSV file - label = "" - if labeller == :oid - label = oid2string(map(p -> joinpath(dirname(pathof(p)), ".."), targets)) - elseif labeller == :version - label = version2string(map(p -> joinpath(dirname(pathof(p)), ".."), targets)) - end - mkpath("mallocs") - CSV.write(joinpath(path, "mallocs/mallocs$label.csv"), t) - - # Visualize a pretty table - return t -end - -function pie_filter(df, threshold=5.0) - i = findfirst(x -> x < threshold, df[!, 2]) - X = df[1:(i - 1), 3] .* " line " .* map(string, df[1:(i - 1), 4]) - push!(X, "others .< $threshold") - Y = df[1:(i - 1), 2] - push!(Y, sum(df[i:end, 2])) - return X, Y -end - -function alloc_plot( - targets; formats=["pdf", "svg", "png"], backend=Plots.GRBackend, seriestype=:step -) - backend() - for target in targets - path = normpath(joinpath(dirname(pathof(target)), "..", "perf", "mallocs")) - versions = Vector{VersionNumber}() - for f in readdir(path; join=true) - st = splitext(basename(f)) - last(st) == ".csv" || continue - push!(versions, VersionNumber(first(st)[9:end])) - end - sort!(versions) - - bytes = Dict{String,Vector{Int}}() - for (i, version) in enumerate(versions) - csv_path = joinpath(path, "mallocs-$(string(version)).csv") - df = DataFrame(CSV.File(csv_path)) - v = get!(bytes, "Total", zeros(Int, length(versions))) - v[i] = sum(df.bytes) - for (b, f) in zip(df[:, 1], df[:, 3]) - w = get!(bytes, "$f", zeros(Int, length(versions))) - w[i] += b - end - - X, Y = pie_filter(df) - pie(X, Y; title="Mallocs for $target.jl@v$(string(version))", l=0.5) - for format in formats - savefig(joinpath(path, "mallocs-$version.$format")) - end - end - - X = map(string, versions) - Y = reshape( - collect(Iterators.flatten(values(bytes))), length(versions), length(bytes) - ) - L = reshape(collect(keys(bytes)), 1, length(bytes)) - plot( - X, - Y; - xlabel="version", - ylabel="bytes", - markershape=:circle, - # seriestype, - title="Mallocs evolution in\n$target.jl", - l=(0.5, 2), - label=L, - # yaxis=:log, - ) - for format in formats - savefig(joinpath(path, "mallocs-evolutions.$format")) - end +macro check(x, d, block1, block2) + block1, block2 = Expr(:quote, block1), Expr(:quote, block2) + quote + di = default_options($d, $x) + g = prep(di, $block1, $x) + h = check(di, $block2, $x) + p = remotecall_fetch(Core.eval, 1, Main, + Expr(:toplevel, quote + import Distributed + d = $di + Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$(d[:path])", "-t $(d[:threads])"]) + end).args...) |> first + + di[:prep_result] = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, g.args...)) + + di[:check_result] = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, h.args...)) + + remotecall_fetch(Core.eval, 1, Main, + Expr(:toplevel, quote + import Distributed + Distributed.rmprocs($p) + end).args...) + + $post(di, $x) end end -=# - diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index a3c8355..e2ba57d 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -1,17 +1,9 @@ using PatternFolds @testset "PatternFolds.jl" begin - # Title of the alloc check (for logging purpose) - title = "Basic intervals and vectors folds operation" - - # Dependencies needed to execute pre_alloc and alloc - dependencies = [PatternFolds] - - # Target of the alloc check - targets = [PatternFolds] - - function alloc() # 0.2.x - # Intervals + @check :alloc Dict(:target => ["PatternFolds"]) begin + using PatternFolds + end begin itv = Interval{Open,Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) @@ -30,15 +22,9 @@ using PatternFolds reverse(collect(vf)) rand(vf, 1000) - - return nothing end - - # Actual call to PerfChecker - alloc_check(title, dependencies, targets, alloc, alloc; path=@__DIR__) - end - +#= target = PatternFolds function bench() # 0.2.x @@ -69,3 +55,4 @@ t = @benchmark bench() evals = 1 samples = 1000 seconds = 3600 # Actual call to PerfChecker store_benchmark(t, target; path=@__DIR__) +=# From ac4df628ee97556ed75148a0304b591c9234b450 Mon Sep 17 00:00:00 2001 From: azzaare Date: Sun, 31 Dec 2023 17:27:21 +0900 Subject: [PATCH 06/67] Fix tests: PatternFolds --- test/Project.toml | 1 + test/pattern_folds.jl | 4 ++-- test/runtests.jl | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/test/Project.toml b/test/Project.toml index e9fb8b2..983e519 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -2,6 +2,7 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CompatHelperLocal = "5224ae11-6099-4aaa-941d-3aab004bd678" ConstraintDomains = "5800fd60-8556-4464-8d61-84ebf7a0bedb" +Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index e2ba57d..42cde96 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -1,8 +1,8 @@ using PatternFolds @testset "PatternFolds.jl" begin - @check :alloc Dict(:target => ["PatternFolds"]) begin - using PatternFolds + @check :alloc Dict(:target => ["PatternFolds"], :path => pwd()) begin + using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) diff --git a/test/runtests.jl b/test/runtests.jl index f5119dd..0de52df 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,4 +1,5 @@ using BenchmarkTools +using Distributed using PerfChecker using Test From 5d2017ac2cbbd22d69537b15be3174d50a1eccaf Mon Sep 17 00:00:00 2001 From: Chetan Vardhan <51269425+VarLad@users.noreply.github.com> Date: Sun, 31 Dec 2023 17:27:04 +0900 Subject: [PATCH 07/67] Update pattern_folds.jl --- test/pattern_folds.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index 42cde96..472787b 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -1,8 +1,8 @@ using PatternFolds @testset "PatternFolds.jl" begin - @check :alloc Dict(:target => ["PatternFolds"], :path => pwd()) begin - using PatternFolds + @check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin + using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) From ba296ae336de2c60c239faef65af39d96003187c Mon Sep 17 00:00:00 2001 From: azzaare Date: Sun, 31 Dec 2023 17:39:32 +0900 Subject: [PATCH 08/67] Update compat and CI --- .github/workflows/CI.yml | 6 +----- Project.toml | 5 ++--- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 3349f20..0cee6db 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,7 +1,6 @@ name: CI on: - push - - pull_request jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} @@ -10,10 +9,7 @@ jobs: fail-fast: false matrix: version: - - '1.6' - - '1.7' - - '1.8' - - "^1.9.0-0" + - "1.10" - 'nightly' os: - ubuntu-latest diff --git a/Project.toml b/Project.toml index 1ad70fa..8444a62 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "PerfChecker" uuid = "6309bf6b-a531-4b08-891e-8ee981e5c424" authors = ["Azzaare "] -version = "0.1.4" +version = "0.2.0" [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" @@ -9,7 +9,6 @@ CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" -GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433" OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925" @@ -33,7 +32,7 @@ Plots = "1" StatsPlots = "0.15" Term = "2" TypedTables = "1" -julia = "1.6" +julia = "1.10" [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" From 7c21814b820078b9dd5e66c5993d940c9438a158 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Mon, 8 Jan 2024 00:09:47 +0900 Subject: [PATCH 09/67] Initial commit for PkgExtensions + Benchmark --- Project.toml | 10 ++++---- ext/BenchmarkToolsExt/BenchmarkToolsExt.jl | 9 +++++++ ext/BenchmarkToolsExt/benchmark.jl | 28 ++++++++++++++++++++++ src/PerfChecker.jl | 3 --- src/benchmarks.jl | 2 ++ src/init.jl | 16 ------------- 6 files changed, 45 insertions(+), 23 deletions(-) create mode 100644 ext/BenchmarkToolsExt/BenchmarkToolsExt.jl create mode 100644 ext/BenchmarkToolsExt/benchmark.jl delete mode 100644 src/init.jl diff --git a/Project.toml b/Project.toml index 8444a62..d68d056 100644 --- a/Project.toml +++ b/Project.toml @@ -4,8 +4,6 @@ authors = ["Azzaare "] version = "0.2.0" [deps] -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" @@ -21,8 +19,6 @@ Term = "22787eb5-b846-44ae-b979-8e399b8463ab" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [compat] -BenchmarkTools = "1" -CSV = "0.10" CoverageTools = "1" DataFrames = "1" OrderedCollections = "1" @@ -34,6 +30,12 @@ Term = "2" TypedTables = "1" julia = "1.10" +[weakdeps] +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" + +[extensions] +BenchmarkToolsExt = "BenchmarkTools" + [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl b/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl new file mode 100644 index 0000000..697b8aa --- /dev/null +++ b/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl @@ -0,0 +1,9 @@ +module BenchmarkToolsExt + +using BenchmarkTools +import TypedTables: Table + +include("benchmark.jl") + +export bench_table +end diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl new file mode 100644 index 0000000..43b47ee --- /dev/null +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -0,0 +1,28 @@ +function PerfChecker.default_options(::Val{:benchmark}) + return Dict( + :threads => 1, + :track => "none", + :samples => BenchmarkTools.DEFAULT_PARAMETERS.samples, + :seconds => BenchmarkTools.DEFAULT_PARAMETERS.seconds, + :evals => BenchmarkTools.DEFAULT_PARAMETERS.evals, + :overhead => BenchmarkTools.DEFAULT_PARAMETERS.overhead, + :gctrial => BenchmarkTools.DEFAULT_PARAMETERS.gctrial, + :gcsample => BenchmarkTools.DEFAULT_PARAMETERS.gcsample, + :time_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.time_tolerance, + :memory_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance + ) +end + +PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote + d = $d + using BenchmarkTools + @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=g[:time_tolerance] memory_tolerance=g[:memory_tolerance] +end + +PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:prep_result] + +function bench_table(bench) + ti = bench.times + l = length(ti) + return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) +end diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 0780dfe..7bd3f18 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -1,8 +1,6 @@ module PerfChecker # SECTION - Imports -using BenchmarkTools -using CSV using DataFrames using LibGit2 using OrderedCollections @@ -27,7 +25,6 @@ export to_table # SECTION - Includes -include("init.jl") include("check.jl") include("alloc.jl") include("benchmarks.jl") diff --git a/src/benchmarks.jl b/src/benchmarks.jl index f0ec5c8..8b473bd 100644 --- a/src/benchmarks.jl +++ b/src/benchmarks.jl @@ -1,3 +1,4 @@ +#= function store_benchmark(bench, target; path=pwd()) t = let ti = bench.times @@ -105,3 +106,4 @@ function bench_plot(targets; formats=["pdf", "tikz", "svg", "png"], backend=pgfp # end end end +=# diff --git a/src/init.jl b/src/init.jl deleted file mode 100644 index 570610f..0000000 --- a/src/init.jl +++ /dev/null @@ -1,16 +0,0 @@ -function __init__() - if isinteractive() - eval(Meta.parse(""" - function TypedTables.showtable(io::IO, t::TypedTables.Table{NamedTuple{(:bytes, :percentage, :filenames, :linenumbers), Tuple{Int64, Float64, String, Int64}}, 1, NamedTuple{(:bytes, :percentage, :filenames, :linenumbers), Tuple{Vector{Int64}, Vector{Float64}, Vector{String}, Vector{Int64}}}}) - fn = Term.Link.(t.filenames, t.linenumbers) - Term.tprint(io, Term.Table([t.bytes t.percentage fn]; header = ["bytes", "ratio (%)", "filenames (links)"])) - end - """)) - - eval(Meta.parse(""" - function TypedTables.showtable(io::IO, t::TypedTables.Table{NamedTuple{(:times, :gctimes, :memory, :allocs), Tuple{Float64, Float64, Int64, Int64}}, 1, NamedTuple{(:times, :gctimes, :memory, :allocs), Tuple{Vector{Float64}, Vector{Float64}, Vector{Int64}, Vector{Int64}}}}) - Term.tprint(io, Term.Table([t.times t.gctimes t.memory t.allocs]; header = ["times", "gctimes", "memory", "allocs"])) - end - """)) - end -end From fd19e0fa48cd8f1e8338b995ac38f44e3913b6f2 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 27 Jan 2024 01:49:46 +0900 Subject: [PATCH 10/67] Some cleanup --- Project.toml | 20 ++++--------- ext/BenchmarkToolsExt/BenchmarkToolsExt.jl | 9 ------ ext/BenchmarkToolsExt/Project.toml | 4 +++ ext/BenchmarkToolsExt/benchmark.jl | 28 ------------------- .../src/BenchmarkToolsExt.jl | 10 +++++++ perf/GLM/Project.toml | 1 - src/PerfChecker.jl | 4 --- 7 files changed, 20 insertions(+), 56 deletions(-) delete mode 100644 ext/BenchmarkToolsExt/BenchmarkToolsExt.jl create mode 100644 ext/BenchmarkToolsExt/Project.toml delete mode 100644 ext/BenchmarkToolsExt/benchmark.jl create mode 100644 ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl diff --git a/Project.toml b/Project.toml index d68d056..cc06e95 100644 --- a/Project.toml +++ b/Project.toml @@ -9,33 +9,25 @@ DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433" OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" -Term = "22787eb5-b846-44ae-b979-8e399b8463ab" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" +[weakdeps] +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" + +[extensions] +BenchmarkToolsExt = "BenchmarkTools" + [compat] CoverageTools = "1" DataFrames = "1" OrderedCollections = "1" -PGFPlotsX = "1" Pkg = "1" -Plots = "1" -StatsPlots = "0.15" -Term = "2" TypedTables = "1" julia = "1.10" -[weakdeps] -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" - -[extensions] -BenchmarkToolsExt = "BenchmarkTools" - [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl b/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl deleted file mode 100644 index 697b8aa..0000000 --- a/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl +++ /dev/null @@ -1,9 +0,0 @@ -module BenchmarkToolsExt - -using BenchmarkTools -import TypedTables: Table - -include("benchmark.jl") - -export bench_table -end diff --git a/ext/BenchmarkToolsExt/Project.toml b/ext/BenchmarkToolsExt/Project.toml new file mode 100644 index 0000000..0f69765 --- /dev/null +++ b/ext/BenchmarkToolsExt/Project.toml @@ -0,0 +1,4 @@ +[deps] +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" +TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl deleted file mode 100644 index 43b47ee..0000000 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ /dev/null @@ -1,28 +0,0 @@ -function PerfChecker.default_options(::Val{:benchmark}) - return Dict( - :threads => 1, - :track => "none", - :samples => BenchmarkTools.DEFAULT_PARAMETERS.samples, - :seconds => BenchmarkTools.DEFAULT_PARAMETERS.seconds, - :evals => BenchmarkTools.DEFAULT_PARAMETERS.evals, - :overhead => BenchmarkTools.DEFAULT_PARAMETERS.overhead, - :gctrial => BenchmarkTools.DEFAULT_PARAMETERS.gctrial, - :gcsample => BenchmarkTools.DEFAULT_PARAMETERS.gcsample, - :time_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.time_tolerance, - :memory_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance - ) -end - -PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote - d = $d - using BenchmarkTools - @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=g[:time_tolerance] memory_tolerance=g[:memory_tolerance] -end - -PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:prep_result] - -function bench_table(bench) - ti = bench.times - l = length(ti) - return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) -end diff --git a/ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl b/ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl new file mode 100644 index 0000000..0b2a259 --- /dev/null +++ b/ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl @@ -0,0 +1,10 @@ +module BenchmarkToolsExt + +using BenchmarkTools +using PerfChecker +PerfChecker.default_options(s::String) = "Hello" +@info PerfChecker.default_options("Helalo") +import TypedTables: Table + +export bench_table +end diff --git a/perf/GLM/Project.toml b/perf/GLM/Project.toml index 8fbc80b..b0ff7bd 100644 --- a/perf/GLM/Project.toml +++ b/perf/GLM/Project.toml @@ -1,7 +1,6 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" -PGFPlotsX = "8314cec4-20b6-5062-9cdb-752b83310925" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" StatsModels = "3eaba693-59b7-5ba5-a881-562e759f1c8d" diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 7bd3f18..e69e751 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -4,13 +4,9 @@ module PerfChecker using DataFrames using LibGit2 using OrderedCollections -using PGFPlotsX using Pkg -using Plots using Profile using Random -using StatsPlots -using Term import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo From a56582f1252fda35aaec8c785115563bc756d798 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 27 Jan 2024 03:06:13 +0900 Subject: [PATCH 11/67] More cleanup -- some working stuff --- ext/BenchmarkToolsExt/BenchmarkToolsExt.jl | 8 ++++++ ext/BenchmarkToolsExt/Project.toml | 4 --- ext/BenchmarkToolsExt/benchmark.jl | 28 +++++++++++++++++++ .../src/BenchmarkToolsExt.jl | 10 ------- src/PerfChecker.jl | 1 - src/check.jl | 2 ++ 6 files changed, 38 insertions(+), 15 deletions(-) create mode 100644 ext/BenchmarkToolsExt/BenchmarkToolsExt.jl delete mode 100644 ext/BenchmarkToolsExt/Project.toml create mode 100644 ext/BenchmarkToolsExt/benchmark.jl delete mode 100644 ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl diff --git a/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl b/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl new file mode 100644 index 0000000..c075874 --- /dev/null +++ b/ext/BenchmarkToolsExt/BenchmarkToolsExt.jl @@ -0,0 +1,8 @@ +module BenchmarkToolsExt + +using BenchmarkTools +using PerfChecker +import TypedTables: Table + +include("benchmark.jl") +end diff --git a/ext/BenchmarkToolsExt/Project.toml b/ext/BenchmarkToolsExt/Project.toml deleted file mode 100644 index 0f69765..0000000 --- a/ext/BenchmarkToolsExt/Project.toml +++ /dev/null @@ -1,4 +0,0 @@ -[deps] -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" -TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl new file mode 100644 index 0000000..7572497 --- /dev/null +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -0,0 +1,28 @@ +function PerfChecker.default_options(::Val{:benchmark}) + return Dict( + :threads => 1, + :track => "none", + :samples => BenchmarkTools.DEFAULT_PARAMETERS.samples, + :seconds => BenchmarkTools.DEFAULT_PARAMETERS.seconds, + :evals => BenchmarkTools.DEFAULT_PARAMETERS.evals, + :overhead => BenchmarkTools.DEFAULT_PARAMETERS.overhead, + :gctrial => BenchmarkTools.DEFAULT_PARAMETERS.gctrial, + :gcsample => BenchmarkTools.DEFAULT_PARAMETERS.gcsample, + :time_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.time_tolerance, + :memory_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance + ) +end + +PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote + d = $d + using BenchmarkTools + @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=g[:time_tolerance] memory_tolerance=g[:memory_tolerance] +end + +PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:prep_result] + +function PerfChecker.perf_plot(bench::BenchmarkTools.Trial) + ti = bench.times + l = length(ti) + return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) +end diff --git a/ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl b/ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl deleted file mode 100644 index 0b2a259..0000000 --- a/ext/BenchmarkToolsExt/src/BenchmarkToolsExt.jl +++ /dev/null @@ -1,10 +0,0 @@ -module BenchmarkToolsExt - -using BenchmarkTools -using PerfChecker -PerfChecker.default_options(s::String) = "Hello" -@info PerfChecker.default_options("Helalo") -import TypedTables: Table - -export bench_table -end diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index e69e751..47d27b9 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -14,7 +14,6 @@ import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo # SECTION - Exports export alloc_check export alloc_plot -export bench_plot export store_benchmark export @check export to_table diff --git a/src/check.jl b/src/check.jl index 2ea98e3..78083b2 100644 --- a/src/check.jl +++ b/src/check.jl @@ -40,3 +40,5 @@ macro check(x, d, block1, block2) $post(di, $x) end end + +function perf_plot end From 287ecc4667f364cc134424af19610f7e4df386c5 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 27 Jan 2024 03:09:46 +0900 Subject: [PATCH 12/67] Change name of perf_table to perf_plot --- ext/BenchmarkToolsExt/benchmark.jl | 2 +- src/check.jl | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl index 7572497..733b73a 100644 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -21,7 +21,7 @@ end PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:prep_result] -function PerfChecker.perf_plot(bench::BenchmarkTools.Trial) +function PerfChecker.perf_table(bench::BenchmarkTools.Trial) ti = bench.times l = length(ti) return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) diff --git a/src/check.jl b/src/check.jl index 78083b2..adf034c 100644 --- a/src/check.jl +++ b/src/check.jl @@ -41,4 +41,6 @@ macro check(x, d, block1, block2) end end +function perf_table end + function perf_plot end From 5cfec3dc2d8ba0a47c3f211917769c6088197598 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 27 Jan 2024 03:20:01 +0900 Subject: [PATCH 13/67] change name to to_table --- ext/BenchmarkToolsExt/benchmark.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl index 733b73a..67cb17b 100644 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -21,7 +21,7 @@ end PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:prep_result] -function PerfChecker.perf_table(bench::BenchmarkTools.Trial) +function PerfChecker.to_table(bench::BenchmarkTools.Trial) ti = bench.times l = length(ti) return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) From 98a663e47bf7e65df1cf3bd506b3f4debf74422c Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 27 Jan 2024 08:40:08 +0900 Subject: [PATCH 14/67] Fix the GLM example --- Project.toml | 1 + ext/BenchmarkToolsExt/benchmark.jl | 11 ++++++++--- perf/GLM/bench.jl | 18 +++++++----------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/Project.toml b/Project.toml index cc06e95..5de439c 100644 --- a/Project.toml +++ b/Project.toml @@ -10,6 +10,7 @@ Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433" OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl index 67cb17b..a8a60bf 100644 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -13,13 +13,18 @@ function PerfChecker.default_options(::Val{:benchmark}) ) end -PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote +PerfChecker.check(d::Dict, block::Expr, ::Val{:benchmark}) = quote d = $d using BenchmarkTools - @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=g[:time_tolerance] memory_tolerance=g[:memory_tolerance] + return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] +end + +PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote + $block + nothing end -PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:prep_result] +PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:check_result] function PerfChecker.to_table(bench::BenchmarkTools.Trial) ti = bench.times diff --git a/perf/GLM/bench.jl b/perf/GLM/bench.jl index d9e6520..e3587b3 100644 --- a/perf/GLM/bench.jl +++ b/perf/GLM/bench.jl @@ -1,13 +1,8 @@ -using PerfChecker -using BenchmarkTools +using PerfChecker, BenchmarkTools, PrettyTables -using GLM -using Random -using StatsModels - -target = GLM - -function bench() +t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin + using GLM, Random, StatsModels + end begin n = 2_500_000 rng = Random.MersenneTwister(1234321) tbl = ( @@ -27,5 +22,6 @@ function bench() return nothing end -t = @benchmark bench() evals = 1 samples = 100 seconds = 100 -store_benchmark(t, target; path=@__DIR__) +Base.show(stdout, "text/plain", t) +println() +pretty_table(t |> to_table) From 5aeedf86c3a6f673cb670e095d4b28fdd370f1a0 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 27 Jan 2024 21:44:55 +0900 Subject: [PATCH 15/67] Port the non-working CompositionalNetworks example --- Project.toml | 2 -- perf/CompositionalNetworks/allocs.jl | 27 +++++++++------------------ src/PerfChecker.jl | 6 +++--- 3 files changed, 12 insertions(+), 23 deletions(-) diff --git a/Project.toml b/Project.toml index 5de439c..abf5536 100644 --- a/Project.toml +++ b/Project.toml @@ -5,7 +5,6 @@ version = "0.2.0" [deps] CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" -DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433" OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" @@ -23,7 +22,6 @@ BenchmarkToolsExt = "BenchmarkTools" [compat] CoverageTools = "1" -DataFrames = "1" OrderedCollections = "1" Pkg = "1" TypedTables = "1" diff --git a/perf/CompositionalNetworks/allocs.jl b/perf/CompositionalNetworks/allocs.jl index 561e98e..1f68db5 100644 --- a/perf/CompositionalNetworks/allocs.jl +++ b/perf/CompositionalNetworks/allocs.jl @@ -1,20 +1,11 @@ -using PerfChecker +using PerfChecker, PrettyTables -using CompositionalNetworks -using ConstraintDomains +t = @check :alloc Dict(:path => @__DIR__, :targets => ["CompositionalNetworks"]) begin + using CompositionalNetworks, ConstraintDomains + end begin + domains = [domain([1, 2]) for i in 1:1] + pre_alloc() = foreach(_ -> explore_learn_compose(domains, allunique), 1:1) + explore_learn_compose(domains, allunique) + end -title = "Explore, Learn, and Compose" -path = normpath(joinpath(pathof(PerfChecker), "../perf")) -dependencies = [CompositionalNetworks, ConstraintDomains] -targets = [CompositionalNetworks] - -domains = [domain([1, 2]) for i in 1:1] -pre_alloc() = foreach(_ -> explore_learn_compose(domains, allunique), 1:1) -alloc() = explore_learn_compose(domains, allunique) - -alloc_check(title, dependencies, targets, pre_alloc, alloc; path) - -for d in walkdir(@__DIR__), f in d[end] - splitext(f)[2] == ".mem" && rm(joinpath(d[1], f)) -end -rm(joinpath(path, "mallocs.csv")) +pretty_table(t |> to_table) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 47d27b9..43dffdb 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -1,7 +1,7 @@ module PerfChecker # SECTION - Imports -using DataFrames +#using DataFrames using LibGit2 using OrderedCollections using Pkg @@ -22,7 +22,7 @@ export to_table include("check.jl") include("alloc.jl") -include("benchmarks.jl") -include("utils.jl") +#include("benchmarks.jl") +#include("utils.jl") end From 46d449df82600b27b313950eef68bf04fdcb7855 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Sat, 27 Jan 2024 15:07:35 +0100 Subject: [PATCH 16/67] Temp rm of CompositionalNetworks in perf folder --- perf/CompositionalNetworks/Project.toml | 6 ------ perf/CompositionalNetworks/allocs.jl | 11 ----------- 2 files changed, 17 deletions(-) delete mode 100644 perf/CompositionalNetworks/Project.toml delete mode 100644 perf/CompositionalNetworks/allocs.jl diff --git a/perf/CompositionalNetworks/Project.toml b/perf/CompositionalNetworks/Project.toml deleted file mode 100644 index c669fe0..0000000 --- a/perf/CompositionalNetworks/Project.toml +++ /dev/null @@ -1,6 +0,0 @@ -[deps] -CompositionalNetworks = "4b67e4b5-442d-4ef5-b760-3f5df3a57537" -ConstraintDomains = "5800fd60-8556-4464-8d61-84ebf7a0bedb" -PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" diff --git a/perf/CompositionalNetworks/allocs.jl b/perf/CompositionalNetworks/allocs.jl deleted file mode 100644 index 1f68db5..0000000 --- a/perf/CompositionalNetworks/allocs.jl +++ /dev/null @@ -1,11 +0,0 @@ -using PerfChecker, PrettyTables - -t = @check :alloc Dict(:path => @__DIR__, :targets => ["CompositionalNetworks"]) begin - using CompositionalNetworks, ConstraintDomains - end begin - domains = [domain([1, 2]) for i in 1:1] - pre_alloc() = foreach(_ -> explore_learn_compose(domains, allunique), 1:1) - explore_learn_compose(domains, allunique) - end - -pretty_table(t |> to_table) From 4103703fb5cf06ec161700dbf2f1da00aa94d520 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Sat, 27 Jan 2024 15:19:18 +0100 Subject: [PATCH 17/67] Clean old files and restore PatternFolds allocations script in perf --- Project.toml | 5 -- perf/PatternFolds/Project.toml | 3 + perf/PatternFolds/allocs.jl | 24 ++++++++ src/PerfChecker.jl | 9 --- src/benchmarks.jl | 109 --------------------------------- src/utils.jl | 65 -------------------- 6 files changed, 27 insertions(+), 188 deletions(-) create mode 100644 perf/PatternFolds/Project.toml delete mode 100644 src/benchmarks.jl delete mode 100644 src/utils.jl diff --git a/Project.toml b/Project.toml index abf5536..97a5a46 100644 --- a/Project.toml +++ b/Project.toml @@ -6,12 +6,8 @@ version = "0.2.0" [deps] CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" -LibGit2 = "76f85450-5226-5b5a-8eaa-529ad045b433" -OrderedCollections = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" -Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [weakdeps] @@ -22,7 +18,6 @@ BenchmarkToolsExt = "BenchmarkTools" [compat] CoverageTools = "1" -OrderedCollections = "1" Pkg = "1" TypedTables = "1" julia = "1.10" diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml new file mode 100644 index 0000000..3b3ee24 --- /dev/null +++ b/perf/PatternFolds/Project.toml @@ -0,0 +1,3 @@ +[deps] +PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" +PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index e69de29..16f1a11 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -0,0 +1,24 @@ +using PerfChecker + +@check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin + using PatternFolds + end begin + itv = Interval{Open,Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) + + @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) + + unfold(i) + collect(i) + reverse(collect(i)) + + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + + unfold(vf) + collect(vf) + reverse(collect(vf)) + + rand(vf, 1000) +end \ No newline at end of file diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 43dffdb..03e3cb5 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -1,20 +1,13 @@ module PerfChecker # SECTION - Imports -#using DataFrames -using LibGit2 -using OrderedCollections using Pkg using Profile -using Random import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo # SECTION - Exports -export alloc_check -export alloc_plot -export store_benchmark export @check export to_table @@ -22,7 +15,5 @@ export to_table include("check.jl") include("alloc.jl") -#include("benchmarks.jl") -#include("utils.jl") end diff --git a/src/benchmarks.jl b/src/benchmarks.jl deleted file mode 100644 index 8b473bd..0000000 --- a/src/benchmarks.jl +++ /dev/null @@ -1,109 +0,0 @@ -#= -function store_benchmark(bench, target; path=pwd()) - t = let - ti = bench.times - l = length(ti) - TypedTables.Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) - end - - # Save it as a CSV file - label = version2string(map(p -> joinpath(dirname(pathof(p)), ".."), [target])) - mkpath("benchmarks") - CSV.write(joinpath(path, "benchmarks/benchmark$label.csv"), t) - - return t -end - -function bench_plot(targets; formats=["pdf", "tikz", "svg", "png"], backend=pgfplotsx) - backend() - for target in targets - path = normpath(joinpath(dirname(pathof(target)), "..", "perf", "benchmarks")) - versions = Vector{VersionNumber}() - for f in readdir(path; join=true) - st = splitext(basename(f)) - last(st) == ".csv" || continue - push!(versions, VersionNumber(first(st)[11:end])) - end - sort!(versions) - - data = [ - Dict( - "times" => Vector{Float64}(), - "gctimes" => Vector{Float64}(), - "memory" => Vector{Float64}(), - "allocs" => Vector{Float64}(), - ) for _ in 1:length(versions) - ] - means = Dict( - "times" => Vector{Float64}(), - "gctimes" => Vector{Float64}(), - "memory" => Vector{Float64}(), - "allocs" => Vector{Float64}(), - ) - for (i, version) in enumerate(versions) - csv_path = joinpath(path, "benchmark-$(string(version)).csv") - df = DataFrame(CSV.File(csv_path)) - for dim in ["times", "gctimes", "memory", "allocs"] - data[i][dim] = df[!, dim] - push!(means[dim], mean(df[!, dim])) - end - end - X = map(string, versions) - aux = Vector{Vector{Float64}}() - Z = Matrix{Float64}(undef, length(versions),4) - for (i, dim) in enumerate(["times", "gctimes", "memory", "allocs"]) - ylabel = if dim == "memory" - "size (bytes)" - elseif dim == "allocs" - "allocations" - else - "time (ns)" - end - aux = map(i -> data[i][dim], 1:length(versions)) - y = collect(Iterators.flatten(Iterators.zip(aux...))) - boxplot( - X, - y; - xlabel="version", - ylabel, - title="Benchmarks ($dim) evolution in\n$target.jl", - l=(0.5, 2), - label=dim, - # yaxis=:log, - ) - for format in formats - savefig(joinpath(path, "benchmark-$dim.$format")) - end - z = map(mean, aux) - Z[:,i] = z / last(z) - # push!(aux, y) - end - L = ["times" "gctimes" "memory" "allocs"] - plot( - X, - Z; - xlabel="version", - ylabel="ratio", - title="Benchmarks evolution in\n$target.jl", - markershape=:circle, - l=(0.5, 2), - label=L, - ) - for format in formats - savefig(joinpath(path, "benchmark-evolutions.$format")) - end - # Y = reshape(collect(Iterators.flatten(values(means))), length(means["times"]), 4) - # L = reshape(collect(keys(means)), 1, length(means)) - # plot(X, Y; - # xlabel="version", - # ylabel="time", - # markershape=:circle, - # title="Benchmarks evolution in\n$target.jl", - # l=(0.5, 2), - # label=L,) - # for format in formats - # savefig(joinpath(path, "benchmark-evolutions.$format")) - # end - end -end -=# diff --git a/src/utils.jl b/src/utils.jl deleted file mode 100644 index 6ae8589..0000000 --- a/src/utils.jl +++ /dev/null @@ -1,65 +0,0 @@ -function oid2string(path::String) - id = LibGit2.head_oid(LibGit2.GitRepo(path)) - return prod(i -> string(i; base=16, pad=2), id.val) -end - -function oid2string(paths::Vector{String}) - function get_oid(path) - oid = "" - try - oid = "-" * oid2string(path) - catch _ - @warn "The target $path is not a git repository. Commit id for this target will be ignored to name the output." - end - return oid - end - - return prod(get_oid, paths) -end - -version2string() = string(Pkg.project().version) - -function version2string(paths::Vector{String}) - function get_version(path) - Pkg.activate(path) - v = version2string() - return if isnothing(v) - @warn "The target $path is not a project folder. Versioning for this target will be ignored to name the output." - "" - else - "-" * v - end - end - - save_path = dirname(Pkg.project().path) - output = prod(get_version, paths) - Pkg.activate(save_path) - - return output -end - -@static if VERSION < v"1.7" - Base.joinpath(x) = joinpath(x...) -end - - -function smart_paths(paths) - splitted_paths = map(splitpath ∘ normpath, paths) - - @info "debug" paths splitted_paths - common = paths |> first |> dirname |> splitpath - for path in splitted_paths - to_pop = length(common) - for name in Iterators.zip(common, path) - name[1] == name[2] || break - to_pop -= 1 - end - foreach(_ -> pop!(common), 1:to_pop) - end - - for path in splitted_paths - foreach(_ -> popfirst!(path), 1:length(common)) - end - - return joinpath(common...), map(joinpath, splitted_paths) -end From 7d54971f1a73e442fc142dae17ba41134b723198 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Sat, 27 Jan 2024 15:34:20 +0100 Subject: [PATCH 18/67] Final fixes for tests and perf (PatternFolds) --- perf/PatternFolds/Project.toml | 1 + perf/PatternFolds/allocs.jl | 7 +++-- perf/PatternFolds/bench.jl | 31 +++++++++++++++++++ test/Project.toml | 1 + test/pattern_folds.jl | 56 ++++++++++++++++------------------ test/runtests.jl | 1 + 6 files changed, 66 insertions(+), 31 deletions(-) diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index 3b3ee24..9e30985 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -1,3 +1,4 @@ [deps] PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" +PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 16f1a11..f28339d 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,6 +1,7 @@ using PerfChecker +using PrettyTables -@check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin +x = @check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) @@ -21,4 +22,6 @@ using PerfChecker reverse(collect(vf)) rand(vf, 1000) -end \ No newline at end of file +end + +pretty_table(x |> to_table) \ No newline at end of file diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index e69de29..29cf89e 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -0,0 +1,31 @@ +using PerfChecker, BenchmarkTools, PrettyTables + +t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin + using PatternFolds + end begin + # Intervals + itv = Interval{Open,Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) + + unfold(i) + collect(i) + reverse(collect(i)) + + # rand(i, 1000) + + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + + unfold(vf) + collect(vf) + reverse(collect(vf)) + + rand(vf, 1000) + + return nothing +end + +Base.show(stdout, "text/plain", t) +println() +pretty_table(t |> to_table) \ No newline at end of file diff --git a/test/Project.toml b/test/Project.toml index 983e519..a8bd232 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -5,5 +5,6 @@ ConstraintDomains = "5800fd60-8556-4464-8d61-84ebf7a0bedb" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index 472787b..5ea0f9b 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -1,9 +1,7 @@ -using PatternFolds - @testset "PatternFolds.jl" begin - @check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin - using PatternFolds - end begin + x = @check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin + using PatternFolds + end begin itv = Interval{Open,Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) @@ -23,36 +21,36 @@ using PatternFolds rand(vf, 1000) end -end -#= -target = PatternFolds -function bench() # 0.2.x - # Intervals - itv = Interval{Open,Closed}(0.0, 1.0) - i = IntervalsFold(itv, 2.0, 1000) + pretty_table(x |> to_table) - unfold(i) - collect(i) - reverse(collect(i)) + t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin + using PatternFolds + end begin + # Intervals + itv = Interval{Open,Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) - # rand(i, 1000) + unfold(i) + collect(i) + reverse(collect(i)) - # Vectors - vf = make_vector_fold([0, 1], 2, 1000) - # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + # rand(i, 1000) - unfold(vf) - collect(vf) - reverse(collect(vf)) + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) - rand(vf, 1000) + unfold(vf) + collect(vf) + reverse(collect(vf)) - return nothing -end + rand(vf, 1000) -t = @benchmark bench() evals = 1 samples = 1000 seconds = 3600 + return nothing + end -# Actual call to PerfChecker -store_benchmark(t, target; path=@__DIR__) -=# + Base.show(stdout, "text/plain", t) + println() + pretty_table(t |> to_table) +end \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index 0de52df..ce2b85c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,6 +1,7 @@ using BenchmarkTools using Distributed using PerfChecker +using PrettyTables using Test import CompatHelperLocal From eb188fde9a6addea5513af51f201b9b270051feb Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sun, 28 Jan 2024 00:54:45 +0900 Subject: [PATCH 19/67] Some typo fixes and checking --- Project.toml | 1 + perf/PatternFolds/allocs.jl | 4 ++-- test/pattern_folds.jl | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Project.toml b/Project.toml index 97a5a46..1dba28c 100644 --- a/Project.toml +++ b/Project.toml @@ -7,6 +7,7 @@ version = "0.2.0" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index f28339d..5285b05 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,7 +1,7 @@ using PerfChecker using PrettyTables -x = @check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin +x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__) begin using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) @@ -24,4 +24,4 @@ x = @check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin rand(vf, 1000) end -pretty_table(x |> to_table) \ No newline at end of file +pretty_table(x |> to_table) diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index 5ea0f9b..78b2496 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -1,5 +1,5 @@ @testset "PatternFolds.jl" begin - x = @check :alloc Dict(:target => ["PatternFolds"], :path => @__DIR__) begin + x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__) begin using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) @@ -53,4 +53,4 @@ Base.show(stdout, "text/plain", t) println() pretty_table(t |> to_table) -end \ No newline at end of file +end From 6ff242bb3225fc5f4cddaa69668456e6be1ffabc Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Wed, 6 Mar 2024 09:51:04 +0530 Subject: [PATCH 20/67] Initial changes --- Project.toml | 1 + src/PerfChecker.jl | 38 ++++++++++++++++++++++++++++++++++++++ src/alloc.jl | 2 -- src/check.jl | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 73 insertions(+), 2 deletions(-) diff --git a/Project.toml b/Project.toml index 1dba28c..e231b76 100644 --- a/Project.toml +++ b/Project.toml @@ -5,6 +5,7 @@ version = "0.2.0" [deps] CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" +CpuId = "adafc99b-e345-5852-983c-f28acb93d879" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 03e3cb5..eb827d6 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -6,6 +6,44 @@ using Profile import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo +import Sys +import CpuId + +struct HwInfo + cpus::Vector{CPUInfo} + machine::String + word::Int + simdbytes::Int + corecount::Tuple{Int, Int} +end + +struct CheckerResult + table::Table + hwinfo::HwInfo + tags::Vector{Symbol} +end + +function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) + results = [] + if exact_match + for j in results + if tags == j.tags + push!(results, tags) + else + end + else + for j in results + for i in tags + if i in j.tags + push!(results, tags) + break + end + end + end + end + + return results +end # SECTION - Exports export @check diff --git a/src/alloc.jl b/src/alloc.jl index 9afb80b..4a8e41e 100644 --- a/src/alloc.jl +++ b/src/alloc.jl @@ -1,6 +1,4 @@ prep(d::Dict, block::Expr, ::Val{:alloc}) = quote - import Pkg - Pkg.instantiate() import Profile $block nothing diff --git a/src/check.jl b/src/check.jl index adf034c..e534c7a 100644 --- a/src/check.jl +++ b/src/check.jl @@ -12,19 +12,53 @@ function default_options(d::Dict, v::Symbol) return merge(di, d) end +function resolve_versions(d::Dict{String,Any}) + for key,value in d + d[key] = resolve_version(x) + end +end + +function resolve_version(x::String, y::VersionNumber) + +end + +function resolve_version(x::String, y::String) + +end + +function resolve_version(x::String, y::Symbol) + +end + macro check(x, d, block1, block2) block1, block2 = Expr(:quote, block1), Expr(:quote, block2) quote di = default_options($d, $x) g = prep(di, $block1, $x) h = check(di, $block2, $x) + import Pkg + Pkg.instantiate() p = remotecall_fetch(Core.eval, 1, Main, Expr(:toplevel, quote import Distributed d = $di + if typeof(d[:path]) == Dict{String, Any} + d[:path] == mktemp()[1] + end Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$(d[:path])", "-t $(d[:threads])"]) end).args...) |> first + remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, quote + import Pkg; + Pkg.instantiate(); + ).args...) + + + if typeof(di.path) == Dict{String, Any} + + end + di[:prep_result] = remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, g.args...)) From 2916b055cefc169dd971daba81a6732b0928890f Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Fri, 8 Mar 2024 05:05:07 +0530 Subject: [PATCH 21/67] Refactor tag search, some minor development --- src/PerfChecker.jl | 22 +--------------------- src/versions.jl | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 21 deletions(-) create mode 100644 src/versions.jl diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index eb827d6..95d7154 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -23,27 +23,7 @@ struct CheckerResult tags::Vector{Symbol} end -function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) - results = [] - if exact_match - for j in results - if tags == j.tags - push!(results, tags) - else - end - else - for j in results - for i in tags - if i in j.tags - push!(results, tags) - break - end - end - end - end - - return results -end +find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) = findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) # SECTION - Exports export @check diff --git a/src/versions.jl b/src/versions.jl new file mode 100644 index 0000000..bfe28a3 --- /dev/null +++ b/src/versions.jl @@ -0,0 +1,23 @@ +const VerConfig = Tuple{Symbol, Vector{VersionNumber}, Bool} + +struct PackVer + pack::String + ver::VerConfig +end + +to_version_numbers(x) = to_version_numbers(x...) +to_version_numbers(s::Symbol, x...) = to_version_numbers(Val(s), x...) + +function findmaxversion(d::String,m::String) + l=m[1:1] + a_path=joinpath(d,"registries","General",l,m) + if isdir(d)&&isdir(a_path) + di=Pkg.Operations.load_versions(a_path) + return maximum(keys(di)) + end + return v"0.0.0" +end + +findmaxversion(m::String)=maximum(findmaxversion.(DEPOT_PATH,m)) + +function to_version_numbers(ver::VerConfig) end From 2405658c90eaa99840f788a029b9f5fc65ec733b Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Thu, 14 Mar 2024 06:21:28 +0530 Subject: [PATCH 22/67] Add version resolution for patches, breaking and major --- src/PerfChecker.jl | 4 ++- src/versions.jl | 83 +++++++++++++++++++++++++++++++++++++--------- 2 files changed, 70 insertions(+), 17 deletions(-) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 95d7154..e47f0be 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -2,6 +2,8 @@ module PerfChecker # SECTION - Imports using Pkg +using Pkg.Types +import TOML using Profile import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs @@ -30,7 +32,7 @@ export @check export to_table # SECTION - Includes - +include("versions.jl") include("check.jl") include("alloc.jl") diff --git a/src/versions.jl b/src/versions.jl index bfe28a3..ece3bb9 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -1,23 +1,74 @@ +""" +Finds all versions of a package in all the installed registries and returns it as a vector. + +Example: + +```julia-repl +julia> get_pkg_versions("ConstraintLearning") +7-element Vector{VersionNumber}: + v"0.1.4" + v"0.1.5" + v"0.1.0" + v"0.1.6" + v"0.1.1" + v"0.1.3" + v"0.1.2" +``` +""" +function get_pkg_versions(name::String, regname::Union{Nothing,Vector{String}} = nothing)::Vector{VersionNumber} + regs = Types.Context().registries + indexes = isnothing(regname) ? collect(1:length(regs)) : findall(x -> x.name in regname, regs) + + versions::Set{String} = Set([]) + for i in indexes + push!(versions, keys(TOML.parse(regs[i].in_memory_registry[join([first(name),name,"Versions.toml"], '/')]))...) + end + return VersionNumber.(versions) +end + const VerConfig = Tuple{Symbol, Vector{VersionNumber}, Bool} -struct PackVer - pack::String - ver::VerConfig +function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regname::Union{Nothing, Vector{String}} = nothing) + versions = get_pkg_versions(name, regname) + s = pkgconf[1] + f = if s == :patches + arrange_patches + elseif s == :breaking + arrange_breaking + elseif s == :major + arrange_major + else + error("Unknown option provided $(pkgconf[1])") + end + return map(x -> f(x, versions, pkgconf[3]), pkgconf[2]) end -to_version_numbers(x) = to_version_numbers(x...) -to_version_numbers(s::Symbol, x...) = to_version_numbers(Val(s), x...) - -function findmaxversion(d::String,m::String) - l=m[1:1] - a_path=joinpath(d,"registries","General",l,m) - if isdir(d)&&isdir(a_path) - di=Pkg.Operations.load_versions(a_path) - return maximum(keys(di)) - end - return v"0.0.0" + +""" +Outputs the last patch or first patch of a version. +If the input is 1.2.3, then the output is 1.2.0 or 1.2.9 (assuming both exist, and both are the first and last patch of the version) +""" +function arrange_patches(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) + a = filter(x -> a.minor == x.minor && a.major == x.major, v) + return maxo ? maximum(a) : minimum(a) end -findmaxversion(m::String)=maximum(findmaxversion.(DEPOT_PATH,m)) +""" +Outputs the last breaking or next breaking version. +If the input is 1.2.3, then the output is 1.2.0 or 1.3.0 (assuming both exist) +""" +function arrange_breaking(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) + a = filter(x -> a.major == x.major && a.minor == x.minor, v) + b = filter(x -> a.major == x.major && a.minor < x.minor, v) + return maxo ? minimum(b) : minimum(a) +end -function to_version_numbers(ver::VerConfig) end +# I believe breaking and minor are the same?i +""" +Outputs the earlier or next major version. +""" +function arrange_major(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) + a = filter(x -> a.major < x.major, v) + b = filter(x -> a.major > x.major, v) + return maxo ? minimum(a) : maximum(b) +end From 9d08e745a4ab4a8976a9dd7aeabdf36746c9c36f Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Thu, 14 Mar 2024 14:11:11 +0530 Subject: [PATCH 23/67] Bugfixing + Better checking for version resolution --- src/versions.jl | 49 ++++++++++++++++++++++++++----------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/src/versions.jl b/src/versions.jl index ece3bb9..b7ddb90 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -28,28 +28,13 @@ end const VerConfig = Tuple{Symbol, Vector{VersionNumber}, Bool} -function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regname::Union{Nothing, Vector{String}} = nothing) - versions = get_pkg_versions(name, regname) - s = pkgconf[1] - f = if s == :patches - arrange_patches - elseif s == :breaking - arrange_breaking - elseif s == :major - arrange_major - else - error("Unknown option provided $(pkgconf[1])") - end - return map(x -> f(x, versions, pkgconf[3]), pkgconf[2]) -end - - """ Outputs the last patch or first patch of a version. If the input is 1.2.3, then the output is 1.2.0 or 1.2.9 (assuming both exist, and both are the first and last patch of the version) """ function arrange_patches(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) a = filter(x -> a.minor == x.minor && a.major == x.major, v) + isempty(a) && error("No matching version found") return maxo ? maximum(a) : minimum(a) end @@ -58,17 +43,35 @@ Outputs the last breaking or next breaking version. If the input is 1.2.3, then the output is 1.2.0 or 1.3.0 (assuming both exist) """ function arrange_breaking(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - a = filter(x -> a.major == x.major && a.minor == x.minor, v) - b = filter(x -> a.major == x.major && a.minor < x.minor, v) - return maxo ? minimum(b) : minimum(a) + p = !maxo && filter(x -> a.major == x.major && a.minor == x.minor, v) + q = maxo && filter(x -> a.major == x.major && a.minor < x.minor, v) + (isempty(p) || isempty(q)) && error("No matching version found.") + return maxo ? minimum(q) : minimum(p) end -# I believe breaking and minor are the same?i """ Outputs the earlier or next major version. """ function arrange_major(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - a = filter(x -> a.major < x.major, v) - b = filter(x -> a.major > x.major, v) - return maxo ? minimum(a) : maximum(b) + p = maxo && filter(x -> a.major < x.major, v) + q = !maxo && filter(x -> a.major > x.major, v) + (isempty(p) || isempty(q)) && error("No matching version found.") + return maxo ? minimum(p) : maximum(q) end + +function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regname::Union{Nothing, Vector{String}} = nothing) + versions = get_pkg_versions(name, regname) + s = pkgconf[1] + f = if s == :patches + arrange_patches + elseif s == :breaking + arrange_breaking + elseif s == :major + arrange_major + else + error("Unknown option provided $(pkgconf[1])") + end + return map(x -> f(x, versions, pkgconf[3]), pkgconf[2]) +end + + From 9378d89622dbc8b2f95a88124383b94213073c5e Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 16 Mar 2024 05:38:53 +0530 Subject: [PATCH 24/67] Last run begins :) --- Project.toml | 1 + perf/GLM/allocs.jl | 5 ++-- src/PerfChecker.jl | 12 ++++---- src/check.jl | 75 ++++++++++++++++++++-------------------------- src/versions.jl | 12 ++++---- 5 files changed, 47 insertions(+), 58 deletions(-) diff --git a/Project.toml b/Project.toml index e231b76..887b1a9 100644 --- a/Project.toml +++ b/Project.toml @@ -10,6 +10,7 @@ Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" +TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [weakdeps] diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 70405a5..1a6b99f 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,6 +1,6 @@ using PerfChecker, PrettyTables -x = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin +result = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin using GLM, Random, StatsModels end begin n = 2_500_000 @@ -21,5 +21,6 @@ x = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin glm(pred, resp, Bernoulli()) end +pretty_table(result.tables[1]) -pretty_table(x |> to_table) +#pretty_table(x.tables[1]) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index e47f0be..e6d57fc 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -3,16 +3,16 @@ module PerfChecker # SECTION - Imports using Pkg using Pkg.Types -import TOML +import TOML: parse using Profile import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo -import Sys +import Base.Sys: CPUinfo import CpuId struct HwInfo - cpus::Vector{CPUInfo} + cpus::Vector{CPUinfo} machine::String word::Int simdbytes::Int @@ -20,9 +20,9 @@ struct HwInfo end struct CheckerResult - table::Table - hwinfo::HwInfo - tags::Vector{Symbol} + tables::Vector{Table} + hwinfo::Union{HwInfo,Nothing} + tags::Union{Nothing,Vector{Symbol}} end find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) = findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) diff --git a/src/check.jl b/src/check.jl index e534c7a..4e2e4e9 100644 --- a/src/check.jl +++ b/src/check.jl @@ -12,66 +12,55 @@ function default_options(d::Dict, v::Symbol) return merge(di, d) end -function resolve_versions(d::Dict{String,Any}) - for key,value in d - d[key] = resolve_version(x) - end -end - -function resolve_version(x::String, y::VersionNumber) - -end - -function resolve_version(x::String, y::String) - -end - -function resolve_version(x::String, y::Symbol) - -end - macro check(x, d, block1, block2) block1, block2 = Expr(:quote, block1), Expr(:quote, block2) quote di = default_options($d, $x) g = prep(di, $block1, $x) h = check(di, $block2, $x) - import Pkg - Pkg.instantiate() + results = CheckerResult( + Table[], + nothing, + nothing + ) + p = remotecall_fetch(Core.eval, 1, Main, Expr(:toplevel, quote import Distributed d = $di - if typeof(d[:path]) == Dict{String, Any} - d[:path] == mktemp()[1] - end - Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$(d[:path])", "-t $(d[:threads])"]) + t = tempname() + cp(d[:path], t) + Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$t", "-t $(d[:threads])"]) end).args...) |> first - remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, quote - import Pkg; - Pkg.instantiate(); - ).args...) + pkgs = haskey(di, :pkgs) ? [PackageSpec(name=di[:pkgs][1], version=i) for i in get_versions(di[:pkgs])] : PackageSpec[PackageSpec()] - - if typeof(di.path) == Dict{String, Any} - - end + for i in pkgs + remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, quote + import Pkg; + d = $di + Pkg.instantiate(); + $pkgs != [Pkg.PackageSpec()] && Pkg.add($i) + haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) + end).args...) - di[:prep_result] = remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, g.args...)) + di[:prep_result] = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, g.args...)) - di[:check_result] = remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, h.args...)) + di[:check_result] = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, h.args...)) - remotecall_fetch(Core.eval, 1, Main, - Expr(:toplevel, quote - import Distributed - Distributed.rmprocs($p) - end).args...) + remotecall_fetch(Core.eval, 1, Main, + Expr(:toplevel, quote + import Distributed + Distributed.rmprocs($p) + end).args...) - $post(di, $x) + res = $post(di, $x) + push!(results.tables, res |> to_table) + end + results end end diff --git a/src/versions.jl b/src/versions.jl index b7ddb90..c3b678a 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -21,12 +21,12 @@ function get_pkg_versions(name::String, regname::Union{Nothing,Vector{String}} = versions::Set{String} = Set([]) for i in indexes - push!(versions, keys(TOML.parse(regs[i].in_memory_registry[join([first(name),name,"Versions.toml"], '/')]))...) + push!(versions, keys(parse(regs[i].in_memory_registry[join([first(name),name,"Versions.toml"], '/')]))...) end return VersionNumber.(versions) end -const VerConfig = Tuple{Symbol, Vector{VersionNumber}, Bool} +const VerConfig = Tuple{String, Symbol, Vector{VersionNumber}, Bool} """ Outputs the last patch or first patch of a version. @@ -61,7 +61,7 @@ end function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regname::Union{Nothing, Vector{String}} = nothing) versions = get_pkg_versions(name, regname) - s = pkgconf[1] + s = pkgconf[2] f = if s == :patches arrange_patches elseif s == :breaking @@ -69,9 +69,7 @@ function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regna elseif s == :major arrange_major else - error("Unknown option provided $(pkgconf[1])") + error("Unknown option provided $s") end - return map(x -> f(x, versions, pkgconf[3]), pkgconf[2]) + return name, map(x -> f(x, versions, pkgconf[4]), pkgconf[3]) end - - From ac06f346f5a3a69afb208609ecfaa1a032d3e4e7 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sun, 17 Mar 2024 05:34:12 +0530 Subject: [PATCH 25/67] More polishing, better defaults --- perf/GLM/allocs.jl | 1 + src/PerfChecker.jl | 7 ++++--- src/check.jl | 12 ++++++++++-- test/pattern_folds.jl | 2 -- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 1a6b99f..b4db085 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -21,6 +21,7 @@ result = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin glm(pred, resp, Bernoulli()) end +@info result pretty_table(result.tables[1]) #pretty_table(x.tables[1]) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index e6d57fc..49b6089 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -8,21 +8,22 @@ using Profile import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo -import Base.Sys: CPUinfo -import CpuId +import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE +import CpuId: simdbytes, cpucores, cpucores_total, cputhreads_per_core struct HwInfo cpus::Vector{CPUinfo} machine::String word::Int simdbytes::Int - corecount::Tuple{Int, Int} + corecount::Tuple{Int, Int, Int} end struct CheckerResult tables::Vector{Table} hwinfo::Union{HwInfo,Nothing} tags::Union{Nothing,Vector{Symbol}} + pkgs::Vector{PackageSpec} end find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) = findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) diff --git a/src/check.jl b/src/check.jl index 4e2e4e9..f19c7d9 100644 --- a/src/check.jl +++ b/src/check.jl @@ -20,8 +20,15 @@ macro check(x, d, block1, block2) h = check(di, $block2, $x) results = CheckerResult( Table[], - nothing, - nothing + HwInfo( + cpu_info(), + CPU_NAME, + WORD_SIZE, + simdbytes(), + (cpucores(), cpucores_total(), cputhreads_per_core()) + ), + haskey(di, :tags) ? di[:tags] : Symbol[:none], + PackageSpec[] ) p = remotecall_fetch(Core.eval, 1, Main, @@ -59,6 +66,7 @@ macro check(x, d, block1, block2) res = $post(di, $x) push!(results.tables, res |> to_table) + push!(results.pkgs, i) end results end diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index 78b2496..0a71ffa 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -50,7 +50,5 @@ return nothing end - Base.show(stdout, "text/plain", t) - println() pretty_table(t |> to_table) end From 07447d1cbac55b459e8203d068ed91e6b9b3356f Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Mon, 18 Mar 2024 06:56:17 +0530 Subject: [PATCH 26/67] Even more polish, better display of output, fix tests --- Project.toml | 1 - perf/GLM/allocs.jl | 3 --- perf/GLM/bench.jl | 6 ++---- perf/PatternFolds/allocs.jl | 4 ++-- perf/PatternFolds/bench.jl | 4 +--- src/PerfChecker.jl | 22 ++++++++++++++++++++++ test/pattern_folds.jl | 4 ++-- 7 files changed, 29 insertions(+), 15 deletions(-) diff --git a/Project.toml b/Project.toml index 887b1a9..0550b48 100644 --- a/Project.toml +++ b/Project.toml @@ -8,7 +8,6 @@ CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index b4db085..8d89fe1 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -22,6 +22,3 @@ result = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin end @info result -pretty_table(result.tables[1]) - -#pretty_table(x.tables[1]) diff --git a/perf/GLM/bench.jl b/perf/GLM/bench.jl index e3587b3..05db130 100644 --- a/perf/GLM/bench.jl +++ b/perf/GLM/bench.jl @@ -1,4 +1,4 @@ -using PerfChecker, BenchmarkTools, PrettyTables +using PerfChecker, BenchmarkTools t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using GLM, Random, StatsModels @@ -22,6 +22,4 @@ t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :sec return nothing end -Base.show(stdout, "text/plain", t) -println() -pretty_table(t |> to_table) +@info t diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 5285b05..9e89354 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,7 +1,7 @@ using PerfChecker using PrettyTables -x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__) begin +x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals]) begin using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) @@ -24,4 +24,4 @@ x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__) begin rand(vf, 1000) end -pretty_table(x |> to_table) +@info x diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index 29cf89e..6309abd 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -26,6 +26,4 @@ t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :sec return nothing end -Base.show(stdout, "text/plain", t) -println() -pretty_table(t |> to_table) \ No newline at end of file +@info t diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 49b6089..82ff563 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -26,11 +26,33 @@ struct CheckerResult pkgs::Vector{PackageSpec} end +function Base.show(io::IO, v::PerfChecker.CheckerResult) + println(io, "Tables:") + for i in v.tables + println(io, '\t', Base.display(i)) + end + + println(io, "Hardware Info:") + println(io, "CPU Information:") + println(io, '\t', v.hwinfo.cpus) + println(io, "Machine name: ", v.hwinfo.machine) + println(io, "Word Size: ", v.hwinfo.word) + println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) + println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) + + println(io, "Tags used: ", v.tags) + + println(io, "Package versions tested (if provided): ") + println(io, Base.display(v.pkgs)) +end + find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) = findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) # SECTION - Exports export @check export to_table +export find_by_tags +export get_versions # SECTION - Includes include("versions.jl") diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index 0a71ffa..0a7422d 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -22,7 +22,7 @@ rand(vf, 1000) end - pretty_table(x |> to_table) + @info x t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using PatternFolds @@ -50,5 +50,5 @@ return nothing end - pretty_table(t |> to_table) + @info t end From 30ffa3db4560d0ef1725011ecc30c5e2b12b43f6 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan <51269425+VarLad@users.noreply.github.com> Date: Mon, 18 Mar 2024 07:15:36 +0530 Subject: [PATCH 27/67] WIP: Tag system + Version System (#25) * Refactor tag search, some minor development * Add version resolution for patches, breaking and major * Better display of output, fix tests --- Project.toml | 3 +- perf/GLM/allocs.jl | 5 +-- perf/GLM/bench.jl | 6 +-- perf/PatternFolds/allocs.jl | 4 +- perf/PatternFolds/bench.jl | 4 +- src/PerfChecker.jl | 45 +++++++++++++++++++++- src/alloc.jl | 2 - src/check.jl | 53 ++++++++++++++++++++------ src/versions.jl | 75 +++++++++++++++++++++++++++++++++++++ test/pattern_folds.jl | 6 +-- 10 files changed, 172 insertions(+), 31 deletions(-) create mode 100644 src/versions.jl diff --git a/Project.toml b/Project.toml index 1dba28c..0550b48 100644 --- a/Project.toml +++ b/Project.toml @@ -5,10 +5,11 @@ version = "0.2.0" [deps] CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" +CpuId = "adafc99b-e345-5852-983c-f28acb93d879" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" +TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [weakdeps] diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 70405a5..8d89fe1 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,6 +1,6 @@ using PerfChecker, PrettyTables -x = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin +result = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin using GLM, Random, StatsModels end begin n = 2_500_000 @@ -21,5 +21,4 @@ x = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin glm(pred, resp, Bernoulli()) end - -pretty_table(x |> to_table) +@info result diff --git a/perf/GLM/bench.jl b/perf/GLM/bench.jl index e3587b3..05db130 100644 --- a/perf/GLM/bench.jl +++ b/perf/GLM/bench.jl @@ -1,4 +1,4 @@ -using PerfChecker, BenchmarkTools, PrettyTables +using PerfChecker, BenchmarkTools t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using GLM, Random, StatsModels @@ -22,6 +22,4 @@ t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :sec return nothing end -Base.show(stdout, "text/plain", t) -println() -pretty_table(t |> to_table) +@info t diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 5285b05..9e89354 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,7 +1,7 @@ using PerfChecker using PrettyTables -x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__) begin +x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals]) begin using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) @@ -24,4 +24,4 @@ x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__) begin rand(vf, 1000) end -pretty_table(x |> to_table) +@info x diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index 29cf89e..6309abd 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -26,6 +26,4 @@ t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :sec return nothing end -Base.show(stdout, "text/plain", t) -println() -pretty_table(t |> to_table) \ No newline at end of file +@info t diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 03e3cb5..82ff563 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -2,17 +2,60 @@ module PerfChecker # SECTION - Imports using Pkg +using Pkg.Types +import TOML: parse using Profile import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo +import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE +import CpuId: simdbytes, cpucores, cpucores_total, cputhreads_per_core + +struct HwInfo + cpus::Vector{CPUinfo} + machine::String + word::Int + simdbytes::Int + corecount::Tuple{Int, Int, Int} +end + +struct CheckerResult + tables::Vector{Table} + hwinfo::Union{HwInfo,Nothing} + tags::Union{Nothing,Vector{Symbol}} + pkgs::Vector{PackageSpec} +end + +function Base.show(io::IO, v::PerfChecker.CheckerResult) + println(io, "Tables:") + for i in v.tables + println(io, '\t', Base.display(i)) + end + + println(io, "Hardware Info:") + println(io, "CPU Information:") + println(io, '\t', v.hwinfo.cpus) + println(io, "Machine name: ", v.hwinfo.machine) + println(io, "Word Size: ", v.hwinfo.word) + println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) + println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) + + println(io, "Tags used: ", v.tags) + + println(io, "Package versions tested (if provided): ") + println(io, Base.display(v.pkgs)) +end + +find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) = findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) # SECTION - Exports export @check export to_table +export find_by_tags +export get_versions # SECTION - Includes - +include("versions.jl") include("check.jl") include("alloc.jl") diff --git a/src/alloc.jl b/src/alloc.jl index 9afb80b..4a8e41e 100644 --- a/src/alloc.jl +++ b/src/alloc.jl @@ -1,6 +1,4 @@ prep(d::Dict, block::Expr, ::Val{:alloc}) = quote - import Pkg - Pkg.instantiate() import Profile $block nothing diff --git a/src/check.jl b/src/check.jl index adf034c..f19c7d9 100644 --- a/src/check.jl +++ b/src/check.jl @@ -18,26 +18,57 @@ macro check(x, d, block1, block2) di = default_options($d, $x) g = prep(di, $block1, $x) h = check(di, $block2, $x) + results = CheckerResult( + Table[], + HwInfo( + cpu_info(), + CPU_NAME, + WORD_SIZE, + simdbytes(), + (cpucores(), cpucores_total(), cputhreads_per_core()) + ), + haskey(di, :tags) ? di[:tags] : Symbol[:none], + PackageSpec[] + ) + p = remotecall_fetch(Core.eval, 1, Main, Expr(:toplevel, quote import Distributed d = $di - Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$(d[:path])", "-t $(d[:threads])"]) + t = tempname() + cp(d[:path], t) + Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$t", "-t $(d[:threads])"]) end).args...) |> first - di[:prep_result] = remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, g.args...)) + pkgs = haskey(di, :pkgs) ? [PackageSpec(name=di[:pkgs][1], version=i) for i in get_versions(di[:pkgs])] : PackageSpec[PackageSpec()] - di[:check_result] = remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, h.args...)) + for i in pkgs + remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, quote + import Pkg; + d = $di + Pkg.instantiate(); + $pkgs != [Pkg.PackageSpec()] && Pkg.add($i) + haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) + end).args...) - remotecall_fetch(Core.eval, 1, Main, - Expr(:toplevel, quote - import Distributed - Distributed.rmprocs($p) - end).args...) + di[:prep_result] = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, g.args...)) + + di[:check_result] = remotecall_fetch(Core.eval, p, Main, + Expr(:toplevel, h.args...)) + + remotecall_fetch(Core.eval, 1, Main, + Expr(:toplevel, quote + import Distributed + Distributed.rmprocs($p) + end).args...) - $post(di, $x) + res = $post(di, $x) + push!(results.tables, res |> to_table) + push!(results.pkgs, i) + end + results end end diff --git a/src/versions.jl b/src/versions.jl new file mode 100644 index 0000000..c3b678a --- /dev/null +++ b/src/versions.jl @@ -0,0 +1,75 @@ +""" +Finds all versions of a package in all the installed registries and returns it as a vector. + +Example: + +```julia-repl +julia> get_pkg_versions("ConstraintLearning") +7-element Vector{VersionNumber}: + v"0.1.4" + v"0.1.5" + v"0.1.0" + v"0.1.6" + v"0.1.1" + v"0.1.3" + v"0.1.2" +``` +""" +function get_pkg_versions(name::String, regname::Union{Nothing,Vector{String}} = nothing)::Vector{VersionNumber} + regs = Types.Context().registries + indexes = isnothing(regname) ? collect(1:length(regs)) : findall(x -> x.name in regname, regs) + + versions::Set{String} = Set([]) + for i in indexes + push!(versions, keys(parse(regs[i].in_memory_registry[join([first(name),name,"Versions.toml"], '/')]))...) + end + return VersionNumber.(versions) +end + +const VerConfig = Tuple{String, Symbol, Vector{VersionNumber}, Bool} + +""" +Outputs the last patch or first patch of a version. +If the input is 1.2.3, then the output is 1.2.0 or 1.2.9 (assuming both exist, and both are the first and last patch of the version) +""" +function arrange_patches(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) + a = filter(x -> a.minor == x.minor && a.major == x.major, v) + isempty(a) && error("No matching version found") + return maxo ? maximum(a) : minimum(a) +end + +""" +Outputs the last breaking or next breaking version. +If the input is 1.2.3, then the output is 1.2.0 or 1.3.0 (assuming both exist) +""" +function arrange_breaking(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) + p = !maxo && filter(x -> a.major == x.major && a.minor == x.minor, v) + q = maxo && filter(x -> a.major == x.major && a.minor < x.minor, v) + (isempty(p) || isempty(q)) && error("No matching version found.") + return maxo ? minimum(q) : minimum(p) +end + +""" +Outputs the earlier or next major version. +""" +function arrange_major(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) + p = maxo && filter(x -> a.major < x.major, v) + q = !maxo && filter(x -> a.major > x.major, v) + (isempty(p) || isempty(q)) && error("No matching version found.") + return maxo ? minimum(p) : maximum(q) +end + +function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regname::Union{Nothing, Vector{String}} = nothing) + versions = get_pkg_versions(name, regname) + s = pkgconf[2] + f = if s == :patches + arrange_patches + elseif s == :breaking + arrange_breaking + elseif s == :major + arrange_major + else + error("Unknown option provided $s") + end + return name, map(x -> f(x, versions, pkgconf[4]), pkgconf[3]) +end diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index 78b2496..0a7422d 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -22,7 +22,7 @@ rand(vf, 1000) end - pretty_table(x |> to_table) + @info x t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using PatternFolds @@ -50,7 +50,5 @@ return nothing end - Base.show(stdout, "text/plain", t) - println() - pretty_table(t |> to_table) + @info t end From a3bb1abde0378db3222346110963fc759419d20c Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Fri, 29 Mar 2024 05:53:24 +0530 Subject: [PATCH 28/67] Bugfixing + better checking of versions --- perf/PatternFolds/allocs.jl | 4 ++- src/check.jl | 31 ++++++++++++++------ src/versions.jl | 56 ++++++++++++++++++++++++++----------- 3 files changed, 66 insertions(+), 25 deletions(-) diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 9e89354..aefa0d4 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,7 +1,9 @@ using PerfChecker using PrettyTables -x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals]) begin +d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) + +x = @check :alloc d begin using PatternFolds end begin itv = Interval{Open,Closed}(0.0, 1.0) diff --git a/src/check.jl b/src/check.jl index f19c7d9..646985f 100644 --- a/src/check.jl +++ b/src/check.jl @@ -15,7 +15,8 @@ end macro check(x, d, block1, block2) block1, block2 = Expr(:quote, block1), Expr(:quote, block2) quote - di = default_options($d, $x) + d = $(esc(d)) + di = default_options(d, $x) g = prep(di, $block1, $x) h = check(di, $block2, $x) results = CheckerResult( @@ -31,7 +32,18 @@ macro check(x, d, block1, block2) PackageSpec[] ) - p = remotecall_fetch(Core.eval, 1, Main, + pkgs = if haskey(di, :pkgs) + [PackageSpec(name=di[:pkgs][1], version=i) for i in get_versions(di[:pkgs])[2]] + else + PackageSpec[PackageSpec()] + end + + devop = haskey(di, :devops) + + len = length(pkgs) + devop + + for i in 1:len + p = remotecall_fetch(Core.eval, 1, Main, Expr(:toplevel, quote import Distributed d = $di @@ -40,15 +52,17 @@ macro check(x, d, block1, block2) Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$t", "-t $(d[:threads])"]) end).args...) |> first - pkgs = haskey(di, :pkgs) ? [PackageSpec(name=di[:pkgs][1], version=i) for i in get_versions(di[:pkgs])] : PackageSpec[PackageSpec()] - - for i in pkgs remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, quote import Pkg; d = $di Pkg.instantiate(); - $pkgs != [Pkg.PackageSpec()] && Pkg.add($i) + if !($i == $len && $devop) + $pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex($pkgs, $i)) + else + pkg = d[:devops] + pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) + end haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) end).args...) @@ -63,10 +77,11 @@ macro check(x, d, block1, block2) import Distributed Distributed.rmprocs($p) end).args...) - res = $post(di, $x) push!(results.tables, res |> to_table) - push!(results.pkgs, i) + if !(devop && i == len) + push!(results.pkgs, pkgs[i]) + end end results end diff --git a/src/versions.jl b/src/versions.jl index c3b678a..05375ad 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -29,13 +29,25 @@ end const VerConfig = Tuple{String, Symbol, Vector{VersionNumber}, Bool} """ -Outputs the last patch or first patch of a version. +Outputs the last patch or first patch of a version. If the input is 1.2.3, then the output is 1.2.0 or 1.2.9 (assuming both exist, and both are the first and last patch of the version) """ -function arrange_patches(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - a = filter(x -> a.minor == x.minor && a.major == x.major, v) - isempty(a) && error("No matching version found") - return maxo ? maximum(a) : minimum(a) +function arrange_patches(a::VersionNumber, v::Vector{VersionNumber}, ::Bool) + a = filter(x -> a.minor == x.minor && a.major == x.major, v) + if isempty(a) + @warn "No matching version found" + return Vector{VersionNumber}() + end + return a +end + +function arrange_minor(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) + p = filter(x -> a.major == x.major && a.minor == x.minor, v) + if isempty(p) + @warn "No matching version found" + return Vector{VersionNumber}() + end + return maxo ? [maximum(p)] : [minimum(p)] end """ @@ -43,24 +55,32 @@ Outputs the last breaking or next breaking version. If the input is 1.2.3, then the output is 1.2.0 or 1.3.0 (assuming both exist) """ function arrange_breaking(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - p = !maxo && filter(x -> a.major == x.major && a.minor == x.minor, v) - q = maxo && filter(x -> a.major == x.major && a.minor < x.minor, v) - (isempty(p) || isempty(q)) && error("No matching version found.") - return maxo ? minimum(q) : minimum(p) + if a.major == 0 + return arrange_minor(a, v, maxo) + else + return arrange_major(a, v, maxo) + end end + """ Outputs the earlier or next major version. """ function arrange_major(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - p = maxo && filter(x -> a.major < x.major, v) - q = !maxo && filter(x -> a.major > x.major, v) - (isempty(p) || isempty(q)) && error("No matching version found.") - return maxo ? minimum(p) : maximum(q) + p = filter(x -> a.major == x.major, v) + if isempty(p) + @warn "No matching version found" + return Vector{VersionNumber}() + end + return maxo ? [maximum(p)] : [minimum(p)] +end + +function arrange_custom(a::VersionNumber, ::Vector{VersionNumber}, ::Bool) + return [a] end -function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regname::Union{Nothing, Vector{String}} = nothing) - versions = get_pkg_versions(name, regname) +function get_versions(pkgconf::VerConfig, regname::Union{Nothing, Vector{String}} = nothing) + versions = get_pkg_versions(pkgconf[1], regname) s = pkgconf[2] f = if s == :patches arrange_patches @@ -68,8 +88,12 @@ function get_versions(name::String, pkgconf::VerConfig, head::Bool = true, regna arrange_breaking elseif s == :major arrange_major + elseif s == :minor + arrange_minor + elseif s == :custom + arrange_custom else error("Unknown option provided $s") end - return name, map(x -> f(x, versions, pkgconf[4]), pkgconf[3]) + return pkgconf[1], Iterators.flatten(map(x -> f(x, versions, pkgconf[4]), pkgconf[3])) end From 910abd5760b8c03c9650a7333abe53a1c7a6e4d7 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan <51269425+VarLad@users.noreply.github.com> Date: Fri, 29 Mar 2024 17:58:23 +0530 Subject: [PATCH 29/67] Fix warning --- src/check.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/check.jl b/src/check.jl index 7c43f24..d0887dd 100644 --- a/src/check.jl +++ b/src/check.jl @@ -26,7 +26,7 @@ macro check(x, d, block1, block2) CPU_NAME, WORD_SIZE, simdbytes(), - (cpucores(), cpucores_total(), cputhreads_per_core()) + (cpucores(), cputhreads(), cputhreads_per_core()) ), haskey(di, :tags) ? di[:tags] : Symbol[:none], PackageSpec[] From 35554045a00139794ce346477cb893796af1f31a Mon Sep 17 00:00:00 2001 From: Chetan Vardhan <51269425+VarLad@users.noreply.github.com> Date: Fri, 29 Mar 2024 18:01:30 +0530 Subject: [PATCH 30/67] Fix broken tests --- src/PerfChecker.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 82ff563..d005a97 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -9,7 +9,7 @@ import TypedTables: Table import Distributed: remotecall_fetch, addprocs, rmprocs import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE -import CpuId: simdbytes, cpucores, cpucores_total, cputhreads_per_core +import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core struct HwInfo cpus::Vector{CPUinfo} From c082a154df8083c07e3f7903b57722bc95ff2adb Mon Sep 17 00:00:00 2001 From: Chetan Vardhan <51269425+VarLad@users.noreply.github.com> Date: Wed, 17 Apr 2024 18:56:26 +0900 Subject: [PATCH 31/67] Fix tests on nightly branch (#35) * Fix nightly tests and some polish around deps --- Project.toml | 5 +++-- perf/GLM/Project.toml | 1 - perf/GLM/allocs.jl | 2 +- perf/PatternFolds/Project.toml | 1 - perf/PatternFolds/allocs.jl | 1 - perf/PatternFolds/bench.jl | 4 ++-- src/check.jl | 12 ++++++++++-- test/Project.toml | 8 +++++++- test/runtests.jl | 1 - 9 files changed, 23 insertions(+), 12 deletions(-) diff --git a/Project.toml b/Project.toml index 0550b48..9bca8bf 100644 --- a/Project.toml +++ b/Project.toml @@ -19,10 +19,11 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" BenchmarkToolsExt = "BenchmarkTools" [compat] +BenchmarkTools = "1.5.0" CoverageTools = "1" -Pkg = "1" +CpuId = "0.3.1" TypedTables = "1" -julia = "1.10" +julia = "1" [extras] Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/perf/GLM/Project.toml b/perf/GLM/Project.toml index b0ff7bd..e9a9bea 100644 --- a/perf/GLM/Project.toml +++ b/perf/GLM/Project.toml @@ -2,6 +2,5 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" -PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" StatsModels = "3eaba693-59b7-5ba5-a881-562e759f1c8d" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 8d89fe1..902687d 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,4 +1,4 @@ -using PerfChecker, PrettyTables +using PerfChecker result = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin using GLM, Random, StatsModels diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index 9e30985..3b3ee24 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -1,4 +1,3 @@ [deps] PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" -PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 3791570..27bc7c7 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,5 +1,4 @@ using PerfChecker -using PrettyTables d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index 6309abd..f622f8f 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -1,4 +1,4 @@ -using PerfChecker, BenchmarkTools, PrettyTables +using PerfChecker, BenchmarkTools t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using PatternFolds @@ -15,7 +15,7 @@ t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :sec # Vectors vf = make_vector_fold([0, 1], 2, 1000) - # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds (vf) length(vf) unfold(vf) collect(vf) diff --git a/src/check.jl b/src/check.jl index d0887dd..1f24687 100644 --- a/src/check.jl +++ b/src/check.jl @@ -56,10 +56,18 @@ macro check(x, d, block1, block2) remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, quote import Pkg; - d = $di Pkg.instantiate(); + import PerfChecker + d = $di + + pkgs = if haskey(d, :pkgs) + [Pkg.PackageSpec(name=d[:pkgs][1], version=i) for i in PerfChecker.get_versions(d[:pkgs])[2]] + else + Pkg.PackageSpec[Pkg.PackageSpec()] + end + if !($i == $len && $devop) - $pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex($pkgs, $i)) + pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) else pkg = d[:devops] pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) diff --git a/test/Project.toml b/test/Project.toml index a8bd232..1739b3f 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -5,6 +5,12 @@ ConstraintDomains = "5800fd60-8556-4464-8d61-84ebf7a0bedb" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[compat] +BenchmarkTools = "1.5.0" +CompatHelperLocal = "0.1.26" +ConstraintDomains = "0.3.9" +PatternFolds = "0.2.3" +julia = "1" diff --git a/test/runtests.jl b/test/runtests.jl index ce2b85c..0de52df 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,7 +1,6 @@ using BenchmarkTools using Distributed using PerfChecker -using PrettyTables using Test import CompatHelperLocal From da8b5af2eaef2fdc3db30bebd8e3e1cc7569bc58 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Mon, 29 Apr 2024 05:56:22 +0900 Subject: [PATCH 32/67] Initial Chairmarks PR --- ext/ChainmarksExt/ChainmarksExt.jl | 11 +++++++++++ ext/ChainmarksExt/b.jl | 25 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 ext/ChainmarksExt/ChainmarksExt.jl create mode 100644 ext/ChainmarksExt/b.jl diff --git a/ext/ChainmarksExt/ChainmarksExt.jl b/ext/ChainmarksExt/ChainmarksExt.jl new file mode 100644 index 0000000..74e8c89 --- /dev/null +++ b/ext/ChainmarksExt/ChainmarksExt.jl @@ -0,0 +1,11 @@ +module ChainmarksExt + +using Chainmarks +using PerfChecker +import TypedTables: Table + +include("b.jl") +include("be.jl") +include("chairmark.jl") +end + diff --git a/ext/ChainmarksExt/b.jl b/ext/ChainmarksExt/b.jl new file mode 100644 index 0000000..a91620a --- /dev/null +++ b/ext/ChainmarksExt/b.jl @@ -0,0 +1,25 @@ +function PerfChecker.default_options(::Val{:chairb}) + return Dict( + :threads => 1, + :track => "none", + ) +end + +PerfChecker.check(d::Dict, block::Expr, ::Val{:chairb}) = quote + d = $d + using Chairmark + return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] +end + +PerfChecker.prep(::Dict, block::Expr, ::Val{:chairb}) = quote + $block + nothing +end + +PerfChecker.post(d::Dict, ::Val{:chairb}) = d[:check_result] + +function PerfChecker.to_table(bench::BenchmarkTools.Trial) + ti = bench.times + l = length(ti) + return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) +end From 386427b4ab8d804d5869e3ae9d092bf8accaa31e Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Mon, 29 Apr 2024 16:04:06 +0900 Subject: [PATCH 33/67] Functional Chainmarks extension --- Project.toml | 3 ++ ext/ChainmarksExt/b.jl | 25 ------------- .../ChairmarksExt.jl} | 6 ++-- ext/ChairmarksExt/b.jl | 36 +++++++++++++++++++ src/PerfChecker.jl | 2 ++ 5 files changed, 44 insertions(+), 28 deletions(-) delete mode 100644 ext/ChainmarksExt/b.jl rename ext/{ChainmarksExt/ChainmarksExt.jl => ChairmarksExt/ChairmarksExt.jl} (56%) create mode 100644 ext/ChairmarksExt/b.jl diff --git a/Project.toml b/Project.toml index 9bca8bf..a8bd3fd 100644 --- a/Project.toml +++ b/Project.toml @@ -14,12 +14,15 @@ TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [weakdeps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" [extensions] BenchmarkToolsExt = "BenchmarkTools" +ChairmarksExt = "Chairmarks" [compat] BenchmarkTools = "1.5.0" +Chairmarks = "1.2" CoverageTools = "1" CpuId = "0.3.1" TypedTables = "1" diff --git a/ext/ChainmarksExt/b.jl b/ext/ChainmarksExt/b.jl deleted file mode 100644 index a91620a..0000000 --- a/ext/ChainmarksExt/b.jl +++ /dev/null @@ -1,25 +0,0 @@ -function PerfChecker.default_options(::Val{:chairb}) - return Dict( - :threads => 1, - :track => "none", - ) -end - -PerfChecker.check(d::Dict, block::Expr, ::Val{:chairb}) = quote - d = $d - using Chairmark - return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] -end - -PerfChecker.prep(::Dict, block::Expr, ::Val{:chairb}) = quote - $block - nothing -end - -PerfChecker.post(d::Dict, ::Val{:chairb}) = d[:check_result] - -function PerfChecker.to_table(bench::BenchmarkTools.Trial) - ti = bench.times - l = length(ti) - return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) -end diff --git a/ext/ChainmarksExt/ChainmarksExt.jl b/ext/ChairmarksExt/ChairmarksExt.jl similarity index 56% rename from ext/ChainmarksExt/ChainmarksExt.jl rename to ext/ChairmarksExt/ChairmarksExt.jl index 74e8c89..f5cfcd3 100644 --- a/ext/ChainmarksExt/ChainmarksExt.jl +++ b/ext/ChairmarksExt/ChairmarksExt.jl @@ -1,11 +1,11 @@ -module ChainmarksExt +module ChairmarksExt using Chainmarks using PerfChecker import TypedTables: Table include("b.jl") -include("be.jl") -include("chairmark.jl") +#include("be.jl") +#include("chairmark.jl") end diff --git a/ext/ChairmarksExt/b.jl b/ext/ChairmarksExt/b.jl new file mode 100644 index 0000000..ea96522 --- /dev/null +++ b/ext/ChairmarksExt/b.jl @@ -0,0 +1,36 @@ +function PerfChecker.default_options(::Val{:chairmark}) + return Dict( + :threads => 1, + :track => "none", + :init => nothing, + :setup => nothing, + :f => nothing, + :teardown => nothing, + :kwargs => () + ) +end + +function PerfChecker.check(d::Dict, block::Expr, ::Val{:chairmark}) + if d[:f] == nothing + d[:f] = @eval () -> $block + end + quote + d = $d + using Chairmarks + return Chairmarks.benchmark(d[:init], d[:setup], d[:f], d[:teardown]; d[:kwargs]...) + end +end + +PerfChecker.prep(::Dict, block::Expr, ::Val{:chairmark}) = quote + $block + nothing +end + +PerfChecker.post(d::Dict, ::Val{:chairmark}) = d[:check_result] +#= +function PerfChecker.to_table(bench::BenchmarkTools.Trial) + ti = bench.times + l = length(ti) + return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) +end +=# diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index d005a97..c8dec8e 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -19,6 +19,8 @@ struct HwInfo corecount::Tuple{Int, Int, Int} end +println("Hell") + struct CheckerResult tables::Vector{Table} hwinfo::Union{HwInfo,Nothing} From f3dc4a4851717b79117cf75d9bc4c49a45fa2db6 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Mon, 29 Apr 2024 16:13:12 +0900 Subject: [PATCH 34/67] fix typo --- ext/ChairmarksExt/ChairmarksExt.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ext/ChairmarksExt/ChairmarksExt.jl b/ext/ChairmarksExt/ChairmarksExt.jl index f5cfcd3..fa089da 100644 --- a/ext/ChairmarksExt/ChairmarksExt.jl +++ b/ext/ChairmarksExt/ChairmarksExt.jl @@ -1,6 +1,6 @@ module ChairmarksExt -using Chainmarks +using Chairmarks using PerfChecker import TypedTables: Table From 00e289365cfe1214ba143f8c7eea6b2df794db63 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Mon, 29 Apr 2024 16:22:17 +0900 Subject: [PATCH 35/67] fix another typo --- src/PerfChecker.jl | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index c8dec8e..d005a97 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -19,8 +19,6 @@ struct HwInfo corecount::Tuple{Int, Int, Int} end -println("Hell") - struct CheckerResult tables::Vector{Table} hwinfo::Union{HwInfo,Nothing} From 09d445d0f254229ab8ad9b34853e5d126027ee87 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Tue, 30 Apr 2024 16:39:53 +0900 Subject: [PATCH 36/67] Support with example --- Project.toml | 4 +++- ext/ChairmarksExt/b.jl | 28 +++++++++++++--------------- perf/PatternFolds/Project.toml | 2 ++ perf/PatternFolds/chair.jl | 31 +++++++++++++++++++++++++++++++ src/PerfChecker.jl | 2 +- 5 files changed, 50 insertions(+), 17 deletions(-) create mode 100644 perf/PatternFolds/chair.jl diff --git a/Project.toml b/Project.toml index a8bd3fd..d9a02f2 100644 --- a/Project.toml +++ b/Project.toml @@ -4,6 +4,8 @@ authors = ["Azzaare "] version = "0.2.0" [deps] +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" @@ -21,7 +23,7 @@ BenchmarkToolsExt = "BenchmarkTools" ChairmarksExt = "Chairmarks" [compat] -BenchmarkTools = "1.5.0" +BenchmarkTools = "1.5" Chairmarks = "1.2" CoverageTools = "1" CpuId = "0.3.1" diff --git a/ext/ChairmarksExt/b.jl b/ext/ChairmarksExt/b.jl index ea96522..4d92213 100644 --- a/ext/ChairmarksExt/b.jl +++ b/ext/ChairmarksExt/b.jl @@ -2,22 +2,18 @@ function PerfChecker.default_options(::Val{:chairmark}) return Dict( :threads => 1, :track => "none", - :init => nothing, - :setup => nothing, - :f => nothing, - :teardown => nothing, - :kwargs => () + :evals => nothing, + :seconds => 1, + :samples => nothing, + :gc => true ) end function PerfChecker.check(d::Dict, block::Expr, ::Val{:chairmark}) - if d[:f] == nothing - d[:f] = @eval () -> $block - end quote d = $d using Chairmarks - return Chairmarks.benchmark(d[:init], d[:setup], d[:f], d[:teardown]; d[:kwargs]...) + return @be $block evals=d[:evals] seconds=d[:seconds] samples=d[:samples] gc=d[:gc] end end @@ -27,10 +23,12 @@ PerfChecker.prep(::Dict, block::Expr, ::Val{:chairmark}) = quote end PerfChecker.post(d::Dict, ::Val{:chairmark}) = d[:check_result] -#= -function PerfChecker.to_table(bench::BenchmarkTools.Trial) - ti = bench.times - l = length(ti) - return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) + +function PerfChecker.to_table(chair::Chairmarks.Benchmark) + l = length(chair.samples) + times = [chair.samples[i].time for i in 1:l] + gctimes = [chair.samples[i].gc_fraction for i in 1:l] + bytes = [chair.samples[i].bytes for i in 1:l] + allocs = [chair.samples[i].allocs for i in 1:l] + return Table(times=times, gctimes=gctimes, bytes=bytes, allocs=allocs) end -=# diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index 3b3ee24..7bfa3c7 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -1,3 +1,5 @@ [deps] +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" diff --git a/perf/PatternFolds/chair.jl b/perf/PatternFolds/chair.jl new file mode 100644 index 0000000..9eb8511 --- /dev/null +++ b/perf/PatternFolds/chair.jl @@ -0,0 +1,31 @@ +using PerfChecker, Chairmarks +import Pkg +Pkg.status(;extensions=true) + +t = @check :chairmark Dict(:path => @__DIR__, :evals => 1) begin + using PatternFolds + end begin + # Intervals + itv = Interval{Open,Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) + + unfold(i) + collect(i) + reverse(collect(i)) + + # rand(i, 1000) + + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds (vf) length(vf) + + unfold(vf) + collect(vf) + reverse(collect(vf)) + + rand(vf, 1000) + + return nothing +end + +@info t diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index d005a97..744f7f1 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -6,7 +6,7 @@ using Pkg.Types import TOML: parse using Profile import TypedTables: Table -import Distributed: remotecall_fetch, addprocs, rmprocs +import Distributed: remotecall_fetch, addprocs, rmprocs, remotecall_eval import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core From f51497885f4716753e3d0ae56ad4fb02fc7fbe21 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 11 May 2024 10:28:13 +0900 Subject: [PATCH 37/67] Add pie chart example --- Project.toml | 4 + ext/MakieExt/MakieExt.jl | 8 + ext/MakieExt/plotutils.jl | 42 ++ perf/GLM/benchmarks/benchmark-memory.tikz | 856 ---------------------- perf/PatternFolds/Project.toml | 2 + perf/PatternFolds/allocs.jl | 3 +- src/PerfChecker.jl | 1 + src/alloc.jl | 2 +- src/check.jl | 2 + 9 files changed, 62 insertions(+), 858 deletions(-) create mode 100644 ext/MakieExt/MakieExt.jl create mode 100644 ext/MakieExt/plotutils.jl delete mode 100644 perf/GLM/benchmarks/benchmark-memory.tikz diff --git a/Project.toml b/Project.toml index d9a02f2..800e68d 100644 --- a/Project.toml +++ b/Project.toml @@ -9,6 +9,7 @@ Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" +Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" @@ -17,16 +18,19 @@ TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [weakdeps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" +Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" [extensions] BenchmarkToolsExt = "BenchmarkTools" ChairmarksExt = "Chairmarks" +MakieExt = "Makie" [compat] BenchmarkTools = "1.5" Chairmarks = "1.2" CoverageTools = "1" CpuId = "0.3.1" +Makie = "0.20" TypedTables = "1" julia = "1" diff --git a/ext/MakieExt/MakieExt.jl b/ext/MakieExt/MakieExt.jl new file mode 100644 index 0000000..1f19f87 --- /dev/null +++ b/ext/MakieExt/MakieExt.jl @@ -0,0 +1,8 @@ +module MakieExt + +using Makie +using TypedTables +using PerfChecker +include("plotutils.jl") + +end diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl new file mode 100644 index 0000000..1ad1955 --- /dev/null +++ b/ext/MakieExt/plotutils.jl @@ -0,0 +1,42 @@ +make_colors(l) = Makie.distinguishable_colors(l, [Makie.RGB(1, 1, 1), Makie.RGB(0, 0, 0)], dropseed=true) + +function smart_paths(paths) + splitted_paths = map(splitpath ∘ normpath, paths) + + common = paths |> first |> dirname |> splitpath + for path in splitted_paths + to_pop = length(common) + for name in Iterators.zip(common, path) + name[1] == name[2] || break + to_pop -= 1 + end + foreach(_ -> pop!(common), 1:to_pop) + end + + for path in splitted_paths + foreach(_ -> popfirst!(path), 1:length(common)) + end + + return joinpath(common...), map(joinpath, splitted_paths) +end + +function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}) + data = x.bytes + @info data + paths = smart_paths(x.filenames)[2] .* " " .* string.(x.linenumbers) + percentage = data .* 100 ./ sum(data) + @info percentage + colors = make_colors(length(percentage)) + f, ax, plt = pie(data, + color = colors, + radius = 4, + inner_radius = 2, + strokecolor = :white, + strokewidth = 5, + axis = (autolimitaspect = 1, ), + ) + hidedecorations!(ax); + hidespines!(ax) + Legend(f[1,2], [PolyElement(color=c) for c in colors], paths) + f +end diff --git a/perf/GLM/benchmarks/benchmark-memory.tikz b/perf/GLM/benchmarks/benchmark-memory.tikz deleted file mode 100644 index 53f448e..0000000 --- a/perf/GLM/benchmarks/benchmark-memory.tikz +++ /dev/null @@ -1,856 +0,0 @@ -% Recommended preamble: -% \usetikzlibrary{arrows.meta} -% \usetikzlibrary{backgrounds} -% \usepgfplotslibrary{patchplots} -% \usepgfplotslibrary{fillbetween} -% \pgfplotsset{% -% layers/standard/.define layer set={% -% background,axis background,axis grid,axis ticks,axis lines,axis tick labels,pre main,main,axis descriptions,axis foreground% -% }{ -% grid style={/pgfplots/on layer=axis grid},% -% tick style={/pgfplots/on layer=axis ticks},% -% axis line style={/pgfplots/on layer=axis lines},% -% label style={/pgfplots/on layer=axis descriptions},% -% legend style={/pgfplots/on layer=axis descriptions},% -% title style={/pgfplots/on layer=axis descriptions},% -% colorbar style={/pgfplots/on layer=axis descriptions},% -% ticklabel style={/pgfplots/on layer=axis tick labels},% -% axis background@ style={/pgfplots/on layer=axis background},% -% 3d box foreground style={/pgfplots/on layer=axis foreground},% -% }, -% } - -\begin{tikzpicture}[/tikz/background rectangle/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, draw opacity={1.0}}, show background rectangle] -\begin{axis}[point meta max={nan}, point meta min={nan}, legend cell align={left}, legend columns={1}, title={Benchmarks (memory) evolution in -GLM.jl}, title style={at={{(0.5,1)}}, anchor={south}, font={{\fontsize{14 pt}{18.2 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}, align={center}}, legend style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid, fill={rgb,1:red,1.0;green,1.0;blue,1.0}, fill opacity={1.0}, text opacity={1.0}, font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, text={rgb,1:red,0.0;green,0.0;blue,0.0}, cells={anchor={center}}, at={(1.02, 1)}, anchor={north west}}, axis background/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, opacity={1.0}}, anchor={north west}, xshift={1.0mm}, yshift={-1.0mm}, width={145.4mm}, height={99.6mm}, scaled x ticks={false}, xlabel={version}, x tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, x tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, xlabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, xmajorgrids={true}, xmin={-0.1640000000000006}, xmax={9.164000000000001}, xticklabels={{1.3.10,1.3.11,1.3.9,1.4.0,1.5.0,1.6.0,1.7.0,1.8.0,1.8.2}}, xtick={{0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5}}, xtick align={inside}, xticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, x grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis x line*={left}, x axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, scaled y ticks={false}, ylabel={size (bytes)}, y tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, y tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, ylabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, ymajorgrids={true}, ymin={4.53656223976e9}, ymax={4.66376224824e9}, yticklabels={{$4.5500\times10^{9}$,$4.5750\times10^{9}$,$4.6000\times10^{9}$,$4.6250\times10^{9}$,$4.6500\times10^{9}$}}, ytick={{4.55e9,4.575e9,4.6e9,4.625e9,4.65e9}}, ytick align={inside}, yticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, y grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis y line*={left}, y axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, colorbar={false}] - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid] - table[row sep={\\}] - { - \\ - 0.5 4.54016224e9 \\ - 0.3 4.54016224e9 \\ - 0.7 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - } - ; - \addlegendentry {memory} - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 4.54016224e9 \\ - 0.3 4.54016224e9 \\ - 0.7 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 4.54016224e9 \\ - 1.3 4.54016224e9 \\ - 1.7 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 4.54016224e9 \\ - 1.3 4.54016224e9 \\ - 1.7 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 4.660162248e9 \\ - 2.3 4.660162248e9 \\ - 2.7 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 4.660162248e9 \\ - 2.3 4.660162248e9 \\ - 2.7 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 4.54016224e9 \\ - 3.3 4.54016224e9 \\ - 3.7 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 4.54016224e9 \\ - 3.3 4.54016224e9 \\ - 3.7 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 4.54016224e9 \\ - 4.3 4.54016224e9 \\ - 4.7 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 4.54016224e9 \\ - 4.3 4.54016224e9 \\ - 4.7 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 4.54016224e9 \\ - 5.3 4.54016224e9 \\ - 5.7 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 4.54016224e9 \\ - 5.3 4.54016224e9 \\ - 5.7 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 4.54016224e9 \\ - 6.3 4.54016224e9 \\ - 6.7 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 4.54016224e9 \\ - 6.3 4.54016224e9 \\ - 6.7 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 4.54016224e9 \\ - 7.3 4.54016224e9 \\ - 7.7 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 4.54016224e9 \\ - 7.3 4.54016224e9 \\ - 7.7 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 4.540279184e9 \\ - 8.3 4.540279184e9 \\ - 8.7 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={c1d08dc6-c509-4ca3-8cb0-a701464342c3}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 4.540279184e9 \\ - 8.3 4.540279184e9 \\ - 8.7 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 4.54016224e9 \\ - 0.3 4.54016224e9 \\ - 0.7 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.09999999999999998 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.9 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 4.54016224e9 \\ - 0.3 4.54016224e9 \\ - 0.7 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - 0.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 4.54016224e9 \\ - 1.3 4.54016224e9 \\ - 1.7 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.1 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.9 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 4.54016224e9 \\ - 1.3 4.54016224e9 \\ - 1.7 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - 1.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 4.660162248e9 \\ - 2.3 4.660162248e9 \\ - 2.7 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.1 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.9 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 4.660162248e9 \\ - 2.3 4.660162248e9 \\ - 2.7 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - 2.5 4.660162248e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 4.54016224e9 \\ - 3.3 4.54016224e9 \\ - 3.7 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.1 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.9 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 4.54016224e9 \\ - 3.3 4.54016224e9 \\ - 3.7 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - 3.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 4.54016224e9 \\ - 4.3 4.54016224e9 \\ - 4.7 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.1 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.9 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 4.54016224e9 \\ - 4.3 4.54016224e9 \\ - 4.7 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - 4.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 4.54016224e9 \\ - 5.3 4.54016224e9 \\ - 5.7 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.1 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.9 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 4.54016224e9 \\ - 5.3 4.54016224e9 \\ - 5.7 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - 5.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 4.54016224e9 \\ - 6.3 4.54016224e9 \\ - 6.7 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.1 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.9 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 4.54016224e9 \\ - 6.3 4.54016224e9 \\ - 6.7 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - 6.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 4.54016224e9 \\ - 7.3 4.54016224e9 \\ - 7.7 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.1 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.9 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 4.54016224e9 \\ - 7.3 4.54016224e9 \\ - 7.7 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - 7.5 4.54016224e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 4.540279184e9 \\ - 8.3 4.540279184e9 \\ - 8.7 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.1 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.9 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={0d1a0447-2625-4f7b-a190-112324f94bb5}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 4.540279184e9 \\ - 8.3 4.540279184e9 \\ - 8.7 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - 8.5 4.540279184e9 \\ - } - ; -\end{axis} -\end{tikzpicture} diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index 7bfa3c7..be8db5c 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -1,5 +1,7 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" +CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 27bc7c7..79ad76a 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,4 +1,4 @@ -using PerfChecker +using PerfChecker, CairoMakie d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) @@ -27,3 +27,4 @@ x = @check :alloc d begin end @info x +display(table_to_pie(x.tables[1], Val(:alloc))) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 744f7f1..966629c 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -53,6 +53,7 @@ export @check export to_table export find_by_tags export get_versions +export table_to_pie # SECTION - Includes include("versions.jl") diff --git a/src/alloc.jl b/src/alloc.jl index 4a8e41e..1095367 100644 --- a/src/alloc.jl +++ b/src/alloc.jl @@ -29,7 +29,7 @@ function post(d::Dict, ::Val{:alloc}) result = d[:check_result] files = find_malloc_files(result[1]) delete_files = find_malloc_files(result[2]) - myallocs = analyze_malloc_files(files) + myallocs = analyze_malloc_files(files; skip_zeros=true) if !isempty(myallocs) rm.(delete_files) else diff --git a/src/check.jl b/src/check.jl index 1f24687..70429d8 100644 --- a/src/check.jl +++ b/src/check.jl @@ -100,3 +100,5 @@ end function perf_table end function perf_plot end + +function table_to_pie end From 68376e68ab40c8df78fcd2e9e54c2e54f5392f50 Mon Sep 17 00:00:00 2001 From: azzaare Date: Sat, 11 May 2024 15:55:30 +0900 Subject: [PATCH 38/67] Changes a bit the pie plots visu --- ext/MakieExt/MakieExt.jl | 1 + ext/MakieExt/plotutils.jl | 55 ++++++++++++++++++++----------------- perf/PatternFolds/allocs.jl | 36 ++++++++++++------------ 3 files changed, 50 insertions(+), 42 deletions(-) diff --git a/ext/MakieExt/MakieExt.jl b/ext/MakieExt/MakieExt.jl index 1f19f87..7d5c15d 100644 --- a/ext/MakieExt/MakieExt.jl +++ b/ext/MakieExt/MakieExt.jl @@ -3,6 +3,7 @@ module MakieExt using Makie using TypedTables using PerfChecker + include("plotutils.jl") end diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index 1ad1955..2227b1c 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -1,42 +1,47 @@ -make_colors(l) = Makie.distinguishable_colors(l, [Makie.RGB(1, 1, 1), Makie.RGB(0, 0, 0)], dropseed=true) +function make_colors(l) + Makie.distinguishable_colors( + l, [Makie.RGB(1, 1, 1), Makie.RGB(0, 0, 0)], dropseed = true) +end function smart_paths(paths) - splitted_paths = map(splitpath ∘ normpath, paths) + splitted_paths = map(splitpath ∘ normpath, paths) - common = paths |> first |> dirname |> splitpath - for path in splitted_paths - to_pop = length(common) - for name in Iterators.zip(common, path) - name[1] == name[2] || break - to_pop -= 1 - end - foreach(_ -> pop!(common), 1:to_pop) - end + common = paths |> first |> dirname |> splitpath + for path in splitted_paths + to_pop = length(common) + for name in Iterators.zip(common, path) + name[1] == name[2] || break + to_pop -= 1 + end + foreach(_ -> pop!(common), 1:to_pop) + end - for path in splitted_paths - foreach(_ -> popfirst!(path), 1:length(common)) - end + for path in splitted_paths + foreach(_ -> popfirst!(path), 1:length(common)) + end - return joinpath(common...), map(joinpath, splitted_paths) + return joinpath(common...), map(joinpath, splitted_paths) end function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}) data = x.bytes @info data - paths = smart_paths(x.filenames)[2] .* " " .* string.(x.linenumbers) + paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) percentage = data .* 100 ./ sum(data) @info percentage colors = make_colors(length(percentage)) - f, ax, plt = pie(data, + f, ax, _ = pie( + data; + axis = (autolimitaspect = 1,), color = colors, - radius = 4, - inner_radius = 2, - strokecolor = :white, - strokewidth = 5, - axis = (autolimitaspect = 1, ), + inner_radius = 2, + radius = 4, + strokecolor = :white, + strokewidth = 5, + title = "Mallocs for Package name file" # TODO: add package name as a keyarg ) - hidedecorations!(ax); + hidedecorations!(ax) hidespines!(ax) - Legend(f[1,2], [PolyElement(color=c) for c in colors], paths) - f + Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) + return f end diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 79ad76a..0aab43e 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,30 +1,32 @@ using PerfChecker, CairoMakie -d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) +d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], + :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) x = @check :alloc d begin + using PatternFolds +end begin + itv = Interval{Open, Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) - using PatternFolds - end begin - itv = Interval{Open,Closed}(0.0, 1.0) - i = IntervalsFold(itv, 2.0, 1000) + @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) - @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) + unfold(i) + collect(i) + reverse(collect(i)) - unfold(i) - collect(i) - reverse(collect(i)) + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) - # Vectors - vf = make_vector_fold([0, 1], 2, 1000) - @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + unfold(vf) + collect(vf) + reverse(collect(vf)) - unfold(vf) - collect(vf) - reverse(collect(vf)) - - rand(vf, 1000) + rand(vf, 1000) end @info x display(table_to_pie(x.tables[1], Val(:alloc))) +display(table_to_pie(x.tables[2], Val(:alloc))) +save("allocs.png", table_to_pie(x.tables[1], Val(:alloc))) From 7a438e8b38fa6185f7861d51aac9b68e10d6f365 Mon Sep 17 00:00:00 2001 From: azzaare Date: Sat, 11 May 2024 17:18:55 +0900 Subject: [PATCH 39/67] Improve the allocs script --- ext/MakieExt/plotutils.jl | 5 +++-- perf/PatternFolds/allocs.jl | 7 ++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index 2227b1c..a6220b4 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -23,13 +23,14 @@ function smart_paths(paths) return joinpath(common...), map(joinpath, splitted_paths) end -function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}) +function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") data = x.bytes @info data paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) percentage = data .* 100 ./ sum(data) @info percentage colors = make_colors(length(percentage)) + str = isempty(pkg_name) ? "" : " for $pkg_name" f, ax, _ = pie( data; axis = (autolimitaspect = 1,), @@ -38,7 +39,7 @@ function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}) radius = 4, strokecolor = :white, strokewidth = 5, - title = "Mallocs for Package name file" # TODO: add package name as a keyarg + title = "Mallocs$str" ) hidedecorations!(ax) hidespines!(ax) diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 0aab43e..70d8a29 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -27,6 +27,7 @@ end begin end @info x -display(table_to_pie(x.tables[1], Val(:alloc))) -display(table_to_pie(x.tables[2], Val(:alloc))) -save("allocs.png", table_to_pie(x.tables[1], Val(:alloc))) + +for t in x.tables + display(table_to_pie(t, Val(:alloc))) +end From 885bab7467eb90e23c31930e96613c3c6d761e56 Mon Sep 17 00:00:00 2001 From: azzaare Date: Sat, 11 May 2024 18:00:37 +0900 Subject: [PATCH 40/67] Add file save with tags and version --- ext/MakieExt/plotutils.jl | 4 ++-- perf/PatternFolds/allocs.jl | 10 ++++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index a6220b4..ecbbfb8 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -38,9 +38,9 @@ function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") inner_radius = 2, radius = 4, strokecolor = :white, - strokewidth = 5, - title = "Mallocs$str" + strokewidth = 5 ) + ax.title = "Mallocs$str" hidedecorations!(ax) hidespines!(ax) Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 70d8a29..4156026 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -28,6 +28,12 @@ end @info x -for t in x.tables - display(table_to_pie(t, Val(:alloc))) +for (i, t) in enumerate(x.tables) + p = d[:pkgs] + @info "debug" p[1] p[2] p[3] p[4] + mkpath("perf/PatternFolds/output") + display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) + path = joinpath( + pwd(), "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) + @info path end From 0e417e4bdc1dd8e9169914df168c04836433ac56 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 14 May 2024 03:36:58 +0000 Subject: [PATCH 41/67] Improve CI, format, tests --- .JuliaFormatter.toml | 1 + .github/workflows/CI.yml | 82 ++++++++++++++++++++++++------ .github/workflows/CompatHelper.yml | 37 ++++++++++++-- .github/workflows/SpellCheck.yml | 13 +++++ .github/workflows/TagBot.yml | 16 ++++++ Project.toml | 9 ++-- docs/make.jl | 28 +++++----- ext/BenchmarkToolsExt/benchmark.jl | 13 +++-- ext/ChairmarksExt/ChairmarksExt.jl | 1 - ext/ChairmarksExt/b.jl | 2 +- perf/GLM/allocs.jl | 12 ++--- perf/GLM/bench.jl | 14 ++--- perf/PatternFolds/allocs.jl | 8 +-- perf/PatternFolds/bench.jl | 4 +- perf/PatternFolds/chair.jl | 6 +-- src/PerfChecker.jl | 8 +-- src/alloc.jl | 11 ++-- src/check.jl | 65 +++++++++++++---------- src/versions.jl | 54 +++++++++++--------- test/Aqua.jl | 28 ++++++++++ test/Project.toml | 16 ------ test/pattern_folds.jl | 11 ++-- test/runtests.jl | 18 ++++--- 23 files changed, 300 insertions(+), 157 deletions(-) create mode 100644 .JuliaFormatter.toml create mode 100644 .github/workflows/SpellCheck.yml create mode 100644 test/Aqua.jl delete mode 100644 test/Project.toml diff --git a/.JuliaFormatter.toml b/.JuliaFormatter.toml new file mode 100644 index 0000000..453925c --- /dev/null +++ b/.JuliaFormatter.toml @@ -0,0 +1 @@ +style = "sciml" \ No newline at end of file diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0cee6db..54cdccc 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -1,7 +1,48 @@ name: CI on: - - push + pull_request: + branches: + - main + - dev + paths-ignore: + - "docs/**" + push: + branches: + - main + paths-ignore: + - "docs/**" jobs: + formatter: + runs-on: ${{ matrix.os }} + strategy: + matrix: + julia-version: [1] + julia-arch: [x86] + os: [ubuntu-latest] + steps: + - uses: julia-actions/setup-julia@latest + with: + version: ${{ matrix.julia-version }} + + - uses: actions/checkout@v4 + - name: Install JuliaFormatter and format + # This will use the latest version by default but you can set the version like so: + # + # julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="0.13.0"))' + run: | + julia -e 'using Pkg; Pkg.add(PackageSpec(name="JuliaFormatter", version="1.0.50"))' + julia -e 'using JuliaFormatter; format(".", verbose=true)' + - name: Format check + run: | + julia -e ' + out = Cmd(`git diff`) |> read |> String + if out == "" + exit(0) + else + @error "Some files have not been formatted !!!" + write(stdout, out) + exit(1) + end' test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} runs-on: ${{ matrix.os }} @@ -9,27 +50,32 @@ jobs: fail-fast: false matrix: version: - - "1.10" - - 'nightly' + - "1.9" # Minimal version of Julia for PerfChecker.jl + - "1" # automatically expands to the latest stable 1.x release of Julia + - nightly os: - ubuntu-latest - - macOS-latest - - windows-latest arch: - x64 - x86 - exclude: + include: + # test macOS and Windows with latest Julia only - os: macOS-latest - arch: x86 + arch: x64 + version: 1 + - os: windows-latest + arch: x64 + version: 1 - os: windows-latest arch: x86 + version: 1 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v1 with: version: ${{ matrix.version }} arch: ${{ matrix.arch }} - - uses: actions/cache@v1 + - uses: actions/cache@v4 env: cache-name: cache-artifacts with: @@ -42,25 +88,29 @@ jobs: - uses: julia-actions/julia-buildpkg@v1 - uses: julia-actions/julia-runtest@v1 - uses: julia-actions/julia-processcoverage@v1 - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v4 with: file: lcov.info docs: name: Documentation runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - uses: julia-actions/setup-julia@v1 with: version: '1' - - uses: julia-actions/julia-buildpkg@v1 - - uses: julia-actions/julia-docdeploy@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} + - run: | + julia --project=docs -e ' + using Pkg + Pkg.develop(PackageSpec(path=pwd())) + Pkg.instantiate()' - run: | julia --project=docs -e ' using Documenter: DocMeta, doctest using PerfChecker DocMeta.setdocmeta!(PerfChecker, :DocTestSetup, :(using PerfChecker); recursive=true) doctest(PerfChecker)' + - run: julia --project=docs docs/make.jl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + DOCUMENTER_KEY: ${{ secrets.DOCUMENTER_KEY }} diff --git a/.github/workflows/CompatHelper.yml b/.github/workflows/CompatHelper.yml index cba9134..5577817 100644 --- a/.github/workflows/CompatHelper.yml +++ b/.github/workflows/CompatHelper.yml @@ -1,16 +1,43 @@ -name: CompatHelper on: schedule: - cron: 0 0 * * * workflow_dispatch: +permissions: + contents: write + pull-requests: write jobs: CompatHelper: runs-on: ubuntu-latest steps: - - name: Pkg.add("CompatHelper") - run: julia -e 'using Pkg; Pkg.add("CompatHelper")' - - name: CompatHelper.main() + - name: Check if Julia is already available in the PATH + id: julia_in_path + run: which julia + continue-on-error: true + - name: Install Julia, but only if it is not already available in the PATH + uses: julia-actions/setup-julia@v1 + with: + version: "1" + arch: ${{ runner.arch }} + if: steps.julia_in_path.outcome != 'success' + - name: "Add the General registry via Git" + run: | + import Pkg + ENV["JULIA_PKG_SERVER"] = "" + Pkg.Registry.add("General") + shell: julia --color=yes {0} + - name: "Install CompatHelper" + run: | + import Pkg + name = "CompatHelper" + uuid = "aa819f21-2bde-4658-8897-bab36330d9b7" + version = "3" + Pkg.add(; name, uuid, version) + shell: julia --color=yes {0} + - name: "Run CompatHelper" + run: | + import CompatHelper + CompatHelper.main() + shell: julia --color=yes {0} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} COMPATHELPER_PRIV: ${{ secrets.DOCUMENTER_KEY }} - run: julia -e 'using CompatHelper; CompatHelper.main()' diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml new file mode 100644 index 0000000..ed4fe17 --- /dev/null +++ b/.github/workflows/SpellCheck.yml @@ -0,0 +1,13 @@ +name: Spell Check + +on: [pull_request] + +jobs: + typos-check: + name: Spell Check with Typos + runs-on: ubuntu-latest + steps: + - name: Checkout Actions Repository + uses: actions/checkout@v4 + - name: Check spelling + uses: crate-ci/typos@v1.18.0 diff --git a/.github/workflows/TagBot.yml b/.github/workflows/TagBot.yml index f49313b..0cd3114 100644 --- a/.github/workflows/TagBot.yml +++ b/.github/workflows/TagBot.yml @@ -4,6 +4,22 @@ on: types: - created workflow_dispatch: + inputs: + lookback: + default: "3" +permissions: + actions: read + checks: read + contents: write + deployments: read + issues: read + discussions: read + packages: read + pages: read + pull-requests: read + repository-projects: read + security-events: read + statuses: read jobs: TagBot: if: github.event_name == 'workflow_dispatch' || github.actor == 'JuliaTagBot' diff --git a/Project.toml b/Project.toml index d9a02f2..aee9457 100644 --- a/Project.toml +++ b/Project.toml @@ -4,8 +4,6 @@ authors = ["Azzaare "] version = "0.2.0" [deps] -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" @@ -28,10 +26,13 @@ Chairmarks = "1.2" CoverageTools = "1" CpuId = "0.3.1" TypedTables = "1" -julia = "1" +julia = "1.9" [extras] +Aqua = "4c88cf16-eb10-579e-8560-4a9242c79595" +BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Test"] +test = ["Aqua", "BenchmarkTools", "PatternFolds","Test"] diff --git a/docs/make.jl b/docs/make.jl index 598b9a7..f46c882 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -1,24 +1,24 @@ using PerfChecker using Documenter -DocMeta.setdocmeta!(PerfChecker, :DocTestSetup, :(using PerfChecker); recursive=true) +DocMeta.setdocmeta!(PerfChecker, :DocTestSetup, :(using PerfChecker); recursive = true) makedocs(; - modules=[PerfChecker], - authors="Azzaare ", - repo="https://github.com/JuliaConstraints/PerfChecker.jl/blob/{commit}{path}#{line}", - sitename="PerfChecker.jl", - format=Documenter.HTML(; - prettyurls=get(ENV, "CI", "false") == "true", - canonical="https://JuliaConstraints.github.io/PerfChecker.jl", - assets=String[], + modules = [PerfChecker], + authors = "Azzaare ", + repo = "https://github.com/JuliaConstraints/PerfChecker.jl/blob/{commit}{path}#{line}", + sitename = "PerfChecker.jl", + format = Documenter.HTML(; + prettyurls = get(ENV, "CI", "false") == "true", + canonical = "https://JuliaConstraints.github.io/PerfChecker.jl", + assets = String[] ), - pages=[ - "Home" => "index.md", - ], + pages = [ + "Home" => "index.md" + ] ) deploydocs(; - repo="github.com/JuliaConstraints/PerfChecker.jl", - devbranch="main", + repo = "github.com/JuliaConstraints/PerfChecker.jl", + devbranch = "main" ) diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl index a8a60bf..ea95daa 100644 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -13,10 +13,12 @@ function PerfChecker.default_options(::Val{:benchmark}) ) end -PerfChecker.check(d::Dict, block::Expr, ::Val{:benchmark}) = quote - d = $d - using BenchmarkTools - return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] +function PerfChecker.check(d::Dict, block::Expr, ::Val{:benchmark}) + quote + d = $d + using BenchmarkTools + return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] + end end PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote @@ -29,5 +31,6 @@ PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:check_result] function PerfChecker.to_table(bench::BenchmarkTools.Trial) ti = bench.times l = length(ti) - return Table(times=ti, gctimes=bench.gctimes, memory=fill(bench.memory, l), allocs=fill(bench.allocs, l)) + return Table(times = ti, gctimes = bench.gctimes, + memory = fill(bench.memory, l), allocs = fill(bench.allocs, l)) end diff --git a/ext/ChairmarksExt/ChairmarksExt.jl b/ext/ChairmarksExt/ChairmarksExt.jl index fa089da..dcc02bd 100644 --- a/ext/ChairmarksExt/ChairmarksExt.jl +++ b/ext/ChairmarksExt/ChairmarksExt.jl @@ -8,4 +8,3 @@ include("b.jl") #include("be.jl") #include("chairmark.jl") end - diff --git a/ext/ChairmarksExt/b.jl b/ext/ChairmarksExt/b.jl index 4d92213..d6770f6 100644 --- a/ext/ChairmarksExt/b.jl +++ b/ext/ChairmarksExt/b.jl @@ -30,5 +30,5 @@ function PerfChecker.to_table(chair::Chairmarks.Benchmark) gctimes = [chair.samples[i].gc_fraction for i in 1:l] bytes = [chair.samples[i].bytes for i in 1:l] allocs = [chair.samples[i].allocs for i in 1:l] - return Table(times=times, gctimes=gctimes, bytes=bytes, allocs=allocs) + return Table(times = times, gctimes = gctimes, bytes = bytes, allocs = allocs) end diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 902687d..1e0de3c 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -2,16 +2,16 @@ using PerfChecker result = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin using GLM, Random, StatsModels - end begin +end begin n = 2_500_000 rng = Random.MersenneTwister(1234321) tbl = ( - x1=randn(rng, n), - x2=Random.randexp(rng, n), - ss=rand(rng, string.(50:99), n), - y=zeros(n), + x1 = randn(rng, n), + x2 = Random.randexp(rng, n), + ss = rand(rng, string.(50:99), n), + y = zeros(n) ) - f = @formula(y ~ 1 + x1 + x2 + ss) + f = @formula(y~1 + x1 + x2 + ss) f = apply_schema(f, schema(f, tbl)) resp, pred = modelcols(f, tbl) B = randn(rng, size(pred, 2)) diff --git a/perf/GLM/bench.jl b/perf/GLM/bench.jl index 05db130..faf4daf 100644 --- a/perf/GLM/bench.jl +++ b/perf/GLM/bench.jl @@ -2,16 +2,16 @@ using PerfChecker, BenchmarkTools t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using GLM, Random, StatsModels - end begin +end begin n = 2_500_000 rng = Random.MersenneTwister(1234321) tbl = ( - x1 = randn(rng, n), - x2 = Random.randexp(rng, n), - ss = rand(rng, string.(50:99), n), - y = zeros(n), - ) - f = @formula(y ~ 1 + x1 + x2 + ss) + x1 = randn(rng, n), + x2 = Random.randexp(rng, n), + ss = rand(rng, string.(50:99), n), + y = zeros(n) + ) + f = @formula(y~1 + x1 + x2 + ss) f = apply_schema(f, schema(f, tbl)) resp, pred = modelcols(f, tbl) B = randn(rng, size(pred, 2)) diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 27bc7c7..abf6d4d 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,12 +1,12 @@ using PerfChecker -d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) +d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], + :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) x = @check :alloc d begin - using PatternFolds - end begin - itv = Interval{Open,Closed}(0.0, 1.0) +end begin + itv = Interval{Open, Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index f622f8f..c26eea8 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -2,9 +2,9 @@ using PerfChecker, BenchmarkTools t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using PatternFolds - end begin +end begin # Intervals - itv = Interval{Open,Closed}(0.0, 1.0) + itv = Interval{Open, Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) unfold(i) diff --git a/perf/PatternFolds/chair.jl b/perf/PatternFolds/chair.jl index 9eb8511..a35b359 100644 --- a/perf/PatternFolds/chair.jl +++ b/perf/PatternFolds/chair.jl @@ -1,12 +1,12 @@ using PerfChecker, Chairmarks import Pkg -Pkg.status(;extensions=true) +Pkg.status(; extensions = true) t = @check :chairmark Dict(:path => @__DIR__, :evals => 1) begin using PatternFolds - end begin +end begin # Intervals - itv = Interval{Open,Closed}(0.0, 1.0) + itv = Interval{Open, Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) unfold(i) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 744f7f1..b8d7be0 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -21,8 +21,8 @@ end struct CheckerResult tables::Vector{Table} - hwinfo::Union{HwInfo,Nothing} - tags::Union{Nothing,Vector{Symbol}} + hwinfo::Union{HwInfo, Nothing} + tags::Union{Nothing, Vector{Symbol}} pkgs::Vector{PackageSpec} end @@ -46,7 +46,9 @@ function Base.show(io::IO, v::PerfChecker.CheckerResult) println(io, Base.display(v.pkgs)) end -find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) = findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) +function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) + findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) +end # SECTION - Exports export @check diff --git a/src/alloc.jl b/src/alloc.jl index 4a8e41e..a9b103c 100644 --- a/src/alloc.jl +++ b/src/alloc.jl @@ -9,7 +9,6 @@ function default_options(::Val{:alloc}) end function check(d::Dict, block::Expr, ::Val{:alloc}) - j = haskey(d, :repeat) && d[:repeat] ? block : nothing quote @@ -21,7 +20,8 @@ function check(d::Dict, block::Expr, ::Val{:alloc}) if isempty(targets) targets = Base.loaded_modules_array() end - return dirname.(filter(!isnothing, pathof.(targets))), dirname.(filter(!isnothing, pathof.(rmstuff))) + return dirname.(filter(!isnothing, pathof.(targets))), + dirname.(filter(!isnothing, pathof.(rmstuff))) end end @@ -40,8 +40,9 @@ end function to_table(myallocs::Vector{MallocInfo}) b = map(a -> a.bytes, Iterators.reverse(myallocs)) - r = round.(b / sum(b) * 100; digits=2) - f = map(first ∘ splitext ∘ first ∘ splitext, map(a -> a.filename, Iterators.reverse(myallocs))) + r = round.(b / sum(b) * 100; digits = 2) + f = map(first ∘ splitext ∘ first ∘ splitext, + map(a -> a.filename, Iterators.reverse(myallocs))) l = map(a -> a.linenumber, Iterators.reverse(myallocs)) - Table(bytes=b, percentage=r, filenames=f, linenumbers=l) + Table(bytes = b, percentage = r, filenames = f, linenumbers = l) end diff --git a/src/check.jl b/src/check.jl index 1f24687..29720bf 100644 --- a/src/check.jl +++ b/src/check.jl @@ -1,5 +1,9 @@ -prep(d, b, v) = quote nothing end -check(d, b, v) = quote nothing end +prep(d, b, v) = quote + nothing +end +check(d, b, v) = quote + nothing +end post(d, v) = nothing default_options(v) = Dict() @@ -8,8 +12,8 @@ check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) post(d::Dict, v::Symbol) = post(d, Val(v)) function default_options(d::Dict, v::Symbol) - di = default_options(Val(v)) - return merge(di, d) + di = default_options(Val(v)) + return merge(di, d) end macro check(x, d, block1, block2) @@ -33,47 +37,55 @@ macro check(x, d, block1, block2) ) pkgs = if haskey(di, :pkgs) - [PackageSpec(name=di[:pkgs][1], version=i) for i in get_versions(di[:pkgs])[2]] - else + [PackageSpec(name = di[:pkgs][1], version = i) + for i in get_versions(di[:pkgs])[2]] + else PackageSpec[PackageSpec()] end devop = haskey(di, :devops) len = length(pkgs) + devop - - for i in 1:len - p = remotecall_fetch(Core.eval, 1, Main, - Expr(:toplevel, quote - import Distributed - d = $di - t = tempname() - cp(d[:path], t) - Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$t", "-t $(d[:threads])"]) - end).args...) |> first + for i in 1:len + p = remotecall_fetch(Core.eval, + 1, + Main, + Expr(:toplevel, + quote + import Distributed + d = $di + t = tempname() + cp(d[:path], t) + Distributed.addprocs(1; + exeflags = ["--track-allocation=$(d[:track])", + "--project=$t", "-t $(d[:threads])"]) + end).args...) |> first remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, quote - import Pkg; - Pkg.instantiate(); + Expr(:toplevel, + quote + import Pkg + Pkg.instantiate() import PerfChecker d = $di pkgs = if haskey(d, :pkgs) - [Pkg.PackageSpec(name=d[:pkgs][1], version=i) for i in PerfChecker.get_versions(d[:pkgs])[2]] - else + [Pkg.PackageSpec(name = d[:pkgs][1], version = i) + for i in PerfChecker.get_versions(d[:pkgs])[2]] + else Pkg.PackageSpec[Pkg.PackageSpec()] end - + if !($i == $len && $devop) pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) else pkg = d[:devops] - pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) - end + pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : + Pkg.develop(pkg) + end haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) - end).args...) + end).args...) di[:prep_result] = remotecall_fetch(Core.eval, p, Main, Expr(:toplevel, g.args...)) @@ -88,10 +100,9 @@ macro check(x, d, block1, block2) end).args...) res = $post(di, $x) push!(results.tables, res |> to_table) - if !(devop && i == len) + if !(devop && i == len) push!(results.pkgs, pkgs[i]) end - end results end diff --git a/src/versions.jl b/src/versions.jl index 4d78dc9..21cfe0c 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -15,15 +15,19 @@ julia> get_pkg_versions("ConstraintLearning") v"0.1.2" ``` """ -function get_pkg_versions(name::String, regname::Union{Nothing,Vector{String}} = nothing)::Vector{VersionNumber} - regs = Types.Context().registries - indexes = isnothing(regname) ? collect(1:length(regs)) : findall(x -> x.name in regname, regs) +function get_pkg_versions(name::String, + regname::Union{Nothing, Vector{String}} = nothing)::Vector{VersionNumber} + regs = Types.Context().registries + indexes = isnothing(regname) ? collect(1:length(regs)) : + findall(x -> x.name in regname, regs) - versions::Set{String} = Set([]) - for i in indexes - push!(versions, keys(parse(regs[i].in_memory_registry[join([first(name),name,"Versions.toml"], '/')]))...) - end - return VersionNumber.(versions) + versions::Set{String} = Set([]) + for i in indexes + push!(versions, + keys(parse(regs[i].in_memory_registry[join( + [first(name), name, "Versions.toml"], '/')]))...) + end + return VersionNumber.(versions) end const VerConfig = Tuple{String, Symbol, Vector{VersionNumber}, Bool} @@ -73,25 +77,25 @@ function arrange_major(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) end function arrange_custom(a::VersionNumber, ::Vector{VersionNumber}, ::Bool) - return [a] + return [a] end function get_versions(pkgconf::VerConfig, regname::Union{Nothing, Vector{String}} = nothing) - versions = get_pkg_versions(pkgconf[1], regname) + versions = get_pkg_versions(pkgconf[1], regname) - s = pkgconf[2] - f = if s == :patches - arrange_patches - elseif s == :breaking - arrange_breaking - elseif s == :major - arrange_major - elseif s == :minor - arrange_minor - elseif s == :custom - arrange_custom - else - error("Unknown option provided $s") - end - return pkgconf[1], Iterators.flatten(map(x -> f(x, versions, pkgconf[4]), pkgconf[3])) + s = pkgconf[2] + f = if s == :patches + arrange_patches + elseif s == :breaking + arrange_breaking + elseif s == :major + arrange_major + elseif s == :minor + arrange_minor + elseif s == :custom + arrange_custom + else + error("Unknown option provided $s") + end + return pkgconf[1], Iterators.flatten(map(x -> f(x, versions, pkgconf[4]), pkgconf[3])) end diff --git a/test/Aqua.jl b/test/Aqua.jl new file mode 100644 index 0000000..fd93354 --- /dev/null +++ b/test/Aqua.jl @@ -0,0 +1,28 @@ +@testset "Aqua.jl" begin + import Aqua + import PerfChecker + + # TODO: Fix the broken tests and remove the `broken = true` flag + Aqua.test_all( + PerfChecker; + ambiguities = (broken = true,), + deps_compat = false, + piracies = (broken = true,) + ) + + @testset "Ambiguities: PatternFolds" begin + Aqua.test_ambiguities(PerfChecker) + end + + @testset "Piracies: PatternFolds" begin + Aqua.test_piracies(PerfChecker; + # treat_as_own = [Intervals.Interval] + ) + end + + @testset "Dependencies compatibility (no extras)" begin + Aqua.test_deps_compat(PerfChecker; + check_extras = false # ignore = [:Random] + ) + end +end diff --git a/test/Project.toml b/test/Project.toml deleted file mode 100644 index 1739b3f..0000000 --- a/test/Project.toml +++ /dev/null @@ -1,16 +0,0 @@ -[deps] -BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -CompatHelperLocal = "5224ae11-6099-4aaa-941d-3aab004bd678" -ConstraintDomains = "5800fd60-8556-4464-8d61-84ebf7a0bedb" -Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" -PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" -Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[compat] -BenchmarkTools = "1.5.0" -CompatHelperLocal = "0.1.26" -ConstraintDomains = "0.3.9" -PatternFolds = "0.2.3" -julia = "1" diff --git a/test/pattern_folds.jl b/test/pattern_folds.jl index 0a7422d..45e67b7 100644 --- a/test/pattern_folds.jl +++ b/test/pattern_folds.jl @@ -1,8 +1,8 @@ @testset "PatternFolds.jl" begin x = @check :alloc Dict(:targets => ["PatternFolds"], :path => @__DIR__) begin using PatternFolds - end begin - itv = Interval{Open,Closed}(0.0, 1.0) + end begin + itv = Interval{Open, Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) @@ -24,11 +24,12 @@ @info x - t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin + t = @check :benchmark Dict( + :path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin using PatternFolds - end begin + end begin # Intervals - itv = Interval{Open,Closed}(0.0, 1.0) + itv = Interval{Open, Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) unfold(i) diff --git a/test/runtests.jl b/test/runtests.jl index 0de52df..695e41c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,12 +1,14 @@ -using BenchmarkTools -using Distributed -using PerfChecker using Test -import CompatHelperLocal +@testset "Package tests: PerfChecker" begin + include("Aqua.jl") -CompatHelperLocal.@check() + @testset "Other Packages" begin + using BenchmarkTools + using Distributed + using PerfChecker -# include("compositional_networks.jl") - -include("pattern_folds.jl") + # include("compositional_networks.jl") + include("pattern_folds.jl") + end +end From daf5d9e4e93675b628375a5e2d386bcad47e3a48 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 14 May 2024 03:48:31 +0000 Subject: [PATCH 42/67] Moved a broken test to unbroken --- Project.toml | 2 +- test/Aqua.jl | 45 +++++++++++++++++++++++---------------------- test/runtests.jl | 16 ++++++++-------- 3 files changed, 32 insertions(+), 31 deletions(-) diff --git a/Project.toml b/Project.toml index aee9457..35b9dca 100644 --- a/Project.toml +++ b/Project.toml @@ -35,4 +35,4 @@ PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [targets] -test = ["Aqua", "BenchmarkTools", "PatternFolds","Test"] +test = ["Aqua", "BenchmarkTools", "PatternFolds", "Test"] diff --git a/test/Aqua.jl b/test/Aqua.jl index fd93354..add78f4 100644 --- a/test/Aqua.jl +++ b/test/Aqua.jl @@ -1,28 +1,29 @@ @testset "Aqua.jl" begin - import Aqua - import PerfChecker + import Aqua + import PerfChecker - # TODO: Fix the broken tests and remove the `broken = true` flag - Aqua.test_all( - PerfChecker; - ambiguities = (broken = true,), - deps_compat = false, - piracies = (broken = true,) - ) + # TODO: Fix the broken tests and remove the `broken = true` flag + Aqua.test_all( + PerfChecker; + ambiguities = (broken = true,), + deps_compat = false, + piracies = (broken = false,) + ) - @testset "Ambiguities: PatternFolds" begin - Aqua.test_ambiguities(PerfChecker) - end + @testset "Ambiguities: PatternFolds" begin + Aqua.test_ambiguities(PerfChecker) + end - @testset "Piracies: PatternFolds" begin - Aqua.test_piracies(PerfChecker; - # treat_as_own = [Intervals.Interval] - ) - end + @testset "Piracies: PatternFolds" begin + Aqua.test_piracies(PerfChecker; + # treat_as_own = [Intervals.Interval] + ) + end - @testset "Dependencies compatibility (no extras)" begin - Aqua.test_deps_compat(PerfChecker; - check_extras = false # ignore = [:Random] - ) - end + @testset "Dependencies compatibility (no extras)" begin + Aqua.test_deps_compat(PerfChecker; + check_extras = false, + ignore = [:Distributed, :Pkg, :Profile, :TOML] + ) + end end diff --git a/test/runtests.jl b/test/runtests.jl index 695e41c..934ca90 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,14 +1,14 @@ using Test @testset "Package tests: PerfChecker" begin - include("Aqua.jl") + include("Aqua.jl") - @testset "Other Packages" begin - using BenchmarkTools - using Distributed - using PerfChecker + @testset "Other Packages" begin + using BenchmarkTools + using Distributed + using PerfChecker - # include("compositional_networks.jl") - include("pattern_folds.jl") - end + # include("compositional_networks.jl") + # include("pattern_folds.jl") + end end From 5cf2065290fffdaccdaaef588e798698262fd873 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 14 May 2024 03:55:16 +0000 Subject: [PATCH 43/67] Fix typo and commented tests --- README.md | 8 +++----- test/Aqua.jl | 4 ++-- test/runtests.jl | 16 ++++++++-------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index fbe14a3..3262d84 100644 --- a/README.md +++ b/README.md @@ -4,12 +4,10 @@ [![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://JuliaConstraints.github.io/PerfChecker.jl/dev) [![Build Status](https://github.com/JuliaConstraints/PerfChecker.jl/workflows/CI/badge.svg)](https://github.com/JuliaConstraints/PerfChecker.jl/actions) [![codecov](https://codecov.io/gh/JuliaConstraints/PerfChecker.jl/branch/main/graph/badge.svg?token=YVJhN4dpBp)](https://codecov.io/gh/JuliaConstraints/PerfChecker.jl) -[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle) +[![SciML Code Style](https://img.shields.io/static/v1?label=code%20style&message=SciML&color=9558b2&labelColor=389826)](https://github.com/SciML/SciMLStyle) [![Chat: Mattermost](https://img.shields.io/badge/chat-mattermost-blueviolet.svg)](https://nohost.iijlab.net/chat/signup_user_complete/?id=nnuc1g14gtrqtnas6thu193xmr) [![Website: JuliaConstraints](https://img.shields.io/badge/website-JuliaConstraints-informational.svg)](https://juliaconstraints.github.io/) - - `PerfChecker` is a set of performance checking tools for Julia packages. The ultimate aim is to create an environment where the tool can run similarly to a test environment. By doing so, it would be possible to test the performance of a package `P` in separate Julia instances. This would allow for each version of `P`: - The use of the latest compatible versions of Julia and other dependencies of P @@ -123,7 +121,7 @@ using PerfChecker using Test # Target(s) -using CompositionalNetworks # lastest release: 0.3.1 +using CompositionalNetworks # latest release: 0.3.1 # Direct dependencies of this script using ConstraintDomains @@ -166,7 +164,7 @@ using PerfChecker using BenchmarkTools # Target(s) -using CompositionalNetworks # lastest release: 0.3.1 +using CompositionalNetworks # latest release: 0.3.1 # Direct dependencies of this script using ConstraintDomains diff --git a/test/Aqua.jl b/test/Aqua.jl index add78f4..028a66d 100644 --- a/test/Aqua.jl +++ b/test/Aqua.jl @@ -10,11 +10,11 @@ piracies = (broken = false,) ) - @testset "Ambiguities: PatternFolds" begin + @testset "Ambiguities: PerfChecker" begin Aqua.test_ambiguities(PerfChecker) end - @testset "Piracies: PatternFolds" begin + @testset "Piracies: PerfChecker" begin Aqua.test_piracies(PerfChecker; # treat_as_own = [Intervals.Interval] ) diff --git a/test/runtests.jl b/test/runtests.jl index 934ca90..695e41c 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,14 +1,14 @@ using Test @testset "Package tests: PerfChecker" begin - include("Aqua.jl") + include("Aqua.jl") - @testset "Other Packages" begin - using BenchmarkTools - using Distributed - using PerfChecker + @testset "Other Packages" begin + using BenchmarkTools + using Distributed + using PerfChecker - # include("compositional_networks.jl") - # include("pattern_folds.jl") - end + # include("compositional_networks.jl") + include("pattern_folds.jl") + end end From 1409b2de97ed17d6093aa30a4abf4c78aa36e7d1 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 14 May 2024 03:59:14 +0000 Subject: [PATCH 44/67] Fix format --- test/Aqua.jl | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/test/Aqua.jl b/test/Aqua.jl index 028a66d..4affd12 100644 --- a/test/Aqua.jl +++ b/test/Aqua.jl @@ -1,29 +1,29 @@ @testset "Aqua.jl" begin - import Aqua - import PerfChecker + import Aqua + import PerfChecker - # TODO: Fix the broken tests and remove the `broken = true` flag - Aqua.test_all( - PerfChecker; - ambiguities = (broken = true,), - deps_compat = false, - piracies = (broken = false,) - ) + # TODO: Fix the broken tests and remove the `broken = true` flag + Aqua.test_all( + PerfChecker; + ambiguities = (broken = true,), + deps_compat = false, + piracies = (broken = false,) + ) - @testset "Ambiguities: PerfChecker" begin - Aqua.test_ambiguities(PerfChecker) - end + @testset "Ambiguities: PerfChecker" begin + Aqua.test_ambiguities(PerfChecker) + end - @testset "Piracies: PerfChecker" begin - Aqua.test_piracies(PerfChecker; - # treat_as_own = [Intervals.Interval] - ) - end + @testset "Piracies: PerfChecker" begin + Aqua.test_piracies(PerfChecker; + # treat_as_own = [Intervals.Interval] + ) + end - @testset "Dependencies compatibility (no extras)" begin - Aqua.test_deps_compat(PerfChecker; - check_extras = false, - ignore = [:Distributed, :Pkg, :Profile, :TOML] - ) - end + @testset "Dependencies compatibility (no extras)" begin + Aqua.test_deps_compat(PerfChecker; + check_extras = false, + ignore = [:Distributed, :Pkg, :Profile, :TOML] + ) + end end From e16f9ad924d94adb6ab65c699b2ef3805839ca59 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Tue, 14 May 2024 15:13:55 +0900 Subject: [PATCH 45/67] Add scatterline --- Project.toml | 4 ++-- ext/MakieExt/plotutils.jl | 42 +++++++++++++++++++++++++++++++++++++ perf/PatternFolds/allocs.jl | 4 +++- src/PerfChecker.jl | 2 ++ src/check.jl | 2 ++ 5 files changed, 51 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index 800e68d..ce4f784 100644 --- a/Project.toml +++ b/Project.toml @@ -27,10 +27,10 @@ MakieExt = "Makie" [compat] BenchmarkTools = "1.5" -Chairmarks = "1.2" +Chairmarks = "1" CoverageTools = "1" CpuId = "0.3.1" -Makie = "0.20" +Makie = "0.21" TypedTables = "1" julia = "1" diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index ecbbfb8..b4300bf 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -46,3 +46,45 @@ function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) return f end + + + +function PerfChecker.checkres_to_scatterlines(x::PerfChecker.CheckerResult, ::Val{:alloc}; title = "") + di = Dict() + for i in eachindex(x.tables) + j = x.tables[i] + p = x.pkgs[i] + u = unique(j.filenames) + paths = smart_paths(u)[2] + for k in eachindex(u) + if haskey(di, paths[k]) + push!(di[paths[k]], (sum(j.bytes[j.filenames .== u[k]]), p.version)) + else + di[paths[k]] = [(sum(j.bytes[j.filenames .== u[k]]), p.version)] + end + end + end + + versions = Dict() + for i in eachindex(x.pkgs) + versions[x.pkgs[i].version] = i + end + + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + f = Figure() + ax = Axis(f[1, 1]) + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "bytes" + colors = make_colors(length(keys(di))) + i = 1 + for (keys, values) in di + xs = [values[i][1] for i in eachindex(values)] + ys = [versions[values[i][2]] for i in eachindex(values)] + scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 + end + ax.title = x.pkgs[1].name + Legend(f[1,2], ax) + save("/var/home/varlad/uba.png", f) + return f +end diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 4156026..7cdd3e4 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -27,7 +27,7 @@ end begin end @info x - +#= for (i, t) in enumerate(x.tables) p = d[:pkgs] @info "debug" p[1] p[2] p[3] p[4] @@ -37,3 +37,5 @@ for (i, t) in enumerate(x.tables) pwd(), "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) @info path end +=# +checkres_to_scatterlines(x, Val(:alloc)) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 966629c..79fde78 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -54,6 +54,8 @@ export to_table export find_by_tags export get_versions export table_to_pie +#export checkres_to_pie +export checkres_to_scatterlines # SECTION - Includes include("versions.jl") diff --git a/src/check.jl b/src/check.jl index 70429d8..1aeeac5 100644 --- a/src/check.jl +++ b/src/check.jl @@ -102,3 +102,5 @@ function perf_table end function perf_plot end function table_to_pie end + +function checkres_to_scatterlines end From a23e94c1b29dc470429c46e8e3db3bbdc7a70f67 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Tue, 14 May 2024 16:50:01 +0900 Subject: [PATCH 46/67] Improvement --- ext/MakieExt/MakieExt.jl | 2 ++ ext/MakieExt/allocs.jl | 64 +++++++++++++++++++++++++++++++++++++ ext/MakieExt/bench.jl | 39 +++++++++++++++++++++++ ext/MakieExt/plotutils.jl | 66 +-------------------------------------- src/PerfChecker.jl | 3 +- src/check.jl | 6 ++++ 6 files changed, 114 insertions(+), 66 deletions(-) create mode 100644 ext/MakieExt/allocs.jl create mode 100644 ext/MakieExt/bench.jl diff --git a/ext/MakieExt/MakieExt.jl b/ext/MakieExt/MakieExt.jl index 7d5c15d..1b8f704 100644 --- a/ext/MakieExt/MakieExt.jl +++ b/ext/MakieExt/MakieExt.jl @@ -5,5 +5,7 @@ using TypedTables using PerfChecker include("plotutils.jl") +include("allocs.jl") +include("bench.jl") end diff --git a/ext/MakieExt/allocs.jl b/ext/MakieExt/allocs.jl new file mode 100644 index 0000000..2fe79fa --- /dev/null +++ b/ext/MakieExt/allocs.jl @@ -0,0 +1,64 @@ +function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") + data = x.bytes + paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) + percentage = data .* 100 ./ sum(data) + colors = make_colors(length(percentage)) + str = isempty(pkg_name) ? "" : " for $pkg_name" + f, ax, _ = pie( + data; + axis = (autolimitaspect = 1,), + color = colors, + inner_radius = 2, + radius = 4, + strokecolor = :white, + strokewidth = 5 + ) + ax.title = "Mallocs$str" + hidedecorations!(ax) + hidespines!(ax) + Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) + return f +end + +function PerfChecker.checkres_to_pie(x::PerfChecker.CheckerResult, ::Val{:alloc}) + +end + +function PerfChecker.checkres_to_scatterlines(x::PerfChecker.CheckerResult, ::Val{:alloc}; title = "") + di = Dict() + for i in eachindex(x.tables) + j = x.tables[i] + p = x.pkgs[i] + u = unique(j.filenames) + paths = smart_paths(u)[2] + for k in eachindex(u) + if haskey(di, paths[k]) + push!(di[paths[k]], (sum(j.bytes[j.filenames .== u[k]]), p.version)) + else + di[paths[k]] = [(sum(j.bytes[j.filenames .== u[k]]), p.version)] + end + end + end + + versions = Dict() + for i in eachindex(x.pkgs) + versions[x.pkgs[i].version] = i + end + + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + f = Figure() + ax = Axis(f[1, 1]) + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "bytes" + colors = make_colors(length(keys(di))) + i = 1 + for (keys, values) in di + xs = [values[i][1] for i in eachindex(values)] + ys = [versions[values[i][2]] for i in eachindex(values)] + scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 + end + ax.title = x.pkgs[1].name + Legend(f[1,2], ax) + return f +end diff --git a/ext/MakieExt/bench.jl b/ext/MakieExt/bench.jl new file mode 100644 index 0000000..d6b006e --- /dev/null +++ b/ext/MakieExt/bench.jl @@ -0,0 +1,39 @@ +function PerfChecker.checkres_to_scatterlines(x::Table, ::Val{:benchmark}) + +end +#= +function PerfChecker.checkres_to_boxplots(x::CheckerResults, ::Val{:benchmark}; kwarg = :times) + di = Dict() + data = [] + for i in eachindex(x.tables) + j = x.tables[i] + p = x.pkgs[i] + g = getproperties(j[i], (kwargs,)) + g = [g[k][1] for k in eachindex(g)] + push!((fill(i, length(g)), g)) + end + + w = getproperties(j[1], (:allocs,)) + versions = Dict() + for i in eachindex(x.pkgs) + versions[x.pkgs[i].version] = i + end + + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + f = Figure() + ax = Axis(f[1, 1]) + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "bytes" + colors = make_colors(length(keys(di))) + i = 1 + for (keys, values) in di + xs = [values[i][1] for i in eachindex(values)] + ys = [versions[values[i][2]] for i in eachindex(values)] + scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 + end + ax.title = x.pkgs[1].name + Legend(f[1,2], ax) + return f +end +=# diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index b4300bf..5c06c78 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -23,68 +23,4 @@ function smart_paths(paths) return joinpath(common...), map(joinpath, splitted_paths) end -function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") - data = x.bytes - @info data - paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) - percentage = data .* 100 ./ sum(data) - @info percentage - colors = make_colors(length(percentage)) - str = isempty(pkg_name) ? "" : " for $pkg_name" - f, ax, _ = pie( - data; - axis = (autolimitaspect = 1,), - color = colors, - inner_radius = 2, - radius = 4, - strokecolor = :white, - strokewidth = 5 - ) - ax.title = "Mallocs$str" - hidedecorations!(ax) - hidespines!(ax) - Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) - return f -end - - - -function PerfChecker.checkres_to_scatterlines(x::PerfChecker.CheckerResult, ::Val{:alloc}; title = "") - di = Dict() - for i in eachindex(x.tables) - j = x.tables[i] - p = x.pkgs[i] - u = unique(j.filenames) - paths = smart_paths(u)[2] - for k in eachindex(u) - if haskey(di, paths[k]) - push!(di[paths[k]], (sum(j.bytes[j.filenames .== u[k]]), p.version)) - else - di[paths[k]] = [(sum(j.bytes[j.filenames .== u[k]]), p.version)] - end - end - end - - versions = Dict() - for i in eachindex(x.pkgs) - versions[x.pkgs[i].version] = i - end - - versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] - f = Figure() - ax = Axis(f[1, 1]) - ax.xticks = (eachindex(versionnums), string.(versionnums)) - ax.xlabel = "versions" - ax.ylabel = "bytes" - colors = make_colors(length(keys(di))) - i = 1 - for (keys, values) in di - xs = [values[i][1] for i in eachindex(values)] - ys = [versions[values[i][2]] for i in eachindex(values)] - scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 - end - ax.title = x.pkgs[1].name - Legend(f[1,2], ax) - save("/var/home/varlad/uba.png", f) - return f -end +PerfChecker.saveplot(a...;b...) = Makie.save(a...;b...) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 79fde78..de75581 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -54,8 +54,9 @@ export to_table export find_by_tags export get_versions export table_to_pie -#export checkres_to_pie +export checkres_to_pie export checkres_to_scatterlines +export saveplot # SECTION - Includes include("versions.jl") diff --git a/src/check.jl b/src/check.jl index 1aeeac5..cd8a7ef 100644 --- a/src/check.jl +++ b/src/check.jl @@ -104,3 +104,9 @@ function perf_plot end function table_to_pie end function checkres_to_scatterlines end + +function checkres_to_pie end + +function saveplot end + +function checkres_to_boxplots end From 11693c3ddbc10171052b82f723f695e352e23d72 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 14 May 2024 17:16:03 +0900 Subject: [PATCH 47/67] Add CSV extension --- Project.toml | 3 ++ ext/CSVExt/CSVExt.jl | 10 ++++++ ext/MakieExt/plotutils.jl | 65 +++++++++++++++++++++++++++++++++- perf/PatternFolds/Project.toml | 2 ++ src/PerfChecker.jl | 60 ++++++++++++++++++------------- 5 files changed, 115 insertions(+), 25 deletions(-) create mode 100644 ext/CSVExt/CSVExt.jl diff --git a/Project.toml b/Project.toml index ce4f784..54fafa0 100644 --- a/Project.toml +++ b/Project.toml @@ -18,11 +18,13 @@ TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [weakdeps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" +CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" [extensions] BenchmarkToolsExt = "BenchmarkTools" ChairmarksExt = "Chairmarks" +CSVExt = "CSV" MakieExt = "Makie" [compat] @@ -30,6 +32,7 @@ BenchmarkTools = "1.5" Chairmarks = "1" CoverageTools = "1" CpuId = "0.3.1" +CSV = "0.10" Makie = "0.21" TypedTables = "1" julia = "1" diff --git a/ext/CSVExt/CSVExt.jl b/ext/CSVExt/CSVExt.jl new file mode 100644 index 0000000..b77bf99 --- /dev/null +++ b/ext/CSVExt/CSVExt.jl @@ -0,0 +1,10 @@ +module CSVExt + +using CSV +import TypedTables: Table + +table_to_csv(t::Table, path::String) = CSV.write(path, t) + +csv_to_table(path::String) = CSV.read(path, Table) + +end diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index 5c06c78..19439b2 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -23,4 +23,67 @@ function smart_paths(paths) return joinpath(common...), map(joinpath, splitted_paths) end -PerfChecker.saveplot(a...;b...) = Makie.save(a...;b...) +function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") + data = x.bytes + @info data + paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) + percentage = data .* 100 ./ sum(data) + @info percentage + colors = make_colors(length(percentage)) + str = isempty(pkg_name) ? "" : " for $pkg_name" + f, ax, _ = pie( + data; + axis = (autolimitaspect = 1,), + color = colors, + inner_radius = 2, + radius = 4, + strokecolor = :white, + strokewidth = 5 + ) + ax.title = "Mallocs$str" + hidedecorations!(ax) + hidespines!(ax) + Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) + return f +end + +function PerfChecker.checkres_to_scatterlines( + x::PerfChecker.CheckerResult, ::Val{:alloc}; title = "") + di = Dict() + for i in eachindex(x.tables) + j = x.tables[i] + p = x.pkgs[i] + u = unique(j.filenames) + paths = smart_paths(u)[2] + for k in eachindex(u) + if haskey(di, paths[k]) + push!(di[paths[k]], (sum(j.bytes[j.filenames .== u[k]]), p.version)) + else + di[paths[k]] = [(sum(j.bytes[j.filenames .== u[k]]), p.version)] + end + end + end + + versions = Dict() + for i in eachindex(x.pkgs) + versions[x.pkgs[i].version] = i + end + + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + f = Figure() + ax = Axis(f[1, 1]) + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "bytes" + colors = make_colors(length(keys(di))) + i = 1 + for (keys, values) in di + xs = [values[i][1] for i in eachindex(values)] + ys = [versions[values[i][2]] for i in eachindex(values)] + scatterlines!(f[1, 1], ys, xs, label = keys, color = (colors[i], 0.6)) + i += 1 + end + ax.title = x.pkgs[1].name + Legend(f[1, 2], ax) + return f +end diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index be8db5c..5fa8393 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -1,7 +1,9 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" +TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index de75581..e458f6c 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -12,41 +12,51 @@ import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core struct HwInfo - cpus::Vector{CPUinfo} - machine::String - word::Int - simdbytes::Int - corecount::Tuple{Int, Int, Int} + cpus::Vector{CPUinfo} + machine::String + word::Int + simdbytes::Int + corecount::Tuple{Int, Int, Int} end struct CheckerResult - tables::Vector{Table} - hwinfo::Union{HwInfo,Nothing} - tags::Union{Nothing,Vector{Symbol}} - pkgs::Vector{PackageSpec} + tables::Vector{Table} + hwinfo::Union{HwInfo, Nothing} + tags::Union{Nothing, Vector{Symbol}} + pkgs::Vector{PackageSpec} end function Base.show(io::IO, v::PerfChecker.CheckerResult) - println(io, "Tables:") - for i in v.tables - println(io, '\t', Base.display(i)) - end + println(io, "Tables:") + for i in v.tables + println(io, '\t', Base.display(i)) + end - println(io, "Hardware Info:") - println(io, "CPU Information:") - println(io, '\t', v.hwinfo.cpus) - println(io, "Machine name: ", v.hwinfo.machine) - println(io, "Word Size: ", v.hwinfo.word) - println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) - println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) + println(io, "Hardware Info:") + println(io, "CPU Information:") + println(io, '\t', v.hwinfo.cpus) + println(io, "Machine name: ", v.hwinfo.machine) + println(io, "Word Size: ", v.hwinfo.word) + println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) + println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) - println(io, "Tags used: ", v.tags) + println(io, "Tags used: ", v.tags) - println(io, "Package versions tested (if provided): ") - println(io, Base.display(v.pkgs)) + println(io, "Package versions tested (if provided): ") + println(io, Base.display(v.pkgs)) end -find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) = findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) +function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) + findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) +end + +function csv_to_table(path) + @warn "CSV module not loaded. Please load it before using this function." +end + +function table_to_csv(t::Table, path::String) + @warn "CSV module not loaded. Please load it before using this function." +end # SECTION - Exports export @check @@ -57,6 +67,8 @@ export table_to_pie export checkres_to_pie export checkres_to_scatterlines export saveplot +export csv_to_table +export table_to_csv # SECTION - Includes include("versions.jl") From 2e3cd2ab45f6c29426109d95fe78eda33f0e4e3f Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Tue, 14 May 2024 17:54:23 +0900 Subject: [PATCH 48/67] More --- ext/MakieExt/bench.jl | 27 +++++++++++++++------------ images/benchmark-memory.png | Bin 11827 -> 0 bytes perf/PatternFolds/bench.jl | 6 ++++-- src/PerfChecker.jl | 1 + 4 files changed, 20 insertions(+), 14 deletions(-) delete mode 100644 images/benchmark-memory.png diff --git a/ext/MakieExt/bench.jl b/ext/MakieExt/bench.jl index d6b006e..a6e6e54 100644 --- a/ext/MakieExt/bench.jl +++ b/ext/MakieExt/bench.jl @@ -1,18 +1,20 @@ -function PerfChecker.checkres_to_scatterlines(x::Table, ::Val{:benchmark}) - +function PerfChecker.checkres_to_scatterlines(x::PerfChecker.CheckerResult, ::Val{:benchmark}) + println("Hello!") + @warn "Here!" end -#= -function PerfChecker.checkres_to_boxplots(x::CheckerResults, ::Val{:benchmark}; kwarg = :times) + +function PerfChecker.checkres_to_boxplots(x::PerfChecker.CheckerResult, ::Val{:benchmark}; kwarg = :times) di = Dict() data = [] - for i in eachindex(x.tables) - j = x.tables[i] - p = x.pkgs[i] - g = getproperties(j[i], (kwargs,)) - g = [g[k][1] for k in eachindex(g)] - push!((fill(i, length(g)), g)) - end + #for i in eachindex(x.tables) + #j = x.tables[i] + #p = x.pkgs[i] + #g = getproperties(j[i], (kwargs,)) + #g = [g[k][1] for k in eachindex(g)] + #push!((fill(i, length(g)), g)) + #end + #= w = getproperties(j[1], (:allocs,)) versions = Dict() for i in eachindex(x.pkgs) @@ -35,5 +37,6 @@ function PerfChecker.checkres_to_boxplots(x::CheckerResults, ::Val{:benchmark}; ax.title = x.pkgs[1].name Legend(f[1,2], ax) return f + =# + return data end -=# diff --git a/images/benchmark-memory.png b/images/benchmark-memory.png deleted file mode 100644 index 8062d6fc2ab1293a2ead1aeaec5b339fd5429480..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11827 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 diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index f622f8f..c18fcbe 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -1,6 +1,6 @@ -using PerfChecker, BenchmarkTools +using PerfChecker, BenchmarkTools, CairoMakie -t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin +t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) begin using PatternFolds end begin # Intervals @@ -27,3 +27,5 @@ t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :sec end @info t + +@info checkres_to_boxplots(t, Val(:benchmark)) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index e458f6c..4bac54a 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -69,6 +69,7 @@ export checkres_to_scatterlines export saveplot export csv_to_table export table_to_csv +export checkres_to_boxplots # SECTION - Includes include("versions.jl") From 385c5a7e90601d9dba78d23b0dac382650487374 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Fri, 17 May 2024 19:04:46 +0900 Subject: [PATCH 49/67] Fix tests and add initpkgs --- ext/BenchmarkToolsExt/benchmark.jl | 3 +- ext/ChairmarksExt/b.jl | 3 +- ext/MakieExt/plotutils.jl | 65 ----------- perf/PatternFolds/allocs.jl | 6 +- perf/PatternFolds/bench.jl | 6 +- perf/PatternFolds/chair.jl | 6 +- src/PerfChecker.jl | 2 +- src/check.jl | 173 +++++++++++++++-------------- src/versions.jl | 9 +- 9 files changed, 113 insertions(+), 160 deletions(-) diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl index a8a60bf..2380539 100644 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -13,9 +13,10 @@ function PerfChecker.default_options(::Val{:benchmark}) ) end +PerfChecker.initpkgs(::Val{:benchmark}) = quote using BenchmarkTools end + PerfChecker.check(d::Dict, block::Expr, ::Val{:benchmark}) = quote d = $d - using BenchmarkTools return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] end diff --git a/ext/ChairmarksExt/b.jl b/ext/ChairmarksExt/b.jl index 4d92213..accd5ca 100644 --- a/ext/ChairmarksExt/b.jl +++ b/ext/ChairmarksExt/b.jl @@ -9,10 +9,11 @@ function PerfChecker.default_options(::Val{:chairmark}) ) end +PerfChecker.initpkgs(::Val{:chairmark}) = quote using Chairmarks end + function PerfChecker.check(d::Dict, block::Expr, ::Val{:chairmark}) quote d = $d - using Chairmarks return @be $block evals=d[:evals] seconds=d[:seconds] samples=d[:samples] gc=d[:gc] end end diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index 19439b2..073c4fe 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -22,68 +22,3 @@ function smart_paths(paths) return joinpath(common...), map(joinpath, splitted_paths) end - -function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") - data = x.bytes - @info data - paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) - percentage = data .* 100 ./ sum(data) - @info percentage - colors = make_colors(length(percentage)) - str = isempty(pkg_name) ? "" : " for $pkg_name" - f, ax, _ = pie( - data; - axis = (autolimitaspect = 1,), - color = colors, - inner_radius = 2, - radius = 4, - strokecolor = :white, - strokewidth = 5 - ) - ax.title = "Mallocs$str" - hidedecorations!(ax) - hidespines!(ax) - Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) - return f -end - -function PerfChecker.checkres_to_scatterlines( - x::PerfChecker.CheckerResult, ::Val{:alloc}; title = "") - di = Dict() - for i in eachindex(x.tables) - j = x.tables[i] - p = x.pkgs[i] - u = unique(j.filenames) - paths = smart_paths(u)[2] - for k in eachindex(u) - if haskey(di, paths[k]) - push!(di[paths[k]], (sum(j.bytes[j.filenames .== u[k]]), p.version)) - else - di[paths[k]] = [(sum(j.bytes[j.filenames .== u[k]]), p.version)] - end - end - end - - versions = Dict() - for i in eachindex(x.pkgs) - versions[x.pkgs[i].version] = i - end - - versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] - f = Figure() - ax = Axis(f[1, 1]) - ax.xticks = (eachindex(versionnums), string.(versionnums)) - ax.xlabel = "versions" - ax.ylabel = "bytes" - colors = make_colors(length(keys(di))) - i = 1 - for (keys, values) in di - xs = [values[i][1] for i in eachindex(values)] - ys = [versions[values[i][2]] for i in eachindex(values)] - scatterlines!(f[1, 1], ys, xs, label = keys, color = (colors[i], 0.6)) - i += 1 - end - ax.title = x.pkgs[1].name - Legend(f[1, 2], ax) - return f -end diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 7cdd3e4..83e4a94 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -27,7 +27,7 @@ end begin end @info x -#= + for (i, t) in enumerate(x.tables) p = d[:pkgs] @info "debug" p[1] p[2] p[3] p[4] @@ -37,5 +37,5 @@ for (i, t) in enumerate(x.tables) pwd(), "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) @info path end -=# -checkres_to_scatterlines(x, Val(:alloc)) + +# checkres_to_scatterlines(x, Val(:alloc)) diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index c18fcbe..0e22177 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -1,6 +1,8 @@ using PerfChecker, BenchmarkTools, CairoMakie -t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) begin +d = Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) + +t = @check :benchmark d begin using PatternFolds end begin # Intervals @@ -28,4 +30,4 @@ end @info t -@info checkres_to_boxplots(t, Val(:benchmark)) +#@info checkres_to_boxplots(t, Val(:benchmark)) diff --git a/perf/PatternFolds/chair.jl b/perf/PatternFolds/chair.jl index 9eb8511..a19f4ca 100644 --- a/perf/PatternFolds/chair.jl +++ b/perf/PatternFolds/chair.jl @@ -1,8 +1,8 @@ using PerfChecker, Chairmarks -import Pkg -Pkg.status(;extensions=true) -t = @check :chairmark Dict(:path => @__DIR__, :evals => 1) begin +d = Dict(:path => @__DIR__, :evals => 1, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) + +t = @check :chairmark d begin using PatternFolds end begin # Intervals diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 4bac54a..337f99b 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -6,7 +6,7 @@ using Pkg.Types import TOML: parse using Profile import TypedTables: Table -import Distributed: remotecall_fetch, addprocs, rmprocs, remotecall_eval +import Distributed: remotecall_fetch, addprocs, rmprocs, remotecall_eval, remotecall_wait import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core diff --git a/src/check.jl b/src/check.jl index cd8a7ef..9c10ae6 100644 --- a/src/check.jl +++ b/src/check.jl @@ -1,99 +1,108 @@ -prep(d, b, v) = quote nothing end -check(d, b, v) = quote nothing end +initpkgs(x) = quote nothing end +prep(d, b, v) = quote + nothing +end +check(d, b, v) = quote + nothing +end post(d, v) = nothing default_options(v) = Dict() +initpkgs(x::Symbol) = initpkgs(Val(x)) prep(d::Dict, b::Expr, v::Symbol) = prep(d, b, Val(v)) check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) post(d::Dict, v::Symbol) = post(d, Val(v)) function default_options(d::Dict, v::Symbol) - di = default_options(Val(v)) - return merge(di, d) + di = default_options(Val(v)) + return merge(di, d) end -macro check(x, d, block1, block2) - block1, block2 = Expr(:quote, block1), Expr(:quote, block2) - quote - d = $(esc(d)) - di = default_options(d, $x) - g = prep(di, $block1, $x) - h = check(di, $block2, $x) - results = CheckerResult( - Table[], - HwInfo( - cpu_info(), - CPU_NAME, - WORD_SIZE, - simdbytes(), - (cpucores(), cputhreads(), cputhreads_per_core()) - ), - haskey(di, :tags) ? di[:tags] : Symbol[:none], - PackageSpec[] - ) - - pkgs = if haskey(di, :pkgs) - [PackageSpec(name=di[:pkgs][1], version=i) for i in get_versions(di[:pkgs])[2]] - else - PackageSpec[PackageSpec()] - end +function check_function(x::Symbol, d::Dict, block1, block2) + di = default_options(d, x) + g = prep(di, block1, x) + h = check(di, block2, x) + initpkg = initpkgs(x) + + results = CheckerResult( + Table[], + HwInfo( + cpu_info(), + CPU_NAME, + WORD_SIZE, + simdbytes(), + (cpucores(), cputhreads(), cputhreads_per_core()) + ), + haskey(di, :tags) ? di[:tags] : Symbol[:none], + PackageSpec[] + ) + + pkgs = if haskey(di, :pkgs) + [PackageSpec(name=di[:pkgs][1], version=i) for i in get_versions(di[:pkgs])[2]] + else + PackageSpec[PackageSpec()] + end - devop = haskey(di, :devops) - - len = length(pkgs) + devop - - for i in 1:len - p = remotecall_fetch(Core.eval, 1, Main, - - Expr(:toplevel, quote - import Distributed - d = $di - t = tempname() - cp(d[:path], t) - Distributed.addprocs(1; exeflags=["--track-allocation=$(d[:track])", "--project=$t", "-t $(d[:threads])"]) - end).args...) |> first - - remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, quote - import Pkg; - Pkg.instantiate(); - import PerfChecker - d = $di - - pkgs = if haskey(d, :pkgs) - [Pkg.PackageSpec(name=d[:pkgs][1], version=i) for i in PerfChecker.get_versions(d[:pkgs])[2]] - else - Pkg.PackageSpec[Pkg.PackageSpec()] - end - - if !($i == $len && $devop) - pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) - else - pkg = d[:devops] - pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) - end - haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) - end).args...) - - di[:prep_result] = remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, g.args...)) - - di[:check_result] = remotecall_fetch(Core.eval, p, Main, - Expr(:toplevel, h.args...)) - - remotecall_fetch(Core.eval, 1, Main, - Expr(:toplevel, quote - import Distributed - Distributed.rmprocs($p) - end).args...) - res = $post(di, $x) - push!(results.tables, res |> to_table) - if !(devop && i == len) - push!(results.pkgs, pkgs[i]) + devop = haskey(di, :devops) + + len = length(pkgs) + devop + + t = [tempname() for _ in 1:len] + cp.(Ref(di[:path]), t) + + procs = remotecall_eval(Main, 1, quote + d = $di + import Distributed + Distributed.addprocs($len; exeflags=["--track-allocation=$(d[:track])", "-t $(d[:threads])"]) + end) + + for i in 1:len + remotecall_eval(Main, procs[i], quote + import Pkg + t = $t + Pkg.activate(t[$i]) + Pkg.instantiate() + end) + + remotecall_eval(Main, procs[i], initpkg) + + remotecall_eval(Main, procs[i], quote + d = $di + pkgs = $pkgs + if !($i == $len && $devop) + pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) + else + pkg = d[:devops] + pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) end + haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) + end) + + di[:prep_result] = remotecall_eval(Main, procs[i], g) + di[:check_result] = remotecall_eval(Main, procs[i], h) + + remotecall_eval(Main, 1, quote + procs = $procs + Distributed.rmprocs(procs[$i]) + end) + res = post(di, x) + push!(results.tables, res |> to_table) + if !(devop && i == len) + push!(results.pkgs, pkgs[i]) end - results + + end + + return results +end + +macro check(x, d, block1, block2) + block1, block2 = Expr(:quote, block1), Expr(:quote, block2) + quote + x = $(esc(x)) + d = $(esc(d)) + check_function(x, d, $block1, $block2) end end diff --git a/src/versions.jl b/src/versions.jl index 4d78dc9..ee8f43c 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -72,8 +72,13 @@ function arrange_major(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) return maxo ? [maximum(p)] : [minimum(p)] end -function arrange_custom(a::VersionNumber, ::Vector{VersionNumber}, ::Bool) - return [a] +function arrange_custom(a::VersionNumber, v::Vector{VersionNumber}, ::Bool) + return if a in v + [a] + else + @warn "Version $a not found" + return Vector{VersionNumber}() + end end function get_versions(pkgconf::VerConfig, regname::Union{Nothing, Vector{String}} = nothing) From f79f036ecdb4784bd90f741a301d3944628aa636 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Fri, 17 May 2024 19:43:49 +0900 Subject: [PATCH 50/67] Add Malt... --- Project.toml | 8 +++++--- src/PerfChecker.jl | 2 +- src/check.jl | 25 +++++++++---------------- 3 files changed, 15 insertions(+), 20 deletions(-) diff --git a/Project.toml b/Project.toml index 54fafa0..8544943 100644 --- a/Project.toml +++ b/Project.toml @@ -10,6 +10,7 @@ CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +Malt = "36869731-bdee-424d-aa32-cab38c994e3b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" @@ -17,23 +18,24 @@ TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" [weakdeps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" +Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" [extensions] BenchmarkToolsExt = "BenchmarkTools" -ChairmarksExt = "Chairmarks" CSVExt = "CSV" +ChairmarksExt = "Chairmarks" MakieExt = "Makie" [compat] BenchmarkTools = "1.5" +CSV = "0.10" Chairmarks = "1" CoverageTools = "1" CpuId = "0.3.1" -CSV = "0.10" Makie = "0.21" +Malt = "1.1.1" TypedTables = "1" julia = "1" diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 337f99b..75e84e3 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -6,7 +6,7 @@ using Pkg.Types import TOML: parse using Profile import TypedTables: Table -import Distributed: remotecall_fetch, addprocs, rmprocs, remotecall_eval, remotecall_wait +import Malt: remote_eval, Worker, remote_eval_fetch, stop, fetch import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core diff --git a/src/check.jl b/src/check.jl index 9c10ae6..d40bf24 100644 --- a/src/check.jl +++ b/src/check.jl @@ -50,23 +50,19 @@ function check_function(x::Symbol, d::Dict, block1, block2) t = [tempname() for _ in 1:len] cp.(Ref(di[:path]), t) - procs = remotecall_eval(Main, 1, quote - d = $di - import Distributed - Distributed.addprocs($len; exeflags=["--track-allocation=$(d[:track])", "-t $(d[:threads])"]) - end) + procs = @sync begin + fetch.([@async(Worker(;exeflags=["--track-allocation=$(di[:track])", "-t $(di[:threads])", "--project=$(t[i])"])) for i in 1:len]) + end; for i in 1:len - remotecall_eval(Main, procs[i], quote + remote_eval(Main, procs[i], quote import Pkg - t = $t - Pkg.activate(t[$i]) Pkg.instantiate() end) - remotecall_eval(Main, procs[i], initpkg) + remote_eval(Main, procs[i], initpkg) - remotecall_eval(Main, procs[i], quote + remote_eval(Main, procs[i], quote d = $di pkgs = $pkgs if !($i == $len && $devop) @@ -78,13 +74,10 @@ function check_function(x::Symbol, d::Dict, block1, block2) haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) end) - di[:prep_result] = remotecall_eval(Main, procs[i], g) - di[:check_result] = remotecall_eval(Main, procs[i], h) + di[:prep_result] = remote_eval_fetch(Main, procs[i], g) + di[:check_result] = remote_eval_fetch(Main, procs[i], h) - remotecall_eval(Main, 1, quote - procs = $procs - Distributed.rmprocs(procs[$i]) - end) + stop(procs[i]) res = post(di, x) push!(results.tables, res |> to_table) From ba656969fdd42966ed58d2a70933878c45b86801 Mon Sep 17 00:00:00 2001 From: Chetan Vardhan Date: Sat, 18 May 2024 11:00:24 +0900 Subject: [PATCH 51/67] Tiny tweaks --- src/PerfChecker.jl | 2 +- src/check.jl | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 75e84e3..b7187f1 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -6,7 +6,7 @@ using Pkg.Types import TOML: parse using Profile import TypedTables: Table -import Malt: remote_eval, Worker, remote_eval_fetch, stop, fetch +import Malt: remote_eval_wait, Worker, remote_eval_fetch, stop, fetch import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core diff --git a/src/check.jl b/src/check.jl index d40bf24..ebb80e7 100644 --- a/src/check.jl +++ b/src/check.jl @@ -55,14 +55,18 @@ function check_function(x::Symbol, d::Dict, block1, block2) end; for i in 1:len - remote_eval(Main, procs[i], quote + remote_eval_wait(Main, procs[i], quote import Pkg - Pkg.instantiate() + let + i = $i + @info "Worker No.: $i" + end + Pkg.instantiate(;io=stderr) end) - remote_eval(Main, procs[i], initpkg) + remote_eval_wait(Main, procs[i], initpkg) - remote_eval(Main, procs[i], quote + remote_eval_wait(Main, procs[i], quote d = $di pkgs = $pkgs if !($i == $len && $devop) From f50798d2f6427a1e097f8965aac809aa77b7a548 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Sat, 18 May 2024 14:17:23 +0900 Subject: [PATCH 52/67] Updated project files with new tagged release of CoverageTools --- Project.toml | 3 +-- perf/PatternFolds/Project.toml | 1 - 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index 8544943..058be3b 100644 --- a/Project.toml +++ b/Project.toml @@ -8,7 +8,6 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" -Distributed = "8ba89e20-285c-5b6f-9357-94700520ee1b" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" Malt = "36869731-bdee-424d-aa32-cab38c994e3b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" @@ -32,7 +31,7 @@ MakieExt = "Makie" BenchmarkTools = "1.5" CSV = "0.10" Chairmarks = "1" -CoverageTools = "1" +CoverageTools = "1.3.1" CpuId = "0.3.1" Makie = "0.21" Malt = "1.1.1" diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index 5fa8393..5077243 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -3,7 +3,6 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" -CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" From 86f410a06edf4142d614390e4770fa2592309b36 Mon Sep 17 00:00:00 2001 From: azzaare Date: Sat, 18 May 2024 15:55:33 +0900 Subject: [PATCH 53/67] Fix a forgotten merge artifact. Rm Distributed from tests --- ext/BenchmarkToolsExt/benchmark.jl | 55 ++++++++++++++---------------- test/runtests.jl | 15 ++++---- 2 files changed, 32 insertions(+), 38 deletions(-) diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl index 22882f7..de4b45e 100644 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -1,44 +1,39 @@ function PerfChecker.default_options(::Val{:benchmark}) - return Dict( - :threads => 1, - :track => "none", - :samples => BenchmarkTools.DEFAULT_PARAMETERS.samples, - :seconds => BenchmarkTools.DEFAULT_PARAMETERS.seconds, - :evals => BenchmarkTools.DEFAULT_PARAMETERS.evals, - :overhead => BenchmarkTools.DEFAULT_PARAMETERS.overhead, - :gctrial => BenchmarkTools.DEFAULT_PARAMETERS.gctrial, - :gcsample => BenchmarkTools.DEFAULT_PARAMETERS.gcsample, - :time_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.time_tolerance, - :memory_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance - ) + return Dict( + :threads => 1, + :track => "none", + :samples => BenchmarkTools.DEFAULT_PARAMETERS.samples, + :seconds => BenchmarkTools.DEFAULT_PARAMETERS.seconds, + :evals => BenchmarkTools.DEFAULT_PARAMETERS.evals, + :overhead => BenchmarkTools.DEFAULT_PARAMETERS.overhead, + :gctrial => BenchmarkTools.DEFAULT_PARAMETERS.gctrial, + :gcsample => BenchmarkTools.DEFAULT_PARAMETERS.gcsample, + :time_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.time_tolerance, + :memory_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance + ) end -<<<<<<< HEAD -PerfChecker.initpkgs(::Val{:benchmark}) = quote using BenchmarkTools end +PerfChecker.initpkgs(::Val{:benchmark}) = quote + using BenchmarkTools +end -PerfChecker.check(d::Dict, block::Expr, ::Val{:benchmark}) = quote - d = $d - return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] -======= function PerfChecker.check(d::Dict, block::Expr, ::Val{:benchmark}) - quote - d = $d - using BenchmarkTools - return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] - end ->>>>>>> dev + quote + d = $d + return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] + end end PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote - $block - nothing + $block + nothing end PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:check_result] function PerfChecker.to_table(bench::BenchmarkTools.Trial) - ti = bench.times - l = length(ti) - return Table(times = ti, gctimes = bench.gctimes, - memory = fill(bench.memory, l), allocs = fill(bench.allocs, l)) + ti = bench.times + l = length(ti) + return Table(times = ti, gctimes = bench.gctimes, + memory = fill(bench.memory, l), allocs = fill(bench.allocs, l)) end diff --git a/test/runtests.jl b/test/runtests.jl index 695e41c..4c91e01 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,14 +1,13 @@ using Test @testset "Package tests: PerfChecker" begin - include("Aqua.jl") + include("Aqua.jl") - @testset "Other Packages" begin - using BenchmarkTools - using Distributed - using PerfChecker + @testset "Other Packages" begin + using BenchmarkTools + using PerfChecker - # include("compositional_networks.jl") - include("pattern_folds.jl") - end + # include("compositional_networks.jl") + include("pattern_folds.jl") + end end From 23d8039776122c84107d7843243dbac90d05b2c4 Mon Sep 17 00:00:00 2001 From: azzaare Date: Mon, 20 May 2024 17:35:44 +0900 Subject: [PATCH 54/67] Fix spell and format --- ext/BenchmarkToolsExt/benchmark.jl | 46 ++++---- ext/ChairmarksExt/b.jl | 4 +- ext/MakieExt/allocs.jl | 111 ++++++++++--------- ext/MakieExt/bench.jl | 68 ++++++------ ext/MakieExt/plotutils.jl | 32 +++--- perf/PatternFolds/allocs.jl | 44 ++++---- perf/PatternFolds/bench.jl | 4 +- perf/PatternFolds/chair.jl | 34 +++--- src/PerfChecker.jl | 52 ++++----- src/alloc.jl | 2 +- src/check.jl | 172 ++++++++++++++--------------- src/versions.jl | 112 +++++++++---------- test/runtests.jl | 14 +-- 13 files changed, 351 insertions(+), 344 deletions(-) diff --git a/ext/BenchmarkToolsExt/benchmark.jl b/ext/BenchmarkToolsExt/benchmark.jl index de4b45e..bc1571f 100644 --- a/ext/BenchmarkToolsExt/benchmark.jl +++ b/ext/BenchmarkToolsExt/benchmark.jl @@ -1,39 +1,39 @@ function PerfChecker.default_options(::Val{:benchmark}) - return Dict( - :threads => 1, - :track => "none", - :samples => BenchmarkTools.DEFAULT_PARAMETERS.samples, - :seconds => BenchmarkTools.DEFAULT_PARAMETERS.seconds, - :evals => BenchmarkTools.DEFAULT_PARAMETERS.evals, - :overhead => BenchmarkTools.DEFAULT_PARAMETERS.overhead, - :gctrial => BenchmarkTools.DEFAULT_PARAMETERS.gctrial, - :gcsample => BenchmarkTools.DEFAULT_PARAMETERS.gcsample, - :time_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.time_tolerance, - :memory_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance - ) + return Dict( + :threads => 1, + :track => "none", + :samples => BenchmarkTools.DEFAULT_PARAMETERS.samples, + :seconds => BenchmarkTools.DEFAULT_PARAMETERS.seconds, + :evals => BenchmarkTools.DEFAULT_PARAMETERS.evals, + :overhead => BenchmarkTools.DEFAULT_PARAMETERS.overhead, + :gctrial => BenchmarkTools.DEFAULT_PARAMETERS.gctrial, + :gcsample => BenchmarkTools.DEFAULT_PARAMETERS.gcsample, + :time_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.time_tolerance, + :memory_tolerance => BenchmarkTools.DEFAULT_PARAMETERS.memory_tolerance + ) end PerfChecker.initpkgs(::Val{:benchmark}) = quote - using BenchmarkTools + using BenchmarkTools end function PerfChecker.check(d::Dict, block::Expr, ::Val{:benchmark}) - quote - d = $d - return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] - end + quote + d = $d + return @benchmark $block samples=d[:samples] seconds=d[:seconds] evals=d[:evals] overhead=d[:overhead] gctrial=d[:gctrial] gcsample=d[:gcsample] time_tolerance=d[:time_tolerance] memory_tolerance=d[:memory_tolerance] + end end PerfChecker.prep(::Dict, block::Expr, ::Val{:benchmark}) = quote - $block - nothing + $block + nothing end PerfChecker.post(d::Dict, ::Val{:benchmark}) = d[:check_result] function PerfChecker.to_table(bench::BenchmarkTools.Trial) - ti = bench.times - l = length(ti) - return Table(times = ti, gctimes = bench.gctimes, - memory = fill(bench.memory, l), allocs = fill(bench.allocs, l)) + ti = bench.times + l = length(ti) + return Table(times = ti, gctimes = bench.gctimes, + memory = fill(bench.memory, l), allocs = fill(bench.allocs, l)) end diff --git a/ext/ChairmarksExt/b.jl b/ext/ChairmarksExt/b.jl index e340f1a..292e9a9 100644 --- a/ext/ChairmarksExt/b.jl +++ b/ext/ChairmarksExt/b.jl @@ -9,7 +9,9 @@ function PerfChecker.default_options(::Val{:chairmark}) ) end -PerfChecker.initpkgs(::Val{:chairmark}) = quote using Chairmarks end +PerfChecker.initpkgs(::Val{:chairmark}) = quote + using Chairmarks +end function PerfChecker.check(d::Dict, block::Expr, ::Val{:chairmark}) quote diff --git a/ext/MakieExt/allocs.jl b/ext/MakieExt/allocs.jl index 2fe79fa..2436a12 100644 --- a/ext/MakieExt/allocs.jl +++ b/ext/MakieExt/allocs.jl @@ -1,64 +1,65 @@ function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") - data = x.bytes - paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) - percentage = data .* 100 ./ sum(data) - colors = make_colors(length(percentage)) - str = isempty(pkg_name) ? "" : " for $pkg_name" - f, ax, _ = pie( - data; - axis = (autolimitaspect = 1,), - color = colors, - inner_radius = 2, - radius = 4, - strokecolor = :white, - strokewidth = 5 - ) - ax.title = "Mallocs$str" - hidedecorations!(ax) - hidespines!(ax) - Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) - return f + data = x.bytes + paths = smart_paths(x.filenames)[2] .* " — line " .* string.(x.linenumbers) + percentage = data .* 100 ./ sum(data) + colors = make_colors(length(percentage)) + str = isempty(pkg_name) ? "" : " for $pkg_name" + f, ax, _ = pie( + data; + axis = (autolimitaspect = 1,), + color = colors, + inner_radius = 2, + radius = 4, + strokecolor = :white, + strokewidth = 5 + ) + ax.title = "Mallocs$str" + hidedecorations!(ax) + hidespines!(ax) + Legend(f[1, 2], [PolyElement(color = c) for c in colors], paths) + return f end function PerfChecker.checkres_to_pie(x::PerfChecker.CheckerResult, ::Val{:alloc}) - end -function PerfChecker.checkres_to_scatterlines(x::PerfChecker.CheckerResult, ::Val{:alloc}; title = "") - di = Dict() - for i in eachindex(x.tables) - j = x.tables[i] - p = x.pkgs[i] - u = unique(j.filenames) - paths = smart_paths(u)[2] - for k in eachindex(u) - if haskey(di, paths[k]) - push!(di[paths[k]], (sum(j.bytes[j.filenames .== u[k]]), p.version)) - else - di[paths[k]] = [(sum(j.bytes[j.filenames .== u[k]]), p.version)] - end - end - end +function PerfChecker.checkres_to_scatterlines( + x::PerfChecker.CheckerResult, ::Val{:alloc}; title = "") + di = Dict() + for i in eachindex(x.tables) + j = x.tables[i] + p = x.pkgs[i] + u = unique(j.filenames) + paths = smart_paths(u)[2] + for k in eachindex(u) + if haskey(di, paths[k]) + push!(di[paths[k]], (sum(j.bytes[j.filenames .== u[k]]), p.version)) + else + di[paths[k]] = [(sum(j.bytes[j.filenames .== u[k]]), p.version)] + end + end + end - versions = Dict() - for i in eachindex(x.pkgs) - versions[x.pkgs[i].version] = i - end + versions = Dict() + for i in eachindex(x.pkgs) + versions[x.pkgs[i].version] = i + end - versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] - f = Figure() - ax = Axis(f[1, 1]) - ax.xticks = (eachindex(versionnums), string.(versionnums)) - ax.xlabel = "versions" - ax.ylabel = "bytes" - colors = make_colors(length(keys(di))) - i = 1 - for (keys, values) in di - xs = [values[i][1] for i in eachindex(values)] - ys = [versions[values[i][2]] for i in eachindex(values)] - scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 - end - ax.title = x.pkgs[1].name - Legend(f[1,2], ax) - return f + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + f = Figure() + ax = Axis(f[1, 1]) + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "bytes" + colors = make_colors(length(keys(di))) + i = 1 + for (keys, values) in di + xs = [values[i][1] for i in eachindex(values)] + ys = [versions[values[i][2]] for i in eachindex(values)] + scatterlines!(f[1, 1], ys, xs, label = keys, color = (colors[i], 0.6)) + i += 1 + end + ax.title = x.pkgs[1].name + Legend(f[1, 2], ax) + return f end diff --git a/ext/MakieExt/bench.jl b/ext/MakieExt/bench.jl index a6e6e54..8d5505d 100644 --- a/ext/MakieExt/bench.jl +++ b/ext/MakieExt/bench.jl @@ -1,42 +1,44 @@ -function PerfChecker.checkres_to_scatterlines(x::PerfChecker.CheckerResult, ::Val{:benchmark}) +function PerfChecker.checkres_to_scatterlines( + x::PerfChecker.CheckerResult, ::Val{:benchmark}) println("Hello!") @warn "Here!" end -function PerfChecker.checkres_to_boxplots(x::PerfChecker.CheckerResult, ::Val{:benchmark}; kwarg = :times) - di = Dict() - data = [] - #for i in eachindex(x.tables) - #j = x.tables[i] - #p = x.pkgs[i] - #g = getproperties(j[i], (kwargs,)) - #g = [g[k][1] for k in eachindex(g)] - #push!((fill(i, length(g)), g)) - #end +function PerfChecker.checkres_to_boxplots( + x::PerfChecker.CheckerResult, ::Val{:benchmark}; kwarg = :times) + di = Dict() + data = [] + #for i in eachindex(x.tables) + #j = x.tables[i] + #p = x.pkgs[i] + #g = getproperties(j[i], (kwargs,)) + #g = [g[k][1] for k in eachindex(g)] + #push!((fill(i, length(g)), g)) + #end #= w = getproperties(j[1], (:allocs,)) - versions = Dict() - for i in eachindex(x.pkgs) - versions[x.pkgs[i].version] = i - end + versions = Dict() + for i in eachindex(x.pkgs) + versions[x.pkgs[i].version] = i + end - versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] - f = Figure() - ax = Axis(f[1, 1]) - ax.xticks = (eachindex(versionnums), string.(versionnums)) - ax.xlabel = "versions" - ax.ylabel = "bytes" - colors = make_colors(length(keys(di))) - i = 1 - for (keys, values) in di - xs = [values[i][1] for i in eachindex(values)] - ys = [versions[values[i][2]] for i in eachindex(values)] - scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 - end - ax.title = x.pkgs[1].name - Legend(f[1,2], ax) - return f - =# - return data + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + f = Figure() + ax = Axis(f[1, 1]) + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "bytes" + colors = make_colors(length(keys(di))) + i = 1 + for (keys, values) in di + xs = [values[i][1] for i in eachindex(values)] + ys = [versions[values[i][2]] for i in eachindex(values)] + scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 + end + ax.title = x.pkgs[1].name + Legend(f[1,2], ax) + return f + =# + return data end diff --git a/ext/MakieExt/plotutils.jl b/ext/MakieExt/plotutils.jl index 073c4fe..a28a4f3 100644 --- a/ext/MakieExt/plotutils.jl +++ b/ext/MakieExt/plotutils.jl @@ -1,24 +1,24 @@ function make_colors(l) - Makie.distinguishable_colors( - l, [Makie.RGB(1, 1, 1), Makie.RGB(0, 0, 0)], dropseed = true) + Makie.distinguishable_colors( + l, [Makie.RGB(1, 1, 1), Makie.RGB(0, 0, 0)], dropseed = true) end function smart_paths(paths) - splitted_paths = map(splitpath ∘ normpath, paths) + split_paths = map(splitpath ∘ normpath, paths) - common = paths |> first |> dirname |> splitpath - for path in splitted_paths - to_pop = length(common) - for name in Iterators.zip(common, path) - name[1] == name[2] || break - to_pop -= 1 - end - foreach(_ -> pop!(common), 1:to_pop) - end + common = paths |> first |> dirname |> splitpath + for path in split_paths + to_pop = length(common) + for name in Iterators.zip(common, path) + name[1] == name[2] || break + to_pop -= 1 + end + foreach(_ -> pop!(common), 1:to_pop) + end - for path in splitted_paths - foreach(_ -> popfirst!(path), 1:length(common)) - end + for path in split_paths + foreach(_ -> popfirst!(path), 1:length(common)) + end - return joinpath(common...), map(joinpath, splitted_paths) + return joinpath(common...), map(joinpath, split_paths) end diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 83e4a94..662eebf 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,41 +1,41 @@ using PerfChecker, CairoMakie d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) + :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) x = @check :alloc d begin - using PatternFolds + using PatternFolds end begin - itv = Interval{Open, Closed}(0.0, 1.0) - i = IntervalsFold(itv, 2.0, 1000) + itv = Interval{Open, Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) - @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) + @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) - unfold(i) - collect(i) - reverse(collect(i)) + unfold(i) + collect(i) + reverse(collect(i)) - # Vectors - vf = make_vector_fold([0, 1], 2, 1000) - @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) - unfold(vf) - collect(vf) - reverse(collect(vf)) + unfold(vf) + collect(vf) + reverse(collect(vf)) - rand(vf, 1000) + rand(vf, 1000) end @info x for (i, t) in enumerate(x.tables) - p = d[:pkgs] - @info "debug" p[1] p[2] p[3] p[4] - mkpath("perf/PatternFolds/output") - display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) - path = joinpath( - pwd(), "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) - @info path + p = d[:pkgs] + @info "debug" p[1] p[2] p[3] p[4] + mkpath("perf/PatternFolds/output") + display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) + path = joinpath( + d[:path], "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) + @info path end # checkres_to_scatterlines(x, Val(:alloc)) diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index b53b5d8..abe211b 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -1,6 +1,8 @@ using PerfChecker, BenchmarkTools, CairoMakie -d = Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, :tags => [:patterns, :intervals], :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) +d = Dict(:path => @__DIR__, :evals => 1, :samples => 100, + :seconds => 100, :tags => [:patterns, :intervals], + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) t = @check :benchmark d begin using PatternFolds diff --git a/perf/PatternFolds/chair.jl b/perf/PatternFolds/chair.jl index 23ab67a..a1a1934 100644 --- a/perf/PatternFolds/chair.jl +++ b/perf/PatternFolds/chair.jl @@ -1,32 +1,32 @@ using PerfChecker, Chairmarks d = Dict(:path => @__DIR__, :evals => 1, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) t = @check :chairmark d begin - using PatternFolds + using PatternFolds end begin - # Intervals - itv = Interval{Open, Closed}(0.0, 1.0) - i = IntervalsFold(itv, 2.0, 1000) + # Intervals + itv = Interval{Open, Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) - unfold(i) - collect(i) - reverse(collect(i)) + unfold(i) + collect(i) + reverse(collect(i)) - # rand(i, 1000) + # rand(i, 1000) - # Vectors - vf = make_vector_fold([0, 1], 2, 1000) - # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds (vf) length(vf) + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds (vf) length(vf) - unfold(vf) - collect(vf) - reverse(collect(vf)) + unfold(vf) + collect(vf) + reverse(collect(vf)) - rand(vf, 1000) + rand(vf, 1000) - return nothing + return nothing end @info t diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index b7187f1..d30acaa 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -12,50 +12,50 @@ import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core struct HwInfo - cpus::Vector{CPUinfo} - machine::String - word::Int - simdbytes::Int - corecount::Tuple{Int, Int, Int} + cpus::Vector{CPUinfo} + machine::String + word::Int + simdbytes::Int + corecount::Tuple{Int, Int, Int} end struct CheckerResult - tables::Vector{Table} - hwinfo::Union{HwInfo, Nothing} - tags::Union{Nothing, Vector{Symbol}} - pkgs::Vector{PackageSpec} + tables::Vector{Table} + hwinfo::Union{HwInfo, Nothing} + tags::Union{Nothing, Vector{Symbol}} + pkgs::Vector{PackageSpec} end function Base.show(io::IO, v::PerfChecker.CheckerResult) - println(io, "Tables:") - for i in v.tables - println(io, '\t', Base.display(i)) - end + println(io, "Tables:") + for i in v.tables + println(io, '\t', Base.display(i)) + end - println(io, "Hardware Info:") - println(io, "CPU Information:") - println(io, '\t', v.hwinfo.cpus) - println(io, "Machine name: ", v.hwinfo.machine) - println(io, "Word Size: ", v.hwinfo.word) - println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) - println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) + println(io, "Hardware Info:") + println(io, "CPU Information:") + println(io, '\t', v.hwinfo.cpus) + println(io, "Machine name: ", v.hwinfo.machine) + println(io, "Word Size: ", v.hwinfo.word) + println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) + println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) - println(io, "Tags used: ", v.tags) + println(io, "Tags used: ", v.tags) - println(io, "Package versions tested (if provided): ") - println(io, Base.display(v.pkgs)) + println(io, "Package versions tested (if provided): ") + println(io, Base.display(v.pkgs)) end function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) - findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) + findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) end function csv_to_table(path) - @warn "CSV module not loaded. Please load it before using this function." + @warn "CSV module not loaded. Please load it before using this function." end function table_to_csv(t::Table, path::String) - @warn "CSV module not loaded. Please load it before using this function." + @warn "CSV module not loaded. Please load it before using this function." end # SECTION - Exports diff --git a/src/alloc.jl b/src/alloc.jl index 360025d..fdb3238 100644 --- a/src/alloc.jl +++ b/src/alloc.jl @@ -29,7 +29,7 @@ function post(d::Dict, ::Val{:alloc}) result = d[:check_result] files = find_malloc_files(result[1]) delete_files = find_malloc_files(result[2]) - myallocs = analyze_malloc_files(files; skip_zeros=true) + myallocs = analyze_malloc_files(files; skip_zeros = true) if !isempty(myallocs) rm.(delete_files) else diff --git a/src/check.jl b/src/check.jl index 63f1de6..3677b47 100644 --- a/src/check.jl +++ b/src/check.jl @@ -1,11 +1,11 @@ initpkgs(x) = quote - nothing + nothing end prep(d, b, v) = quote - nothing + nothing end check(d, b, v) = quote - nothing + nothing end post(d, v) = nothing default_options(v) = Dict() @@ -16,95 +16,95 @@ check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) post(d::Dict, v::Symbol) = post(d, Val(v)) function default_options(d::Dict, v::Symbol) - di = default_options(Val(v)) - return merge(di, d) + di = default_options(Val(v)) + return merge(di, d) end function check_function(x::Symbol, d::Dict, block1, block2) - di = default_options(d, x) - g = prep(di, block1, x) - h = check(di, block2, x) - initpkg = initpkgs(x) - - results = CheckerResult( - Table[], - HwInfo( - cpu_info(), - CPU_NAME, - WORD_SIZE, - simdbytes(), - (cpucores(), cputhreads(), cputhreads_per_core()) - ), - haskey(di, :tags) ? di[:tags] : Symbol[:none], - PackageSpec[] - ) - - pkgs = if haskey(di, :pkgs) - [PackageSpec(name = di[:pkgs][1], version = i) for i in get_versions(di[:pkgs])[2]] - else - PackageSpec[PackageSpec()] - end - - devop = haskey(di, :devops) - - len = length(pkgs) + devop - - t = [tempname() for _ in 1:len] - cp.(Ref(di[:path]), t) - - procs = @sync begin - fetch.([@async(Worker(; - exeflags = ["--track-allocation=$(di[:track])", - "-t $(di[:threads])", "--project=$(t[i])"])) for i in 1:len]) - end - - for i in 1:len - remote_eval_wait(Main, procs[i], quote - import Pkg - let - i = $i - @info "Worker No.: $i" - end - Pkg.instantiate(; io = stderr) - end) - - remote_eval_wait(Main, procs[i], initpkg) - - remote_eval_wait(Main, procs[i], - quote - d = $di - pkgs = $pkgs - if !($i == $len && $devop) - pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) - else - pkg = d[:devops] - pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) - end - haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) - end) - - di[:prep_result] = remote_eval_fetch(Main, procs[i], g) - di[:check_result] = remote_eval_fetch(Main, procs[i], h) - - stop(procs[i]) - - res = post(di, x) - push!(results.tables, res |> to_table) - if !(devop && i == len) - push!(results.pkgs, pkgs[i]) - end - end - - return results + di = default_options(d, x) + g = prep(di, block1, x) + h = check(di, block2, x) + initpkg = initpkgs(x) + + results = CheckerResult( + Table[], + HwInfo( + cpu_info(), + CPU_NAME, + WORD_SIZE, + simdbytes(), + (cpucores(), cputhreads(), cputhreads_per_core()) + ), + haskey(di, :tags) ? di[:tags] : Symbol[:none], + PackageSpec[] + ) + + pkgs = if haskey(di, :pkgs) + [PackageSpec(name = di[:pkgs][1], version = i) for i in get_versions(di[:pkgs])[2]] + else + PackageSpec[PackageSpec()] + end + + devop = haskey(di, :devops) + + len = length(pkgs) + devop + + t = [tempname() for _ in 1:len] + cp.(Ref(di[:path]), t) + + procs = @sync begin + fetch.([@async(Worker(; + exeflags = ["--track-allocation=$(di[:track])", + "-t $(di[:threads])", "--project=$(t[i])"])) for i in 1:len]) + end + + for i in 1:len + remote_eval_wait(Main, procs[i], quote + import Pkg + let + i = $i + @info "Worker No.: $i" + end + Pkg.instantiate(; io = stderr) + end) + + remote_eval_wait(Main, procs[i], initpkg) + + remote_eval_wait(Main, procs[i], + quote + d = $di + pkgs = $pkgs + if !($i == $len && $devop) + pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) + else + pkg = d[:devops] + pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) + end + haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) + end) + + di[:prep_result] = remote_eval_fetch(Main, procs[i], g) + di[:check_result] = remote_eval_fetch(Main, procs[i], h) + + stop(procs[i]) + + res = post(di, x) + push!(results.tables, res |> to_table) + if !(devop && i == len) + push!(results.pkgs, pkgs[i]) + end + end + + return results end macro check(x, d, block1, block2) - block1, block2 = Expr(:quote, block1), Expr(:quote, block2) - quote - x = $(esc(x)) - d = $(esc(d)) - check_function(x, d, $block1, $block2) - end + block1, block2 = Expr(:quote, block1), Expr(:quote, block2) + quote + x = $(esc(x)) + d = $(esc(d)) + check_function(x, d, $block1, $block2) + end end function perf_table end diff --git a/src/versions.jl b/src/versions.jl index 8587827..7d08b48 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -16,18 +16,18 @@ julia> get_pkg_versions("ConstraintLearning") ``` """ function get_pkg_versions(name::String, - regname::Union{Nothing, Vector{String}} = nothing)::Vector{VersionNumber} - regs = Types.Context().registries - indexes = isnothing(regname) ? collect(1:length(regs)) : - findall(x -> x.name in regname, regs) + regname::Union{Nothing, Vector{String}} = nothing)::Vector{VersionNumber} + regs = Types.Context().registries + indexes = isnothing(regname) ? collect(1:length(regs)) : + findall(x -> x.name in regname, regs) - versions::Set{String} = Set([]) - for i in indexes - push!(versions, - keys(parse(regs[i].in_memory_registry[join( - [first(name), name, "Versions.toml"], '/')]))...) - end - return VersionNumber.(versions) + versions::Set{String} = Set([]) + for i in indexes + push!(versions, + keys(parse(regs[i].in_memory_registry[join( + [first(name), name, "Versions.toml"], '/')]))...) + end + return VersionNumber.(versions) end const VerConfig = Tuple{String, Symbol, Vector{VersionNumber}, Bool} @@ -36,71 +36,71 @@ const VerConfig = Tuple{String, Symbol, Vector{VersionNumber}, Bool} Outputs the last patch or first patch of a version. """ function arrange_patches(a::VersionNumber, v::Vector{VersionNumber}, ::Bool) - a = filter(x -> a.minor == x.minor && a.major == x.major, v) - if isempty(a) - @warn "No matching version found" - return Vector{VersionNumber}() - end - return a + a = filter(x -> a.minor == x.minor && a.major == x.major, v) + if isempty(a) + @warn "No matching version found" + return Vector{VersionNumber}() + end + return a end function arrange_minor(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - p = filter(x -> a.major == x.major && a.minor == x.minor, v) - if isempty(p) - @warn "No matching version found" - return Vector{VersionNumber}() - end - return maxo ? [maximum(p)] : [minimum(p)] + p = filter(x -> a.major == x.major && a.minor == x.minor, v) + if isempty(p) + @warn "No matching version found" + return Vector{VersionNumber}() + end + return maxo ? [maximum(p)] : [minimum(p)] end """ Outputs the last breaking or next breaking version. """ function arrange_breaking(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - if a.major == 0 - return arrange_minor(a, v, maxo) - else - return arrange_major(a, v, maxo) - end + if a.major == 0 + return arrange_minor(a, v, maxo) + else + return arrange_major(a, v, maxo) + end end """ Outputs the earlier or next major version. """ function arrange_major(a::VersionNumber, v::Vector{VersionNumber}, maxo::Bool) - p = filter(x -> a.major == x.major, v) - if isempty(p) - @warn "No matching version found" - return Vector{VersionNumber}() - end - return maxo ? [maximum(p)] : [minimum(p)] + p = filter(x -> a.major == x.major, v) + if isempty(p) + @warn "No matching version found" + return Vector{VersionNumber}() + end + return maxo ? [maximum(p)] : [minimum(p)] end function arrange_custom(a::VersionNumber, v::Vector{VersionNumber}, ::Bool) - return if a in v - [a] - else - @warn "Version $a not found" - return Vector{VersionNumber}() - end + return if a in v + [a] + else + @warn "Version $a not found" + return Vector{VersionNumber}() + end end function get_versions(pkgconf::VerConfig, regname::Union{Nothing, Vector{String}} = nothing) - versions = get_pkg_versions(pkgconf[1], regname) + versions = get_pkg_versions(pkgconf[1], regname) - s = pkgconf[2] - f = if s == :patches - arrange_patches - elseif s == :breaking - arrange_breaking - elseif s == :major - arrange_major - elseif s == :minor - arrange_minor - elseif s == :custom - arrange_custom - else - error("Unknown option provided $s") - end - return pkgconf[1], Iterators.flatten(map(x -> f(x, versions, pkgconf[4]), pkgconf[3])) + s = pkgconf[2] + f = if s == :patches + arrange_patches + elseif s == :breaking + arrange_breaking + elseif s == :major + arrange_major + elseif s == :minor + arrange_minor + elseif s == :custom + arrange_custom + else + error("Unknown option provided $s") + end + return pkgconf[1], Iterators.flatten(map(x -> f(x, versions, pkgconf[4]), pkgconf[3])) end diff --git a/test/runtests.jl b/test/runtests.jl index 4c91e01..d2c33cb 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,13 +1,13 @@ using Test @testset "Package tests: PerfChecker" begin - include("Aqua.jl") + include("Aqua.jl") - @testset "Other Packages" begin - using BenchmarkTools - using PerfChecker + @testset "Other Packages" begin + using BenchmarkTools + using PerfChecker - # include("compositional_networks.jl") - include("pattern_folds.jl") - end + # include("compositional_networks.jl") + include("pattern_folds.jl") + end end From 4727ae365c8d62408883c550d2d3b4f25ce3ec8c Mon Sep 17 00:00:00 2001 From: azzaare Date: Mon, 20 May 2024 21:15:37 +0900 Subject: [PATCH 55/67] First draft for UUIDs --- src/PerfChecker.jl | 54 ++++++++++++++++++++++++---------------------- src/utils.jl | 18 ++++++++++++++++ 2 files changed, 46 insertions(+), 26 deletions(-) create mode 100644 src/utils.jl diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index d30acaa..76752e0 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -10,52 +10,53 @@ import Malt: remote_eval_wait, Worker, remote_eval_fetch, stop, fetch import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core +import UUIDs: uuid4 struct HwInfo - cpus::Vector{CPUinfo} - machine::String - word::Int - simdbytes::Int - corecount::Tuple{Int, Int, Int} + cpus::Vector{CPUinfo} + machine::String + word::Int + simdbytes::Int + corecount::Tuple{Int, Int, Int} end struct CheckerResult - tables::Vector{Table} - hwinfo::Union{HwInfo, Nothing} - tags::Union{Nothing, Vector{Symbol}} - pkgs::Vector{PackageSpec} + tables::Vector{Table} + hwinfo::Union{HwInfo, Nothing} + tags::Union{Nothing, Vector{Symbol}} + pkgs::Vector{PackageSpec} end function Base.show(io::IO, v::PerfChecker.CheckerResult) - println(io, "Tables:") - for i in v.tables - println(io, '\t', Base.display(i)) - end + println(io, "Tables:") + for i in v.tables + println(io, '\t', Base.display(i)) + end - println(io, "Hardware Info:") - println(io, "CPU Information:") - println(io, '\t', v.hwinfo.cpus) - println(io, "Machine name: ", v.hwinfo.machine) - println(io, "Word Size: ", v.hwinfo.word) - println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) - println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) + println(io, "Hardware Info:") + println(io, "CPU Information:") + println(io, '\t', v.hwinfo.cpus) + println(io, "Machine name: ", v.hwinfo.machine) + println(io, "Word Size: ", v.hwinfo.word) + println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) + println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) - println(io, "Tags used: ", v.tags) + println(io, "Tags used: ", v.tags) - println(io, "Package versions tested (if provided): ") - println(io, Base.display(v.pkgs)) + println(io, "Package versions tested (if provided): ") + println(io, Base.display(v.pkgs)) end function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) - findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) + findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) end function csv_to_table(path) - @warn "CSV module not loaded. Please load it before using this function." + @warn "CSV module not loaded. Please load it before using this function." end function table_to_csv(t::Table, path::String) - @warn "CSV module not loaded. Please load it before using this function." + @warn "CSV module not loaded. Please load it before using this function." end # SECTION - Exports @@ -72,6 +73,7 @@ export table_to_csv export checkres_to_boxplots # SECTION - Includes +include("utils.jl") include("versions.jl") include("check.jl") include("alloc.jl") diff --git a/src/utils.jl b/src/utils.jl new file mode 100644 index 0000000..e6560b3 --- /dev/null +++ b/src/utils.jl @@ -0,0 +1,18 @@ +function filename(d::Dict; extension = "") + p = d[:pkgs] + versions = join(map(x -> "v" * x, p[3]), "-") + return join([p[1], versions, extension][1:(end - isempty(extension))], "_") +end + +function get_uuid() + path = joinpath(Base.Sys.DEPOT_PATH[1], "perfchecker", "uuid") + if isfile(path) + return read(path, String) + else + u = UUIDs.uuid4() + write(path, u) + return u + end +end + +# const UUID = From 12ef66c8ca798b8114e116d89a5d07cf237d1a60 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 21 May 2024 14:20:58 +0900 Subject: [PATCH 56/67] Tmp save for output --- Project.toml | 2 ++ perf/metadata.csv | 1 + src/PerfChecker.jl | 45 ++++--------------------------- src/checker_results.jl | 30 +++++++++++++++++++++ src/hwinfo.jl | 60 ++++++++++++++++++++++++++++++++++++++++++ src/init.jl | 25 ++++++++++++++++++ src/utils.jl | 39 +++++++++++++++++---------- 7 files changed, 148 insertions(+), 54 deletions(-) create mode 100644 perf/metadata.csv create mode 100644 src/checker_results.jl create mode 100644 src/hwinfo.jl create mode 100644 src/init.jl diff --git a/Project.toml b/Project.toml index e75d326..6a72ee8 100644 --- a/Project.toml +++ b/Project.toml @@ -6,11 +6,13 @@ version = "0.2.0" [deps] CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" +JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" Malt = "36869731-bdee-424d-aa32-cab38c994e3b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" Profile = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" TOML = "fa267f1f-6049-4f14-aa54-33bafae1ed76" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" +UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [weakdeps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" diff --git a/perf/metadata.csv b/perf/metadata.csv new file mode 100644 index 0000000..ee4aa07 --- /dev/null +++ b/perf/metadata.csv @@ -0,0 +1 @@ +allocs_PatternFolds_custom_0.2.3_0.2.2_true_patterns_intervals,5127efed-559a-4a70-bf8d-b207aa7da41a \ No newline at end of file diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 76752e0..b737c6b 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -10,46 +10,8 @@ import Malt: remote_eval_wait, Worker, remote_eval_fetch, stop, fetch import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core -import UUIDs: uuid4 - -struct HwInfo - cpus::Vector{CPUinfo} - machine::String - word::Int - simdbytes::Int - corecount::Tuple{Int, Int, Int} -end - -struct CheckerResult - tables::Vector{Table} - hwinfo::Union{HwInfo, Nothing} - tags::Union{Nothing, Vector{Symbol}} - pkgs::Vector{PackageSpec} -end - -function Base.show(io::IO, v::PerfChecker.CheckerResult) - println(io, "Tables:") - for i in v.tables - println(io, '\t', Base.display(i)) - end - - println(io, "Hardware Info:") - println(io, "CPU Information:") - println(io, '\t', v.hwinfo.cpus) - println(io, "Machine name: ", v.hwinfo.machine) - println(io, "Word Size: ", v.hwinfo.word) - println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) - println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) - - println(io, "Tags used: ", v.tags) - - println(io, "Package versions tested (if provided): ") - println(io, Base.display(v.pkgs)) -end - -function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) - findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) -end +import UUIDs: uuid4, uuid5 +import JSON function csv_to_table(path) @warn "CSV module not loaded. Please load it before using this function." @@ -73,6 +35,9 @@ export table_to_csv export checkres_to_boxplots # SECTION - Includes +include("init.jl") +include("hwinfo.jl") +include("checker_results.jl") include("utils.jl") include("versions.jl") include("check.jl") diff --git a/src/checker_results.jl b/src/checker_results.jl new file mode 100644 index 0000000..229ee8d --- /dev/null +++ b/src/checker_results.jl @@ -0,0 +1,30 @@ +struct CheckerResult + tables::Vector{Table} + hwinfo::Union{HwInfo, Nothing} + tags::Union{Nothing, Vector{Symbol}} + pkgs::Vector{PackageSpec} +end + +function Base.show(io::IO, v::PerfChecker.CheckerResult) + println(io, "Tables:") + for i in v.tables + println(io, '\t', Base.display(i)) + end + + println(io, "Hardware Info:") + println(io, "CPU Information:") + println(io, '\t', v.hwinfo.cpus) + println(io, "Machine name: ", v.hwinfo.machine) + println(io, "Word Size: ", v.hwinfo.word) + println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) + println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) + + println(io, "Tags used: ", v.tags) + + println(io, "Package versions tested (if provided): ") + println(io, Base.display(v.pkgs)) +end + +function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) + findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) +end diff --git a/src/hwinfo.jl b/src/hwinfo.jl new file mode 100644 index 0000000..7e2b761 --- /dev/null +++ b/src/hwinfo.jl @@ -0,0 +1,60 @@ +struct HwInfo + cpus::Vector{CPUinfo} + machine::String + word::Int + simdbytes::Int + corecount::Tuple{Int, Int, Int} +end +function HwInfo() + cc = (cpucores(), cputhreads(), cputhreads_per_core()) + new(cpu_info(), CPU_NAME, WORD_SIZE, simdbytes(), cc) +end + +# Function to convert HwInfo to a dictionary for JSON serialization +function hwinfo_to_dict(hwinfo::HwInfo) + return Dict( + "cpus" => hwinfo.cpus, + "machine" => hwinfo.machine, + "word" => hwinfo.word, + "simdbytes" => hwinfo.simdbytes, + "corecount" => hwinfo.corecount + ) +end + +# Function to write HwInfo and UUID to a JSON file +function write_hwinfo_to_json(hwinfo::HwInfo, u::UUID; path::String = "") + filename = joinpath(path, "$(u).json") + hwinfo_dict = hwinfo_to_dict(hwinfo) + hwinfo_dict["uuid"] = string(u) + + # Write to the JSON file + open(filename, "w") do io + JSON.print(io, hwinfo_dict) + end +end + +# Helper function to convert a dictionary back to CPUinfo +function dict_to_cpuinfo(dict::Dict) + return CPUinfo( + dict["model"], dict["speed"], dict["cpu_times!user"], dict["cpu_times!nice"], + dict["cpu_times!sys"], dict["cpu_times!idle"], dict["cpu_times!irq"]) +end + +# Function to load HwInfo from a JSON file +function load_hwinfo_from_json(filepath::String) + if !isfile(filepath) + error("File $filepath does not exist.") + end + + data = JSON.parsefile(filepath) + + cpus = [dict_to_cpuinfo(cpu) for cpu in data["cpus"]] + + HwInfo( + cpus, + data["machine"], + data["word"], + data["simdbytes"], + (data["corecount"][1], data["corecount"][2], data["corecount"][3]) + ) +end diff --git a/src/init.jl b/src/init.jl new file mode 100644 index 0000000..e308852 --- /dev/null +++ b/src/init.jl @@ -0,0 +1,25 @@ +function __init__() + # If the UUID is not set in the environment ... + if !haskey(ENV, "PERFCHECKER_UUID") + @info "PERFCHECKER_UUID not set in the environment. Looking for it ..." + # ... read it from the file ... + path = joinpath(Base.Sys.DEPOT_PATH[1], "perfchecker", "uuid") + ENV["PERFCHECKER_UUID"] = if isfile(path) + @info "... found it in $path." + UUID(read(path, UInt128)) + else # or generate a new one and write it to the file + u = uuid4() + str = """ + ... not found. Generating a new one and writing it to $path. + Please set it in the environment, `ENV["PerfChecker_UUID"] = "your_UUID"`, if you want to use a specific one. + \t`PerfChecker.get_uuid()`: $u + """ + @warn str + mkpath(dirname(path)) + open(path, "w") do f + write(f, u.value) + end + u + end + end +end diff --git a/src/utils.jl b/src/utils.jl index e6560b3..0377c7e 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -1,18 +1,29 @@ -function filename(d::Dict; extension = "") - p = d[:pkgs] - versions = join(map(x -> "v" * x, p[3]), "-") - return join([p[1], versions, extension][1:(end - isempty(extension))], "_") +get_uuid() = ENV["PERFCHECKER_UUID"] + +function flatten_parameters(x::Symbol, d::Dict) + pkgs = d[:pkgs] + tags = d[:tags] + return vcat([x, pkgs[1], pkgs[2]], pkgs[3], [pkgs[4]], tags) end -function get_uuid() - path = joinpath(Base.Sys.DEPOT_PATH[1], "perfchecker", "uuid") - if isfile(path) - return read(path, String) - else - u = UUIDs.uuid4() - write(path, u) - return u - end +function file_uuid(x::Symbol, d::Dict) + return uuid5(get_uuid() |> Base.UUID, join(flatten_parameters(x, d), "_")) +end + +function filename(x::Symbol, d::Dict, ext::AbstractString) + return "$(file_uuid(x, d)).$ext" end -# const UUID = +function check_to_metadata(x::Symbol, d::Dict; metadata = "") + fp = join(flatten_parameters(x, d), "_") + u = get_uuid() |> Base.UUID + + if !isempty(metadata) + !isfile(metadata) && mkpath(dirname(metadata)) + open(metadata, "a") do f + write(f, string(join(flatten_parameters(x, d), "_"), ",", u, "\n")) + end + end + + return fp, u +end From 23c19f310278f566073a7797320dc4e58b2ad70f Mon Sep 17 00:00:00 2001 From: Chetan Vardhan <51269425+VarLad@users.noreply.github.com> Date: Tue, 21 May 2024 17:15:21 +0900 Subject: [PATCH 57/67] Add support for scatterlines and boxplots for Chairmarks and BenchmarkTools (#42) Add more plots and make devops work --- ext/MakieExt/MakieExt.jl | 1 + ext/MakieExt/bench.jl | 76 +++++++++++++++++++++++--------------- ext/MakieExt/chair.jl | 61 ++++++++++++++++++++++++++++++ perf/PatternFolds/bench.jl | 7 +++- perf/PatternFolds/chair.jl | 7 +++- src/check.jl | 5 +++ 6 files changed, 123 insertions(+), 34 deletions(-) create mode 100644 ext/MakieExt/chair.jl diff --git a/ext/MakieExt/MakieExt.jl b/ext/MakieExt/MakieExt.jl index 1b8f704..02de7f6 100644 --- a/ext/MakieExt/MakieExt.jl +++ b/ext/MakieExt/MakieExt.jl @@ -7,5 +7,6 @@ using PerfChecker include("plotutils.jl") include("allocs.jl") include("bench.jl") +include("chair.jl") end diff --git a/ext/MakieExt/bench.jl b/ext/MakieExt/bench.jl index 8d5505d..d75307d 100644 --- a/ext/MakieExt/bench.jl +++ b/ext/MakieExt/bench.jl @@ -1,44 +1,60 @@ function PerfChecker.checkres_to_scatterlines( x::PerfChecker.CheckerResult, ::Val{:benchmark}) - println("Hello!") - @warn "Here!" + data = [] + props = TypedTables.columnnames(x.tables[1]) + for i in eachindex(x.tables) + t = x.tables[i] + m = [map(TypedTables.GetProperty{i}(), t) for i in props] + g = minimum.(m) + push!(data, g) + end + + d = [[data[i][j] for i in eachindex(data)] for j in eachindex(data[1])] + r = minimum.(d) + + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + + f = Figure() + ax = f[1, 1] = Axis(f) + colors = make_colors(length(props)) + max = 2 + for i in eachindex(data[1]) + xs = collect(eachindex(versionnums)) + ys = d[i] ./ r[i] + if max < maximum(ys) + max = maximum(ys) + end + scatterlines!(xs, ys, label = string(props[i]), color = (colors[i], 0.4)) + end + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "ratio" + ax.title = "Evolution for $(x.pkgs[1].name) (via BenchmarkTools.jl)" + ylims!(; low = 0, high = max) + axislegend() + return f end function PerfChecker.checkres_to_boxplots( - x::PerfChecker.CheckerResult, ::Val{:benchmark}; kwarg = :times) - di = Dict() - data = [] - #for i in eachindex(x.tables) - #j = x.tables[i] - #p = x.pkgs[i] - #g = getproperties(j[i], (kwargs,)) - #g = [g[k][1] for k in eachindex(g)] - #push!((fill(i, length(g)), g)) - #end + x::PerfChecker.CheckerResult, ::Val{:benchmark}; kwarg::Symbol = :times) + datax, datay = [], [] - #= - w = getproperties(j[1], (:allocs,)) - versions = Dict() - for i in eachindex(x.pkgs) - versions[x.pkgs[i].version] = i + for i in eachindex(x.tables) + j = x.tables[i] + p = x.pkgs[i] + g = map(TypedTables.GetProperty{kwarg}(), j) + append!(datax, fill(i, length(g))) + append!(datay, g) end - versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] f = Figure() - ax = Axis(f[1, 1]) + ax = f[1, 1] = Axis(f) ax.xticks = (eachindex(versionnums), string.(versionnums)) ax.xlabel = "versions" - ax.ylabel = "bytes" - colors = make_colors(length(keys(di))) - i = 1 - for (keys, values) in di - xs = [values[i][1] for i in eachindex(values)] - ys = [versions[values[i][2]] for i in eachindex(values)] - scatterlines!(f[1,1], ys, xs, label = keys, color = (colors[i], 0.6)); i += 1 - end + ax.ylabel = string(kwarg) + boxplot!(datax, datay, label = string(kwarg)) ax.title = x.pkgs[1].name - Legend(f[1,2], ax) + axislegend() return f - =# - return data end diff --git a/ext/MakieExt/chair.jl b/ext/MakieExt/chair.jl new file mode 100644 index 0000000..a7a9b03 --- /dev/null +++ b/ext/MakieExt/chair.jl @@ -0,0 +1,61 @@ +function PerfChecker.checkres_to_scatterlines( + x::PerfChecker.CheckerResult, ::Val{:chairmark}) + data = [] + props = TypedTables.columnnames(x.tables[1]) + for i in eachindex(x.tables) + t = x.tables[i] + m = [map(TypedTables.GetProperty{i}(), t) for i in props] + g = minimum.(m) + push!(data, g) + end + + d = [[data[i][j] for i in eachindex(data)] for j in eachindex(data[1])] + r = minimum.(d) + + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + + f = Figure() + ax = f[1, 1] = Axis(f) + colors = make_colors(length(props)) + max = 2 + for i in eachindex(data[1]) + xs = collect(eachindex(versionnums)) + ys = d[i] ./ r[i] + if max < maximum(ys) + max = maximum(ys) + end + scatterlines!(xs, ys, label = string(props[i]), color = (colors[i], 0.4)) + end + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = "ratio" + ax.title = "Evolution for $(x.pkgs[1].name) (via Chairmarks.jl)" + ylims!(; low = 0, high = max) + axislegend() + return f +end + +function PerfChecker.checkres_to_boxplots( + x::PerfChecker.CheckerResult, ::Val{:chairmark}; kwarg::Symbol = :times) + di = Dict() + datax, datay = [], [] + + for i in eachindex(x.tables) + j = x.tables[i] + p = x.pkgs[i] + g = map(TypedTables.GetProperty{kwarg}(), j) + append!(datax, fill(i, length(g))) + append!(datay, g) + end + + versionnums = [x.pkgs[i].version for i in eachindex(x.pkgs)] + f = Figure() + ax = f[1, 1] = Axis(f) + ax.xticks = (eachindex(versionnums), string.(versionnums)) + ax.xlabel = "versions" + ax.ylabel = string(kwarg) + boxplot!(datax, datay, label = string(kwarg)) + ax.title = x.pkgs[1].name + axislegend() + return f +end diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index abe211b..02ec96b 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -2,7 +2,8 @@ using PerfChecker, BenchmarkTools, CairoMakie d = Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true), + :devops => "PatternFolds") t = @check :benchmark d begin using PatternFolds @@ -32,4 +33,6 @@ end @info t -#@info checkres_to_boxplots(t, Val(:benchmark)) +checkres_to_boxplots(t, Val(:benchmark)) +c = checkres_to_scatterlines(t, Val(:benchmark)) +save(joinpath(homedir(), "ubab.png"), c) diff --git a/perf/PatternFolds/chair.jl b/perf/PatternFolds/chair.jl index a1a1934..b8d6254 100644 --- a/perf/PatternFolds/chair.jl +++ b/perf/PatternFolds/chair.jl @@ -1,7 +1,7 @@ -using PerfChecker, Chairmarks +using PerfChecker, Chairmarks, CairoMakie d = Dict(:path => @__DIR__, :evals => 1, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true), :devops => "PatternFolds") t = @check :chairmark d begin using PatternFolds @@ -30,3 +30,6 @@ end begin end @info t +checkres_to_boxplots(t, Val(:chairmark)) +c = checkres_to_scatterlines(t, Val(:chairmark)) +save(joinpath(homedir(), "ubac.png"), c) diff --git a/src/check.jl b/src/check.jl index 3677b47..424792e 100644 --- a/src/check.jl +++ b/src/check.jl @@ -92,6 +92,11 @@ function check_function(x::Symbol, d::Dict, block1, block2) push!(results.tables, res |> to_table) if !(devop && i == len) push!(results.pkgs, pkgs[i]) + else + pkg = d[:devops] + p = pkg isa Tuple ? pkg[1] : pkg + p = p isa Pkg.PackageSpec ? p.name : p + push!(results.pkgs, Pkg.PackageSpec(name = p, version = "dev")) end end From 2a547e042d4ab4799dba6dcc3dd20bc8c8babc13 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 21 May 2024 17:19:06 +0900 Subject: [PATCH 58/67] Trying to make CSV ext save tables --- .gitignore | 2 +- ext/CSVExt/CSVExt.jl | 5 + perf/PatternFolds/allocs.jl | 46 ++++----- perf/metadata.csv | 1 - src/PerfChecker.jl | 5 +- src/check.jl | 184 +++++++++++++++++++----------------- src/utils.jl | 36 ++++--- 7 files changed, 153 insertions(+), 126 deletions(-) delete mode 100644 perf/metadata.csv diff --git a/.gitignore b/.gitignore index 7c2ddb6..9f8d11d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ *.jl.*.cov *.jl.cov -*.jl.mem +*.jl.*.mem *Manifest.toml /docs/build/ diff --git a/ext/CSVExt/CSVExt.jl b/ext/CSVExt/CSVExt.jl index b77bf99..52fc3e5 100644 --- a/ext/CSVExt/CSVExt.jl +++ b/ext/CSVExt/CSVExt.jl @@ -7,4 +7,9 @@ table_to_csv(t::Table, path::String) = CSV.write(path, t) csv_to_table(path::String) = CSV.read(path, Table) +function check_to_metadata_csv( + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") + check_to_metadata(x, pkg, version, tags; metadata) +end + end diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 662eebf..7b6e287 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,41 +1,41 @@ -using PerfChecker, CairoMakie +using PerfChecker, CairoMakie, CSV d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) + :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) x = @check :alloc d begin - using PatternFolds + using PatternFolds end begin - itv = Interval{Open, Closed}(0.0, 1.0) - i = IntervalsFold(itv, 2.0, 1000) + itv = Interval{Open, Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) - @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) + @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) - unfold(i) - collect(i) - reverse(collect(i)) + unfold(i) + collect(i) + reverse(collect(i)) - # Vectors - vf = make_vector_fold([0, 1], 2, 1000) - @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) - unfold(vf) - collect(vf) - reverse(collect(vf)) + unfold(vf) + collect(vf) + reverse(collect(vf)) - rand(vf, 1000) + rand(vf, 1000) end @info x for (i, t) in enumerate(x.tables) - p = d[:pkgs] - @info "debug" p[1] p[2] p[3] p[4] - mkpath("perf/PatternFolds/output") - display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) - path = joinpath( - d[:path], "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) - @info path + p = d[:pkgs] + @info "debug" p[1] p[2] p[3] p[4] + mkpath("perf/PatternFolds/output") + display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) + path = joinpath( + d[:path], "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) + @info path end # checkres_to_scatterlines(x, Val(:alloc)) diff --git a/perf/metadata.csv b/perf/metadata.csv deleted file mode 100644 index ee4aa07..0000000 --- a/perf/metadata.csv +++ /dev/null @@ -1 +0,0 @@ -allocs_PatternFolds_custom_0.2.3_0.2.2_true_patterns_intervals,5127efed-559a-4a70-bf8d-b207aa7da41a \ No newline at end of file diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index b737c6b..609630e 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -14,11 +14,11 @@ import UUIDs: uuid4, uuid5 import JSON function csv_to_table(path) - @warn "CSV module not loaded. Please load it before using this function." + # @warn "CSV module not loaded. Please load it before using this function." end function table_to_csv(t::Table, path::String) - @warn "CSV module not loaded. Please load it before using this function." + # @warn "CSV module not loaded. Please load it before using this function." end # SECTION - Exports @@ -33,6 +33,7 @@ export saveplot export csv_to_table export table_to_csv export checkres_to_boxplots +export check_to_metadata_csv # SECTION - Includes include("init.jl") diff --git a/src/check.jl b/src/check.jl index 3677b47..6cc37f5 100644 --- a/src/check.jl +++ b/src/check.jl @@ -1,11 +1,11 @@ initpkgs(x) = quote - nothing + nothing end prep(d, b, v) = quote - nothing + nothing end check(d, b, v) = quote - nothing + nothing end post(d, v) = nothing default_options(v) = Dict() @@ -16,95 +16,107 @@ check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) post(d::Dict, v::Symbol) = post(d, Val(v)) function default_options(d::Dict, v::Symbol) - di = default_options(Val(v)) - return merge(di, d) + di = default_options(Val(v)) + return merge(di, d) end function check_function(x::Symbol, d::Dict, block1, block2) - di = default_options(d, x) - g = prep(di, block1, x) - h = check(di, block2, x) - initpkg = initpkgs(x) - - results = CheckerResult( - Table[], - HwInfo( - cpu_info(), - CPU_NAME, - WORD_SIZE, - simdbytes(), - (cpucores(), cputhreads(), cputhreads_per_core()) - ), - haskey(di, :tags) ? di[:tags] : Symbol[:none], - PackageSpec[] - ) - - pkgs = if haskey(di, :pkgs) - [PackageSpec(name = di[:pkgs][1], version = i) for i in get_versions(di[:pkgs])[2]] - else - PackageSpec[PackageSpec()] - end - - devop = haskey(di, :devops) - - len = length(pkgs) + devop - - t = [tempname() for _ in 1:len] - cp.(Ref(di[:path]), t) - - procs = @sync begin - fetch.([@async(Worker(; - exeflags = ["--track-allocation=$(di[:track])", - "-t $(di[:threads])", "--project=$(t[i])"])) for i in 1:len]) - end - - for i in 1:len - remote_eval_wait(Main, procs[i], quote - import Pkg - let - i = $i - @info "Worker No.: $i" - end - Pkg.instantiate(; io = stderr) - end) - - remote_eval_wait(Main, procs[i], initpkg) - - remote_eval_wait(Main, procs[i], - quote - d = $di - pkgs = $pkgs - if !($i == $len && $devop) - pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) - else - pkg = d[:devops] - pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) - end - haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) - end) - - di[:prep_result] = remote_eval_fetch(Main, procs[i], g) - di[:check_result] = remote_eval_fetch(Main, procs[i], h) - - stop(procs[i]) - - res = post(di, x) - push!(results.tables, res |> to_table) - if !(devop && i == len) - push!(results.pkgs, pkgs[i]) - end - end - - return results + di = default_options(d, x) + g = prep(di, block1, x) + h = check(di, block2, x) + initpkg = initpkgs(x) + + results = CheckerResult( + Table[], + HwInfo( + cpu_info(), + CPU_NAME, + WORD_SIZE, + simdbytes(), + (cpucores(), cputhreads(), cputhreads_per_core()) + ), + haskey(di, :tags) ? di[:tags] : Symbol[:none], + PackageSpec[] + ) + + pkgs = if haskey(di, :pkgs) + [PackageSpec(name = di[:pkgs][1], version = i) for i in get_versions(di[:pkgs])[2]] + else + PackageSpec[PackageSpec()] + end + + devop = haskey(di, :devops) + + len = length(pkgs) + devop + + t = [tempname() for _ in 1:len] + cp.(Ref(di[:path]), t) + + procs = @sync begin + fetch.([@async(Worker(; + exeflags = ["--track-allocation=$(di[:track])", + "-t $(di[:threads])", "--project=$(t[i])"])) for i in 1:len]) + end + + for i in 1:len + remote_eval_wait(Main, procs[i], quote + import Pkg + let + i = $i + @info "Worker No.: $i" + end + Pkg.instantiate(; io = stderr) + end) + + remote_eval_wait(Main, procs[i], initpkg) + + remote_eval_wait(Main, procs[i], + quote + d = $di + pkgs = $pkgs + if !($i == $len && $devop) + pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) + else + pkg = d[:devops] + pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) + end + haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) + end) + + di[:prep_result] = remote_eval_fetch(Main, procs[i], g) + di[:check_result] = remote_eval_fetch(Main, procs[i], h) + + stop(procs[i]) + + res = post(di, x) + push!(results.tables, res |> to_table) + if !(devop && i == len) + push!(results.pkgs, pkgs[i]) + end + end + + for (k, t) in enumerate(results.tables) + tags = results.tags + ps = results.pkgs[k] + pkg = ps.name + v = ps.version + name = filename(x, pkg, v, tags; ext = "csv") + path = joinpath(d[:path], "output", name) + table_to_csv(t, path) + name = joinpath(d[:path], "metadata", "metadata.csv") + check_to_metadata_csv(x, pkg, v, tags; metadata = name) + end + + return results end macro check(x, d, block1, block2) - block1, block2 = Expr(:quote, block1), Expr(:quote, block2) - quote - x = $(esc(x)) - d = $(esc(d)) - check_function(x, d, $block1, $block2) - end + block1, block2 = Expr(:quote, block1), Expr(:quote, block2) + quote + x = $(esc(x)) + d = $(esc(d)) + check_function(x, d, $block1, $block2) + end end function perf_table end diff --git a/src/utils.jl b/src/utils.jl index 0377c7e..3bbd3e1 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -1,29 +1,39 @@ get_uuid() = ENV["PERFCHECKER_UUID"] -function flatten_parameters(x::Symbol, d::Dict) - pkgs = d[:pkgs] - tags = d[:tags] - return vcat([x, pkgs[1], pkgs[2]], pkgs[3], [pkgs[4]], tags) +function flatten_parameters( + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}) + return join(vcat([x, pkg, string("v", version)], tags), "_") end -function file_uuid(x::Symbol, d::Dict) - return uuid5(get_uuid() |> Base.UUID, join(flatten_parameters(x, d), "_")) +function file_uuid( + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}) + return uuid5(get_uuid() |> Base.UUID, flatten_parameters(x, pkg, version, tags)) end -function filename(x::Symbol, d::Dict, ext::AbstractString) - return "$(file_uuid(x, d)).$ext" +function filename(x::Symbol, pkg::AbstractString, version, + tags::Vector{Symbol}; ext::AbstractString) + return "$(file_uuid(x, pkg, version, tags)).$ext" end -function check_to_metadata(x::Symbol, d::Dict; metadata = "") - fp = join(flatten_parameters(x, d), "_") +function check_to_metadata( + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") + fp = flatten_parameters(x, pkg, version, tags) u = get_uuid() |> Base.UUID if !isempty(metadata) - !isfile(metadata) && mkpath(dirname(metadata)) - open(metadata, "a") do f - write(f, string(join(flatten_parameters(x, d), "_"), ",", u, "\n")) + if !isfile(metadata) + mkpath(dirname(metadata)) + open(metadata, "a") do f + write(f, string(flatten_parameters(x, pkg, version, tags), ",", u, "\n")) + end end end return fp, u end + +function check_to_metadata_csv( + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") + @info "should not be here" + return nothing +end From e5f8e3584ff798c5a5fab0273e15f9e69fe4508a Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 28 May 2024 08:23:44 +0000 Subject: [PATCH 59/67] Fix output and medata as csv --- Project.toml | 10 +- ext/CSVExt/CSVExt.jl | 15 -- perf/PatternFolds/Project.toml | 1 + perf/PatternFolds/allocs.jl | 48 ++-- perf/PatternFolds/metadata/metadata.csv | 2 + .../300280de-258c-52ff-ac69-4bbbbb93d570.csv | 5 + .../d67e26e8-2a3a-5155-989c-29aac013e915.csv | 5 + src/PerfChecker.jl | 40 ++- src/check.jl | 231 ++++++++++-------- src/csv.jl | 11 + src/utils.jl | 49 ++-- src/versions.jl | 2 +- test/Aqua.jl | 2 +- 13 files changed, 227 insertions(+), 194 deletions(-) delete mode 100644 ext/CSVExt/CSVExt.jl create mode 100644 perf/PatternFolds/metadata/metadata.csv create mode 100644 perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv create mode 100644 perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv create mode 100644 src/csv.jl diff --git a/Project.toml b/Project.toml index 6a72ee8..6378696 100644 --- a/Project.toml +++ b/Project.toml @@ -6,6 +6,7 @@ version = "0.2.0" [deps] CoverageTools = "c36e975a-824b-4404-a568-ef97ca766997" CpuId = "adafc99b-e345-5852-983c-f28acb93d879" +CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" JSON = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" Malt = "36869731-bdee-424d-aa32-cab38c994e3b" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" @@ -16,24 +17,23 @@ UUIDs = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" [weakdeps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" [extensions] BenchmarkToolsExt = "BenchmarkTools" -CSVExt = "CSV" ChairmarksExt = "Chairmarks" MakieExt = "Makie" [compat] -BenchmarkTools = "1.5" +BenchmarkTools = "1" CSV = "0.10" Chairmarks = "1" CoverageTools = "1.3.1" -CpuId = "0.3.1" +CpuId = "0.3" +JSON = "0.21" Makie = "0.21" -Malt = "1.1.1" +Malt = "1" TypedTables = "1" julia = "1.9" diff --git a/ext/CSVExt/CSVExt.jl b/ext/CSVExt/CSVExt.jl deleted file mode 100644 index 52fc3e5..0000000 --- a/ext/CSVExt/CSVExt.jl +++ /dev/null @@ -1,15 +0,0 @@ -module CSVExt - -using CSV -import TypedTables: Table - -table_to_csv(t::Table, path::String) = CSV.write(path, t) - -csv_to_table(path::String) = CSV.read(path, Table) - -function check_to_metadata_csv( - x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") - check_to_metadata(x, pkg, version, tags; metadata) -end - -end diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index 5077243..973d4ea 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -3,6 +3,7 @@ BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" +Coverage = "a2441757-f6aa-5fb2-8edb-039e3f45d037" PatternFolds = "c18a7f1d-76ad-4ce4-950d-5419b888513b" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" TypedTables = "9d95f2ec-7b3d-5a63-8d20-e2491e220bb9" diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 7b6e287..9149e1c 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,41 +1,41 @@ using PerfChecker, CairoMakie, CSV d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.3", v"0.2.2"], true)) + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) x = @check :alloc d begin - using PatternFolds + using PatternFolds end begin - itv = Interval{Open, Closed}(0.0, 1.0) - i = IntervalsFold(itv, 2.0, 1000) + itv = Interval{Open, Closed}(0.0, 1.0) + i = IntervalsFold(itv, 2.0, 1000) - @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) + @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) - unfold(i) - collect(i) - reverse(collect(i)) + unfold(i) + collect(i) + reverse(collect(i)) - # Vectors - vf = make_vector_fold([0, 1], 2, 1000) - @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) + # Vectors + vf = make_vector_fold([0, 1], 2, 1000) + @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) - unfold(vf) - collect(vf) - reverse(collect(vf)) + unfold(vf) + collect(vf) + reverse(collect(vf)) - rand(vf, 1000) + rand(vf, 1000) end @info x -for (i, t) in enumerate(x.tables) - p = d[:pkgs] - @info "debug" p[1] p[2] p[3] p[4] - mkpath("perf/PatternFolds/output") - display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) - path = joinpath( - d[:path], "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) - @info path -end +# for (i, t) in enumerate(x.tables) +# p = d[:pkgs] +# @info "debug" p[1] p[2] p[3] p[4] +# mkpath("perf/PatternFolds/output") +# display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) +# path = joinpath( +# d[:path], "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) +# @info path +# end # checkres_to_scatterlines(x, Val(:alloc)) diff --git a/perf/PatternFolds/metadata/metadata.csv b/perf/PatternFolds/metadata/metadata.csv new file mode 100644 index 0000000..5a76da5 --- /dev/null +++ b/perf/PatternFolds/metadata/metadata.csv @@ -0,0 +1,2 @@ +alloc_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +alloc_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 diff --git a/perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv b/perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv new file mode 100644 index 0000000..ce70501 --- /dev/null +++ b/perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv @@ -0,0 +1,5 @@ +bytes,percentage,filenames,linenumbers +16128,97.49,/home/baffier/.julia/packages/PatternFolds/3DAei/src/vector.jl,87 +320,1.93,/home/baffier/.julia/packages/PatternFolds/3DAei/src/vector.jl,19 +48,0.29,/home/baffier/.julia/packages/PatternFolds/3DAei/src/intervals.jl,32 +48,0.29,/home/baffier/.julia/packages/PatternFolds/3DAei/src/common.jl,100 diff --git a/perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv b/perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv new file mode 100644 index 0000000..2630dd1 --- /dev/null +++ b/perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv @@ -0,0 +1,5 @@ +bytes,percentage,filenames,linenumbers +16128,97.49,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/vector.jl,87 +320,1.93,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/vector.jl,19 +48,0.29,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/intervals.jl,32 +48,0.29,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/common.jl,100 diff --git a/src/PerfChecker.jl b/src/PerfChecker.jl index 609630e..572ac49 100644 --- a/src/PerfChecker.jl +++ b/src/PerfChecker.jl @@ -1,45 +1,39 @@ module PerfChecker # SECTION - Imports -using Pkg -using Pkg.Types -import TOML: parse -using Profile -import TypedTables: Table -import Malt: remote_eval_wait, Worker, remote_eval_fetch, stop, fetch -import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import Base.Sys: CPUinfo, CPU_NAME, cpu_info, WORD_SIZE +import CoverageTools: analyze_malloc_files, find_malloc_files, MallocInfo import CpuId: simdbytes, cpucores, cputhreads, cputhreads_per_core -import UUIDs: uuid4, uuid5 +import CSV import JSON - -function csv_to_table(path) - # @warn "CSV module not loaded. Please load it before using this function." -end - -function table_to_csv(t::Table, path::String) - # @warn "CSV module not loaded. Please load it before using this function." -end +import Malt: remote_eval_wait, Worker, remote_eval_fetch, stop, fetch +import Pkg +import Pkg.Types: PackageSpec, Context +import Profile +import TOML: parse +import TypedTables: Table +import UUIDs: UUID, uuid4, uuid5 # SECTION - Exports export @check -export to_table -export find_by_tags -export get_versions -export table_to_pie +export check_to_metadata_csv +export checkres_to_boxplots export checkres_to_pie export checkres_to_scatterlines -export saveplot export csv_to_table +export find_by_tags +export get_versions +export saveplot export table_to_csv -export checkres_to_boxplots -export check_to_metadata_csv +export table_to_pie +export to_table # SECTION - Includes include("init.jl") include("hwinfo.jl") include("checker_results.jl") include("utils.jl") +include("csv.jl") include("versions.jl") include("check.jl") include("alloc.jl") diff --git a/src/check.jl b/src/check.jl index bfa8113..e17b0ff 100644 --- a/src/check.jl +++ b/src/check.jl @@ -1,11 +1,11 @@ initpkgs(x) = quote - nothing + nothing end prep(d, b, v) = quote - nothing + nothing end check(d, b, v) = quote - nothing + nothing end post(d, v) = nothing default_options(v) = Dict() @@ -16,112 +16,137 @@ check(d::Dict, b::Expr, v::Symbol) = check(d, b, Val(v)) post(d::Dict, v::Symbol) = post(d, Val(v)) function default_options(d::Dict, v::Symbol) - di = default_options(Val(v)) - return merge(di, d) + di = default_options(Val(v)) + return merge(di, d) end function check_function(x::Symbol, d::Dict, block1, block2) - di = default_options(d, x) - g = prep(di, block1, x) - h = check(di, block2, x) - initpkg = initpkgs(x) - - results = CheckerResult( - Table[], - HwInfo( - cpu_info(), - CPU_NAME, - WORD_SIZE, - simdbytes(), - (cpucores(), cputhreads(), cputhreads_per_core()) - ), - haskey(di, :tags) ? di[:tags] : Symbol[:none], - PackageSpec[] - ) - - pkgs = if haskey(di, :pkgs) - [PackageSpec(name = di[:pkgs][1], version = i) for i in get_versions(di[:pkgs])[2]] - else - PackageSpec[PackageSpec()] - end - - devop = haskey(di, :devops) - - len = length(pkgs) + devop - - t = [tempname() for _ in 1:len] - cp.(Ref(di[:path]), t) - - procs = @sync begin - fetch.([@async(Worker(; - exeflags = ["--track-allocation=$(di[:track])", - "-t $(di[:threads])", "--project=$(t[i])"])) for i in 1:len]) - end - - for i in 1:len - remote_eval_wait(Main, procs[i], quote - import Pkg - let - i = $i - @info "Worker No.: $i" - end - Pkg.instantiate(; io = stderr) - end) - - remote_eval_wait(Main, procs[i], initpkg) - - remote_eval_wait(Main, procs[i], - quote - d = $di - pkgs = $pkgs - if !($i == $len && $devop) - pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) - else - pkg = d[:devops] - pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) - end - haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) - end) - - di[:prep_result] = remote_eval_fetch(Main, procs[i], g) - di[:check_result] = remote_eval_fetch(Main, procs[i], h) - - stop(procs[i]) - - res = post(di, x) - push!(results.tables, res |> to_table) - if !(devop && i == len) - push!(results.pkgs, pkgs[i]) - else - pkg = d[:devops] - p = pkg isa Tuple ? pkg[1] : pkg - p = p isa Pkg.PackageSpec ? p.name : p - push!(results.pkgs, Pkg.PackageSpec(name = p, version = "dev")) - end - end - - for (k, t) in enumerate(results.tables) - tags = results.tags - ps = results.pkgs[k] - pkg = ps.name - v = ps.version - name = filename(x, pkg, v, tags; ext = "csv") - path = joinpath(d[:path], "output", name) - table_to_csv(t, path) - name = joinpath(d[:path], "metadata", "metadata.csv") - check_to_metadata_csv(x, pkg, v, tags; metadata = name) - end - - return results + di = default_options(d, x) + g = prep(di, block1, x) + h = check(di, block2, x) + initpkg = initpkgs(x) + + results = CheckerResult( + Table[], + HwInfo( + cpu_info(), + CPU_NAME, + WORD_SIZE, + simdbytes(), + (cpucores(), cputhreads(), cputhreads_per_core()) + ), + haskey(di, :tags) ? di[:tags] : Symbol[:none], + PackageSpec[] + ) + + pkgs = if haskey(di, :pkgs) + [PackageSpec(name = di[:pkgs][1], version = i) for i in get_versions(di[:pkgs])[2]] + else + PackageSpec[PackageSpec()] + end + + devop = haskey(di, :devops) + + len = length(pkgs) + devop + + t = [tempname() for _ in 1:len] + cp.(Ref(di[:path]), t) + + procs = @sync begin + fetch.([@async(Worker(; + exeflags = ["--track-allocation=$(di[:track])", + "-t $(di[:threads])", "--project=$(t[i])"])) for i in 1:len]) + end + + for i in 1:len + is_loaded = false + if i ≤ length(pkgs) + path = joinpath(di[:path], "metadata", "metadata.csv") + fp = flatten_parameters(x, pkgs[i].name, pkgs[i].version, d[:tags]) + u = get_uuid() |> Base.UUID + if in_metadata(path, fp, u) + is_loaded = true + end + end + + if !is_loaded + remote_eval_wait(Main, procs[i], quote + import Pkg + let + i = $i + @info "Worker No.: $i" + end + Pkg.instantiate(; io = stderr) + end) + + remote_eval_wait(Main, procs[i], initpkg) + + remote_eval_wait(Main, procs[i], + quote + d = $di + pkgs = $pkgs + if !($i == $len && $devop) + pkgs != [Pkg.PackageSpec()] && Pkg.add(getindex(pkgs, $i)) + else + pkg = d[:devops] + pkg isa Tuple ? Pkg.develop(pkg[1]; pkg[2]...) : Pkg.develop(pkg) + end + haskey(d, :extra_pkgs) && Pkg.add(d[:extra_pkgs]) + end) + + di[:prep_result] = remote_eval_fetch(Main, procs[i], g) + di[:check_result] = remote_eval_fetch(Main, procs[i], h) + + stop(procs[i]) + end + + res = if is_loaded + fp = flatten_parameters(x, pkgs[i].name, pkgs[i].version, d[:tags]) + u = uuid5(get_uuid() |> Base.UUID, fp) + path = joinpath(di[:path], "output", string(u)) * ".csv" + csv_to_table(path) + else + post(di, x) |> to_table + end + push!(results.tables, res) + if !(devop && i == len) + push!(results.pkgs, pkgs[i]) + else + pkg = d[:devops] + p = pkg isa Tuple ? pkg[1] : pkg + p = p isa Pkg.PackageSpec ? p.name : p + push!(results.pkgs, Pkg.PackageSpec(name = p, version = "dev")) + end + end + + for (k, t) in enumerate(results.tables) + tags = results.tags + ps = results.pkgs[k] + pkg = ps.name + v = ps.version + isnothing(pkg) && continue + name = filename(x, pkg, v, tags; ext = "csv") + path = joinpath(d[:path], "output", name) + metadata = joinpath(d[:path], "metadata", "metadata.csv") + fp = flatten_parameters(x, pkg, v, tags) + u = get_uuid() |> Base.UUID + if in_metadata(metadata, fp, u) + continue + end + table_to_csv(t, path) + check_to_metadata_csv(x, pkg, v, tags; metadata) + end + + return results end macro check(x, d, block1, block2) - block1, block2 = Expr(:quote, block1), Expr(:quote, block2) - quote - x = $(esc(x)) - d = $(esc(d)) - check_function(x, d, $block1, $block2) - end + block1, block2 = Expr(:quote, block1), Expr(:quote, block2) + quote + x = $(esc(x)) + d = $(esc(d)) + check_function(x, d, $block1, $block2) + end end function perf_table end diff --git a/src/csv.jl b/src/csv.jl new file mode 100644 index 0000000..a12ffef --- /dev/null +++ b/src/csv.jl @@ -0,0 +1,11 @@ +function table_to_csv(t::Table, path::String) + mkpath(dirname(path)) + CSV.write(path, t) +end + +csv_to_table(path::String) = CSV.read(path, Table) + +function check_to_metadata_csv( + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") + check_to_metadata(x, pkg, version, tags; metadata) +end diff --git a/src/utils.jl b/src/utils.jl index 3bbd3e1..a805713 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -1,39 +1,44 @@ get_uuid() = ENV["PERFCHECKER_UUID"] function flatten_parameters( - x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}) - return join(vcat([x, pkg, string("v", version)], tags), "_") + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}) + return join(vcat([x, pkg, string("v", version)], tags), "_") end function file_uuid( - x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}) - return uuid5(get_uuid() |> Base.UUID, flatten_parameters(x, pkg, version, tags)) + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}) + return uuid5(get_uuid() |> Base.UUID, flatten_parameters(x, pkg, version, tags)) end function filename(x::Symbol, pkg::AbstractString, version, - tags::Vector{Symbol}; ext::AbstractString) - return "$(file_uuid(x, pkg, version, tags)).$ext" + tags::Vector{Symbol}; ext::AbstractString) + return "$(file_uuid(x, pkg, version, tags)).$ext" end function check_to_metadata( - x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") - fp = flatten_parameters(x, pkg, version, tags) - u = get_uuid() |> Base.UUID + x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") + fp = flatten_parameters(x, pkg, version, tags) + u = get_uuid() |> Base.UUID - if !isempty(metadata) - if !isfile(metadata) - mkpath(dirname(metadata)) - open(metadata, "a") do f - write(f, string(flatten_parameters(x, pkg, version, tags), ",", u, "\n")) - end - end - end + if !isempty(metadata) + f = isfile(metadata) + f || mkpath(dirname(metadata)) + if !f || !in_metadata(metadata, fp, u) + open(metadata, "a") do f + @info "Writing metada" metadata + write(f, string(fp, ",", u, "\n")) + end + end + end - return fp, u + return fp, u end -function check_to_metadata_csv( - x::Symbol, pkg::AbstractString, version, tags::Vector{Symbol}; metadata = "") - @info "should not be here" - return nothing +function in_metadata(metadata, fp, u) + isfile(metadata) && for l in eachline(metadata) + if l == string(fp, ",", u) + return true + end + end + return false end diff --git a/src/versions.jl b/src/versions.jl index 7d08b48..64cf1fb 100644 --- a/src/versions.jl +++ b/src/versions.jl @@ -17,7 +17,7 @@ julia> get_pkg_versions("ConstraintLearning") """ function get_pkg_versions(name::String, regname::Union{Nothing, Vector{String}} = nothing)::Vector{VersionNumber} - regs = Types.Context().registries + regs = Context().registries indexes = isnothing(regname) ? collect(1:length(regs)) : findall(x -> x.name in regname, regs) diff --git a/test/Aqua.jl b/test/Aqua.jl index 4affd12..228581e 100644 --- a/test/Aqua.jl +++ b/test/Aqua.jl @@ -23,7 +23,7 @@ @testset "Dependencies compatibility (no extras)" begin Aqua.test_deps_compat(PerfChecker; check_extras = false, - ignore = [:Distributed, :Pkg, :Profile, :TOML] + ignore = [:Pkg, :Profile, :TOML, :UUIDs] ) end end From 3382254336d246d78e78f957b654d04dd80acd1e Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 28 May 2024 08:26:57 +0000 Subject: [PATCH 60/67] Spelling and format --- src/checker_results.jl | 38 +++++++++++----------- src/hwinfo.jl | 74 +++++++++++++++++++++--------------------- src/init.jl | 46 +++++++++++++------------- src/utils.jl | 2 +- 4 files changed, 80 insertions(+), 80 deletions(-) diff --git a/src/checker_results.jl b/src/checker_results.jl index 229ee8d..2647fc6 100644 --- a/src/checker_results.jl +++ b/src/checker_results.jl @@ -1,30 +1,30 @@ struct CheckerResult - tables::Vector{Table} - hwinfo::Union{HwInfo, Nothing} - tags::Union{Nothing, Vector{Symbol}} - pkgs::Vector{PackageSpec} + tables::Vector{Table} + hwinfo::Union{HwInfo, Nothing} + tags::Union{Nothing, Vector{Symbol}} + pkgs::Vector{PackageSpec} end function Base.show(io::IO, v::PerfChecker.CheckerResult) - println(io, "Tables:") - for i in v.tables - println(io, '\t', Base.display(i)) - end + println(io, "Tables:") + for i in v.tables + println(io, '\t', Base.display(i)) + end - println(io, "Hardware Info:") - println(io, "CPU Information:") - println(io, '\t', v.hwinfo.cpus) - println(io, "Machine name: ", v.hwinfo.machine) - println(io, "Word Size: ", v.hwinfo.word) - println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) - println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) + println(io, "Hardware Info:") + println(io, "CPU Information:") + println(io, '\t', v.hwinfo.cpus) + println(io, "Machine name: ", v.hwinfo.machine) + println(io, "Word Size: ", v.hwinfo.word) + println(io, "SIMD Bytes: ", v.hwinfo.simdbytes) + println(io, "Core count (physical, total and threads per core): ", v.hwinfo.corecount) - println(io, "Tags used: ", v.tags) + println(io, "Tags used: ", v.tags) - println(io, "Package versions tested (if provided): ") - println(io, Base.display(v.pkgs)) + println(io, "Package versions tested (if provided): ") + println(io, Base.display(v.pkgs)) end function find_by_tags(tags::Vector{Symbol}, results::CheckerResult; exact_match = true) - findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) + findall(x -> exact_match ? (tags == x.tags) : (!isempty(x.tags ∩ tags)), results) end diff --git a/src/hwinfo.jl b/src/hwinfo.jl index 7e2b761..76ec8ab 100644 --- a/src/hwinfo.jl +++ b/src/hwinfo.jl @@ -1,60 +1,60 @@ struct HwInfo - cpus::Vector{CPUinfo} - machine::String - word::Int - simdbytes::Int - corecount::Tuple{Int, Int, Int} + cpus::Vector{CPUinfo} + machine::String + word::Int + simdbytes::Int + corecount::Tuple{Int, Int, Int} end function HwInfo() - cc = (cpucores(), cputhreads(), cputhreads_per_core()) - new(cpu_info(), CPU_NAME, WORD_SIZE, simdbytes(), cc) + cc = (cpucores(), cputhreads(), cputhreads_per_core()) + new(cpu_info(), CPU_NAME, WORD_SIZE, simdbytes(), cc) end # Function to convert HwInfo to a dictionary for JSON serialization function hwinfo_to_dict(hwinfo::HwInfo) - return Dict( - "cpus" => hwinfo.cpus, - "machine" => hwinfo.machine, - "word" => hwinfo.word, - "simdbytes" => hwinfo.simdbytes, - "corecount" => hwinfo.corecount - ) + return Dict( + "cpus" => hwinfo.cpus, + "machine" => hwinfo.machine, + "word" => hwinfo.word, + "simdbytes" => hwinfo.simdbytes, + "corecount" => hwinfo.corecount + ) end # Function to write HwInfo and UUID to a JSON file function write_hwinfo_to_json(hwinfo::HwInfo, u::UUID; path::String = "") - filename = joinpath(path, "$(u).json") - hwinfo_dict = hwinfo_to_dict(hwinfo) - hwinfo_dict["uuid"] = string(u) - - # Write to the JSON file - open(filename, "w") do io - JSON.print(io, hwinfo_dict) - end + filename = joinpath(path, "$(u).json") + hwinfo_dict = hwinfo_to_dict(hwinfo) + hwinfo_dict["uuid"] = string(u) + + # Write to the JSON file + open(filename, "w") do io + JSON.print(io, hwinfo_dict) + end end # Helper function to convert a dictionary back to CPUinfo function dict_to_cpuinfo(dict::Dict) - return CPUinfo( - dict["model"], dict["speed"], dict["cpu_times!user"], dict["cpu_times!nice"], - dict["cpu_times!sys"], dict["cpu_times!idle"], dict["cpu_times!irq"]) + return CPUinfo( + dict["model"], dict["speed"], dict["cpu_times!user"], dict["cpu_times!nice"], + dict["cpu_times!sys"], dict["cpu_times!idle"], dict["cpu_times!irq"]) end # Function to load HwInfo from a JSON file function load_hwinfo_from_json(filepath::String) - if !isfile(filepath) - error("File $filepath does not exist.") - end + if !isfile(filepath) + error("File $filepath does not exist.") + end - data = JSON.parsefile(filepath) + data = JSON.parsefile(filepath) - cpus = [dict_to_cpuinfo(cpu) for cpu in data["cpus"]] + cpus = [dict_to_cpuinfo(cpu) for cpu in data["cpus"]] - HwInfo( - cpus, - data["machine"], - data["word"], - data["simdbytes"], - (data["corecount"][1], data["corecount"][2], data["corecount"][3]) - ) + HwInfo( + cpus, + data["machine"], + data["word"], + data["simdbytes"], + (data["corecount"][1], data["corecount"][2], data["corecount"][3]) + ) end diff --git a/src/init.jl b/src/init.jl index e308852..2af61cd 100644 --- a/src/init.jl +++ b/src/init.jl @@ -1,25 +1,25 @@ function __init__() - # If the UUID is not set in the environment ... - if !haskey(ENV, "PERFCHECKER_UUID") - @info "PERFCHECKER_UUID not set in the environment. Looking for it ..." - # ... read it from the file ... - path = joinpath(Base.Sys.DEPOT_PATH[1], "perfchecker", "uuid") - ENV["PERFCHECKER_UUID"] = if isfile(path) - @info "... found it in $path." - UUID(read(path, UInt128)) - else # or generate a new one and write it to the file - u = uuid4() - str = """ - ... not found. Generating a new one and writing it to $path. - Please set it in the environment, `ENV["PerfChecker_UUID"] = "your_UUID"`, if you want to use a specific one. - \t`PerfChecker.get_uuid()`: $u - """ - @warn str - mkpath(dirname(path)) - open(path, "w") do f - write(f, u.value) - end - u - end - end + # If the UUID is not set in the environment ... + if !haskey(ENV, "PERFCHECKER_UUID") + @info "PERFCHECKER_UUID not set in the environment. Looking for it ..." + # ... read it from the file ... + path = joinpath(Base.Sys.DEPOT_PATH[1], "perfchecker", "uuid") + ENV["PERFCHECKER_UUID"] = if isfile(path) + @info "... found it in $path." + UUID(read(path, UInt128)) + else # or generate a new one and write it to the file + u = uuid4() + str = """ + ... not found. Generating a new one and writing it to $path. + Please set it in the environment, `ENV["PerfChecker_UUID"] = "your_UUID"`, if you want to use a specific one. + \t`PerfChecker.get_uuid()`: $u + """ + @warn str + mkpath(dirname(path)) + open(path, "w") do f + write(f, u.value) + end + u + end + end end diff --git a/src/utils.jl b/src/utils.jl index a805713..b3fb44d 100644 --- a/src/utils.jl +++ b/src/utils.jl @@ -25,7 +25,7 @@ function check_to_metadata( f || mkpath(dirname(metadata)) if !f || !in_metadata(metadata, fp, u) open(metadata, "a") do f - @info "Writing metada" metadata + @info "Writing metadata" metadata write(f, string(fp, ",", u, "\n")) end end From b10b057a64945c056836a6d78259d4691f30ef5d Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 28 May 2024 13:17:54 +0000 Subject: [PATCH 61/67] Updated check for devops. Run checks for GLM and PatternFolds --- perf/GLM/Project.toml | 1 + perf/GLM/README.md | 2 + perf/GLM/allocs.jl | 15 +- perf/GLM/bench.jl | 16 +- perf/GLM/benchmarks/benchmark-1.3.10.csv | 14 - perf/GLM/benchmarks/benchmark-1.3.11.csv | 13 - perf/GLM/benchmarks/benchmark-1.3.9.csv | 14 - perf/GLM/benchmarks/benchmark-1.4.0.csv | 12 - perf/GLM/benchmarks/benchmark-1.5.0.csv | 13 - perf/GLM/benchmarks/benchmark-1.6.0.csv | 13 - perf/GLM/benchmarks/benchmark-1.7.0.csv | 14 - perf/GLM/benchmarks/benchmark-1.8.0.csv | 16 - perf/GLM/benchmarks/benchmark-1.8.2.csv | 16 - perf/GLM/benchmarks/benchmark-allocs.pdf | Bin 39412 -> 0 bytes perf/GLM/benchmarks/benchmark-allocs.png | Bin 27662 -> 0 bytes perf/GLM/benchmarks/benchmark-allocs.svg | 509 --- perf/GLM/benchmarks/benchmark-allocs.tikz | 856 ---- perf/GLM/benchmarks/benchmark-evolutions.pdf | Bin 41967 -> 0 bytes perf/GLM/benchmarks/benchmark-evolutions.png | Bin 38437 -> 0 bytes perf/GLM/benchmarks/benchmark-evolutions.svg | 496 --- perf/GLM/benchmarks/benchmark-evolutions.tikz | 91 - perf/GLM/benchmarks/benchmark-gctimes.pdf | Bin 41522 -> 0 bytes perf/GLM/benchmarks/benchmark-gctimes.png | Bin 37817 -> 0 bytes perf/GLM/benchmarks/benchmark-gctimes.svg | 563 --- perf/GLM/benchmarks/benchmark-gctimes.tikz | 866 ---- perf/GLM/benchmarks/benchmark-memory.pdf | Bin 40344 -> 0 bytes perf/GLM/benchmarks/benchmark-memory.png | Bin 33245 -> 0 bytes perf/GLM/benchmarks/benchmark-memory.svg | 569 --- perf/GLM/benchmarks/benchmark-times.pdf | Bin 41051 -> 0 bytes perf/GLM/benchmarks/benchmark-times.png | Bin 36934 -> 0 bytes perf/GLM/benchmarks/benchmark-times.svg | 530 --- perf/GLM/benchmarks/benchmark-times.tikz | 869 ---- perf/GLM/chair.jl | 35 + perf/GLM/mallocs/mallocs-1.3.10.csv | 117 - perf/GLM/mallocs/mallocs-1.3.10.pdf | Bin 8326 -> 0 bytes perf/GLM/mallocs/mallocs-1.3.10.png | Bin 21197 -> 0 bytes perf/GLM/mallocs/mallocs-1.3.10.svg | 30 - perf/GLM/mallocs/mallocs-1.3.11.csv | 117 - perf/GLM/mallocs/mallocs-1.3.11.pdf | Bin 8239 -> 0 bytes perf/GLM/mallocs/mallocs-1.3.11.png | Bin 20992 -> 0 bytes perf/GLM/mallocs/mallocs-1.3.11.svg | 30 - perf/GLM/mallocs/mallocs-1.3.9.csv | 117 - perf/GLM/mallocs/mallocs-1.3.9.pdf | Bin 10582 -> 0 bytes perf/GLM/mallocs/mallocs-1.3.9.png | Bin 24892 -> 0 bytes perf/GLM/mallocs/mallocs-1.3.9.svg | 34 - perf/GLM/mallocs/mallocs-1.4.0.csv | 117 - perf/GLM/mallocs/mallocs-1.4.0.pdf | Bin 8060 -> 0 bytes perf/GLM/mallocs/mallocs-1.4.0.png | Bin 20753 -> 0 bytes perf/GLM/mallocs/mallocs-1.4.0.svg | 30 - perf/GLM/mallocs/mallocs-1.5.0.csv | 117 - perf/GLM/mallocs/mallocs-1.5.0.pdf | Bin 8207 -> 0 bytes perf/GLM/mallocs/mallocs-1.5.0.png | Bin 20899 -> 0 bytes perf/GLM/mallocs/mallocs-1.5.0.svg | 30 - perf/GLM/mallocs/mallocs-1.6.0.csv | 117 - perf/GLM/mallocs/mallocs-1.6.0.pdf | Bin 8248 -> 0 bytes perf/GLM/mallocs/mallocs-1.6.0.png | Bin 20877 -> 0 bytes perf/GLM/mallocs/mallocs-1.6.0.svg | 30 - perf/GLM/mallocs/mallocs-1.7.0.csv | 117 - perf/GLM/mallocs/mallocs-1.7.0.pdf | Bin 8034 -> 0 bytes perf/GLM/mallocs/mallocs-1.7.0.png | Bin 20720 -> 0 bytes perf/GLM/mallocs/mallocs-1.7.0.svg | 30 - perf/GLM/mallocs/mallocs-1.8.0.csv | 117 - perf/GLM/mallocs/mallocs-1.8.0.pdf | Bin 8304 -> 0 bytes perf/GLM/mallocs/mallocs-1.8.0.png | Bin 20957 -> 0 bytes perf/GLM/mallocs/mallocs-1.8.0.svg | 30 - perf/GLM/mallocs/mallocs-1.8.2.csv | 131 - perf/GLM/mallocs/mallocs-1.8.2.pdf | Bin 8334 -> 0 bytes perf/GLM/mallocs/mallocs-1.8.2.png | Bin 21066 -> 0 bytes perf/GLM/mallocs/mallocs-1.8.2.svg | 30 - perf/GLM/mallocs/mallocs-evolutions.pdf | Bin 20244 -> 0 bytes perf/GLM/mallocs/mallocs-evolutions.png | Bin 32460 -> 0 bytes perf/GLM/mallocs/mallocs-evolutions.svg | 100 - perf/GLM/metadata/metadata.csv | 18 + .../19630234-1fd5-5548-81b9-00ed04a0ffa1.csv | 4 + .../1ea7c9ef-794b-5ce7-a8b9-9489262c79a3.csv | 2 + .../30cb70cd-fe01-54d1-a160-9ae6483bfba0.csv | 3 + .../3f19ba15-584c-5fbd-8dc0-69450530f920.csv | 3 + .../56364ea1-c1ca-5179-8d17-8a6596c23fd5.csv | 2 + .../57f0d0ed-88d9-5a77-9fc6-2a8ac1ec4b2a.csv | 4 + .../5da6aec4-ec96-5e25-9621-6a41ec70b038.csv | 4 + .../71ce261a-14d2-5a83-ba9e-14accb636aaf.csv | 4 + .../7979f82a-c68e-52e3-b369-1e2c5e6cd9f0.csv | 4 + .../8f022d1c-3bc4-5d9c-b5e9-2b767c613b6b.csv | 2 + .../93ccdb17-ff91-529c-b66a-b2276e8b4c6b.csv | 2 + .../a0127336-335d-5277-ad16-adb6227c48e6.csv | 3 + .../a0fe79f5-46db-56af-90c8-3e2b7e72c372.csv | 2 + .../cb69ca9b-b7d8-5c4d-80df-e92f38fa2542.csv | 4 + .../d6c86889-e85a-5ffe-9344-2a3a1b0f0180.csv | 3 + .../e9fdbfbc-6e17-5ce2-b727-80340b4d6315.csv | 4 + .../eea87291-d957-50a0-9305-fa86e3570d62.csv | 4 + .../f4ed0729-6e1f-5aed-b029-707a6c602632.csv | 4 + perf/PatternFolds/allocs.jl | 17 +- perf/PatternFolds/bench.jl | 11 +- perf/PatternFolds/chair.jl | 11 +- perf/PatternFolds/metadata/metadata.csv | 7 + .../13136978-6b22-5cef-bec4-f5fb8e83194a.csv | 3555 ++++++++++++++++ .../300280de-258c-52ff-ac69-4bbbbb93d570.csv | 4 +- .../4ff037b1-237d-5e5b-807c-8f91da280e05.csv | 3679 +++++++++++++++++ .../69d558a3-4d56-5375-870a-f6693257a510.csv | 101 + .../881c2cfa-b3c6-53d2-ac72-f383d70050ee.csv | 5 + .../9b0009bc-cdad-52d4-91df-06842447cf61.csv | 101 + .../c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv | 101 + .../d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv | 1654 ++++++++ .../d67e26e8-2a3a-5155-989c-29aac013e915.csv | 4 +- src/check.jl | 2 +- 105 files changed, 9354 insertions(+), 6958 deletions(-) delete mode 100644 perf/GLM/benchmarks/benchmark-1.3.10.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.3.11.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.3.9.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.4.0.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.5.0.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.6.0.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.7.0.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.8.0.csv delete mode 100644 perf/GLM/benchmarks/benchmark-1.8.2.csv delete mode 100644 perf/GLM/benchmarks/benchmark-allocs.pdf delete mode 100644 perf/GLM/benchmarks/benchmark-allocs.png delete mode 100644 perf/GLM/benchmarks/benchmark-allocs.svg delete mode 100644 perf/GLM/benchmarks/benchmark-allocs.tikz delete mode 100644 perf/GLM/benchmarks/benchmark-evolutions.pdf delete mode 100644 perf/GLM/benchmarks/benchmark-evolutions.png delete mode 100644 perf/GLM/benchmarks/benchmark-evolutions.svg delete mode 100644 perf/GLM/benchmarks/benchmark-evolutions.tikz delete mode 100644 perf/GLM/benchmarks/benchmark-gctimes.pdf delete mode 100644 perf/GLM/benchmarks/benchmark-gctimes.png delete mode 100644 perf/GLM/benchmarks/benchmark-gctimes.svg delete mode 100644 perf/GLM/benchmarks/benchmark-gctimes.tikz delete mode 100644 perf/GLM/benchmarks/benchmark-memory.pdf delete mode 100644 perf/GLM/benchmarks/benchmark-memory.png delete mode 100644 perf/GLM/benchmarks/benchmark-memory.svg delete mode 100644 perf/GLM/benchmarks/benchmark-times.pdf delete mode 100644 perf/GLM/benchmarks/benchmark-times.png delete mode 100644 perf/GLM/benchmarks/benchmark-times.svg delete mode 100644 perf/GLM/benchmarks/benchmark-times.tikz create mode 100644 perf/GLM/chair.jl delete mode 100644 perf/GLM/mallocs/mallocs-1.3.10.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.3.10.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.3.10.png delete mode 100644 perf/GLM/mallocs/mallocs-1.3.10.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.3.11.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.3.11.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.3.11.png delete mode 100644 perf/GLM/mallocs/mallocs-1.3.11.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.3.9.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.3.9.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.3.9.png delete mode 100644 perf/GLM/mallocs/mallocs-1.3.9.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.4.0.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.4.0.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.4.0.png delete mode 100644 perf/GLM/mallocs/mallocs-1.4.0.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.5.0.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.5.0.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.5.0.png delete mode 100644 perf/GLM/mallocs/mallocs-1.5.0.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.6.0.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.6.0.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.6.0.png delete mode 100644 perf/GLM/mallocs/mallocs-1.6.0.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.7.0.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.7.0.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.7.0.png delete mode 100644 perf/GLM/mallocs/mallocs-1.7.0.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.8.0.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.8.0.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.8.0.png delete mode 100644 perf/GLM/mallocs/mallocs-1.8.0.svg delete mode 100644 perf/GLM/mallocs/mallocs-1.8.2.csv delete mode 100644 perf/GLM/mallocs/mallocs-1.8.2.pdf delete mode 100644 perf/GLM/mallocs/mallocs-1.8.2.png delete mode 100644 perf/GLM/mallocs/mallocs-1.8.2.svg delete mode 100644 perf/GLM/mallocs/mallocs-evolutions.pdf delete mode 100644 perf/GLM/mallocs/mallocs-evolutions.png delete mode 100644 perf/GLM/mallocs/mallocs-evolutions.svg create mode 100644 perf/GLM/metadata/metadata.csv create mode 100644 perf/GLM/output/19630234-1fd5-5548-81b9-00ed04a0ffa1.csv create mode 100644 perf/GLM/output/1ea7c9ef-794b-5ce7-a8b9-9489262c79a3.csv create mode 100644 perf/GLM/output/30cb70cd-fe01-54d1-a160-9ae6483bfba0.csv create mode 100644 perf/GLM/output/3f19ba15-584c-5fbd-8dc0-69450530f920.csv create mode 100644 perf/GLM/output/56364ea1-c1ca-5179-8d17-8a6596c23fd5.csv create mode 100644 perf/GLM/output/57f0d0ed-88d9-5a77-9fc6-2a8ac1ec4b2a.csv create mode 100644 perf/GLM/output/5da6aec4-ec96-5e25-9621-6a41ec70b038.csv create mode 100644 perf/GLM/output/71ce261a-14d2-5a83-ba9e-14accb636aaf.csv create mode 100644 perf/GLM/output/7979f82a-c68e-52e3-b369-1e2c5e6cd9f0.csv create mode 100644 perf/GLM/output/8f022d1c-3bc4-5d9c-b5e9-2b767c613b6b.csv create mode 100644 perf/GLM/output/93ccdb17-ff91-529c-b66a-b2276e8b4c6b.csv create mode 100644 perf/GLM/output/a0127336-335d-5277-ad16-adb6227c48e6.csv create mode 100644 perf/GLM/output/a0fe79f5-46db-56af-90c8-3e2b7e72c372.csv create mode 100644 perf/GLM/output/cb69ca9b-b7d8-5c4d-80df-e92f38fa2542.csv create mode 100644 perf/GLM/output/d6c86889-e85a-5ffe-9344-2a3a1b0f0180.csv create mode 100644 perf/GLM/output/e9fdbfbc-6e17-5ce2-b727-80340b4d6315.csv create mode 100644 perf/GLM/output/eea87291-d957-50a0-9305-fa86e3570d62.csv create mode 100644 perf/GLM/output/f4ed0729-6e1f-5aed-b029-707a6c602632.csv create mode 100644 perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv create mode 100644 perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv create mode 100644 perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv create mode 100644 perf/PatternFolds/output/881c2cfa-b3c6-53d2-ac72-f383d70050ee.csv create mode 100644 perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv create mode 100644 perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv create mode 100644 perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv diff --git a/perf/GLM/Project.toml b/perf/GLM/Project.toml index e9a9bea..8fc799b 100644 --- a/perf/GLM/Project.toml +++ b/perf/GLM/Project.toml @@ -1,5 +1,6 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" StatsModels = "3eaba693-59b7-5ba5-a881-562e759f1c8d" diff --git a/perf/GLM/README.md b/perf/GLM/README.md index 34ba910..550c059 100644 --- a/perf/GLM/README.md +++ b/perf/GLM/README.md @@ -2,6 +2,8 @@ `GLM.jl` is a Julia library for Generalized Linear Model. + + ### Getting Started with `PerfChecker.jl` Before getting started with any checks, we must ensure that we are evaluating the correct version. Because `PerfChecker.jl` lacks a few features at the time of writing this, this has to be done manually. diff --git a/perf/GLM/allocs.jl b/perf/GLM/allocs.jl index 1e0de3c..8ebf695 100644 --- a/perf/GLM/allocs.jl +++ b/perf/GLM/allocs.jl @@ -1,6 +1,17 @@ using PerfChecker -result = @check :alloc Dict(:targets => ["GLM"], :path => @__DIR__) begin +d = Dict(:targets => ["GLM"], + :path => @__DIR__, + :pkgs => ("GLM", + :custom, + [ + v"1.3.9", v"1.3.10", v"1.3.11", v"1.4.0", + v"1.5.0", v"1.6.0", v"1.7.0", v"1.8.0", + v"1.9.0"], + true), + :tags => [:bernouilli]) + +x = @check :alloc d begin using GLM, Random, StatsModels end begin n = 2_500_000 @@ -21,4 +32,4 @@ end begin glm(pred, resp, Bernoulli()) end -@info result +@info x diff --git a/perf/GLM/bench.jl b/perf/GLM/bench.jl index faf4daf..207e77e 100644 --- a/perf/GLM/bench.jl +++ b/perf/GLM/bench.jl @@ -1,6 +1,17 @@ using PerfChecker, BenchmarkTools -t = @check :benchmark Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100) begin +d = Dict(:targets => ["GLM"], + :path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, + :pkgs => ("GLM", + :custom, + [ + v"1.3.9", v"1.3.10", v"1.3.11", v"1.4.0", + v"1.5.0", v"1.6.0", v"1.7.0", v"1.8.0", + v"1.9.0"], + true), + :tags => [:bernouilli]) + +x = @check :benchmark d begin using GLM, Random, StatsModels end begin n = 2_500_000 @@ -19,7 +30,6 @@ end begin logistic(x::Real) = inv(1 + exp(-x)) resp .= rand(rng, n) .< logistic.(pred * B) glm(pred, resp, Bernoulli()) - return nothing end -@info t +@info x diff --git a/perf/GLM/benchmarks/benchmark-1.3.10.csv b/perf/GLM/benchmarks/benchmark-1.3.10.csv deleted file mode 100644 index d56af6f..0000000 --- a/perf/GLM/benchmarks/benchmark-1.3.10.csv +++ /dev/null @@ -1,14 +0,0 @@ -times,gctimes,memory,allocs -8.243201078e9,5.1339327e8,4540162240,434 -8.800322904e9,7.35038889e8,4540162240,434 -8.241055681e9,5.06887166e8,4540162240,434 -8.081123975e9,4.89052113e8,4540162240,434 -7.962554797e9,5.7039037e8,4540162240,434 -7.841643476e9,4.84151696e8,4540162240,434 -8.154327239e9,4.83749042e8,4540162240,434 -8.331685376e9,5.9712055e8,4540162240,434 -8.149938439e9,5.1133557e8,4540162240,434 -7.879493727e9,5.03315037e8,4540162240,434 -8.118347124e9,5.62553454e8,4540162240,434 -8.044456418e9,5.10597914e8,4540162240,434 -8.012618339e9,5.1383583e8,4540162240,434 diff --git a/perf/GLM/benchmarks/benchmark-1.3.11.csv b/perf/GLM/benchmarks/benchmark-1.3.11.csv deleted file mode 100644 index 47c4023..0000000 --- a/perf/GLM/benchmarks/benchmark-1.3.11.csv +++ /dev/null @@ -1,13 +0,0 @@ -times,gctimes,memory,allocs -9.285495154e9,5.46097785e8,4540162240,434 -1.0083926468e10,1.211657831e9,4540162240,434 -9.122134512e9,5.37246664e8,4540162240,434 -8.654726049e9,5.34713991e8,4540162240,434 -8.862453284e9,6.81323703e8,4540162240,434 -8.480496401e9,5.38010574e8,4540162240,434 -8.294259192e9,5.07372623e8,4540162240,434 -8.798914518e9,6.40811795e8,4540162240,434 -8.706978962e9,5.47084952e8,4540162240,434 -8.585597618e9,5.23048452e8,4540162240,434 -8.878462417e9,6.45975221e8,4540162240,434 -8.918708295e9,5.2477768e8,4540162240,434 diff --git a/perf/GLM/benchmarks/benchmark-1.3.9.csv b/perf/GLM/benchmarks/benchmark-1.3.9.csv deleted file mode 100644 index 9c69328..0000000 --- a/perf/GLM/benchmarks/benchmark-1.3.9.csv +++ /dev/null @@ -1,14 +0,0 @@ -times,gctimes,memory,allocs -8.303938961e9,5.41655842e8,4660162248,15000435 -8.089957072e9,6.20267727e8,4660162248,15000435 -8.036706054e9,6.49954674e8,4660162248,15000435 -8.443320457e9,5.84849768e8,4660162248,15000435 -7.822136025e9,4.91328275e8,4660162248,15000435 -8.133902136e9,6.78896664e8,4660162248,15000435 -8.492866198e9,5.96465518e8,4660162248,15000435 -8.062229666e9,5.164962e8,4660162248,15000435 -8.478755221e9,6.87288983e8,4660162248,15000435 -8.47786238e9,6.00297802e8,4660162248,15000435 -8.042142571e9,4.93498541e8,4660162248,15000435 -8.286725227e9,6.84080455e8,4660162248,15000435 -8.255957696e9,5.98947384e8,4660162248,15000435 diff --git a/perf/GLM/benchmarks/benchmark-1.4.0.csv b/perf/GLM/benchmarks/benchmark-1.4.0.csv deleted file mode 100644 index ca254c3..0000000 --- a/perf/GLM/benchmarks/benchmark-1.4.0.csv +++ /dev/null @@ -1,12 +0,0 @@ -times,gctimes,memory,allocs -8.630635463e9,5.65564591e8,4540162240,434 -8.954542098e9,6.90179765e8,4540162240,434 -9.268011428e9,5.37198991e8,4540162240,434 -8.406536848e9,4.90697721e8,4540162240,434 -9.213949286e9,6.18877668e8,4540162240,434 -9.279259858e9,5.04101083e8,4540162240,434 -9.393132274e9,5.75733438e8,4540162240,434 -9.939752622e9,6.99313263e8,4540162240,434 -9.291290037e9,6.11684096e8,4540162240,434 -9.028596958e9,5.50189785e8,4540162240,434 -9.426129449e9,6.81133687e8,4540162240,434 diff --git a/perf/GLM/benchmarks/benchmark-1.5.0.csv b/perf/GLM/benchmarks/benchmark-1.5.0.csv deleted file mode 100644 index 9472501..0000000 --- a/perf/GLM/benchmarks/benchmark-1.5.0.csv +++ /dev/null @@ -1,13 +0,0 @@ -times,gctimes,memory,allocs -8.382208916e9,5.78392031e8,4540162240,434 -9.190866848e9,7.14305515e8,4540162240,434 -7.992508647e9,4.96098626e8,4540162240,434 -7.734760618e9,4.89299156e8,4540162240,434 -8.087099632e9,5.79210372e8,4540162240,434 -8.268460568e9,4.83239432e8,4540162240,434 -8.12567259e9,4.86941149e8,4540162240,434 -8.139565316e9,5.81942065e8,4540162240,434 -8.139122676e9,4.95207282e8,4540162240,434 -8.811020865e9,4.85850443e8,4540162240,434 -8.832271504e9,6.95931809e8,4540162240,434 -9.029821148e9,5.75981423e8,4540162240,434 diff --git a/perf/GLM/benchmarks/benchmark-1.6.0.csv b/perf/GLM/benchmarks/benchmark-1.6.0.csv deleted file mode 100644 index 74115c3..0000000 --- a/perf/GLM/benchmarks/benchmark-1.6.0.csv +++ /dev/null @@ -1,13 +0,0 @@ -times,gctimes,memory,allocs -8.846366617e9,5.88743675e8,4540162240,434 -8.62158258e9,7.17384503e8,4540162240,434 -9.759128065e9,5.55650921e8,4540162240,434 -8.942008791e9,5.27152571e8,4540162240,434 -9.070850371e9,6.03861952e8,4540162240,434 -9.027274731e9,5.13376218e8,4540162240,434 -8.35685588e9,5.08491616e8,4540162240,434 -8.31000468e9,5.91022413e8,4540162240,434 -8.976943911e9,5.68415426e8,4540162240,434 -8.771537464e9,5.15176968e8,4540162240,434 -8.96484343e9,6.31375065e8,4540162240,434 -9.623069505e9,5.56233814e8,4540162240,434 diff --git a/perf/GLM/benchmarks/benchmark-1.7.0.csv b/perf/GLM/benchmarks/benchmark-1.7.0.csv deleted file mode 100644 index 8c8d70a..0000000 --- a/perf/GLM/benchmarks/benchmark-1.7.0.csv +++ /dev/null @@ -1,14 +0,0 @@ -times,gctimes,memory,allocs -7.982014143e9,5.03879737e8,4540162240,434 -9.633176636e9,8.80099301e8,4540162240,434 -8.377625296e9,5.06601884e8,4540162240,434 -8.082653183e9,5.12650026e8,4540162240,434 -7.852007392e9,5.35341393e8,4540162240,434 -9.408414246e9,5.00577889e8,4540162240,434 -7.77962808e9,5.01827176e8,4540162240,434 -7.597458256e9,5.59366959e8,4540162240,434 -7.660788262e9,4.91253932e8,4540162240,434 -7.372130622e9,4.77041193e8,4540162240,434 -7.381180373e9,5.78347533e8,4540162240,434 -7.383191604e9,4.75379891e8,4540162240,434 -7.29393923e9,4.72778722e8,4540162240,434 diff --git a/perf/GLM/benchmarks/benchmark-1.8.0.csv b/perf/GLM/benchmarks/benchmark-1.8.0.csv deleted file mode 100644 index 1a789dd..0000000 --- a/perf/GLM/benchmarks/benchmark-1.8.0.csv +++ /dev/null @@ -1,16 +0,0 @@ -times,gctimes,memory,allocs -6.877287039e9,4.68627332e8,4540162240,434 -7.305466115e9,6.01727628e8,4540162240,434 -6.789645374e9,4.32427808e8,4540162240,434 -6.828216114e9,4.34224595e8,4540162240,434 -7.106645572e9,5.10267552e8,4540162240,434 -6.967136348e9,4.29980536e8,4540162240,434 -6.96067996e9,4.49468812e8,4540162240,434 -7.079261726e9,5.14194744e8,4540162240,434 -6.918958921e9,4.32007055e8,4540162240,434 -6.893194097e9,4.53056035e8,4540162240,434 -7.054162942e9,5.18002397e8,4540162240,434 -6.959675428e9,4.37895131e8,4540162240,434 -6.933066957e9,4.54005268e8,4540162240,434 -7.091327086e9,5.16032107e8,4540162240,434 -6.935375054e9,4.32874318e8,4540162240,434 diff --git a/perf/GLM/benchmarks/benchmark-1.8.2.csv b/perf/GLM/benchmarks/benchmark-1.8.2.csv deleted file mode 100644 index 32f9d07..0000000 --- a/perf/GLM/benchmarks/benchmark-1.8.2.csv +++ /dev/null @@ -1,16 +0,0 @@ -times,gctimes,memory,allocs -6.667631608e9,3.91432045e8,4540279184,491 -7.108658327e9,5.24853553e8,4540279184,491 -6.584746063e9,3.44932328e8,4540279184,491 -6.808871503e9,3.6755103e8,4540279184,491 -7.008736043e9,5.16492223e8,4540279184,491 -6.915167602e9,3.50614161e8,4540279184,491 -6.861754409e9,3.68139785e8,4540279184,491 -7.006987319e9,5.0856033e8,4540279184,491 -6.858362691e9,3.57951343e8,4540279184,491 -6.837743025e9,3.71537152e8,4540279184,491 -7.001136905e9,5.1329299e8,4540279184,491 -6.862601886e9,3.72898563e8,4540279184,491 -6.906326753e9,3.65257168e8,4540279184,491 -7.04039283e9,5.11684022e8,4540279184,491 -6.881014096e9,3.58128196e8,4540279184,491 diff --git a/perf/GLM/benchmarks/benchmark-allocs.pdf b/perf/GLM/benchmarks/benchmark-allocs.pdf deleted file mode 100644 index 04f1af1bb6cf7e6f669c79c85a6b436463d7aff1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39412 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
Uf|za3g(<6vd}SHJv=$YWhVRaC6E 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 TVD_Y7N$hq=%EP0qt3vu8Jr5*s diff --git a/perf/GLM/benchmarks/benchmark-allocs.png b/perf/GLM/benchmarks/benchmark-allocs.png deleted file mode 100644 index c0cdee38d21b1566d78344788aea035ae41c0eea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27662 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 diff --git a/perf/GLM/benchmarks/benchmark-allocs.svg b/perf/GLM/benchmarks/benchmark-allocs.svg deleted file mode 100644 index 8df4e8e..0000000 --- a/perf/GLM/benchmarks/benchmark-allocs.svg +++ /dev/null @@ -1,509 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/benchmarks/benchmark-allocs.tikz b/perf/GLM/benchmarks/benchmark-allocs.tikz deleted file mode 100644 index 32c60c3..0000000 --- a/perf/GLM/benchmarks/benchmark-allocs.tikz +++ /dev/null @@ -1,856 +0,0 @@ -% Recommended preamble: -% \usetikzlibrary{arrows.meta} -% \usetikzlibrary{backgrounds} -% \usepgfplotslibrary{patchplots} -% \usepgfplotslibrary{fillbetween} -% \pgfplotsset{% -% layers/standard/.define layer set={% -% background,axis background,axis grid,axis ticks,axis lines,axis tick labels,pre main,main,axis descriptions,axis foreground% -% }{ -% grid style={/pgfplots/on layer=axis grid},% -% tick style={/pgfplots/on layer=axis ticks},% -% axis line style={/pgfplots/on layer=axis lines},% -% label style={/pgfplots/on layer=axis descriptions},% -% legend style={/pgfplots/on layer=axis descriptions},% -% title style={/pgfplots/on layer=axis descriptions},% -% colorbar style={/pgfplots/on layer=axis descriptions},% -% ticklabel style={/pgfplots/on layer=axis tick labels},% -% axis background@ style={/pgfplots/on layer=axis background},% -% 3d box foreground style={/pgfplots/on layer=axis foreground},% -% }, -% } - -\begin{tikzpicture}[/tikz/background rectangle/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, draw opacity={1.0}}, show background rectangle] -\begin{axis}[point meta max={nan}, point meta min={nan}, legend cell align={left}, legend columns={1}, title={Benchmarks (allocs) evolution in -GLM.jl}, title style={at={{(0.5,1)}}, anchor={south}, font={{\fontsize{14 pt}{18.2 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}, align={center}}, legend style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid, fill={rgb,1:red,1.0;green,1.0;blue,1.0}, fill opacity={1.0}, text opacity={1.0}, font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, text={rgb,1:red,0.0;green,0.0;blue,0.0}, cells={anchor={center}}, at={(1.02, 1)}, anchor={north west}}, axis background/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, opacity={1.0}}, anchor={north west}, xshift={1.0mm}, yshift={-1.0mm}, width={145.4mm}, height={99.6mm}, scaled x ticks={false}, xlabel={version}, x tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, x tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, xlabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, xmajorgrids={true}, xmin={-0.1640000000000006}, xmax={9.164000000000001}, xticklabels={{1.3.10,1.3.11,1.3.9,1.4.0,1.5.0,1.6.0,1.7.0,1.8.0,1.8.2}}, xtick={{0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5}}, xtick align={inside}, xticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, x grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis x line*={left}, x axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, scaled y ticks={false}, ylabel={allocations}, y tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, y tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, ylabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, ymajorgrids={true}, ymin={-449566.03000000026}, ymax={1.5450435030000001e7}, yticklabels={{$0$,$5.00\times10^{6}$,$1.00\times10^{7}$,$1.50\times10^{7}$}}, ytick={{0.0,5.0e6,1.0e7,1.5e7}}, ytick align={inside}, yticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, y grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis y line*={left}, y axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, colorbar={false}] - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid] - table[row sep={\\}] - { - \\ - 0.5 434.0 \\ - 0.3 434.0 \\ - 0.7 434.0 \\ - 0.5 434.0 \\ - 0.5 434.0 \\ - } - ; - \addlegendentry {allocs} - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 434.0 \\ - 0.9 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.9 434.0 \\ - 0.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.9 434.0 \\ - 0.9 434.0 \\ - 0.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 434.0 \\ - 0.3 434.0 \\ - 0.7 434.0 \\ - 0.5 434.0 \\ - 0.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 434.0 \\ - 1.3 434.0 \\ - 1.7 434.0 \\ - 1.5 434.0 \\ - 1.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 434.0 \\ - 1.9 434.0 \\ - 1.1 434.0 \\ - 1.1 434.0 \\ - 1.9 434.0 \\ - 1.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 434.0 \\ - 1.1 434.0 \\ - 1.1 434.0 \\ - 1.9 434.0 \\ - 1.9 434.0 \\ - 1.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 434.0 \\ - 1.3 434.0 \\ - 1.7 434.0 \\ - 1.5 434.0 \\ - 1.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 1.5000435e7 \\ - 2.3 1.5000435e7 \\ - 2.7 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 1.5000435e7 \\ - 2.3 1.5000435e7 \\ - 2.7 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 434.0 \\ - 3.3 434.0 \\ - 3.7 434.0 \\ - 3.5 434.0 \\ - 3.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 434.0 \\ - 3.9 434.0 \\ - 3.1 434.0 \\ - 3.1 434.0 \\ - 3.9 434.0 \\ - 3.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 434.0 \\ - 3.1 434.0 \\ - 3.1 434.0 \\ - 3.9 434.0 \\ - 3.9 434.0 \\ - 3.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 434.0 \\ - 3.3 434.0 \\ - 3.7 434.0 \\ - 3.5 434.0 \\ - 3.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 434.0 \\ - 4.3 434.0 \\ - 4.7 434.0 \\ - 4.5 434.0 \\ - 4.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 434.0 \\ - 4.9 434.0 \\ - 4.1 434.0 \\ - 4.1 434.0 \\ - 4.9 434.0 \\ - 4.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 434.0 \\ - 4.1 434.0 \\ - 4.1 434.0 \\ - 4.9 434.0 \\ - 4.9 434.0 \\ - 4.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 434.0 \\ - 4.3 434.0 \\ - 4.7 434.0 \\ - 4.5 434.0 \\ - 4.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 434.0 \\ - 5.3 434.0 \\ - 5.7 434.0 \\ - 5.5 434.0 \\ - 5.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 434.0 \\ - 5.9 434.0 \\ - 5.1 434.0 \\ - 5.1 434.0 \\ - 5.9 434.0 \\ - 5.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 434.0 \\ - 5.1 434.0 \\ - 5.1 434.0 \\ - 5.9 434.0 \\ - 5.9 434.0 \\ - 5.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 434.0 \\ - 5.3 434.0 \\ - 5.7 434.0 \\ - 5.5 434.0 \\ - 5.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 434.0 \\ - 6.3 434.0 \\ - 6.7 434.0 \\ - 6.5 434.0 \\ - 6.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 434.0 \\ - 6.9 434.0 \\ - 6.1 434.0 \\ - 6.1 434.0 \\ - 6.9 434.0 \\ - 6.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 434.0 \\ - 6.1 434.0 \\ - 6.1 434.0 \\ - 6.9 434.0 \\ - 6.9 434.0 \\ - 6.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 434.0 \\ - 6.3 434.0 \\ - 6.7 434.0 \\ - 6.5 434.0 \\ - 6.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 434.0 \\ - 7.3 434.0 \\ - 7.7 434.0 \\ - 7.5 434.0 \\ - 7.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 434.0 \\ - 7.9 434.0 \\ - 7.1 434.0 \\ - 7.1 434.0 \\ - 7.9 434.0 \\ - 7.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 434.0 \\ - 7.1 434.0 \\ - 7.1 434.0 \\ - 7.9 434.0 \\ - 7.9 434.0 \\ - 7.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 434.0 \\ - 7.3 434.0 \\ - 7.7 434.0 \\ - 7.5 434.0 \\ - 7.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 491.0 \\ - 8.3 491.0 \\ - 8.7 491.0 \\ - 8.5 491.0 \\ - 8.5 491.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 491.0 \\ - 8.9 491.0 \\ - 8.1 491.0 \\ - 8.1 491.0 \\ - 8.9 491.0 \\ - 8.9 491.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 491.0 \\ - 8.1 491.0 \\ - 8.1 491.0 \\ - 8.9 491.0 \\ - 8.9 491.0 \\ - 8.5 491.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={283ea6c2-62a7-4cc4-a93f-0e0c185796d0}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 491.0 \\ - 8.3 491.0 \\ - 8.7 491.0 \\ - 8.5 491.0 \\ - 8.5 491.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 434.0 \\ - 0.3 434.0 \\ - 0.7 434.0 \\ - 0.5 434.0 \\ - 0.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 434.0 \\ - 0.9 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.9 434.0 \\ - 0.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.09999999999999998 434.0 \\ - 0.9 434.0 \\ - 0.9 434.0 \\ - 0.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 434.0 \\ - 0.3 434.0 \\ - 0.7 434.0 \\ - 0.5 434.0 \\ - 0.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 434.0 \\ - 1.3 434.0 \\ - 1.7 434.0 \\ - 1.5 434.0 \\ - 1.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 434.0 \\ - 1.9 434.0 \\ - 1.1 434.0 \\ - 1.1 434.0 \\ - 1.9 434.0 \\ - 1.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 434.0 \\ - 1.1 434.0 \\ - 1.1 434.0 \\ - 1.9 434.0 \\ - 1.9 434.0 \\ - 1.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 434.0 \\ - 1.3 434.0 \\ - 1.7 434.0 \\ - 1.5 434.0 \\ - 1.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 1.5000435e7 \\ - 2.3 1.5000435e7 \\ - 2.7 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.1 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.9 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 1.5000435e7 \\ - 2.3 1.5000435e7 \\ - 2.7 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - 2.5 1.5000435e7 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 434.0 \\ - 3.3 434.0 \\ - 3.7 434.0 \\ - 3.5 434.0 \\ - 3.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 434.0 \\ - 3.9 434.0 \\ - 3.1 434.0 \\ - 3.1 434.0 \\ - 3.9 434.0 \\ - 3.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 434.0 \\ - 3.1 434.0 \\ - 3.1 434.0 \\ - 3.9 434.0 \\ - 3.9 434.0 \\ - 3.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 434.0 \\ - 3.3 434.0 \\ - 3.7 434.0 \\ - 3.5 434.0 \\ - 3.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 434.0 \\ - 4.3 434.0 \\ - 4.7 434.0 \\ - 4.5 434.0 \\ - 4.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 434.0 \\ - 4.9 434.0 \\ - 4.1 434.0 \\ - 4.1 434.0 \\ - 4.9 434.0 \\ - 4.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 434.0 \\ - 4.1 434.0 \\ - 4.1 434.0 \\ - 4.9 434.0 \\ - 4.9 434.0 \\ - 4.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 434.0 \\ - 4.3 434.0 \\ - 4.7 434.0 \\ - 4.5 434.0 \\ - 4.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 434.0 \\ - 5.3 434.0 \\ - 5.7 434.0 \\ - 5.5 434.0 \\ - 5.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 434.0 \\ - 5.9 434.0 \\ - 5.1 434.0 \\ - 5.1 434.0 \\ - 5.9 434.0 \\ - 5.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 434.0 \\ - 5.1 434.0 \\ - 5.1 434.0 \\ - 5.9 434.0 \\ - 5.9 434.0 \\ - 5.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 434.0 \\ - 5.3 434.0 \\ - 5.7 434.0 \\ - 5.5 434.0 \\ - 5.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 434.0 \\ - 6.3 434.0 \\ - 6.7 434.0 \\ - 6.5 434.0 \\ - 6.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 434.0 \\ - 6.9 434.0 \\ - 6.1 434.0 \\ - 6.1 434.0 \\ - 6.9 434.0 \\ - 6.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 434.0 \\ - 6.1 434.0 \\ - 6.1 434.0 \\ - 6.9 434.0 \\ - 6.9 434.0 \\ - 6.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 434.0 \\ - 6.3 434.0 \\ - 6.7 434.0 \\ - 6.5 434.0 \\ - 6.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 434.0 \\ - 7.3 434.0 \\ - 7.7 434.0 \\ - 7.5 434.0 \\ - 7.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 434.0 \\ - 7.9 434.0 \\ - 7.1 434.0 \\ - 7.1 434.0 \\ - 7.9 434.0 \\ - 7.9 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 434.0 \\ - 7.1 434.0 \\ - 7.1 434.0 \\ - 7.9 434.0 \\ - 7.9 434.0 \\ - 7.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 434.0 \\ - 7.3 434.0 \\ - 7.7 434.0 \\ - 7.5 434.0 \\ - 7.5 434.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 491.0 \\ - 8.3 491.0 \\ - 8.7 491.0 \\ - 8.5 491.0 \\ - 8.5 491.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 491.0 \\ - 8.9 491.0 \\ - 8.1 491.0 \\ - 8.1 491.0 \\ - 8.9 491.0 \\ - 8.9 491.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 491.0 \\ - 8.1 491.0 \\ - 8.1 491.0 \\ - 8.9 491.0 \\ - 8.9 491.0 \\ - 8.5 491.0 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={bfa15fd7-9777-4a29-be60-623a6099d163}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 491.0 \\ - 8.3 491.0 \\ - 8.7 491.0 \\ - 8.5 491.0 \\ - 8.5 491.0 \\ - } - ; -\end{axis} -\end{tikzpicture} diff --git a/perf/GLM/benchmarks/benchmark-evolutions.pdf b/perf/GLM/benchmarks/benchmark-evolutions.pdf deleted file mode 100644 index 9ee967d205c6aa75df58c12861a7587acc803866..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41967 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

@rKL1VBs!*Hwn$Q;a;+e39GJ>tE*WZd6ZO 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¼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 Yvt`W-K?M(@=#oP6w5$Y4{Nk - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/benchmarks/benchmark-evolutions.tikz b/perf/GLM/benchmarks/benchmark-evolutions.tikz deleted file mode 100644 index 6b689c3..0000000 --- a/perf/GLM/benchmarks/benchmark-evolutions.tikz +++ /dev/null @@ -1,91 +0,0 @@ -% Recommended preamble: -% \usetikzlibrary{arrows.meta} -% \usetikzlibrary{backgrounds} -% \usepgfplotslibrary{patchplots} -% \usepgfplotslibrary{fillbetween} -% \pgfplotsset{% -% layers/standard/.define layer set={% -% background,axis background,axis grid,axis ticks,axis lines,axis tick labels,pre main,main,axis descriptions,axis foreground% -% }{ -% grid style={/pgfplots/on layer=axis grid},% -% tick style={/pgfplots/on layer=axis ticks},% -% axis line style={/pgfplots/on layer=axis lines},% -% label style={/pgfplots/on layer=axis descriptions},% -% legend style={/pgfplots/on layer=axis descriptions},% -% title style={/pgfplots/on layer=axis descriptions},% -% colorbar style={/pgfplots/on layer=axis descriptions},% -% ticklabel style={/pgfplots/on layer=axis tick labels},% -% axis background@ style={/pgfplots/on layer=axis background},% -% 3d box foreground style={/pgfplots/on layer=axis foreground},% -% }, -% } - -\begin{tikzpicture}[/tikz/background rectangle/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, draw opacity={1.0}}, show background rectangle] -\begin{axis}[point meta max={nan}, point meta min={nan}, legend cell align={left}, legend columns={1}, title={Benchmarks evolution in -GLM.jl}, title style={at={{(0.5,1)}}, anchor={south}, font={{\fontsize{14 pt}{18.2 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}, align={center}}, legend style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid, fill={rgb,1:red,1.0;green,1.0;blue,1.0}, fill opacity={1.0}, text opacity={1.0}, font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, text={rgb,1:red,0.0;green,0.0;blue,0.0}, cells={anchor={center}}, at={(1.02, 1)}, anchor={north west}}, axis background/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, opacity={1.0}}, anchor={north west}, xshift={1.0mm}, yshift={-1.0mm}, width={145.4mm}, height={99.6mm}, scaled x ticks={false}, xlabel={version}, x tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, x tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, xlabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, xmajorgrids={true}, xmin={0.2599999999999998}, xmax={8.74}, xticklabels={{1.3.9,1.3.10,1.3.11,1.4.0,1.5.0,1.6.0,1.7.0,1.8.0,1.8.2}}, xtick={{0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5}}, xtick align={inside}, xticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, x grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis x line*={left}, x axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, scaled y ticks={false}, ylabel={ratio}, y tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, y tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, ylabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, ymajorgrids={true}, ymin={-915.6130957230162}, ymax={31467.281120162934}, yticklabels={{$0$,$1.0\times10^{4}$,$2.0\times10^{4}$,$3.0\times10^{4}$}}, ytick={{0.0,10000.0,20000.0,30000.0}}, ytick align={inside}, yticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, y grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis y line*={left}, y axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, colorbar={false}] - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={58eca6f4-696c-46be-8ce8-ae91a68e20d1}, draw opacity={0.5}, line width={2}, solid, mark={*}, mark size={3.0 pt}, mark repeat={1}, mark options={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, line width={0.75}, rotate={0}, solid}] - table[row sep={\\}] - { - \\ - 0.5 1.193774300198149 \\ - 1.5 1.181876011267381 \\ - 2.5 1.2901792162226602 \\ - 3.5 1.3304091364888635 \\ - 4.5 1.2183508900138593 \\ - 5.5 1.2974156990028882 \\ - 6.5 1.1589156602342128 \\ - 7.5 1.0130620799330798 \\ - 8.5 1.0 \\ - } - ; - \addlegendentry {times} - \addplot[color={rgb,1:red,0.8889;green,0.4356;blue,0.2781}, name path={d46694d5-2cdf-4b7a-963f-c7095e8b5b72}, draw opacity={0.5}, line width={2}, solid, mark={*}, mark size={3.0 pt}, mark repeat={1}, mark options={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, fill={rgb,1:red,0.8889;green,0.4356;blue,0.2781}, fill opacity={1.0}, line width={0.75}, rotate={0}, solid}] - table[row sep={\\}] - { - \\ - 0.5 1.435794674030012 \\ - 1.5 1.2944022365341112 \\ - 2.5 1.4940006756169852 \\ - 3.5 1.4296671001379129 \\ - 4.5 1.338191284769674 \\ - 5.5 1.3812723232068433 \\ - 6.5 1.2969468944098874 \\ - 7.5 1.138425430837249 \\ - 8.5 1.0 \\ - } - ; - \addlegendentry {gctimes} - \addplot[color={rgb,1:red,0.2422;green,0.6433;blue,0.3044}, name path={beaee5bb-5ba7-49e8-9ff6-40952c642c1c}, draw opacity={0.5}, line width={2}, solid, mark={*}, mark size={3.0 pt}, mark repeat={1}, mark options={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, fill={rgb,1:red,0.2422;green,0.6433;blue,0.3044}, fill opacity={1.0}, line width={0.75}, rotate={0}, solid}] - table[row sep={\\}] - { - \\ - 0.5 1.026404337517937 \\ - 1.5 0.9999742429936 \\ - 2.5 0.9999742429936 \\ - 3.5 0.9999742429936 \\ - 4.5 0.9999742429936 \\ - 5.5 0.9999742429936 \\ - 6.5 0.9999742429936 \\ - 7.5 0.9999742429936 \\ - 8.5 1.0 \\ - } - ; - \addlegendentry {memory} - \addplot[color={rgb,1:red,0.7644;green,0.4441;blue,0.8243}, name path={b66b1aed-8c08-4c6f-895b-826107791736}, draw opacity={0.5}, line width={2}, solid, mark={*}, mark size={3.0 pt}, mark repeat={1}, mark options={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, fill={rgb,1:red,0.7644;green,0.4441;blue,0.8243}, fill opacity={1.0}, line width={0.75}, rotate={0}, solid}] - table[row sep={\\}] - { - \\ - 0.5 30550.784114052953 \\ - 1.5 0.8839103869653768 \\ - 2.5 0.8839103869653768 \\ - 3.5 0.8839103869653768 \\ - 4.5 0.8839103869653768 \\ - 5.5 0.8839103869653768 \\ - 6.5 0.8839103869653768 \\ - 7.5 0.8839103869653768 \\ - 8.5 1.0 \\ - } - ; - \addlegendentry {allocs} -\end{axis} -\end{tikzpicture} diff --git a/perf/GLM/benchmarks/benchmark-gctimes.pdf b/perf/GLM/benchmarks/benchmark-gctimes.pdf deleted file mode 100644 index 6c7e07c3d0c8298dfc0181083fdda5d63dcc4ab1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41522 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 diff --git a/perf/GLM/benchmarks/benchmark-gctimes.png b/perf/GLM/benchmarks/benchmark-gctimes.png deleted file mode 100644 index 9a931be9333b7577f9091a666ee535d155ac143e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37817 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/benchmarks/benchmark-gctimes.tikz b/perf/GLM/benchmarks/benchmark-gctimes.tikz deleted file mode 100644 index a2770a1..0000000 --- a/perf/GLM/benchmarks/benchmark-gctimes.tikz +++ /dev/null @@ -1,866 +0,0 @@ -% Recommended preamble: -% \usetikzlibrary{arrows.meta} -% \usetikzlibrary{backgrounds} -% \usepgfplotslibrary{patchplots} -% \usepgfplotslibrary{fillbetween} -% \pgfplotsset{% -% layers/standard/.define layer set={% -% background,axis background,axis grid,axis ticks,axis lines,axis tick labels,pre main,main,axis descriptions,axis foreground% -% }{ -% grid style={/pgfplots/on layer=axis grid},% -% tick style={/pgfplots/on layer=axis ticks},% -% axis line style={/pgfplots/on layer=axis lines},% -% label style={/pgfplots/on layer=axis descriptions},% -% legend style={/pgfplots/on layer=axis descriptions},% -% title style={/pgfplots/on layer=axis descriptions},% -% colorbar style={/pgfplots/on layer=axis descriptions},% -% ticklabel style={/pgfplots/on layer=axis tick labels},% -% axis background@ style={/pgfplots/on layer=axis background},% -% 3d box foreground style={/pgfplots/on layer=axis foreground},% -% }, -% } - -\begin{tikzpicture}[/tikz/background rectangle/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, draw opacity={1.0}}, show background rectangle] -\begin{axis}[point meta max={nan}, point meta min={nan}, legend cell align={left}, legend columns={1}, title={Benchmarks (gctimes) evolution in -GLM.jl}, title style={at={{(0.5,1)}}, anchor={south}, font={{\fontsize{14 pt}{18.2 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}, align={center}}, legend style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid, fill={rgb,1:red,1.0;green,1.0;blue,1.0}, fill opacity={1.0}, text opacity={1.0}, font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, text={rgb,1:red,0.0;green,0.0;blue,0.0}, cells={anchor={center}}, at={(1.02, 1)}, anchor={north west}}, axis background/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, opacity={1.0}}, anchor={north west}, xshift={1.0mm}, yshift={-1.0mm}, width={145.4mm}, height={99.6mm}, scaled x ticks={false}, xlabel={version}, x tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, x tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, xlabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, xmajorgrids={true}, xmin={-0.1640000000000006}, xmax={9.164000000000001}, xticklabels={{1.3.10,1.3.11,1.3.9,1.4.0,1.5.0,1.6.0,1.7.0,1.8.0,1.8.2}}, xtick={{0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5}}, xtick align={inside}, xticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, x grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis x line*={left}, x axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, scaled y ticks={false}, ylabel={time (ns)}, y tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, y tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, ylabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, ymajorgrids={true}, ymin={3.1893056290999997e8}, ymax={1.2376595960900002e9}, yticklabels={{$4.00\times10^{8}$,$6.00\times10^{8}$,$8.00\times10^{8}$,$1.00\times10^{9}$,$1.20\times10^{9}$}}, ytick={{4.0e8,6.0e8,8.0e8,1.0e9,1.2e9}}, ytick align={inside}, yticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, y grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis y line*={left}, y axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, colorbar={false}] - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid] - table[row sep={\\}] - { - \\ - 0.5 4.83749042e8 \\ - 0.3 4.83749042e8 \\ - 0.7 4.83749042e8 \\ - 0.5 4.83749042e8 \\ - 0.5 4.96183575e8 \\ - } - ; - \addlegendentry {gctimes} - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 4.96183575e8 \\ - 0.9 5.1133557e8 \\ - 0.09999999999999998 5.1133557e8 \\ - 0.09999999999999998 4.96183575e8 \\ - 0.9 4.96183575e8 \\ - 0.9 5.1133557e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 5.66471912e8 \\ - 0.09999999999999998 5.66471912e8 \\ - 0.09999999999999998 5.1133557e8 \\ - 0.9 5.1133557e8 \\ - 0.9 5.66471912e8 \\ - 0.5 5.66471912e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 5.9712055e8 \\ - 0.3 5.9712055e8 \\ - 0.7 5.9712055e8 \\ - 0.5 5.9712055e8 \\ - 0.5 5.66471912e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 5.07372623e8 \\ - 1.3 5.07372623e8 \\ - 1.7 5.07372623e8 \\ - 1.5 5.07372623e8 \\ - 1.5 5.359803275e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 5.359803275e8 \\ - 1.9 5.46097785e8 \\ - 1.1 5.46097785e8 \\ - 1.1 5.359803275e8 \\ - 1.9 5.359803275e8 \\ - 1.9 5.46097785e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 6.43393508e8 \\ - 1.1 6.43393508e8 \\ - 1.1 5.46097785e8 \\ - 1.9 5.46097785e8 \\ - 1.9 6.43393508e8 \\ - 1.5 6.43393508e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 6.81323703e8 \\ - 1.3 6.81323703e8 \\ - 1.7 6.81323703e8 \\ - 1.5 6.81323703e8 \\ - 1.5 6.43393508e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 4.91328275e8 \\ - 2.3 4.91328275e8 \\ - 2.7 4.91328275e8 \\ - 2.5 4.91328275e8 \\ - 2.5 5.29076021e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 5.29076021e8 \\ - 2.9 5.96465518e8 \\ - 2.1 5.96465518e8 \\ - 2.1 5.29076021e8 \\ - 2.9 5.29076021e8 \\ - 2.9 5.96465518e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 6.351112005e8 \\ - 2.1 6.351112005e8 \\ - 2.1 5.96465518e8 \\ - 2.9 5.96465518e8 \\ - 2.9 6.351112005e8 \\ - 2.5 6.351112005e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 6.87288983e8 \\ - 2.3 6.87288983e8 \\ - 2.7 6.87288983e8 \\ - 2.5 6.87288983e8 \\ - 2.5 6.351112005e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 4.90697721e8 \\ - 3.3 4.90697721e8 \\ - 3.7 4.90697721e8 \\ - 3.5 4.90697721e8 \\ - 3.5 5.43694388e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 5.43694388e8 \\ - 3.9 5.75733438e8 \\ - 3.1 5.75733438e8 \\ - 3.1 5.43694388e8 \\ - 3.9 5.43694388e8 \\ - 3.9 5.75733438e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 6.500056775e8 \\ - 3.1 6.500056775e8 \\ - 3.1 5.75733438e8 \\ - 3.9 5.75733438e8 \\ - 3.9 6.500056775e8 \\ - 3.5 6.500056775e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 6.99313263e8 \\ - 3.3 6.99313263e8 \\ - 3.7 6.99313263e8 \\ - 3.5 6.99313263e8 \\ - 3.5 6.500056775e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 4.83239432e8 \\ - 4.3 4.83239432e8 \\ - 4.7 4.83239432e8 \\ - 4.5 4.83239432e8 \\ - 4.5 4.881201525e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 4.881201525e8 \\ - 4.9 4.96098626e8 \\ - 4.1 4.96098626e8 \\ - 4.1 4.881201525e8 \\ - 4.9 4.881201525e8 \\ - 4.9 4.96098626e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 5.805762185e8 \\ - 4.1 5.805762185e8 \\ - 4.1 4.96098626e8 \\ - 4.9 4.96098626e8 \\ - 4.9 5.805762185e8 \\ - 4.5 5.805762185e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 7.14305515e8 \\ - 4.3 7.14305515e8 \\ - 4.7 7.14305515e8 \\ - 4.5 7.14305515e8 \\ - 4.5 5.805762185e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 5.08491616e8 \\ - 5.3 5.08491616e8 \\ - 5.7 5.08491616e8 \\ - 5.5 5.08491616e8 \\ - 5.5 5.211647695e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 5.211647695e8 \\ - 5.9 5.68415426e8 \\ - 5.1 5.68415426e8 \\ - 5.1 5.211647695e8 \\ - 5.9 5.211647695e8 \\ - 5.9 5.68415426e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 5.974421825e8 \\ - 5.1 5.974421825e8 \\ - 5.1 5.68415426e8 \\ - 5.9 5.68415426e8 \\ - 5.9 5.974421825e8 \\ - 5.5 5.974421825e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 6.31375065e8 \\ - 5.3 6.31375065e8 \\ - 5.7 6.31375065e8 \\ - 5.5 6.31375065e8 \\ - 5.5 5.974421825e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 4.77041193e8 \\ - 6.3 4.77041193e8 \\ - 6.7 4.77041193e8 \\ - 6.5 4.77041193e8 \\ - 6.5 5.012025325e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 5.012025325e8 \\ - 6.9 5.06601884e8 \\ - 6.1 5.06601884e8 \\ - 6.1 5.012025325e8 \\ - 6.9 5.012025325e8 \\ - 6.9 5.06601884e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 5.47354176e8 \\ - 6.1 5.47354176e8 \\ - 6.1 5.06601884e8 \\ - 6.9 5.06601884e8 \\ - 6.9 5.47354176e8 \\ - 6.5 5.47354176e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 5.78347533e8 \\ - 6.3 5.78347533e8 \\ - 6.7 5.78347533e8 \\ - 6.5 5.78347533e8 \\ - 6.5 5.47354176e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 4.29980536e8 \\ - 7.3 4.29980536e8 \\ - 7.7 4.29980536e8 \\ - 7.5 4.29980536e8 \\ - 7.5 4.333262015e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 4.333262015e8 \\ - 7.9 4.53056035e8 \\ - 7.1 4.53056035e8 \\ - 7.1 4.333262015e8 \\ - 7.9 4.333262015e8 \\ - 7.9 4.53056035e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 5.12231148e8 \\ - 7.1 5.12231148e8 \\ - 7.1 4.53056035e8 \\ - 7.9 4.53056035e8 \\ - 7.9 5.12231148e8 \\ - 7.5 5.12231148e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 6.01727628e8 \\ - 7.3 6.01727628e8 \\ - 7.7 6.01727628e8 \\ - 7.5 6.01727628e8 \\ - 7.5 5.12231148e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 3.44932328e8 \\ - 8.3 3.44932328e8 \\ - 8.7 3.44932328e8 \\ - 8.5 3.44932328e8 \\ - 8.5 3.627511865e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 3.627511865e8 \\ - 8.9 3.71537152e8 \\ - 8.1 3.71537152e8 \\ - 8.1 3.627511865e8 \\ - 8.9 3.627511865e8 \\ - 8.9 3.71537152e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 5.1092666e8 \\ - 8.1 5.1092666e8 \\ - 8.1 3.71537152e8 \\ - 8.9 3.71537152e8 \\ - 8.9 5.1092666e8 \\ - 8.5 5.1092666e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={6ecbffce-ebaa-4412-b467-4141dede2a1d}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 5.24853553e8 \\ - 8.3 5.24853553e8 \\ - 8.7 5.24853553e8 \\ - 8.5 5.24853553e8 \\ - 8.5 5.1092666e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={11646175-cb4c-4330-b089-b7a814f0dcfc}, only marks, draw opacity={0.5}, line width={0}, solid, mark={*}, mark size={3.0 pt}, mark repeat={1}, mark options={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, line width={0.75}, rotate={0}, solid}, forget plot] - table[row sep={\\}] - { - \\ - 0.5 7.35038889e8 \\ - 1.5 1.211657831e9 \\ - 5.5 7.17384503e8 \\ - 6.5 8.80099301e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 4.83749042e8 \\ - 0.3 4.83749042e8 \\ - 0.7 4.83749042e8 \\ - 0.5 4.83749042e8 \\ - 0.5 4.96183575e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 4.96183575e8 \\ - 0.9 5.1133557e8 \\ - 0.09999999999999998 5.1133557e8 \\ - 0.09999999999999998 4.96183575e8 \\ - 0.9 4.96183575e8 \\ - 0.9 5.1133557e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 5.66471912e8 \\ - 0.09999999999999998 5.66471912e8 \\ - 0.09999999999999998 5.1133557e8 \\ - 0.9 5.1133557e8 \\ - 0.9 5.66471912e8 \\ - 0.5 5.66471912e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 5.9712055e8 \\ - 0.3 5.9712055e8 \\ - 0.7 5.9712055e8 \\ - 0.5 5.9712055e8 \\ - 0.5 5.66471912e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 5.07372623e8 \\ - 1.3 5.07372623e8 \\ - 1.7 5.07372623e8 \\ - 1.5 5.07372623e8 \\ - 1.5 5.359803275e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 5.359803275e8 \\ - 1.9 5.46097785e8 \\ - 1.1 5.46097785e8 \\ - 1.1 5.359803275e8 \\ - 1.9 5.359803275e8 \\ - 1.9 5.46097785e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 6.43393508e8 \\ - 1.1 6.43393508e8 \\ - 1.1 5.46097785e8 \\ - 1.9 5.46097785e8 \\ - 1.9 6.43393508e8 \\ - 1.5 6.43393508e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 6.81323703e8 \\ - 1.3 6.81323703e8 \\ - 1.7 6.81323703e8 \\ - 1.5 6.81323703e8 \\ - 1.5 6.43393508e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 4.91328275e8 \\ - 2.3 4.91328275e8 \\ - 2.7 4.91328275e8 \\ - 2.5 4.91328275e8 \\ - 2.5 5.29076021e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 5.29076021e8 \\ - 2.9 5.96465518e8 \\ - 2.1 5.96465518e8 \\ - 2.1 5.29076021e8 \\ - 2.9 5.29076021e8 \\ - 2.9 5.96465518e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 6.351112005e8 \\ - 2.1 6.351112005e8 \\ - 2.1 5.96465518e8 \\ - 2.9 5.96465518e8 \\ - 2.9 6.351112005e8 \\ - 2.5 6.351112005e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 6.87288983e8 \\ - 2.3 6.87288983e8 \\ - 2.7 6.87288983e8 \\ - 2.5 6.87288983e8 \\ - 2.5 6.351112005e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 4.90697721e8 \\ - 3.3 4.90697721e8 \\ - 3.7 4.90697721e8 \\ - 3.5 4.90697721e8 \\ - 3.5 5.43694388e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 5.43694388e8 \\ - 3.9 5.75733438e8 \\ - 3.1 5.75733438e8 \\ - 3.1 5.43694388e8 \\ - 3.9 5.43694388e8 \\ - 3.9 5.75733438e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 6.500056775e8 \\ - 3.1 6.500056775e8 \\ - 3.1 5.75733438e8 \\ - 3.9 5.75733438e8 \\ - 3.9 6.500056775e8 \\ - 3.5 6.500056775e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 6.99313263e8 \\ - 3.3 6.99313263e8 \\ - 3.7 6.99313263e8 \\ - 3.5 6.99313263e8 \\ - 3.5 6.500056775e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 4.83239432e8 \\ - 4.3 4.83239432e8 \\ - 4.7 4.83239432e8 \\ - 4.5 4.83239432e8 \\ - 4.5 4.881201525e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 4.881201525e8 \\ - 4.9 4.96098626e8 \\ - 4.1 4.96098626e8 \\ - 4.1 4.881201525e8 \\ - 4.9 4.881201525e8 \\ - 4.9 4.96098626e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 5.805762185e8 \\ - 4.1 5.805762185e8 \\ - 4.1 4.96098626e8 \\ - 4.9 4.96098626e8 \\ - 4.9 5.805762185e8 \\ - 4.5 5.805762185e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 7.14305515e8 \\ - 4.3 7.14305515e8 \\ - 4.7 7.14305515e8 \\ - 4.5 7.14305515e8 \\ - 4.5 5.805762185e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 5.08491616e8 \\ - 5.3 5.08491616e8 \\ - 5.7 5.08491616e8 \\ - 5.5 5.08491616e8 \\ - 5.5 5.211647695e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 5.211647695e8 \\ - 5.9 5.68415426e8 \\ - 5.1 5.68415426e8 \\ - 5.1 5.211647695e8 \\ - 5.9 5.211647695e8 \\ - 5.9 5.68415426e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 5.974421825e8 \\ - 5.1 5.974421825e8 \\ - 5.1 5.68415426e8 \\ - 5.9 5.68415426e8 \\ - 5.9 5.974421825e8 \\ - 5.5 5.974421825e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 6.31375065e8 \\ - 5.3 6.31375065e8 \\ - 5.7 6.31375065e8 \\ - 5.5 6.31375065e8 \\ - 5.5 5.974421825e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 4.77041193e8 \\ - 6.3 4.77041193e8 \\ - 6.7 4.77041193e8 \\ - 6.5 4.77041193e8 \\ - 6.5 5.012025325e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 5.012025325e8 \\ - 6.9 5.06601884e8 \\ - 6.1 5.06601884e8 \\ - 6.1 5.012025325e8 \\ - 6.9 5.012025325e8 \\ - 6.9 5.06601884e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 5.47354176e8 \\ - 6.1 5.47354176e8 \\ - 6.1 5.06601884e8 \\ - 6.9 5.06601884e8 \\ - 6.9 5.47354176e8 \\ - 6.5 5.47354176e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 5.78347533e8 \\ - 6.3 5.78347533e8 \\ - 6.7 5.78347533e8 \\ - 6.5 5.78347533e8 \\ - 6.5 5.47354176e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 4.29980536e8 \\ - 7.3 4.29980536e8 \\ - 7.7 4.29980536e8 \\ - 7.5 4.29980536e8 \\ - 7.5 4.333262015e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 4.333262015e8 \\ - 7.9 4.53056035e8 \\ - 7.1 4.53056035e8 \\ - 7.1 4.333262015e8 \\ - 7.9 4.333262015e8 \\ - 7.9 4.53056035e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 5.12231148e8 \\ - 7.1 5.12231148e8 \\ - 7.1 4.53056035e8 \\ - 7.9 4.53056035e8 \\ - 7.9 5.12231148e8 \\ - 7.5 5.12231148e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 6.01727628e8 \\ - 7.3 6.01727628e8 \\ - 7.7 6.01727628e8 \\ - 7.5 6.01727628e8 \\ - 7.5 5.12231148e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 3.44932328e8 \\ - 8.3 3.44932328e8 \\ - 8.7 3.44932328e8 \\ - 8.5 3.44932328e8 \\ - 8.5 3.627511865e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 3.627511865e8 \\ - 8.9 3.71537152e8 \\ - 8.1 3.71537152e8 \\ - 8.1 3.627511865e8 \\ - 8.9 3.627511865e8 \\ - 8.9 3.71537152e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 5.1092666e8 \\ - 8.1 5.1092666e8 \\ - 8.1 3.71537152e8 \\ - 8.9 3.71537152e8 \\ - 8.9 5.1092666e8 \\ - 8.5 5.1092666e8 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={403b62da-e978-47c6-a150-d8d4a074a6f7}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 5.24853553e8 \\ - 8.3 5.24853553e8 \\ - 8.7 5.24853553e8 \\ - 8.5 5.24853553e8 \\ - 8.5 5.1092666e8 \\ - } - ; -\end{axis} -\end{tikzpicture} diff --git a/perf/GLM/benchmarks/benchmark-memory.pdf b/perf/GLM/benchmarks/benchmark-memory.pdf deleted file mode 100644 index a0c044368f58ee7e588ed6d256a94fbec3274070..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40344 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


a$1aF(XYf+YQIKEASqF%sZk~6`HXAWZ4*X zH7OPSpe~3GoK}?35odFS5&UvnKBm6YODix1qZS!zTGLkw6Q#eq{}O;jqOhr z3$5;^^F_;`^29So#i>z?E7oFtbeNps+sIh%1yAFyJw~sGwGp1eP!E!Jb$I*Ju@OK| zT(QJ*r5BjmR=2*u?YVsBNZhkQTcCpmD_)C{uZQd${df$*4qP9xzsD8(3q>>nWE5Tf zsArY$)NUCaeeM-v7tic3+feV*Lt=^ei5TBv8*Fb8@#@uXE=Mo-#lHy4f^4WJg2-&m zt5g?Z_agFi>3^1tJk4^!k=Zl`mXm|;!c;fM)J$Ut3Y4`kKgmXV>oC-Yj%itifXijF z-M$Wx0*ks)3ImCew)Is^F*&!5&ntaeE)=`futs2xu9E?Jw+O<=ZPMlMB@H5K>^^GV zHM$>Vl~Zwk9IS0W#VjDxNXC1{;8+Jh|8K9w(G2TL*8SH;d=sBNckjC7 z2bqf%IsA})&3t4GnF-{u@D3KL87jI1`+iWbc-otC2+*~Cv*f4ah= z;36>!i8rv*0}B!NdYV`KUON)C#$&cu%p6N@dQ|fvti@IA^oRbUd(QeJ{l@7`GPKXu z!Twu!qD>tkK~UFaDpUz?bdla^bh#WU`wCmrl^QQ zWjZ`g_FW+GATVjV`EjC^6Q)6e7+-31b`q1s2~+>Tcdz>`F_`mbAZBvW)jnWQ_&i~v z{^BP7{>u;&ue&{ePWvzlEZ}i4E#*h-fu6m%G7rTX6wQEEkg3;uJxGKV&5FP+bBdQ7 z_Kbj(AE{b|sI}OK9hyx?*g@;8r%qGEsU(tFw#$qZ)Zl-GKfkQ=CHNfn9Rac8eWYg% zlPsqr#Pd2=EQ{SsQ2+R|qQJVEoSfUDd{{IQJZg zgfYLhsI!RB?j%r~-@GzKE+gdq-v{0(In*=;xB#}ZTH@!0V?29i4O^vaS)rnoG!`;U<`(c zBXxoI%k<;hd$7L6Va(?)?TgvCR>3d~oun!9>XahxiIc@dHC13dTEv-jDN7 zKBHk2a|v9`MJ*mBWeKQ)r+PegWNpUlxt5q5jo~>rzILe!yX=5XW#m>CS+sA}ELem-U!;HvC}nYH9gwMYF^&rI z$k$nC$?uzVKA=@#)_+&J43@&*?65)>uitCV|6~gb)eT*kg?Y{0F|FoqA&=qd<07b- z{qX7hGp@jJUbE~xyWSNnMcj0hq(E)K-O}W9pRYCNqWX$OYDIT&D{%7E{@d8`lB*hY zFcy1)q~sPdLAi2J2EcR-6ws=CJN}eE>&mVsoGVV`2N3Az>sh7?Cyc$FijC zpudDsSx@hkz4ctXVNa_K)&z+ZhyHyQc@erb^1B|oT%GLA?P%(m7RyRfdCI1AK_?VqWS+zsI+1ad;0hfs8#fF|;?pYR?A&`p!ZLL+S0R8#|K|!eStl|i)a_#K zba)KpdA4{c*^d)}(_VEyC5F%$_i5c9c^mgVQ$_E0ojY7Dkz=U6$q~9Ef=GW&|M^sr z$^1cZC9Tbg_GgTfVU4^tHwMEXq~v~{5@IKW62+3LL$%OZh+@7!V&iqNW|g@!O3l8h z`Xzef$I*V z`>kTU4QnEsVshS~+}z&{xdZ9a!bosRe0Xijn1LT)vQ&A>^clN>2>hjs<~Lbcs)m3W@1*aCbVs1d)z89?!cP$4JRecqP?1k+yY8ez3gtNzz zVv&9=7ogg8l1#(7`<2E9&LlAj zftc`uYSufu{#1c{i?N0Mr<#^<;_I zcP3QVEzR^Ns(8~&zz^OOVxk;YY1T6XtK_ioTSv5;W0pXeeMNYz)K8@jh*%bJ?*s-*c-BSNW^9aTR>3aDOEjyCy38c!F9WV6}hh*H@a(f&kuvg?YGn;FYc* zAP~gI4dP|v=3@qNGsFE@02R;_?p^ z9eW2)0Q`bOQjms+X9ws(JUrpS0slhxpO^qD4n7b790m^y3tVvWpLx1kIbs0+osw6_ z-wi&#x|O50*E<0GkQ!XW9xh(#;pqhc{=>>E=iuxGkH;nF44)JjV(n@J_x{(WB>)H? z`G3=~Y|>v<+fl#`K45#m<5gM{fWC9!UBN~BE@NwlZ{ZW=$E`@fjx17-jre#SIOc;d zvPETK$N0GtT6r>GF1{BtE;y&+HieXuYn9A0Z5Pc_nC_NA9EP6Yk3ur~grIi5%VUvj z8?lmvum7ZQryS`GPRRrv{W_*Vf=II^kPWz-mV94FlI*?dvA|N;-Z`d|?(rprN%|q& zk&B~|`eo8Gp3&pmDS3QDXDHh$J}-^kxW7vhvQt+c&#v93?0#mLdY5fCf!K-XDaWsT zHdj8`)09rSVn}$#oZuV=w5$1Hs>p&Q_4UqNGmj7tEs8(r0ZdBhmsGR^5p1e5d2gP( z$}6`Wy}fN6!aLQ!R*=ivoBhheGIdK*g9xMc19zTI=3D#kJVd}M(I7hWNs5Y)3{>1X z8{uXlE#EF`EXg(T{gGCc8N(^pkds^RSCaH+YWkGsnLb_<4we2P>F!~uRa5xHLm1T1 ztxf}>8sqghh;X-UiZ^XG;v=pq?9je@#33vkTp_$QqUn%smX}`1_t9tu<2Yo{qzgE@ zNm#m-By)7)&t05klZ+UTQIh|Tv*IXUa<76GOG5I4rYqK@a0J(4l%zXB3AfZ=(ub3+ z5Bk+TSC}aUXlFI0$T*9%$QI*BBR2xgYv*khqbUP!77Y&M9Df)%hRyp#l1~S>w+HX~ zkK9t%BI^=!l5#e=q%RF4Jn>z&JIte-3uip2jtaAM@>sB?y#tmTaXGMaLRv+eXP)@w zdkLwO+YC-U)GpodR0A)9ENR*8vR9#)A8&kKs&4GP>^}&8CMIsL+Fg+l0>IFEh%>PWi~_q+e@a^J z74|y^rjZQWiU>2rPH&Zh_PC%@<6rGq>SWPA_?rx}fflZ*dq)JTu*qa6=y0~gY=&yo z{aN%qHDi+r=P4BxcqVwBHW&A>wK6A)tFwkl2E|2ahjm7_Wj;hGP+b3|uhWqpjZAx9 ziNTg~t14{VyyRJLWxBZ5EU_!7`)U<)LzKQv zuj`2>^)I;tR(E!&$o;cSsG#VD@zs0%`1pv+$ey{m){YVs9D!jyAevECOg>_{z6bZJ z$KmEj7PU~41W`9-+dzuQt(@JxaKDV1g9}KvFM=F>Z5*ySUSHv5H?C1-)|%1bfTlBr z&6V+pNqoG-H|!{t)uXqybp6iG#3(2}_R z&Srh<)Fts+L{K2I5&2znJ_Os)<-K|9?;ofddO_uDb91-~GqKbFm+L2c!CRR_j*MEL zcj7)TuLQ1tO8hVRANX(i|6du>Knr3E;8Jw4f%pN8;k~>(08;>$wnG5qpGPizxDg28 zf!}bemaD550Q8S|wAMeb*t!D#^MmqF0}S^Q<>Lc!^8*E?_@!m#_ylC7LA*e28ELSr zEH4NQ7LWmn|Npqa{{sX?O`Ii6y diff --git a/perf/GLM/benchmarks/benchmark-memory.png b/perf/GLM/benchmarks/benchmark-memory.png deleted file mode 100644 index 64498c819f7b72c0d770916e154c6fa9f8b2d177..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33245 zcmd432T)eqwl&BxfryHVpr{~%phP8zBFPU_GDwsxN)QlHaz>9J7|9}8kcUz1Ny+&N0RuYdug>xVW8?o|24=Y`e6S zq%s-VrW0gj8*Wi-z#|iGTj=ngzpRxnlKyJ1;B?17w%(G`v?e2?+eQ5UuS(V_F*35l zWYUu7R2@1-yG(RwG+xa8E`2j?R^GkWoTi{`_v>vr`##aW{@8uZ^7w^a<|oQ_Z!6Qg z>LYOB8uO`F$GkV6-!v4lnbt0f&U#$bneH;3B=h7_@x+hX@CYkoyO6coaO=lSX4&{= zvO8;kKV~QX5I_9afBh!gu$6e|&u?le;_pAd?}!t(@aH$#rrpF7e|{hKCI0^No9yl; z;vav0Q?QUtsGmG}awGW;IVq_Z>{hbTN>m3=pEz>l?_@HvpC+;DDM_2(QTO)tIt_HR zwO!WIa=X!akaqoNKk?K4`dYbioXp-=LUo@%Q&3X+=ZJ}jtfZtDFZ!A*%E>K%f5cN* zSg4h4_GuxCd~UplQOM@!!qng+n&Zk!IcEd}X8Nmw8;+Y88@Hrt3qJj^w5liKH2t&G zYo~;SglyokO9ggge{I}C!=Wx0T432zY&X_nTKu-5p+Q+$xz8$3Zg$OGK`luY7t+$w z!ph3po_6HSnKQ?aAK%&2Twh<0$3uf1msV9%nnQVBCng@Vx3}LR_=H}7zxBlVhcu=QvC^G67Ot+Y)>`$yx(c*& zZfHi6Hp{0;$;-Qr4B%dBFliJ9SFe8W>uZXa538=0lbGdTVPWColAq!|dNl6*Bif@f zf!|`beYsb+#rN#e?ARXCzWw_@m6w~WoNbDhAZL=Sixk-~9yBO~G{V;6bYy`OYj; zm7%IzYpW}kT*9UeEac?mOdoNZ+x0)Kt}GexYSx4b*fz*oS-mML61ltS^HvL~J715h z#6PC~P+eW!(xPsn-u}i&F+!+0!=Uu#MW3hp`38Qp4#+Arg}$d#43o)X8Ycrpv?Y_sM`^Gj@sk;^}P#H>O`1_#+Z-rA3MmuIwM zR8)@9R8&+bMv1znb97{yD5mQbC99`8{r>)Gab{$sI;g6j&!qOomlt=ZM|>j3dl6M3 zAtC#VyBp$UcQT6VP`tJsQC~UADB`4wu&XJc(*J~ORApCFQu0+O<&%|_H4XdA@R9h2 zzNdbEevx@rc`mb~?IdqZ!{#kp+&H7GHSey)x_{H1n4C;jiY8(1&h+-^W*XNFH>c!Y zuaEiQSX|^ZBUAVF&{@0X`5!)Erz{rt&E_M{4+!4;TI}jP(vsTKqxGx1=y#h=SToU|lfVqWPfT`YN$>8jCF>}ql2Ms1|Xf!(`f#CY@a^7cCuTZCR@nZSrZM3RM%Kgj_3|?M%LeFdX*;%*h?d=~ll%M8*|Cs5?3#u^eaa*z| zPVd5+uc?ubQ?}?S7D?chi9_&ys;%YTS(Tfa8Ft2+wZsUy?wc6x-n~axE;e4GqI?#> zrg-7P1!Rn%e*7pYL79+{a6nJo%s4b#&e%8}(Oz;ePI+j2oROAxwne@{ z&vW+Ip!|&+qX>UyW@Z5%>%CI!NHy6e0=LXFQ^_TEgf|(k{r*wzWX4p zydr>Y(fqW#kLUF5TQ)Yrj+2Jn-K#A=atv+)2v5CRw{CTJM>dvUG;wlqDSY(k5!2qp zLDiGDRBU&IEFKb?t~0%6Q(IaXvCnySbQdX*OM5o6PSn}lz}niHjV-}t?cvS(7|)k4 ze`K1}aqAa{Tio47$1P>iGsT%OzKQINpUP%&(R}x{)rWgIu*`BSd-SrdUy8^pE-wC2 z_9R6+H!UEb5i4N4r=-NVhQ3B$hleL!KJ3(a%*MrwmROM!-`?x#>7l4ldVcT7Hjk4H z*2^@O|MYNgX4OMFiZ~Ap4hp(1PVZvAK*59?Dm1BM zkd>`6!4h^|w5bh0gB)BYeJppes#UQ{qo$sEhTHK&I*dUVlMNyK6q@6kB`S~VxC)CW+!?}Nfbdc*`|&0 zvccS_OFXqi%PiTfd_loWVFv-c}HexInI3XsZOzr zCTl=fzAcA{NLORy)Kr~Vun^VE%#6UvlX-(eK$~jcGb%(NP^Grq3OGz=3mldAZDo z(bCL}ea0nKm0edyCte|fy{N0JOXT$Fwx%Z4IOXPaeRmAL(1D4C!Kgtd-=7Pgzm~YW z+348-?L|rh_G<+{P%4eQ}XdyOiWCee&w~hmMaQ?Aw+n7e6Xkd$pMr3 zzeH?@1F1jw@*mN}$Sh3uPpv$1nxE)Ja{iicYmPCoF-C+*tlVXS<9=69?5q~HvC)qFxnciQNP~IE{yc|8yOij=i82u?_@A^{qc-TdvtV^ zTQ@(p>-DR=yoDr{gxFwA2NJ!_?c2LZH!zDxgt?YIE!9}y;V)mltmWn7U(eaXT=n722D>GxFa+}J8+`IA91Gn4&Q2+jis4rnB+ z4)wUNMVz%yQ%(vTkO{UyP>R@%K1a@xiSv&~VbZ0D=39KIoOJNSl{>R!+Yq}sZ{GO3 zooL~vrJ-TbP04%v_LW}IBGw$zm$LJhv-ZEP%T)GTjoox_Y;3&f!@%Wny(zICiBX^^ zFzxc|t0?&$+Pin{x`Zmzo@sKx!3BflN!@OzlA?4BEA5o~s>_hmT&uo&SEh+i{IHI$ zZtAO7cp?Y&2npHDE(3@oCnrZJLNY})x&Gxvpf3SVPC35%nwnISCneU#f-`56*^JoQ zvI?L~O$e(+oA)ket*q)6xzM4IN(@J8l0}ojU2p%YX5*S)eK$jhoL%pS&0}MZv!j}TWSFX)n_bCCeFEk!swwJR z$Bs#>)0?XK1qCHP<}z%O1+RZOoGYRvyS8=Pwt%YsXV0E>3_dnQ z(rhqMN>!K5m0nvIWR#$d^z#GGcr-OwC%bb5U-*+IQ9GBLPFGxE{sx)jR+h4|vOQT; z^!$moBP{@mA!n?OuUxs(V!yDo6!!c%(wf9za+Y)eD^_Pm>rZ9(K%fd_!z{aAgq>{3 z1LLC4XKjA^&VEFMb(NJ}IBP0(H`b`?8CGIFw`PLEAq1c&DLONIFT3h7?VM3xCJBCx ze6wsVr{yGkY=^9RO7l(zVQLZ;gYac%TqzwOKd-@uO=AxlKD8sDGRxQjlIz6Qbol5? zfrt?M*(vAQd=s08MO_zN=DO^KB390xK7CNwLCItxOwjU_u&+*moqWE%pUU0Ax+vM8 zyescFj17_RI7m&h8Sn0@s*-hH+(u$8&q! z8Vd_=_5N+MB%5$qQqlw12Fq+!Jf@;q=&t0EC)zQGq*yRkMbuXT$j^)o0H$Vc@z=3P zUfr_}s5!t z^}eA|yQJ>uL~q~fONW>$x!#Thi%N-HZiWjladXws(1=jqqY^K7i9JZ)eIdCz{A9>KgLeQ|YL4_`-3cjX7^X&fcz6Jvg9^r=h;|$W zDXcGaw6?Ug96A%VEJVv^Tc(X1#pXj?RWxw&%&98}>S;0K| zGR*BpvQB^3PZ%G#?`|0DY^3R2Tjai0%>UDa`iO{#E7n60yV`Ku>z4|zcOR8``}Xbf zMCs0k`LIQ4=C^}3>V4;01PAO?W}# z-d<;N>ALq$mq`j1@nXNKe!$8uWPDIIP0W|P*qpSqG*E{CA76?}!qZyq*o0mIv4dt! zDH=ST+dNTdYXXrY%RYU|zS*TUczX~;IZDXZtT|cD@p3#sBtFc54y8dL?07-s0!!@t&TR z7CR6VN>38sZ{$b?1%=RqwjjghK8%7l+D>#f16hb2J=*{6{XNUIfQ3~r|IeNA12&|A z>7m-N8+8(;8qq_?jwJB>#pKbH$O_60nu#B7Zf;iAftoPEg@(MpbFkKeIW-%~%P%hJ z2%&ZY*ez&pSti#|QvJ)fgn)u?jARj*(Gp&(2tg8sn3!0$mW7#_koACE#0TZ;4<0LdNd$hViGe)RqH0h26SH(Rm0Bm(%nQ2AY1tp1% zew3X~pB==hscaVU%B$(dG;Z>ckj>|uJ$%4$3K2pP!j8&jV!BDnaSS3(oH}p6OmIJs zd(HbQHFburDv5V{lHt(%WM5zEq;r4Qeo6#>WtAyfdOa~Wr>LkH?8aFq(Dj0X#Fw=<>6W8WviI|PnNECLM%SP@HcA1|5`i2VC9!bT(z|i3Slu?XZVCpnN zGetdhG9%4>b;0EO#|KW7RE(l77|hOGOMP$w9qyhI_Y$U+)V~}U9Spa9b`RB`j2+pM z#N0|`B;7|%%T4c0u83w}gapl+ehxJz2wHZBi@CeCu!&5*>+U9K0P1~Lj)k_9(;`ap zn;p-o>FLdG-W0Xy$O2J03+jXb{q^e?lD@=!s!In>@!qqsWEl}jahZ;+^|~QFcQh+1 zwSiUM{?@H83d~y~ok6ookSUv%Qgd^2Z6xG&n!5MU+fJ&V-%ihey(4P~;t%fO*iqVu zVxR3vUdSW;d6CUqe3pK<)HC(W#joaGczW=7a23KNuAtoM`meH|reETEv`Y>^hv<5x znTcDFirCdtb_D9jmP9D$iZLFr zx1U2@5OJQBN|KIQp>cq~h55J6t_G5jZ8ZbiM_mL(npG5AiPb%P^yv9vMLDeB0|I7! zV`Cyvdr&2z>+E|&J7h95M=uq7P9ZjoY+M_>^U0GZFJoffxT+6BoBZysZPfS7#?lb7 zoHAX5vd?BGDc#~{+`1j_YHG(WUNFn%5wH-u{aq4#FnbUvmqg*0y>|a=i-bbmnxShY zH=E{J-7kLnVT-q+4TUy^>NL7fFD=P`^fjr7ee!#D)@^zIWa)ik{WSVLe|~I+yMJ_) zQ&+sRt?luCK2~OCiQyWRa;(FaG~F<-y_nrp2qtvgI-h5U9hc{S58LlcUC`aMc{5m- zYNFD)K|l7f(Li6{TZ_{}!s%Bl{EylWH)*~xtU#_5*wbv5ZF5aBVFDc2<9&&NMw0ST zjn-htFVKQO{88VHoyo6&sWecZT!=wh2duEw(&``;MGb{ck3OT?~<@Zrr#5O~4K74GU_>roJUkmhR%ki^#t}fBw8N^1iZi z82Yf&$bD(SFK_gQjK_jWM^^HqQns`&WG6AE?&VN#N>&?zhJ{t(KC(5y1gS=|Gu%+* z*3FwYp*&;p4C2|$Lzh%{mR%)BytuRS@u}2B#Y|661B&1ZlQBjJ_k!8YHV|?_?B5jE zgU~cLtC=h`lxVi5Sf_%(gd&8F%0By9?KIi<09k3^u4QTPLd)cRPRV>)IYq_R5VyHs zx_LU>A{YI_!(Rh$fC?#w={uBpkr(e4ivKGUkt#>Qsex@K9j58PS4NJ zLjjx}YP?7vR`>2&bP*lch@8Cq3i1v))jkY0G#1FUUxpmC+z0q4n3?@TbIQxgcF^-n z(UUU5hKv8HKwkvK07-rB&`e*F(>jSa;iZ@*))+_ z-e9GN4dZ^sHGlhpTUBWH)NL+QStODaoxDlG9v9~G-)|g(M5$;}xme-_1-}Hi_*L!? zy<(UB3=C-^pITZl+r{g$jHr2!)0x!samr`To&^@rS|azeU+(;i#*XUKhJD9SXil8C z1>D_WG6-~MU|?Xm+KO^hSX2}@;5Z_Lq!M69cxJqqmDtD!{1oE&75{9eIQPtkeS9ZSFU`6 zeh;D+>sN&m%woIa?CtL#QQuftS(BU1Oz%|%ajJIhSV+-N4b4_klU!i zyzf9i0(uUnR>r3ltF*s5gfH|cWP9`$r0YK0Xyz3Z0M?3*OgA+(f#;@bW?rb|!j$`- zVuj9h`n1FQzc-V-A<%V~xQhu3>!hl)v9c2NnEqKTmWU67$is&Z8#sxJL*4`%$TR*r z0@(|F8=2uN?2JC1TB%syb`aRX*2AQtky1Z8n=hy#w;ns0rB* z@xmwpYBKqjEizFxIu^s)il3qCcNf?z3Ng+2*5-m_%cMSd${<3&d-v6Ej>iHj0EL(% zyzVo8otT(FtbI0ogGRy68H=(LJR1X08FW@|+9dC>Qep%S4hsZ~zN)acR6H*y+c9wAyebSTb>Q@d*h#QP82x z5@65CDPN8?AU+{3PCk@B3DN*^DzBhma6B{{1U*zREp2TddI6cxv^>r>1S?7h8YtI{ zjalV2l2kFr1ilv(tgEh`o}BE+vo=8?GH*)sd-iN#czF2x_uU5%3ZwG9c<};a0jTFN z#H4HGPX+KEUS9u}=OH0OqocwW9sH)P{G0hxK37)dlm4hP%$QMiU(#s3dLmCOm)| zM!5~vMj*owlaDX(|9ct$61(8~(=Zyd%_x>a>9IYN0B&^= zXM;PZPUMPAF`TuluBsY={En}|ic<%#`TOs`mseIUKHhiItm)XbYd?TAkS27k(|;f* z-uF4q4^7a-#DwW1Ap=_Wq%E)*8ycP#5=zs_Q??dI=7Tk&4c_vjh zzuIZ;ypf?H)xHzo-re1J->?wT+?UVzN!&-V>o@bdILkE)+(H>jKO6V3PgR}P{pH4&L6Dwe~4#Nz}n z@8T6x$>pBgyC;R;p&i%`Cmi5tCD=8a|gx(=Ro@V@UgJxlWKpjf_kP>u}G(gW(o*ik|I2 z!*ON1{qK?Qq;KeILiF*oga1n3|0)1r4$d*Nqwcsw{6>_+~WGu(jVoF?wr~=oVMPI4R4I9TGI7-Y|lqL zdj@Seuro)Q4CVsg?MXE^yYG81upnooK}~|bK}&+huz<>=oO^!JqAi07=)6(z(8SPf zTifiM96M`kv_1)y4nUNSOG`4FERXckj_k7@Kt7$m%WFK2g|B>o zR$GRFr3KAxhz-4^UixouF^y2{e3$UCynGOS7)s9=aPiXn+Z(5Ek`o4radsggCr~i7 zu`{x><4#$fhw*_?^lMdBieZI+)0Tf+6yL5%9{4vO#s9OL0?rEDHh%tN!^S_h4aUfD z_W5a@JmP}*ExW&#l?}Y?`aC^tv!3o>l5DS24(f3P$$%J#$d&13wvNuQp$wFM{`|SE z?Rk-L`nGTcBB};Aomd8{a^P{5`{K&pL~%ZSdLAhN3wQClATKv}8UVhPW3SLgBqb1R zc{w@CPQA{Kj?mCh+TbZ#0Mso@2fPSyZTZEbg6XB%W4jQj1p`MV&XrpV0eBPdS61pIvH z(4i!+orjMdJ0>cs=e~d4&O#YXFJSgH&)Umro(#Fr7NXUP(eu+2w?};9^Y4*B& z$yWQNSx%GSx&`Ko6^Bej=x-)72@pFFvkiO_&{RH@mNFkX0u&h@ z9*&w-2w@FxfA{VkR8q*+x|t0?JZK(%`TA8DbAs`vNGRXWBO^tPtM?%mK;Pi3*iD#$?zkxDy*}~UL4TW%3+q*h%!nzd zffpntamn*2g3r%b$IG!U4TM=@8W-or#Y}1sGD%{hP#cDOdzm~aC@AIuNU&P9Kpg;c z(c20Q3&WLlb#@j&Rw9ftFq%NRB}qu2co9AV)bHTqDg#i!ZSCx!LD`~mc~AqeE6T_$ zqG#wyjR1mb2Y&ObGj|-sVhXndojL{6e68&95SqnaUgfyH(*_?rR1y?W+RjrLK!t8M ziSoREA5d=bP>P561{yO29ST})vo?d6+d(=y6Nd$KWzb5)D3tazAPDexX_W>d0-55V zJej!YX8-sP`E5&D4j0T6?n+WzLPHraiBR!)L*yt3@PrN`Vf$$Kippl*kqG#|Vq zkoLN<@hQ8}HlTsL{QS_65TgH!A_n2*byk+k;&hU#@vpCWB`dRGa0+1{J*fd~Ca0$Z zPX&o@IP7!v+O@cz^Hg(a6M$8gR;4tXp=F|z`T@=+%-zH!5+pO6U837Tc0gnUS1qqz zRW5dM%v*L(YwNdigyUe^9lV=WKGea{QJSZ;v@}I6Wp<5Ot-msK4Sk^NdNPmvX{`V> z@WF^-(-ICLp+#IG+Vy)$s>!Mqa9XkP%#8QALwba_30j^JI;hq&_n7Z)5a zj3XMB(!b223=G!va);A+D|B`lIXG%hy$v}iOZJZK+~9o)g*irOgIL=9j+1@DJXioM zm?VfBdmI8~;#jjNnBKT*8DJp6HwY9BM2Qx3C{KYLJSEwd>>RaGVUa1hE*|z$qT?;{ z-aCkC?X8DD0TE`d*p4dj;@mwdeG;e@`aJ}E@7lSG^c9UDz&I?T)~Pi3OS1o%s{9$Y zVAvcq&?9S*h`av?lyTYaDmwK+oe8p4fyV<<#Faq@cN`^q@dBmD88o`7Y<+l4P4C{l z3$XXcW}ql7?YO$^2;8ot6JAub0txD@-RN7?54giB4BsGvf_U`xD0U&!(bF&XRqXL3 z85kSW?%wSW+PH5YP!4Nw75qOe9?*L&QNYliB2;mJQLxBokhJUSETKr@-{>Y#dLDt= zi0pt1zzZ7}3dEr8fTf8#PO_BPg%fK7QScRSb=Ezvsv4M@nwpe!JbOFY9R|={8j^#9 z!)RAQD>`lE`fTkoBh*zD2{#z5eg4QV-M44Gxg_vugE5HerSC>zkm<$3j zf)Egnp0dX<*6sJ&$q3Bdjj_j#gCIkBg-rSzh8iA#0#43RkYx0&iDoQBynG}+h^o%c zOZZxu8V&S7H6hbLG-*LrL6Zuuo2G6BIyyRVfFu#vxsb}{B|&)6(NPEu)_0u=n*9n3 z$Irmv3PUWR`pBzTUT6W29anaLPmfP+(ey^s{)6W>TUNJ){$Nc(9wDI)Bx&woMlm-R ztm%cfKmOF8su>ZI@p3V3Gn0R}h^-AR1<9{vb-m8JSsI_nJ zHzLI|y3I4W2O}VHT^`g|mDDuj7bRYOE+)%)1p^0RCg~~n-%8Z}JJh7W%$Oak8`r;# z#tbbKTzK5U_^Az zj|?K*hvOw{zv^FlQGZ8HM>7y?6dWe}Bd+GyTgqx?ZL{pf!6TG6g|Xw-YUf`NfaQiXyDg{3XG&?+87!d z9t)~`)wq}Pyh0didvAZg8XA!iLr&`Gd{zG`3u9dcxhU9>U0I&sI_`*1-X&T`pM9B( zjg8Oj^?vve70JfhIzSHw;ANdlx!$b%-obDL z);1)%k(Esr_P@SfIz|J#2#i+O&~hh5KNod%0__pl3@_pmP(Acy$QlK2-%9O)%8{Ku z3Xj1N4+k(u0GH|N22ESYh$!|AxHKrKm$kKJP5Z(ui`zl-bs`JsTQZdu73*ToKdKEC z-~c*?%7y~cP;x9zIV3W2wVpx6bP9gV=*2>!*`JV*(mYIh+v+)1pw?j?p)XEZs#n!- z6(XnJHmk)N0BMCTr-+u+H*5KoEu)n^sPf~-Sn9}L#)a0muV3FbSfbi3C7OjuMWW-> zFV=B?jmFkirX7r;h1ctk?Aa3l!Md}eVhGh2X_e$XF>wnIBKhHy?rtRShKK@D4^1VR zIOT%9UejIlhYqEhsOOjm?|vF64H6#9uN+PC)EP@!4N?f@A3{eJ)E^3x7z8+l9|5nd z%>EVw(t?=3I_L!lS$$jE+l-ZyvNAIM6^5Q;J|Q+!85tr5n4U!Sl*WbzumSk8X>*oC z@Q5mVrt7V_#%^=?0KSTDp4d8?t-}p@hx3LrS3rg6BqKGd%~qC8{&VIK{y}10M-*>D zlpuLSrjylh#-czt!7nQNj1z9Co?=~g+6*3p3n zt|Im=EK&!LH!Awev7(&u3kve6I>X0$ABI4|yaA6OaTgAX9W&8I_Sq63|FMMJAYg?8gsg z4=E`r0O&7r>6c%}C?_qW8rI-VH8uDufy~$_K43;fW@a}01`mCFa^JjR*DG{jusdbR zu^DTCGRLl@atisO)=1Jg%{f;l(ZckkbS zTt1kA&G(HPq$Sux_$|Rzo*?9a9A@e&Td@4lf+Lzm7|oeqUBt?9oF6)tyZ((7EaQG) z|Fd5h0fWuD^0Sd?rzf$j)>fC&rw^;(Lm=+C0TTeeNtv=h!e7^xDfhB-YGp}f`hwTf z@aPpHHIuyI%3k|j&KRnRJ_Yio-_^&Fn(gs^sM-fl-+BQk)=;Vicp_@m=e-&>54X^u zx?-9-u@i&FW^+7GAewUM>A}z1hbj(y@$|t11Pff5Kp~;MqHgH?AjiX}1ksLL=j{Yx zh`fIdqEM{Q`j1Q;gk-`24Mzat0mk0@RMH9xXme*!e@A8^`m6|a^u7mOKeRdA;TMCe5xR90Y;AwWO7yP_o8!nEpju*a=INxVrv%9u zMF`mf+rsy*s;UZTEbs|j4^$x{Ft7=E%T&o)8vYkZUmG@VJaq8j;_MiQfJty{LIR_( z!wF8#Y7l7%_`o2i44>uv{COSj;BVhv@U4K>;#O;Ndg{>ems!b{GQl9Eg}ni%%)*Q7X*eewMHy&o=&fggBgTyh3LAf7sKKpRh$fBHl` z1?`%6ibUG*q~qM-b7{MzC|EY_-mvwq2Us$bFSV4C(&t2C7s-EH{r~U#NAS}BA;9<# zH>&*q^o#yqY`yuG%mOy(l1` z9s5pPL6ZP79;6WlTOv|6Y!&r|MUv{kscJAP=v9C$tE)@nNqg4cym{0wbqO*9{L%03 z{N+@MbvKIDjY0-;aI-BVn*UO&dX%tZLu+fU$ zJRfgwYLbJqvj)_1@D#LgQ5eCNU@Mvg_l>ik8S9*bPy{i^0T+%u!=KUyf1I)L02nbc z0A#28RQq|6QkOe|!Al(-9bGY(LX9)8Y{0ewfZ@Hb0qAHpvjy{(mzO_t4-`lI@B%e4 z<>(nf@#s?(k5;M%(EjMX3v7l&xO-SxSh7qTFHrnO_C#ln?dVbIqu75G;^!Cb*jMrX zeKfkl0N~&`$+H`L4xLpeHn~)x>k=vIDujAFl8lxLq~(JV50I45+DC?KznPks=a_?Q zYpSd?gW!c(u(G!1P=9q98q*oqe=cnI?%hBYtqF>ZB1VXTJ-c@|V0wuDhi?8f`jJ)( zYgxV_5ZGX#11yOPMrT&}YJH*L;lo!@$O!ih_6!++N2W(P=H~$>Nm6A;LiV+7M#Iam z!Vp!jQGpq-p8n)j590$=u_kdSu3B#lA5b6R;u=F$4_@6#g!lE$FE1^j&kDD7T1hpG z*`CyhC~(Q~uX$6jYQx>)()W26Kw_c8Z^#;EGC(icX#M~YHB@0Di7-Ty6Z4C{dJRSl z)CO|Sv%tXEi0zm^4{Bud_B2<_4KeLtcz8i9KQGWRkkf#f;7ocJh8Ybc{nuB|-?}w{ zSvq*=&K(MkcEG^SZE?>UyA5+H-OPiu3nM}vZi?5wQ73d7KHIZ=g%AB%^53wgj{Fz}jhZ$&fpUZ#l7+k|#yG92`T z>vZD-AD=oHkSAekzMgyDufaPOH;(C*mXphR{Td2RN7v=!K{7R3R=mi8=;8vs@$NL0 zq%bft3i1jXUby8}9i{kkO)XK>a#X;%h7k9O|7;Wzojt{Z#7wnwXVmW!;L#;~1>xa# z5|`Bm{;)anMvhfhTDrcFpu9-kg!Lc1=k43mNd|DXi6Aq@tgIwy|k)6X)RN zRi=pU`mS@)#l;2E1<1MB8qWX)A1 zOb8iFU1CG6=}~s0TdAmCA>?PhA8IywPsggmdIEV@6e9#sG+^g$oxOfFFE~zgt)fef z1{>sHLh?FwNZpT}BoK(tXx)8umS0J%FejMYJkA}_B2spH z&XsO#rIeFLrEwj~qFB2f}~ zjj-Q!tyx2#Abk&ss_z?hw-2$1=euBhOidkw>eCG~Bm`Gl4t0=%BXF2NV>xo<`)5Dq zZM2+()e=zy6aBH^s-)Za2(ob+DOL6$SPKA9(0zvi0e+&Yk>lYZA&yvvgpUIi6m`?Q zK4x1#aZ{{kEKT?MiRh%HA?+&cDMvX67`c;6;e!%}imRh1xFTxS-D|B05cB3kjd4KI@x|Gt48_Lejt?R5r+Xy8Q z+(Wi#Bc7(tE0RDi4j<%?xfCn4YxoczyW=o-6MHYw7Xn)Z7o_M#7tz4rHYy!14>Z(% zsKE$oGw=SFgi1*E`GTnA<`B74P_9t8OR%#wPB}u%od6l|l0n&!R#c1{&&dI#3T1Ps-I#4=+AF=%-b*2BQoBD6)T(0P)dX{J(!aazJkb6BxS& z+f_HLdZ1;YqHja_O()UgW2eW<-Z^h&f!88*{`OGAQ6@=rYy_;a65zZ}yiPXql$Iag zyM8VJUORr&HxOnEnC~0b>_^*hh4pE=XNQc;%!biRf)`ZgJTWj1JVZkZ8=V9Na}heg zAQJ`S#T?KCbaaRUPcL{=j;#bQB(pkF7aRwZ1<}YxXEIXQ(F%;+gBtYkF_cJnDx1t~ zZES2n4HM0YH{c4^w=ID_TQf<7sQ0#24IN? z%1PCxzaUsZO_BfC_{5@5jcmSi>(&aP5sWALlvj_fOVjw;Q!K>(U^MnoHaZc*fXslM zXZiW35wbAIO#S{H{fr3E!gBEjTrYZ9a^a_MLq#NcBZ{^$0ZrKfIHOmgQbpWK_cdrp z5CdKUjiBZ^Pkg%zDFt7E&FI%|-c;DTK5OHcHB4zQ%uK_>GT8(Tn!k0IMLxlJo08Q^ zEK{-2W2XjTcf??$=t)=*clbHT<+{XG6B9xBvXY4jc;`+nkgiTVH)DWyOSnYB+&&ztvXKg5Zx>&*-&t^uGjxv37$qa!L*?Q zusv?AI{XZJgi}!6fd#>Sh@ySN!s4I7s$BEyfN>3bHQ`UB-o0BHuK*RpE>y2S@l?D) z`pT6T18V?^nD48|!ETE~2>?Q_zdzAoBV^>sYh^%fi8t|`WDAT^=xObtrOg3&2gGhd zD1)Z~&d<%wm0;Uf81d7I^a=?FJRmSKQX!5A1m8Zz1OBLjyhfGlYpocjEQslv*gXHSER;~B)kghz z&;m-&s|Z3>Av{IQ3f5igvKSf}e0+^iA`_|s*f24FG?^vH)`0r+3&26MQDh=ffQRUb$gI$|Qh z--!t(rK-;jH=AQofVN@LTi?EYQcw^;8fK z&|;l1si)~^0$jp)30U<9PfDP?q1R17XZs%4V4tu9f3_v((mG=?Vqxy3^qiISB;7_K z!`e6DVmx%n6@v*QhE9!>J*Xm3E$^*3!t$EWyN3ij8LVlK*ZT;Yb~AavJNF4V82x}4 zk=IZaK!LQe9A@unkALp!T0!x0qWp^PFoqb#2i|Bb@JEjy2gXNXqa^eVkZ(M$n{R`S zdS41Z;fM-|p0H~Hm4fRkf;}>2cGnXY0!Wa#X3fK3SdLw{P9r z`->Pv%6ymW`v{vR7HaqaXuima6JP4@mhwBZbnD!chZ|?Xbm+mIUt!x2UKa7AqLYqgBoETFCq8 zN+Q(Vet-9zwGrXKrok0tMOXmhRoPdTm%-((w*nX3`J0>Zm+$BPN%XM72f*u}hlQ0a zX`u#T`?VU1OgJTWWx}Y5&P8>1x1P)))Sq8XNdeT~LAK#`3uy4Bjsb$iocJ@WVB9sJ zr|@qxMTtNOi|y^3scz^U9GnBlG46^4?lFNnUyzL|kNdU4o=9~qP&jB9(C*!4+f9(9 zm$6|S>FG3~MJTmxd_esH!qQr{{ovh`T}x}_VtgSXak%A-wIdz-t>)MlQwD4*S>sv37-l%GbL(mWu-UhB5DFuuj1x(=~6w^>QEe;LEh7I<-{wvM35$FJBV&z zu)dpPe~<=0y*%y(3hyJHVl+uSsfit&*xcv%cQR%PPc3NTr~^1f!I_?!1QDZvx55Hb zC;SA)_Uw#|FCCBe(bDFl+~B+HetvmhT8h694diMOK+!CbZD`6GMzz91;i=--m9)^|HanDWyX>GAX%F8Kuo#WkD3 zUs|N5tEFXTsb?wY2JK> zZ8TiOwhTHFL0yrKp(pI1q-1Aj=k1D;!7d=2a}g(!6c7-wU}NfY%|P8#*51mh1HNqZ zfgfM^0Vgeb9n+gMPH^(rplzb5sR?L;W}2Yo)M=#S5m*wkyC&hF$8O6pE?*itx`O=t z4(-E$l!S*dS7Hjb88{i7&+_wdalsIklUuqWRXs&Lg(Fit=crJG!ul48PPJyIBE4uO zZ0>4PYusdp|I|zL; ziZFqJdIP+JWf9xhi}du372&SN5AL$YL|Q_Wv(D)&`7PWXIv|AUz?np|lQ~R)Aa!#)J_xX~<4u<5kfiy90wAk*lAppk#W;~^zUmGe=uU50_=4#K5Zz3lTi-e;!1FQoS=|se}7PIVzA6S{~pFZ{Dt%R0m+~3!? zY0DN$ru#T~qRxG_ahlj6fk4~1h051hI{Lg7coQ~GN{K{pRwtiWUz7%=_i^>uQw3Yd zUXt)R*4Jjy_;zu56Wu6|m-X}I7X|jx(yAA~hP(V_2#(J{8-8dwn)(O}3$eSRVS*Qq zG3ZnP^cqeEB+>_Dx&*n9BOX7ozYq2U5OIEUcy7>e@^hm%!s_0&YgfEa7Sc6DK=P*;_+e$c_vMQclLtT?fFi7~w{bvERWsJtlMB~G<0iKecg)XK#n}o8&hQ=# zR)_pR58kk<69ne{mFFi6{?6uk40*uY`>plhQ{|-Tsi`nj4HTjs48rq`iee#KZd}jq zz}An^(Hn5Nfb1is*bOzD4<)u*q7vJWv~U53p{OJHW+x_mjd3^Qux2#+X>t; z{`E;(s>N7%J-MeGoWgPEaqAvE=1 zSx_~V-f}M*EAK;*p|tb^QZ(?-F|m}4jEUQ4)wg9P*D`7z`>&qZKP|FN0-nve6>tOY z+_{sm3YC5auv0DMC*unEI?1e%SfJDzP_y7n6r)(XjrT((K$K zVa(WQV?cP6osG@%bfY4+``{pod<;L#7&f>~v{502nlL*F9Z4*L<7Q{uF><*7P%;9F29!d{8v3Lpno)YQxXbWKmg9AY3YE{y-Tk<;Du^c`RNWPC-ck z8o+^Lv+mtm+}Hz8><`gg=V!_6zJ2}uD1?@96Ys6X4yID{Xf^AJ%T8wTg=Yv3x{2G? zFfh0SGD+*{hJq;=Y zyUxs-26FbFd#iL7y4TU;@Z$+KvBOCrqZs8l5Q5rvJg5>5h-}cOe+{BEJS=FAe;Xfn z$4PWd9y;7}zklz?j!h7=JYnJrUsP_afFMuoGQ*lij)_oUlef3A8LfXw{^wrzZUKl+ zNHBrDia7HoO{X2IEx3_1LFzxQBNHXhyDWl&8pJkT9Gd0|#01wGlvYqcS&H6o-`@S} zRec!g3okD@Eh9$PUaLk|;OnO138 zr={#vEC?1;%m^+VG|Q>+BeE^wSae@o>iH8M?9(=G`%WG^miS=^V=rbmy6>OK>r*Qt z+6NiyVu0$;t?9nl8lVp#$GA4{Mg8H*iH~Jv>TR4@bHLlZA3R^Jb7n;@-$ED|0p5_d zA^Y;uKS50Jbs42lp}zmQtc3ki!~npk2C*1P<*xYQ3 z3qV|1+uH6W$zgvN+5`}HaZMy|l z0xx(_BRj*kx#Pc9SWL_j;!uv;FrKQXY^S2)uTeWjgND zr0LQ2Mt*`2xc$l-yu7}8E1fAN&JqXzSy>S|0A&@;6f3kjz{E)2Xih<>!bvyBf@IVo zw2|GJjI15^^|*h3U|=8;83Ok0o(zL~)K^iCkn{Z-0mcO5%Wc^#k zVdUlFN(Bs>wOh(Y_(CA+=oBag@c@azxsC3cPrmGea7RG_|BAn^|Qj@G@CnoYg-VyTO3f=#0e*XVj zQU70lQKIn6`p+`N3|J^-P?|lAi6MGzIL8AN3F#N|;pHUNH(Gds(#zYPv1QNsOdwg> zVvQWyz5Dy<=rZzbhQj)QEU4^%Qijp46g(xOASdVYw}v#;7KvuH>9>MBVj^(I;2Z#_ zuYm8C#S8aq2$P_I?)H&40x*e2D1de+Qw}0S*g>@Z>#x61Y{61yrl-GVn+H=L!Dc*! z03J_EOWUzyhw`;JX^QDU?Y1jV!LpXE*RTy0!*+%SBfLjr?9tW7(Y+{7`e()ft=N@u$FTfG}V6c$h zQgQJODOfPOaGD@c`uYw!WD6X5_6Q(RBuHy@W!&A_(J^kliy5kzoACv`oaI5Wwf({l zw{WenOzNe#4%tvK6IJeRU!9VY(k*Bk7%{DzcJmVk0I9rta5ZydovqM_hfD$B(TgQ^ zdx;!^5Dnd2XEhbK+EZX}d3+xQ6VXb9>yvV$G>&8d%E!1@$&~=~!8)O%cdq0uj&sBb zdwPY>qoVXHJZI79MM6QoHiL{0m|YisMuMIgBzcW%WxmA8V_3BAZy03IYXdM1U^wuk z3^^Km%0}(=ZAaTqPTj!XBx}4AW$Kw_Qsa=G^H?@|(o+v0?Jl*JtQw7x=VW|IOiYB} z4A4^m)dbwoWiZ0N%>`ei)Y$x(g9VyDWE>!&`L1VZi?L(J5l$RaP{6T;e%N=;>j%n%z;#jp`qwTJV(0myO$e+R;}Aih zjiJ%wh+G!SPgqJ2PuhE>IC-WqhBkI~H=%^U8wYBWB+>DM1_zkIiQ75OFD9lB4UT5k z_Qw#iI6~98AS);;iYK4~ot+{z3x4{l>543`P|^xWKJ z7<+@dhvS{pxq_=w7A#*t<;#CUEtUN2!pk%0Q^Wl1o@)fGkI{*}sS8zM8x<8=Q?|CY z0s`1Db{hOx+p@@Ll^w_*2#bS;@@0J+Dm|7oiZSfn`<|4cw;mEIy;0%Kn>P%(KY{%b z1WxEG5y$P(Lrlm@R<7C>0YMY+f>7TPUf4ad@~dD5BKn6REGTeuhA>ewvW)G^#{73< zD_xg=mj?;oVSsIK=r&Lm=r}Oj6?%>%9`h*X*h6u7btR6RH-tE07P~@W7|GX4<<4}K z9lXnFNQGjDtH9x6Z!s-ckQt|*NG)`KAYlsv&^O20OA?pT|JWZEaouUJ-v1-)sgh9j6J(}1Q2RV?V}0n5iHV2=>}lL1sH2p(Vn1I)EB4#jSv6&*v>!yyR)aAAS^3QG&Q z#CQ^*ZIgd;1I89K@X}lf-0s`A+*3&4aJPUErvkzZ*7np<@?^=B8XWQ%AM_rstR_QA zN2cnY=4WFoudlyk)(EW-H9XWfE;bga1~#Mq+l;nYOjs8}IMV~b3PQLwa4B12YsdQc z3TWAmp8%;e7iHJ* zq~4mU-HN{;u{Ql5wVi2Hl-HW?(c^Uh4X6^%I+o_uNDt2K_!La{-E2x#=!FGWTB?3>I~!+*jLKVmwj7nmoW z(Z5vD`B&;6{~4hE{w@B}H~L>nZRgAWADX?t@{Qc;K1}#lb21(;cDgxd*!Iqjo8v!C zS9rDtjp|(@9POw;clR`BSnSWJ4YV9;KK0Lie^GRz<~kM$y6mG9pyq zb$6d?G7SnQ;!k{*K>Sw(B!6By2ly0+>a?(5cz2|B5aV$QSRvXMq*+jUyIA}{@9HkD z&u;vO7C_%oXN8C7wBI(N_5s?cTL?6$yStlf*NOZ`gaAzj z9n;w`OH&X^bc7DR+mQ;zmcLLa=om^bh%!Z`1$zLqpXIVa%_10HlT1F;@>kSwh;CsX z6;+QaRqx>b!hcR|`6>_W7>sFng_X^oFVYH`9CiX3DYQe$1*cV>bh~t8BC;7%3_N?! zn>R-mavd~LCuUA2GW_G&z9P4_-h&#%HV|yAW^EQJMZ5Kth$L4^`>D#^oHd&%O( z({yya!1i0x4<0^jM#Im2rm3zAY|;;Z(yu|5WjU9$-opc|(w*FfihRWL?VkkU9@Nff z{}Wy38oQI>Fe+$w@r73{U#=)6Z-yl zV4t|q2pTLKoyeAJU1#lN<3IO6b!p}4>A7ajIXjt=)=lkZcg!dHCDP61HhD)43u!gu zX3;Q=mg%Hr{|-CZ0szQ680hPpZhkcHSM1(KVmK-|rLq1|^Kt*w8u)oI?8;c9J- zi@>^cN7D+I-Me$}$z)9Uu42l{L_2Rkr_6HC%bi6RN7yFbZE9}rSZZ$mjp#uuby;@G ze4ypY^oO?n+09R$2EgyZon;A|tDdsT*dB2K=3c(sF|6WNi@}}ZVsH4i$j}TLe5@gj zKYq?x0~`Fl$#?q8tzysx;kaBEgyS4@dynE<+-gqGnZ4(om(pRO92GJO{3L?f{ zmN5U($}!dD96HH>Zt?iZleP8|QWOaH3Q!s#^;+auY9@>ya8j&v-7}$v^n82GfeX#d z&fRSiu|t(Bd8%0%(7!6$h>{WhSfzq#Ty|`x%fjM|fO^Z8l#Nk$ZVHKxx`)G?%QV8J zg@sH?a5+1_T^r+bj`cKe#PS|_Z@asP2YE$h9XCFqUxhD$!5BN+*O|_`)Cn$IZ`!mM ztQZ=i$n!r$MJ@eiH&`i8Jh^1EmuXlmPQ_0G#%bku?9{2oM~{BT9#)*HBOqjMDNp-? z1q-MQKFm%lHaFgS-^x)@L@jEM>4Oh=L7I+#nX`62unOl~%m`TTRq=D-iJ9xHrq=`Z z^AH}}ofb=r4ZC7=t&s76k<~T0b%A!ick;D#V&*FoU<()q_?u;I3CfkXu+}kRp9RWZ zd?pR_OMSuw-|k5{<(_)m;tSsQK}IeSS9BM@*EXRj77q+F8@-8kKEHr<1}-2>jfr1W zUrxkWN&Px@%#gWDly9DO4GU-=&JO@@+%|ZxHqbacBwb1nQ+&7@Q@ZZ7Y4`B=sZC;N zry)gh5E}Gr%WxURJ~SMTBg#lA^F+<#V@9xd~!q3AOBbF-H>kv*?oe& z=U?1DKb=34Dpacf(*68Jo!tLdJ2J2IoZA?#^Nus5O=ESF{~VOGl?t8yQCA*hwLh#% z=i_aE%m7*!(sf2M17|Muu`IX;8Wx9^d=j|cdFxdvH#-?gL6#%^VhHYw>F+I&9{v!M znqNA zm8Swb9qCv1XS8gOQ-Ey>VMa1(4rY2s$5RqPmICY)<^D|1Pk~Gd?g1pmkC89cK^7B# zw@J57gxMMyr7e|pc6II8wvEfCR5H*!kdkrg3Ult*-O1S%Lc$VhC$c?NRSy?sbiIBZ zB6uz7TT!s|^b&%5SQOyr4zCwYK3r|Jnf%U1M!L&$-!P#_ z6mxOj*GOBkz-SQB>Gz)|O0gfA_AXLaWUiyMv{nmCTPLi(^yyZ`#0u#R6VA_(4a8A* zC{03|VX-uH_X_I(b_PU8!9fI44_xA&KE*q?iL)(x?*J8#Le-QP-6FI|E_*R9JDB8YiJa*dST9s)zUI=0+)qnwgxck?rt&P@})1QB3! zuCF1}Wg>orr83ftk4k1HfRR-VK6dNYVp-pE?qcGc@>hdc)-PVZ^p(81Y;VILV@>HhGn8 zbCTYP+v>eRIZLe_dt5XI5r);eBSdmK+2GQXs|-&s=QV!6>ZDwvE6Z+dirdw=R`<|e z(n7p7jy~AB(=pb-&NgvtWqcDKV|HSKqrr;w?IXKRt1j8}`xQsYc>7aLwmvrx1n+Il zN&7yt$z|GNx%Qzul4YOc>{ki zN;0pSQLw@3^)a)@%1fBj6SFKTyxCt}c>oU7UfGb4@ODL}MaB7L<77!kvS$TnsyS3FW2N>^?5Ce>dhB6SG4=_~b|78ewC-H@#S;GRaZxcATO^_z4=sed1IEyXu6 z@BpB>WS{qn-*4mqpV_5xOh}w$3hiZawbWZKb(cS`9&I~*>{w6v*kjN`DFgZqSlP`x znj0EC#Lt57Vu{F>tXquG!A~*_GjFw&pbI?ovdfK#kQ@U%i3|2?zWXqCk*e&sBX>Zm zq%$X199b=s5*Kn!vaf+nCq2E95yVOEu1lxH0W(r*;`n9dEIHW+r3j`H5``g|F5T{o z=i=qdlPaWueiY-45}(xcMnOW^MQ9Y2mZs@!)lgTbil;fcbVs9^S(P?Bwb6OF&oQ|A zOX@y!v@2+NSzWNQY445zYcTz%dL79cfiEnX6I3MjU-|60<5F84H1>`^69yPIgAHVZ zot+TfNro60&xwPA6WHd?w@+# zp_4Cut`*ulQ&Ka`+t0{SZgdxFFTQ#?Muu;t&H2m&`Q|E8O`?6QBVJrWvwPVw@mj!r zy3>jkNAEew>4!V3+$~YvXlT?pMeE~fvbA0B=aLS_MRWT8r8I}{UsV76`TG||MMp1+ z*0-IW^k2>(`)`%{K8L@RxXA?lLpNaed_^YK_$v=yPHNq!wc9gB!g&B(2#{cUnY6ii zd#%NO;Np85pmN+bKfTUZvXYJgx*VigCeuF^R<$*vc~u}U#L*{uLyCHjvSXQEMuh~$dXD{?~9PQ z6h@_g9k6!o+DPB893ycdkV}3Or$()7{NC7^XC2f z)R9inkHwBIfX9sxD8Z=!z3KW0(eIHX7g=Wj(s1S{%7h4$5sb$bjg=sY`FXDN6>uUr zEZF=PG?u{b$rV!llD8_7zLlG>;gO#kXY-Cj$j|`ew&OIAF}{|xFqT$U9j&cbwme-3 zUCX>Fs~Mau_o9N28#$7lPRhQKXgGs7#l@WNMUtr2T@fFQDw8v*@Re!8M9_hH`^u35 z72dinddDMn?;X2*%P)wI8 zWyHpqPdzTuE^2C=E>tEmt^^nJO^HNg0!4=&MOREy30-TSnbc>&pIB~bNe_FAFaoQf zh=uL7K`k89@>SAxXmrG!6V%nGhE1D3UBNd9lg{0?{kx2znt2)#5s>LB>O0vF&F30% zsfNCJypLT!Y2}662yTU46sc0E7C6n}EXF0@KQxL;XGPYlq|n--3Y zZ7W)JiDQ7f$Gh;|T`SQ_q%lY#b_#54X{n<;x0SZFw~tZ2$>Y6j<#(!DeJ`)J*p-bC z*_LEQ80tSSJ)N=naUQI4-VTVA)9TSZ|`DE`?E!zn$>DKi>%dWvspuT6IGes4HKsO<4Kd(>ZkvnmI z@k2LuFtORnBsC@W$(0H=&J2J%q)f{D9xOIJRvHw_9w6Ge3zgG9G}=1kH9~^0urR_P zoU{B3EnLS~{BU1tq`8doIQ)i>G#Aw(g_*fqAyx1-7Hh0sC&7Vzzq0ak1QoivmTxNn z%N=rLYeqcWYkDX-Ia$%l6OE=_vgTEKiWH$eagmpK0Dzf90t(~`%jvw=@xyc9-s)A* zAUuGnZmeonm%rQdjbx9RxvOg}^79?YWRNa^ddR&YVGb^g?Jm#0<8bAeOSiYD-1sRl zpP&t)i~Ri)Ua4y$=w&oGrnvXe?K33UHbcK=C;z);9|+!t(o^nNmVu?H{o7Pu`QfMa z^+q7)U9~}e$fObTgIXD{4nQi;KJJ((AV;&_S2qZhz^n|QbgyJW$tC!3=65lG7^m0m z{!tJ+V`m~z(OY$KB6C8o#-9=lKI6h$~tjC9I6>; zuE2~mj+o#U-ydzdzB`pEar$C&D*<%^yXB_z;)qChN#hw*_@6(tA5@n#R(l^1WP}kQvJ7VGArq{S5*p!`}^-Q;K-aOXW2e{(xKc@pLyT>>M`=FUJ>m5==SIMxZCIAqz#6e%dcIB`SV9hW-!ox~zx>o|71 z%^421@um5+3aIZXtyv`(Ik&9k?qNeYLyB{5#@*X1`Hh0D*HM^~A|*)Hn9L~p4J6FK zKn3~vs43eXSI(6g*FDeWQ}G1$_0;v>zOFiS@-MC&Q1ht1e$436?PlYCbmrVH#4ZVe z$3YzcBYyAwm=tN?78jqZji-_rZvK=BMcy87mpKYJ{HJoyIXhnVvP;tk2{jdt_k;se zaL*hZH+wmxAm@=Be^DPAB82Lcdc9OhZbyaX(zr`g)%!|k*U=v5NzGE94_)rrr@o>FYtxib@AYv`H)nInK*x6#^_avG(OQnJRt0#P^E zXFWO|6H`YqWw){X=ylp%SKU+ze%th^cKTsE6>-reerX*yRL$VS&F2hFeJmB)J+{fy zw@o-2bYZnpk*$kqm)i>Gw2d)S!*({D+)(mq^=7#+d&69oJjY4?0q|v~)VROPwp+?! ztr#*}^HgU1$hszMyPu7UAkflet%14UU-fxBOhj6-3@CjJ|0D|pJ`UF)rlEp)sPh+NKs%$-0z{Gp^E*D@%Ec` zRjt02cY%DOveMGX31YWL{XRoaPgDv%@Tk$FVWy|Kd^&Try~TdQC)fnZ3GSw9bCbkWYdWwbB2d*1O1j)=uvgir9&Zt>ldD&i-fr9E6=B&s_Bl>JYq8CNdzK2?E@R@89ThBeoblPPCv`5UQQshT{0REYn{`*eBY=!(SW2!(i;f z4FH~tr{UyF%?+*rukY_QP1JX8jBxPyDSCvxXaz*&hq7TW1nf0KWyn_?CmUjHm)4zo zp~#-9_ks=z`^)dE6^9`q(iTgh(m^ZvIOP zALKlZw{?j{*2FgkT=5f41RpO&?Q=-}Fbc$uTV$mk@ zYB7es((qa*dH(!4hr)b4^*A{v4p{{ZFoOD#Uo)aWEhHvPa zS(+k!2~pKG*A|81OX6+gY^H}1L-!U-2lG4yl`OR9+(C3SAB;0jprN$b|6Vansz19Y z#!Bk2I5uMFNOkon76vi71fYP&o|t>sHCf2F>GEBZyV}|`5uwo1&uU_m2OMU)V(%3y z1OPqmSe&g6s+p$8kFVPgQ%c{bJ6XxChjABeHHD0>FcThW@AZkxVA63cxL#T>H0o-T zOiY4UxvXwT99I&-!0@PyZEbB~YIDvQ(2wCy#VWzEsz`1Ncu+4aJ3TclGq`&zBpg?Q zS>O_V3|%*&E0%$wXO?S>9JwYi6y@SlQ09Mp|Gn9pM|(s2+GAkF7^uJrBO74l2=PFQ zhtDen=$KD&=JO4Qu3im7&p>)~x6XiH2Y)m`sq-DpAl z5oU8^;a{sl!GdK;5&z*gt{BlPhv-h9&N+2_;%AnFlxl8_8KrblgGc>kRbmZIoYhJ; zLW;xGfbcA6QW|`|cJJLTahRz1t47QCT}T{0t;K#wO5vp+V*v^u0PE?@WED-EJ$na*;(Q$L%vl@PHpUX&#@h%BUe0`_i>3#e@=Xjm3=pF& zV&I$N+@Tb{IL?D`ITb*d1FY$)Rd1jePFH)URWr{iUI&8xZY(I{5LI zoNL@H_SCZ?QHKMB0)u(@#lfhjt4rWUIf!)G#`#{>4W^tDIFiocaA@ySz94jRGsfdltqr2Nf7h&nHhz^AKHC|&UHs<~B7N*Iexrtj zNwdHA1uv7ye=8_By+UvLbc$k2b((J72Y*r$#>+LUMFFrN2d$28+?(-Tu z{5yt)6G{JAoKdLL{vD$VZAHV%;E)hzcB>gjYZnD-e*CdGA%dH7GDD=&5o5rbD_w0f z_5YNwR{2vtF>WT8P2eFEcI3&v@!1SRA92WT+L$^Hob%0`m1Ga#c+Tm#>&ycOE=HmPM`R8Z!MWQe+U(T5=VwMKV=^i}b z*Qi@xJRhXgc|J39CrHY9-BIpL530iO2`>+jVAj`q7`fHLQ#$oZiw=+(fsDOdCGe?K3h&H{*7rVO+YDXM-4dq9&+S?18JfVH>OX zZ4p)+T^zA6)=n1EUOF3)g - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/benchmarks/benchmark-times.pdf b/perf/GLM/benchmarks/benchmark-times.pdf deleted file mode 100644 index 7504b539b7bcaef5b8388ff2bfa989f13b11129f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41051 zcmbrlW2`VvljePF+qP}zJPO4|z(8PUXbHu`LqIQPVeM?<_|I-_;A|pdVq|A* zLO?HVVr%AXPQc8{&O*S)NASNFl#{cgiGdB2`^L78RNPT3V((ntJR={A4BD=s{_r7s z{H8Jb-M~HJ-{H%lXhia`uW#i9B#n~P&dpi*9*nEmm$Oa723_xDNtyHW!{V}Ayr&eo zpx=uL=>e+SYmfyBqnW4u9WbG4wjy+Kw(Awru(JGr@d+gzQ4w9@}t1_dFfIIg6HmtvL%V5H zC2Cj8q2)Bj6l-%=Sk}X{xURq2*bsZCBY`c4bP1{pN?-HfAxPivR*2a@3=7RnO*C}m zhvnDsOL3yne$w#e9S)48qSLOl#Spq45FH9FR)QwYN*drv=#6lHxK2?>?6`G+Npu>i zK+v()9cjw}suyQnVN5d5&t zg+J<5HH@;+3s(C%8<`H^#=y%o>NAEximabFAqr#Z7@>4Ia|GmB?-Fmw%+gcpI`tHM z%#5!`X~h!RDfOZ?#heIDIahp#9V>g>O<1}XCM{ZxQWUhqm1SG-%c3ot%T^aOI(u=l zp(jfIYMaxAo(MV9GTF^bR%HVh#}u?N5A=D-oS0n>+U@tcjz6Ony-m7ox|`5SmlY$y zwOvNNsDfX&9rJ(I5@4bxaATx6SOs0-@A7;9)IchU2w*e!{8k{UZDc%sPdyFgHNW`t zOI+TWd>3D)_r2YJ>uCb`Jo;t%HcM z@&4AhSM#X1_$a|m3kJL#@`P8V&b_F@&n~C&p7pLj=UVqY>{MT5Ip#IAXGzq)(Zk>2 zn=_f@@GJG6^o4km>AugMe01=8)o#?C&S|WbUS!$p5675dw0!~EzEt-)e9a7R4$YNT z-5}4b?PQ_)C=J0!5A~e4gCZcAhQ!;s>`M1A`+QXWBwee)X*>I9!9BHF!y}t|-9LYu z0U}fAurpAWQ2%I^n;o?LZn6H>Y}9?Lsn}%pLcW?zXE`upu>MrfO_sPHzG;=aoyd8u z_%(iS_%+qqS$-J^6>CQy;-n`yw7Yz3mD6)G@Z508x9V})FFea|-Wd~b_h-;-&p89D z_E)ovi06B$c6`#?()p*jmy*7I6Z(qvetc=oXTgf z+DoA%<^N`_+Bd-0p>nK`(&VJGcvvI)AkiY7l$5tAjd!(<=Uvl242m&{nCazqGVdye zo0j1OI}lp-Qv*0@MbizBXq=}Kpwik#DlQzPGN8iR#wabEwFU z&*xo{bsCl~AJK8qLH8*pj9j59>#N}46ERqzaoMO1^<^*?0 z!pAKxoIfma_|n|q=)}!rY_Q|)W0*h7Z+u)`5n{X98YCMX;X8fn9=lhEjR8#2erQG8 zuVRATRIt~&gU#KF0^${sSanh4(;yCP4B(;Qbl>^vy;we_pjk%``BSib=rc^I5*Ay) zvOrZf;0~DEhDIQZwc!ODW|0K*LAaO%QgewO+bJ>^dj9dGrOMcO^de991-5(2+Y3%D z87F-N;KF7x$nLDRV6)Hu1{LS{wD%U>JWFmQ>dz)GLLttMv87h@A)h#ghkOIj9rmzg zI@%7D{mk`ei9{BhF=aCZhu4fizDQvnB~}R{J`R4NEmw~uTrpF5h?@G)X5333`78VM z5pS-@CHO(xGUv7H40e0TQR|JicQFHpkAshLU~a>d9;ms9NQkt1;Bdz>rR)nw28$z1 z{O~*z@ zM>xty7V`C1a1*O`;SdE0);alTI#e5_P-Ko1BAE>1P#8C3>@2y-(Oh}#!#BZRfH|x4 znju}^?2GqmNIHOaXRfO|PBks}&;e09$1xKKwm1JK)`87k>elgXFPyc#YgkYfU-X7> z(*UsvX-D7Dtmh)>f&z}rRw3i6Qn%ehmFx`%Q~JDOZl%@f8`V$F&w%huextw)HG6v)Y4noqc*tISyfnjOe z>Q`hKm+;n_A!)Ot6Y!R$9R_gbJp8LIa=KEWo^lR0iv5SuDd_d7@7|_#odImd)S5RspHLf zKXcli$2LG4Ju$O_AF9q%yy_rAwdU={N_r&KeHEr-A4+V51)p>eN5kWjvfrqj2S-y;;NPfAz$J z){LE>i?=UP^|Rj@IGHa=xv8fO&u_R;ks1R!(Jjn5&HCpNlM&0%n6mEMX_hJkmFo0Z z&wy>zlcxf1dYpx#AbleH*ICP-rEIt*Q~0k9F0Qi0Q3o1q(StSF?y)r1s_(hfUWDJ_ z*o`Kt?>Kltx>=mXQ(j&f*OhId7*O0uIc7pB_g*-}gsLME$JUlF&~OK514q_3!loes zmuxPw9WLh=X1oHzV#+XR&Nx9mbY^r?H>84@goNr;6JJlQg zo^VZVJ9k(O>ea9&uU(y`TWx#qZGmxNMs0gouYg&>MY~`mEbY6_7MQb5#!`2r9^sbm zN0bFlXj&RsM?FuOm9g9yu?^NrAGy`KHzJ!%$Ph}5WINC1G+e7+XkkFxwPrR1OhbXFRKTs;v$)8lMFVQ6B$obafu;;7XSBdLJ|1&S zz_L}K-TElqgD@8g*MYUlo7m9Dp#kBnUP8{S*7RBLCEs~Oam{<_YdIO$>YD#R9P7HV z2=5*yKsmLjF=_IQ*4nBJ5dJ_4l;T~G8xsSq8DY*u%QK7kW5e3}UMbcIZR~mjab9?m zoDmpr(ww{?nDtxdRpl`}y&NLf)u?x%GMslT?Ja)&x@$?0q8U?X`K#pAujDpA_Ci#> z`~H%+!rkcU%bLz>`{jUoPnUK$0iZ-Q9e`Ym7+PvmRw#@4*z4B_ZuRM46EV4OQiQMl z1AB`|%_Q5|BY1UqCmw%(2*Q$X72Dv_qpkSNNL7OzdqI0O+@Hs8u7{?@dk>sGCGj0K z**B@dl9u%0Fgsj)=@xrsQ#8(e$u`zgL=vqkDd%kJ{|A8ooc@Cz8QK4b7|F!^FNh={_!mYR>Fe*wBgo4y?;Nbw_m=_ZZ9cf5F%qRcK{oHLP5W#0abk zljssmF6I{lAE3e-P%q1rNKnKzpo@Jr_4_g|^(K7O$7=ZLgE*>5j)azrNq!zS};v;EoOhqJ*<` z)O|uhK`FCPIzRC&l#+}?_D@`uZUx*DCm)!Dvb#B8&JizzFDIg0tf3{tTnFI*$9uw# z&2NC^ebR+(;lxu0Y30Y{OWz+0iUfZ8?g`BIsM-j^cd2x17_!0K5sE9c7kEUvOo9gl zN{42Bws zbQ$AP3s&i7Dnd!zG4sQ8h!w2Sa<%g(>26so=~cN`Qz9g!=V*zl%}EHk9Lbu<#VSM0 zA~MwyBN#|3Qww8v5ai+&jP&_oj1;jtL(@4^j2_7m5)7CLKt4V&qwY3U^jl=|zh^$n z@G(z(wZEp|H4sthxL7#tBsAU;ZGm)sqM*<*Q!5TJijH!4@tO3Kyac8|EtZ z)sjYkSc;7X?*?4Wt^{8W5~8TXD1^L=CIzS^t{SU`Y)p)*Cm( zYa6&5=GL-w8K^FhC?uXOF*+F8Mg|RkZmV{*wENJm)4|5$jY?=o<@MK1sm7tk=rFcA zWg~qr@#bwNKt)|>)@n0(IOm2fn1y0TcQDTI{2kyx5F6Rcv zsAT>5ogYV#(GgQ}vaxymaj(zen_s>?Bi-e$$P^yiGZ)?;e7B>BVAuOix;d2l@cg`_ z80_e6=lvmAw=cXviaEhokk;!qdE7Xw^*w{!Ex$6Pd>!%+I=$EjoCQ`Kvj1dg$NQiq z#D4alLPJit@- zcDg2uF}{-$y}MY8PZy#WRNWXz#VO1WdvaZ)PH=|qtb~BjV#yIoD$bfF#br6#gZetz zf47^zpnyr;>W!1qf-8sB~QIDPgp84X;xjYc>W`6fo!Xd0nK3pxEM>FhDw$kv} zm-IjfZyyK!SazOW=}B3)O*m0eDc3$xCtU0PumCaiMQ_v>bEbc>lb#52!f6hsJj~du zV0C~l94{(`7Sw67t{cZh-}*wb2=z5wp6u}+Tx{NG1eo0&G+mUqk$!LB&1R)E1*H;4j#4Q4b+fq*Nb=i6GA%?G;j>9rpl^V#R`B`$z z&fPIk6ed8RVR4??I2s%xP5oSd!s7l_;YVAJd%_1tTGvh*JK7jc-a2yQ>pmc7F zLFVjV*@e=&B`c+v3Cft!Z5x-FnPhG(!6`* zzPz-KKzGEraqZ?rAT9rbNFw7dn-Z56$-x?nEMYmsGUtD8ze_NsSZxlE3$4t%`qhrn zqsoC@n(^+fC7sP#f-+^o@sG!;qSl>oOnDr{0zf z>)|843c|@h{uU?x>dG$pLjLeed@!yi{Nk&=R*UhClOSPPY}Tjmg0xZO8-Be02|a2m zZP&cL&X9*1i`fdqTOMQ*1yav#%+)O0jxQxTWLt$XKRe=^ngE`(y>sxwcbWGnH>F>9 zBH(RJvE2m_I!wMP$Fh;?Ni#s&#zGn5&j%7k)Nfl+r1wLI``$Mt)qdvF1~9S5QPBna zOH{&}NBeglpTmc?#k4X&P>%Aua{i4NCgg~`E?7B!gl$!p{{?ahq|A%33S%}9d8i;d z@L~5YZ-NB+Va6k*U%M-&m-m_DK|CwPe8sa_0KyU{B?WdmWRfSV!+k9Ux(%!x{)R;m zW-^5?AUeD@Cfwl6zi?$fe<>ZNvpBW6bafQ0Y@V(%L^9{vg~u8d6#Z43glqucLueuO zYU`_Vl$-RYQAUx-xS^vkD%9yNVaKkI!X%(1eUj3h zonE8DVzRoTZg+*MT0=Jh>KmtigYe=k=-kK99UUohfYz&Vs{HN6*vr0zW}>(Kg4o1s z$ZJ<1VOwiPk#iMEUPKijE9hr`z%?n!bb7W#bJ_A!6-g!>K6V@gavSmq&&KS=YkiE# z4Yf7hIQF_LTJzX+yR&29veOQ`0w^p5bkfiXkb;C+(3dNw`_4ID&$dYu+mccXQoqW| z__7OJkk;dMJR+(#5`sq2kzx7h{u|SX_{oywW-!XW@IcrI1g|_IQU}U*S+O2ic7Glv zU_~TQ!7>Avf2mF06v^{Mtz0K^I1e)x&Lz8(z}i`Zx4T;HNgm+<+*3VMiAg{hPh1Jl z%#HHrVzh1NY0mGL0<_Qj$pi!CW5FD(7iYN5ra&?C_4doZdKd=jcMKDTKq=J`(IM9dtt#;zdRlY^^Hwu9|R@sOymj z$gfz5qB#m*pfmG~u>Zn#a{im`{O`IXEbL7G=5POHZ$pw~;x-r%LT}$uZvZ2BjSn&Y zv{Iu$4wg!;=%|9I^niKgr-tKlP6YVrZ6;kwswgA`x5R9DIm$L&M87NcaoBy@`hs~CcYBC+wJ_d=s3DqeV$Lgs1AD06lra` z@^pIa#Sb*M1Hq`EGxnV;hOG>3?FnQSF^@M9>0e)Mb@HsjCP>HY<)M|AQvHJ+Eu8?hoXbNyHeUBfsu)%=uvt{HK{EC!c;k;z81CYkNiptX zRGCV&GC>Uw<5T0HFHBE$J@8O>u&3mGGi0aiee-H}87b0>)cw_YdYUnZ7Qa**m|Gd& z>MXd?)$I4kqn8VI3KZXsX_Z#mF}`0#*>8H058@YKoih&X|5+$Z|6>kf{I@#!|8Woi zU=T2r5ELvIC=46`d@WGkf1&dKOhL>{Z2!{#w=z}r`VR`qLr8?gKxD#hVfHj@Hm^D+ z)zNCH)zncysDUq*1f3*~4~`Ee=`I#PNa+to@PMX(4*(F00)irf8mv@NvneTT^|ZE1 zGpy0ky2kb5HDg~`^81H@zGt(!-EO>Je{Q~g`#y8x!a6z)dGPE!MeOf3;`7^t*6dbE z#>&y(ZBt20D-E4z{RFpYY}u&6wqT;OCJz0f#UD9GQ9B~u^CETht^|6RLE8NM=+Yw$ zx+^JXUFV@a!_BxoZI2D@P6g`R;m8~Z-2XaTlf6KA4LBWlJeJ;-exol7^!fYq*Dabe zyF`j~1VF+-xNnZF)0wJ%FcLC4NMt(uBnCz(j4>1XPJ8m329a$uR_gC8muIMF@Q9`K znyL3yBVH`1;&aBcJ zNXLuW=nJ7bFtzB8zI`x7>yjBAfd#on^z{+4F31&0J;~X>oqem+Wk3DQdh`n7TSGj; z!s@no4yCU6hQa_R%JpBnWm*><${V^pAy%7o zQQxC)rzj5YdEdkGsw%&~DGYuXs)>DyNG3S3}EKmxF|;6}C+myIqDa zoBxR2YF~0U*iy6!Yq=x^#TSj9C^Nw<-Srp^sYAe*;%I;}?v@w$cEC@PT~yRs8TiOW zNnlHH?R+yfF|F3k$KliQ&2s)ph)AdPsA$Ch4o=(m{$^(XaSeVcUX!GJ+lB2M_~Cdo zmoL{1A8O;%M&9$+zVnFPYsLNZZNTB+%7+g0CSGWvtB>IIn!6E&383u&bVbL57v%}- zv$oW+&4hjit-k9eQ0{=(sZ9}^*s@aDId^5a(HPEZx>x}}cj9Cz(C$AR>Z_d8)wS8vJQpw|9OqTa72)e{|Q@ee4F0IrQCDr6C@Y!e-M*tF@PB3|T z^pw9KW$+H#nGMok*f%C66LKGTJ%hADMM9cm5Fq%!a~tbP_RF{v zkg9SmhlHT3hb&?HB0QN^C=~Zo$6iF{%3MWTJct$1AmM%^s_m> zpJvac)Tr7*0F&SQbbjLwrF@)uI;{>(Ifl6#T!Bh|&bS4iIE%g1psEo0PGYvq-is{$ ze2k+*^>QqDogn-fOMr|pWGnG8Kc5FW_)H>2^8#JBEnhOLjA>*YYB;nf%Z4%&Aa%FW z?tC)J>;K~-Y(_;O5-QvJ3nL-TJNMG;8YGtmzm`{6+X{NyG7pP*(pQ{BA8`t|Nzd&* z*E4k5D%~>WfUl%NK9e(|1wEsQfR0`JT9E91iLm*>{vjF?^sS9gpaw;|y<6X-eA`xC zk>%P5``+y^emZpKv`D-m7DJ>`rO;fu5zErL;Sc_5n;YX*l;P$Kaf5f@1d=TIxsq2T z5tGm1CnXA4LbbgxFWSof!V_G(I+AG^Z%4UU!-d)l7Bdg&oL|kyive629Yw>bf`*Mh zNG#VKElaIu&YI61K)ohqMYW2e^;Ovb8Z;uQ$j{FMezCpohKr8&DO+9+L9_Pa-MOsX zh03WR_NTtMd`p>H5fYU`VV;ntwxYYYPujSq`y7Ef8M+4%0RcS$;r&cuPmw7uhQ}rH zx(4W*v-rj7}86X@6E)3bZ30(4h=eh&eJ(Vue|fi`4m2S@x% z1z%hYqrYcyL5@B!;DvcRt^9*8sXHQ;ibft|;;1wy46a!PuM5G&6R;5X-HA)FKv=%< z1(Coo=G&}F?rBkHEbhr$>Lasc^Y7V{2to$YTy*JRN=~bsxv<@Si_y_x0lgh;bJ;k2 zU?>QiWtNc<^aEG>ge%5Hc;Hle<>4U4rr;M)o*?~sy(KkXv1ELWNnZu%JlN^_0uM$c zvSUg;1;Ogr9LeI|@Y!p*X!us|+!b)})JiQhyIzGa%ENwx-XLL~O@jBk@p>I%UuGW5 zm!vyaT$i>dy}Pw6ak~+>-!*mO9iwlH{*jC6MCmc)j0P?4bBs-n#HZ5Cp7tE=6kudL zOl$P9SDosZvDv}|mGFKjkb;nz>#7Ok85YZgHUVg&jGmM$? zx!bcRfeWowGi4R{A8EaxACt%9xH6>)ATp>3B^_d|^5Txo^O#thPHxzBpMch${ilul zu;+H8)RR+tU1y{*1}KRlAC`^h!zm$lzJI{9PG0)JcWytKjN&hTOHb|rwmpU(_MkA; zNw>%8#zeY^a)ITrY}Htl#A|P1%FC(-|Dsy`fj65u zo=`aGh@FJgI;$?+AhCems>CX3%VqtW$@58^iri#C34Qg9ToNT{x>JuuCT9j2 zlBQcOaUz5)aX$S+UO|u=ZB761lHz=YNg)Fa_w)68N)^-FeOp9s5sOjsisSk>eHJQO zmEL4Vtf&Q1C#2IyG?@at#Ut3wY8X!oqb|~=K*j5HIs`3E_F(U$?HqGX(ofSH7X$y! z?5T>P*LPEFSI@PS>X~R`zoRRe?SSthe3|@}e?#eT$4}ZT#ZqRU&)V1rArYb}OeqX$-%JuUq9-k518kPYPM?q*v z!r$c*0j&$>#u6={IfD+DzU+cjzw_+ESaKmV4BaH__~F~d50Ud>(gU8X97ZFW-@s(|g z+!LQXp0bIdVqb}$ZvI&j=haSN$TTAB?OQF2uXgs93Ljw@xd`N z_z^B5U&mwy%p&cE@#e|HzmoFyqW$$8c| z0W%q@aR(vU5#gLbp62aIfG(fw(6SX>)vKF={r$tj!1<>khvHmYQcey)dE(W%1<(To z+dGM?1N8g>Y15Gp;F)}p*aUXrBHj_P2^0C`nl z1vW7QK9Z{M$pg^eE^PrI_>cIne=2`gAR<0=V1kAgWM>(Y(UDA`{}SLL`nNWM@vkCJ zLHEnA_8}R>VzAWWoxllm4OZJj_Q}BkCm%ZlV8HF^-7(m!6*Hp^#R+o#1XA2p!QP~% z$ge_~laqr$MG?Nc@QD^v1I2c^(g*Noxd;^S%JcbQvi(VJnW0BmwVee5qbQET7E-yd zL&=Uh!q1}xf)*GsEEF;n0vH4pa38z|@oiaqbrk!86Y}kFfbjOoUYPZVg##Hxw+QP0 zPI%MTzkvX_ya>H}e%}r7(;`8D(2of=0;CS6MG}3GbIZmycpMw0-9yk$7OefvcWT3L(QP zgIo41!y^1K*FZLiad!H+EvG^YT?)gQL>qJ93uoY0e~ZJ9P!RJZs=g&|uwf~-V=MTUS6*H0oz%kwH54(|aw3b<5=W%Vdm>NXV!5dTa$JNxQlzty2-72kBknU zHk#-ShpA3Bu6uZlT{6imk=*IJw`~?pW=ELX(0V;@MC>)J@a;=A5%g`E(O9l&UZkod zrJ|7v#v0VVzecKagnOF&&P?G`tz3>${><{2;bI}ti3*jtYrT}2 z6A&JK-9&Vq_=nA6Vh7dOo3d3Hycic+a5HdZ(Q!1o2^!o05xqNxajXO^i#_N|XkUKj`t8Of7 zQB>SY;#JOEG8tfp`!|8wuu$USN_!D^_0~?gL$BE_cB%IJxI#XXMa{(gRm&e~kg+xa zS0ST@9xyQ;s11BG{QIg(_~4zBva%jDb6ejx#Q-ARKTlx=#8P(s)1F@g4X6h195HAI zd_~oszzKvr;_M>Q3$oJP-jB|G1as@3PP(C^uBDExeeZ9Mo<>DWz@AA>L0>J0_nMEd z6Jh;3g2~6VIr~ErD&wge0}t>0&K{6$%3V&iab458~Txlm|KknNaxstbhvb2w*i4^f7A_pCu{eb(CUNnmXSdej^W=5Vwb2 ziA@XUJA^epDl;^n?o-Te!Yn&bTI?Y@z7}n84@h@p$d)v$yBa^!jF8y{g7`R#vRiHf z_pZL&_a{gNC^Yvo=ROhB8%oscINsz4cw>k&r#%{30~=?jG~vfS6wGUMiK$f2t(hXL zZiMiv4<4gQ2iWO%$tx={^z47}P(i=OF@2wnyR)wYS(LJ}OCGAi3dC8}uP5fLo2pWo zRU~7go?LdVU4^+OZj=z}f;?U7>1dyA7ws9~t>}5w46U>=mg$S9j85GqE)x-+j-wt) z4FsR#%UlLpz-6hioy2y&otEOx%A`{e-A2grgcKj7TZ1eCV|66PAPEtQnmmuLr33djSIsNOIRxSt%AS48riZJC z9Bw_Xs2yF}T!GoXGPF#7VC6NY1U=NbUfK53;{*+jv`raE_0}#qy;B0~q5f2X`H(E< zi(+>Bav>4*6jVq#eJ_%%BLq)vke(upQnO+@i?g$u6wCB35BqH}^>MM*{mlGD6lv_g zvxr-$LAG@|EMqDwW(rf&xLcOd69);~U!S@NcK{(i!LFAYg{=cx)0LW0+)d~5?aDZ) zm%MSB587uQnVWHQbbxfRQ7duI#C94Of(jpU9BQ@|(`yLHvQ>(s4BPD1SN1+qZ!JKy zbKIh`^E3baB59^-T7ES+e$AiLP;sqh!K|vrbohAXdZXYh-r3Zo!uFElpv8Z|&t(fb zz%yQwSpH1dVx?B%Qs2R^slOm1A|c+$rqg@M&#LmdYDx2(WqS%wjYg)yl$sRJj5@{CDatbLkwSKAXj^eFJMDs}6r{*YCQhBYtR-^x21qk$LW)NR~F*DkG1(y|cS z56Y0#i=0>8G=uN;zVAY8S6`}kj`N>#ld@xRH?*>f-ihkUR|1Z= zT)D)&Fm)e(X2>5>Fj;WFXgBNl&~IZ)+ig?nKW+6;_zEVzj^Z-R+*gD`vsA@(D@jlo za)W`+A?s-L(Xx5d^Tu@lI~*rI2TRf4<(!juLeH{4e4Dm`Ewm#@GfQ13rx>lF#*jYG zcK{*F1y>u-^=TlKAXOt$t3yIMHs;yEm0M&+SDK=|8Qpo+E}^Tk|KJ$!w?Z6;(J+D) zG`*18-9x0ap4RyF(9vs>7G)#?6$l&z;syOI+&snQy9mCpavPsnM}}qTGC|u^75fZ* zA@m|!Ry#5~J(1di@H}z4*dXnz@~0VQvan$$%Sj31hDnm8wQCLWSvttiDnbVT=3>nM z+&4eIpmI}A3twe(iqU|_<64C5b1=nc zu1(FcttbiduqoYF`*{-DiKEu46T|7Qo1KWt7_)~HmGfs3DBBJTrH*}^EsaabfqmvD zl6?8^xCmpFeoQ#0;cp9y*&d_e;7!jTYvX6u`fABBTy z+{89id6)aMc#hF)hspIEoiZAtq=hn_@A52v$JYXuJQy`xDYx?!PlutST56c0Ez$)4#8GYHU9LivyRR75CHnR$s?IjbhSiVu8+gD0aINW9O)ssjF! zO?ACo5t5OQ_wrlAdfUDtB9g1w70vU`2IaNrAi(RqZLEQkP72rctyxMw=i}6eyN+8X z=YJFnc~X^>fp?xJ+|n(IF0P3xf48Ff2kXIhqc#2WL&4DooDm!gV&e!@`LCge8!>?O2yBQ+G@Sv;7I%qUf%tTS~77->hIym&-F@37^~80m^8U^ z`j|@z+gAdrjYxT&>z$box(R4GFR6KTg*{Gq%GtD9cu`65k4M)@*eFt8{kD+zW&^Oh zYv-({#`OpA&xkvuFIuM=AuQ`iE(weRT&WDdE}e8k!@hzB6?aw2PM?I}{z(SI;^0CM*(Y4|oFi5-J7Ph|IzEnUdfFrR#th z&CbU`+?Af?(~6HnDI5PnjtA$Tthz$R-$Z^*>+uPe^R8o$cI_Veyw@u_i>>JA*5YDv z*$27orA}8;z`h9QiiCkW>lrD7+T1TCnFCTDr;h+sbQ3)(Q|}|L``~l99-|J&ead>n zUk2FzT$uw}K)d!9X-vFKJEk0Y)D@>OspyemP}TuQhv%jF1qI%ogL#ojg`m>e_V1X{ zyC_*rub;6Bat-iC4NAyfu3bOZdyZqOT||5}oVi=CkM9vCMvH1<13_li$E6HZl3gMmqU#j1-83Bh?g7xH|)Lb(PrOOB)S?NQiRXxxjMI)l3^}EpO;smNcCDEkD9Gh^|~cMH(&+uFlr4WoNgz6K2* zbt+%sfO|D-1)D%K-Pm2+>-Qv^$zwMeb`Nvl7A`9t>HNz}l*P5mE9fXuj zVtO9$^=A#tktJN=zCmj)Hs=zlg*IgaEa}^?B!!&iq!dDp*V0;ZRkM?ZQx;D_!?UCW zlvYha%)jKH3cV4c-u#eVN934e@qm?{2G6}ht|RoefcRq=Y2k`@=TC*wXyfSPSKee! zLg4F}ZoJ6TLEFgfC5eb&P;`yBj8~U=sBdzd@?xR`ZEmn7Gv=}b3bk>9(gkpz7nhWRIKxEvji+@(}mwR8R^iV2tHkP-nw7GiXqfK53q3VTV zQCL{g^I^1f==$I;=Ct(L;7X&s{CBY0wa*+(-(mGD;&s&VN}2Goi}EH{XbkqD(19Dr*H^%eEQT9Fw0sQ%CfeY68gA}6kG~X@ z*}zzJ?=A5{d1JXcfHk36zS{@6>z!(yK9t(HZr}H$w~u8P$NeE1(FNGF z2$aHg*}b8=|K=;o*H7{@cT&CI-|V*?#ZWZ>N3WSW;g022aCT&y$<&3N4~O#hOjhC8 ztjsbjlq2o9g&;Qe|lM=(APwc`j4(u;fa_L zzhhpYA!`c9(NEU6Dz>9#9QN&U*PA#el>{(sq*W^zlz$!PgW#Dwh3w<=HS)o z#oNLfZ~JgOF{-Or#$|8bz3a^KH3SkP%puN2rk!=dNScPrD9`~YRX=$1=_pd1t{%uy z1c0{rxUKfg7zI&4AmT+<2ovOVPXhOy6zJ-h7TR>s@Lpkpn+EUadKHm3EM9z$VnWv@ zx6KNsi64l)Huk1DG~^bqI5R9(XLX)ZPxY;|7bKFM(5WxL1PaDT^uoA8&IKQRA@Db@ zUL>GSvLLe$o(!8P%br=`D8BibCH>Vb#hWP3p~AspCPUaQ+hdMSA@+eBAM{ed`bP;vUN(A#Owiz!PB7sI; z3fNm7vrhi1ml_0ut?`EMcFUoyS+Y!h>P!VyWI#c$=|#=;hmYsU}F?$IqEnb*O7_B8nospqvM6)MBr z{IQkPdY8r`5pviSxIv1#e-b;n{8< zBBzoDo@*+UOGCmRb5Eh9c>dl}_*7xK?(T8Hz<1=;j2lR!9X z4zW)7CDC3nDC+<%e9PF!DZo`~6W_BX%5salF`T9v_;uzHIv&_(yR;9@0Bdd|cs>bB z%2;yfhCs?P^bTNSLWH^w0-XGWhp8GyHk292;X(5N`!Xw+{*UPI7h<_9bHpAG4 zI;p2yn0({;&SfrLzE=V-{tEG)izccGc{emDdR@`URfXNB`lG21STc(YEQy|oQTp(m zMTIHx&@3H;Ufd)R>WK5c`}86;r!7XQSi9L(htmS)#9LZhfbyf-;$-wRD(_6Z%{pA< z0A?)C+;b?*9;qL2wqh*g9F*03tQ^C~mllGz&w#H)F*)>_{i+#Uv1(PKB@C73tBj}1 z+<{gl74Ck#&E|TiQ+^MjG|yAN4}YyPvjX<6^}3j8A45CDY5FU*b{sJwsQl zetu4FEPd0735v^J(rrf4J2*U#Jip{C+lM&6J-fOY1X=tkamyVuBiTjXjpod^EV$N} zs+G&#bSbn+^t?<);~xz_W%OLjuNa-BwoP_k2!%J7WJ>BgOSd;!a3vkebC^Pp`Yl$9 z^q}aa-4G=Wss6q<|5PwnU8=|3+~vF$Oegj-4wsTkG|;2esfkTmMVyp?^mWmTRAcDB zldEC!G_eG$Z%bvz+15@~tXL5GVodKWw-I z+TwV_{vidLuaVk=*cJCwki`9mSc*dBHYs_tnc*4myYXSut2!y)zWa{-D;Rs%zkjy* zc1;>WKUh`|XlHjM4!?PwRTHR1Nol0Ui2HiI2Ul1HJ=)~FJ|h4(PnUj~^m7-k`hai! z=LIfL_@lro%byY12<)9&c$O9jrZbyBnY37@4TIjf?D&Esu&CAMoTM(CoqSvLh*9VO zi*?yy|LOGZ+wOMb!>+z8TnrC-%QHb#Eyv+5MTBx9X_F)=@yxy}+QqV@#;CT~gweG* zpTv&Z>^95K<1ZTtrssl8mI;|pmGM)5EmSiUrs_=`>y!t@>sCOyl-%ggb5F@KB_v+Y zW#lu`3D0ZfGj~1<`(~kyEonODs6_hn2H!5Yn_ZuKCkRPZtg?}h#LikF>MnQuwIN-x z$Eas{#s+HH?1-scexA1y4!Tim;FG&a8}#&>7JT&M$!RA$$tpN0B{9(uM@?H;BU314KN8kM#$$|KVWke3(^eHFV2Mx&@bbt6S>*&;g^Px^vgAd9G0 zL*Z9)S7Y>FN}{^a*FdKpH3G%TjMD39Efm~ky=`WCSk!3cIz~Ws!m= z{ZA?<)5t!+qRu_I!?#7^TxJq+crD4ZQD*x|AX(GGx)0h;hsFB zz3Zu3*L`0rUskpMS5!!8e`+fxBvD+GL3hJuTIvsIaEL_ue}QLg{~eyO{s)(_5OJ_@ zaQ)}>zrr(4mVeQ^|Dvaeb^}*S{MrzV_H%|RWBTJ9Wm^<)8;9~2i|J3GO`myDQ8986 zd68(5m`Hq5N&=fu5prCdd#U1A&d!hT^heG|*4EC=QtrjO&I>na19k=!4KE2^9u5?j zmXa708LZM0YYLd3&>s<^I4Wu+a~RQ1(Vw^kkg0qrG&tbYFT`#d6c`C36H5cOWjRD( zNOP}FP_ZE(l7t2ll?EatAvCarw+STwB=9nSfI$opKd~PN2!eP#h&pnPk5pPCEKcT8 zEvX;m04!2`d_2nQ6@t>UABiCn6J8#qM5hpc9X7Fnn;$d?NMOO&H+q2NHhA=N5<157 z(-S&~S6&d3l$p35upcAb6$n#EL7o(08R;&jj-S9P=sRv25;c;+If&>NF^4c$KA>NU z3W(M|R5;HbZMh%!8cH0bt{s>{s{;sBk?IrCXiE?d49K?yf{29d-mOir+ZQ~b-XR0(W$fHuQavaX5-mm|{<}gEJ|sw_PWJ`%n_q*IYXFnr zc4Q42!p->|ynk*(brlZb;XcH&{L8{0J^q{2DWm`xg$PMXMhgPy2}Fn)33E@sU;c|P zzc-nrcWCuJ5QGmo2Z)jm%p7SFIsy<6k=G}n1cY-24-fOIINWPjL_z{2i3J94@5eK^ zTl6C~5|OXqyIG$oIlu&Dg_Pn>0yJBDa+64(q8$U(*102i+#5<;Ra0g2r)1;@_jZQ{ z9UTk;iHHgY1S&$t4~T?>e_>Bj5Zl-<86>tLty= zi3i!QAM<_!CbwR}Cru2m!g}2N(7tQ%&t7@@JYTwcf<@%xtGgX7dN!<1>~VXum)=Y$ zQHwq%B}q{%oc()9|L+W7jxJs}1a`4JgI)nvAYo*r(_ZIQ-M}_OL2|0gBA?2*3s12U9L$q0PDX9{2_q<)4{QnZK66(B=mE|6#!V1qqy;4CDmdHsi^ zI1s48`g9*@U)UiNpn)wB9yI~>XBBuqY zFr6SPQLzu{?0b3r{w3sK>D`K9BfWk*7ZsFaE52R5Ii8EywUz%&=w z>zt+_ImvXSJ0=RuT{z#T@f7<#(+9m3cHRM>&tC$V_G&4i;mTOK3bYJ9?N_!DlGxfX z@$T2#0naQF7oBRApfY_#;I1aS3`_q^Ex*TGj)mN;LifIp@7LWA!gfPCNP;!7wGx!LzufK zlT^`#kqu&st!1V09$VE9VCb|6{6(kQ%4IM!C| z_Na?Z+D&i9EMnRxrRh#ZnQrd!Dfr1nGjxFCPh;7|Fe<6%jm$q4&3&xudzAqJpMTvZ z1$Pk1I`s(^ucVc>w9%SxVB{B{FmUyXbUeoLI7Hl||53W;TAhHSCHG~T^RG7BHta;) z!jY}<3mmaJ#@Dpnl1yZ%cpo0dtH5H%-6
r?_&s?=N13=GoJm(`?PmM*LAjTQB(bYJ^a& zvG1WvXJ`$p$ZCtb{a|gS;u6u%jYZd`5zXbTIdU48w!uSNDgTD>4etuPN2g{NF{aXD zD(FhIhpeV%h%|o}=FfsacI5ra#q`!LZ}X@HS)s}sUj-X>!;hgB7JO4T$=-<5>?Cw; zJ02|Mnp4ZmFue5-R}~Aa>k~JMmuAA72*l-|gr(m5&9lYiF~KCN$EcYP;ntU!U3!OJ z_;QsqRGUmX9N*bO&6w}l|LBdM#+SUAuFIfzrO~)k>G!AHW~wIu_*~``EYWsw^y<*o zc)SQq`kN&Q_ld04V)(>M>1$Q`+tGg?XbiN)3fw(oM?a=^MWy4;=&a_yH}< z1!^IM*Re0&y<^wa{G2I~BEQULSdNSCH+U#lY-Y8(OL4=x$a;nHylGWdq9+M%kJ)5L zmL3C*1gUo*U*4$xc%piST!%Do^h2HmI1m^QgEL<>=+OrarROz5vO5_SSJWt;HnGZx zN4jzyX;dCh4G3jC5|C`W4Gh@Hg^$>qtlIi~-L@?|yvmR|_b(U)rnC)5m88rU7aKGX z_hyDKv<{VMY{YA3^iC8B>E>5m=uM(`d5rR5b8-8c6}a-~JI!kG@qI_HQ{8+%50Mre z=0)4T1z~n+3(ZuLvFBmV+u+^t?-L+mDmzN*qXrSB2uOc_e{clabHmer?hlw6EmhU> zm<6~iNY-3Q@}|RnlMXRv!j6n+VgPYxYM(IV9w>j(dY8+Y25>i5O(b#fWAe3jpf6V8 zdn8Y%`hlI!7Q*Spm^o21dpf0$!<3@DXU$-VN3m>GQ0vmHc$$OQEroRLH=l=IGR)32 zjZlM;7stxDZjE@IXivgF`P_)Px29|+!jn3$iciM;;mzjoIOg8iEsS-l7F z;=M6E!~)IUY8mljKkG>`KWy#rKVfj_!Ps`)$}J_+*Jfoarecey$aq=XZm6SK&@=xdH_vjj=6l7usrY8sY^2%mKIgfm!1W35r- zw`CjUFD$9O_|raO`o(Q++u}zw_wC#l+IQw#({ zn*1A|!-0|RkmKMXjnY|YX@y+hQ6V*{dYD`tw`0qL_wr@_hDM98AzCBnc4U8kTPY$n zpn`(Z;6_3sGT}hSjo;Aew%@NIEZ#Y-!C==hDln|u*QJ{lA&;5bsONEWJfuRZ46$9? zr<>?imau{~@+)}oFTA!j;kdqvo&26E#T7ZPTcv-$=U)@X zmLD?Ug3q%owZu?imwQ%PM%5lft<@iMF2GNSu~3n)zZWC5q=DyL@#oZwee1TQQ)Y$2 zIX5ENG@G^2$o?nGE`xvTHn(1}S$2U-D zA7pDRdY65OA6#5|SS>;Y#2#1GbL3Zbo9-=+FBoyNQ6{_3o^+>w9k)>f$T&6Lq)t;D zi<&L5<%Q zycMm50P;DtXAIly=HAJtE$f4VGlDA58`XyI39YafDN4tgPzl_EwIntqxBYPbY)T{9f)%4O_$b@DJ}m z28<9tB|Q0CPv>|7AI!ReoTl24MF0z)?4^uA&{k!CVswIaMSW26Gz=?M2{&2%WPtfm zy3Q|4o&g*vaC)fw7L!zJaI{l(I?f6Pei&K}0z2Wgcog#p%khkYS^ulXRug!z))q8y z4et{sEmuF%Qztb!)~69Sr!+VtHU(v)aAdZU>{;<^7$Wnjtim&AUK5}ff{(5Zy8!9q1&L|+sPgk&%45eO9wJeNo z7fE*%Y%Cdn46KUL{HR@uqR7AKG0h0~2uw?bs9PZdwCyuQicE_sctedT`IF$hw^(WN zn)S}X;js%UUQv)Oant_zk%CY4?NNrN^pF=MNHxoewy6io%0Pbp(pNX;(Ri(;LoXWG z98^{+;N)wZ2-c`$8FtO7KEdVYQ-c@TRacKx`<&mOsrOOXrc{2|%1rvZ z^@9_NKua53F|;@t5Pms&-{s`EJ4;8M_$YLwd5{iNXj*{gej?Gz9e?yFGCm{!NPoZb zIw$xj;!PA$0EdA$GgKj@&l&HTwPcV$>qrlQm`iE2GXuxLvziMXHy<)_j|Qa9xsl>J z@nrCCEH=m?*}nWF7Fq-=3C(=^7>@24`~=3@4QOkQzz6i2hv55w1fy(z+~IFQ1ADT= zvUa$o-rX?MbIHMM3!mW;$e$&&QZkPpwlcp!M_2jWgPutd*!;Z(-^7Z}wv+&gx=GM{ z`2B9u;;&%{SR$$e-5Zt{Ex!luJ&VCoB*bWCSwOrom5YA!w=1@Hovy9tpsO2R^fhqi zu~^IlV6B zb(SYjOqblC@Ue}#L7mc@--9W+!1#b6V~tt~&FDX)2bsd{jCiqp2XtBBE{S+D_x!QG zEN^R*AEIEzitZ|B@4yTjJCc!t;x|4T@V( zGh$>fXOJN9iBrHnj*Y)SMPaijWnED?jozmY5{zf5Z@ zu$O2R*|k2A9P82DXy|7}aSsD=?9*bXcmf{!4Gi1yg@0fFgsV;-Ks8iJ@xjvFe!cFt!on=@h4&iXXqxZG9kZyBP;J-1uh0)bUa})_3!4tNoG};iY z>yVq7SX!=f&>c)%CRTD!o{D5TPrUaR)D*>+RUhl(SW9vY%1^oC$i2mI)FpKjy?`Ul|AG&&vzEHT~=v^dx=??q#tqT;;w%g;~J;Omucstwem2hQl9$YuPpK)cnTiQM z>b{qEv{}6?5lv=g{Jzg~zrCg{mTs2MS^V3n=a;wMU72GqOgpY1=C)Na@b%o?h;rG= zp0bUytE0`(Z}lnXdOb-#*CR~&_J)ls5vPVOUPCy#QKED#G6RWIX z({)DLo*Bk!m35lW;J_#qQ;_eJpS3n#+h<&2+%v<=+lHq)iKSu2--(howE&cFduz zjqX$maD=6A2>V<- zAL%qfS`4ARa|n&(i;^cOH%rxOy{X|5csZmsp?Ux!{)!SHm$cAV*>`e?U=t?<_USGL z#7Eca=HxKD=31e)RtS4B4bD#NJw9%|);(8zg-X*;ljCcU%*7guk_N6A@KImi)#svb zc3Ji{t9yy)k|gOnnx?jy9J!aKS`Ytz0plRIb2lQ=cR5MA=-+dCSsO=mp|;2Qqp}Ly zg?+D?>rH|`3avqft&WcxS$7Qt6)vT}%g|<-os*6;i4&iQ6RbbicwGEOf16ac@Zj>L zc3HKr=hKGAfGj_~FG7Iw&+OQ4&RFMj7>LH&oo&v8UFZEI6SbXZ^!kl*ab~jhwmB%nL)K_0}Pj*$2Badk*9jW-(0i5^r)M z9Zy(=4(IfyPey}+Ks(k~{hk_7XfOmeCNjR$8}rD}%*n-K)ayPpny~n{R3$GcCj=J) z7tx0#INL{|qUHy1WzguXDLAjzqiL2yw z;Kk8wXnE5K1k}<>e&@fc38^y*Tqvu6IZqUS+*bR@Zny?~x&4>uTNQ-MAdJ9rx=9VY zZ)$UC($t#e)%slIqlmO1#2~TUq$NP(BUg%4tG3EOjTHB3WTMsQ5Q)aFE8~mmPk(7UN*D#}PK#mvly62(Z*$NZ!rbvOJ^ed(AuR5G`uWov8IKJC9K z42&ypvJMzu^wh6j(nRY;MNRenGphN$X~--|6+y|QobA0>w$!l9KiFGc+}f(TQWYqK z)N35CM!1G=raQDnCqB($8OfA+*wl4-362Nfl)t^dTGzpxb)#ctYlI+G#tZ8wOhymO z8;D%)0)Tyw&Y#F(A|*%N^!=U}+)nta*JJq6AwcetiS2?qKzbbQf8p`JEEno2vQ_K9 zeN%kV`@5t)_-pjxO6rMy(HqQWW>Ls<6Ns61G@8XjfXC%5)D0-cLMZs@_33lb0&$Jt~a%{>oJ@+(f+ z8vjK~4oy=de_KLiIYPN9Da>>ZYfV-@o^C7Sevd*6Z3GtSS)z z5vKTB{x8ZA>EN)cVBNA!Ip?;BWF)c45j}88lmEo6@A?J8Pi@k+6e2W801H zuD?THN0S6#Kk{jjbFSrmYx41_cE5O3`K&6LTlCn)*g)r0eusO#g49lUAsrLST3_pP zvc1|$;BBm5iMr2z+#Iu_a(aU&z%@-x;`LnIUgy=oNYmNFv5yh;S9jH1@G6BoN3P2&4sE82J>)tqdOuK`0lV zX>k_fv^^ltH>>%F>lWm@0|zLM@Kv#+x4@SiMAR2jdt-e-N2fYp&!7ynj{puB_))F- zEuM;uu@A@cWnvB|z%T!xn!l2FMMUbkQVl1g=% zyi%fXjEHPvuY{ApL11ApFfb9aAizYNKu{(Z|GwBBpGte$ddC@6vokY-ehgD5sS5Pw zeC_)(23<>2I)EW5c{oT5^!z)6BWB}PB4q`2YU_iC!+fZm2_m#`v@nFvcV?Ysx zL4ZW`dhs$d4pL3ei-orTMEJ5Zg|5WnQBajX@{oBeNFgqc1+zOyNe8iuih>RX1U?K7 zynhKZ)o+IWrYwY5B!Gzf6a@yj`7YeP%A#iZM#Ez6?ogf%%<@10 zbN!HdISDHZYd=E1{?LE#5dUya{fyuL#QhJpJV)^VY;pW%`DY-r!ekn{VC2;rzLt6v zJMEiw0{*gF8OakAtpaTT?d<$)RR^_*&Vd6j13k=@1tV4Kr;5uKz_Pe_l@#)Q0m>!- z2?=;Kgu1OYgXn`qL;GaJ^<1{jo>PPd*(%?mK=Mrb1{A?8Vwk>I9S4aG11;OPHDeNY z+?{4q^+ARaDDWbkx7GlId@5m~;DZP)Jb*hBL8S_kk2;&i>8a}9OdltKR zuT+zI!3d?&i);yW96W%7tQ|dTF9i64?Y^3f&2Urp|0O2+N*2Q+^emMWovDqbhtS71 zb60dkEI!d{TZM1W$ph^Ed0~==G_oNP3e{^fkpIl%juAeog0QMqT#SFl9hO;cbHF1` zN$pKjV*TdLm7%luMbR6bym`l5VJcMtOsVMyixw?G7eR0-L%)N(127qFn^ezypW*&u z9ip0w+A6U$v}p32U*ld0h_2=KdqRWV(E&-ag;9HuETS(l4R z1Ppje55C<-{$jDi4TzKkP|LhW!v2-K?sU{QSz^ujJqWStY=l!x&Si~Ydbeax{YQ>B zVI#rX^D-rzuAld1;`|vG;h^7nxhU@dGc0R;dN|oYogplVa6!KPHUrua1Od4)W`x=m zIWyzhXTo_!ce_5o6!@o<6q&N>jCVDItLV;CWB{e{&Ok?qEjKu1opq!6-(HC3@V)^5 zT#v+V$LPfWolEd(~^wCHLqHjSi!@!KNu=TNX#v(Zld_3$w6v z9LAhwfeAp@tZYb3^8l0~yP+lSboSp4jC!3E+hH_mL~lTPU!0W6aj6+(6B9dL!RPp4 z0im@Zl?wA*-|*|WA|;7#Z=T(Puz3**h;taWraC{)x(w-ePuhh{(w`{hix<}Q(vn+$ zY;5#EDoxcJ>H5pvA}Wq{X|i?;Skc|D>;v&U^L;mmNs}K>oG$qVIykzJ*2b~HPH-~2 zSAt-w*4U0wLukZ*69T}rf3K4S?smejUM(?0IiAS}`w#)4t8w-T**Av3_d3Y&5%#!E zjm&qAYv|cViwC2L0W5A^N_8;d?DLeE8qiW=(?c2}Iop7XWre^j=fp0AVWI7sf@_s> zt;jLuES5B5T!|p~ZqcG2+rM>Zh52JyEHUX1tp}%Ep#+Wm#u8p5z{4MsDNT;hAGz-m zSHUC~4e!2TxpId8_2yF5cWJ}>(3TAgFN zYNB*zHsTgAUFwkqs~8f4#UgsNBBO~TPzHNc8g~^=i$Sm9{YndO7&X!vY4O?yZbrN! zdZ<|b8AF1DPJ#seLAG|<*3++^ZbY&+95jg#-In=$ASA-YwDUzqGdZf$t{3)jG6B7P z@+zF&<2-XTy?&Wq1l_hWaQ0>!jTLgL3s2PxD{xYJD(BJcAhmY z&FA^n3zkK|9Lq@1D&KXzr4Pb@G?cFQ1XGV0UOOXtX%DtTbjo4o(OPfq2nc->EKvn= zrlO-!|MwWUHQ|p-io&USBCAoU;LLb}l3S%!qNg&sVwd`Vt+-*9yZ|GW2 zb21Mf+0?&PRZ8oV_%(Lisql6?TQ*a**Y__mBI1$F7+`H=!Ab||c$GMkJzN?pbD|a@ zIjB749cX-RhXw3sR)2k_n7C0e$dyqy2eH^YpXN^@dG#Qb)xvBDUOJqW1*L44O#$VQ zpnr5cue?~qD1J(ul49vn`_D21zA6qwF%D!i2Upa=4pB5EFr8eJ71&7VwExP(*Debs zOWsPU#zL#=#X0nAp3-v*i>OuwZ;j|$+S$+W*&Y)up?zz6ZL#j5n-d7XlD5 zDT~XWP;j#q9H~RAlDD2?>Wl&ujJoZTcJrfar5lII)&P`ZbL@kFh;B76;*SW94mSfGC z2IyCTozW#y3GN{l@|=c7)L3pFo0wB1m!G9jT>`JsJscWl|L3O=cdzzI8v0o!xfCBl z1(zC8!ee-(-+CxbZNxHTxNOq!$~2mnxn?D+wvvcEZIL_P964-8dHc3AA@6NtX9E$j;pOg`3lP`OL($9l3xCSQ zvgh*6N>BrjqbuDNRBY21y|%DH!D)CWOSWdm#wf=G1A1_|oZeNUy_SL+b3?Xx&opdRt5OBkPoG4n zSE{}-VLp`5MjOb0ahpAo#T?ccuSbXHhLMi$A{1@O=zN2xQx6tSx6*^W!L-0{lA>YR zp|4MgV->rM04f~P#cf^n^|w*@X>_d?80>Q64Vf{HdbbkJAV(Ip+6{`P-Mm^%(;}v( z?rwD`BDs_*iV@2rERHaX%qArpC2_e#J(Ei^h#rjCQrYc$;5FRfhkY_EpoJ+xE@pLk@oZ++~`$X@au>_ zXFsA<=n3EE!j2=i$q1NnnN(%L2aK@VZO6xYP{**}1WAE`ag>gB(iNVVo8H^L-7Z%)Wf)m%-5@vVUT0m zu6r-I932N!`M9{y9m2$d!`bcm-T)mSSb8b{&mX5aLoBl5*1#5Yx7n8(2B;{@Z?)-a z*&~jwu4DahUx+eQn8rs=B`yGMoUt*L?vCjZ#fZX2E3o>P&P&K(?`D3I>y}JZJqQXg z8A{Y|!1t+{Ytcq#aToce1!&2DL$h?qTMf3mSi(zSThy1(-YrMUR!1Tv>jUYCVzske z0nHRE;u^gDnCivq_85o?b)VHrR&D)k5N*}7O;@7qe3@pL!;l=Nti@q-Y&h#?fVZ`-Eu&;o*c88e=zr>|zi3&PFL}&caG0;w`~QHLy+ENLk5XS#vak!aFd!Hlab z#u#vkt0TI%qy8Dc@e!a%Z|D3vgtXSO9LwO}mbUPxC~NJa-2tQ?OI5yEIEeRtjA&-9 zDFe0iIfQ()mo~$&P*g(OBMzXPzFZRZ96pb$Yw(*snuIN!)XhfOpNk;a&Wet>2qa+n zP)LrGoMB1oWP5AAoTzNvb0zE@Ff4LYJ_xi$Q_MfO;xDCN3uS*;-kTK|Q51HQe!8cV zOhPcr`Z=6eUU0t9IuyQ4VWC_dtc19hy6WXjWD=KTF@q?GWwGPF9D#3RpQ9s+=9*_T zc0A5k-*|ig>HpfB9qD?tk4~(gj*dpH@hETROg#09Y$V5A-!B(qR);)AKQkI}Y_PP@ zpe5HnWb{SRcC|2S(XVYMR!);^WSpKFpAJCgVoUlh znX2}u?ENSHOS-#=wm!*85KDR<$>PnJU)FjK6=nO@n6+YKFW3xPQ>Yzg#6{ z6ZQ~#NqYUM){KZ++kKsIKYKJnuSzFWJd&9q8H{SO#KK&{Vd(9aT8QR`SH{<^{g4cdT>Jf2fdl8Wba1owo?F`a*uodr*O#(3@_{slOE7DNV~ z7X6&ZzS)bw_NhVv)=T_4AK6xm%$_ti>uSU4wD*-fdHY3`2i$(qMcy6v!UKi%J1^00 zr#V)LT&(eTh^vfH3u$dNGRn1!Kb23! z5I&RLt4W}uV!GB)Gf><4s?6F>Za3qL!;hwrn>PH~jU=pP>^=9t!KJ-saqdb{*Il|$ zpR$wOgcVO5#^3;nv0PQW&Rrr{6^jXw0+sIC@ zSkUZbhA$iVN=piu!JuDq9IUuUMWIVx$irlJdOHz{99Yx>n2RAyl*)Q*l1davuT{I3%9LO$#t~i zI%dzPf3%O+4{fGd$Hw25WO+eS1~3EW9UK_JCz*H)5sYuz`!%lq(6c-lZ`hl3y|u~M z%2-}vDZ=6rh#r~1N^ycgP_sHR2_a^>T_Cxi zprWmtkkbq7V|n{Ms8qAki-DhtL8ZA67JGk-TIu3zmYZpJav+lvcAl8}Grs%1#pE&@ zWjqbHHd5iaL&a%e#c+v$&*NYB5)FQ5GdXCwo_+fW>1OxcjBuVCtdxSpSm8If?h1Sc zOstb8Ax@JGI!*_$GBPN5mwv0?Gholuaz=|z>2fk~%ouojtrka2ogtFzTE}ywqN6CQ zR4YmRa;6i@(0V`YroTk~f7$1h}G zNe3&+=FHZdG*w2?oyQaT5)GX-Deq_WopY$w&6WZwikl&|*R=;>C}P@P*q=+h2_M1^ z0cJD_MEXn%fTu7v`=)Veag`Ne!k|tM1`)+7K9yr_ye{2YnT(j@*;e1{)7&o08zySA zn`f*o+(dLB`HrbWQGKPv&W0~r7l|DnV09Cr*9Bt!NJ|W(1i(T~fJekXX*qmr*z`M` zd)-fi*)+zDu@|c>+vvGiS9yQ7vAqFrnJ>@2TVKbknFgH!P5c;AROv*yzg6Tz=vV7X z`2%loYv2Gb%UZ8wZ@YT(dA;hA^lu~uO)NSd9lc%^66K+dij3G5`vC7F?v%Drcz1o( z?>27n7#Cl^HWaXn$YcJFO({tF1*U*u6=2<`8Va`*cxA!PmuG4Y`qo|yL3c!WDW~wO zhuBqi!k3o3qHwxft*@%YA14rEnNJtb2g4skD9rZS*^y1BT(9|t=VrU z`*Q>B6(I|5qR<)s==;K+K z1!-N!&5ZL@IT;7=e@;p>1gzk-@Lmv0qUz@Ji9x5g{3UlA{(Lto8a8B>p~IV?LJg)J$w0a6HZ5YsN#4M>Lq z5Mx(vLb@&coG4|h;t1YyD=qUmo11AP1pU=>c-9*;5`~n31*h;dyhMLV`d=n#< zKIHtS;1LqSii}Qp$_N){!1X1&DEKSo6IHBHNsM?($}vhxK&Vdz^S1Zb`f;1q{it0Z zPMLJyk{h~4`*S=Enl~%7<4LF+2pM~_mj?Yq@C()XR8L5Eem!o9C#&F#3uET<->mt}Y#3 zIeY~{JPf^skg>6;`}NO+$j!hYpaTp1Je9Ke2e5aLAzVOk3Js;erZ4o#-H)yuxG;Yk z8X_VhA}wOWiWps@y@L4@NM-TQLiztg8_4#%ihX^ZN@hcL#za7vvqJ>oUpAZ)8~c2D zSYSwY_96pFRCEG^@ZgdLey_(uM)bOQJ+L58yqYg=enhu3)_x>J@jpo)iC>LKC{MK5 zFoF5mx_MNLWa9|tku@PLhPFkm+)WDap+-7O@o3SW_1iatROUN8hI;FS0zv{Yac9e*grwC>xPdkQ^< zFnxviTvI*}K|;(X*jWrjkiF0*@m*ga0nIXAkg&lv;{UmypM<#$ zEbFMJq+}2fFk@0uK;mLWa4|q2?_a8%Pk8cLyGAC_nHm(#>DREZjt*Z&|+>shwbv1po0JIsrtD``3PyV zLEJi37YG@eaZ=*VgX<&S0DV?+O~MEE%idr@-e&&@{LFKM?1lRQn^Md%wIhYD5X(!V z%g_;s=tD>g`dEfXwVp=A^*JbZ-`1~mXVowtS9}8Ld3Fm98@#Kpo)$5}{v6N6m8xr- z?s_*IJK_0jtrXn1D7o(3*=FMJW8h6$bJ8WFv`ckA4c$^4fkH6{os_>F{w`DNT$NdK z-1dNV9ab^LKZTnV%=;s2+Rv{sZuy%ss>R^oGsw%zP#j%0(7&i7-8>y37gd7P2r)VH zPg+bj264TG-N~^hYiFm*kgKCJ&p5g4pn3XfSMyrKJE~{eX|A#5iXn7cGC6{p9{F%1 zYqvAPK@MertIMR2G0t|?UY=ZfDxn?!nrf}88L5V`f0JCS1#JHpfvsD2&O+}#mK5oH z6LLJfELZx*yxu`I@mB$qd3@B<73#`Fq|Lf6QY(AsomjqPa6%MG=I`q-p+GaE%s}PF z1bjXb<*>nCsg}0dM^S5uLwLL57*V&Gae&G=%zE7^ufz)yh2atR;wD}6O`a+>IcqgS zGN@e9O4s2ty|CL0pH)P8;?#i4k*-d*-Q^(P9}QllkRiRxTvA?z_n~F8-_R*W;ZI*= zN_c;PHLghD>Nje$)bQWa#RCvwWY$qSer2}*(;Qwh)OFx5>^KLp+_%{An z-e1}7DIQ#=EO~QFqhM0QwQh4Fzqv52!!eLSzwNx8^UpH_*bmPT{&so;CZ6U2hK8$E zeBy(P@qM2YSmXU4*R!zVk*C2g1p!tiPrzjO$$Hsd!4A02`$FW72{Y&XhM*UIo4k^fI)Ul|lv z)2&N_I|L0nxXa)k+})iJ7#Ji#V9>z>0S0#q4hc?hcZVQBLSTZs3@$-)c+Xe2?pt+k z-FvHcSM6T??7dd^kJUd`_wzvC%f3ES$LhY|?GvC+M>$5pU2&b%8Q0C^XG{Rt3uVKj zfLMp$4p@<()9EEKZdC4ndjI-t0Mcl~3%nT#q)r0O)s5bS_NOhGh4ii!DpP zSG0g_ndw>0-Ka~ZRjQ#RjIu^cqtbXXDxlOmo1jvb50NuHedVI+SdKDUndbrCbn2sM z9__sxv33;E%jw`y_l8wHqcLbDN}$rH?Ya0K>f0!~^Mz`wlZK|DDr=9ZI^5;BfLw=r z5=ka#iiRHFMNF03V2KZtd`+Z&A7ol1L7MK>;s?xkWZ-h}8$bw>i6AFZ?j98pIVriy zyK2+G$PJOheXE;eDd7Gun`Hdmn|I#~b0@2>BoOFiEA8|0TVoE3d_DtNsBngCF4oG) z==;mDN0^;-8%7Y7wVA}uxbGi-46SJv`fR(=QR|DRf}f08xL6$6yCqG)NsX;()JMSm!~i-EBrF<89)WMD?=P zuQPTfWw~F9rVv?SL26B^THCkXO}EM`v5E_}GUFt&N_Kszq~2t#YX$JEw_McPG`g{+_MfN2Vno<$mFi;V5efBG@E7Y={p-@3y&d`lzG)+0uL;jh*jG)9}PvN%4yvkM<5n$wMAtIm%kI6BNP_E zJeDswRe5r9+fsD5F`ojsae_7-XRa9~0%sY%Q&zum4o+o6N~6fp!zvj}XN)iYe#gSx zmXw+-fj=5LbQgK0ufU|_`k8wh2sOx`Jpk3qM*QltDP1%m3vq9lq!Mr6M@XQ=I_$6` zDRS^|-b@e9JO~~_i@+ZaQCm$T?bD6HducL0-gKDL+`4JmecWV;Kc$q3 zj&5-hvd!I@vgXppJR109b1=FTa-hH1%O>*I&97l*c*HZuh|VN>Ai0E%$fBVJeYl%Y&2_Lg!D9Q|UaYaQ z7Y1=pI%ndHX+*!UG;jRHe5U>I`v<)p{=R_5kqfx1kML(3nY%R2UxGA4^ff1IWUk-N zww3|Hjx?q>YkI^?&XEl~3JzV8k;x-PYm-+KFlDq7%3$-!WFw~9xsp3Xu^^0tH@wzI z@P|`WtjwzZn@{nlUEqNH4ca6?%x7`KpZ#Btx#`-^qWm zBPW^)p_}(ae_i2)zfiV2wOg7OPsK^yLND=3)|FFkw&`7p48K4#>Eh^ZjF^bRiY*r` z2s|^r~Zx)U+tH_PgZDbOG zQp>1>bI$#WBeI3^_XerwSUX|kW*?w@&`obw!YtGNryN5|w&;TlHM0(fgKs>y3yOQ2 zNkhfqX`Hv`Y;?jUon#^BVt&9}Yqs~Hrwxp%a6eN}Q_LfCB8A_ds}L7vXniV)JCqQ% z{2>9{levYVQeq%z5e~cv#3tB)VV@`2A5l{}gkRCet%nD?qmF;hZ=8M5Eo{ zi)Rj$p?Nx-yMR(pr zi_Eio*ql0PH5Si9ri6HuE0#S|)lTtVP{Jf9Pn*J6b;8rFEl+;&$S=da#y})|gr|$7 zVl+-seY4v|eO-BgP+Fxc0}Q<{TfmtxEWXWx_5<A!Gda(_#X7Bd=0+b!OFX3)V8!AL~;S$XRpHoj-^hcsvUF4#qZNSewU zU?lahrex=!l0m^4hY$!a-`XTnK|Z+3{3zom8CU1*u+yN_zwzgg`iu4!~nE98FbEFrAE;`XH z9eLoksb2g<=(R7%%tPD#__bm(j!F68oAVf%LKhvx)}DRygp z^DNE}Il1*3|MhT37R0L0JJMSs)k*}-IhD2Wj{4-~VV}?pBFsDXs-(_)` z?o^`JT22pk`*Qp`I-bF}*C!Nq6hUs*@kO_a`0y1HA#mTiSd@&+g;MvMv^N>}J+LvlJWQky8R;<713GB~-RImY+-B1xFZ{5|+q+>c61gyJXY8 zU55+Zr}tKhEBDr%YtZ|#C2G$~HMBVTaqnr5mcaPs{Arzb8-n8OfW{;(B~E1^N6TM` zf3WK=qC;(?uu`uS8pp@II&Zo9Q;8d6!AAu{xyDxYAOkM1+(!1E!}<*mzg8S0Hkr4; zC26r?J-P37IE4tiOZk|T-&Z;JO(|_YHDMGWktm^(gK}ck(eiK^<=NQ0R=)uIpbOzV z6zz|`cU#+Eoe5jHz>3w!%cgUWxl5WaJ@M4i1m*_tq zD{k@m55}`}^60yGSNva#Hw8s)Z|WNv{h;|6RX6@eI2a6|I0P{=^%kp2w$&8z1n3Sm z7T8~Xg9bM42N*@a^;;%{AkWEm#zE!|ES?s# z60o$>@BVz=Vg0SZJbBysoVVxz7+Zc2QC=;6Rfamx^IOz}k}OK>^$i{BtQxK0FsEWh zRR?ZhSV)3rFJ_0Q%2$~w<_(s7jeT86>P=f$z!U5BrhX;geeJ8*QN~Nt)>tE0CD+op ze$QsrZ&uK6_ow-9Lh2dM9Ein0jn7XB*Fyn{cw3{b?cwJWQ1|53V=>!SZ_%XjPg$Ik z*Smz4_q_y6PT=`NakX0VvlRj3N`JsGf$!+EE{}{jy}gb`#aA>{5!VH2Vlk|3r;;!0 zrerG?PlbMnZR&1owIq&tbS#Tem&KcpS&WAWlp0PUfxXN&$Q3`fLFfuunAonW_-WSm>~t_Y$Hx5WdRKZa?A7V_xDCOS3@6=EbAPjoJccYzs7%D=~UCQC%&TN#2d zIdr}_mZ(@w8Yz_;oKFrDKLl4Y7klNW2!7wgmP1>Kj}Yj)iCg*t{TaAO{0}@aq>5jk zuYA0_@dmEX7O;d991q$79kkgAn@zpl6=oU6qmed|wAcE3Tyaw=VMw4+Os)MMxZsif zA|~eS3*;`onGL%j&!aukH*w#iy-RFyJ;kM};N3iqkPkoqA}xw=pqq=Jax}rI&q8m- zmFP1r7EC=XbLGQ7(;8b(489N5SRK=}h$bpj(>sq)2=~-ytO**^eHSQSCimGbeSjQT z+>KTQB}G{`Qn$e7UN<|f@M=C&>DI&er6LxU%$68-R-92aiuuTzv!^0PD$6$lZ>W(do>@35!!Wgto2rVq#G&LNGYyP0 zwl|a)CGGXFDnI$XFJVK-0#?ZyOKQB=^dhbyQ0eq--=KfYzL3RpI+hOVvvUCFbtl-? z5)=7%ou{;GqGv5)?$7Kd8ROQ|Vmakd@h%Zer=jY6H>Dj?xagmUk}^CyzW1AAGx_^8?apD^YBKav6xhh&Zs5H~kp^{t&{*~z zPcm;=7=V)>QmVUh8u$BDDDt5|3Z zJf-HhXcJyAHk;lgl*@Z*>|m7mw+Nn%fk$4PAGg`$Z!+AyYLd71N@|P>D^jB;4`h&oDH>Ti@8Zb;rBEBIZmj{P?R5L4ZJAyo} zawW4lAtFWxkt)K=nvPrFL3+fO{O|CKIWHV?if#xYM|krHg7=jxGg7>>{A5f8EybP1 z#P)|!Jt3=#WW~(D;J<8;=!s2_dq&_g@mOsb$U>$ zj`f=ze4Ix%rgB<=%_PvimOEKUlh2e`Eb@iXp57Lo6Lo->rY5|;G!aY6TT|!Pn(|ZI zkZK)3<-Vi}8Yv>R#lDdcv)_Aj_lQ~oR}P8}Y%WQ@`}u^snYgCXA67jo*184CmPzft zyY?|6D3El(7j;vScWqvWl2>=E#jPZ6iy+V#Ajd+-_!rJRlD zVJU8Q|56%{E^=hZXaBm@Y&q8&o2%g);RnQ1JQHunP&QQ`Z?ai2dvr;CV`YCp^Gyky z+hA`sUb*%ZhsN7JMR|)8u&RdI!lr}e+kRff{PgJIP%iG-Obz7i2>!R_3O=ihpa1A$!bm~rLQ6w8&O>C6hU$ck&3v@&~Y*Sa6Qa;ZHs!)D$+dbKM1 zR(}?*YUS|0CUXH|IYi;J%}CrJ`MHQ@l-j6iv#296pC1J)Y2Ng8qfiW6@+Rg}D7DSh zb}8#K1r29fO@I!+cuCOTNAV}o8&jXFp>y~|Z*E6p&y-|#qWZ&U`nPO_?SYQ?ajBTZ zqD(9k_(O+sj&FE^hD*my0uu#wi?}CO6dZ}&aT`W~raJ6)#^mkShFns_;)e@H;G=^4Ks%ClHPM3&N8 zo#=i=JDF4~>G5JQ4uZbi&QXEvMbV(_FEv#f)1@zJzKk>lm&lmtCrKWL&?rev@!!T?G&WW`XPN$io8WXFts025!;CM_Ou>q+EOyJ$~dmxkXg(jXJj`YWZpVYi`_G6aC-R-Arm9&WN zwp`i=g=rRJwri`jhXPVcTCi8z-M$qsk#;RYNh;IDK-;0)OuEKJg&#R%$Z^Qi%Y>=7 zoTO7;U7B4CdI$NqXDK0HrOoxn9Z8Wb7aU}?b&QkECs1ty&24*Bho_QPm4#kxfu|ek zD%ctKG9?QGwmEm`%=lz_X4`B^=N^Ae7K83>iUyQ#aqsxNabIY!;7^c}5lM>8Yh=H- z?`H+7b%L8rtIf~tWKpg@T*GUb^#QKGzFtl1j0+S5wjD3#_}`WF!!5}m&aDep&I@|O zZpfSY8twP&BXjC+!OGtH9~d{k4rVwej~?$FIM5M2D--jS0NTy)TMidUy?+E5xTRVA zLYHcM@|zY&CMC&Xmt{XTewP&b@x~G3`hX3J0GEG^k@;mB`!JlY5I|2KewTijmbYPd zYs`k(&|~gupFKI%RY7}EEl#ESIjU}m98k5O1~ZQ!kE4g8*sk_CBA32A3B*Zp_BZtD zUcB>MQo%rduQ3z6oouHyTYP!$w~aN>$-{j{qDo!N(Emc38GWGeZRJ*dx*3$;$4q#RH zwAKe1a{;-5g511p03JDakTt~hdEnXlzq$^tF7nn85P(%)jE|R(pO>E>2;>*!JDBYz;hUUY;4aJ!hh!J`pyvx_-_(jeP6fd|7*Q- z)PuYS@Mr>_`EZ}*Cfz+C0N_8DQWYJXApp3OzhcaVGq498(p8cWa(U)cbK5RnlCDmv`3jJcuDu0r*+6p)u z($33?8_}OB+Ao?y%$vt%$F->*7K+I%H^G=}%1gsL7%(J9${vHlZ;KRua*(pNfK?SxD(D!Fj1Yp$|jR@)(wCSrN5FEgPh zT8cf0V{BXVlD(?*)xYF;KC3)7c<3?mriw%tV18h{DN%pO>TWg(qYz8zvV3q9-}D#2 zHxv7DC$CnnFz=1P0S{qGac+;c0V#R|P{0-|$-uN~q-qkWxc}hGAeN*mJluf4;Q#CSBP0-if4?Hx7l6I~-3$d`M{@>!S2dJ*Ah$V*7EG6h{Wb%BP);X8dHMJ^Ca-w56UUR`4}! z1Ms@*I&!EGU1$&;ilHY#ALNy6114P{C7qb{-(>uALa9irT{-VwIFzvoLhu)vI(LR5 zxtWZ1XqV?x^5`$fC9UR|{l~N$ zCg{%l8{h>xA2MHm1{x)Zm`I+5dN7#6>&3Zn@M+8gPjJ(+h8?wAl8B5ho5hp6$x>fQ z?nkFT+lQlnsMimcSYQ8a@kjinF&8@;Fks6*b-(FniqFT%`*=R3RfJEr8ti`ENW|PU zg?2du+ca>32dm@CM$#^pvYVVdtU{edzOIEs zYaSh}F79_oK3;o5OxN_|k0a$ICMWb4yGky?2+OUt(Zu-+h7-XVOK>NxsQ`Vn#hQ{P z&E4hbczlYu9}T^3N4}D>_8S?~p?-|VG;ZMvuT{|?a@eyOVSe@qo*F=}3Dq y0(XKO%`#`*yGL^S-;c$|KNSq(<^Ruh_JCNsLwwvpc31+>Ya)up#H665i1lC6z!$Lq diff --git a/perf/GLM/benchmarks/benchmark-times.png b/perf/GLM/benchmarks/benchmark-times.png deleted file mode 100644 index 33dfa7cc9a5a026b01d69e484b9ea46d5efe80c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36934 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 z

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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/benchmarks/benchmark-times.tikz b/perf/GLM/benchmarks/benchmark-times.tikz deleted file mode 100644 index 3e37f58..0000000 --- a/perf/GLM/benchmarks/benchmark-times.tikz +++ /dev/null @@ -1,869 +0,0 @@ -% Recommended preamble: -% \usetikzlibrary{arrows.meta} -% \usetikzlibrary{backgrounds} -% \usepgfplotslibrary{patchplots} -% \usepgfplotslibrary{fillbetween} -% \pgfplotsset{% -% layers/standard/.define layer set={% -% background,axis background,axis grid,axis ticks,axis lines,axis tick labels,pre main,main,axis descriptions,axis foreground% -% }{ -% grid style={/pgfplots/on layer=axis grid},% -% tick style={/pgfplots/on layer=axis ticks},% -% axis line style={/pgfplots/on layer=axis lines},% -% label style={/pgfplots/on layer=axis descriptions},% -% legend style={/pgfplots/on layer=axis descriptions},% -% title style={/pgfplots/on layer=axis descriptions},% -% colorbar style={/pgfplots/on layer=axis descriptions},% -% ticklabel style={/pgfplots/on layer=axis tick labels},% -% axis background@ style={/pgfplots/on layer=axis background},% -% 3d box foreground style={/pgfplots/on layer=axis foreground},% -% }, -% } - -\begin{tikzpicture}[/tikz/background rectangle/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, draw opacity={1.0}}, show background rectangle] -\begin{axis}[point meta max={nan}, point meta min={nan}, legend cell align={left}, legend columns={1}, title={Benchmarks (times) evolution in -GLM.jl}, title style={at={{(0.5,1)}}, anchor={south}, font={{\fontsize{14 pt}{18.2 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}, align={center}}, legend style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid, fill={rgb,1:red,1.0;green,1.0;blue,1.0}, fill opacity={1.0}, text opacity={1.0}, font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, text={rgb,1:red,0.0;green,0.0;blue,0.0}, cells={anchor={center}}, at={(1.02, 1)}, anchor={north west}}, axis background/.style={fill={rgb,1:red,1.0;green,1.0;blue,1.0}, opacity={1.0}}, anchor={north west}, xshift={1.0mm}, yshift={-1.0mm}, width={145.4mm}, height={99.6mm}, scaled x ticks={false}, xlabel={version}, x tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, x tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, xlabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, xmajorgrids={true}, xmin={-0.1640000000000006}, xmax={9.164000000000001}, xticklabels={{1.3.10,1.3.11,1.3.9,1.4.0,1.5.0,1.6.0,1.7.0,1.8.0,1.8.2}}, xtick={{0.5,1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5}}, xtick align={inside}, xticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, x grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis x line*={left}, x axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, scaled y ticks={false}, ylabel={time (ns)}, y tick style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}}, y tick label style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, opacity={1.0}, rotate={0}}, ylabel style={at={(ticklabel cs:0.5)}, anchor=near ticklabel, at={{(ticklabel cs:0.5)}}, anchor={near ticklabel}, font={{\fontsize{11 pt}{14.3 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, ymajorgrids={true}, ymin={6.47977065085e9}, ymax={1.018890188015e10}, yticklabels={{$7.0\times10^{9}$,$8.0\times10^{9}$,$9.0\times10^{9}$,$1.0\times10^{10}$}}, ytick={{7.0e9,8.0e9,9.0e9,1.0e10}}, ytick align={inside}, yticklabel style={font={{\fontsize{8 pt}{10.4 pt}\selectfont}}, color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, rotate={0.0}}, y grid style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={0.1}, line width={0.5}, solid}, axis y line*={left}, y axis line style={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, line width={1}, solid}, colorbar={false}] - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid] - table[row sep={\\}] - { - \\ - 0.5 7.841643476e9 \\ - 0.3 7.841643476e9 \\ - 0.7 7.841643476e9 \\ - 0.5 7.841643476e9 \\ - 0.5 8.021839386e9 \\ - } - ; - \addlegendentry {times} - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 8.021839386e9 \\ - 0.9 8.149938439e9 \\ - 0.09999999999999998 8.149938439e9 \\ - 0.09999999999999998 8.021839386e9 \\ - 0.9 8.021839386e9 \\ - 0.9 8.149938439e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 8.2421283795e9 \\ - 0.09999999999999998 8.2421283795e9 \\ - 0.09999999999999998 8.149938439e9 \\ - 0.9 8.149938439e9 \\ - 0.9 8.2421283795e9 \\ - 0.5 8.2421283795e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 8.331685376e9 \\ - 0.3 8.331685376e9 \\ - 0.7 8.331685376e9 \\ - 0.5 8.331685376e9 \\ - 0.5 8.2421283795e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 8.294259192e9 \\ - 1.3 8.294259192e9 \\ - 1.7 8.294259192e9 \\ - 1.5 8.294259192e9 \\ - 1.5 8.6201618335e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 8.6201618335e9 \\ - 1.9 8.798914518e9 \\ - 1.1 8.798914518e9 \\ - 1.1 8.6201618335e9 \\ - 1.9 8.6201618335e9 \\ - 1.9 8.798914518e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 9.0002984645e9 \\ - 1.1 9.0002984645e9 \\ - 1.1 8.798914518e9 \\ - 1.9 8.798914518e9 \\ - 1.9 9.0002984645e9 \\ - 1.5 9.0002984645e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 9.285495154e9 \\ - 1.3 9.285495154e9 \\ - 1.7 9.285495154e9 \\ - 1.5 9.285495154e9 \\ - 1.5 9.0002984645e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 7.822136025e9 \\ - 2.3 7.822136025e9 \\ - 2.7 7.822136025e9 \\ - 2.5 7.822136025e9 \\ - 2.5 8.0521861185e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 8.0521861185e9 \\ - 2.9 8.133902136e9 \\ - 2.1 8.133902136e9 \\ - 2.1 8.0521861185e9 \\ - 2.9 8.0521861185e9 \\ - 2.9 8.133902136e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 8.4605914185e9 \\ - 2.1 8.4605914185e9 \\ - 2.1 8.133902136e9 \\ - 2.9 8.133902136e9 \\ - 2.9 8.4605914185e9 \\ - 2.5 8.4605914185e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 8.492866198e9 \\ - 2.3 8.492866198e9 \\ - 2.7 8.492866198e9 \\ - 2.5 8.492866198e9 \\ - 2.5 8.4605914185e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 8.630635463e9 \\ - 3.3 8.630635463e9 \\ - 3.7 8.630635463e9 \\ - 3.5 8.630635463e9 \\ - 3.5 8.991569528e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 8.991569528e9 \\ - 3.9 9.268011428e9 \\ - 3.1 9.268011428e9 \\ - 3.1 8.991569528e9 \\ - 3.9 8.991569528e9 \\ - 3.9 9.268011428e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 9.3422111555e9 \\ - 3.1 9.3422111555e9 \\ - 3.1 9.268011428e9 \\ - 3.9 9.268011428e9 \\ - 3.9 9.3422111555e9 \\ - 3.5 9.3422111555e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 9.426129449e9 \\ - 3.3 9.426129449e9 \\ - 3.7 9.426129449e9 \\ - 3.5 9.426129449e9 \\ - 3.5 9.3422111555e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 7.734760618e9 \\ - 4.3 7.734760618e9 \\ - 4.7 7.734760618e9 \\ - 4.5 7.734760618e9 \\ - 4.5 8.106386111e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 8.106386111e9 \\ - 4.9 8.139565316e9 \\ - 4.1 8.139565316e9 \\ - 4.1 8.106386111e9 \\ - 4.9 8.106386111e9 \\ - 4.9 8.139565316e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 8.5966148905e9 \\ - 4.1 8.5966148905e9 \\ - 4.1 8.139565316e9 \\ - 4.9 8.139565316e9 \\ - 4.9 8.5966148905e9 \\ - 4.5 8.5966148905e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 9.190866848e9 \\ - 4.3 9.190866848e9 \\ - 4.7 9.190866848e9 \\ - 4.5 9.190866848e9 \\ - 4.5 8.5966148905e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 8.31000468e9 \\ - 5.3 8.31000468e9 \\ - 5.7 8.31000468e9 \\ - 5.5 8.31000468e9 \\ - 5.5 8.696560022e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 8.696560022e9 \\ - 5.9 8.942008791e9 \\ - 5.1 8.942008791e9 \\ - 5.1 8.696560022e9 \\ - 5.9 8.696560022e9 \\ - 5.9 8.942008791e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 9.002109321e9 \\ - 5.1 9.002109321e9 \\ - 5.1 8.942008791e9 \\ - 5.9 8.942008791e9 \\ - 5.9 9.002109321e9 \\ - 5.5 9.002109321e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 9.070850371e9 \\ - 5.3 9.070850371e9 \\ - 5.7 9.070850371e9 \\ - 5.5 9.070850371e9 \\ - 5.5 9.002109321e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 7.372130622e9 \\ - 6.3 7.372130622e9 \\ - 6.7 7.372130622e9 \\ - 6.5 7.372130622e9 \\ - 6.5 7.629123259e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 7.629123259e9 \\ - 6.9 7.852007392e9 \\ - 6.1 7.852007392e9 \\ - 6.1 7.629123259e9 \\ - 6.9 7.629123259e9 \\ - 6.9 7.852007392e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 8.2301392395e9 \\ - 6.1 8.2301392395e9 \\ - 6.1 7.852007392e9 \\ - 6.9 7.852007392e9 \\ - 6.9 8.2301392395e9 \\ - 6.5 8.2301392395e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 8.377625296e9 \\ - 6.3 8.377625296e9 \\ - 6.7 8.377625296e9 \\ - 6.5 8.377625296e9 \\ - 6.5 8.2301392395e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 6.789645374e9 \\ - 7.3 6.789645374e9 \\ - 7.7 6.789645374e9 \\ - 7.5 6.789645374e9 \\ - 7.5 6.885240568e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 6.885240568e9 \\ - 7.9 6.96067996e9 \\ - 7.1 6.96067996e9 \\ - 7.1 6.885240568e9 \\ - 7.9 6.885240568e9 \\ - 7.9 6.96067996e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 7.066712334e9 \\ - 7.1 7.066712334e9 \\ - 7.1 6.96067996e9 \\ - 7.9 6.96067996e9 \\ - 7.9 7.066712334e9 \\ - 7.5 7.066712334e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 7.305466115e9 \\ - 7.3 7.305466115e9 \\ - 7.7 7.305466115e9 \\ - 7.5 7.305466115e9 \\ - 7.5 7.066712334e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 6.584746063e9 \\ - 8.3 6.584746063e9 \\ - 8.7 6.584746063e9 \\ - 8.5 6.584746063e9 \\ - 8.5 6.823307264e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 6.823307264e9 \\ - 8.9 6.861754409e9 \\ - 8.1 6.861754409e9 \\ - 8.1 6.823307264e9 \\ - 8.9 6.823307264e9 \\ - 8.9 6.861754409e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 7.004062112e9 \\ - 8.1 7.004062112e9 \\ - 8.1 6.861754409e9 \\ - 8.9 6.861754409e9 \\ - 8.9 7.004062112e9 \\ - 8.5 7.004062112e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.0;blue,0.0}, name path={de026d08-07e9-48cf-a50e-8d2efa530c75}, area legend, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, draw opacity={0.5}, line width={2}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 7.108658327e9 \\ - 8.3 7.108658327e9 \\ - 8.7 7.108658327e9 \\ - 8.5 7.108658327e9 \\ - 8.5 7.004062112e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={dd331ac3-cff6-475d-8d92-a59a0d130b6c}, only marks, draw opacity={0.5}, line width={0}, solid, mark={*}, mark size={3.0 pt}, mark repeat={1}, mark options={color={rgb,1:red,0.0;green,0.0;blue,0.0}, draw opacity={1.0}, fill={rgb,1:red,0.0;green,0.6056;blue,0.9787}, fill opacity={1.0}, line width={0.75}, rotate={0}, solid}, forget plot] - table[row sep={\\}] - { - \\ - 0.5 8.800322904e9 \\ - 1.5 1.0083926468e10 \\ - 3.5 8.406536848e9 \\ - 3.5 9.939752622e9 \\ - 5.5 9.759128065e9 \\ - 6.5 9.633176636e9 \\ - 6.5 9.408414246e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 7.841643476e9 \\ - 0.3 7.841643476e9 \\ - 0.7 7.841643476e9 \\ - 0.5 7.841643476e9 \\ - 0.5 8.021839386e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 8.021839386e9 \\ - 0.9 8.149938439e9 \\ - 0.09999999999999998 8.149938439e9 \\ - 0.09999999999999998 8.021839386e9 \\ - 0.9 8.021839386e9 \\ - 0.9 8.149938439e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.9 8.2421283795e9 \\ - 0.09999999999999998 8.2421283795e9 \\ - 0.09999999999999998 8.149938439e9 \\ - 0.9 8.149938439e9 \\ - 0.9 8.2421283795e9 \\ - 0.5 8.2421283795e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 0.5 8.331685376e9 \\ - 0.3 8.331685376e9 \\ - 0.7 8.331685376e9 \\ - 0.5 8.331685376e9 \\ - 0.5 8.2421283795e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 8.294259192e9 \\ - 1.3 8.294259192e9 \\ - 1.7 8.294259192e9 \\ - 1.5 8.294259192e9 \\ - 1.5 8.6201618335e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 8.6201618335e9 \\ - 1.9 8.798914518e9 \\ - 1.1 8.798914518e9 \\ - 1.1 8.6201618335e9 \\ - 1.9 8.6201618335e9 \\ - 1.9 8.798914518e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.9 9.0002984645e9 \\ - 1.1 9.0002984645e9 \\ - 1.1 8.798914518e9 \\ - 1.9 8.798914518e9 \\ - 1.9 9.0002984645e9 \\ - 1.5 9.0002984645e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 1.5 9.285495154e9 \\ - 1.3 9.285495154e9 \\ - 1.7 9.285495154e9 \\ - 1.5 9.285495154e9 \\ - 1.5 9.0002984645e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 7.822136025e9 \\ - 2.3 7.822136025e9 \\ - 2.7 7.822136025e9 \\ - 2.5 7.822136025e9 \\ - 2.5 8.0521861185e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 8.0521861185e9 \\ - 2.9 8.133902136e9 \\ - 2.1 8.133902136e9 \\ - 2.1 8.0521861185e9 \\ - 2.9 8.0521861185e9 \\ - 2.9 8.133902136e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.9 8.4605914185e9 \\ - 2.1 8.4605914185e9 \\ - 2.1 8.133902136e9 \\ - 2.9 8.133902136e9 \\ - 2.9 8.4605914185e9 \\ - 2.5 8.4605914185e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 2.5 8.492866198e9 \\ - 2.3 8.492866198e9 \\ - 2.7 8.492866198e9 \\ - 2.5 8.492866198e9 \\ - 2.5 8.4605914185e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 8.630635463e9 \\ - 3.3 8.630635463e9 \\ - 3.7 8.630635463e9 \\ - 3.5 8.630635463e9 \\ - 3.5 8.991569528e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 8.991569528e9 \\ - 3.9 9.268011428e9 \\ - 3.1 9.268011428e9 \\ - 3.1 8.991569528e9 \\ - 3.9 8.991569528e9 \\ - 3.9 9.268011428e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.9 9.3422111555e9 \\ - 3.1 9.3422111555e9 \\ - 3.1 9.268011428e9 \\ - 3.9 9.268011428e9 \\ - 3.9 9.3422111555e9 \\ - 3.5 9.3422111555e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 3.5 9.426129449e9 \\ - 3.3 9.426129449e9 \\ - 3.7 9.426129449e9 \\ - 3.5 9.426129449e9 \\ - 3.5 9.3422111555e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 7.734760618e9 \\ - 4.3 7.734760618e9 \\ - 4.7 7.734760618e9 \\ - 4.5 7.734760618e9 \\ - 4.5 8.106386111e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 8.106386111e9 \\ - 4.9 8.139565316e9 \\ - 4.1 8.139565316e9 \\ - 4.1 8.106386111e9 \\ - 4.9 8.106386111e9 \\ - 4.9 8.139565316e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.9 8.5966148905e9 \\ - 4.1 8.5966148905e9 \\ - 4.1 8.139565316e9 \\ - 4.9 8.139565316e9 \\ - 4.9 8.5966148905e9 \\ - 4.5 8.5966148905e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 4.5 9.190866848e9 \\ - 4.3 9.190866848e9 \\ - 4.7 9.190866848e9 \\ - 4.5 9.190866848e9 \\ - 4.5 8.5966148905e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 8.31000468e9 \\ - 5.3 8.31000468e9 \\ - 5.7 8.31000468e9 \\ - 5.5 8.31000468e9 \\ - 5.5 8.696560022e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 8.696560022e9 \\ - 5.9 8.942008791e9 \\ - 5.1 8.942008791e9 \\ - 5.1 8.696560022e9 \\ - 5.9 8.696560022e9 \\ - 5.9 8.942008791e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.9 9.002109321e9 \\ - 5.1 9.002109321e9 \\ - 5.1 8.942008791e9 \\ - 5.9 8.942008791e9 \\ - 5.9 9.002109321e9 \\ - 5.5 9.002109321e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 5.5 9.070850371e9 \\ - 5.3 9.070850371e9 \\ - 5.7 9.070850371e9 \\ - 5.5 9.070850371e9 \\ - 5.5 9.002109321e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 7.372130622e9 \\ - 6.3 7.372130622e9 \\ - 6.7 7.372130622e9 \\ - 6.5 7.372130622e9 \\ - 6.5 7.629123259e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 7.629123259e9 \\ - 6.9 7.852007392e9 \\ - 6.1 7.852007392e9 \\ - 6.1 7.629123259e9 \\ - 6.9 7.629123259e9 \\ - 6.9 7.852007392e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.9 8.2301392395e9 \\ - 6.1 8.2301392395e9 \\ - 6.1 7.852007392e9 \\ - 6.9 7.852007392e9 \\ - 6.9 8.2301392395e9 \\ - 6.5 8.2301392395e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 6.5 8.377625296e9 \\ - 6.3 8.377625296e9 \\ - 6.7 8.377625296e9 \\ - 6.5 8.377625296e9 \\ - 6.5 8.2301392395e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 6.789645374e9 \\ - 7.3 6.789645374e9 \\ - 7.7 6.789645374e9 \\ - 7.5 6.789645374e9 \\ - 7.5 6.885240568e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 6.885240568e9 \\ - 7.9 6.96067996e9 \\ - 7.1 6.96067996e9 \\ - 7.1 6.885240568e9 \\ - 7.9 6.885240568e9 \\ - 7.9 6.96067996e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.9 7.066712334e9 \\ - 7.1 7.066712334e9 \\ - 7.1 6.96067996e9 \\ - 7.9 6.96067996e9 \\ - 7.9 7.066712334e9 \\ - 7.5 7.066712334e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 7.5 7.305466115e9 \\ - 7.3 7.305466115e9 \\ - 7.7 7.305466115e9 \\ - 7.5 7.305466115e9 \\ - 7.5 7.066712334e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 6.584746063e9 \\ - 8.3 6.584746063e9 \\ - 8.7 6.584746063e9 \\ - 8.5 6.584746063e9 \\ - 8.5 6.823307264e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 6.823307264e9 \\ - 8.9 6.861754409e9 \\ - 8.1 6.861754409e9 \\ - 8.1 6.823307264e9 \\ - 8.9 6.823307264e9 \\ - 8.9 6.861754409e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.9 7.004062112e9 \\ - 8.1 7.004062112e9 \\ - 8.1 6.861754409e9 \\ - 8.9 6.861754409e9 \\ - 8.9 7.004062112e9 \\ - 8.5 7.004062112e9 \\ - } - ; - \addplot[color={rgb,1:red,0.0;green,0.6056;blue,0.9787}, name path={eba737a4-d053-448a-aaf3-486d2d0ae828}, draw opacity={0.5}, line width={0}, solid, forget plot] - table[row sep={\\}] - { - \\ - 8.5 7.108658327e9 \\ - 8.3 7.108658327e9 \\ - 8.7 7.108658327e9 \\ - 8.5 7.108658327e9 \\ - 8.5 7.004062112e9 \\ - } - ; -\end{axis} -\end{tikzpicture} diff --git a/perf/GLM/chair.jl b/perf/GLM/chair.jl new file mode 100644 index 0000000..a7fac5b --- /dev/null +++ b/perf/GLM/chair.jl @@ -0,0 +1,35 @@ +using PerfChecker, Chairmarks + +d = Dict(:targets => ["GLM"], + :path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, + :pkgs => ("GLM", + :custom, + [ + v"1.3.9", v"1.3.10", v"1.3.11", v"1.4.0", + v"1.5.0", v"1.6.0", v"1.7.0", v"1.8.0", + v"1.9.0"], + true), + :tags => [:bernouilli]) + +x = @check :chairmark d begin + using GLM, Random, StatsModels +end begin + n = 2_500_000 + rng = Random.MersenneTwister(1234321) + tbl = ( + x1 = randn(rng, n), + x2 = Random.randexp(rng, n), + ss = rand(rng, string.(50:99), n), + y = zeros(n) + ) + f = @formula(y~1 + x1 + x2 + ss) + f = apply_schema(f, schema(f, tbl)) + resp, pred = modelcols(f, tbl) + B = randn(rng, size(pred, 2)) + B[1] = 0.5 + logistic(x::Real) = inv(1 + exp(-x)) + resp .= rand(rng, n) .< logistic.(pred * B) + glm(pred, resp, Bernoulli()) +end + +@info x diff --git a/perf/GLM/mallocs/mallocs-1.3.10.csv b/perf/GLM/mallocs/mallocs-1.3.10.csv deleted file mode 100644 index e769806..0000000 --- a/perf/GLM/mallocs/mallocs-1.3.10.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,49 -20000080,0.91,gglmfit.jl,288 -20000080,0.91,gglmfit.jl,54 -20000080,0.91,gglmfit.jl,53 -21712,0.0,glinpred.jl,105 -160,0.0,gglmfit.jl,485 -96,0.0,gglmfit.jl,468 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,398 -0,0.0,gglmtools.jl,396 -0,0.0,gglmtools.jl,395 -0,0.0,gglmtools.jl,394 -0,0.0,gglmtools.jl,393 -0,0.0,gglmtools.jl,247 -0,0.0,gglmtools.jl,245 -0,0.0,gglmtools.jl,243 -0,0.0,gglmtools.jl,242 -0,0.0,gglmtools.jl,241 -0,0.0,gglmtools.jl,240 -0,0.0,gglmtools.jl,239 -0,0.0,gglmfit.jl,577 -0,0.0,gglmfit.jl,575 -0,0.0,gglmfit.jl,574 -0,0.0,gglmfit.jl,569 -0,0.0,gglmfit.jl,566 -0,0.0,gglmfit.jl,565 -0,0.0,gglmfit.jl,562 -0,0.0,gglmfit.jl,561 -0,0.0,gglmfit.jl,558 -0,0.0,gglmfit.jl,553 -0,0.0,gglmfit.jl,552 -0,0.0,gglmfit.jl,548 -0,0.0,gglmfit.jl,547 -0,0.0,gglmfit.jl,545 -0,0.0,gglmfit.jl,544 -0,0.0,gglmfit.jl,543 -0,0.0,gglmfit.jl,469 -0,0.0,gglmfit.jl,467 -0,0.0,gglmfit.jl,464 -0,0.0,gglmfit.jl,463 -0,0.0,gglmfit.jl,342 -0,0.0,gglmfit.jl,341 -0,0.0,gglmfit.jl,340 -0,0.0,gglmfit.jl,338 -0,0.0,gglmfit.jl,337 -0,0.0,gglmfit.jl,333 -0,0.0,gglmfit.jl,332 -0,0.0,gglmfit.jl,329 -0,0.0,gglmfit.jl,326 -0,0.0,gglmfit.jl,324 -0,0.0,gglmfit.jl,323 -0,0.0,gglmfit.jl,321 -0,0.0,gglmfit.jl,320 -0,0.0,gglmfit.jl,319 -0,0.0,gglmfit.jl,312 -0,0.0,gglmfit.jl,310 -0,0.0,gglmfit.jl,309 -0,0.0,gglmfit.jl,308 -0,0.0,gglmfit.jl,307 -0,0.0,gglmfit.jl,301 -0,0.0,gglmfit.jl,299 -0,0.0,gglmfit.jl,291 -0,0.0,gglmfit.jl,290 -0,0.0,gglmfit.jl,289 -0,0.0,gglmfit.jl,282 -0,0.0,gglmfit.jl,281 -0,0.0,gglmfit.jl,278 -0,0.0,gglmfit.jl,277 -0,0.0,gglmfit.jl,274 -0,0.0,gglmfit.jl,186 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,179 -0,0.0,gglmfit.jl,178 -0,0.0,gglmfit.jl,177 -0,0.0,gglmfit.jl,176 -0,0.0,gglmfit.jl,174 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,96 -0,0.0,gglmfit.jl,95 -0,0.0,gglmfit.jl,94 -0,0.0,gglmfit.jl,93 -0,0.0,gglmfit.jl,92 -0,0.0,gglmfit.jl,58 -0,0.0,gglmfit.jl,57 -0,0.0,gglmfit.jl,56 -0,0.0,gglmfit.jl,55 -0,0.0,gglmfit.jl,46 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,43 -0,0.0,gglmfit.jl,42 -0,0.0,gglmfit.jl,38 -0,0.0,gglmfit.jl,37 -0,0.0,gglmfit.jl,34 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 -0,0.0,gglmfit.jl,28 -0,0.0,gglmfit.jl,27 diff --git a/perf/GLM/mallocs/mallocs-1.3.10.pdf b/perf/GLM/mallocs/mallocs-1.3.10.pdf deleted file mode 100644 index 1a9a6e98b923312ce7678127ab888ea6d48aa75d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8326 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 diff --git a/perf/GLM/mallocs/mallocs-1.3.10.svg b/perf/GLM/mallocs/mallocs-1.3.10.svg deleted file mode 100644 index 8d2aa6c..0000000 --- a/perf/GLM/mallocs/mallocs-1.3.10.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.3.11.csv b/perf/GLM/mallocs/mallocs-1.3.11.csv deleted file mode 100644 index e769806..0000000 --- a/perf/GLM/mallocs/mallocs-1.3.11.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,49 -20000080,0.91,gglmfit.jl,288 -20000080,0.91,gglmfit.jl,54 -20000080,0.91,gglmfit.jl,53 -21712,0.0,glinpred.jl,105 -160,0.0,gglmfit.jl,485 -96,0.0,gglmfit.jl,468 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,398 -0,0.0,gglmtools.jl,396 -0,0.0,gglmtools.jl,395 -0,0.0,gglmtools.jl,394 -0,0.0,gglmtools.jl,393 -0,0.0,gglmtools.jl,247 -0,0.0,gglmtools.jl,245 -0,0.0,gglmtools.jl,243 -0,0.0,gglmtools.jl,242 -0,0.0,gglmtools.jl,241 -0,0.0,gglmtools.jl,240 -0,0.0,gglmtools.jl,239 -0,0.0,gglmfit.jl,577 -0,0.0,gglmfit.jl,575 -0,0.0,gglmfit.jl,574 -0,0.0,gglmfit.jl,569 -0,0.0,gglmfit.jl,566 -0,0.0,gglmfit.jl,565 -0,0.0,gglmfit.jl,562 -0,0.0,gglmfit.jl,561 -0,0.0,gglmfit.jl,558 -0,0.0,gglmfit.jl,553 -0,0.0,gglmfit.jl,552 -0,0.0,gglmfit.jl,548 -0,0.0,gglmfit.jl,547 -0,0.0,gglmfit.jl,545 -0,0.0,gglmfit.jl,544 -0,0.0,gglmfit.jl,543 -0,0.0,gglmfit.jl,469 -0,0.0,gglmfit.jl,467 -0,0.0,gglmfit.jl,464 -0,0.0,gglmfit.jl,463 -0,0.0,gglmfit.jl,342 -0,0.0,gglmfit.jl,341 -0,0.0,gglmfit.jl,340 -0,0.0,gglmfit.jl,338 -0,0.0,gglmfit.jl,337 -0,0.0,gglmfit.jl,333 -0,0.0,gglmfit.jl,332 -0,0.0,gglmfit.jl,329 -0,0.0,gglmfit.jl,326 -0,0.0,gglmfit.jl,324 -0,0.0,gglmfit.jl,323 -0,0.0,gglmfit.jl,321 -0,0.0,gglmfit.jl,320 -0,0.0,gglmfit.jl,319 -0,0.0,gglmfit.jl,312 -0,0.0,gglmfit.jl,310 -0,0.0,gglmfit.jl,309 -0,0.0,gglmfit.jl,308 -0,0.0,gglmfit.jl,307 -0,0.0,gglmfit.jl,301 -0,0.0,gglmfit.jl,299 -0,0.0,gglmfit.jl,291 -0,0.0,gglmfit.jl,290 -0,0.0,gglmfit.jl,289 -0,0.0,gglmfit.jl,282 -0,0.0,gglmfit.jl,281 -0,0.0,gglmfit.jl,278 -0,0.0,gglmfit.jl,277 -0,0.0,gglmfit.jl,274 -0,0.0,gglmfit.jl,186 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,179 -0,0.0,gglmfit.jl,178 -0,0.0,gglmfit.jl,177 -0,0.0,gglmfit.jl,176 -0,0.0,gglmfit.jl,174 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,96 -0,0.0,gglmfit.jl,95 -0,0.0,gglmfit.jl,94 -0,0.0,gglmfit.jl,93 -0,0.0,gglmfit.jl,92 -0,0.0,gglmfit.jl,58 -0,0.0,gglmfit.jl,57 -0,0.0,gglmfit.jl,56 -0,0.0,gglmfit.jl,55 -0,0.0,gglmfit.jl,46 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,43 -0,0.0,gglmfit.jl,42 -0,0.0,gglmfit.jl,38 -0,0.0,gglmfit.jl,37 -0,0.0,gglmfit.jl,34 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 -0,0.0,gglmfit.jl,28 -0,0.0,gglmfit.jl,27 diff --git a/perf/GLM/mallocs/mallocs-1.3.11.pdf b/perf/GLM/mallocs/mallocs-1.3.11.pdf deleted file mode 100644 index 3030097da06cb10a66a97c7b3e677af38afc9af9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8239 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%0AI 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.3.9.csv b/perf/GLM/mallocs/mallocs-1.3.9.csv deleted file mode 100644 index 31b5af8..0000000 --- a/perf/GLM/mallocs/mallocs-1.3.9.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,89.65,glinpred.jl,108 -120000000,5.17,gglmfit.jl,178 -60000240,2.59,gglmfit.jl,49 -20000080,0.86,gglmfit.jl,288 -20000080,0.86,gglmfit.jl,54 -20000080,0.86,gglmfit.jl,53 -21712,0.0,glinpred.jl,105 -168,0.0,gglmfit.jl,479 -96,0.0,gglmfit.jl,462 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,398 -0,0.0,gglmtools.jl,396 -0,0.0,gglmtools.jl,395 -0,0.0,gglmtools.jl,394 -0,0.0,gglmtools.jl,393 -0,0.0,gglmtools.jl,247 -0,0.0,gglmtools.jl,245 -0,0.0,gglmtools.jl,243 -0,0.0,gglmtools.jl,242 -0,0.0,gglmtools.jl,241 -0,0.0,gglmtools.jl,240 -0,0.0,gglmtools.jl,239 -0,0.0,gglmfit.jl,571 -0,0.0,gglmfit.jl,569 -0,0.0,gglmfit.jl,568 -0,0.0,gglmfit.jl,563 -0,0.0,gglmfit.jl,560 -0,0.0,gglmfit.jl,559 -0,0.0,gglmfit.jl,556 -0,0.0,gglmfit.jl,555 -0,0.0,gglmfit.jl,552 -0,0.0,gglmfit.jl,547 -0,0.0,gglmfit.jl,546 -0,0.0,gglmfit.jl,542 -0,0.0,gglmfit.jl,541 -0,0.0,gglmfit.jl,539 -0,0.0,gglmfit.jl,538 -0,0.0,gglmfit.jl,537 -0,0.0,gglmfit.jl,463 -0,0.0,gglmfit.jl,461 -0,0.0,gglmfit.jl,458 -0,0.0,gglmfit.jl,457 -0,0.0,gglmfit.jl,342 -0,0.0,gglmfit.jl,341 -0,0.0,gglmfit.jl,340 -0,0.0,gglmfit.jl,338 -0,0.0,gglmfit.jl,337 -0,0.0,gglmfit.jl,333 -0,0.0,gglmfit.jl,332 -0,0.0,gglmfit.jl,329 -0,0.0,gglmfit.jl,326 -0,0.0,gglmfit.jl,324 -0,0.0,gglmfit.jl,323 -0,0.0,gglmfit.jl,321 -0,0.0,gglmfit.jl,320 -0,0.0,gglmfit.jl,319 -0,0.0,gglmfit.jl,312 -0,0.0,gglmfit.jl,310 -0,0.0,gglmfit.jl,309 -0,0.0,gglmfit.jl,308 -0,0.0,gglmfit.jl,307 -0,0.0,gglmfit.jl,301 -0,0.0,gglmfit.jl,299 -0,0.0,gglmfit.jl,291 -0,0.0,gglmfit.jl,290 -0,0.0,gglmfit.jl,289 -0,0.0,gglmfit.jl,282 -0,0.0,gglmfit.jl,281 -0,0.0,gglmfit.jl,278 -0,0.0,gglmfit.jl,277 -0,0.0,gglmfit.jl,274 -0,0.0,gglmfit.jl,186 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,179 -0,0.0,gglmfit.jl,177 -0,0.0,gglmfit.jl,176 -0,0.0,gglmfit.jl,174 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,96 -0,0.0,gglmfit.jl,95 -0,0.0,gglmfit.jl,94 -0,0.0,gglmfit.jl,93 -0,0.0,gglmfit.jl,92 -0,0.0,gglmfit.jl,58 -0,0.0,gglmfit.jl,57 -0,0.0,gglmfit.jl,56 -0,0.0,gglmfit.jl,55 -0,0.0,gglmfit.jl,46 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,43 -0,0.0,gglmfit.jl,42 -0,0.0,gglmfit.jl,38 -0,0.0,gglmfit.jl,37 -0,0.0,gglmfit.jl,34 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 -0,0.0,gglmfit.jl,28 -0,0.0,gglmfit.jl,27 diff --git a/perf/GLM/mallocs/mallocs-1.3.9.pdf b/perf/GLM/mallocs/mallocs-1.3.9.pdf deleted file mode 100644 index 8bd048a39cabf758416dde1ee34b42b341e51f66..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10582 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 diff --git a/perf/GLM/mallocs/mallocs-1.3.9.png b/perf/GLM/mallocs/mallocs-1.3.9.png deleted file mode 100644 index 29168034bbdfb4c8c47d814fa847eb36098b6d2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24892 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 YS|^SV?_qPPx# diff --git a/perf/GLM/mallocs/mallocs-1.3.9.svg b/perf/GLM/mallocs/mallocs-1.3.9.svg deleted file mode 100644 index 972c1c6..0000000 --- a/perf/GLM/mallocs/mallocs-1.3.9.svg +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.4.0.csv b/perf/GLM/mallocs/mallocs-1.4.0.csv deleted file mode 100644 index b645aac..0000000 --- a/perf/GLM/mallocs/mallocs-1.4.0.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,49 -20000080,0.91,gglmfit.jl,288 -20000080,0.91,gglmfit.jl,54 -20000080,0.91,gglmfit.jl,53 -21712,0.0,glinpred.jl,105 -160,0.0,gglmfit.jl,485 -96,0.0,gglmfit.jl,468 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,398 -0,0.0,gglmtools.jl,396 -0,0.0,gglmtools.jl,395 -0,0.0,gglmtools.jl,394 -0,0.0,gglmtools.jl,393 -0,0.0,gglmtools.jl,247 -0,0.0,gglmtools.jl,245 -0,0.0,gglmtools.jl,243 -0,0.0,gglmtools.jl,242 -0,0.0,gglmtools.jl,241 -0,0.0,gglmtools.jl,240 -0,0.0,gglmtools.jl,239 -0,0.0,gglmfit.jl,619 -0,0.0,gglmfit.jl,617 -0,0.0,gglmfit.jl,616 -0,0.0,gglmfit.jl,611 -0,0.0,gglmfit.jl,608 -0,0.0,gglmfit.jl,607 -0,0.0,gglmfit.jl,604 -0,0.0,gglmfit.jl,603 -0,0.0,gglmfit.jl,600 -0,0.0,gglmfit.jl,595 -0,0.0,gglmfit.jl,594 -0,0.0,gglmfit.jl,590 -0,0.0,gglmfit.jl,589 -0,0.0,gglmfit.jl,587 -0,0.0,gglmfit.jl,586 -0,0.0,gglmfit.jl,585 -0,0.0,gglmfit.jl,469 -0,0.0,gglmfit.jl,467 -0,0.0,gglmfit.jl,464 -0,0.0,gglmfit.jl,463 -0,0.0,gglmfit.jl,342 -0,0.0,gglmfit.jl,341 -0,0.0,gglmfit.jl,340 -0,0.0,gglmfit.jl,338 -0,0.0,gglmfit.jl,337 -0,0.0,gglmfit.jl,333 -0,0.0,gglmfit.jl,332 -0,0.0,gglmfit.jl,329 -0,0.0,gglmfit.jl,326 -0,0.0,gglmfit.jl,324 -0,0.0,gglmfit.jl,323 -0,0.0,gglmfit.jl,321 -0,0.0,gglmfit.jl,320 -0,0.0,gglmfit.jl,319 -0,0.0,gglmfit.jl,312 -0,0.0,gglmfit.jl,310 -0,0.0,gglmfit.jl,309 -0,0.0,gglmfit.jl,308 -0,0.0,gglmfit.jl,307 -0,0.0,gglmfit.jl,301 -0,0.0,gglmfit.jl,299 -0,0.0,gglmfit.jl,291 -0,0.0,gglmfit.jl,290 -0,0.0,gglmfit.jl,289 -0,0.0,gglmfit.jl,282 -0,0.0,gglmfit.jl,281 -0,0.0,gglmfit.jl,278 -0,0.0,gglmfit.jl,277 -0,0.0,gglmfit.jl,274 -0,0.0,gglmfit.jl,186 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,179 -0,0.0,gglmfit.jl,178 -0,0.0,gglmfit.jl,177 -0,0.0,gglmfit.jl,176 -0,0.0,gglmfit.jl,174 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,96 -0,0.0,gglmfit.jl,95 -0,0.0,gglmfit.jl,94 -0,0.0,gglmfit.jl,93 -0,0.0,gglmfit.jl,92 -0,0.0,gglmfit.jl,58 -0,0.0,gglmfit.jl,57 -0,0.0,gglmfit.jl,56 -0,0.0,gglmfit.jl,55 -0,0.0,gglmfit.jl,46 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,43 -0,0.0,gglmfit.jl,42 -0,0.0,gglmfit.jl,38 -0,0.0,gglmfit.jl,37 -0,0.0,gglmfit.jl,34 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 -0,0.0,gglmfit.jl,28 -0,0.0,gglmfit.jl,27 diff --git a/perf/GLM/mallocs/mallocs-1.4.0.pdf b/perf/GLM/mallocs/mallocs-1.4.0.pdf deleted file mode 100644 index 4d87aff9cabaf204278ca2c420f3c4a643aaf948..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8060 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 Uk&T8y!XV_ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.5.0.csv b/perf/GLM/mallocs/mallocs-1.5.0.csv deleted file mode 100644 index 697a0ce..0000000 --- a/perf/GLM/mallocs/mallocs-1.5.0.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,49 -20000080,0.91,gglmfit.jl,288 -20000080,0.91,gglmfit.jl,54 -20000080,0.91,gglmfit.jl,53 -21712,0.0,glinpred.jl,105 -160,0.0,gglmfit.jl,504 -96,0.0,gglmfit.jl,483 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,407 -0,0.0,gglmtools.jl,405 -0,0.0,gglmtools.jl,404 -0,0.0,gglmtools.jl,403 -0,0.0,gglmtools.jl,402 -0,0.0,gglmtools.jl,256 -0,0.0,gglmtools.jl,254 -0,0.0,gglmtools.jl,252 -0,0.0,gglmtools.jl,251 -0,0.0,gglmtools.jl,250 -0,0.0,gglmtools.jl,249 -0,0.0,gglmtools.jl,248 -0,0.0,gglmfit.jl,638 -0,0.0,gglmfit.jl,636 -0,0.0,gglmfit.jl,635 -0,0.0,gglmfit.jl,630 -0,0.0,gglmfit.jl,627 -0,0.0,gglmfit.jl,626 -0,0.0,gglmfit.jl,623 -0,0.0,gglmfit.jl,622 -0,0.0,gglmfit.jl,619 -0,0.0,gglmfit.jl,614 -0,0.0,gglmfit.jl,613 -0,0.0,gglmfit.jl,609 -0,0.0,gglmfit.jl,608 -0,0.0,gglmfit.jl,606 -0,0.0,gglmfit.jl,605 -0,0.0,gglmfit.jl,604 -0,0.0,gglmfit.jl,484 -0,0.0,gglmfit.jl,482 -0,0.0,gglmfit.jl,479 -0,0.0,gglmfit.jl,478 -0,0.0,gglmfit.jl,342 -0,0.0,gglmfit.jl,341 -0,0.0,gglmfit.jl,340 -0,0.0,gglmfit.jl,338 -0,0.0,gglmfit.jl,337 -0,0.0,gglmfit.jl,333 -0,0.0,gglmfit.jl,332 -0,0.0,gglmfit.jl,329 -0,0.0,gglmfit.jl,326 -0,0.0,gglmfit.jl,324 -0,0.0,gglmfit.jl,323 -0,0.0,gglmfit.jl,321 -0,0.0,gglmfit.jl,320 -0,0.0,gglmfit.jl,319 -0,0.0,gglmfit.jl,312 -0,0.0,gglmfit.jl,310 -0,0.0,gglmfit.jl,309 -0,0.0,gglmfit.jl,308 -0,0.0,gglmfit.jl,307 -0,0.0,gglmfit.jl,301 -0,0.0,gglmfit.jl,299 -0,0.0,gglmfit.jl,291 -0,0.0,gglmfit.jl,290 -0,0.0,gglmfit.jl,289 -0,0.0,gglmfit.jl,282 -0,0.0,gglmfit.jl,281 -0,0.0,gglmfit.jl,278 -0,0.0,gglmfit.jl,277 -0,0.0,gglmfit.jl,274 -0,0.0,gglmfit.jl,186 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,179 -0,0.0,gglmfit.jl,178 -0,0.0,gglmfit.jl,177 -0,0.0,gglmfit.jl,176 -0,0.0,gglmfit.jl,174 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,96 -0,0.0,gglmfit.jl,95 -0,0.0,gglmfit.jl,94 -0,0.0,gglmfit.jl,93 -0,0.0,gglmfit.jl,92 -0,0.0,gglmfit.jl,58 -0,0.0,gglmfit.jl,57 -0,0.0,gglmfit.jl,56 -0,0.0,gglmfit.jl,55 -0,0.0,gglmfit.jl,46 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,43 -0,0.0,gglmfit.jl,42 -0,0.0,gglmfit.jl,38 -0,0.0,gglmfit.jl,37 -0,0.0,gglmfit.jl,34 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 -0,0.0,gglmfit.jl,28 -0,0.0,gglmfit.jl,27 diff --git a/perf/GLM/mallocs/mallocs-1.5.0.pdf b/perf/GLM/mallocs/mallocs-1.5.0.pdf deleted file mode 100644 index a6af99580ea713c6d11480248875581a753d261c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8207 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.6.0.csv b/perf/GLM/mallocs/mallocs-1.6.0.csv deleted file mode 100644 index 2c2aa3c..0000000 --- a/perf/GLM/mallocs/mallocs-1.6.0.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,49 -20000080,0.91,gglmfit.jl,288 -20000080,0.91,gglmfit.jl,54 -20000080,0.91,gglmfit.jl,53 -21712,0.0,glinpred.jl,105 -160,0.0,gglmfit.jl,504 -96,0.0,gglmfit.jl,483 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,410 -0,0.0,gglmtools.jl,408 -0,0.0,gglmtools.jl,407 -0,0.0,gglmtools.jl,406 -0,0.0,gglmtools.jl,405 -0,0.0,gglmtools.jl,259 -0,0.0,gglmtools.jl,257 -0,0.0,gglmtools.jl,255 -0,0.0,gglmtools.jl,254 -0,0.0,gglmtools.jl,253 -0,0.0,gglmtools.jl,252 -0,0.0,gglmtools.jl,251 -0,0.0,gglmfit.jl,638 -0,0.0,gglmfit.jl,636 -0,0.0,gglmfit.jl,635 -0,0.0,gglmfit.jl,630 -0,0.0,gglmfit.jl,627 -0,0.0,gglmfit.jl,626 -0,0.0,gglmfit.jl,623 -0,0.0,gglmfit.jl,622 -0,0.0,gglmfit.jl,619 -0,0.0,gglmfit.jl,614 -0,0.0,gglmfit.jl,613 -0,0.0,gglmfit.jl,609 -0,0.0,gglmfit.jl,608 -0,0.0,gglmfit.jl,606 -0,0.0,gglmfit.jl,605 -0,0.0,gglmfit.jl,604 -0,0.0,gglmfit.jl,484 -0,0.0,gglmfit.jl,482 -0,0.0,gglmfit.jl,479 -0,0.0,gglmfit.jl,478 -0,0.0,gglmfit.jl,342 -0,0.0,gglmfit.jl,341 -0,0.0,gglmfit.jl,340 -0,0.0,gglmfit.jl,338 -0,0.0,gglmfit.jl,337 -0,0.0,gglmfit.jl,333 -0,0.0,gglmfit.jl,332 -0,0.0,gglmfit.jl,329 -0,0.0,gglmfit.jl,326 -0,0.0,gglmfit.jl,324 -0,0.0,gglmfit.jl,323 -0,0.0,gglmfit.jl,321 -0,0.0,gglmfit.jl,320 -0,0.0,gglmfit.jl,319 -0,0.0,gglmfit.jl,312 -0,0.0,gglmfit.jl,310 -0,0.0,gglmfit.jl,309 -0,0.0,gglmfit.jl,308 -0,0.0,gglmfit.jl,307 -0,0.0,gglmfit.jl,301 -0,0.0,gglmfit.jl,299 -0,0.0,gglmfit.jl,291 -0,0.0,gglmfit.jl,290 -0,0.0,gglmfit.jl,289 -0,0.0,gglmfit.jl,282 -0,0.0,gglmfit.jl,281 -0,0.0,gglmfit.jl,278 -0,0.0,gglmfit.jl,277 -0,0.0,gglmfit.jl,274 -0,0.0,gglmfit.jl,186 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,179 -0,0.0,gglmfit.jl,178 -0,0.0,gglmfit.jl,177 -0,0.0,gglmfit.jl,176 -0,0.0,gglmfit.jl,174 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,96 -0,0.0,gglmfit.jl,95 -0,0.0,gglmfit.jl,94 -0,0.0,gglmfit.jl,93 -0,0.0,gglmfit.jl,92 -0,0.0,gglmfit.jl,58 -0,0.0,gglmfit.jl,57 -0,0.0,gglmfit.jl,56 -0,0.0,gglmfit.jl,55 -0,0.0,gglmfit.jl,46 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,43 -0,0.0,gglmfit.jl,42 -0,0.0,gglmfit.jl,38 -0,0.0,gglmfit.jl,37 -0,0.0,gglmfit.jl,34 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 -0,0.0,gglmfit.jl,28 -0,0.0,gglmfit.jl,27 diff --git a/perf/GLM/mallocs/mallocs-1.6.0.pdf b/perf/GLM/mallocs/mallocs-1.6.0.pdf deleted file mode 100644 index c785f5949332fc57bb67d741fbc69e784f5aa1b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8248 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

M_gO?%6JPHM{O<4~U!C`||V85ms?hW@%0HZa|@( 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 diff --git a/perf/GLM/mallocs/mallocs-1.6.0.png b/perf/GLM/mallocs/mallocs-1.6.0.png deleted file mode 100644 index 9bff1409dc9f909e678b723bc236bf2dd969f246..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20877 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.7.0.csv b/perf/GLM/mallocs/mallocs-1.7.0.csv deleted file mode 100644 index e6c8117..0000000 --- a/perf/GLM/mallocs/mallocs-1.7.0.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,49 -20000080,0.91,gglmfit.jl,292 -20000080,0.91,gglmfit.jl,58 -20000080,0.91,gglmfit.jl,57 -21712,0.0,glinpred.jl,105 -160,0.0,gglmfit.jl,508 -96,0.0,gglmfit.jl,487 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,410 -0,0.0,gglmtools.jl,408 -0,0.0,gglmtools.jl,407 -0,0.0,gglmtools.jl,406 -0,0.0,gglmtools.jl,405 -0,0.0,gglmtools.jl,259 -0,0.0,gglmtools.jl,257 -0,0.0,gglmtools.jl,255 -0,0.0,gglmtools.jl,254 -0,0.0,gglmtools.jl,253 -0,0.0,gglmtools.jl,252 -0,0.0,gglmtools.jl,251 -0,0.0,gglmfit.jl,644 -0,0.0,gglmfit.jl,642 -0,0.0,gglmfit.jl,641 -0,0.0,gglmfit.jl,636 -0,0.0,gglmfit.jl,633 -0,0.0,gglmfit.jl,632 -0,0.0,gglmfit.jl,629 -0,0.0,gglmfit.jl,628 -0,0.0,gglmfit.jl,625 -0,0.0,gglmfit.jl,620 -0,0.0,gglmfit.jl,619 -0,0.0,gglmfit.jl,615 -0,0.0,gglmfit.jl,614 -0,0.0,gglmfit.jl,612 -0,0.0,gglmfit.jl,611 -0,0.0,gglmfit.jl,610 -0,0.0,gglmfit.jl,488 -0,0.0,gglmfit.jl,486 -0,0.0,gglmfit.jl,483 -0,0.0,gglmfit.jl,482 -0,0.0,gglmfit.jl,346 -0,0.0,gglmfit.jl,345 -0,0.0,gglmfit.jl,344 -0,0.0,gglmfit.jl,342 -0,0.0,gglmfit.jl,341 -0,0.0,gglmfit.jl,337 -0,0.0,gglmfit.jl,336 -0,0.0,gglmfit.jl,333 -0,0.0,gglmfit.jl,330 -0,0.0,gglmfit.jl,328 -0,0.0,gglmfit.jl,327 -0,0.0,gglmfit.jl,325 -0,0.0,gglmfit.jl,324 -0,0.0,gglmfit.jl,323 -0,0.0,gglmfit.jl,316 -0,0.0,gglmfit.jl,314 -0,0.0,gglmfit.jl,313 -0,0.0,gglmfit.jl,312 -0,0.0,gglmfit.jl,311 -0,0.0,gglmfit.jl,305 -0,0.0,gglmfit.jl,303 -0,0.0,gglmfit.jl,295 -0,0.0,gglmfit.jl,294 -0,0.0,gglmfit.jl,293 -0,0.0,gglmfit.jl,286 -0,0.0,gglmfit.jl,285 -0,0.0,gglmfit.jl,282 -0,0.0,gglmfit.jl,281 -0,0.0,gglmfit.jl,278 -0,0.0,gglmfit.jl,190 -0,0.0,gglmfit.jl,189 -0,0.0,gglmfit.jl,183 -0,0.0,gglmfit.jl,182 -0,0.0,gglmfit.jl,181 -0,0.0,gglmfit.jl,180 -0,0.0,gglmfit.jl,178 -0,0.0,gglmfit.jl,102 -0,0.0,gglmfit.jl,100 -0,0.0,gglmfit.jl,99 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,97 -0,0.0,gglmfit.jl,96 -0,0.0,gglmfit.jl,62 -0,0.0,gglmfit.jl,61 -0,0.0,gglmfit.jl,60 -0,0.0,gglmfit.jl,59 -0,0.0,gglmfit.jl,46 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,43 -0,0.0,gglmfit.jl,42 -0,0.0,gglmfit.jl,38 -0,0.0,gglmfit.jl,37 -0,0.0,gglmfit.jl,34 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 -0,0.0,gglmfit.jl,28 -0,0.0,gglmfit.jl,27 diff --git a/perf/GLM/mallocs/mallocs-1.7.0.pdf b/perf/GLM/mallocs/mallocs-1.7.0.pdf deleted file mode 100644 index 761a309538ea24ae41d5c80fbe3a60c181404df8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8034 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 diff --git a/perf/GLM/mallocs/mallocs-1.7.0.png b/perf/GLM/mallocs/mallocs-1.7.0.png deleted file mode 100644 index 7b3b156aae81ebea196d1742c89b91d8790bb483..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20720 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≪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 diff --git a/perf/GLM/mallocs/mallocs-1.7.0.svg b/perf/GLM/mallocs/mallocs-1.7.0.svg deleted file mode 100644 index 7bff571..0000000 --- a/perf/GLM/mallocs/mallocs-1.7.0.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.8.0.csv b/perf/GLM/mallocs/mallocs-1.8.0.csv deleted file mode 100644 index 23a412b..0000000 --- a/perf/GLM/mallocs/mallocs-1.8.0.csv +++ /dev/null @@ -1,117 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023440,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,51 -20000080,0.91,gglmfit.jl,294 -20000080,0.91,gglmfit.jl,60 -20000080,0.91,gglmfit.jl,59 -21712,0.0,glinpred.jl,105 -160,0.0,gglmfit.jl,510 -96,0.0,gglmfit.jl,489 -32,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,164 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,162 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,459 -0,0.0,gglmtools.jl,457 -0,0.0,gglmtools.jl,456 -0,0.0,gglmtools.jl,455 -0,0.0,gglmtools.jl,454 -0,0.0,gglmtools.jl,276 -0,0.0,gglmtools.jl,274 -0,0.0,gglmtools.jl,272 -0,0.0,gglmtools.jl,271 -0,0.0,gglmtools.jl,270 -0,0.0,gglmtools.jl,269 -0,0.0,gglmtools.jl,268 -0,0.0,gglmfit.jl,644 -0,0.0,gglmfit.jl,642 -0,0.0,gglmfit.jl,641 -0,0.0,gglmfit.jl,636 -0,0.0,gglmfit.jl,633 -0,0.0,gglmfit.jl,632 -0,0.0,gglmfit.jl,629 -0,0.0,gglmfit.jl,628 -0,0.0,gglmfit.jl,625 -0,0.0,gglmfit.jl,620 -0,0.0,gglmfit.jl,619 -0,0.0,gglmfit.jl,615 -0,0.0,gglmfit.jl,614 -0,0.0,gglmfit.jl,612 -0,0.0,gglmfit.jl,611 -0,0.0,gglmfit.jl,610 -0,0.0,gglmfit.jl,490 -0,0.0,gglmfit.jl,488 -0,0.0,gglmfit.jl,485 -0,0.0,gglmfit.jl,484 -0,0.0,gglmfit.jl,348 -0,0.0,gglmfit.jl,347 -0,0.0,gglmfit.jl,346 -0,0.0,gglmfit.jl,344 -0,0.0,gglmfit.jl,343 -0,0.0,gglmfit.jl,339 -0,0.0,gglmfit.jl,338 -0,0.0,gglmfit.jl,335 -0,0.0,gglmfit.jl,332 -0,0.0,gglmfit.jl,330 -0,0.0,gglmfit.jl,329 -0,0.0,gglmfit.jl,327 -0,0.0,gglmfit.jl,326 -0,0.0,gglmfit.jl,325 -0,0.0,gglmfit.jl,318 -0,0.0,gglmfit.jl,316 -0,0.0,gglmfit.jl,315 -0,0.0,gglmfit.jl,314 -0,0.0,gglmfit.jl,313 -0,0.0,gglmfit.jl,307 -0,0.0,gglmfit.jl,305 -0,0.0,gglmfit.jl,297 -0,0.0,gglmfit.jl,296 -0,0.0,gglmfit.jl,295 -0,0.0,gglmfit.jl,288 -0,0.0,gglmfit.jl,287 -0,0.0,gglmfit.jl,284 -0,0.0,gglmfit.jl,283 -0,0.0,gglmfit.jl,280 -0,0.0,gglmfit.jl,192 -0,0.0,gglmfit.jl,191 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,184 -0,0.0,gglmfit.jl,183 -0,0.0,gglmfit.jl,182 -0,0.0,gglmfit.jl,180 -0,0.0,gglmfit.jl,104 -0,0.0,gglmfit.jl,102 -0,0.0,gglmfit.jl,101 -0,0.0,gglmfit.jl,100 -0,0.0,gglmfit.jl,99 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,64 -0,0.0,gglmfit.jl,63 -0,0.0,gglmfit.jl,62 -0,0.0,gglmfit.jl,61 -0,0.0,gglmfit.jl,48 -0,0.0,gglmfit.jl,47 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,44 -0,0.0,gglmfit.jl,40 -0,0.0,gglmfit.jl,39 -0,0.0,gglmfit.jl,36 -0,0.0,gglmfit.jl,33 -0,0.0,gglmfit.jl,32 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 diff --git a/perf/GLM/mallocs/mallocs-1.8.0.pdf b/perf/GLM/mallocs/mallocs-1.8.0.pdf deleted file mode 100644 index d020e2098585310586bbc017973296973af694c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8304 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 B?IHjG diff --git a/perf/GLM/mallocs/mallocs-1.8.0.png b/perf/GLM/mallocs/mallocs-1.8.0.png deleted file mode 100644 index 93babc3a6d68da56bff359579b82526a14218bd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20957 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 diff --git a/perf/GLM/mallocs/mallocs-1.8.0.svg b/perf/GLM/mallocs/mallocs-1.8.0.svg deleted file mode 100644 index 1f64806..0000000 --- a/perf/GLM/mallocs/mallocs-1.8.0.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-1.8.2.csv b/perf/GLM/mallocs/mallocs-1.8.2.csv deleted file mode 100644 index b2e459a..0000000 --- a/perf/GLM/mallocs/mallocs-1.8.2.csv +++ /dev/null @@ -1,131 +0,0 @@ -bytes,percentage,filenames,linenumbers -2080023472,94.54,glinpred.jl,108 -60000240,2.73,gglmfit.jl,51 -20000080,0.91,gglmfit.jl,372 -20000080,0.91,gglmfit.jl,60 -20000080,0.91,gglmfit.jl,59 -21712,0.0,glinpred.jl,105 -160,0.0,glinpred.jl,173 -160,0.0,gglmfit.jl,604 -128,0.0,gglmfit.jl,583 -64,0.0,glinpred.jl,107 -0,0.0,glinpred.jl,188 -0,0.0,glinpred.jl,186 -0,0.0,glinpred.jl,184 -0,0.0,glinpred.jl,183 -0,0.0,glinpred.jl,182 -0,0.0,glinpred.jl,181 -0,0.0,glinpred.jl,178 -0,0.0,glinpred.jl,177 -0,0.0,glinpred.jl,176 -0,0.0,glinpred.jl,174 -0,0.0,glinpred.jl,172 -0,0.0,glinpred.jl,171 -0,0.0,glinpred.jl,170 -0,0.0,glinpred.jl,169 -0,0.0,glinpred.jl,167 -0,0.0,glinpred.jl,165 -0,0.0,glinpred.jl,163 -0,0.0,glinpred.jl,161 -0,0.0,glinpred.jl,160 -0,0.0,glinpred.jl,156 -0,0.0,glinpred.jl,155 -0,0.0,glinpred.jl,154 -0,0.0,glinpred.jl,153 -0,0.0,glinpred.jl,152 -0,0.0,glinpred.jl,32 -0,0.0,glinpred.jl,30 -0,0.0,glinpred.jl,29 -0,0.0,glinpred.jl,28 -0,0.0,glinpred.jl,27 -0,0.0,glinpred.jl,26 -0,0.0,gglmtools.jl,459 -0,0.0,gglmtools.jl,457 -0,0.0,gglmtools.jl,456 -0,0.0,gglmtools.jl,455 -0,0.0,gglmtools.jl,454 -0,0.0,gglmtools.jl,276 -0,0.0,gglmtools.jl,274 -0,0.0,gglmtools.jl,272 -0,0.0,gglmtools.jl,271 -0,0.0,gglmtools.jl,270 -0,0.0,gglmtools.jl,269 -0,0.0,gglmtools.jl,268 -0,0.0,gglmfit.jl,738 -0,0.0,gglmfit.jl,736 -0,0.0,gglmfit.jl,735 -0,0.0,gglmfit.jl,730 -0,0.0,gglmfit.jl,727 -0,0.0,gglmfit.jl,726 -0,0.0,gglmfit.jl,723 -0,0.0,gglmfit.jl,722 -0,0.0,gglmfit.jl,719 -0,0.0,gglmfit.jl,714 -0,0.0,gglmfit.jl,713 -0,0.0,gglmfit.jl,709 -0,0.0,gglmfit.jl,708 -0,0.0,gglmfit.jl,706 -0,0.0,gglmfit.jl,705 -0,0.0,gglmfit.jl,704 -0,0.0,gglmfit.jl,584 -0,0.0,gglmfit.jl,582 -0,0.0,gglmfit.jl,579 -0,0.0,gglmfit.jl,578 -0,0.0,gglmfit.jl,426 -0,0.0,gglmfit.jl,425 -0,0.0,gglmfit.jl,424 -0,0.0,gglmfit.jl,422 -0,0.0,gglmfit.jl,421 -0,0.0,gglmfit.jl,417 -0,0.0,gglmfit.jl,416 -0,0.0,gglmfit.jl,413 -0,0.0,gglmfit.jl,410 -0,0.0,gglmfit.jl,408 -0,0.0,gglmfit.jl,407 -0,0.0,gglmfit.jl,405 -0,0.0,gglmfit.jl,404 -0,0.0,gglmfit.jl,403 -0,0.0,gglmfit.jl,396 -0,0.0,gglmfit.jl,394 -0,0.0,gglmfit.jl,393 -0,0.0,gglmfit.jl,392 -0,0.0,gglmfit.jl,391 -0,0.0,gglmfit.jl,385 -0,0.0,gglmfit.jl,383 -0,0.0,gglmfit.jl,375 -0,0.0,gglmfit.jl,374 -0,0.0,gglmfit.jl,373 -0,0.0,gglmfit.jl,366 -0,0.0,gglmfit.jl,365 -0,0.0,gglmfit.jl,362 -0,0.0,gglmfit.jl,361 -0,0.0,gglmfit.jl,358 -0,0.0,gglmfit.jl,192 -0,0.0,gglmfit.jl,191 -0,0.0,gglmfit.jl,185 -0,0.0,gglmfit.jl,184 -0,0.0,gglmfit.jl,183 -0,0.0,gglmfit.jl,182 -0,0.0,gglmfit.jl,180 -0,0.0,gglmfit.jl,104 -0,0.0,gglmfit.jl,102 -0,0.0,gglmfit.jl,101 -0,0.0,gglmfit.jl,100 -0,0.0,gglmfit.jl,99 -0,0.0,gglmfit.jl,98 -0,0.0,gglmfit.jl,64 -0,0.0,gglmfit.jl,63 -0,0.0,gglmfit.jl,62 -0,0.0,gglmfit.jl,61 -0,0.0,gglmfit.jl,48 -0,0.0,gglmfit.jl,47 -0,0.0,gglmfit.jl,45 -0,0.0,gglmfit.jl,44 -0,0.0,gglmfit.jl,40 -0,0.0,gglmfit.jl,39 -0,0.0,gglmfit.jl,36 -0,0.0,gglmfit.jl,33 -0,0.0,gglmfit.jl,32 -0,0.0,gglmfit.jl,31 -0,0.0,gglmfit.jl,30 -0,0.0,gglmfit.jl,29 diff --git a/perf/GLM/mallocs/mallocs-1.8.2.pdf b/perf/GLM/mallocs/mallocs-1.8.2.pdf deleted file mode 100644 index 15ba60c46943eba9ed699e32607cc1cad3193305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8334 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 diff --git a/perf/GLM/mallocs/mallocs-1.8.2.png b/perf/GLM/mallocs/mallocs-1.8.2.png deleted file mode 100644 index 3d0c62cc277d7ec267784ae76967098b183b78c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21066 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/mallocs/mallocs-evolutions.pdf b/perf/GLM/mallocs/mallocs-evolutions.pdf deleted file mode 100644 index 2b787551843692b98f5de0fb4e2373bef9575e75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20244 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 diff --git a/perf/GLM/mallocs/mallocs-evolutions.png b/perf/GLM/mallocs/mallocs-evolutions.png deleted file mode 100644 index 2b453985e62f5a4d85b766e64bb72bbd1416d5e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32460 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 diff --git a/perf/GLM/mallocs/mallocs-evolutions.svg b/perf/GLM/mallocs/mallocs-evolutions.svg deleted file mode 100644 index e56c31c..0000000 --- a/perf/GLM/mallocs/mallocs-evolutions.svg +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/perf/GLM/metadata/metadata.csv b/perf/GLM/metadata/metadata.csv new file mode 100644 index 0000000..8c74f11 --- /dev/null +++ b/perf/GLM/metadata/metadata.csv @@ -0,0 +1,18 @@ +chairmark_GLM_v1.9.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.3.9_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.3.10_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.3.11_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.4.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.5.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.6.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.7.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_GLM_v1.8.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.3.9_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.3.10_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.3.11_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.4.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.5.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.6.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.7.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.8.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_GLM_v1.9.0_bernouilli,36c9068f-2e67-410b-b8bb-d57c1b476f62 diff --git a/perf/GLM/output/19630234-1fd5-5548-81b9-00ed04a0ffa1.csv b/perf/GLM/output/19630234-1fd5-5548-81b9-00ed04a0ffa1.csv new file mode 100644 index 0000000..aab2a39 --- /dev/null +++ b/perf/GLM/output/19630234-1fd5-5548-81b9-00ed04a0ffa1.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +27.712387097,0.05744617727905289,4.54016616e9,462.0 +43.700926468000006,0.03637327300518319,4.54016616e9,462.0 +30.091994514000003,0.07633657516225081,4.54016616e9,462.0 diff --git a/perf/GLM/output/1ea7c9ef-794b-5ce7-a8b9-9489262c79a3.csv b/perf/GLM/output/1ea7c9ef-794b-5ce7-a8b9-9489262c79a3.csv new file mode 100644 index 0000000..2af6f2c --- /dev/null +++ b/perf/GLM/output/1ea7c9ef-794b-5ce7-a8b9-9489262c79a3.csv @@ -0,0 +1,2 @@ +times,gctimes,memory,allocs +3.0988192909e10,1.840143337e9,4540165984,455 diff --git a/perf/GLM/output/30cb70cd-fe01-54d1-a160-9ae6483bfba0.csv b/perf/GLM/output/30cb70cd-fe01-54d1-a160-9ae6483bfba0.csv new file mode 100644 index 0000000..8fd5b1e --- /dev/null +++ b/perf/GLM/output/30cb70cd-fe01-54d1-a160-9ae6483bfba0.csv @@ -0,0 +1,3 @@ +times,gctimes,memory,allocs +3.0451778762e10,1.618426951e9,4540165936,454 +4.0625651619e10,2.444162729e9,4540165936,454 diff --git a/perf/GLM/output/3f19ba15-584c-5fbd-8dc0-69450530f920.csv b/perf/GLM/output/3f19ba15-584c-5fbd-8dc0-69450530f920.csv new file mode 100644 index 0000000..fbbc463 --- /dev/null +++ b/perf/GLM/output/3f19ba15-584c-5fbd-8dc0-69450530f920.csv @@ -0,0 +1,3 @@ +times,gctimes,memory,allocs +3.6712761204e10,1.266939575e9,4540165936,454 +3.1389517028e10,1.777372888e9,4540165936,454 diff --git a/perf/GLM/output/56364ea1-c1ca-5179-8d17-8a6596c23fd5.csv b/perf/GLM/output/56364ea1-c1ca-5179-8d17-8a6596c23fd5.csv new file mode 100644 index 0000000..ff1dc9a --- /dev/null +++ b/perf/GLM/output/56364ea1-c1ca-5179-8d17-8a6596c23fd5.csv @@ -0,0 +1,2 @@ +times,gctimes,memory,allocs +3.6304702191e10,2.065674006e9,4540280344,470 diff --git a/perf/GLM/output/57f0d0ed-88d9-5a77-9fc6-2a8ac1ec4b2a.csv b/perf/GLM/output/57f0d0ed-88d9-5a77-9fc6-2a8ac1ec4b2a.csv new file mode 100644 index 0000000..7ffb101 --- /dev/null +++ b/perf/GLM/output/57f0d0ed-88d9-5a77-9fc6-2a8ac1ec4b2a.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +39.112558866,0.029457070654652064,4.54016616e9,462.0 +37.487224799,0.07218903401118637,4.54016616e9,462.0 +31.456428301000003,0.06072883617684183,4.54016616e9,462.0 diff --git a/perf/GLM/output/5da6aec4-ec96-5e25-9621-6a41ec70b038.csv b/perf/GLM/output/5da6aec4-ec96-5e25-9621-6a41ec70b038.csv new file mode 100644 index 0000000..82faabf --- /dev/null +++ b/perf/GLM/output/5da6aec4-ec96-5e25-9621-6a41ec70b038.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +38.201664929,0.055949647455743746,4.660166168e9,1.5000463e7 +47.032037451,0.030288254521912313,4.660166168e9,1.5000463e7 +46.144791738,0.05666220408676883,4.660166168e9,1.5000463e7 diff --git a/perf/GLM/output/71ce261a-14d2-5a83-ba9e-14accb636aaf.csv b/perf/GLM/output/71ce261a-14d2-5a83-ba9e-14accb636aaf.csv new file mode 100644 index 0000000..b92a7a1 --- /dev/null +++ b/perf/GLM/output/71ce261a-14d2-5a83-ba9e-14accb636aaf.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +42.122941161,0.042361227084781246,4.540166112e9,461.0 +43.357202637,0.04270949840799343,4.540166112e9,461.0 +38.969050826,0.05449895943021089,4.540166112e9,461.0 diff --git a/perf/GLM/output/7979f82a-c68e-52e3-b369-1e2c5e6cd9f0.csv b/perf/GLM/output/7979f82a-c68e-52e3-b369-1e2c5e6cd9f0.csv new file mode 100644 index 0000000..d9cdfef --- /dev/null +++ b/perf/GLM/output/7979f82a-c68e-52e3-b369-1e2c5e6cd9f0.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +35.214661797000005,0.05077171745412915,4.54016616e9,462.0 +33.679745741000005,0.026332031892995756,4.54016616e9,462.0 +38.380467723,0.04022926617631413,4.54016616e9,462.0 diff --git a/perf/GLM/output/8f022d1c-3bc4-5d9c-b5e9-2b767c613b6b.csv b/perf/GLM/output/8f022d1c-3bc4-5d9c-b5e9-2b767c613b6b.csv new file mode 100644 index 0000000..20c537a --- /dev/null +++ b/perf/GLM/output/8f022d1c-3bc4-5d9c-b5e9-2b767c613b6b.csv @@ -0,0 +1,2 @@ +times,gctimes,memory,allocs +2.9683035335e10,1.701267057e9,4660165992,15000456 diff --git a/perf/GLM/output/93ccdb17-ff91-529c-b66a-b2276e8b4c6b.csv b/perf/GLM/output/93ccdb17-ff91-529c-b66a-b2276e8b4c6b.csv new file mode 100644 index 0000000..c310d41 --- /dev/null +++ b/perf/GLM/output/93ccdb17-ff91-529c-b66a-b2276e8b4c6b.csv @@ -0,0 +1,2 @@ +times,gctimes,memory,allocs +4.1798364489e10,1.68976564e9,4540165984,455 diff --git a/perf/GLM/output/a0127336-335d-5277-ad16-adb6227c48e6.csv b/perf/GLM/output/a0127336-335d-5277-ad16-adb6227c48e6.csv new file mode 100644 index 0000000..8a94670 --- /dev/null +++ b/perf/GLM/output/a0127336-335d-5277-ad16-adb6227c48e6.csv @@ -0,0 +1,3 @@ +times,gctimes,memory,allocs +3.233682687e10,1.74523324e9,4540165936,454 +3.9407190436e10,1.34211154e9,4540165936,454 diff --git a/perf/GLM/output/a0fe79f5-46db-56af-90c8-3e2b7e72c372.csv b/perf/GLM/output/a0fe79f5-46db-56af-90c8-3e2b7e72c372.csv new file mode 100644 index 0000000..2ab8d23 --- /dev/null +++ b/perf/GLM/output/a0fe79f5-46db-56af-90c8-3e2b7e72c372.csv @@ -0,0 +1,2 @@ +times,gctimes,memory,allocs +3.312152848e10,1.824324811e9,4540165984,455 diff --git a/perf/GLM/output/cb69ca9b-b7d8-5c4d-80df-e92f38fa2542.csv b/perf/GLM/output/cb69ca9b-b7d8-5c4d-80df-e92f38fa2542.csv new file mode 100644 index 0000000..e70fa1c --- /dev/null +++ b/perf/GLM/output/cb69ca9b-b7d8-5c4d-80df-e92f38fa2542.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +30.806729245000003,0.03552379434040759,4.540166112e9,461.0 +37.194818861,0.06819833846965538,4.540166112e9,461.0 +32.457553638,0.045416210027430536,4.540166112e9,461.0 diff --git a/perf/GLM/output/d6c86889-e85a-5ffe-9344-2a3a1b0f0180.csv b/perf/GLM/output/d6c86889-e85a-5ffe-9344-2a3a1b0f0180.csv new file mode 100644 index 0000000..01822f6 --- /dev/null +++ b/perf/GLM/output/d6c86889-e85a-5ffe-9344-2a3a1b0f0180.csv @@ -0,0 +1,3 @@ +times,gctimes,memory,allocs +3.225149217e10,2.453678402e9,4540165936,454 +3.8765521599e10,2.21254439e9,4540165936,454 diff --git a/perf/GLM/output/e9fdbfbc-6e17-5ce2-b727-80340b4d6315.csv b/perf/GLM/output/e9fdbfbc-6e17-5ce2-b727-80340b4d6315.csv new file mode 100644 index 0000000..f52609b --- /dev/null +++ b/perf/GLM/output/e9fdbfbc-6e17-5ce2-b727-80340b4d6315.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +38.596650828,0.07252652753407446,4.540166112e9,461.0 +38.713992884,0.041086748085274044,4.540166112e9,461.0 +38.629632617000006,0.04800991933803252,4.540166112e9,461.0 diff --git a/perf/GLM/output/eea87291-d957-50a0-9305-fa86e3570d62.csv b/perf/GLM/output/eea87291-d957-50a0-9305-fa86e3570d62.csv new file mode 100644 index 0000000..03afeaa --- /dev/null +++ b/perf/GLM/output/eea87291-d957-50a0-9305-fa86e3570d62.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +34.612495437,0.038173091460709754,4.54028052e9,477.0 +37.107627601000004,0.03557588356751818,4.54028052e9,477.0 +33.120110770000004,0.03651830165663422,4.54028052e9,477.0 diff --git a/perf/GLM/output/f4ed0729-6e1f-5aed-b029-707a6c602632.csv b/perf/GLM/output/f4ed0729-6e1f-5aed-b029-707a6c602632.csv new file mode 100644 index 0000000..d8589f2 --- /dev/null +++ b/perf/GLM/output/f4ed0729-6e1f-5aed-b029-707a6c602632.csv @@ -0,0 +1,4 @@ +times,gctimes,bytes,allocs +34.209183656,0.031561048075774055,4.540166112e9,461.0 +31.918351022000003,0.061891985981305124,4.540166112e9,461.0 +40.802275094,0.04256073407669771,4.540166112e9,461.0 diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 9149e1c..5d83002 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,7 +1,7 @@ using PerfChecker, CairoMakie, CSV d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true)) + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3", v"0.2.4"], true)) x = @check :alloc d begin using PatternFolds @@ -9,15 +9,12 @@ end begin itv = Interval{Open, Closed}(0.0, 1.0) i = IntervalsFold(itv, 2.0, 1000) - @info "Checking IntervalsFold" i pattern(i) gap(i) folds(i) size(i) length(i) - unfold(i) collect(i) reverse(collect(i)) # Vectors vf = make_vector_fold([0, 1], 2, 1000) - @info "Checking VectorFold" vf pattern(vf) gap(vf) folds(vf) length(vf) unfold(vf) collect(vf) @@ -27,15 +24,3 @@ end begin end @info x - -# for (i, t) in enumerate(x.tables) -# p = d[:pkgs] -# @info "debug" p[1] p[2] p[3] p[4] -# mkpath("perf/PatternFolds/output") -# display(table_to_pie(t, Val(:alloc); pkg_name = "PatternFolds.jl")) -# path = joinpath( -# d[:path], "perf", "PatternFolds", "output", string(p[1], "_v$(p[3][i])", ".png")) -# @info path -# end - -# checkres_to_scatterlines(x, Val(:alloc)) diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index 02ec96b..03cd20d 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -1,8 +1,8 @@ -using PerfChecker, BenchmarkTools, CairoMakie +using PerfChecker, BenchmarkTools d = Dict(:path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true), + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3", v"0.2.4"], true), :devops => "PatternFolds") t = @check :benchmark d begin @@ -16,11 +16,8 @@ end begin collect(i) reverse(collect(i)) - # rand(i, 1000) - # Vectors vf = make_vector_fold([0, 1], 2, 1000) - # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds (vf) length(vf) unfold(vf) collect(vf) @@ -32,7 +29,3 @@ end begin end @info t - -checkres_to_boxplots(t, Val(:benchmark)) -c = checkres_to_scatterlines(t, Val(:benchmark)) -save(joinpath(homedir(), "ubab.png"), c) diff --git a/perf/PatternFolds/chair.jl b/perf/PatternFolds/chair.jl index b8d6254..4bfa5ce 100644 --- a/perf/PatternFolds/chair.jl +++ b/perf/PatternFolds/chair.jl @@ -1,7 +1,8 @@ -using PerfChecker, Chairmarks, CairoMakie +using PerfChecker, Chairmarks d = Dict(:path => @__DIR__, :evals => 1, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3"], true), :devops => "PatternFolds") + :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3", v"0.2.4"], true), + :devops => "PatternFolds") t = @check :chairmark d begin using PatternFolds @@ -14,11 +15,8 @@ end begin collect(i) reverse(collect(i)) - # rand(i, 1000) - # Vectors vf = make_vector_fold([0, 1], 2, 1000) - # @info "Checking VectorFold" vf pattern(vf) gap(vf) folds (vf) length(vf) unfold(vf) collect(vf) @@ -30,6 +28,3 @@ end begin end @info t -checkres_to_boxplots(t, Val(:chairmark)) -c = checkres_to_scatterlines(t, Val(:chairmark)) -save(joinpath(homedir(), "ubac.png"), c) diff --git a/perf/PatternFolds/metadata/metadata.csv b/perf/PatternFolds/metadata/metadata.csv index 5a76da5..006be80 100644 --- a/perf/PatternFolds/metadata/metadata.csv +++ b/perf/PatternFolds/metadata/metadata.csv @@ -1,2 +1,9 @@ +benchmark_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 alloc_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 alloc_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +alloc_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 diff --git a/perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv b/perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv new file mode 100644 index 0000000..c1d3156 --- /dev/null +++ b/perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv @@ -0,0 +1,3555 @@ +times,gctimes,bytes,allocs +0.000206941,0.0,137488.0,14.0 +0.00021091100000000001,0.0,137488.0,14.0 +0.00020028,0.0,137488.0,14.0 +0.000203045,0.0,137488.0,14.0 +0.00019416300000000002,0.0,137488.0,14.0 +0.000179263,0.0,137488.0,14.0 +0.000215679,0.0,137488.0,14.0 +0.000238828,0.0,137488.0,14.0 +0.000187397,0.0,137488.0,14.0 +0.000170583,0.0,137488.0,14.0 +0.00017194600000000002,0.0,137488.0,14.0 +0.00016664000000000002,0.0,137488.0,14.0 +0.00021886800000000002,0.0,137488.0,14.0 +0.000232997,0.0,137488.0,14.0 +0.00021264500000000002,0.0,137488.0,14.0 +0.000194322,0.0,137488.0,14.0 +0.00019634600000000002,0.0,137488.0,14.0 +0.024214866,0.0,137488.0,14.0 +0.000196324,0.0,137488.0,14.0 +0.00020783200000000003,0.0,137488.0,14.0 +0.000225631,0.0,137488.0,14.0 +0.000182327,0.0,137488.0,14.0 +0.00022746500000000002,0.0,137488.0,14.0 +0.000231517,0.0,137488.0,14.0 +0.000215541,0.0,137488.0,14.0 +0.000214059,0.0,137488.0,14.0 +0.000224953,0.0,137488.0,14.0 +0.00024078,0.0,137488.0,14.0 +0.000179351,0.0,137488.0,14.0 +0.00022928800000000002,0.0,137488.0,14.0 +0.00021417900000000002,0.0,137488.0,14.0 +0.00022408100000000003,0.0,137488.0,14.0 +0.00022653900000000002,0.0,137488.0,14.0 +0.00022520300000000002,0.0,137488.0,14.0 +0.000226531,0.0,137488.0,14.0 +0.00023543400000000002,0.0,137488.0,14.0 +0.00023130400000000002,0.0,137488.0,14.0 +0.00022959100000000002,0.0,137488.0,14.0 +0.00022616700000000002,0.0,137488.0,14.0 +0.000224968,0.0,137488.0,14.0 +0.00022460900000000002,0.0,137488.0,14.0 +0.000223212,0.0,137488.0,14.0 +0.00023558400000000003,0.0,137488.0,14.0 +0.00022686100000000002,0.0,137488.0,14.0 +0.000227695,0.0,137488.0,14.0 +0.000220726,0.0,137488.0,14.0 +0.00022438200000000002,0.0,137488.0,14.0 +0.00022004700000000002,0.0,137488.0,14.0 +0.000216201,0.0,137488.0,14.0 +0.000218984,0.0,137488.0,14.0 +0.000211515,0.0,137488.0,14.0 +0.00021832,0.0,137488.0,14.0 +0.00022100100000000002,0.0,137488.0,14.0 +0.00024518500000000003,0.0,137488.0,14.0 +0.00022941900000000002,0.0,137488.0,14.0 +0.000234841,0.0,137488.0,14.0 +0.00021649400000000002,0.0,137488.0,14.0 +0.00024257800000000002,0.0,137488.0,14.0 +0.00019934,0.0,137488.0,14.0 +0.000202181,0.0,137488.0,14.0 +0.000206464,0.0,137488.0,14.0 +0.000200255,0.0,137488.0,14.0 +0.000197636,0.0,137488.0,14.0 +0.00024200500000000003,0.0,137488.0,14.0 +0.000242457,0.0,137488.0,14.0 +0.00023004200000000002,0.0,137488.0,14.0 +0.000230186,0.0,137488.0,14.0 +0.000223603,0.0,137488.0,14.0 +0.000240145,0.0,137488.0,14.0 +0.00022297000000000001,0.0,137488.0,14.0 +0.000217757,0.0,137488.0,14.0 +0.028270671,0.0,137488.0,14.0 +0.000241704,0.0,137488.0,14.0 +0.00022948600000000002,0.0,137488.0,14.0 +0.000231408,0.0,137488.0,14.0 +0.00023154000000000002,0.0,137488.0,14.0 +0.00023269200000000003,0.0,137488.0,14.0 +0.00023258100000000001,0.0,137488.0,14.0 +0.00022976500000000002,0.0,137488.0,14.0 +0.000225593,0.0,137488.0,14.0 +0.000234929,0.0,137488.0,14.0 +0.00021981700000000003,0.0,137488.0,14.0 +0.000227325,0.0,137488.0,14.0 +0.00021910400000000002,0.0,137488.0,14.0 +0.00022860100000000002,0.0,137488.0,14.0 +0.000226545,0.0,137488.0,14.0 +0.00021747900000000002,0.0,137488.0,14.0 +0.00023394100000000002,0.0,137488.0,14.0 +0.00022456600000000002,0.0,137488.0,14.0 +0.00022961200000000002,0.0,137488.0,14.0 +0.000248461,0.0,137488.0,14.0 +0.000239122,0.0,137488.0,14.0 +0.000237707,0.0,137488.0,14.0 +0.00020263800000000002,0.0,137488.0,14.0 +0.000240222,0.0,137488.0,14.0 +0.000235295,0.0,137488.0,14.0 +0.000244061,0.0,137488.0,14.0 +0.00021783200000000002,0.0,137488.0,14.0 +0.000226841,0.0,137488.0,14.0 +0.00023054800000000002,0.0,137488.0,14.0 +0.00024079500000000003,0.0,137488.0,14.0 +0.000238592,0.0,137488.0,14.0 +0.000234001,0.0,137488.0,14.0 +0.000231415,0.0,137488.0,14.0 +0.00020590400000000003,0.0,137488.0,14.0 +0.000255324,0.0,137488.0,14.0 +0.000220924,0.0,137488.0,14.0 +0.000228769,0.0,137488.0,14.0 +0.000226628,0.0,137488.0,14.0 +0.000235087,0.0,137488.0,14.0 +0.00022242300000000002,0.0,137488.0,14.0 +0.000198533,0.0,137488.0,14.0 +0.000179459,0.0,137488.0,14.0 +0.000232009,0.0,137488.0,14.0 +0.00023225,0.0,137488.0,14.0 +0.00023487,0.0,137488.0,14.0 +0.00023190300000000002,0.0,137488.0,14.0 +0.000228394,0.0,137488.0,14.0 +0.00018581,0.0,137488.0,14.0 +0.000229203,0.0,137488.0,14.0 +0.000231425,0.0,137488.0,14.0 +0.000251907,0.0,137488.0,14.0 +0.00023010800000000003,0.0,137488.0,14.0 +0.02427703,0.0,137488.0,14.0 +0.00023856900000000003,0.0,137488.0,14.0 +0.000228952,0.0,137488.0,14.0 +0.00022864,0.0,137488.0,14.0 +0.00018575000000000002,0.0,137488.0,14.0 +0.00017444200000000002,0.0,137488.0,14.0 +0.00024236100000000002,0.0,137488.0,14.0 +0.0002324,0.0,137488.0,14.0 +0.000228375,0.0,137488.0,14.0 +0.00023262100000000002,0.0,137488.0,14.0 +0.00023382900000000001,0.0,137488.0,14.0 +0.00023110400000000002,0.0,137488.0,14.0 +0.00023915200000000002,0.0,137488.0,14.0 +0.00023152400000000001,0.0,137488.0,14.0 +0.000227478,0.0,137488.0,14.0 +0.00022614000000000003,0.0,137488.0,14.0 +0.000219175,0.0,137488.0,14.0 +0.00025437800000000004,0.0,137488.0,14.0 +0.00022083400000000002,0.0,137488.0,14.0 +0.00022405300000000002,0.0,137488.0,14.0 +0.00023841500000000001,0.0,137488.0,14.0 +0.000239678,0.0,137488.0,14.0 +0.00023078600000000002,0.0,137488.0,14.0 +0.000220551,0.0,137488.0,14.0 +0.000231381,0.0,137488.0,14.0 +0.00023158500000000003,0.0,137488.0,14.0 +0.00022478800000000002,0.0,137488.0,14.0 +0.000226722,0.0,137488.0,14.0 +0.00024128900000000003,0.0,137488.0,14.0 +0.000226688,0.0,137488.0,14.0 +0.000232574,0.0,137488.0,14.0 +0.00023531200000000003,0.0,137488.0,14.0 +0.00023925600000000003,0.0,137488.0,14.0 +0.00023211100000000001,0.0,137488.0,14.0 +0.000234173,0.0,137488.0,14.0 +0.00023297600000000003,0.0,137488.0,14.0 +0.00022366400000000002,0.0,137488.0,14.0 +0.000219864,0.0,137488.0,14.0 +0.00021629100000000002,0.0,137488.0,14.0 +0.00021055500000000002,0.0,137488.0,14.0 +0.00022148100000000002,0.0,137488.0,14.0 +0.00021819300000000002,0.0,137488.0,14.0 +0.000211704,0.0,137488.0,14.0 +0.000221651,0.0,137488.0,14.0 +0.000211327,0.0,137488.0,14.0 +0.00021999200000000002,0.0,137488.0,14.0 +0.00021973700000000001,0.0,137488.0,14.0 +0.000215634,0.0,137488.0,14.0 +0.00022560900000000001,0.0,137488.0,14.0 +0.000216824,0.0,137488.0,14.0 +0.000216526,0.0,137488.0,14.0 +0.00023494000000000002,0.0,137488.0,14.0 +0.000230713,0.0,137488.0,14.0 +0.000233119,0.0,137488.0,14.0 +0.000220174,0.0,137488.0,14.0 +0.00022239500000000001,0.0,137488.0,14.0 +0.000224877,0.0,137488.0,14.0 +0.000211038,0.0,137488.0,14.0 +0.000187455,0.0,137488.0,14.0 +0.00017917,0.0,137488.0,14.0 +0.00017084900000000002,0.0,137488.0,14.0 +0.000193128,0.0,137488.0,14.0 +0.000195044,0.0,137488.0,14.0 +0.000171812,0.0,137488.0,14.0 +0.00018375300000000001,0.0,137488.0,14.0 +0.000237449,0.0,137488.0,14.0 +0.00022976500000000002,0.0,137488.0,14.0 +0.000242219,0.0,137488.0,14.0 +0.00019926900000000002,0.0,137488.0,14.0 +0.00021290700000000003,0.0,137488.0,14.0 +0.00017697,0.0,137488.0,14.0 +0.00017374800000000002,0.0,137488.0,14.0 +0.016202328000000002,0.0,137488.0,14.0 +0.000196318,0.0,137488.0,14.0 +0.00023220100000000002,0.0,137488.0,14.0 +0.000185524,0.0,137488.0,14.0 +0.000172885,0.0,137488.0,14.0 +0.00022022100000000002,0.0,137488.0,14.0 +0.000244481,0.0,137488.0,14.0 +0.000233849,0.0,137488.0,14.0 +0.00023178,0.0,137488.0,14.0 +0.00023545600000000002,0.0,137488.0,14.0 +0.00018343000000000002,0.0,137488.0,14.0 +0.00020877300000000002,0.0,137488.0,14.0 +0.000308851,0.0,137488.0,14.0 +0.00028207700000000004,0.0,137488.0,14.0 +0.000287033,0.0,137488.0,14.0 +0.00028397700000000004,0.0,137488.0,14.0 +0.000286141,0.0,137488.0,14.0 +0.00029631300000000003,0.0,137488.0,14.0 +0.00029647,0.0,137488.0,14.0 +0.000282591,0.0,137488.0,14.0 +0.000283749,0.0,137488.0,14.0 +0.000279235,0.0,137488.0,14.0 +0.000296791,0.0,137488.0,14.0 +0.00028284,0.0,137488.0,14.0 +0.000286536,0.0,137488.0,14.0 +0.000284933,0.0,137488.0,14.0 +0.000296684,0.0,137488.0,14.0 +0.000278459,0.0,137488.0,14.0 +0.000290965,0.0,137488.0,14.0 +0.000288103,0.0,137488.0,14.0 +0.00031819300000000003,0.0,137488.0,14.0 +0.000296807,0.0,137488.0,14.0 +0.000285665,0.0,137488.0,14.0 +0.00028899300000000003,0.0,137488.0,14.0 +0.00029120000000000003,0.0,137488.0,14.0 +0.00027257100000000004,0.0,137488.0,14.0 +0.00028568100000000003,0.0,137488.0,14.0 +0.00028711400000000004,0.0,137488.0,14.0 +0.00029093200000000004,0.0,137488.0,14.0 +0.000284867,0.0,137488.0,14.0 +0.000283999,0.0,137488.0,14.0 +0.000277016,0.0,137488.0,14.0 +0.000285759,0.0,137488.0,14.0 +0.00028279600000000003,0.0,137488.0,14.0 +0.07824946,0.9951537940325722,137488.0,14.0 +0.00015495100000000001,0.0,137488.0,14.0 +0.0001552,0.0,137488.0,14.0 +0.00015246700000000002,0.0,137488.0,14.0 +0.00016191800000000002,0.0,137488.0,14.0 +0.000154257,0.0,137488.0,14.0 +0.000165407,0.0,137488.0,14.0 +0.000152291,0.0,137488.0,14.0 +0.00014994500000000002,0.0,137488.0,14.0 +0.000164544,0.0,137488.0,14.0 +0.00015397700000000002,0.0,137488.0,14.0 +0.000161402,0.0,137488.0,14.0 +0.00015844,0.0,137488.0,14.0 +0.000170884,0.0,137488.0,14.0 +0.00015563100000000001,0.0,137488.0,14.0 +0.00015224000000000002,0.0,137488.0,14.0 +0.000157794,0.0,137488.0,14.0 +0.00015809,0.0,137488.0,14.0 +0.000158949,0.0,137488.0,14.0 +0.00016395100000000002,0.0,137488.0,14.0 +0.000156272,0.0,137488.0,14.0 +0.000151957,0.0,137488.0,14.0 +0.000151786,0.0,137488.0,14.0 +0.000151564,0.0,137488.0,14.0 +0.000153914,0.0,137488.0,14.0 +0.000159691,0.0,137488.0,14.0 +0.00015893,0.0,137488.0,14.0 +0.000150969,0.0,137488.0,14.0 +0.000166112,0.0,137488.0,14.0 +0.00016135200000000002,0.0,137488.0,14.0 +0.00015336,0.0,137488.0,14.0 +0.00016210200000000001,0.0,137488.0,14.0 +0.00015214500000000001,0.0,137488.0,14.0 +0.000158431,0.0,137488.0,14.0 +0.00015759200000000002,0.0,137488.0,14.0 +0.00015314200000000002,0.0,137488.0,14.0 +0.000154343,0.0,137488.0,14.0 +0.000155686,0.0,137488.0,14.0 +0.000170447,0.0,137488.0,14.0 +0.000158523,0.0,137488.0,14.0 +0.00015489300000000002,0.0,137488.0,14.0 +0.00015941500000000002,0.0,137488.0,14.0 +0.000154369,0.0,137488.0,14.0 +0.000155698,0.0,137488.0,14.0 +0.000155498,0.0,137488.0,14.0 +0.000156524,0.0,137488.0,14.0 +0.000156636,0.0,137488.0,14.0 +0.000155059,0.0,137488.0,14.0 +0.00014979700000000002,0.0,137488.0,14.0 +0.00015908,0.0,137488.0,14.0 +0.000158552,0.0,137488.0,14.0 +0.000147608,0.0,137488.0,14.0 +0.00015477,0.0,137488.0,14.0 +0.00015561900000000002,0.0,137488.0,14.0 +0.00015080100000000002,0.0,137488.0,14.0 +0.000153749,0.0,137488.0,14.0 +0.00015462400000000002,0.0,137488.0,14.0 +0.00015550900000000002,0.0,137488.0,14.0 +0.00015897,0.0,137488.0,14.0 +0.00015317800000000002,0.0,137488.0,14.0 +0.000161812,0.0,137488.0,14.0 +0.000156419,0.0,137488.0,14.0 +0.00015643000000000002,0.0,137488.0,14.0 +0.00015086300000000002,0.0,137488.0,14.0 +0.00016984000000000001,0.0,137488.0,14.0 +0.000149343,0.0,137488.0,14.0 +0.000156211,0.0,137488.0,14.0 +0.00015565200000000002,0.0,137488.0,14.0 +0.000162274,0.0,137488.0,14.0 +0.000160733,0.0,137488.0,14.0 +0.000149648,0.0,137488.0,14.0 +0.000156916,0.0,137488.0,14.0 +0.000155086,0.0,137488.0,14.0 +0.00016889200000000002,0.0,137488.0,14.0 +0.000152452,0.0,137488.0,14.0 +0.000151277,0.0,137488.0,14.0 +0.00015348800000000002,0.0,137488.0,14.0 +0.00015241400000000002,0.0,137488.0,14.0 +0.000156371,0.0,137488.0,14.0 +0.000152487,0.0,137488.0,14.0 +0.000159352,0.0,137488.0,14.0 +0.000158498,0.0,137488.0,14.0 +0.000160927,0.0,137488.0,14.0 +0.00015975,0.0,137488.0,14.0 +0.00015306800000000002,0.0,137488.0,14.0 +0.000161019,0.0,137488.0,14.0 +0.00015649900000000002,0.0,137488.0,14.0 +0.000155434,0.0,137488.0,14.0 +0.000157677,0.0,137488.0,14.0 +0.000180915,0.0,137488.0,14.0 +0.000167872,0.0,137488.0,14.0 +0.000156422,0.0,137488.0,14.0 +0.00015187000000000002,0.0,137488.0,14.0 +0.000166508,0.0,137488.0,14.0 +0.00016309,0.0,137488.0,14.0 +0.00015672600000000002,0.0,137488.0,14.0 +0.00015497200000000002,0.0,137488.0,14.0 +0.000153246,0.0,137488.0,14.0 +0.000154971,0.0,137488.0,14.0 +0.00015610100000000002,0.0,137488.0,14.0 +0.00015576400000000002,0.0,137488.0,14.0 +0.000160643,0.0,137488.0,14.0 +0.00015313000000000002,0.0,137488.0,14.0 +0.000162391,0.0,137488.0,14.0 +0.000159748,0.0,137488.0,14.0 +0.00015205200000000001,0.0,137488.0,14.0 +0.000152928,0.0,137488.0,14.0 +0.00016125700000000002,0.0,137488.0,14.0 +0.000158974,0.0,137488.0,14.0 +0.000161638,0.0,137488.0,14.0 +0.000160266,0.0,137488.0,14.0 +0.000161857,0.0,137488.0,14.0 +0.000149869,0.0,137488.0,14.0 +0.00015925500000000002,0.0,137488.0,14.0 +0.000164635,0.0,137488.0,14.0 +0.000149462,0.0,137488.0,14.0 +0.00015127,0.0,137488.0,14.0 +0.00015487400000000002,0.0,137488.0,14.0 +0.00015625800000000002,0.0,137488.0,14.0 +0.00016298000000000002,0.0,137488.0,14.0 +0.00015849900000000002,0.0,137488.0,14.0 +0.00015917600000000002,0.0,137488.0,14.0 +0.000148338,0.0,137488.0,14.0 +0.00015507200000000002,0.0,137488.0,14.0 +0.00015003100000000001,0.0,137488.0,14.0 +0.00015839,0.0,137488.0,14.0 +0.000152236,0.0,137488.0,14.0 +0.000154649,0.0,137488.0,14.0 +0.00015040800000000001,0.0,137488.0,14.0 +0.00015551100000000002,0.0,137488.0,14.0 +0.00015208700000000002,0.0,137488.0,14.0 +0.000151029,0.0,137488.0,14.0 +0.00016302300000000001,0.0,137488.0,14.0 +0.000165391,0.0,137488.0,14.0 +0.000153678,0.0,137488.0,14.0 +0.00015899700000000002,0.0,137488.0,14.0 +0.000170659,0.0,137488.0,14.0 +0.000146717,0.0,137488.0,14.0 +0.000156099,0.0,137488.0,14.0 +0.000156057,0.0,137488.0,14.0 +0.000171131,0.0,137488.0,14.0 +0.00014996600000000002,0.0,137488.0,14.0 +0.000154088,0.0,137488.0,14.0 +0.00016522500000000002,0.0,137488.0,14.0 +0.00015329500000000002,0.0,137488.0,14.0 +0.000151087,0.0,137488.0,14.0 +0.000152146,0.0,137488.0,14.0 +0.000155913,0.0,137488.0,14.0 +0.000160017,0.0,137488.0,14.0 +0.000154885,0.0,137488.0,14.0 +0.00015398400000000002,0.0,137488.0,14.0 +0.000150829,0.0,137488.0,14.0 +0.000152921,0.0,137488.0,14.0 +0.00014953700000000002,0.0,137488.0,14.0 +0.00015582600000000002,0.0,137488.0,14.0 +0.00015650900000000002,0.0,137488.0,14.0 +0.00015091800000000002,0.0,137488.0,14.0 +0.000152905,0.0,137488.0,14.0 +0.000152826,0.0,137488.0,14.0 +0.000151728,0.0,137488.0,14.0 +0.00014562800000000002,0.0,137488.0,14.0 +0.00016542300000000002,0.0,137488.0,14.0 +0.00014773800000000001,0.0,137488.0,14.0 +0.00015163200000000001,0.0,137488.0,14.0 +0.000162379,0.0,137488.0,14.0 +0.000167015,0.0,137488.0,14.0 +0.000164102,0.0,137488.0,14.0 +0.00015444700000000002,0.0,137488.0,14.0 +0.00014613200000000002,0.0,137488.0,14.0 +0.000163394,0.0,137488.0,14.0 +0.00015055800000000002,0.0,137488.0,14.0 +0.000148473,0.0,137488.0,14.0 +0.00015805000000000002,0.0,137488.0,14.0 +0.000155766,0.0,137488.0,14.0 +0.00015537,0.0,137488.0,14.0 +0.000155379,0.0,137488.0,14.0 +0.00014960100000000002,0.0,137488.0,14.0 +0.00016401,0.0,137488.0,14.0 +0.00015348800000000002,0.0,137488.0,14.0 +0.00015113300000000002,0.0,137488.0,14.0 +0.00015913300000000002,0.0,137488.0,14.0 +0.00016211600000000002,0.0,137488.0,14.0 +0.00016295,0.0,137488.0,14.0 +0.000164021,0.0,137488.0,14.0 +0.000149416,0.0,137488.0,14.0 +0.0001572,0.0,137488.0,14.0 +0.00016085100000000002,0.0,137488.0,14.0 +0.000150204,0.0,137488.0,14.0 +0.000154437,0.0,137488.0,14.0 +0.00016309900000000002,0.0,137488.0,14.0 +0.00015497700000000002,0.0,137488.0,14.0 +0.00017717700000000001,0.0,137488.0,14.0 +0.00014826700000000002,0.0,137488.0,14.0 +0.00014916200000000002,0.0,137488.0,14.0 +0.00015188500000000001,0.0,137488.0,14.0 +0.00015227600000000002,0.0,137488.0,14.0 +0.000152423,0.0,137488.0,14.0 +0.00015463800000000002,0.0,137488.0,14.0 +0.00015215700000000001,0.0,137488.0,14.0 +0.000166858,0.0,137488.0,14.0 +0.00015168900000000002,0.0,137488.0,14.0 +0.000151306,0.0,137488.0,14.0 +0.00015725100000000002,0.0,137488.0,14.0 +0.00015353,0.0,137488.0,14.0 +0.000153961,0.0,137488.0,14.0 +0.00015614,0.0,137488.0,14.0 +0.00014766600000000002,0.0,137488.0,14.0 +0.000152804,0.0,137488.0,14.0 +0.000162673,0.0,137488.0,14.0 +0.000146696,0.0,137488.0,14.0 +0.000152985,0.0,137488.0,14.0 +0.000166209,0.0,137488.0,14.0 +0.00015030000000000002,0.0,137488.0,14.0 +0.000156923,0.0,137488.0,14.0 +0.00015578100000000002,0.0,137488.0,14.0 +0.000148015,0.0,137488.0,14.0 +0.00016716000000000002,0.0,137488.0,14.0 +0.000152864,0.0,137488.0,14.0 +0.000149299,0.0,137488.0,14.0 +0.000160609,0.0,137488.0,14.0 +0.000153883,0.0,137488.0,14.0 +0.00015687,0.0,137488.0,14.0 +0.000155202,0.0,137488.0,14.0 +0.000150641,0.0,137488.0,14.0 +0.00015570200000000002,0.0,137488.0,14.0 +0.000146648,0.0,137488.0,14.0 +0.00015379800000000002,0.0,137488.0,14.0 +0.000163752,0.0,137488.0,14.0 +0.00016036000000000002,0.0,137488.0,14.0 +0.000156648,0.0,137488.0,14.0 +0.00016486900000000002,0.0,137488.0,14.0 +0.00014772100000000002,0.0,137488.0,14.0 +0.000156737,0.0,137488.0,14.0 +0.00014835600000000001,0.0,137488.0,14.0 +0.00015081300000000002,0.0,137488.0,14.0 +0.000167904,0.0,137488.0,14.0 +0.00014965100000000002,0.0,137488.0,14.0 +0.000153654,0.0,137488.0,14.0 +0.000153928,0.0,137488.0,14.0 +0.000212181,0.0,137488.0,14.0 +0.000286856,0.0,137488.0,14.0 +0.000282453,0.0,137488.0,14.0 +0.00026813,0.0,137488.0,14.0 +0.000281802,0.0,137488.0,14.0 +0.000265931,0.0,137488.0,14.0 +0.00027779400000000004,0.0,137488.0,14.0 +0.000261106,0.0,137488.0,14.0 +0.000274677,0.0,137488.0,14.0 +0.000272855,0.0,137488.0,14.0 +0.00027032200000000003,0.0,137488.0,14.0 +0.000276149,0.0,137488.0,14.0 +0.000270096,0.0,137488.0,14.0 +0.00027147,0.0,137488.0,14.0 +0.00027781800000000004,0.0,137488.0,14.0 +0.00026384900000000003,0.0,137488.0,14.0 +0.000295756,0.0,137488.0,14.0 +0.000271177,0.0,137488.0,14.0 +0.000275199,0.0,137488.0,14.0 +0.000273379,0.0,137488.0,14.0 +0.00030059,0.0,137488.0,14.0 +0.00027223300000000003,0.0,137488.0,14.0 +0.00028295400000000003,0.0,137488.0,14.0 +0.000269619,0.0,137488.0,14.0 +0.00027863000000000003,0.0,137488.0,14.0 +0.000272203,0.0,137488.0,14.0 +0.000273995,0.0,137488.0,14.0 +0.00027142100000000004,0.0,137488.0,14.0 +0.00028103700000000004,0.0,137488.0,14.0 +0.000268894,0.0,137488.0,14.0 +0.000348951,0.0,137488.0,14.0 +0.00026688,0.0,137488.0,14.0 +0.000297954,0.0,137488.0,14.0 +0.000263983,0.0,137488.0,14.0 +0.000276845,0.0,137488.0,14.0 +0.000267245,0.0,137488.0,14.0 +0.00028369800000000003,0.0,137488.0,14.0 +0.000274331,0.0,137488.0,14.0 +0.000281277,0.0,137488.0,14.0 +0.000273585,0.0,137488.0,14.0 +0.000294033,0.0,137488.0,14.0 +0.000273606,0.0,137488.0,14.0 +0.000284806,0.0,137488.0,14.0 +0.0002874,0.0,137488.0,14.0 +0.000272003,0.0,137488.0,14.0 +0.000299765,0.0,137488.0,14.0 +0.000273984,0.0,137488.0,14.0 +0.00028101300000000004,0.0,137488.0,14.0 +0.000272017,0.0,137488.0,14.0 +0.00028339500000000003,0.0,137488.0,14.0 +0.00026831200000000004,0.0,137488.0,14.0 +0.00028556400000000003,0.0,137488.0,14.0 +0.000268803,0.0,137488.0,14.0 +0.0004932970000000001,0.0,137488.0,14.0 +0.00027236000000000003,0.0,137488.0,14.0 +0.000286238,0.0,137488.0,14.0 +0.000269476,0.0,137488.0,14.0 +0.000288317,0.0,137488.0,14.0 +0.000294552,0.0,137488.0,14.0 +0.000274367,0.0,137488.0,14.0 +0.00028317100000000003,0.0,137488.0,14.0 +0.000276401,0.0,137488.0,14.0 +0.000307846,0.0,137488.0,14.0 +0.000263019,0.0,137488.0,14.0 +0.000281764,0.0,137488.0,14.0 +0.000280102,0.0,137488.0,14.0 +0.000280963,0.0,137488.0,14.0 +0.000277985,0.0,137488.0,14.0 +0.000276169,0.0,137488.0,14.0 +0.000272795,0.0,137488.0,14.0 +0.000284333,0.0,137488.0,14.0 +0.000268691,0.0,137488.0,14.0 +0.000406762,0.0,137488.0,14.0 +0.00028756,0.0,137488.0,14.0 +0.00026584000000000004,0.0,137488.0,14.0 +0.000296023,0.0,137488.0,14.0 +0.00026818800000000004,0.0,137488.0,14.0 +0.000283439,0.0,137488.0,14.0 +0.000275027,0.0,137488.0,14.0 +0.00028732700000000004,0.0,137488.0,14.0 +0.00027535,0.0,137488.0,14.0 +0.000278941,0.0,137488.0,14.0 +0.000274283,0.0,137488.0,14.0 +0.00028160100000000003,0.0,137488.0,14.0 +0.000269309,0.0,137488.0,14.0 +0.000449826,0.0,137488.0,14.0 +0.00028114000000000004,0.0,137488.0,14.0 +0.00028891800000000004,0.0,137488.0,14.0 +0.000280163,0.0,137488.0,14.0 +0.000269552,0.0,137488.0,14.0 +0.00027939,0.0,137488.0,14.0 +0.000268568,0.0,137488.0,14.0 +0.000281272,0.0,137488.0,14.0 +0.000275906,0.0,137488.0,14.0 +0.008639123,0.9640468135480882,137488.0,14.0 +0.000158188,0.0,137488.0,14.0 +0.000155539,0.0,137488.0,14.0 +0.00014848700000000002,0.0,137488.0,14.0 +0.000160853,0.0,137488.0,14.0 +0.00015346900000000002,0.0,137488.0,14.0 +0.00016170300000000002,0.0,137488.0,14.0 +0.000154995,0.0,137488.0,14.0 +0.000170581,0.0,137488.0,14.0 +0.00016299400000000002,0.0,137488.0,14.0 +0.000163071,0.0,137488.0,14.0 +0.00015979400000000002,0.0,137488.0,14.0 +0.000155376,0.0,137488.0,14.0 +0.000159786,0.0,137488.0,14.0 +0.00015357900000000001,0.0,137488.0,14.0 +0.00015764900000000002,0.0,137488.0,14.0 +0.000162721,0.0,137488.0,14.0 +0.00015711200000000002,0.0,137488.0,14.0 +0.000150826,0.0,137488.0,14.0 +0.00015474100000000001,0.0,137488.0,14.0 +0.00015805000000000002,0.0,137488.0,14.0 +0.00015276500000000002,0.0,137488.0,14.0 +0.000150392,0.0,137488.0,14.0 +0.000162599,0.0,137488.0,14.0 +0.000161494,0.0,137488.0,14.0 +0.000155844,0.0,137488.0,14.0 +0.000160459,0.0,137488.0,14.0 +0.000154401,0.0,137488.0,14.0 +0.000163725,0.0,137488.0,14.0 +0.000157216,0.0,137488.0,14.0 +0.000166687,0.0,137488.0,14.0 +0.00015588600000000002,0.0,137488.0,14.0 +0.00015350500000000002,0.0,137488.0,14.0 +0.00016771100000000002,0.0,137488.0,14.0 +0.00016112,0.0,137488.0,14.0 +0.00015550200000000002,0.0,137488.0,14.0 +0.000152143,0.0,137488.0,14.0 +0.00014600300000000002,0.0,137488.0,14.0 +0.000153847,0.0,137488.0,14.0 +0.00015534900000000002,0.0,137488.0,14.0 +0.000147412,0.0,137488.0,14.0 +0.000157703,0.0,137488.0,14.0 +0.00015593,0.0,137488.0,14.0 +0.000156431,0.0,137488.0,14.0 +0.00016244300000000002,0.0,137488.0,14.0 +0.00015948400000000002,0.0,137488.0,14.0 +0.000150733,0.0,137488.0,14.0 +0.000158395,0.0,137488.0,14.0 +0.000155768,0.0,137488.0,14.0 +0.00015019800000000001,0.0,137488.0,14.0 +0.000150442,0.0,137488.0,14.0 +0.000154326,0.0,137488.0,14.0 +0.00015299900000000002,0.0,137488.0,14.0 +0.000157861,0.0,137488.0,14.0 +0.00016192500000000002,0.0,137488.0,14.0 +0.000154943,0.0,137488.0,14.0 +0.00014968700000000002,0.0,137488.0,14.0 +0.000182463,0.0,137488.0,14.0 +0.000198972,0.0,137488.0,14.0 +0.00015813100000000002,0.0,137488.0,14.0 +0.00015383400000000002,0.0,137488.0,14.0 +0.000156004,0.0,137488.0,14.0 +0.000157044,0.0,137488.0,14.0 +0.000150213,0.0,137488.0,14.0 +0.00015854900000000002,0.0,137488.0,14.0 +0.000154916,0.0,137488.0,14.0 +0.000160392,0.0,137488.0,14.0 +0.00015579,0.0,137488.0,14.0 +0.000162187,0.0,137488.0,14.0 +0.00015845800000000002,0.0,137488.0,14.0 +0.000149464,0.0,137488.0,14.0 +0.00015587200000000001,0.0,137488.0,14.0 +0.00015716000000000002,0.0,137488.0,14.0 +0.000157209,0.0,137488.0,14.0 +0.00015774700000000002,0.0,137488.0,14.0 +0.000148608,0.0,137488.0,14.0 +0.000156575,0.0,137488.0,14.0 +0.00015581700000000002,0.0,137488.0,14.0 +0.000154384,0.0,137488.0,14.0 +0.000149522,0.0,137488.0,14.0 +0.000157855,0.0,137488.0,14.0 +0.00015658500000000002,0.0,137488.0,14.0 +0.000154901,0.0,137488.0,14.0 +0.00015282500000000001,0.0,137488.0,14.0 +0.000170141,0.0,137488.0,14.0 +0.000159211,0.0,137488.0,14.0 +0.00015560700000000002,0.0,137488.0,14.0 +0.00015488400000000002,0.0,137488.0,14.0 +0.00014801700000000002,0.0,137488.0,14.0 +0.00015471000000000001,0.0,137488.0,14.0 +0.000160647,0.0,137488.0,14.0 +0.000150568,0.0,137488.0,14.0 +0.000145766,0.0,137488.0,14.0 +0.000165842,0.0,137488.0,14.0 +0.00015716500000000002,0.0,137488.0,14.0 +0.00016186,0.0,137488.0,14.0 +0.000157073,0.0,137488.0,14.0 +0.000154704,0.0,137488.0,14.0 +0.00015404,0.0,137488.0,14.0 +0.000152174,0.0,137488.0,14.0 +0.000153076,0.0,137488.0,14.0 +0.000159459,0.0,137488.0,14.0 +0.000157813,0.0,137488.0,14.0 +0.000156896,0.0,137488.0,14.0 +0.00014785000000000002,0.0,137488.0,14.0 +0.000150091,0.0,137488.0,14.0 +0.00015640400000000002,0.0,137488.0,14.0 +0.000157884,0.0,137488.0,14.0 +0.00015383400000000002,0.0,137488.0,14.0 +0.000163289,0.0,137488.0,14.0 +0.000162621,0.0,137488.0,14.0 +0.00016446400000000002,0.0,137488.0,14.0 +0.00014811500000000001,0.0,137488.0,14.0 +0.000155006,0.0,137488.0,14.0 +0.000148695,0.0,137488.0,14.0 +0.000155267,0.0,137488.0,14.0 +0.000149545,0.0,137488.0,14.0 +0.000149077,0.0,137488.0,14.0 +0.00014941500000000002,0.0,137488.0,14.0 +0.00016159300000000002,0.0,137488.0,14.0 +0.000161113,0.0,137488.0,14.0 +0.00015113800000000002,0.0,137488.0,14.0 +0.000155057,0.0,137488.0,14.0 +0.00014853200000000002,0.0,137488.0,14.0 +0.000150043,0.0,137488.0,14.0 +0.00016347100000000002,0.0,137488.0,14.0 +0.000153804,0.0,137488.0,14.0 +0.00015511800000000001,0.0,137488.0,14.0 +0.00014671900000000002,0.0,137488.0,14.0 +0.000153627,0.0,137488.0,14.0 +0.000169387,0.0,137488.0,14.0 +0.000153456,0.0,137488.0,14.0 +0.000159721,0.0,137488.0,14.0 +0.00015636800000000002,0.0,137488.0,14.0 +0.00015810500000000002,0.0,137488.0,14.0 +0.000176961,0.0,137488.0,14.0 +0.000167345,0.0,137488.0,14.0 +0.00015124300000000002,0.0,137488.0,14.0 +0.00015221,0.0,137488.0,14.0 +0.00014852000000000002,0.0,137488.0,14.0 +0.00015608400000000002,0.0,137488.0,14.0 +0.00014893800000000002,0.0,137488.0,14.0 +0.00015138,0.0,137488.0,14.0 +0.000164178,0.0,137488.0,14.0 +0.000159769,0.0,137488.0,14.0 +0.000152905,0.0,137488.0,14.0 +0.00015156500000000002,0.0,137488.0,14.0 +0.00016876600000000002,0.0,137488.0,14.0 +0.000146527,0.0,137488.0,14.0 +0.000161523,0.0,137488.0,14.0 +0.00015731800000000001,0.0,137488.0,14.0 +0.000163041,0.0,137488.0,14.0 +0.00015556600000000002,0.0,137488.0,14.0 +0.00014814600000000001,0.0,137488.0,14.0 +0.000151695,0.0,137488.0,14.0 +0.00015151000000000002,0.0,137488.0,14.0 +0.00014703100000000002,0.0,137488.0,14.0 +0.000151017,0.0,137488.0,14.0 +0.000157605,0.0,137488.0,14.0 +0.00016336,0.0,137488.0,14.0 +0.00015886400000000002,0.0,137488.0,14.0 +0.00016696900000000002,0.0,137488.0,14.0 +0.000148496,0.0,137488.0,14.0 +0.000151041,0.0,137488.0,14.0 +0.0001555,0.0,137488.0,14.0 +0.000148801,0.0,137488.0,14.0 +0.000153454,0.0,137488.0,14.0 +0.00015364100000000002,0.0,137488.0,14.0 +0.000151031,0.0,137488.0,14.0 +0.000157298,0.0,137488.0,14.0 +0.000149595,0.0,137488.0,14.0 +0.000147675,0.0,137488.0,14.0 +0.000160926,0.0,137488.0,14.0 +0.000150189,0.0,137488.0,14.0 +0.000155864,0.0,137488.0,14.0 +0.000161067,0.0,137488.0,14.0 +0.000149769,0.0,137488.0,14.0 +0.00015877300000000002,0.0,137488.0,14.0 +0.000145048,0.0,137488.0,14.0 +0.000152721,0.0,137488.0,14.0 +0.000155004,0.0,137488.0,14.0 +0.00015962700000000002,0.0,137488.0,14.0 +0.0001553,0.0,137488.0,14.0 +0.000168116,0.0,137488.0,14.0 +0.000153014,0.0,137488.0,14.0 +0.00014759200000000002,0.0,137488.0,14.0 +0.000168123,0.0,137488.0,14.0 +0.000147972,0.0,137488.0,14.0 +0.00015661,0.0,137488.0,14.0 +0.000155131,0.0,137488.0,14.0 +0.000151556,0.0,137488.0,14.0 +0.000165429,0.0,137488.0,14.0 +0.000147687,0.0,137488.0,14.0 +0.000154245,0.0,137488.0,14.0 +0.000159165,0.0,137488.0,14.0 +0.000147224,0.0,137488.0,14.0 +0.000158149,0.0,137488.0,14.0 +0.000148206,0.0,137488.0,14.0 +0.000151123,0.0,137488.0,14.0 +0.00016424,0.0,137488.0,14.0 +0.000154597,0.0,137488.0,14.0 +0.000155777,0.0,137488.0,14.0 +0.000159727,0.0,137488.0,14.0 +0.00014853000000000002,0.0,137488.0,14.0 +0.000165772,0.0,137488.0,14.0 +0.00015803300000000002,0.0,137488.0,14.0 +0.000146632,0.0,137488.0,14.0 +0.000155098,0.0,137488.0,14.0 +0.00015390800000000002,0.0,137488.0,14.0 +0.000158128,0.0,137488.0,14.0 +0.000156851,0.0,137488.0,14.0 +0.00016146900000000002,0.0,137488.0,14.0 +0.000163327,0.0,137488.0,14.0 +0.00015602700000000002,0.0,137488.0,14.0 +0.00015360000000000002,0.0,137488.0,14.0 +0.00014982300000000002,0.0,137488.0,14.0 +0.00016186500000000002,0.0,137488.0,14.0 +0.000156526,0.0,137488.0,14.0 +0.00015295,0.0,137488.0,14.0 +0.000162382,0.0,137488.0,14.0 +0.000147651,0.0,137488.0,14.0 +0.000159184,0.0,137488.0,14.0 +0.00015264600000000002,0.0,137488.0,14.0 +0.00014949,0.0,137488.0,14.0 +0.00016265000000000002,0.0,137488.0,14.0 +0.000151082,0.0,137488.0,14.0 +0.00015349000000000002,0.0,137488.0,14.0 +0.000166856,0.0,137488.0,14.0 +0.00014908100000000002,0.0,137488.0,14.0 +0.00014878000000000002,0.0,137488.0,14.0 +0.000156548,0.0,137488.0,14.0 +0.000151824,0.0,137488.0,14.0 +0.000161566,0.0,137488.0,14.0 +0.000152608,0.0,137488.0,14.0 +0.000157705,0.0,137488.0,14.0 +0.000154184,0.0,137488.0,14.0 +0.00015886100000000002,0.0,137488.0,14.0 +0.000164601,0.0,137488.0,14.0 +0.000154289,0.0,137488.0,14.0 +0.000153372,0.0,137488.0,14.0 +0.00016184900000000002,0.0,137488.0,14.0 +0.00015465000000000002,0.0,137488.0,14.0 +0.000149187,0.0,137488.0,14.0 +0.00015678800000000002,0.0,137488.0,14.0 +0.000148411,0.0,137488.0,14.0 +0.000153387,0.0,137488.0,14.0 +0.000159603,0.0,137488.0,14.0 +0.000149238,0.0,137488.0,14.0 +0.000154252,0.0,137488.0,14.0 +0.000150673,0.0,137488.0,14.0 +0.00015860600000000002,0.0,137488.0,14.0 +0.000158035,0.0,137488.0,14.0 +0.00015079400000000002,0.0,137488.0,14.0 +0.00014941500000000002,0.0,137488.0,14.0 +0.000157751,0.0,137488.0,14.0 +0.000151198,0.0,137488.0,14.0 +0.00016325400000000002,0.0,137488.0,14.0 +0.000151576,0.0,137488.0,14.0 +0.00014957500000000002,0.0,137488.0,14.0 +0.00016071500000000002,0.0,137488.0,14.0 +0.00014985,0.0,137488.0,14.0 +0.00015345700000000002,0.0,137488.0,14.0 +0.000184117,0.0,137488.0,14.0 +0.00017925700000000002,0.0,137488.0,14.0 +0.00015545200000000002,0.0,137488.0,14.0 +0.000147615,0.0,137488.0,14.0 +0.000155487,0.0,137488.0,14.0 +0.00015585500000000002,0.0,137488.0,14.0 +0.000154885,0.0,137488.0,14.0 +0.00015593,0.0,137488.0,14.0 +0.00015721000000000002,0.0,137488.0,14.0 +0.000150519,0.0,137488.0,14.0 +0.000156551,0.0,137488.0,14.0 +0.00014845,0.0,137488.0,14.0 +0.000151974,0.0,137488.0,14.0 +0.000165224,0.0,137488.0,14.0 +0.00015166000000000002,0.0,137488.0,14.0 +0.000153809,0.0,137488.0,14.0 +0.00014969900000000002,0.0,137488.0,14.0 +0.000155186,0.0,137488.0,14.0 +0.000164942,0.0,137488.0,14.0 +0.00015121,0.0,137488.0,14.0 +0.000151466,0.0,137488.0,14.0 +0.00015694100000000001,0.0,137488.0,14.0 +0.000150012,0.0,137488.0,14.0 +0.00015605300000000002,0.0,137488.0,14.0 +0.000158226,0.0,137488.0,14.0 +0.000146133,0.0,137488.0,14.0 +0.00017398,0.0,137488.0,14.0 +0.000157696,0.0,137488.0,14.0 +0.000156102,0.0,137488.0,14.0 +0.00016972700000000002,0.0,137488.0,14.0 +0.000149295,0.0,137488.0,14.0 +0.000157679,0.0,137488.0,14.0 +0.000155119,0.0,137488.0,14.0 +0.00014935300000000002,0.0,137488.0,14.0 +0.00016625,0.0,137488.0,14.0 +0.000154641,0.0,137488.0,14.0 +0.00015374300000000002,0.0,137488.0,14.0 +0.000165117,0.0,137488.0,14.0 +0.000147672,0.0,137488.0,14.0 +0.00015280100000000002,0.0,137488.0,14.0 +0.000148292,0.0,137488.0,14.0 +0.000148765,0.0,137488.0,14.0 +0.000155493,0.0,137488.0,14.0 +0.000147066,0.0,137488.0,14.0 +0.00015487200000000002,0.0,137488.0,14.0 +0.00016200900000000001,0.0,137488.0,14.0 +0.00014637800000000001,0.0,137488.0,14.0 +0.00015583100000000002,0.0,137488.0,14.0 +0.000154992,0.0,137488.0,14.0 +0.00015777800000000002,0.0,137488.0,14.0 +0.00015084900000000002,0.0,137488.0,14.0 +0.00016139500000000002,0.0,137488.0,14.0 +0.00016504400000000001,0.0,137488.0,14.0 +0.00015040300000000002,0.0,137488.0,14.0 +0.000159697,0.0,137488.0,14.0 +0.000154584,0.0,137488.0,14.0 +0.000156405,0.0,137488.0,14.0 +0.000164215,0.0,137488.0,14.0 +0.00015070100000000002,0.0,137488.0,14.0 +0.00016175600000000001,0.0,137488.0,14.0 +0.00015351200000000002,0.0,137488.0,14.0 +0.00015233800000000002,0.0,137488.0,14.0 +0.00015666400000000002,0.0,137488.0,14.0 +0.000149006,0.0,137488.0,14.0 +0.00015368,0.0,137488.0,14.0 +0.000159717,0.0,137488.0,14.0 +0.00014851,0.0,137488.0,14.0 +0.000158672,0.0,137488.0,14.0 +0.00015428000000000002,0.0,137488.0,14.0 +0.00015323300000000002,0.0,137488.0,14.0 +0.0016842880000000001,0.8052132414408937,137488.0,14.0 +0.00016417500000000002,0.0,137488.0,14.0 +0.000146942,0.0,137488.0,14.0 +0.00014815,0.0,137488.0,14.0 +0.000157039,0.0,137488.0,14.0 +0.00015419200000000002,0.0,137488.0,14.0 +0.00015431,0.0,137488.0,14.0 +0.00016285600000000001,0.0,137488.0,14.0 +0.000156357,0.0,137488.0,14.0 +0.000159125,0.0,137488.0,14.0 +0.000164024,0.0,137488.0,14.0 +0.000158469,0.0,137488.0,14.0 +0.000161301,0.0,137488.0,14.0 +0.00015887300000000002,0.0,137488.0,14.0 +0.00015259,0.0,137488.0,14.0 +0.00015651600000000002,0.0,137488.0,14.0 +0.000153649,0.0,137488.0,14.0 +0.00016460000000000002,0.0,137488.0,14.0 +0.00015705000000000002,0.0,137488.0,14.0 +0.00015576,0.0,137488.0,14.0 +0.00015416100000000002,0.0,137488.0,14.0 +0.00016746100000000002,0.0,137488.0,14.0 +0.000159908,0.0,137488.0,14.0 +0.000163055,0.0,137488.0,14.0 +0.000152389,0.0,137488.0,14.0 +0.000154999,0.0,137488.0,14.0 +0.000158719,0.0,137488.0,14.0 +0.00015306800000000002,0.0,137488.0,14.0 +0.00016077000000000002,0.0,137488.0,14.0 +0.000165822,0.0,137488.0,14.0 +0.000157522,0.0,137488.0,14.0 +0.000162993,0.0,137488.0,14.0 +0.000158567,0.0,137488.0,14.0 +0.000153317,0.0,137488.0,14.0 +0.000155153,0.0,137488.0,14.0 +0.000159423,0.0,137488.0,14.0 +0.000148337,0.0,137488.0,14.0 +0.000158441,0.0,137488.0,14.0 +0.00015930300000000002,0.0,137488.0,14.0 +0.000155038,0.0,137488.0,14.0 +0.000155999,0.0,137488.0,14.0 +0.00015646600000000002,0.0,137488.0,14.0 +0.00015360500000000002,0.0,137488.0,14.0 +0.000147093,0.0,137488.0,14.0 +0.000148292,0.0,137488.0,14.0 +0.00015295,0.0,137488.0,14.0 +0.000160881,0.0,137488.0,14.0 +0.000154928,0.0,137488.0,14.0 +0.00016715800000000001,0.0,137488.0,14.0 +0.000161916,0.0,137488.0,14.0 +0.000157996,0.0,137488.0,14.0 +0.00015063200000000002,0.0,137488.0,14.0 +0.000155257,0.0,137488.0,14.0 +0.000156896,0.0,137488.0,14.0 +0.000149386,0.0,137488.0,14.0 +0.00015663500000000002,0.0,137488.0,14.0 +0.00015310600000000002,0.0,137488.0,14.0 +0.00015604100000000002,0.0,137488.0,14.0 +0.000146809,0.0,137488.0,14.0 +0.000156909,0.0,137488.0,14.0 +0.000160347,0.0,137488.0,14.0 +0.00015359300000000002,0.0,137488.0,14.0 +0.000155351,0.0,137488.0,14.0 +0.00015895900000000002,0.0,137488.0,14.0 +0.000152296,0.0,137488.0,14.0 +0.00015152900000000002,0.0,137488.0,14.0 +0.000156006,0.0,137488.0,14.0 +0.000159302,0.0,137488.0,14.0 +0.000160208,0.0,137488.0,14.0 +0.00016017400000000002,0.0,137488.0,14.0 +0.000154115,0.0,137488.0,14.0 +0.000151697,0.0,137488.0,14.0 +0.00015570500000000001,0.0,137488.0,14.0 +0.00016383900000000001,0.0,137488.0,14.0 +0.000171731,0.0,137488.0,14.0 +0.00016408200000000002,0.0,137488.0,14.0 +0.000156118,0.0,137488.0,14.0 +0.00015516100000000001,0.0,137488.0,14.0 +0.000155339,0.0,137488.0,14.0 +0.00015333300000000002,0.0,137488.0,14.0 +0.000151564,0.0,137488.0,14.0 +0.00015964200000000001,0.0,137488.0,14.0 +0.00015785700000000002,0.0,137488.0,14.0 +0.000150967,0.0,137488.0,14.0 +0.000153868,0.0,137488.0,14.0 +0.00015969900000000002,0.0,137488.0,14.0 +0.00015065800000000002,0.0,137488.0,14.0 +0.000145049,0.0,137488.0,14.0 +0.00015518200000000002,0.0,137488.0,14.0 +0.000152965,0.0,137488.0,14.0 +0.000158077,0.0,137488.0,14.0 +0.000152537,0.0,137488.0,14.0 +0.00014847700000000002,0.0,137488.0,14.0 +0.000161304,0.0,137488.0,14.0 +0.00016165,0.0,137488.0,14.0 +0.000157026,0.0,137488.0,14.0 +0.000155062,0.0,137488.0,14.0 +0.00015941700000000002,0.0,137488.0,14.0 +0.000155274,0.0,137488.0,14.0 +0.00016292500000000002,0.0,137488.0,14.0 +0.000158677,0.0,137488.0,14.0 +0.000158118,0.0,137488.0,14.0 +0.00015027400000000002,0.0,137488.0,14.0 +0.000155964,0.0,137488.0,14.0 +0.000153515,0.0,137488.0,14.0 +0.000158943,0.0,137488.0,14.0 +0.00016188700000000002,0.0,137488.0,14.0 +0.00015598400000000002,0.0,137488.0,14.0 +0.000162831,0.0,137488.0,14.0 +0.00015673500000000002,0.0,137488.0,14.0 +0.00015066500000000002,0.0,137488.0,14.0 +0.00016683800000000002,0.0,137488.0,14.0 +0.000158154,0.0,137488.0,14.0 +0.00015602200000000002,0.0,137488.0,14.0 +0.000150132,0.0,137488.0,14.0 +0.000148311,0.0,137488.0,14.0 +0.000149392,0.0,137488.0,14.0 +0.000147533,0.0,137488.0,14.0 +0.000154322,0.0,137488.0,14.0 +0.000161065,0.0,137488.0,14.0 +0.00016074200000000001,0.0,137488.0,14.0 +0.00014944400000000001,0.0,137488.0,14.0 +0.000158856,0.0,137488.0,14.0 +0.000151404,0.0,137488.0,14.0 +0.000149037,0.0,137488.0,14.0 +0.0001741,0.0,137488.0,14.0 +0.000152442,0.0,137488.0,14.0 +0.000151249,0.0,137488.0,14.0 +0.00015297300000000001,0.0,137488.0,14.0 +0.000153905,0.0,137488.0,14.0 +0.000151631,0.0,137488.0,14.0 +0.000154539,0.0,137488.0,14.0 +0.000159738,0.0,137488.0,14.0 +0.000156253,0.0,137488.0,14.0 +0.000158534,0.0,137488.0,14.0 +0.00015009500000000002,0.0,137488.0,14.0 +0.000161957,0.0,137488.0,14.0 +0.000148504,0.0,137488.0,14.0 +0.000152415,0.0,137488.0,14.0 +0.00014788100000000002,0.0,137488.0,14.0 +0.000152769,0.0,137488.0,14.0 +0.00015620600000000002,0.0,137488.0,14.0 +0.00014956100000000001,0.0,137488.0,14.0 +0.000164324,0.0,137488.0,14.0 +0.00015159,0.0,137488.0,14.0 +0.000155901,0.0,137488.0,14.0 +0.00014654500000000001,0.0,137488.0,14.0 +0.00015388900000000002,0.0,137488.0,14.0 +0.000154126,0.0,137488.0,14.0 +0.000150994,0.0,137488.0,14.0 +0.000150519,0.0,137488.0,14.0 +0.000171878,0.0,137488.0,14.0 +0.00016406,0.0,137488.0,14.0 +0.00015276000000000002,0.0,137488.0,14.0 +0.000153002,0.0,137488.0,14.0 +0.00016292000000000002,0.0,137488.0,14.0 +0.00015151700000000002,0.0,137488.0,14.0 +0.000151423,0.0,137488.0,14.0 +0.00015342,0.0,137488.0,14.0 +0.00016009000000000002,0.0,137488.0,14.0 +0.000154799,0.0,137488.0,14.0 +0.00015703100000000002,0.0,137488.0,14.0 +0.000162351,0.0,137488.0,14.0 +0.00014932400000000002,0.0,137488.0,14.0 +0.000160373,0.0,137488.0,14.0 +0.000152774,0.0,137488.0,14.0 +0.00015380100000000001,0.0,137488.0,14.0 +0.000158115,0.0,137488.0,14.0 +0.00014802900000000002,0.0,137488.0,14.0 +0.000154709,0.0,137488.0,14.0 +0.00015414900000000002,0.0,137488.0,14.0 +0.000153193,0.0,137488.0,14.0 +0.000158123,0.0,137488.0,14.0 +0.00015247,0.0,137488.0,14.0 +0.000158633,0.0,137488.0,14.0 +0.000150092,0.0,137488.0,14.0 +0.000164071,0.0,137488.0,14.0 +0.000156202,0.0,137488.0,14.0 +0.00016544200000000002,0.0,137488.0,14.0 +0.000155861,0.0,137488.0,14.0 +0.000160204,0.0,137488.0,14.0 +0.000157242,0.0,137488.0,14.0 +0.000154746,0.0,137488.0,14.0 +0.000154708,0.0,137488.0,14.0 +0.00015645600000000002,0.0,137488.0,14.0 +0.00015042200000000002,0.0,137488.0,14.0 +0.000165148,0.0,137488.0,14.0 +0.000148214,0.0,137488.0,14.0 +0.000152451,0.0,137488.0,14.0 +0.000163739,0.0,137488.0,14.0 +0.000153084,0.0,137488.0,14.0 +0.00016178,0.0,137488.0,14.0 +0.000160676,0.0,137488.0,14.0 +0.00015196300000000002,0.0,137488.0,14.0 +0.000159223,0.0,137488.0,14.0 +0.00014906400000000002,0.0,137488.0,14.0 +0.00015178400000000002,0.0,137488.0,14.0 +0.00015715500000000002,0.0,137488.0,14.0 +0.00014987,0.0,137488.0,14.0 +0.00015194900000000002,0.0,137488.0,14.0 +0.00016274800000000002,0.0,137488.0,14.0 +0.000149127,0.0,137488.0,14.0 +0.00017763000000000002,0.0,137488.0,14.0 +0.00014299400000000002,0.0,137488.0,14.0 +0.00015002600000000002,0.0,137488.0,14.0 +0.000161291,0.0,137488.0,14.0 +0.000153998,0.0,137488.0,14.0 +0.000158087,0.0,137488.0,14.0 +0.00015630100000000002,0.0,137488.0,14.0 +0.000164558,0.0,137488.0,14.0 +0.00015049600000000002,0.0,137488.0,14.0 +0.00015830300000000002,0.0,137488.0,14.0 +0.00015343800000000002,0.0,137488.0,14.0 +0.000149635,0.0,137488.0,14.0 +0.00016002800000000002,0.0,137488.0,14.0 +0.00014918,0.0,137488.0,14.0 +0.000151838,0.0,137488.0,14.0 +0.000152699,0.0,137488.0,14.0 +0.000147402,0.0,137488.0,14.0 +0.00015979200000000002,0.0,137488.0,14.0 +0.00015376700000000002,0.0,137488.0,14.0 +0.00015667300000000002,0.0,137488.0,14.0 +0.000165448,0.0,137488.0,14.0 +0.000152179,0.0,137488.0,14.0 +0.000158951,0.0,137488.0,14.0 +0.00016013300000000002,0.0,137488.0,14.0 +0.000149344,0.0,137488.0,14.0 +0.00017386500000000002,0.0,137488.0,14.0 +0.000150943,0.0,137488.0,14.0 +0.000159307,0.0,137488.0,14.0 +0.000162582,0.0,137488.0,14.0 +0.000149922,0.0,137488.0,14.0 +0.000156142,0.0,137488.0,14.0 +0.000156954,0.0,137488.0,14.0 +0.000148378,0.0,137488.0,14.0 +0.00016257200000000001,0.0,137488.0,14.0 +0.000156789,0.0,137488.0,14.0 +0.000148844,0.0,137488.0,14.0 +0.00015787100000000002,0.0,137488.0,14.0 +0.000153213,0.0,137488.0,14.0 +0.00015237400000000002,0.0,137488.0,14.0 +0.00016079400000000002,0.0,137488.0,14.0 +0.000152239,0.0,137488.0,14.0 +0.000159481,0.0,137488.0,14.0 +0.000150536,0.0,137488.0,14.0 +0.00014884500000000002,0.0,137488.0,14.0 +0.00016232100000000002,0.0,137488.0,14.0 +0.000146102,0.0,137488.0,14.0 +0.000156083,0.0,137488.0,14.0 +0.00015683,0.0,137488.0,14.0 +0.00014667100000000002,0.0,137488.0,14.0 +0.00016568300000000002,0.0,137488.0,14.0 +0.000150132,0.0,137488.0,14.0 +0.00016415600000000002,0.0,137488.0,14.0 +0.00016061300000000002,0.0,137488.0,14.0 +0.00015066500000000002,0.0,137488.0,14.0 +0.00015175100000000002,0.0,137488.0,14.0 +0.00016458800000000002,0.0,137488.0,14.0 +0.00014840800000000002,0.0,137488.0,14.0 +0.000153306,0.0,137488.0,14.0 +0.00014797,0.0,137488.0,14.0 +0.000148264,0.0,137488.0,14.0 +0.000159815,0.0,137488.0,14.0 +0.000152094,0.0,137488.0,14.0 +0.00015086300000000002,0.0,137488.0,14.0 +0.00014854400000000002,0.0,137488.0,14.0 +0.00015709,0.0,137488.0,14.0 +0.000159581,0.0,137488.0,14.0 +0.000156946,0.0,137488.0,14.0 +0.00015352,0.0,137488.0,14.0 +0.00015795000000000002,0.0,137488.0,14.0 +0.000146433,0.0,137488.0,14.0 +0.00015140300000000001,0.0,137488.0,14.0 +0.00016166700000000002,0.0,137488.0,14.0 +0.000149982,0.0,137488.0,14.0 +0.000158156,0.0,137488.0,14.0 +0.00014982100000000001,0.0,137488.0,14.0 +0.000150452,0.0,137488.0,14.0 +0.00016094000000000001,0.0,137488.0,14.0 +0.00016311800000000002,0.0,137488.0,14.0 +0.00015178000000000001,0.0,137488.0,14.0 +0.00015214700000000002,0.0,137488.0,14.0 +0.000159337,0.0,137488.0,14.0 +0.00015799800000000001,0.0,137488.0,14.0 +0.00014965,0.0,137488.0,14.0 +0.000153967,0.0,137488.0,14.0 +0.00015184200000000001,0.0,137488.0,14.0 +0.000149326,0.0,137488.0,14.0 +0.00015796200000000002,0.0,137488.0,14.0 +0.00015896600000000002,0.0,137488.0,14.0 +0.00014621,0.0,137488.0,14.0 +0.000159908,0.0,137488.0,14.0 +0.000148722,0.0,137488.0,14.0 +0.000150035,0.0,137488.0,14.0 +0.00015993500000000002,0.0,137488.0,14.0 +0.00015465700000000002,0.0,137488.0,14.0 +0.00015538000000000002,0.0,137488.0,14.0 +0.00015438500000000002,0.0,137488.0,14.0 +0.00015440400000000002,0.0,137488.0,14.0 +0.00015510600000000002,0.0,137488.0,14.0 +0.00015143400000000001,0.0,137488.0,14.0 +0.000151394,0.0,137488.0,14.0 +0.00016269,0.0,137488.0,14.0 +0.000148738,0.0,137488.0,14.0 +0.000176701,0.0,137488.0,14.0 +0.000159579,0.0,137488.0,14.0 +0.00014556,0.0,137488.0,14.0 +0.00015274,0.0,137488.0,14.0 +0.000147916,0.0,137488.0,14.0 +0.000151773,0.0,137488.0,14.0 +0.00015605500000000002,0.0,137488.0,14.0 +0.00016244300000000002,0.0,137488.0,14.0 +0.000146859,0.0,137488.0,14.0 +0.00015841800000000001,0.0,137488.0,14.0 +0.000146933,0.0,137488.0,14.0 +0.000152544,0.0,137488.0,14.0 +0.000164711,0.0,137488.0,14.0 +0.00014872800000000002,0.0,137488.0,14.0 +0.000151093,0.0,137488.0,14.0 +0.000157641,0.0,137488.0,14.0 +0.00015102100000000002,0.0,137488.0,14.0 +0.000150135,0.0,137488.0,14.0 +0.00015547600000000001,0.0,137488.0,14.0 +0.00015052700000000002,0.0,137488.0,14.0 +0.000158018,0.0,137488.0,14.0 +0.000150295,0.0,137488.0,14.0 +0.00015095200000000001,0.0,137488.0,14.0 +0.000158251,0.0,137488.0,14.0 +0.000151303,0.0,137488.0,14.0 +0.000154243,0.0,137488.0,14.0 +0.000176855,0.0,137488.0,14.0 +0.00015453,0.0,137488.0,14.0 +0.000158557,0.0,137488.0,14.0 +0.00028728600000000004,0.0,137488.0,14.0 +0.00024364200000000002,0.0,137488.0,14.0 +0.000157009,0.0,137488.0,14.0 +0.000155104,0.0,137488.0,14.0 +0.000161347,0.0,137488.0,14.0 +0.000155255,0.0,137488.0,14.0 +0.00015775900000000002,0.0,137488.0,14.0 +0.000154448,0.0,137488.0,14.0 +0.000151361,0.0,137488.0,14.0 +0.000154789,0.0,137488.0,14.0 +0.000165649,0.0,137488.0,14.0 +0.000153952,0.0,137488.0,14.0 +0.00016593600000000002,0.0,137488.0,14.0 +0.000151251,0.0,137488.0,14.0 +0.00015626300000000002,0.0,137488.0,14.0 +0.000155227,0.0,137488.0,14.0 +0.00016534900000000002,0.0,137488.0,14.0 +0.000161938,0.0,137488.0,14.0 +0.00016334000000000002,0.0,137488.0,14.0 +0.000155477,0.0,137488.0,14.0 +0.000166767,0.0,137488.0,14.0 +0.00015906700000000001,0.0,137488.0,14.0 +0.00014964200000000002,0.0,137488.0,14.0 +0.000149705,0.0,137488.0,14.0 +0.000157908,0.0,137488.0,14.0 +0.000156271,0.0,137488.0,14.0 +0.000153024,0.0,137488.0,14.0 +0.00015328800000000001,0.0,137488.0,14.0 +0.000159242,0.0,137488.0,14.0 +0.000158064,0.0,137488.0,14.0 +0.00015503,0.0,137488.0,14.0 +0.000163109,0.0,137488.0,14.0 +0.000155417,0.0,137488.0,14.0 +0.00015883500000000002,0.0,137488.0,14.0 +0.00014911700000000002,0.0,137488.0,14.0 +0.00014871100000000002,0.0,137488.0,14.0 +0.000153785,0.0,137488.0,14.0 +0.000162048,0.0,137488.0,14.0 +0.000153959,0.0,137488.0,14.0 +0.000159258,0.0,137488.0,14.0 +0.000153516,0.0,137488.0,14.0 +0.000158352,0.0,137488.0,14.0 +0.000159323,0.0,137488.0,14.0 +0.00015819,0.0,137488.0,14.0 +0.000154804,0.0,137488.0,14.0 +0.000150523,0.0,137488.0,14.0 +0.00016047700000000002,0.0,137488.0,14.0 +0.00015264100000000002,0.0,137488.0,14.0 +0.000157026,0.0,137488.0,14.0 +0.000151082,0.0,137488.0,14.0 +0.00014891,0.0,137488.0,14.0 +0.000152608,0.0,137488.0,14.0 +0.000151502,0.0,137488.0,14.0 +0.000154282,0.0,137488.0,14.0 +0.000156598,0.0,137488.0,14.0 +0.000159547,0.0,137488.0,14.0 +0.00016229000000000002,0.0,137488.0,14.0 +0.00015126700000000001,0.0,137488.0,14.0 +0.000154165,0.0,137488.0,14.0 +0.000155016,0.0,137488.0,14.0 +0.00016406300000000002,0.0,137488.0,14.0 +0.00014718900000000002,0.0,137488.0,14.0 +0.000167846,0.0,137488.0,14.0 +0.000161225,0.0,137488.0,14.0 +0.000158605,0.0,137488.0,14.0 +0.000157009,0.0,137488.0,14.0 +0.000148775,0.0,137488.0,14.0 +0.00015607000000000002,0.0,137488.0,14.0 +0.000153788,0.0,137488.0,14.0 +0.000163,0.0,137488.0,14.0 +0.000152807,0.0,137488.0,14.0 +0.00015361900000000002,0.0,137488.0,14.0 +0.000154391,0.0,137488.0,14.0 +0.000154477,0.0,137488.0,14.0 +0.000157145,0.0,137488.0,14.0 +0.00016221600000000002,0.0,137488.0,14.0 +0.000154809,0.0,137488.0,14.0 +0.000156622,0.0,137488.0,14.0 +0.000149239,0.0,137488.0,14.0 +0.00015396300000000002,0.0,137488.0,14.0 +0.000152804,0.0,137488.0,14.0 +0.000154697,0.0,137488.0,14.0 +0.000155811,0.0,137488.0,14.0 +0.000149552,0.0,137488.0,14.0 +0.000153016,0.0,137488.0,14.0 +0.000157173,0.0,137488.0,14.0 +0.000154794,0.0,137488.0,14.0 +0.000151072,0.0,137488.0,14.0 +0.000152818,0.0,137488.0,14.0 +0.000170031,0.0,137488.0,14.0 +0.000161115,0.0,137488.0,14.0 +0.00015757300000000002,0.0,137488.0,14.0 +0.000147588,0.0,137488.0,14.0 +0.00015799,0.0,137488.0,14.0 +0.000161056,0.0,137488.0,14.0 +0.00016190600000000002,0.0,137488.0,14.0 +0.000164265,0.0,137488.0,14.0 +0.00016990900000000002,0.0,137488.0,14.0 +0.000155909,0.0,137488.0,14.0 +0.000154957,0.0,137488.0,14.0 +0.00015721000000000002,0.0,137488.0,14.0 +0.00015386000000000002,0.0,137488.0,14.0 +0.000156099,0.0,137488.0,14.0 +0.00015827400000000002,0.0,137488.0,14.0 +0.000157228,0.0,137488.0,14.0 +0.00015817900000000002,0.0,137488.0,14.0 +0.000154358,0.0,137488.0,14.0 +0.00015423500000000002,0.0,137488.0,14.0 +0.000164558,0.0,137488.0,14.0 +0.000152273,0.0,137488.0,14.0 +0.00015551,0.0,137488.0,14.0 +0.000157174,0.0,137488.0,14.0 +0.000159759,0.0,137488.0,14.0 +0.000156231,0.0,137488.0,14.0 +0.00017112300000000002,0.0,137488.0,14.0 +0.000151174,0.0,137488.0,14.0 +0.000149054,0.0,137488.0,14.0 +0.00015217600000000001,0.0,137488.0,14.0 +0.000152721,0.0,137488.0,14.0 +0.00015764900000000002,0.0,137488.0,14.0 +0.00016435400000000002,0.0,137488.0,14.0 +0.000152699,0.0,137488.0,14.0 +0.00014918800000000002,0.0,137488.0,14.0 +0.000151173,0.0,137488.0,14.0 +0.000148745,0.0,137488.0,14.0 +0.000156,0.0,137488.0,14.0 +0.00016044600000000002,0.0,137488.0,14.0 +0.000154882,0.0,137488.0,14.0 +0.00015405,0.0,137488.0,14.0 +0.00014859,0.0,137488.0,14.0 +0.000152203,0.0,137488.0,14.0 +0.000154071,0.0,137488.0,14.0 +0.00014953700000000002,0.0,137488.0,14.0 +0.00016006,0.0,137488.0,14.0 +0.000154324,0.0,137488.0,14.0 +0.000158543,0.0,137488.0,14.0 +0.00016246700000000002,0.0,137488.0,14.0 +0.000164711,0.0,137488.0,14.0 +0.000147123,0.0,137488.0,14.0 +0.000170769,0.0,137488.0,14.0 +0.00015813600000000002,0.0,137488.0,14.0 +0.00016002100000000002,0.0,137488.0,14.0 +0.000148459,0.0,137488.0,14.0 +0.000150375,0.0,137488.0,14.0 +0.00016192500000000002,0.0,137488.0,14.0 +0.000162372,0.0,137488.0,14.0 +0.000148932,0.0,137488.0,14.0 +0.00015497900000000002,0.0,137488.0,14.0 +0.000171453,0.0,137488.0,14.0 +0.00015439000000000002,0.0,137488.0,14.0 +0.00016516,0.0,137488.0,14.0 +0.000155114,0.0,137488.0,14.0 +0.00015144800000000002,0.0,137488.0,14.0 +0.000147799,0.0,137488.0,14.0 +0.000149164,0.0,137488.0,14.0 +0.00016106600000000002,0.0,137488.0,14.0 +0.00015449500000000002,0.0,137488.0,14.0 +0.000152403,0.0,137488.0,14.0 +0.000163758,0.0,137488.0,14.0 +0.00016679700000000002,0.0,137488.0,14.0 +0.00015463100000000002,0.0,137488.0,14.0 +0.00015127400000000002,0.0,137488.0,14.0 +0.000155494,0.0,137488.0,14.0 +0.000150683,0.0,137488.0,14.0 +0.000153334,0.0,137488.0,14.0 +0.00017172000000000002,0.0,137488.0,14.0 +0.000147792,0.0,137488.0,14.0 +0.000159454,0.0,137488.0,14.0 +0.00014941000000000002,0.0,137488.0,14.0 +0.00014900500000000001,0.0,137488.0,14.0 +0.000163479,0.0,137488.0,14.0 +0.000148319,0.0,137488.0,14.0 +0.00015414400000000002,0.0,137488.0,14.0 +0.000160531,0.0,137488.0,14.0 +0.000149765,0.0,137488.0,14.0 +0.00016193000000000002,0.0,137488.0,14.0 +0.000151237,0.0,137488.0,14.0 +0.000153828,0.0,137488.0,14.0 +0.00015205,0.0,137488.0,14.0 +0.00015183000000000002,0.0,137488.0,14.0 +0.000152922,0.0,137488.0,14.0 +0.00015448,0.0,137488.0,14.0 +0.00016094400000000002,0.0,137488.0,14.0 +0.000152287,0.0,137488.0,14.0 +0.000152136,0.0,137488.0,14.0 +0.00015186800000000002,0.0,137488.0,14.0 +0.000155515,0.0,137488.0,14.0 +0.000156209,0.0,137488.0,14.0 +0.00015332800000000002,0.0,137488.0,14.0 +0.000160853,0.0,137488.0,14.0 +0.000169977,0.0,137488.0,14.0 +0.000155644,0.0,137488.0,14.0 +0.000168075,0.0,137488.0,14.0 +0.00014582400000000002,0.0,137488.0,14.0 +0.00015278,0.0,137488.0,14.0 +0.000154887,0.0,137488.0,14.0 +0.00014624,0.0,137488.0,14.0 +0.000157226,0.0,137488.0,14.0 +0.000146417,0.0,137488.0,14.0 +0.000151361,0.0,137488.0,14.0 +0.000151674,0.0,137488.0,14.0 +0.00016008500000000002,0.0,137488.0,14.0 +0.00015689,0.0,137488.0,14.0 +0.000154954,0.0,137488.0,14.0 +0.00015126400000000002,0.0,137488.0,14.0 +0.0001586,0.0,137488.0,14.0 +0.000150506,0.0,137488.0,14.0 +0.000150239,0.0,137488.0,14.0 +0.000151411,0.0,137488.0,14.0 +0.00015634,0.0,137488.0,14.0 +0.00016004500000000002,0.0,137488.0,14.0 +0.00015354500000000002,0.0,137488.0,14.0 +0.00015803300000000002,0.0,137488.0,14.0 +0.000144412,0.0,137488.0,14.0 +0.000158948,0.0,137488.0,14.0 +0.000144654,0.0,137488.0,14.0 +0.000160908,0.0,137488.0,14.0 +0.000169382,0.0,137488.0,14.0 +0.00015003300000000002,0.0,137488.0,14.0 +0.00014850800000000002,0.0,137488.0,14.0 +0.00015629600000000002,0.0,137488.0,14.0 +0.000150072,0.0,137488.0,14.0 +0.00015869700000000002,0.0,137488.0,14.0 +0.00016362,0.0,137488.0,14.0 +0.00015024300000000002,0.0,137488.0,14.0 +0.000162367,0.0,137488.0,14.0 +0.00014927700000000001,0.0,137488.0,14.0 +0.00014924,0.0,137488.0,14.0 +0.000162506,0.0,137488.0,14.0 +0.000152125,0.0,137488.0,14.0 +0.000159421,0.0,137488.0,14.0 +0.00015125200000000002,0.0,137488.0,14.0 +0.000155942,0.0,137488.0,14.0 +0.00016480500000000002,0.0,137488.0,14.0 +0.000150803,0.0,137488.0,14.0 +0.000151702,0.0,137488.0,14.0 +0.000160409,0.0,137488.0,14.0 +0.000159032,0.0,137488.0,14.0 +0.000156958,0.0,137488.0,14.0 +0.000153628,0.0,137488.0,14.0 +0.000147376,0.0,137488.0,14.0 +0.00016276300000000001,0.0,137488.0,14.0 +0.00017417500000000002,0.0,137488.0,14.0 +0.000151358,0.0,137488.0,14.0 +0.000155837,0.0,137488.0,14.0 +0.000149316,0.0,137488.0,14.0 +0.000160383,0.0,137488.0,14.0 +0.00015774700000000002,0.0,137488.0,14.0 +0.000154281,0.0,137488.0,14.0 +0.00015623400000000002,0.0,137488.0,14.0 +0.00014493900000000002,0.0,137488.0,14.0 +0.000154446,0.0,137488.0,14.0 +0.00015410400000000001,0.0,137488.0,14.0 +0.000154475,0.0,137488.0,14.0 +0.000163064,0.0,137488.0,14.0 +0.000147267,0.0,137488.0,14.0 +0.000153103,0.0,137488.0,14.0 +0.00016039,0.0,137488.0,14.0 +0.000155577,0.0,137488.0,14.0 +0.00015488,0.0,137488.0,14.0 +0.000153575,0.0,137488.0,14.0 +0.000149135,0.0,137488.0,14.0 +0.00015299200000000002,0.0,137488.0,14.0 +0.00015052700000000002,0.0,137488.0,14.0 +0.00015535900000000001,0.0,137488.0,14.0 +0.000155737,0.0,137488.0,14.0 +0.00015252400000000002,0.0,137488.0,14.0 +0.00016647800000000001,0.0,137488.0,14.0 +0.00015892,0.0,137488.0,14.0 +0.000156754,0.0,137488.0,14.0 +0.000160333,0.0,137488.0,14.0 +0.00015603600000000002,0.0,137488.0,14.0 +0.000158102,0.0,137488.0,14.0 +0.000158734,0.0,137488.0,14.0 +0.00014841300000000002,0.0,137488.0,14.0 +0.000155837,0.0,137488.0,14.0 +0.000159888,0.0,137488.0,14.0 +0.00015151200000000002,0.0,137488.0,14.0 +0.00016115400000000002,0.0,137488.0,14.0 +0.00015877,0.0,137488.0,14.0 +0.00015005900000000002,0.0,137488.0,14.0 +0.000162973,0.0,137488.0,14.0 +0.000153336,0.0,137488.0,14.0 +0.000160024,0.0,137488.0,14.0 +0.00015367,0.0,137488.0,14.0 +0.00014964200000000002,0.0,137488.0,14.0 +0.000157978,0.0,137488.0,14.0 +0.000149943,0.0,137488.0,14.0 +0.000152217,0.0,137488.0,14.0 +0.000161309,0.0,137488.0,14.0 +0.00015540400000000002,0.0,137488.0,14.0 +0.00015482200000000002,0.0,137488.0,14.0 +0.000156501,0.0,137488.0,14.0 +0.000163339,0.0,137488.0,14.0 +0.000163787,0.0,137488.0,14.0 +0.00015116400000000002,0.0,137488.0,14.0 +0.000152475,0.0,137488.0,14.0 +0.00016375300000000002,0.0,137488.0,14.0 +0.000152251,0.0,137488.0,14.0 +0.00015828,0.0,137488.0,14.0 +0.000155016,0.0,137488.0,14.0 +0.000146983,0.0,137488.0,14.0 +0.000159739,0.0,137488.0,14.0 +0.00015162900000000002,0.0,137488.0,14.0 +0.00015180600000000002,0.0,137488.0,14.0 +0.000157162,0.0,137488.0,14.0 +0.000148094,0.0,137488.0,14.0 +0.00015380300000000002,0.0,137488.0,14.0 +0.00015500800000000002,0.0,137488.0,14.0 +0.000150127,0.0,137488.0,14.0 +0.000152007,0.0,137488.0,14.0 +0.000158219,0.0,137488.0,14.0 +0.00015563800000000002,0.0,137488.0,14.0 +0.000148307,0.0,137488.0,14.0 +0.00016338500000000002,0.0,137488.0,14.0 +0.00015003,0.0,137488.0,14.0 +0.000148163,0.0,137488.0,14.0 +0.000153744,0.0,137488.0,14.0 +0.000147502,0.0,137488.0,14.0 +0.000172639,0.0,137488.0,14.0 +0.000153919,0.0,137488.0,14.0 +0.000148546,0.0,137488.0,14.0 +0.00015849900000000002,0.0,137488.0,14.0 +0.000146892,0.0,137488.0,14.0 +0.00015696200000000002,0.0,137488.0,14.0 +0.00016364300000000002,0.0,137488.0,14.0 +0.000147219,0.0,137488.0,14.0 +0.00015243100000000002,0.0,137488.0,14.0 +0.00015680500000000001,0.0,137488.0,14.0 +0.00015016700000000001,0.0,137488.0,14.0 +0.000156493,0.0,137488.0,14.0 +0.000152508,0.0,137488.0,14.0 +0.000152265,0.0,137488.0,14.0 +0.000157366,0.0,137488.0,14.0 +0.0016118920000000002,0.8174828090219444,137488.0,14.0 +0.003367806,0.0,137488.0,14.0 +0.000176741,0.0,137488.0,14.0 +0.000151657,0.0,137488.0,14.0 +0.000160466,0.0,137488.0,14.0 +0.000150523,0.0,137488.0,14.0 +0.00017234000000000002,0.0,137488.0,14.0 +0.000155238,0.0,137488.0,14.0 +0.000151945,0.0,137488.0,14.0 +0.000166488,0.0,137488.0,14.0 +0.000161841,0.0,137488.0,14.0 +0.00015812200000000002,0.0,137488.0,14.0 +0.00015577400000000002,0.0,137488.0,14.0 +0.00015445400000000002,0.0,137488.0,14.0 +0.000145833,0.0,137488.0,14.0 +0.00015741,0.0,137488.0,14.0 +0.000154789,0.0,137488.0,14.0 +0.00016419200000000002,0.0,137488.0,14.0 +0.000156026,0.0,137488.0,14.0 +0.000157226,0.0,137488.0,14.0 +0.00016165300000000002,0.0,137488.0,14.0 +0.000156369,0.0,137488.0,14.0 +0.00015452,0.0,137488.0,14.0 +0.000151688,0.0,137488.0,14.0 +0.000153463,0.0,137488.0,14.0 +0.00015516300000000002,0.0,137488.0,14.0 +0.00015382000000000001,0.0,137488.0,14.0 +0.000152239,0.0,137488.0,14.0 +0.000157255,0.0,137488.0,14.0 +0.000162296,0.0,137488.0,14.0 +0.000161509,0.0,137488.0,14.0 +0.000167515,0.0,137488.0,14.0 +0.00015214200000000002,0.0,137488.0,14.0 +0.00015060800000000002,0.0,137488.0,14.0 +0.00015064600000000002,0.0,137488.0,14.0 +0.000152079,0.0,137488.0,14.0 +0.000151428,0.0,137488.0,14.0 +0.00015632300000000001,0.0,137488.0,14.0 +0.000157925,0.0,137488.0,14.0 +0.00015296300000000002,0.0,137488.0,14.0 +0.000152106,0.0,137488.0,14.0 +0.00015059,0.0,137488.0,14.0 +0.000152644,0.0,137488.0,14.0 +0.00015312300000000002,0.0,137488.0,14.0 +0.000155945,0.0,137488.0,14.0 +0.000158671,0.0,137488.0,14.0 +0.000159762,0.0,137488.0,14.0 +0.000158911,0.0,137488.0,14.0 +0.000151322,0.0,137488.0,14.0 +0.000153888,0.0,137488.0,14.0 +0.000160642,0.0,137488.0,14.0 +0.00014887600000000002,0.0,137488.0,14.0 +0.000154401,0.0,137488.0,14.0 +0.00015353300000000002,0.0,137488.0,14.0 +0.000155673,0.0,137488.0,14.0 +0.000153871,0.0,137488.0,14.0 +0.000161867,0.0,137488.0,14.0 +0.00017286000000000002,0.0,137488.0,14.0 +0.000155405,0.0,137488.0,14.0 +0.000150225,0.0,137488.0,14.0 +0.000163465,0.0,137488.0,14.0 +0.00015491500000000002,0.0,137488.0,14.0 +0.00015866800000000002,0.0,137488.0,14.0 +0.000150218,0.0,137488.0,14.0 +0.000152525,0.0,137488.0,14.0 +0.000153081,0.0,137488.0,14.0 +0.00015272700000000002,0.0,137488.0,14.0 +0.000154739,0.0,137488.0,14.0 +0.000155797,0.0,137488.0,14.0 +0.000163181,0.0,137488.0,14.0 +0.000149836,0.0,137488.0,14.0 +0.000150344,0.0,137488.0,14.0 +0.000161242,0.0,137488.0,14.0 +0.00015661,0.0,137488.0,14.0 +0.000151294,0.0,137488.0,14.0 +0.00015099900000000002,0.0,137488.0,14.0 +0.00015601500000000002,0.0,137488.0,14.0 +0.000151416,0.0,137488.0,14.0 +0.000159929,0.0,137488.0,14.0 +0.000153005,0.0,137488.0,14.0 +0.00015518000000000002,0.0,137488.0,14.0 +0.00016481000000000002,0.0,137488.0,14.0 +0.000167663,0.0,137488.0,14.0 +0.00015561,0.0,137488.0,14.0 +0.00014609,0.0,137488.0,14.0 +0.000155228,0.0,137488.0,14.0 +0.00015557600000000002,0.0,137488.0,14.0 +0.000148781,0.0,137488.0,14.0 +0.00015762500000000002,0.0,137488.0,14.0 +0.000152676,0.0,137488.0,14.0 +0.000156102,0.0,137488.0,14.0 +0.00016207500000000002,0.0,137488.0,14.0 +0.000158882,0.0,137488.0,14.0 +0.000155224,0.0,137488.0,14.0 +0.00016360700000000002,0.0,137488.0,14.0 +0.000158719,0.0,137488.0,14.0 +0.000159123,0.0,137488.0,14.0 +0.000160027,0.0,137488.0,14.0 +0.000153034,0.0,137488.0,14.0 +0.00015479,0.0,137488.0,14.0 +0.000150684,0.0,137488.0,14.0 +0.00016164,0.0,137488.0,14.0 +0.000155627,0.0,137488.0,14.0 +0.00015899300000000001,0.0,137488.0,14.0 +0.000152821,0.0,137488.0,14.0 +0.00015053,0.0,137488.0,14.0 +0.00016846800000000001,0.0,137488.0,14.0 +0.00017202500000000002,0.0,137488.0,14.0 +0.00015373100000000002,0.0,137488.0,14.0 +0.00016115000000000001,0.0,137488.0,14.0 +0.00016718900000000001,0.0,137488.0,14.0 +0.000162406,0.0,137488.0,14.0 +0.000160858,0.0,137488.0,14.0 +0.000156853,0.0,137488.0,14.0 +0.00015361200000000002,0.0,137488.0,14.0 +0.000151605,0.0,137488.0,14.0 +0.00015583600000000002,0.0,137488.0,14.0 +0.00014995,0.0,137488.0,14.0 +0.00015832000000000002,0.0,137488.0,14.0 +0.000166049,0.0,137488.0,14.0 +0.000168412,0.0,137488.0,14.0 +0.00015307500000000002,0.0,137488.0,14.0 +0.000158534,0.0,137488.0,14.0 +0.00015992800000000002,0.0,137488.0,14.0 +0.00015309900000000002,0.0,137488.0,14.0 +0.000156935,0.0,137488.0,14.0 +0.000151631,0.0,137488.0,14.0 +0.00015548300000000002,0.0,137488.0,14.0 +0.00014953900000000002,0.0,137488.0,14.0 +0.00015538500000000002,0.0,137488.0,14.0 +0.00015694,0.0,137488.0,14.0 +0.00015778500000000002,0.0,137488.0,14.0 +0.00015753200000000002,0.0,137488.0,14.0 +0.000172048,0.0,137488.0,14.0 +0.000162267,0.0,137488.0,14.0 +0.00016090900000000001,0.0,137488.0,14.0 +0.00016895200000000002,0.0,137488.0,14.0 +0.000152501,0.0,137488.0,14.0 +0.000166804,0.0,137488.0,14.0 +0.000151688,0.0,137488.0,14.0 +0.00015108,0.0,137488.0,14.0 +0.00016497000000000001,0.0,137488.0,14.0 +0.000152532,0.0,137488.0,14.0 +0.000173777,0.0,137488.0,14.0 +0.00015950300000000002,0.0,137488.0,14.0 +0.000160829,0.0,137488.0,14.0 +0.000150461,0.0,137488.0,14.0 +0.00016782800000000002,0.0,137488.0,14.0 +0.00015024,0.0,137488.0,14.0 +0.00015666600000000002,0.0,137488.0,14.0 +0.000151771,0.0,137488.0,14.0 +0.00015028600000000002,0.0,137488.0,14.0 +0.000160161,0.0,137488.0,14.0 +0.000147488,0.0,137488.0,14.0 +0.000155825,0.0,137488.0,14.0 +0.000158056,0.0,137488.0,14.0 +0.000153856,0.0,137488.0,14.0 +0.000157879,0.0,137488.0,14.0 +0.000168626,0.0,137488.0,14.0 +0.000156439,0.0,137488.0,14.0 +0.00015977300000000002,0.0,137488.0,14.0 +0.000160573,0.0,137488.0,14.0 +0.00015569000000000002,0.0,137488.0,14.0 +0.000151292,0.0,137488.0,14.0 +0.000156379,0.0,137488.0,14.0 +0.00014557800000000002,0.0,137488.0,14.0 +0.000158049,0.0,137488.0,14.0 +0.00016076500000000002,0.0,137488.0,14.0 +0.000155519,0.0,137488.0,14.0 +0.000159103,0.0,137488.0,14.0 +0.000152903,0.0,137488.0,14.0 +0.00015012,0.0,137488.0,14.0 +0.000161483,0.0,137488.0,14.0 +0.00015138,0.0,137488.0,14.0 +0.000160945,0.0,137488.0,14.0 +0.000160869,0.0,137488.0,14.0 +0.00015212800000000002,0.0,137488.0,14.0 +0.000161156,0.0,137488.0,14.0 +0.000154952,0.0,137488.0,14.0 +0.00015157400000000002,0.0,137488.0,14.0 +0.00016157,0.0,137488.0,14.0 +0.000164227,0.0,137488.0,14.0 +0.00015710300000000002,0.0,137488.0,14.0 +0.00017459500000000002,0.0,137488.0,14.0 +0.00015686,0.0,137488.0,14.0 +0.00015937900000000002,0.0,137488.0,14.0 +0.000170981,0.0,137488.0,14.0 +0.000157825,0.0,137488.0,14.0 +0.000170024,0.0,137488.0,14.0 +0.000150223,0.0,137488.0,14.0 +0.000153007,0.0,137488.0,14.0 +0.000161613,0.0,137488.0,14.0 +0.000146216,0.0,137488.0,14.0 +0.00015980900000000001,0.0,137488.0,14.0 +0.00015153600000000002,0.0,137488.0,14.0 +0.000148068,0.0,137488.0,14.0 +0.00017080100000000002,0.0,137488.0,14.0 +0.00015153600000000002,0.0,137488.0,14.0 +0.000149485,0.0,137488.0,14.0 +0.000156074,0.0,137488.0,14.0 +0.00015795200000000002,0.0,137488.0,14.0 +0.000155221,0.0,137488.0,14.0 +0.000154942,0.0,137488.0,14.0 +0.000152905,0.0,137488.0,14.0 +0.00015782,0.0,137488.0,14.0 +0.000154537,0.0,137488.0,14.0 +0.00015247,0.0,137488.0,14.0 +0.000150908,0.0,137488.0,14.0 +0.00017376200000000002,0.0,137488.0,14.0 +0.000163859,0.0,137488.0,14.0 +0.00014757,0.0,137488.0,14.0 +0.000157379,0.0,137488.0,14.0 +0.00015365000000000002,0.0,137488.0,14.0 +0.00015461200000000002,0.0,137488.0,14.0 +0.000164727,0.0,137488.0,14.0 +0.000155247,0.0,137488.0,14.0 +0.000166341,0.0,137488.0,14.0 +0.000151998,0.0,137488.0,14.0 +0.000146927,0.0,137488.0,14.0 +0.000158137,0.0,137488.0,14.0 +0.000152921,0.0,137488.0,14.0 +0.00015772300000000002,0.0,137488.0,14.0 +0.000163485,0.0,137488.0,14.0 +0.00014947200000000002,0.0,137488.0,14.0 +0.000155723,0.0,137488.0,14.0 +0.00015088500000000002,0.0,137488.0,14.0 +0.000148598,0.0,137488.0,14.0 +0.000166417,0.0,137488.0,14.0 +0.00015410800000000002,0.0,137488.0,14.0 +0.000160166,0.0,137488.0,14.0 +0.000163121,0.0,137488.0,14.0 +0.000150268,0.0,137488.0,14.0 +0.000154427,0.0,137488.0,14.0 +0.00015603900000000001,0.0,137488.0,14.0 +0.000168691,0.0,137488.0,14.0 +0.000148948,0.0,137488.0,14.0 +0.00016172200000000002,0.0,137488.0,14.0 +0.000149531,0.0,137488.0,14.0 +0.000146818,0.0,137488.0,14.0 +0.000160177,0.0,137488.0,14.0 +0.000152516,0.0,137488.0,14.0 +0.000157038,0.0,137488.0,14.0 +0.000154943,0.0,137488.0,14.0 +0.000152163,0.0,137488.0,14.0 +0.00015514900000000001,0.0,137488.0,14.0 +0.000151774,0.0,137488.0,14.0 +0.00015452100000000002,0.0,137488.0,14.0 +0.00015405800000000002,0.0,137488.0,14.0 +0.00015610300000000002,0.0,137488.0,14.0 +0.000155388,0.0,137488.0,14.0 +0.00015650200000000001,0.0,137488.0,14.0 +0.00016302300000000001,0.0,137488.0,14.0 +0.00015954100000000002,0.0,137488.0,14.0 +0.000150044,0.0,137488.0,14.0 +0.000153322,0.0,137488.0,14.0 +0.000158356,0.0,137488.0,14.0 +0.000153794,0.0,137488.0,14.0 +0.000150893,0.0,137488.0,14.0 +0.000154765,0.0,137488.0,14.0 +0.00016184900000000002,0.0,137488.0,14.0 +0.000163701,0.0,137488.0,14.0 +0.000149822,0.0,137488.0,14.0 +0.00014961100000000001,0.0,137488.0,14.0 +0.000159387,0.0,137488.0,14.0 +0.000149282,0.0,137488.0,14.0 +0.000154057,0.0,137488.0,14.0 +0.000155666,0.0,137488.0,14.0 +0.000151213,0.0,137488.0,14.0 +0.000164611,0.0,137488.0,14.0 +0.000151072,0.0,137488.0,14.0 +0.00015441,0.0,137488.0,14.0 +0.00015717700000000002,0.0,137488.0,14.0 +0.000148956,0.0,137488.0,14.0 +0.000155539,0.0,137488.0,14.0 +0.00015531300000000002,0.0,137488.0,14.0 +0.000152205,0.0,137488.0,14.0 +0.000158342,0.0,137488.0,14.0 +0.000151657,0.0,137488.0,14.0 +0.000150518,0.0,137488.0,14.0 +0.00016270500000000002,0.0,137488.0,14.0 +0.000151561,0.0,137488.0,14.0 +0.000156143,0.0,137488.0,14.0 +0.000152125,0.0,137488.0,14.0 +0.000147626,0.0,137488.0,14.0 +0.000159459,0.0,137488.0,14.0 +0.000158529,0.0,137488.0,14.0 +0.000157877,0.0,137488.0,14.0 +0.000158789,0.0,137488.0,14.0 +0.000147703,0.0,137488.0,14.0 +0.00017235900000000002,0.0,137488.0,14.0 +0.000162638,0.0,137488.0,14.0 +0.000149306,0.0,137488.0,14.0 +0.00016326400000000001,0.0,137488.0,14.0 +0.00015012600000000002,0.0,137488.0,14.0 +0.000153676,0.0,137488.0,14.0 +0.000156662,0.0,137488.0,14.0 +0.00015126200000000002,0.0,137488.0,14.0 +0.000152971,0.0,137488.0,14.0 +0.000156765,0.0,137488.0,14.0 +0.000153842,0.0,137488.0,14.0 +0.000159153,0.0,137488.0,14.0 +0.000148285,0.0,137488.0,14.0 +0.000155422,0.0,137488.0,14.0 +0.00015814600000000001,0.0,137488.0,14.0 +0.00015353100000000002,0.0,137488.0,14.0 +0.000154085,0.0,137488.0,14.0 +0.00015196,0.0,137488.0,14.0 +0.00015037,0.0,137488.0,14.0 +0.00015854400000000002,0.0,137488.0,14.0 +0.000147758,0.0,137488.0,14.0 +0.000157104,0.0,137488.0,14.0 +0.0001743,0.0,137488.0,14.0 +0.000149629,0.0,137488.0,14.0 +0.000158412,0.0,137488.0,14.0 +0.00016507000000000002,0.0,137488.0,14.0 +0.00014926200000000002,0.0,137488.0,14.0 +0.000162566,0.0,137488.0,14.0 +0.000153904,0.0,137488.0,14.0 +0.000151718,0.0,137488.0,14.0 +0.00016808300000000002,0.0,137488.0,14.0 +0.00015670000000000001,0.0,137488.0,14.0 +0.000160304,0.0,137488.0,14.0 +0.00015754200000000002,0.0,137488.0,14.0 +0.00015056300000000002,0.0,137488.0,14.0 +0.00015891,0.0,137488.0,14.0 +0.000153491,0.0,137488.0,14.0 +0.00016290300000000002,0.0,137488.0,14.0 +0.000159478,0.0,137488.0,14.0 +0.00015245700000000002,0.0,137488.0,14.0 +0.00015801200000000002,0.0,137488.0,14.0 +0.000157934,0.0,137488.0,14.0 +0.000152074,0.0,137488.0,14.0 +0.00016282000000000002,0.0,137488.0,14.0 +0.008518482,0.962671870410714,137488.0,14.0 +0.000182795,0.0,137488.0,14.0 +0.00015179600000000002,0.0,137488.0,14.0 +0.000153441,0.0,137488.0,14.0 +0.000163436,0.0,137488.0,14.0 +0.00015442600000000002,0.0,137488.0,14.0 +0.000155815,0.0,137488.0,14.0 +0.00016509400000000002,0.0,137488.0,14.0 +0.00016053600000000002,0.0,137488.0,14.0 +0.000154343,0.0,137488.0,14.0 +0.000168266,0.0,137488.0,14.0 +0.00015509400000000002,0.0,137488.0,14.0 +0.000152026,0.0,137488.0,14.0 +0.00014848000000000001,0.0,137488.0,14.0 +0.000154399,0.0,137488.0,14.0 +0.00015568300000000002,0.0,137488.0,14.0 +0.000158994,0.0,137488.0,14.0 +0.00016567800000000002,0.0,137488.0,14.0 +0.000166562,0.0,137488.0,14.0 +0.00015062200000000002,0.0,137488.0,14.0 +0.000158583,0.0,137488.0,14.0 +0.00016460500000000001,0.0,137488.0,14.0 +0.000151278,0.0,137488.0,14.0 +0.00015069,0.0,137488.0,14.0 +0.000159235,0.0,137488.0,14.0 +0.000158567,0.0,137488.0,14.0 +0.000170702,0.0,137488.0,14.0 +0.00015415400000000002,0.0,137488.0,14.0 +0.000160046,0.0,137488.0,14.0 +0.00016974900000000002,0.0,137488.0,14.0 +0.000154263,0.0,137488.0,14.0 +0.000157042,0.0,137488.0,14.0 +0.000157035,0.0,137488.0,14.0 +0.00015539700000000002,0.0,137488.0,14.0 +0.000153788,0.0,137488.0,14.0 +0.000152864,0.0,137488.0,14.0 +0.000156556,0.0,137488.0,14.0 +0.000147865,0.0,137488.0,14.0 +0.000148577,0.0,137488.0,14.0 +0.000163062,0.0,137488.0,14.0 +0.000149588,0.0,137488.0,14.0 +0.00015798600000000002,0.0,137488.0,14.0 +0.000156804,0.0,137488.0,14.0 +0.00014967500000000002,0.0,137488.0,14.0 +0.000154253,0.0,137488.0,14.0 +0.000159927,0.0,137488.0,14.0 +0.0001565,0.0,137488.0,14.0 +0.00015772,0.0,137488.0,14.0 +0.00015848000000000001,0.0,137488.0,14.0 +0.000148545,0.0,137488.0,14.0 +0.000150494,0.0,137488.0,14.0 +0.000161762,0.0,137488.0,14.0 +0.000156553,0.0,137488.0,14.0 +0.000150282,0.0,137488.0,14.0 +0.000158869,0.0,137488.0,14.0 +0.000161721,0.0,137488.0,14.0 +0.000156786,0.0,137488.0,14.0 +0.00015484600000000001,0.0,137488.0,14.0 +0.000152601,0.0,137488.0,14.0 +0.000151518,0.0,137488.0,14.0 +0.00016125500000000001,0.0,137488.0,14.0 +0.00015192500000000002,0.0,137488.0,14.0 +0.000156321,0.0,137488.0,14.0 +0.00014852300000000001,0.0,137488.0,14.0 +0.00015436100000000002,0.0,137488.0,14.0 +0.000154987,0.0,137488.0,14.0 +0.00015479800000000002,0.0,137488.0,14.0 +0.00015526,0.0,137488.0,14.0 +0.000152256,0.0,137488.0,14.0 +0.00016212,0.0,137488.0,14.0 +0.000155153,0.0,137488.0,14.0 +0.000160643,0.0,137488.0,14.0 +0.00015973000000000002,0.0,137488.0,14.0 +0.00015896600000000002,0.0,137488.0,14.0 +0.000154714,0.0,137488.0,14.0 +0.000160247,0.0,137488.0,14.0 +0.000151912,0.0,137488.0,14.0 +0.000169886,0.0,137488.0,14.0 +0.000153497,0.0,137488.0,14.0 +0.000153589,0.0,137488.0,14.0 +0.00015616300000000002,0.0,137488.0,14.0 +0.000161879,0.0,137488.0,14.0 +0.00015421600000000002,0.0,137488.0,14.0 +0.00014908300000000002,0.0,137488.0,14.0 +0.00015392200000000002,0.0,137488.0,14.0 +0.000157094,0.0,137488.0,14.0 +0.000151699,0.0,137488.0,14.0 +0.00015332100000000002,0.0,137488.0,14.0 +0.000155363,0.0,137488.0,14.0 +0.000147899,0.0,137488.0,14.0 +0.00015328300000000002,0.0,137488.0,14.0 +0.00015871600000000002,0.0,137488.0,14.0 +0.00015542300000000002,0.0,137488.0,14.0 +0.000151667,0.0,137488.0,14.0 +0.00016029300000000002,0.0,137488.0,14.0 +0.000156488,0.0,137488.0,14.0 +0.00016252,0.0,137488.0,14.0 +0.00016111600000000002,0.0,137488.0,14.0 +0.00016214000000000002,0.0,137488.0,14.0 +0.00015290600000000002,0.0,137488.0,14.0 +0.000147572,0.0,137488.0,14.0 +0.000157262,0.0,137488.0,14.0 +0.00017238100000000002,0.0,137488.0,14.0 +0.000157101,0.0,137488.0,14.0 +0.000154506,0.0,137488.0,14.0 +0.000157138,0.0,137488.0,14.0 +0.000158042,0.0,137488.0,14.0 +0.00016163400000000002,0.0,137488.0,14.0 +0.000164747,0.0,137488.0,14.0 +0.000152578,0.0,137488.0,14.0 +0.00015437100000000002,0.0,137488.0,14.0 +0.000162379,0.0,137488.0,14.0 +0.00016100600000000002,0.0,137488.0,14.0 +0.000149951,0.0,137488.0,14.0 +0.000153026,0.0,137488.0,14.0 +0.000154804,0.0,137488.0,14.0 +0.000152169,0.0,137488.0,14.0 +0.000155894,0.0,137488.0,14.0 +0.000158614,0.0,137488.0,14.0 +0.000160846,0.0,137488.0,14.0 +0.000169411,0.0,137488.0,14.0 +0.00015545,0.0,137488.0,14.0 +0.000153072,0.0,137488.0,14.0 +0.00015482200000000002,0.0,137488.0,14.0 +0.000157435,0.0,137488.0,14.0 +0.000155801,0.0,137488.0,14.0 +0.000154665,0.0,137488.0,14.0 +0.00016754,0.0,137488.0,14.0 +0.000158099,0.0,137488.0,14.0 +0.00014918800000000002,0.0,137488.0,14.0 +0.000153797,0.0,137488.0,14.0 +0.000153306,0.0,137488.0,14.0 +0.000151473,0.0,137488.0,14.0 +0.000161225,0.0,137488.0,14.0 +0.00014993300000000002,0.0,137488.0,14.0 +0.000160268,0.0,137488.0,14.0 +0.000166503,0.0,137488.0,14.0 +0.00015395100000000002,0.0,137488.0,14.0 +0.000155278,0.0,137488.0,14.0 +0.00015355500000000002,0.0,137488.0,14.0 +0.000156273,0.0,137488.0,14.0 +0.00015886100000000002,0.0,137488.0,14.0 +0.00016796,0.0,137488.0,14.0 +0.000164775,0.0,137488.0,14.0 +0.000149118,0.0,137488.0,14.0 +0.000161978,0.0,137488.0,14.0 +0.000147259,0.0,137488.0,14.0 +0.00015954600000000002,0.0,137488.0,14.0 +0.00015315400000000002,0.0,137488.0,14.0 +0.000155129,0.0,137488.0,14.0 +0.00015957000000000002,0.0,137488.0,14.0 +0.00014939,0.0,137488.0,14.0 +0.000160469,0.0,137488.0,14.0 +0.00016747700000000002,0.0,137488.0,14.0 +0.00015224500000000002,0.0,137488.0,14.0 +0.000157416,0.0,137488.0,14.0 +0.000156095,0.0,137488.0,14.0 +0.00015819100000000002,0.0,137488.0,14.0 +0.000148263,0.0,137488.0,14.0 +0.000166777,0.0,137488.0,14.0 +0.000155102,0.0,137488.0,14.0 +0.00014893,0.0,137488.0,14.0 +0.00015787100000000002,0.0,137488.0,14.0 +0.000148359,0.0,137488.0,14.0 +0.000151667,0.0,137488.0,14.0 +0.000158354,0.0,137488.0,14.0 +0.000148645,0.0,137488.0,14.0 +0.00016182700000000002,0.0,137488.0,14.0 +0.000154498,0.0,137488.0,14.0 +0.00014754200000000002,0.0,137488.0,14.0 +0.000156155,0.0,137488.0,14.0 +0.000153766,0.0,137488.0,14.0 +0.000154623,0.0,137488.0,14.0 +0.000154181,0.0,137488.0,14.0 +0.000152709,0.0,137488.0,14.0 +0.000155415,0.0,137488.0,14.0 +0.00015414,0.0,137488.0,14.0 +0.00015002100000000002,0.0,137488.0,14.0 +0.000169776,0.0,137488.0,14.0 +0.000166081,0.0,137488.0,14.0 +0.00015473,0.0,137488.0,14.0 +0.000153874,0.0,137488.0,14.0 +0.000159036,0.0,137488.0,14.0 +0.000155352,0.0,137488.0,14.0 +0.00015011,0.0,137488.0,14.0 +0.000152747,0.0,137488.0,14.0 +0.00015818100000000002,0.0,137488.0,14.0 +0.00015644400000000002,0.0,137488.0,14.0 +0.00015202800000000002,0.0,137488.0,14.0 +0.00015754400000000002,0.0,137488.0,14.0 +0.000152409,0.0,137488.0,14.0 +0.00016968400000000002,0.0,137488.0,14.0 +0.00015156000000000002,0.0,137488.0,14.0 +0.000151516,0.0,137488.0,14.0 +0.00015925000000000002,0.0,137488.0,14.0 +0.00014823,0.0,137488.0,14.0 +0.000158065,0.0,137488.0,14.0 +0.00015746,0.0,137488.0,14.0 +0.000150295,0.0,137488.0,14.0 +0.00015360000000000002,0.0,137488.0,14.0 +0.000164679,0.0,137488.0,14.0 +0.000152986,0.0,137488.0,14.0 +0.00016010700000000002,0.0,137488.0,14.0 +0.00015135500000000002,0.0,137488.0,14.0 +0.000170039,0.0,137488.0,14.0 +0.000155932,0.0,137488.0,14.0 +0.00015734900000000001,0.0,137488.0,14.0 +0.00015695500000000002,0.0,137488.0,14.0 +0.00014926700000000002,0.0,137488.0,14.0 +0.00017088200000000002,0.0,137488.0,14.0 +0.000155312,0.0,137488.0,14.0 +0.00015320400000000002,0.0,137488.0,14.0 +0.00016766600000000002,0.0,137488.0,14.0 +0.00014766,0.0,137488.0,14.0 +0.000151471,0.0,137488.0,14.0 +0.00015662800000000002,0.0,137488.0,14.0 +0.000146569,0.0,137488.0,14.0 +0.000160332,0.0,137488.0,14.0 +0.000153015,0.0,137488.0,14.0 +0.000149411,0.0,137488.0,14.0 +0.000157953,0.0,137488.0,14.0 +0.00015548000000000002,0.0,137488.0,14.0 +0.000156956,0.0,137488.0,14.0 +0.000161664,0.0,137488.0,14.0 +0.000152793,0.0,137488.0,14.0 +0.000163671,0.0,137488.0,14.0 +0.00014952500000000002,0.0,137488.0,14.0 +0.000156884,0.0,137488.0,14.0 +0.000149459,0.0,137488.0,14.0 +0.00016917100000000002,0.0,137488.0,14.0 +0.000166121,0.0,137488.0,14.0 +0.00016188200000000002,0.0,137488.0,14.0 +0.00015642,0.0,137488.0,14.0 +0.000150827,0.0,137488.0,14.0 +0.000156409,0.0,137488.0,14.0 +0.000152201,0.0,137488.0,14.0 +0.000157997,0.0,137488.0,14.0 +0.000157223,0.0,137488.0,14.0 +0.000148982,0.0,137488.0,14.0 +0.00015579500000000002,0.0,137488.0,14.0 +0.00015417300000000002,0.0,137488.0,14.0 +0.00014781900000000002,0.0,137488.0,14.0 +0.00016299,0.0,137488.0,14.0 +0.000190186,0.0,137488.0,14.0 +0.000150719,0.0,137488.0,14.0 +0.000159183,0.0,137488.0,14.0 +0.00015088500000000002,0.0,137488.0,14.0 +0.00015369300000000002,0.0,137488.0,14.0 +0.00015649900000000002,0.0,137488.0,14.0 +0.000151709,0.0,137488.0,14.0 +0.000157686,0.0,137488.0,14.0 +0.00014901200000000002,0.0,137488.0,14.0 +0.000152287,0.0,137488.0,14.0 +0.000162742,0.0,137488.0,14.0 +0.000150922,0.0,137488.0,14.0 +0.000168665,0.0,137488.0,14.0 +0.000159215,0.0,137488.0,14.0 +0.000151244,0.0,137488.0,14.0 +0.00016527500000000002,0.0,137488.0,14.0 +0.000152409,0.0,137488.0,14.0 +0.000150786,0.0,137488.0,14.0 +0.000158173,0.0,137488.0,14.0 +0.000150652,0.0,137488.0,14.0 +0.000155565,0.0,137488.0,14.0 +0.00015686900000000002,0.0,137488.0,14.0 +0.000152759,0.0,137488.0,14.0 +0.00015697400000000002,0.0,137488.0,14.0 +0.000149802,0.0,137488.0,14.0 +0.000147918,0.0,137488.0,14.0 +0.000157269,0.0,137488.0,14.0 +0.00014959200000000001,0.0,137488.0,14.0 +0.00015447600000000002,0.0,137488.0,14.0 +0.00015322,0.0,137488.0,14.0 +0.000152718,0.0,137488.0,14.0 +0.000160392,0.0,137488.0,14.0 +0.00015283900000000002,0.0,137488.0,14.0 +0.00015102300000000002,0.0,137488.0,14.0 +0.00015874200000000002,0.0,137488.0,14.0 +0.00014744400000000002,0.0,137488.0,14.0 +0.00016142400000000002,0.0,137488.0,14.0 +0.00016525800000000002,0.0,137488.0,14.0 +0.000152683,0.0,137488.0,14.0 +0.000160857,0.0,137488.0,14.0 +0.00014923400000000001,0.0,137488.0,14.0 +0.000152631,0.0,137488.0,14.0 +0.00016080100000000002,0.0,137488.0,14.0 +0.000148145,0.0,137488.0,14.0 +0.000158913,0.0,137488.0,14.0 +0.000151509,0.0,137488.0,14.0 +0.00016239500000000002,0.0,137488.0,14.0 +0.000157505,0.0,137488.0,14.0 +0.00014984000000000002,0.0,137488.0,14.0 +0.00015413000000000002,0.0,137488.0,14.0 +0.00015578100000000002,0.0,137488.0,14.0 +0.000151984,0.0,137488.0,14.0 +0.000159523,0.0,137488.0,14.0 +0.000153955,0.0,137488.0,14.0 +0.000152687,0.0,137488.0,14.0 +0.000160285,0.0,137488.0,14.0 +0.000146613,0.0,137488.0,14.0 +0.000155288,0.0,137488.0,14.0 +0.000157887,0.0,137488.0,14.0 +0.00015174400000000002,0.0,137488.0,14.0 +0.00015489600000000002,0.0,137488.0,14.0 +0.00015993500000000002,0.0,137488.0,14.0 +0.000147682,0.0,137488.0,14.0 +0.000172122,0.0,137488.0,14.0 +0.000151741,0.0,137488.0,14.0 +0.00015615,0.0,137488.0,14.0 +0.00016224000000000002,0.0,137488.0,14.0 +0.000148268,0.0,137488.0,14.0 +0.00015615800000000002,0.0,137488.0,14.0 +0.00015555,0.0,137488.0,14.0 +0.00015059400000000002,0.0,137488.0,14.0 +0.000160943,0.0,137488.0,14.0 +0.000146904,0.0,137488.0,14.0 +0.000154219,0.0,137488.0,14.0 +0.00016080800000000002,0.0,137488.0,14.0 +0.00014735800000000002,0.0,137488.0,14.0 +0.000154171,0.0,137488.0,14.0 +0.000151668,0.0,137488.0,14.0 +0.00014781900000000002,0.0,137488.0,14.0 +0.00016164100000000002,0.0,137488.0,14.0 +0.00015431400000000001,0.0,137488.0,14.0 +0.00015588400000000001,0.0,137488.0,14.0 +0.000162941,0.0,137488.0,14.0 +0.000147009,0.0,137488.0,14.0 +0.000154887,0.0,137488.0,14.0 +0.00015534000000000001,0.0,137488.0,14.0 +0.000148639,0.0,137488.0,14.0 +0.0001563,0.0,137488.0,14.0 +0.000158505,0.0,137488.0,14.0 +0.0016710030000000001,0.8185544849410803,137488.0,14.0 +0.00016829100000000002,0.0,137488.0,14.0 +0.000161093,0.0,137488.0,14.0 +0.00016539200000000002,0.0,137488.0,14.0 +0.000169633,0.0,137488.0,14.0 +0.000167281,0.0,137488.0,14.0 +0.00016692,0.0,137488.0,14.0 +0.000165068,0.0,137488.0,14.0 +0.00016148,0.0,137488.0,14.0 +0.000176073,0.0,137488.0,14.0 +0.00016138600000000002,0.0,137488.0,14.0 +0.000165262,0.0,137488.0,14.0 +0.000163245,0.0,137488.0,14.0 +0.000160951,0.0,137488.0,14.0 +0.000164604,0.0,137488.0,14.0 +0.000186469,0.0,137488.0,14.0 +0.00016490300000000002,0.0,137488.0,14.0 +0.00015974400000000002,0.0,137488.0,14.0 +0.00015925500000000002,0.0,137488.0,14.0 +0.000166915,0.0,137488.0,14.0 +0.00016784200000000002,0.0,137488.0,14.0 +0.000159951,0.0,137488.0,14.0 +0.000162683,0.0,137488.0,14.0 +0.00016912400000000002,0.0,137488.0,14.0 +0.000162642,0.0,137488.0,14.0 +0.000161044,0.0,137488.0,14.0 +0.000166794,0.0,137488.0,14.0 +0.000166211,0.0,137488.0,14.0 +0.000170533,0.0,137488.0,14.0 +0.000172167,0.0,137488.0,14.0 +0.000163021,0.0,137488.0,14.0 +0.00016487200000000002,0.0,137488.0,14.0 +0.00016217,0.0,137488.0,14.0 +0.000161991,0.0,137488.0,14.0 +0.00016032200000000001,0.0,137488.0,14.0 +0.000160135,0.0,137488.0,14.0 +0.000164283,0.0,137488.0,14.0 +0.000162219,0.0,137488.0,14.0 +0.0001633,0.0,137488.0,14.0 +0.00018426600000000001,0.0,137488.0,14.0 +0.000164005,0.0,137488.0,14.0 +0.000166643,0.0,137488.0,14.0 +0.00016143600000000002,0.0,137488.0,14.0 +0.000166866,0.0,137488.0,14.0 +0.00016151200000000002,0.0,137488.0,14.0 +0.00016329900000000002,0.0,137488.0,14.0 +0.00016489800000000002,0.0,137488.0,14.0 +0.000165111,0.0,137488.0,14.0 +0.00016173400000000002,0.0,137488.0,14.0 +0.000162172,0.0,137488.0,14.0 +0.00015926000000000002,0.0,137488.0,14.0 +0.000161769,0.0,137488.0,14.0 +0.000163969,0.0,137488.0,14.0 +0.000160473,0.0,137488.0,14.0 +0.00016268400000000002,0.0,137488.0,14.0 +0.00016500800000000002,0.0,137488.0,14.0 +0.000158882,0.0,137488.0,14.0 +0.00015934800000000002,0.0,137488.0,14.0 +0.000160605,0.0,137488.0,14.0 +0.000171819,0.0,137488.0,14.0 +0.000163966,0.0,137488.0,14.0 +0.000167602,0.0,137488.0,14.0 +0.000161969,0.0,137488.0,14.0 +0.00017536300000000002,0.0,137488.0,14.0 +0.00015840300000000002,0.0,137488.0,14.0 +0.00015752000000000002,0.0,137488.0,14.0 +0.000154399,0.0,137488.0,14.0 +0.000155117,0.0,137488.0,14.0 +0.000161563,0.0,137488.0,14.0 +0.000155178,0.0,137488.0,14.0 +0.000148578,0.0,137488.0,14.0 +0.000158492,0.0,137488.0,14.0 +0.000152577,0.0,137488.0,14.0 +0.000170031,0.0,137488.0,14.0 +0.000158853,0.0,137488.0,14.0 +0.00015134800000000002,0.0,137488.0,14.0 +0.00015205400000000002,0.0,137488.0,14.0 +0.00016253800000000002,0.0,137488.0,14.0 +0.000154303,0.0,137488.0,14.0 +0.000156374,0.0,137488.0,14.0 +0.000160785,0.0,137488.0,14.0 +0.000158514,0.0,137488.0,14.0 +0.000161203,0.0,137488.0,14.0 +0.000161955,0.0,137488.0,14.0 +0.00015340000000000002,0.0,137488.0,14.0 +0.000161823,0.0,137488.0,14.0 +0.00015125500000000001,0.0,137488.0,14.0 +0.000157073,0.0,137488.0,14.0 +0.000168207,0.0,137488.0,14.0 +0.000158054,0.0,137488.0,14.0 +0.00016163200000000001,0.0,137488.0,14.0 +0.00015938400000000002,0.0,137488.0,14.0 +0.000160614,0.0,137488.0,14.0 +0.00016838200000000002,0.0,137488.0,14.0 +0.000169418,0.0,137488.0,14.0 +0.00016084900000000002,0.0,137488.0,14.0 +0.00016425600000000002,0.0,137488.0,14.0 +0.00015538700000000002,0.0,137488.0,14.0 +0.00015596700000000002,0.0,137488.0,14.0 +0.000160545,0.0,137488.0,14.0 +0.00015734600000000002,0.0,137488.0,14.0 +0.000166636,0.0,137488.0,14.0 +0.00015845,0.0,137488.0,14.0 +0.00016451600000000002,0.0,137488.0,14.0 +0.000163131,0.0,137488.0,14.0 +0.000158065,0.0,137488.0,14.0 +0.00016104700000000002,0.0,137488.0,14.0 +0.00017440600000000002,0.0,137488.0,14.0 +0.000154811,0.0,137488.0,14.0 +0.000155259,0.0,137488.0,14.0 +0.000157436,0.0,137488.0,14.0 +0.00015745,0.0,137488.0,14.0 +0.00016475700000000002,0.0,137488.0,14.0 +0.00017458300000000002,0.0,137488.0,14.0 +0.0001508,0.0,137488.0,14.0 +0.000166014,0.0,137488.0,14.0 +0.000170893,0.0,137488.0,14.0 +0.000169194,0.0,137488.0,14.0 +0.000170005,0.0,137488.0,14.0 +0.000178295,0.0,137488.0,14.0 +0.000178306,0.0,137488.0,14.0 +0.000166572,0.0,137488.0,14.0 +0.00017372200000000001,0.0,137488.0,14.0 +0.000164344,0.0,137488.0,14.0 +0.00016380500000000002,0.0,137488.0,14.0 +0.000166295,0.0,137488.0,14.0 +0.00016643700000000002,0.0,137488.0,14.0 +0.000173348,0.0,137488.0,14.0 +0.00016685500000000001,0.0,137488.0,14.0 +0.00016351200000000002,0.0,137488.0,14.0 +0.000172986,0.0,137488.0,14.0 +0.000169375,0.0,137488.0,14.0 +0.000183759,0.0,137488.0,14.0 +0.00016826700000000002,0.0,137488.0,14.0 +0.00017332100000000002,0.0,137488.0,14.0 +0.00018008300000000002,0.0,137488.0,14.0 +0.000187046,0.0,137488.0,14.0 +0.000171527,0.0,137488.0,14.0 +0.000170719,0.0,137488.0,14.0 +0.00017072000000000002,0.0,137488.0,14.0 +0.00017252900000000001,0.0,137488.0,14.0 +0.000173393,0.0,137488.0,14.0 +0.00017168400000000002,0.0,137488.0,14.0 +0.00016571200000000002,0.0,137488.0,14.0 +0.00017109700000000002,0.0,137488.0,14.0 +0.000184887,0.0,137488.0,14.0 +0.000164042,0.0,137488.0,14.0 +0.00016712,0.0,137488.0,14.0 +0.00016797400000000002,0.0,137488.0,14.0 +0.000178684,0.0,137488.0,14.0 +0.00016681900000000002,0.0,137488.0,14.0 +0.00015998800000000001,0.0,137488.0,14.0 +0.000166994,0.0,137488.0,14.0 +0.000163057,0.0,137488.0,14.0 +0.000168426,0.0,137488.0,14.0 +0.00017160300000000002,0.0,137488.0,14.0 +0.000168998,0.0,137488.0,14.0 +0.000164933,0.0,137488.0,14.0 +0.00016995,0.0,137488.0,14.0 +0.00018376900000000002,0.0,137488.0,14.0 +0.000170924,0.0,137488.0,14.0 +0.00016938900000000001,0.0,137488.0,14.0 +0.000161099,0.0,137488.0,14.0 +0.00015958900000000002,0.0,137488.0,14.0 +0.00016512500000000002,0.0,137488.0,14.0 +0.000158457,0.0,137488.0,14.0 +0.00015732500000000002,0.0,137488.0,14.0 +0.00016215900000000002,0.0,137488.0,14.0 +0.000157913,0.0,137488.0,14.0 +0.000167223,0.0,137488.0,14.0 +0.00015788800000000002,0.0,137488.0,14.0 +0.000155128,0.0,137488.0,14.0 +0.00016804500000000002,0.0,137488.0,14.0 +0.00016169100000000002,0.0,137488.0,14.0 +0.000165794,0.0,137488.0,14.0 +0.00016524900000000002,0.0,137488.0,14.0 +0.000161248,0.0,137488.0,14.0 +0.00016584100000000001,0.0,137488.0,14.0 +0.00016405600000000002,0.0,137488.0,14.0 +0.000162103,0.0,137488.0,14.0 +0.000163102,0.0,137488.0,14.0 +0.000161069,0.0,137488.0,14.0 +0.00015541600000000002,0.0,137488.0,14.0 +0.000173553,0.0,137488.0,14.0 +0.000174252,0.0,137488.0,14.0 +0.000161025,0.0,137488.0,14.0 +0.00015954600000000002,0.0,137488.0,14.0 +0.00015961300000000002,0.0,137488.0,14.0 +0.000166718,0.0,137488.0,14.0 +0.000167151,0.0,137488.0,14.0 +0.000160549,0.0,137488.0,14.0 +0.000175157,0.0,137488.0,14.0 +0.000160667,0.0,137488.0,14.0 +0.00015969200000000002,0.0,137488.0,14.0 +0.000167247,0.0,137488.0,14.0 +0.000154716,0.0,137488.0,14.0 +0.00016436800000000002,0.0,137488.0,14.0 +0.000163473,0.0,137488.0,14.0 +0.00015841300000000002,0.0,137488.0,14.0 +0.000169316,0.0,137488.0,14.0 +0.000174766,0.0,137488.0,14.0 +0.000162205,0.0,137488.0,14.0 +0.000175043,0.0,137488.0,14.0 +0.000155362,0.0,137488.0,14.0 +0.00016043600000000002,0.0,137488.0,14.0 +0.00016273400000000002,0.0,137488.0,14.0 +0.000167471,0.0,137488.0,14.0 +0.000158941,0.0,137488.0,14.0 +0.000182492,0.0,137488.0,14.0 +0.00016727900000000002,0.0,137488.0,14.0 +0.00016118100000000001,0.0,137488.0,14.0 +0.000164222,0.0,137488.0,14.0 +0.00015742000000000002,0.0,137488.0,14.0 +0.000162282,0.0,137488.0,14.0 +0.000160283,0.0,137488.0,14.0 +0.000160834,0.0,137488.0,14.0 +0.00017115,0.0,137488.0,14.0 +0.000161399,0.0,137488.0,14.0 +0.000156211,0.0,137488.0,14.0 +0.00016673500000000002,0.0,137488.0,14.0 +0.00016208500000000002,0.0,137488.0,14.0 +0.00016381700000000002,0.0,137488.0,14.0 +0.000163589,0.0,137488.0,14.0 +0.000163191,0.0,137488.0,14.0 +0.000164691,0.0,137488.0,14.0 +0.000156424,0.0,137488.0,14.0 +0.00015481700000000002,0.0,137488.0,14.0 +0.000173844,0.0,137488.0,14.0 +0.000160459,0.0,137488.0,14.0 +0.00016979400000000002,0.0,137488.0,14.0 +0.00016678500000000002,0.0,137488.0,14.0 +0.00015808,0.0,137488.0,14.0 +0.000183332,0.0,137488.0,14.0 +0.000158918,0.0,137488.0,14.0 +0.000155656,0.0,137488.0,14.0 +0.000167386,0.0,137488.0,14.0 +0.00016905500000000001,0.0,137488.0,14.0 +0.00016055800000000002,0.0,137488.0,14.0 +0.00016207300000000002,0.0,137488.0,14.0 +0.000161955,0.0,137488.0,14.0 +0.000162785,0.0,137488.0,14.0 +0.000161292,0.0,137488.0,14.0 +0.000162938,0.0,137488.0,14.0 +0.000158404,0.0,137488.0,14.0 +0.00015884500000000001,0.0,137488.0,14.0 +0.000158975,0.0,137488.0,14.0 +0.00016433500000000002,0.0,137488.0,14.0 +0.00015949100000000002,0.0,137488.0,14.0 +0.00016327,0.0,137488.0,14.0 +0.000155599,0.0,137488.0,14.0 +0.000160115,0.0,137488.0,14.0 +0.000163983,0.0,137488.0,14.0 +0.00016016900000000002,0.0,137488.0,14.0 +0.000159228,0.0,137488.0,14.0 +0.000168123,0.0,137488.0,14.0 +0.00016302300000000001,0.0,137488.0,14.0 +0.000166252,0.0,137488.0,14.0 +0.00018218700000000002,0.0,137488.0,14.0 +0.000161716,0.0,137488.0,14.0 +0.00016765900000000002,0.0,137488.0,14.0 +0.0001574,0.0,137488.0,14.0 +0.000162948,0.0,137488.0,14.0 +0.000161977,0.0,137488.0,14.0 +0.000158052,0.0,137488.0,14.0 +0.00016692,0.0,137488.0,14.0 +0.000161108,0.0,137488.0,14.0 +0.000162182,0.0,137488.0,14.0 +0.00016683,0.0,137488.0,14.0 +0.000159047,0.0,137488.0,14.0 +0.0001595,0.0,137488.0,14.0 +0.000164539,0.0,137488.0,14.0 +0.00015756800000000002,0.0,137488.0,14.0 +0.000159545,0.0,137488.0,14.0 +0.00015565000000000002,0.0,137488.0,14.0 +0.00015510100000000002,0.0,137488.0,14.0 +0.000170466,0.0,137488.0,14.0 +0.000158822,0.0,137488.0,14.0 +0.00016206600000000002,0.0,137488.0,14.0 +0.000161714,0.0,137488.0,14.0 +0.00015768000000000002,0.0,137488.0,14.0 +0.00016772300000000002,0.0,137488.0,14.0 +0.000169363,0.0,137488.0,14.0 +0.00016708100000000002,0.0,137488.0,14.0 +0.000163381,0.0,137488.0,14.0 +0.000158674,0.0,137488.0,14.0 +0.000161967,0.0,137488.0,14.0 +0.000159759,0.0,137488.0,14.0 +0.000156889,0.0,137488.0,14.0 +0.000170146,0.0,137488.0,14.0 +0.00016008100000000001,0.0,137488.0,14.0 +0.000159864,0.0,137488.0,14.0 +0.000169759,0.0,137488.0,14.0 +0.00015823600000000002,0.0,137488.0,14.0 +0.000165162,0.0,137488.0,14.0 +0.00016141700000000002,0.0,137488.0,14.0 +0.000160058,0.0,137488.0,14.0 +0.00016825500000000002,0.0,137488.0,14.0 +0.00016025000000000002,0.0,137488.0,14.0 +0.00015967500000000002,0.0,137488.0,14.0 +0.000170165,0.0,137488.0,14.0 +0.00015749900000000002,0.0,137488.0,14.0 +0.00016450000000000001,0.0,137488.0,14.0 +0.000163224,0.0,137488.0,14.0 +0.00016251900000000002,0.0,137488.0,14.0 +0.000173105,0.0,137488.0,14.0 +0.000156097,0.0,137488.0,14.0 +0.000171304,0.0,137488.0,14.0 +0.000171432,0.0,137488.0,14.0 +0.000161198,0.0,137488.0,14.0 +0.000162031,0.0,137488.0,14.0 +0.000163899,0.0,137488.0,14.0 +0.000168146,0.0,137488.0,14.0 +0.00016161000000000002,0.0,137488.0,14.0 +0.000165708,0.0,137488.0,14.0 +0.00017009000000000002,0.0,137488.0,14.0 +0.00015936700000000002,0.0,137488.0,14.0 +0.000166383,0.0,137488.0,14.0 +0.00016425400000000002,0.0,137488.0,14.0 +0.000165006,0.0,137488.0,14.0 +0.00016749900000000002,0.0,137488.0,14.0 +0.000157133,0.0,137488.0,14.0 +0.000167419,0.0,137488.0,14.0 +0.00016830300000000002,0.0,137488.0,14.0 +0.000160167,0.0,137488.0,14.0 +0.000166963,0.0,137488.0,14.0 +0.000161392,0.0,137488.0,14.0 +0.000161299,0.0,137488.0,14.0 +0.000165162,0.0,137488.0,14.0 +0.000161855,0.0,137488.0,14.0 +0.00016537500000000002,0.0,137488.0,14.0 +0.000187581,0.0,137488.0,14.0 +0.00024089300000000003,0.0,137488.0,14.0 +0.00029570400000000004,0.0,137488.0,14.0 +0.0016967210000000002,0.7924785512762558,137488.0,14.0 +0.000171497,0.0,137488.0,14.0 +0.00016698600000000002,0.0,137488.0,14.0 +0.00016325200000000002,0.0,137488.0,14.0 +0.00017301300000000002,0.0,137488.0,14.0 +0.00016236200000000002,0.0,137488.0,14.0 +0.00016307300000000002,0.0,137488.0,14.0 +0.000170643,0.0,137488.0,14.0 +0.000166123,0.0,137488.0,14.0 +0.000161563,0.0,137488.0,14.0 +0.00018829100000000002,0.0,137488.0,14.0 +0.000166352,0.0,137488.0,14.0 +0.00016300100000000002,0.0,137488.0,14.0 +0.000159215,0.0,137488.0,14.0 +0.00016548700000000002,0.0,137488.0,14.0 +0.00016552800000000002,0.0,137488.0,14.0 +0.00016725800000000002,0.0,137488.0,14.0 +0.000170471,0.0,137488.0,14.0 +0.000163487,0.0,137488.0,14.0 +0.000164345,0.0,137488.0,14.0 +0.00016296500000000002,0.0,137488.0,14.0 +0.00017962000000000002,0.0,137488.0,14.0 +0.000161242,0.0,137488.0,14.0 +0.000158178,0.0,137488.0,14.0 +0.00016455000000000002,0.0,137488.0,14.0 +0.000166722,0.0,137488.0,14.0 +0.000192866,0.0,137488.0,14.0 +0.000171602,0.0,137488.0,14.0 +0.000171265,0.0,137488.0,14.0 +0.000167872,0.0,137488.0,14.0 +0.000167787,0.0,137488.0,14.0 +0.000159874,0.0,137488.0,14.0 +0.00016697900000000002,0.0,137488.0,14.0 +0.000159666,0.0,137488.0,14.0 +0.000183713,0.0,137488.0,14.0 +0.00016654900000000002,0.0,137488.0,14.0 +0.000164542,0.0,137488.0,14.0 +0.00016287200000000002,0.0,137488.0,14.0 +0.000166174,0.0,137488.0,14.0 +0.00016668300000000002,0.0,137488.0,14.0 +0.00015874900000000002,0.0,137488.0,14.0 +0.000165486,0.0,137488.0,14.0 +0.00016243800000000002,0.0,137488.0,14.0 +0.000161919,0.0,137488.0,14.0 +0.00016611000000000002,0.0,137488.0,14.0 +0.000165123,0.0,137488.0,14.0 +0.000169182,0.0,137488.0,14.0 +0.00016135700000000002,0.0,137488.0,14.0 +0.00016390300000000002,0.0,137488.0,14.0 +0.000159574,0.0,137488.0,14.0 +0.000164258,0.0,137488.0,14.0 +0.00016496500000000002,0.0,137488.0,14.0 +0.000168931,0.0,137488.0,14.0 +0.00016456400000000002,0.0,137488.0,14.0 +0.00016722200000000002,0.0,137488.0,14.0 +0.00016581,0.0,137488.0,14.0 +0.00017175100000000002,0.0,137488.0,14.0 +0.000172833,0.0,137488.0,14.0 +0.00017773300000000001,0.0,137488.0,14.0 +0.00016928400000000001,0.0,137488.0,14.0 +0.000163121,0.0,137488.0,14.0 +0.00015903,0.0,137488.0,14.0 +0.00015771100000000002,0.0,137488.0,14.0 +0.000156739,0.0,137488.0,14.0 +0.00016348800000000002,0.0,137488.0,14.0 +0.00015776900000000001,0.0,137488.0,14.0 +0.000160461,0.0,137488.0,14.0 +0.000152878,0.0,137488.0,14.0 +0.000162,0.0,137488.0,14.0 +0.00016422300000000002,0.0,137488.0,14.0 +0.000156961,0.0,137488.0,14.0 +0.00015759900000000002,0.0,137488.0,14.0 +0.000165069,0.0,137488.0,14.0 +0.00016053900000000002,0.0,137488.0,14.0 +0.00015735,0.0,137488.0,14.0 +0.000165174,0.0,137488.0,14.0 +0.000152954,0.0,137488.0,14.0 +0.00015984900000000002,0.0,137488.0,14.0 +0.000160815,0.0,137488.0,14.0 +0.000157904,0.0,137488.0,14.0 +0.00015565200000000002,0.0,137488.0,14.0 +0.00016474100000000001,0.0,137488.0,14.0 +0.000167674,0.0,137488.0,14.0 +0.000174947,0.0,137488.0,14.0 +0.000161031,0.0,137488.0,14.0 +0.000169716,0.0,137488.0,14.0 +0.000154684,0.0,137488.0,14.0 +0.000156534,0.0,137488.0,14.0 +0.000159035,0.0,137488.0,14.0 +0.000155302,0.0,137488.0,14.0 +0.00016516,0.0,137488.0,14.0 +0.00016642300000000002,0.0,137488.0,14.0 +0.000158125,0.0,137488.0,14.0 +0.000162663,0.0,137488.0,14.0 +0.00017043,0.0,137488.0,14.0 +0.000163034,0.0,137488.0,14.0 +0.000167032,0.0,137488.0,14.0 +0.000168221,0.0,137488.0,14.0 +0.000156384,0.0,137488.0,14.0 +0.00015526800000000002,0.0,137488.0,14.0 +0.000157632,0.0,137488.0,14.0 +0.000165049,0.0,137488.0,14.0 +0.00015943200000000001,0.0,137488.0,14.0 +0.000166286,0.0,137488.0,14.0 +0.000160796,0.0,137488.0,14.0 +0.00016009000000000002,0.0,137488.0,14.0 +0.000164482,0.0,137488.0,14.0 +0.000173389,0.0,137488.0,14.0 +0.000165975,0.0,137488.0,14.0 +0.000160891,0.0,137488.0,14.0 +0.000170726,0.0,137488.0,14.0 +0.00016828,0.0,137488.0,14.0 +0.000165914,0.0,137488.0,14.0 +0.00016334700000000002,0.0,137488.0,14.0 +0.00015813400000000001,0.0,137488.0,14.0 +0.000162198,0.0,137488.0,14.0 +0.000161525,0.0,137488.0,14.0 +0.00015403900000000002,0.0,137488.0,14.0 +0.00015802600000000002,0.0,137488.0,14.0 +0.00016701200000000002,0.0,137488.0,14.0 +0.00017106800000000002,0.0,137488.0,14.0 +0.000159533,0.0,137488.0,14.0 +0.000157211,0.0,137488.0,14.0 +0.000163757,0.0,137488.0,14.0 +0.00015728700000000001,0.0,137488.0,14.0 +0.000160926,0.0,137488.0,14.0 +0.000155907,0.0,137488.0,14.0 +0.00015766800000000002,0.0,137488.0,14.0 +0.000153807,0.0,137488.0,14.0 +0.00015786900000000002,0.0,137488.0,14.0 +0.000163661,0.0,137488.0,14.0 +0.000157552,0.0,137488.0,14.0 +0.00019847000000000002,0.0,137488.0,14.0 +0.00017193700000000002,0.0,137488.0,14.0 +0.000164116,0.0,137488.0,14.0 +0.00016811900000000002,0.0,137488.0,14.0 +0.00016953,0.0,137488.0,14.0 +0.00016309200000000002,0.0,137488.0,14.0 +0.00016741500000000002,0.0,137488.0,14.0 +0.000160449,0.0,137488.0,14.0 +0.000160912,0.0,137488.0,14.0 +0.00016708800000000002,0.0,137488.0,14.0 +0.00016813,0.0,137488.0,14.0 +0.000166947,0.0,137488.0,14.0 +0.00016026400000000002,0.0,137488.0,14.0 +0.000168452,0.0,137488.0,14.0 +0.000157388,0.0,137488.0,14.0 +0.000170611,0.0,137488.0,14.0 +0.000158571,0.0,137488.0,14.0 +0.000176355,0.0,137488.0,14.0 +0.00016453500000000002,0.0,137488.0,14.0 +0.000155279,0.0,137488.0,14.0 +0.00016678800000000002,0.0,137488.0,14.0 +0.00015913,0.0,137488.0,14.0 +0.000163695,0.0,137488.0,14.0 +0.000166501,0.0,137488.0,14.0 +0.00018847200000000002,0.0,137488.0,14.0 +0.00017315100000000002,0.0,137488.0,14.0 +0.000163876,0.0,137488.0,14.0 +0.000174956,0.0,137488.0,14.0 +0.000160117,0.0,137488.0,14.0 +0.000160917,0.0,137488.0,14.0 +0.00016805200000000002,0.0,137488.0,14.0 +0.000159314,0.0,137488.0,14.0 +0.00016880900000000002,0.0,137488.0,14.0 +0.000162249,0.0,137488.0,14.0 +0.000159604,0.0,137488.0,14.0 +0.00017065600000000001,0.0,137488.0,14.0 +0.000161594,0.0,137488.0,14.0 +0.00016198700000000002,0.0,137488.0,14.0 +0.000164816,0.0,137488.0,14.0 +0.000160303,0.0,137488.0,14.0 +0.00016601200000000002,0.0,137488.0,14.0 +0.00015297300000000001,0.0,137488.0,14.0 +0.000181609,0.0,137488.0,14.0 +0.00016745,0.0,137488.0,14.0 +0.00016389800000000002,0.0,137488.0,14.0 +0.000163272,0.0,137488.0,14.0 +0.000161686,0.0,137488.0,14.0 +0.000188456,0.0,137488.0,14.0 +0.000167419,0.0,137488.0,14.0 +0.000163998,0.0,137488.0,14.0 +0.00016311,0.0,137488.0,14.0 +0.000160864,0.0,137488.0,14.0 +0.00016972500000000002,0.0,137488.0,14.0 +0.000165026,0.0,137488.0,14.0 +0.000169495,0.0,137488.0,14.0 +0.00016800000000000002,0.0,137488.0,14.0 +0.000162416,0.0,137488.0,14.0 +0.00017011400000000002,0.0,137488.0,14.0 +0.000164914,0.0,137488.0,14.0 +0.00017072500000000002,0.0,137488.0,14.0 +0.00016446,0.0,137488.0,14.0 +0.000161325,0.0,137488.0,14.0 +0.000166718,0.0,137488.0,14.0 +0.00016497400000000002,0.0,137488.0,14.0 +0.00016292000000000002,0.0,137488.0,14.0 +0.000167896,0.0,137488.0,14.0 +0.000160903,0.0,137488.0,14.0 +0.000163009,0.0,137488.0,14.0 +0.000175631,0.0,137488.0,14.0 +0.000158359,0.0,137488.0,14.0 +0.000164291,0.0,137488.0,14.0 +0.000183725,0.0,137488.0,14.0 +0.000168357,0.0,137488.0,14.0 +0.000162387,0.0,137488.0,14.0 +0.00017134000000000002,0.0,137488.0,14.0 +0.00015650400000000002,0.0,137488.0,14.0 +0.00015863200000000002,0.0,137488.0,14.0 +0.000178671,0.0,137488.0,14.0 +0.000163909,0.0,137488.0,14.0 +0.000157703,0.0,137488.0,14.0 +0.00016484100000000002,0.0,137488.0,14.0 +0.000158242,0.0,137488.0,14.0 +0.00016566900000000002,0.0,137488.0,14.0 +0.00015482900000000002,0.0,137488.0,14.0 +0.00016094700000000002,0.0,137488.0,14.0 +0.00016709800000000002,0.0,137488.0,14.0 +0.000161934,0.0,137488.0,14.0 +0.000163053,0.0,137488.0,14.0 +0.00016377900000000002,0.0,137488.0,14.0 +0.000160673,0.0,137488.0,14.0 +0.00017239300000000001,0.0,137488.0,14.0 +0.00016413700000000002,0.0,137488.0,14.0 +0.00016323700000000002,0.0,137488.0,14.0 +0.00016575200000000002,0.0,137488.0,14.0 +0.00015779000000000002,0.0,137488.0,14.0 +0.00017428700000000002,0.0,137488.0,14.0 +0.000184195,0.0,137488.0,14.0 +0.000162547,0.0,137488.0,14.0 +0.00016711200000000002,0.0,137488.0,14.0 +0.000162446,0.0,137488.0,14.0 +0.000159435,0.0,137488.0,14.0 +0.000166758,0.0,137488.0,14.0 +0.00016059400000000001,0.0,137488.0,14.0 +0.000162277,0.0,137488.0,14.0 +0.000176082,0.0,137488.0,14.0 +0.000156773,0.0,137488.0,14.0 +0.00016733900000000002,0.0,137488.0,14.0 +0.000160698,0.0,137488.0,14.0 +0.000160549,0.0,137488.0,14.0 +0.000168879,0.0,137488.0,14.0 +0.00016459000000000002,0.0,137488.0,14.0 +0.000167159,0.0,137488.0,14.0 +0.00016089200000000002,0.0,137488.0,14.0 +0.00015866100000000002,0.0,137488.0,14.0 +0.000178332,0.0,137488.0,14.0 +0.00016557300000000002,0.0,137488.0,14.0 +0.000161003,0.0,137488.0,14.0 +0.00016955100000000002,0.0,137488.0,14.0 +0.00015964600000000002,0.0,137488.0,14.0 +0.00016408000000000001,0.0,137488.0,14.0 +0.016213057,0.0,137488.0,14.0 +0.000178118,0.0,137488.0,14.0 +0.000174415,0.0,137488.0,14.0 +0.000159211,0.0,137488.0,14.0 +0.000158975,0.0,137488.0,14.0 +0.000173907,0.0,137488.0,14.0 +0.000166023,0.0,137488.0,14.0 +0.00016722200000000002,0.0,137488.0,14.0 +0.000164358,0.0,137488.0,14.0 +0.00015366700000000002,0.0,137488.0,14.0 +0.000167779,0.0,137488.0,14.0 +0.00016494600000000002,0.0,137488.0,14.0 +0.00015984900000000002,0.0,137488.0,14.0 +0.00016217600000000001,0.0,137488.0,14.0 +0.00016323700000000002,0.0,137488.0,14.0 +0.00017476900000000002,0.0,137488.0,14.0 +0.00016599,0.0,137488.0,14.0 +0.00016162900000000002,0.0,137488.0,14.0 +0.000172172,0.0,137488.0,14.0 +0.00015701700000000002,0.0,137488.0,14.0 +0.000160173,0.0,137488.0,14.0 +0.00016929100000000002,0.0,137488.0,14.0 +0.00016100600000000002,0.0,137488.0,14.0 +0.00018301800000000002,0.0,137488.0,14.0 +0.00017350700000000002,0.0,137488.0,14.0 +0.000164749,0.0,137488.0,14.0 +0.00016859900000000002,0.0,137488.0,14.0 +0.000159443,0.0,137488.0,14.0 +0.00016328000000000002,0.0,137488.0,14.0 +0.000167517,0.0,137488.0,14.0 +0.000160964,0.0,137488.0,14.0 +0.00016621500000000002,0.0,137488.0,14.0 +0.000161483,0.0,137488.0,14.0 +0.000160969,0.0,137488.0,14.0 +0.000174741,0.0,137488.0,14.0 +0.000160624,0.0,137488.0,14.0 +0.000162232,0.0,137488.0,14.0 +0.00016814300000000002,0.0,137488.0,14.0 +0.000160017,0.0,137488.0,14.0 +0.000166522,0.0,137488.0,14.0 +0.00016541,0.0,137488.0,14.0 +0.00016000900000000002,0.0,137488.0,14.0 +0.000164425,0.0,137488.0,14.0 +0.00015776600000000002,0.0,137488.0,14.0 +0.000161959,0.0,137488.0,14.0 +0.00017060300000000002,0.0,137488.0,14.0 +0.00015867,0.0,137488.0,14.0 +0.000161036,0.0,137488.0,14.0 +0.00018167000000000001,0.0,137488.0,14.0 +0.000160667,0.0,137488.0,14.0 +0.000169506,0.0,137488.0,14.0 +0.000162611,0.0,137488.0,14.0 +0.000165648,0.0,137488.0,14.0 +0.000167579,0.0,137488.0,14.0 +0.000161025,0.0,137488.0,14.0 +0.00016592,0.0,137488.0,14.0 +0.00016558800000000001,0.0,137488.0,14.0 +0.00016900400000000002,0.0,137488.0,14.0 +0.000162229,0.0,137488.0,14.0 +0.00016369800000000002,0.0,137488.0,14.0 +0.00016823100000000002,0.0,137488.0,14.0 +0.000166398,0.0,137488.0,14.0 +0.000168127,0.0,137488.0,14.0 +0.000159277,0.0,137488.0,14.0 +0.000163506,0.0,137488.0,14.0 +0.000169896,0.0,137488.0,14.0 +0.000158287,0.0,137488.0,14.0 +0.00016569300000000001,0.0,137488.0,14.0 +0.00016127600000000002,0.0,137488.0,14.0 +0.00015895000000000001,0.0,137488.0,14.0 +0.00017414600000000002,0.0,137488.0,14.0 +0.00015589,0.0,137488.0,14.0 +0.000182716,0.0,137488.0,14.0 +0.000170795,0.0,137488.0,14.0 +0.00016373,0.0,137488.0,14.0 +0.00016891900000000001,0.0,137488.0,14.0 +0.000165014,0.0,137488.0,14.0 +0.000164563,0.0,137488.0,14.0 +0.000169703,0.0,137488.0,14.0 +0.000155754,0.0,137488.0,14.0 +0.00016226400000000002,0.0,137488.0,14.0 +0.000166295,0.0,137488.0,14.0 +0.000255923,0.0,137488.0,14.0 +0.000163184,0.0,137488.0,14.0 +0.000164055,0.0,137488.0,14.0 +0.000169783,0.0,137488.0,14.0 +0.000166135,0.0,137488.0,14.0 +0.016219596,0.0,137488.0,14.0 +0.00017897100000000002,0.0,137488.0,14.0 +0.000169895,0.0,137488.0,14.0 +0.000167596,0.0,137488.0,14.0 +0.000176937,0.0,137488.0,14.0 +0.00016041000000000002,0.0,137488.0,14.0 +0.00016362400000000002,0.0,137488.0,14.0 +0.000165685,0.0,137488.0,14.0 +0.00016526300000000002,0.0,137488.0,14.0 +0.000166123,0.0,137488.0,14.0 +0.000165488,0.0,137488.0,14.0 +0.000173084,0.0,137488.0,14.0 +0.000160743,0.0,137488.0,14.0 +0.000163656,0.0,137488.0,14.0 +0.00017011600000000002,0.0,137488.0,14.0 +0.00016926000000000002,0.0,137488.0,14.0 +0.000164787,0.0,137488.0,14.0 +0.000158399,0.0,137488.0,14.0 +0.000165615,0.0,137488.0,14.0 +0.000168943,0.0,137488.0,14.0 +0.000163224,0.0,137488.0,14.0 +0.000166813,0.0,137488.0,14.0 +0.00016659900000000002,0.0,137488.0,14.0 +0.000181649,0.0,137488.0,14.0 +0.000170435,0.0,137488.0,14.0 +0.00020707,0.0,137488.0,14.0 +0.000176629,0.0,137488.0,14.0 +0.00017218700000000002,0.0,137488.0,14.0 +0.00016293400000000002,0.0,137488.0,14.0 +0.000157333,0.0,137488.0,14.0 +0.00015853900000000002,0.0,137488.0,14.0 +0.00016145000000000002,0.0,137488.0,14.0 +0.0001665,0.0,137488.0,14.0 +0.000159171,0.0,137488.0,14.0 +0.00017127600000000002,0.0,137488.0,14.0 +0.00016385,0.0,137488.0,14.0 +0.00016602700000000001,0.0,137488.0,14.0 +0.000160666,0.0,137488.0,14.0 +0.00016491200000000002,0.0,137488.0,14.0 +0.000162337,0.0,137488.0,14.0 +0.000162935,0.0,137488.0,14.0 +0.000165815,0.0,137488.0,14.0 +0.000163683,0.0,137488.0,14.0 +0.00016719800000000002,0.0,137488.0,14.0 +0.00016826700000000002,0.0,137488.0,14.0 +0.000160642,0.0,137488.0,14.0 +0.00016559200000000002,0.0,137488.0,14.0 +0.000176777,0.0,137488.0,14.0 +0.000156231,0.0,137488.0,14.0 +0.00015735600000000002,0.0,137488.0,14.0 +0.00016349300000000002,0.0,137488.0,14.0 +0.000162122,0.0,137488.0,14.0 +0.00016275800000000002,0.0,137488.0,14.0 +0.000160175,0.0,137488.0,14.0 +0.00016890400000000002,0.0,137488.0,14.0 +0.000159402,0.0,137488.0,14.0 +0.000164453,0.0,137488.0,14.0 +0.00016097500000000002,0.0,137488.0,14.0 +0.000158961,0.0,137488.0,14.0 +0.000161301,0.0,137488.0,14.0 +0.00016270300000000002,0.0,137488.0,14.0 +0.00016395,0.0,137488.0,14.0 +0.000161866,0.0,137488.0,14.0 +0.000173623,0.0,137488.0,14.0 +0.00016697600000000002,0.0,137488.0,14.0 +0.00016133300000000002,0.0,137488.0,14.0 +0.000171428,0.0,137488.0,14.0 +0.000162788,0.0,137488.0,14.0 +0.000165384,0.0,137488.0,14.0 +0.0001616,0.0,137488.0,14.0 +0.000157138,0.0,137488.0,14.0 +0.00017498100000000002,0.0,137488.0,14.0 +0.000166276,0.0,137488.0,14.0 +0.000161458,0.0,137488.0,14.0 +0.00016117,0.0,137488.0,14.0 +0.000168992,0.0,137488.0,14.0 +0.00017221,0.0,137488.0,14.0 +0.000162938,0.0,137488.0,14.0 +0.00016545600000000002,0.0,137488.0,14.0 +0.00016408000000000001,0.0,137488.0,14.0 +0.000172635,0.0,137488.0,14.0 +0.00016126200000000002,0.0,137488.0,14.0 +0.00016206600000000002,0.0,137488.0,14.0 +0.000167559,0.0,137488.0,14.0 +0.00016490500000000002,0.0,137488.0,14.0 +0.000163993,0.0,137488.0,14.0 +0.00016102100000000002,0.0,137488.0,14.0 +0.000171477,0.0,137488.0,14.0 +0.00017305800000000002,0.0,137488.0,14.0 +0.00016610100000000001,0.0,137488.0,14.0 +0.00017571400000000002,0.0,137488.0,14.0 +0.000168621,0.0,137488.0,14.0 +0.00016924,0.0,137488.0,14.0 +0.000158984,0.0,137488.0,14.0 +0.000167997,0.0,137488.0,14.0 +0.016203332,0.0,137488.0,14.0 +0.000180998,0.0,137488.0,14.0 +0.000164995,0.0,137488.0,14.0 +0.000168881,0.0,137488.0,14.0 +0.000169468,0.0,137488.0,14.0 +0.000165241,0.0,137488.0,14.0 +0.00016970800000000002,0.0,137488.0,14.0 +0.000171551,0.0,137488.0,14.0 +0.000159044,0.0,137488.0,14.0 +0.00016916700000000002,0.0,137488.0,14.0 +0.000173437,0.0,137488.0,14.0 +0.000175789,0.0,137488.0,14.0 +0.00017131,0.0,137488.0,14.0 +0.000162768,0.0,137488.0,14.0 +0.00016414900000000002,0.0,137488.0,14.0 +0.000166947,0.0,137488.0,14.0 +0.00017394800000000002,0.0,137488.0,14.0 +0.00017005700000000002,0.0,137488.0,14.0 +0.00017503,0.0,137488.0,14.0 +0.00018080300000000002,0.0,137488.0,14.0 +0.000172162,0.0,137488.0,14.0 +0.000163794,0.0,137488.0,14.0 +0.00017061700000000002,0.0,137488.0,14.0 +0.00017433700000000002,0.0,137488.0,14.0 +0.00017112100000000002,0.0,137488.0,14.0 +0.00017422500000000002,0.0,137488.0,14.0 +0.00017349300000000001,0.0,137488.0,14.0 +0.00017267400000000002,0.0,137488.0,14.0 +0.000166348,0.0,137488.0,14.0 +0.000163978,0.0,137488.0,14.0 +0.000176665,0.0,137488.0,14.0 +0.00016436400000000001,0.0,137488.0,14.0 +0.000174425,0.0,137488.0,14.0 +0.000160283,0.0,137488.0,14.0 +0.00017887500000000002,0.0,137488.0,14.0 +0.00017580000000000002,0.0,137488.0,14.0 +0.000161458,0.0,137488.0,14.0 +0.000160524,0.0,137488.0,14.0 +0.00016867800000000001,0.0,137488.0,14.0 +0.00016931000000000002,0.0,137488.0,14.0 +0.00016969900000000002,0.0,137488.0,14.0 +0.000174205,0.0,137488.0,14.0 +0.000165613,0.0,137488.0,14.0 +0.00015977300000000002,0.0,137488.0,14.0 +0.00017295300000000002,0.0,137488.0,14.0 +0.00016457,0.0,137488.0,14.0 +0.000164086,0.0,137488.0,14.0 +0.000181396,0.0,137488.0,14.0 +0.00016360200000000002,0.0,137488.0,14.0 +0.00017469000000000002,0.0,137488.0,14.0 +0.000158763,0.0,137488.0,14.0 +0.00016687,0.0,137488.0,14.0 +0.000167769,0.0,137488.0,14.0 +0.000161091,0.0,137488.0,14.0 +0.00016045300000000002,0.0,137488.0,14.0 +0.00016614800000000002,0.0,137488.0,14.0 +0.00017378800000000002,0.0,137488.0,14.0 +0.000161984,0.0,137488.0,14.0 +0.00016809800000000002,0.0,137488.0,14.0 +0.00016288400000000002,0.0,137488.0,14.0 +0.000156663,0.0,137488.0,14.0 +0.000170351,0.0,137488.0,14.0 +0.00017356,0.0,137488.0,14.0 +0.00016361900000000002,0.0,137488.0,14.0 +0.000167527,0.0,137488.0,14.0 +0.00016758000000000002,0.0,137488.0,14.0 +0.00016976600000000001,0.0,137488.0,14.0 +0.00016231200000000001,0.0,137488.0,14.0 +0.00016139800000000002,0.0,137488.0,14.0 +0.000169833,0.0,137488.0,14.0 +0.000161983,0.0,137488.0,14.0 +0.00017819300000000002,0.0,137488.0,14.0 +0.00016055300000000002,0.0,137488.0,14.0 +0.000158459,0.0,137488.0,14.0 +0.000173248,0.0,137488.0,14.0 +0.00016199,0.0,137488.0,14.0 +0.00016191800000000002,0.0,137488.0,14.0 +0.000166648,0.0,137488.0,14.0 +0.000173119,0.0,137488.0,14.0 +0.000159051,0.0,137488.0,14.0 +0.00017056000000000002,0.0,137488.0,14.0 +0.000163663,0.0,137488.0,14.0 +0.00015196600000000002,0.0,137488.0,14.0 +0.000172658,0.0,137488.0,14.0 +0.00015928600000000002,0.0,137488.0,14.0 +0.00016405300000000002,0.0,137488.0,14.0 +0.00016577100000000002,0.0,137488.0,14.0 +0.000159733,0.0,137488.0,14.0 +0.00017112800000000002,0.0,137488.0,14.0 +0.00016903,0.0,137488.0,14.0 +0.000161365,0.0,137488.0,14.0 +0.000176529,0.0,137488.0,14.0 +0.00015195,0.0,137488.0,14.0 +0.000159815,0.0,137488.0,14.0 +0.000164615,0.0,137488.0,14.0 +0.016196191000000002,0.0,137488.0,14.0 +0.00018028800000000002,0.0,137488.0,14.0 +0.000166395,0.0,137488.0,14.0 +0.000163931,0.0,137488.0,14.0 +0.000172807,0.0,137488.0,14.0 +0.000174837,0.0,137488.0,14.0 +0.000169194,0.0,137488.0,14.0 +0.000168297,0.0,137488.0,14.0 +0.00016705300000000001,0.0,137488.0,14.0 +0.00016826700000000002,0.0,137488.0,14.0 +0.000164847,0.0,137488.0,14.0 +0.00016371500000000001,0.0,137488.0,14.0 +0.00016511500000000002,0.0,137488.0,14.0 +0.00016648000000000002,0.0,137488.0,14.0 +0.00017323500000000002,0.0,137488.0,14.0 +0.00015901,0.0,137488.0,14.0 +0.00018002300000000002,0.0,137488.0,14.0 +0.000163874,0.0,137488.0,14.0 +0.000173508,0.0,137488.0,14.0 +0.000169091,0.0,137488.0,14.0 +0.000165192,0.0,137488.0,14.0 +0.000172255,0.0,137488.0,14.0 +0.000160146,0.0,137488.0,14.0 +0.000174114,0.0,137488.0,14.0 +0.00017468300000000002,0.0,137488.0,14.0 +0.00015947700000000002,0.0,137488.0,14.0 +0.00017333000000000002,0.0,137488.0,14.0 +0.000173985,0.0,137488.0,14.0 +0.000165377,0.0,137488.0,14.0 +0.000170261,0.0,137488.0,14.0 +0.000167047,0.0,137488.0,14.0 +0.000165174,0.0,137488.0,14.0 +0.00017993000000000002,0.0,137488.0,14.0 +0.00017026400000000002,0.0,137488.0,14.0 +0.00016264600000000001,0.0,137488.0,14.0 +0.00017470500000000002,0.0,137488.0,14.0 +0.00016164100000000002,0.0,137488.0,14.0 +0.00016875900000000002,0.0,137488.0,14.0 +0.00016281500000000002,0.0,137488.0,14.0 +0.00016639900000000002,0.0,137488.0,14.0 +0.000172596,0.0,137488.0,14.0 +0.00016843400000000002,0.0,137488.0,14.0 +0.000171026,0.0,137488.0,14.0 +0.000167655,0.0,137488.0,14.0 +0.00016080800000000002,0.0,137488.0,14.0 +0.000170969,0.0,137488.0,14.0 +0.000162991,0.0,137488.0,14.0 +0.00018218500000000002,0.0,137488.0,14.0 +0.00017163,0.0,137488.0,14.0 +0.00016263,0.0,137488.0,14.0 +0.000165579,0.0,137488.0,14.0 +0.000174425,0.0,137488.0,14.0 +0.000165906,0.0,137488.0,14.0 +0.00017189600000000002,0.0,137488.0,14.0 +0.000158707,0.0,137488.0,14.0 +0.00016715300000000002,0.0,137488.0,14.0 +0.000171242,0.0,137488.0,14.0 +0.00016297700000000002,0.0,137488.0,14.0 +0.000167033,0.0,137488.0,14.0 +0.000174651,0.0,137488.0,14.0 +0.00016199400000000002,0.0,137488.0,14.0 +0.0001755,0.0,137488.0,14.0 +0.00015938600000000002,0.0,137488.0,14.0 +0.00017169,0.0,137488.0,14.0 +0.000165314,0.0,137488.0,14.0 +0.000159915,0.0,137488.0,14.0 +0.00017185800000000002,0.0,137488.0,14.0 +0.000168731,0.0,137488.0,14.0 +0.000161235,0.0,137488.0,14.0 +0.000171952,0.0,137488.0,14.0 +0.00016071300000000002,0.0,137488.0,14.0 +0.000182541,0.0,137488.0,14.0 +0.000169156,0.0,137488.0,14.0 +0.000160812,0.0,137488.0,14.0 +0.00017151200000000002,0.0,137488.0,14.0 +0.00017058200000000001,0.0,137488.0,14.0 +0.000159941,0.0,137488.0,14.0 +0.000165816,0.0,137488.0,14.0 +0.00015440900000000002,0.0,137488.0,14.0 +0.000158066,0.0,137488.0,14.0 +0.00016721000000000002,0.0,137488.0,14.0 +0.000160685,0.0,137488.0,14.0 +0.000159783,0.0,137488.0,14.0 +0.00017178400000000002,0.0,137488.0,14.0 +0.000157725,0.0,137488.0,14.0 +0.000173486,0.0,137488.0,14.0 +0.00016231,0.0,137488.0,14.0 +0.000166426,0.0,137488.0,14.0 +0.000168509,0.0,137488.0,14.0 +0.00016346900000000002,0.0,137488.0,14.0 +0.000166476,0.0,137488.0,14.0 +0.00016298700000000002,0.0,137488.0,14.0 +0.00015741100000000001,0.0,137488.0,14.0 +0.000170046,0.0,137488.0,14.0 +0.00015919,0.0,137488.0,14.0 +0.008888973000000001,0.0,137488.0,14.0 +0.000180191,0.0,137488.0,14.0 +0.00016029800000000002,0.0,137488.0,14.0 +0.000165321,0.0,137488.0,14.0 +0.000165999,0.0,137488.0,14.0 +0.000161439,0.0,137488.0,14.0 +0.00017022100000000002,0.0,137488.0,14.0 +0.000160032,0.0,137488.0,14.0 +0.00016313200000000002,0.0,137488.0,14.0 +0.0001665,0.0,137488.0,14.0 +0.000157059,0.0,137488.0,14.0 +0.000163497,0.0,137488.0,14.0 +0.000167323,0.0,137488.0,14.0 +0.00016487,0.0,137488.0,14.0 +0.000171916,0.0,137488.0,14.0 +0.00015806200000000002,0.0,137488.0,14.0 +0.000163668,0.0,137488.0,14.0 +0.000166508,0.0,137488.0,14.0 +0.000169569,0.0,137488.0,14.0 +0.00015733200000000002,0.0,137488.0,14.0 +0.000186464,0.0,137488.0,14.0 +0.00016958200000000002,0.0,137488.0,14.0 +0.000160783,0.0,137488.0,14.0 +0.000167359,0.0,137488.0,14.0 +0.000163959,0.0,137488.0,14.0 +0.00016452,0.0,137488.0,14.0 +0.000172363,0.0,137488.0,14.0 +0.00015947200000000002,0.0,137488.0,14.0 +0.000163801,0.0,137488.0,14.0 +0.000168073,0.0,137488.0,14.0 +0.000157612,0.0,137488.0,14.0 +0.00016956300000000002,0.0,137488.0,14.0 +0.00016654000000000001,0.0,137488.0,14.0 +0.000157063,0.0,137488.0,14.0 +0.000168867,0.0,137488.0,14.0 +0.00016106100000000002,0.0,137488.0,14.0 +0.00016237800000000002,0.0,137488.0,14.0 +0.000168426,0.0,137488.0,14.0 +0.00015958700000000002,0.0,137488.0,14.0 +0.000164002,0.0,137488.0,14.0 +0.00016963000000000001,0.0,137488.0,14.0 +0.00015856,0.0,137488.0,14.0 +0.000172312,0.0,137488.0,14.0 +0.001764586,0.8293214385697268,137488.0,14.0 +0.00017506500000000002,0.0,137488.0,14.0 +0.00016834100000000002,0.0,137488.0,14.0 +0.000166839,0.0,137488.0,14.0 +0.00016749200000000002,0.0,137488.0,14.0 +0.00017151900000000002,0.0,137488.0,14.0 +0.00017272900000000002,0.0,137488.0,14.0 +0.00016870100000000002,0.0,137488.0,14.0 +0.000165396,0.0,137488.0,14.0 +0.00017385800000000001,0.0,137488.0,14.0 +0.000172585,0.0,137488.0,14.0 +0.000165503,0.0,137488.0,14.0 +0.00016654700000000002,0.0,137488.0,14.0 +0.000170852,0.0,137488.0,14.0 +0.00016353100000000002,0.0,137488.0,14.0 +0.000184834,0.0,137488.0,14.0 +0.00016569700000000002,0.0,137488.0,14.0 +0.00017193700000000002,0.0,137488.0,14.0 +0.00017347100000000002,0.0,137488.0,14.0 +0.00016856100000000001,0.0,137488.0,14.0 +0.000171979,0.0,137488.0,14.0 +0.000171277,0.0,137488.0,14.0 +0.00016196100000000002,0.0,137488.0,14.0 +0.00016605800000000002,0.0,137488.0,14.0 +0.00016533200000000002,0.0,137488.0,14.0 +0.000166546,0.0,137488.0,14.0 +0.000173064,0.0,137488.0,14.0 +0.00016598,0.0,137488.0,14.0 +0.00017617200000000002,0.0,137488.0,14.0 +0.00017356400000000002,0.0,137488.0,14.0 +0.00017117800000000002,0.0,137488.0,14.0 +0.000162113,0.0,137488.0,14.0 +0.000167486,0.0,137488.0,14.0 +0.00016544700000000002,0.0,137488.0,14.0 +0.000159931,0.0,137488.0,14.0 +0.00016769900000000002,0.0,137488.0,14.0 +0.000163341,0.0,137488.0,14.0 +0.000164709,0.0,137488.0,14.0 +0.016197557,0.0,137488.0,14.0 +0.00017824800000000002,0.0,137488.0,14.0 +0.00016332600000000001,0.0,137488.0,14.0 +0.000168517,0.0,137488.0,14.0 +0.00016392700000000002,0.0,137488.0,14.0 +0.000163997,0.0,137488.0,14.0 +0.000165691,0.0,137488.0,14.0 +0.000163224,0.0,137488.0,14.0 +0.000168698,0.0,137488.0,14.0 +0.00016160300000000002,0.0,137488.0,14.0 +0.00016275300000000002,0.0,137488.0,14.0 +0.000165717,0.0,137488.0,14.0 +0.00017498400000000002,0.0,137488.0,14.0 +0.000157977,0.0,137488.0,14.0 +0.000168046,0.0,137488.0,14.0 +0.000169023,0.0,137488.0,14.0 +0.000169285,0.0,137488.0,14.0 +0.000162744,0.0,137488.0,14.0 +0.00016281500000000002,0.0,137488.0,14.0 +0.000167428,0.0,137488.0,14.0 +0.00016345900000000002,0.0,137488.0,14.0 +0.00016676400000000002,0.0,137488.0,14.0 +0.000169734,0.0,137488.0,14.0 +0.00016473100000000002,0.0,137488.0,14.0 +0.00018842900000000002,0.0,137488.0,14.0 +0.000165596,0.0,137488.0,14.0 +0.000169302,0.0,137488.0,14.0 +0.00016764400000000002,0.0,137488.0,14.0 +0.000173317,0.0,137488.0,14.0 +0.000169509,0.0,137488.0,14.0 +0.00017165300000000002,0.0,137488.0,14.0 +0.00017546100000000002,0.0,137488.0,14.0 +0.000169759,0.0,137488.0,14.0 +0.00016682400000000001,0.0,137488.0,14.0 +0.000170647,0.0,137488.0,14.0 +0.000177476,0.0,137488.0,14.0 +0.000165401,0.0,137488.0,14.0 +0.00017088000000000002,0.0,137488.0,14.0 +0.00016319400000000002,0.0,137488.0,14.0 +0.000166247,0.0,137488.0,14.0 +0.000169249,0.0,137488.0,14.0 +0.00017091800000000002,0.0,137488.0,14.0 +0.000166533,0.0,137488.0,14.0 +0.000171072,0.0,137488.0,14.0 +0.00017186300000000002,0.0,137488.0,14.0 +0.00016850600000000002,0.0,137488.0,14.0 +0.0001676,0.0,137488.0,14.0 +0.00018606900000000002,0.0,137488.0,14.0 +0.000169199,0.0,137488.0,14.0 +0.00016387900000000002,0.0,137488.0,14.0 +0.000163463,0.0,137488.0,14.0 +0.00016579500000000002,0.0,137488.0,14.0 +0.000170211,0.0,137488.0,14.0 +0.000170416,0.0,137488.0,14.0 +0.000162398,0.0,137488.0,14.0 +0.00016882,0.0,137488.0,14.0 +0.00017414900000000002,0.0,137488.0,14.0 +0.00016898300000000002,0.0,137488.0,14.0 +0.00016960100000000002,0.0,137488.0,14.0 +0.000179585,0.0,137488.0,14.0 +0.000167441,0.0,137488.0,14.0 +0.00016426300000000002,0.0,137488.0,14.0 +0.000162429,0.0,137488.0,14.0 +0.000179934,0.0,137488.0,14.0 +0.000162435,0.0,137488.0,14.0 +0.00016206100000000002,0.0,137488.0,14.0 +0.000168416,0.0,137488.0,14.0 +0.00017111,0.0,137488.0,14.0 +0.00016957000000000002,0.0,137488.0,14.0 +0.000164436,0.0,137488.0,14.0 +0.00017242600000000002,0.0,137488.0,14.0 +0.00018916600000000002,0.0,137488.0,14.0 +0.00017363600000000002,0.0,137488.0,14.0 +0.00017336,0.0,137488.0,14.0 +0.00016854,0.0,137488.0,14.0 +0.000168395,0.0,137488.0,14.0 +0.000169426,0.0,137488.0,14.0 +0.00016528900000000002,0.0,137488.0,14.0 +0.00016554700000000002,0.0,137488.0,14.0 +0.00015966100000000002,0.0,137488.0,14.0 +0.000166564,0.0,137488.0,14.0 +0.000174608,0.0,137488.0,14.0 +0.000167693,0.0,137488.0,14.0 +0.000165043,0.0,137488.0,14.0 +0.000161215,0.0,137488.0,14.0 +0.00016652100000000001,0.0,137488.0,14.0 +0.00016481000000000002,0.0,137488.0,14.0 +0.000169765,0.0,137488.0,14.0 +0.00016387200000000002,0.0,137488.0,14.0 +0.000162151,0.0,137488.0,14.0 +0.00016364500000000002,0.0,137488.0,14.0 +0.000163067,0.0,137488.0,14.0 +0.000172162,0.0,137488.0,14.0 +0.000164553,0.0,137488.0,14.0 +0.000175579,0.0,137488.0,14.0 +0.016211846000000002,0.0,137488.0,14.0 +0.00017796400000000002,0.0,137488.0,14.0 +0.00017168400000000002,0.0,137488.0,14.0 +0.000169154,0.0,137488.0,14.0 +0.000161819,0.0,137488.0,14.0 +0.000169321,0.0,137488.0,14.0 +0.000161774,0.0,137488.0,14.0 +0.000163031,0.0,137488.0,14.0 +0.000170855,0.0,137488.0,14.0 +0.00017572800000000002,0.0,137488.0,14.0 +0.00015914,0.0,137488.0,14.0 +0.00016343100000000001,0.0,137488.0,14.0 +0.000178228,0.0,137488.0,14.0 +0.000159972,0.0,137488.0,14.0 +0.000173804,0.0,137488.0,14.0 +0.00016454500000000002,0.0,137488.0,14.0 +0.000167645,0.0,137488.0,14.0 +0.00017381700000000002,0.0,137488.0,14.0 +0.000160952,0.0,137488.0,14.0 +0.000168748,0.0,137488.0,14.0 +0.0001583,0.0,137488.0,14.0 +0.00016463600000000001,0.0,137488.0,14.0 +0.00016332600000000001,0.0,137488.0,14.0 +0.00018329900000000002,0.0,137488.0,14.0 +0.00016927600000000002,0.0,137488.0,14.0 +0.000160941,0.0,137488.0,14.0 +0.000168369,0.0,137488.0,14.0 +0.000160316,0.0,137488.0,14.0 +0.00016258,0.0,137488.0,14.0 +0.000172153,0.0,137488.0,14.0 +0.00015946500000000002,0.0,137488.0,14.0 +0.000171358,0.0,137488.0,14.0 +0.000160712,0.0,137488.0,14.0 +0.000162587,0.0,137488.0,14.0 +0.000169316,0.0,137488.0,14.0 +0.000159325,0.0,137488.0,14.0 +0.000161482,0.0,137488.0,14.0 +0.00016222300000000002,0.0,137488.0,14.0 +0.00016111100000000002,0.0,137488.0,14.0 +0.00016758200000000002,0.0,137488.0,14.0 +0.000168689,0.0,137488.0,14.0 +0.00016353300000000002,0.0,137488.0,14.0 +0.00016927,0.0,137488.0,14.0 +0.00016147400000000002,0.0,137488.0,14.0 +0.00016500100000000001,0.0,137488.0,14.0 +0.000170869,0.0,137488.0,14.0 +0.00017992300000000002,0.0,137488.0,14.0 +0.00018565900000000002,0.0,137488.0,14.0 +0.00017325400000000002,0.0,137488.0,14.0 +0.00016370500000000002,0.0,137488.0,14.0 +0.00016865800000000002,0.0,137488.0,14.0 +0.000173733,0.0,137488.0,14.0 +0.00015871600000000002,0.0,137488.0,14.0 +0.000171981,0.0,137488.0,14.0 +0.00016308900000000002,0.0,137488.0,14.0 +0.00016142200000000001,0.0,137488.0,14.0 +0.00016834,0.0,137488.0,14.0 +0.00015961300000000002,0.0,137488.0,14.0 +0.000183823,0.0,137488.0,14.0 +0.00016478100000000002,0.0,137488.0,14.0 +0.00016102,0.0,137488.0,14.0 +0.000171127,0.0,137488.0,14.0 +0.000166391,0.0,137488.0,14.0 +0.00016395600000000001,0.0,137488.0,14.0 +0.000167119,0.0,137488.0,14.0 +0.00016320400000000002,0.0,137488.0,14.0 +0.00016516500000000002,0.0,137488.0,14.0 +0.00017860600000000002,0.0,137488.0,14.0 +0.00016667100000000002,0.0,137488.0,14.0 +0.000169805,0.0,137488.0,14.0 +0.000159121,0.0,137488.0,14.0 +0.000181239,0.0,137488.0,14.0 +0.000176359,0.0,137488.0,14.0 +0.00017209000000000001,0.0,137488.0,14.0 +0.000164109,0.0,137488.0,14.0 +0.00016806000000000001,0.0,137488.0,14.0 +0.00017612700000000002,0.0,137488.0,14.0 +0.000167379,0.0,137488.0,14.0 +0.00017043,0.0,137488.0,14.0 +0.000160039,0.0,137488.0,14.0 +0.00016908600000000001,0.0,137488.0,14.0 +0.000170445,0.0,137488.0,14.0 +0.00016058900000000002,0.0,137488.0,14.0 +0.000166545,0.0,137488.0,14.0 +0.00016856300000000002,0.0,137488.0,14.0 +0.00016252200000000001,0.0,137488.0,14.0 +0.000172083,0.0,137488.0,14.0 +0.000162558,0.0,137488.0,14.0 +0.00016567800000000002,0.0,137488.0,14.0 +0.000176195,0.0,137488.0,14.0 +0.00016018,0.0,137488.0,14.0 +0.00016796200000000002,0.0,137488.0,14.0 +0.000173666,0.0,137488.0,14.0 +0.00016500300000000002,0.0,137488.0,14.0 +0.016214279,0.0,137488.0,14.0 +0.000171418,0.0,137488.0,14.0 +0.000159512,0.0,137488.0,14.0 +0.00017021200000000002,0.0,137488.0,14.0 +0.000159215,0.0,137488.0,14.0 +0.00016182700000000002,0.0,137488.0,14.0 +0.000172661,0.0,137488.0,14.0 +0.00017039800000000002,0.0,137488.0,14.0 +0.000156835,0.0,137488.0,14.0 +0.00018253100000000002,0.0,137488.0,14.0 +0.00016219000000000002,0.0,137488.0,14.0 +0.000169042,0.0,137488.0,14.0 +0.00016541,0.0,137488.0,14.0 +0.000159834,0.0,137488.0,14.0 +0.000169833,0.0,137488.0,14.0 +0.00016494,0.0,137488.0,14.0 +0.000161979,0.0,137488.0,14.0 +0.00016847200000000002,0.0,137488.0,14.0 +0.000158149,0.0,137488.0,14.0 +0.000164814,0.0,137488.0,14.0 +0.00016721000000000002,0.0,137488.0,14.0 +0.000158886,0.0,137488.0,14.0 +0.00016638500000000001,0.0,137488.0,14.0 +0.00017426800000000002,0.0,137488.0,14.0 +0.00017461600000000002,0.0,137488.0,14.0 +0.000172756,0.0,137488.0,14.0 +0.000163981,0.0,137488.0,14.0 +0.00016617700000000002,0.0,137488.0,14.0 +0.00016805200000000002,0.0,137488.0,14.0 +0.000162792,0.0,137488.0,14.0 +0.000165698,0.0,137488.0,14.0 +0.00016823100000000002,0.0,137488.0,14.0 +0.000160783,0.0,137488.0,14.0 +0.00017220200000000002,0.0,137488.0,14.0 +0.00016424,0.0,137488.0,14.0 +0.000160659,0.0,137488.0,14.0 +0.000168683,0.0,137488.0,14.0 +0.000190089,0.0,137488.0,14.0 +0.00017731500000000002,0.0,137488.0,14.0 +0.00016407700000000002,0.0,137488.0,14.0 +0.000159623,0.0,137488.0,14.0 +0.000173993,0.0,137488.0,14.0 +0.000168948,0.0,137488.0,14.0 +0.00016254800000000002,0.0,137488.0,14.0 +0.00016683800000000002,0.0,137488.0,14.0 +0.000163785,0.0,137488.0,14.0 +0.00017020000000000002,0.0,137488.0,14.0 +0.000165544,0.0,137488.0,14.0 +0.000182618,0.0,137488.0,14.0 +0.00017197700000000002,0.0,137488.0,14.0 +0.000163454,0.0,137488.0,14.0 +0.000165691,0.0,137488.0,14.0 +0.00016914300000000002,0.0,137488.0,14.0 +0.00016400300000000002,0.0,137488.0,14.0 +0.00017261700000000002,0.0,137488.0,14.0 +0.00016378400000000002,0.0,137488.0,14.0 +0.000164572,0.0,137488.0,14.0 +0.000165317,0.0,137488.0,14.0 +0.000163515,0.0,137488.0,14.0 +0.000164344,0.0,137488.0,14.0 +0.00016702,0.0,137488.0,14.0 +0.000165901,0.0,137488.0,14.0 +0.000170242,0.0,137488.0,14.0 +0.000164968,0.0,137488.0,14.0 +0.000169614,0.0,137488.0,14.0 +0.000170198,0.0,137488.0,14.0 +0.000160962,0.0,137488.0,14.0 +0.00016370700000000002,0.0,137488.0,14.0 +0.000171879,0.0,137488.0,14.0 +0.00016168900000000002,0.0,137488.0,14.0 +0.000196235,0.0,137488.0,14.0 +0.00018592900000000002,0.0,137488.0,14.0 +0.00016329500000000001,0.0,137488.0,14.0 +0.00016963200000000002,0.0,137488.0,14.0 +0.000168011,0.0,137488.0,14.0 +0.00016744,0.0,137488.0,14.0 +0.00016922900000000002,0.0,137488.0,14.0 +0.000159969,0.0,137488.0,14.0 +0.00016917400000000002,0.0,137488.0,14.0 +0.000163973,0.0,137488.0,14.0 +0.00017057400000000002,0.0,137488.0,14.0 +0.000166595,0.0,137488.0,14.0 +0.000165457,0.0,137488.0,14.0 +0.000167311,0.0,137488.0,14.0 +0.000175797,0.0,137488.0,14.0 +0.00016271000000000002,0.0,137488.0,14.0 +0.00020538700000000002,0.0,137488.0,14.0 +0.00016572,0.0,137488.0,14.0 +0.000165932,0.0,137488.0,14.0 +0.000170805,0.0,137488.0,14.0 +0.000161473,0.0,137488.0,14.0 diff --git a/perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv b/perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv index ce70501..7520b03 100644 --- a/perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv +++ b/perf/PatternFolds/output/300280de-258c-52ff-ac69-4bbbbb93d570.csv @@ -1,5 +1,5 @@ bytes,percentage,filenames,linenumbers -16128,97.49,/home/baffier/.julia/packages/PatternFolds/3DAei/src/vector.jl,87 -320,1.93,/home/baffier/.julia/packages/PatternFolds/3DAei/src/vector.jl,19 +16128,98.44,/home/baffier/.julia/packages/PatternFolds/3DAei/src/vector.jl,87 +160,0.98,/home/baffier/.julia/packages/PatternFolds/3DAei/src/vector.jl,19 48,0.29,/home/baffier/.julia/packages/PatternFolds/3DAei/src/intervals.jl,32 48,0.29,/home/baffier/.julia/packages/PatternFolds/3DAei/src/common.jl,100 diff --git a/perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv b/perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv new file mode 100644 index 0000000..80f0ba2 --- /dev/null +++ b/perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv @@ -0,0 +1,3679 @@ +times,gctimes,bytes,allocs +0.00017357400000000002,0.0,137488.0,14.0 +0.000194832,0.0,137488.0,14.0 +0.00016596700000000002,0.0,137488.0,14.0 +0.00016074900000000002,0.0,137488.0,14.0 +0.000169917,0.0,137488.0,14.0 +0.00016750600000000002,0.0,137488.0,14.0 +0.000161752,0.0,137488.0,14.0 +0.000159795,0.0,137488.0,14.0 +0.000156315,0.0,137488.0,14.0 +0.000159524,0.0,137488.0,14.0 +0.00016285,0.0,137488.0,14.0 +0.000170416,0.0,137488.0,14.0 +0.00016297700000000002,0.0,137488.0,14.0 +0.000171282,0.0,137488.0,14.0 +0.000157307,0.0,137488.0,14.0 +0.00015745100000000002,0.0,137488.0,14.0 +0.000154944,0.0,137488.0,14.0 +0.000154575,0.0,137488.0,14.0 +0.00015473600000000002,0.0,137488.0,14.0 +0.000149008,0.0,137488.0,14.0 +0.00015707200000000002,0.0,137488.0,14.0 +0.00016816000000000002,0.0,137488.0,14.0 +0.000173938,0.0,137488.0,14.0 +0.000166965,0.0,137488.0,14.0 +0.000163379,0.0,137488.0,14.0 +0.000162554,0.0,137488.0,14.0 +0.00016568100000000002,0.0,137488.0,14.0 +0.000164835,0.0,137488.0,14.0 +0.000167373,0.0,137488.0,14.0 +0.00015336600000000002,0.0,137488.0,14.0 +0.000164248,0.0,137488.0,14.0 +0.000160874,0.0,137488.0,14.0 +0.00016007800000000002,0.0,137488.0,14.0 +0.00016400600000000002,0.0,137488.0,14.0 +0.000164437,0.0,137488.0,14.0 +0.000161853,0.0,137488.0,14.0 +0.000161339,0.0,137488.0,14.0 +0.00017016400000000002,0.0,137488.0,14.0 +0.00016179400000000002,0.0,137488.0,14.0 +0.000162595,0.0,137488.0,14.0 +0.000169485,0.0,137488.0,14.0 +0.000163325,0.0,137488.0,14.0 +0.00015761100000000002,0.0,137488.0,14.0 +0.00016455000000000002,0.0,137488.0,14.0 +0.000165236,0.0,137488.0,14.0 +0.000165401,0.0,137488.0,14.0 +0.000183906,0.0,137488.0,14.0 +0.000155317,0.0,137488.0,14.0 +0.000158779,0.0,137488.0,14.0 +0.000154861,0.0,137488.0,14.0 +0.000168536,0.0,137488.0,14.0 +0.00016488,0.0,137488.0,14.0 +0.00016358600000000002,0.0,137488.0,14.0 +0.000159022,0.0,137488.0,14.0 +0.00016111,0.0,137488.0,14.0 +0.000175341,0.0,137488.0,14.0 +0.000162157,0.0,137488.0,14.0 +0.000163933,0.0,137488.0,14.0 +0.00015937200000000002,0.0,137488.0,14.0 +0.00017183700000000002,0.0,137488.0,14.0 +0.00016379600000000002,0.0,137488.0,14.0 +0.000157354,0.0,137488.0,14.0 +0.00016056300000000001,0.0,137488.0,14.0 +0.00015191100000000002,0.0,137488.0,14.0 +0.00015466200000000002,0.0,137488.0,14.0 +0.000166197,0.0,137488.0,14.0 +0.000167989,0.0,137488.0,14.0 +0.000159635,0.0,137488.0,14.0 +0.000159147,0.0,137488.0,14.0 +0.000157369,0.0,137488.0,14.0 +0.000177347,0.0,137488.0,14.0 +0.000166588,0.0,137488.0,14.0 +0.000163084,0.0,137488.0,14.0 +0.000169724,0.0,137488.0,14.0 +0.00015940100000000001,0.0,137488.0,14.0 +0.00015813,0.0,137488.0,14.0 +0.000160368,0.0,137488.0,14.0 +0.000156309,0.0,137488.0,14.0 +0.00015238800000000002,0.0,137488.0,14.0 +0.000165095,0.0,137488.0,14.0 +0.00016184600000000002,0.0,137488.0,14.0 +0.000184148,0.0,137488.0,14.0 +0.000164332,0.0,137488.0,14.0 +0.00017015000000000002,0.0,137488.0,14.0 +0.0001638,0.0,137488.0,14.0 +0.000157626,0.0,137488.0,14.0 +0.000161905,0.0,137488.0,14.0 +0.00016011600000000002,0.0,137488.0,14.0 +0.000160488,0.0,137488.0,14.0 +0.000156949,0.0,137488.0,14.0 +0.00017620800000000002,0.0,137488.0,14.0 +0.00016401500000000002,0.0,137488.0,14.0 +0.000167491,0.0,137488.0,14.0 +0.000158963,0.0,137488.0,14.0 +0.00015761800000000002,0.0,137488.0,14.0 +0.000174728,0.0,137488.0,14.0 +0.00016408200000000002,0.0,137488.0,14.0 +0.00015553,0.0,137488.0,14.0 +0.000152984,0.0,137488.0,14.0 +0.00016442,0.0,137488.0,14.0 +0.00016435600000000002,0.0,137488.0,14.0 +0.00016486700000000002,0.0,137488.0,14.0 +0.00016317,0.0,137488.0,14.0 +0.000159552,0.0,137488.0,14.0 +0.000159681,0.0,137488.0,14.0 +0.00019097000000000002,0.0,137488.0,14.0 +0.00017296800000000001,0.0,137488.0,14.0 +0.000164809,0.0,137488.0,14.0 +0.000163386,0.0,137488.0,14.0 +0.00015267200000000002,0.0,137488.0,14.0 +0.000161709,0.0,137488.0,14.0 +0.000159304,0.0,137488.0,14.0 +0.000166856,0.0,137488.0,14.0 +0.00016907600000000002,0.0,137488.0,14.0 +0.00015175,0.0,137488.0,14.0 +0.00016118800000000002,0.0,137488.0,14.0 +0.000159715,0.0,137488.0,14.0 +0.00016305100000000002,0.0,137488.0,14.0 +0.000154088,0.0,137488.0,14.0 +0.000164713,0.0,137488.0,14.0 +0.000184679,0.0,137488.0,14.0 +0.000162167,0.0,137488.0,14.0 +0.00015803300000000002,0.0,137488.0,14.0 +0.000157719,0.0,137488.0,14.0 +0.00017121400000000002,0.0,137488.0,14.0 +0.000163608,0.0,137488.0,14.0 +0.00016661600000000002,0.0,137488.0,14.0 +0.000165851,0.0,137488.0,14.0 +0.00016818100000000002,0.0,137488.0,14.0 +0.00016386700000000002,0.0,137488.0,14.0 +0.000165541,0.0,137488.0,14.0 +0.000162167,0.0,137488.0,14.0 +0.000161229,0.0,137488.0,14.0 +0.00020661,0.0,137488.0,14.0 +0.00016917600000000002,0.0,137488.0,14.0 +0.00016899700000000002,0.0,137488.0,14.0 +0.00016600800000000001,0.0,137488.0,14.0 +0.00016593600000000002,0.0,137488.0,14.0 +0.00016226600000000002,0.0,137488.0,14.0 +0.000156398,0.0,137488.0,14.0 +0.00017127800000000002,0.0,137488.0,14.0 +0.00015326600000000002,0.0,137488.0,14.0 +0.000160449,0.0,137488.0,14.0 +0.000173374,0.0,137488.0,14.0 +0.000165687,0.0,137488.0,14.0 +0.000147603,0.0,137488.0,14.0 +0.00016777,0.0,137488.0,14.0 +0.000165241,0.0,137488.0,14.0 +0.000152735,0.0,137488.0,14.0 +0.00016280300000000002,0.0,137488.0,14.0 +0.00015871100000000002,0.0,137488.0,14.0 +0.00016697,0.0,137488.0,14.0 +0.00016205,0.0,137488.0,14.0 +0.000177906,0.0,137488.0,14.0 +0.00015998000000000002,0.0,137488.0,14.0 +0.000159225,0.0,137488.0,14.0 +0.00015308500000000002,0.0,137488.0,14.0 +0.000169168,0.0,137488.0,14.0 +0.000172948,0.0,137488.0,14.0 +0.00015898300000000002,0.0,137488.0,14.0 +0.000161329,0.0,137488.0,14.0 +0.000162713,0.0,137488.0,14.0 +0.000150447,0.0,137488.0,14.0 +0.00016347100000000002,0.0,137488.0,14.0 +0.00016275300000000002,0.0,137488.0,14.0 +0.000166498,0.0,137488.0,14.0 +0.00018043100000000002,0.0,137488.0,14.0 +0.000171409,0.0,137488.0,14.0 +0.000164792,0.0,137488.0,14.0 +0.00016513900000000002,0.0,137488.0,14.0 +0.000154384,0.0,137488.0,14.0 +0.000157937,0.0,137488.0,14.0 +0.000161044,0.0,137488.0,14.0 +0.00015612500000000001,0.0,137488.0,14.0 +0.000165395,0.0,137488.0,14.0 +0.000352622,0.0,137488.0,14.0 +0.000156768,0.0,137488.0,14.0 +0.000156359,0.0,137488.0,14.0 +0.000165491,0.0,137488.0,14.0 +0.000161046,0.0,137488.0,14.0 +0.000159137,0.0,137488.0,14.0 +0.00016576900000000002,0.0,137488.0,14.0 +0.00016970800000000002,0.0,137488.0,14.0 +0.00016569300000000001,0.0,137488.0,14.0 +0.00017831000000000002,0.0,137488.0,14.0 +0.00016909300000000002,0.0,137488.0,14.0 +0.000161291,0.0,137488.0,14.0 +0.000159118,0.0,137488.0,14.0 +0.00016790700000000002,0.0,137488.0,14.0 +0.00017425600000000002,0.0,137488.0,14.0 +0.00016563800000000002,0.0,137488.0,14.0 +0.00016543700000000002,0.0,137488.0,14.0 +0.00016368400000000001,0.0,137488.0,14.0 +0.00015962000000000002,0.0,137488.0,14.0 +0.000157176,0.0,137488.0,14.0 +0.000155315,0.0,137488.0,14.0 +0.00016657300000000002,0.0,137488.0,14.0 +0.000160315,0.0,137488.0,14.0 +0.000158948,0.0,137488.0,14.0 +0.00016441600000000002,0.0,137488.0,14.0 +0.000158152,0.0,137488.0,14.0 +0.00015694500000000002,0.0,137488.0,14.0 +0.000173882,0.0,137488.0,14.0 +0.000162575,0.0,137488.0,14.0 +0.00016636100000000002,0.0,137488.0,14.0 +0.000154315,0.0,137488.0,14.0 +0.000149533,0.0,137488.0,14.0 +0.000165247,0.0,137488.0,14.0 +0.000176596,0.0,137488.0,14.0 +0.000159924,0.0,137488.0,14.0 +0.000156737,0.0,137488.0,14.0 +0.00015556400000000002,0.0,137488.0,14.0 +0.00016133100000000002,0.0,137488.0,14.0 +0.00015885,0.0,137488.0,14.0 +0.000161112,0.0,137488.0,14.0 +0.000165706,0.0,137488.0,14.0 +0.000162916,0.0,137488.0,14.0 +0.00016861100000000002,0.0,137488.0,14.0 +0.00017037,0.0,137488.0,14.0 +0.000163695,0.0,137488.0,14.0 +0.00016775900000000002,0.0,137488.0,14.0 +0.00017046700000000002,0.0,137488.0,14.0 +0.00016242100000000002,0.0,137488.0,14.0 +0.000164338,0.0,137488.0,14.0 +0.00016395600000000001,0.0,137488.0,14.0 +0.00016278600000000002,0.0,137488.0,14.0 +0.00015809300000000002,0.0,137488.0,14.0 +0.000155439,0.0,137488.0,14.0 +0.000157916,0.0,137488.0,14.0 +0.000161088,0.0,137488.0,14.0 +0.000155468,0.0,137488.0,14.0 +0.00016357,0.0,137488.0,14.0 +0.00016268600000000002,0.0,137488.0,14.0 +0.00018453000000000002,0.0,137488.0,14.0 +0.00017238500000000002,0.0,137488.0,14.0 +0.00016118800000000002,0.0,137488.0,14.0 +0.00016296100000000001,0.0,137488.0,14.0 +0.00015700700000000002,0.0,137488.0,14.0 +0.00015434200000000002,0.0,137488.0,14.0 +0.000165315,0.0,137488.0,14.0 +0.000156765,0.0,137488.0,14.0 +0.00015954600000000002,0.0,137488.0,14.0 +0.00016302000000000002,0.0,137488.0,14.0 +0.00015715500000000002,0.0,137488.0,14.0 +0.000158071,0.0,137488.0,14.0 +0.000163652,0.0,137488.0,14.0 +0.000160175,0.0,137488.0,14.0 +0.000159011,0.0,137488.0,14.0 +0.000169905,0.0,137488.0,14.0 +0.00018155000000000002,0.0,137488.0,14.0 +0.00015730100000000002,0.0,137488.0,14.0 +0.000167851,0.0,137488.0,14.0 +0.000165233,0.0,137488.0,14.0 +0.000159536,0.0,137488.0,14.0 +0.00016414200000000002,0.0,137488.0,14.0 +0.00015938400000000002,0.0,137488.0,14.0 +0.000154417,0.0,137488.0,14.0 +0.000184489,0.0,137488.0,14.0 +0.000168791,0.0,137488.0,14.0 +0.000154663,0.0,137488.0,14.0 +0.000155212,0.0,137488.0,14.0 +0.000156546,0.0,137488.0,14.0 +0.000168054,0.0,137488.0,14.0 +0.000167001,0.0,137488.0,14.0 +0.000155673,0.0,137488.0,14.0 +0.000158662,0.0,137488.0,14.0 +0.000155737,0.0,137488.0,14.0 +0.00016114000000000002,0.0,137488.0,14.0 +0.000153876,0.0,137488.0,14.0 +0.00016509,0.0,137488.0,14.0 +0.00016198700000000002,0.0,137488.0,14.0 +0.00016246400000000002,0.0,137488.0,14.0 +0.000152082,0.0,137488.0,14.0 +0.000156624,0.0,137488.0,14.0 +0.000163238,0.0,137488.0,14.0 +0.000161323,0.0,137488.0,14.0 +0.000163864,0.0,137488.0,14.0 +0.00015576,0.0,137488.0,14.0 +0.000161315,0.0,137488.0,14.0 +0.000157352,0.0,137488.0,14.0 +0.000165266,0.0,137488.0,14.0 +0.00016603100000000002,0.0,137488.0,14.0 +0.00017335,0.0,137488.0,14.0 +0.000170654,0.0,137488.0,14.0 +0.000164064,0.0,137488.0,14.0 +0.000155916,0.0,137488.0,14.0 +0.000153649,0.0,137488.0,14.0 +0.000158514,0.0,137488.0,14.0 +0.000155949,0.0,137488.0,14.0 +0.000162513,0.0,137488.0,14.0 +0.000184055,0.0,137488.0,14.0 +0.00016926900000000002,0.0,137488.0,14.0 +0.000160834,0.0,137488.0,14.0 +0.00015494600000000002,0.0,137488.0,14.0 +0.00016190400000000001,0.0,137488.0,14.0 +0.00016089,0.0,137488.0,14.0 +0.000160549,0.0,137488.0,14.0 +0.00015965600000000002,0.0,137488.0,14.0 +0.000151934,0.0,137488.0,14.0 +0.000151308,0.0,137488.0,14.0 +0.000167271,0.0,137488.0,14.0 +0.000164866,0.0,137488.0,14.0 +0.00016239500000000002,0.0,137488.0,14.0 +0.000169056,0.0,137488.0,14.0 +0.000169824,0.0,137488.0,14.0 +0.000159154,0.0,137488.0,14.0 +0.000180473,0.0,137488.0,14.0 +0.000159929,0.0,137488.0,14.0 +0.000162845,0.0,137488.0,14.0 +0.000165663,0.0,137488.0,14.0 +0.00015514600000000002,0.0,137488.0,14.0 +0.000168791,0.0,137488.0,14.0 +0.000166779,0.0,137488.0,14.0 +0.000164365,0.0,137488.0,14.0 +0.000159046,0.0,137488.0,14.0 +0.000160762,0.0,137488.0,14.0 +0.000162473,0.0,137488.0,14.0 +0.00016247900000000001,0.0,137488.0,14.0 +0.000164282,0.0,137488.0,14.0 +0.00015506500000000002,0.0,137488.0,14.0 +0.000162547,0.0,137488.0,14.0 +0.000165345,0.0,137488.0,14.0 +0.000169295,0.0,137488.0,14.0 +0.00016030000000000002,0.0,137488.0,14.0 +0.000155117,0.0,137488.0,14.0 +0.00016037400000000002,0.0,137488.0,14.0 +0.00016076300000000002,0.0,137488.0,14.0 +0.00016467600000000002,0.0,137488.0,14.0 +0.000154128,0.0,137488.0,14.0 +0.00015630800000000002,0.0,137488.0,14.0 +0.000161972,0.0,137488.0,14.0 +0.000174744,0.0,137488.0,14.0 +0.000157708,0.0,137488.0,14.0 +0.00018180100000000002,0.0,137488.0,14.0 +0.00017215,0.0,137488.0,14.0 +0.000154201,0.0,137488.0,14.0 +0.00016286000000000002,0.0,137488.0,14.0 +0.000157887,0.0,137488.0,14.0 +0.000155675,0.0,137488.0,14.0 +0.00015532800000000001,0.0,137488.0,14.0 +0.000151928,0.0,137488.0,14.0 +0.000151605,0.0,137488.0,14.0 +0.000166218,0.0,137488.0,14.0 +0.000159037,0.0,137488.0,14.0 +0.000167452,0.0,137488.0,14.0 +0.000165068,0.0,137488.0,14.0 +0.000157602,0.0,137488.0,14.0 +0.00016534200000000002,0.0,137488.0,14.0 +0.000156348,0.0,137488.0,14.0 +0.000160123,0.0,137488.0,14.0 +0.000162349,0.0,137488.0,14.0 +0.00015827000000000001,0.0,137488.0,14.0 +0.00015992800000000002,0.0,137488.0,14.0 +0.00028033,0.0,137488.0,14.0 +0.000284985,0.0,137488.0,14.0 +0.00027093200000000004,0.0,137488.0,14.0 +0.00028085400000000003,0.0,137488.0,14.0 +0.00026601900000000004,0.0,137488.0,14.0 +0.000281924,0.0,137488.0,14.0 +0.000276111,0.0,137488.0,14.0 +0.000279131,0.0,137488.0,14.0 +0.00027851700000000004,0.0,137488.0,14.0 +0.000338385,0.0,137488.0,14.0 +0.000278287,0.0,137488.0,14.0 +0.000274813,0.0,137488.0,14.0 +0.00027581700000000003,0.0,137488.0,14.0 +0.000274186,0.0,137488.0,14.0 +0.000269288,0.0,137488.0,14.0 +0.000288978,0.0,137488.0,14.0 +0.000263713,0.0,137488.0,14.0 +0.000283625,0.0,137488.0,14.0 +0.000268572,0.0,137488.0,14.0 +0.00027676,0.0,137488.0,14.0 +0.00027167,0.0,137488.0,14.0 +0.000275995,0.0,137488.0,14.0 +0.00027175,0.0,137488.0,14.0 +0.00027662300000000004,0.0,137488.0,14.0 +0.000271952,0.0,137488.0,14.0 +0.000274125,0.0,137488.0,14.0 +0.000274281,0.0,137488.0,14.0 +0.000277113,0.0,137488.0,14.0 +0.000269505,0.0,137488.0,14.0 +0.000280976,0.0,137488.0,14.0 +0.00027823400000000003,0.0,137488.0,14.0 +0.000278044,0.0,137488.0,14.0 +0.00026402200000000004,0.0,137488.0,14.0 +0.000288516,0.0,137488.0,14.0 +0.000259173,0.0,137488.0,14.0 +0.000275506,0.0,137488.0,14.0 +0.000265668,0.0,137488.0,14.0 +0.000281905,0.0,137488.0,14.0 +0.000267181,0.0,137488.0,14.0 +0.000276135,0.0,137488.0,14.0 +0.000268562,0.0,137488.0,14.0 +0.000276243,0.0,137488.0,14.0 +0.000276329,0.0,137488.0,14.0 +0.000277417,0.0,137488.0,14.0 +0.000284413,0.0,137488.0,14.0 +0.00028048200000000003,0.0,137488.0,14.0 +0.00026886200000000003,0.0,137488.0,14.0 +0.000281159,0.0,137488.0,14.0 +0.000274466,0.0,137488.0,14.0 +0.000273632,0.0,137488.0,14.0 +0.00026962700000000004,0.0,137488.0,14.0 +0.000282336,0.0,137488.0,14.0 +0.000264229,0.0,137488.0,14.0 +0.00027988000000000004,0.0,137488.0,14.0 +0.000278983,0.0,137488.0,14.0 +0.000271597,0.0,137488.0,14.0 +0.00026969900000000003,0.0,137488.0,14.0 +0.000276883,0.0,137488.0,14.0 +0.000276083,0.0,137488.0,14.0 +0.000290528,0.0,137488.0,14.0 +0.00026882100000000003,0.0,137488.0,14.0 +0.000284045,0.0,137488.0,14.0 +0.000270324,0.0,137488.0,14.0 +0.000271158,0.0,137488.0,14.0 +0.000266546,0.0,137488.0,14.0 +0.000277399,0.0,137488.0,14.0 +0.00027585900000000004,0.0,137488.0,14.0 +0.000286159,0.0,137488.0,14.0 +0.000264057,0.0,137488.0,14.0 +0.00027883700000000004,0.0,137488.0,14.0 +0.00028325000000000003,0.0,137488.0,14.0 +0.000271467,0.0,137488.0,14.0 +0.00028415300000000004,0.0,137488.0,14.0 +0.000279661,0.0,137488.0,14.0 +0.000282911,0.0,137488.0,14.0 +0.000285542,0.0,137488.0,14.0 +0.000274218,0.0,137488.0,14.0 +0.00027335200000000004,0.0,137488.0,14.0 +0.000285104,0.0,137488.0,14.0 +0.000265386,0.0,137488.0,14.0 +0.000276538,0.0,137488.0,14.0 +0.000288617,0.0,137488.0,14.0 +0.000275599,0.0,137488.0,14.0 +0.000274211,0.0,137488.0,14.0 +0.000267779,0.0,137488.0,14.0 +0.00027219500000000003,0.0,137488.0,14.0 +0.000282202,0.0,137488.0,14.0 +0.000263965,0.0,137488.0,14.0 +0.000287552,0.0,137488.0,14.0 +0.000270905,0.0,137488.0,14.0 +0.000277462,0.0,137488.0,14.0 +0.000271783,0.0,137488.0,14.0 +0.00027296300000000004,0.0,137488.0,14.0 +0.00026954400000000003,0.0,137488.0,14.0 +0.000278922,0.0,137488.0,14.0 +0.00027026700000000003,0.0,137488.0,14.0 +0.000278376,0.0,137488.0,14.0 +0.000269085,0.0,137488.0,14.0 +0.000278139,0.0,137488.0,14.0 +0.000274203,0.0,137488.0,14.0 +0.000280994,0.0,137488.0,14.0 +0.000271096,0.0,137488.0,14.0 +0.000296308,0.0,137488.0,14.0 +0.000271574,0.0,137488.0,14.0 +0.000277226,0.0,137488.0,14.0 +0.000265262,0.0,137488.0,14.0 +0.000279695,0.0,137488.0,14.0 +0.000274872,0.0,137488.0,14.0 +0.000270964,0.0,137488.0,14.0 +0.000277826,0.0,137488.0,14.0 +0.000284968,0.0,137488.0,14.0 +0.00027701,0.0,137488.0,14.0 +0.000284178,0.0,137488.0,14.0 +0.000271209,0.0,137488.0,14.0 +0.000281728,0.0,137488.0,14.0 +0.00026985400000000004,0.0,137488.0,14.0 +0.000276938,0.0,137488.0,14.0 +0.000281404,0.0,137488.0,14.0 +0.00027557600000000003,0.0,137488.0,14.0 +0.00027166,0.0,137488.0,14.0 +0.000276246,0.0,137488.0,14.0 +0.000267212,0.0,137488.0,14.0 +0.000280406,0.0,137488.0,14.0 +0.000278975,0.0,137488.0,14.0 +0.000275892,0.0,137488.0,14.0 +0.00027311,0.0,137488.0,14.0 +0.00027726300000000003,0.0,137488.0,14.0 +0.00026582200000000003,0.0,137488.0,14.0 +0.00028222,0.0,137488.0,14.0 +0.000261242,0.0,137488.0,14.0 +0.000287545,0.0,137488.0,14.0 +0.00028463100000000003,0.0,137488.0,14.0 +0.000281201,0.0,137488.0,14.0 +0.00026456600000000004,0.0,137488.0,14.0 +0.00028417000000000004,0.0,137488.0,14.0 +0.000264058,0.0,137488.0,14.0 +0.00027886400000000003,0.0,137488.0,14.0 +0.000268321,0.0,137488.0,14.0 +0.00028044400000000003,0.0,137488.0,14.0 +0.000275303,0.0,137488.0,14.0 +0.000267856,0.0,137488.0,14.0 +0.00027312,0.0,137488.0,14.0 +0.000277781,0.0,137488.0,14.0 +0.000266829,0.0,137488.0,14.0 +0.000277055,0.0,137488.0,14.0 +0.00027253600000000003,0.0,137488.0,14.0 +0.00029590300000000003,0.0,137488.0,14.0 +0.000273854,0.0,137488.0,14.0 +0.000278322,0.0,137488.0,14.0 +0.000271831,0.0,137488.0,14.0 +0.000293465,0.0,137488.0,14.0 +0.000266333,0.0,137488.0,14.0 +0.00028233,0.0,137488.0,14.0 +0.000266823,0.0,137488.0,14.0 +0.007331491000000001,0.9398136068093107,137488.0,14.0 +0.000175376,0.0,137488.0,14.0 +0.000154215,0.0,137488.0,14.0 +0.000161871,0.0,137488.0,14.0 +0.000158953,0.0,137488.0,14.0 +0.000160604,0.0,137488.0,14.0 +0.000163756,0.0,137488.0,14.0 +0.000160189,0.0,137488.0,14.0 +0.00017153,0.0,137488.0,14.0 +0.000156817,0.0,137488.0,14.0 +0.000163486,0.0,137488.0,14.0 +0.00016664000000000002,0.0,137488.0,14.0 +0.00016244000000000002,0.0,137488.0,14.0 +0.00016255700000000002,0.0,137488.0,14.0 +0.000161847,0.0,137488.0,14.0 +0.000176681,0.0,137488.0,14.0 +0.00016854900000000002,0.0,137488.0,14.0 +0.000158887,0.0,137488.0,14.0 +0.00016727700000000002,0.0,137488.0,14.0 +0.000155241,0.0,137488.0,14.0 +0.00015196800000000002,0.0,137488.0,14.0 +0.00016388200000000001,0.0,137488.0,14.0 +0.000156624,0.0,137488.0,14.0 +0.000168078,0.0,137488.0,14.0 +0.00016230400000000002,0.0,137488.0,14.0 +0.000166686,0.0,137488.0,14.0 +0.00016087000000000002,0.0,137488.0,14.0 +0.000155728,0.0,137488.0,14.0 +0.00016906,0.0,137488.0,14.0 +0.00015943600000000002,0.0,137488.0,14.0 +0.0001705,0.0,137488.0,14.0 +0.000155351,0.0,137488.0,14.0 +0.000162881,0.0,137488.0,14.0 +0.00016460000000000002,0.0,137488.0,14.0 +0.000162447,0.0,137488.0,14.0 +0.00016047400000000002,0.0,137488.0,14.0 +0.000161714,0.0,137488.0,14.0 +0.000161237,0.0,137488.0,14.0 +0.000159913,0.0,137488.0,14.0 +0.00016111,0.0,137488.0,14.0 +0.00016733700000000001,0.0,137488.0,14.0 +0.00016237600000000002,0.0,137488.0,14.0 +0.00016761,0.0,137488.0,14.0 +0.000166341,0.0,137488.0,14.0 +0.00016913,0.0,137488.0,14.0 +0.00016351,0.0,137488.0,14.0 +0.000152814,0.0,137488.0,14.0 +0.00017143100000000002,0.0,137488.0,14.0 +0.000169499,0.0,137488.0,14.0 +0.00015986800000000002,0.0,137488.0,14.0 +0.000160259,0.0,137488.0,14.0 +0.000163847,0.0,137488.0,14.0 +0.000156109,0.0,137488.0,14.0 +0.000160189,0.0,137488.0,14.0 +0.00015832200000000002,0.0,137488.0,14.0 +0.000157304,0.0,137488.0,14.0 +0.00016101400000000001,0.0,137488.0,14.0 +0.000157782,0.0,137488.0,14.0 +0.000158806,0.0,137488.0,14.0 +0.00015751800000000002,0.0,137488.0,14.0 +0.000167954,0.0,137488.0,14.0 +0.00016213000000000002,0.0,137488.0,14.0 +0.00016202,0.0,137488.0,14.0 +0.00016117600000000002,0.0,137488.0,14.0 +0.000172582,0.0,137488.0,14.0 +0.00016428500000000002,0.0,137488.0,14.0 +0.000157278,0.0,137488.0,14.0 +0.00015540400000000002,0.0,137488.0,14.0 +0.000161821,0.0,137488.0,14.0 +0.00016796200000000002,0.0,137488.0,14.0 +0.00015789300000000001,0.0,137488.0,14.0 +0.00015296100000000001,0.0,137488.0,14.0 +0.000161387,0.0,137488.0,14.0 +0.00016243300000000002,0.0,137488.0,14.0 +0.000171489,0.0,137488.0,14.0 +0.00016174,0.0,137488.0,14.0 +0.00018196,0.0,137488.0,14.0 +0.000157302,0.0,137488.0,14.0 +0.000167256,0.0,137488.0,14.0 +0.000162093,0.0,137488.0,14.0 +0.00016947200000000002,0.0,137488.0,14.0 +0.000153014,0.0,137488.0,14.0 +0.000154684,0.0,137488.0,14.0 +0.00017810700000000002,0.0,137488.0,14.0 +0.000159542,0.0,137488.0,14.0 +0.000153331,0.0,137488.0,14.0 +0.000162069,0.0,137488.0,14.0 +0.000155515,0.0,137488.0,14.0 +0.000151866,0.0,137488.0,14.0 +0.00017567600000000002,0.0,137488.0,14.0 +0.000156317,0.0,137488.0,14.0 +0.00016462400000000001,0.0,137488.0,14.0 +0.00015808,0.0,137488.0,14.0 +0.000152971,0.0,137488.0,14.0 +0.00016625600000000002,0.0,137488.0,14.0 +0.00016379600000000002,0.0,137488.0,14.0 +0.000164952,0.0,137488.0,14.0 +0.00015404,0.0,137488.0,14.0 +0.000160561,0.0,137488.0,14.0 +0.000165976,0.0,137488.0,14.0 +0.00015712700000000002,0.0,137488.0,14.0 +0.000154832,0.0,137488.0,14.0 +0.00015825800000000002,0.0,137488.0,14.0 +0.000155753,0.0,137488.0,14.0 +0.00016538200000000002,0.0,137488.0,14.0 +0.000159512,0.0,137488.0,14.0 +0.000166954,0.0,137488.0,14.0 +0.000164723,0.0,137488.0,14.0 +0.000160153,0.0,137488.0,14.0 +0.00016667600000000001,0.0,137488.0,14.0 +0.000171602,0.0,137488.0,14.0 +0.00016597200000000002,0.0,137488.0,14.0 +0.000151995,0.0,137488.0,14.0 +0.000154808,0.0,137488.0,14.0 +0.000181683,0.0,137488.0,14.0 +0.000173332,0.0,137488.0,14.0 +0.00016470700000000002,0.0,137488.0,14.0 +0.00015318300000000001,0.0,137488.0,14.0 +0.000158102,0.0,137488.0,14.0 +0.00015876600000000002,0.0,137488.0,14.0 +0.000165747,0.0,137488.0,14.0 +0.000156672,0.0,137488.0,14.0 +0.000159691,0.0,137488.0,14.0 +0.000160153,0.0,137488.0,14.0 +0.000157295,0.0,137488.0,14.0 +0.00016071100000000001,0.0,137488.0,14.0 +0.00016238800000000002,0.0,137488.0,14.0 +0.00016798300000000002,0.0,137488.0,14.0 +0.000159929,0.0,137488.0,14.0 +0.00016885200000000002,0.0,137488.0,14.0 +0.000163078,0.0,137488.0,14.0 +0.000160299,0.0,137488.0,14.0 +0.000166336,0.0,137488.0,14.0 +0.000159946,0.0,137488.0,14.0 +0.000161365,0.0,137488.0,14.0 +0.00016282500000000001,0.0,137488.0,14.0 +0.000156002,0.0,137488.0,14.0 +0.00016691900000000002,0.0,137488.0,14.0 +0.000177135,0.0,137488.0,14.0 +0.000171482,0.0,137488.0,14.0 +0.00016199900000000002,0.0,137488.0,14.0 +0.00016059600000000002,0.0,137488.0,14.0 +0.000154138,0.0,137488.0,14.0 +0.000164525,0.0,137488.0,14.0 +0.000167013,0.0,137488.0,14.0 +0.00016052200000000002,0.0,137488.0,14.0 +0.00016399600000000002,0.0,137488.0,14.0 +0.00015394600000000002,0.0,137488.0,14.0 +0.00016747300000000001,0.0,137488.0,14.0 +0.00015980600000000002,0.0,137488.0,14.0 +0.00016662800000000002,0.0,137488.0,14.0 +0.000156815,0.0,137488.0,14.0 +0.000159676,0.0,137488.0,14.0 +0.000156063,0.0,137488.0,14.0 +0.00016087300000000002,0.0,137488.0,14.0 +0.000151797,0.0,137488.0,14.0 +0.000160456,0.0,137488.0,14.0 +0.000164584,0.0,137488.0,14.0 +0.000151516,0.0,137488.0,14.0 +0.00016787,0.0,137488.0,14.0 +0.000160003,0.0,137488.0,14.0 +0.00015807900000000002,0.0,137488.0,14.0 +0.000154086,0.0,137488.0,14.0 +0.000174772,0.0,137488.0,14.0 +0.00016269600000000002,0.0,137488.0,14.0 +0.000166357,0.0,137488.0,14.0 +0.00015395300000000002,0.0,137488.0,14.0 +0.00015440700000000001,0.0,137488.0,14.0 +0.000163785,0.0,137488.0,14.0 +0.000156159,0.0,137488.0,14.0 +0.00016133800000000002,0.0,137488.0,14.0 +0.00016717200000000002,0.0,137488.0,14.0 +0.000155142,0.0,137488.0,14.0 +0.000160604,0.0,137488.0,14.0 +0.000154704,0.0,137488.0,14.0 +0.00015288900000000002,0.0,137488.0,14.0 +0.000164095,0.0,137488.0,14.0 +0.00016211600000000002,0.0,137488.0,14.0 +0.00016189400000000002,0.0,137488.0,14.0 +0.00017006900000000001,0.0,137488.0,14.0 +0.000163277,0.0,137488.0,14.0 +0.00016021,0.0,137488.0,14.0 +0.000166124,0.0,137488.0,14.0 +0.000163418,0.0,137488.0,14.0 +0.000157641,0.0,137488.0,14.0 +0.00016586400000000002,0.0,137488.0,14.0 +0.000154143,0.0,137488.0,14.0 +0.000167688,0.0,137488.0,14.0 +0.00015831700000000002,0.0,137488.0,14.0 +0.00016007100000000002,0.0,137488.0,14.0 +0.000162021,0.0,137488.0,14.0 +0.000159376,0.0,137488.0,14.0 +0.000154565,0.0,137488.0,14.0 +0.000163551,0.0,137488.0,14.0 +0.000161268,0.0,137488.0,14.0 +0.00015911400000000002,0.0,137488.0,14.0 +0.00015957500000000002,0.0,137488.0,14.0 +0.00016399,0.0,137488.0,14.0 +0.00016643200000000002,0.0,137488.0,14.0 +0.00015474100000000001,0.0,137488.0,14.0 +0.00015765,0.0,137488.0,14.0 +0.000170921,0.0,137488.0,14.0 +0.00015543500000000002,0.0,137488.0,14.0 +0.000154283,0.0,137488.0,14.0 +0.000160957,0.0,137488.0,14.0 +0.000158312,0.0,137488.0,14.0 +0.000160972,0.0,137488.0,14.0 +0.000156977,0.0,137488.0,14.0 +0.000154666,0.0,137488.0,14.0 +0.000163384,0.0,137488.0,14.0 +0.000161602,0.0,137488.0,14.0 +0.000161387,0.0,137488.0,14.0 +0.00017310800000000002,0.0,137488.0,14.0 +0.00016286000000000002,0.0,137488.0,14.0 +0.000157848,0.0,137488.0,14.0 +0.000156507,0.0,137488.0,14.0 +0.000154412,0.0,137488.0,14.0 +0.00016878700000000002,0.0,137488.0,14.0 +0.00016796200000000002,0.0,137488.0,14.0 +0.000164591,0.0,137488.0,14.0 +0.00016448800000000001,0.0,137488.0,14.0 +0.000163558,0.0,137488.0,14.0 +0.00016898500000000002,0.0,137488.0,14.0 +0.000153046,0.0,137488.0,14.0 +0.000156526,0.0,137488.0,14.0 +0.000166959,0.0,137488.0,14.0 +0.00015333,0.0,137488.0,14.0 +0.000161069,0.0,137488.0,14.0 +0.000156247,0.0,137488.0,14.0 +0.000161074,0.0,137488.0,14.0 +0.000156049,0.0,137488.0,14.0 +0.000165754,0.0,137488.0,14.0 +0.00015598600000000002,0.0,137488.0,14.0 +0.000165009,0.0,137488.0,14.0 +0.000158089,0.0,137488.0,14.0 +0.000167758,0.0,137488.0,14.0 +0.000162599,0.0,137488.0,14.0 +0.000167116,0.0,137488.0,14.0 +0.000164866,0.0,137488.0,14.0 +0.00015321,0.0,137488.0,14.0 +0.000157006,0.0,137488.0,14.0 +0.000163899,0.0,137488.0,14.0 +0.00015319700000000002,0.0,137488.0,14.0 +0.00015914300000000002,0.0,137488.0,14.0 +0.00016545,0.0,137488.0,14.0 +0.000153048,0.0,137488.0,14.0 +0.00016031700000000002,0.0,137488.0,14.0 +0.000155091,0.0,137488.0,14.0 +0.00016760400000000002,0.0,137488.0,14.0 +0.00017361400000000002,0.0,137488.0,14.0 +0.000153584,0.0,137488.0,14.0 +0.00015420900000000001,0.0,137488.0,14.0 +0.00016126900000000002,0.0,137488.0,14.0 +0.00014977500000000002,0.0,137488.0,14.0 +0.00016288700000000001,0.0,137488.0,14.0 +0.000158764,0.0,137488.0,14.0 +0.000161349,0.0,137488.0,14.0 +0.000167304,0.0,137488.0,14.0 +0.000152585,0.0,137488.0,14.0 +0.00016299400000000002,0.0,137488.0,14.0 +0.000161738,0.0,137488.0,14.0 +0.00015882800000000002,0.0,137488.0,14.0 +0.00017988000000000002,0.0,137488.0,14.0 +0.000156001,0.0,137488.0,14.0 +0.000153222,0.0,137488.0,14.0 +0.000166345,0.0,137488.0,14.0 +0.000152799,0.0,137488.0,14.0 +0.00015786200000000001,0.0,137488.0,14.0 +0.00016155500000000002,0.0,137488.0,14.0 +0.000155138,0.0,137488.0,14.0 +0.00016381500000000002,0.0,137488.0,14.0 +0.000154796,0.0,137488.0,14.0 +0.00015105900000000002,0.0,137488.0,14.0 +0.000166922,0.0,137488.0,14.0 +0.00015636,0.0,137488.0,14.0 +0.00015896200000000001,0.0,137488.0,14.0 +0.00016620100000000002,0.0,137488.0,14.0 +0.00015108300000000002,0.0,137488.0,14.0 +0.00016842700000000002,0.0,137488.0,14.0 +0.000158398,0.0,137488.0,14.0 +0.000154918,0.0,137488.0,14.0 +0.00017138100000000002,0.0,137488.0,14.0 +0.000155856,0.0,137488.0,14.0 +0.000158011,0.0,137488.0,14.0 +0.000169006,0.0,137488.0,14.0 +0.00015207,0.0,137488.0,14.0 +0.000154136,0.0,137488.0,14.0 +0.000222901,0.0,137488.0,14.0 +0.000166379,0.0,137488.0,14.0 +0.000166582,0.0,137488.0,14.0 +0.000160743,0.0,137488.0,14.0 +0.00016203200000000002,0.0,137488.0,14.0 +0.000167262,0.0,137488.0,14.0 +0.000239108,0.0,137488.0,14.0 +0.00016662300000000002,0.0,137488.0,14.0 +0.0001642,0.0,137488.0,14.0 +0.000148127,0.0,137488.0,14.0 +0.000160965,0.0,137488.0,14.0 +0.00015316600000000002,0.0,137488.0,14.0 +0.00016394800000000002,0.0,137488.0,14.0 +0.000162924,0.0,137488.0,14.0 +0.00015655900000000002,0.0,137488.0,14.0 +0.000159712,0.0,137488.0,14.0 +0.000159213,0.0,137488.0,14.0 +0.000159812,0.0,137488.0,14.0 +0.000172031,0.0,137488.0,14.0 +0.00015961300000000002,0.0,137488.0,14.0 +0.000164248,0.0,137488.0,14.0 +0.00015921200000000002,0.0,137488.0,14.0 +0.00015247400000000002,0.0,137488.0,14.0 +0.000159857,0.0,137488.0,14.0 +0.00017711200000000002,0.0,137488.0,14.0 +0.000155427,0.0,137488.0,14.0 +0.000159013,0.0,137488.0,14.0 +0.000153856,0.0,137488.0,14.0 +0.00015994900000000002,0.0,137488.0,14.0 +0.00016277900000000002,0.0,137488.0,14.0 +0.000162744,0.0,137488.0,14.0 +0.00015842000000000002,0.0,137488.0,14.0 +0.00015055800000000002,0.0,137488.0,14.0 +0.000156207,0.0,137488.0,14.0 +0.000155496,0.0,137488.0,14.0 +0.000149097,0.0,137488.0,14.0 +0.000156508,0.0,137488.0,14.0 +0.00015806000000000001,0.0,137488.0,14.0 +0.00015762100000000001,0.0,137488.0,14.0 +0.000159194,0.0,137488.0,14.0 +0.000150392,0.0,137488.0,14.0 +0.00015242600000000002,0.0,137488.0,14.0 +0.00016329500000000001,0.0,137488.0,14.0 +0.000165663,0.0,137488.0,14.0 +0.00016109500000000002,0.0,137488.0,14.0 +0.000168133,0.0,137488.0,14.0 +0.000177495,0.0,137488.0,14.0 +0.0018608670000000002,0.7940395525311589,137488.0,14.0 +0.000164651,0.0,137488.0,14.0 +0.00016240700000000002,0.0,137488.0,14.0 +0.000158879,0.0,137488.0,14.0 +0.000161807,0.0,137488.0,14.0 +0.000165388,0.0,137488.0,14.0 +0.000161131,0.0,137488.0,14.0 +0.000163437,0.0,137488.0,14.0 +0.00016191300000000002,0.0,137488.0,14.0 +0.00015550700000000001,0.0,137488.0,14.0 +0.000164353,0.0,137488.0,14.0 +0.000165259,0.0,137488.0,14.0 +0.00016553300000000002,0.0,137488.0,14.0 +0.00016113300000000002,0.0,137488.0,14.0 +0.00017168900000000002,0.0,137488.0,14.0 +0.000178016,0.0,137488.0,14.0 +0.000168856,0.0,137488.0,14.0 +0.000159834,0.0,137488.0,14.0 +0.000159781,0.0,137488.0,14.0 +0.00015717000000000001,0.0,137488.0,14.0 +0.00015859900000000002,0.0,137488.0,14.0 +0.00015876800000000002,0.0,137488.0,14.0 +0.000158259,0.0,137488.0,14.0 +0.00016232800000000002,0.0,137488.0,14.0 +0.000170134,0.0,137488.0,14.0 +0.000165766,0.0,137488.0,14.0 +0.00016986800000000002,0.0,137488.0,14.0 +0.000157639,0.0,137488.0,14.0 +0.00016154,0.0,137488.0,14.0 +0.000168538,0.0,137488.0,14.0 +0.00016864900000000002,0.0,137488.0,14.0 +0.000162558,0.0,137488.0,14.0 +0.000154883,0.0,137488.0,14.0 +0.00015566900000000002,0.0,137488.0,14.0 +0.000165586,0.0,137488.0,14.0 +0.000163179,0.0,137488.0,14.0 +0.000166112,0.0,137488.0,14.0 +0.00016024500000000002,0.0,137488.0,14.0 +0.00015962700000000002,0.0,137488.0,14.0 +0.000163532,0.0,137488.0,14.0 +0.000172472,0.0,137488.0,14.0 +0.00016625,0.0,137488.0,14.0 +0.00016619,0.0,137488.0,14.0 +0.00016505100000000002,0.0,137488.0,14.0 +0.00016201800000000002,0.0,137488.0,14.0 +0.000156285,0.0,137488.0,14.0 +0.00016410600000000002,0.0,137488.0,14.0 +0.000158775,0.0,137488.0,14.0 +0.00015647800000000002,0.0,137488.0,14.0 +0.000163611,0.0,137488.0,14.0 +0.00016127800000000002,0.0,137488.0,14.0 +0.00016278400000000002,0.0,137488.0,14.0 +0.000160104,0.0,137488.0,14.0 +0.00016057000000000002,0.0,137488.0,14.0 +0.00016455900000000002,0.0,137488.0,14.0 +0.000159755,0.0,137488.0,14.0 +0.00015515600000000002,0.0,137488.0,14.0 +0.000162227,0.0,137488.0,14.0 +0.000161483,0.0,137488.0,14.0 +0.000158779,0.0,137488.0,14.0 +0.00015133800000000002,0.0,137488.0,14.0 +0.00015742000000000002,0.0,137488.0,14.0 +0.000159005,0.0,137488.0,14.0 +0.00016409900000000002,0.0,137488.0,14.0 +0.00017253800000000002,0.0,137488.0,14.0 +0.000165238,0.0,137488.0,14.0 +0.000161962,0.0,137488.0,14.0 +0.00016885,0.0,137488.0,14.0 +0.000155553,0.0,137488.0,14.0 +0.000160967,0.0,137488.0,14.0 +0.000158641,0.0,137488.0,14.0 +0.00016088000000000002,0.0,137488.0,14.0 +0.00016018800000000002,0.0,137488.0,14.0 +0.00016098000000000002,0.0,137488.0,14.0 +0.000167648,0.0,137488.0,14.0 +0.000170234,0.0,137488.0,14.0 +0.000163709,0.0,137488.0,14.0 +0.000164281,0.0,137488.0,14.0 +0.000169956,0.0,137488.0,14.0 +0.00016751800000000002,0.0,137488.0,14.0 +0.000169809,0.0,137488.0,14.0 +0.00015908100000000002,0.0,137488.0,14.0 +0.000168247,0.0,137488.0,14.0 +0.00015863700000000002,0.0,137488.0,14.0 +0.000156496,0.0,137488.0,14.0 +0.000161218,0.0,137488.0,14.0 +0.000167145,0.0,137488.0,14.0 +0.000161514,0.0,137488.0,14.0 +0.000156737,0.0,137488.0,14.0 +0.00016795000000000002,0.0,137488.0,14.0 +0.000155172,0.0,137488.0,14.0 +0.000162487,0.0,137488.0,14.0 +0.000158789,0.0,137488.0,14.0 +0.000159748,0.0,137488.0,14.0 +0.000152031,0.0,137488.0,14.0 +0.000166061,0.0,137488.0,14.0 +0.00016309,0.0,137488.0,14.0 +0.00015900000000000002,0.0,137488.0,14.0 +0.000154592,0.0,137488.0,14.0 +0.000162685,0.0,137488.0,14.0 +0.00015955300000000002,0.0,137488.0,14.0 +0.000156887,0.0,137488.0,14.0 +0.00015891900000000001,0.0,137488.0,14.0 +0.000160246,0.0,137488.0,14.0 +0.000158268,0.0,137488.0,14.0 +0.000157868,0.0,137488.0,14.0 +0.000165322,0.0,137488.0,14.0 +0.00016406,0.0,137488.0,14.0 +0.00016204700000000002,0.0,137488.0,14.0 +0.000171007,0.0,137488.0,14.0 +0.00015749,0.0,137488.0,14.0 +0.000156248,0.0,137488.0,14.0 +0.000161253,0.0,137488.0,14.0 +0.000156293,0.0,137488.0,14.0 +0.00017751800000000002,0.0,137488.0,14.0 +0.000156646,0.0,137488.0,14.0 +0.000158085,0.0,137488.0,14.0 +0.00015695000000000002,0.0,137488.0,14.0 +0.000153868,0.0,137488.0,14.0 +0.00015309200000000002,0.0,137488.0,14.0 +0.00016299900000000002,0.0,137488.0,14.0 +0.00015991,0.0,137488.0,14.0 +0.000158841,0.0,137488.0,14.0 +0.00015710800000000001,0.0,137488.0,14.0 +0.000152253,0.0,137488.0,14.0 +0.00016008300000000002,0.0,137488.0,14.0 +0.00016491000000000002,0.0,137488.0,14.0 +0.00016576200000000002,0.0,137488.0,14.0 +0.00015729100000000002,0.0,137488.0,14.0 +0.000160924,0.0,137488.0,14.0 +0.000156598,0.0,137488.0,14.0 +0.000162845,0.0,137488.0,14.0 +0.00015690000000000002,0.0,137488.0,14.0 +0.00016477900000000002,0.0,137488.0,14.0 +0.00015680900000000002,0.0,137488.0,14.0 +0.000162129,0.0,137488.0,14.0 +0.00016036700000000002,0.0,137488.0,14.0 +0.000171251,0.0,137488.0,14.0 +0.00016759900000000002,0.0,137488.0,14.0 +0.000174684,0.0,137488.0,14.0 +0.00016034,0.0,137488.0,14.0 +0.000164009,0.0,137488.0,14.0 +0.00016030700000000002,0.0,137488.0,14.0 +0.00015911900000000002,0.0,137488.0,14.0 +0.00015552300000000002,0.0,137488.0,14.0 +0.000159449,0.0,137488.0,14.0 +0.000160046,0.0,137488.0,14.0 +0.000160691,0.0,137488.0,14.0 +0.000163621,0.0,137488.0,14.0 +0.000151795,0.0,137488.0,14.0 +0.000164004,0.0,137488.0,14.0 +0.000162411,0.0,137488.0,14.0 +0.000158689,0.0,137488.0,14.0 +0.000159111,0.0,137488.0,14.0 +0.000154205,0.0,137488.0,14.0 +0.000163361,0.0,137488.0,14.0 +0.000149708,0.0,137488.0,14.0 +0.000168066,0.0,137488.0,14.0 +0.000163553,0.0,137488.0,14.0 +0.000155498,0.0,137488.0,14.0 +0.00015339500000000002,0.0,137488.0,14.0 +0.00016198500000000002,0.0,137488.0,14.0 +0.000157297,0.0,137488.0,14.0 +0.00017623200000000002,0.0,137488.0,14.0 +0.000165073,0.0,137488.0,14.0 +0.00016026900000000002,0.0,137488.0,14.0 +0.000167035,0.0,137488.0,14.0 +0.00015430200000000001,0.0,137488.0,14.0 +0.000154283,0.0,137488.0,14.0 +0.000158378,0.0,137488.0,14.0 +0.00015312,0.0,137488.0,14.0 +0.00015883300000000002,0.0,137488.0,14.0 +0.00015947500000000001,0.0,137488.0,14.0 +0.00014560200000000002,0.0,137488.0,14.0 +0.000154823,0.0,137488.0,14.0 +0.000155069,0.0,137488.0,14.0 +0.000160135,0.0,137488.0,14.0 +0.000177615,0.0,137488.0,14.0 +0.000165019,0.0,137488.0,14.0 +0.00016599600000000001,0.0,137488.0,14.0 +0.000154114,0.0,137488.0,14.0 +0.000170123,0.0,137488.0,14.0 +0.000156207,0.0,137488.0,14.0 +0.000167133,0.0,137488.0,14.0 +0.000155744,0.0,137488.0,14.0 +0.00015471200000000002,0.0,137488.0,14.0 +0.00016394,0.0,137488.0,14.0 +0.000149771,0.0,137488.0,14.0 +0.00017773500000000002,0.0,137488.0,14.0 +0.000162272,0.0,137488.0,14.0 +0.000160136,0.0,137488.0,14.0 +0.000160172,0.0,137488.0,14.0 +0.00016050500000000002,0.0,137488.0,14.0 +0.000156544,0.0,137488.0,14.0 +0.000173152,0.0,137488.0,14.0 +0.00015231200000000001,0.0,137488.0,14.0 +0.00015935500000000002,0.0,137488.0,14.0 +0.000162864,0.0,137488.0,14.0 +0.000163491,0.0,137488.0,14.0 +0.000164494,0.0,137488.0,14.0 +0.00015779700000000002,0.0,137488.0,14.0 +0.00015442100000000002,0.0,137488.0,14.0 +0.000152379,0.0,137488.0,14.0 +0.000152313,0.0,137488.0,14.0 +0.000156708,0.0,137488.0,14.0 +0.000164668,0.0,137488.0,14.0 +0.00015684500000000002,0.0,137488.0,14.0 +0.00016371900000000002,0.0,137488.0,14.0 +0.000159626,0.0,137488.0,14.0 +0.00015320900000000002,0.0,137488.0,14.0 +0.00016430600000000002,0.0,137488.0,14.0 +0.00015861100000000002,0.0,137488.0,14.0 +0.000159567,0.0,137488.0,14.0 +0.000175663,0.0,137488.0,14.0 +0.000156221,0.0,137488.0,14.0 +0.00016436400000000001,0.0,137488.0,14.0 +0.000151377,0.0,137488.0,14.0 +0.00015241700000000001,0.0,137488.0,14.0 +0.000170309,0.0,137488.0,14.0 +0.000159798,0.0,137488.0,14.0 +0.00015704,0.0,137488.0,14.0 +0.000156796,0.0,137488.0,14.0 +0.000151333,0.0,137488.0,14.0 +0.000166133,0.0,137488.0,14.0 +0.000154324,0.0,137488.0,14.0 +0.00015085900000000001,0.0,137488.0,14.0 +0.000157947,0.0,137488.0,14.0 +0.000169073,0.0,137488.0,14.0 +0.000180578,0.0,137488.0,14.0 +0.000161855,0.0,137488.0,14.0 +0.00015437100000000002,0.0,137488.0,14.0 +0.0001695,0.0,137488.0,14.0 +0.000157696,0.0,137488.0,14.0 +0.00015516100000000001,0.0,137488.0,14.0 +0.000168879,0.0,137488.0,14.0 +0.000153936,0.0,137488.0,14.0 +0.00015466700000000002,0.0,137488.0,14.0 +0.000155868,0.0,137488.0,14.0 +0.00017000700000000001,0.0,137488.0,14.0 +0.00015662800000000002,0.0,137488.0,14.0 +0.00015831500000000002,0.0,137488.0,14.0 +0.00015714600000000002,0.0,137488.0,14.0 +0.000166505,0.0,137488.0,14.0 +0.000152735,0.0,137488.0,14.0 +0.000165169,0.0,137488.0,14.0 +0.000159937,0.0,137488.0,14.0 +0.000159505,0.0,137488.0,14.0 +0.00016570200000000002,0.0,137488.0,14.0 +0.000159554,0.0,137488.0,14.0 +0.000159196,0.0,137488.0,14.0 +0.000168659,0.0,137488.0,14.0 +0.000159714,0.0,137488.0,14.0 +0.00016008800000000002,0.0,137488.0,14.0 +0.000165705,0.0,137488.0,14.0 +0.000154703,0.0,137488.0,14.0 +0.000167722,0.0,137488.0,14.0 +0.000157818,0.0,137488.0,14.0 +0.00015713900000000001,0.0,137488.0,14.0 +0.000160297,0.0,137488.0,14.0 +0.000152225,0.0,137488.0,14.0 +0.000156562,0.0,137488.0,14.0 +0.000168044,0.0,137488.0,14.0 +0.000164601,0.0,137488.0,14.0 +0.00017659400000000002,0.0,137488.0,14.0 +0.00015411300000000002,0.0,137488.0,14.0 +0.00015625600000000002,0.0,137488.0,14.0 +0.00016931000000000002,0.0,137488.0,14.0 +0.000161026,0.0,137488.0,14.0 +0.00015681,0.0,137488.0,14.0 +0.000164,0.0,137488.0,14.0 +0.00015660700000000001,0.0,137488.0,14.0 +0.000165803,0.0,137488.0,14.0 +0.00015461700000000001,0.0,137488.0,14.0 +0.00015855400000000001,0.0,137488.0,14.0 +0.000158386,0.0,137488.0,14.0 +0.000155314,0.0,137488.0,14.0 +0.000152487,0.0,137488.0,14.0 +0.000164351,0.0,137488.0,14.0 +0.000168884,0.0,137488.0,14.0 +0.000168946,0.0,137488.0,14.0 +0.000155154,0.0,137488.0,14.0 +0.00015904300000000002,0.0,137488.0,14.0 +0.000162752,0.0,137488.0,14.0 +0.00015842000000000002,0.0,137488.0,14.0 +0.000159356,0.0,137488.0,14.0 +0.00016432100000000001,0.0,137488.0,14.0 +0.000156873,0.0,137488.0,14.0 +0.000175441,0.0,137488.0,14.0 +0.000158643,0.0,137488.0,14.0 +0.00015577400000000002,0.0,137488.0,14.0 +0.00015878700000000002,0.0,137488.0,14.0 +0.000159571,0.0,137488.0,14.0 +0.000154721,0.0,137488.0,14.0 +0.000161838,0.0,137488.0,14.0 +0.00016244300000000002,0.0,137488.0,14.0 +0.000173117,0.0,137488.0,14.0 +0.000159245,0.0,137488.0,14.0 +0.000153299,0.0,137488.0,14.0 +0.000169011,0.0,137488.0,14.0 +0.000155069,0.0,137488.0,14.0 +0.000155173,0.0,137488.0,14.0 +0.000163361,0.0,137488.0,14.0 +0.000155018,0.0,137488.0,14.0 +0.000176884,0.0,137488.0,14.0 +0.000150726,0.0,137488.0,14.0 +0.00015807600000000002,0.0,137488.0,14.0 +0.000161893,0.0,137488.0,14.0 +0.00015955600000000002,0.0,137488.0,14.0 +0.000164646,0.0,137488.0,14.0 +0.000156625,0.0,137488.0,14.0 +0.000164468,0.0,137488.0,14.0 +0.000164116,0.0,137488.0,14.0 +0.000167982,0.0,137488.0,14.0 +0.00015275100000000002,0.0,137488.0,14.0 +0.000163217,0.0,137488.0,14.0 +0.000163339,0.0,137488.0,14.0 +0.000163076,0.0,137488.0,14.0 +0.00017536600000000001,0.0,137488.0,14.0 +0.000157961,0.0,137488.0,14.0 +0.00016510800000000002,0.0,137488.0,14.0 +0.000158108,0.0,137488.0,14.0 +0.000160371,0.0,137488.0,14.0 +0.000159364,0.0,137488.0,14.0 +0.0001542,0.0,137488.0,14.0 +0.000165169,0.0,137488.0,14.0 +0.000155531,0.0,137488.0,14.0 +0.000164842,0.0,137488.0,14.0 +0.00016319900000000002,0.0,137488.0,14.0 +0.00016097500000000002,0.0,137488.0,14.0 +0.0001642,0.0,137488.0,14.0 +0.000161099,0.0,137488.0,14.0 +0.000160411,0.0,137488.0,14.0 +0.0018122680000000001,0.8035069868253482,137488.0,14.0 +0.000175402,0.0,137488.0,14.0 +0.00016280100000000002,0.0,137488.0,14.0 +0.000154477,0.0,137488.0,14.0 +0.00015574,0.0,137488.0,14.0 +0.00016014500000000002,0.0,137488.0,14.0 +0.00016111900000000001,0.0,137488.0,14.0 +0.000165138,0.0,137488.0,14.0 +0.00016332,0.0,137488.0,14.0 +0.000165024,0.0,137488.0,14.0 +0.00016096100000000002,0.0,137488.0,14.0 +0.00015976600000000001,0.0,137488.0,14.0 +0.000161607,0.0,137488.0,14.0 +0.000159178,0.0,137488.0,14.0 +0.000171879,0.0,137488.0,14.0 +0.00017561400000000002,0.0,137488.0,14.0 +0.00015843400000000002,0.0,137488.0,14.0 +0.000151654,0.0,137488.0,14.0 +0.000156295,0.0,137488.0,14.0 +0.00017061500000000002,0.0,137488.0,14.0 +0.000160206,0.0,137488.0,14.0 +0.00016187000000000002,0.0,137488.0,14.0 +0.000154042,0.0,137488.0,14.0 +0.00015735800000000002,0.0,137488.0,14.0 +0.000173666,0.0,137488.0,14.0 +0.00016722000000000002,0.0,137488.0,14.0 +0.00016811200000000002,0.0,137488.0,14.0 +0.00016035300000000001,0.0,137488.0,14.0 +0.00016449000000000002,0.0,137488.0,14.0 +0.000156105,0.0,137488.0,14.0 +0.00017075600000000002,0.0,137488.0,14.0 +0.000169025,0.0,137488.0,14.0 +0.00015559700000000002,0.0,137488.0,14.0 +0.000157615,0.0,137488.0,14.0 +0.00015878300000000001,0.0,137488.0,14.0 +0.000152282,0.0,137488.0,14.0 +0.000161468,0.0,137488.0,14.0 +0.00016162000000000001,0.0,137488.0,14.0 +0.00016235700000000002,0.0,137488.0,14.0 +0.00016055,0.0,137488.0,14.0 +0.000158068,0.0,137488.0,14.0 +0.000167818,0.0,137488.0,14.0 +0.00016253800000000002,0.0,137488.0,14.0 +0.00016450200000000002,0.0,137488.0,14.0 +0.00018272900000000002,0.0,137488.0,14.0 +0.000157622,0.0,137488.0,14.0 +0.00015916000000000001,0.0,137488.0,14.0 +0.000165025,0.0,137488.0,14.0 +0.00015511500000000002,0.0,137488.0,14.0 +0.000162046,0.0,137488.0,14.0 +0.000163955,0.0,137488.0,14.0 +0.000156001,0.0,137488.0,14.0 +0.00015878000000000002,0.0,137488.0,14.0 +0.000163952,0.0,137488.0,14.0 +0.00016579000000000002,0.0,137488.0,14.0 +0.000160356,0.0,137488.0,14.0 +0.000154162,0.0,137488.0,14.0 +0.000160996,0.0,137488.0,14.0 +0.00015219500000000002,0.0,137488.0,14.0 +0.00015629900000000002,0.0,137488.0,14.0 +0.00015650400000000002,0.0,137488.0,14.0 +0.000168097,0.0,137488.0,14.0 +0.000166805,0.0,137488.0,14.0 +0.000161186,0.0,137488.0,14.0 +0.000155162,0.0,137488.0,14.0 +0.00015942200000000002,0.0,137488.0,14.0 +0.00016600000000000002,0.0,137488.0,14.0 +0.000164895,0.0,137488.0,14.0 +0.00017471200000000002,0.0,137488.0,14.0 +0.000158407,0.0,137488.0,14.0 +0.000164386,0.0,137488.0,14.0 +0.000157937,0.0,137488.0,14.0 +0.00015562100000000002,0.0,137488.0,14.0 +0.00016538200000000002,0.0,137488.0,14.0 +0.000166322,0.0,137488.0,14.0 +0.000177455,0.0,137488.0,14.0 +0.00016627500000000002,0.0,137488.0,14.0 +0.00016726700000000002,0.0,137488.0,14.0 +0.000162472,0.0,137488.0,14.0 +0.00018067500000000001,0.0,137488.0,14.0 +0.00015998500000000002,0.0,137488.0,14.0 +0.000157171,0.0,137488.0,14.0 +0.00016075,0.0,137488.0,14.0 +0.00016906400000000002,0.0,137488.0,14.0 +0.00016531,0.0,137488.0,14.0 +0.000157369,0.0,137488.0,14.0 +0.00015997100000000002,0.0,137488.0,14.0 +0.000154251,0.0,137488.0,14.0 +0.000161136,0.0,137488.0,14.0 +0.000170049,0.0,137488.0,14.0 +0.00016241200000000002,0.0,137488.0,14.0 +0.00016886600000000002,0.0,137488.0,14.0 +0.00016827400000000002,0.0,137488.0,14.0 +0.000168858,0.0,137488.0,14.0 +0.000160397,0.0,137488.0,14.0 +0.00016066800000000001,0.0,137488.0,14.0 +0.000159321,0.0,137488.0,14.0 +0.00015497700000000002,0.0,137488.0,14.0 +0.000156727,0.0,137488.0,14.0 +0.000154379,0.0,137488.0,14.0 +0.000156321,0.0,137488.0,14.0 +0.000164007,0.0,137488.0,14.0 +0.00016012,0.0,137488.0,14.0 +0.000152387,0.0,137488.0,14.0 +0.00015874700000000002,0.0,137488.0,14.0 +0.000155059,0.0,137488.0,14.0 +0.000158209,0.0,137488.0,14.0 +0.00017243100000000002,0.0,137488.0,14.0 +0.000158788,0.0,137488.0,14.0 +0.000167359,0.0,137488.0,14.0 +0.00017078000000000001,0.0,137488.0,14.0 +0.000161571,0.0,137488.0,14.0 +0.00015393900000000002,0.0,137488.0,14.0 +0.00015007600000000002,0.0,137488.0,14.0 +0.0001573,0.0,137488.0,14.0 +0.00016147200000000002,0.0,137488.0,14.0 +0.000159497,0.0,137488.0,14.0 +0.00017229000000000002,0.0,137488.0,14.0 +0.00016064400000000002,0.0,137488.0,14.0 +0.00015389600000000002,0.0,137488.0,14.0 +0.000153343,0.0,137488.0,14.0 +0.000157133,0.0,137488.0,14.0 +0.000159864,0.0,137488.0,14.0 +0.000157997,0.0,137488.0,14.0 +0.000152699,0.0,137488.0,14.0 +0.00015346,0.0,137488.0,14.0 +0.00015693800000000002,0.0,137488.0,14.0 +0.00016110700000000001,0.0,137488.0,14.0 +0.000154019,0.0,137488.0,14.0 +0.000166121,0.0,137488.0,14.0 +0.00015718,0.0,137488.0,14.0 +0.000166486,0.0,137488.0,14.0 +0.00016450400000000002,0.0,137488.0,14.0 +0.000156903,0.0,137488.0,14.0 +0.00015908600000000001,0.0,137488.0,14.0 +0.000162735,0.0,137488.0,14.0 +0.00017022400000000002,0.0,137488.0,14.0 +0.00016540600000000002,0.0,137488.0,14.0 +0.00016667800000000002,0.0,137488.0,14.0 +0.000153241,0.0,137488.0,14.0 +0.00016217,0.0,137488.0,14.0 +0.00016356400000000002,0.0,137488.0,14.0 +0.00016655200000000001,0.0,137488.0,14.0 +0.000165386,0.0,137488.0,14.0 +0.000158987,0.0,137488.0,14.0 +0.00016223500000000002,0.0,137488.0,14.0 +0.000156631,0.0,137488.0,14.0 +0.00016301300000000002,0.0,137488.0,14.0 +0.000164326,0.0,137488.0,14.0 +0.00015869000000000001,0.0,137488.0,14.0 +0.00016071,0.0,137488.0,14.0 +0.00015646,0.0,137488.0,14.0 +0.00015786200000000001,0.0,137488.0,14.0 +0.00015973000000000002,0.0,137488.0,14.0 +0.00015543300000000001,0.0,137488.0,14.0 +0.00016136400000000002,0.0,137488.0,14.0 +0.00015739600000000002,0.0,137488.0,14.0 +0.00017226,0.0,137488.0,14.0 +0.00017141000000000001,0.0,137488.0,14.0 +0.00016584100000000001,0.0,137488.0,14.0 +0.00015727200000000002,0.0,137488.0,14.0 +0.00016363600000000002,0.0,137488.0,14.0 +0.00015677100000000002,0.0,137488.0,14.0 +0.000159075,0.0,137488.0,14.0 +0.00016497700000000002,0.0,137488.0,14.0 +0.000151867,0.0,137488.0,14.0 +0.00015839400000000002,0.0,137488.0,14.0 +0.00017208200000000002,0.0,137488.0,14.0 +0.00015622700000000002,0.0,137488.0,14.0 +0.000162656,0.0,137488.0,14.0 +0.00015465200000000002,0.0,137488.0,14.0 +0.000165894,0.0,137488.0,14.0 +0.000166229,0.0,137488.0,14.0 +0.000155562,0.0,137488.0,14.0 +0.000157892,0.0,137488.0,14.0 +0.00016702200000000001,0.0,137488.0,14.0 +0.000154189,0.0,137488.0,14.0 +0.00017348100000000001,0.0,137488.0,14.0 +0.000166591,0.0,137488.0,14.0 +0.000153506,0.0,137488.0,14.0 +0.000154768,0.0,137488.0,14.0 +0.000158416,0.0,137488.0,14.0 +0.0001643,0.0,137488.0,14.0 +0.00015897600000000002,0.0,137488.0,14.0 +0.000162368,0.0,137488.0,14.0 +0.000158984,0.0,137488.0,14.0 +0.000161573,0.0,137488.0,14.0 +0.000155985,0.0,137488.0,14.0 +0.00015140300000000001,0.0,137488.0,14.0 +0.00016770600000000002,0.0,137488.0,14.0 +0.00015655200000000001,0.0,137488.0,14.0 +0.00016389,0.0,137488.0,14.0 +0.000201575,0.0,137488.0,14.0 +0.00016267400000000002,0.0,137488.0,14.0 +0.00017038,0.0,137488.0,14.0 +0.00015578,0.0,137488.0,14.0 +0.000158881,0.0,137488.0,14.0 +0.00016403,0.0,137488.0,14.0 +0.000162179,0.0,137488.0,14.0 +0.00015762800000000002,0.0,137488.0,14.0 +0.00015929300000000002,0.0,137488.0,14.0 +0.00016325900000000002,0.0,137488.0,14.0 +0.000163193,0.0,137488.0,14.0 +0.000162688,0.0,137488.0,14.0 +0.00015757,0.0,137488.0,14.0 +0.000156097,0.0,137488.0,14.0 +0.00015663300000000002,0.0,137488.0,14.0 +0.000159722,0.0,137488.0,14.0 +0.00015794300000000002,0.0,137488.0,14.0 +0.000152776,0.0,137488.0,14.0 +0.00017066500000000002,0.0,137488.0,14.0 +0.000172375,0.0,137488.0,14.0 +0.00015705500000000002,0.0,137488.0,14.0 +0.000160759,0.0,137488.0,14.0 +0.000156031,0.0,137488.0,14.0 +0.00015939,0.0,137488.0,14.0 +0.016202965,0.0,137488.0,14.0 +0.000182071,0.0,137488.0,14.0 +0.000186268,0.0,137488.0,14.0 +0.000175796,0.0,137488.0,14.0 +0.000182444,0.0,137488.0,14.0 +0.00018100400000000002,0.0,137488.0,14.0 +0.000182305,0.0,137488.0,14.0 +0.00017773300000000001,0.0,137488.0,14.0 +0.00018432500000000002,0.0,137488.0,14.0 +0.00017254800000000002,0.0,137488.0,14.0 +0.000177917,0.0,137488.0,14.0 +0.000179456,0.0,137488.0,14.0 +0.000183313,0.0,137488.0,14.0 +0.000183579,0.0,137488.0,14.0 +0.00017674200000000002,0.0,137488.0,14.0 +0.000184457,0.0,137488.0,14.0 +0.000182726,0.0,137488.0,14.0 +0.000179855,0.0,137488.0,14.0 +0.000179912,0.0,137488.0,14.0 +0.000185488,0.0,137488.0,14.0 +0.00017863900000000002,0.0,137488.0,14.0 +0.000182337,0.0,137488.0,14.0 +0.00019214000000000001,0.0,137488.0,14.0 +0.000180044,0.0,137488.0,14.0 +0.000182396,0.0,137488.0,14.0 +0.00017328300000000001,0.0,137488.0,14.0 +0.000180857,0.0,137488.0,14.0 +0.00017540400000000002,0.0,137488.0,14.0 +0.000184284,0.0,137488.0,14.0 +0.000187066,0.0,137488.0,14.0 +0.00016516300000000002,0.0,137488.0,14.0 +0.000152657,0.0,137488.0,14.0 +0.000168578,0.0,137488.0,14.0 +0.00015685200000000002,0.0,137488.0,14.0 +0.000160277,0.0,137488.0,14.0 +0.000151032,0.0,137488.0,14.0 +0.000156965,0.0,137488.0,14.0 +0.00016285100000000002,0.0,137488.0,14.0 +0.000151499,0.0,137488.0,14.0 +0.000152501,0.0,137488.0,14.0 +0.00015590300000000001,0.0,137488.0,14.0 +0.00014957500000000002,0.0,137488.0,14.0 +0.000164711,0.0,137488.0,14.0 +0.00014865,0.0,137488.0,14.0 +0.000148605,0.0,137488.0,14.0 +0.00015092800000000002,0.0,137488.0,14.0 +0.00018064600000000002,0.0,137488.0,14.0 +0.000156414,0.0,137488.0,14.0 +0.00015341400000000002,0.0,137488.0,14.0 +0.00015703100000000002,0.0,137488.0,14.0 +0.000161866,0.0,137488.0,14.0 +0.00015156700000000002,0.0,137488.0,14.0 +0.000151981,0.0,137488.0,14.0 +0.00015869700000000002,0.0,137488.0,14.0 +0.000151428,0.0,137488.0,14.0 +0.000156426,0.0,137488.0,14.0 +0.000158782,0.0,137488.0,14.0 +0.000150457,0.0,137488.0,14.0 +0.000162929,0.0,137488.0,14.0 +0.000151408,0.0,137488.0,14.0 +0.000160865,0.0,137488.0,14.0 +0.00015663800000000001,0.0,137488.0,14.0 +0.00015632500000000002,0.0,137488.0,14.0 +0.00015934800000000002,0.0,137488.0,14.0 +0.000160638,0.0,137488.0,14.0 +0.000153064,0.0,137488.0,14.0 +0.00016507200000000002,0.0,137488.0,14.0 +0.000157008,0.0,137488.0,14.0 +0.000151199,0.0,137488.0,14.0 +0.00016473100000000002,0.0,137488.0,14.0 +0.00015289900000000001,0.0,137488.0,14.0 +0.000169173,0.0,137488.0,14.0 +0.000170569,0.0,137488.0,14.0 +0.000156352,0.0,137488.0,14.0 +0.00015676,0.0,137488.0,14.0 +0.00016154800000000002,0.0,137488.0,14.0 +0.00015907,0.0,137488.0,14.0 +0.000160416,0.0,137488.0,14.0 +0.00015388900000000002,0.0,137488.0,14.0 +0.000156035,0.0,137488.0,14.0 +0.00015399400000000002,0.0,137488.0,14.0 +0.00014893800000000002,0.0,137488.0,14.0 +0.00015943400000000002,0.0,137488.0,14.0 +0.00015046500000000002,0.0,137488.0,14.0 +0.00015786,0.0,137488.0,14.0 +0.000158419,0.0,137488.0,14.0 +0.000157774,0.0,137488.0,14.0 +0.00017021200000000002,0.0,137488.0,14.0 +0.000160466,0.0,137488.0,14.0 +0.000159925,0.0,137488.0,14.0 +0.000163422,0.0,137488.0,14.0 +0.000155429,0.0,137488.0,14.0 +0.000154357,0.0,137488.0,14.0 +0.00016057900000000002,0.0,137488.0,14.0 +0.00015318500000000002,0.0,137488.0,14.0 +0.000156546,0.0,137488.0,14.0 +0.00015942000000000002,0.0,137488.0,14.0 +0.00016782600000000002,0.0,137488.0,14.0 +0.00016458,0.0,137488.0,14.0 +0.000149786,0.0,137488.0,14.0 +0.00014885400000000002,0.0,137488.0,14.0 +0.000175575,0.0,137488.0,14.0 +0.000150027,0.0,137488.0,14.0 +0.00015709100000000002,0.0,137488.0,14.0 +0.00015810300000000001,0.0,137488.0,14.0 +0.00016551400000000001,0.0,137488.0,14.0 +0.00016584100000000001,0.0,137488.0,14.0 +0.00015156500000000002,0.0,137488.0,14.0 +0.000156467,0.0,137488.0,14.0 +0.000162261,0.0,137488.0,14.0 +0.000154601,0.0,137488.0,14.0 +0.000159478,0.0,137488.0,14.0 +0.000155804,0.0,137488.0,14.0 +0.000152466,0.0,137488.0,14.0 +0.00017062900000000002,0.0,137488.0,14.0 +0.000156338,0.0,137488.0,14.0 +0.000158596,0.0,137488.0,14.0 +0.00026563300000000004,0.0,137488.0,14.0 +0.004058699000000001,0.9188525682737252,137488.0,14.0 +0.000162069,0.0,137488.0,14.0 +0.000159853,0.0,137488.0,14.0 +0.000164326,0.0,137488.0,14.0 +0.000167073,0.0,137488.0,14.0 +0.000156421,0.0,137488.0,14.0 +0.00015871800000000002,0.0,137488.0,14.0 +0.000163413,0.0,137488.0,14.0 +0.000159827,0.0,137488.0,14.0 +0.000161267,0.0,137488.0,14.0 +0.000168316,0.0,137488.0,14.0 +0.000158044,0.0,137488.0,14.0 +0.00016360000000000002,0.0,137488.0,14.0 +0.00016111400000000002,0.0,137488.0,14.0 +0.00017072200000000002,0.0,137488.0,14.0 +0.000159175,0.0,137488.0,14.0 +0.000158574,0.0,137488.0,14.0 +0.00015911,0.0,137488.0,14.0 +0.00015858000000000002,0.0,137488.0,14.0 +0.000155794,0.0,137488.0,14.0 +0.000156137,0.0,137488.0,14.0 +0.00015261700000000002,0.0,137488.0,14.0 +0.000157431,0.0,137488.0,14.0 +0.000161897,0.0,137488.0,14.0 +0.00016481700000000002,0.0,137488.0,14.0 +0.00016079200000000001,0.0,137488.0,14.0 +0.000159306,0.0,137488.0,14.0 +0.000161282,0.0,137488.0,14.0 +0.000167934,0.0,137488.0,14.0 +0.000167553,0.0,137488.0,14.0 +0.00016421300000000002,0.0,137488.0,14.0 +0.000161996,0.0,137488.0,14.0 +0.000160795,0.0,137488.0,14.0 +0.00015641600000000001,0.0,137488.0,14.0 +0.000152621,0.0,137488.0,14.0 +0.000158741,0.0,137488.0,14.0 +0.00014977,0.0,137488.0,14.0 +0.000158758,0.0,137488.0,14.0 +0.000160409,0.0,137488.0,14.0 +0.00016086800000000002,0.0,137488.0,14.0 +0.00016299,0.0,137488.0,14.0 +0.000155804,0.0,137488.0,14.0 +0.00016604800000000002,0.0,137488.0,14.0 +0.00016688,0.0,137488.0,14.0 +0.000161382,0.0,137488.0,14.0 +0.000158338,0.0,137488.0,14.0 +0.000168071,0.0,137488.0,14.0 +0.00015918,0.0,137488.0,14.0 +0.000151509,0.0,137488.0,14.0 +0.000158598,0.0,137488.0,14.0 +0.000156174,0.0,137488.0,14.0 +0.00016190800000000002,0.0,137488.0,14.0 +0.000155567,0.0,137488.0,14.0 +0.000168314,0.0,137488.0,14.0 +0.00015513700000000002,0.0,137488.0,14.0 +0.000155017,0.0,137488.0,14.0 +0.00015484,0.0,137488.0,14.0 +0.00016018300000000002,0.0,137488.0,14.0 +0.00016186800000000002,0.0,137488.0,14.0 +0.00015790900000000002,0.0,137488.0,14.0 +0.000154988,0.0,137488.0,14.0 +0.00015999700000000002,0.0,137488.0,14.0 +0.000147674,0.0,137488.0,14.0 +0.00015133,0.0,137488.0,14.0 +0.000162883,0.0,137488.0,14.0 +0.000160478,0.0,137488.0,14.0 +0.00016118300000000002,0.0,137488.0,14.0 +0.000158195,0.0,137488.0,14.0 +0.00016290600000000002,0.0,137488.0,14.0 +0.00015650900000000002,0.0,137488.0,14.0 +0.00015619,0.0,137488.0,14.0 +0.00015846500000000002,0.0,137488.0,14.0 +0.000152033,0.0,137488.0,14.0 +0.00016102,0.0,137488.0,14.0 +0.00016527300000000001,0.0,137488.0,14.0 +0.000170719,0.0,137488.0,14.0 +0.000149624,0.0,137488.0,14.0 +0.000161742,0.0,137488.0,14.0 +0.000168104,0.0,137488.0,14.0 +0.000158974,0.0,137488.0,14.0 +0.000154981,0.0,137488.0,14.0 +0.000156104,0.0,137488.0,14.0 +0.000169273,0.0,137488.0,14.0 +0.00016022600000000002,0.0,137488.0,14.0 +0.00015545900000000002,0.0,137488.0,14.0 +0.00015948900000000002,0.0,137488.0,14.0 +0.00016092800000000002,0.0,137488.0,14.0 +0.00016793,0.0,137488.0,14.0 +0.000159576,0.0,137488.0,14.0 +0.000158794,0.0,137488.0,14.0 +0.000149003,0.0,137488.0,14.0 +0.000154828,0.0,137488.0,14.0 +0.00014952500000000002,0.0,137488.0,14.0 +0.000154219,0.0,137488.0,14.0 +0.000154744,0.0,137488.0,14.0 +0.00015959600000000002,0.0,137488.0,14.0 +0.000158912,0.0,137488.0,14.0 +0.00015709100000000002,0.0,137488.0,14.0 +0.000157042,0.0,137488.0,14.0 +0.00016267700000000001,0.0,137488.0,14.0 +0.000153256,0.0,137488.0,14.0 +0.000156228,0.0,137488.0,14.0 +0.000157212,0.0,137488.0,14.0 +0.00016806900000000002,0.0,137488.0,14.0 +0.000157789,0.0,137488.0,14.0 +0.00015908300000000002,0.0,137488.0,14.0 +0.000146911,0.0,137488.0,14.0 +0.00016607400000000002,0.0,137488.0,14.0 +0.000153257,0.0,137488.0,14.0 +0.000174697,0.0,137488.0,14.0 +0.00015761600000000002,0.0,137488.0,14.0 +0.00015817,0.0,137488.0,14.0 +0.00015318500000000002,0.0,137488.0,14.0 +0.00015446,0.0,137488.0,14.0 +0.00015465200000000002,0.0,137488.0,14.0 +0.000153425,0.0,137488.0,14.0 +0.000154455,0.0,137488.0,14.0 +0.00016104500000000001,0.0,137488.0,14.0 +0.000155214,0.0,137488.0,14.0 +0.000156877,0.0,137488.0,14.0 +0.000149359,0.0,137488.0,14.0 +0.00015632500000000002,0.0,137488.0,14.0 +0.000159486,0.0,137488.0,14.0 +0.000159676,0.0,137488.0,14.0 +0.000152217,0.0,137488.0,14.0 +0.00016149300000000002,0.0,137488.0,14.0 +0.000165569,0.0,137488.0,14.0 +0.00016542300000000002,0.0,137488.0,14.0 +0.000162258,0.0,137488.0,14.0 +0.00017586000000000001,0.0,137488.0,14.0 +0.00015910000000000002,0.0,137488.0,14.0 +0.00015651800000000002,0.0,137488.0,14.0 +0.00015344000000000002,0.0,137488.0,14.0 +0.00015614400000000001,0.0,137488.0,14.0 +0.000153379,0.0,137488.0,14.0 +0.000162454,0.0,137488.0,14.0 +0.00015965600000000002,0.0,137488.0,14.0 +0.000167734,0.0,137488.0,14.0 +0.00015694,0.0,137488.0,14.0 +0.026424814,0.0,137488.0,14.0 +0.00018502200000000002,0.0,137488.0,14.0 +0.000167226,0.0,137488.0,14.0 +0.00016513200000000002,0.0,137488.0,14.0 +0.00016657,0.0,137488.0,14.0 +0.00016800900000000002,0.0,137488.0,14.0 +0.00016003800000000002,0.0,137488.0,14.0 +0.00016035500000000002,0.0,137488.0,14.0 +0.000160327,0.0,137488.0,14.0 +0.000160753,0.0,137488.0,14.0 +0.000159285,0.0,137488.0,14.0 +0.000167049,0.0,137488.0,14.0 +0.000161826,0.0,137488.0,14.0 +0.00017533700000000002,0.0,137488.0,14.0 +0.000158731,0.0,137488.0,14.0 +0.000162701,0.0,137488.0,14.0 +0.00016234000000000002,0.0,137488.0,14.0 +0.000157216,0.0,137488.0,14.0 +0.000178156,0.0,137488.0,14.0 +0.00016672300000000002,0.0,137488.0,14.0 +0.000159573,0.0,137488.0,14.0 +0.000158264,0.0,137488.0,14.0 +0.000159449,0.0,137488.0,14.0 +0.000153067,0.0,137488.0,14.0 +0.000163341,0.0,137488.0,14.0 +0.000184627,0.0,137488.0,14.0 +0.00016637700000000002,0.0,137488.0,14.0 +0.00016841500000000002,0.0,137488.0,14.0 +0.000166644,0.0,137488.0,14.0 +0.00016638700000000002,0.0,137488.0,14.0 +0.00016794000000000002,0.0,137488.0,14.0 +0.000163952,0.0,137488.0,14.0 +0.00016936700000000002,0.0,137488.0,14.0 +0.000161619,0.0,137488.0,14.0 +0.00016257400000000002,0.0,137488.0,14.0 +0.00016884900000000002,0.0,137488.0,14.0 +0.000163723,0.0,137488.0,14.0 +0.000174231,0.0,137488.0,14.0 +0.000169089,0.0,137488.0,14.0 +0.000290943,0.0,137488.0,14.0 +0.00027717700000000003,0.0,137488.0,14.0 +0.000272182,0.0,137488.0,14.0 +0.000322057,0.0,137488.0,14.0 +0.00028161500000000003,0.0,137488.0,14.0 +0.00028834300000000004,0.0,137488.0,14.0 +0.000280213,0.0,137488.0,14.0 +0.015891937000000002,0.0,137488.0,14.0 +0.00026410400000000003,0.0,137488.0,14.0 +0.00027675700000000003,0.0,137488.0,14.0 +0.00027222,0.0,137488.0,14.0 +0.000270118,0.0,137488.0,14.0 +0.00027551800000000004,0.0,137488.0,14.0 +0.000266158,0.0,137488.0,14.0 +0.00026617000000000004,0.0,137488.0,14.0 +0.00028176300000000003,0.0,137488.0,14.0 +0.000272617,0.0,137488.0,14.0 +0.000266479,0.0,137488.0,14.0 +0.000276749,0.0,137488.0,14.0 +0.000269656,0.0,137488.0,14.0 +0.000269796,0.0,137488.0,14.0 +0.000279875,0.0,137488.0,14.0 +0.000265758,0.0,137488.0,14.0 +0.000268661,0.0,137488.0,14.0 +0.00027205100000000004,0.0,137488.0,14.0 +0.00027912600000000004,0.0,137488.0,14.0 +0.00026822,0.0,137488.0,14.0 +0.000263749,0.0,137488.0,14.0 +0.000271688,0.0,137488.0,14.0 +0.00027453000000000004,0.0,137488.0,14.0 +0.000266577,0.0,137488.0,14.0 +0.00027020900000000004,0.0,137488.0,14.0 +0.000269119,0.0,137488.0,14.0 +0.000272554,0.0,137488.0,14.0 +0.00026961300000000004,0.0,137488.0,14.0 +0.000266822,0.0,137488.0,14.0 +0.00028247900000000003,0.0,137488.0,14.0 +0.000279375,0.0,137488.0,14.0 +0.00026561600000000004,0.0,137488.0,14.0 +0.00027925000000000004,0.0,137488.0,14.0 +0.000268417,0.0,137488.0,14.0 +0.00027683,0.0,137488.0,14.0 +0.000265046,0.0,137488.0,14.0 +0.000274179,0.0,137488.0,14.0 +0.00027661200000000003,0.0,137488.0,14.0 +0.000274055,0.0,137488.0,14.0 +0.00026152500000000003,0.0,137488.0,14.0 +0.00027345,0.0,137488.0,14.0 +0.000266722,0.0,137488.0,14.0 +0.00028131200000000003,0.0,137488.0,14.0 +0.000266155,0.0,137488.0,14.0 +0.000280319,0.0,137488.0,14.0 +0.00027551800000000004,0.0,137488.0,14.0 +0.000283274,0.0,137488.0,14.0 +0.000266436,0.0,137488.0,14.0 +0.000274355,0.0,137488.0,14.0 +0.00026442,0.0,137488.0,14.0 +0.00028216300000000004,0.0,137488.0,14.0 +0.00027547600000000003,0.0,137488.0,14.0 +0.00027114500000000003,0.0,137488.0,14.0 +0.000268923,0.0,137488.0,14.0 +0.000279916,0.0,137488.0,14.0 +0.00026633200000000004,0.0,137488.0,14.0 +0.000276133,0.0,137488.0,14.0 +0.000269388,0.0,137488.0,14.0 +0.00028142,0.0,137488.0,14.0 +0.000279977,0.0,137488.0,14.0 +0.00027534,0.0,137488.0,14.0 +0.00027477700000000003,0.0,137488.0,14.0 +0.000281399,0.0,137488.0,14.0 +0.000277861,0.0,137488.0,14.0 +0.00027659200000000004,0.0,137488.0,14.0 +0.000266506,0.0,137488.0,14.0 +0.00027736300000000003,0.0,137488.0,14.0 +0.00027650200000000003,0.0,137488.0,14.0 +0.000276808,0.0,137488.0,14.0 +0.000282122,0.0,137488.0,14.0 +0.00028322000000000004,0.0,137488.0,14.0 +0.000274431,0.0,137488.0,14.0 +0.000286795,0.0,137488.0,14.0 +0.000270978,0.0,137488.0,14.0 +0.000282346,0.0,137488.0,14.0 +0.00027090100000000004,0.0,137488.0,14.0 +0.000279118,0.0,137488.0,14.0 +0.00027175100000000003,0.0,137488.0,14.0 +0.00028223100000000003,0.0,137488.0,14.0 +0.000276291,0.0,137488.0,14.0 +0.000287369,0.0,137488.0,14.0 +0.000269836,0.0,137488.0,14.0 +0.000281432,0.0,137488.0,14.0 +0.000277347,0.0,137488.0,14.0 +0.00027734900000000003,0.0,137488.0,14.0 +0.000275348,0.0,137488.0,14.0 +0.000277351,0.0,137488.0,14.0 +0.000286703,0.0,137488.0,14.0 +0.000283005,0.0,137488.0,14.0 +0.00026939,0.0,137488.0,14.0 +0.000286612,0.0,137488.0,14.0 +0.000272434,0.0,137488.0,14.0 +0.000275929,0.0,137488.0,14.0 +0.0002785,0.0,137488.0,14.0 +0.00028743000000000003,0.0,137488.0,14.0 +0.00027321100000000004,0.0,137488.0,14.0 +0.00028020700000000004,0.0,137488.0,14.0 +0.000264399,0.0,137488.0,14.0 +0.000276815,0.0,137488.0,14.0 +0.000274972,0.0,137488.0,14.0 +0.00027197,0.0,137488.0,14.0 +0.00028786700000000003,0.0,137488.0,14.0 +0.00028264500000000004,0.0,137488.0,14.0 +0.000276348,0.0,137488.0,14.0 +0.000284392,0.0,137488.0,14.0 +0.000272754,0.0,137488.0,14.0 +0.000288936,0.0,137488.0,14.0 +0.000277492,0.0,137488.0,14.0 +0.00027985,0.0,137488.0,14.0 +0.000273564,0.0,137488.0,14.0 +0.000282005,0.0,137488.0,14.0 +0.00027063,0.0,137488.0,14.0 +0.00035720500000000003,0.0,137488.0,14.0 +0.000277595,0.0,137488.0,14.0 +0.000280015,0.0,137488.0,14.0 +0.00028850400000000003,0.0,137488.0,14.0 +0.00027986,0.0,137488.0,14.0 +0.000271437,0.0,137488.0,14.0 +0.00027921,0.0,137488.0,14.0 +0.00026452,0.0,137488.0,14.0 +0.000278292,0.0,137488.0,14.0 +0.000271394,0.0,137488.0,14.0 +0.000280481,0.0,137488.0,14.0 +0.000270944,0.0,137488.0,14.0 +0.000278419,0.0,137488.0,14.0 +0.000277358,0.0,137488.0,14.0 +0.00027907800000000004,0.0,137488.0,14.0 +0.00026248600000000003,0.0,137488.0,14.0 +0.000275819,0.0,137488.0,14.0 +0.000270073,0.0,137488.0,14.0 +0.00028944,0.0,137488.0,14.0 +0.00026930000000000004,0.0,137488.0,14.0 +0.00027556600000000004,0.0,137488.0,14.0 +0.000268541,0.0,137488.0,14.0 +0.000273379,0.0,137488.0,14.0 +0.000271191,0.0,137488.0,14.0 +0.000273675,0.0,137488.0,14.0 +0.00026868000000000004,0.0,137488.0,14.0 +0.000277407,0.0,137488.0,14.0 +0.000277257,0.0,137488.0,14.0 +0.000270294,0.0,137488.0,14.0 +0.000269719,0.0,137488.0,14.0 +0.000279831,0.0,137488.0,14.0 +0.000262715,0.0,137488.0,14.0 +0.00029129300000000003,0.0,137488.0,14.0 +0.000264343,0.0,137488.0,14.0 +0.000274283,0.0,137488.0,14.0 +0.000278363,0.0,137488.0,14.0 +0.003687694,0.8969635224614624,137488.0,14.0 +0.00017107100000000002,0.0,137488.0,14.0 +0.00016895900000000002,0.0,137488.0,14.0 +0.000160411,0.0,137488.0,14.0 +0.000163349,0.0,137488.0,14.0 +0.00016317100000000001,0.0,137488.0,14.0 +0.000170325,0.0,137488.0,14.0 +0.000168671,0.0,137488.0,14.0 +0.000167023,0.0,137488.0,14.0 +0.000172849,0.0,137488.0,14.0 +0.00017043100000000002,0.0,137488.0,14.0 +0.000171625,0.0,137488.0,14.0 +0.000169676,0.0,137488.0,14.0 +0.00016684700000000002,0.0,137488.0,14.0 +0.000173324,0.0,137488.0,14.0 +0.000173205,0.0,137488.0,14.0 +0.00016249300000000002,0.0,137488.0,14.0 +0.00016073000000000001,0.0,137488.0,14.0 +0.000159653,0.0,137488.0,14.0 +0.000158221,0.0,137488.0,14.0 +0.000163069,0.0,137488.0,14.0 +0.000184174,0.0,137488.0,14.0 +0.000171805,0.0,137488.0,14.0 +0.000180602,0.0,137488.0,14.0 +0.00017970100000000002,0.0,137488.0,14.0 +0.00016896900000000001,0.0,137488.0,14.0 +0.00016546600000000002,0.0,137488.0,14.0 +0.000169263,0.0,137488.0,14.0 +0.000171088,0.0,137488.0,14.0 +0.00017194600000000002,0.0,137488.0,14.0 +0.000175336,0.0,137488.0,14.0 +0.000165474,0.0,137488.0,14.0 +0.000163678,0.0,137488.0,14.0 +0.000174957,0.0,137488.0,14.0 +0.00017259,0.0,137488.0,14.0 +0.000170716,0.0,137488.0,14.0 +0.000168173,0.0,137488.0,14.0 +0.00016804,0.0,137488.0,14.0 +0.000166125,0.0,137488.0,14.0 +0.000174839,0.0,137488.0,14.0 +0.00016661,0.0,137488.0,14.0 +0.000181626,0.0,137488.0,14.0 +0.00017437,0.0,137488.0,14.0 +0.000174469,0.0,137488.0,14.0 +0.00018892300000000002,0.0,137488.0,14.0 +0.000175865,0.0,137488.0,14.0 +0.00017314400000000002,0.0,137488.0,14.0 +0.000172015,0.0,137488.0,14.0 +0.00017073700000000002,0.0,137488.0,14.0 +0.000166257,0.0,137488.0,14.0 +0.000176235,0.0,137488.0,14.0 +0.000165236,0.0,137488.0,14.0 +0.00016986100000000002,0.0,137488.0,14.0 +0.00016929800000000002,0.0,137488.0,14.0 +0.000165398,0.0,137488.0,14.0 +0.00016354000000000002,0.0,137488.0,14.0 +0.00016558,0.0,137488.0,14.0 +0.00017327500000000002,0.0,137488.0,14.0 +0.000170031,0.0,137488.0,14.0 +0.00017475500000000002,0.0,137488.0,14.0 +0.00016916400000000002,0.0,137488.0,14.0 +0.00016471700000000002,0.0,137488.0,14.0 +0.00016612200000000002,0.0,137488.0,14.0 +0.00016955800000000002,0.0,137488.0,14.0 +0.000161807,0.0,137488.0,14.0 +0.00016340900000000002,0.0,137488.0,14.0 +0.00016810500000000002,0.0,137488.0,14.0 +0.000179259,0.0,137488.0,14.0 +0.000163284,0.0,137488.0,14.0 +0.000172864,0.0,137488.0,14.0 +0.000166725,0.0,137488.0,14.0 +0.00016775,0.0,137488.0,14.0 +0.000166691,0.0,137488.0,14.0 +0.00016801900000000002,0.0,137488.0,14.0 +0.00016942200000000002,0.0,137488.0,14.0 +0.00018476400000000002,0.0,137488.0,14.0 +0.000168615,0.0,137488.0,14.0 +0.00017496700000000002,0.0,137488.0,14.0 +0.00016935000000000002,0.0,137488.0,14.0 +0.000167937,0.0,137488.0,14.0 +0.000167175,0.0,137488.0,14.0 +0.00016792600000000002,0.0,137488.0,14.0 +0.000167653,0.0,137488.0,14.0 +0.00018081500000000002,0.0,137488.0,14.0 +0.000169209,0.0,137488.0,14.0 +0.000169624,0.0,137488.0,14.0 +0.00017088200000000002,0.0,137488.0,14.0 +0.000167622,0.0,137488.0,14.0 +0.000175433,0.0,137488.0,14.0 +0.000172084,0.0,137488.0,14.0 +0.00017154100000000002,0.0,137488.0,14.0 +0.000191399,0.0,137488.0,14.0 +0.00016614400000000001,0.0,137488.0,14.0 +0.000168789,0.0,137488.0,14.0 +0.000171046,0.0,137488.0,14.0 +0.00016343,0.0,137488.0,14.0 +0.00016924,0.0,137488.0,14.0 +0.000164188,0.0,137488.0,14.0 +0.000166794,0.0,137488.0,14.0 +0.00017059600000000002,0.0,137488.0,14.0 +0.00017963400000000002,0.0,137488.0,14.0 +0.000165021,0.0,137488.0,14.0 +0.00016498600000000002,0.0,137488.0,14.0 +0.000174887,0.0,137488.0,14.0 +0.000172608,0.0,137488.0,14.0 +0.00017029300000000002,0.0,137488.0,14.0 +0.000174183,0.0,137488.0,14.0 +0.000179022,0.0,137488.0,14.0 +0.00016719100000000002,0.0,137488.0,14.0 +0.000173451,0.0,137488.0,14.0 +0.000182007,0.0,137488.0,14.0 +0.00017017400000000001,0.0,137488.0,14.0 +0.00017066000000000002,0.0,137488.0,14.0 +0.00016853900000000002,0.0,137488.0,14.0 +0.000177085,0.0,137488.0,14.0 +0.000167021,0.0,137488.0,14.0 +0.00016671100000000002,0.0,137488.0,14.0 +0.000162107,0.0,137488.0,14.0 +0.00015967300000000001,0.0,137488.0,14.0 +0.000158435,0.0,137488.0,14.0 +0.00015887600000000002,0.0,137488.0,14.0 +0.000159838,0.0,137488.0,14.0 +0.00015413700000000002,0.0,137488.0,14.0 +0.000159349,0.0,137488.0,14.0 +0.000156221,0.0,137488.0,14.0 +0.000156989,0.0,137488.0,14.0 +0.000170235,0.0,137488.0,14.0 +0.00016757300000000002,0.0,137488.0,14.0 +0.000164601,0.0,137488.0,14.0 +0.000169037,0.0,137488.0,14.0 +0.000167269,0.0,137488.0,14.0 +0.000168312,0.0,137488.0,14.0 +0.00016670200000000002,0.0,137488.0,14.0 +0.00015777600000000002,0.0,137488.0,14.0 +0.000165462,0.0,137488.0,14.0 +0.00016205600000000002,0.0,137488.0,14.0 +0.00016430900000000002,0.0,137488.0,14.0 +0.00016762800000000002,0.0,137488.0,14.0 +0.00017944300000000002,0.0,137488.0,14.0 +0.00016029300000000002,0.0,137488.0,14.0 +0.00016050500000000002,0.0,137488.0,14.0 +0.00016980600000000002,0.0,137488.0,14.0 +0.000156471,0.0,137488.0,14.0 +0.000160972,0.0,137488.0,14.0 +0.00015689500000000002,0.0,137488.0,14.0 +0.000161265,0.0,137488.0,14.0 +0.000156594,0.0,137488.0,14.0 +0.00016474800000000002,0.0,137488.0,14.0 +0.00016441600000000002,0.0,137488.0,14.0 +0.000157509,0.0,137488.0,14.0 +0.000161731,0.0,137488.0,14.0 +0.000158545,0.0,137488.0,14.0 +0.000161118,0.0,137488.0,14.0 +0.000170055,0.0,137488.0,14.0 +0.000155663,0.0,137488.0,14.0 +0.000170578,0.0,137488.0,14.0 +0.00016080600000000002,0.0,137488.0,14.0 +0.000177581,0.0,137488.0,14.0 +0.00016288900000000002,0.0,137488.0,14.0 +0.00015995400000000002,0.0,137488.0,14.0 +0.00015888,0.0,137488.0,14.0 +0.000160784,0.0,137488.0,14.0 +0.000158572,0.0,137488.0,14.0 +0.000171284,0.0,137488.0,14.0 +0.00017256000000000001,0.0,137488.0,14.0 +0.000158765,0.0,137488.0,14.0 +0.000162573,0.0,137488.0,14.0 +0.00015937900000000002,0.0,137488.0,14.0 +0.00016144800000000002,0.0,137488.0,14.0 +0.000164357,0.0,137488.0,14.0 +0.000153365,0.0,137488.0,14.0 +0.00016193700000000002,0.0,137488.0,14.0 +0.000161979,0.0,137488.0,14.0 +0.000149769,0.0,137488.0,14.0 +0.00016113500000000002,0.0,137488.0,14.0 +0.00016736800000000001,0.0,137488.0,14.0 +0.000158734,0.0,137488.0,14.0 +0.000174741,0.0,137488.0,14.0 +0.000158254,0.0,137488.0,14.0 +0.000155444,0.0,137488.0,14.0 +0.000157929,0.0,137488.0,14.0 +0.00016861800000000002,0.0,137488.0,14.0 +0.00016028600000000002,0.0,137488.0,14.0 +0.000170308,0.0,137488.0,14.0 +0.00015635600000000002,0.0,137488.0,14.0 +0.00015806900000000002,0.0,137488.0,14.0 +0.000155138,0.0,137488.0,14.0 +0.000172139,0.0,137488.0,14.0 +0.00018381700000000002,0.0,137488.0,14.0 +0.00026901400000000004,0.0,137488.0,14.0 +0.000271461,0.0,137488.0,14.0 +0.00026708,0.0,137488.0,14.0 +0.000267015,0.0,137488.0,14.0 +0.000272151,0.0,137488.0,14.0 +0.000270851,0.0,137488.0,14.0 +0.000271196,0.0,137488.0,14.0 +0.000273612,0.0,137488.0,14.0 +0.000268641,0.0,137488.0,14.0 +0.000271199,0.0,137488.0,14.0 +0.000267173,0.0,137488.0,14.0 +0.000272775,0.0,137488.0,14.0 +0.000281696,0.0,137488.0,14.0 +0.000280125,0.0,137488.0,14.0 +0.000278254,0.0,137488.0,14.0 +0.000272916,0.0,137488.0,14.0 +0.000268637,0.0,137488.0,14.0 +0.000274276,0.0,137488.0,14.0 +0.000274553,0.0,137488.0,14.0 +0.000272235,0.0,137488.0,14.0 +0.000273213,0.0,137488.0,14.0 +0.00028328800000000003,0.0,137488.0,14.0 +0.00027553500000000004,0.0,137488.0,14.0 +0.000281077,0.0,137488.0,14.0 +0.000273657,0.0,137488.0,14.0 +0.000281097,0.0,137488.0,14.0 +0.000275778,0.0,137488.0,14.0 +0.000273592,0.0,137488.0,14.0 +0.00029071500000000004,0.0,137488.0,14.0 +0.000269915,0.0,137488.0,14.0 +0.000276047,0.0,137488.0,14.0 +0.000274737,0.0,137488.0,14.0 +0.00027013300000000004,0.0,137488.0,14.0 +0.000278061,0.0,137488.0,14.0 +0.000274298,0.0,137488.0,14.0 +0.00027133,0.0,137488.0,14.0 +0.000273526,0.0,137488.0,14.0 +0.00026997,0.0,137488.0,14.0 +0.000278015,0.0,137488.0,14.0 +0.000273357,0.0,137488.0,14.0 +0.000272589,0.0,137488.0,14.0 +0.000271508,0.0,137488.0,14.0 +0.000285367,0.0,137488.0,14.0 +0.00026956,0.0,137488.0,14.0 +0.00027373,0.0,137488.0,14.0 +0.000278739,0.0,137488.0,14.0 +0.000281141,0.0,137488.0,14.0 +0.00027711,0.0,137488.0,14.0 +0.000269185,0.0,137488.0,14.0 +0.000267192,0.0,137488.0,14.0 +0.000274803,0.0,137488.0,14.0 +0.000274002,0.0,137488.0,14.0 +0.00027383400000000003,0.0,137488.0,14.0 +0.000268715,0.0,137488.0,14.0 +0.000276963,0.0,137488.0,14.0 +0.00027990700000000003,0.0,137488.0,14.0 +0.000288884,0.0,137488.0,14.0 +0.000294962,0.0,137488.0,14.0 +0.00028171100000000003,0.0,137488.0,14.0 +0.00027721800000000003,0.0,137488.0,14.0 +0.00028409,0.0,137488.0,14.0 +0.00027752200000000004,0.0,137488.0,14.0 +0.000280695,0.0,137488.0,14.0 +0.000279392,0.0,137488.0,14.0 +0.00048055600000000004,0.0,137488.0,14.0 +0.000277743,0.0,137488.0,14.0 +0.00028483800000000004,0.0,137488.0,14.0 +0.000274143,0.0,137488.0,14.0 +0.00028379500000000004,0.0,137488.0,14.0 +0.00027678800000000003,0.0,137488.0,14.0 +0.000285173,0.0,137488.0,14.0 +0.00027115500000000003,0.0,137488.0,14.0 +0.000270861,0.0,137488.0,14.0 +0.000278865,0.0,137488.0,14.0 +0.000275757,0.0,137488.0,14.0 +0.000267749,0.0,137488.0,14.0 +0.000279822,0.0,137488.0,14.0 +0.000272617,0.0,137488.0,14.0 +0.00028325000000000003,0.0,137488.0,14.0 +0.00026955400000000003,0.0,137488.0,14.0 +0.000327247,0.0,137488.0,14.0 +0.00026498600000000004,0.0,137488.0,14.0 +0.00028118100000000003,0.0,137488.0,14.0 +0.000266131,0.0,137488.0,14.0 +0.00028723800000000004,0.0,137488.0,14.0 +0.000273582,0.0,137488.0,14.0 +0.000283038,0.0,137488.0,14.0 +0.000274689,0.0,137488.0,14.0 +0.000273239,0.0,137488.0,14.0 +0.00027519400000000004,0.0,137488.0,14.0 +0.00027627200000000004,0.0,137488.0,14.0 +0.000270889,0.0,137488.0,14.0 +0.000280399,0.0,137488.0,14.0 +0.00028275,0.0,137488.0,14.0 +0.00039909600000000004,0.0,137488.0,14.0 +0.000272762,0.0,137488.0,14.0 +0.000270602,0.0,137488.0,14.0 +0.00027309400000000004,0.0,137488.0,14.0 +0.000290509,0.0,137488.0,14.0 +0.000274817,0.0,137488.0,14.0 +0.000288173,0.0,137488.0,14.0 +0.00026360800000000003,0.0,137488.0,14.0 +0.000278815,0.0,137488.0,14.0 +0.00026767800000000003,0.0,137488.0,14.0 +0.000272962,0.0,137488.0,14.0 +0.000267631,0.0,137488.0,14.0 +0.00027528000000000003,0.0,137488.0,14.0 +0.000265497,0.0,137488.0,14.0 +0.000275773,0.0,137488.0,14.0 +0.000276593,0.0,137488.0,14.0 +0.00027823100000000004,0.0,137488.0,14.0 +0.00027087700000000004,0.0,137488.0,14.0 +0.000275089,0.0,137488.0,14.0 +0.00031825500000000004,0.0,137488.0,14.0 +0.000285353,0.0,137488.0,14.0 +0.000270131,0.0,137488.0,14.0 +0.000277891,0.0,137488.0,14.0 +0.00026304000000000003,0.0,137488.0,14.0 +0.000279166,0.0,137488.0,14.0 +0.00027334900000000004,0.0,137488.0,14.0 +0.000279788,0.0,137488.0,14.0 +0.000271147,0.0,137488.0,14.0 +0.000283145,0.0,137488.0,14.0 +0.000266961,0.0,137488.0,14.0 +0.000278822,0.0,137488.0,14.0 +0.00026880400000000004,0.0,137488.0,14.0 +0.000281473,0.0,137488.0,14.0 +0.000289008,0.0,137488.0,14.0 +0.00028889700000000004,0.0,137488.0,14.0 +0.000279124,0.0,137488.0,14.0 +0.000286111,0.0,137488.0,14.0 +0.00027719,0.0,137488.0,14.0 +0.00028605700000000004,0.0,137488.0,14.0 +0.00027345500000000003,0.0,137488.0,14.0 +0.00028179,0.0,137488.0,14.0 +0.00027582,0.0,137488.0,14.0 +0.00027752500000000004,0.0,137488.0,14.0 +0.00028064800000000004,0.0,137488.0,14.0 +0.00028179,0.0,137488.0,14.0 +0.000276493,0.0,137488.0,14.0 +0.00027893300000000003,0.0,137488.0,14.0 +0.000280963,0.0,137488.0,14.0 +0.0017710380000000002,0.7606414995048102,137488.0,14.0 +0.00018086,0.0,137488.0,14.0 +0.00016555200000000002,0.0,137488.0,14.0 +0.000164286,0.0,137488.0,14.0 +0.000160423,0.0,137488.0,14.0 +0.00016847000000000002,0.0,137488.0,14.0 +0.000173281,0.0,137488.0,14.0 +0.00016775400000000002,0.0,137488.0,14.0 +0.000176708,0.0,137488.0,14.0 +0.00016646,0.0,137488.0,14.0 +0.000170266,0.0,137488.0,14.0 +0.00017035000000000002,0.0,137488.0,14.0 +0.000169917,0.0,137488.0,14.0 +0.000173615,0.0,137488.0,14.0 +0.00018335200000000002,0.0,137488.0,14.0 +0.000180773,0.0,137488.0,14.0 +0.00016672,0.0,137488.0,14.0 +0.00016977300000000002,0.0,137488.0,14.0 +0.00016818800000000002,0.0,137488.0,14.0 +0.00016956300000000002,0.0,137488.0,14.0 +0.000163573,0.0,137488.0,14.0 +0.00017085600000000002,0.0,137488.0,14.0 +0.000172917,0.0,137488.0,14.0 +0.000172561,0.0,137488.0,14.0 +0.000181819,0.0,137488.0,14.0 +0.00017524200000000001,0.0,137488.0,14.0 +0.00017865100000000002,0.0,137488.0,14.0 +0.000168974,0.0,137488.0,14.0 +0.00017643500000000001,0.0,137488.0,14.0 +0.000165501,0.0,137488.0,14.0 +0.000186615,0.0,137488.0,14.0 +0.000170425,0.0,137488.0,14.0 +0.000160378,0.0,137488.0,14.0 +0.000167719,0.0,137488.0,14.0 +0.000171788,0.0,137488.0,14.0 +0.000172308,0.0,137488.0,14.0 +0.000168736,0.0,137488.0,14.0 +0.000187194,0.0,137488.0,14.0 +0.000165866,0.0,137488.0,14.0 +0.000169097,0.0,137488.0,14.0 +0.000174661,0.0,137488.0,14.0 +0.000176304,0.0,137488.0,14.0 +0.000167758,0.0,137488.0,14.0 +0.000177037,0.0,137488.0,14.0 +0.00017794500000000002,0.0,137488.0,14.0 +0.000175842,0.0,137488.0,14.0 +0.00017025700000000002,0.0,137488.0,14.0 +0.000169619,0.0,137488.0,14.0 +0.00016689000000000002,0.0,137488.0,14.0 +0.000170705,0.0,137488.0,14.0 +0.00016859600000000002,0.0,137488.0,14.0 +0.000174446,0.0,137488.0,14.0 +0.00017624600000000002,0.0,137488.0,14.0 +0.00016734100000000002,0.0,137488.0,14.0 +0.000166736,0.0,137488.0,14.0 +0.000164412,0.0,137488.0,14.0 +0.000168614,0.0,137488.0,14.0 +0.000172954,0.0,137488.0,14.0 +0.000175374,0.0,137488.0,14.0 +0.000175806,0.0,137488.0,14.0 +0.000184398,0.0,137488.0,14.0 +0.000159894,0.0,137488.0,14.0 +0.000168311,0.0,137488.0,14.0 +0.000164449,0.0,137488.0,14.0 +0.000157447,0.0,137488.0,14.0 +0.000169316,0.0,137488.0,14.0 +0.00016763000000000002,0.0,137488.0,14.0 +0.000174728,0.0,137488.0,14.0 +0.00016309400000000002,0.0,137488.0,14.0 +0.000164753,0.0,137488.0,14.0 +0.000163501,0.0,137488.0,14.0 +0.000165629,0.0,137488.0,14.0 +0.000163127,0.0,137488.0,14.0 +0.00016742500000000002,0.0,137488.0,14.0 +0.000162534,0.0,137488.0,14.0 +0.000175574,0.0,137488.0,14.0 +0.00016847200000000002,0.0,137488.0,14.0 +0.00016003300000000002,0.0,137488.0,14.0 +0.00017586200000000002,0.0,137488.0,14.0 +0.00017307300000000001,0.0,137488.0,14.0 +0.00018049,0.0,137488.0,14.0 +0.00017173600000000002,0.0,137488.0,14.0 +0.000159734,0.0,137488.0,14.0 +0.000192646,0.0,137488.0,14.0 +0.000170562,0.0,137488.0,14.0 +0.000162425,0.0,137488.0,14.0 +0.000162973,0.0,137488.0,14.0 +0.000157779,0.0,137488.0,14.0 +0.00016572800000000002,0.0,137488.0,14.0 +0.000167884,0.0,137488.0,14.0 +0.00016874400000000002,0.0,137488.0,14.0 +0.000160005,0.0,137488.0,14.0 +0.00016791200000000001,0.0,137488.0,14.0 +0.000162833,0.0,137488.0,14.0 +0.00015475700000000002,0.0,137488.0,14.0 +0.000167937,0.0,137488.0,14.0 +0.000164437,0.0,137488.0,14.0 +0.000171576,0.0,137488.0,14.0 +0.000157968,0.0,137488.0,14.0 +0.000160819,0.0,137488.0,14.0 +0.000158595,0.0,137488.0,14.0 +0.00016488600000000002,0.0,137488.0,14.0 +0.000159004,0.0,137488.0,14.0 +0.0001618,0.0,137488.0,14.0 +0.00016281500000000002,0.0,137488.0,14.0 +0.00015742300000000001,0.0,137488.0,14.0 +0.000167631,0.0,137488.0,14.0 +0.00016019300000000002,0.0,137488.0,14.0 +0.000180736,0.0,137488.0,14.0 +0.00017206100000000002,0.0,137488.0,14.0 +0.00017610800000000002,0.0,137488.0,14.0 +0.000161384,0.0,137488.0,14.0 +0.000157106,0.0,137488.0,14.0 +0.000153694,0.0,137488.0,14.0 +0.00015729600000000002,0.0,137488.0,14.0 +0.00015628700000000002,0.0,137488.0,14.0 +0.00016533000000000002,0.0,137488.0,14.0 +0.00015853700000000002,0.0,137488.0,14.0 +0.00016218000000000002,0.0,137488.0,14.0 +0.00016268900000000001,0.0,137488.0,14.0 +0.00016688,0.0,137488.0,14.0 +0.00016798,0.0,137488.0,14.0 +0.000163689,0.0,137488.0,14.0 +0.000166168,0.0,137488.0,14.0 +0.00015856100000000002,0.0,137488.0,14.0 +0.00015624900000000001,0.0,137488.0,14.0 +0.00015944600000000002,0.0,137488.0,14.0 +0.00016738000000000001,0.0,137488.0,14.0 +0.00016982300000000002,0.0,137488.0,14.0 +0.000170755,0.0,137488.0,14.0 +0.000170962,0.0,137488.0,14.0 +0.000173296,0.0,137488.0,14.0 +0.00017717400000000002,0.0,137488.0,14.0 +0.00016749400000000002,0.0,137488.0,14.0 +0.00016834600000000002,0.0,137488.0,14.0 +0.00015798800000000002,0.0,137488.0,14.0 +0.00016918100000000002,0.0,137488.0,14.0 +0.000162905,0.0,137488.0,14.0 +0.000171451,0.0,137488.0,14.0 +0.00015751300000000002,0.0,137488.0,14.0 +0.000159814,0.0,137488.0,14.0 +0.00016816200000000002,0.0,137488.0,14.0 +0.000155656,0.0,137488.0,14.0 +0.000163986,0.0,137488.0,14.0 +0.000159325,0.0,137488.0,14.0 +0.00017115,0.0,137488.0,14.0 +0.000153133,0.0,137488.0,14.0 +0.00016504400000000001,0.0,137488.0,14.0 +0.00016958900000000002,0.0,137488.0,14.0 +0.00015956300000000002,0.0,137488.0,14.0 +0.00016528500000000001,0.0,137488.0,14.0 +0.000163795,0.0,137488.0,14.0 +0.00015998500000000002,0.0,137488.0,14.0 +0.000161148,0.0,137488.0,14.0 +0.000169101,0.0,137488.0,14.0 +0.000162833,0.0,137488.0,14.0 +0.000173394,0.0,137488.0,14.0 +0.00017563800000000001,0.0,137488.0,14.0 +0.000177636,0.0,137488.0,14.0 +0.000172807,0.0,137488.0,14.0 +0.00016697600000000002,0.0,137488.0,14.0 +0.000174002,0.0,137488.0,14.0 +0.00016596700000000002,0.0,137488.0,14.0 +0.000166718,0.0,137488.0,14.0 +0.00017343800000000002,0.0,137488.0,14.0 +0.000163162,0.0,137488.0,14.0 +0.000173353,0.0,137488.0,14.0 +0.000168653,0.0,137488.0,14.0 +0.00016928100000000002,0.0,137488.0,14.0 +0.000174462,0.0,137488.0,14.0 +0.000165822,0.0,137488.0,14.0 +0.000168428,0.0,137488.0,14.0 +0.000172088,0.0,137488.0,14.0 +0.00016273900000000002,0.0,137488.0,14.0 +0.000169261,0.0,137488.0,14.0 +0.000166106,0.0,137488.0,14.0 +0.000171527,0.0,137488.0,14.0 +0.000178631,0.0,137488.0,14.0 +0.00017171700000000002,0.0,137488.0,14.0 +0.00017175300000000002,0.0,137488.0,14.0 +0.000175577,0.0,137488.0,14.0 +0.000173313,0.0,137488.0,14.0 +0.000171478,0.0,137488.0,14.0 +0.00016498200000000001,0.0,137488.0,14.0 +0.000163892,0.0,137488.0,14.0 +0.00016472400000000002,0.0,137488.0,14.0 +0.00018041400000000002,0.0,137488.0,14.0 +0.00016638500000000001,0.0,137488.0,14.0 +0.00016928400000000001,0.0,137488.0,14.0 +0.00016859900000000002,0.0,137488.0,14.0 +0.00016301300000000002,0.0,137488.0,14.0 +0.00016547800000000002,0.0,137488.0,14.0 +0.00016386000000000002,0.0,137488.0,14.0 +0.00016047400000000002,0.0,137488.0,14.0 +0.00018289,0.0,137488.0,14.0 +0.000161702,0.0,137488.0,14.0 +0.000165365,0.0,137488.0,14.0 +0.000181737,0.0,137488.0,14.0 +0.00016503900000000002,0.0,137488.0,14.0 +0.00016584300000000002,0.0,137488.0,14.0 +0.000163728,0.0,137488.0,14.0 +0.000164813,0.0,137488.0,14.0 +0.00016800200000000002,0.0,137488.0,14.0 +0.000185887,0.0,137488.0,14.0 +0.00017631800000000002,0.0,137488.0,14.0 +0.000179783,0.0,137488.0,14.0 +0.000170909,0.0,137488.0,14.0 +0.000168772,0.0,137488.0,14.0 +0.000169967,0.0,137488.0,14.0 +0.000164966,0.0,137488.0,14.0 +0.00017610800000000002,0.0,137488.0,14.0 +0.00017257,0.0,137488.0,14.0 +0.000169022,0.0,137488.0,14.0 +0.000173842,0.0,137488.0,14.0 +0.00017097500000000002,0.0,137488.0,14.0 +0.000171277,0.0,137488.0,14.0 +0.00016297000000000002,0.0,137488.0,14.0 +0.000165684,0.0,137488.0,14.0 +0.00018244300000000001,0.0,137488.0,14.0 +0.000166941,0.0,137488.0,14.0 +0.000166682,0.0,137488.0,14.0 +0.000174956,0.0,137488.0,14.0 +0.000171399,0.0,137488.0,14.0 +0.000174443,0.0,137488.0,14.0 +0.000173005,0.0,137488.0,14.0 +0.00016289600000000002,0.0,137488.0,14.0 +0.000189449,0.0,137488.0,14.0 +0.00017720500000000002,0.0,137488.0,14.0 +0.00017055300000000002,0.0,137488.0,14.0 +0.00016881400000000001,0.0,137488.0,14.0 +0.000168466,0.0,137488.0,14.0 +0.00018044300000000002,0.0,137488.0,14.0 +0.00016857700000000002,0.0,137488.0,14.0 +0.000168984,0.0,137488.0,14.0 +0.000177722,0.0,137488.0,14.0 +0.000167266,0.0,137488.0,14.0 +0.00017083200000000002,0.0,137488.0,14.0 +0.00017439700000000002,0.0,137488.0,14.0 +0.000168566,0.0,137488.0,14.0 +0.000172658,0.0,137488.0,14.0 +0.00017551400000000001,0.0,137488.0,14.0 +0.000170821,0.0,137488.0,14.0 +0.00017274800000000002,0.0,137488.0,14.0 +0.000164618,0.0,137488.0,14.0 +0.00017483400000000001,0.0,137488.0,14.0 +0.000178507,0.0,137488.0,14.0 +0.000168233,0.0,137488.0,14.0 +0.000175405,0.0,137488.0,14.0 +0.000177409,0.0,137488.0,14.0 +0.00017864600000000002,0.0,137488.0,14.0 +0.00017275300000000002,0.0,137488.0,14.0 +0.000158314,0.0,137488.0,14.0 +0.000163368,0.0,137488.0,14.0 +0.000206485,0.0,137488.0,14.0 +0.000161919,0.0,137488.0,14.0 +0.00016734,0.0,137488.0,14.0 +0.00016436,0.0,137488.0,14.0 +0.000161346,0.0,137488.0,14.0 +0.000169129,0.0,137488.0,14.0 +0.00016154,0.0,137488.0,14.0 +0.00016282500000000001,0.0,137488.0,14.0 +0.00016759400000000002,0.0,137488.0,14.0 +0.000160631,0.0,137488.0,14.0 +0.00017383,0.0,137488.0,14.0 +0.000161981,0.0,137488.0,14.0 +0.000165532,0.0,137488.0,14.0 +0.00017319200000000002,0.0,137488.0,14.0 +0.00016574500000000002,0.0,137488.0,14.0 +0.000166627,0.0,137488.0,14.0 +0.000170683,0.0,137488.0,14.0 +0.000163635,0.0,137488.0,14.0 +0.00018011100000000002,0.0,137488.0,14.0 +0.00016503,0.0,137488.0,14.0 +0.000181873,0.0,137488.0,14.0 +0.00016929300000000002,0.0,137488.0,14.0 +0.00015934100000000002,0.0,137488.0,14.0 +0.00016643200000000002,0.0,137488.0,14.0 +0.000163849,0.0,137488.0,14.0 +0.000169118,0.0,137488.0,14.0 +0.000167491,0.0,137488.0,14.0 +0.000167515,0.0,137488.0,14.0 +0.000161325,0.0,137488.0,14.0 +0.00016696900000000002,0.0,137488.0,14.0 +0.00016104000000000002,0.0,137488.0,14.0 +0.00015812,0.0,137488.0,14.0 +0.00016512500000000002,0.0,137488.0,14.0 +0.000162256,0.0,137488.0,14.0 +0.000171781,0.0,137488.0,14.0 +0.00016602200000000002,0.0,137488.0,14.0 +0.000165856,0.0,137488.0,14.0 +0.000172356,0.0,137488.0,14.0 +0.00015896600000000002,0.0,137488.0,14.0 +0.000162055,0.0,137488.0,14.0 +0.000166681,0.0,137488.0,14.0 +0.00015711000000000002,0.0,137488.0,14.0 +0.000171516,0.0,137488.0,14.0 +0.000158557,0.0,137488.0,14.0 +0.000173849,0.0,137488.0,14.0 +0.000168638,0.0,137488.0,14.0 +0.000155632,0.0,137488.0,14.0 +0.000160354,0.0,137488.0,14.0 +0.00016849100000000002,0.0,137488.0,14.0 +0.000157052,0.0,137488.0,14.0 +0.000170605,0.0,137488.0,14.0 +0.00016121600000000002,0.0,137488.0,14.0 +0.000160972,0.0,137488.0,14.0 +0.000161933,0.0,137488.0,14.0 +0.00015761100000000002,0.0,137488.0,14.0 +0.000161091,0.0,137488.0,14.0 +0.000166087,0.0,137488.0,14.0 +0.000158836,0.0,137488.0,14.0 +0.000165136,0.0,137488.0,14.0 +0.000159953,0.0,137488.0,14.0 +0.00016260000000000002,0.0,137488.0,14.0 +0.00017592400000000002,0.0,137488.0,14.0 +0.000161275,0.0,137488.0,14.0 +0.000164654,0.0,137488.0,14.0 +0.00017896,0.0,137488.0,14.0 +0.00015843700000000001,0.0,137488.0,14.0 +0.000169487,0.0,137488.0,14.0 +0.00016544200000000002,0.0,137488.0,14.0 +0.00017014700000000002,0.0,137488.0,14.0 +0.00016881100000000002,0.0,137488.0,14.0 +0.000162046,0.0,137488.0,14.0 +0.000162577,0.0,137488.0,14.0 +0.000170041,0.0,137488.0,14.0 +0.00016073700000000002,0.0,137488.0,14.0 +0.00016258100000000002,0.0,137488.0,14.0 +0.00016884200000000002,0.0,137488.0,14.0 +0.00017285800000000002,0.0,137488.0,14.0 +0.00017256700000000002,0.0,137488.0,14.0 +0.00018197000000000002,0.0,137488.0,14.0 +0.00028972000000000004,0.0,137488.0,14.0 +0.000273381,0.0,137488.0,14.0 +0.0016865690000000002,0.7898651048370983,137488.0,14.0 +0.00016272700000000002,0.0,137488.0,14.0 +0.000165043,0.0,137488.0,14.0 +0.000166025,0.0,137488.0,14.0 +0.000171888,0.0,137488.0,14.0 +0.00016755600000000002,0.0,137488.0,14.0 +0.000173145,0.0,137488.0,14.0 +0.00017294400000000002,0.0,137488.0,14.0 +0.000174716,0.0,137488.0,14.0 +0.000173035,0.0,137488.0,14.0 +0.000173625,0.0,137488.0,14.0 +0.000170585,0.0,137488.0,14.0 +0.000170413,0.0,137488.0,14.0 +0.000173775,0.0,137488.0,14.0 +0.00017873900000000002,0.0,137488.0,14.0 +0.000179738,0.0,137488.0,14.0 +0.00021958800000000003,0.0,137488.0,14.0 +0.000170556,0.0,137488.0,14.0 +0.00016688300000000002,0.0,137488.0,14.0 +0.00016604600000000002,0.0,137488.0,14.0 +0.000163084,0.0,137488.0,14.0 +0.00016620600000000001,0.0,137488.0,14.0 +0.00024651400000000003,0.0,137488.0,14.0 +0.00019884700000000002,0.0,137488.0,14.0 +0.000173997,0.0,137488.0,14.0 +0.00016391700000000002,0.0,137488.0,14.0 +0.000170607,0.0,137488.0,14.0 +0.00016959900000000001,0.0,137488.0,14.0 +0.00016969200000000001,0.0,137488.0,14.0 +0.00016964,0.0,137488.0,14.0 +0.000169363,0.0,137488.0,14.0 +0.00016596500000000001,0.0,137488.0,14.0 +0.00016645400000000002,0.0,137488.0,14.0 +0.000163501,0.0,137488.0,14.0 +0.000166935,0.0,137488.0,14.0 +0.000170449,0.0,137488.0,14.0 +0.00016541800000000002,0.0,137488.0,14.0 +0.000166427,0.0,137488.0,14.0 +0.000159103,0.0,137488.0,14.0 +0.000165555,0.0,137488.0,14.0 +0.00016663000000000002,0.0,137488.0,14.0 +0.00016619400000000002,0.0,137488.0,14.0 +0.00018122300000000002,0.0,137488.0,14.0 +0.00018094200000000002,0.0,137488.0,14.0 +0.000175495,0.0,137488.0,14.0 +0.00016907400000000001,0.0,137488.0,14.0 +0.000183649,0.0,137488.0,14.0 +0.000181255,0.0,137488.0,14.0 +0.000166947,0.0,137488.0,14.0 +0.000170905,0.0,137488.0,14.0 +0.00016583100000000002,0.0,137488.0,14.0 +0.00018157,0.0,137488.0,14.0 +0.000167283,0.0,137488.0,14.0 +0.000166548,0.0,137488.0,14.0 +0.000167453,0.0,137488.0,14.0 +0.000175488,0.0,137488.0,14.0 +0.00015979200000000002,0.0,137488.0,14.0 +0.00017008800000000002,0.0,137488.0,14.0 +0.000162585,0.0,137488.0,14.0 +0.00016733200000000002,0.0,137488.0,14.0 +0.000169702,0.0,137488.0,14.0 +0.000172761,0.0,137488.0,14.0 +0.0001661,0.0,137488.0,14.0 +0.00016531,0.0,137488.0,14.0 +0.00016794300000000001,0.0,137488.0,14.0 +0.000162477,0.0,137488.0,14.0 +0.00016538000000000002,0.0,137488.0,14.0 +0.00016639200000000002,0.0,137488.0,14.0 +0.00016186800000000002,0.0,137488.0,14.0 +0.000161409,0.0,137488.0,14.0 +0.000183493,0.0,137488.0,14.0 +0.000179623,0.0,137488.0,14.0 +0.000164393,0.0,137488.0,14.0 +0.000171611,0.0,137488.0,14.0 +0.00018545100000000002,0.0,137488.0,14.0 +0.00018110600000000002,0.0,137488.0,14.0 +0.000168779,0.0,137488.0,14.0 +0.000178764,0.0,137488.0,14.0 +0.00017667100000000002,0.0,137488.0,14.0 +0.00017782100000000002,0.0,137488.0,14.0 +0.00017225700000000001,0.0,137488.0,14.0 +0.000172723,0.0,137488.0,14.0 +0.000183494,0.0,137488.0,14.0 +0.00017483400000000001,0.0,137488.0,14.0 +0.00016623,0.0,137488.0,14.0 +0.00017267900000000002,0.0,137488.0,14.0 +0.000176987,0.0,137488.0,14.0 +0.000169223,0.0,137488.0,14.0 +0.00017374300000000002,0.0,137488.0,14.0 +0.000166396,0.0,137488.0,14.0 +0.000176958,0.0,137488.0,14.0 +0.00016909300000000002,0.0,137488.0,14.0 +0.00017154,0.0,137488.0,14.0 +0.01621249,0.0,137488.0,14.0 +0.000179938,0.0,137488.0,14.0 +0.000167892,0.0,137488.0,14.0 +0.00016295,0.0,137488.0,14.0 +0.00017002,0.0,137488.0,14.0 +0.000166984,0.0,137488.0,14.0 +0.00017816400000000002,0.0,137488.0,14.0 +0.0001661,0.0,137488.0,14.0 +0.000171351,0.0,137488.0,14.0 +0.00017173,0.0,137488.0,14.0 +0.00017361700000000002,0.0,137488.0,14.0 +0.00017204200000000002,0.0,137488.0,14.0 +0.000169003,0.0,137488.0,14.0 +0.00016852000000000002,0.0,137488.0,14.0 +0.000176514,0.0,137488.0,14.0 +0.000176596,0.0,137488.0,14.0 +0.00018759200000000002,0.0,137488.0,14.0 +0.00016691700000000001,0.0,137488.0,14.0 +0.00017460000000000002,0.0,137488.0,14.0 +0.000170072,0.0,137488.0,14.0 +0.000164226,0.0,137488.0,14.0 +0.00018124000000000002,0.0,137488.0,14.0 +0.000169636,0.0,137488.0,14.0 +0.00018822,0.0,137488.0,14.0 +0.000168677,0.0,137488.0,14.0 +0.000166441,0.0,137488.0,14.0 +0.00016675900000000002,0.0,137488.0,14.0 +0.000168929,0.0,137488.0,14.0 +0.000166729,0.0,137488.0,14.0 +0.00016696700000000002,0.0,137488.0,14.0 +0.000163894,0.0,137488.0,14.0 +0.00016471700000000002,0.0,137488.0,14.0 +0.000170566,0.0,137488.0,14.0 +0.00016676600000000002,0.0,137488.0,14.0 +0.000174205,0.0,137488.0,14.0 +0.000169509,0.0,137488.0,14.0 +0.00017248100000000002,0.0,137488.0,14.0 +0.000175317,0.0,137488.0,14.0 +0.0001675,0.0,137488.0,14.0 +0.000170633,0.0,137488.0,14.0 +0.000165111,0.0,137488.0,14.0 +0.000167374,0.0,137488.0,14.0 +0.000175374,0.0,137488.0,14.0 +0.00017041000000000002,0.0,137488.0,14.0 +0.00016432300000000002,0.0,137488.0,14.0 +0.00016827400000000002,0.0,137488.0,14.0 +0.000183372,0.0,137488.0,14.0 +0.00016654200000000002,0.0,137488.0,14.0 +0.000165279,0.0,137488.0,14.0 +0.000170655,0.0,137488.0,14.0 +0.00016211,0.0,137488.0,14.0 +0.00017409100000000002,0.0,137488.0,14.0 +0.00016113500000000002,0.0,137488.0,14.0 +0.000168177,0.0,137488.0,14.0 +0.00016905000000000002,0.0,137488.0,14.0 +0.000166119,0.0,137488.0,14.0 +0.00015973000000000002,0.0,137488.0,14.0 +0.000173579,0.0,137488.0,14.0 +0.00016335,0.0,137488.0,14.0 +0.00016553300000000002,0.0,137488.0,14.0 +0.00016381700000000002,0.0,137488.0,14.0 +0.00016475500000000002,0.0,137488.0,14.0 +0.000168154,0.0,137488.0,14.0 +0.000161938,0.0,137488.0,14.0 +0.00017897100000000002,0.0,137488.0,14.0 +0.00016683300000000002,0.0,137488.0,14.0 +0.00016059600000000002,0.0,137488.0,14.0 +0.000162544,0.0,137488.0,14.0 +0.00016979900000000002,0.0,137488.0,14.0 +0.000163449,0.0,137488.0,14.0 +0.000181506,0.0,137488.0,14.0 +0.00018086100000000002,0.0,137488.0,14.0 +0.00016380800000000001,0.0,137488.0,14.0 +0.000170698,0.0,137488.0,14.0 +0.000166606,0.0,137488.0,14.0 +0.000172301,0.0,137488.0,14.0 +0.00018007600000000002,0.0,137488.0,14.0 +0.000166402,0.0,137488.0,14.0 +0.00017540900000000001,0.0,137488.0,14.0 +0.000167989,0.0,137488.0,14.0 +0.000166698,0.0,137488.0,14.0 +0.000174615,0.0,137488.0,14.0 +0.00016816700000000002,0.0,137488.0,14.0 +0.000165579,0.0,137488.0,14.0 +0.000175307,0.0,137488.0,14.0 +0.000168889,0.0,137488.0,14.0 +0.00016610100000000001,0.0,137488.0,14.0 +0.00017595000000000002,0.0,137488.0,14.0 +0.000174966,0.0,137488.0,14.0 +0.00016565400000000002,0.0,137488.0,14.0 +0.000173964,0.0,137488.0,14.0 +0.000164947,0.0,137488.0,14.0 +0.00016734400000000002,0.0,137488.0,14.0 +0.012216959000000001,0.0,137488.0,14.0 +0.00018104000000000001,0.0,137488.0,14.0 +0.000176493,0.0,137488.0,14.0 +0.000162031,0.0,137488.0,14.0 +0.000170203,0.0,137488.0,14.0 +0.00017470900000000002,0.0,137488.0,14.0 +0.000163869,0.0,137488.0,14.0 +0.000168951,0.0,137488.0,14.0 +0.000176178,0.0,137488.0,14.0 +0.00016854400000000002,0.0,137488.0,14.0 +0.000172229,0.0,137488.0,14.0 +0.000169819,0.0,137488.0,14.0 +0.000169277,0.0,137488.0,14.0 +0.00017494300000000002,0.0,137488.0,14.0 +0.00017011,0.0,137488.0,14.0 +0.000170714,0.0,137488.0,14.0 +0.000164501,0.0,137488.0,14.0 +0.000169234,0.0,137488.0,14.0 +0.000175942,0.0,137488.0,14.0 +0.00016575500000000001,0.0,137488.0,14.0 +0.00017037600000000002,0.0,137488.0,14.0 +0.000168846,0.0,137488.0,14.0 +0.00016983500000000002,0.0,137488.0,14.0 +0.00018161900000000002,0.0,137488.0,14.0 +0.00018293700000000001,0.0,137488.0,14.0 +0.000172052,0.0,137488.0,14.0 +0.000179001,0.0,137488.0,14.0 +0.00017023300000000002,0.0,137488.0,14.0 +0.000167058,0.0,137488.0,14.0 +0.000176612,0.0,137488.0,14.0 +0.00017185600000000002,0.0,137488.0,14.0 +0.000170573,0.0,137488.0,14.0 +0.000170859,0.0,137488.0,14.0 +0.000166927,0.0,137488.0,14.0 +0.00018275800000000001,0.0,137488.0,14.0 +0.00017006,0.0,137488.0,14.0 +0.000173632,0.0,137488.0,14.0 +0.000175884,0.0,137488.0,14.0 +0.00016573100000000002,0.0,137488.0,14.0 +0.000175316,0.0,137488.0,14.0 +0.000170568,0.0,137488.0,14.0 +0.00017287900000000002,0.0,137488.0,14.0 +0.00017783800000000001,0.0,137488.0,14.0 +0.00016883700000000002,0.0,137488.0,14.0 +0.00017297500000000002,0.0,137488.0,14.0 +0.000175472,0.0,137488.0,14.0 +0.000184114,0.0,137488.0,14.0 +0.000174191,0.0,137488.0,14.0 +0.000165309,0.0,137488.0,14.0 +0.000161704,0.0,137488.0,14.0 +0.00017922900000000001,0.0,137488.0,14.0 +0.00016098500000000002,0.0,137488.0,14.0 +0.000168667,0.0,137488.0,14.0 +0.000172275,0.0,137488.0,14.0 +0.00017149800000000002,0.0,137488.0,14.0 +0.000167349,0.0,137488.0,14.0 +0.00016189,0.0,137488.0,14.0 +0.00016644900000000002,0.0,137488.0,14.0 +0.000169426,0.0,137488.0,14.0 +0.000167462,0.0,137488.0,14.0 +0.000166484,0.0,137488.0,14.0 +0.000171566,0.0,137488.0,14.0 +0.000172188,0.0,137488.0,14.0 +0.000173579,0.0,137488.0,14.0 +0.000164883,0.0,137488.0,14.0 +0.000162547,0.0,137488.0,14.0 +0.00017090400000000002,0.0,137488.0,14.0 +0.00016721700000000002,0.0,137488.0,14.0 +0.000168216,0.0,137488.0,14.0 +0.00017130900000000002,0.0,137488.0,14.0 +0.00017754,0.0,137488.0,14.0 +0.000174308,0.0,137488.0,14.0 +0.000165049,0.0,137488.0,14.0 +0.00016463100000000002,0.0,137488.0,14.0 +0.000174198,0.0,137488.0,14.0 +0.00016600000000000002,0.0,137488.0,14.0 +0.000176131,0.0,137488.0,14.0 +0.000172188,0.0,137488.0,14.0 +0.000162502,0.0,137488.0,14.0 +0.00017028300000000002,0.0,137488.0,14.0 +0.000168908,0.0,137488.0,14.0 +0.000159841,0.0,137488.0,14.0 +0.000170056,0.0,137488.0,14.0 +0.00016859900000000002,0.0,137488.0,14.0 +0.00016149800000000002,0.0,137488.0,14.0 +0.000173047,0.0,137488.0,14.0 +0.000165553,0.0,137488.0,14.0 +0.000167526,0.0,137488.0,14.0 +0.00016473600000000002,0.0,137488.0,14.0 +0.000164549,0.0,137488.0,14.0 +0.000165846,0.0,137488.0,14.0 +0.00016084400000000002,0.0,137488.0,14.0 +0.00018334000000000002,0.0,137488.0,14.0 +0.016207434,0.0,137488.0,14.0 +0.00018358100000000002,0.0,137488.0,14.0 +0.000183539,0.0,137488.0,14.0 +0.000172081,0.0,137488.0,14.0 +0.00016672300000000002,0.0,137488.0,14.0 +0.00017188000000000001,0.0,137488.0,14.0 +0.000170464,0.0,137488.0,14.0 +0.000165753,0.0,137488.0,14.0 +0.00017170100000000002,0.0,137488.0,14.0 +0.000169233,0.0,137488.0,14.0 +0.00016939,0.0,137488.0,14.0 +0.000170041,0.0,137488.0,14.0 +0.00017054600000000002,0.0,137488.0,14.0 +0.000176836,0.0,137488.0,14.0 +0.000167541,0.0,137488.0,14.0 +0.000166713,0.0,137488.0,14.0 +0.000179364,0.0,137488.0,14.0 +0.000164374,0.0,137488.0,14.0 +0.000171081,0.0,137488.0,14.0 +0.00016707,0.0,137488.0,14.0 +0.000166622,0.0,137488.0,14.0 +0.000173158,0.0,137488.0,14.0 +0.00016827200000000002,0.0,137488.0,14.0 +0.000186097,0.0,137488.0,14.0 +0.000188134,0.0,137488.0,14.0 +0.000164944,0.0,137488.0,14.0 +0.00016688800000000002,0.0,137488.0,14.0 +0.000168331,0.0,137488.0,14.0 +0.000174615,0.0,137488.0,14.0 +0.00017591400000000002,0.0,137488.0,14.0 +0.000166517,0.0,137488.0,14.0 +0.00016876300000000002,0.0,137488.0,14.0 +0.00017693,0.0,137488.0,14.0 +0.00017019700000000002,0.0,137488.0,14.0 +0.000167898,0.0,137488.0,14.0 +0.00017034800000000002,0.0,137488.0,14.0 +0.00016970100000000002,0.0,137488.0,14.0 +0.00017402900000000002,0.0,137488.0,14.0 +0.000174343,0.0,137488.0,14.0 +0.00017151000000000002,0.0,137488.0,14.0 +0.00017036700000000002,0.0,137488.0,14.0 +0.000171382,0.0,137488.0,14.0 +0.00017095600000000002,0.0,137488.0,14.0 +0.000168996,0.0,137488.0,14.0 +0.00016865600000000002,0.0,137488.0,14.0 +0.000177624,0.0,137488.0,14.0 +0.00017746,0.0,137488.0,14.0 +0.000170747,0.0,137488.0,14.0 +0.00017603400000000002,0.0,137488.0,14.0 +0.00016717700000000002,0.0,137488.0,14.0 +0.00017573300000000002,0.0,137488.0,14.0 +0.00017875,0.0,137488.0,14.0 +0.000169724,0.0,137488.0,14.0 +0.000174964,0.0,137488.0,14.0 +0.0017066980000000002,0.7965041266820492,137488.0,14.0 +0.000180501,0.0,137488.0,14.0 +0.00016797400000000002,0.0,137488.0,14.0 +0.000163873,0.0,137488.0,14.0 +0.00016889500000000002,0.0,137488.0,14.0 +0.000171676,0.0,137488.0,14.0 +0.000173169,0.0,137488.0,14.0 +0.00018915500000000001,0.0,137488.0,14.0 +0.000175328,0.0,137488.0,14.0 +0.00017024500000000002,0.0,137488.0,14.0 +0.0001739,0.0,137488.0,14.0 +0.000179504,0.0,137488.0,14.0 +0.00017833400000000002,0.0,137488.0,14.0 +0.000162868,0.0,137488.0,14.0 +0.000170657,0.0,137488.0,14.0 +0.000174518,0.0,137488.0,14.0 +0.000170471,0.0,137488.0,14.0 +0.00016859900000000002,0.0,137488.0,14.0 +0.000166483,0.0,137488.0,14.0 +0.00016979400000000002,0.0,137488.0,14.0 +0.000163873,0.0,137488.0,14.0 +0.00017860600000000002,0.0,137488.0,14.0 +0.000163534,0.0,137488.0,14.0 +0.000165751,0.0,137488.0,14.0 +0.000181396,0.0,137488.0,14.0 +0.000168495,0.0,137488.0,14.0 +0.00016968700000000002,0.0,137488.0,14.0 +0.00016197500000000002,0.0,137488.0,14.0 +0.000176985,0.0,137488.0,14.0 +0.000163658,0.0,137488.0,14.0 +0.016228238000000002,0.0,137488.0,14.0 +0.000187731,0.0,137488.0,14.0 +0.000167176,0.0,137488.0,14.0 +0.000173263,0.0,137488.0,14.0 +0.000174369,0.0,137488.0,14.0 +0.00017182200000000002,0.0,137488.0,14.0 +0.00017436800000000002,0.0,137488.0,14.0 +0.000171177,0.0,137488.0,14.0 +0.00016908,0.0,137488.0,14.0 +0.000171678,0.0,137488.0,14.0 +0.00016830800000000002,0.0,137488.0,14.0 +0.000178178,0.0,137488.0,14.0 +0.000171285,0.0,137488.0,14.0 +0.000179631,0.0,137488.0,14.0 +0.00018373100000000002,0.0,137488.0,14.0 +0.00017355500000000001,0.0,137488.0,14.0 +0.00017963900000000002,0.0,137488.0,14.0 +0.00018238800000000002,0.0,137488.0,14.0 +0.000167517,0.0,137488.0,14.0 +0.000173813,0.0,137488.0,14.0 +0.000175842,0.0,137488.0,14.0 +0.000169268,0.0,137488.0,14.0 +0.00018950300000000002,0.0,137488.0,14.0 +0.00017072000000000002,0.0,137488.0,14.0 +0.000169617,0.0,137488.0,14.0 +0.00017615800000000002,0.0,137488.0,14.0 +0.00016751800000000002,0.0,137488.0,14.0 +0.000168228,0.0,137488.0,14.0 +0.00017040300000000001,0.0,137488.0,14.0 +0.000172833,0.0,137488.0,14.0 +0.000174816,0.0,137488.0,14.0 +0.00017408900000000002,0.0,137488.0,14.0 +0.00017526,0.0,137488.0,14.0 +0.00016744400000000002,0.0,137488.0,14.0 +0.00017420800000000002,0.0,137488.0,14.0 +0.00016483400000000001,0.0,137488.0,14.0 +0.000176751,0.0,137488.0,14.0 +0.000173198,0.0,137488.0,14.0 +0.000167478,0.0,137488.0,14.0 +0.000169746,0.0,137488.0,14.0 +0.00017213500000000002,0.0,137488.0,14.0 +0.00017214000000000002,0.0,137488.0,14.0 +0.00016475500000000002,0.0,137488.0,14.0 +0.00017816900000000002,0.0,137488.0,14.0 +0.00017880600000000002,0.0,137488.0,14.0 +0.000198958,0.0,137488.0,14.0 +0.000170449,0.0,137488.0,14.0 +0.000172015,0.0,137488.0,14.0 +0.00017730800000000002,0.0,137488.0,14.0 +0.0001777,0.0,137488.0,14.0 +0.00017441600000000002,0.0,137488.0,14.0 +0.000176538,0.0,137488.0,14.0 +0.000176002,0.0,137488.0,14.0 +0.000181833,0.0,137488.0,14.0 +0.000166123,0.0,137488.0,14.0 +0.00016938,0.0,137488.0,14.0 +0.000163906,0.0,137488.0,14.0 +0.000169202,0.0,137488.0,14.0 +0.00017013800000000002,0.0,137488.0,14.0 +0.00016740100000000002,0.0,137488.0,14.0 +0.00016708100000000002,0.0,137488.0,14.0 +0.000165791,0.0,137488.0,14.0 +0.00016720500000000002,0.0,137488.0,14.0 +0.00017087000000000002,0.0,137488.0,14.0 +0.000164451,0.0,137488.0,14.0 +0.00016870100000000002,0.0,137488.0,14.0 +0.000166047,0.0,137488.0,14.0 +0.00017632700000000002,0.0,137488.0,14.0 +0.000166768,0.0,137488.0,14.0 +0.000185505,0.0,137488.0,14.0 +0.00016976,0.0,137488.0,14.0 +0.00017341600000000002,0.0,137488.0,14.0 +0.000172966,0.0,137488.0,14.0 +0.000164833,0.0,137488.0,14.0 +0.000169654,0.0,137488.0,14.0 +0.000164186,0.0,137488.0,14.0 +0.000171895,0.0,137488.0,14.0 +0.000174105,0.0,137488.0,14.0 +0.00018144300000000002,0.0,137488.0,14.0 +0.00017193000000000002,0.0,137488.0,14.0 +0.00018822400000000002,0.0,137488.0,14.0 +0.00016692400000000002,0.0,137488.0,14.0 +0.00016447100000000002,0.0,137488.0,14.0 +0.000164198,0.0,137488.0,14.0 +0.00016970400000000001,0.0,137488.0,14.0 +0.000172045,0.0,137488.0,14.0 +0.00016421800000000002,0.0,137488.0,14.0 +0.000168502,0.0,137488.0,14.0 +0.000161213,0.0,137488.0,14.0 +0.000168908,0.0,137488.0,14.0 +0.000174639,0.0,137488.0,14.0 +0.000174842,0.0,137488.0,14.0 +0.016214451,0.0,137488.0,14.0 +0.000173152,0.0,137488.0,14.0 +0.000170046,0.0,137488.0,14.0 +0.00016823100000000002,0.0,137488.0,14.0 +0.00017534,0.0,137488.0,14.0 +0.000179413,0.0,137488.0,14.0 +0.000180199,0.0,137488.0,14.0 +0.00017333300000000002,0.0,137488.0,14.0 +0.000179135,0.0,137488.0,14.0 +0.00016961300000000002,0.0,137488.0,14.0 +0.000171272,0.0,137488.0,14.0 +0.00016792800000000002,0.0,137488.0,14.0 +0.000173096,0.0,137488.0,14.0 +0.000165448,0.0,137488.0,14.0 +0.000179416,0.0,137488.0,14.0 +0.000170964,0.0,137488.0,14.0 +0.000169523,0.0,137488.0,14.0 +0.00017230700000000002,0.0,137488.0,14.0 +0.00016729100000000002,0.0,137488.0,14.0 +0.000174945,0.0,137488.0,14.0 +0.000164532,0.0,137488.0,14.0 +0.000172134,0.0,137488.0,14.0 +0.000163288,0.0,137488.0,14.0 +0.00018732400000000002,0.0,137488.0,14.0 +0.000166965,0.0,137488.0,14.0 +0.000175906,0.0,137488.0,14.0 +0.00017075300000000002,0.0,137488.0,14.0 +0.0001643,0.0,137488.0,14.0 +0.00017049,0.0,137488.0,14.0 +0.000164668,0.0,137488.0,14.0 +0.00016662300000000002,0.0,137488.0,14.0 +0.00017719,0.0,137488.0,14.0 +0.00016383,0.0,137488.0,14.0 +0.000172478,0.0,137488.0,14.0 +0.000163563,0.0,137488.0,14.0 +0.000181618,0.0,137488.0,14.0 +0.00017483,0.0,137488.0,14.0 +0.000172475,0.0,137488.0,14.0 +0.000162217,0.0,137488.0,14.0 +0.00017195600000000002,0.0,137488.0,14.0 +0.000172399,0.0,137488.0,14.0 +0.000165873,0.0,137488.0,14.0 +0.000178624,0.0,137488.0,14.0 +0.00016707400000000002,0.0,137488.0,14.0 +0.00016837900000000002,0.0,137488.0,14.0 +0.00016906200000000002,0.0,137488.0,14.0 +0.00018167900000000002,0.0,137488.0,14.0 +0.000177001,0.0,137488.0,14.0 +0.00016555700000000001,0.0,137488.0,14.0 +0.00016655200000000001,0.0,137488.0,14.0 +0.00017605000000000002,0.0,137488.0,14.0 +0.000162972,0.0,137488.0,14.0 +0.00016492,0.0,137488.0,14.0 +0.000168065,0.0,137488.0,14.0 +0.00016593,0.0,137488.0,14.0 +0.00018115200000000002,0.0,137488.0,14.0 +0.00017114700000000002,0.0,137488.0,14.0 +0.000166202,0.0,137488.0,14.0 +0.0001688,0.0,137488.0,14.0 +0.000171489,0.0,137488.0,14.0 +0.00016200600000000002,0.0,137488.0,14.0 +0.00017439900000000002,0.0,137488.0,14.0 +0.0001619,0.0,137488.0,14.0 +0.000169046,0.0,137488.0,14.0 +0.000173778,0.0,137488.0,14.0 +0.00016861,0.0,137488.0,14.0 +0.00016861300000000002,0.0,137488.0,14.0 +0.000174503,0.0,137488.0,14.0 +0.00016059400000000001,0.0,137488.0,14.0 +0.000179915,0.0,137488.0,14.0 +0.00017405600000000002,0.0,137488.0,14.0 +0.000165524,0.0,137488.0,14.0 +0.000179227,0.0,137488.0,14.0 +0.00016539400000000002,0.0,137488.0,14.0 +0.000171063,0.0,137488.0,14.0 +0.000171626,0.0,137488.0,14.0 +0.000167354,0.0,137488.0,14.0 +0.000176758,0.0,137488.0,14.0 +0.000163894,0.0,137488.0,14.0 +0.00016842000000000002,0.0,137488.0,14.0 +0.000176359,0.0,137488.0,14.0 +0.00016741300000000002,0.0,137488.0,14.0 +0.000166205,0.0,137488.0,14.0 +0.000172454,0.0,137488.0,14.0 +0.000167286,0.0,137488.0,14.0 +0.000171458,0.0,137488.0,14.0 +0.000171831,0.0,137488.0,14.0 +0.00016478800000000002,0.0,137488.0,14.0 +0.000175567,0.0,137488.0,14.0 +0.00017081,0.0,137488.0,14.0 +0.000167064,0.0,137488.0,14.0 +0.00017175300000000002,0.0,137488.0,14.0 +0.00016589800000000002,0.0,137488.0,14.0 +0.016208884,0.0,137488.0,14.0 +0.00017068200000000002,0.0,137488.0,14.0 +0.00016225700000000002,0.0,137488.0,14.0 +0.000179755,0.0,137488.0,14.0 +0.000166138,0.0,137488.0,14.0 +0.00017040300000000001,0.0,137488.0,14.0 +0.00016518000000000001,0.0,137488.0,14.0 +0.000163659,0.0,137488.0,14.0 +0.000171657,0.0,137488.0,14.0 +0.00016638700000000002,0.0,137488.0,14.0 +0.00017528700000000002,0.0,137488.0,14.0 +0.000172496,0.0,137488.0,14.0 +0.000162492,0.0,137488.0,14.0 +0.000162656,0.0,137488.0,14.0 +0.00017565400000000002,0.0,137488.0,14.0 +0.00016467100000000002,0.0,137488.0,14.0 +0.000173823,0.0,137488.0,14.0 +0.00016245200000000002,0.0,137488.0,14.0 +0.00016065,0.0,137488.0,14.0 +0.000171029,0.0,137488.0,14.0 +0.000168094,0.0,137488.0,14.0 +0.000168865,0.0,137488.0,14.0 +0.000166376,0.0,137488.0,14.0 +0.000175422,0.0,137488.0,14.0 +0.00017676100000000002,0.0,137488.0,14.0 +0.000164047,0.0,137488.0,14.0 +0.000161566,0.0,137488.0,14.0 +0.000167317,0.0,137488.0,14.0 +0.00015776100000000002,0.0,137488.0,14.0 +0.00016827200000000002,0.0,137488.0,14.0 +0.000170941,0.0,137488.0,14.0 +0.00016490300000000002,0.0,137488.0,14.0 +0.00016570700000000002,0.0,137488.0,14.0 +0.000172427,0.0,137488.0,14.0 +0.000163747,0.0,137488.0,14.0 +0.00016512700000000002,0.0,137488.0,14.0 +0.00015913800000000002,0.0,137488.0,14.0 +0.00016669200000000002,0.0,137488.0,14.0 +0.000165052,0.0,137488.0,14.0 +0.00015704300000000002,0.0,137488.0,14.0 +0.000176508,0.0,137488.0,14.0 +0.00016264600000000001,0.0,137488.0,14.0 +0.00016299,0.0,137488.0,14.0 +0.00016850100000000002,0.0,137488.0,14.0 +0.000160905,0.0,137488.0,14.0 +0.00016115900000000002,0.0,137488.0,14.0 +0.00016131400000000002,0.0,137488.0,14.0 +0.00018770100000000002,0.0,137488.0,14.0 +0.000175443,0.0,137488.0,14.0 +0.00016026400000000002,0.0,137488.0,14.0 +0.00016685500000000001,0.0,137488.0,14.0 +0.000166145,0.0,137488.0,14.0 +0.000167979,0.0,137488.0,14.0 +0.00016713100000000002,0.0,137488.0,14.0 +0.000163923,0.0,137488.0,14.0 +0.00016470700000000002,0.0,137488.0,14.0 +0.00017362100000000002,0.0,137488.0,14.0 +0.00016165500000000002,0.0,137488.0,14.0 +0.000157687,0.0,137488.0,14.0 +0.00017542500000000002,0.0,137488.0,14.0 +0.000164527,0.0,137488.0,14.0 +0.000160963,0.0,137488.0,14.0 +0.000165992,0.0,137488.0,14.0 +0.000166111,0.0,137488.0,14.0 +0.00017038100000000002,0.0,137488.0,14.0 +0.000160774,0.0,137488.0,14.0 +0.00016291500000000002,0.0,137488.0,14.0 +0.000168247,0.0,137488.0,14.0 +0.000160848,0.0,137488.0,14.0 +0.000162361,0.0,137488.0,14.0 +0.000162441,0.0,137488.0,14.0 +0.00017291000000000002,0.0,137488.0,14.0 +0.000168235,0.0,137488.0,14.0 +0.00016426600000000002,0.0,137488.0,14.0 +0.000156712,0.0,137488.0,14.0 +0.00017129500000000002,0.0,137488.0,14.0 +0.00015758700000000002,0.0,137488.0,14.0 +0.00016020500000000002,0.0,137488.0,14.0 +0.000165172,0.0,137488.0,14.0 +0.000161718,0.0,137488.0,14.0 +0.00017778500000000002,0.0,137488.0,14.0 +0.000160167,0.0,137488.0,14.0 +0.00015939,0.0,137488.0,14.0 +0.000169082,0.0,137488.0,14.0 +0.000160349,0.0,137488.0,14.0 +0.00016432500000000002,0.0,137488.0,14.0 +0.000165957,0.0,137488.0,14.0 +0.00016320900000000002,0.0,137488.0,14.0 +0.000182575,0.0,137488.0,14.0 +0.000153485,0.0,137488.0,14.0 +0.00016554500000000002,0.0,137488.0,14.0 +0.000171988,0.0,137488.0,14.0 +0.000168244,0.0,137488.0,14.0 +0.000159431,0.0,137488.0,14.0 +0.00015889000000000002,0.0,137488.0,14.0 +0.016202641,0.0,137488.0,14.0 +0.000184636,0.0,137488.0,14.0 +0.00016638200000000002,0.0,137488.0,14.0 +0.000171043,0.0,137488.0,14.0 +0.00017252,0.0,137488.0,14.0 +0.000162256,0.0,137488.0,14.0 +0.000162564,0.0,137488.0,14.0 +0.000177431,0.0,137488.0,14.0 +0.00015916000000000001,0.0,137488.0,14.0 +0.000161246,0.0,137488.0,14.0 +0.00016071,0.0,137488.0,14.0 +0.00016027900000000001,0.0,137488.0,14.0 +0.00016819300000000002,0.0,137488.0,14.0 +0.00017144100000000001,0.0,137488.0,14.0 +0.00016146900000000002,0.0,137488.0,14.0 +0.00017132400000000002,0.0,137488.0,14.0 +0.00015957200000000002,0.0,137488.0,14.0 +0.000173052,0.0,137488.0,14.0 +0.000157886,0.0,137488.0,14.0 +0.000168975,0.0,137488.0,14.0 +0.000172766,0.0,137488.0,14.0 +0.000158772,0.0,137488.0,14.0 +0.00016128100000000002,0.0,137488.0,14.0 +0.000164818,0.0,137488.0,14.0 +0.004117039,0.9161511464914469,137488.0,14.0 +0.00016593800000000002,0.0,137488.0,14.0 +0.00016784200000000002,0.0,137488.0,14.0 +0.00017509600000000002,0.0,137488.0,14.0 +0.00016252200000000001,0.0,137488.0,14.0 +0.00017604800000000002,0.0,137488.0,14.0 +0.00017614300000000002,0.0,137488.0,14.0 +0.000166796,0.0,137488.0,14.0 +0.000172384,0.0,137488.0,14.0 +0.000165928,0.0,137488.0,14.0 +0.000171186,0.0,137488.0,14.0 +0.000163444,0.0,137488.0,14.0 +0.00016684300000000002,0.0,137488.0,14.0 +0.000169211,0.0,137488.0,14.0 +0.000182375,0.0,137488.0,14.0 +0.00016644200000000002,0.0,137488.0,14.0 +0.00016571,0.0,137488.0,14.0 +0.000163566,0.0,137488.0,14.0 +0.00016247900000000001,0.0,137488.0,14.0 +0.00016620300000000002,0.0,137488.0,14.0 +0.000160812,0.0,137488.0,14.0 +0.00016782800000000002,0.0,137488.0,14.0 +0.000162728,0.0,137488.0,14.0 +0.000179311,0.0,137488.0,14.0 +0.00019055500000000002,0.0,137488.0,14.0 +0.000173825,0.0,137488.0,14.0 +0.00016631,0.0,137488.0,14.0 +0.000166817,0.0,137488.0,14.0 +0.00016459700000000002,0.0,137488.0,14.0 +0.000170254,0.0,137488.0,14.0 +0.000165946,0.0,137488.0,14.0 +0.00016742700000000002,0.0,137488.0,14.0 +0.00016405100000000002,0.0,137488.0,14.0 +0.000163863,0.0,137488.0,14.0 +0.000163501,0.0,137488.0,14.0 +0.000165357,0.0,137488.0,14.0 +0.00016101,0.0,137488.0,14.0 +0.00016212300000000002,0.0,137488.0,14.0 +0.000164587,0.0,137488.0,14.0 +0.000156985,0.0,137488.0,14.0 +0.000173086,0.0,137488.0,14.0 +0.000168722,0.0,137488.0,14.0 +0.000171525,0.0,137488.0,14.0 +0.000178159,0.0,137488.0,14.0 +0.000166259,0.0,137488.0,14.0 +0.000164109,0.0,137488.0,14.0 +0.000166858,0.0,137488.0,14.0 +0.000175012,0.0,137488.0,14.0 +0.016219006,0.0,137488.0,14.0 +0.000165809,0.0,137488.0,14.0 +0.00016335,0.0,137488.0,14.0 +0.000169299,0.0,137488.0,14.0 +0.000169914,0.0,137488.0,14.0 +0.000163,0.0,137488.0,14.0 +0.00016474,0.0,137488.0,14.0 +0.00015830300000000002,0.0,137488.0,14.0 +0.00015891600000000002,0.0,137488.0,14.0 +0.00016388600000000002,0.0,137488.0,14.0 +0.00016084,0.0,137488.0,14.0 +0.00016205,0.0,137488.0,14.0 +0.000164826,0.0,137488.0,14.0 +0.00015980900000000001,0.0,137488.0,14.0 +0.000165326,0.0,137488.0,14.0 +0.000159165,0.0,137488.0,14.0 +0.00016075800000000002,0.0,137488.0,14.0 +0.00016201100000000002,0.0,137488.0,14.0 +0.000162849,0.0,137488.0,14.0 +0.000167577,0.0,137488.0,14.0 +0.000164768,0.0,137488.0,14.0 +0.00016303200000000002,0.0,137488.0,14.0 +0.00016381200000000002,0.0,137488.0,14.0 +0.00016592200000000002,0.0,137488.0,14.0 +0.000175241,0.0,137488.0,14.0 +0.000169316,0.0,137488.0,14.0 +0.00017234500000000002,0.0,137488.0,14.0 +0.000179523,0.0,137488.0,14.0 +0.000160872,0.0,137488.0,14.0 +0.000166023,0.0,137488.0,14.0 +0.000175013,0.0,137488.0,14.0 +0.000168562,0.0,137488.0,14.0 +0.000163868,0.0,137488.0,14.0 +0.000162838,0.0,137488.0,14.0 +0.000182575,0.0,137488.0,14.0 +0.000166185,0.0,137488.0,14.0 +0.000162029,0.0,137488.0,14.0 +0.00016292000000000002,0.0,137488.0,14.0 +0.000168807,0.0,137488.0,14.0 +0.00016678300000000002,0.0,137488.0,14.0 +0.000159504,0.0,137488.0,14.0 +0.000157445,0.0,137488.0,14.0 +0.00016687600000000002,0.0,137488.0,14.0 +0.000162274,0.0,137488.0,14.0 +0.00016259800000000002,0.0,137488.0,14.0 +0.00016598600000000002,0.0,137488.0,14.0 +0.000169456,0.0,137488.0,14.0 +0.000178202,0.0,137488.0,14.0 +0.000165698,0.0,137488.0,14.0 +0.000158881,0.0,137488.0,14.0 +0.000159771,0.0,137488.0,14.0 +0.0001639,0.0,137488.0,14.0 +0.00016489,0.0,137488.0,14.0 +0.00017260300000000001,0.0,137488.0,14.0 +0.00016479100000000002,0.0,137488.0,14.0 +0.000164827,0.0,137488.0,14.0 +0.00016628200000000002,0.0,137488.0,14.0 +0.00017064400000000001,0.0,137488.0,14.0 +0.000168865,0.0,137488.0,14.0 +0.000164716,0.0,137488.0,14.0 +0.000170139,0.0,137488.0,14.0 +0.00017660200000000001,0.0,137488.0,14.0 +0.000168307,0.0,137488.0,14.0 +0.00016346400000000002,0.0,137488.0,14.0 +0.000162248,0.0,137488.0,14.0 +0.000161707,0.0,137488.0,14.0 +0.00018100100000000002,0.0,137488.0,14.0 +0.00016125900000000002,0.0,137488.0,14.0 +0.000164367,0.0,137488.0,14.0 +0.000164832,0.0,137488.0,14.0 +0.000164649,0.0,137488.0,14.0 +0.000173332,0.0,137488.0,14.0 +0.000165997,0.0,137488.0,14.0 +0.000163441,0.0,137488.0,14.0 +0.00016679500000000002,0.0,137488.0,14.0 +0.000160542,0.0,137488.0,14.0 +0.000162575,0.0,137488.0,14.0 +0.00016964400000000002,0.0,137488.0,14.0 +0.00016769000000000002,0.0,137488.0,14.0 +0.000172532,0.0,137488.0,14.0 +0.00017123,0.0,137488.0,14.0 +0.000172645,0.0,137488.0,14.0 +0.00016979900000000002,0.0,137488.0,14.0 +0.000169251,0.0,137488.0,14.0 +0.00016424400000000002,0.0,137488.0,14.0 +0.000165322,0.0,137488.0,14.0 +0.00015657,0.0,137488.0,14.0 +0.000164073,0.0,137488.0,14.0 +0.000168796,0.0,137488.0,14.0 +0.000169616,0.0,137488.0,14.0 +0.000164308,0.0,137488.0,14.0 +0.000168405,0.0,137488.0,14.0 +0.000166639,0.0,137488.0,14.0 +0.000168894,0.0,137488.0,14.0 +0.000166047,0.0,137488.0,14.0 +0.016239725,0.0,137488.0,14.0 +0.00017633200000000002,0.0,137488.0,14.0 +0.00015889000000000002,0.0,137488.0,14.0 +0.000163181,0.0,137488.0,14.0 +0.00016810500000000002,0.0,137488.0,14.0 +0.000163527,0.0,137488.0,14.0 +0.000160482,0.0,137488.0,14.0 +0.000165037,0.0,137488.0,14.0 +0.00015872300000000002,0.0,137488.0,14.0 +0.000172733,0.0,137488.0,14.0 +0.00016231200000000001,0.0,137488.0,14.0 +0.000162416,0.0,137488.0,14.0 +0.000165088,0.0,137488.0,14.0 +0.000161542,0.0,137488.0,14.0 +0.000179939,0.0,137488.0,14.0 +0.000168631,0.0,137488.0,14.0 +0.000158519,0.0,137488.0,14.0 +0.000166111,0.0,137488.0,14.0 +0.000163391,0.0,137488.0,14.0 +0.00016202,0.0,137488.0,14.0 +0.000163566,0.0,137488.0,14.0 +0.000171353,0.0,137488.0,14.0 +0.000161919,0.0,137488.0,14.0 +0.00017046700000000002,0.0,137488.0,14.0 +0.00018427700000000002,0.0,137488.0,14.0 +0.00016384300000000002,0.0,137488.0,14.0 +0.00017070100000000002,0.0,137488.0,14.0 +0.000164826,0.0,137488.0,14.0 +0.000165952,0.0,137488.0,14.0 +0.000154499,0.0,137488.0,14.0 +0.000155982,0.0,137488.0,14.0 +0.00016577600000000002,0.0,137488.0,14.0 +0.00016840600000000001,0.0,137488.0,14.0 +0.00016932200000000002,0.0,137488.0,14.0 +0.000173262,0.0,137488.0,14.0 +0.000283689,0.0,137488.0,14.0 +0.000269491,0.0,137488.0,14.0 +0.000269405,0.0,137488.0,14.0 +0.00026860800000000004,0.0,137488.0,14.0 +0.00027263600000000004,0.0,137488.0,14.0 +0.000268544,0.0,137488.0,14.0 +0.00029277400000000004,0.0,137488.0,14.0 +0.000286424,0.0,137488.0,14.0 +0.000267487,0.0,137488.0,14.0 +0.00026967500000000004,0.0,137488.0,14.0 +0.000270062,0.0,137488.0,14.0 +0.000274298,0.0,137488.0,14.0 +0.00027392700000000004,0.0,137488.0,14.0 +0.00026544000000000003,0.0,137488.0,14.0 +0.00027555,0.0,137488.0,14.0 +0.000274069,0.0,137488.0,14.0 +0.000270021,0.0,137488.0,14.0 +0.000271716,0.0,137488.0,14.0 +0.00027419900000000004,0.0,137488.0,14.0 +0.00027336600000000004,0.0,137488.0,14.0 +0.000280671,0.0,137488.0,14.0 +0.000267534,0.0,137488.0,14.0 +0.00028231400000000003,0.0,137488.0,14.0 +0.000277455,0.0,137488.0,14.0 +0.000268829,0.0,137488.0,14.0 +0.00027343800000000003,0.0,137488.0,14.0 +0.000273189,0.0,137488.0,14.0 +0.00027501800000000003,0.0,137488.0,14.0 +0.00027423300000000003,0.0,137488.0,14.0 +0.00027082100000000003,0.0,137488.0,14.0 +0.00026873200000000004,0.0,137488.0,14.0 +0.000325364,0.0,137488.0,14.0 +0.00026964100000000004,0.0,137488.0,14.0 +0.00028014,0.0,137488.0,14.0 +0.000272421,0.0,137488.0,14.0 +0.00027828900000000003,0.0,137488.0,14.0 +0.016307983,0.0,137488.0,14.0 +0.000288342,0.0,137488.0,14.0 +0.00028224500000000003,0.0,137488.0,14.0 +0.00027811700000000003,0.0,137488.0,14.0 +0.000279547,0.0,137488.0,14.0 +0.000270674,0.0,137488.0,14.0 +0.000278095,0.0,137488.0,14.0 +0.000271609,0.0,137488.0,14.0 +0.00027529700000000003,0.0,137488.0,14.0 +0.00026681700000000003,0.0,137488.0,14.0 +0.00028051000000000004,0.0,137488.0,14.0 +0.000276452,0.0,137488.0,14.0 +0.000274157,0.0,137488.0,14.0 +0.000271094,0.0,137488.0,14.0 +0.00028506800000000003,0.0,137488.0,14.0 +0.000276607,0.0,137488.0,14.0 +0.000278195,0.0,137488.0,14.0 +0.000265397,0.0,137488.0,14.0 +0.00027961,0.0,137488.0,14.0 +0.000275957,0.0,137488.0,14.0 +0.000272941,0.0,137488.0,14.0 +0.00027201600000000003,0.0,137488.0,14.0 +0.000279259,0.0,137488.0,14.0 +0.000273849,0.0,137488.0,14.0 +0.00028008000000000004,0.0,137488.0,14.0 +0.000266894,0.0,137488.0,14.0 +0.000271254,0.0,137488.0,14.0 +0.000271202,0.0,137488.0,14.0 +0.000274367,0.0,137488.0,14.0 +0.00028554300000000003,0.0,137488.0,14.0 +0.000281938,0.0,137488.0,14.0 +0.000269986,0.0,137488.0,14.0 +0.000282708,0.0,137488.0,14.0 +0.000268777,0.0,137488.0,14.0 +0.000283896,0.0,137488.0,14.0 +0.000273316,0.0,137488.0,14.0 +0.00027325,0.0,137488.0,14.0 +0.00027207100000000003,0.0,137488.0,14.0 +0.000281411,0.0,137488.0,14.0 +0.000268149,0.0,137488.0,14.0 +0.00027550000000000003,0.0,137488.0,14.0 +0.00027281,0.0,137488.0,14.0 +0.00027628200000000004,0.0,137488.0,14.0 +0.00028916900000000004,0.0,137488.0,14.0 +0.000268808,0.0,137488.0,14.0 +0.000277164,0.0,137488.0,14.0 +0.000281549,0.0,137488.0,14.0 +0.00027502500000000003,0.0,137488.0,14.0 +0.000280681,0.0,137488.0,14.0 +0.000276987,0.0,137488.0,14.0 +0.00027507400000000004,0.0,137488.0,14.0 +0.00028265,0.0,137488.0,14.0 +0.00026111200000000003,0.0,137488.0,14.0 +0.000280249,0.0,137488.0,14.0 +0.000275437,0.0,137488.0,14.0 +0.00027112800000000004,0.0,137488.0,14.0 +0.000271218,0.0,137488.0,14.0 +0.00027545900000000003,0.0,137488.0,14.0 +0.016316201000000002,0.0,137488.0,14.0 +0.00029654000000000003,0.0,137488.0,14.0 +0.00026536800000000004,0.0,137488.0,14.0 +0.000274659,0.0,137488.0,14.0 +0.00026925800000000003,0.0,137488.0,14.0 +0.00026794000000000004,0.0,137488.0,14.0 +0.00028010000000000003,0.0,137488.0,14.0 +0.000279337,0.0,137488.0,14.0 +0.00026964400000000004,0.0,137488.0,14.0 +0.00027916000000000003,0.0,137488.0,14.0 +0.000274701,0.0,137488.0,14.0 +0.00027838900000000003,0.0,137488.0,14.0 +0.000270252,0.0,137488.0,14.0 +0.000269318,0.0,137488.0,14.0 +0.000282574,0.0,137488.0,14.0 +0.00028292700000000004,0.0,137488.0,14.0 +0.00027649200000000004,0.0,137488.0,14.0 +0.00028448300000000003,0.0,137488.0,14.0 +0.00027174100000000004,0.0,137488.0,14.0 +0.0002768,0.0,137488.0,14.0 +0.000275189,0.0,137488.0,14.0 +0.000270884,0.0,137488.0,14.0 +0.00026833900000000003,0.0,137488.0,14.0 +0.00027827500000000003,0.0,137488.0,14.0 +0.00027462200000000003,0.0,137488.0,14.0 +0.000277569,0.0,137488.0,14.0 +0.00027273200000000003,0.0,137488.0,14.0 +0.00027771800000000004,0.0,137488.0,14.0 +0.00027179600000000004,0.0,137488.0,14.0 +0.00028276,0.0,137488.0,14.0 +0.000272445,0.0,137488.0,14.0 +0.00027934600000000003,0.0,137488.0,14.0 +0.000270961,0.0,137488.0,14.0 +0.00027790700000000003,0.0,137488.0,14.0 +0.000274957,0.0,137488.0,14.0 +0.000277679,0.0,137488.0,14.0 +0.00028392900000000004,0.0,137488.0,14.0 +0.00027127600000000004,0.0,137488.0,14.0 +0.00028226900000000003,0.0,137488.0,14.0 +0.00026735400000000003,0.0,137488.0,14.0 +0.00027826500000000003,0.0,137488.0,14.0 +0.00027558700000000004,0.0,137488.0,14.0 +0.000283432,0.0,137488.0,14.0 +0.000287727,0.0,137488.0,14.0 +0.000290038,0.0,137488.0,14.0 +0.000276567,0.0,137488.0,14.0 +0.00028660400000000004,0.0,137488.0,14.0 +0.000270321,0.0,137488.0,14.0 +0.000279961,0.0,137488.0,14.0 +0.000271959,0.0,137488.0,14.0 +0.000280724,0.0,137488.0,14.0 +0.00027585900000000004,0.0,137488.0,14.0 +0.000286168,0.0,137488.0,14.0 +0.000270675,0.0,137488.0,14.0 +0.000286878,0.0,137488.0,14.0 +0.00027886800000000004,0.0,137488.0,14.0 +0.00028203200000000004,0.0,137488.0,14.0 +0.000291418,0.0,137488.0,14.0 +0.000279248,0.0,137488.0,14.0 +0.000279603,0.0,137488.0,14.0 +0.000283042,0.0,137488.0,14.0 +0.0037959,0.8986543375747517,137488.0,14.0 +0.00017835500000000002,0.0,137488.0,14.0 +0.00016328300000000002,0.0,137488.0,14.0 +0.00016138600000000002,0.0,137488.0,14.0 +0.000163702,0.0,137488.0,14.0 +0.000170518,0.0,137488.0,14.0 +0.00016681900000000002,0.0,137488.0,14.0 +0.00017722200000000002,0.0,137488.0,14.0 +0.00017822400000000002,0.0,137488.0,14.0 +0.00016857700000000002,0.0,137488.0,14.0 +0.00018666400000000001,0.0,137488.0,14.0 +0.000179077,0.0,137488.0,14.0 +0.00016750800000000002,0.0,137488.0,14.0 +0.00016870400000000002,0.0,137488.0,14.0 +0.000171527,0.0,137488.0,14.0 +0.000178054,0.0,137488.0,14.0 +0.00017479300000000002,0.0,137488.0,14.0 +0.000171793,0.0,137488.0,14.0 +0.00016435900000000002,0.0,137488.0,14.0 +0.000166596,0.0,137488.0,14.0 +0.00019151200000000002,0.0,137488.0,14.0 +0.00017188700000000002,0.0,137488.0,14.0 +0.000176128,0.0,137488.0,14.0 +0.00016558800000000001,0.0,137488.0,14.0 +0.00018771300000000002,0.0,137488.0,14.0 +0.000172052,0.0,137488.0,14.0 +0.000172856,0.0,137488.0,14.0 +0.00016945,0.0,137488.0,14.0 +0.00017041700000000002,0.0,137488.0,14.0 +0.000170427,0.0,137488.0,14.0 +0.00017841700000000002,0.0,137488.0,14.0 +0.00016979200000000002,0.0,137488.0,14.0 +0.000165326,0.0,137488.0,14.0 +0.000171829,0.0,137488.0,14.0 +0.00017191800000000002,0.0,137488.0,14.0 +0.000168588,0.0,137488.0,14.0 +0.00016441400000000002,0.0,137488.0,14.0 +0.000171311,0.0,137488.0,14.0 +0.0001661,0.0,137488.0,14.0 +0.00017204,0.0,137488.0,14.0 +0.000175193,0.0,137488.0,14.0 +0.000172998,0.0,137488.0,14.0 +0.000174019,0.0,137488.0,14.0 +0.000193512,0.0,137488.0,14.0 +0.00017936200000000002,0.0,137488.0,14.0 +0.00018343500000000002,0.0,137488.0,14.0 +0.00017722000000000001,0.0,137488.0,14.0 +0.000179246,0.0,137488.0,14.0 +0.00017700200000000002,0.0,137488.0,14.0 +0.00016711200000000002,0.0,137488.0,14.0 +0.00017047900000000002,0.0,137488.0,14.0 +0.00016962700000000002,0.0,137488.0,14.0 +0.000174394,0.0,137488.0,14.0 +0.000169375,0.0,137488.0,14.0 +0.00016668500000000002,0.0,137488.0,14.0 +0.000168708,0.0,137488.0,14.0 +0.00016899000000000002,0.0,137488.0,14.0 +0.000172301,0.0,137488.0,14.0 +0.000173169,0.0,137488.0,14.0 +0.000169237,0.0,137488.0,14.0 +0.000171704,0.0,137488.0,14.0 +0.000170065,0.0,137488.0,14.0 +0.00017651600000000002,0.0,137488.0,14.0 +0.000170229,0.0,137488.0,14.0 +0.00017731500000000002,0.0,137488.0,14.0 +0.00017251700000000002,0.0,137488.0,14.0 +0.00018519900000000001,0.0,137488.0,14.0 +0.000163348,0.0,137488.0,14.0 +0.000163582,0.0,137488.0,14.0 +0.00015795700000000002,0.0,137488.0,14.0 +0.000165315,0.0,137488.0,14.0 +0.000162744,0.0,137488.0,14.0 +0.000160089,0.0,137488.0,14.0 +0.00016524200000000001,0.0,137488.0,14.0 +0.00016147900000000002,0.0,137488.0,14.0 +0.00018413200000000002,0.0,137488.0,14.0 +0.000154315,0.0,137488.0,14.0 +0.00016347800000000002,0.0,137488.0,14.0 +0.00016272400000000002,0.0,137488.0,14.0 +0.000159581,0.0,137488.0,14.0 +0.00016442800000000002,0.0,137488.0,14.0 +0.000163766,0.0,137488.0,14.0 +0.000161072,0.0,137488.0,14.0 +0.000171733,0.0,137488.0,14.0 +0.000160683,0.0,137488.0,14.0 +0.000163003,0.0,137488.0,14.0 +0.000162349,0.0,137488.0,14.0 +0.000164126,0.0,137488.0,14.0 +0.00016463300000000002,0.0,137488.0,14.0 +0.000158266,0.0,137488.0,14.0 +0.00017552300000000002,0.0,137488.0,14.0 +0.000166348,0.0,137488.0,14.0 +0.00015873500000000002,0.0,137488.0,14.0 +0.00016375000000000002,0.0,137488.0,14.0 +0.00015905200000000002,0.0,137488.0,14.0 +0.00016916200000000002,0.0,137488.0,14.0 +0.000164329,0.0,137488.0,14.0 +0.000163923,0.0,137488.0,14.0 +0.000160189,0.0,137488.0,14.0 +0.00016835,0.0,137488.0,14.0 +0.000170024,0.0,137488.0,14.0 +0.000170313,0.0,137488.0,14.0 +0.000166481,0.0,137488.0,14.0 +0.00016232100000000002,0.0,137488.0,14.0 +0.000171471,0.0,137488.0,14.0 +0.000162848,0.0,137488.0,14.0 +0.00016628700000000002,0.0,137488.0,14.0 +0.000162336,0.0,137488.0,14.0 +0.000164005,0.0,137488.0,14.0 +0.000187302,0.0,137488.0,14.0 +0.00017451100000000002,0.0,137488.0,14.0 +0.000163904,0.0,137488.0,14.0 +0.00015573,0.0,137488.0,14.0 +0.000156767,0.0,137488.0,14.0 +0.000177975,0.0,137488.0,14.0 +0.00017209900000000002,0.0,137488.0,14.0 +0.000164825,0.0,137488.0,14.0 +0.0001664,0.0,137488.0,14.0 +0.00016589100000000001,0.0,137488.0,14.0 +0.000163666,0.0,137488.0,14.0 +0.00017778300000000002,0.0,137488.0,14.0 +0.000165553,0.0,137488.0,14.0 +0.000173623,0.0,137488.0,14.0 +0.000165822,0.0,137488.0,14.0 +0.00016256700000000002,0.0,137488.0,14.0 +0.00016473300000000002,0.0,137488.0,14.0 +0.00017061300000000001,0.0,137488.0,14.0 +0.00017309,0.0,137488.0,14.0 +0.00016854200000000001,0.0,137488.0,14.0 +0.00017049800000000002,0.0,137488.0,14.0 +0.00016992,0.0,137488.0,14.0 +0.000164627,0.0,137488.0,14.0 +0.00017586200000000002,0.0,137488.0,14.0 +0.00016287700000000002,0.0,137488.0,14.0 +0.000160618,0.0,137488.0,14.0 +0.000168888,0.0,137488.0,14.0 +0.000167512,0.0,137488.0,14.0 +0.00018387700000000002,0.0,137488.0,14.0 +0.000180533,0.0,137488.0,14.0 +0.00016610800000000002,0.0,137488.0,14.0 +0.000165539,0.0,137488.0,14.0 +0.000173338,0.0,137488.0,14.0 +0.00016550400000000002,0.0,137488.0,14.0 +0.00016789500000000002,0.0,137488.0,14.0 +0.000165539,0.0,137488.0,14.0 +0.000173276,0.0,137488.0,14.0 +0.000155028,0.0,137488.0,14.0 +0.000169292,0.0,137488.0,14.0 +0.00016959900000000001,0.0,137488.0,14.0 +0.00016067500000000002,0.0,137488.0,14.0 +0.000169359,0.0,137488.0,14.0 +0.000161659,0.0,137488.0,14.0 +0.00016098000000000002,0.0,137488.0,14.0 +0.000171318,0.0,137488.0,14.0 +0.00015891900000000001,0.0,137488.0,14.0 +0.000173017,0.0,137488.0,14.0 +0.00016377200000000002,0.0,137488.0,14.0 +0.00017924100000000001,0.0,137488.0,14.0 +0.000167581,0.0,137488.0,14.0 +0.00016925700000000002,0.0,137488.0,14.0 +0.000161824,0.0,137488.0,14.0 +0.000188106,0.0,137488.0,14.0 +0.000166094,0.0,137488.0,14.0 +0.00015994900000000002,0.0,137488.0,14.0 +0.000176794,0.0,137488.0,14.0 +0.00015890900000000002,0.0,137488.0,14.0 +0.00016711200000000002,0.0,137488.0,14.0 +0.000157166,0.0,137488.0,14.0 +0.00016177500000000002,0.0,137488.0,14.0 +0.00017342300000000002,0.0,137488.0,14.0 +0.000168151,0.0,137488.0,14.0 +0.00016034,0.0,137488.0,14.0 +0.000172959,0.0,137488.0,14.0 diff --git a/perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv b/perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv new file mode 100644 index 0000000..1d107c2 --- /dev/null +++ b/perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv @@ -0,0 +1,101 @@ +times,gctimes,memory,allocs +218498.0,0.0,137488,14 +192736.0,0.0,137488,14 +192518.0,0.0,137488,14 +191635.0,0.0,137488,14 +202047.0,0.0,137488,14 +195499.0,0.0,137488,14 +201255.0,0.0,137488,14 +206278.0,0.0,137488,14 +200867.0,0.0,137488,14 +208273.0,0.0,137488,14 +197150.0,0.0,137488,14 +225582.0,0.0,137488,14 +233712.0,0.0,137488,14 +238691.0,0.0,137488,14 +227678.0,0.0,137488,14 +194571.0,0.0,137488,14 +181429.0,0.0,137488,14 +177151.0,0.0,137488,14 +191427.0,0.0,137488,14 +170417.0,0.0,137488,14 +202763.0,0.0,137488,14 +218712.0,0.0,137488,14 +184627.0,0.0,137488,14 +194569.0,0.0,137488,14 +179599.0,0.0,137488,14 +189675.0,0.0,137488,14 +208875.0,0.0,137488,14 +202754.0,0.0,137488,14 +219630.0,0.0,137488,14 +228540.0,0.0,137488,14 +200715.0,0.0,137488,14 +188645.0,0.0,137488,14 +209111.0,0.0,137488,14 +188384.0,0.0,137488,14 +208429.0,0.0,137488,14 +208926.0,0.0,137488,14 +195218.0,0.0,137488,14 +231166.0,0.0,137488,14 +1.047502e6,0.0,137488,14 +233728.0,0.0,137488,14 +234553.0,0.0,137488,14 +231856.0,0.0,137488,14 +233590.0,0.0,137488,14 +234763.0,0.0,137488,14 +227381.0,0.0,137488,14 +237920.0,0.0,137488,14 +237607.0,0.0,137488,14 +231548.0,0.0,137488,14 +178993.0,0.0,137488,14 +212844.0,0.0,137488,14 +220521.0,0.0,137488,14 +235149.0,0.0,137488,14 +232756.0,0.0,137488,14 +230651.0,0.0,137488,14 +224737.0,0.0,137488,14 +227578.0,0.0,137488,14 +235044.0,0.0,137488,14 +215647.0,0.0,137488,14 +213359.0,0.0,137488,14 +215063.0,0.0,137488,14 +233171.0,0.0,137488,14 +196000.0,0.0,137488,14 +196427.0,0.0,137488,14 +213791.0,0.0,137488,14 +189399.0,0.0,137488,14 +249972.0,0.0,137488,14 +228208.0,0.0,137488,14 +198777.0,0.0,137488,14 +246549.0,0.0,137488,14 +258616.0,0.0,137488,14 +234359.0,0.0,137488,14 +229284.0,0.0,137488,14 +225256.0,0.0,137488,14 +225427.0,0.0,137488,14 +232067.0,0.0,137488,14 +228166.0,0.0,137488,14 +230662.0,0.0,137488,14 +233518.0,0.0,137488,14 +225279.0,0.0,137488,14 +220710.0,0.0,137488,14 +222454.0,0.0,137488,14 +212593.0,0.0,137488,14 +220207.0,0.0,137488,14 +170313.0,0.0,137488,14 +195810.0,0.0,137488,14 +210528.0,0.0,137488,14 +190355.0,0.0,137488,14 +204577.0,0.0,137488,14 +230291.0,0.0,137488,14 +237396.0,0.0,137488,14 +234833.0,0.0,137488,14 +232630.0,0.0,137488,14 +222728.0,0.0,137488,14 +224488.0,0.0,137488,14 +224647.0,0.0,137488,14 +229146.0,0.0,137488,14 +221031.0,0.0,137488,14 +212339.0,0.0,137488,14 +230380.0,0.0,137488,14 +222276.0,0.0,137488,14 diff --git a/perf/PatternFolds/output/881c2cfa-b3c6-53d2-ac72-f383d70050ee.csv b/perf/PatternFolds/output/881c2cfa-b3c6-53d2-ac72-f383d70050ee.csv new file mode 100644 index 0000000..fb7aed7 --- /dev/null +++ b/perf/PatternFolds/output/881c2cfa-b3c6-53d2-ac72-f383d70050ee.csv @@ -0,0 +1,5 @@ +bytes,percentage,filenames,linenumbers +16128,98.44,/home/baffier/.julia/packages/PatternFolds/hAnP4/src/vector.jl,87 +160,0.98,/home/baffier/.julia/packages/PatternFolds/hAnP4/src/vector.jl,19 +48,0.29,/home/baffier/.julia/packages/PatternFolds/hAnP4/src/intervals.jl,32 +48,0.29,/home/baffier/.julia/packages/PatternFolds/hAnP4/src/common.jl,100 diff --git a/perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv b/perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv new file mode 100644 index 0000000..a1a3e30 --- /dev/null +++ b/perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv @@ -0,0 +1,101 @@ +times,gctimes,memory,allocs +137133.0,0.0,137488,14 +100909.0,0.0,137488,14 +110438.0,0.0,137488,14 +136198.0,0.0,137488,14 +134224.0,0.0,137488,14 +130235.0,0.0,137488,14 +135210.0,0.0,137488,14 +140526.0,0.0,137488,14 +136415.0,0.0,137488,14 +153421.0,0.0,137488,14 +147882.0,0.0,137488,14 +123018.0,0.0,137488,14 +116108.0,0.0,137488,14 +131315.0,0.0,137488,14 +106803.0,0.0,137488,14 +104637.0,0.0,137488,14 +132343.0,0.0,137488,14 +134600.0,0.0,137488,14 +123445.0,0.0,137488,14 +134068.0,0.0,137488,14 +134557.0,0.0,137488,14 +153160.0,0.0,137488,14 +129081.0,0.0,137488,14 +140181.0,0.0,137488,14 +166162.0,0.0,137488,14 +144048.0,0.0,137488,14 +145176.0,0.0,137488,14 +121154.0,0.0,137488,14 +148603.0,0.0,137488,14 +149624.0,0.0,137488,14 +153194.0,0.0,137488,14 +148892.0,0.0,137488,14 +145174.0,0.0,137488,14 +146200.0,0.0,137488,14 +144411.0,0.0,137488,14 +137312.0,0.0,137488,14 +144497.0,0.0,137488,14 +127450.0,0.0,137488,14 +137510.0,0.0,137488,14 +147001.0,0.0,137488,14 +132369.0,0.0,137488,14 +134823.0,0.0,137488,14 +149481.0,0.0,137488,14 +133783.0,0.0,137488,14 +140885.0,0.0,137488,14 +145673.0,0.0,137488,14 +140687.0,0.0,137488,14 +134434.0,0.0,137488,14 +134043.0,0.0,137488,14 +136538.0,0.0,137488,14 +137724.0,0.0,137488,14 +132520.0,0.0,137488,14 +154707.0,0.0,137488,14 +150878.0,0.0,137488,14 +146044.0,0.0,137488,14 +144032.0,0.0,137488,14 +144614.0,0.0,137488,14 +150415.0,0.0,137488,14 +140250.0,0.0,137488,14 +151170.0,0.0,137488,14 +136435.0,0.0,137488,14 +139676.0,0.0,137488,14 +134555.0,0.0,137488,14 +144035.0,0.0,137488,14 +144025.0,0.0,137488,14 +139785.0,0.0,137488,14 +139254.0,0.0,137488,14 +138218.0,0.0,137488,14 +142834.0,0.0,137488,14 +140645.0,0.0,137488,14 +139742.0,0.0,137488,14 +137171.0,0.0,137488,14 +132733.0,0.0,137488,14 +133655.0,0.0,137488,14 +138097.0,0.0,137488,14 +132699.0,0.0,137488,14 +136515.0,0.0,137488,14 +144486.0,0.0,137488,14 +140174.0,0.0,137488,14 +136478.0,0.0,137488,14 +170140.0,0.0,137488,14 +155797.0,0.0,137488,14 +141138.0,0.0,137488,14 +143987.0,0.0,137488,14 +146824.0,0.0,137488,14 +148877.0,0.0,137488,14 +139694.0,0.0,137488,14 +151300.0,0.0,137488,14 +136111.0,0.0,137488,14 +134991.0,0.0,137488,14 +138373.0,0.0,137488,14 +133608.0,0.0,137488,14 +134322.0,0.0,137488,14 +140581.0,0.0,137488,14 +134178.0,0.0,137488,14 +141246.0,0.0,137488,14 +135783.0,0.0,137488,14 +134575.0,0.0,137488,14 +137556.0,0.0,137488,14 +138428.0,0.0,137488,14 diff --git a/perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv b/perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv new file mode 100644 index 0000000..48f1402 --- /dev/null +++ b/perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv @@ -0,0 +1,101 @@ +times,gctimes,memory,allocs +166989.0,0.0,137488,14 +170687.0,0.0,137488,14 +175509.0,0.0,137488,14 +174638.0,0.0,137488,14 +169605.0,0.0,137488,14 +167717.0,0.0,137488,14 +163357.0,0.0,137488,14 +153405.0,0.0,137488,14 +173441.0,0.0,137488,14 +164128.0,0.0,137488,14 +187091.0,0.0,137488,14 +184284.0,0.0,137488,14 +201325.0,0.0,137488,14 +225291.0,0.0,137488,14 +175459.0,0.0,137488,14 +181520.0,0.0,137488,14 +153308.0,0.0,137488,14 +155506.0,0.0,137488,14 +197644.0,0.0,137488,14 +170568.0,0.0,137488,14 +202849.0,0.0,137488,14 +190161.0,0.0,137488,14 +203394.0,0.0,137488,14 +193742.0,0.0,137488,14 +186978.0,0.0,137488,14 +193253.0,0.0,137488,14 +183751.0,0.0,137488,14 +163910.0,0.0,137488,14 +178410.0,0.0,137488,14 +209585.0,0.0,137488,14 +180669.0,0.0,137488,14 +167749.0,0.0,137488,14 +196035.0,0.0,137488,14 +198823.0,0.0,137488,14 +184927.0,0.0,137488,14 +185949.0,0.0,137488,14 +167793.0,0.0,137488,14 +163877.0,0.0,137488,14 +151267.0,0.0,137488,14 +158375.0,0.0,137488,14 +151512.0,0.0,137488,14 +144893.0,0.0,137488,14 +154189.0,0.0,137488,14 +177450.0,0.0,137488,14 +188016.0,0.0,137488,14 +178072.0,0.0,137488,14 +178182.0,0.0,137488,14 +186719.0,0.0,137488,14 +220640.0,0.0,137488,14 +210221.0,0.0,137488,14 +185527.0,0.0,137488,14 +201842.0,0.0,137488,14 +214078.0,0.0,137488,14 +198747.0,0.0,137488,14 +153081.0,0.0,137488,14 +151795.0,0.0,137488,14 +180949.0,0.0,137488,14 +171936.0,0.0,137488,14 +203473.0,0.0,137488,14 +157531.0,0.0,137488,14 +162936.0,0.0,137488,14 +157885.0,0.0,137488,14 +154132.0,0.0,137488,14 +149689.0,0.0,137488,14 +166570.0,0.0,137488,14 +155615.0,0.0,137488,14 +152896.0,0.0,137488,14 +152915.0,0.0,137488,14 +151103.0,0.0,137488,14 +148970.0,0.0,137488,14 +157379.0,0.0,137488,14 +156755.0,0.0,137488,14 +160140.0,0.0,137488,14 +151895.0,0.0,137488,14 +149918.0,0.0,137488,14 +167011.0,0.0,137488,14 +155640.0,0.0,137488,14 +157214.0,0.0,137488,14 +154752.0,0.0,137488,14 +157659.0,0.0,137488,14 +159950.0,0.0,137488,14 +211963.0,0.0,137488,14 +153767.0,0.0,137488,14 +162895.0,0.0,137488,14 +159651.0,0.0,137488,14 +158194.0,0.0,137488,14 +182926.0,0.0,137488,14 +157655.0,0.0,137488,14 +149173.0,0.0,137488,14 +177346.0,0.0,137488,14 +145909.0,0.0,137488,14 +155883.0,0.0,137488,14 +149034.0,0.0,137488,14 +151305.0,0.0,137488,14 +155795.0,0.0,137488,14 +151324.0,0.0,137488,14 +151519.0,0.0,137488,14 +150202.0,0.0,137488,14 +160570.0,0.0,137488,14 +161762.0,0.0,137488,14 diff --git a/perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv b/perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv new file mode 100644 index 0000000..dfb4a78 --- /dev/null +++ b/perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv @@ -0,0 +1,1654 @@ +times,gctimes,bytes,allocs +0.00022949000000000003,0.0,137488.0,14.0 +0.00024871400000000003,0.0,137488.0,14.0 +0.000187211,0.0,137488.0,14.0 +0.000177354,0.0,137488.0,14.0 +0.00021998400000000003,0.0,137488.0,14.0 +0.00021004000000000002,0.0,137488.0,14.0 +0.000236409,0.0,137488.0,14.0 +0.00020646100000000001,0.0,137488.0,14.0 +0.000234937,0.0,137488.0,14.0 +0.000249993,0.0,137488.0,14.0 +0.000224319,0.0,137488.0,14.0 +0.00021045200000000002,0.0,137488.0,14.0 +0.000186533,0.0,137488.0,14.0 +0.00017786900000000001,0.0,137488.0,14.0 +0.000180175,0.0,137488.0,14.0 +0.000198678,0.0,137488.0,14.0 +0.000251205,0.0,137488.0,14.0 +0.000230876,0.0,137488.0,14.0 +0.00023474700000000002,0.0,137488.0,14.0 +0.000233553,0.0,137488.0,14.0 +0.00019468,0.0,137488.0,14.0 +0.000214498,0.0,137488.0,14.0 +0.000229298,0.0,137488.0,14.0 +0.00016515,0.0,137488.0,14.0 +0.00021765,0.0,137488.0,14.0 +0.00024242000000000003,0.0,137488.0,14.0 +0.00023343200000000002,0.0,137488.0,14.0 +0.00022924900000000003,0.0,137488.0,14.0 +0.00023066900000000002,0.0,137488.0,14.0 +0.00023716,0.0,137488.0,14.0 +0.00023722900000000002,0.0,137488.0,14.0 +0.000187003,0.0,137488.0,14.0 +0.000223992,0.0,137488.0,14.0 +0.000244367,0.0,137488.0,14.0 +0.00024223400000000003,0.0,137488.0,14.0 +0.00023991300000000002,0.0,137488.0,14.0 +0.000246014,0.0,137488.0,14.0 +0.00024333700000000002,0.0,137488.0,14.0 +0.00023536000000000002,0.0,137488.0,14.0 +0.00023298900000000002,0.0,137488.0,14.0 +0.00023648700000000001,0.0,137488.0,14.0 +0.00023267,0.0,137488.0,14.0 +0.00020224700000000002,0.0,137488.0,14.0 +0.00021910700000000001,0.0,137488.0,14.0 +0.000243338,0.0,137488.0,14.0 +0.00023856500000000002,0.0,137488.0,14.0 +0.00024113700000000002,0.0,137488.0,14.0 +0.00024336500000000003,0.0,137488.0,14.0 +0.00024989,0.0,137488.0,14.0 +0.000264396,0.0,137488.0,14.0 +0.000247755,0.0,137488.0,14.0 +0.00024128900000000003,0.0,137488.0,14.0 +0.000249087,0.0,137488.0,14.0 +0.00025055600000000003,0.0,137488.0,14.0 +0.00024678300000000004,0.0,137488.0,14.0 +0.000246778,0.0,137488.0,14.0 +0.000240301,0.0,137488.0,14.0 +0.000251088,0.0,137488.0,14.0 +0.00025525600000000004,0.0,137488.0,14.0 +0.00025695300000000003,0.0,137488.0,14.0 +0.000248651,0.0,137488.0,14.0 +0.00024270500000000001,0.0,137488.0,14.0 +0.00024898,0.0,137488.0,14.0 +0.000251491,0.0,137488.0,14.0 +0.000243383,0.0,137488.0,14.0 +0.01629286,0.0,137488.0,14.0 +0.00025002900000000003,0.0,137488.0,14.0 +0.000249393,0.0,137488.0,14.0 +0.000242345,0.0,137488.0,14.0 +0.00022455100000000003,0.0,137488.0,14.0 +0.00022877200000000002,0.0,137488.0,14.0 +0.00020107800000000002,0.0,137488.0,14.0 +0.000195519,0.0,137488.0,14.0 +0.00019860600000000002,0.0,137488.0,14.0 +0.00023334,0.0,137488.0,14.0 +0.000246551,0.0,137488.0,14.0 +0.000238184,0.0,137488.0,14.0 +0.000243801,0.0,137488.0,14.0 +0.000237359,0.0,137488.0,14.0 +0.000241193,0.0,137488.0,14.0 +0.000249187,0.0,137488.0,14.0 +0.000222706,0.0,137488.0,14.0 +0.00027145800000000003,0.0,137488.0,14.0 +0.000242248,0.0,137488.0,14.0 +0.00024407200000000002,0.0,137488.0,14.0 +0.00023975800000000002,0.0,137488.0,14.0 +0.00023909400000000003,0.0,137488.0,14.0 +0.00023858100000000003,0.0,137488.0,14.0 +0.00024252,0.0,137488.0,14.0 +0.000240551,0.0,137488.0,14.0 +0.000239909,0.0,137488.0,14.0 +0.00023700900000000002,0.0,137488.0,14.0 +0.00024013200000000002,0.0,137488.0,14.0 +0.00023809000000000002,0.0,137488.0,14.0 +0.000236237,0.0,137488.0,14.0 +0.000241887,0.0,137488.0,14.0 +0.000229637,0.0,137488.0,14.0 +0.00024204600000000002,0.0,137488.0,14.0 +0.000177366,0.0,137488.0,14.0 +0.000259251,0.0,137488.0,14.0 +0.00023462300000000002,0.0,137488.0,14.0 +0.00024261800000000003,0.0,137488.0,14.0 +0.00025731800000000003,0.0,137488.0,14.0 +0.0002354,0.0,137488.0,14.0 +0.000244333,0.0,137488.0,14.0 +0.000234491,0.0,137488.0,14.0 +0.000231861,0.0,137488.0,14.0 +0.000248092,0.0,137488.0,14.0 +0.000245329,0.0,137488.0,14.0 +0.00023973900000000002,0.0,137488.0,14.0 +0.000240305,0.0,137488.0,14.0 +0.00024163800000000002,0.0,137488.0,14.0 +0.00023176400000000003,0.0,137488.0,14.0 +0.000228416,0.0,137488.0,14.0 +0.00022213400000000003,0.0,137488.0,14.0 +0.00025114500000000004,0.0,137488.0,14.0 +0.000245025,0.0,137488.0,14.0 +0.000251017,0.0,137488.0,14.0 +0.000245639,0.0,137488.0,14.0 +0.00020607600000000002,0.0,137488.0,14.0 +0.000201212,0.0,137488.0,14.0 +0.000254847,0.0,137488.0,14.0 +0.00023984,0.0,137488.0,14.0 +0.000240763,0.0,137488.0,14.0 +0.000211212,0.0,137488.0,14.0 +0.00019718,0.0,137488.0,14.0 +0.000234216,0.0,137488.0,14.0 +0.000250238,0.0,137488.0,14.0 +0.000239547,0.0,137488.0,14.0 +0.000244706,0.0,137488.0,14.0 +0.00024828400000000004,0.0,137488.0,14.0 +0.000251864,0.0,137488.0,14.0 +0.016294753000000002,0.0,137488.0,14.0 +0.000248455,0.0,137488.0,14.0 +0.00023581800000000002,0.0,137488.0,14.0 +0.000254053,0.0,137488.0,14.0 +0.000249641,0.0,137488.0,14.0 +0.00023626400000000003,0.0,137488.0,14.0 +0.00023399500000000003,0.0,137488.0,14.0 +0.00024423500000000004,0.0,137488.0,14.0 +0.00023326500000000002,0.0,137488.0,14.0 +0.000242388,0.0,137488.0,14.0 +0.00025175800000000004,0.0,137488.0,14.0 +0.000254398,0.0,137488.0,14.0 +0.000232847,0.0,137488.0,14.0 +0.000244701,0.0,137488.0,14.0 +0.00023874600000000002,0.0,137488.0,14.0 +0.000240179,0.0,137488.0,14.0 +0.077812818,0.9937315854567816,137488.0,14.0 +0.000172609,0.0,137488.0,14.0 +0.000166032,0.0,137488.0,14.0 +0.000168874,0.0,137488.0,14.0 +0.000168016,0.0,137488.0,14.0 +0.000166693,0.0,137488.0,14.0 +0.00017052200000000002,0.0,137488.0,14.0 +0.00017416500000000002,0.0,137488.0,14.0 +0.00017588300000000002,0.0,137488.0,14.0 +0.000173356,0.0,137488.0,14.0 +0.000171891,0.0,137488.0,14.0 +0.000163637,0.0,137488.0,14.0 +0.00016503,0.0,137488.0,14.0 +0.000171292,0.0,137488.0,14.0 +0.000195889,0.0,137488.0,14.0 +0.00017243100000000002,0.0,137488.0,14.0 +0.000160803,0.0,137488.0,14.0 +0.00016503600000000002,0.0,137488.0,14.0 +0.00016039300000000002,0.0,137488.0,14.0 +0.000160074,0.0,137488.0,14.0 +0.00016032900000000002,0.0,137488.0,14.0 +0.00016181300000000002,0.0,137488.0,14.0 +0.000166233,0.0,137488.0,14.0 +0.000172451,0.0,137488.0,14.0 +0.000171063,0.0,137488.0,14.0 +0.00016790700000000002,0.0,137488.0,14.0 +0.00017655600000000002,0.0,137488.0,14.0 +0.00017216,0.0,137488.0,14.0 +0.000164407,0.0,137488.0,14.0 +0.000167794,0.0,137488.0,14.0 +0.00016863200000000002,0.0,137488.0,14.0 +0.000171353,0.0,137488.0,14.0 +0.00016746,0.0,137488.0,14.0 +0.00016013800000000002,0.0,137488.0,14.0 +0.00015988500000000002,0.0,137488.0,14.0 +0.00016708400000000002,0.0,137488.0,14.0 +0.00016460900000000002,0.0,137488.0,14.0 +0.000163232,0.0,137488.0,14.0 +0.02420349,0.0,137488.0,14.0 +0.00017574500000000002,0.0,137488.0,14.0 +0.00016772800000000002,0.0,137488.0,14.0 +0.000159533,0.0,137488.0,14.0 +0.000162826,0.0,137488.0,14.0 +0.000175284,0.0,137488.0,14.0 +0.000169483,0.0,137488.0,14.0 +0.000176915,0.0,137488.0,14.0 +0.000171096,0.0,137488.0,14.0 +0.000166968,0.0,137488.0,14.0 +0.000164758,0.0,137488.0,14.0 +0.00015964400000000002,0.0,137488.0,14.0 +0.00016296,0.0,137488.0,14.0 +0.000162929,0.0,137488.0,14.0 +0.00016736500000000002,0.0,137488.0,14.0 +0.00015783500000000002,0.0,137488.0,14.0 +0.000162368,0.0,137488.0,14.0 +0.000154627,0.0,137488.0,14.0 +0.00016641800000000002,0.0,137488.0,14.0 +0.00016363,0.0,137488.0,14.0 +0.000173592,0.0,137488.0,14.0 +0.000158655,0.0,137488.0,14.0 +0.00016637500000000002,0.0,137488.0,14.0 +0.00015848900000000002,0.0,137488.0,14.0 +0.00017928600000000002,0.0,137488.0,14.0 +0.000162854,0.0,137488.0,14.0 +0.00016051500000000002,0.0,137488.0,14.0 +0.000159733,0.0,137488.0,14.0 +0.000165935,0.0,137488.0,14.0 +0.000160189,0.0,137488.0,14.0 +0.000167266,0.0,137488.0,14.0 +0.000164159,0.0,137488.0,14.0 +0.000170466,0.0,137488.0,14.0 +0.00018677,0.0,137488.0,14.0 +0.00016918600000000002,0.0,137488.0,14.0 +0.000160657,0.0,137488.0,14.0 +0.000167132,0.0,137488.0,14.0 +0.00016425400000000002,0.0,137488.0,14.0 +0.000177306,0.0,137488.0,14.0 +0.000170182,0.0,137488.0,14.0 +0.000159709,0.0,137488.0,14.0 +0.00015908300000000002,0.0,137488.0,14.0 +0.000158082,0.0,137488.0,14.0 +0.00016109200000000002,0.0,137488.0,14.0 +0.000162571,0.0,137488.0,14.0 +0.000164403,0.0,137488.0,14.0 +0.00016669700000000002,0.0,137488.0,14.0 +0.000166761,0.0,137488.0,14.0 +0.000185078,0.0,137488.0,14.0 +0.00016931500000000001,0.0,137488.0,14.0 +0.000163907,0.0,137488.0,14.0 +0.000180843,0.0,137488.0,14.0 +0.00016576400000000002,0.0,137488.0,14.0 +0.00016695500000000002,0.0,137488.0,14.0 +0.000162978,0.0,137488.0,14.0 +0.00016662100000000002,0.0,137488.0,14.0 +0.00016509100000000002,0.0,137488.0,14.0 +0.000167918,0.0,137488.0,14.0 +0.00016361700000000002,0.0,137488.0,14.0 +0.000164704,0.0,137488.0,14.0 +0.00016916900000000002,0.0,137488.0,14.0 +0.000170354,0.0,137488.0,14.0 +0.00016450700000000002,0.0,137488.0,14.0 +0.00016513,0.0,137488.0,14.0 +0.000174902,0.0,137488.0,14.0 +0.000174969,0.0,137488.0,14.0 +0.000169418,0.0,137488.0,14.0 +0.000163708,0.0,137488.0,14.0 +0.00016407500000000002,0.0,137488.0,14.0 +0.000173789,0.0,137488.0,14.0 +0.000175033,0.0,137488.0,14.0 +0.000186503,0.0,137488.0,14.0 +0.00016670200000000002,0.0,137488.0,14.0 +0.000172559,0.0,137488.0,14.0 +0.00016541,0.0,137488.0,14.0 +0.00016801700000000001,0.0,137488.0,14.0 +0.00017114500000000002,0.0,137488.0,14.0 +0.000167936,0.0,137488.0,14.0 +0.000164692,0.0,137488.0,14.0 +0.00016744600000000002,0.0,137488.0,14.0 +0.00017632000000000002,0.0,137488.0,14.0 +0.00017178,0.0,137488.0,14.0 +0.00017222600000000001,0.0,137488.0,14.0 +0.000163702,0.0,137488.0,14.0 +0.000168101,0.0,137488.0,14.0 +0.00017334200000000002,0.0,137488.0,14.0 +0.000167257,0.0,137488.0,14.0 +0.000167693,0.0,137488.0,14.0 +0.000172556,0.0,137488.0,14.0 +0.00016383600000000002,0.0,137488.0,14.0 +0.000162322,0.0,137488.0,14.0 +0.00019149800000000002,0.0,137488.0,14.0 +0.00017128100000000002,0.0,137488.0,14.0 +0.000162203,0.0,137488.0,14.0 +0.000171377,0.0,137488.0,14.0 +0.016213862000000002,0.0,137488.0,14.0 +0.000181112,0.0,137488.0,14.0 +0.00016703100000000002,0.0,137488.0,14.0 +0.00017806200000000002,0.0,137488.0,14.0 +0.00016796,0.0,137488.0,14.0 +0.00018452800000000002,0.0,137488.0,14.0 +0.00017826700000000002,0.0,137488.0,14.0 +0.000168242,0.0,137488.0,14.0 +0.00017067500000000002,0.0,137488.0,14.0 +0.00017847700000000002,0.0,137488.0,14.0 +0.000177132,0.0,137488.0,14.0 +0.00017096100000000002,0.0,137488.0,14.0 +0.000215011,0.0,137488.0,14.0 +0.00023884900000000002,0.0,137488.0,14.0 +0.00024272100000000002,0.0,137488.0,14.0 +0.000235543,0.0,137488.0,14.0 +0.000200019,0.0,137488.0,14.0 +0.00018220400000000002,0.0,137488.0,14.0 +0.00016526800000000002,0.0,137488.0,14.0 +0.000172024,0.0,137488.0,14.0 +0.000168676,0.0,137488.0,14.0 +0.000261042,0.0,137488.0,14.0 +0.00024059800000000002,0.0,137488.0,14.0 +0.00023810700000000002,0.0,137488.0,14.0 +0.00024174300000000002,0.0,137488.0,14.0 +0.000231157,0.0,137488.0,14.0 +0.00023841200000000002,0.0,137488.0,14.0 +0.00024836000000000004,0.0,137488.0,14.0 +0.000234743,0.0,137488.0,14.0 +0.00024555000000000003,0.0,137488.0,14.0 +0.000243016,0.0,137488.0,14.0 +0.000257126,0.0,137488.0,14.0 +0.00023633900000000002,0.0,137488.0,14.0 +0.000251756,0.0,137488.0,14.0 +0.000244389,0.0,137488.0,14.0 +0.00024234900000000002,0.0,137488.0,14.0 +0.000254291,0.0,137488.0,14.0 +0.000252173,0.0,137488.0,14.0 +0.00023706600000000002,0.0,137488.0,14.0 +0.000251687,0.0,137488.0,14.0 +0.00023457500000000002,0.0,137488.0,14.0 +0.00023923000000000003,0.0,137488.0,14.0 +0.000243557,0.0,137488.0,14.0 +0.00022057200000000002,0.0,137488.0,14.0 +0.00028930000000000004,0.0,137488.0,14.0 +0.00029016800000000004,0.0,137488.0,14.0 +0.000281306,0.0,137488.0,14.0 +0.000273099,0.0,137488.0,14.0 +0.000277984,0.0,137488.0,14.0 +0.000272597,0.0,137488.0,14.0 +0.00029595800000000003,0.0,137488.0,14.0 +0.000277451,0.0,137488.0,14.0 +0.00031041600000000004,0.0,137488.0,14.0 +0.00028542300000000004,0.0,137488.0,14.0 +0.00029517700000000004,0.0,137488.0,14.0 +0.00028177700000000004,0.0,137488.0,14.0 +0.000295179,0.0,137488.0,14.0 +0.000278955,0.0,137488.0,14.0 +0.000294711,0.0,137488.0,14.0 +0.000278958,0.0,137488.0,14.0 +0.000290159,0.0,137488.0,14.0 +0.00027548300000000003,0.0,137488.0,14.0 +0.000294397,0.0,137488.0,14.0 +0.000281943,0.0,137488.0,14.0 +0.000290052,0.0,137488.0,14.0 +0.00027573500000000004,0.0,137488.0,14.0 +0.016336155,0.0,137488.0,14.0 +0.000299965,0.0,137488.0,14.0 +0.000271404,0.0,137488.0,14.0 +0.00028379800000000004,0.0,137488.0,14.0 +0.000277166,0.0,137488.0,14.0 +0.00027962800000000003,0.0,137488.0,14.0 +0.000278719,0.0,137488.0,14.0 +0.0002821,0.0,137488.0,14.0 +0.000275061,0.0,137488.0,14.0 +0.00028410800000000004,0.0,137488.0,14.0 +0.000274066,0.0,137488.0,14.0 +0.00028326400000000003,0.0,137488.0,14.0 +0.00027282900000000004,0.0,137488.0,14.0 +0.00027892600000000003,0.0,137488.0,14.0 +0.00029324500000000003,0.0,137488.0,14.0 +0.000278948,0.0,137488.0,14.0 +0.000272928,0.0,137488.0,14.0 +0.000316311,0.0,137488.0,14.0 +0.00027302800000000003,0.0,137488.0,14.0 +0.000293956,0.0,137488.0,14.0 +0.00028063000000000003,0.0,137488.0,14.0 +0.000289118,0.0,137488.0,14.0 +0.00027541800000000004,0.0,137488.0,14.0 +0.00029885,0.0,137488.0,14.0 +0.000278859,0.0,137488.0,14.0 +0.000294467,0.0,137488.0,14.0 +0.00027187800000000003,0.0,137488.0,14.0 +0.000281678,0.0,137488.0,14.0 +0.00029734300000000004,0.0,137488.0,14.0 +0.000279125,0.0,137488.0,14.0 +0.000280161,0.0,137488.0,14.0 +0.00028565000000000003,0.0,137488.0,14.0 +0.00028204500000000003,0.0,137488.0,14.0 +0.000286071,0.0,137488.0,14.0 +0.00027809600000000003,0.0,137488.0,14.0 +0.000278845,0.0,137488.0,14.0 +0.000283854,0.0,137488.0,14.0 +0.00028470300000000003,0.0,137488.0,14.0 +0.00028267200000000003,0.0,137488.0,14.0 +0.00028550900000000003,0.0,137488.0,14.0 +0.000277881,0.0,137488.0,14.0 +0.00028258900000000003,0.0,137488.0,14.0 +0.024329319000000002,0.0,137488.0,14.0 +0.000279589,0.0,137488.0,14.0 +0.000284812,0.0,137488.0,14.0 +0.000268843,0.0,137488.0,14.0 +0.000279261,0.0,137488.0,14.0 +0.00027962900000000004,0.0,137488.0,14.0 +0.000280619,0.0,137488.0,14.0 +0.000277894,0.0,137488.0,14.0 +0.000279612,0.0,137488.0,14.0 +0.000274429,0.0,137488.0,14.0 +0.000301941,0.0,137488.0,14.0 +0.000273174,0.0,137488.0,14.0 +0.000283188,0.0,137488.0,14.0 +0.000278363,0.0,137488.0,14.0 +0.00030163600000000004,0.0,137488.0,14.0 +0.000280361,0.0,137488.0,14.0 +0.000277829,0.0,137488.0,14.0 +0.000285163,0.0,137488.0,14.0 +0.000282406,0.0,137488.0,14.0 +0.00027372700000000003,0.0,137488.0,14.0 +0.000289039,0.0,137488.0,14.0 +0.00027521100000000003,0.0,137488.0,14.0 +0.00028945500000000004,0.0,137488.0,14.0 +0.00028186700000000004,0.0,137488.0,14.0 +0.000277982,0.0,137488.0,14.0 +0.00028001,0.0,137488.0,14.0 +0.000274979,0.0,137488.0,14.0 +0.000284047,0.0,137488.0,14.0 +0.00029398200000000003,0.0,137488.0,14.0 +0.00027926000000000003,0.0,137488.0,14.0 +0.000291928,0.0,137488.0,14.0 +0.000278734,0.0,137488.0,14.0 +0.00027700900000000004,0.0,137488.0,14.0 +0.000274307,0.0,137488.0,14.0 +0.00029180300000000004,0.0,137488.0,14.0 +0.00027586500000000003,0.0,137488.0,14.0 +0.00028871,0.0,137488.0,14.0 +0.00027141000000000003,0.0,137488.0,14.0 +0.000303947,0.0,137488.0,14.0 +0.00028149100000000003,0.0,137488.0,14.0 +0.00028350900000000004,0.0,137488.0,14.0 +0.000285548,0.0,137488.0,14.0 +0.016322149,0.0,137488.0,14.0 +0.000297717,0.0,137488.0,14.0 +0.00027380700000000004,0.0,137488.0,14.0 +0.00027533,0.0,137488.0,14.0 +0.00028415900000000003,0.0,137488.0,14.0 +0.00027797900000000003,0.0,137488.0,14.0 +0.000268981,0.0,137488.0,14.0 +0.000278694,0.0,137488.0,14.0 +0.000276739,0.0,137488.0,14.0 +0.000275486,0.0,137488.0,14.0 +0.000270245,0.0,137488.0,14.0 +0.00028292000000000004,0.0,137488.0,14.0 +0.00027926400000000004,0.0,137488.0,14.0 +0.000278471,0.0,137488.0,14.0 +0.000281692,0.0,137488.0,14.0 +0.000287748,0.0,137488.0,14.0 +0.00028786100000000004,0.0,137488.0,14.0 +0.000272675,0.0,137488.0,14.0 +0.00033921300000000005,0.0,137488.0,14.0 +0.000279149,0.0,137488.0,14.0 +0.000303589,0.0,137488.0,14.0 +0.000284719,0.0,137488.0,14.0 +0.000294751,0.0,137488.0,14.0 +0.000282922,0.0,137488.0,14.0 +0.00029863400000000004,0.0,137488.0,14.0 +0.00028287200000000004,0.0,137488.0,14.0 +0.000295937,0.0,137488.0,14.0 +0.000281517,0.0,137488.0,14.0 +0.000315708,0.0,137488.0,14.0 +0.000276729,0.0,137488.0,14.0 +0.000299392,0.0,137488.0,14.0 +0.00027719400000000003,0.0,137488.0,14.0 +0.000291515,0.0,137488.0,14.0 +0.000270861,0.0,137488.0,14.0 +0.000289652,0.0,137488.0,14.0 +0.00027976,0.0,137488.0,14.0 +0.000288908,0.0,137488.0,14.0 +0.00027733900000000004,0.0,137488.0,14.0 +0.000286078,0.0,137488.0,14.0 +0.00028222,0.0,137488.0,14.0 +0.000299327,0.0,137488.0,14.0 +0.00027307300000000003,0.0,137488.0,14.0 +0.00029073500000000003,0.0,137488.0,14.0 +0.000276789,0.0,137488.0,14.0 +0.00028769200000000004,0.0,137488.0,14.0 +0.000277908,0.0,137488.0,14.0 +0.000289752,0.0,137488.0,14.0 +0.00027983200000000004,0.0,137488.0,14.0 +0.000284138,0.0,137488.0,14.0 +0.000274773,0.0,137488.0,14.0 +0.023518765,0.9831058305995234,137488.0,14.0 +0.000180323,0.0,137488.0,14.0 +0.000161483,0.0,137488.0,14.0 +0.00016048600000000002,0.0,137488.0,14.0 +0.000169759,0.0,137488.0,14.0 +0.00017238100000000002,0.0,137488.0,14.0 +0.000176135,0.0,137488.0,14.0 +0.00017304400000000002,0.0,137488.0,14.0 +0.000170552,0.0,137488.0,14.0 +0.000168201,0.0,137488.0,14.0 +0.000171263,0.0,137488.0,14.0 +0.00016515300000000002,0.0,137488.0,14.0 +0.00016753000000000002,0.0,137488.0,14.0 +0.000170165,0.0,137488.0,14.0 +0.00019658900000000002,0.0,137488.0,14.0 +0.000165434,0.0,137488.0,14.0 +0.000164962,0.0,137488.0,14.0 +0.00017274,0.0,137488.0,14.0 +0.000165475,0.0,137488.0,14.0 +0.000163696,0.0,137488.0,14.0 +0.000167188,0.0,137488.0,14.0 +0.000164966,0.0,137488.0,14.0 +0.00017405600000000002,0.0,137488.0,14.0 +0.000174575,0.0,137488.0,14.0 +0.000179549,0.0,137488.0,14.0 +0.000170266,0.0,137488.0,14.0 +0.000177431,0.0,137488.0,14.0 +0.000169685,0.0,137488.0,14.0 +0.000166293,0.0,137488.0,14.0 +0.000181494,0.0,137488.0,14.0 +0.000177194,0.0,137488.0,14.0 +0.00017147200000000001,0.0,137488.0,14.0 +0.00017095400000000002,0.0,137488.0,14.0 +0.000167395,0.0,137488.0,14.0 +0.000161728,0.0,137488.0,14.0 +0.00016713400000000002,0.0,137488.0,14.0 +0.00016169600000000002,0.0,137488.0,14.0 +0.000177831,0.0,137488.0,14.0 +0.000162358,0.0,137488.0,14.0 +0.00016294400000000002,0.0,137488.0,14.0 +0.00016138800000000002,0.0,137488.0,14.0 +0.000169098,0.0,137488.0,14.0 +0.000189673,0.0,137488.0,14.0 +0.00016643500000000002,0.0,137488.0,14.0 +0.000171158,0.0,137488.0,14.0 +0.00016575500000000001,0.0,137488.0,14.0 +0.00016743700000000002,0.0,137488.0,14.0 +0.00016884200000000002,0.0,137488.0,14.0 +0.000160581,0.0,137488.0,14.0 +0.00016905500000000001,0.0,137488.0,14.0 +0.00016651800000000002,0.0,137488.0,14.0 +0.000163214,0.0,137488.0,14.0 +0.000161569,0.0,137488.0,14.0 +0.000172895,0.0,137488.0,14.0 +0.000163053,0.0,137488.0,14.0 +0.000174828,0.0,137488.0,14.0 +0.00016436400000000001,0.0,137488.0,14.0 +0.00017080100000000002,0.0,137488.0,14.0 +0.000161747,0.0,137488.0,14.0 +0.00016907800000000002,0.0,137488.0,14.0 +0.024187874,0.0,137488.0,14.0 +0.00019174600000000002,0.0,137488.0,14.0 +0.000170562,0.0,137488.0,14.0 +0.000169781,0.0,137488.0,14.0 +0.000167092,0.0,137488.0,14.0 +0.00017231600000000002,0.0,137488.0,14.0 +0.000163628,0.0,137488.0,14.0 +0.00016656800000000002,0.0,137488.0,14.0 +0.000171695,0.0,137488.0,14.0 +0.00017268600000000002,0.0,137488.0,14.0 +0.000175574,0.0,137488.0,14.0 +0.000192384,0.0,137488.0,14.0 +0.00017070100000000002,0.0,137488.0,14.0 +0.000166705,0.0,137488.0,14.0 +0.000171277,0.0,137488.0,14.0 +0.000176775,0.0,137488.0,14.0 +0.00016847200000000002,0.0,137488.0,14.0 +0.00016604100000000002,0.0,137488.0,14.0 +0.00017085100000000002,0.0,137488.0,14.0 +0.000159963,0.0,137488.0,14.0 +0.000177824,0.0,137488.0,14.0 +0.00016507200000000002,0.0,137488.0,14.0 +0.00016921000000000001,0.0,137488.0,14.0 +0.000181163,0.0,137488.0,14.0 +0.00017625300000000002,0.0,137488.0,14.0 +0.000175068,0.0,137488.0,14.0 +0.00016940800000000002,0.0,137488.0,14.0 +0.000157746,0.0,137488.0,14.0 +0.00016503400000000002,0.0,137488.0,14.0 +0.000159595,0.0,137488.0,14.0 +0.000163518,0.0,137488.0,14.0 +0.00016523700000000002,0.0,137488.0,14.0 +0.000160044,0.0,137488.0,14.0 +0.00017097500000000002,0.0,137488.0,14.0 +0.00016161000000000002,0.0,137488.0,14.0 +0.000161976,0.0,137488.0,14.0 +0.000164372,0.0,137488.0,14.0 +0.00017618400000000002,0.0,137488.0,14.0 +0.000164079,0.0,137488.0,14.0 +0.000169805,0.0,137488.0,14.0 +0.00015960100000000002,0.0,137488.0,14.0 +0.000164587,0.0,137488.0,14.0 +0.00016497900000000002,0.0,137488.0,14.0 +0.00016682400000000001,0.0,137488.0,14.0 +0.000173066,0.0,137488.0,14.0 +0.00016458100000000002,0.0,137488.0,14.0 +0.000158744,0.0,137488.0,14.0 +0.000180991,0.0,137488.0,14.0 +0.000179189,0.0,137488.0,14.0 +0.00017445400000000002,0.0,137488.0,14.0 +0.000169344,0.0,137488.0,14.0 +0.000169602,0.0,137488.0,14.0 +0.00016938900000000001,0.0,137488.0,14.0 +0.000159051,0.0,137488.0,14.0 +0.00017295100000000002,0.0,137488.0,14.0 +0.00016159100000000002,0.0,137488.0,14.0 +0.000163773,0.0,137488.0,14.0 +0.00017481900000000002,0.0,137488.0,14.0 +0.00016990900000000002,0.0,137488.0,14.0 +0.000169457,0.0,137488.0,14.0 +0.00016514400000000002,0.0,137488.0,14.0 +0.000162792,0.0,137488.0,14.0 +0.000173098,0.0,137488.0,14.0 +0.00017740600000000002,0.0,137488.0,14.0 +0.00015807200000000001,0.0,137488.0,14.0 +0.00017580000000000002,0.0,137488.0,14.0 +0.00016586400000000002,0.0,137488.0,14.0 +0.000164205,0.0,137488.0,14.0 +0.00015984000000000001,0.0,137488.0,14.0 +0.00018053600000000002,0.0,137488.0,14.0 +0.000169919,0.0,137488.0,14.0 +0.024208729000000002,0.0,137488.0,14.0 +0.00018209,0.0,137488.0,14.0 +0.00017456900000000002,0.0,137488.0,14.0 +0.00016509400000000002,0.0,137488.0,14.0 +0.000163399,0.0,137488.0,14.0 +0.000170511,0.0,137488.0,14.0 +0.00017609100000000002,0.0,137488.0,14.0 +0.00017343100000000001,0.0,137488.0,14.0 +0.00017103500000000002,0.0,137488.0,14.0 +0.000166725,0.0,137488.0,14.0 +0.000170929,0.0,137488.0,14.0 +0.00016312300000000002,0.0,137488.0,14.0 +0.00016862700000000002,0.0,137488.0,14.0 +0.00017230900000000002,0.0,137488.0,14.0 +0.000170559,0.0,137488.0,14.0 +0.000163818,0.0,137488.0,14.0 +0.00016534200000000002,0.0,137488.0,14.0 +0.000170955,0.0,137488.0,14.0 +0.000164513,0.0,137488.0,14.0 +0.000175457,0.0,137488.0,14.0 +0.00016331100000000002,0.0,137488.0,14.0 +0.000168082,0.0,137488.0,14.0 +0.000169617,0.0,137488.0,14.0 +0.00018415300000000002,0.0,137488.0,14.0 +0.000160339,0.0,137488.0,14.0 +0.000167305,0.0,137488.0,14.0 +0.00016804300000000002,0.0,137488.0,14.0 +0.000168168,0.0,137488.0,14.0 +0.00016866100000000002,0.0,137488.0,14.0 +0.00015883500000000002,0.0,137488.0,14.0 +0.000167061,0.0,137488.0,14.0 +0.00016783800000000001,0.0,137488.0,14.0 +0.000163074,0.0,137488.0,14.0 +0.00016844100000000002,0.0,137488.0,14.0 +0.00015512500000000002,0.0,137488.0,14.0 +0.000163894,0.0,137488.0,14.0 +0.00017158400000000002,0.0,137488.0,14.0 +0.000167937,0.0,137488.0,14.0 +0.00016711500000000002,0.0,137488.0,14.0 +0.000157435,0.0,137488.0,14.0 +0.000168407,0.0,137488.0,14.0 +0.000161571,0.0,137488.0,14.0 +0.00017196300000000002,0.0,137488.0,14.0 +0.00017136700000000001,0.0,137488.0,14.0 +0.000165942,0.0,137488.0,14.0 +0.00016732000000000002,0.0,137488.0,14.0 +0.000168354,0.0,137488.0,14.0 +0.000175889,0.0,137488.0,14.0 +0.00017746500000000002,0.0,137488.0,14.0 +0.000162246,0.0,137488.0,14.0 +0.000176083,0.0,137488.0,14.0 +0.000170332,0.0,137488.0,14.0 +0.00016299200000000001,0.0,137488.0,14.0 +0.00016487900000000002,0.0,137488.0,14.0 +0.00016898500000000002,0.0,137488.0,14.0 +0.00016037400000000002,0.0,137488.0,14.0 +0.00016387700000000002,0.0,137488.0,14.0 +0.000166903,0.0,137488.0,14.0 +0.00016805200000000002,0.0,137488.0,14.0 +0.00017702900000000002,0.0,137488.0,14.0 +0.00016372400000000002,0.0,137488.0,14.0 +0.000169187,0.0,137488.0,14.0 +0.000181136,0.0,137488.0,14.0 +0.00016507900000000002,0.0,137488.0,14.0 +0.000172682,0.0,137488.0,14.0 +0.00016546600000000002,0.0,137488.0,14.0 +0.000163728,0.0,137488.0,14.0 +0.00017602900000000002,0.0,137488.0,14.0 +0.00016133100000000002,0.0,137488.0,14.0 +0.00016251400000000002,0.0,137488.0,14.0 +0.000182389,0.0,137488.0,14.0 +0.000174923,0.0,137488.0,14.0 +0.000173367,0.0,137488.0,14.0 +0.00016994900000000002,0.0,137488.0,14.0 +0.000163351,0.0,137488.0,14.0 +0.000177364,0.0,137488.0,14.0 +0.000160564,0.0,137488.0,14.0 +0.000166651,0.0,137488.0,14.0 +0.000177357,0.0,137488.0,14.0 +0.00017550600000000002,0.0,137488.0,14.0 +0.000173129,0.0,137488.0,14.0 +0.00017037600000000002,0.0,137488.0,14.0 +0.000163339,0.0,137488.0,14.0 +0.00017590000000000002,0.0,137488.0,14.0 +0.00016616300000000001,0.0,137488.0,14.0 +0.00017430400000000002,0.0,137488.0,14.0 +0.00017255000000000002,0.0,137488.0,14.0 +0.00016267200000000002,0.0,137488.0,14.0 +0.00017175300000000002,0.0,137488.0,14.0 +0.000171838,0.0,137488.0,14.0 +0.000166825,0.0,137488.0,14.0 +0.0001822,0.0,137488.0,14.0 +0.000165575,0.0,137488.0,14.0 +0.000168932,0.0,137488.0,14.0 +0.016220441000000002,0.0,137488.0,14.0 +0.000168979,0.0,137488.0,14.0 +0.00017108000000000002,0.0,137488.0,14.0 +0.00016429900000000002,0.0,137488.0,14.0 +0.00016329500000000001,0.0,137488.0,14.0 +0.000177703,0.0,137488.0,14.0 +0.00016413200000000002,0.0,137488.0,14.0 +0.000165787,0.0,137488.0,14.0 +0.00016868700000000002,0.0,137488.0,14.0 +0.000165129,0.0,137488.0,14.0 +0.00016921400000000002,0.0,137488.0,14.0 +0.000169099,0.0,137488.0,14.0 +0.000163969,0.0,137488.0,14.0 +0.00017003300000000002,0.0,137488.0,14.0 +0.00016350200000000002,0.0,137488.0,14.0 +0.00016546600000000002,0.0,137488.0,14.0 +0.00017007300000000002,0.0,137488.0,14.0 +0.000156099,0.0,137488.0,14.0 +0.00017183,0.0,137488.0,14.0 +0.000160743,0.0,137488.0,14.0 +0.000163547,0.0,137488.0,14.0 +0.00016979700000000001,0.0,137488.0,14.0 +0.000161917,0.0,137488.0,14.0 +0.000175419,0.0,137488.0,14.0 +0.00016940500000000002,0.0,137488.0,14.0 +0.000168855,0.0,137488.0,14.0 +0.00016981,0.0,137488.0,14.0 +0.000167252,0.0,137488.0,14.0 +0.000164508,0.0,137488.0,14.0 +0.000167436,0.0,137488.0,14.0 +0.000161867,0.0,137488.0,14.0 +0.000169244,0.0,137488.0,14.0 +0.00017221600000000002,0.0,137488.0,14.0 +0.000168269,0.0,137488.0,14.0 +0.000182726,0.0,137488.0,14.0 +0.000167073,0.0,137488.0,14.0 +0.00016253,0.0,137488.0,14.0 +0.000174119,0.0,137488.0,14.0 +0.00016311600000000002,0.0,137488.0,14.0 +0.00016607400000000002,0.0,137488.0,14.0 +0.000164858,0.0,137488.0,14.0 +0.000161266,0.0,137488.0,14.0 +0.000167972,0.0,137488.0,14.0 +0.000169614,0.0,137488.0,14.0 +0.00016206100000000002,0.0,137488.0,14.0 +0.000170062,0.0,137488.0,14.0 +0.000175631,0.0,137488.0,14.0 +0.000220348,0.0,137488.0,14.0 +0.00016957500000000002,0.0,137488.0,14.0 +0.000158974,0.0,137488.0,14.0 +0.000171893,0.0,137488.0,14.0 +0.000165582,0.0,137488.0,14.0 +0.000162854,0.0,137488.0,14.0 +0.000171019,0.0,137488.0,14.0 +0.000173709,0.0,137488.0,14.0 +0.000167207,0.0,137488.0,14.0 +0.000167106,0.0,137488.0,14.0 +0.00016426800000000002,0.0,137488.0,14.0 +0.00017377900000000002,0.0,137488.0,14.0 +0.00016592900000000002,0.0,137488.0,14.0 +0.00017518,0.0,137488.0,14.0 +0.00017380800000000001,0.0,137488.0,14.0 +0.000166202,0.0,137488.0,14.0 +0.000162607,0.0,137488.0,14.0 +0.000165832,0.0,137488.0,14.0 +0.00016244000000000002,0.0,137488.0,14.0 +0.000174493,0.0,137488.0,14.0 +0.000169814,0.0,137488.0,14.0 +0.00016663000000000002,0.0,137488.0,14.0 +0.00017418900000000002,0.0,137488.0,14.0 +0.000182491,0.0,137488.0,14.0 +0.00017381500000000002,0.0,137488.0,14.0 +0.000173768,0.0,137488.0,14.0 +0.000169685,0.0,137488.0,14.0 +0.000183978,0.0,137488.0,14.0 +0.00016787600000000002,0.0,137488.0,14.0 +0.00016491700000000002,0.0,137488.0,14.0 +0.00017079400000000002,0.0,137488.0,14.0 +0.00017480500000000002,0.0,137488.0,14.0 +0.000167651,0.0,137488.0,14.0 +0.000170857,0.0,137488.0,14.0 +0.000167607,0.0,137488.0,14.0 +0.00017935700000000002,0.0,137488.0,14.0 +0.000171205,0.0,137488.0,14.0 +0.00018152600000000002,0.0,137488.0,14.0 +0.000172554,0.0,137488.0,14.0 +0.000162931,0.0,137488.0,14.0 +0.00016688800000000002,0.0,137488.0,14.0 +0.000169307,0.0,137488.0,14.0 +0.000178824,0.0,137488.0,14.0 +0.00016984900000000002,0.0,137488.0,14.0 +0.000171829,0.0,137488.0,14.0 +0.00016712200000000002,0.0,137488.0,14.0 +0.00018564700000000002,0.0,137488.0,14.0 +0.00016876100000000002,0.0,137488.0,14.0 +0.000171558,0.0,137488.0,14.0 +0.000172129,0.0,137488.0,14.0 +0.00016721700000000002,0.0,137488.0,14.0 +0.00017084400000000002,0.0,137488.0,14.0 +0.00016903800000000002,0.0,137488.0,14.0 +0.000176175,0.0,137488.0,14.0 +0.000175247,0.0,137488.0,14.0 +0.000172256,0.0,137488.0,14.0 +0.00016728,0.0,137488.0,14.0 +0.00017762800000000001,0.0,137488.0,14.0 +0.00016911900000000002,0.0,137488.0,14.0 +0.00017185800000000002,0.0,137488.0,14.0 +0.000169042,0.0,137488.0,14.0 +0.00018725800000000002,0.0,137488.0,14.0 +0.004175507,0.9143972217026579,137488.0,14.0 +0.000177264,0.0,137488.0,14.0 +0.00017094,0.0,137488.0,14.0 +0.000165389,0.0,137488.0,14.0 +0.000166663,0.0,137488.0,14.0 +0.00017529900000000002,0.0,137488.0,14.0 +0.000167882,0.0,137488.0,14.0 +0.036213673,0.0,137488.0,14.0 +0.000188273,0.0,137488.0,14.0 +0.00017525,0.0,137488.0,14.0 +0.000172886,0.0,137488.0,14.0 +0.00017226600000000002,0.0,137488.0,14.0 +0.000176199,0.0,137488.0,14.0 +0.000179232,0.0,137488.0,14.0 +0.000170401,0.0,137488.0,14.0 +0.000170544,0.0,137488.0,14.0 +0.00017014300000000001,0.0,137488.0,14.0 +0.00016856500000000002,0.0,137488.0,14.0 +0.000170048,0.0,137488.0,14.0 +0.000163835,0.0,137488.0,14.0 +0.00017724800000000002,0.0,137488.0,14.0 +0.000168314,0.0,137488.0,14.0 +0.000175451,0.0,137488.0,14.0 +0.00017422300000000002,0.0,137488.0,14.0 +0.00017032900000000002,0.0,137488.0,14.0 +0.00017356,0.0,137488.0,14.0 +0.000169647,0.0,137488.0,14.0 +0.00016722200000000002,0.0,137488.0,14.0 +0.00017824300000000002,0.0,137488.0,14.0 +0.000179013,0.0,137488.0,14.0 +0.00018648900000000002,0.0,137488.0,14.0 +0.00016835100000000001,0.0,137488.0,14.0 +0.00016541,0.0,137488.0,14.0 +0.000169674,0.0,137488.0,14.0 +0.00016647800000000001,0.0,137488.0,14.0 +0.000168659,0.0,137488.0,14.0 +0.000176842,0.0,137488.0,14.0 +0.000166319,0.0,137488.0,14.0 +0.000164845,0.0,137488.0,14.0 +0.00016192300000000001,0.0,137488.0,14.0 +0.00017184100000000002,0.0,137488.0,14.0 +0.00016409900000000002,0.0,137488.0,14.0 +0.00017252600000000002,0.0,137488.0,14.0 +0.00016831500000000002,0.0,137488.0,14.0 +0.00016786600000000002,0.0,137488.0,14.0 +0.000169881,0.0,137488.0,14.0 +0.00017230200000000002,0.0,137488.0,14.0 +0.000164171,0.0,137488.0,14.0 +0.000166285,0.0,137488.0,14.0 +0.000176999,0.0,137488.0,14.0 +0.000174369,0.0,137488.0,14.0 +0.00016889900000000002,0.0,137488.0,14.0 +0.000169232,0.0,137488.0,14.0 +0.00017657100000000001,0.0,137488.0,14.0 +0.00017423000000000002,0.0,137488.0,14.0 +0.000165283,0.0,137488.0,14.0 +0.000170643,0.0,137488.0,14.0 +0.000171688,0.0,137488.0,14.0 +0.00016660900000000002,0.0,137488.0,14.0 +0.000170907,0.0,137488.0,14.0 +0.00016841500000000002,0.0,137488.0,14.0 +0.000164159,0.0,137488.0,14.0 +0.000166076,0.0,137488.0,14.0 +0.00016411500000000002,0.0,137488.0,14.0 +0.000162296,0.0,137488.0,14.0 +0.000164441,0.0,137488.0,14.0 +0.000167493,0.0,137488.0,14.0 +0.000183081,0.0,137488.0,14.0 +0.00016680000000000002,0.0,137488.0,14.0 +0.000169099,0.0,137488.0,14.0 +0.000186051,0.0,137488.0,14.0 +0.00018014200000000002,0.0,137488.0,14.0 +0.00016961500000000002,0.0,137488.0,14.0 +0.00016237100000000002,0.0,137488.0,14.0 +0.00016817900000000002,0.0,137488.0,14.0 +0.000170098,0.0,137488.0,14.0 +0.00017150500000000002,0.0,137488.0,14.0 +0.024209555,0.0,137488.0,14.0 +0.00017104200000000002,0.0,137488.0,14.0 +0.000168574,0.0,137488.0,14.0 +0.000163832,0.0,137488.0,14.0 +0.00017318700000000002,0.0,137488.0,14.0 +0.00016606000000000002,0.0,137488.0,14.0 +0.000164122,0.0,137488.0,14.0 +0.00017855300000000002,0.0,137488.0,14.0 +0.00017747500000000002,0.0,137488.0,14.0 +0.00017481200000000002,0.0,137488.0,14.0 +0.00017146900000000002,0.0,137488.0,14.0 +0.000165472,0.0,137488.0,14.0 +0.00017000400000000002,0.0,137488.0,14.0 +0.000163981,0.0,137488.0,14.0 +0.00016237400000000001,0.0,137488.0,14.0 +0.00016072000000000002,0.0,137488.0,14.0 +0.00016439500000000001,0.0,137488.0,14.0 +0.000169476,0.0,137488.0,14.0 +0.000159838,0.0,137488.0,14.0 +0.000162134,0.0,137488.0,14.0 +0.000163322,0.0,137488.0,14.0 +0.000164732,0.0,137488.0,14.0 +0.000170542,0.0,137488.0,14.0 +0.000179103,0.0,137488.0,14.0 +0.00016542100000000001,0.0,137488.0,14.0 +0.00016668800000000001,0.0,137488.0,14.0 +0.000169528,0.0,137488.0,14.0 +0.00017576200000000002,0.0,137488.0,14.0 +0.000170056,0.0,137488.0,14.0 +0.00016876300000000002,0.0,137488.0,14.0 +0.00017640800000000002,0.0,137488.0,14.0 +0.00016596500000000001,0.0,137488.0,14.0 +0.000171342,0.0,137488.0,14.0 +0.00016606000000000002,0.0,137488.0,14.0 +0.000167588,0.0,137488.0,14.0 +0.000169781,0.0,137488.0,14.0 +0.000164654,0.0,137488.0,14.0 +0.000168201,0.0,137488.0,14.0 +0.000164993,0.0,137488.0,14.0 +0.00017369500000000002,0.0,137488.0,14.0 +0.00017253,0.0,137488.0,14.0 +0.000170294,0.0,137488.0,14.0 +0.000174758,0.0,137488.0,14.0 +0.000163759,0.0,137488.0,14.0 +0.000169249,0.0,137488.0,14.0 +0.00016705300000000001,0.0,137488.0,14.0 +0.000166538,0.0,137488.0,14.0 +0.00018771,0.0,137488.0,14.0 +0.000172893,0.0,137488.0,14.0 +0.00016588,0.0,137488.0,14.0 +0.000177677,0.0,137488.0,14.0 +0.000165952,0.0,137488.0,14.0 +0.000171706,0.0,137488.0,14.0 +0.000168853,0.0,137488.0,14.0 +0.00017127600000000002,0.0,137488.0,14.0 +0.00016391500000000002,0.0,137488.0,14.0 +0.00016599800000000002,0.0,137488.0,14.0 +0.000161934,0.0,137488.0,14.0 +0.000175538,0.0,137488.0,14.0 +0.000177691,0.0,137488.0,14.0 +0.000168669,0.0,137488.0,14.0 +0.000161468,0.0,137488.0,14.0 +0.000180124,0.0,137488.0,14.0 +0.000165371,0.0,137488.0,14.0 +0.000162976,0.0,137488.0,14.0 +0.00017932200000000002,0.0,137488.0,14.0 +0.000173002,0.0,137488.0,14.0 +0.000168282,0.0,137488.0,14.0 +0.00016507000000000002,0.0,137488.0,14.0 +0.00017953,0.0,137488.0,14.0 +0.024198590000000002,0.0,137488.0,14.0 +0.000175887,0.0,137488.0,14.0 +0.000150777,0.0,137488.0,14.0 +0.00016960300000000002,0.0,137488.0,14.0 +0.000171389,0.0,137488.0,14.0 +0.000167679,0.0,137488.0,14.0 +0.00015721500000000002,0.0,137488.0,14.0 +0.00015819600000000001,0.0,137488.0,14.0 +0.000159907,0.0,137488.0,14.0 +0.00016122,0.0,137488.0,14.0 +0.00017128,0.0,137488.0,14.0 +0.000152998,0.0,137488.0,14.0 +0.000153859,0.0,137488.0,14.0 +0.00015905700000000002,0.0,137488.0,14.0 +0.000161037,0.0,137488.0,14.0 +0.0001563,0.0,137488.0,14.0 +0.000158109,0.0,137488.0,14.0 +0.00015345900000000002,0.0,137488.0,14.0 +0.000173362,0.0,137488.0,14.0 +0.000159836,0.0,137488.0,14.0 +0.00016318700000000002,0.0,137488.0,14.0 +0.00015865,0.0,137488.0,14.0 +0.00015438300000000002,0.0,137488.0,14.0 +0.00016334000000000002,0.0,137488.0,14.0 +0.000166157,0.0,137488.0,14.0 +0.000163782,0.0,137488.0,14.0 +0.000167373,0.0,137488.0,14.0 +0.000169564,0.0,137488.0,14.0 +0.000170597,0.0,137488.0,14.0 +0.00016743000000000001,0.0,137488.0,14.0 +0.000178249,0.0,137488.0,14.0 +0.00017160500000000002,0.0,137488.0,14.0 +0.000172695,0.0,137488.0,14.0 +0.00024377,0.0,137488.0,14.0 +0.000275853,0.0,137488.0,14.0 +0.000287387,0.0,137488.0,14.0 +0.000272136,0.0,137488.0,14.0 +0.000276472,0.0,137488.0,14.0 +0.000279593,0.0,137488.0,14.0 +0.00028078,0.0,137488.0,14.0 +0.000275024,0.0,137488.0,14.0 +0.000285178,0.0,137488.0,14.0 +0.00028686,0.0,137488.0,14.0 +0.00029296700000000004,0.0,137488.0,14.0 +0.000275392,0.0,137488.0,14.0 +0.000284458,0.0,137488.0,14.0 +0.000281463,0.0,137488.0,14.0 +0.000281668,0.0,137488.0,14.0 +0.000280873,0.0,137488.0,14.0 +0.000286219,0.0,137488.0,14.0 +0.000275702,0.0,137488.0,14.0 +0.00028639700000000003,0.0,137488.0,14.0 +0.00027516300000000004,0.0,137488.0,14.0 +0.000280529,0.0,137488.0,14.0 +0.000278646,0.0,137488.0,14.0 +0.00028378100000000004,0.0,137488.0,14.0 +0.024311979,0.0,137488.0,14.0 +0.000304877,0.0,137488.0,14.0 +0.00027839,0.0,137488.0,14.0 +0.000284618,0.0,137488.0,14.0 +0.00027985900000000003,0.0,137488.0,14.0 +0.000278283,0.0,137488.0,14.0 +0.000283811,0.0,137488.0,14.0 +0.000281132,0.0,137488.0,14.0 +0.000277028,0.0,137488.0,14.0 +0.000281413,0.0,137488.0,14.0 +0.00027187200000000004,0.0,137488.0,14.0 +0.000283356,0.0,137488.0,14.0 +0.000289428,0.0,137488.0,14.0 +0.000280308,0.0,137488.0,14.0 +0.00030236200000000003,0.0,137488.0,14.0 +0.000281152,0.0,137488.0,14.0 +0.00027388200000000003,0.0,137488.0,14.0 +0.00027475300000000003,0.0,137488.0,14.0 +0.000281091,0.0,137488.0,14.0 +0.00027647500000000004,0.0,137488.0,14.0 +0.000277957,0.0,137488.0,14.0 +0.00027451,0.0,137488.0,14.0 +0.000284009,0.0,137488.0,14.0 +0.000271757,0.0,137488.0,14.0 +0.000287219,0.0,137488.0,14.0 +0.000275677,0.0,137488.0,14.0 +0.000276842,0.0,137488.0,14.0 +0.000279703,0.0,137488.0,14.0 +0.000299699,0.0,137488.0,14.0 +0.000279218,0.0,137488.0,14.0 +0.00028012800000000004,0.0,137488.0,14.0 +0.00027646,0.0,137488.0,14.0 +0.00028346,0.0,137488.0,14.0 +0.00027538700000000004,0.0,137488.0,14.0 +0.000273733,0.0,137488.0,14.0 +0.000277164,0.0,137488.0,14.0 +0.000280181,0.0,137488.0,14.0 +0.000273482,0.0,137488.0,14.0 +0.00027703900000000003,0.0,137488.0,14.0 +0.000278219,0.0,137488.0,14.0 +0.00028161500000000003,0.0,137488.0,14.0 +0.000276741,0.0,137488.0,14.0 +0.00027659,0.0,137488.0,14.0 +0.024319195000000002,0.0,137488.0,14.0 +0.000298485,0.0,137488.0,14.0 +0.000278066,0.0,137488.0,14.0 +0.00028302700000000004,0.0,137488.0,14.0 +0.00027246000000000003,0.0,137488.0,14.0 +0.000280075,0.0,137488.0,14.0 +0.00028093700000000004,0.0,137488.0,14.0 +0.00028598100000000004,0.0,137488.0,14.0 +0.000274796,0.0,137488.0,14.0 +0.0002819,0.0,137488.0,14.0 +0.000271518,0.0,137488.0,14.0 +0.00027902,0.0,137488.0,14.0 +0.000270128,0.0,137488.0,14.0 +0.000287829,0.0,137488.0,14.0 +0.000286815,0.0,137488.0,14.0 +0.000282449,0.0,137488.0,14.0 +0.00027548000000000004,0.0,137488.0,14.0 +0.000281321,0.0,137488.0,14.0 +0.000276247,0.0,137488.0,14.0 +0.00028160100000000003,0.0,137488.0,14.0 +0.000274311,0.0,137488.0,14.0 +0.000278187,0.0,137488.0,14.0 +0.00027673600000000003,0.0,137488.0,14.0 +0.000279285,0.0,137488.0,14.0 +0.00027456000000000003,0.0,137488.0,14.0 +0.000286919,0.0,137488.0,14.0 +0.000273814,0.0,137488.0,14.0 +0.000278471,0.0,137488.0,14.0 +0.00028819500000000004,0.0,137488.0,14.0 +0.00027977300000000003,0.0,137488.0,14.0 +0.000275276,0.0,137488.0,14.0 +0.00028041300000000003,0.0,137488.0,14.0 +0.000277252,0.0,137488.0,14.0 +0.000280395,0.0,137488.0,14.0 +0.000272572,0.0,137488.0,14.0 +0.00028486500000000003,0.0,137488.0,14.0 +0.000267491,0.0,137488.0,14.0 +0.000281283,0.0,137488.0,14.0 +0.000274752,0.0,137488.0,14.0 +0.00028137400000000003,0.0,137488.0,14.0 +0.000283351,0.0,137488.0,14.0 +0.000283503,0.0,137488.0,14.0 +0.024316295,0.0,137488.0,14.0 +0.000298063,0.0,137488.0,14.0 +0.000280295,0.0,137488.0,14.0 +0.00027775600000000004,0.0,137488.0,14.0 +0.000286702,0.0,137488.0,14.0 +0.00027546600000000004,0.0,137488.0,14.0 +0.000285429,0.0,137488.0,14.0 +0.000283307,0.0,137488.0,14.0 +0.00027977000000000004,0.0,137488.0,14.0 +0.000274451,0.0,137488.0,14.0 +0.000279933,0.0,137488.0,14.0 +0.00028082700000000004,0.0,137488.0,14.0 +0.00028410800000000004,0.0,137488.0,14.0 +0.00027155,0.0,137488.0,14.0 +0.000298748,0.0,137488.0,14.0 +0.000285088,0.0,137488.0,14.0 +0.00028366400000000004,0.0,137488.0,14.0 +0.000279086,0.0,137488.0,14.0 +0.00027377600000000004,0.0,137488.0,14.0 +0.00027303900000000004,0.0,137488.0,14.0 +0.000279314,0.0,137488.0,14.0 +0.000276136,0.0,137488.0,14.0 +0.000287046,0.0,137488.0,14.0 +0.000279204,0.0,137488.0,14.0 +0.000282702,0.0,137488.0,14.0 +0.000279351,0.0,137488.0,14.0 +0.000277854,0.0,137488.0,14.0 +0.00027587900000000003,0.0,137488.0,14.0 +0.000297451,0.0,137488.0,14.0 +0.000273002,0.0,137488.0,14.0 +0.000280842,0.0,137488.0,14.0 +0.000281517,0.0,137488.0,14.0 +0.000277696,0.0,137488.0,14.0 +0.000274716,0.0,137488.0,14.0 +0.00028224500000000003,0.0,137488.0,14.0 +0.000281206,0.0,137488.0,14.0 +0.00027976600000000003,0.0,137488.0,14.0 +0.00028141500000000003,0.0,137488.0,14.0 +0.000288485,0.0,137488.0,14.0 +0.000276731,0.0,137488.0,14.0 +0.00028091600000000003,0.0,137488.0,14.0 +0.000279729,0.0,137488.0,14.0 +0.024306845,0.0,137488.0,14.0 +0.000307222,0.0,137488.0,14.0 +0.0017649500000000002,0.7858449247854047,137488.0,14.0 +0.00017241,0.0,137488.0,14.0 +0.00016352,0.0,137488.0,14.0 +0.000169134,0.0,137488.0,14.0 +0.000169469,0.0,137488.0,14.0 +0.000172437,0.0,137488.0,14.0 +0.00017084,0.0,137488.0,14.0 +0.00017589500000000002,0.0,137488.0,14.0 +0.00016943600000000002,0.0,137488.0,14.0 +0.00017403,0.0,137488.0,14.0 +0.000173126,0.0,137488.0,14.0 +0.000184863,0.0,137488.0,14.0 +0.00018246900000000002,0.0,137488.0,14.0 +0.00018975800000000002,0.0,137488.0,14.0 +0.000168497,0.0,137488.0,14.0 +0.00016735,0.0,137488.0,14.0 +0.000178848,0.0,137488.0,14.0 +0.00017171000000000002,0.0,137488.0,14.0 +0.00016927,0.0,137488.0,14.0 +0.000177175,0.0,137488.0,14.0 +0.00016939600000000002,0.0,137488.0,14.0 +0.00017394,0.0,137488.0,14.0 +0.00018214000000000001,0.0,137488.0,14.0 +0.000174751,0.0,137488.0,14.0 +0.000173983,0.0,137488.0,14.0 +0.00018083000000000002,0.0,137488.0,14.0 +0.00017500100000000001,0.0,137488.0,14.0 +0.000175052,0.0,137488.0,14.0 +0.000178535,0.0,137488.0,14.0 +0.00018032900000000001,0.0,137488.0,14.0 +0.000168758,0.0,137488.0,14.0 +0.000170482,0.0,137488.0,14.0 +0.000171642,0.0,137488.0,14.0 +0.000170705,0.0,137488.0,14.0 +0.000182959,0.0,137488.0,14.0 +0.000173592,0.0,137488.0,14.0 +0.00016734600000000002,0.0,137488.0,14.0 +0.000168786,0.0,137488.0,14.0 +0.00016766,0.0,137488.0,14.0 +0.00017198500000000001,0.0,137488.0,14.0 +0.00016644700000000001,0.0,137488.0,14.0 +0.00017177000000000002,0.0,137488.0,14.0 +0.000175529,0.0,137488.0,14.0 +0.00017609,0.0,137488.0,14.0 +0.00017358100000000002,0.0,137488.0,14.0 +0.000173189,0.0,137488.0,14.0 +0.00017724300000000002,0.0,137488.0,14.0 +0.000175686,0.0,137488.0,14.0 +0.00017203700000000002,0.0,137488.0,14.0 +0.00017043100000000002,0.0,137488.0,14.0 +0.000167753,0.0,137488.0,14.0 +0.000165448,0.0,137488.0,14.0 +0.000170476,0.0,137488.0,14.0 +0.00017122800000000002,0.0,137488.0,14.0 +0.00017465000000000002,0.0,137488.0,14.0 +0.000166937,0.0,137488.0,14.0 +0.000172033,0.0,137488.0,14.0 +0.024211944000000003,0.0,137488.0,14.0 +0.000191604,0.0,137488.0,14.0 +0.000174443,0.0,137488.0,14.0 +0.00016515800000000002,0.0,137488.0,14.0 +0.00017167700000000002,0.0,137488.0,14.0 +0.000166691,0.0,137488.0,14.0 +0.00017627900000000002,0.0,137488.0,14.0 +0.00016839,0.0,137488.0,14.0 +0.00017719300000000002,0.0,137488.0,14.0 +0.00016974200000000002,0.0,137488.0,14.0 +0.000170922,0.0,137488.0,14.0 +0.00017027,0.0,137488.0,14.0 +0.00017362900000000001,0.0,137488.0,14.0 +0.000187257,0.0,137488.0,14.0 +0.00019113500000000002,0.0,137488.0,14.0 +0.000170877,0.0,137488.0,14.0 +0.00016955600000000001,0.0,137488.0,14.0 +0.00017359800000000001,0.0,137488.0,14.0 +0.000171659,0.0,137488.0,14.0 +0.00018022800000000002,0.0,137488.0,14.0 +0.000174634,0.0,137488.0,14.0 +0.000166598,0.0,137488.0,14.0 +0.00016734,0.0,137488.0,14.0 +0.00018533000000000002,0.0,137488.0,14.0 +0.00017668500000000002,0.0,137488.0,14.0 +0.000173477,0.0,137488.0,14.0 +0.000177813,0.0,137488.0,14.0 +0.000173262,0.0,137488.0,14.0 +0.000178919,0.0,137488.0,14.0 +0.000173671,0.0,137488.0,14.0 +0.000165415,0.0,137488.0,14.0 +0.00016875400000000002,0.0,137488.0,14.0 +0.00016984000000000001,0.0,137488.0,14.0 +0.000165234,0.0,137488.0,14.0 +0.000170154,0.0,137488.0,14.0 +0.00016675200000000002,0.0,137488.0,14.0 +0.00017583100000000002,0.0,137488.0,14.0 +0.00017781,0.0,137488.0,14.0 +0.000166374,0.0,137488.0,14.0 +0.00016624900000000001,0.0,137488.0,14.0 +0.000176799,0.0,137488.0,14.0 +0.00016893800000000001,0.0,137488.0,14.0 +0.00017613200000000001,0.0,137488.0,14.0 +0.000166075,0.0,137488.0,14.0 +0.000174773,0.0,137488.0,14.0 +0.000179032,0.0,137488.0,14.0 +0.000198082,0.0,137488.0,14.0 +0.000174556,0.0,137488.0,14.0 +0.000167302,0.0,137488.0,14.0 +0.00016666600000000002,0.0,137488.0,14.0 +0.00017808100000000002,0.0,137488.0,14.0 +0.000170772,0.0,137488.0,14.0 +0.000166805,0.0,137488.0,14.0 +0.0001733,0.0,137488.0,14.0 +0.000175536,0.0,137488.0,14.0 +0.000169993,0.0,137488.0,14.0 +0.00017069,0.0,137488.0,14.0 +0.00016745800000000002,0.0,137488.0,14.0 +0.00016363600000000002,0.0,137488.0,14.0 +0.00016882300000000002,0.0,137488.0,14.0 +0.00016569700000000002,0.0,137488.0,14.0 +0.000168572,0.0,137488.0,14.0 +0.00017977300000000002,0.0,137488.0,14.0 +0.000169394,0.0,137488.0,14.0 +0.000170666,0.0,137488.0,14.0 +0.000178643,0.0,137488.0,14.0 +0.000171692,0.0,137488.0,14.0 +0.00016901200000000001,0.0,137488.0,14.0 +0.000172119,0.0,137488.0,14.0 +0.024207629,0.0,137488.0,14.0 +0.0001896,0.0,137488.0,14.0 +0.000178591,0.0,137488.0,14.0 +0.00017034800000000002,0.0,137488.0,14.0 +0.00017557800000000002,0.0,137488.0,14.0 +0.000167496,0.0,137488.0,14.0 +0.000172334,0.0,137488.0,14.0 +0.000168514,0.0,137488.0,14.0 +0.00016695500000000002,0.0,137488.0,14.0 +0.00016773000000000002,0.0,137488.0,14.0 +0.000179149,0.0,137488.0,14.0 +0.000177338,0.0,137488.0,14.0 +0.000175383,0.0,137488.0,14.0 +0.000174038,0.0,137488.0,14.0 +0.00017173600000000002,0.0,137488.0,14.0 +0.00016838200000000002,0.0,137488.0,14.0 +0.00017645100000000002,0.0,137488.0,14.0 +0.00017014000000000002,0.0,137488.0,14.0 +0.00017111400000000002,0.0,137488.0,14.0 +0.000164747,0.0,137488.0,14.0 +0.000172293,0.0,137488.0,14.0 +0.000176665,0.0,137488.0,14.0 +0.000173916,0.0,137488.0,14.0 +0.000187953,0.0,137488.0,14.0 +0.000179196,0.0,137488.0,14.0 +0.000174537,0.0,137488.0,14.0 +0.000184945,0.0,137488.0,14.0 +0.00016781100000000002,0.0,137488.0,14.0 +0.00016896400000000002,0.0,137488.0,14.0 +0.000170234,0.0,137488.0,14.0 +0.00016496700000000002,0.0,137488.0,14.0 +0.000181287,0.0,137488.0,14.0 +0.00017163400000000002,0.0,137488.0,14.0 +0.000165484,0.0,137488.0,14.0 +0.00017584000000000002,0.0,137488.0,14.0 +0.00016831000000000002,0.0,137488.0,14.0 +0.00016808,0.0,137488.0,14.0 +0.00017661600000000002,0.0,137488.0,14.0 +0.00017373600000000002,0.0,137488.0,14.0 +0.000166915,0.0,137488.0,14.0 +0.000175236,0.0,137488.0,14.0 +0.000172532,0.0,137488.0,14.0 +0.000166107,0.0,137488.0,14.0 +0.00017106,0.0,137488.0,14.0 +0.000180571,0.0,137488.0,14.0 +0.000170609,0.0,137488.0,14.0 +0.000184088,0.0,137488.0,14.0 +0.000177106,0.0,137488.0,14.0 +0.00016942200000000002,0.0,137488.0,14.0 +0.000177932,0.0,137488.0,14.0 +0.000173517,0.0,137488.0,14.0 +0.00016758000000000002,0.0,137488.0,14.0 +0.000181267,0.0,137488.0,14.0 +0.000176899,0.0,137488.0,14.0 +0.00017948900000000002,0.0,137488.0,14.0 +0.00017602200000000002,0.0,137488.0,14.0 +0.000171199,0.0,137488.0,14.0 +0.000168612,0.0,137488.0,14.0 +0.000165395,0.0,137488.0,14.0 +0.000167707,0.0,137488.0,14.0 +0.000176422,0.0,137488.0,14.0 +0.00016732900000000002,0.0,137488.0,14.0 +0.00017170800000000002,0.0,137488.0,14.0 +0.000167944,0.0,137488.0,14.0 +0.000168689,0.0,137488.0,14.0 +0.000166937,0.0,137488.0,14.0 +0.000171733,0.0,137488.0,14.0 +0.000166095,0.0,137488.0,14.0 +0.000175293,0.0,137488.0,14.0 +0.024209416,0.0,137488.0,14.0 +0.000186557,0.0,137488.0,14.0 +0.000171926,0.0,137488.0,14.0 +0.000165716,0.0,137488.0,14.0 +0.000170318,0.0,137488.0,14.0 +0.00016548500000000002,0.0,137488.0,14.0 +0.000174727,0.0,137488.0,14.0 +0.000177343,0.0,137488.0,14.0 +0.000170905,0.0,137488.0,14.0 +0.00017092500000000002,0.0,137488.0,14.0 +0.00017887,0.0,137488.0,14.0 +0.000168824,0.0,137488.0,14.0 +0.00017678100000000001,0.0,137488.0,14.0 +0.000163661,0.0,137488.0,14.0 +0.000176734,0.0,137488.0,14.0 +0.00017221,0.0,137488.0,14.0 +0.000169783,0.0,137488.0,14.0 +0.000164987,0.0,137488.0,14.0 +0.00017740800000000002,0.0,137488.0,14.0 +0.00016898,0.0,137488.0,14.0 +0.000179599,0.0,137488.0,14.0 +0.000170504,0.0,137488.0,14.0 +0.000169882,0.0,137488.0,14.0 +0.00019091300000000002,0.0,137488.0,14.0 +0.00017843,0.0,137488.0,14.0 +0.00017033100000000002,0.0,137488.0,14.0 +0.000181156,0.0,137488.0,14.0 +0.00016408700000000002,0.0,137488.0,14.0 +0.00017373600000000002,0.0,137488.0,14.0 +0.000167966,0.0,137488.0,14.0 +0.000169743,0.0,137488.0,14.0 +0.000179158,0.0,137488.0,14.0 +0.00017622900000000002,0.0,137488.0,14.0 +0.000165248,0.0,137488.0,14.0 +0.00017505500000000002,0.0,137488.0,14.0 +0.000165692,0.0,137488.0,14.0 +0.000173981,0.0,137488.0,14.0 +0.00016484300000000002,0.0,137488.0,14.0 +0.00016657800000000002,0.0,137488.0,14.0 +0.00017373100000000002,0.0,137488.0,14.0 +0.000168595,0.0,137488.0,14.0 +0.00016959600000000002,0.0,137488.0,14.0 +0.00016868500000000002,0.0,137488.0,14.0 +0.000166698,0.0,137488.0,14.0 +0.000175579,0.0,137488.0,14.0 +0.000165868,0.0,137488.0,14.0 +0.000181824,0.0,137488.0,14.0 +0.00017750100000000002,0.0,137488.0,14.0 +0.00016758500000000002,0.0,137488.0,14.0 +0.000168283,0.0,137488.0,14.0 +0.00017467,0.0,137488.0,14.0 +0.000164756,0.0,137488.0,14.0 +0.00017043400000000002,0.0,137488.0,14.0 +0.00016480300000000001,0.0,137488.0,14.0 +0.000165593,0.0,137488.0,14.0 +0.000179049,0.0,137488.0,14.0 +0.00016714300000000002,0.0,137488.0,14.0 +0.000169413,0.0,137488.0,14.0 +0.000180564,0.0,137488.0,14.0 +0.00016773500000000002,0.0,137488.0,14.0 +0.00017550900000000002,0.0,137488.0,14.0 +0.000160864,0.0,137488.0,14.0 +0.000166631,0.0,137488.0,14.0 +0.000179344,0.0,137488.0,14.0 +0.000177572,0.0,137488.0,14.0 +0.000168524,0.0,137488.0,14.0 +0.00017574300000000001,0.0,137488.0,14.0 +0.00016833600000000002,0.0,137488.0,14.0 +0.000167689,0.0,137488.0,14.0 +0.024199458,0.0,137488.0,14.0 +0.000187784,0.0,137488.0,14.0 +0.00017739900000000001,0.0,137488.0,14.0 +0.000170198,0.0,137488.0,14.0 +0.000171201,0.0,137488.0,14.0 +0.00017813300000000002,0.0,137488.0,14.0 +0.000174264,0.0,137488.0,14.0 +0.00018983500000000001,0.0,137488.0,14.0 +0.000168841,0.0,137488.0,14.0 +0.00017768500000000002,0.0,137488.0,14.0 +0.000181031,0.0,137488.0,14.0 +0.000167087,0.0,137488.0,14.0 +0.000176386,0.0,137488.0,14.0 +0.000176297,0.0,137488.0,14.0 +0.000171805,0.0,137488.0,14.0 +0.00017432500000000002,0.0,137488.0,14.0 +0.00017456200000000001,0.0,137488.0,14.0 +0.00016765600000000002,0.0,137488.0,14.0 +0.00017444000000000002,0.0,137488.0,14.0 +0.00016891,0.0,137488.0,14.0 +0.00017346900000000002,0.0,137488.0,14.0 +0.000175861,0.0,137488.0,14.0 +0.00017117,0.0,137488.0,14.0 +0.000191091,0.0,137488.0,14.0 +0.00015923100000000002,0.0,137488.0,14.0 +0.000165407,0.0,137488.0,14.0 +0.00016948600000000002,0.0,137488.0,14.0 +0.00016350000000000002,0.0,137488.0,14.0 +0.000166391,0.0,137488.0,14.0 +0.00017512000000000002,0.0,137488.0,14.0 +0.000162897,0.0,137488.0,14.0 +0.000175558,0.0,137488.0,14.0 +0.000168392,0.0,137488.0,14.0 +0.000163986,0.0,137488.0,14.0 +0.000172608,0.0,137488.0,14.0 +0.000169299,0.0,137488.0,14.0 +0.000168984,0.0,137488.0,14.0 +0.000171027,0.0,137488.0,14.0 +0.000167621,0.0,137488.0,14.0 +0.000172547,0.0,137488.0,14.0 +0.00016695200000000002,0.0,137488.0,14.0 +0.000165641,0.0,137488.0,14.0 +0.000173033,0.0,137488.0,14.0 +0.000162389,0.0,137488.0,14.0 +0.00016811700000000002,0.0,137488.0,14.0 +0.000171905,0.0,137488.0,14.0 +0.000181292,0.0,137488.0,14.0 +0.000170445,0.0,137488.0,14.0 +0.00016943200000000001,0.0,137488.0,14.0 +0.00017117800000000002,0.0,137488.0,14.0 +0.00017427000000000002,0.0,137488.0,14.0 +0.00016357,0.0,137488.0,14.0 +0.000169273,0.0,137488.0,14.0 +0.00017248300000000002,0.0,137488.0,14.0 +0.000171043,0.0,137488.0,14.0 +0.00017006,0.0,137488.0,14.0 +0.000165744,0.0,137488.0,14.0 +0.000167889,0.0,137488.0,14.0 +0.000187915,0.0,137488.0,14.0 +0.000165937,0.0,137488.0,14.0 +0.00017344500000000002,0.0,137488.0,14.0 +0.000170402,0.0,137488.0,14.0 +0.00017139300000000002,0.0,137488.0,14.0 +0.00017350000000000002,0.0,137488.0,14.0 +0.000168294,0.0,137488.0,14.0 +0.000170074,0.0,137488.0,14.0 +0.00017936200000000002,0.0,137488.0,14.0 +0.00016653500000000002,0.0,137488.0,14.0 +0.00023286000000000002,0.0,137488.0,14.0 +0.002870352,0.4845869078078229,137488.0,14.0 +0.00018571,0.0,137488.0,14.0 +0.00016680200000000002,0.0,137488.0,14.0 +0.000165348,0.0,137488.0,14.0 +0.000165723,0.0,137488.0,14.0 +0.000169204,0.0,137488.0,14.0 +0.000172067,0.0,137488.0,14.0 +0.00016815300000000001,0.0,137488.0,14.0 +0.00019842400000000002,0.0,137488.0,14.0 +0.000168457,0.0,137488.0,14.0 +0.000166501,0.0,137488.0,14.0 +0.00016430600000000002,0.0,137488.0,14.0 +0.000164983,0.0,137488.0,14.0 +0.000172818,0.0,137488.0,14.0 +0.000176405,0.0,137488.0,14.0 +0.00016323000000000002,0.0,137488.0,14.0 +0.00016243800000000002,0.0,137488.0,14.0 +0.000170013,0.0,137488.0,14.0 +0.000163513,0.0,137488.0,14.0 +0.00016311600000000002,0.0,137488.0,14.0 +0.00016682600000000002,0.0,137488.0,14.0 +0.000170349,0.0,137488.0,14.0 +0.000169707,0.0,137488.0,14.0 +0.000169901,0.0,137488.0,14.0 +0.00017006100000000002,0.0,137488.0,14.0 +0.000168913,0.0,137488.0,14.0 +0.000166632,0.0,137488.0,14.0 +0.00017185600000000002,0.0,137488.0,14.0 +0.00016327600000000001,0.0,137488.0,14.0 +0.000169874,0.0,137488.0,14.0 +0.000166832,0.0,137488.0,14.0 +0.000188058,0.0,137488.0,14.0 +0.000173911,0.0,137488.0,14.0 +0.000168572,0.0,137488.0,14.0 +0.000168407,0.0,137488.0,14.0 +0.000165472,0.0,137488.0,14.0 +0.000172528,0.0,137488.0,14.0 +0.000164191,0.0,137488.0,14.0 +0.000167015,0.0,137488.0,14.0 +0.000168519,0.0,137488.0,14.0 +0.00017261200000000002,0.0,137488.0,14.0 +0.000164463,0.0,137488.0,14.0 +0.000170228,0.0,137488.0,14.0 +0.00017318500000000002,0.0,137488.0,14.0 +0.00017957200000000002,0.0,137488.0,14.0 +0.000170628,0.0,137488.0,14.0 +0.00017243,0.0,137488.0,14.0 +0.000169044,0.0,137488.0,14.0 +0.000166291,0.0,137488.0,14.0 +0.000170241,0.0,137488.0,14.0 +0.000166214,0.0,137488.0,14.0 +0.00016933100000000002,0.0,137488.0,14.0 +0.00017027600000000002,0.0,137488.0,14.0 +0.00016965800000000002,0.0,137488.0,14.0 +0.000168078,0.0,137488.0,14.0 +0.000174422,0.0,137488.0,14.0 +0.00016651300000000002,0.0,137488.0,14.0 +0.00016780700000000001,0.0,137488.0,14.0 +0.00017101,0.0,137488.0,14.0 +0.00016981,0.0,137488.0,14.0 +0.000173293,0.0,137488.0,14.0 +0.000165859,0.0,137488.0,14.0 +0.00017078900000000002,0.0,137488.0,14.0 +0.000159665,0.0,137488.0,14.0 +0.000166631,0.0,137488.0,14.0 +0.00016052200000000002,0.0,137488.0,14.0 +0.000167698,0.0,137488.0,14.0 +0.000169103,0.0,137488.0,14.0 +0.000164804,0.0,137488.0,14.0 +0.000165729,0.0,137488.0,14.0 +0.000167768,0.0,137488.0,14.0 +0.000188776,0.0,137488.0,14.0 +0.00017559500000000002,0.0,137488.0,14.0 +0.00016630100000000002,0.0,137488.0,14.0 +0.00016095600000000002,0.0,137488.0,14.0 +0.00016440900000000002,0.0,137488.0,14.0 +0.00017533500000000001,0.0,137488.0,14.0 +0.00017401300000000002,0.0,137488.0,14.0 +0.000177202,0.0,137488.0,14.0 +0.00016784700000000002,0.0,137488.0,14.0 +0.00016647300000000002,0.0,137488.0,14.0 +0.000165167,0.0,137488.0,14.0 +0.00017452100000000002,0.0,137488.0,14.0 +0.000170609,0.0,137488.0,14.0 +0.00016438500000000002,0.0,137488.0,14.0 +0.00016299400000000002,0.0,137488.0,14.0 +0.000175949,0.0,137488.0,14.0 +0.000164517,0.0,137488.0,14.0 +0.00015978200000000002,0.0,137488.0,14.0 +0.000169516,0.0,137488.0,14.0 +0.000169728,0.0,137488.0,14.0 +0.000156656,0.0,137488.0,14.0 +0.00016032,0.0,137488.0,14.0 +0.00016642500000000002,0.0,137488.0,14.0 +0.000159487,0.0,137488.0,14.0 +0.000169141,0.0,137488.0,14.0 +0.000161979,0.0,137488.0,14.0 +0.000162873,0.0,137488.0,14.0 +0.000162592,0.0,137488.0,14.0 +0.000168485,0.0,137488.0,14.0 +0.00016802900000000001,0.0,137488.0,14.0 +0.00017133600000000001,0.0,137488.0,14.0 +0.00017408000000000001,0.0,137488.0,14.0 +0.000169237,0.0,137488.0,14.0 +0.00016759700000000002,0.0,137488.0,14.0 +0.000168251,0.0,137488.0,14.0 +0.00015846500000000002,0.0,137488.0,14.0 +0.00016524400000000002,0.0,137488.0,14.0 +0.0001719,0.0,137488.0,14.0 +0.00017049600000000002,0.0,137488.0,14.0 +0.00017775,0.0,137488.0,14.0 +0.00016421100000000002,0.0,137488.0,14.0 +0.00016548500000000002,0.0,137488.0,14.0 +0.000168571,0.0,137488.0,14.0 +0.00017510800000000002,0.0,137488.0,14.0 +0.000164042,0.0,137488.0,14.0 +0.000164116,0.0,137488.0,14.0 +0.000175193,0.0,137488.0,14.0 +0.00017350900000000002,0.0,137488.0,14.0 +0.000329085,0.0,137488.0,14.0 +0.00021358000000000003,0.0,137488.0,14.0 +0.000153749,0.0,137488.0,14.0 +0.000162606,0.0,137488.0,14.0 +0.00017027600000000002,0.0,137488.0,14.0 +0.00016382700000000002,0.0,137488.0,14.0 +0.00016768500000000002,0.0,137488.0,14.0 +0.00016126,0.0,137488.0,14.0 +0.000155457,0.0,137488.0,14.0 +0.00016779000000000002,0.0,137488.0,14.0 +0.00015352400000000002,0.0,137488.0,14.0 +0.000167046,0.0,137488.0,14.0 +0.0001611,0.0,137488.0,14.0 +0.00016074,0.0,137488.0,14.0 +0.000155122,0.0,137488.0,14.0 +0.00015159,0.0,137488.0,14.0 +0.000153444,0.0,137488.0,14.0 +0.000164944,0.0,137488.0,14.0 +0.00016398700000000001,0.0,137488.0,14.0 +0.00015032400000000002,0.0,137488.0,14.0 +0.000157536,0.0,137488.0,14.0 +0.00016610300000000002,0.0,137488.0,14.0 +0.00015573800000000002,0.0,137488.0,14.0 +0.000161509,0.0,137488.0,14.0 +0.000165371,0.0,137488.0,14.0 +0.00016109000000000002,0.0,137488.0,14.0 +0.000160115,0.0,137488.0,14.0 +0.000150022,0.0,137488.0,14.0 +0.00016368600000000002,0.0,137488.0,14.0 +0.000159378,0.0,137488.0,14.0 +0.000171626,0.0,137488.0,14.0 +0.00015594300000000002,0.0,137488.0,14.0 +0.00016355700000000002,0.0,137488.0,14.0 +0.00016159600000000002,0.0,137488.0,14.0 +0.000165753,0.0,137488.0,14.0 +0.000155892,0.0,137488.0,14.0 +0.000160702,0.0,137488.0,14.0 +0.000161557,0.0,137488.0,14.0 +0.00016558800000000001,0.0,137488.0,14.0 +0.00015866600000000002,0.0,137488.0,14.0 +0.000151969,0.0,137488.0,14.0 +0.00016352600000000002,0.0,137488.0,14.0 +0.00016030000000000002,0.0,137488.0,14.0 +0.000147994,0.0,137488.0,14.0 +0.00015312,0.0,137488.0,14.0 +0.00015579800000000002,0.0,137488.0,14.0 +0.000150664,0.0,137488.0,14.0 +0.000158073,0.0,137488.0,14.0 +0.00015356200000000002,0.0,137488.0,14.0 +0.00015790000000000002,0.0,137488.0,14.0 +0.000156266,0.0,137488.0,14.0 +0.000160271,0.0,137488.0,14.0 +0.000160649,0.0,137488.0,14.0 +0.000146269,0.0,137488.0,14.0 diff --git a/perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv b/perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv index 2630dd1..5d089ce 100644 --- a/perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv +++ b/perf/PatternFolds/output/d67e26e8-2a3a-5155-989c-29aac013e915.csv @@ -1,5 +1,5 @@ bytes,percentage,filenames,linenumbers -16128,97.49,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/vector.jl,87 -320,1.93,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/vector.jl,19 +16128,98.44,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/vector.jl,87 +160,0.98,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/vector.jl,19 48,0.29,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/intervals.jl,32 48,0.29,/home/baffier/.julia/packages/PatternFolds/KzXjV/src/common.jl,100 diff --git a/src/check.jl b/src/check.jl index e17b0ff..b65a2c0 100644 --- a/src/check.jl +++ b/src/check.jl @@ -124,7 +124,7 @@ function check_function(x::Symbol, d::Dict, block1, block2) ps = results.pkgs[k] pkg = ps.name v = ps.version - isnothing(pkg) && continue + (isnothing(pkg) || v == "dev") && continue name = filename(x, pkg, v, tags; ext = "csv") path = joinpath(d[:path], "output", name) metadata = joinpath(d[:path], "metadata", "metadata.csv") From b325aab7b010babc9c3ba0e4fe7e075e6a9a4517 Mon Sep 17 00:00:00 2001 From: Azzaare Date: Tue, 28 May 2024 14:53:57 +0000 Subject: [PATCH 62/67] Fixes some plots output and provide basic scripts for those --- ext/MakieExt/allocs.jl | 4 + perf/GLM/Project.toml | 1 + perf/GLM/bench.jl | 12 +- perf/GLM/chair.jl | 12 +- perf/GLM/visuals/bench_boxplots_allocs.png | Bin 0 -> 32778 bytes perf/GLM/visuals/bench_boxplots_gctimes.png | Bin 0 -> 44359 bytes perf/GLM/visuals/bench_boxplots_memory.png | Bin 0 -> 35402 bytes perf/GLM/visuals/bench_boxplots_times.png | Bin 0 -> 33837 bytes perf/GLM/visuals/bench_evolution.png | Bin 0 -> 53922 bytes perf/GLM/visuals/chair_boxplots_allocs.png | Bin 0 -> 32778 bytes perf/GLM/visuals/chair_boxplots_bytes.png | Bin 0 -> 35030 bytes perf/GLM/visuals/chair_boxplots_gctimes.png | Bin 0 -> 37703 bytes perf/GLM/visuals/chair_boxplots_times.png | Bin 0 -> 30638 bytes perf/GLM/visuals/chair_evolution.png | Bin 0 -> 53227 bytes perf/PatternFolds/Project.toml | 1 - perf/PatternFolds/allocs.jl | 14 +- perf/PatternFolds/bench.jl | 21 +- perf/PatternFolds/chair.jl | 22 +- perf/PatternFolds/metadata/metadata.csv | 18 +- .../13136978-6b22-5cef-bec4-f5fb8e83194a.csv | 4542 ++++------------ .../4ff037b1-237d-5e5b-807c-8f91da280e05.csv | 4672 ++++------------- .../63d72b2e-12dc-56bf-b1b6-fe92e6ab2fec.csv | 5 + .../69d558a3-4d56-5375-870a-f6693257a510.csv | 1100 +++- .../6ac78acd-4d92-56e8-a5f6-6620d1261dcb.csv | 1001 ++++ .../728ef8cd-7bd0-5e8b-8d9b-4cb61d813557.csv | 1001 ++++ .../9b0009bc-cdad-52d4-91df-06842447cf61.csv | 1100 +++- .../a4099e5b-fb02-567e-8b3f-19ed5b58f9c6.csv | 1001 ++++ .../c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv | 1100 +++- .../cf98ea1a-05ae-56dc-97a4-f82dad344158.csv | 5 + .../d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv | 2647 ++++------ .../d693ddde-b8a4-5104-8e22-7351361f9115.csv | 1001 ++++ .../PatternFolds/visuals/allocs_evolution.png | Bin 0 -> 46160 bytes .../allocs_pie_PatternFolds_v0.2.0.png | Bin 0 -> 53584 bytes .../allocs_pie_PatternFolds_v0.2.1.png | Bin 0 -> 53424 bytes .../allocs_pie_PatternFolds_v0.2.2.png | Bin 0 -> 52047 bytes .../allocs_pie_PatternFolds_v0.2.3.png | Bin 0 -> 52180 bytes .../allocs_pie_PatternFolds_v0.2.4.png | Bin 0 -> 51725 bytes .../visuals/bench_boxplots_allocs.png | Bin 0 -> 27988 bytes .../visuals/bench_boxplots_gctimes.png | Bin 0 -> 50800 bytes .../visuals/bench_boxplots_memory.png | Bin 0 -> 34180 bytes .../visuals/bench_boxplots_times.png | Bin 0 -> 61909 bytes perf/PatternFolds/visuals/bench_evolution.png | Bin 0 -> 52723 bytes .../visuals/chair_boxplots_allocs.png | Bin 0 -> 27988 bytes .../visuals/chair_boxplots_bytes.png | Bin 0 -> 33990 bytes .../visuals/chair_boxplots_gctimes.png | Bin 0 -> 59600 bytes .../visuals/chair_boxplots_times.png | Bin 0 -> 61192 bytes perf/PatternFolds/visuals/chair_evolution.png | Bin 0 -> 52694 bytes 47 files changed, 10086 insertions(+), 9194 deletions(-) create mode 100644 perf/GLM/visuals/bench_boxplots_allocs.png create mode 100644 perf/GLM/visuals/bench_boxplots_gctimes.png create mode 100644 perf/GLM/visuals/bench_boxplots_memory.png create mode 100644 perf/GLM/visuals/bench_boxplots_times.png create mode 100644 perf/GLM/visuals/bench_evolution.png create mode 100644 perf/GLM/visuals/chair_boxplots_allocs.png create mode 100644 perf/GLM/visuals/chair_boxplots_bytes.png create mode 100644 perf/GLM/visuals/chair_boxplots_gctimes.png create mode 100644 perf/GLM/visuals/chair_boxplots_times.png create mode 100644 perf/GLM/visuals/chair_evolution.png create mode 100644 perf/PatternFolds/output/63d72b2e-12dc-56bf-b1b6-fe92e6ab2fec.csv create mode 100644 perf/PatternFolds/output/6ac78acd-4d92-56e8-a5f6-6620d1261dcb.csv create mode 100644 perf/PatternFolds/output/728ef8cd-7bd0-5e8b-8d9b-4cb61d813557.csv create mode 100644 perf/PatternFolds/output/a4099e5b-fb02-567e-8b3f-19ed5b58f9c6.csv create mode 100644 perf/PatternFolds/output/cf98ea1a-05ae-56dc-97a4-f82dad344158.csv create mode 100644 perf/PatternFolds/output/d693ddde-b8a4-5104-8e22-7351361f9115.csv create mode 100644 perf/PatternFolds/visuals/allocs_evolution.png create mode 100644 perf/PatternFolds/visuals/allocs_pie_PatternFolds_v0.2.0.png create mode 100644 perf/PatternFolds/visuals/allocs_pie_PatternFolds_v0.2.1.png create mode 100644 perf/PatternFolds/visuals/allocs_pie_PatternFolds_v0.2.2.png create mode 100644 perf/PatternFolds/visuals/allocs_pie_PatternFolds_v0.2.3.png create mode 100644 perf/PatternFolds/visuals/allocs_pie_PatternFolds_v0.2.4.png create mode 100644 perf/PatternFolds/visuals/bench_boxplots_allocs.png create mode 100644 perf/PatternFolds/visuals/bench_boxplots_gctimes.png create mode 100644 perf/PatternFolds/visuals/bench_boxplots_memory.png create mode 100644 perf/PatternFolds/visuals/bench_boxplots_times.png create mode 100644 perf/PatternFolds/visuals/bench_evolution.png create mode 100644 perf/PatternFolds/visuals/chair_boxplots_allocs.png create mode 100644 perf/PatternFolds/visuals/chair_boxplots_bytes.png create mode 100644 perf/PatternFolds/visuals/chair_boxplots_gctimes.png create mode 100644 perf/PatternFolds/visuals/chair_boxplots_times.png create mode 100644 perf/PatternFolds/visuals/chair_evolution.png diff --git a/ext/MakieExt/allocs.jl b/ext/MakieExt/allocs.jl index 2436a12..f9063f6 100644 --- a/ext/MakieExt/allocs.jl +++ b/ext/MakieExt/allocs.jl @@ -21,6 +21,10 @@ function PerfChecker.table_to_pie(x::Table, ::Val{:alloc}; pkg_name = "") end function PerfChecker.checkres_to_pie(x::PerfChecker.CheckerResult, ::Val{:alloc}) + name(i) = x.pkgs[i].name * "_v" * string(x.pkgs[i].version) + return map( + i -> (name(i) => table_to_pie(x.tables[i], Val(:alloc), pkg_name = name(i))), + eachindex(x.tables)) end function PerfChecker.checkres_to_scatterlines( diff --git a/perf/GLM/Project.toml b/perf/GLM/Project.toml index 8fc799b..cc30d4f 100644 --- a/perf/GLM/Project.toml +++ b/perf/GLM/Project.toml @@ -1,5 +1,6 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" +CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" GLM = "38e38edf-8417-5370-95a0-9cbb8c7f171a" PerfChecker = "6309bf6b-a531-4b08-891e-8ee981e5c424" diff --git a/perf/GLM/bench.jl b/perf/GLM/bench.jl index 207e77e..a76ea26 100644 --- a/perf/GLM/bench.jl +++ b/perf/GLM/bench.jl @@ -1,4 +1,4 @@ -using PerfChecker, BenchmarkTools +using PerfChecker, BenchmarkTools, CairoMakie d = Dict(:targets => ["GLM"], :path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, @@ -33,3 +33,13 @@ end begin end @info x + +mkpath(joinpath(@__DIR__, "visuals")) + +c = checkres_to_scatterlines(x, Val(:benchmark)) +save(joinpath(@__DIR__, "visuals", "bench_evolution.png"), c) + +for kwarg in [:times, :gctimes, :memory, :allocs] + c2 = checkres_to_boxplots(x, Val(:benchmark); kwarg) + save(joinpath(@__DIR__, "visuals", "bench_boxplots_$kwarg.png"), c2) +end diff --git a/perf/GLM/chair.jl b/perf/GLM/chair.jl index a7fac5b..59b64ab 100644 --- a/perf/GLM/chair.jl +++ b/perf/GLM/chair.jl @@ -1,4 +1,4 @@ -using PerfChecker, Chairmarks +using PerfChecker, Chairmarks, CairoMakie d = Dict(:targets => ["GLM"], :path => @__DIR__, :evals => 1, :samples => 100, :seconds => 100, @@ -33,3 +33,13 @@ end begin end @info x + +mkpath(joinpath(@__DIR__, "visuals")) + +c = checkres_to_scatterlines(x, Val(:chairmark)) +save(joinpath(@__DIR__, "visuals", "chair_evolution.png"), c) + +for kwarg in [:times, :gctimes, :bytes, :allocs] + c2 = checkres_to_boxplots(x, Val(:chairmark); kwarg) + save(joinpath(@__DIR__, "visuals", "chair_boxplots_$kwarg.png"), c2) +end diff --git a/perf/GLM/visuals/bench_boxplots_allocs.png b/perf/GLM/visuals/bench_boxplots_allocs.png new file mode 100644 index 0000000000000000000000000000000000000000..bb85ee0f73f8ea285342542367dd9749494fdbe1 GIT binary patch literal 32778 zcmeFac~s4RzdpQuO`E7qDno;fM5PeT1G@;J&`5(y3eEGpec1^iG|`BpgyvDhra==W zp}91vG|#17J=e#5pW%;Zt>-zXj6yx0H|X*21l%0W%n@cw2u zPtA$E=>>Iea;ccw{Sy~>)+~8-b;ru`Lw1Wi{B)jM;?L)<@54~G@gt~Uc3hK6Pk6Q)Ca>hzm&&pD}XIO|f#wL6QB7NLLq+f0Am=WsOz{cu%)|xVx$5%a?{so7Mz_oHObQ z>E|-7bMyuLieDUm{BYW~=kwFmn}(4N_qe)-$RJtjq!B2nJId#xHX zf?B`4(n&mXQpU{4XcejK{#w7{hYE{HNp!`T&VWJMW(&Ntd%`s_28&(ItbIcQb~|MG`%SJX$?|{JosLB(=mO`H&yCR$bPG zvb9W;WzriliPE9RBV;G=IZ-h&F=q0~2w7ZQT}@4dIdV^KaJtWE!Cm^IZqoUKKD*?E zwvbepVrEtERw*s8gp_8EwijOh7Jqk>lyz5m(76mty-aI^g9qP#eR<|w`eiPr6t~~q z^?OX_eoy#%-tl4M(XQJi%IrXTJc4bO@(F1*3UExKOD{=)3!z?svhY2*zX zHWd1D7~zi3R!s5T}xuQnXUC8FQvXa zrAoXMRY*w4F2||wJJ(=@g!#$42K8=T?|Z(#IXBRdu1xO3f8;n@k*P{b3pMIWtEtap zVkY|Q$NuxRO;svNjP);Fx>TKD*_uB`snp2--7dExL{#szwl+7d=Sz%Qgsc;Lo5Ld8 zC1flJ*?pJ4?y&Q~jFxSTE;to^k7ucLe2kC>iF7{7vGG15+91JmyjqnxJD5|r?=Yr3$FX-UZO6`?k0q_nvYPLl2$NK3V{o$9Nc?3x{pWq2 z$HumL&ko$;P+|=ide8kfGcyY^;`A$y^c*cahmD(b@*(c>e!0M%)+7(gj~!jaZ7=I% z*GXLb=sG))*&!gNoAktEYLHkG>PmCt_`@Zl&B97>n`(BM8mZ=|vqoN=2pb$t`1S2o zt6d3S&TNsQ*KbxE2c1kM24`f~HC!2i@<-f*;NZ!R5>?}UwKm`4wMKT;*VkjOFI0+% z=k%wTM|n9{`AfQub~ZQTrQawlZ!^p!*=pLB?jZ4=IGbjXeE$8le6QI-<4+vk!`Cm> zyx4Ek!rJ}m^INArtW!b7*9a^A{0i(fm`+_{f0ysO^rbUufz^FygG8ll-|Mem7sk}x zVoyd8&)gm9A*P@(*BPL$=qVA{D(L#_Wvq6h;oPtS56M>@p5)m%ptA=L9z1#S8s6m;EUzDaVc-L!=Il95f$QD66Qb`1I)waslF6fI`Is z=Oy=2Q~&Xt|K&{gB|rfQ)K=p(qME{A%Xe`53A&Ix{-o1#eq`9Vl@Ie1Z_S-PI@#Bt z{Qo|s_EARZqWW3GhL$-mN<#()5mVLg{@|e}#;KP`SY@)A!ew%FzdLRZ+amliRoSDT1=@daeOa-05|*eZlrq>*$Z^*kL9uT#mo{Ya9t z6Nz+#vu8u=Ts!VcDGt9|EY;#_Ium5WoOAZ6;*)nBeyx|9fbg#@CqW|JcdTAnFws}L zfRw11R5jP`CqC&lf}QevYKUpq@qt3iaUOWhY3|+CMQXvKFO8VRBEt?JK@=tX{t-G$9LnPJt)z3Xh6*X(4N_1m5M_fP!pOKfcxN;sSTD<;J7?T>40 zvQEDo&6>vEexsi~+Tt8QkmwM4@ zpuq|0Jz)EZ-=A!}Q^$m?TXJX0grfSt#8k}l8vdV^2@&5!c)R}c{V=n{?>nZ_ ztRmRMKpqdMD;oUpVanLO^jC@bvJ4GfU1{^m@avDwTa7d?UFyZ_t)s1%wA4+#_^G`0 zTZ~#r%}KdkjNvKff>%h?Y>Co*@{=d;1`lFG#m9S7*aZ|>7541?2irZ!jhQx4xN>bV zf#Aqb0TW92T=ac%utWq}Re6jY-c8Q^8R9T08+K~A$6&Txt4En&2!o3=SKtD3Vj7W#sM71Xiaczcyk6ZR(AO;|MzMBf_r>�sfa6);FPDaIOl>)2~w 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 literal 0 HcmV?d00001 diff --git a/perf/GLM/visuals/bench_boxplots_gctimes.png b/perf/GLM/visuals/bench_boxplots_gctimes.png new file mode 100644 index 0000000000000000000000000000000000000000..25ab9a7a4768982ea4a11b62df152942e5f32683 GIT binary patch literal 44359 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¬)X{J9bG#$PzET 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 literal 0 HcmV?d00001 diff --git a/perf/GLM/visuals/bench_boxplots_memory.png b/perf/GLM/visuals/bench_boxplots_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..0da28fb501666d57dcb5efde17364968c5b3026a GIT binary patch literal 35402 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 Iwq)yn1AS@)5C8xG literal 0 HcmV?d00001 diff --git a/perf/GLM/visuals/bench_evolution.png b/perf/GLM/visuals/bench_evolution.png new file mode 100644 index 0000000000000000000000000000000000000000..d1996b06d76e9f35f9f6db9b8e7f688ca4743d86 GIT binary patch literal 53922 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 literal 0 HcmV?d00001 diff --git a/perf/GLM/visuals/chair_boxplots_allocs.png b/perf/GLM/visuals/chair_boxplots_allocs.png new file mode 100644 index 0000000000000000000000000000000000000000..bb85ee0f73f8ea285342542367dd9749494fdbe1 GIT binary patch literal 32778 zcmeFac~s4RzdpQuO`E7qDno;fM5PeT1G@;J&`5(y3eEGpec1^iG|`BpgyvDhra==W zp}91vG|#17J=e#5pW%;Zt>-zXj6yx0H|X*21l%0W%n@cw2u zPtA$E=>>Iea;ccw{Sy~>)+~8-b;ru`Lw1Wi{B)jM;?L)<@54~G@gt~Uc3hK6Pk6Q)Ca>hzm&&pD}XIO|f#wL6QB7NLLq+f0Am=WsOz{cu%)|xVx$5%a?{so7Mz_oHObQ z>E|-7bMyuLieDUm{BYW~=kwFmn}(4N_qe)-$RJtjq!B2nJId#xHX zf?B`4(n&mXQpU{4XcejK{#w7{hYE{HNp!`T&VWJMW(&Ntd%`s_28&(ItbIcQb~|MG`%SJX$?|{JosLB(=mO`H&yCR$bPG zvb9W;WzriliPE9RBV;G=IZ-h&F=q0~2w7ZQT}@4dIdV^KaJtWE!Cm^IZqoUKKD*?E zwvbepVrEtERw*s8gp_8EwijOh7Jqk>lyz5m(76mty-aI^g9qP#eR<|w`eiPr6t~~q z^?OX_eoy#%-tl4M(XQJi%IrXTJc4bO@(F1*3UExKOD{=)3!z?svhY2*zX zHWd1D7~zi3R!s5T}xuQnXUC8FQvXa zrAoXMRY*w4F2||wJJ(=@g!#$42K8=T?|Z(#IXBRdu1xO3f8;n@k*P{b3pMIWtEtap zVkY|Q$NuxRO;svNjP);Fx>TKD*_uB`snp2--7dExL{#szwl+7d=Sz%Qgsc;Lo5Ld8 zC1flJ*?pJ4?y&Q~jFxSTE;to^k7ucLe2kC>iF7{7vGG15+91JmyjqnxJD5|r?=Yr3$FX-UZO6`?k0q_nvYPLl2$NK3V{o$9Nc?3x{pWq2 z$HumL&ko$;P+|=ide8kfGcyY^;`A$y^c*cahmD(b@*(c>e!0M%)+7(gj~!jaZ7=I% z*GXLb=sG))*&!gNoAktEYLHkG>PmCt_`@Zl&B97>n`(BM8mZ=|vqoN=2pb$t`1S2o zt6d3S&TNsQ*KbxE2c1kM24`f~HC!2i@<-f*;NZ!R5>?}UwKm`4wMKT;*VkjOFI0+% z=k%wTM|n9{`AfQub~ZQTrQawlZ!^p!*=pLB?jZ4=IGbjXeE$8le6QI-<4+vk!`Cm> zyx4Ek!rJ}m^INArtW!b7*9a^A{0i(fm`+_{f0ysO^rbUufz^FygG8ll-|Mem7sk}x zVoyd8&)gm9A*P@(*BPL$=qVA{D(L#_Wvq6h;oPtS56M>@p5)m%ptA=L9z1#S8s6m;EUzDaVc-L!=Il95f$QD66Qb`1I)waslF6fI`Is z=Oy=2Q~&Xt|K&{gB|rfQ)K=p(qME{A%Xe`53A&Ix{-o1#eq`9Vl@Ie1Z_S-PI@#Bt z{Qo|s_EARZqWW3GhL$-mN<#()5mVLg{@|e}#;KP`SY@)A!ew%FzdLRZ+amliRoSDT1=@daeOa-05|*eZlrq>*$Z^*kL9uT#mo{Ya9t z6Nz+#vu8u=Ts!VcDGt9|EY;#_Ium5WoOAZ6;*)nBeyx|9fbg#@CqW|JcdTAnFws}L zfRw11R5jP`CqC&lf}QevYKUpq@qt3iaUOWhY3|+CMQXvKFO8VRBEt?JK@=tX{t-G$9LnPJt)z3Xh6*X(4N_1m5M_fP!pOKfcxN;sSTD<;J7?T>40 zvQEDo&6>vEexsi~+Tt8QkmwM4@ zpuq|0Jz)EZ-=A!}Q^$m?TXJX0grfSt#8k}l8vdV^2@&5!c)R}c{V=n{?>nZ_ ztRmRMKpqdMD;oUpVanLO^jC@bvJ4GfU1{^m@avDwTa7d?UFyZ_t)s1%wA4+#_^G`0 zTZ~#r%}KdkjNvKff>%h?Y>Co*@{=d;1`lFG#m9S7*aZ|>7541?2irZ!jhQx4xN>bV zf#Aqb0TW92T=ac%utWq}Re6jY-c8Q^8R9T08+K~A$6&Txt4En&2!o3=SKtD3Vj7W#sM71Xiaczcyk6ZR(AO;|MzMBf_r>�sfa6);FPDaIOl>)2~w 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 literal 0 HcmV?d00001 diff --git a/perf/GLM/visuals/chair_boxplots_bytes.png b/perf/GLM/visuals/chair_boxplots_bytes.png new file mode 100644 index 0000000000000000000000000000000000000000..a92de61b010603a2691c5696581400279342aac8 GIT binary patch literal 35030 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

0>oD@?>=!34%I38h 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 literal 0 HcmV?d00001 diff --git a/perf/GLM/visuals/chair_boxplots_times.png b/perf/GLM/visuals/chair_boxplots_times.png new file mode 100644 index 0000000000000000000000000000000000000000..7ba28bffce7c6b8850a37d2c52a9bea8a1b4718b GIT binary patch literal 30638 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 literal 0 HcmV?d00001 diff --git a/perf/GLM/visuals/chair_evolution.png b/perf/GLM/visuals/chair_evolution.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1bd65322412a41dae3d7c6a7f5e5885a3c50e1 GIT binary patch literal 53227 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 S4tyh?lcj~VdFIc{cm5ab^Ewd# literal 0 HcmV?d00001 diff --git a/perf/PatternFolds/Project.toml b/perf/PatternFolds/Project.toml index 973d4ea..91bc341 100644 --- a/perf/PatternFolds/Project.toml +++ b/perf/PatternFolds/Project.toml @@ -1,6 +1,5 @@ [deps] BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" Chairmarks = "0ca39b1e-fe0b-4e98-acfc-b1656634c4de" Coverage = "a2441757-f6aa-5fb2-8edb-039e3f45d037" diff --git a/perf/PatternFolds/allocs.jl b/perf/PatternFolds/allocs.jl index 5d83002..8184b40 100644 --- a/perf/PatternFolds/allocs.jl +++ b/perf/PatternFolds/allocs.jl @@ -1,7 +1,8 @@ -using PerfChecker, CairoMakie, CSV +using PerfChecker, CairoMakie d = Dict(:targets => ["PatternFolds"], :path => @__DIR__, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3", v"0.2.4"], true)) + :pkgs => ( + "PatternFolds", :custom, [v"0.2.0", v"0.2.1", v"0.2.2", v"0.2.3", v"0.2.4"], true)) x = @check :alloc d begin using PatternFolds @@ -24,3 +25,12 @@ end begin end @info x + +mkpath(joinpath(@__DIR__, "visuals")) + +c = checkres_to_scatterlines(x, Val(:alloc)) +save(joinpath(@__DIR__, "visuals", "allocs_evolution.png"), c) + +for (name, c2) in checkres_to_pie(x, Val(:alloc)) + save(joinpath(@__DIR__, "visuals", "allocs_pie_$name.png"), c2) +end diff --git a/perf/PatternFolds/bench.jl b/perf/PatternFolds/bench.jl index 03cd20d..2005c2c 100644 --- a/perf/PatternFolds/bench.jl +++ b/perf/PatternFolds/bench.jl @@ -1,11 +1,12 @@ -using PerfChecker, BenchmarkTools +using PerfChecker, BenchmarkTools, CairoMakie -d = Dict(:path => @__DIR__, :evals => 1, :samples => 100, +d = Dict(:path => @__DIR__, :evals => 10, :samples => 1000, :seconds => 100, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3", v"0.2.4"], true), + :pkgs => ( + "PatternFolds", :custom, [v"0.2.0", v"0.2.1", v"0.2.2", v"0.2.3", v"0.2.4"], true), :devops => "PatternFolds") -t = @check :benchmark d begin +x = @check :benchmark d begin using PatternFolds end begin # Intervals @@ -28,4 +29,14 @@ end begin return nothing end -@info t +@info x + +mkpath(joinpath(@__DIR__, "visuals")) + +c = checkres_to_scatterlines(x, Val(:benchmark)) +save(joinpath(@__DIR__, "visuals", "bench_evolution.png"), c) + +for kwarg in [:times, :gctimes, :memory, :allocs] + c2 = checkres_to_boxplots(x, Val(:benchmark); kwarg) + save(joinpath(@__DIR__, "visuals", "bench_boxplots_$kwarg.png"), c2) +end diff --git a/perf/PatternFolds/chair.jl b/perf/PatternFolds/chair.jl index 4bfa5ce..110175a 100644 --- a/perf/PatternFolds/chair.jl +++ b/perf/PatternFolds/chair.jl @@ -1,10 +1,12 @@ -using PerfChecker, Chairmarks +using PerfChecker, Chairmarks, CairoMakie -d = Dict(:path => @__DIR__, :evals => 1, :tags => [:patterns, :intervals], - :pkgs => ("PatternFolds", :custom, [v"0.2.2", v"0.2.3", v"0.2.4"], true), +d = Dict(:path => @__DIR__, :evals => 10, :samples => 1000, + :seconds => 100, :tags => [:patterns, :intervals], + :pkgs => ( + "PatternFolds", :custom, [v"0.2.0", v"0.2.1", v"0.2.2", v"0.2.3", v"0.2.4"], true), :devops => "PatternFolds") -t = @check :chairmark d begin +x = @check :chairmark d begin using PatternFolds end begin # Intervals @@ -27,4 +29,14 @@ end begin return nothing end -@info t +@info x + +mkpath(joinpath(@__DIR__, "visuals")) + +c = checkres_to_scatterlines(x, Val(:chairmark)) +save(joinpath(@__DIR__, "visuals", "chair_evolution.png"), c) + +for kwarg in [:times, :gctimes, :bytes, :allocs] + c2 = checkres_to_boxplots(x, Val(:chairmark); kwarg) + save(joinpath(@__DIR__, "visuals", "chair_boxplots_$kwarg.png"), c2) +end diff --git a/perf/PatternFolds/metadata/metadata.csv b/perf/PatternFolds/metadata/metadata.csv index 006be80..b4e6802 100644 --- a/perf/PatternFolds/metadata/metadata.csv +++ b/perf/PatternFolds/metadata/metadata.csv @@ -1,9 +1,15 @@ -benchmark_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 -benchmark_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 -benchmark_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 -chairmark_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 -chairmark_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 -chairmark_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 alloc_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 alloc_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 alloc_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +alloc_PatternFolds_v0.2.0_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +alloc_PatternFolds_v0.2.1_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.0_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.1_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +chairmark_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_PatternFolds_v0.2.0_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_PatternFolds_v0.2.1_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_PatternFolds_v0.2.2_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_PatternFolds_v0.2.3_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 +benchmark_PatternFolds_v0.2.4_patterns_intervals,36c9068f-2e67-410b-b8bb-d57c1b476f62 diff --git a/perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv b/perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv index c1d3156..9a9964a 100644 --- a/perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv +++ b/perf/PatternFolds/output/13136978-6b22-5cef-bec4-f5fb8e83194a.csv @@ -1,3555 +1,1001 @@ times,gctimes,bytes,allocs -0.000206941,0.0,137488.0,14.0 -0.00021091100000000001,0.0,137488.0,14.0 -0.00020028,0.0,137488.0,14.0 -0.000203045,0.0,137488.0,14.0 -0.00019416300000000002,0.0,137488.0,14.0 -0.000179263,0.0,137488.0,14.0 -0.000215679,0.0,137488.0,14.0 -0.000238828,0.0,137488.0,14.0 -0.000187397,0.0,137488.0,14.0 -0.000170583,0.0,137488.0,14.0 -0.00017194600000000002,0.0,137488.0,14.0 -0.00016664000000000002,0.0,137488.0,14.0 -0.00021886800000000002,0.0,137488.0,14.0 -0.000232997,0.0,137488.0,14.0 -0.00021264500000000002,0.0,137488.0,14.0 -0.000194322,0.0,137488.0,14.0 -0.00019634600000000002,0.0,137488.0,14.0 -0.024214866,0.0,137488.0,14.0 -0.000196324,0.0,137488.0,14.0 -0.00020783200000000003,0.0,137488.0,14.0 -0.000225631,0.0,137488.0,14.0 -0.000182327,0.0,137488.0,14.0 -0.00022746500000000002,0.0,137488.0,14.0 -0.000231517,0.0,137488.0,14.0 -0.000215541,0.0,137488.0,14.0 -0.000214059,0.0,137488.0,14.0 -0.000224953,0.0,137488.0,14.0 -0.00024078,0.0,137488.0,14.0 -0.000179351,0.0,137488.0,14.0 -0.00022928800000000002,0.0,137488.0,14.0 -0.00021417900000000002,0.0,137488.0,14.0 -0.00022408100000000003,0.0,137488.0,14.0 -0.00022653900000000002,0.0,137488.0,14.0 -0.00022520300000000002,0.0,137488.0,14.0 -0.000226531,0.0,137488.0,14.0 -0.00023543400000000002,0.0,137488.0,14.0 -0.00023130400000000002,0.0,137488.0,14.0 -0.00022959100000000002,0.0,137488.0,14.0 -0.00022616700000000002,0.0,137488.0,14.0 -0.000224968,0.0,137488.0,14.0 -0.00022460900000000002,0.0,137488.0,14.0 -0.000223212,0.0,137488.0,14.0 -0.00023558400000000003,0.0,137488.0,14.0 -0.00022686100000000002,0.0,137488.0,14.0 -0.000227695,0.0,137488.0,14.0 -0.000220726,0.0,137488.0,14.0 -0.00022438200000000002,0.0,137488.0,14.0 -0.00022004700000000002,0.0,137488.0,14.0 -0.000216201,0.0,137488.0,14.0 -0.000218984,0.0,137488.0,14.0 -0.000211515,0.0,137488.0,14.0 -0.00021832,0.0,137488.0,14.0 -0.00022100100000000002,0.0,137488.0,14.0 -0.00024518500000000003,0.0,137488.0,14.0 -0.00022941900000000002,0.0,137488.0,14.0 -0.000234841,0.0,137488.0,14.0 -0.00021649400000000002,0.0,137488.0,14.0 -0.00024257800000000002,0.0,137488.0,14.0 -0.00019934,0.0,137488.0,14.0 -0.000202181,0.0,137488.0,14.0 -0.000206464,0.0,137488.0,14.0 -0.000200255,0.0,137488.0,14.0 -0.000197636,0.0,137488.0,14.0 -0.00024200500000000003,0.0,137488.0,14.0 -0.000242457,0.0,137488.0,14.0 -0.00023004200000000002,0.0,137488.0,14.0 -0.000230186,0.0,137488.0,14.0 -0.000223603,0.0,137488.0,14.0 -0.000240145,0.0,137488.0,14.0 -0.00022297000000000001,0.0,137488.0,14.0 -0.000217757,0.0,137488.0,14.0 -0.028270671,0.0,137488.0,14.0 -0.000241704,0.0,137488.0,14.0 -0.00022948600000000002,0.0,137488.0,14.0 -0.000231408,0.0,137488.0,14.0 -0.00023154000000000002,0.0,137488.0,14.0 -0.00023269200000000003,0.0,137488.0,14.0 -0.00023258100000000001,0.0,137488.0,14.0 -0.00022976500000000002,0.0,137488.0,14.0 -0.000225593,0.0,137488.0,14.0 -0.000234929,0.0,137488.0,14.0 -0.00021981700000000003,0.0,137488.0,14.0 -0.000227325,0.0,137488.0,14.0 -0.00021910400000000002,0.0,137488.0,14.0 -0.00022860100000000002,0.0,137488.0,14.0 -0.000226545,0.0,137488.0,14.0 -0.00021747900000000002,0.0,137488.0,14.0 -0.00023394100000000002,0.0,137488.0,14.0 -0.00022456600000000002,0.0,137488.0,14.0 -0.00022961200000000002,0.0,137488.0,14.0 -0.000248461,0.0,137488.0,14.0 -0.000239122,0.0,137488.0,14.0 -0.000237707,0.0,137488.0,14.0 -0.00020263800000000002,0.0,137488.0,14.0 -0.000240222,0.0,137488.0,14.0 -0.000235295,0.0,137488.0,14.0 -0.000244061,0.0,137488.0,14.0 -0.00021783200000000002,0.0,137488.0,14.0 -0.000226841,0.0,137488.0,14.0 -0.00023054800000000002,0.0,137488.0,14.0 -0.00024079500000000003,0.0,137488.0,14.0 -0.000238592,0.0,137488.0,14.0 -0.000234001,0.0,137488.0,14.0 -0.000231415,0.0,137488.0,14.0 -0.00020590400000000003,0.0,137488.0,14.0 -0.000255324,0.0,137488.0,14.0 -0.000220924,0.0,137488.0,14.0 -0.000228769,0.0,137488.0,14.0 -0.000226628,0.0,137488.0,14.0 -0.000235087,0.0,137488.0,14.0 -0.00022242300000000002,0.0,137488.0,14.0 -0.000198533,0.0,137488.0,14.0 -0.000179459,0.0,137488.0,14.0 -0.000232009,0.0,137488.0,14.0 -0.00023225,0.0,137488.0,14.0 -0.00023487,0.0,137488.0,14.0 -0.00023190300000000002,0.0,137488.0,14.0 -0.000228394,0.0,137488.0,14.0 -0.00018581,0.0,137488.0,14.0 -0.000229203,0.0,137488.0,14.0 -0.000231425,0.0,137488.0,14.0 -0.000251907,0.0,137488.0,14.0 -0.00023010800000000003,0.0,137488.0,14.0 -0.02427703,0.0,137488.0,14.0 -0.00023856900000000003,0.0,137488.0,14.0 -0.000228952,0.0,137488.0,14.0 -0.00022864,0.0,137488.0,14.0 -0.00018575000000000002,0.0,137488.0,14.0 -0.00017444200000000002,0.0,137488.0,14.0 -0.00024236100000000002,0.0,137488.0,14.0 -0.0002324,0.0,137488.0,14.0 -0.000228375,0.0,137488.0,14.0 -0.00023262100000000002,0.0,137488.0,14.0 -0.00023382900000000001,0.0,137488.0,14.0 -0.00023110400000000002,0.0,137488.0,14.0 -0.00023915200000000002,0.0,137488.0,14.0 -0.00023152400000000001,0.0,137488.0,14.0 -0.000227478,0.0,137488.0,14.0 -0.00022614000000000003,0.0,137488.0,14.0 -0.000219175,0.0,137488.0,14.0 -0.00025437800000000004,0.0,137488.0,14.0 -0.00022083400000000002,0.0,137488.0,14.0 -0.00022405300000000002,0.0,137488.0,14.0 -0.00023841500000000001,0.0,137488.0,14.0 -0.000239678,0.0,137488.0,14.0 -0.00023078600000000002,0.0,137488.0,14.0 -0.000220551,0.0,137488.0,14.0 -0.000231381,0.0,137488.0,14.0 -0.00023158500000000003,0.0,137488.0,14.0 -0.00022478800000000002,0.0,137488.0,14.0 -0.000226722,0.0,137488.0,14.0 -0.00024128900000000003,0.0,137488.0,14.0 -0.000226688,0.0,137488.0,14.0 -0.000232574,0.0,137488.0,14.0 -0.00023531200000000003,0.0,137488.0,14.0 -0.00023925600000000003,0.0,137488.0,14.0 -0.00023211100000000001,0.0,137488.0,14.0 -0.000234173,0.0,137488.0,14.0 -0.00023297600000000003,0.0,137488.0,14.0 -0.00022366400000000002,0.0,137488.0,14.0 -0.000219864,0.0,137488.0,14.0 -0.00021629100000000002,0.0,137488.0,14.0 -0.00021055500000000002,0.0,137488.0,14.0 -0.00022148100000000002,0.0,137488.0,14.0 -0.00021819300000000002,0.0,137488.0,14.0 -0.000211704,0.0,137488.0,14.0 -0.000221651,0.0,137488.0,14.0 -0.000211327,0.0,137488.0,14.0 -0.00021999200000000002,0.0,137488.0,14.0 -0.00021973700000000001,0.0,137488.0,14.0 -0.000215634,0.0,137488.0,14.0 -0.00022560900000000001,0.0,137488.0,14.0 -0.000216824,0.0,137488.0,14.0 -0.000216526,0.0,137488.0,14.0 -0.00023494000000000002,0.0,137488.0,14.0 -0.000230713,0.0,137488.0,14.0 -0.000233119,0.0,137488.0,14.0 -0.000220174,0.0,137488.0,14.0 -0.00022239500000000001,0.0,137488.0,14.0 -0.000224877,0.0,137488.0,14.0 -0.000211038,0.0,137488.0,14.0 -0.000187455,0.0,137488.0,14.0 -0.00017917,0.0,137488.0,14.0 -0.00017084900000000002,0.0,137488.0,14.0 -0.000193128,0.0,137488.0,14.0 -0.000195044,0.0,137488.0,14.0 -0.000171812,0.0,137488.0,14.0 -0.00018375300000000001,0.0,137488.0,14.0 -0.000237449,0.0,137488.0,14.0 -0.00022976500000000002,0.0,137488.0,14.0 -0.000242219,0.0,137488.0,14.0 -0.00019926900000000002,0.0,137488.0,14.0 -0.00021290700000000003,0.0,137488.0,14.0 -0.00017697,0.0,137488.0,14.0 -0.00017374800000000002,0.0,137488.0,14.0 -0.016202328000000002,0.0,137488.0,14.0 -0.000196318,0.0,137488.0,14.0 -0.00023220100000000002,0.0,137488.0,14.0 -0.000185524,0.0,137488.0,14.0 -0.000172885,0.0,137488.0,14.0 -0.00022022100000000002,0.0,137488.0,14.0 -0.000244481,0.0,137488.0,14.0 -0.000233849,0.0,137488.0,14.0 -0.00023178,0.0,137488.0,14.0 -0.00023545600000000002,0.0,137488.0,14.0 -0.00018343000000000002,0.0,137488.0,14.0 -0.00020877300000000002,0.0,137488.0,14.0 -0.000308851,0.0,137488.0,14.0 -0.00028207700000000004,0.0,137488.0,14.0 -0.000287033,0.0,137488.0,14.0 -0.00028397700000000004,0.0,137488.0,14.0 -0.000286141,0.0,137488.0,14.0 -0.00029631300000000003,0.0,137488.0,14.0 -0.00029647,0.0,137488.0,14.0 -0.000282591,0.0,137488.0,14.0 -0.000283749,0.0,137488.0,14.0 -0.000279235,0.0,137488.0,14.0 -0.000296791,0.0,137488.0,14.0 -0.00028284,0.0,137488.0,14.0 -0.000286536,0.0,137488.0,14.0 -0.000284933,0.0,137488.0,14.0 -0.000296684,0.0,137488.0,14.0 -0.000278459,0.0,137488.0,14.0 -0.000290965,0.0,137488.0,14.0 -0.000288103,0.0,137488.0,14.0 -0.00031819300000000003,0.0,137488.0,14.0 -0.000296807,0.0,137488.0,14.0 -0.000285665,0.0,137488.0,14.0 -0.00028899300000000003,0.0,137488.0,14.0 -0.00029120000000000003,0.0,137488.0,14.0 -0.00027257100000000004,0.0,137488.0,14.0 -0.00028568100000000003,0.0,137488.0,14.0 -0.00028711400000000004,0.0,137488.0,14.0 -0.00029093200000000004,0.0,137488.0,14.0 -0.000284867,0.0,137488.0,14.0 -0.000283999,0.0,137488.0,14.0 -0.000277016,0.0,137488.0,14.0 -0.000285759,0.0,137488.0,14.0 -0.00028279600000000003,0.0,137488.0,14.0 -0.07824946,0.9951537940325722,137488.0,14.0 -0.00015495100000000001,0.0,137488.0,14.0 -0.0001552,0.0,137488.0,14.0 -0.00015246700000000002,0.0,137488.0,14.0 -0.00016191800000000002,0.0,137488.0,14.0 -0.000154257,0.0,137488.0,14.0 -0.000165407,0.0,137488.0,14.0 -0.000152291,0.0,137488.0,14.0 -0.00014994500000000002,0.0,137488.0,14.0 -0.000164544,0.0,137488.0,14.0 -0.00015397700000000002,0.0,137488.0,14.0 -0.000161402,0.0,137488.0,14.0 -0.00015844,0.0,137488.0,14.0 -0.000170884,0.0,137488.0,14.0 -0.00015563100000000001,0.0,137488.0,14.0 -0.00015224000000000002,0.0,137488.0,14.0 -0.000157794,0.0,137488.0,14.0 -0.00015809,0.0,137488.0,14.0 -0.000158949,0.0,137488.0,14.0 -0.00016395100000000002,0.0,137488.0,14.0 -0.000156272,0.0,137488.0,14.0 -0.000151957,0.0,137488.0,14.0 -0.000151786,0.0,137488.0,14.0 -0.000151564,0.0,137488.0,14.0 -0.000153914,0.0,137488.0,14.0 -0.000159691,0.0,137488.0,14.0 -0.00015893,0.0,137488.0,14.0 -0.000150969,0.0,137488.0,14.0 -0.000166112,0.0,137488.0,14.0 -0.00016135200000000002,0.0,137488.0,14.0 -0.00015336,0.0,137488.0,14.0 -0.00016210200000000001,0.0,137488.0,14.0 -0.00015214500000000001,0.0,137488.0,14.0 -0.000158431,0.0,137488.0,14.0 -0.00015759200000000002,0.0,137488.0,14.0 -0.00015314200000000002,0.0,137488.0,14.0 -0.000154343,0.0,137488.0,14.0 -0.000155686,0.0,137488.0,14.0 -0.000170447,0.0,137488.0,14.0 -0.000158523,0.0,137488.0,14.0 -0.00015489300000000002,0.0,137488.0,14.0 -0.00015941500000000002,0.0,137488.0,14.0 -0.000154369,0.0,137488.0,14.0 -0.000155698,0.0,137488.0,14.0 -0.000155498,0.0,137488.0,14.0 +0.0002076117,0.0,137488.0,14.0 +0.0002155119,0.0,137488.0,14.0 +0.0002286832,0.0,137488.0,14.0 +0.00023237400000000004,0.0,137488.0,14.0 +0.0003008601,0.0,137488.0,14.0 +0.00023876230000000002,0.0,137488.0,14.0 +0.00023984830000000002,0.0,137488.0,14.0 +0.0002333047,0.0,137488.0,14.0 +0.00023414210000000002,0.0,137488.0,14.0 +0.00024388120000000003,0.0,137488.0,14.0 +0.0002449374,0.0,137488.0,14.0 +0.0002440095,0.0,137488.0,14.0 +0.00023447800000000004,0.0,137488.0,14.0 +0.00023435630000000004,0.0,137488.0,14.0 +0.00021853650000000003,0.0,137488.0,14.0 +0.0001792409,0.0,137488.0,14.0 +0.00015000900000000002,0.0,137488.0,14.0 +0.0001505856,0.0,137488.0,14.0 +0.0001448184,0.0,137488.0,14.0 +0.0001804741,0.0,137488.0,14.0 +0.0016504698000000002,0.9054289269637045,137488.0,14.0 +9.16709e-5,0.0,137488.0,14.0 +9.283850000000002e-5,0.0,137488.0,14.0 +9.61988e-5,0.0,137488.0,14.0 +9.714890000000001e-5,0.0,137488.0,14.0 +9.036410000000001e-5,0.0,137488.0,14.0 +9.279080000000001e-5,0.0,137488.0,14.0 +9.295040000000001e-5,0.0,137488.0,14.0 +9.25725e-5,0.0,137488.0,14.0 +9.057080000000001e-5,0.0,137488.0,14.0 +8.940590000000001e-5,0.0,137488.0,14.0 +8.94616e-5,0.0,137488.0,14.0 +9.423560000000001e-5,0.0,137488.0,14.0 +9.30775e-5,0.0,137488.0,14.0 +9.15723e-5,0.0,137488.0,14.0 +9.25577e-5,0.0,137488.0,14.0 +9.4283e-5,0.0,137488.0,14.0 +9.119520000000001e-5,0.0,137488.0,14.0 +8.86336e-5,0.0,137488.0,14.0 +8.9804e-5,0.0,137488.0,14.0 +8.75089e-5,0.0,137488.0,14.0 +0.00015818050000000001,0.0,137488.0,14.0 +0.0001719405,0.0,137488.0,14.0 +0.00017614490000000002,0.0,137488.0,14.0 +0.0001729698,0.0,137488.0,14.0 +0.00018917,0.0,137488.0,14.0 +0.00019178820000000001,0.0,137488.0,14.0 +0.00019580310000000002,0.0,137488.0,14.0 +0.0001954107,0.0,137488.0,14.0 +0.0001846668,0.0,137488.0,14.0 +0.00019011590000000001,0.0,137488.0,14.0 +0.00018646140000000002,0.0,137488.0,14.0 +0.0001762356,0.0,137488.0,14.0 +0.00018067890000000002,0.0,137488.0,14.0 +9.936490000000001e-5,0.0,137488.0,14.0 +9.396690000000001e-5,0.0,137488.0,14.0 +8.859590000000001e-5,0.0,137488.0,14.0 +8.99942e-5,0.0,137488.0,14.0 +9.755440000000001e-5,0.0,137488.0,14.0 +9.980400000000002e-5,0.0,137488.0,14.0 +9.296200000000001e-5,0.0,137488.0,14.0 +9.21186e-5,0.0,137488.0,14.0 +9.43669e-5,0.0,137488.0,14.0 +9.135250000000001e-5,0.0,137488.0,14.0 +9.207780000000001e-5,0.0,137488.0,14.0 +9.332400000000002e-5,0.0,137488.0,14.0 +9.09463e-5,0.0,137488.0,14.0 +9.67622e-5,0.0,137488.0,14.0 +9.06267e-5,0.0,137488.0,14.0 +8.922670000000001e-5,0.0,137488.0,14.0 +8.782000000000001e-5,0.0,137488.0,14.0 +9.827310000000002e-5,0.0,137488.0,14.0 +9.55498e-5,0.0,137488.0,14.0 +0.0001616986,0.0,137488.0,14.0 +0.00017620110000000002,0.0,137488.0,14.0 +0.00016790270000000001,0.0,137488.0,14.0 +0.0002029187,0.0,137488.0,14.0 +0.0002007857,0.0,137488.0,14.0 +0.00018489950000000001,0.0,137488.0,14.0 +0.00018400810000000002,0.0,137488.0,14.0 +0.0001691223,0.0,137488.0,14.0 +0.0001747241,0.0,137488.0,14.0 +0.0001841708,0.0,137488.0,14.0 +0.00019252020000000002,0.0,137488.0,14.0 +0.00017210690000000003,0.0,137488.0,14.0 +0.0001790468,0.0,137488.0,14.0 +0.00017471350000000001,0.0,137488.0,14.0 +0.00021703410000000002,0.4055159995595162,137488.0,14.0 +9.32405e-5,0.0,137488.0,14.0 +9.11265e-5,0.0,137488.0,14.0 +8.859030000000001e-5,0.0,137488.0,14.0 +9.4568e-5,0.0,137488.0,14.0 +9.3391e-5,0.0,137488.0,14.0 +8.973760000000001e-5,0.0,137488.0,14.0 +9.20452e-5,0.0,137488.0,14.0 +9.088410000000001e-5,0.0,137488.0,14.0 +9.18491e-5,0.0,137488.0,14.0 +8.999910000000001e-5,0.0,137488.0,14.0 +8.838940000000001e-5,0.0,137488.0,14.0 +8.985400000000001e-5,0.0,137488.0,14.0 +9.417710000000001e-5,0.0,137488.0,14.0 +9.097450000000001e-5,0.0,137488.0,14.0 +8.81343e-5,0.0,137488.0,14.0 +8.889440000000001e-5,0.0,137488.0,14.0 +9.39308e-5,0.0,137488.0,14.0 +9.21374e-5,0.0,137488.0,14.0 +8.92961e-5,0.0,137488.0,14.0 +8.841550000000001e-5,0.0,137488.0,14.0 +8.85009e-5,0.0,137488.0,14.0 +9.251330000000001e-5,0.0,137488.0,14.0 +8.94523e-5,0.0,137488.0,14.0 +8.731380000000001e-5,0.0,137488.0,14.0 +8.67184e-5,0.0,137488.0,14.0 +8.833710000000001e-5,0.0,137488.0,14.0 +8.761580000000001e-5,0.0,137488.0,14.0 +8.725320000000001e-5,0.0,137488.0,14.0 +8.583790000000001e-5,0.0,137488.0,14.0 +8.65149e-5,0.0,137488.0,14.0 +8.73725e-5,0.0,137488.0,14.0 +8.61916e-5,0.0,137488.0,14.0 +0.00017355010000000002,0.45731463133700295,137488.0,14.0 +9.30073e-5,0.0,137488.0,14.0 +9.238430000000001e-5,0.0,137488.0,14.0 +9.013090000000001e-5,0.0,137488.0,14.0 +8.984860000000001e-5,0.0,137488.0,14.0 +8.938230000000001e-5,0.0,137488.0,14.0 +9.275200000000001e-5,0.0,137488.0,14.0 +9.28292e-5,0.0,137488.0,14.0 +9.21599e-5,0.0,137488.0,14.0 +9.25868e-5,0.0,137488.0,14.0 +9.32192e-5,0.0,137488.0,14.0 +9.23269e-5,0.0,137488.0,14.0 +9.03872e-5,0.0,137488.0,14.0 +0.0001023023,0.0,137488.0,14.0 +0.0001236364,0.0,137488.0,14.0 +0.000159708,0.0,137488.0,14.0 +0.000160692,0.0,137488.0,14.0 +0.00017061810000000002,0.0,137488.0,14.0 +0.00016948640000000002,0.0,137488.0,14.0 +0.00016768340000000001,0.0,137488.0,14.0 +0.00016274060000000002,0.0,137488.0,14.0 +0.0001620802,0.0,137488.0,14.0 +0.0001617867,0.0,137488.0,14.0 +0.00016112390000000003,0.0,137488.0,14.0 +0.0001707389,0.0,137488.0,14.0 +0.0001722027,0.0,137488.0,14.0 +0.0001698602,0.0,137488.0,14.0 +0.00015975710000000002,0.0,137488.0,14.0 +0.0001613967,0.0,137488.0,14.0 +0.00015858270000000002,0.0,137488.0,14.0 +0.0001574681,0.0,137488.0,14.0 +0.0001606984,0.0,137488.0,14.0 +0.000158813,0.0,137488.0,14.0 +0.00016348690000000002,0.0,137488.0,14.0 +0.0005617570000000001,0.6778446908538746,137488.0,14.0 +0.00016611030000000001,0.0,137488.0,14.0 +0.00016494370000000002,0.0,137488.0,14.0 +0.00016347760000000002,0.0,137488.0,14.0 +0.00016221600000000002,0.0,137488.0,14.0 +0.00016603290000000002,0.0,137488.0,14.0 +0.0001632533,0.0,137488.0,14.0 +0.00017123680000000001,0.0,137488.0,14.0 +0.0001718974,0.0,137488.0,14.0 +0.00017243720000000002,0.0,137488.0,14.0 +0.0001634664,0.0,137488.0,14.0 +0.000165414,0.0,137488.0,14.0 +0.00016427690000000002,0.0,137488.0,14.0 +0.0001643808,0.0,137488.0,14.0 +0.0001614505,0.0,137488.0,14.0 +0.00015769580000000002,0.0,137488.0,14.0 +0.000159942,0.0,137488.0,14.0 +0.0001674035,0.0,137488.0,14.0 +0.0001678666,0.0,137488.0,14.0 +0.0002532292,0.0,137488.0,14.0 +0.0002737442,0.0,137488.0,14.0 +0.000268114,0.0,137488.0,14.0 +0.0002739365,0.0,137488.0,14.0 +0.0002772094,0.0,137488.0,14.0 +0.0002738688,0.0,137488.0,14.0 +0.0002745286,0.0,137488.0,14.0 +0.0002803752,0.0,137488.0,14.0 +0.0002817712,0.0,137488.0,14.0 +0.00028823010000000003,0.0,137488.0,14.0 +0.0002859828,0.0,137488.0,14.0 +0.0002842158,0.0,137488.0,14.0 +0.0003018092,0.0,137488.0,14.0 +0.000278769,0.0,137488.0,14.0 +0.00037056740000000006,0.36385742512698094,137488.0,14.0 +0.0001715688,0.0,137488.0,14.0 +0.00016849600000000002,0.0,137488.0,14.0 +0.0001626723,0.0,137488.0,14.0 +0.00016877960000000002,0.0,137488.0,14.0 +0.00017258990000000002,0.0,137488.0,14.0 +0.00017512040000000002,0.0,137488.0,14.0 +0.00017317150000000002,0.0,137488.0,14.0 +0.00017868150000000001,0.0,137488.0,14.0 +0.0001774062,0.0,137488.0,14.0 +0.00017468700000000003,0.0,137488.0,14.0 +0.00017328740000000002,0.0,137488.0,14.0 +0.00016596500000000001,0.0,137488.0,14.0 +0.0001690773,0.0,137488.0,14.0 +0.0001641218,0.0,137488.0,14.0 +0.0001664662,0.0,137488.0,14.0 +0.0021752126,0.0,137488.0,14.0 +0.0001708401,0.0,137488.0,14.0 +0.000174388,0.0,137488.0,14.0 +0.00016854630000000002,0.0,137488.0,14.0 +0.0001690056,0.0,137488.0,14.0 +0.0001663403,0.0,137488.0,14.0 +0.0001650987,0.0,137488.0,14.0 +0.0001685695,0.0,137488.0,14.0 +0.0001719694,0.0,137488.0,14.0 +0.0017719071,0.0,137488.0,14.0 +0.0001725188,0.0,137488.0,14.0 +0.0001733903,0.0,137488.0,14.0 +0.0001681725,0.0,137488.0,14.0 +0.0001665634,0.0,137488.0,14.0 +0.00016772060000000002,0.0,137488.0,14.0 +0.00016698020000000002,0.0,137488.0,14.0 +0.00017640300000000003,0.0,137488.0,14.0 +0.001976636,0.06769612614563329,137488.0,14.0 +0.0001939182,0.0,137488.0,14.0 +0.0001728571,0.0,137488.0,14.0 +0.0001652369,0.0,137488.0,14.0 +0.0001642103,0.0,137488.0,14.0 +0.0001668914,0.0,137488.0,14.0 +0.0001696337,0.0,137488.0,14.0 +0.00017315480000000002,0.0,137488.0,14.0 +0.000164813,0.0,137488.0,14.0 +0.0001739461,0.0,137488.0,14.0 +0.0014338253,0.0,137488.0,14.0 +0.0001731427,0.0,137488.0,14.0 +0.0001974543,0.0,137488.0,14.0 +0.0001710944,0.0,137488.0,14.0 +0.0001708217,0.0,137488.0,14.0 +0.000165715,0.0,137488.0,14.0 +0.0001674117,0.0,137488.0,14.0 +0.0001655678,0.0,137488.0,14.0 +0.000163685,0.0,137488.0,14.0 +0.0017768128,0.0,137488.0,14.0 +0.00017044330000000002,0.0,137488.0,14.0 +0.000170647,0.0,137488.0,14.0 +0.00016928230000000003,0.0,137488.0,14.0 +0.00016770910000000002,0.0,137488.0,14.0 +0.00017068830000000002,0.0,137488.0,14.0 +0.00016453860000000003,0.0,137488.0,14.0 +0.00016344340000000001,0.0,137488.0,14.0 +0.00016272700000000002,0.0,137488.0,14.0 +0.0017717214000000001,0.0,137488.0,14.0 +0.00016769540000000001,0.0,137488.0,14.0 +0.0001714219,0.0,137488.0,14.0 +0.00016957670000000003,0.0,137488.0,14.0 +0.00016768970000000002,0.0,137488.0,14.0 +0.00016616430000000002,0.0,137488.0,14.0 +0.0020992273,0.9101556558453675,137488.0,14.0 +0.00017294090000000002,0.0,137488.0,14.0 +0.00017036520000000003,0.0,137488.0,14.0 +0.00017170000000000003,0.0,137488.0,14.0 +0.00017139730000000002,0.0,137488.0,14.0 +0.0001681366,0.0,137488.0,14.0 +0.00016986140000000002,0.0,137488.0,14.0 +0.0001630609,0.0,137488.0,14.0 +0.00016440600000000002,0.0,137488.0,14.0 +0.0017750039000000001,0.0,137488.0,14.0 +0.0001719583,0.0,137488.0,14.0 +0.0001732123,0.0,137488.0,14.0 +0.0001717201,0.0,137488.0,14.0 +0.00017526610000000002,0.0,137488.0,14.0 +0.0001694113,0.0,137488.0,14.0 +0.00016875750000000002,0.0,137488.0,14.0 +0.0001683868,0.0,137488.0,14.0 +0.00016478690000000003,0.0,137488.0,14.0 +0.0017711919,0.0,137488.0,14.0 +0.0002452215,0.0,137488.0,14.0 +0.0002829899,0.0,137488.0,14.0 +0.0002801272,0.0,137488.0,14.0 +0.0002772512,0.0,137488.0,14.0 +0.0002834375,0.0,137488.0,14.0 +0.0018836647000000002,0.0,137488.0,14.0 +0.0002805226,0.0,137488.0,14.0 +0.0002823055,0.0,137488.0,14.0 +0.000280494,0.0,137488.0,14.0 +0.00028355480000000005,0.0,137488.0,14.0 +0.00028346320000000003,0.0,137488.0,14.0 +0.0018897356,0.0,137488.0,14.0 +0.0002870761,0.0,137488.0,14.0 +0.00028609070000000004,0.0,137488.0,14.0 +0.0003841288,0.3464111516762086,137488.0,14.0 +0.00016842390000000002,0.0,137488.0,14.0 +0.00017195490000000002,0.0,137488.0,14.0 +0.0017730022000000002,0.0,137488.0,14.0 +0.0001686425,0.0,137488.0,14.0 +0.00017070450000000002,0.0,137488.0,14.0 +0.00017304200000000001,0.0,137488.0,14.0 +0.00017536610000000002,0.0,137488.0,14.0 +0.000167792,0.0,137488.0,14.0 +0.0001695725,0.0,137488.0,14.0 +0.0001719449,0.0,137488.0,14.0 +0.0001697696,0.0,137488.0,14.0 +0.0004616533,0.0,137488.0,14.0 +0.00016301120000000003,0.0,137488.0,14.0 +0.0001553628,0.0,137488.0,14.0 +0.000156918,0.0,137488.0,14.0 +0.00015836160000000003,0.0,137488.0,14.0 +0.000156118,0.0,137488.0,14.0 +0.0001578964,0.0,137488.0,14.0 +0.0001651973,0.0,137488.0,14.0 +0.0001582753,0.0,137488.0,14.0 +0.0001574687,0.0,137488.0,14.0 +0.00015566830000000002,0.0,137488.0,14.0 +0.00015891520000000002,0.0,137488.0,14.0 +0.00015742080000000002,0.0,137488.0,14.0 +0.0001578009,0.0,137488.0,14.0 +0.0001574997,0.0,137488.0,14.0 +0.0001571225,0.0,137488.0,14.0 +0.00015627620000000002,0.0,137488.0,14.0 +0.0001545677,0.0,137488.0,14.0 +0.00015633890000000002,0.0,137488.0,14.0 +0.0001586638,0.0,137488.0,14.0 +0.00015712290000000003,0.0,137488.0,14.0 +0.00031063140000000004,0.4416362930470004,137488.0,14.0 +0.0001591163,0.0,137488.0,14.0 +0.00016116910000000002,0.0,137488.0,14.0 +0.0001554824,0.0,137488.0,14.0 +0.0001577329,0.0,137488.0,14.0 +0.0001558095,0.0,137488.0,14.0 +0.0001573975,0.0,137488.0,14.0 +0.0001617904,0.0,137488.0,14.0 +0.00015422,0.0,137488.0,14.0 +0.0001583236,0.0,137488.0,14.0 +0.0001566201,0.0,137488.0,14.0 +0.0001598849,0.0,137488.0,14.0 +0.00016542310000000003,0.0,137488.0,14.0 +0.0001600093,0.0,137488.0,14.0 +0.0001578223,0.0,137488.0,14.0 +0.0001541268,0.0,137488.0,14.0 +0.0001559913,0.0,137488.0,14.0 +0.00015729010000000001,0.0,137488.0,14.0 +0.0001548424,0.0,137488.0,14.0 +0.0001605819,0.0,137488.0,14.0 +0.0001550028,0.0,137488.0,14.0 +0.0001575609,0.0,137488.0,14.0 +0.0001557331,0.0,137488.0,14.0 +0.00015424820000000002,0.0,137488.0,14.0 +0.00016346300000000003,0.0,137488.0,14.0 +0.0001605699,0.0,137488.0,14.0 +0.00015535170000000002,0.0,137488.0,14.0 +0.0001589055,0.0,137488.0,14.0 +0.00015768850000000002,0.0,137488.0,14.0 +0.000156071,0.0,137488.0,14.0 +0.0001574553,0.0,137488.0,14.0 +0.00015431800000000002,0.0,137488.0,14.0 +0.00015765750000000002,0.0,137488.0,14.0 +0.0001544936,0.0,137488.0,14.0 +0.0005531445,0.69089885192748,137488.0,14.0 +0.00016112490000000002,0.0,137488.0,14.0 +0.00015547690000000002,0.0,137488.0,14.0 +0.0001574525,0.0,137488.0,14.0 0.000156524,0.0,137488.0,14.0 -0.000156636,0.0,137488.0,14.0 -0.000155059,0.0,137488.0,14.0 -0.00014979700000000002,0.0,137488.0,14.0 -0.00015908,0.0,137488.0,14.0 -0.000158552,0.0,137488.0,14.0 -0.000147608,0.0,137488.0,14.0 -0.00015477,0.0,137488.0,14.0 -0.00015561900000000002,0.0,137488.0,14.0 -0.00015080100000000002,0.0,137488.0,14.0 -0.000153749,0.0,137488.0,14.0 -0.00015462400000000002,0.0,137488.0,14.0 -0.00015550900000000002,0.0,137488.0,14.0 -0.00015897,0.0,137488.0,14.0 -0.00015317800000000002,0.0,137488.0,14.0 -0.000161812,0.0,137488.0,14.0 -0.000156419,0.0,137488.0,14.0 -0.00015643000000000002,0.0,137488.0,14.0 -0.00015086300000000002,0.0,137488.0,14.0 -0.00016984000000000001,0.0,137488.0,14.0 -0.000149343,0.0,137488.0,14.0 -0.000156211,0.0,137488.0,14.0 -0.00015565200000000002,0.0,137488.0,14.0 -0.000162274,0.0,137488.0,14.0 -0.000160733,0.0,137488.0,14.0 -0.000149648,0.0,137488.0,14.0 -0.000156916,0.0,137488.0,14.0 -0.000155086,0.0,137488.0,14.0 -0.00016889200000000002,0.0,137488.0,14.0 -0.000152452,0.0,137488.0,14.0 -0.000151277,0.0,137488.0,14.0 -0.00015348800000000002,0.0,137488.0,14.0 -0.00015241400000000002,0.0,137488.0,14.0 -0.000156371,0.0,137488.0,14.0 -0.000152487,0.0,137488.0,14.0 -0.000159352,0.0,137488.0,14.0 -0.000158498,0.0,137488.0,14.0 -0.000160927,0.0,137488.0,14.0 -0.00015975,0.0,137488.0,14.0 -0.00015306800000000002,0.0,137488.0,14.0 -0.000161019,0.0,137488.0,14.0 -0.00015649900000000002,0.0,137488.0,14.0 -0.000155434,0.0,137488.0,14.0 -0.000157677,0.0,137488.0,14.0 -0.000180915,0.0,137488.0,14.0 -0.000167872,0.0,137488.0,14.0 -0.000156422,0.0,137488.0,14.0 -0.00015187000000000002,0.0,137488.0,14.0 -0.000166508,0.0,137488.0,14.0 -0.00016309,0.0,137488.0,14.0 -0.00015672600000000002,0.0,137488.0,14.0 -0.00015497200000000002,0.0,137488.0,14.0 -0.000153246,0.0,137488.0,14.0 -0.000154971,0.0,137488.0,14.0 -0.00015610100000000002,0.0,137488.0,14.0 -0.00015576400000000002,0.0,137488.0,14.0 -0.000160643,0.0,137488.0,14.0 -0.00015313000000000002,0.0,137488.0,14.0 -0.000162391,0.0,137488.0,14.0 -0.000159748,0.0,137488.0,14.0 -0.00015205200000000001,0.0,137488.0,14.0 -0.000152928,0.0,137488.0,14.0 -0.00016125700000000002,0.0,137488.0,14.0 -0.000158974,0.0,137488.0,14.0 -0.000161638,0.0,137488.0,14.0 -0.000160266,0.0,137488.0,14.0 -0.000161857,0.0,137488.0,14.0 -0.000149869,0.0,137488.0,14.0 -0.00015925500000000002,0.0,137488.0,14.0 -0.000164635,0.0,137488.0,14.0 -0.000149462,0.0,137488.0,14.0 -0.00015127,0.0,137488.0,14.0 -0.00015487400000000002,0.0,137488.0,14.0 -0.00015625800000000002,0.0,137488.0,14.0 -0.00016298000000000002,0.0,137488.0,14.0 -0.00015849900000000002,0.0,137488.0,14.0 -0.00015917600000000002,0.0,137488.0,14.0 -0.000148338,0.0,137488.0,14.0 -0.00015507200000000002,0.0,137488.0,14.0 -0.00015003100000000001,0.0,137488.0,14.0 -0.00015839,0.0,137488.0,14.0 -0.000152236,0.0,137488.0,14.0 -0.000154649,0.0,137488.0,14.0 -0.00015040800000000001,0.0,137488.0,14.0 -0.00015551100000000002,0.0,137488.0,14.0 -0.00015208700000000002,0.0,137488.0,14.0 -0.000151029,0.0,137488.0,14.0 -0.00016302300000000001,0.0,137488.0,14.0 -0.000165391,0.0,137488.0,14.0 -0.000153678,0.0,137488.0,14.0 -0.00015899700000000002,0.0,137488.0,14.0 -0.000170659,0.0,137488.0,14.0 -0.000146717,0.0,137488.0,14.0 -0.000156099,0.0,137488.0,14.0 -0.000156057,0.0,137488.0,14.0 -0.000171131,0.0,137488.0,14.0 -0.00014996600000000002,0.0,137488.0,14.0 -0.000154088,0.0,137488.0,14.0 -0.00016522500000000002,0.0,137488.0,14.0 -0.00015329500000000002,0.0,137488.0,14.0 -0.000151087,0.0,137488.0,14.0 -0.000152146,0.0,137488.0,14.0 -0.000155913,0.0,137488.0,14.0 -0.000160017,0.0,137488.0,14.0 -0.000154885,0.0,137488.0,14.0 -0.00015398400000000002,0.0,137488.0,14.0 -0.000150829,0.0,137488.0,14.0 -0.000152921,0.0,137488.0,14.0 -0.00014953700000000002,0.0,137488.0,14.0 -0.00015582600000000002,0.0,137488.0,14.0 -0.00015650900000000002,0.0,137488.0,14.0 -0.00015091800000000002,0.0,137488.0,14.0 -0.000152905,0.0,137488.0,14.0 -0.000152826,0.0,137488.0,14.0 -0.000151728,0.0,137488.0,14.0 -0.00014562800000000002,0.0,137488.0,14.0 -0.00016542300000000002,0.0,137488.0,14.0 -0.00014773800000000001,0.0,137488.0,14.0 -0.00015163200000000001,0.0,137488.0,14.0 -0.000162379,0.0,137488.0,14.0 -0.000167015,0.0,137488.0,14.0 -0.000164102,0.0,137488.0,14.0 -0.00015444700000000002,0.0,137488.0,14.0 -0.00014613200000000002,0.0,137488.0,14.0 -0.000163394,0.0,137488.0,14.0 -0.00015055800000000002,0.0,137488.0,14.0 -0.000148473,0.0,137488.0,14.0 -0.00015805000000000002,0.0,137488.0,14.0 -0.000155766,0.0,137488.0,14.0 -0.00015537,0.0,137488.0,14.0 -0.000155379,0.0,137488.0,14.0 -0.00014960100000000002,0.0,137488.0,14.0 -0.00016401,0.0,137488.0,14.0 -0.00015348800000000002,0.0,137488.0,14.0 -0.00015113300000000002,0.0,137488.0,14.0 -0.00015913300000000002,0.0,137488.0,14.0 -0.00016211600000000002,0.0,137488.0,14.0 -0.00016295,0.0,137488.0,14.0 -0.000164021,0.0,137488.0,14.0 -0.000149416,0.0,137488.0,14.0 -0.0001572,0.0,137488.0,14.0 -0.00016085100000000002,0.0,137488.0,14.0 -0.000150204,0.0,137488.0,14.0 -0.000154437,0.0,137488.0,14.0 -0.00016309900000000002,0.0,137488.0,14.0 -0.00015497700000000002,0.0,137488.0,14.0 -0.00017717700000000001,0.0,137488.0,14.0 -0.00014826700000000002,0.0,137488.0,14.0 -0.00014916200000000002,0.0,137488.0,14.0 -0.00015188500000000001,0.0,137488.0,14.0 -0.00015227600000000002,0.0,137488.0,14.0 -0.000152423,0.0,137488.0,14.0 -0.00015463800000000002,0.0,137488.0,14.0 -0.00015215700000000001,0.0,137488.0,14.0 -0.000166858,0.0,137488.0,14.0 -0.00015168900000000002,0.0,137488.0,14.0 -0.000151306,0.0,137488.0,14.0 -0.00015725100000000002,0.0,137488.0,14.0 -0.00015353,0.0,137488.0,14.0 -0.000153961,0.0,137488.0,14.0 -0.00015614,0.0,137488.0,14.0 -0.00014766600000000002,0.0,137488.0,14.0 -0.000152804,0.0,137488.0,14.0 -0.000162673,0.0,137488.0,14.0 -0.000146696,0.0,137488.0,14.0 -0.000152985,0.0,137488.0,14.0 -0.000166209,0.0,137488.0,14.0 -0.00015030000000000002,0.0,137488.0,14.0 -0.000156923,0.0,137488.0,14.0 -0.00015578100000000002,0.0,137488.0,14.0 -0.000148015,0.0,137488.0,14.0 -0.00016716000000000002,0.0,137488.0,14.0 -0.000152864,0.0,137488.0,14.0 -0.000149299,0.0,137488.0,14.0 -0.000160609,0.0,137488.0,14.0 -0.000153883,0.0,137488.0,14.0 -0.00015687,0.0,137488.0,14.0 -0.000155202,0.0,137488.0,14.0 -0.000150641,0.0,137488.0,14.0 -0.00015570200000000002,0.0,137488.0,14.0 -0.000146648,0.0,137488.0,14.0 -0.00015379800000000002,0.0,137488.0,14.0 -0.000163752,0.0,137488.0,14.0 -0.00016036000000000002,0.0,137488.0,14.0 -0.000156648,0.0,137488.0,14.0 -0.00016486900000000002,0.0,137488.0,14.0 -0.00014772100000000002,0.0,137488.0,14.0 -0.000156737,0.0,137488.0,14.0 -0.00014835600000000001,0.0,137488.0,14.0 -0.00015081300000000002,0.0,137488.0,14.0 -0.000167904,0.0,137488.0,14.0 -0.00014965100000000002,0.0,137488.0,14.0 -0.000153654,0.0,137488.0,14.0 -0.000153928,0.0,137488.0,14.0 -0.000212181,0.0,137488.0,14.0 -0.000286856,0.0,137488.0,14.0 -0.000282453,0.0,137488.0,14.0 -0.00026813,0.0,137488.0,14.0 -0.000281802,0.0,137488.0,14.0 -0.000265931,0.0,137488.0,14.0 -0.00027779400000000004,0.0,137488.0,14.0 -0.000261106,0.0,137488.0,14.0 -0.000274677,0.0,137488.0,14.0 -0.000272855,0.0,137488.0,14.0 -0.00027032200000000003,0.0,137488.0,14.0 -0.000276149,0.0,137488.0,14.0 -0.000270096,0.0,137488.0,14.0 -0.00027147,0.0,137488.0,14.0 -0.00027781800000000004,0.0,137488.0,14.0 -0.00026384900000000003,0.0,137488.0,14.0 -0.000295756,0.0,137488.0,14.0 -0.000271177,0.0,137488.0,14.0 -0.000275199,0.0,137488.0,14.0 -0.000273379,0.0,137488.0,14.0 -0.00030059,0.0,137488.0,14.0 -0.00027223300000000003,0.0,137488.0,14.0 -0.00028295400000000003,0.0,137488.0,14.0 -0.000269619,0.0,137488.0,14.0 -0.00027863000000000003,0.0,137488.0,14.0 -0.000272203,0.0,137488.0,14.0 -0.000273995,0.0,137488.0,14.0 -0.00027142100000000004,0.0,137488.0,14.0 -0.00028103700000000004,0.0,137488.0,14.0 -0.000268894,0.0,137488.0,14.0 -0.000348951,0.0,137488.0,14.0 -0.00026688,0.0,137488.0,14.0 -0.000297954,0.0,137488.0,14.0 -0.000263983,0.0,137488.0,14.0 -0.000276845,0.0,137488.0,14.0 -0.000267245,0.0,137488.0,14.0 -0.00028369800000000003,0.0,137488.0,14.0 -0.000274331,0.0,137488.0,14.0 -0.000281277,0.0,137488.0,14.0 -0.000273585,0.0,137488.0,14.0 -0.000294033,0.0,137488.0,14.0 -0.000273606,0.0,137488.0,14.0 -0.000284806,0.0,137488.0,14.0 -0.0002874,0.0,137488.0,14.0 -0.000272003,0.0,137488.0,14.0 -0.000299765,0.0,137488.0,14.0 -0.000273984,0.0,137488.0,14.0 -0.00028101300000000004,0.0,137488.0,14.0 -0.000272017,0.0,137488.0,14.0 -0.00028339500000000003,0.0,137488.0,14.0 -0.00026831200000000004,0.0,137488.0,14.0 -0.00028556400000000003,0.0,137488.0,14.0 -0.000268803,0.0,137488.0,14.0 -0.0004932970000000001,0.0,137488.0,14.0 -0.00027236000000000003,0.0,137488.0,14.0 -0.000286238,0.0,137488.0,14.0 -0.000269476,0.0,137488.0,14.0 -0.000288317,0.0,137488.0,14.0 -0.000294552,0.0,137488.0,14.0 -0.000274367,0.0,137488.0,14.0 -0.00028317100000000003,0.0,137488.0,14.0 -0.000276401,0.0,137488.0,14.0 -0.000307846,0.0,137488.0,14.0 -0.000263019,0.0,137488.0,14.0 -0.000281764,0.0,137488.0,14.0 -0.000280102,0.0,137488.0,14.0 -0.000280963,0.0,137488.0,14.0 -0.000277985,0.0,137488.0,14.0 -0.000276169,0.0,137488.0,14.0 -0.000272795,0.0,137488.0,14.0 -0.000284333,0.0,137488.0,14.0 -0.000268691,0.0,137488.0,14.0 -0.000406762,0.0,137488.0,14.0 -0.00028756,0.0,137488.0,14.0 -0.00026584000000000004,0.0,137488.0,14.0 -0.000296023,0.0,137488.0,14.0 -0.00026818800000000004,0.0,137488.0,14.0 -0.000283439,0.0,137488.0,14.0 -0.000275027,0.0,137488.0,14.0 -0.00028732700000000004,0.0,137488.0,14.0 -0.00027535,0.0,137488.0,14.0 -0.000278941,0.0,137488.0,14.0 -0.000274283,0.0,137488.0,14.0 -0.00028160100000000003,0.0,137488.0,14.0 -0.000269309,0.0,137488.0,14.0 -0.000449826,0.0,137488.0,14.0 -0.00028114000000000004,0.0,137488.0,14.0 -0.00028891800000000004,0.0,137488.0,14.0 -0.000280163,0.0,137488.0,14.0 -0.000269552,0.0,137488.0,14.0 -0.00027939,0.0,137488.0,14.0 -0.000268568,0.0,137488.0,14.0 -0.000281272,0.0,137488.0,14.0 -0.000275906,0.0,137488.0,14.0 -0.008639123,0.9640468135480882,137488.0,14.0 -0.000158188,0.0,137488.0,14.0 -0.000155539,0.0,137488.0,14.0 -0.00014848700000000002,0.0,137488.0,14.0 -0.000160853,0.0,137488.0,14.0 -0.00015346900000000002,0.0,137488.0,14.0 -0.00016170300000000002,0.0,137488.0,14.0 -0.000154995,0.0,137488.0,14.0 -0.000170581,0.0,137488.0,14.0 -0.00016299400000000002,0.0,137488.0,14.0 -0.000163071,0.0,137488.0,14.0 -0.00015979400000000002,0.0,137488.0,14.0 -0.000155376,0.0,137488.0,14.0 -0.000159786,0.0,137488.0,14.0 -0.00015357900000000001,0.0,137488.0,14.0 -0.00015764900000000002,0.0,137488.0,14.0 -0.000162721,0.0,137488.0,14.0 -0.00015711200000000002,0.0,137488.0,14.0 -0.000150826,0.0,137488.0,14.0 -0.00015474100000000001,0.0,137488.0,14.0 -0.00015805000000000002,0.0,137488.0,14.0 -0.00015276500000000002,0.0,137488.0,14.0 -0.000150392,0.0,137488.0,14.0 -0.000162599,0.0,137488.0,14.0 -0.000161494,0.0,137488.0,14.0 -0.000155844,0.0,137488.0,14.0 -0.000160459,0.0,137488.0,14.0 -0.000154401,0.0,137488.0,14.0 -0.000163725,0.0,137488.0,14.0 -0.000157216,0.0,137488.0,14.0 -0.000166687,0.0,137488.0,14.0 -0.00015588600000000002,0.0,137488.0,14.0 -0.00015350500000000002,0.0,137488.0,14.0 -0.00016771100000000002,0.0,137488.0,14.0 -0.00016112,0.0,137488.0,14.0 -0.00015550200000000002,0.0,137488.0,14.0 -0.000152143,0.0,137488.0,14.0 -0.00014600300000000002,0.0,137488.0,14.0 -0.000153847,0.0,137488.0,14.0 -0.00015534900000000002,0.0,137488.0,14.0 -0.000147412,0.0,137488.0,14.0 -0.000157703,0.0,137488.0,14.0 -0.00015593,0.0,137488.0,14.0 -0.000156431,0.0,137488.0,14.0 -0.00016244300000000002,0.0,137488.0,14.0 -0.00015948400000000002,0.0,137488.0,14.0 -0.000150733,0.0,137488.0,14.0 -0.000158395,0.0,137488.0,14.0 -0.000155768,0.0,137488.0,14.0 -0.00015019800000000001,0.0,137488.0,14.0 -0.000150442,0.0,137488.0,14.0 -0.000154326,0.0,137488.0,14.0 -0.00015299900000000002,0.0,137488.0,14.0 -0.000157861,0.0,137488.0,14.0 -0.00016192500000000002,0.0,137488.0,14.0 -0.000154943,0.0,137488.0,14.0 -0.00014968700000000002,0.0,137488.0,14.0 -0.000182463,0.0,137488.0,14.0 -0.000198972,0.0,137488.0,14.0 -0.00015813100000000002,0.0,137488.0,14.0 -0.00015383400000000002,0.0,137488.0,14.0 -0.000156004,0.0,137488.0,14.0 -0.000157044,0.0,137488.0,14.0 -0.000150213,0.0,137488.0,14.0 -0.00015854900000000002,0.0,137488.0,14.0 -0.000154916,0.0,137488.0,14.0 -0.000160392,0.0,137488.0,14.0 -0.00015579,0.0,137488.0,14.0 -0.000162187,0.0,137488.0,14.0 -0.00015845800000000002,0.0,137488.0,14.0 -0.000149464,0.0,137488.0,14.0 -0.00015587200000000001,0.0,137488.0,14.0 -0.00015716000000000002,0.0,137488.0,14.0 -0.000157209,0.0,137488.0,14.0 -0.00015774700000000002,0.0,137488.0,14.0 -0.000148608,0.0,137488.0,14.0 -0.000156575,0.0,137488.0,14.0 -0.00015581700000000002,0.0,137488.0,14.0 -0.000154384,0.0,137488.0,14.0 -0.000149522,0.0,137488.0,14.0 -0.000157855,0.0,137488.0,14.0 -0.00015658500000000002,0.0,137488.0,14.0 -0.000154901,0.0,137488.0,14.0 -0.00015282500000000001,0.0,137488.0,14.0 -0.000170141,0.0,137488.0,14.0 -0.000159211,0.0,137488.0,14.0 -0.00015560700000000002,0.0,137488.0,14.0 -0.00015488400000000002,0.0,137488.0,14.0 -0.00014801700000000002,0.0,137488.0,14.0 -0.00015471000000000001,0.0,137488.0,14.0 -0.000160647,0.0,137488.0,14.0 -0.000150568,0.0,137488.0,14.0 -0.000145766,0.0,137488.0,14.0 -0.000165842,0.0,137488.0,14.0 -0.00015716500000000002,0.0,137488.0,14.0 -0.00016186,0.0,137488.0,14.0 -0.000157073,0.0,137488.0,14.0 -0.000154704,0.0,137488.0,14.0 -0.00015404,0.0,137488.0,14.0 -0.000152174,0.0,137488.0,14.0 -0.000153076,0.0,137488.0,14.0 +0.0001564837,0.0,137488.0,14.0 +0.0001601035,0.0,137488.0,14.0 +0.00015801090000000002,0.0,137488.0,14.0 +0.000155383,0.0,137488.0,14.0 +0.00015813840000000002,0.0,137488.0,14.0 +0.0001558568,0.0,137488.0,14.0 +0.0001616252,0.0,137488.0,14.0 +0.0001558184,0.0,137488.0,14.0 +0.0001621225,0.0,137488.0,14.0 +0.0001569173,0.0,137488.0,14.0 +0.000155431,0.0,137488.0,14.0 +0.0001655182,0.0,137488.0,14.0 +0.000155341,0.0,137488.0,14.0 +0.00015851100000000001,0.0,137488.0,14.0 +0.00022122210000000004,0.0,137488.0,14.0 +0.0002687,0.0,137488.0,14.0 +0.0002681048,0.0,137488.0,14.0 +0.00030401250000000005,0.0,137488.0,14.0 +0.0002973747,0.0,137488.0,14.0 +0.0002743042,0.0,137488.0,14.0 +0.00027560510000000004,0.0,137488.0,14.0 +0.0002777284,0.0,137488.0,14.0 +0.0002762147,0.0,137488.0,14.0 +0.0002735912,0.0,137488.0,14.0 +0.0002822155,0.0,137488.0,14.0 +0.0002816194,0.0,137488.0,14.0 +0.00028202610000000003,0.0,137488.0,14.0 +0.0002771823,0.0,137488.0,14.0 +0.0003866473,0.34540109293405125,137488.0,14.0 +0.0001583624,0.0,137488.0,14.0 +0.0001589026,0.0,137488.0,14.0 +0.0001546115,0.0,137488.0,14.0 +0.0001582382,0.0,137488.0,14.0 +0.00015834380000000003,0.0,137488.0,14.0 +0.00016126510000000002,0.0,137488.0,14.0 +0.0001593016,0.0,137488.0,14.0 +0.0001573354,0.0,137488.0,14.0 +0.00015881340000000003,0.0,137488.0,14.0 +0.0001546379,0.0,137488.0,14.0 +0.00016027050000000002,0.0,137488.0,14.0 +0.0001575942,0.0,137488.0,14.0 +0.00015716070000000001,0.0,137488.0,14.0 +0.00016055220000000002,0.0,137488.0,14.0 +0.0001549559,0.0,137488.0,14.0 +0.0001585357,0.0,137488.0,14.0 +0.0001545331,0.0,137488.0,14.0 +0.0001561104,0.0,137488.0,14.0 +0.0001588931,0.0,137488.0,14.0 +0.00015770570000000003,0.0,137488.0,14.0 +0.00015754700000000001,0.0,137488.0,14.0 +0.00015566240000000002,0.0,137488.0,14.0 +0.0001580067,0.0,137488.0,14.0 +0.00016362290000000002,0.0,137488.0,14.0 +0.00015645110000000003,0.0,137488.0,14.0 +0.0001558275,0.0,137488.0,14.0 +0.0001571838,0.0,137488.0,14.0 +0.00015685550000000002,0.0,137488.0,14.0 +0.0001581164,0.0,137488.0,14.0 +0.00015449380000000001,0.0,137488.0,14.0 +0.0001541574,0.0,137488.0,14.0 +0.00015934690000000002,0.0,137488.0,14.0 +0.00015482590000000002,0.0,137488.0,14.0 +0.00030953830000000004,0.44100972319095894,137488.0,14.0 +0.0001596473,0.0,137488.0,14.0 +0.00015768500000000002,0.0,137488.0,14.0 +0.0001562295,0.0,137488.0,14.0 +0.00015866950000000002,0.0,137488.0,14.0 +0.00015968550000000002,0.0,137488.0,14.0 +0.00015800200000000002,0.0,137488.0,14.0 +0.00015755020000000002,0.0,137488.0,14.0 +0.0001565043,0.0,137488.0,14.0 +0.0001590143,0.0,137488.0,14.0 +0.0001603569,0.0,137488.0,14.0 +0.0001590793,0.0,137488.0,14.0 +0.0001593837,0.0,137488.0,14.0 +0.00016027370000000002,0.0,137488.0,14.0 +0.0001573183,0.0,137488.0,14.0 +0.0001571703,0.0,137488.0,14.0 +0.0001584214,0.0,137488.0,14.0 +0.0001574927,0.0,137488.0,14.0 +0.0001579401,0.0,137488.0,14.0 +0.0001583497,0.0,137488.0,14.0 +0.0001565577,0.0,137488.0,14.0 +0.000157255,0.0,137488.0,14.0 +0.0001593842,0.0,137488.0,14.0 +0.0001564506,0.0,137488.0,14.0 +0.00015688950000000002,0.0,137488.0,14.0 +0.00015806050000000002,0.0,137488.0,14.0 +0.0001566758,0.0,137488.0,14.0 +0.0001585774,0.0,137488.0,14.0 +0.00015552620000000003,0.0,137488.0,14.0 +0.000157133,0.0,137488.0,14.0 +0.0001601897,0.0,137488.0,14.0 +0.0001561152,0.0,137488.0,14.0 +0.0001574574,0.0,137488.0,14.0 +0.0005878948,0.7079055640566986,137488.0,14.0 +0.00016143680000000002,0.0,137488.0,14.0 +0.0001592363,0.0,137488.0,14.0 +0.0001578304,0.0,137488.0,14.0 +0.0001595303,0.0,137488.0,14.0 +0.00015639640000000003,0.0,137488.0,14.0 +0.0001584137,0.0,137488.0,14.0 +0.0001578523,0.0,137488.0,14.0 +0.00015532080000000003,0.0,137488.0,14.0 +0.00015876890000000003,0.0,137488.0,14.0 +0.0001592241,0.0,137488.0,14.0 +0.0001593099,0.0,137488.0,14.0 +0.0001581545,0.0,137488.0,14.0 +0.0001604862,0.0,137488.0,14.0 +0.0001584238,0.0,137488.0,14.0 +0.00015710040000000002,0.0,137488.0,14.0 +0.0001548846,0.0,137488.0,14.0 +0.0001587384,0.0,137488.0,14.0 +0.00015823600000000002,0.0,137488.0,14.0 +0.00021227030000000002,0.0,137488.0,14.0 +0.000268513,0.0,137488.0,14.0 +0.0002683918,0.0,137488.0,14.0 +0.0002704178,0.0,137488.0,14.0 +0.0002938096,0.0,137488.0,14.0 +0.00030977610000000003,0.0,137488.0,14.0 +0.0002810238,0.0,137488.0,14.0 +0.0002776269,0.0,137488.0,14.0 +0.00027350300000000003,0.0,137488.0,14.0 +0.00027292310000000004,0.0,137488.0,14.0 +0.00028047580000000003,0.0,137488.0,14.0 +0.0002865642,0.0,137488.0,14.0 +0.0002786087,0.0,137488.0,14.0 +0.0002763791,0.0,137488.0,14.0 +0.00039645390000000004,0.3354400095446154,137488.0,14.0 0.000159459,0.0,137488.0,14.0 -0.000157813,0.0,137488.0,14.0 -0.000156896,0.0,137488.0,14.0 -0.00014785000000000002,0.0,137488.0,14.0 -0.000150091,0.0,137488.0,14.0 -0.00015640400000000002,0.0,137488.0,14.0 -0.000157884,0.0,137488.0,14.0 -0.00015383400000000002,0.0,137488.0,14.0 -0.000163289,0.0,137488.0,14.0 -0.000162621,0.0,137488.0,14.0 -0.00016446400000000002,0.0,137488.0,14.0 -0.00014811500000000001,0.0,137488.0,14.0 -0.000155006,0.0,137488.0,14.0 -0.000148695,0.0,137488.0,14.0 -0.000155267,0.0,137488.0,14.0 -0.000149545,0.0,137488.0,14.0 -0.000149077,0.0,137488.0,14.0 -0.00014941500000000002,0.0,137488.0,14.0 -0.00016159300000000002,0.0,137488.0,14.0 -0.000161113,0.0,137488.0,14.0 -0.00015113800000000002,0.0,137488.0,14.0 -0.000155057,0.0,137488.0,14.0 -0.00014853200000000002,0.0,137488.0,14.0 -0.000150043,0.0,137488.0,14.0 -0.00016347100000000002,0.0,137488.0,14.0 -0.000153804,0.0,137488.0,14.0 -0.00015511800000000001,0.0,137488.0,14.0 -0.00014671900000000002,0.0,137488.0,14.0 -0.000153627,0.0,137488.0,14.0 -0.000169387,0.0,137488.0,14.0 -0.000153456,0.0,137488.0,14.0 -0.000159721,0.0,137488.0,14.0 -0.00015636800000000002,0.0,137488.0,14.0 -0.00015810500000000002,0.0,137488.0,14.0 -0.000176961,0.0,137488.0,14.0 -0.000167345,0.0,137488.0,14.0 -0.00015124300000000002,0.0,137488.0,14.0 -0.00015221,0.0,137488.0,14.0 -0.00014852000000000002,0.0,137488.0,14.0 -0.00015608400000000002,0.0,137488.0,14.0 -0.00014893800000000002,0.0,137488.0,14.0 -0.00015138,0.0,137488.0,14.0 -0.000164178,0.0,137488.0,14.0 -0.000159769,0.0,137488.0,14.0 -0.000152905,0.0,137488.0,14.0 -0.00015156500000000002,0.0,137488.0,14.0 -0.00016876600000000002,0.0,137488.0,14.0 -0.000146527,0.0,137488.0,14.0 -0.000161523,0.0,137488.0,14.0 -0.00015731800000000001,0.0,137488.0,14.0 -0.000163041,0.0,137488.0,14.0 -0.00015556600000000002,0.0,137488.0,14.0 -0.00014814600000000001,0.0,137488.0,14.0 -0.000151695,0.0,137488.0,14.0 -0.00015151000000000002,0.0,137488.0,14.0 -0.00014703100000000002,0.0,137488.0,14.0 -0.000151017,0.0,137488.0,14.0 -0.000157605,0.0,137488.0,14.0 -0.00016336,0.0,137488.0,14.0 -0.00015886400000000002,0.0,137488.0,14.0 -0.00016696900000000002,0.0,137488.0,14.0 -0.000148496,0.0,137488.0,14.0 -0.000151041,0.0,137488.0,14.0 -0.0001555,0.0,137488.0,14.0 -0.000148801,0.0,137488.0,14.0 -0.000153454,0.0,137488.0,14.0 -0.00015364100000000002,0.0,137488.0,14.0 -0.000151031,0.0,137488.0,14.0 -0.000157298,0.0,137488.0,14.0 -0.000149595,0.0,137488.0,14.0 -0.000147675,0.0,137488.0,14.0 -0.000160926,0.0,137488.0,14.0 -0.000150189,0.0,137488.0,14.0 -0.000155864,0.0,137488.0,14.0 -0.000161067,0.0,137488.0,14.0 -0.000149769,0.0,137488.0,14.0 -0.00015877300000000002,0.0,137488.0,14.0 -0.000145048,0.0,137488.0,14.0 -0.000152721,0.0,137488.0,14.0 -0.000155004,0.0,137488.0,14.0 -0.00015962700000000002,0.0,137488.0,14.0 -0.0001553,0.0,137488.0,14.0 -0.000168116,0.0,137488.0,14.0 -0.000153014,0.0,137488.0,14.0 -0.00014759200000000002,0.0,137488.0,14.0 -0.000168123,0.0,137488.0,14.0 -0.000147972,0.0,137488.0,14.0 -0.00015661,0.0,137488.0,14.0 -0.000155131,0.0,137488.0,14.0 -0.000151556,0.0,137488.0,14.0 -0.000165429,0.0,137488.0,14.0 -0.000147687,0.0,137488.0,14.0 -0.000154245,0.0,137488.0,14.0 -0.000159165,0.0,137488.0,14.0 -0.000147224,0.0,137488.0,14.0 -0.000158149,0.0,137488.0,14.0 -0.000148206,0.0,137488.0,14.0 -0.000151123,0.0,137488.0,14.0 -0.00016424,0.0,137488.0,14.0 -0.000154597,0.0,137488.0,14.0 -0.000155777,0.0,137488.0,14.0 -0.000159727,0.0,137488.0,14.0 -0.00014853000000000002,0.0,137488.0,14.0 -0.000165772,0.0,137488.0,14.0 -0.00015803300000000002,0.0,137488.0,14.0 -0.000146632,0.0,137488.0,14.0 -0.000155098,0.0,137488.0,14.0 -0.00015390800000000002,0.0,137488.0,14.0 -0.000158128,0.0,137488.0,14.0 -0.000156851,0.0,137488.0,14.0 -0.00016146900000000002,0.0,137488.0,14.0 -0.000163327,0.0,137488.0,14.0 -0.00015602700000000002,0.0,137488.0,14.0 -0.00015360000000000002,0.0,137488.0,14.0 -0.00014982300000000002,0.0,137488.0,14.0 -0.00016186500000000002,0.0,137488.0,14.0 -0.000156526,0.0,137488.0,14.0 -0.00015295,0.0,137488.0,14.0 -0.000162382,0.0,137488.0,14.0 -0.000147651,0.0,137488.0,14.0 -0.000159184,0.0,137488.0,14.0 -0.00015264600000000002,0.0,137488.0,14.0 -0.00014949,0.0,137488.0,14.0 -0.00016265000000000002,0.0,137488.0,14.0 -0.000151082,0.0,137488.0,14.0 -0.00015349000000000002,0.0,137488.0,14.0 -0.000166856,0.0,137488.0,14.0 -0.00014908100000000002,0.0,137488.0,14.0 -0.00014878000000000002,0.0,137488.0,14.0 -0.000156548,0.0,137488.0,14.0 -0.000151824,0.0,137488.0,14.0 -0.000161566,0.0,137488.0,14.0 -0.000152608,0.0,137488.0,14.0 -0.000157705,0.0,137488.0,14.0 -0.000154184,0.0,137488.0,14.0 -0.00015886100000000002,0.0,137488.0,14.0 -0.000164601,0.0,137488.0,14.0 -0.000154289,0.0,137488.0,14.0 -0.000153372,0.0,137488.0,14.0 -0.00016184900000000002,0.0,137488.0,14.0 -0.00015465000000000002,0.0,137488.0,14.0 -0.000149187,0.0,137488.0,14.0 -0.00015678800000000002,0.0,137488.0,14.0 -0.000148411,0.0,137488.0,14.0 -0.000153387,0.0,137488.0,14.0 -0.000159603,0.0,137488.0,14.0 -0.000149238,0.0,137488.0,14.0 -0.000154252,0.0,137488.0,14.0 -0.000150673,0.0,137488.0,14.0 -0.00015860600000000002,0.0,137488.0,14.0 -0.000158035,0.0,137488.0,14.0 -0.00015079400000000002,0.0,137488.0,14.0 -0.00014941500000000002,0.0,137488.0,14.0 -0.000157751,0.0,137488.0,14.0 -0.000151198,0.0,137488.0,14.0 -0.00016325400000000002,0.0,137488.0,14.0 -0.000151576,0.0,137488.0,14.0 -0.00014957500000000002,0.0,137488.0,14.0 -0.00016071500000000002,0.0,137488.0,14.0 -0.00014985,0.0,137488.0,14.0 -0.00015345700000000002,0.0,137488.0,14.0 -0.000184117,0.0,137488.0,14.0 -0.00017925700000000002,0.0,137488.0,14.0 -0.00015545200000000002,0.0,137488.0,14.0 -0.000147615,0.0,137488.0,14.0 -0.000155487,0.0,137488.0,14.0 -0.00015585500000000002,0.0,137488.0,14.0 -0.000154885,0.0,137488.0,14.0 -0.00015593,0.0,137488.0,14.0 -0.00015721000000000002,0.0,137488.0,14.0 -0.000150519,0.0,137488.0,14.0 -0.000156551,0.0,137488.0,14.0 -0.00014845,0.0,137488.0,14.0 -0.000151974,0.0,137488.0,14.0 -0.000165224,0.0,137488.0,14.0 -0.00015166000000000002,0.0,137488.0,14.0 -0.000153809,0.0,137488.0,14.0 -0.00014969900000000002,0.0,137488.0,14.0 -0.000155186,0.0,137488.0,14.0 -0.000164942,0.0,137488.0,14.0 -0.00015121,0.0,137488.0,14.0 -0.000151466,0.0,137488.0,14.0 -0.00015694100000000001,0.0,137488.0,14.0 -0.000150012,0.0,137488.0,14.0 -0.00015605300000000002,0.0,137488.0,14.0 -0.000158226,0.0,137488.0,14.0 -0.000146133,0.0,137488.0,14.0 -0.00017398,0.0,137488.0,14.0 -0.000157696,0.0,137488.0,14.0 -0.000156102,0.0,137488.0,14.0 -0.00016972700000000002,0.0,137488.0,14.0 -0.000149295,0.0,137488.0,14.0 -0.000157679,0.0,137488.0,14.0 -0.000155119,0.0,137488.0,14.0 -0.00014935300000000002,0.0,137488.0,14.0 -0.00016625,0.0,137488.0,14.0 -0.000154641,0.0,137488.0,14.0 -0.00015374300000000002,0.0,137488.0,14.0 -0.000165117,0.0,137488.0,14.0 -0.000147672,0.0,137488.0,14.0 -0.00015280100000000002,0.0,137488.0,14.0 -0.000148292,0.0,137488.0,14.0 -0.000148765,0.0,137488.0,14.0 -0.000155493,0.0,137488.0,14.0 -0.000147066,0.0,137488.0,14.0 -0.00015487200000000002,0.0,137488.0,14.0 -0.00016200900000000001,0.0,137488.0,14.0 -0.00014637800000000001,0.0,137488.0,14.0 -0.00015583100000000002,0.0,137488.0,14.0 -0.000154992,0.0,137488.0,14.0 -0.00015777800000000002,0.0,137488.0,14.0 -0.00015084900000000002,0.0,137488.0,14.0 -0.00016139500000000002,0.0,137488.0,14.0 -0.00016504400000000001,0.0,137488.0,14.0 -0.00015040300000000002,0.0,137488.0,14.0 -0.000159697,0.0,137488.0,14.0 -0.000154584,0.0,137488.0,14.0 -0.000156405,0.0,137488.0,14.0 -0.000164215,0.0,137488.0,14.0 -0.00015070100000000002,0.0,137488.0,14.0 -0.00016175600000000001,0.0,137488.0,14.0 -0.00015351200000000002,0.0,137488.0,14.0 -0.00015233800000000002,0.0,137488.0,14.0 -0.00015666400000000002,0.0,137488.0,14.0 -0.000149006,0.0,137488.0,14.0 -0.00015368,0.0,137488.0,14.0 -0.000159717,0.0,137488.0,14.0 -0.00014851,0.0,137488.0,14.0 -0.000158672,0.0,137488.0,14.0 -0.00015428000000000002,0.0,137488.0,14.0 -0.00015323300000000002,0.0,137488.0,14.0 -0.0016842880000000001,0.8052132414408937,137488.0,14.0 -0.00016417500000000002,0.0,137488.0,14.0 -0.000146942,0.0,137488.0,14.0 -0.00014815,0.0,137488.0,14.0 -0.000157039,0.0,137488.0,14.0 -0.00015419200000000002,0.0,137488.0,14.0 -0.00015431,0.0,137488.0,14.0 -0.00016285600000000001,0.0,137488.0,14.0 -0.000156357,0.0,137488.0,14.0 -0.000159125,0.0,137488.0,14.0 -0.000164024,0.0,137488.0,14.0 -0.000158469,0.0,137488.0,14.0 -0.000161301,0.0,137488.0,14.0 -0.00015887300000000002,0.0,137488.0,14.0 -0.00015259,0.0,137488.0,14.0 -0.00015651600000000002,0.0,137488.0,14.0 -0.000153649,0.0,137488.0,14.0 -0.00016460000000000002,0.0,137488.0,14.0 -0.00015705000000000002,0.0,137488.0,14.0 -0.00015576,0.0,137488.0,14.0 -0.00015416100000000002,0.0,137488.0,14.0 -0.00016746100000000002,0.0,137488.0,14.0 -0.000159908,0.0,137488.0,14.0 -0.000163055,0.0,137488.0,14.0 -0.000152389,0.0,137488.0,14.0 -0.000154999,0.0,137488.0,14.0 -0.000158719,0.0,137488.0,14.0 -0.00015306800000000002,0.0,137488.0,14.0 -0.00016077000000000002,0.0,137488.0,14.0 -0.000165822,0.0,137488.0,14.0 -0.000157522,0.0,137488.0,14.0 -0.000162993,0.0,137488.0,14.0 -0.000158567,0.0,137488.0,14.0 -0.000153317,0.0,137488.0,14.0 -0.000155153,0.0,137488.0,14.0 -0.000159423,0.0,137488.0,14.0 -0.000148337,0.0,137488.0,14.0 +0.00016162620000000001,0.0,137488.0,14.0 +0.00015680780000000002,0.0,137488.0,14.0 +0.0001593199,0.0,137488.0,14.0 +0.000158256,0.0,137488.0,14.0 +0.00015955910000000002,0.0,137488.0,14.0 +0.00015885950000000003,0.0,137488.0,14.0 +0.00015612580000000002,0.0,137488.0,14.0 +0.0001556499,0.0,137488.0,14.0 +0.0001598888,0.0,137488.0,14.0 +0.0001573756,0.0,137488.0,14.0 +0.00016091920000000002,0.0,137488.0,14.0 +0.00015686130000000002,0.0,137488.0,14.0 +0.0001599678,0.0,137488.0,14.0 +0.0001574438,0.0,137488.0,14.0 +0.00015591670000000002,0.0,137488.0,14.0 +0.0001566398,0.0,137488.0,14.0 +0.00015543240000000003,0.0,137488.0,14.0 +0.0001569169,0.0,137488.0,14.0 +0.0001556323,0.0,137488.0,14.0 +0.0001573082,0.0,137488.0,14.0 +0.0001571778,0.0,137488.0,14.0 +0.00015741580000000003,0.0,137488.0,14.0 +0.0014560026,0.0,137488.0,14.0 +0.000161194,0.0,137488.0,14.0 +0.0001611596,0.0,137488.0,14.0 +0.0001617511,0.0,137488.0,14.0 +0.00016035740000000002,0.0,137488.0,14.0 +0.0007252424,0.0,137488.0,14.0 +0.0001601442,0.0,137488.0,14.0 +0.0017696705,0.0,137488.0,14.0 +0.0001638861,0.0,137488.0,14.0 +0.0001664058,0.0,137488.0,14.0 +0.0027474709000000004,0.34879350314501967,137488.0,14.0 +0.0001680365,0.0,137488.0,14.0 +0.00016413000000000002,0.0,137488.0,14.0 +0.0001712642,0.0,137488.0,14.0 +0.0001668994,0.0,137488.0,14.0 +0.00017064790000000002,0.0,137488.0,14.0 +0.0001718334,0.0,137488.0,14.0 +0.00016652890000000002,0.0,137488.0,14.0 +0.000164369,0.0,137488.0,14.0 +0.000166346,0.0,137488.0,14.0 +0.0017737746000000003,0.0,137488.0,14.0 +0.00017189330000000002,0.0,137488.0,14.0 +0.0001728031,0.0,137488.0,14.0 +0.00017021080000000001,0.0,137488.0,14.0 +0.00016728860000000002,0.0,137488.0,14.0 +0.00016935220000000001,0.0,137488.0,14.0 +0.00016894240000000002,0.0,137488.0,14.0 +0.00017021590000000002,0.0,137488.0,14.0 +0.00016932680000000003,0.0,137488.0,14.0 +0.0017774726000000002,0.0,137488.0,14.0 +0.00017343570000000002,0.0,137488.0,14.0 +0.0001710076,0.0,137488.0,14.0 +0.00016609480000000001,0.0,137488.0,14.0 +0.0001709704,0.0,137488.0,14.0 +0.0001711068,0.0,137488.0,14.0 +0.0001690577,0.0,137488.0,14.0 +0.0001700034,0.0,137488.0,14.0 +0.00016804970000000003,0.0,137488.0,14.0 +0.00016731230000000002,0.0,137488.0,14.0 +0.0017724111,0.0,137488.0,14.0 +0.00016725300000000002,0.0,137488.0,14.0 +0.00017047820000000002,0.0,137488.0,14.0 +0.0001674175,0.0,137488.0,14.0 +0.0006096401000000001,0.6950436823299517,137488.0,14.0 +0.00015948160000000001,0.0,137488.0,14.0 +0.0001505,0.0,137488.0,14.0 +0.0001653006,0.0,137488.0,14.0 +0.0001485503,0.0,137488.0,14.0 +0.00016442260000000002,0.0,137488.0,14.0 +0.0001559101,0.0,137488.0,14.0 +0.00014832700000000002,0.0,137488.0,14.0 +0.0001451656,0.0,137488.0,14.0 +0.0001475514,0.0,137488.0,14.0 +0.0001504502,0.0,137488.0,14.0 +0.00015005790000000003,0.0,137488.0,14.0 +0.00014955880000000002,0.0,137488.0,14.0 +0.0001580653,0.0,137488.0,14.0 +0.00015973130000000003,0.0,137488.0,14.0 +0.0001583551,0.0,137488.0,14.0 +0.0001591191,0.0,137488.0,14.0 +0.00015644830000000002,0.0,137488.0,14.0 +0.0001568065,0.0,137488.0,14.0 +0.0002033116,0.0,137488.0,14.0 +0.00027102660000000005,0.0,137488.0,14.0 +0.00026956740000000004,0.0,137488.0,14.0 +0.00026673500000000004,0.0,137488.0,14.0 +0.0002706208,0.0,137488.0,14.0 +0.00027291900000000005,0.0,137488.0,14.0 +0.0002744832,0.0,137488.0,14.0 +0.00027300050000000003,0.0,137488.0,14.0 +0.00027417040000000004,0.0,137488.0,14.0 +0.0002742574,0.0,137488.0,14.0 +0.00027779830000000005,0.0,137488.0,14.0 +0.0002792768,0.0,137488.0,14.0 +0.0002848538,0.0,137488.0,14.0 +0.0002900089,0.0,137488.0,14.0 +0.0004182036,0.3144566426496568,137488.0,14.0 +0.0001641678,0.0,137488.0,14.0 +0.00016358680000000002,0.0,137488.0,14.0 +0.0001582432,0.0,137488.0,14.0 +0.000162466,0.0,137488.0,14.0 +0.0001604452,0.0,137488.0,14.0 +0.00016329550000000002,0.0,137488.0,14.0 +0.0001596458,0.0,137488.0,14.0 +0.00016151400000000003,0.0,137488.0,14.0 +0.00016050770000000002,0.0,137488.0,14.0 +0.0001599999,0.0,137488.0,14.0 +0.0001644541,0.0,137488.0,14.0 +0.0016934208000000002,0.0,137488.0,14.0 +0.0001651156,0.0,137488.0,14.0 +0.00016623430000000002,0.0,137488.0,14.0 +0.000160554,0.0,137488.0,14.0 +0.00016265740000000003,0.0,137488.0,14.0 +0.0001723953,0.0,137488.0,14.0 +0.0001703739,0.0,137488.0,14.0 +0.00017195790000000002,0.0,137488.0,14.0 +0.00016698650000000002,0.0,137488.0,14.0 +0.00016650830000000002,0.0,137488.0,14.0 +0.00016052710000000002,0.0,137488.0,14.0 +0.0001573167,0.0,137488.0,14.0 +0.0001672831,0.0,137488.0,14.0 +0.0001615091,0.0,137488.0,14.0 +0.00016727710000000003,0.0,137488.0,14.0 +0.00016963750000000002,0.0,137488.0,14.0 +0.0017769518000000002,0.0,137488.0,14.0 +0.0001659562,0.0,137488.0,14.0 +0.00016498240000000001,0.0,137488.0,14.0 +0.0001650831,0.0,137488.0,14.0 +0.0001592427,0.0,137488.0,14.0 +0.0001614994,0.0,137488.0,14.0 +0.0003091165,0.4322448009083954,137488.0,14.0 +0.00017171240000000003,0.0,137488.0,14.0 +0.0001712266,0.0,137488.0,14.0 +0.001776434,0.0,137488.0,14.0 +0.0001672544,0.0,137488.0,14.0 +0.0001667889,0.0,137488.0,14.0 +0.0001706397,0.0,137488.0,14.0 +0.00016299060000000002,0.0,137488.0,14.0 +0.0001616023,0.0,137488.0,14.0 +0.0001620736,0.0,137488.0,14.0 +0.00016341880000000003,0.0,137488.0,14.0 +0.0001747187,0.0,137488.0,14.0 +0.0001726828,0.0,137488.0,14.0 +0.0017779185,0.0,137488.0,14.0 +0.00021240740000000002,0.0,137488.0,14.0 +0.0001672988,0.0,137488.0,14.0 +0.0001652531,0.0,137488.0,14.0 +0.0001669518,0.0,137488.0,14.0 +0.0001638679,0.0,137488.0,14.0 +0.00016446420000000003,0.0,137488.0,14.0 +0.00017337530000000002,0.0,137488.0,14.0 +0.0001715284,0.0,137488.0,14.0 +0.0017753387000000002,0.0,137488.0,14.0 +0.0001683657,0.0,137488.0,14.0 +0.0001718174,0.0,137488.0,14.0 +0.00016590420000000002,0.0,137488.0,14.0 +0.00016785790000000002,0.0,137488.0,14.0 +0.0001700461,0.0,137488.0,14.0 +0.0001660234,0.0,137488.0,14.0 +0.00016963140000000003,0.0,137488.0,14.0 +0.0001714711,0.0,137488.0,14.0 +0.0001703829,0.0,137488.0,14.0 +0.0001718396,0.0,137488.0,14.0 +0.0005634876000000001,0.6717711268180524,137488.0,14.0 +0.0025755387000000003,0.0,137488.0,14.0 +0.00017292980000000003,0.0,137488.0,14.0 +0.00017240550000000002,0.0,137488.0,14.0 +0.00016963200000000002,0.0,137488.0,14.0 +0.00016936000000000002,0.0,137488.0,14.0 +0.0001964708,0.0,137488.0,14.0 +0.0001704222,0.0,137488.0,14.0 +0.0001680288,0.0,137488.0,14.0 +0.00016427180000000002,0.0,137488.0,14.0 +0.00016852080000000002,0.0,137488.0,14.0 +0.0001696296,0.0,137488.0,14.0 +0.0001715272,0.0,137488.0,14.0 +0.0001692048,0.0,137488.0,14.0 +0.0001670896,0.0,137488.0,14.0 +0.0017727986000000001,0.0,137488.0,14.0 +0.00016754200000000002,0.0,137488.0,14.0 +0.0001690777,0.0,137488.0,14.0 +0.00016716150000000002,0.0,137488.0,14.0 +0.0001995334,0.0,137488.0,14.0 +0.0002723909,0.0,137488.0,14.0 +0.00028212690000000004,0.0,137488.0,14.0 +0.0018823552000000001,0.0,137488.0,14.0 +0.0002872783,0.0,137488.0,14.0 +0.00028266770000000003,0.0,137488.0,14.0 +0.0002783365,0.0,137488.0,14.0 +0.00030568610000000003,0.0,137488.0,14.0 +0.0002728335,0.0,137488.0,14.0 +0.0019023296000000001,0.0,137488.0,14.0 +0.00028227360000000003,0.0,137488.0,14.0 +0.00029937830000000004,0.0,137488.0,14.0 +0.0002778756,0.0,137488.0,14.0 +0.0002867968,0.0,137488.0,14.0 +0.0020240724,0.06653398366580168,137488.0,14.0 0.000158441,0.0,137488.0,14.0 -0.00015930300000000002,0.0,137488.0,14.0 -0.000155038,0.0,137488.0,14.0 -0.000155999,0.0,137488.0,14.0 -0.00015646600000000002,0.0,137488.0,14.0 -0.00015360500000000002,0.0,137488.0,14.0 -0.000147093,0.0,137488.0,14.0 -0.000148292,0.0,137488.0,14.0 -0.00015295,0.0,137488.0,14.0 -0.000160881,0.0,137488.0,14.0 -0.000154928,0.0,137488.0,14.0 -0.00016715800000000001,0.0,137488.0,14.0 -0.000161916,0.0,137488.0,14.0 -0.000157996,0.0,137488.0,14.0 -0.00015063200000000002,0.0,137488.0,14.0 -0.000155257,0.0,137488.0,14.0 -0.000156896,0.0,137488.0,14.0 -0.000149386,0.0,137488.0,14.0 -0.00015663500000000002,0.0,137488.0,14.0 -0.00015310600000000002,0.0,137488.0,14.0 -0.00015604100000000002,0.0,137488.0,14.0 -0.000146809,0.0,137488.0,14.0 -0.000156909,0.0,137488.0,14.0 -0.000160347,0.0,137488.0,14.0 -0.00015359300000000002,0.0,137488.0,14.0 -0.000155351,0.0,137488.0,14.0 -0.00015895900000000002,0.0,137488.0,14.0 -0.000152296,0.0,137488.0,14.0 -0.00015152900000000002,0.0,137488.0,14.0 -0.000156006,0.0,137488.0,14.0 -0.000159302,0.0,137488.0,14.0 -0.000160208,0.0,137488.0,14.0 -0.00016017400000000002,0.0,137488.0,14.0 -0.000154115,0.0,137488.0,14.0 -0.000151697,0.0,137488.0,14.0 -0.00015570500000000001,0.0,137488.0,14.0 -0.00016383900000000001,0.0,137488.0,14.0 -0.000171731,0.0,137488.0,14.0 -0.00016408200000000002,0.0,137488.0,14.0 -0.000156118,0.0,137488.0,14.0 -0.00015516100000000001,0.0,137488.0,14.0 -0.000155339,0.0,137488.0,14.0 -0.00015333300000000002,0.0,137488.0,14.0 -0.000151564,0.0,137488.0,14.0 -0.00015964200000000001,0.0,137488.0,14.0 -0.00015785700000000002,0.0,137488.0,14.0 -0.000150967,0.0,137488.0,14.0 -0.000153868,0.0,137488.0,14.0 -0.00015969900000000002,0.0,137488.0,14.0 -0.00015065800000000002,0.0,137488.0,14.0 -0.000145049,0.0,137488.0,14.0 -0.00015518200000000002,0.0,137488.0,14.0 -0.000152965,0.0,137488.0,14.0 -0.000158077,0.0,137488.0,14.0 -0.000152537,0.0,137488.0,14.0 -0.00014847700000000002,0.0,137488.0,14.0 -0.000161304,0.0,137488.0,14.0 -0.00016165,0.0,137488.0,14.0 -0.000157026,0.0,137488.0,14.0 -0.000155062,0.0,137488.0,14.0 -0.00015941700000000002,0.0,137488.0,14.0 -0.000155274,0.0,137488.0,14.0 -0.00016292500000000002,0.0,137488.0,14.0 -0.000158677,0.0,137488.0,14.0 -0.000158118,0.0,137488.0,14.0 -0.00015027400000000002,0.0,137488.0,14.0 -0.000155964,0.0,137488.0,14.0 -0.000153515,0.0,137488.0,14.0 -0.000158943,0.0,137488.0,14.0 -0.00016188700000000002,0.0,137488.0,14.0 -0.00015598400000000002,0.0,137488.0,14.0 -0.000162831,0.0,137488.0,14.0 -0.00015673500000000002,0.0,137488.0,14.0 -0.00015066500000000002,0.0,137488.0,14.0 -0.00016683800000000002,0.0,137488.0,14.0 -0.000158154,0.0,137488.0,14.0 -0.00015602200000000002,0.0,137488.0,14.0 -0.000150132,0.0,137488.0,14.0 -0.000148311,0.0,137488.0,14.0 -0.000149392,0.0,137488.0,14.0 -0.000147533,0.0,137488.0,14.0 -0.000154322,0.0,137488.0,14.0 -0.000161065,0.0,137488.0,14.0 -0.00016074200000000001,0.0,137488.0,14.0 -0.00014944400000000001,0.0,137488.0,14.0 -0.000158856,0.0,137488.0,14.0 -0.000151404,0.0,137488.0,14.0 -0.000149037,0.0,137488.0,14.0 -0.0001741,0.0,137488.0,14.0 -0.000152442,0.0,137488.0,14.0 -0.000151249,0.0,137488.0,14.0 -0.00015297300000000001,0.0,137488.0,14.0 -0.000153905,0.0,137488.0,14.0 -0.000151631,0.0,137488.0,14.0 -0.000154539,0.0,137488.0,14.0 -0.000159738,0.0,137488.0,14.0 -0.000156253,0.0,137488.0,14.0 -0.000158534,0.0,137488.0,14.0 -0.00015009500000000002,0.0,137488.0,14.0 -0.000161957,0.0,137488.0,14.0 -0.000148504,0.0,137488.0,14.0 -0.000152415,0.0,137488.0,14.0 -0.00014788100000000002,0.0,137488.0,14.0 -0.000152769,0.0,137488.0,14.0 -0.00015620600000000002,0.0,137488.0,14.0 -0.00014956100000000001,0.0,137488.0,14.0 -0.000164324,0.0,137488.0,14.0 -0.00015159,0.0,137488.0,14.0 -0.000155901,0.0,137488.0,14.0 -0.00014654500000000001,0.0,137488.0,14.0 -0.00015388900000000002,0.0,137488.0,14.0 -0.000154126,0.0,137488.0,14.0 -0.000150994,0.0,137488.0,14.0 -0.000150519,0.0,137488.0,14.0 -0.000171878,0.0,137488.0,14.0 -0.00016406,0.0,137488.0,14.0 -0.00015276000000000002,0.0,137488.0,14.0 -0.000153002,0.0,137488.0,14.0 -0.00016292000000000002,0.0,137488.0,14.0 -0.00015151700000000002,0.0,137488.0,14.0 -0.000151423,0.0,137488.0,14.0 -0.00015342,0.0,137488.0,14.0 -0.00016009000000000002,0.0,137488.0,14.0 -0.000154799,0.0,137488.0,14.0 -0.00015703100000000002,0.0,137488.0,14.0 -0.000162351,0.0,137488.0,14.0 -0.00014932400000000002,0.0,137488.0,14.0 -0.000160373,0.0,137488.0,14.0 -0.000152774,0.0,137488.0,14.0 -0.00015380100000000001,0.0,137488.0,14.0 -0.000158115,0.0,137488.0,14.0 -0.00014802900000000002,0.0,137488.0,14.0 -0.000154709,0.0,137488.0,14.0 -0.00015414900000000002,0.0,137488.0,14.0 -0.000153193,0.0,137488.0,14.0 -0.000158123,0.0,137488.0,14.0 -0.00015247,0.0,137488.0,14.0 -0.000158633,0.0,137488.0,14.0 -0.000150092,0.0,137488.0,14.0 -0.000164071,0.0,137488.0,14.0 -0.000156202,0.0,137488.0,14.0 -0.00016544200000000002,0.0,137488.0,14.0 -0.000155861,0.0,137488.0,14.0 -0.000160204,0.0,137488.0,14.0 -0.000157242,0.0,137488.0,14.0 -0.000154746,0.0,137488.0,14.0 -0.000154708,0.0,137488.0,14.0 -0.00015645600000000002,0.0,137488.0,14.0 -0.00015042200000000002,0.0,137488.0,14.0 -0.000165148,0.0,137488.0,14.0 -0.000148214,0.0,137488.0,14.0 -0.000152451,0.0,137488.0,14.0 -0.000163739,0.0,137488.0,14.0 -0.000153084,0.0,137488.0,14.0 -0.00016178,0.0,137488.0,14.0 -0.000160676,0.0,137488.0,14.0 -0.00015196300000000002,0.0,137488.0,14.0 -0.000159223,0.0,137488.0,14.0 -0.00014906400000000002,0.0,137488.0,14.0 -0.00015178400000000002,0.0,137488.0,14.0 -0.00015715500000000002,0.0,137488.0,14.0 -0.00014987,0.0,137488.0,14.0 -0.00015194900000000002,0.0,137488.0,14.0 -0.00016274800000000002,0.0,137488.0,14.0 -0.000149127,0.0,137488.0,14.0 -0.00017763000000000002,0.0,137488.0,14.0 -0.00014299400000000002,0.0,137488.0,14.0 -0.00015002600000000002,0.0,137488.0,14.0 -0.000161291,0.0,137488.0,14.0 -0.000153998,0.0,137488.0,14.0 -0.000158087,0.0,137488.0,14.0 -0.00015630100000000002,0.0,137488.0,14.0 -0.000164558,0.0,137488.0,14.0 -0.00015049600000000002,0.0,137488.0,14.0 -0.00015830300000000002,0.0,137488.0,14.0 -0.00015343800000000002,0.0,137488.0,14.0 -0.000149635,0.0,137488.0,14.0 -0.00016002800000000002,0.0,137488.0,14.0 -0.00014918,0.0,137488.0,14.0 -0.000151838,0.0,137488.0,14.0 -0.000152699,0.0,137488.0,14.0 -0.000147402,0.0,137488.0,14.0 -0.00015979200000000002,0.0,137488.0,14.0 -0.00015376700000000002,0.0,137488.0,14.0 -0.00015667300000000002,0.0,137488.0,14.0 -0.000165448,0.0,137488.0,14.0 -0.000152179,0.0,137488.0,14.0 -0.000158951,0.0,137488.0,14.0 -0.00016013300000000002,0.0,137488.0,14.0 -0.000149344,0.0,137488.0,14.0 -0.00017386500000000002,0.0,137488.0,14.0 -0.000150943,0.0,137488.0,14.0 -0.000159307,0.0,137488.0,14.0 -0.000162582,0.0,137488.0,14.0 -0.000149922,0.0,137488.0,14.0 -0.000156142,0.0,137488.0,14.0 -0.000156954,0.0,137488.0,14.0 -0.000148378,0.0,137488.0,14.0 -0.00016257200000000001,0.0,137488.0,14.0 -0.000156789,0.0,137488.0,14.0 -0.000148844,0.0,137488.0,14.0 -0.00015787100000000002,0.0,137488.0,14.0 -0.000153213,0.0,137488.0,14.0 -0.00015237400000000002,0.0,137488.0,14.0 -0.00016079400000000002,0.0,137488.0,14.0 -0.000152239,0.0,137488.0,14.0 -0.000159481,0.0,137488.0,14.0 -0.000150536,0.0,137488.0,14.0 -0.00014884500000000002,0.0,137488.0,14.0 -0.00016232100000000002,0.0,137488.0,14.0 -0.000146102,0.0,137488.0,14.0 -0.000156083,0.0,137488.0,14.0 -0.00015683,0.0,137488.0,14.0 -0.00014667100000000002,0.0,137488.0,14.0 -0.00016568300000000002,0.0,137488.0,14.0 -0.000150132,0.0,137488.0,14.0 -0.00016415600000000002,0.0,137488.0,14.0 -0.00016061300000000002,0.0,137488.0,14.0 -0.00015066500000000002,0.0,137488.0,14.0 -0.00015175100000000002,0.0,137488.0,14.0 -0.00016458800000000002,0.0,137488.0,14.0 -0.00014840800000000002,0.0,137488.0,14.0 -0.000153306,0.0,137488.0,14.0 -0.00014797,0.0,137488.0,14.0 -0.000148264,0.0,137488.0,14.0 -0.000159815,0.0,137488.0,14.0 -0.000152094,0.0,137488.0,14.0 -0.00015086300000000002,0.0,137488.0,14.0 -0.00014854400000000002,0.0,137488.0,14.0 -0.00015709,0.0,137488.0,14.0 -0.000159581,0.0,137488.0,14.0 -0.000156946,0.0,137488.0,14.0 -0.00015352,0.0,137488.0,14.0 -0.00015795000000000002,0.0,137488.0,14.0 -0.000146433,0.0,137488.0,14.0 -0.00015140300000000001,0.0,137488.0,14.0 -0.00016166700000000002,0.0,137488.0,14.0 -0.000149982,0.0,137488.0,14.0 -0.000158156,0.0,137488.0,14.0 -0.00014982100000000001,0.0,137488.0,14.0 -0.000150452,0.0,137488.0,14.0 -0.00016094000000000001,0.0,137488.0,14.0 -0.00016311800000000002,0.0,137488.0,14.0 -0.00015178000000000001,0.0,137488.0,14.0 -0.00015214700000000002,0.0,137488.0,14.0 -0.000159337,0.0,137488.0,14.0 -0.00015799800000000001,0.0,137488.0,14.0 -0.00014965,0.0,137488.0,14.0 -0.000153967,0.0,137488.0,14.0 -0.00015184200000000001,0.0,137488.0,14.0 -0.000149326,0.0,137488.0,14.0 -0.00015796200000000002,0.0,137488.0,14.0 -0.00015896600000000002,0.0,137488.0,14.0 -0.00014621,0.0,137488.0,14.0 -0.000159908,0.0,137488.0,14.0 -0.000148722,0.0,137488.0,14.0 -0.000150035,0.0,137488.0,14.0 -0.00015993500000000002,0.0,137488.0,14.0 -0.00015465700000000002,0.0,137488.0,14.0 -0.00015538000000000002,0.0,137488.0,14.0 -0.00015438500000000002,0.0,137488.0,14.0 -0.00015440400000000002,0.0,137488.0,14.0 -0.00015510600000000002,0.0,137488.0,14.0 -0.00015143400000000001,0.0,137488.0,14.0 -0.000151394,0.0,137488.0,14.0 -0.00016269,0.0,137488.0,14.0 -0.000148738,0.0,137488.0,14.0 -0.000176701,0.0,137488.0,14.0 -0.000159579,0.0,137488.0,14.0 -0.00014556,0.0,137488.0,14.0 -0.00015274,0.0,137488.0,14.0 -0.000147916,0.0,137488.0,14.0 -0.000151773,0.0,137488.0,14.0 -0.00015605500000000002,0.0,137488.0,14.0 -0.00016244300000000002,0.0,137488.0,14.0 -0.000146859,0.0,137488.0,14.0 -0.00015841800000000001,0.0,137488.0,14.0 -0.000146933,0.0,137488.0,14.0 -0.000152544,0.0,137488.0,14.0 -0.000164711,0.0,137488.0,14.0 -0.00014872800000000002,0.0,137488.0,14.0 -0.000151093,0.0,137488.0,14.0 -0.000157641,0.0,137488.0,14.0 -0.00015102100000000002,0.0,137488.0,14.0 -0.000150135,0.0,137488.0,14.0 -0.00015547600000000001,0.0,137488.0,14.0 -0.00015052700000000002,0.0,137488.0,14.0 -0.000158018,0.0,137488.0,14.0 -0.000150295,0.0,137488.0,14.0 -0.00015095200000000001,0.0,137488.0,14.0 -0.000158251,0.0,137488.0,14.0 -0.000151303,0.0,137488.0,14.0 -0.000154243,0.0,137488.0,14.0 -0.000176855,0.0,137488.0,14.0 -0.00015453,0.0,137488.0,14.0 -0.000158557,0.0,137488.0,14.0 -0.00028728600000000004,0.0,137488.0,14.0 -0.00024364200000000002,0.0,137488.0,14.0 -0.000157009,0.0,137488.0,14.0 -0.000155104,0.0,137488.0,14.0 -0.000161347,0.0,137488.0,14.0 -0.000155255,0.0,137488.0,14.0 -0.00015775900000000002,0.0,137488.0,14.0 -0.000154448,0.0,137488.0,14.0 -0.000151361,0.0,137488.0,14.0 -0.000154789,0.0,137488.0,14.0 -0.000165649,0.0,137488.0,14.0 -0.000153952,0.0,137488.0,14.0 -0.00016593600000000002,0.0,137488.0,14.0 -0.000151251,0.0,137488.0,14.0 -0.00015626300000000002,0.0,137488.0,14.0 -0.000155227,0.0,137488.0,14.0 -0.00016534900000000002,0.0,137488.0,14.0 -0.000161938,0.0,137488.0,14.0 -0.00016334000000000002,0.0,137488.0,14.0 -0.000155477,0.0,137488.0,14.0 -0.000166767,0.0,137488.0,14.0 -0.00015906700000000001,0.0,137488.0,14.0 -0.00014964200000000002,0.0,137488.0,14.0 -0.000149705,0.0,137488.0,14.0 -0.000157908,0.0,137488.0,14.0 -0.000156271,0.0,137488.0,14.0 -0.000153024,0.0,137488.0,14.0 -0.00015328800000000001,0.0,137488.0,14.0 -0.000159242,0.0,137488.0,14.0 -0.000158064,0.0,137488.0,14.0 -0.00015503,0.0,137488.0,14.0 -0.000163109,0.0,137488.0,14.0 -0.000155417,0.0,137488.0,14.0 -0.00015883500000000002,0.0,137488.0,14.0 -0.00014911700000000002,0.0,137488.0,14.0 -0.00014871100000000002,0.0,137488.0,14.0 -0.000153785,0.0,137488.0,14.0 -0.000162048,0.0,137488.0,14.0 -0.000153959,0.0,137488.0,14.0 -0.000159258,0.0,137488.0,14.0 -0.000153516,0.0,137488.0,14.0 -0.000158352,0.0,137488.0,14.0 -0.000159323,0.0,137488.0,14.0 -0.00015819,0.0,137488.0,14.0 -0.000154804,0.0,137488.0,14.0 -0.000150523,0.0,137488.0,14.0 -0.00016047700000000002,0.0,137488.0,14.0 -0.00015264100000000002,0.0,137488.0,14.0 -0.000157026,0.0,137488.0,14.0 -0.000151082,0.0,137488.0,14.0 -0.00014891,0.0,137488.0,14.0 -0.000152608,0.0,137488.0,14.0 -0.000151502,0.0,137488.0,14.0 -0.000154282,0.0,137488.0,14.0 -0.000156598,0.0,137488.0,14.0 -0.000159547,0.0,137488.0,14.0 -0.00016229000000000002,0.0,137488.0,14.0 -0.00015126700000000001,0.0,137488.0,14.0 -0.000154165,0.0,137488.0,14.0 -0.000155016,0.0,137488.0,14.0 -0.00016406300000000002,0.0,137488.0,14.0 -0.00014718900000000002,0.0,137488.0,14.0 -0.000167846,0.0,137488.0,14.0 -0.000161225,0.0,137488.0,14.0 -0.000158605,0.0,137488.0,14.0 -0.000157009,0.0,137488.0,14.0 -0.000148775,0.0,137488.0,14.0 -0.00015607000000000002,0.0,137488.0,14.0 -0.000153788,0.0,137488.0,14.0 -0.000163,0.0,137488.0,14.0 -0.000152807,0.0,137488.0,14.0 -0.00015361900000000002,0.0,137488.0,14.0 -0.000154391,0.0,137488.0,14.0 -0.000154477,0.0,137488.0,14.0 -0.000157145,0.0,137488.0,14.0 -0.00016221600000000002,0.0,137488.0,14.0 -0.000154809,0.0,137488.0,14.0 -0.000156622,0.0,137488.0,14.0 -0.000149239,0.0,137488.0,14.0 -0.00015396300000000002,0.0,137488.0,14.0 -0.000152804,0.0,137488.0,14.0 -0.000154697,0.0,137488.0,14.0 -0.000155811,0.0,137488.0,14.0 -0.000149552,0.0,137488.0,14.0 -0.000153016,0.0,137488.0,14.0 -0.000157173,0.0,137488.0,14.0 -0.000154794,0.0,137488.0,14.0 -0.000151072,0.0,137488.0,14.0 -0.000152818,0.0,137488.0,14.0 -0.000170031,0.0,137488.0,14.0 -0.000161115,0.0,137488.0,14.0 -0.00015757300000000002,0.0,137488.0,14.0 -0.000147588,0.0,137488.0,14.0 -0.00015799,0.0,137488.0,14.0 -0.000161056,0.0,137488.0,14.0 -0.00016190600000000002,0.0,137488.0,14.0 -0.000164265,0.0,137488.0,14.0 -0.00016990900000000002,0.0,137488.0,14.0 -0.000155909,0.0,137488.0,14.0 -0.000154957,0.0,137488.0,14.0 -0.00015721000000000002,0.0,137488.0,14.0 -0.00015386000000000002,0.0,137488.0,14.0 -0.000156099,0.0,137488.0,14.0 -0.00015827400000000002,0.0,137488.0,14.0 -0.000157228,0.0,137488.0,14.0 -0.00015817900000000002,0.0,137488.0,14.0 -0.000154358,0.0,137488.0,14.0 -0.00015423500000000002,0.0,137488.0,14.0 -0.000164558,0.0,137488.0,14.0 -0.000152273,0.0,137488.0,14.0 -0.00015551,0.0,137488.0,14.0 -0.000157174,0.0,137488.0,14.0 -0.000159759,0.0,137488.0,14.0 -0.000156231,0.0,137488.0,14.0 -0.00017112300000000002,0.0,137488.0,14.0 -0.000151174,0.0,137488.0,14.0 -0.000149054,0.0,137488.0,14.0 -0.00015217600000000001,0.0,137488.0,14.0 -0.000152721,0.0,137488.0,14.0 -0.00015764900000000002,0.0,137488.0,14.0 -0.00016435400000000002,0.0,137488.0,14.0 -0.000152699,0.0,137488.0,14.0 -0.00014918800000000002,0.0,137488.0,14.0 -0.000151173,0.0,137488.0,14.0 -0.000148745,0.0,137488.0,14.0 -0.000156,0.0,137488.0,14.0 -0.00016044600000000002,0.0,137488.0,14.0 -0.000154882,0.0,137488.0,14.0 -0.00015405,0.0,137488.0,14.0 -0.00014859,0.0,137488.0,14.0 -0.000152203,0.0,137488.0,14.0 -0.000154071,0.0,137488.0,14.0 -0.00014953700000000002,0.0,137488.0,14.0 -0.00016006,0.0,137488.0,14.0 -0.000154324,0.0,137488.0,14.0 -0.000158543,0.0,137488.0,14.0 -0.00016246700000000002,0.0,137488.0,14.0 -0.000164711,0.0,137488.0,14.0 -0.000147123,0.0,137488.0,14.0 -0.000170769,0.0,137488.0,14.0 -0.00015813600000000002,0.0,137488.0,14.0 -0.00016002100000000002,0.0,137488.0,14.0 -0.000148459,0.0,137488.0,14.0 -0.000150375,0.0,137488.0,14.0 -0.00016192500000000002,0.0,137488.0,14.0 -0.000162372,0.0,137488.0,14.0 -0.000148932,0.0,137488.0,14.0 -0.00015497900000000002,0.0,137488.0,14.0 -0.000171453,0.0,137488.0,14.0 -0.00015439000000000002,0.0,137488.0,14.0 -0.00016516,0.0,137488.0,14.0 -0.000155114,0.0,137488.0,14.0 -0.00015144800000000002,0.0,137488.0,14.0 -0.000147799,0.0,137488.0,14.0 -0.000149164,0.0,137488.0,14.0 -0.00016106600000000002,0.0,137488.0,14.0 -0.00015449500000000002,0.0,137488.0,14.0 -0.000152403,0.0,137488.0,14.0 -0.000163758,0.0,137488.0,14.0 -0.00016679700000000002,0.0,137488.0,14.0 -0.00015463100000000002,0.0,137488.0,14.0 -0.00015127400000000002,0.0,137488.0,14.0 -0.000155494,0.0,137488.0,14.0 -0.000150683,0.0,137488.0,14.0 -0.000153334,0.0,137488.0,14.0 -0.00017172000000000002,0.0,137488.0,14.0 -0.000147792,0.0,137488.0,14.0 -0.000159454,0.0,137488.0,14.0 -0.00014941000000000002,0.0,137488.0,14.0 -0.00014900500000000001,0.0,137488.0,14.0 -0.000163479,0.0,137488.0,14.0 -0.000148319,0.0,137488.0,14.0 -0.00015414400000000002,0.0,137488.0,14.0 -0.000160531,0.0,137488.0,14.0 -0.000149765,0.0,137488.0,14.0 -0.00016193000000000002,0.0,137488.0,14.0 -0.000151237,0.0,137488.0,14.0 -0.000153828,0.0,137488.0,14.0 -0.00015205,0.0,137488.0,14.0 -0.00015183000000000002,0.0,137488.0,14.0 -0.000152922,0.0,137488.0,14.0 -0.00015448,0.0,137488.0,14.0 -0.00016094400000000002,0.0,137488.0,14.0 -0.000152287,0.0,137488.0,14.0 -0.000152136,0.0,137488.0,14.0 -0.00015186800000000002,0.0,137488.0,14.0 -0.000155515,0.0,137488.0,14.0 -0.000156209,0.0,137488.0,14.0 -0.00015332800000000002,0.0,137488.0,14.0 -0.000160853,0.0,137488.0,14.0 -0.000169977,0.0,137488.0,14.0 -0.000155644,0.0,137488.0,14.0 -0.000168075,0.0,137488.0,14.0 -0.00014582400000000002,0.0,137488.0,14.0 -0.00015278,0.0,137488.0,14.0 -0.000154887,0.0,137488.0,14.0 -0.00014624,0.0,137488.0,14.0 -0.000157226,0.0,137488.0,14.0 -0.000146417,0.0,137488.0,14.0 -0.000151361,0.0,137488.0,14.0 -0.000151674,0.0,137488.0,14.0 -0.00016008500000000002,0.0,137488.0,14.0 -0.00015689,0.0,137488.0,14.0 -0.000154954,0.0,137488.0,14.0 -0.00015126400000000002,0.0,137488.0,14.0 -0.0001586,0.0,137488.0,14.0 -0.000150506,0.0,137488.0,14.0 -0.000150239,0.0,137488.0,14.0 -0.000151411,0.0,137488.0,14.0 -0.00015634,0.0,137488.0,14.0 -0.00016004500000000002,0.0,137488.0,14.0 -0.00015354500000000002,0.0,137488.0,14.0 -0.00015803300000000002,0.0,137488.0,14.0 -0.000144412,0.0,137488.0,14.0 -0.000158948,0.0,137488.0,14.0 -0.000144654,0.0,137488.0,14.0 -0.000160908,0.0,137488.0,14.0 -0.000169382,0.0,137488.0,14.0 -0.00015003300000000002,0.0,137488.0,14.0 -0.00014850800000000002,0.0,137488.0,14.0 -0.00015629600000000002,0.0,137488.0,14.0 -0.000150072,0.0,137488.0,14.0 -0.00015869700000000002,0.0,137488.0,14.0 -0.00016362,0.0,137488.0,14.0 -0.00015024300000000002,0.0,137488.0,14.0 -0.000162367,0.0,137488.0,14.0 -0.00014927700000000001,0.0,137488.0,14.0 -0.00014924,0.0,137488.0,14.0 -0.000162506,0.0,137488.0,14.0 -0.000152125,0.0,137488.0,14.0 -0.000159421,0.0,137488.0,14.0 -0.00015125200000000002,0.0,137488.0,14.0 -0.000155942,0.0,137488.0,14.0 -0.00016480500000000002,0.0,137488.0,14.0 -0.000150803,0.0,137488.0,14.0 -0.000151702,0.0,137488.0,14.0 -0.000160409,0.0,137488.0,14.0 -0.000159032,0.0,137488.0,14.0 -0.000156958,0.0,137488.0,14.0 -0.000153628,0.0,137488.0,14.0 -0.000147376,0.0,137488.0,14.0 -0.00016276300000000001,0.0,137488.0,14.0 -0.00017417500000000002,0.0,137488.0,14.0 -0.000151358,0.0,137488.0,14.0 -0.000155837,0.0,137488.0,14.0 -0.000149316,0.0,137488.0,14.0 -0.000160383,0.0,137488.0,14.0 -0.00015774700000000002,0.0,137488.0,14.0 -0.000154281,0.0,137488.0,14.0 -0.00015623400000000002,0.0,137488.0,14.0 -0.00014493900000000002,0.0,137488.0,14.0 -0.000154446,0.0,137488.0,14.0 -0.00015410400000000001,0.0,137488.0,14.0 -0.000154475,0.0,137488.0,14.0 -0.000163064,0.0,137488.0,14.0 -0.000147267,0.0,137488.0,14.0 -0.000153103,0.0,137488.0,14.0 -0.00016039,0.0,137488.0,14.0 -0.000155577,0.0,137488.0,14.0 -0.00015488,0.0,137488.0,14.0 -0.000153575,0.0,137488.0,14.0 -0.000149135,0.0,137488.0,14.0 -0.00015299200000000002,0.0,137488.0,14.0 -0.00015052700000000002,0.0,137488.0,14.0 -0.00015535900000000001,0.0,137488.0,14.0 -0.000155737,0.0,137488.0,14.0 -0.00015252400000000002,0.0,137488.0,14.0 -0.00016647800000000001,0.0,137488.0,14.0 -0.00015892,0.0,137488.0,14.0 -0.000156754,0.0,137488.0,14.0 -0.000160333,0.0,137488.0,14.0 -0.00015603600000000002,0.0,137488.0,14.0 -0.000158102,0.0,137488.0,14.0 -0.000158734,0.0,137488.0,14.0 -0.00014841300000000002,0.0,137488.0,14.0 -0.000155837,0.0,137488.0,14.0 -0.000159888,0.0,137488.0,14.0 -0.00015151200000000002,0.0,137488.0,14.0 -0.00016115400000000002,0.0,137488.0,14.0 -0.00015877,0.0,137488.0,14.0 -0.00015005900000000002,0.0,137488.0,14.0 -0.000162973,0.0,137488.0,14.0 -0.000153336,0.0,137488.0,14.0 -0.000160024,0.0,137488.0,14.0 -0.00015367,0.0,137488.0,14.0 -0.00014964200000000002,0.0,137488.0,14.0 -0.000157978,0.0,137488.0,14.0 -0.000149943,0.0,137488.0,14.0 -0.000152217,0.0,137488.0,14.0 -0.000161309,0.0,137488.0,14.0 -0.00015540400000000002,0.0,137488.0,14.0 -0.00015482200000000002,0.0,137488.0,14.0 -0.000156501,0.0,137488.0,14.0 -0.000163339,0.0,137488.0,14.0 -0.000163787,0.0,137488.0,14.0 -0.00015116400000000002,0.0,137488.0,14.0 -0.000152475,0.0,137488.0,14.0 -0.00016375300000000002,0.0,137488.0,14.0 -0.000152251,0.0,137488.0,14.0 -0.00015828,0.0,137488.0,14.0 -0.000155016,0.0,137488.0,14.0 -0.000146983,0.0,137488.0,14.0 -0.000159739,0.0,137488.0,14.0 -0.00015162900000000002,0.0,137488.0,14.0 -0.00015180600000000002,0.0,137488.0,14.0 -0.000157162,0.0,137488.0,14.0 -0.000148094,0.0,137488.0,14.0 -0.00015380300000000002,0.0,137488.0,14.0 -0.00015500800000000002,0.0,137488.0,14.0 -0.000150127,0.0,137488.0,14.0 -0.000152007,0.0,137488.0,14.0 -0.000158219,0.0,137488.0,14.0 -0.00015563800000000002,0.0,137488.0,14.0 -0.000148307,0.0,137488.0,14.0 -0.00016338500000000002,0.0,137488.0,14.0 -0.00015003,0.0,137488.0,14.0 -0.000148163,0.0,137488.0,14.0 -0.000153744,0.0,137488.0,14.0 -0.000147502,0.0,137488.0,14.0 -0.000172639,0.0,137488.0,14.0 -0.000153919,0.0,137488.0,14.0 -0.000148546,0.0,137488.0,14.0 -0.00015849900000000002,0.0,137488.0,14.0 -0.000146892,0.0,137488.0,14.0 -0.00015696200000000002,0.0,137488.0,14.0 -0.00016364300000000002,0.0,137488.0,14.0 -0.000147219,0.0,137488.0,14.0 -0.00015243100000000002,0.0,137488.0,14.0 -0.00015680500000000001,0.0,137488.0,14.0 -0.00015016700000000001,0.0,137488.0,14.0 -0.000156493,0.0,137488.0,14.0 -0.000152508,0.0,137488.0,14.0 -0.000152265,0.0,137488.0,14.0 -0.000157366,0.0,137488.0,14.0 -0.0016118920000000002,0.8174828090219444,137488.0,14.0 -0.003367806,0.0,137488.0,14.0 -0.000176741,0.0,137488.0,14.0 -0.000151657,0.0,137488.0,14.0 -0.000160466,0.0,137488.0,14.0 -0.000150523,0.0,137488.0,14.0 -0.00017234000000000002,0.0,137488.0,14.0 -0.000155238,0.0,137488.0,14.0 -0.000151945,0.0,137488.0,14.0 -0.000166488,0.0,137488.0,14.0 -0.000161841,0.0,137488.0,14.0 -0.00015812200000000002,0.0,137488.0,14.0 -0.00015577400000000002,0.0,137488.0,14.0 -0.00015445400000000002,0.0,137488.0,14.0 -0.000145833,0.0,137488.0,14.0 -0.00015741,0.0,137488.0,14.0 -0.000154789,0.0,137488.0,14.0 -0.00016419200000000002,0.0,137488.0,14.0 -0.000156026,0.0,137488.0,14.0 -0.000157226,0.0,137488.0,14.0 -0.00016165300000000002,0.0,137488.0,14.0 -0.000156369,0.0,137488.0,14.0 -0.00015452,0.0,137488.0,14.0 -0.000151688,0.0,137488.0,14.0 -0.000153463,0.0,137488.0,14.0 -0.00015516300000000002,0.0,137488.0,14.0 -0.00015382000000000001,0.0,137488.0,14.0 -0.000152239,0.0,137488.0,14.0 -0.000157255,0.0,137488.0,14.0 -0.000162296,0.0,137488.0,14.0 -0.000161509,0.0,137488.0,14.0 -0.000167515,0.0,137488.0,14.0 -0.00015214200000000002,0.0,137488.0,14.0 -0.00015060800000000002,0.0,137488.0,14.0 -0.00015064600000000002,0.0,137488.0,14.0 -0.000152079,0.0,137488.0,14.0 -0.000151428,0.0,137488.0,14.0 -0.00015632300000000001,0.0,137488.0,14.0 -0.000157925,0.0,137488.0,14.0 -0.00015296300000000002,0.0,137488.0,14.0 -0.000152106,0.0,137488.0,14.0 -0.00015059,0.0,137488.0,14.0 -0.000152644,0.0,137488.0,14.0 -0.00015312300000000002,0.0,137488.0,14.0 -0.000155945,0.0,137488.0,14.0 -0.000158671,0.0,137488.0,14.0 -0.000159762,0.0,137488.0,14.0 -0.000158911,0.0,137488.0,14.0 -0.000151322,0.0,137488.0,14.0 -0.000153888,0.0,137488.0,14.0 -0.000160642,0.0,137488.0,14.0 -0.00014887600000000002,0.0,137488.0,14.0 -0.000154401,0.0,137488.0,14.0 -0.00015353300000000002,0.0,137488.0,14.0 -0.000155673,0.0,137488.0,14.0 -0.000153871,0.0,137488.0,14.0 -0.000161867,0.0,137488.0,14.0 -0.00017286000000000002,0.0,137488.0,14.0 -0.000155405,0.0,137488.0,14.0 -0.000150225,0.0,137488.0,14.0 -0.000163465,0.0,137488.0,14.0 -0.00015491500000000002,0.0,137488.0,14.0 -0.00015866800000000002,0.0,137488.0,14.0 -0.000150218,0.0,137488.0,14.0 -0.000152525,0.0,137488.0,14.0 -0.000153081,0.0,137488.0,14.0 -0.00015272700000000002,0.0,137488.0,14.0 -0.000154739,0.0,137488.0,14.0 -0.000155797,0.0,137488.0,14.0 -0.000163181,0.0,137488.0,14.0 -0.000149836,0.0,137488.0,14.0 -0.000150344,0.0,137488.0,14.0 -0.000161242,0.0,137488.0,14.0 -0.00015661,0.0,137488.0,14.0 -0.000151294,0.0,137488.0,14.0 -0.00015099900000000002,0.0,137488.0,14.0 -0.00015601500000000002,0.0,137488.0,14.0 -0.000151416,0.0,137488.0,14.0 -0.000159929,0.0,137488.0,14.0 -0.000153005,0.0,137488.0,14.0 -0.00015518000000000002,0.0,137488.0,14.0 -0.00016481000000000002,0.0,137488.0,14.0 -0.000167663,0.0,137488.0,14.0 -0.00015561,0.0,137488.0,14.0 -0.00014609,0.0,137488.0,14.0 -0.000155228,0.0,137488.0,14.0 -0.00015557600000000002,0.0,137488.0,14.0 -0.000148781,0.0,137488.0,14.0 -0.00015762500000000002,0.0,137488.0,14.0 -0.000152676,0.0,137488.0,14.0 -0.000156102,0.0,137488.0,14.0 -0.00016207500000000002,0.0,137488.0,14.0 -0.000158882,0.0,137488.0,14.0 -0.000155224,0.0,137488.0,14.0 -0.00016360700000000002,0.0,137488.0,14.0 -0.000158719,0.0,137488.0,14.0 -0.000159123,0.0,137488.0,14.0 -0.000160027,0.0,137488.0,14.0 -0.000153034,0.0,137488.0,14.0 -0.00015479,0.0,137488.0,14.0 -0.000150684,0.0,137488.0,14.0 -0.00016164,0.0,137488.0,14.0 -0.000155627,0.0,137488.0,14.0 -0.00015899300000000001,0.0,137488.0,14.0 -0.000152821,0.0,137488.0,14.0 -0.00015053,0.0,137488.0,14.0 -0.00016846800000000001,0.0,137488.0,14.0 -0.00017202500000000002,0.0,137488.0,14.0 -0.00015373100000000002,0.0,137488.0,14.0 -0.00016115000000000001,0.0,137488.0,14.0 -0.00016718900000000001,0.0,137488.0,14.0 -0.000162406,0.0,137488.0,14.0 -0.000160858,0.0,137488.0,14.0 -0.000156853,0.0,137488.0,14.0 -0.00015361200000000002,0.0,137488.0,14.0 -0.000151605,0.0,137488.0,14.0 -0.00015583600000000002,0.0,137488.0,14.0 -0.00014995,0.0,137488.0,14.0 -0.00015832000000000002,0.0,137488.0,14.0 -0.000166049,0.0,137488.0,14.0 -0.000168412,0.0,137488.0,14.0 -0.00015307500000000002,0.0,137488.0,14.0 -0.000158534,0.0,137488.0,14.0 -0.00015992800000000002,0.0,137488.0,14.0 -0.00015309900000000002,0.0,137488.0,14.0 -0.000156935,0.0,137488.0,14.0 -0.000151631,0.0,137488.0,14.0 -0.00015548300000000002,0.0,137488.0,14.0 -0.00014953900000000002,0.0,137488.0,14.0 -0.00015538500000000002,0.0,137488.0,14.0 -0.00015694,0.0,137488.0,14.0 -0.00015778500000000002,0.0,137488.0,14.0 -0.00015753200000000002,0.0,137488.0,14.0 -0.000172048,0.0,137488.0,14.0 -0.000162267,0.0,137488.0,14.0 -0.00016090900000000001,0.0,137488.0,14.0 -0.00016895200000000002,0.0,137488.0,14.0 -0.000152501,0.0,137488.0,14.0 -0.000166804,0.0,137488.0,14.0 -0.000151688,0.0,137488.0,14.0 -0.00015108,0.0,137488.0,14.0 -0.00016497000000000001,0.0,137488.0,14.0 -0.000152532,0.0,137488.0,14.0 -0.000173777,0.0,137488.0,14.0 -0.00015950300000000002,0.0,137488.0,14.0 -0.000160829,0.0,137488.0,14.0 -0.000150461,0.0,137488.0,14.0 -0.00016782800000000002,0.0,137488.0,14.0 -0.00015024,0.0,137488.0,14.0 +0.0001597503,0.0,137488.0,14.0 +0.00015542230000000002,0.0,137488.0,14.0 +0.0001591849,0.0,137488.0,14.0 +0.00015662880000000002,0.0,137488.0,14.0 +0.00015805380000000001,0.0,137488.0,14.0 +0.00015962930000000002,0.0,137488.0,14.0 +0.0001545054,0.0,137488.0,14.0 +0.0017562976000000002,0.0,137488.0,14.0 +0.0001586368,0.0,137488.0,14.0 +0.00016530830000000002,0.0,137488.0,14.0 +0.0001589019,0.0,137488.0,14.0 +0.0001584623,0.0,137488.0,14.0 +0.0001600514,0.0,137488.0,14.0 +0.0001554438,0.0,137488.0,14.0 +0.0001562172,0.0,137488.0,14.0 +0.000156024,0.0,137488.0,14.0 +0.00015603590000000001,0.0,137488.0,14.0 +0.0001558418,0.0,137488.0,14.0 +0.0017619419,0.0,137488.0,14.0 +0.0001549866,0.0,137488.0,14.0 +0.000157441,0.0,137488.0,14.0 +0.0001553152,0.0,137488.0,14.0 +0.00015629590000000002,0.0,137488.0,14.0 +0.000159621,0.0,137488.0,14.0 +0.0001558599,0.0,137488.0,14.0 +0.0001568451,0.0,137488.0,14.0 +0.00015606070000000002,0.0,137488.0,14.0 +0.00015623140000000003,0.0,137488.0,14.0 +0.0017599580999999999,0.0,137488.0,14.0 +0.00015579,0.0,137488.0,14.0 +0.0001572204,0.0,137488.0,14.0 +0.0001554046,0.0,137488.0,14.0 +0.000309903,0.4387734226516039,137488.0,14.0 +0.0001606981,0.0,137488.0,14.0 +0.00015907060000000002,0.0,137488.0,14.0 +0.0001559068,0.0,137488.0,14.0 +0.00015583950000000002,0.0,137488.0,14.0 +0.0017623814,0.0,137488.0,14.0 +0.00015896060000000002,0.0,137488.0,14.0 +0.0001584228,0.0,137488.0,14.0 +0.00015658730000000002,0.0,137488.0,14.0 +0.00015572,0.0,137488.0,14.0 +0.00015826660000000002,0.0,137488.0,14.0 +0.00015804650000000002,0.0,137488.0,14.0 +0.0001565944,0.0,137488.0,14.0 +0.0001584532,0.0,137488.0,14.0 +0.0001573268,0.0,137488.0,14.0 +0.0017609901,0.0,137488.0,14.0 +0.0001573896,0.0,137488.0,14.0 +0.000157827,0.0,137488.0,14.0 +0.0001568658,0.0,137488.0,14.0 +0.00015784940000000003,0.0,137488.0,14.0 +0.0001582444,0.0,137488.0,14.0 +0.0001549002,0.0,137488.0,14.0 +0.0001547711,0.0,137488.0,14.0 +0.0001570462,0.0,137488.0,14.0 +0.0001568797,0.0,137488.0,14.0 +0.00015624990000000002,0.0,137488.0,14.0 +0.00015427510000000003,0.0,137488.0,14.0 +0.00015616220000000001,0.0,137488.0,14.0 +0.00015905890000000002,0.0,137488.0,14.0 +0.000156138,0.0,137488.0,14.0 +0.0001581203,0.0,137488.0,14.0 +0.00015495610000000002,0.0,137488.0,14.0 +0.0001555313,0.0,137488.0,14.0 +0.0005616364,0.6971343025487664,137488.0,14.0 +0.0001576467,0.0,137488.0,14.0 +0.0001585872,0.0,137488.0,14.0 +0.00015598670000000002,0.0,137488.0,14.0 +0.00015432260000000002,0.0,137488.0,14.0 +0.00015716,0.0,137488.0,14.0 +0.0001598333,0.0,137488.0,14.0 +0.00015823450000000002,0.0,137488.0,14.0 +0.00015373400000000002,0.0,137488.0,14.0 +0.0001569313,0.0,137488.0,14.0 +0.0001599874,0.0,137488.0,14.0 +0.0001561806,0.0,137488.0,14.0 +0.0017618420000000002,0.0,137488.0,14.0 +0.0001603543,0.0,137488.0,14.0 +0.0001575217,0.0,137488.0,14.0 +0.00015599840000000002,0.0,137488.0,14.0 +0.0001593804,0.0,137488.0,14.0 +0.00015682570000000003,0.0,137488.0,14.0 +0.00015420590000000001,0.0,137488.0,14.0 +0.00017714190000000003,0.0,137488.0,14.0 +0.00026857020000000005,0.0,137488.0,14.0 +0.0016965216,0.0,137488.0,14.0 +0.0002744335,0.0,137488.0,14.0 +0.00028612330000000005,0.0,137488.0,14.0 +0.0002871913,0.0,137488.0,14.0 +0.0002730429,0.0,137488.0,14.0 +0.00026957690000000003,0.0,137488.0,14.0 +0.00026698630000000003,0.0,137488.0,14.0 +0.0018728483,0.0,137488.0,14.0 +0.00027627930000000004,0.0,137488.0,14.0 +0.000276859,0.0,137488.0,14.0 +0.00027680930000000003,0.0,137488.0,14.0 +0.0002758497,0.0,137488.0,14.0 +0.0018796124,0.0,137488.0,14.0 +0.00031745030000000004,0.4261602524867672,137488.0,14.0 +0.00015819690000000002,0.0,137488.0,14.0 +0.000153153,0.0,137488.0,14.0 +0.00015762850000000002,0.0,137488.0,14.0 0.00015666600000000002,0.0,137488.0,14.0 -0.000151771,0.0,137488.0,14.0 -0.00015028600000000002,0.0,137488.0,14.0 -0.000160161,0.0,137488.0,14.0 -0.000147488,0.0,137488.0,14.0 -0.000155825,0.0,137488.0,14.0 -0.000158056,0.0,137488.0,14.0 -0.000153856,0.0,137488.0,14.0 -0.000157879,0.0,137488.0,14.0 -0.000168626,0.0,137488.0,14.0 -0.000156439,0.0,137488.0,14.0 -0.00015977300000000002,0.0,137488.0,14.0 -0.000160573,0.0,137488.0,14.0 -0.00015569000000000002,0.0,137488.0,14.0 -0.000151292,0.0,137488.0,14.0 -0.000156379,0.0,137488.0,14.0 -0.00014557800000000002,0.0,137488.0,14.0 -0.000158049,0.0,137488.0,14.0 -0.00016076500000000002,0.0,137488.0,14.0 -0.000155519,0.0,137488.0,14.0 -0.000159103,0.0,137488.0,14.0 -0.000152903,0.0,137488.0,14.0 -0.00015012,0.0,137488.0,14.0 -0.000161483,0.0,137488.0,14.0 -0.00015138,0.0,137488.0,14.0 +0.00015854160000000001,0.0,137488.0,14.0 +0.0001596768,0.0,137488.0,14.0 +0.0001547277,0.0,137488.0,14.0 +0.00015447380000000003,0.0,137488.0,14.0 +0.0013675821,0.0,137488.0,14.0 +0.0001632729,0.0,137488.0,14.0 +0.0001638298,0.0,137488.0,14.0 +0.0001614888,0.0,137488.0,14.0 +0.0001639267,0.0,137488.0,14.0 +0.0001608003,0.0,137488.0,14.0 +0.0001640884,0.0,137488.0,14.0 +0.000162538,0.0,137488.0,14.0 0.000160945,0.0,137488.0,14.0 -0.000160869,0.0,137488.0,14.0 -0.00015212800000000002,0.0,137488.0,14.0 -0.000161156,0.0,137488.0,14.0 -0.000154952,0.0,137488.0,14.0 -0.00015157400000000002,0.0,137488.0,14.0 -0.00016157,0.0,137488.0,14.0 -0.000164227,0.0,137488.0,14.0 -0.00015710300000000002,0.0,137488.0,14.0 -0.00017459500000000002,0.0,137488.0,14.0 -0.00015686,0.0,137488.0,14.0 -0.00015937900000000002,0.0,137488.0,14.0 -0.000170981,0.0,137488.0,14.0 -0.000157825,0.0,137488.0,14.0 -0.000170024,0.0,137488.0,14.0 -0.000150223,0.0,137488.0,14.0 -0.000153007,0.0,137488.0,14.0 -0.000161613,0.0,137488.0,14.0 -0.000146216,0.0,137488.0,14.0 -0.00015980900000000001,0.0,137488.0,14.0 -0.00015153600000000002,0.0,137488.0,14.0 -0.000148068,0.0,137488.0,14.0 -0.00017080100000000002,0.0,137488.0,14.0 -0.00015153600000000002,0.0,137488.0,14.0 -0.000149485,0.0,137488.0,14.0 -0.000156074,0.0,137488.0,14.0 -0.00015795200000000002,0.0,137488.0,14.0 -0.000155221,0.0,137488.0,14.0 -0.000154942,0.0,137488.0,14.0 -0.000152905,0.0,137488.0,14.0 -0.00015782,0.0,137488.0,14.0 -0.000154537,0.0,137488.0,14.0 -0.00015247,0.0,137488.0,14.0 -0.000150908,0.0,137488.0,14.0 -0.00017376200000000002,0.0,137488.0,14.0 -0.000163859,0.0,137488.0,14.0 -0.00014757,0.0,137488.0,14.0 -0.000157379,0.0,137488.0,14.0 -0.00015365000000000002,0.0,137488.0,14.0 -0.00015461200000000002,0.0,137488.0,14.0 -0.000164727,0.0,137488.0,14.0 -0.000155247,0.0,137488.0,14.0 -0.000166341,0.0,137488.0,14.0 -0.000151998,0.0,137488.0,14.0 -0.000146927,0.0,137488.0,14.0 -0.000158137,0.0,137488.0,14.0 -0.000152921,0.0,137488.0,14.0 -0.00015772300000000002,0.0,137488.0,14.0 -0.000163485,0.0,137488.0,14.0 -0.00014947200000000002,0.0,137488.0,14.0 -0.000155723,0.0,137488.0,14.0 -0.00015088500000000002,0.0,137488.0,14.0 -0.000148598,0.0,137488.0,14.0 -0.000166417,0.0,137488.0,14.0 -0.00015410800000000002,0.0,137488.0,14.0 -0.000160166,0.0,137488.0,14.0 -0.000163121,0.0,137488.0,14.0 -0.000150268,0.0,137488.0,14.0 -0.000154427,0.0,137488.0,14.0 -0.00015603900000000001,0.0,137488.0,14.0 -0.000168691,0.0,137488.0,14.0 -0.000148948,0.0,137488.0,14.0 -0.00016172200000000002,0.0,137488.0,14.0 -0.000149531,0.0,137488.0,14.0 -0.000146818,0.0,137488.0,14.0 -0.000160177,0.0,137488.0,14.0 -0.000152516,0.0,137488.0,14.0 -0.000157038,0.0,137488.0,14.0 -0.000154943,0.0,137488.0,14.0 -0.000152163,0.0,137488.0,14.0 -0.00015514900000000001,0.0,137488.0,14.0 -0.000151774,0.0,137488.0,14.0 -0.00015452100000000002,0.0,137488.0,14.0 -0.00015405800000000002,0.0,137488.0,14.0 -0.00015610300000000002,0.0,137488.0,14.0 -0.000155388,0.0,137488.0,14.0 -0.00015650200000000001,0.0,137488.0,14.0 -0.00016302300000000001,0.0,137488.0,14.0 -0.00015954100000000002,0.0,137488.0,14.0 -0.000150044,0.0,137488.0,14.0 -0.000153322,0.0,137488.0,14.0 -0.000158356,0.0,137488.0,14.0 -0.000153794,0.0,137488.0,14.0 -0.000150893,0.0,137488.0,14.0 -0.000154765,0.0,137488.0,14.0 -0.00016184900000000002,0.0,137488.0,14.0 -0.000163701,0.0,137488.0,14.0 -0.000149822,0.0,137488.0,14.0 -0.00014961100000000001,0.0,137488.0,14.0 -0.000159387,0.0,137488.0,14.0 -0.000149282,0.0,137488.0,14.0 -0.000154057,0.0,137488.0,14.0 -0.000155666,0.0,137488.0,14.0 -0.000151213,0.0,137488.0,14.0 -0.000164611,0.0,137488.0,14.0 -0.000151072,0.0,137488.0,14.0 -0.00015441,0.0,137488.0,14.0 -0.00015717700000000002,0.0,137488.0,14.0 -0.000148956,0.0,137488.0,14.0 -0.000155539,0.0,137488.0,14.0 -0.00015531300000000002,0.0,137488.0,14.0 -0.000152205,0.0,137488.0,14.0 -0.000158342,0.0,137488.0,14.0 -0.000151657,0.0,137488.0,14.0 -0.000150518,0.0,137488.0,14.0 -0.00016270500000000002,0.0,137488.0,14.0 -0.000151561,0.0,137488.0,14.0 -0.000156143,0.0,137488.0,14.0 -0.000152125,0.0,137488.0,14.0 -0.000147626,0.0,137488.0,14.0 -0.000159459,0.0,137488.0,14.0 -0.000158529,0.0,137488.0,14.0 -0.000157877,0.0,137488.0,14.0 -0.000158789,0.0,137488.0,14.0 -0.000147703,0.0,137488.0,14.0 -0.00017235900000000002,0.0,137488.0,14.0 -0.000162638,0.0,137488.0,14.0 -0.000149306,0.0,137488.0,14.0 -0.00016326400000000001,0.0,137488.0,14.0 -0.00015012600000000002,0.0,137488.0,14.0 -0.000153676,0.0,137488.0,14.0 -0.000156662,0.0,137488.0,14.0 -0.00015126200000000002,0.0,137488.0,14.0 -0.000152971,0.0,137488.0,14.0 -0.000156765,0.0,137488.0,14.0 -0.000153842,0.0,137488.0,14.0 -0.000159153,0.0,137488.0,14.0 -0.000148285,0.0,137488.0,14.0 -0.000155422,0.0,137488.0,14.0 -0.00015814600000000001,0.0,137488.0,14.0 -0.00015353100000000002,0.0,137488.0,14.0 -0.000154085,0.0,137488.0,14.0 -0.00015196,0.0,137488.0,14.0 -0.00015037,0.0,137488.0,14.0 -0.00015854400000000002,0.0,137488.0,14.0 -0.000147758,0.0,137488.0,14.0 -0.000157104,0.0,137488.0,14.0 -0.0001743,0.0,137488.0,14.0 -0.000149629,0.0,137488.0,14.0 -0.000158412,0.0,137488.0,14.0 -0.00016507000000000002,0.0,137488.0,14.0 -0.00014926200000000002,0.0,137488.0,14.0 -0.000162566,0.0,137488.0,14.0 -0.000153904,0.0,137488.0,14.0 -0.000151718,0.0,137488.0,14.0 -0.00016808300000000002,0.0,137488.0,14.0 -0.00015670000000000001,0.0,137488.0,14.0 -0.000160304,0.0,137488.0,14.0 -0.00015754200000000002,0.0,137488.0,14.0 -0.00015056300000000002,0.0,137488.0,14.0 -0.00015891,0.0,137488.0,14.0 -0.000153491,0.0,137488.0,14.0 -0.00016290300000000002,0.0,137488.0,14.0 -0.000159478,0.0,137488.0,14.0 -0.00015245700000000002,0.0,137488.0,14.0 -0.00015801200000000002,0.0,137488.0,14.0 -0.000157934,0.0,137488.0,14.0 -0.000152074,0.0,137488.0,14.0 -0.00016282000000000002,0.0,137488.0,14.0 -0.008518482,0.962671870410714,137488.0,14.0 -0.000182795,0.0,137488.0,14.0 -0.00015179600000000002,0.0,137488.0,14.0 -0.000153441,0.0,137488.0,14.0 -0.000163436,0.0,137488.0,14.0 -0.00015442600000000002,0.0,137488.0,14.0 -0.000155815,0.0,137488.0,14.0 -0.00016509400000000002,0.0,137488.0,14.0 -0.00016053600000000002,0.0,137488.0,14.0 -0.000154343,0.0,137488.0,14.0 -0.000168266,0.0,137488.0,14.0 -0.00015509400000000002,0.0,137488.0,14.0 -0.000152026,0.0,137488.0,14.0 -0.00014848000000000001,0.0,137488.0,14.0 -0.000154399,0.0,137488.0,14.0 -0.00015568300000000002,0.0,137488.0,14.0 -0.000158994,0.0,137488.0,14.0 -0.00016567800000000002,0.0,137488.0,14.0 -0.000166562,0.0,137488.0,14.0 -0.00015062200000000002,0.0,137488.0,14.0 -0.000158583,0.0,137488.0,14.0 -0.00016460500000000001,0.0,137488.0,14.0 -0.000151278,0.0,137488.0,14.0 -0.00015069,0.0,137488.0,14.0 -0.000159235,0.0,137488.0,14.0 -0.000158567,0.0,137488.0,14.0 -0.000170702,0.0,137488.0,14.0 -0.00015415400000000002,0.0,137488.0,14.0 -0.000160046,0.0,137488.0,14.0 -0.00016974900000000002,0.0,137488.0,14.0 -0.000154263,0.0,137488.0,14.0 -0.000157042,0.0,137488.0,14.0 -0.000157035,0.0,137488.0,14.0 -0.00015539700000000002,0.0,137488.0,14.0 -0.000153788,0.0,137488.0,14.0 -0.000152864,0.0,137488.0,14.0 -0.000156556,0.0,137488.0,14.0 -0.000147865,0.0,137488.0,14.0 -0.000148577,0.0,137488.0,14.0 -0.000163062,0.0,137488.0,14.0 -0.000149588,0.0,137488.0,14.0 -0.00015798600000000002,0.0,137488.0,14.0 -0.000156804,0.0,137488.0,14.0 -0.00014967500000000002,0.0,137488.0,14.0 -0.000154253,0.0,137488.0,14.0 -0.000159927,0.0,137488.0,14.0 -0.0001565,0.0,137488.0,14.0 -0.00015772,0.0,137488.0,14.0 -0.00015848000000000001,0.0,137488.0,14.0 -0.000148545,0.0,137488.0,14.0 -0.000150494,0.0,137488.0,14.0 -0.000161762,0.0,137488.0,14.0 -0.000156553,0.0,137488.0,14.0 -0.000150282,0.0,137488.0,14.0 -0.000158869,0.0,137488.0,14.0 -0.000161721,0.0,137488.0,14.0 -0.000156786,0.0,137488.0,14.0 -0.00015484600000000001,0.0,137488.0,14.0 -0.000152601,0.0,137488.0,14.0 -0.000151518,0.0,137488.0,14.0 -0.00016125500000000001,0.0,137488.0,14.0 -0.00015192500000000002,0.0,137488.0,14.0 -0.000156321,0.0,137488.0,14.0 -0.00014852300000000001,0.0,137488.0,14.0 -0.00015436100000000002,0.0,137488.0,14.0 -0.000154987,0.0,137488.0,14.0 -0.00015479800000000002,0.0,137488.0,14.0 -0.00015526,0.0,137488.0,14.0 -0.000152256,0.0,137488.0,14.0 -0.00016212,0.0,137488.0,14.0 -0.000155153,0.0,137488.0,14.0 -0.000160643,0.0,137488.0,14.0 -0.00015973000000000002,0.0,137488.0,14.0 -0.00015896600000000002,0.0,137488.0,14.0 -0.000154714,0.0,137488.0,14.0 -0.000160247,0.0,137488.0,14.0 -0.000151912,0.0,137488.0,14.0 -0.000169886,0.0,137488.0,14.0 -0.000153497,0.0,137488.0,14.0 -0.000153589,0.0,137488.0,14.0 -0.00015616300000000002,0.0,137488.0,14.0 -0.000161879,0.0,137488.0,14.0 -0.00015421600000000002,0.0,137488.0,14.0 -0.00014908300000000002,0.0,137488.0,14.0 -0.00015392200000000002,0.0,137488.0,14.0 -0.000157094,0.0,137488.0,14.0 -0.000151699,0.0,137488.0,14.0 -0.00015332100000000002,0.0,137488.0,14.0 -0.000155363,0.0,137488.0,14.0 -0.000147899,0.0,137488.0,14.0 -0.00015328300000000002,0.0,137488.0,14.0 -0.00015871600000000002,0.0,137488.0,14.0 -0.00015542300000000002,0.0,137488.0,14.0 -0.000151667,0.0,137488.0,14.0 -0.00016029300000000002,0.0,137488.0,14.0 -0.000156488,0.0,137488.0,14.0 -0.00016252,0.0,137488.0,14.0 -0.00016111600000000002,0.0,137488.0,14.0 -0.00016214000000000002,0.0,137488.0,14.0 -0.00015290600000000002,0.0,137488.0,14.0 -0.000147572,0.0,137488.0,14.0 -0.000157262,0.0,137488.0,14.0 -0.00017238100000000002,0.0,137488.0,14.0 -0.000157101,0.0,137488.0,14.0 -0.000154506,0.0,137488.0,14.0 -0.000157138,0.0,137488.0,14.0 -0.000158042,0.0,137488.0,14.0 -0.00016163400000000002,0.0,137488.0,14.0 -0.000164747,0.0,137488.0,14.0 -0.000152578,0.0,137488.0,14.0 -0.00015437100000000002,0.0,137488.0,14.0 -0.000162379,0.0,137488.0,14.0 -0.00016100600000000002,0.0,137488.0,14.0 -0.000149951,0.0,137488.0,14.0 -0.000153026,0.0,137488.0,14.0 -0.000154804,0.0,137488.0,14.0 -0.000152169,0.0,137488.0,14.0 -0.000155894,0.0,137488.0,14.0 -0.000158614,0.0,137488.0,14.0 -0.000160846,0.0,137488.0,14.0 -0.000169411,0.0,137488.0,14.0 -0.00015545,0.0,137488.0,14.0 -0.000153072,0.0,137488.0,14.0 -0.00015482200000000002,0.0,137488.0,14.0 -0.000157435,0.0,137488.0,14.0 -0.000155801,0.0,137488.0,14.0 -0.000154665,0.0,137488.0,14.0 -0.00016754,0.0,137488.0,14.0 -0.000158099,0.0,137488.0,14.0 -0.00014918800000000002,0.0,137488.0,14.0 -0.000153797,0.0,137488.0,14.0 -0.000153306,0.0,137488.0,14.0 -0.000151473,0.0,137488.0,14.0 -0.000161225,0.0,137488.0,14.0 -0.00014993300000000002,0.0,137488.0,14.0 -0.000160268,0.0,137488.0,14.0 -0.000166503,0.0,137488.0,14.0 -0.00015395100000000002,0.0,137488.0,14.0 -0.000155278,0.0,137488.0,14.0 -0.00015355500000000002,0.0,137488.0,14.0 -0.000156273,0.0,137488.0,14.0 -0.00015886100000000002,0.0,137488.0,14.0 -0.00016796,0.0,137488.0,14.0 -0.000164775,0.0,137488.0,14.0 -0.000149118,0.0,137488.0,14.0 -0.000161978,0.0,137488.0,14.0 -0.000147259,0.0,137488.0,14.0 -0.00015954600000000002,0.0,137488.0,14.0 -0.00015315400000000002,0.0,137488.0,14.0 -0.000155129,0.0,137488.0,14.0 -0.00015957000000000002,0.0,137488.0,14.0 -0.00014939,0.0,137488.0,14.0 -0.000160469,0.0,137488.0,14.0 -0.00016747700000000002,0.0,137488.0,14.0 -0.00015224500000000002,0.0,137488.0,14.0 -0.000157416,0.0,137488.0,14.0 -0.000156095,0.0,137488.0,14.0 -0.00015819100000000002,0.0,137488.0,14.0 -0.000148263,0.0,137488.0,14.0 -0.000166777,0.0,137488.0,14.0 -0.000155102,0.0,137488.0,14.0 -0.00014893,0.0,137488.0,14.0 -0.00015787100000000002,0.0,137488.0,14.0 -0.000148359,0.0,137488.0,14.0 -0.000151667,0.0,137488.0,14.0 -0.000158354,0.0,137488.0,14.0 -0.000148645,0.0,137488.0,14.0 -0.00016182700000000002,0.0,137488.0,14.0 -0.000154498,0.0,137488.0,14.0 -0.00014754200000000002,0.0,137488.0,14.0 -0.000156155,0.0,137488.0,14.0 -0.000153766,0.0,137488.0,14.0 -0.000154623,0.0,137488.0,14.0 -0.000154181,0.0,137488.0,14.0 -0.000152709,0.0,137488.0,14.0 -0.000155415,0.0,137488.0,14.0 -0.00015414,0.0,137488.0,14.0 -0.00015002100000000002,0.0,137488.0,14.0 -0.000169776,0.0,137488.0,14.0 -0.000166081,0.0,137488.0,14.0 -0.00015473,0.0,137488.0,14.0 -0.000153874,0.0,137488.0,14.0 -0.000159036,0.0,137488.0,14.0 -0.000155352,0.0,137488.0,14.0 -0.00015011,0.0,137488.0,14.0 -0.000152747,0.0,137488.0,14.0 -0.00015818100000000002,0.0,137488.0,14.0 -0.00015644400000000002,0.0,137488.0,14.0 -0.00015202800000000002,0.0,137488.0,14.0 -0.00015754400000000002,0.0,137488.0,14.0 -0.000152409,0.0,137488.0,14.0 -0.00016968400000000002,0.0,137488.0,14.0 -0.00015156000000000002,0.0,137488.0,14.0 -0.000151516,0.0,137488.0,14.0 -0.00015925000000000002,0.0,137488.0,14.0 -0.00014823,0.0,137488.0,14.0 -0.000158065,0.0,137488.0,14.0 -0.00015746,0.0,137488.0,14.0 -0.000150295,0.0,137488.0,14.0 -0.00015360000000000002,0.0,137488.0,14.0 -0.000164679,0.0,137488.0,14.0 -0.000152986,0.0,137488.0,14.0 -0.00016010700000000002,0.0,137488.0,14.0 -0.00015135500000000002,0.0,137488.0,14.0 -0.000170039,0.0,137488.0,14.0 -0.000155932,0.0,137488.0,14.0 -0.00015734900000000001,0.0,137488.0,14.0 -0.00015695500000000002,0.0,137488.0,14.0 -0.00014926700000000002,0.0,137488.0,14.0 -0.00017088200000000002,0.0,137488.0,14.0 -0.000155312,0.0,137488.0,14.0 -0.00015320400000000002,0.0,137488.0,14.0 -0.00016766600000000002,0.0,137488.0,14.0 -0.00014766,0.0,137488.0,14.0 -0.000151471,0.0,137488.0,14.0 -0.00015662800000000002,0.0,137488.0,14.0 -0.000146569,0.0,137488.0,14.0 -0.000160332,0.0,137488.0,14.0 -0.000153015,0.0,137488.0,14.0 -0.000149411,0.0,137488.0,14.0 -0.000157953,0.0,137488.0,14.0 -0.00015548000000000002,0.0,137488.0,14.0 -0.000156956,0.0,137488.0,14.0 -0.000161664,0.0,137488.0,14.0 -0.000152793,0.0,137488.0,14.0 -0.000163671,0.0,137488.0,14.0 -0.00014952500000000002,0.0,137488.0,14.0 -0.000156884,0.0,137488.0,14.0 -0.000149459,0.0,137488.0,14.0 -0.00016917100000000002,0.0,137488.0,14.0 -0.000166121,0.0,137488.0,14.0 -0.00016188200000000002,0.0,137488.0,14.0 -0.00015642,0.0,137488.0,14.0 -0.000150827,0.0,137488.0,14.0 -0.000156409,0.0,137488.0,14.0 -0.000152201,0.0,137488.0,14.0 -0.000157997,0.0,137488.0,14.0 -0.000157223,0.0,137488.0,14.0 -0.000148982,0.0,137488.0,14.0 -0.00015579500000000002,0.0,137488.0,14.0 -0.00015417300000000002,0.0,137488.0,14.0 -0.00014781900000000002,0.0,137488.0,14.0 -0.00016299,0.0,137488.0,14.0 -0.000190186,0.0,137488.0,14.0 -0.000150719,0.0,137488.0,14.0 -0.000159183,0.0,137488.0,14.0 -0.00015088500000000002,0.0,137488.0,14.0 -0.00015369300000000002,0.0,137488.0,14.0 -0.00015649900000000002,0.0,137488.0,14.0 -0.000151709,0.0,137488.0,14.0 -0.000157686,0.0,137488.0,14.0 -0.00014901200000000002,0.0,137488.0,14.0 -0.000152287,0.0,137488.0,14.0 -0.000162742,0.0,137488.0,14.0 -0.000150922,0.0,137488.0,14.0 -0.000168665,0.0,137488.0,14.0 -0.000159215,0.0,137488.0,14.0 -0.000151244,0.0,137488.0,14.0 -0.00016527500000000002,0.0,137488.0,14.0 -0.000152409,0.0,137488.0,14.0 -0.000150786,0.0,137488.0,14.0 -0.000158173,0.0,137488.0,14.0 -0.000150652,0.0,137488.0,14.0 -0.000155565,0.0,137488.0,14.0 -0.00015686900000000002,0.0,137488.0,14.0 -0.000152759,0.0,137488.0,14.0 -0.00015697400000000002,0.0,137488.0,14.0 -0.000149802,0.0,137488.0,14.0 -0.000147918,0.0,137488.0,14.0 -0.000157269,0.0,137488.0,14.0 -0.00014959200000000001,0.0,137488.0,14.0 -0.00015447600000000002,0.0,137488.0,14.0 -0.00015322,0.0,137488.0,14.0 -0.000152718,0.0,137488.0,14.0 -0.000160392,0.0,137488.0,14.0 -0.00015283900000000002,0.0,137488.0,14.0 -0.00015102300000000002,0.0,137488.0,14.0 -0.00015874200000000002,0.0,137488.0,14.0 -0.00014744400000000002,0.0,137488.0,14.0 -0.00016142400000000002,0.0,137488.0,14.0 -0.00016525800000000002,0.0,137488.0,14.0 -0.000152683,0.0,137488.0,14.0 -0.000160857,0.0,137488.0,14.0 -0.00014923400000000001,0.0,137488.0,14.0 -0.000152631,0.0,137488.0,14.0 -0.00016080100000000002,0.0,137488.0,14.0 -0.000148145,0.0,137488.0,14.0 -0.000158913,0.0,137488.0,14.0 -0.000151509,0.0,137488.0,14.0 -0.00016239500000000002,0.0,137488.0,14.0 -0.000157505,0.0,137488.0,14.0 -0.00014984000000000002,0.0,137488.0,14.0 -0.00015413000000000002,0.0,137488.0,14.0 -0.00015578100000000002,0.0,137488.0,14.0 -0.000151984,0.0,137488.0,14.0 -0.000159523,0.0,137488.0,14.0 -0.000153955,0.0,137488.0,14.0 -0.000152687,0.0,137488.0,14.0 -0.000160285,0.0,137488.0,14.0 -0.000146613,0.0,137488.0,14.0 -0.000155288,0.0,137488.0,14.0 -0.000157887,0.0,137488.0,14.0 -0.00015174400000000002,0.0,137488.0,14.0 -0.00015489600000000002,0.0,137488.0,14.0 -0.00015993500000000002,0.0,137488.0,14.0 -0.000147682,0.0,137488.0,14.0 -0.000172122,0.0,137488.0,14.0 -0.000151741,0.0,137488.0,14.0 -0.00015615,0.0,137488.0,14.0 -0.00016224000000000002,0.0,137488.0,14.0 -0.000148268,0.0,137488.0,14.0 -0.00015615800000000002,0.0,137488.0,14.0 -0.00015555,0.0,137488.0,14.0 -0.00015059400000000002,0.0,137488.0,14.0 -0.000160943,0.0,137488.0,14.0 -0.000146904,0.0,137488.0,14.0 -0.000154219,0.0,137488.0,14.0 -0.00016080800000000002,0.0,137488.0,14.0 -0.00014735800000000002,0.0,137488.0,14.0 -0.000154171,0.0,137488.0,14.0 -0.000151668,0.0,137488.0,14.0 -0.00014781900000000002,0.0,137488.0,14.0 -0.00016164100000000002,0.0,137488.0,14.0 -0.00015431400000000001,0.0,137488.0,14.0 -0.00015588400000000001,0.0,137488.0,14.0 -0.000162941,0.0,137488.0,14.0 -0.000147009,0.0,137488.0,14.0 -0.000154887,0.0,137488.0,14.0 -0.00015534000000000001,0.0,137488.0,14.0 -0.000148639,0.0,137488.0,14.0 -0.0001563,0.0,137488.0,14.0 -0.000158505,0.0,137488.0,14.0 -0.0016710030000000001,0.8185544849410803,137488.0,14.0 -0.00016829100000000002,0.0,137488.0,14.0 -0.000161093,0.0,137488.0,14.0 -0.00016539200000000002,0.0,137488.0,14.0 -0.000169633,0.0,137488.0,14.0 -0.000167281,0.0,137488.0,14.0 -0.00016692,0.0,137488.0,14.0 -0.000165068,0.0,137488.0,14.0 -0.00016148,0.0,137488.0,14.0 -0.000176073,0.0,137488.0,14.0 -0.00016138600000000002,0.0,137488.0,14.0 -0.000165262,0.0,137488.0,14.0 -0.000163245,0.0,137488.0,14.0 -0.000160951,0.0,137488.0,14.0 -0.000164604,0.0,137488.0,14.0 -0.000186469,0.0,137488.0,14.0 -0.00016490300000000002,0.0,137488.0,14.0 -0.00015974400000000002,0.0,137488.0,14.0 -0.00015925500000000002,0.0,137488.0,14.0 -0.000166915,0.0,137488.0,14.0 -0.00016784200000000002,0.0,137488.0,14.0 -0.000159951,0.0,137488.0,14.0 -0.000162683,0.0,137488.0,14.0 -0.00016912400000000002,0.0,137488.0,14.0 -0.000162642,0.0,137488.0,14.0 -0.000161044,0.0,137488.0,14.0 -0.000166794,0.0,137488.0,14.0 -0.000166211,0.0,137488.0,14.0 -0.000170533,0.0,137488.0,14.0 -0.000172167,0.0,137488.0,14.0 -0.000163021,0.0,137488.0,14.0 -0.00016487200000000002,0.0,137488.0,14.0 -0.00016217,0.0,137488.0,14.0 -0.000161991,0.0,137488.0,14.0 -0.00016032200000000001,0.0,137488.0,14.0 -0.000160135,0.0,137488.0,14.0 -0.000164283,0.0,137488.0,14.0 -0.000162219,0.0,137488.0,14.0 -0.0001633,0.0,137488.0,14.0 -0.00018426600000000001,0.0,137488.0,14.0 -0.000164005,0.0,137488.0,14.0 -0.000166643,0.0,137488.0,14.0 -0.00016143600000000002,0.0,137488.0,14.0 -0.000166866,0.0,137488.0,14.0 -0.00016151200000000002,0.0,137488.0,14.0 -0.00016329900000000002,0.0,137488.0,14.0 -0.00016489800000000002,0.0,137488.0,14.0 -0.000165111,0.0,137488.0,14.0 -0.00016173400000000002,0.0,137488.0,14.0 -0.000162172,0.0,137488.0,14.0 -0.00015926000000000002,0.0,137488.0,14.0 -0.000161769,0.0,137488.0,14.0 -0.000163969,0.0,137488.0,14.0 -0.000160473,0.0,137488.0,14.0 -0.00016268400000000002,0.0,137488.0,14.0 -0.00016500800000000002,0.0,137488.0,14.0 -0.000158882,0.0,137488.0,14.0 -0.00015934800000000002,0.0,137488.0,14.0 -0.000160605,0.0,137488.0,14.0 -0.000171819,0.0,137488.0,14.0 -0.000163966,0.0,137488.0,14.0 -0.000167602,0.0,137488.0,14.0 -0.000161969,0.0,137488.0,14.0 -0.00017536300000000002,0.0,137488.0,14.0 -0.00015840300000000002,0.0,137488.0,14.0 -0.00015752000000000002,0.0,137488.0,14.0 -0.000154399,0.0,137488.0,14.0 -0.000155117,0.0,137488.0,14.0 -0.000161563,0.0,137488.0,14.0 -0.000155178,0.0,137488.0,14.0 -0.000148578,0.0,137488.0,14.0 -0.000158492,0.0,137488.0,14.0 -0.000152577,0.0,137488.0,14.0 -0.000170031,0.0,137488.0,14.0 -0.000158853,0.0,137488.0,14.0 -0.00015134800000000002,0.0,137488.0,14.0 -0.00015205400000000002,0.0,137488.0,14.0 -0.00016253800000000002,0.0,137488.0,14.0 -0.000154303,0.0,137488.0,14.0 -0.000156374,0.0,137488.0,14.0 -0.000160785,0.0,137488.0,14.0 -0.000158514,0.0,137488.0,14.0 -0.000161203,0.0,137488.0,14.0 -0.000161955,0.0,137488.0,14.0 -0.00015340000000000002,0.0,137488.0,14.0 -0.000161823,0.0,137488.0,14.0 -0.00015125500000000001,0.0,137488.0,14.0 -0.000157073,0.0,137488.0,14.0 -0.000168207,0.0,137488.0,14.0 -0.000158054,0.0,137488.0,14.0 -0.00016163200000000001,0.0,137488.0,14.0 -0.00015938400000000002,0.0,137488.0,14.0 -0.000160614,0.0,137488.0,14.0 -0.00016838200000000002,0.0,137488.0,14.0 -0.000169418,0.0,137488.0,14.0 -0.00016084900000000002,0.0,137488.0,14.0 -0.00016425600000000002,0.0,137488.0,14.0 -0.00015538700000000002,0.0,137488.0,14.0 -0.00015596700000000002,0.0,137488.0,14.0 -0.000160545,0.0,137488.0,14.0 -0.00015734600000000002,0.0,137488.0,14.0 -0.000166636,0.0,137488.0,14.0 -0.00015845,0.0,137488.0,14.0 -0.00016451600000000002,0.0,137488.0,14.0 -0.000163131,0.0,137488.0,14.0 -0.000158065,0.0,137488.0,14.0 -0.00016104700000000002,0.0,137488.0,14.0 -0.00017440600000000002,0.0,137488.0,14.0 -0.000154811,0.0,137488.0,14.0 -0.000155259,0.0,137488.0,14.0 -0.000157436,0.0,137488.0,14.0 -0.00015745,0.0,137488.0,14.0 -0.00016475700000000002,0.0,137488.0,14.0 -0.00017458300000000002,0.0,137488.0,14.0 -0.0001508,0.0,137488.0,14.0 -0.000166014,0.0,137488.0,14.0 -0.000170893,0.0,137488.0,14.0 -0.000169194,0.0,137488.0,14.0 -0.000170005,0.0,137488.0,14.0 -0.000178295,0.0,137488.0,14.0 -0.000178306,0.0,137488.0,14.0 -0.000166572,0.0,137488.0,14.0 -0.00017372200000000001,0.0,137488.0,14.0 -0.000164344,0.0,137488.0,14.0 -0.00016380500000000002,0.0,137488.0,14.0 -0.000166295,0.0,137488.0,14.0 -0.00016643700000000002,0.0,137488.0,14.0 -0.000173348,0.0,137488.0,14.0 -0.00016685500000000001,0.0,137488.0,14.0 -0.00016351200000000002,0.0,137488.0,14.0 -0.000172986,0.0,137488.0,14.0 -0.000169375,0.0,137488.0,14.0 -0.000183759,0.0,137488.0,14.0 -0.00016826700000000002,0.0,137488.0,14.0 -0.00017332100000000002,0.0,137488.0,14.0 -0.00018008300000000002,0.0,137488.0,14.0 -0.000187046,0.0,137488.0,14.0 -0.000171527,0.0,137488.0,14.0 -0.000170719,0.0,137488.0,14.0 -0.00017072000000000002,0.0,137488.0,14.0 -0.00017252900000000001,0.0,137488.0,14.0 -0.000173393,0.0,137488.0,14.0 -0.00017168400000000002,0.0,137488.0,14.0 -0.00016571200000000002,0.0,137488.0,14.0 -0.00017109700000000002,0.0,137488.0,14.0 -0.000184887,0.0,137488.0,14.0 -0.000164042,0.0,137488.0,14.0 -0.00016712,0.0,137488.0,14.0 -0.00016797400000000002,0.0,137488.0,14.0 -0.000178684,0.0,137488.0,14.0 -0.00016681900000000002,0.0,137488.0,14.0 -0.00015998800000000001,0.0,137488.0,14.0 -0.000166994,0.0,137488.0,14.0 -0.000163057,0.0,137488.0,14.0 -0.000168426,0.0,137488.0,14.0 -0.00017160300000000002,0.0,137488.0,14.0 -0.000168998,0.0,137488.0,14.0 -0.000164933,0.0,137488.0,14.0 -0.00016995,0.0,137488.0,14.0 -0.00018376900000000002,0.0,137488.0,14.0 -0.000170924,0.0,137488.0,14.0 -0.00016938900000000001,0.0,137488.0,14.0 -0.000161099,0.0,137488.0,14.0 -0.00015958900000000002,0.0,137488.0,14.0 -0.00016512500000000002,0.0,137488.0,14.0 -0.000158457,0.0,137488.0,14.0 -0.00015732500000000002,0.0,137488.0,14.0 -0.00016215900000000002,0.0,137488.0,14.0 -0.000157913,0.0,137488.0,14.0 -0.000167223,0.0,137488.0,14.0 -0.00015788800000000002,0.0,137488.0,14.0 -0.000155128,0.0,137488.0,14.0 -0.00016804500000000002,0.0,137488.0,14.0 -0.00016169100000000002,0.0,137488.0,14.0 -0.000165794,0.0,137488.0,14.0 -0.00016524900000000002,0.0,137488.0,14.0 -0.000161248,0.0,137488.0,14.0 -0.00016584100000000001,0.0,137488.0,14.0 -0.00016405600000000002,0.0,137488.0,14.0 -0.000162103,0.0,137488.0,14.0 -0.000163102,0.0,137488.0,14.0 -0.000161069,0.0,137488.0,14.0 -0.00015541600000000002,0.0,137488.0,14.0 -0.000173553,0.0,137488.0,14.0 -0.000174252,0.0,137488.0,14.0 -0.000161025,0.0,137488.0,14.0 -0.00015954600000000002,0.0,137488.0,14.0 -0.00015961300000000002,0.0,137488.0,14.0 -0.000166718,0.0,137488.0,14.0 -0.000167151,0.0,137488.0,14.0 -0.000160549,0.0,137488.0,14.0 -0.000175157,0.0,137488.0,14.0 -0.000160667,0.0,137488.0,14.0 -0.00015969200000000002,0.0,137488.0,14.0 -0.000167247,0.0,137488.0,14.0 -0.000154716,0.0,137488.0,14.0 -0.00016436800000000002,0.0,137488.0,14.0 -0.000163473,0.0,137488.0,14.0 -0.00015841300000000002,0.0,137488.0,14.0 -0.000169316,0.0,137488.0,14.0 -0.000174766,0.0,137488.0,14.0 -0.000162205,0.0,137488.0,14.0 -0.000175043,0.0,137488.0,14.0 -0.000155362,0.0,137488.0,14.0 -0.00016043600000000002,0.0,137488.0,14.0 -0.00016273400000000002,0.0,137488.0,14.0 -0.000167471,0.0,137488.0,14.0 -0.000158941,0.0,137488.0,14.0 -0.000182492,0.0,137488.0,14.0 -0.00016727900000000002,0.0,137488.0,14.0 -0.00016118100000000001,0.0,137488.0,14.0 -0.000164222,0.0,137488.0,14.0 -0.00015742000000000002,0.0,137488.0,14.0 -0.000162282,0.0,137488.0,14.0 -0.000160283,0.0,137488.0,14.0 -0.000160834,0.0,137488.0,14.0 -0.00017115,0.0,137488.0,14.0 -0.000161399,0.0,137488.0,14.0 -0.000156211,0.0,137488.0,14.0 -0.00016673500000000002,0.0,137488.0,14.0 -0.00016208500000000002,0.0,137488.0,14.0 -0.00016381700000000002,0.0,137488.0,14.0 -0.000163589,0.0,137488.0,14.0 -0.000163191,0.0,137488.0,14.0 -0.000164691,0.0,137488.0,14.0 -0.000156424,0.0,137488.0,14.0 -0.00015481700000000002,0.0,137488.0,14.0 -0.000173844,0.0,137488.0,14.0 -0.000160459,0.0,137488.0,14.0 -0.00016979400000000002,0.0,137488.0,14.0 -0.00016678500000000002,0.0,137488.0,14.0 -0.00015808,0.0,137488.0,14.0 -0.000183332,0.0,137488.0,14.0 -0.000158918,0.0,137488.0,14.0 -0.000155656,0.0,137488.0,14.0 -0.000167386,0.0,137488.0,14.0 -0.00016905500000000001,0.0,137488.0,14.0 -0.00016055800000000002,0.0,137488.0,14.0 -0.00016207300000000002,0.0,137488.0,14.0 -0.000161955,0.0,137488.0,14.0 -0.000162785,0.0,137488.0,14.0 -0.000161292,0.0,137488.0,14.0 -0.000162938,0.0,137488.0,14.0 -0.000158404,0.0,137488.0,14.0 -0.00015884500000000001,0.0,137488.0,14.0 -0.000158975,0.0,137488.0,14.0 -0.00016433500000000002,0.0,137488.0,14.0 -0.00015949100000000002,0.0,137488.0,14.0 -0.00016327,0.0,137488.0,14.0 -0.000155599,0.0,137488.0,14.0 -0.000160115,0.0,137488.0,14.0 -0.000163983,0.0,137488.0,14.0 -0.00016016900000000002,0.0,137488.0,14.0 -0.000159228,0.0,137488.0,14.0 -0.000168123,0.0,137488.0,14.0 -0.00016302300000000001,0.0,137488.0,14.0 -0.000166252,0.0,137488.0,14.0 -0.00018218700000000002,0.0,137488.0,14.0 -0.000161716,0.0,137488.0,14.0 -0.00016765900000000002,0.0,137488.0,14.0 -0.0001574,0.0,137488.0,14.0 -0.000162948,0.0,137488.0,14.0 -0.000161977,0.0,137488.0,14.0 -0.000158052,0.0,137488.0,14.0 -0.00016692,0.0,137488.0,14.0 -0.000161108,0.0,137488.0,14.0 -0.000162182,0.0,137488.0,14.0 -0.00016683,0.0,137488.0,14.0 -0.000159047,0.0,137488.0,14.0 -0.0001595,0.0,137488.0,14.0 -0.000164539,0.0,137488.0,14.0 -0.00015756800000000002,0.0,137488.0,14.0 -0.000159545,0.0,137488.0,14.0 -0.00015565000000000002,0.0,137488.0,14.0 -0.00015510100000000002,0.0,137488.0,14.0 -0.000170466,0.0,137488.0,14.0 -0.000158822,0.0,137488.0,14.0 -0.00016206600000000002,0.0,137488.0,14.0 -0.000161714,0.0,137488.0,14.0 -0.00015768000000000002,0.0,137488.0,14.0 -0.00016772300000000002,0.0,137488.0,14.0 -0.000169363,0.0,137488.0,14.0 -0.00016708100000000002,0.0,137488.0,14.0 -0.000163381,0.0,137488.0,14.0 -0.000158674,0.0,137488.0,14.0 -0.000161967,0.0,137488.0,14.0 -0.000159759,0.0,137488.0,14.0 -0.000156889,0.0,137488.0,14.0 -0.000170146,0.0,137488.0,14.0 -0.00016008100000000001,0.0,137488.0,14.0 -0.000159864,0.0,137488.0,14.0 -0.000169759,0.0,137488.0,14.0 -0.00015823600000000002,0.0,137488.0,14.0 -0.000165162,0.0,137488.0,14.0 -0.00016141700000000002,0.0,137488.0,14.0 -0.000160058,0.0,137488.0,14.0 -0.00016825500000000002,0.0,137488.0,14.0 -0.00016025000000000002,0.0,137488.0,14.0 -0.00015967500000000002,0.0,137488.0,14.0 -0.000170165,0.0,137488.0,14.0 -0.00015749900000000002,0.0,137488.0,14.0 -0.00016450000000000001,0.0,137488.0,14.0 -0.000163224,0.0,137488.0,14.0 -0.00016251900000000002,0.0,137488.0,14.0 -0.000173105,0.0,137488.0,14.0 -0.000156097,0.0,137488.0,14.0 -0.000171304,0.0,137488.0,14.0 -0.000171432,0.0,137488.0,14.0 -0.000161198,0.0,137488.0,14.0 -0.000162031,0.0,137488.0,14.0 -0.000163899,0.0,137488.0,14.0 -0.000168146,0.0,137488.0,14.0 -0.00016161000000000002,0.0,137488.0,14.0 -0.000165708,0.0,137488.0,14.0 -0.00017009000000000002,0.0,137488.0,14.0 -0.00015936700000000002,0.0,137488.0,14.0 -0.000166383,0.0,137488.0,14.0 -0.00016425400000000002,0.0,137488.0,14.0 -0.000165006,0.0,137488.0,14.0 -0.00016749900000000002,0.0,137488.0,14.0 -0.000157133,0.0,137488.0,14.0 -0.000167419,0.0,137488.0,14.0 -0.00016830300000000002,0.0,137488.0,14.0 -0.000160167,0.0,137488.0,14.0 -0.000166963,0.0,137488.0,14.0 -0.000161392,0.0,137488.0,14.0 -0.000161299,0.0,137488.0,14.0 -0.000165162,0.0,137488.0,14.0 -0.000161855,0.0,137488.0,14.0 -0.00016537500000000002,0.0,137488.0,14.0 -0.000187581,0.0,137488.0,14.0 -0.00024089300000000003,0.0,137488.0,14.0 -0.00029570400000000004,0.0,137488.0,14.0 -0.0016967210000000002,0.7924785512762558,137488.0,14.0 -0.000171497,0.0,137488.0,14.0 -0.00016698600000000002,0.0,137488.0,14.0 -0.00016325200000000002,0.0,137488.0,14.0 -0.00017301300000000002,0.0,137488.0,14.0 -0.00016236200000000002,0.0,137488.0,14.0 -0.00016307300000000002,0.0,137488.0,14.0 -0.000170643,0.0,137488.0,14.0 -0.000166123,0.0,137488.0,14.0 -0.000161563,0.0,137488.0,14.0 -0.00018829100000000002,0.0,137488.0,14.0 -0.000166352,0.0,137488.0,14.0 -0.00016300100000000002,0.0,137488.0,14.0 -0.000159215,0.0,137488.0,14.0 -0.00016548700000000002,0.0,137488.0,14.0 -0.00016552800000000002,0.0,137488.0,14.0 -0.00016725800000000002,0.0,137488.0,14.0 -0.000170471,0.0,137488.0,14.0 -0.000163487,0.0,137488.0,14.0 -0.000164345,0.0,137488.0,14.0 -0.00016296500000000002,0.0,137488.0,14.0 -0.00017962000000000002,0.0,137488.0,14.0 -0.000161242,0.0,137488.0,14.0 -0.000158178,0.0,137488.0,14.0 -0.00016455000000000002,0.0,137488.0,14.0 -0.000166722,0.0,137488.0,14.0 -0.000192866,0.0,137488.0,14.0 -0.000171602,0.0,137488.0,14.0 -0.000171265,0.0,137488.0,14.0 -0.000167872,0.0,137488.0,14.0 -0.000167787,0.0,137488.0,14.0 -0.000159874,0.0,137488.0,14.0 -0.00016697900000000002,0.0,137488.0,14.0 -0.000159666,0.0,137488.0,14.0 -0.000183713,0.0,137488.0,14.0 -0.00016654900000000002,0.0,137488.0,14.0 -0.000164542,0.0,137488.0,14.0 -0.00016287200000000002,0.0,137488.0,14.0 -0.000166174,0.0,137488.0,14.0 -0.00016668300000000002,0.0,137488.0,14.0 -0.00015874900000000002,0.0,137488.0,14.0 -0.000165486,0.0,137488.0,14.0 -0.00016243800000000002,0.0,137488.0,14.0 -0.000161919,0.0,137488.0,14.0 -0.00016611000000000002,0.0,137488.0,14.0 +0.0017659713,0.0,137488.0,14.0 +0.0001709969,0.0,137488.0,14.0 +0.0001702544,0.0,137488.0,14.0 +0.0001635382,0.0,137488.0,14.0 +0.0001608756,0.0,137488.0,14.0 +0.0001662595,0.0,137488.0,14.0 +0.0001606683,0.0,137488.0,14.0 +0.0001616818,0.0,137488.0,14.0 +0.00016485840000000001,0.0,137488.0,14.0 +0.0001622189,0.0,137488.0,14.0 +0.0017670808,0.0,137488.0,14.0 +0.00016720550000000003,0.0,137488.0,14.0 +0.0001681083,0.0,137488.0,14.0 +0.00016123840000000002,0.0,137488.0,14.0 +0.0001619484,0.0,137488.0,14.0 +0.0003124428,0.4310974680805575,137488.0,14.0 +0.0017678962,0.0,137488.0,14.0 +0.00017110060000000003,0.0,137488.0,14.0 +0.00016910770000000001,0.0,137488.0,14.0 +0.00016631920000000002,0.0,137488.0,14.0 +0.0001624445,0.0,137488.0,14.0 +0.0001662244,0.0,137488.0,14.0 +0.00016508010000000002,0.0,137488.0,14.0 +0.0001601359,0.0,137488.0,14.0 +0.0001627271,0.0,137488.0,14.0 +0.00016352880000000003,0.0,137488.0,14.0 +0.0017703243,0.0,137488.0,14.0 +0.00016759280000000002,0.0,137488.0,14.0 +0.0001708115,0.0,137488.0,14.0 +0.0001618861,0.0,137488.0,14.0 +0.0001625205,0.0,137488.0,14.0 +0.00016710540000000002,0.0,137488.0,14.0 +0.0001641465,0.0,137488.0,14.0 +0.0001640497,0.0,137488.0,14.0 +0.00016084600000000002,0.0,137488.0,14.0 +0.00016044700000000003,0.0,137488.0,14.0 +0.0017705037,0.0,137488.0,14.0 0.000165123,0.0,137488.0,14.0 -0.000169182,0.0,137488.0,14.0 -0.00016135700000000002,0.0,137488.0,14.0 -0.00016390300000000002,0.0,137488.0,14.0 -0.000159574,0.0,137488.0,14.0 -0.000164258,0.0,137488.0,14.0 -0.00016496500000000002,0.0,137488.0,14.0 -0.000168931,0.0,137488.0,14.0 -0.00016456400000000002,0.0,137488.0,14.0 -0.00016722200000000002,0.0,137488.0,14.0 -0.00016581,0.0,137488.0,14.0 -0.00017175100000000002,0.0,137488.0,14.0 -0.000172833,0.0,137488.0,14.0 -0.00017773300000000001,0.0,137488.0,14.0 -0.00016928400000000001,0.0,137488.0,14.0 -0.000163121,0.0,137488.0,14.0 -0.00015903,0.0,137488.0,14.0 -0.00015771100000000002,0.0,137488.0,14.0 -0.000156739,0.0,137488.0,14.0 -0.00016348800000000002,0.0,137488.0,14.0 -0.00015776900000000001,0.0,137488.0,14.0 -0.000160461,0.0,137488.0,14.0 -0.000152878,0.0,137488.0,14.0 -0.000162,0.0,137488.0,14.0 -0.00016422300000000002,0.0,137488.0,14.0 -0.000156961,0.0,137488.0,14.0 -0.00015759900000000002,0.0,137488.0,14.0 -0.000165069,0.0,137488.0,14.0 -0.00016053900000000002,0.0,137488.0,14.0 -0.00015735,0.0,137488.0,14.0 -0.000165174,0.0,137488.0,14.0 -0.000152954,0.0,137488.0,14.0 -0.00015984900000000002,0.0,137488.0,14.0 -0.000160815,0.0,137488.0,14.0 -0.000157904,0.0,137488.0,14.0 -0.00015565200000000002,0.0,137488.0,14.0 -0.00016474100000000001,0.0,137488.0,14.0 -0.000167674,0.0,137488.0,14.0 -0.000174947,0.0,137488.0,14.0 -0.000161031,0.0,137488.0,14.0 -0.000169716,0.0,137488.0,14.0 -0.000154684,0.0,137488.0,14.0 -0.000156534,0.0,137488.0,14.0 -0.000159035,0.0,137488.0,14.0 -0.000155302,0.0,137488.0,14.0 -0.00016516,0.0,137488.0,14.0 -0.00016642300000000002,0.0,137488.0,14.0 -0.000158125,0.0,137488.0,14.0 -0.000162663,0.0,137488.0,14.0 -0.00017043,0.0,137488.0,14.0 -0.000163034,0.0,137488.0,14.0 -0.000167032,0.0,137488.0,14.0 -0.000168221,0.0,137488.0,14.0 -0.000156384,0.0,137488.0,14.0 -0.00015526800000000002,0.0,137488.0,14.0 -0.000157632,0.0,137488.0,14.0 -0.000165049,0.0,137488.0,14.0 -0.00015943200000000001,0.0,137488.0,14.0 -0.000166286,0.0,137488.0,14.0 -0.000160796,0.0,137488.0,14.0 -0.00016009000000000002,0.0,137488.0,14.0 -0.000164482,0.0,137488.0,14.0 -0.000173389,0.0,137488.0,14.0 -0.000165975,0.0,137488.0,14.0 -0.000160891,0.0,137488.0,14.0 -0.000170726,0.0,137488.0,14.0 -0.00016828,0.0,137488.0,14.0 -0.000165914,0.0,137488.0,14.0 -0.00016334700000000002,0.0,137488.0,14.0 -0.00015813400000000001,0.0,137488.0,14.0 -0.000162198,0.0,137488.0,14.0 -0.000161525,0.0,137488.0,14.0 -0.00015403900000000002,0.0,137488.0,14.0 -0.00015802600000000002,0.0,137488.0,14.0 -0.00016701200000000002,0.0,137488.0,14.0 -0.00017106800000000002,0.0,137488.0,14.0 -0.000159533,0.0,137488.0,14.0 -0.000157211,0.0,137488.0,14.0 -0.000163757,0.0,137488.0,14.0 -0.00015728700000000001,0.0,137488.0,14.0 -0.000160926,0.0,137488.0,14.0 -0.000155907,0.0,137488.0,14.0 -0.00015766800000000002,0.0,137488.0,14.0 -0.000153807,0.0,137488.0,14.0 -0.00015786900000000002,0.0,137488.0,14.0 -0.000163661,0.0,137488.0,14.0 -0.000157552,0.0,137488.0,14.0 -0.00019847000000000002,0.0,137488.0,14.0 -0.00017193700000000002,0.0,137488.0,14.0 -0.000164116,0.0,137488.0,14.0 -0.00016811900000000002,0.0,137488.0,14.0 -0.00016953,0.0,137488.0,14.0 -0.00016309200000000002,0.0,137488.0,14.0 -0.00016741500000000002,0.0,137488.0,14.0 -0.000160449,0.0,137488.0,14.0 -0.000160912,0.0,137488.0,14.0 -0.00016708800000000002,0.0,137488.0,14.0 -0.00016813,0.0,137488.0,14.0 -0.000166947,0.0,137488.0,14.0 -0.00016026400000000002,0.0,137488.0,14.0 -0.000168452,0.0,137488.0,14.0 -0.000157388,0.0,137488.0,14.0 -0.000170611,0.0,137488.0,14.0 -0.000158571,0.0,137488.0,14.0 -0.000176355,0.0,137488.0,14.0 -0.00016453500000000002,0.0,137488.0,14.0 -0.000155279,0.0,137488.0,14.0 -0.00016678800000000002,0.0,137488.0,14.0 -0.00015913,0.0,137488.0,14.0 -0.000163695,0.0,137488.0,14.0 -0.000166501,0.0,137488.0,14.0 -0.00018847200000000002,0.0,137488.0,14.0 -0.00017315100000000002,0.0,137488.0,14.0 -0.000163876,0.0,137488.0,14.0 -0.000174956,0.0,137488.0,14.0 -0.000160117,0.0,137488.0,14.0 -0.000160917,0.0,137488.0,14.0 -0.00016805200000000002,0.0,137488.0,14.0 -0.000159314,0.0,137488.0,14.0 -0.00016880900000000002,0.0,137488.0,14.0 -0.000162249,0.0,137488.0,14.0 -0.000159604,0.0,137488.0,14.0 -0.00017065600000000001,0.0,137488.0,14.0 -0.000161594,0.0,137488.0,14.0 -0.00016198700000000002,0.0,137488.0,14.0 -0.000164816,0.0,137488.0,14.0 -0.000160303,0.0,137488.0,14.0 -0.00016601200000000002,0.0,137488.0,14.0 -0.00015297300000000001,0.0,137488.0,14.0 -0.000181609,0.0,137488.0,14.0 -0.00016745,0.0,137488.0,14.0 -0.00016389800000000002,0.0,137488.0,14.0 -0.000163272,0.0,137488.0,14.0 -0.000161686,0.0,137488.0,14.0 -0.000188456,0.0,137488.0,14.0 -0.000167419,0.0,137488.0,14.0 -0.000163998,0.0,137488.0,14.0 -0.00016311,0.0,137488.0,14.0 -0.000160864,0.0,137488.0,14.0 -0.00016972500000000002,0.0,137488.0,14.0 -0.000165026,0.0,137488.0,14.0 -0.000169495,0.0,137488.0,14.0 -0.00016800000000000002,0.0,137488.0,14.0 -0.000162416,0.0,137488.0,14.0 -0.00017011400000000002,0.0,137488.0,14.0 -0.000164914,0.0,137488.0,14.0 -0.00017072500000000002,0.0,137488.0,14.0 -0.00016446,0.0,137488.0,14.0 -0.000161325,0.0,137488.0,14.0 -0.000166718,0.0,137488.0,14.0 -0.00016497400000000002,0.0,137488.0,14.0 -0.00016292000000000002,0.0,137488.0,14.0 -0.000167896,0.0,137488.0,14.0 -0.000160903,0.0,137488.0,14.0 -0.000163009,0.0,137488.0,14.0 -0.000175631,0.0,137488.0,14.0 -0.000158359,0.0,137488.0,14.0 -0.000164291,0.0,137488.0,14.0 -0.000183725,0.0,137488.0,14.0 -0.000168357,0.0,137488.0,14.0 -0.000162387,0.0,137488.0,14.0 -0.00017134000000000002,0.0,137488.0,14.0 -0.00015650400000000002,0.0,137488.0,14.0 -0.00015863200000000002,0.0,137488.0,14.0 -0.000178671,0.0,137488.0,14.0 -0.000163909,0.0,137488.0,14.0 -0.000157703,0.0,137488.0,14.0 -0.00016484100000000002,0.0,137488.0,14.0 -0.000158242,0.0,137488.0,14.0 -0.00016566900000000002,0.0,137488.0,14.0 -0.00015482900000000002,0.0,137488.0,14.0 -0.00016094700000000002,0.0,137488.0,14.0 -0.00016709800000000002,0.0,137488.0,14.0 -0.000161934,0.0,137488.0,14.0 -0.000163053,0.0,137488.0,14.0 -0.00016377900000000002,0.0,137488.0,14.0 -0.000160673,0.0,137488.0,14.0 -0.00017239300000000001,0.0,137488.0,14.0 -0.00016413700000000002,0.0,137488.0,14.0 -0.00016323700000000002,0.0,137488.0,14.0 -0.00016575200000000002,0.0,137488.0,14.0 -0.00015779000000000002,0.0,137488.0,14.0 -0.00017428700000000002,0.0,137488.0,14.0 -0.000184195,0.0,137488.0,14.0 -0.000162547,0.0,137488.0,14.0 -0.00016711200000000002,0.0,137488.0,14.0 -0.000162446,0.0,137488.0,14.0 -0.000159435,0.0,137488.0,14.0 -0.000166758,0.0,137488.0,14.0 -0.00016059400000000001,0.0,137488.0,14.0 -0.000162277,0.0,137488.0,14.0 -0.000176082,0.0,137488.0,14.0 -0.000156773,0.0,137488.0,14.0 -0.00016733900000000002,0.0,137488.0,14.0 -0.000160698,0.0,137488.0,14.0 -0.000160549,0.0,137488.0,14.0 -0.000168879,0.0,137488.0,14.0 -0.00016459000000000002,0.0,137488.0,14.0 -0.000167159,0.0,137488.0,14.0 -0.00016089200000000002,0.0,137488.0,14.0 -0.00015866100000000002,0.0,137488.0,14.0 -0.000178332,0.0,137488.0,14.0 -0.00016557300000000002,0.0,137488.0,14.0 -0.000161003,0.0,137488.0,14.0 -0.00016955100000000002,0.0,137488.0,14.0 -0.00015964600000000002,0.0,137488.0,14.0 -0.00016408000000000001,0.0,137488.0,14.0 -0.016213057,0.0,137488.0,14.0 -0.000178118,0.0,137488.0,14.0 -0.000174415,0.0,137488.0,14.0 -0.000159211,0.0,137488.0,14.0 -0.000158975,0.0,137488.0,14.0 -0.000173907,0.0,137488.0,14.0 -0.000166023,0.0,137488.0,14.0 -0.00016722200000000002,0.0,137488.0,14.0 -0.000164358,0.0,137488.0,14.0 -0.00015366700000000002,0.0,137488.0,14.0 -0.000167779,0.0,137488.0,14.0 -0.00016494600000000002,0.0,137488.0,14.0 -0.00015984900000000002,0.0,137488.0,14.0 -0.00016217600000000001,0.0,137488.0,14.0 -0.00016323700000000002,0.0,137488.0,14.0 -0.00017476900000000002,0.0,137488.0,14.0 -0.00016599,0.0,137488.0,14.0 -0.00016162900000000002,0.0,137488.0,14.0 -0.000172172,0.0,137488.0,14.0 -0.00015701700000000002,0.0,137488.0,14.0 -0.000160173,0.0,137488.0,14.0 -0.00016929100000000002,0.0,137488.0,14.0 -0.00016100600000000002,0.0,137488.0,14.0 -0.00018301800000000002,0.0,137488.0,14.0 -0.00017350700000000002,0.0,137488.0,14.0 -0.000164749,0.0,137488.0,14.0 -0.00016859900000000002,0.0,137488.0,14.0 -0.000159443,0.0,137488.0,14.0 -0.00016328000000000002,0.0,137488.0,14.0 -0.000167517,0.0,137488.0,14.0 -0.000160964,0.0,137488.0,14.0 -0.00016621500000000002,0.0,137488.0,14.0 -0.000161483,0.0,137488.0,14.0 -0.000160969,0.0,137488.0,14.0 -0.000174741,0.0,137488.0,14.0 -0.000160624,0.0,137488.0,14.0 -0.000162232,0.0,137488.0,14.0 -0.00016814300000000002,0.0,137488.0,14.0 -0.000160017,0.0,137488.0,14.0 -0.000166522,0.0,137488.0,14.0 -0.00016541,0.0,137488.0,14.0 -0.00016000900000000002,0.0,137488.0,14.0 -0.000164425,0.0,137488.0,14.0 -0.00015776600000000002,0.0,137488.0,14.0 -0.000161959,0.0,137488.0,14.0 -0.00017060300000000002,0.0,137488.0,14.0 -0.00015867,0.0,137488.0,14.0 -0.000161036,0.0,137488.0,14.0 -0.00018167000000000001,0.0,137488.0,14.0 -0.000160667,0.0,137488.0,14.0 -0.000169506,0.0,137488.0,14.0 -0.000162611,0.0,137488.0,14.0 -0.000165648,0.0,137488.0,14.0 -0.000167579,0.0,137488.0,14.0 -0.000161025,0.0,137488.0,14.0 -0.00016592,0.0,137488.0,14.0 -0.00016558800000000001,0.0,137488.0,14.0 -0.00016900400000000002,0.0,137488.0,14.0 -0.000162229,0.0,137488.0,14.0 -0.00016369800000000002,0.0,137488.0,14.0 -0.00016823100000000002,0.0,137488.0,14.0 -0.000166398,0.0,137488.0,14.0 -0.000168127,0.0,137488.0,14.0 -0.000159277,0.0,137488.0,14.0 -0.000163506,0.0,137488.0,14.0 -0.000169896,0.0,137488.0,14.0 -0.000158287,0.0,137488.0,14.0 -0.00016569300000000001,0.0,137488.0,14.0 -0.00016127600000000002,0.0,137488.0,14.0 -0.00015895000000000001,0.0,137488.0,14.0 -0.00017414600000000002,0.0,137488.0,14.0 -0.00015589,0.0,137488.0,14.0 -0.000182716,0.0,137488.0,14.0 -0.000170795,0.0,137488.0,14.0 -0.00016373,0.0,137488.0,14.0 -0.00016891900000000001,0.0,137488.0,14.0 -0.000165014,0.0,137488.0,14.0 -0.000164563,0.0,137488.0,14.0 -0.000169703,0.0,137488.0,14.0 -0.000155754,0.0,137488.0,14.0 -0.00016226400000000002,0.0,137488.0,14.0 -0.000166295,0.0,137488.0,14.0 -0.000255923,0.0,137488.0,14.0 -0.000163184,0.0,137488.0,14.0 -0.000164055,0.0,137488.0,14.0 -0.000169783,0.0,137488.0,14.0 -0.000166135,0.0,137488.0,14.0 -0.016219596,0.0,137488.0,14.0 -0.00017897100000000002,0.0,137488.0,14.0 -0.000169895,0.0,137488.0,14.0 -0.000167596,0.0,137488.0,14.0 -0.000176937,0.0,137488.0,14.0 -0.00016041000000000002,0.0,137488.0,14.0 -0.00016362400000000002,0.0,137488.0,14.0 -0.000165685,0.0,137488.0,14.0 -0.00016526300000000002,0.0,137488.0,14.0 -0.000166123,0.0,137488.0,14.0 -0.000165488,0.0,137488.0,14.0 -0.000173084,0.0,137488.0,14.0 -0.000160743,0.0,137488.0,14.0 -0.000163656,0.0,137488.0,14.0 -0.00017011600000000002,0.0,137488.0,14.0 -0.00016926000000000002,0.0,137488.0,14.0 -0.000164787,0.0,137488.0,14.0 -0.000158399,0.0,137488.0,14.0 -0.000165615,0.0,137488.0,14.0 -0.000168943,0.0,137488.0,14.0 -0.000163224,0.0,137488.0,14.0 -0.000166813,0.0,137488.0,14.0 -0.00016659900000000002,0.0,137488.0,14.0 -0.000181649,0.0,137488.0,14.0 -0.000170435,0.0,137488.0,14.0 -0.00020707,0.0,137488.0,14.0 -0.000176629,0.0,137488.0,14.0 -0.00017218700000000002,0.0,137488.0,14.0 -0.00016293400000000002,0.0,137488.0,14.0 -0.000157333,0.0,137488.0,14.0 -0.00015853900000000002,0.0,137488.0,14.0 -0.00016145000000000002,0.0,137488.0,14.0 -0.0001665,0.0,137488.0,14.0 -0.000159171,0.0,137488.0,14.0 -0.00017127600000000002,0.0,137488.0,14.0 -0.00016385,0.0,137488.0,14.0 -0.00016602700000000001,0.0,137488.0,14.0 -0.000160666,0.0,137488.0,14.0 -0.00016491200000000002,0.0,137488.0,14.0 -0.000162337,0.0,137488.0,14.0 -0.000162935,0.0,137488.0,14.0 -0.000165815,0.0,137488.0,14.0 -0.000163683,0.0,137488.0,14.0 -0.00016719800000000002,0.0,137488.0,14.0 -0.00016826700000000002,0.0,137488.0,14.0 -0.000160642,0.0,137488.0,14.0 -0.00016559200000000002,0.0,137488.0,14.0 -0.000176777,0.0,137488.0,14.0 -0.000156231,0.0,137488.0,14.0 -0.00015735600000000002,0.0,137488.0,14.0 -0.00016349300000000002,0.0,137488.0,14.0 -0.000162122,0.0,137488.0,14.0 -0.00016275800000000002,0.0,137488.0,14.0 -0.000160175,0.0,137488.0,14.0 -0.00016890400000000002,0.0,137488.0,14.0 -0.000159402,0.0,137488.0,14.0 -0.000164453,0.0,137488.0,14.0 -0.00016097500000000002,0.0,137488.0,14.0 -0.000158961,0.0,137488.0,14.0 -0.000161301,0.0,137488.0,14.0 -0.00016270300000000002,0.0,137488.0,14.0 -0.00016395,0.0,137488.0,14.0 -0.000161866,0.0,137488.0,14.0 -0.000173623,0.0,137488.0,14.0 -0.00016697600000000002,0.0,137488.0,14.0 -0.00016133300000000002,0.0,137488.0,14.0 -0.000171428,0.0,137488.0,14.0 -0.000162788,0.0,137488.0,14.0 -0.000165384,0.0,137488.0,14.0 -0.0001616,0.0,137488.0,14.0 -0.000157138,0.0,137488.0,14.0 -0.00017498100000000002,0.0,137488.0,14.0 -0.000166276,0.0,137488.0,14.0 -0.000161458,0.0,137488.0,14.0 -0.00016117,0.0,137488.0,14.0 -0.000168992,0.0,137488.0,14.0 -0.00017221,0.0,137488.0,14.0 -0.000162938,0.0,137488.0,14.0 -0.00016545600000000002,0.0,137488.0,14.0 -0.00016408000000000001,0.0,137488.0,14.0 -0.000172635,0.0,137488.0,14.0 -0.00016126200000000002,0.0,137488.0,14.0 -0.00016206600000000002,0.0,137488.0,14.0 -0.000167559,0.0,137488.0,14.0 -0.00016490500000000002,0.0,137488.0,14.0 -0.000163993,0.0,137488.0,14.0 -0.00016102100000000002,0.0,137488.0,14.0 -0.000171477,0.0,137488.0,14.0 -0.00017305800000000002,0.0,137488.0,14.0 -0.00016610100000000001,0.0,137488.0,14.0 -0.00017571400000000002,0.0,137488.0,14.0 -0.000168621,0.0,137488.0,14.0 -0.00016924,0.0,137488.0,14.0 -0.000158984,0.0,137488.0,14.0 -0.000167997,0.0,137488.0,14.0 -0.016203332,0.0,137488.0,14.0 -0.000180998,0.0,137488.0,14.0 -0.000164995,0.0,137488.0,14.0 -0.000168881,0.0,137488.0,14.0 -0.000169468,0.0,137488.0,14.0 -0.000165241,0.0,137488.0,14.0 -0.00016970800000000002,0.0,137488.0,14.0 -0.000171551,0.0,137488.0,14.0 -0.000159044,0.0,137488.0,14.0 -0.00016916700000000002,0.0,137488.0,14.0 -0.000173437,0.0,137488.0,14.0 -0.000175789,0.0,137488.0,14.0 -0.00017131,0.0,137488.0,14.0 -0.000162768,0.0,137488.0,14.0 -0.00016414900000000002,0.0,137488.0,14.0 -0.000166947,0.0,137488.0,14.0 -0.00017394800000000002,0.0,137488.0,14.0 -0.00017005700000000002,0.0,137488.0,14.0 -0.00017503,0.0,137488.0,14.0 -0.00018080300000000002,0.0,137488.0,14.0 -0.000172162,0.0,137488.0,14.0 -0.000163794,0.0,137488.0,14.0 -0.00017061700000000002,0.0,137488.0,14.0 -0.00017433700000000002,0.0,137488.0,14.0 -0.00017112100000000002,0.0,137488.0,14.0 -0.00017422500000000002,0.0,137488.0,14.0 -0.00017349300000000001,0.0,137488.0,14.0 -0.00017267400000000002,0.0,137488.0,14.0 -0.000166348,0.0,137488.0,14.0 -0.000163978,0.0,137488.0,14.0 -0.000176665,0.0,137488.0,14.0 -0.00016436400000000001,0.0,137488.0,14.0 -0.000174425,0.0,137488.0,14.0 -0.000160283,0.0,137488.0,14.0 -0.00017887500000000002,0.0,137488.0,14.0 -0.00017580000000000002,0.0,137488.0,14.0 -0.000161458,0.0,137488.0,14.0 -0.000160524,0.0,137488.0,14.0 -0.00016867800000000001,0.0,137488.0,14.0 -0.00016931000000000002,0.0,137488.0,14.0 -0.00016969900000000002,0.0,137488.0,14.0 -0.000174205,0.0,137488.0,14.0 -0.000165613,0.0,137488.0,14.0 -0.00015977300000000002,0.0,137488.0,14.0 -0.00017295300000000002,0.0,137488.0,14.0 -0.00016457,0.0,137488.0,14.0 -0.000164086,0.0,137488.0,14.0 -0.000181396,0.0,137488.0,14.0 -0.00016360200000000002,0.0,137488.0,14.0 -0.00017469000000000002,0.0,137488.0,14.0 -0.000158763,0.0,137488.0,14.0 -0.00016687,0.0,137488.0,14.0 -0.000167769,0.0,137488.0,14.0 -0.000161091,0.0,137488.0,14.0 -0.00016045300000000002,0.0,137488.0,14.0 -0.00016614800000000002,0.0,137488.0,14.0 -0.00017378800000000002,0.0,137488.0,14.0 -0.000161984,0.0,137488.0,14.0 -0.00016809800000000002,0.0,137488.0,14.0 -0.00016288400000000002,0.0,137488.0,14.0 -0.000156663,0.0,137488.0,14.0 -0.000170351,0.0,137488.0,14.0 -0.00017356,0.0,137488.0,14.0 -0.00016361900000000002,0.0,137488.0,14.0 -0.000167527,0.0,137488.0,14.0 -0.00016758000000000002,0.0,137488.0,14.0 -0.00016976600000000001,0.0,137488.0,14.0 -0.00016231200000000001,0.0,137488.0,14.0 -0.00016139800000000002,0.0,137488.0,14.0 -0.000169833,0.0,137488.0,14.0 -0.000161983,0.0,137488.0,14.0 -0.00017819300000000002,0.0,137488.0,14.0 -0.00016055300000000002,0.0,137488.0,14.0 -0.000158459,0.0,137488.0,14.0 -0.000173248,0.0,137488.0,14.0 -0.00016199,0.0,137488.0,14.0 -0.00016191800000000002,0.0,137488.0,14.0 -0.000166648,0.0,137488.0,14.0 -0.000173119,0.0,137488.0,14.0 -0.000159051,0.0,137488.0,14.0 -0.00017056000000000002,0.0,137488.0,14.0 -0.000163663,0.0,137488.0,14.0 -0.00015196600000000002,0.0,137488.0,14.0 -0.000172658,0.0,137488.0,14.0 -0.00015928600000000002,0.0,137488.0,14.0 -0.00016405300000000002,0.0,137488.0,14.0 -0.00016577100000000002,0.0,137488.0,14.0 -0.000159733,0.0,137488.0,14.0 -0.00017112800000000002,0.0,137488.0,14.0 -0.00016903,0.0,137488.0,14.0 -0.000161365,0.0,137488.0,14.0 -0.000176529,0.0,137488.0,14.0 -0.00015195,0.0,137488.0,14.0 -0.000159815,0.0,137488.0,14.0 -0.000164615,0.0,137488.0,14.0 -0.016196191000000002,0.0,137488.0,14.0 -0.00018028800000000002,0.0,137488.0,14.0 -0.000166395,0.0,137488.0,14.0 -0.000163931,0.0,137488.0,14.0 -0.000172807,0.0,137488.0,14.0 -0.000174837,0.0,137488.0,14.0 -0.000169194,0.0,137488.0,14.0 -0.000168297,0.0,137488.0,14.0 -0.00016705300000000001,0.0,137488.0,14.0 -0.00016826700000000002,0.0,137488.0,14.0 -0.000164847,0.0,137488.0,14.0 -0.00016371500000000001,0.0,137488.0,14.0 -0.00016511500000000002,0.0,137488.0,14.0 -0.00016648000000000002,0.0,137488.0,14.0 -0.00017323500000000002,0.0,137488.0,14.0 -0.00015901,0.0,137488.0,14.0 -0.00018002300000000002,0.0,137488.0,14.0 -0.000163874,0.0,137488.0,14.0 -0.000173508,0.0,137488.0,14.0 -0.000169091,0.0,137488.0,14.0 -0.000165192,0.0,137488.0,14.0 -0.000172255,0.0,137488.0,14.0 -0.000160146,0.0,137488.0,14.0 -0.000174114,0.0,137488.0,14.0 -0.00017468300000000002,0.0,137488.0,14.0 -0.00015947700000000002,0.0,137488.0,14.0 -0.00017333000000000002,0.0,137488.0,14.0 -0.000173985,0.0,137488.0,14.0 -0.000165377,0.0,137488.0,14.0 -0.000170261,0.0,137488.0,14.0 -0.000167047,0.0,137488.0,14.0 -0.000165174,0.0,137488.0,14.0 -0.00017993000000000002,0.0,137488.0,14.0 -0.00017026400000000002,0.0,137488.0,14.0 -0.00016264600000000001,0.0,137488.0,14.0 -0.00017470500000000002,0.0,137488.0,14.0 -0.00016164100000000002,0.0,137488.0,14.0 -0.00016875900000000002,0.0,137488.0,14.0 -0.00016281500000000002,0.0,137488.0,14.0 -0.00016639900000000002,0.0,137488.0,14.0 -0.000172596,0.0,137488.0,14.0 -0.00016843400000000002,0.0,137488.0,14.0 -0.000171026,0.0,137488.0,14.0 -0.000167655,0.0,137488.0,14.0 -0.00016080800000000002,0.0,137488.0,14.0 -0.000170969,0.0,137488.0,14.0 -0.000162991,0.0,137488.0,14.0 -0.00018218500000000002,0.0,137488.0,14.0 -0.00017163,0.0,137488.0,14.0 -0.00016263,0.0,137488.0,14.0 -0.000165579,0.0,137488.0,14.0 -0.000174425,0.0,137488.0,14.0 -0.000165906,0.0,137488.0,14.0 -0.00017189600000000002,0.0,137488.0,14.0 -0.000158707,0.0,137488.0,14.0 -0.00016715300000000002,0.0,137488.0,14.0 -0.000171242,0.0,137488.0,14.0 -0.00016297700000000002,0.0,137488.0,14.0 -0.000167033,0.0,137488.0,14.0 -0.000174651,0.0,137488.0,14.0 -0.00016199400000000002,0.0,137488.0,14.0 -0.0001755,0.0,137488.0,14.0 -0.00015938600000000002,0.0,137488.0,14.0 -0.00017169,0.0,137488.0,14.0 -0.000165314,0.0,137488.0,14.0 -0.000159915,0.0,137488.0,14.0 -0.00017185800000000002,0.0,137488.0,14.0 -0.000168731,0.0,137488.0,14.0 -0.000161235,0.0,137488.0,14.0 -0.000171952,0.0,137488.0,14.0 -0.00016071300000000002,0.0,137488.0,14.0 -0.000182541,0.0,137488.0,14.0 -0.000169156,0.0,137488.0,14.0 -0.000160812,0.0,137488.0,14.0 -0.00017151200000000002,0.0,137488.0,14.0 -0.00017058200000000001,0.0,137488.0,14.0 -0.000159941,0.0,137488.0,14.0 -0.000165816,0.0,137488.0,14.0 -0.00015440900000000002,0.0,137488.0,14.0 -0.000158066,0.0,137488.0,14.0 -0.00016721000000000002,0.0,137488.0,14.0 -0.000160685,0.0,137488.0,14.0 -0.000159783,0.0,137488.0,14.0 -0.00017178400000000002,0.0,137488.0,14.0 -0.000157725,0.0,137488.0,14.0 -0.000173486,0.0,137488.0,14.0 -0.00016231,0.0,137488.0,14.0 -0.000166426,0.0,137488.0,14.0 -0.000168509,0.0,137488.0,14.0 -0.00016346900000000002,0.0,137488.0,14.0 -0.000166476,0.0,137488.0,14.0 -0.00016298700000000002,0.0,137488.0,14.0 -0.00015741100000000001,0.0,137488.0,14.0 -0.000170046,0.0,137488.0,14.0 -0.00015919,0.0,137488.0,14.0 -0.008888973000000001,0.0,137488.0,14.0 -0.000180191,0.0,137488.0,14.0 -0.00016029800000000002,0.0,137488.0,14.0 -0.000165321,0.0,137488.0,14.0 -0.000165999,0.0,137488.0,14.0 -0.000161439,0.0,137488.0,14.0 -0.00017022100000000002,0.0,137488.0,14.0 -0.000160032,0.0,137488.0,14.0 -0.00016313200000000002,0.0,137488.0,14.0 -0.0001665,0.0,137488.0,14.0 -0.000157059,0.0,137488.0,14.0 -0.000163497,0.0,137488.0,14.0 -0.000167323,0.0,137488.0,14.0 -0.00016487,0.0,137488.0,14.0 -0.000171916,0.0,137488.0,14.0 -0.00015806200000000002,0.0,137488.0,14.0 -0.000163668,0.0,137488.0,14.0 -0.000166508,0.0,137488.0,14.0 -0.000169569,0.0,137488.0,14.0 -0.00015733200000000002,0.0,137488.0,14.0 -0.000186464,0.0,137488.0,14.0 -0.00016958200000000002,0.0,137488.0,14.0 -0.000160783,0.0,137488.0,14.0 -0.000167359,0.0,137488.0,14.0 -0.000163959,0.0,137488.0,14.0 -0.00016452,0.0,137488.0,14.0 -0.000172363,0.0,137488.0,14.0 -0.00015947200000000002,0.0,137488.0,14.0 -0.000163801,0.0,137488.0,14.0 -0.000168073,0.0,137488.0,14.0 -0.000157612,0.0,137488.0,14.0 -0.00016956300000000002,0.0,137488.0,14.0 -0.00016654000000000001,0.0,137488.0,14.0 -0.000157063,0.0,137488.0,14.0 -0.000168867,0.0,137488.0,14.0 -0.00016106100000000002,0.0,137488.0,14.0 -0.00016237800000000002,0.0,137488.0,14.0 -0.000168426,0.0,137488.0,14.0 -0.00015958700000000002,0.0,137488.0,14.0 -0.000164002,0.0,137488.0,14.0 -0.00016963000000000001,0.0,137488.0,14.0 -0.00015856,0.0,137488.0,14.0 -0.000172312,0.0,137488.0,14.0 -0.001764586,0.8293214385697268,137488.0,14.0 -0.00017506500000000002,0.0,137488.0,14.0 -0.00016834100000000002,0.0,137488.0,14.0 -0.000166839,0.0,137488.0,14.0 -0.00016749200000000002,0.0,137488.0,14.0 -0.00017151900000000002,0.0,137488.0,14.0 -0.00017272900000000002,0.0,137488.0,14.0 -0.00016870100000000002,0.0,137488.0,14.0 -0.000165396,0.0,137488.0,14.0 -0.00017385800000000001,0.0,137488.0,14.0 -0.000172585,0.0,137488.0,14.0 -0.000165503,0.0,137488.0,14.0 -0.00016654700000000002,0.0,137488.0,14.0 -0.000170852,0.0,137488.0,14.0 -0.00016353100000000002,0.0,137488.0,14.0 -0.000184834,0.0,137488.0,14.0 -0.00016569700000000002,0.0,137488.0,14.0 -0.00017193700000000002,0.0,137488.0,14.0 -0.00017347100000000002,0.0,137488.0,14.0 -0.00016856100000000001,0.0,137488.0,14.0 -0.000171979,0.0,137488.0,14.0 -0.000171277,0.0,137488.0,14.0 -0.00016196100000000002,0.0,137488.0,14.0 -0.00016605800000000002,0.0,137488.0,14.0 -0.00016533200000000002,0.0,137488.0,14.0 -0.000166546,0.0,137488.0,14.0 -0.000173064,0.0,137488.0,14.0 -0.00016598,0.0,137488.0,14.0 -0.00017617200000000002,0.0,137488.0,14.0 -0.00017356400000000002,0.0,137488.0,14.0 -0.00017117800000000002,0.0,137488.0,14.0 -0.000162113,0.0,137488.0,14.0 -0.000167486,0.0,137488.0,14.0 -0.00016544700000000002,0.0,137488.0,14.0 -0.000159931,0.0,137488.0,14.0 -0.00016769900000000002,0.0,137488.0,14.0 -0.000163341,0.0,137488.0,14.0 -0.000164709,0.0,137488.0,14.0 -0.016197557,0.0,137488.0,14.0 -0.00017824800000000002,0.0,137488.0,14.0 -0.00016332600000000001,0.0,137488.0,14.0 -0.000168517,0.0,137488.0,14.0 -0.00016392700000000002,0.0,137488.0,14.0 -0.000163997,0.0,137488.0,14.0 -0.000165691,0.0,137488.0,14.0 -0.000163224,0.0,137488.0,14.0 -0.000168698,0.0,137488.0,14.0 -0.00016160300000000002,0.0,137488.0,14.0 -0.00016275300000000002,0.0,137488.0,14.0 -0.000165717,0.0,137488.0,14.0 -0.00017498400000000002,0.0,137488.0,14.0 -0.000157977,0.0,137488.0,14.0 -0.000168046,0.0,137488.0,14.0 -0.000169023,0.0,137488.0,14.0 -0.000169285,0.0,137488.0,14.0 -0.000162744,0.0,137488.0,14.0 -0.00016281500000000002,0.0,137488.0,14.0 -0.000167428,0.0,137488.0,14.0 -0.00016345900000000002,0.0,137488.0,14.0 -0.00016676400000000002,0.0,137488.0,14.0 -0.000169734,0.0,137488.0,14.0 -0.00016473100000000002,0.0,137488.0,14.0 -0.00018842900000000002,0.0,137488.0,14.0 -0.000165596,0.0,137488.0,14.0 -0.000169302,0.0,137488.0,14.0 -0.00016764400000000002,0.0,137488.0,14.0 -0.000173317,0.0,137488.0,14.0 -0.000169509,0.0,137488.0,14.0 -0.00017165300000000002,0.0,137488.0,14.0 -0.00017546100000000002,0.0,137488.0,14.0 -0.000169759,0.0,137488.0,14.0 -0.00016682400000000001,0.0,137488.0,14.0 -0.000170647,0.0,137488.0,14.0 -0.000177476,0.0,137488.0,14.0 -0.000165401,0.0,137488.0,14.0 -0.00017088000000000002,0.0,137488.0,14.0 -0.00016319400000000002,0.0,137488.0,14.0 -0.000166247,0.0,137488.0,14.0 -0.000169249,0.0,137488.0,14.0 -0.00017091800000000002,0.0,137488.0,14.0 -0.000166533,0.0,137488.0,14.0 -0.000171072,0.0,137488.0,14.0 -0.00017186300000000002,0.0,137488.0,14.0 -0.00016850600000000002,0.0,137488.0,14.0 -0.0001676,0.0,137488.0,14.0 -0.00018606900000000002,0.0,137488.0,14.0 -0.000169199,0.0,137488.0,14.0 -0.00016387900000000002,0.0,137488.0,14.0 -0.000163463,0.0,137488.0,14.0 -0.00016579500000000002,0.0,137488.0,14.0 -0.000170211,0.0,137488.0,14.0 -0.000170416,0.0,137488.0,14.0 -0.000162398,0.0,137488.0,14.0 -0.00016882,0.0,137488.0,14.0 -0.00017414900000000002,0.0,137488.0,14.0 -0.00016898300000000002,0.0,137488.0,14.0 -0.00016960100000000002,0.0,137488.0,14.0 -0.000179585,0.0,137488.0,14.0 -0.000167441,0.0,137488.0,14.0 -0.00016426300000000002,0.0,137488.0,14.0 -0.000162429,0.0,137488.0,14.0 -0.000179934,0.0,137488.0,14.0 -0.000162435,0.0,137488.0,14.0 -0.00016206100000000002,0.0,137488.0,14.0 -0.000168416,0.0,137488.0,14.0 -0.00017111,0.0,137488.0,14.0 -0.00016957000000000002,0.0,137488.0,14.0 -0.000164436,0.0,137488.0,14.0 -0.00017242600000000002,0.0,137488.0,14.0 -0.00018916600000000002,0.0,137488.0,14.0 -0.00017363600000000002,0.0,137488.0,14.0 -0.00017336,0.0,137488.0,14.0 -0.00016854,0.0,137488.0,14.0 -0.000168395,0.0,137488.0,14.0 -0.000169426,0.0,137488.0,14.0 -0.00016528900000000002,0.0,137488.0,14.0 -0.00016554700000000002,0.0,137488.0,14.0 -0.00015966100000000002,0.0,137488.0,14.0 -0.000166564,0.0,137488.0,14.0 -0.000174608,0.0,137488.0,14.0 -0.000167693,0.0,137488.0,14.0 -0.000165043,0.0,137488.0,14.0 -0.000161215,0.0,137488.0,14.0 -0.00016652100000000001,0.0,137488.0,14.0 -0.00016481000000000002,0.0,137488.0,14.0 -0.000169765,0.0,137488.0,14.0 -0.00016387200000000002,0.0,137488.0,14.0 -0.000162151,0.0,137488.0,14.0 -0.00016364500000000002,0.0,137488.0,14.0 -0.000163067,0.0,137488.0,14.0 -0.000172162,0.0,137488.0,14.0 -0.000164553,0.0,137488.0,14.0 -0.000175579,0.0,137488.0,14.0 -0.016211846000000002,0.0,137488.0,14.0 -0.00017796400000000002,0.0,137488.0,14.0 -0.00017168400000000002,0.0,137488.0,14.0 -0.000169154,0.0,137488.0,14.0 -0.000161819,0.0,137488.0,14.0 -0.000169321,0.0,137488.0,14.0 -0.000161774,0.0,137488.0,14.0 -0.000163031,0.0,137488.0,14.0 -0.000170855,0.0,137488.0,14.0 -0.00017572800000000002,0.0,137488.0,14.0 -0.00015914,0.0,137488.0,14.0 -0.00016343100000000001,0.0,137488.0,14.0 -0.000178228,0.0,137488.0,14.0 -0.000159972,0.0,137488.0,14.0 -0.000173804,0.0,137488.0,14.0 -0.00016454500000000002,0.0,137488.0,14.0 -0.000167645,0.0,137488.0,14.0 -0.00017381700000000002,0.0,137488.0,14.0 -0.000160952,0.0,137488.0,14.0 -0.000168748,0.0,137488.0,14.0 -0.0001583,0.0,137488.0,14.0 -0.00016463600000000001,0.0,137488.0,14.0 -0.00016332600000000001,0.0,137488.0,14.0 -0.00018329900000000002,0.0,137488.0,14.0 -0.00016927600000000002,0.0,137488.0,14.0 -0.000160941,0.0,137488.0,14.0 -0.000168369,0.0,137488.0,14.0 -0.000160316,0.0,137488.0,14.0 -0.00016258,0.0,137488.0,14.0 -0.000172153,0.0,137488.0,14.0 -0.00015946500000000002,0.0,137488.0,14.0 -0.000171358,0.0,137488.0,14.0 -0.000160712,0.0,137488.0,14.0 -0.000162587,0.0,137488.0,14.0 -0.000169316,0.0,137488.0,14.0 -0.000159325,0.0,137488.0,14.0 -0.000161482,0.0,137488.0,14.0 -0.00016222300000000002,0.0,137488.0,14.0 -0.00016111100000000002,0.0,137488.0,14.0 -0.00016758200000000002,0.0,137488.0,14.0 -0.000168689,0.0,137488.0,14.0 -0.00016353300000000002,0.0,137488.0,14.0 -0.00016927,0.0,137488.0,14.0 -0.00016147400000000002,0.0,137488.0,14.0 -0.00016500100000000001,0.0,137488.0,14.0 -0.000170869,0.0,137488.0,14.0 -0.00017992300000000002,0.0,137488.0,14.0 -0.00018565900000000002,0.0,137488.0,14.0 -0.00017325400000000002,0.0,137488.0,14.0 -0.00016370500000000002,0.0,137488.0,14.0 -0.00016865800000000002,0.0,137488.0,14.0 -0.000173733,0.0,137488.0,14.0 -0.00015871600000000002,0.0,137488.0,14.0 -0.000171981,0.0,137488.0,14.0 -0.00016308900000000002,0.0,137488.0,14.0 -0.00016142200000000001,0.0,137488.0,14.0 -0.00016834,0.0,137488.0,14.0 -0.00015961300000000002,0.0,137488.0,14.0 -0.000183823,0.0,137488.0,14.0 -0.00016478100000000002,0.0,137488.0,14.0 -0.00016102,0.0,137488.0,14.0 -0.000171127,0.0,137488.0,14.0 -0.000166391,0.0,137488.0,14.0 -0.00016395600000000001,0.0,137488.0,14.0 -0.000167119,0.0,137488.0,14.0 -0.00016320400000000002,0.0,137488.0,14.0 -0.00016516500000000002,0.0,137488.0,14.0 -0.00017860600000000002,0.0,137488.0,14.0 -0.00016667100000000002,0.0,137488.0,14.0 -0.000169805,0.0,137488.0,14.0 -0.000159121,0.0,137488.0,14.0 -0.000181239,0.0,137488.0,14.0 -0.000176359,0.0,137488.0,14.0 -0.00017209000000000001,0.0,137488.0,14.0 -0.000164109,0.0,137488.0,14.0 -0.00016806000000000001,0.0,137488.0,14.0 -0.00017612700000000002,0.0,137488.0,14.0 -0.000167379,0.0,137488.0,14.0 -0.00017043,0.0,137488.0,14.0 -0.000160039,0.0,137488.0,14.0 -0.00016908600000000001,0.0,137488.0,14.0 -0.000170445,0.0,137488.0,14.0 -0.00016058900000000002,0.0,137488.0,14.0 -0.000166545,0.0,137488.0,14.0 -0.00016856300000000002,0.0,137488.0,14.0 -0.00016252200000000001,0.0,137488.0,14.0 -0.000172083,0.0,137488.0,14.0 -0.000162558,0.0,137488.0,14.0 -0.00016567800000000002,0.0,137488.0,14.0 -0.000176195,0.0,137488.0,14.0 -0.00016018,0.0,137488.0,14.0 -0.00016796200000000002,0.0,137488.0,14.0 -0.000173666,0.0,137488.0,14.0 -0.00016500300000000002,0.0,137488.0,14.0 -0.016214279,0.0,137488.0,14.0 -0.000171418,0.0,137488.0,14.0 -0.000159512,0.0,137488.0,14.0 -0.00017021200000000002,0.0,137488.0,14.0 -0.000159215,0.0,137488.0,14.0 -0.00016182700000000002,0.0,137488.0,14.0 -0.000172661,0.0,137488.0,14.0 -0.00017039800000000002,0.0,137488.0,14.0 -0.000156835,0.0,137488.0,14.0 -0.00018253100000000002,0.0,137488.0,14.0 -0.00016219000000000002,0.0,137488.0,14.0 -0.000169042,0.0,137488.0,14.0 -0.00016541,0.0,137488.0,14.0 -0.000159834,0.0,137488.0,14.0 -0.000169833,0.0,137488.0,14.0 -0.00016494,0.0,137488.0,14.0 -0.000161979,0.0,137488.0,14.0 -0.00016847200000000002,0.0,137488.0,14.0 -0.000158149,0.0,137488.0,14.0 -0.000164814,0.0,137488.0,14.0 -0.00016721000000000002,0.0,137488.0,14.0 -0.000158886,0.0,137488.0,14.0 -0.00016638500000000001,0.0,137488.0,14.0 -0.00017426800000000002,0.0,137488.0,14.0 -0.00017461600000000002,0.0,137488.0,14.0 -0.000172756,0.0,137488.0,14.0 -0.000163981,0.0,137488.0,14.0 -0.00016617700000000002,0.0,137488.0,14.0 -0.00016805200000000002,0.0,137488.0,14.0 -0.000162792,0.0,137488.0,14.0 -0.000165698,0.0,137488.0,14.0 -0.00016823100000000002,0.0,137488.0,14.0 -0.000160783,0.0,137488.0,14.0 -0.00017220200000000002,0.0,137488.0,14.0 -0.00016424,0.0,137488.0,14.0 -0.000160659,0.0,137488.0,14.0 -0.000168683,0.0,137488.0,14.0 -0.000190089,0.0,137488.0,14.0 -0.00017731500000000002,0.0,137488.0,14.0 -0.00016407700000000002,0.0,137488.0,14.0 -0.000159623,0.0,137488.0,14.0 -0.000173993,0.0,137488.0,14.0 -0.000168948,0.0,137488.0,14.0 -0.00016254800000000002,0.0,137488.0,14.0 -0.00016683800000000002,0.0,137488.0,14.0 -0.000163785,0.0,137488.0,14.0 -0.00017020000000000002,0.0,137488.0,14.0 -0.000165544,0.0,137488.0,14.0 -0.000182618,0.0,137488.0,14.0 -0.00017197700000000002,0.0,137488.0,14.0 -0.000163454,0.0,137488.0,14.0 -0.000165691,0.0,137488.0,14.0 -0.00016914300000000002,0.0,137488.0,14.0 -0.00016400300000000002,0.0,137488.0,14.0 -0.00017261700000000002,0.0,137488.0,14.0 -0.00016378400000000002,0.0,137488.0,14.0 -0.000164572,0.0,137488.0,14.0 -0.000165317,0.0,137488.0,14.0 -0.000163515,0.0,137488.0,14.0 -0.000164344,0.0,137488.0,14.0 -0.00016702,0.0,137488.0,14.0 -0.000165901,0.0,137488.0,14.0 -0.000170242,0.0,137488.0,14.0 -0.000164968,0.0,137488.0,14.0 -0.000169614,0.0,137488.0,14.0 -0.000170198,0.0,137488.0,14.0 -0.000160962,0.0,137488.0,14.0 -0.00016370700000000002,0.0,137488.0,14.0 -0.000171879,0.0,137488.0,14.0 -0.00016168900000000002,0.0,137488.0,14.0 -0.000196235,0.0,137488.0,14.0 -0.00018592900000000002,0.0,137488.0,14.0 -0.00016329500000000001,0.0,137488.0,14.0 -0.00016963200000000002,0.0,137488.0,14.0 -0.000168011,0.0,137488.0,14.0 -0.00016744,0.0,137488.0,14.0 -0.00016922900000000002,0.0,137488.0,14.0 -0.000159969,0.0,137488.0,14.0 -0.00016917400000000002,0.0,137488.0,14.0 -0.000163973,0.0,137488.0,14.0 -0.00017057400000000002,0.0,137488.0,14.0 -0.000166595,0.0,137488.0,14.0 -0.000165457,0.0,137488.0,14.0 -0.000167311,0.0,137488.0,14.0 -0.000175797,0.0,137488.0,14.0 -0.00016271000000000002,0.0,137488.0,14.0 -0.00020538700000000002,0.0,137488.0,14.0 -0.00016572,0.0,137488.0,14.0 -0.000165932,0.0,137488.0,14.0 -0.000170805,0.0,137488.0,14.0 -0.000161473,0.0,137488.0,14.0 +0.00016863000000000002,0.0,137488.0,14.0 +0.00016304680000000003,0.0,137488.0,14.0 +0.0001633055,0.0,137488.0,14.0 +0.00016312190000000002,0.0,137488.0,14.0 +0.0001636328,0.0,137488.0,14.0 +0.00016279690000000003,0.0,137488.0,14.0 +0.0001594408,0.0,137488.0,14.0 +0.0017632473000000002,0.0,137488.0,14.0 +0.00016502820000000002,0.0,137488.0,14.0 +0.00016493480000000002,0.0,137488.0,14.0 +0.0005654343,0.6817476407073289,137488.0,14.0 +0.000164616,0.0,137488.0,14.0 +0.0001657445,0.0,137488.0,14.0 +0.00016102720000000002,0.0,137488.0,14.0 +0.0001643259,0.0,137488.0,14.0 +0.0017702165000000002,0.0,137488.0,14.0 +0.0001665185,0.0,137488.0,14.0 +0.0001680615,0.0,137488.0,14.0 +0.00016320070000000003,0.0,137488.0,14.0 +0.00016184760000000003,0.0,137488.0,14.0 +0.0001662605,0.0,137488.0,14.0 +0.00016383910000000002,0.0,137488.0,14.0 +0.0001683185,0.0,137488.0,14.0 +0.0001647189,0.0,137488.0,14.0 +0.0017691767000000001,0.0,137488.0,14.0 +0.0001640202,0.0,137488.0,14.0 +0.0001677949,0.0,137488.0,14.0 +0.00016562340000000002,0.0,137488.0,14.0 +0.0001656247,0.0,137488.0,14.0 +0.0001775838,0.0,137488.0,14.0 +0.00027136900000000004,0.0,137488.0,14.0 +0.0002980468,0.0,137488.0,14.0 +0.0018777815,0.0,137488.0,14.0 +0.0002864696,0.0,137488.0,14.0 +0.00031778490000000003,0.0,137488.0,14.0 +0.00027549810000000003,0.0,137488.0,14.0 +0.0002869903,0.0,137488.0,14.0 +0.000278173,0.0,137488.0,14.0 +0.0018801436000000001,0.0,137488.0,14.0 +0.00027597330000000004,0.0,137488.0,14.0 +0.0002791308,0.0,137488.0,14.0 +0.0002786552,0.0,137488.0,14.0 +0.0002803289,0.0,137488.0,14.0 +0.0018837415,0.0,137488.0,14.0 +0.000334932,0.4102582016648155,137488.0,14.0 +0.0001658332,0.0,137488.0,14.0 +0.00016191500000000002,0.0,137488.0,14.0 +0.0001641426,0.0,137488.0,14.0 +0.00016053170000000002,0.0,137488.0,14.0 +0.0001651483,0.0,137488.0,14.0 +0.00016596810000000001,0.0,137488.0,14.0 +0.00016638890000000002,0.0,137488.0,14.0 +0.0017677723000000002,0.0,137488.0,14.0 +0.0001674604,0.0,137488.0,14.0 +0.00016714830000000001,0.0,137488.0,14.0 +0.0001647922,0.0,137488.0,14.0 +0.0001646046,0.0,137488.0,14.0 +0.0001678736,0.0,137488.0,14.0 +0.0001636435,0.0,137488.0,14.0 +0.000165803,0.0,137488.0,14.0 +0.00016447290000000002,0.0,137488.0,14.0 +0.0001651656,0.0,137488.0,14.0 +0.001768672,0.0,137488.0,14.0 +0.0001667878,0.0,137488.0,14.0 +0.00016805460000000002,0.0,137488.0,14.0 +0.0001633172,0.0,137488.0,14.0 +0.0001626727,0.0,137488.0,14.0 +0.0001621488,0.0,137488.0,14.0 +0.0001617279,0.0,137488.0,14.0 +0.0001639935,0.0,137488.0,14.0 +0.00016089050000000002,0.0,137488.0,14.0 +0.0001632352,0.0,137488.0,14.0 +0.00016185450000000002,0.0,137488.0,14.0 +0.0001614446,0.0,137488.0,14.0 +0.00016310600000000002,0.0,137488.0,14.0 +0.000162619,0.0,137488.0,14.0 +0.0001637039,0.0,137488.0,14.0 +0.0003168573,0.4292143498035235,137488.0,14.0 +0.00017046110000000001,0.0,137488.0,14.0 +0.0001665531,0.0,137488.0,14.0 +0.0001674939,0.0,137488.0,14.0 +0.00016754430000000001,0.0,137488.0,14.0 +0.0001693159,0.0,137488.0,14.0 +0.00016938530000000003,0.0,137488.0,14.0 +0.00016691520000000002,0.0,137488.0,14.0 +0.0001680307,0.0,137488.0,14.0 +0.0001679882,0.0,137488.0,14.0 +0.0001856998,0.0,137488.0,14.0 +0.0002089038,0.0,137488.0,14.0 +0.00017539,0.0,137488.0,14.0 +0.00017052590000000002,0.0,137488.0,14.0 +0.00016577290000000002,0.0,137488.0,14.0 +0.00017007170000000001,0.0,137488.0,14.0 +0.0001684056,0.0,137488.0,14.0 +0.0001701561,0.0,137488.0,14.0 +0.0001687773,0.0,137488.0,14.0 +0.0001722063,0.0,137488.0,14.0 +0.0001720232,0.0,137488.0,14.0 +0.0001705893,0.0,137488.0,14.0 +0.0001721255,0.0,137488.0,14.0 +0.00017147,0.0,137488.0,14.0 +0.0001745295,0.0,137488.0,14.0 +0.0001707844,0.0,137488.0,14.0 +0.00017196680000000002,0.0,137488.0,14.0 +0.00016561170000000002,0.0,137488.0,14.0 +0.0001660938,0.0,137488.0,14.0 +0.0001664919,0.0,137488.0,14.0 +0.00016574070000000002,0.0,137488.0,14.0 +0.00016876950000000002,0.0,137488.0,14.0 +0.00016417550000000003,0.0,137488.0,14.0 +0.0005535143000000001,0.6684242846119784,137488.0,14.0 +0.0001703952,0.0,137488.0,14.0 +0.00016994120000000002,0.0,137488.0,14.0 +0.0001696297,0.0,137488.0,14.0 +0.0001718729,0.0,137488.0,14.0 +0.0001709124,0.0,137488.0,14.0 +0.00017459960000000001,0.0,137488.0,14.0 +0.0001746747,0.0,137488.0,14.0 +0.00017268460000000003,0.0,137488.0,14.0 +0.0001719834,0.0,137488.0,14.0 +0.0001744262,0.0,137488.0,14.0 +0.0001716897,0.0,137488.0,14.0 +0.00017288430000000001,0.0,137488.0,14.0 +0.0001683595,0.0,137488.0,14.0 +0.0001716515,0.0,137488.0,14.0 +0.0001646958,0.0,137488.0,14.0 +0.0001657645,0.0,137488.0,14.0 +0.00016722520000000003,0.0,137488.0,14.0 +0.0001652435,0.0,137488.0,14.0 +0.00016998780000000003,0.0,137488.0,14.0 +0.00027194990000000004,0.0,137488.0,14.0 +0.000278298,0.0,137488.0,14.0 +0.0002774416,0.0,137488.0,14.0 +0.00027947270000000003,0.0,137488.0,14.0 +0.0002800897,0.0,137488.0,14.0 +0.000278023,0.0,137488.0,14.0 +0.0002772273,0.0,137488.0,14.0 +0.0002748786,0.0,137488.0,14.0 +0.0002762668,0.0,137488.0,14.0 +0.0002808732,0.0,137488.0,14.0 +0.00028255140000000005,0.0,137488.0,14.0 +0.0002836784,0.0,137488.0,14.0 +0.0002838348,0.0,137488.0,14.0 +0.0002839537,0.0,137488.0,14.0 +0.00034714180000000003,0.38414590233731577,137488.0,14.0 +0.00017543700000000002,0.0,137488.0,14.0 +0.0001698012,0.0,137488.0,14.0 +0.0001693051,0.0,137488.0,14.0 +0.0001680677,0.0,137488.0,14.0 +0.00016857300000000001,0.0,137488.0,14.0 +0.00016970830000000002,0.0,137488.0,14.0 +0.00016774600000000003,0.0,137488.0,14.0 +0.0001690774,0.0,137488.0,14.0 +0.0001671888,0.0,137488.0,14.0 +0.0001686851,0.0,137488.0,14.0 +0.0001696678,0.0,137488.0,14.0 diff --git a/perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv b/perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv index 80f0ba2..1346b6a 100644 --- a/perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv +++ b/perf/PatternFolds/output/4ff037b1-237d-5e5b-807c-8f91da280e05.csv @@ -1,3679 +1,1001 @@ times,gctimes,bytes,allocs -0.00017357400000000002,0.0,137488.0,14.0 -0.000194832,0.0,137488.0,14.0 -0.00016596700000000002,0.0,137488.0,14.0 -0.00016074900000000002,0.0,137488.0,14.0 -0.000169917,0.0,137488.0,14.0 -0.00016750600000000002,0.0,137488.0,14.0 -0.000161752,0.0,137488.0,14.0 -0.000159795,0.0,137488.0,14.0 -0.000156315,0.0,137488.0,14.0 -0.000159524,0.0,137488.0,14.0 -0.00016285,0.0,137488.0,14.0 -0.000170416,0.0,137488.0,14.0 -0.00016297700000000002,0.0,137488.0,14.0 -0.000171282,0.0,137488.0,14.0 -0.000157307,0.0,137488.0,14.0 -0.00015745100000000002,0.0,137488.0,14.0 -0.000154944,0.0,137488.0,14.0 -0.000154575,0.0,137488.0,14.0 -0.00015473600000000002,0.0,137488.0,14.0 -0.000149008,0.0,137488.0,14.0 -0.00015707200000000002,0.0,137488.0,14.0 -0.00016816000000000002,0.0,137488.0,14.0 -0.000173938,0.0,137488.0,14.0 -0.000166965,0.0,137488.0,14.0 -0.000163379,0.0,137488.0,14.0 -0.000162554,0.0,137488.0,14.0 -0.00016568100000000002,0.0,137488.0,14.0 -0.000164835,0.0,137488.0,14.0 -0.000167373,0.0,137488.0,14.0 -0.00015336600000000002,0.0,137488.0,14.0 -0.000164248,0.0,137488.0,14.0 -0.000160874,0.0,137488.0,14.0 -0.00016007800000000002,0.0,137488.0,14.0 -0.00016400600000000002,0.0,137488.0,14.0 -0.000164437,0.0,137488.0,14.0 -0.000161853,0.0,137488.0,14.0 -0.000161339,0.0,137488.0,14.0 -0.00017016400000000002,0.0,137488.0,14.0 -0.00016179400000000002,0.0,137488.0,14.0 -0.000162595,0.0,137488.0,14.0 -0.000169485,0.0,137488.0,14.0 -0.000163325,0.0,137488.0,14.0 -0.00015761100000000002,0.0,137488.0,14.0 -0.00016455000000000002,0.0,137488.0,14.0 -0.000165236,0.0,137488.0,14.0 -0.000165401,0.0,137488.0,14.0 -0.000183906,0.0,137488.0,14.0 -0.000155317,0.0,137488.0,14.0 -0.000158779,0.0,137488.0,14.0 -0.000154861,0.0,137488.0,14.0 -0.000168536,0.0,137488.0,14.0 -0.00016488,0.0,137488.0,14.0 -0.00016358600000000002,0.0,137488.0,14.0 -0.000159022,0.0,137488.0,14.0 -0.00016111,0.0,137488.0,14.0 -0.000175341,0.0,137488.0,14.0 -0.000162157,0.0,137488.0,14.0 -0.000163933,0.0,137488.0,14.0 -0.00015937200000000002,0.0,137488.0,14.0 -0.00017183700000000002,0.0,137488.0,14.0 -0.00016379600000000002,0.0,137488.0,14.0 -0.000157354,0.0,137488.0,14.0 -0.00016056300000000001,0.0,137488.0,14.0 -0.00015191100000000002,0.0,137488.0,14.0 -0.00015466200000000002,0.0,137488.0,14.0 -0.000166197,0.0,137488.0,14.0 -0.000167989,0.0,137488.0,14.0 -0.000159635,0.0,137488.0,14.0 -0.000159147,0.0,137488.0,14.0 -0.000157369,0.0,137488.0,14.0 -0.000177347,0.0,137488.0,14.0 -0.000166588,0.0,137488.0,14.0 -0.000163084,0.0,137488.0,14.0 -0.000169724,0.0,137488.0,14.0 -0.00015940100000000001,0.0,137488.0,14.0 -0.00015813,0.0,137488.0,14.0 -0.000160368,0.0,137488.0,14.0 -0.000156309,0.0,137488.0,14.0 -0.00015238800000000002,0.0,137488.0,14.0 -0.000165095,0.0,137488.0,14.0 -0.00016184600000000002,0.0,137488.0,14.0 -0.000184148,0.0,137488.0,14.0 -0.000164332,0.0,137488.0,14.0 -0.00017015000000000002,0.0,137488.0,14.0 -0.0001638,0.0,137488.0,14.0 -0.000157626,0.0,137488.0,14.0 -0.000161905,0.0,137488.0,14.0 -0.00016011600000000002,0.0,137488.0,14.0 -0.000160488,0.0,137488.0,14.0 -0.000156949,0.0,137488.0,14.0 -0.00017620800000000002,0.0,137488.0,14.0 -0.00016401500000000002,0.0,137488.0,14.0 -0.000167491,0.0,137488.0,14.0 -0.000158963,0.0,137488.0,14.0 -0.00015761800000000002,0.0,137488.0,14.0 -0.000174728,0.0,137488.0,14.0 -0.00016408200000000002,0.0,137488.0,14.0 -0.00015553,0.0,137488.0,14.0 -0.000152984,0.0,137488.0,14.0 -0.00016442,0.0,137488.0,14.0 -0.00016435600000000002,0.0,137488.0,14.0 -0.00016486700000000002,0.0,137488.0,14.0 -0.00016317,0.0,137488.0,14.0 -0.000159552,0.0,137488.0,14.0 -0.000159681,0.0,137488.0,14.0 -0.00019097000000000002,0.0,137488.0,14.0 -0.00017296800000000001,0.0,137488.0,14.0 -0.000164809,0.0,137488.0,14.0 -0.000163386,0.0,137488.0,14.0 -0.00015267200000000002,0.0,137488.0,14.0 -0.000161709,0.0,137488.0,14.0 -0.000159304,0.0,137488.0,14.0 -0.000166856,0.0,137488.0,14.0 -0.00016907600000000002,0.0,137488.0,14.0 -0.00015175,0.0,137488.0,14.0 -0.00016118800000000002,0.0,137488.0,14.0 -0.000159715,0.0,137488.0,14.0 -0.00016305100000000002,0.0,137488.0,14.0 -0.000154088,0.0,137488.0,14.0 -0.000164713,0.0,137488.0,14.0 -0.000184679,0.0,137488.0,14.0 -0.000162167,0.0,137488.0,14.0 -0.00015803300000000002,0.0,137488.0,14.0 -0.000157719,0.0,137488.0,14.0 -0.00017121400000000002,0.0,137488.0,14.0 -0.000163608,0.0,137488.0,14.0 -0.00016661600000000002,0.0,137488.0,14.0 -0.000165851,0.0,137488.0,14.0 -0.00016818100000000002,0.0,137488.0,14.0 -0.00016386700000000002,0.0,137488.0,14.0 -0.000165541,0.0,137488.0,14.0 -0.000162167,0.0,137488.0,14.0 -0.000161229,0.0,137488.0,14.0 -0.00020661,0.0,137488.0,14.0 -0.00016917600000000002,0.0,137488.0,14.0 -0.00016899700000000002,0.0,137488.0,14.0 -0.00016600800000000001,0.0,137488.0,14.0 -0.00016593600000000002,0.0,137488.0,14.0 -0.00016226600000000002,0.0,137488.0,14.0 -0.000156398,0.0,137488.0,14.0 -0.00017127800000000002,0.0,137488.0,14.0 -0.00015326600000000002,0.0,137488.0,14.0 -0.000160449,0.0,137488.0,14.0 -0.000173374,0.0,137488.0,14.0 -0.000165687,0.0,137488.0,14.0 -0.000147603,0.0,137488.0,14.0 -0.00016777,0.0,137488.0,14.0 -0.000165241,0.0,137488.0,14.0 -0.000152735,0.0,137488.0,14.0 -0.00016280300000000002,0.0,137488.0,14.0 -0.00015871100000000002,0.0,137488.0,14.0 -0.00016697,0.0,137488.0,14.0 -0.00016205,0.0,137488.0,14.0 -0.000177906,0.0,137488.0,14.0 -0.00015998000000000002,0.0,137488.0,14.0 -0.000159225,0.0,137488.0,14.0 -0.00015308500000000002,0.0,137488.0,14.0 -0.000169168,0.0,137488.0,14.0 -0.000172948,0.0,137488.0,14.0 -0.00015898300000000002,0.0,137488.0,14.0 -0.000161329,0.0,137488.0,14.0 -0.000162713,0.0,137488.0,14.0 -0.000150447,0.0,137488.0,14.0 -0.00016347100000000002,0.0,137488.0,14.0 -0.00016275300000000002,0.0,137488.0,14.0 -0.000166498,0.0,137488.0,14.0 -0.00018043100000000002,0.0,137488.0,14.0 -0.000171409,0.0,137488.0,14.0 -0.000164792,0.0,137488.0,14.0 -0.00016513900000000002,0.0,137488.0,14.0 -0.000154384,0.0,137488.0,14.0 -0.000157937,0.0,137488.0,14.0 -0.000161044,0.0,137488.0,14.0 -0.00015612500000000001,0.0,137488.0,14.0 -0.000165395,0.0,137488.0,14.0 -0.000352622,0.0,137488.0,14.0 -0.000156768,0.0,137488.0,14.0 -0.000156359,0.0,137488.0,14.0 -0.000165491,0.0,137488.0,14.0 -0.000161046,0.0,137488.0,14.0 -0.000159137,0.0,137488.0,14.0 -0.00016576900000000002,0.0,137488.0,14.0 -0.00016970800000000002,0.0,137488.0,14.0 -0.00016569300000000001,0.0,137488.0,14.0 -0.00017831000000000002,0.0,137488.0,14.0 -0.00016909300000000002,0.0,137488.0,14.0 -0.000161291,0.0,137488.0,14.0 -0.000159118,0.0,137488.0,14.0 -0.00016790700000000002,0.0,137488.0,14.0 -0.00017425600000000002,0.0,137488.0,14.0 -0.00016563800000000002,0.0,137488.0,14.0 -0.00016543700000000002,0.0,137488.0,14.0 -0.00016368400000000001,0.0,137488.0,14.0 -0.00015962000000000002,0.0,137488.0,14.0 -0.000157176,0.0,137488.0,14.0 -0.000155315,0.0,137488.0,14.0 -0.00016657300000000002,0.0,137488.0,14.0 -0.000160315,0.0,137488.0,14.0 -0.000158948,0.0,137488.0,14.0 -0.00016441600000000002,0.0,137488.0,14.0 -0.000158152,0.0,137488.0,14.0 -0.00015694500000000002,0.0,137488.0,14.0 -0.000173882,0.0,137488.0,14.0 -0.000162575,0.0,137488.0,14.0 -0.00016636100000000002,0.0,137488.0,14.0 -0.000154315,0.0,137488.0,14.0 -0.000149533,0.0,137488.0,14.0 -0.000165247,0.0,137488.0,14.0 -0.000176596,0.0,137488.0,14.0 -0.000159924,0.0,137488.0,14.0 -0.000156737,0.0,137488.0,14.0 -0.00015556400000000002,0.0,137488.0,14.0 -0.00016133100000000002,0.0,137488.0,14.0 -0.00015885,0.0,137488.0,14.0 -0.000161112,0.0,137488.0,14.0 -0.000165706,0.0,137488.0,14.0 -0.000162916,0.0,137488.0,14.0 -0.00016861100000000002,0.0,137488.0,14.0 -0.00017037,0.0,137488.0,14.0 -0.000163695,0.0,137488.0,14.0 -0.00016775900000000002,0.0,137488.0,14.0 -0.00017046700000000002,0.0,137488.0,14.0 -0.00016242100000000002,0.0,137488.0,14.0 -0.000164338,0.0,137488.0,14.0 -0.00016395600000000001,0.0,137488.0,14.0 -0.00016278600000000002,0.0,137488.0,14.0 -0.00015809300000000002,0.0,137488.0,14.0 -0.000155439,0.0,137488.0,14.0 -0.000157916,0.0,137488.0,14.0 -0.000161088,0.0,137488.0,14.0 -0.000155468,0.0,137488.0,14.0 -0.00016357,0.0,137488.0,14.0 -0.00016268600000000002,0.0,137488.0,14.0 -0.00018453000000000002,0.0,137488.0,14.0 -0.00017238500000000002,0.0,137488.0,14.0 -0.00016118800000000002,0.0,137488.0,14.0 -0.00016296100000000001,0.0,137488.0,14.0 -0.00015700700000000002,0.0,137488.0,14.0 -0.00015434200000000002,0.0,137488.0,14.0 -0.000165315,0.0,137488.0,14.0 -0.000156765,0.0,137488.0,14.0 -0.00015954600000000002,0.0,137488.0,14.0 -0.00016302000000000002,0.0,137488.0,14.0 -0.00015715500000000002,0.0,137488.0,14.0 -0.000158071,0.0,137488.0,14.0 -0.000163652,0.0,137488.0,14.0 -0.000160175,0.0,137488.0,14.0 -0.000159011,0.0,137488.0,14.0 -0.000169905,0.0,137488.0,14.0 -0.00018155000000000002,0.0,137488.0,14.0 -0.00015730100000000002,0.0,137488.0,14.0 -0.000167851,0.0,137488.0,14.0 -0.000165233,0.0,137488.0,14.0 -0.000159536,0.0,137488.0,14.0 -0.00016414200000000002,0.0,137488.0,14.0 -0.00015938400000000002,0.0,137488.0,14.0 -0.000154417,0.0,137488.0,14.0 -0.000184489,0.0,137488.0,14.0 -0.000168791,0.0,137488.0,14.0 -0.000154663,0.0,137488.0,14.0 -0.000155212,0.0,137488.0,14.0 -0.000156546,0.0,137488.0,14.0 -0.000168054,0.0,137488.0,14.0 -0.000167001,0.0,137488.0,14.0 -0.000155673,0.0,137488.0,14.0 -0.000158662,0.0,137488.0,14.0 -0.000155737,0.0,137488.0,14.0 -0.00016114000000000002,0.0,137488.0,14.0 -0.000153876,0.0,137488.0,14.0 -0.00016509,0.0,137488.0,14.0 -0.00016198700000000002,0.0,137488.0,14.0 -0.00016246400000000002,0.0,137488.0,14.0 -0.000152082,0.0,137488.0,14.0 -0.000156624,0.0,137488.0,14.0 -0.000163238,0.0,137488.0,14.0 -0.000161323,0.0,137488.0,14.0 -0.000163864,0.0,137488.0,14.0 -0.00015576,0.0,137488.0,14.0 -0.000161315,0.0,137488.0,14.0 -0.000157352,0.0,137488.0,14.0 -0.000165266,0.0,137488.0,14.0 -0.00016603100000000002,0.0,137488.0,14.0 -0.00017335,0.0,137488.0,14.0 -0.000170654,0.0,137488.0,14.0 -0.000164064,0.0,137488.0,14.0 -0.000155916,0.0,137488.0,14.0 -0.000153649,0.0,137488.0,14.0 -0.000158514,0.0,137488.0,14.0 -0.000155949,0.0,137488.0,14.0 -0.000162513,0.0,137488.0,14.0 -0.000184055,0.0,137488.0,14.0 -0.00016926900000000002,0.0,137488.0,14.0 -0.000160834,0.0,137488.0,14.0 -0.00015494600000000002,0.0,137488.0,14.0 -0.00016190400000000001,0.0,137488.0,14.0 -0.00016089,0.0,137488.0,14.0 -0.000160549,0.0,137488.0,14.0 -0.00015965600000000002,0.0,137488.0,14.0 -0.000151934,0.0,137488.0,14.0 -0.000151308,0.0,137488.0,14.0 -0.000167271,0.0,137488.0,14.0 -0.000164866,0.0,137488.0,14.0 -0.00016239500000000002,0.0,137488.0,14.0 -0.000169056,0.0,137488.0,14.0 -0.000169824,0.0,137488.0,14.0 -0.000159154,0.0,137488.0,14.0 -0.000180473,0.0,137488.0,14.0 -0.000159929,0.0,137488.0,14.0 -0.000162845,0.0,137488.0,14.0 -0.000165663,0.0,137488.0,14.0 -0.00015514600000000002,0.0,137488.0,14.0 -0.000168791,0.0,137488.0,14.0 -0.000166779,0.0,137488.0,14.0 -0.000164365,0.0,137488.0,14.0 -0.000159046,0.0,137488.0,14.0 -0.000160762,0.0,137488.0,14.0 -0.000162473,0.0,137488.0,14.0 -0.00016247900000000001,0.0,137488.0,14.0 -0.000164282,0.0,137488.0,14.0 -0.00015506500000000002,0.0,137488.0,14.0 -0.000162547,0.0,137488.0,14.0 -0.000165345,0.0,137488.0,14.0 -0.000169295,0.0,137488.0,14.0 -0.00016030000000000002,0.0,137488.0,14.0 -0.000155117,0.0,137488.0,14.0 -0.00016037400000000002,0.0,137488.0,14.0 -0.00016076300000000002,0.0,137488.0,14.0 -0.00016467600000000002,0.0,137488.0,14.0 -0.000154128,0.0,137488.0,14.0 -0.00015630800000000002,0.0,137488.0,14.0 -0.000161972,0.0,137488.0,14.0 -0.000174744,0.0,137488.0,14.0 -0.000157708,0.0,137488.0,14.0 -0.00018180100000000002,0.0,137488.0,14.0 -0.00017215,0.0,137488.0,14.0 -0.000154201,0.0,137488.0,14.0 -0.00016286000000000002,0.0,137488.0,14.0 -0.000157887,0.0,137488.0,14.0 -0.000155675,0.0,137488.0,14.0 -0.00015532800000000001,0.0,137488.0,14.0 -0.000151928,0.0,137488.0,14.0 -0.000151605,0.0,137488.0,14.0 -0.000166218,0.0,137488.0,14.0 -0.000159037,0.0,137488.0,14.0 -0.000167452,0.0,137488.0,14.0 -0.000165068,0.0,137488.0,14.0 -0.000157602,0.0,137488.0,14.0 -0.00016534200000000002,0.0,137488.0,14.0 -0.000156348,0.0,137488.0,14.0 -0.000160123,0.0,137488.0,14.0 -0.000162349,0.0,137488.0,14.0 -0.00015827000000000001,0.0,137488.0,14.0 -0.00015992800000000002,0.0,137488.0,14.0 -0.00028033,0.0,137488.0,14.0 -0.000284985,0.0,137488.0,14.0 -0.00027093200000000004,0.0,137488.0,14.0 -0.00028085400000000003,0.0,137488.0,14.0 -0.00026601900000000004,0.0,137488.0,14.0 -0.000281924,0.0,137488.0,14.0 -0.000276111,0.0,137488.0,14.0 -0.000279131,0.0,137488.0,14.0 -0.00027851700000000004,0.0,137488.0,14.0 -0.000338385,0.0,137488.0,14.0 -0.000278287,0.0,137488.0,14.0 -0.000274813,0.0,137488.0,14.0 -0.00027581700000000003,0.0,137488.0,14.0 -0.000274186,0.0,137488.0,14.0 -0.000269288,0.0,137488.0,14.0 -0.000288978,0.0,137488.0,14.0 -0.000263713,0.0,137488.0,14.0 -0.000283625,0.0,137488.0,14.0 -0.000268572,0.0,137488.0,14.0 -0.00027676,0.0,137488.0,14.0 -0.00027167,0.0,137488.0,14.0 -0.000275995,0.0,137488.0,14.0 -0.00027175,0.0,137488.0,14.0 -0.00027662300000000004,0.0,137488.0,14.0 -0.000271952,0.0,137488.0,14.0 -0.000274125,0.0,137488.0,14.0 -0.000274281,0.0,137488.0,14.0 -0.000277113,0.0,137488.0,14.0 -0.000269505,0.0,137488.0,14.0 -0.000280976,0.0,137488.0,14.0 -0.00027823400000000003,0.0,137488.0,14.0 -0.000278044,0.0,137488.0,14.0 -0.00026402200000000004,0.0,137488.0,14.0 -0.000288516,0.0,137488.0,14.0 -0.000259173,0.0,137488.0,14.0 -0.000275506,0.0,137488.0,14.0 -0.000265668,0.0,137488.0,14.0 -0.000281905,0.0,137488.0,14.0 -0.000267181,0.0,137488.0,14.0 -0.000276135,0.0,137488.0,14.0 -0.000268562,0.0,137488.0,14.0 -0.000276243,0.0,137488.0,14.0 -0.000276329,0.0,137488.0,14.0 -0.000277417,0.0,137488.0,14.0 -0.000284413,0.0,137488.0,14.0 -0.00028048200000000003,0.0,137488.0,14.0 -0.00026886200000000003,0.0,137488.0,14.0 -0.000281159,0.0,137488.0,14.0 -0.000274466,0.0,137488.0,14.0 -0.000273632,0.0,137488.0,14.0 -0.00026962700000000004,0.0,137488.0,14.0 -0.000282336,0.0,137488.0,14.0 -0.000264229,0.0,137488.0,14.0 -0.00027988000000000004,0.0,137488.0,14.0 -0.000278983,0.0,137488.0,14.0 -0.000271597,0.0,137488.0,14.0 -0.00026969900000000003,0.0,137488.0,14.0 -0.000276883,0.0,137488.0,14.0 -0.000276083,0.0,137488.0,14.0 -0.000290528,0.0,137488.0,14.0 -0.00026882100000000003,0.0,137488.0,14.0 -0.000284045,0.0,137488.0,14.0 -0.000270324,0.0,137488.0,14.0 -0.000271158,0.0,137488.0,14.0 -0.000266546,0.0,137488.0,14.0 -0.000277399,0.0,137488.0,14.0 -0.00027585900000000004,0.0,137488.0,14.0 -0.000286159,0.0,137488.0,14.0 -0.000264057,0.0,137488.0,14.0 -0.00027883700000000004,0.0,137488.0,14.0 -0.00028325000000000003,0.0,137488.0,14.0 -0.000271467,0.0,137488.0,14.0 -0.00028415300000000004,0.0,137488.0,14.0 -0.000279661,0.0,137488.0,14.0 -0.000282911,0.0,137488.0,14.0 -0.000285542,0.0,137488.0,14.0 -0.000274218,0.0,137488.0,14.0 -0.00027335200000000004,0.0,137488.0,14.0 -0.000285104,0.0,137488.0,14.0 -0.000265386,0.0,137488.0,14.0 -0.000276538,0.0,137488.0,14.0 -0.000288617,0.0,137488.0,14.0 -0.000275599,0.0,137488.0,14.0 -0.000274211,0.0,137488.0,14.0 -0.000267779,0.0,137488.0,14.0 -0.00027219500000000003,0.0,137488.0,14.0 -0.000282202,0.0,137488.0,14.0 -0.000263965,0.0,137488.0,14.0 -0.000287552,0.0,137488.0,14.0 -0.000270905,0.0,137488.0,14.0 -0.000277462,0.0,137488.0,14.0 -0.000271783,0.0,137488.0,14.0 -0.00027296300000000004,0.0,137488.0,14.0 -0.00026954400000000003,0.0,137488.0,14.0 -0.000278922,0.0,137488.0,14.0 -0.00027026700000000003,0.0,137488.0,14.0 -0.000278376,0.0,137488.0,14.0 -0.000269085,0.0,137488.0,14.0 -0.000278139,0.0,137488.0,14.0 -0.000274203,0.0,137488.0,14.0 -0.000280994,0.0,137488.0,14.0 -0.000271096,0.0,137488.0,14.0 -0.000296308,0.0,137488.0,14.0 -0.000271574,0.0,137488.0,14.0 -0.000277226,0.0,137488.0,14.0 -0.000265262,0.0,137488.0,14.0 -0.000279695,0.0,137488.0,14.0 -0.000274872,0.0,137488.0,14.0 -0.000270964,0.0,137488.0,14.0 -0.000277826,0.0,137488.0,14.0 -0.000284968,0.0,137488.0,14.0 -0.00027701,0.0,137488.0,14.0 -0.000284178,0.0,137488.0,14.0 -0.000271209,0.0,137488.0,14.0 -0.000281728,0.0,137488.0,14.0 -0.00026985400000000004,0.0,137488.0,14.0 -0.000276938,0.0,137488.0,14.0 -0.000281404,0.0,137488.0,14.0 -0.00027557600000000003,0.0,137488.0,14.0 -0.00027166,0.0,137488.0,14.0 -0.000276246,0.0,137488.0,14.0 -0.000267212,0.0,137488.0,14.0 -0.000280406,0.0,137488.0,14.0 -0.000278975,0.0,137488.0,14.0 -0.000275892,0.0,137488.0,14.0 -0.00027311,0.0,137488.0,14.0 -0.00027726300000000003,0.0,137488.0,14.0 -0.00026582200000000003,0.0,137488.0,14.0 -0.00028222,0.0,137488.0,14.0 -0.000261242,0.0,137488.0,14.0 -0.000287545,0.0,137488.0,14.0 -0.00028463100000000003,0.0,137488.0,14.0 -0.000281201,0.0,137488.0,14.0 -0.00026456600000000004,0.0,137488.0,14.0 -0.00028417000000000004,0.0,137488.0,14.0 -0.000264058,0.0,137488.0,14.0 -0.00027886400000000003,0.0,137488.0,14.0 -0.000268321,0.0,137488.0,14.0 -0.00028044400000000003,0.0,137488.0,14.0 -0.000275303,0.0,137488.0,14.0 -0.000267856,0.0,137488.0,14.0 -0.00027312,0.0,137488.0,14.0 -0.000277781,0.0,137488.0,14.0 -0.000266829,0.0,137488.0,14.0 -0.000277055,0.0,137488.0,14.0 -0.00027253600000000003,0.0,137488.0,14.0 -0.00029590300000000003,0.0,137488.0,14.0 -0.000273854,0.0,137488.0,14.0 -0.000278322,0.0,137488.0,14.0 -0.000271831,0.0,137488.0,14.0 -0.000293465,0.0,137488.0,14.0 -0.000266333,0.0,137488.0,14.0 -0.00028233,0.0,137488.0,14.0 -0.000266823,0.0,137488.0,14.0 -0.007331491000000001,0.9398136068093107,137488.0,14.0 -0.000175376,0.0,137488.0,14.0 -0.000154215,0.0,137488.0,14.0 -0.000161871,0.0,137488.0,14.0 -0.000158953,0.0,137488.0,14.0 -0.000160604,0.0,137488.0,14.0 -0.000163756,0.0,137488.0,14.0 -0.000160189,0.0,137488.0,14.0 -0.00017153,0.0,137488.0,14.0 -0.000156817,0.0,137488.0,14.0 -0.000163486,0.0,137488.0,14.0 -0.00016664000000000002,0.0,137488.0,14.0 -0.00016244000000000002,0.0,137488.0,14.0 -0.00016255700000000002,0.0,137488.0,14.0 -0.000161847,0.0,137488.0,14.0 -0.000176681,0.0,137488.0,14.0 -0.00016854900000000002,0.0,137488.0,14.0 -0.000158887,0.0,137488.0,14.0 -0.00016727700000000002,0.0,137488.0,14.0 -0.000155241,0.0,137488.0,14.0 -0.00015196800000000002,0.0,137488.0,14.0 -0.00016388200000000001,0.0,137488.0,14.0 -0.000156624,0.0,137488.0,14.0 -0.000168078,0.0,137488.0,14.0 -0.00016230400000000002,0.0,137488.0,14.0 -0.000166686,0.0,137488.0,14.0 -0.00016087000000000002,0.0,137488.0,14.0 -0.000155728,0.0,137488.0,14.0 -0.00016906,0.0,137488.0,14.0 -0.00015943600000000002,0.0,137488.0,14.0 -0.0001705,0.0,137488.0,14.0 -0.000155351,0.0,137488.0,14.0 -0.000162881,0.0,137488.0,14.0 -0.00016460000000000002,0.0,137488.0,14.0 -0.000162447,0.0,137488.0,14.0 -0.00016047400000000002,0.0,137488.0,14.0 -0.000161714,0.0,137488.0,14.0 -0.000161237,0.0,137488.0,14.0 -0.000159913,0.0,137488.0,14.0 -0.00016111,0.0,137488.0,14.0 -0.00016733700000000001,0.0,137488.0,14.0 -0.00016237600000000002,0.0,137488.0,14.0 -0.00016761,0.0,137488.0,14.0 -0.000166341,0.0,137488.0,14.0 -0.00016913,0.0,137488.0,14.0 -0.00016351,0.0,137488.0,14.0 -0.000152814,0.0,137488.0,14.0 -0.00017143100000000002,0.0,137488.0,14.0 -0.000169499,0.0,137488.0,14.0 -0.00015986800000000002,0.0,137488.0,14.0 -0.000160259,0.0,137488.0,14.0 -0.000163847,0.0,137488.0,14.0 -0.000156109,0.0,137488.0,14.0 -0.000160189,0.0,137488.0,14.0 -0.00015832200000000002,0.0,137488.0,14.0 -0.000157304,0.0,137488.0,14.0 -0.00016101400000000001,0.0,137488.0,14.0 -0.000157782,0.0,137488.0,14.0 -0.000158806,0.0,137488.0,14.0 -0.00015751800000000002,0.0,137488.0,14.0 -0.000167954,0.0,137488.0,14.0 -0.00016213000000000002,0.0,137488.0,14.0 -0.00016202,0.0,137488.0,14.0 -0.00016117600000000002,0.0,137488.0,14.0 -0.000172582,0.0,137488.0,14.0 -0.00016428500000000002,0.0,137488.0,14.0 -0.000157278,0.0,137488.0,14.0 -0.00015540400000000002,0.0,137488.0,14.0 -0.000161821,0.0,137488.0,14.0 -0.00016796200000000002,0.0,137488.0,14.0 -0.00015789300000000001,0.0,137488.0,14.0 -0.00015296100000000001,0.0,137488.0,14.0 -0.000161387,0.0,137488.0,14.0 -0.00016243300000000002,0.0,137488.0,14.0 -0.000171489,0.0,137488.0,14.0 -0.00016174,0.0,137488.0,14.0 -0.00018196,0.0,137488.0,14.0 -0.000157302,0.0,137488.0,14.0 -0.000167256,0.0,137488.0,14.0 -0.000162093,0.0,137488.0,14.0 -0.00016947200000000002,0.0,137488.0,14.0 -0.000153014,0.0,137488.0,14.0 -0.000154684,0.0,137488.0,14.0 -0.00017810700000000002,0.0,137488.0,14.0 -0.000159542,0.0,137488.0,14.0 -0.000153331,0.0,137488.0,14.0 -0.000162069,0.0,137488.0,14.0 -0.000155515,0.0,137488.0,14.0 -0.000151866,0.0,137488.0,14.0 -0.00017567600000000002,0.0,137488.0,14.0 -0.000156317,0.0,137488.0,14.0 -0.00016462400000000001,0.0,137488.0,14.0 -0.00015808,0.0,137488.0,14.0 -0.000152971,0.0,137488.0,14.0 -0.00016625600000000002,0.0,137488.0,14.0 -0.00016379600000000002,0.0,137488.0,14.0 -0.000164952,0.0,137488.0,14.0 -0.00015404,0.0,137488.0,14.0 -0.000160561,0.0,137488.0,14.0 -0.000165976,0.0,137488.0,14.0 -0.00015712700000000002,0.0,137488.0,14.0 -0.000154832,0.0,137488.0,14.0 -0.00015825800000000002,0.0,137488.0,14.0 -0.000155753,0.0,137488.0,14.0 -0.00016538200000000002,0.0,137488.0,14.0 -0.000159512,0.0,137488.0,14.0 -0.000166954,0.0,137488.0,14.0 -0.000164723,0.0,137488.0,14.0 -0.000160153,0.0,137488.0,14.0 -0.00016667600000000001,0.0,137488.0,14.0 -0.000171602,0.0,137488.0,14.0 -0.00016597200000000002,0.0,137488.0,14.0 -0.000151995,0.0,137488.0,14.0 -0.000154808,0.0,137488.0,14.0 -0.000181683,0.0,137488.0,14.0 -0.000173332,0.0,137488.0,14.0 -0.00016470700000000002,0.0,137488.0,14.0 -0.00015318300000000001,0.0,137488.0,14.0 -0.000158102,0.0,137488.0,14.0 -0.00015876600000000002,0.0,137488.0,14.0 -0.000165747,0.0,137488.0,14.0 -0.000156672,0.0,137488.0,14.0 -0.000159691,0.0,137488.0,14.0 -0.000160153,0.0,137488.0,14.0 -0.000157295,0.0,137488.0,14.0 -0.00016071100000000001,0.0,137488.0,14.0 -0.00016238800000000002,0.0,137488.0,14.0 -0.00016798300000000002,0.0,137488.0,14.0 -0.000159929,0.0,137488.0,14.0 -0.00016885200000000002,0.0,137488.0,14.0 -0.000163078,0.0,137488.0,14.0 -0.000160299,0.0,137488.0,14.0 -0.000166336,0.0,137488.0,14.0 -0.000159946,0.0,137488.0,14.0 -0.000161365,0.0,137488.0,14.0 -0.00016282500000000001,0.0,137488.0,14.0 -0.000156002,0.0,137488.0,14.0 -0.00016691900000000002,0.0,137488.0,14.0 -0.000177135,0.0,137488.0,14.0 -0.000171482,0.0,137488.0,14.0 -0.00016199900000000002,0.0,137488.0,14.0 -0.00016059600000000002,0.0,137488.0,14.0 -0.000154138,0.0,137488.0,14.0 -0.000164525,0.0,137488.0,14.0 -0.000167013,0.0,137488.0,14.0 -0.00016052200000000002,0.0,137488.0,14.0 -0.00016399600000000002,0.0,137488.0,14.0 -0.00015394600000000002,0.0,137488.0,14.0 -0.00016747300000000001,0.0,137488.0,14.0 -0.00015980600000000002,0.0,137488.0,14.0 -0.00016662800000000002,0.0,137488.0,14.0 -0.000156815,0.0,137488.0,14.0 -0.000159676,0.0,137488.0,14.0 -0.000156063,0.0,137488.0,14.0 -0.00016087300000000002,0.0,137488.0,14.0 -0.000151797,0.0,137488.0,14.0 -0.000160456,0.0,137488.0,14.0 -0.000164584,0.0,137488.0,14.0 -0.000151516,0.0,137488.0,14.0 -0.00016787,0.0,137488.0,14.0 -0.000160003,0.0,137488.0,14.0 -0.00015807900000000002,0.0,137488.0,14.0 -0.000154086,0.0,137488.0,14.0 -0.000174772,0.0,137488.0,14.0 -0.00016269600000000002,0.0,137488.0,14.0 -0.000166357,0.0,137488.0,14.0 -0.00015395300000000002,0.0,137488.0,14.0 -0.00015440700000000001,0.0,137488.0,14.0 -0.000163785,0.0,137488.0,14.0 -0.000156159,0.0,137488.0,14.0 -0.00016133800000000002,0.0,137488.0,14.0 -0.00016717200000000002,0.0,137488.0,14.0 -0.000155142,0.0,137488.0,14.0 -0.000160604,0.0,137488.0,14.0 -0.000154704,0.0,137488.0,14.0 -0.00015288900000000002,0.0,137488.0,14.0 -0.000164095,0.0,137488.0,14.0 -0.00016211600000000002,0.0,137488.0,14.0 -0.00016189400000000002,0.0,137488.0,14.0 -0.00017006900000000001,0.0,137488.0,14.0 -0.000163277,0.0,137488.0,14.0 -0.00016021,0.0,137488.0,14.0 -0.000166124,0.0,137488.0,14.0 -0.000163418,0.0,137488.0,14.0 -0.000157641,0.0,137488.0,14.0 -0.00016586400000000002,0.0,137488.0,14.0 -0.000154143,0.0,137488.0,14.0 -0.000167688,0.0,137488.0,14.0 -0.00015831700000000002,0.0,137488.0,14.0 -0.00016007100000000002,0.0,137488.0,14.0 -0.000162021,0.0,137488.0,14.0 -0.000159376,0.0,137488.0,14.0 -0.000154565,0.0,137488.0,14.0 -0.000163551,0.0,137488.0,14.0 -0.000161268,0.0,137488.0,14.0 -0.00015911400000000002,0.0,137488.0,14.0 -0.00015957500000000002,0.0,137488.0,14.0 -0.00016399,0.0,137488.0,14.0 -0.00016643200000000002,0.0,137488.0,14.0 -0.00015474100000000001,0.0,137488.0,14.0 -0.00015765,0.0,137488.0,14.0 -0.000170921,0.0,137488.0,14.0 -0.00015543500000000002,0.0,137488.0,14.0 -0.000154283,0.0,137488.0,14.0 -0.000160957,0.0,137488.0,14.0 -0.000158312,0.0,137488.0,14.0 -0.000160972,0.0,137488.0,14.0 -0.000156977,0.0,137488.0,14.0 -0.000154666,0.0,137488.0,14.0 -0.000163384,0.0,137488.0,14.0 -0.000161602,0.0,137488.0,14.0 -0.000161387,0.0,137488.0,14.0 -0.00017310800000000002,0.0,137488.0,14.0 -0.00016286000000000002,0.0,137488.0,14.0 -0.000157848,0.0,137488.0,14.0 -0.000156507,0.0,137488.0,14.0 -0.000154412,0.0,137488.0,14.0 -0.00016878700000000002,0.0,137488.0,14.0 -0.00016796200000000002,0.0,137488.0,14.0 -0.000164591,0.0,137488.0,14.0 -0.00016448800000000001,0.0,137488.0,14.0 -0.000163558,0.0,137488.0,14.0 -0.00016898500000000002,0.0,137488.0,14.0 -0.000153046,0.0,137488.0,14.0 -0.000156526,0.0,137488.0,14.0 -0.000166959,0.0,137488.0,14.0 -0.00015333,0.0,137488.0,14.0 -0.000161069,0.0,137488.0,14.0 -0.000156247,0.0,137488.0,14.0 -0.000161074,0.0,137488.0,14.0 -0.000156049,0.0,137488.0,14.0 -0.000165754,0.0,137488.0,14.0 -0.00015598600000000002,0.0,137488.0,14.0 -0.000165009,0.0,137488.0,14.0 -0.000158089,0.0,137488.0,14.0 -0.000167758,0.0,137488.0,14.0 -0.000162599,0.0,137488.0,14.0 -0.000167116,0.0,137488.0,14.0 -0.000164866,0.0,137488.0,14.0 -0.00015321,0.0,137488.0,14.0 -0.000157006,0.0,137488.0,14.0 -0.000163899,0.0,137488.0,14.0 -0.00015319700000000002,0.0,137488.0,14.0 -0.00015914300000000002,0.0,137488.0,14.0 -0.00016545,0.0,137488.0,14.0 -0.000153048,0.0,137488.0,14.0 -0.00016031700000000002,0.0,137488.0,14.0 -0.000155091,0.0,137488.0,14.0 -0.00016760400000000002,0.0,137488.0,14.0 -0.00017361400000000002,0.0,137488.0,14.0 -0.000153584,0.0,137488.0,14.0 -0.00015420900000000001,0.0,137488.0,14.0 -0.00016126900000000002,0.0,137488.0,14.0 -0.00014977500000000002,0.0,137488.0,14.0 -0.00016288700000000001,0.0,137488.0,14.0 -0.000158764,0.0,137488.0,14.0 -0.000161349,0.0,137488.0,14.0 -0.000167304,0.0,137488.0,14.0 -0.000152585,0.0,137488.0,14.0 -0.00016299400000000002,0.0,137488.0,14.0 -0.000161738,0.0,137488.0,14.0 -0.00015882800000000002,0.0,137488.0,14.0 -0.00017988000000000002,0.0,137488.0,14.0 -0.000156001,0.0,137488.0,14.0 -0.000153222,0.0,137488.0,14.0 -0.000166345,0.0,137488.0,14.0 -0.000152799,0.0,137488.0,14.0 -0.00015786200000000001,0.0,137488.0,14.0 -0.00016155500000000002,0.0,137488.0,14.0 -0.000155138,0.0,137488.0,14.0 -0.00016381500000000002,0.0,137488.0,14.0 -0.000154796,0.0,137488.0,14.0 -0.00015105900000000002,0.0,137488.0,14.0 -0.000166922,0.0,137488.0,14.0 -0.00015636,0.0,137488.0,14.0 -0.00015896200000000001,0.0,137488.0,14.0 -0.00016620100000000002,0.0,137488.0,14.0 -0.00015108300000000002,0.0,137488.0,14.0 -0.00016842700000000002,0.0,137488.0,14.0 -0.000158398,0.0,137488.0,14.0 -0.000154918,0.0,137488.0,14.0 -0.00017138100000000002,0.0,137488.0,14.0 -0.000155856,0.0,137488.0,14.0 -0.000158011,0.0,137488.0,14.0 -0.000169006,0.0,137488.0,14.0 -0.00015207,0.0,137488.0,14.0 -0.000154136,0.0,137488.0,14.0 -0.000222901,0.0,137488.0,14.0 -0.000166379,0.0,137488.0,14.0 -0.000166582,0.0,137488.0,14.0 -0.000160743,0.0,137488.0,14.0 -0.00016203200000000002,0.0,137488.0,14.0 -0.000167262,0.0,137488.0,14.0 -0.000239108,0.0,137488.0,14.0 -0.00016662300000000002,0.0,137488.0,14.0 -0.0001642,0.0,137488.0,14.0 -0.000148127,0.0,137488.0,14.0 -0.000160965,0.0,137488.0,14.0 -0.00015316600000000002,0.0,137488.0,14.0 -0.00016394800000000002,0.0,137488.0,14.0 -0.000162924,0.0,137488.0,14.0 -0.00015655900000000002,0.0,137488.0,14.0 -0.000159712,0.0,137488.0,14.0 -0.000159213,0.0,137488.0,14.0 -0.000159812,0.0,137488.0,14.0 -0.000172031,0.0,137488.0,14.0 -0.00015961300000000002,0.0,137488.0,14.0 -0.000164248,0.0,137488.0,14.0 -0.00015921200000000002,0.0,137488.0,14.0 -0.00015247400000000002,0.0,137488.0,14.0 -0.000159857,0.0,137488.0,14.0 -0.00017711200000000002,0.0,137488.0,14.0 -0.000155427,0.0,137488.0,14.0 -0.000159013,0.0,137488.0,14.0 -0.000153856,0.0,137488.0,14.0 -0.00015994900000000002,0.0,137488.0,14.0 -0.00016277900000000002,0.0,137488.0,14.0 -0.000162744,0.0,137488.0,14.0 -0.00015842000000000002,0.0,137488.0,14.0 -0.00015055800000000002,0.0,137488.0,14.0 -0.000156207,0.0,137488.0,14.0 -0.000155496,0.0,137488.0,14.0 -0.000149097,0.0,137488.0,14.0 -0.000156508,0.0,137488.0,14.0 -0.00015806000000000001,0.0,137488.0,14.0 -0.00015762100000000001,0.0,137488.0,14.0 -0.000159194,0.0,137488.0,14.0 -0.000150392,0.0,137488.0,14.0 -0.00015242600000000002,0.0,137488.0,14.0 -0.00016329500000000001,0.0,137488.0,14.0 -0.000165663,0.0,137488.0,14.0 -0.00016109500000000002,0.0,137488.0,14.0 -0.000168133,0.0,137488.0,14.0 -0.000177495,0.0,137488.0,14.0 -0.0018608670000000002,0.7940395525311589,137488.0,14.0 -0.000164651,0.0,137488.0,14.0 -0.00016240700000000002,0.0,137488.0,14.0 -0.000158879,0.0,137488.0,14.0 -0.000161807,0.0,137488.0,14.0 -0.000165388,0.0,137488.0,14.0 -0.000161131,0.0,137488.0,14.0 +0.0001928424,0.0,137488.0,14.0 +0.00022319240000000001,0.0,137488.0,14.0 +0.00021946070000000004,0.0,137488.0,14.0 +0.0005147836,0.0,137488.0,14.0 +0.0002333239,0.0,137488.0,14.0 +0.00024329900000000004,0.0,137488.0,14.0 +0.0002863685,0.0,137488.0,14.0 +0.0002435193,0.0,137488.0,14.0 +0.0002414753,0.0,137488.0,14.0 +0.00023621690000000004,0.0,137488.0,14.0 +0.00024074070000000002,0.0,137488.0,14.0 +0.00024092430000000002,0.0,137488.0,14.0 +0.00023877460000000002,0.0,137488.0,14.0 +0.0002363037,0.0,137488.0,14.0 +0.000250989,0.0,137488.0,14.0 +0.00024411110000000001,0.0,137488.0,14.0 +0.0002360623,0.0,137488.0,14.0 +0.00024027380000000002,0.0,137488.0,14.0 +0.00024000610000000003,0.0,137488.0,14.0 +0.00023729530000000002,0.0,137488.0,14.0 +0.000236104,0.0,137488.0,14.0 +0.00023872380000000004,0.0,137488.0,14.0 +0.00023937810000000003,0.0,137488.0,14.0 +0.0002369613,0.0,137488.0,14.0 +0.0058493724,0.9573270629854239,137488.0,14.0 +0.0004503631,0.0,137488.0,14.0 +0.00016894420000000001,0.0,137488.0,14.0 +0.00016611120000000002,0.0,137488.0,14.0 +0.0001705864,0.0,137488.0,14.0 +0.0001643163,0.0,137488.0,14.0 +0.00016214290000000003,0.0,137488.0,14.0 +0.0001648269,0.0,137488.0,14.0 +0.000166759,0.0,137488.0,14.0 +0.0001621736,0.0,137488.0,14.0 +0.00016209050000000002,0.0,137488.0,14.0 +0.0001641756,0.0,137488.0,14.0 +0.0001637636,0.0,137488.0,14.0 +0.0001634224,0.0,137488.0,14.0 +0.00016599730000000002,0.0,137488.0,14.0 +0.0001639366,0.0,137488.0,14.0 +0.0001621814,0.0,137488.0,14.0 +0.0001620303,0.0,137488.0,14.0 +0.000161139,0.0,137488.0,14.0 +0.00016439470000000002,0.0,137488.0,14.0 +0.00016264300000000002,0.0,137488.0,14.0 +0.00016078270000000001,0.0,137488.0,14.0 +0.0001626757,0.0,137488.0,14.0 +0.0001624197,0.0,137488.0,14.0 +0.0001639716,0.0,137488.0,14.0 +0.00017492900000000002,0.0,137488.0,14.0 +0.0002780942,0.0,137488.0,14.0 +0.0002803078,0.0,137488.0,14.0 +0.0002759662,0.0,137488.0,14.0 +0.00027683730000000004,0.0,137488.0,14.0 +0.0002935132,0.0,137488.0,14.0 +0.00028601520000000005,0.0,137488.0,14.0 +0.0002824936,0.0,137488.0,14.0 +0.0003106291,0.0,137488.0,14.0 +0.0019902416000000004,0.8939917646179237,137488.0,14.0 +0.0001648002,0.0,137488.0,14.0 +0.00016779460000000001,0.0,137488.0,14.0 +0.0001644132,0.0,137488.0,14.0 +0.0001651616,0.0,137488.0,14.0 +0.000162421,0.0,137488.0,14.0 +0.00016187360000000003,0.0,137488.0,14.0 +0.0001665759,0.0,137488.0,14.0 +0.0001649973,0.0,137488.0,14.0 +0.0001645375,0.0,137488.0,14.0 +0.00016433650000000001,0.0,137488.0,14.0 +0.0001650207,0.0,137488.0,14.0 +0.00016088080000000002,0.0,137488.0,14.0 +0.00016326910000000002,0.0,137488.0,14.0 +0.00016494110000000003,0.0,137488.0,14.0 +0.00016269560000000001,0.0,137488.0,14.0 +0.00016231510000000001,0.0,137488.0,14.0 +0.0001665444,0.0,137488.0,14.0 +0.00016408170000000003,0.0,137488.0,14.0 0.000163437,0.0,137488.0,14.0 -0.00016191300000000002,0.0,137488.0,14.0 -0.00015550700000000001,0.0,137488.0,14.0 -0.000164353,0.0,137488.0,14.0 -0.000165259,0.0,137488.0,14.0 -0.00016553300000000002,0.0,137488.0,14.0 -0.00016113300000000002,0.0,137488.0,14.0 -0.00017168900000000002,0.0,137488.0,14.0 -0.000178016,0.0,137488.0,14.0 -0.000168856,0.0,137488.0,14.0 -0.000159834,0.0,137488.0,14.0 -0.000159781,0.0,137488.0,14.0 -0.00015717000000000001,0.0,137488.0,14.0 -0.00015859900000000002,0.0,137488.0,14.0 -0.00015876800000000002,0.0,137488.0,14.0 -0.000158259,0.0,137488.0,14.0 -0.00016232800000000002,0.0,137488.0,14.0 -0.000170134,0.0,137488.0,14.0 -0.000165766,0.0,137488.0,14.0 -0.00016986800000000002,0.0,137488.0,14.0 -0.000157639,0.0,137488.0,14.0 -0.00016154,0.0,137488.0,14.0 -0.000168538,0.0,137488.0,14.0 -0.00016864900000000002,0.0,137488.0,14.0 -0.000162558,0.0,137488.0,14.0 -0.000154883,0.0,137488.0,14.0 -0.00015566900000000002,0.0,137488.0,14.0 -0.000165586,0.0,137488.0,14.0 -0.000163179,0.0,137488.0,14.0 -0.000166112,0.0,137488.0,14.0 -0.00016024500000000002,0.0,137488.0,14.0 -0.00015962700000000002,0.0,137488.0,14.0 -0.000163532,0.0,137488.0,14.0 -0.000172472,0.0,137488.0,14.0 -0.00016625,0.0,137488.0,14.0 -0.00016619,0.0,137488.0,14.0 -0.00016505100000000002,0.0,137488.0,14.0 -0.00016201800000000002,0.0,137488.0,14.0 -0.000156285,0.0,137488.0,14.0 -0.00016410600000000002,0.0,137488.0,14.0 -0.000158775,0.0,137488.0,14.0 -0.00015647800000000002,0.0,137488.0,14.0 -0.000163611,0.0,137488.0,14.0 -0.00016127800000000002,0.0,137488.0,14.0 -0.00016278400000000002,0.0,137488.0,14.0 -0.000160104,0.0,137488.0,14.0 -0.00016057000000000002,0.0,137488.0,14.0 -0.00016455900000000002,0.0,137488.0,14.0 -0.000159755,0.0,137488.0,14.0 -0.00015515600000000002,0.0,137488.0,14.0 -0.000162227,0.0,137488.0,14.0 -0.000161483,0.0,137488.0,14.0 -0.000158779,0.0,137488.0,14.0 -0.00015133800000000002,0.0,137488.0,14.0 -0.00015742000000000002,0.0,137488.0,14.0 -0.000159005,0.0,137488.0,14.0 -0.00016409900000000002,0.0,137488.0,14.0 -0.00017253800000000002,0.0,137488.0,14.0 -0.000165238,0.0,137488.0,14.0 -0.000161962,0.0,137488.0,14.0 -0.00016885,0.0,137488.0,14.0 -0.000155553,0.0,137488.0,14.0 -0.000160967,0.0,137488.0,14.0 -0.000158641,0.0,137488.0,14.0 -0.00016088000000000002,0.0,137488.0,14.0 -0.00016018800000000002,0.0,137488.0,14.0 -0.00016098000000000002,0.0,137488.0,14.0 -0.000167648,0.0,137488.0,14.0 -0.000170234,0.0,137488.0,14.0 -0.000163709,0.0,137488.0,14.0 -0.000164281,0.0,137488.0,14.0 -0.000169956,0.0,137488.0,14.0 -0.00016751800000000002,0.0,137488.0,14.0 -0.000169809,0.0,137488.0,14.0 -0.00015908100000000002,0.0,137488.0,14.0 -0.000168247,0.0,137488.0,14.0 -0.00015863700000000002,0.0,137488.0,14.0 -0.000156496,0.0,137488.0,14.0 -0.000161218,0.0,137488.0,14.0 -0.000167145,0.0,137488.0,14.0 -0.000161514,0.0,137488.0,14.0 -0.000156737,0.0,137488.0,14.0 -0.00016795000000000002,0.0,137488.0,14.0 -0.000155172,0.0,137488.0,14.0 -0.000162487,0.0,137488.0,14.0 -0.000158789,0.0,137488.0,14.0 -0.000159748,0.0,137488.0,14.0 -0.000152031,0.0,137488.0,14.0 -0.000166061,0.0,137488.0,14.0 -0.00016309,0.0,137488.0,14.0 -0.00015900000000000002,0.0,137488.0,14.0 -0.000154592,0.0,137488.0,14.0 -0.000162685,0.0,137488.0,14.0 -0.00015955300000000002,0.0,137488.0,14.0 -0.000156887,0.0,137488.0,14.0 -0.00015891900000000001,0.0,137488.0,14.0 -0.000160246,0.0,137488.0,14.0 -0.000158268,0.0,137488.0,14.0 -0.000157868,0.0,137488.0,14.0 -0.000165322,0.0,137488.0,14.0 -0.00016406,0.0,137488.0,14.0 -0.00016204700000000002,0.0,137488.0,14.0 -0.000171007,0.0,137488.0,14.0 -0.00015749,0.0,137488.0,14.0 -0.000156248,0.0,137488.0,14.0 -0.000161253,0.0,137488.0,14.0 -0.000156293,0.0,137488.0,14.0 -0.00017751800000000002,0.0,137488.0,14.0 -0.000156646,0.0,137488.0,14.0 -0.000158085,0.0,137488.0,14.0 -0.00015695000000000002,0.0,137488.0,14.0 -0.000153868,0.0,137488.0,14.0 -0.00015309200000000002,0.0,137488.0,14.0 -0.00016299900000000002,0.0,137488.0,14.0 -0.00015991,0.0,137488.0,14.0 -0.000158841,0.0,137488.0,14.0 -0.00015710800000000001,0.0,137488.0,14.0 -0.000152253,0.0,137488.0,14.0 -0.00016008300000000002,0.0,137488.0,14.0 -0.00016491000000000002,0.0,137488.0,14.0 -0.00016576200000000002,0.0,137488.0,14.0 -0.00015729100000000002,0.0,137488.0,14.0 -0.000160924,0.0,137488.0,14.0 -0.000156598,0.0,137488.0,14.0 -0.000162845,0.0,137488.0,14.0 -0.00015690000000000002,0.0,137488.0,14.0 -0.00016477900000000002,0.0,137488.0,14.0 -0.00015680900000000002,0.0,137488.0,14.0 -0.000162129,0.0,137488.0,14.0 -0.00016036700000000002,0.0,137488.0,14.0 -0.000171251,0.0,137488.0,14.0 -0.00016759900000000002,0.0,137488.0,14.0 -0.000174684,0.0,137488.0,14.0 -0.00016034,0.0,137488.0,14.0 -0.000164009,0.0,137488.0,14.0 -0.00016030700000000002,0.0,137488.0,14.0 -0.00015911900000000002,0.0,137488.0,14.0 -0.00015552300000000002,0.0,137488.0,14.0 -0.000159449,0.0,137488.0,14.0 -0.000160046,0.0,137488.0,14.0 -0.000160691,0.0,137488.0,14.0 -0.000163621,0.0,137488.0,14.0 -0.000151795,0.0,137488.0,14.0 -0.000164004,0.0,137488.0,14.0 -0.000162411,0.0,137488.0,14.0 -0.000158689,0.0,137488.0,14.0 -0.000159111,0.0,137488.0,14.0 -0.000154205,0.0,137488.0,14.0 -0.000163361,0.0,137488.0,14.0 -0.000149708,0.0,137488.0,14.0 -0.000168066,0.0,137488.0,14.0 -0.000163553,0.0,137488.0,14.0 -0.000155498,0.0,137488.0,14.0 -0.00015339500000000002,0.0,137488.0,14.0 -0.00016198500000000002,0.0,137488.0,14.0 -0.000157297,0.0,137488.0,14.0 -0.00017623200000000002,0.0,137488.0,14.0 -0.000165073,0.0,137488.0,14.0 -0.00016026900000000002,0.0,137488.0,14.0 -0.000167035,0.0,137488.0,14.0 -0.00015430200000000001,0.0,137488.0,14.0 -0.000154283,0.0,137488.0,14.0 -0.000158378,0.0,137488.0,14.0 -0.00015312,0.0,137488.0,14.0 -0.00015883300000000002,0.0,137488.0,14.0 -0.00015947500000000001,0.0,137488.0,14.0 -0.00014560200000000002,0.0,137488.0,14.0 -0.000154823,0.0,137488.0,14.0 -0.000155069,0.0,137488.0,14.0 -0.000160135,0.0,137488.0,14.0 -0.000177615,0.0,137488.0,14.0 -0.000165019,0.0,137488.0,14.0 -0.00016599600000000001,0.0,137488.0,14.0 -0.000154114,0.0,137488.0,14.0 -0.000170123,0.0,137488.0,14.0 -0.000156207,0.0,137488.0,14.0 -0.000167133,0.0,137488.0,14.0 -0.000155744,0.0,137488.0,14.0 -0.00015471200000000002,0.0,137488.0,14.0 -0.00016394,0.0,137488.0,14.0 -0.000149771,0.0,137488.0,14.0 -0.00017773500000000002,0.0,137488.0,14.0 -0.000162272,0.0,137488.0,14.0 -0.000160136,0.0,137488.0,14.0 -0.000160172,0.0,137488.0,14.0 -0.00016050500000000002,0.0,137488.0,14.0 -0.000156544,0.0,137488.0,14.0 -0.000173152,0.0,137488.0,14.0 -0.00015231200000000001,0.0,137488.0,14.0 -0.00015935500000000002,0.0,137488.0,14.0 -0.000162864,0.0,137488.0,14.0 -0.000163491,0.0,137488.0,14.0 -0.000164494,0.0,137488.0,14.0 -0.00015779700000000002,0.0,137488.0,14.0 -0.00015442100000000002,0.0,137488.0,14.0 -0.000152379,0.0,137488.0,14.0 -0.000152313,0.0,137488.0,14.0 -0.000156708,0.0,137488.0,14.0 -0.000164668,0.0,137488.0,14.0 -0.00015684500000000002,0.0,137488.0,14.0 -0.00016371900000000002,0.0,137488.0,14.0 -0.000159626,0.0,137488.0,14.0 -0.00015320900000000002,0.0,137488.0,14.0 -0.00016430600000000002,0.0,137488.0,14.0 -0.00015861100000000002,0.0,137488.0,14.0 -0.000159567,0.0,137488.0,14.0 -0.000175663,0.0,137488.0,14.0 -0.000156221,0.0,137488.0,14.0 -0.00016436400000000001,0.0,137488.0,14.0 -0.000151377,0.0,137488.0,14.0 -0.00015241700000000001,0.0,137488.0,14.0 -0.000170309,0.0,137488.0,14.0 -0.000159798,0.0,137488.0,14.0 -0.00015704,0.0,137488.0,14.0 -0.000156796,0.0,137488.0,14.0 -0.000151333,0.0,137488.0,14.0 -0.000166133,0.0,137488.0,14.0 -0.000154324,0.0,137488.0,14.0 -0.00015085900000000001,0.0,137488.0,14.0 -0.000157947,0.0,137488.0,14.0 -0.000169073,0.0,137488.0,14.0 -0.000180578,0.0,137488.0,14.0 -0.000161855,0.0,137488.0,14.0 -0.00015437100000000002,0.0,137488.0,14.0 -0.0001695,0.0,137488.0,14.0 -0.000157696,0.0,137488.0,14.0 -0.00015516100000000001,0.0,137488.0,14.0 -0.000168879,0.0,137488.0,14.0 -0.000153936,0.0,137488.0,14.0 -0.00015466700000000002,0.0,137488.0,14.0 -0.000155868,0.0,137488.0,14.0 -0.00017000700000000001,0.0,137488.0,14.0 -0.00015662800000000002,0.0,137488.0,14.0 -0.00015831500000000002,0.0,137488.0,14.0 -0.00015714600000000002,0.0,137488.0,14.0 -0.000166505,0.0,137488.0,14.0 -0.000152735,0.0,137488.0,14.0 -0.000165169,0.0,137488.0,14.0 -0.000159937,0.0,137488.0,14.0 -0.000159505,0.0,137488.0,14.0 -0.00016570200000000002,0.0,137488.0,14.0 -0.000159554,0.0,137488.0,14.0 -0.000159196,0.0,137488.0,14.0 -0.000168659,0.0,137488.0,14.0 -0.000159714,0.0,137488.0,14.0 -0.00016008800000000002,0.0,137488.0,14.0 -0.000165705,0.0,137488.0,14.0 -0.000154703,0.0,137488.0,14.0 -0.000167722,0.0,137488.0,14.0 -0.000157818,0.0,137488.0,14.0 -0.00015713900000000001,0.0,137488.0,14.0 -0.000160297,0.0,137488.0,14.0 -0.000152225,0.0,137488.0,14.0 -0.000156562,0.0,137488.0,14.0 -0.000168044,0.0,137488.0,14.0 -0.000164601,0.0,137488.0,14.0 -0.00017659400000000002,0.0,137488.0,14.0 -0.00015411300000000002,0.0,137488.0,14.0 -0.00015625600000000002,0.0,137488.0,14.0 -0.00016931000000000002,0.0,137488.0,14.0 -0.000161026,0.0,137488.0,14.0 -0.00015681,0.0,137488.0,14.0 -0.000164,0.0,137488.0,14.0 -0.00015660700000000001,0.0,137488.0,14.0 -0.000165803,0.0,137488.0,14.0 -0.00015461700000000001,0.0,137488.0,14.0 -0.00015855400000000001,0.0,137488.0,14.0 -0.000158386,0.0,137488.0,14.0 -0.000155314,0.0,137488.0,14.0 -0.000152487,0.0,137488.0,14.0 -0.000164351,0.0,137488.0,14.0 -0.000168884,0.0,137488.0,14.0 -0.000168946,0.0,137488.0,14.0 -0.000155154,0.0,137488.0,14.0 -0.00015904300000000002,0.0,137488.0,14.0 -0.000162752,0.0,137488.0,14.0 -0.00015842000000000002,0.0,137488.0,14.0 -0.000159356,0.0,137488.0,14.0 -0.00016432100000000001,0.0,137488.0,14.0 -0.000156873,0.0,137488.0,14.0 -0.000175441,0.0,137488.0,14.0 -0.000158643,0.0,137488.0,14.0 -0.00015577400000000002,0.0,137488.0,14.0 -0.00015878700000000002,0.0,137488.0,14.0 -0.000159571,0.0,137488.0,14.0 -0.000154721,0.0,137488.0,14.0 -0.000161838,0.0,137488.0,14.0 -0.00016244300000000002,0.0,137488.0,14.0 -0.000173117,0.0,137488.0,14.0 -0.000159245,0.0,137488.0,14.0 -0.000153299,0.0,137488.0,14.0 -0.000169011,0.0,137488.0,14.0 -0.000155069,0.0,137488.0,14.0 -0.000155173,0.0,137488.0,14.0 -0.000163361,0.0,137488.0,14.0 -0.000155018,0.0,137488.0,14.0 -0.000176884,0.0,137488.0,14.0 -0.000150726,0.0,137488.0,14.0 -0.00015807600000000002,0.0,137488.0,14.0 -0.000161893,0.0,137488.0,14.0 -0.00015955600000000002,0.0,137488.0,14.0 -0.000164646,0.0,137488.0,14.0 -0.000156625,0.0,137488.0,14.0 -0.000164468,0.0,137488.0,14.0 -0.000164116,0.0,137488.0,14.0 -0.000167982,0.0,137488.0,14.0 -0.00015275100000000002,0.0,137488.0,14.0 -0.000163217,0.0,137488.0,14.0 -0.000163339,0.0,137488.0,14.0 -0.000163076,0.0,137488.0,14.0 -0.00017536600000000001,0.0,137488.0,14.0 -0.000157961,0.0,137488.0,14.0 -0.00016510800000000002,0.0,137488.0,14.0 -0.000158108,0.0,137488.0,14.0 -0.000160371,0.0,137488.0,14.0 -0.000159364,0.0,137488.0,14.0 -0.0001542,0.0,137488.0,14.0 -0.000165169,0.0,137488.0,14.0 -0.000155531,0.0,137488.0,14.0 -0.000164842,0.0,137488.0,14.0 -0.00016319900000000002,0.0,137488.0,14.0 -0.00016097500000000002,0.0,137488.0,14.0 -0.0001642,0.0,137488.0,14.0 -0.000161099,0.0,137488.0,14.0 -0.000160411,0.0,137488.0,14.0 -0.0018122680000000001,0.8035069868253482,137488.0,14.0 -0.000175402,0.0,137488.0,14.0 -0.00016280100000000002,0.0,137488.0,14.0 -0.000154477,0.0,137488.0,14.0 -0.00015574,0.0,137488.0,14.0 -0.00016014500000000002,0.0,137488.0,14.0 -0.00016111900000000001,0.0,137488.0,14.0 -0.000165138,0.0,137488.0,14.0 -0.00016332,0.0,137488.0,14.0 -0.000165024,0.0,137488.0,14.0 -0.00016096100000000002,0.0,137488.0,14.0 -0.00015976600000000001,0.0,137488.0,14.0 -0.000161607,0.0,137488.0,14.0 -0.000159178,0.0,137488.0,14.0 -0.000171879,0.0,137488.0,14.0 -0.00017561400000000002,0.0,137488.0,14.0 -0.00015843400000000002,0.0,137488.0,14.0 -0.000151654,0.0,137488.0,14.0 -0.000156295,0.0,137488.0,14.0 -0.00017061500000000002,0.0,137488.0,14.0 -0.000160206,0.0,137488.0,14.0 -0.00016187000000000002,0.0,137488.0,14.0 -0.000154042,0.0,137488.0,14.0 -0.00015735800000000002,0.0,137488.0,14.0 -0.000173666,0.0,137488.0,14.0 -0.00016722000000000002,0.0,137488.0,14.0 -0.00016811200000000002,0.0,137488.0,14.0 -0.00016035300000000001,0.0,137488.0,14.0 -0.00016449000000000002,0.0,137488.0,14.0 -0.000156105,0.0,137488.0,14.0 -0.00017075600000000002,0.0,137488.0,14.0 -0.000169025,0.0,137488.0,14.0 -0.00015559700000000002,0.0,137488.0,14.0 -0.000157615,0.0,137488.0,14.0 -0.00015878300000000001,0.0,137488.0,14.0 -0.000152282,0.0,137488.0,14.0 -0.000161468,0.0,137488.0,14.0 -0.00016162000000000001,0.0,137488.0,14.0 -0.00016235700000000002,0.0,137488.0,14.0 -0.00016055,0.0,137488.0,14.0 -0.000158068,0.0,137488.0,14.0 -0.000167818,0.0,137488.0,14.0 -0.00016253800000000002,0.0,137488.0,14.0 -0.00016450200000000002,0.0,137488.0,14.0 -0.00018272900000000002,0.0,137488.0,14.0 -0.000157622,0.0,137488.0,14.0 -0.00015916000000000001,0.0,137488.0,14.0 -0.000165025,0.0,137488.0,14.0 -0.00015511500000000002,0.0,137488.0,14.0 -0.000162046,0.0,137488.0,14.0 -0.000163955,0.0,137488.0,14.0 -0.000156001,0.0,137488.0,14.0 -0.00015878000000000002,0.0,137488.0,14.0 -0.000163952,0.0,137488.0,14.0 -0.00016579000000000002,0.0,137488.0,14.0 -0.000160356,0.0,137488.0,14.0 -0.000154162,0.0,137488.0,14.0 -0.000160996,0.0,137488.0,14.0 -0.00015219500000000002,0.0,137488.0,14.0 -0.00015629900000000002,0.0,137488.0,14.0 -0.00015650400000000002,0.0,137488.0,14.0 -0.000168097,0.0,137488.0,14.0 -0.000166805,0.0,137488.0,14.0 -0.000161186,0.0,137488.0,14.0 -0.000155162,0.0,137488.0,14.0 -0.00015942200000000002,0.0,137488.0,14.0 -0.00016600000000000002,0.0,137488.0,14.0 -0.000164895,0.0,137488.0,14.0 -0.00017471200000000002,0.0,137488.0,14.0 -0.000158407,0.0,137488.0,14.0 -0.000164386,0.0,137488.0,14.0 -0.000157937,0.0,137488.0,14.0 -0.00015562100000000002,0.0,137488.0,14.0 -0.00016538200000000002,0.0,137488.0,14.0 -0.000166322,0.0,137488.0,14.0 -0.000177455,0.0,137488.0,14.0 -0.00016627500000000002,0.0,137488.0,14.0 -0.00016726700000000002,0.0,137488.0,14.0 -0.000162472,0.0,137488.0,14.0 -0.00018067500000000001,0.0,137488.0,14.0 -0.00015998500000000002,0.0,137488.0,14.0 -0.000157171,0.0,137488.0,14.0 -0.00016075,0.0,137488.0,14.0 -0.00016906400000000002,0.0,137488.0,14.0 -0.00016531,0.0,137488.0,14.0 -0.000157369,0.0,137488.0,14.0 -0.00015997100000000002,0.0,137488.0,14.0 -0.000154251,0.0,137488.0,14.0 -0.000161136,0.0,137488.0,14.0 -0.000170049,0.0,137488.0,14.0 -0.00016241200000000002,0.0,137488.0,14.0 -0.00016886600000000002,0.0,137488.0,14.0 -0.00016827400000000002,0.0,137488.0,14.0 -0.000168858,0.0,137488.0,14.0 -0.000160397,0.0,137488.0,14.0 -0.00016066800000000001,0.0,137488.0,14.0 -0.000159321,0.0,137488.0,14.0 -0.00015497700000000002,0.0,137488.0,14.0 -0.000156727,0.0,137488.0,14.0 -0.000154379,0.0,137488.0,14.0 -0.000156321,0.0,137488.0,14.0 -0.000164007,0.0,137488.0,14.0 -0.00016012,0.0,137488.0,14.0 -0.000152387,0.0,137488.0,14.0 -0.00015874700000000002,0.0,137488.0,14.0 -0.000155059,0.0,137488.0,14.0 -0.000158209,0.0,137488.0,14.0 -0.00017243100000000002,0.0,137488.0,14.0 -0.000158788,0.0,137488.0,14.0 -0.000167359,0.0,137488.0,14.0 -0.00017078000000000001,0.0,137488.0,14.0 -0.000161571,0.0,137488.0,14.0 -0.00015393900000000002,0.0,137488.0,14.0 -0.00015007600000000002,0.0,137488.0,14.0 -0.0001573,0.0,137488.0,14.0 -0.00016147200000000002,0.0,137488.0,14.0 -0.000159497,0.0,137488.0,14.0 -0.00017229000000000002,0.0,137488.0,14.0 -0.00016064400000000002,0.0,137488.0,14.0 -0.00015389600000000002,0.0,137488.0,14.0 -0.000153343,0.0,137488.0,14.0 -0.000157133,0.0,137488.0,14.0 -0.000159864,0.0,137488.0,14.0 -0.000157997,0.0,137488.0,14.0 -0.000152699,0.0,137488.0,14.0 -0.00015346,0.0,137488.0,14.0 -0.00015693800000000002,0.0,137488.0,14.0 -0.00016110700000000001,0.0,137488.0,14.0 -0.000154019,0.0,137488.0,14.0 -0.000166121,0.0,137488.0,14.0 -0.00015718,0.0,137488.0,14.0 -0.000166486,0.0,137488.0,14.0 -0.00016450400000000002,0.0,137488.0,14.0 -0.000156903,0.0,137488.0,14.0 -0.00015908600000000001,0.0,137488.0,14.0 -0.000162735,0.0,137488.0,14.0 -0.00017022400000000002,0.0,137488.0,14.0 -0.00016540600000000002,0.0,137488.0,14.0 -0.00016667800000000002,0.0,137488.0,14.0 -0.000153241,0.0,137488.0,14.0 -0.00016217,0.0,137488.0,14.0 -0.00016356400000000002,0.0,137488.0,14.0 -0.00016655200000000001,0.0,137488.0,14.0 -0.000165386,0.0,137488.0,14.0 -0.000158987,0.0,137488.0,14.0 -0.00016223500000000002,0.0,137488.0,14.0 -0.000156631,0.0,137488.0,14.0 -0.00016301300000000002,0.0,137488.0,14.0 -0.000164326,0.0,137488.0,14.0 -0.00015869000000000001,0.0,137488.0,14.0 -0.00016071,0.0,137488.0,14.0 -0.00015646,0.0,137488.0,14.0 -0.00015786200000000001,0.0,137488.0,14.0 -0.00015973000000000002,0.0,137488.0,14.0 -0.00015543300000000001,0.0,137488.0,14.0 -0.00016136400000000002,0.0,137488.0,14.0 -0.00015739600000000002,0.0,137488.0,14.0 -0.00017226,0.0,137488.0,14.0 -0.00017141000000000001,0.0,137488.0,14.0 -0.00016584100000000001,0.0,137488.0,14.0 -0.00015727200000000002,0.0,137488.0,14.0 -0.00016363600000000002,0.0,137488.0,14.0 -0.00015677100000000002,0.0,137488.0,14.0 -0.000159075,0.0,137488.0,14.0 -0.00016497700000000002,0.0,137488.0,14.0 -0.000151867,0.0,137488.0,14.0 -0.00015839400000000002,0.0,137488.0,14.0 -0.00017208200000000002,0.0,137488.0,14.0 -0.00015622700000000002,0.0,137488.0,14.0 -0.000162656,0.0,137488.0,14.0 -0.00015465200000000002,0.0,137488.0,14.0 -0.000165894,0.0,137488.0,14.0 -0.000166229,0.0,137488.0,14.0 -0.000155562,0.0,137488.0,14.0 -0.000157892,0.0,137488.0,14.0 -0.00016702200000000001,0.0,137488.0,14.0 -0.000154189,0.0,137488.0,14.0 -0.00017348100000000001,0.0,137488.0,14.0 -0.000166591,0.0,137488.0,14.0 -0.000153506,0.0,137488.0,14.0 -0.000154768,0.0,137488.0,14.0 -0.000158416,0.0,137488.0,14.0 -0.0001643,0.0,137488.0,14.0 -0.00015897600000000002,0.0,137488.0,14.0 -0.000162368,0.0,137488.0,14.0 -0.000158984,0.0,137488.0,14.0 -0.000161573,0.0,137488.0,14.0 -0.000155985,0.0,137488.0,14.0 -0.00015140300000000001,0.0,137488.0,14.0 -0.00016770600000000002,0.0,137488.0,14.0 -0.00015655200000000001,0.0,137488.0,14.0 -0.00016389,0.0,137488.0,14.0 -0.000201575,0.0,137488.0,14.0 -0.00016267400000000002,0.0,137488.0,14.0 -0.00017038,0.0,137488.0,14.0 -0.00015578,0.0,137488.0,14.0 -0.000158881,0.0,137488.0,14.0 -0.00016403,0.0,137488.0,14.0 -0.000162179,0.0,137488.0,14.0 -0.00015762800000000002,0.0,137488.0,14.0 -0.00015929300000000002,0.0,137488.0,14.0 -0.00016325900000000002,0.0,137488.0,14.0 -0.000163193,0.0,137488.0,14.0 -0.000162688,0.0,137488.0,14.0 -0.00015757,0.0,137488.0,14.0 -0.000156097,0.0,137488.0,14.0 -0.00015663300000000002,0.0,137488.0,14.0 -0.000159722,0.0,137488.0,14.0 -0.00015794300000000002,0.0,137488.0,14.0 -0.000152776,0.0,137488.0,14.0 -0.00017066500000000002,0.0,137488.0,14.0 -0.000172375,0.0,137488.0,14.0 -0.00015705500000000002,0.0,137488.0,14.0 -0.000160759,0.0,137488.0,14.0 -0.000156031,0.0,137488.0,14.0 -0.00015939,0.0,137488.0,14.0 -0.016202965,0.0,137488.0,14.0 -0.000182071,0.0,137488.0,14.0 -0.000186268,0.0,137488.0,14.0 -0.000175796,0.0,137488.0,14.0 -0.000182444,0.0,137488.0,14.0 -0.00018100400000000002,0.0,137488.0,14.0 -0.000182305,0.0,137488.0,14.0 -0.00017773300000000001,0.0,137488.0,14.0 -0.00018432500000000002,0.0,137488.0,14.0 -0.00017254800000000002,0.0,137488.0,14.0 -0.000177917,0.0,137488.0,14.0 -0.000179456,0.0,137488.0,14.0 -0.000183313,0.0,137488.0,14.0 -0.000183579,0.0,137488.0,14.0 -0.00017674200000000002,0.0,137488.0,14.0 -0.000184457,0.0,137488.0,14.0 -0.000182726,0.0,137488.0,14.0 -0.000179855,0.0,137488.0,14.0 -0.000179912,0.0,137488.0,14.0 -0.000185488,0.0,137488.0,14.0 -0.00017863900000000002,0.0,137488.0,14.0 -0.000182337,0.0,137488.0,14.0 -0.00019214000000000001,0.0,137488.0,14.0 -0.000180044,0.0,137488.0,14.0 -0.000182396,0.0,137488.0,14.0 -0.00017328300000000001,0.0,137488.0,14.0 -0.000180857,0.0,137488.0,14.0 -0.00017540400000000002,0.0,137488.0,14.0 -0.000184284,0.0,137488.0,14.0 -0.000187066,0.0,137488.0,14.0 -0.00016516300000000002,0.0,137488.0,14.0 -0.000152657,0.0,137488.0,14.0 -0.000168578,0.0,137488.0,14.0 -0.00015685200000000002,0.0,137488.0,14.0 -0.000160277,0.0,137488.0,14.0 -0.000151032,0.0,137488.0,14.0 -0.000156965,0.0,137488.0,14.0 -0.00016285100000000002,0.0,137488.0,14.0 -0.000151499,0.0,137488.0,14.0 -0.000152501,0.0,137488.0,14.0 -0.00015590300000000001,0.0,137488.0,14.0 -0.00014957500000000002,0.0,137488.0,14.0 -0.000164711,0.0,137488.0,14.0 -0.00014865,0.0,137488.0,14.0 -0.000148605,0.0,137488.0,14.0 -0.00015092800000000002,0.0,137488.0,14.0 -0.00018064600000000002,0.0,137488.0,14.0 -0.000156414,0.0,137488.0,14.0 -0.00015341400000000002,0.0,137488.0,14.0 -0.00015703100000000002,0.0,137488.0,14.0 -0.000161866,0.0,137488.0,14.0 -0.00015156700000000002,0.0,137488.0,14.0 -0.000151981,0.0,137488.0,14.0 -0.00015869700000000002,0.0,137488.0,14.0 -0.000151428,0.0,137488.0,14.0 -0.000156426,0.0,137488.0,14.0 -0.000158782,0.0,137488.0,14.0 -0.000150457,0.0,137488.0,14.0 -0.000162929,0.0,137488.0,14.0 -0.000151408,0.0,137488.0,14.0 -0.000160865,0.0,137488.0,14.0 -0.00015663800000000001,0.0,137488.0,14.0 -0.00015632500000000002,0.0,137488.0,14.0 -0.00015934800000000002,0.0,137488.0,14.0 -0.000160638,0.0,137488.0,14.0 -0.000153064,0.0,137488.0,14.0 -0.00016507200000000002,0.0,137488.0,14.0 -0.000157008,0.0,137488.0,14.0 -0.000151199,0.0,137488.0,14.0 -0.00016473100000000002,0.0,137488.0,14.0 -0.00015289900000000001,0.0,137488.0,14.0 -0.000169173,0.0,137488.0,14.0 -0.000170569,0.0,137488.0,14.0 -0.000156352,0.0,137488.0,14.0 -0.00015676,0.0,137488.0,14.0 -0.00016154800000000002,0.0,137488.0,14.0 -0.00015907,0.0,137488.0,14.0 -0.000160416,0.0,137488.0,14.0 -0.00015388900000000002,0.0,137488.0,14.0 -0.000156035,0.0,137488.0,14.0 -0.00015399400000000002,0.0,137488.0,14.0 -0.00014893800000000002,0.0,137488.0,14.0 -0.00015943400000000002,0.0,137488.0,14.0 -0.00015046500000000002,0.0,137488.0,14.0 -0.00015786,0.0,137488.0,14.0 -0.000158419,0.0,137488.0,14.0 -0.000157774,0.0,137488.0,14.0 -0.00017021200000000002,0.0,137488.0,14.0 -0.000160466,0.0,137488.0,14.0 -0.000159925,0.0,137488.0,14.0 -0.000163422,0.0,137488.0,14.0 -0.000155429,0.0,137488.0,14.0 -0.000154357,0.0,137488.0,14.0 -0.00016057900000000002,0.0,137488.0,14.0 -0.00015318500000000002,0.0,137488.0,14.0 -0.000156546,0.0,137488.0,14.0 -0.00015942000000000002,0.0,137488.0,14.0 -0.00016782600000000002,0.0,137488.0,14.0 -0.00016458,0.0,137488.0,14.0 -0.000149786,0.0,137488.0,14.0 -0.00014885400000000002,0.0,137488.0,14.0 -0.000175575,0.0,137488.0,14.0 -0.000150027,0.0,137488.0,14.0 -0.00015709100000000002,0.0,137488.0,14.0 -0.00015810300000000001,0.0,137488.0,14.0 -0.00016551400000000001,0.0,137488.0,14.0 -0.00016584100000000001,0.0,137488.0,14.0 -0.00015156500000000002,0.0,137488.0,14.0 -0.000156467,0.0,137488.0,14.0 -0.000162261,0.0,137488.0,14.0 -0.000154601,0.0,137488.0,14.0 -0.000159478,0.0,137488.0,14.0 -0.000155804,0.0,137488.0,14.0 -0.000152466,0.0,137488.0,14.0 -0.00017062900000000002,0.0,137488.0,14.0 -0.000156338,0.0,137488.0,14.0 -0.000158596,0.0,137488.0,14.0 -0.00026563300000000004,0.0,137488.0,14.0 -0.004058699000000001,0.9188525682737252,137488.0,14.0 -0.000162069,0.0,137488.0,14.0 -0.000159853,0.0,137488.0,14.0 -0.000164326,0.0,137488.0,14.0 -0.000167073,0.0,137488.0,14.0 -0.000156421,0.0,137488.0,14.0 -0.00015871800000000002,0.0,137488.0,14.0 -0.000163413,0.0,137488.0,14.0 -0.000159827,0.0,137488.0,14.0 -0.000161267,0.0,137488.0,14.0 -0.000168316,0.0,137488.0,14.0 -0.000158044,0.0,137488.0,14.0 -0.00016360000000000002,0.0,137488.0,14.0 -0.00016111400000000002,0.0,137488.0,14.0 -0.00017072200000000002,0.0,137488.0,14.0 -0.000159175,0.0,137488.0,14.0 -0.000158574,0.0,137488.0,14.0 -0.00015911,0.0,137488.0,14.0 -0.00015858000000000002,0.0,137488.0,14.0 -0.000155794,0.0,137488.0,14.0 -0.000156137,0.0,137488.0,14.0 -0.00015261700000000002,0.0,137488.0,14.0 -0.000157431,0.0,137488.0,14.0 -0.000161897,0.0,137488.0,14.0 -0.00016481700000000002,0.0,137488.0,14.0 -0.00016079200000000001,0.0,137488.0,14.0 -0.000159306,0.0,137488.0,14.0 -0.000161282,0.0,137488.0,14.0 -0.000167934,0.0,137488.0,14.0 -0.000167553,0.0,137488.0,14.0 -0.00016421300000000002,0.0,137488.0,14.0 -0.000161996,0.0,137488.0,14.0 -0.000160795,0.0,137488.0,14.0 -0.00015641600000000001,0.0,137488.0,14.0 -0.000152621,0.0,137488.0,14.0 -0.000158741,0.0,137488.0,14.0 -0.00014977,0.0,137488.0,14.0 -0.000158758,0.0,137488.0,14.0 -0.000160409,0.0,137488.0,14.0 +0.00016190990000000002,0.0,137488.0,14.0 +0.00016089180000000003,0.0,137488.0,14.0 +0.00016225870000000003,0.0,137488.0,14.0 +0.0001633716,0.0,137488.0,14.0 +0.0001625663,0.0,137488.0,14.0 +0.0001638746,0.0,137488.0,14.0 +0.00016272280000000002,0.0,137488.0,14.0 +0.00016306500000000003,0.0,137488.0,14.0 +0.0001603312,0.0,137488.0,14.0 +0.0001628104,0.0,137488.0,14.0 +0.0001607163,0.0,137488.0,14.0 +0.00016331330000000002,0.0,137488.0,14.0 +0.00016076530000000002,0.0,137488.0,14.0 +0.00034290830000000005,0.46211363212847284,137488.0,14.0 +0.0001676845,0.0,137488.0,14.0 +0.0001662608,0.0,137488.0,14.0 +0.0001631103,0.0,137488.0,14.0 +0.0001628199,0.0,137488.0,14.0 +0.00016288780000000002,0.0,137488.0,14.0 0.00016086800000000002,0.0,137488.0,14.0 -0.00016299,0.0,137488.0,14.0 -0.000155804,0.0,137488.0,14.0 -0.00016604800000000002,0.0,137488.0,14.0 -0.00016688,0.0,137488.0,14.0 -0.000161382,0.0,137488.0,14.0 -0.000158338,0.0,137488.0,14.0 -0.000168071,0.0,137488.0,14.0 -0.00015918,0.0,137488.0,14.0 -0.000151509,0.0,137488.0,14.0 -0.000158598,0.0,137488.0,14.0 -0.000156174,0.0,137488.0,14.0 -0.00016190800000000002,0.0,137488.0,14.0 -0.000155567,0.0,137488.0,14.0 -0.000168314,0.0,137488.0,14.0 -0.00015513700000000002,0.0,137488.0,14.0 -0.000155017,0.0,137488.0,14.0 -0.00015484,0.0,137488.0,14.0 -0.00016018300000000002,0.0,137488.0,14.0 -0.00016186800000000002,0.0,137488.0,14.0 -0.00015790900000000002,0.0,137488.0,14.0 -0.000154988,0.0,137488.0,14.0 -0.00015999700000000002,0.0,137488.0,14.0 -0.000147674,0.0,137488.0,14.0 -0.00015133,0.0,137488.0,14.0 -0.000162883,0.0,137488.0,14.0 -0.000160478,0.0,137488.0,14.0 -0.00016118300000000002,0.0,137488.0,14.0 -0.000158195,0.0,137488.0,14.0 -0.00016290600000000002,0.0,137488.0,14.0 -0.00015650900000000002,0.0,137488.0,14.0 -0.00015619,0.0,137488.0,14.0 -0.00015846500000000002,0.0,137488.0,14.0 -0.000152033,0.0,137488.0,14.0 -0.00016102,0.0,137488.0,14.0 -0.00016527300000000001,0.0,137488.0,14.0 -0.000170719,0.0,137488.0,14.0 -0.000149624,0.0,137488.0,14.0 -0.000161742,0.0,137488.0,14.0 -0.000168104,0.0,137488.0,14.0 -0.000158974,0.0,137488.0,14.0 -0.000154981,0.0,137488.0,14.0 -0.000156104,0.0,137488.0,14.0 -0.000169273,0.0,137488.0,14.0 -0.00016022600000000002,0.0,137488.0,14.0 -0.00015545900000000002,0.0,137488.0,14.0 -0.00015948900000000002,0.0,137488.0,14.0 -0.00016092800000000002,0.0,137488.0,14.0 -0.00016793,0.0,137488.0,14.0 -0.000159576,0.0,137488.0,14.0 -0.000158794,0.0,137488.0,14.0 -0.000149003,0.0,137488.0,14.0 -0.000154828,0.0,137488.0,14.0 -0.00014952500000000002,0.0,137488.0,14.0 -0.000154219,0.0,137488.0,14.0 -0.000154744,0.0,137488.0,14.0 -0.00015959600000000002,0.0,137488.0,14.0 -0.000158912,0.0,137488.0,14.0 -0.00015709100000000002,0.0,137488.0,14.0 -0.000157042,0.0,137488.0,14.0 -0.00016267700000000001,0.0,137488.0,14.0 -0.000153256,0.0,137488.0,14.0 -0.000156228,0.0,137488.0,14.0 -0.000157212,0.0,137488.0,14.0 -0.00016806900000000002,0.0,137488.0,14.0 -0.000157789,0.0,137488.0,14.0 -0.00015908300000000002,0.0,137488.0,14.0 -0.000146911,0.0,137488.0,14.0 -0.00016607400000000002,0.0,137488.0,14.0 -0.000153257,0.0,137488.0,14.0 -0.000174697,0.0,137488.0,14.0 -0.00015761600000000002,0.0,137488.0,14.0 -0.00015817,0.0,137488.0,14.0 -0.00015318500000000002,0.0,137488.0,14.0 -0.00015446,0.0,137488.0,14.0 -0.00015465200000000002,0.0,137488.0,14.0 -0.000153425,0.0,137488.0,14.0 -0.000154455,0.0,137488.0,14.0 -0.00016104500000000001,0.0,137488.0,14.0 -0.000155214,0.0,137488.0,14.0 -0.000156877,0.0,137488.0,14.0 -0.000149359,0.0,137488.0,14.0 -0.00015632500000000002,0.0,137488.0,14.0 -0.000159486,0.0,137488.0,14.0 -0.000159676,0.0,137488.0,14.0 -0.000152217,0.0,137488.0,14.0 -0.00016149300000000002,0.0,137488.0,14.0 -0.000165569,0.0,137488.0,14.0 -0.00016542300000000002,0.0,137488.0,14.0 -0.000162258,0.0,137488.0,14.0 -0.00017586000000000001,0.0,137488.0,14.0 -0.00015910000000000002,0.0,137488.0,14.0 -0.00015651800000000002,0.0,137488.0,14.0 -0.00015344000000000002,0.0,137488.0,14.0 -0.00015614400000000001,0.0,137488.0,14.0 -0.000153379,0.0,137488.0,14.0 -0.000162454,0.0,137488.0,14.0 -0.00015965600000000002,0.0,137488.0,14.0 -0.000167734,0.0,137488.0,14.0 -0.00015694,0.0,137488.0,14.0 -0.026424814,0.0,137488.0,14.0 -0.00018502200000000002,0.0,137488.0,14.0 -0.000167226,0.0,137488.0,14.0 -0.00016513200000000002,0.0,137488.0,14.0 -0.00016657,0.0,137488.0,14.0 -0.00016800900000000002,0.0,137488.0,14.0 -0.00016003800000000002,0.0,137488.0,14.0 -0.00016035500000000002,0.0,137488.0,14.0 -0.000160327,0.0,137488.0,14.0 -0.000160753,0.0,137488.0,14.0 -0.000159285,0.0,137488.0,14.0 -0.000167049,0.0,137488.0,14.0 -0.000161826,0.0,137488.0,14.0 -0.00017533700000000002,0.0,137488.0,14.0 -0.000158731,0.0,137488.0,14.0 -0.000162701,0.0,137488.0,14.0 -0.00016234000000000002,0.0,137488.0,14.0 -0.000157216,0.0,137488.0,14.0 -0.000178156,0.0,137488.0,14.0 -0.00016672300000000002,0.0,137488.0,14.0 -0.000159573,0.0,137488.0,14.0 -0.000158264,0.0,137488.0,14.0 -0.000159449,0.0,137488.0,14.0 -0.000153067,0.0,137488.0,14.0 -0.000163341,0.0,137488.0,14.0 -0.000184627,0.0,137488.0,14.0 -0.00016637700000000002,0.0,137488.0,14.0 -0.00016841500000000002,0.0,137488.0,14.0 -0.000166644,0.0,137488.0,14.0 -0.00016638700000000002,0.0,137488.0,14.0 -0.00016794000000000002,0.0,137488.0,14.0 -0.000163952,0.0,137488.0,14.0 -0.00016936700000000002,0.0,137488.0,14.0 -0.000161619,0.0,137488.0,14.0 +0.00016545790000000002,0.0,137488.0,14.0 +0.0001659064,0.0,137488.0,14.0 +0.0001658038,0.0,137488.0,14.0 +0.0001613737,0.0,137488.0,14.0 +0.0014695926000000002,0.0,137488.0,14.0 +0.0001659613,0.0,137488.0,14.0 +0.00016484420000000002,0.0,137488.0,14.0 +0.0001700936,0.0,137488.0,14.0 +0.0001682826,0.0,137488.0,14.0 +0.0001689285,0.0,137488.0,14.0 +0.0001672125,0.0,137488.0,14.0 +0.00016749860000000002,0.0,137488.0,14.0 +0.0001671339,0.0,137488.0,14.0 +0.0001680203,0.0,137488.0,14.0 +0.0017711679,0.0,137488.0,14.0 +0.00016674350000000002,0.0,137488.0,14.0 +0.0001671341,0.0,137488.0,14.0 +0.0001647032,0.0,137488.0,14.0 +0.0001679815,0.0,137488.0,14.0 +0.00016852730000000002,0.0,137488.0,14.0 +0.0001669037,0.0,137488.0,14.0 +0.00017044450000000002,0.0,137488.0,14.0 +0.0001667069,0.0,137488.0,14.0 +0.0017712694000000001,0.0,137488.0,14.0 +0.0001649068,0.0,137488.0,14.0 +0.0001683614,0.0,137488.0,14.0 +0.0004673329,0.6042219582657244,137488.0,14.0 +0.0001741275,0.0,137488.0,14.0 +0.00017378370000000002,0.0,137488.0,14.0 +0.0001772188,0.0,137488.0,14.0 +0.0001697171,0.0,137488.0,14.0 +0.0001759711,0.0,137488.0,14.0 +0.0001700534,0.0,137488.0,14.0 +0.0001663488,0.0,137488.0,14.0 +0.00017281920000000001,0.0,137488.0,14.0 +0.0001716702,0.0,137488.0,14.0 +0.00017253020000000002,0.0,137488.0,14.0 +0.0001750745,0.0,137488.0,14.0 +0.00017254530000000002,0.0,137488.0,14.0 +0.00016995860000000002,0.0,137488.0,14.0 +0.00017735490000000002,0.0,137488.0,14.0 +0.00017024630000000003,0.0,137488.0,14.0 +0.0001691365,0.0,137488.0,14.0 +0.0001738214,0.0,137488.0,14.0 +0.0001696683,0.0,137488.0,14.0 +0.00017244570000000001,0.0,137488.0,14.0 +0.00016898070000000002,0.0,137488.0,14.0 +0.00017206220000000002,0.0,137488.0,14.0 +0.0001701606,0.0,137488.0,14.0 +0.0001707898,0.0,137488.0,14.0 +0.00017094870000000003,0.0,137488.0,14.0 +0.0001713677,0.0,137488.0,14.0 +0.0002727249,0.0,137488.0,14.0 +0.00028032020000000004,0.0,137488.0,14.0 +0.00027851920000000004,0.0,137488.0,14.0 +0.000282583,0.0,137488.0,14.0 +0.00028232880000000004,0.0,137488.0,14.0 +0.000284441,0.0,137488.0,14.0 +0.0002885884,0.0,137488.0,14.0 +0.0003176449,0.0,137488.0,14.0 +0.00038848210000000003,0.36346616742444504,137488.0,14.0 +0.00017293480000000002,0.0,137488.0,14.0 +0.0001760226,0.0,137488.0,14.0 +0.0001700623,0.0,137488.0,14.0 +0.0001720605,0.0,137488.0,14.0 +0.00016857340000000001,0.0,137488.0,14.0 +0.000172191,0.0,137488.0,14.0 +0.0001715102,0.0,137488.0,14.0 +0.0001729995,0.0,137488.0,14.0 +0.000170981,0.0,137488.0,14.0 +0.00017158490000000002,0.0,137488.0,14.0 +0.00017560140000000003,0.0,137488.0,14.0 +0.00016876340000000002,0.0,137488.0,14.0 +0.0001726665,0.0,137488.0,14.0 +0.00017129260000000001,0.0,137488.0,14.0 +0.000171241,0.0,137488.0,14.0 +0.0001706819,0.0,137488.0,14.0 +0.0001666914,0.0,137488.0,14.0 +0.0001691718,0.0,137488.0,14.0 +0.00017048220000000003,0.0,137488.0,14.0 +0.00017121380000000003,0.0,137488.0,14.0 +0.00016639510000000002,0.0,137488.0,14.0 +0.0001700106,0.0,137488.0,14.0 +0.0001747241,0.0,137488.0,14.0 +0.0001695028,0.0,137488.0,14.0 +0.0001694963,0.0,137488.0,14.0 +0.0001686476,0.0,137488.0,14.0 +0.00017084910000000002,0.0,137488.0,14.0 +0.0001706656,0.0,137488.0,14.0 +0.00017009240000000003,0.0,137488.0,14.0 +0.0001714242,0.0,137488.0,14.0 +0.0001702906,0.0,137488.0,14.0 +0.0001708423,0.0,137488.0,14.0 +0.0003332332,0.42514131245026004,137488.0,14.0 +0.0001725564,0.0,137488.0,14.0 +0.00017092110000000002,0.0,137488.0,14.0 +0.0001740063,0.0,137488.0,14.0 +0.0001687504,0.0,137488.0,14.0 +0.00017269260000000002,0.0,137488.0,14.0 +0.00016868710000000003,0.0,137488.0,14.0 +0.0001729433,0.0,137488.0,14.0 +0.0001751279,0.0,137488.0,14.0 +0.0001694221,0.0,137488.0,14.0 +0.0001734918,0.0,137488.0,14.0 +0.00017309120000000001,0.0,137488.0,14.0 +0.00017209240000000002,0.0,137488.0,14.0 +0.000168619,0.0,137488.0,14.0 +0.0017746546000000003,0.0,137488.0,14.0 +0.0001711604,0.0,137488.0,14.0 +0.0001692273,0.0,137488.0,14.0 +0.00016706580000000002,0.0,137488.0,14.0 +0.00017131710000000002,0.0,137488.0,14.0 +0.0001697251,0.0,137488.0,14.0 +0.00016999390000000002,0.0,137488.0,14.0 +0.00016888780000000003,0.0,137488.0,14.0 +0.0001715628,0.0,137488.0,14.0 +0.0001696968,0.0,137488.0,14.0 +0.0017720257,0.0,137488.0,14.0 +0.0001740083,0.0,137488.0,14.0 +0.0001732952,0.0,137488.0,14.0 +0.0001708105,0.0,137488.0,14.0 +0.0001741413,0.0,137488.0,14.0 +0.00017371740000000002,0.0,137488.0,14.0 +0.00016939210000000001,0.0,137488.0,14.0 +0.0001712722,0.0,137488.0,14.0 +0.0001697883,0.0,137488.0,14.0 +0.0001707415,0.0,137488.0,14.0 +0.0004545739,0.5828407658248747,137488.0,14.0 +0.00017291770000000002,0.0,137488.0,14.0 +0.0017822593000000001,0.0,137488.0,14.0 +0.00017390390000000003,0.0,137488.0,14.0 +0.00017708180000000002,0.0,137488.0,14.0 +0.0001709921,0.0,137488.0,14.0 +0.00017177630000000002,0.0,137488.0,14.0 +0.00018046560000000003,0.0,137488.0,14.0 +0.0001757158,0.0,137488.0,14.0 +0.00017752880000000001,0.0,137488.0,14.0 +0.0001802685,0.0,137488.0,14.0 +0.0017722525,0.0,137488.0,14.0 +0.0001742494,0.0,137488.0,14.0 +0.0001764488,0.0,137488.0,14.0 +0.0001762775,0.0,137488.0,14.0 +0.0001760986,0.0,137488.0,14.0 +0.0001776615,0.0,137488.0,14.0 +0.0001757817,0.0,137488.0,14.0 +0.00017559470000000002,0.0,137488.0,14.0 +0.00017460940000000002,0.0,137488.0,14.0 +0.0013860081000000002,0.0,137488.0,14.0 +0.00039698340000000003,0.0,137488.0,14.0 +0.00039619249999999997,0.0,137488.0,14.0 +0.0002806942,0.0,137488.0,14.0 +0.0003926609,0.0,137488.0,14.0 +0.0004887544,0.0,137488.0,14.0 +0.0006178074000000001,0.0,137488.0,14.0 +0.0006191953,0.0,137488.0,14.0 +0.0006162483000000001,0.0,137488.0,14.0 +0.0035149088,0.0,137488.0,14.0 +0.00028431420000000004,0.0,137488.0,14.0 +0.0002832026,0.0,137488.0,14.0 +0.00028339,0.0,137488.0,14.0 +0.0027808575,0.9152376560107809,137488.0,14.0 +0.0001829532,0.0,137488.0,14.0 +0.000179345,0.0,137488.0,14.0 +0.00017759020000000003,0.0,137488.0,14.0 +0.0001784892,0.0,137488.0,14.0 +0.00017696980000000002,0.0,137488.0,14.0 +0.00017597880000000003,0.0,137488.0,14.0 +0.0001759528,0.0,137488.0,14.0 +0.001783467,0.0,137488.0,14.0 +0.0001774797,0.0,137488.0,14.0 +0.00017905900000000002,0.0,137488.0,14.0 +0.00017532300000000002,0.0,137488.0,14.0 +0.0001752121,0.0,137488.0,14.0 +0.0001786535,0.0,137488.0,14.0 +0.0001772525,0.0,137488.0,14.0 +0.0025810866,0.0,137488.0,14.0 +0.00017366390000000002,0.0,137488.0,14.0 +0.0001776884,0.0,137488.0,14.0 +0.0001719958,0.0,137488.0,14.0 +0.0001778707,0.0,137488.0,14.0 +0.0001747537,0.0,137488.0,14.0 +0.0001747095,0.0,137488.0,14.0 +0.0020139309,0.0,137488.0,14.0 +0.0001810371,0.0,137488.0,14.0 +0.00017166470000000002,0.0,137488.0,14.0 +0.00017617930000000002,0.0,137488.0,14.0 +0.00017433190000000002,0.0,137488.0,14.0 +0.0025803040000000003,0.0,137488.0,14.0 +0.00017481890000000001,0.0,137488.0,14.0 +0.0001774523,0.0,137488.0,14.0 +0.00017355270000000002,0.0,137488.0,14.0 +0.00017472640000000002,0.0,137488.0,14.0 +0.00017444320000000002,0.0,137488.0,14.0 +0.0023460572000000004,0.9148247110087512,137488.0,14.0 +0.0001787011,0.0,137488.0,14.0 +0.00018037830000000002,0.0,137488.0,14.0 +0.00017511690000000002,0.0,137488.0,14.0 +0.0001749145,0.0,137488.0,14.0 +0.00017582320000000001,0.0,137488.0,14.0 +0.000173417,0.0,137488.0,14.0 +0.0014119752,0.0,137488.0,14.0 +0.0001786907,0.0,137488.0,14.0 +0.0010096596000000002,0.0,137488.0,14.0 +0.00017339500000000002,0.0,137488.0,14.0 +0.00017906360000000002,0.0,137488.0,14.0 +0.00017375670000000003,0.0,137488.0,14.0 +0.00017510580000000003,0.0,137488.0,14.0 +0.0001744131,0.0,137488.0,14.0 +0.00017870830000000002,0.0,137488.0,14.0 +0.0001735205,0.0,137488.0,14.0 +0.0001728323,0.0,137488.0,14.0 +0.0017776340000000002,0.0,137488.0,14.0 +0.00017266430000000002,0.0,137488.0,14.0 +0.00017393200000000001,0.0,137488.0,14.0 +0.0001727674,0.0,137488.0,14.0 +0.00017446980000000001,0.0,137488.0,14.0 +0.00017480030000000001,0.0,137488.0,14.0 +0.00017388360000000002,0.0,137488.0,14.0 +0.00017729140000000002,0.0,137488.0,14.0 +0.0001732756,0.0,137488.0,14.0 +0.0017780010000000002,0.0,137488.0,14.0 +0.00017091810000000003,0.0,137488.0,14.0 +0.00017377170000000002,0.0,137488.0,14.0 +0.00016950060000000001,0.0,137488.0,14.0 +0.0005246439000000001,0.0,137488.0,14.0 +0.0002682348,0.0,137488.0,14.0 +0.0018587618999999999,0.0,137488.0,14.0 +0.0032577356,0.4283337788370548,137488.0,14.0 +0.00023007820000000003,0.0,137488.0,14.0 +0.0002359967,0.0,137488.0,14.0 +0.0002277837,0.0,137488.0,14.0 +0.0002340439,0.0,137488.0,14.0 +0.0002287775,0.0,137488.0,14.0 +0.0002192252,0.0,137488.0,14.0 +0.00022611900000000002,0.0,137488.0,14.0 +0.0002217207,0.0,137488.0,14.0 +0.0002229524,0.0,137488.0,14.0 +0.00022434620000000004,0.0,137488.0,14.0 +0.00021947480000000002,0.0,137488.0,14.0 +0.0002214663,0.0,137488.0,14.0 +0.00022065380000000002,0.0,137488.0,14.0 +0.00022057220000000003,0.0,137488.0,14.0 +0.00021936670000000002,0.0,137488.0,14.0 +0.00022097130000000003,0.0,137488.0,14.0 +0.00021868930000000001,0.0,137488.0,14.0 +0.0002216402,0.0,137488.0,14.0 +0.0002198443,0.0,137488.0,14.0 +0.00022031330000000002,0.0,137488.0,14.0 +0.00022335950000000002,0.0,137488.0,14.0 +0.0002205733,0.0,137488.0,14.0 +0.00022067050000000002,0.0,137488.0,14.0 +0.00021833060000000002,0.0,137488.0,14.0 +0.0002634243,0.0,137488.0,14.0 +0.0002773821,0.0,137488.0,14.0 +0.00027574420000000004,0.0,137488.0,14.0 +0.0002761513,0.0,137488.0,14.0 +0.0002773806,0.0,137488.0,14.0 +0.0003053902,0.0,137488.0,14.0 +0.00028061460000000004,0.0,137488.0,14.0 +0.0003093967,0.0,137488.0,14.0 +0.00040469630000000006,0.412846621034094,137488.0,14.0 +0.0001632753,0.0,137488.0,14.0 +0.0001672471,0.0,137488.0,14.0 +0.000160796,0.0,137488.0,14.0 +0.0001615695,0.0,137488.0,14.0 +0.00015871720000000002,0.0,137488.0,14.0 +0.0001599734,0.0,137488.0,14.0 +0.0001655414,0.0,137488.0,14.0 +0.000165104,0.0,137488.0,14.0 +0.0001656351,0.0,137488.0,14.0 +0.00016084090000000002,0.0,137488.0,14.0 +0.0001607598,0.0,137488.0,14.0 +0.0001626108,0.0,137488.0,14.0 +0.0001615886,0.0,137488.0,14.0 +0.0001677368,0.0,137488.0,14.0 +0.00016068940000000002,0.0,137488.0,14.0 +0.0001585859,0.0,137488.0,14.0 +0.00016193240000000002,0.0,137488.0,14.0 +0.0001633013,0.0,137488.0,14.0 +0.0001626485,0.0,137488.0,14.0 +0.00015873360000000003,0.0,137488.0,14.0 +0.00016014190000000002,0.0,137488.0,14.0 +0.0001599968,0.0,137488.0,14.0 +0.0001600387,0.0,137488.0,14.0 +0.0001616373,0.0,137488.0,14.0 +0.00016161860000000003,0.0,137488.0,14.0 +0.0001579296,0.0,137488.0,14.0 +0.00016075830000000002,0.0,137488.0,14.0 +0.0001603277,0.0,137488.0,14.0 +0.000163638,0.0,137488.0,14.0 +0.00015885740000000001,0.0,137488.0,14.0 +0.00015924020000000001,0.0,137488.0,14.0 +0.0001637734,0.0,137488.0,14.0 +0.0003394139,0.4584770983156553,137488.0,14.0 +0.00016275500000000002,0.0,137488.0,14.0 +0.00016534330000000003,0.0,137488.0,14.0 +0.00016318160000000002,0.0,137488.0,14.0 +0.00016146820000000002,0.0,137488.0,14.0 +0.000189394,0.0,137488.0,14.0 +0.00021093870000000003,0.0,137488.0,14.0 +0.00015798180000000002,0.0,137488.0,14.0 +0.00016450050000000002,0.0,137488.0,14.0 +0.000163272,0.0,137488.0,14.0 +0.0001625755,0.0,137488.0,14.0 +0.0001635245,0.0,137488.0,14.0 +0.0001634422,0.0,137488.0,14.0 +0.0001578355,0.0,137488.0,14.0 +0.0001613688,0.0,137488.0,14.0 +0.0001613371,0.0,137488.0,14.0 +0.0001616528,0.0,137488.0,14.0 +0.00016282870000000003,0.0,137488.0,14.0 +0.00016016600000000002,0.0,137488.0,14.0 +0.00016429390000000002,0.0,137488.0,14.0 +0.00016155570000000002,0.0,137488.0,14.0 +0.0001598116,0.0,137488.0,14.0 +0.0001610265,0.0,137488.0,14.0 +0.0001590688,0.0,137488.0,14.0 +0.00016100590000000002,0.0,137488.0,14.0 +0.0001606672,0.0,137488.0,14.0 +0.00015789550000000003,0.0,137488.0,14.0 +0.00016224660000000002,0.0,137488.0,14.0 +0.0001605315,0.0,137488.0,14.0 +0.0001615328,0.0,137488.0,14.0 +0.0001599961,0.0,137488.0,14.0 +0.0001583575,0.0,137488.0,14.0 +0.0001617578,0.0,137488.0,14.0 +0.0001573479,0.0,137488.0,14.0 +0.00043269520000000004,0.5882214547330314,137488.0,14.0 +0.00016568260000000002,0.0,137488.0,14.0 +0.00016279500000000003,0.0,137488.0,14.0 +0.0001627555,0.0,137488.0,14.0 +0.0001633356,0.0,137488.0,14.0 +0.0001586638,0.0,137488.0,14.0 +0.0001616893,0.0,137488.0,14.0 +0.0001642174,0.0,137488.0,14.0 +0.0001661521,0.0,137488.0,14.0 +0.000160976,0.0,137488.0,14.0 +0.00016195130000000002,0.0,137488.0,14.0 +0.00016306330000000001,0.0,137488.0,14.0 +0.0001618788,0.0,137488.0,14.0 +0.0001630152,0.0,137488.0,14.0 +0.00015958250000000003,0.0,137488.0,14.0 +0.0001617861,0.0,137488.0,14.0 +0.0001616302,0.0,137488.0,14.0 +0.0001577976,0.0,137488.0,14.0 +0.0001635139,0.0,137488.0,14.0 +0.0001674647,0.0,137488.0,14.0 +0.0001576944,0.0,137488.0,14.0 +0.0001607199,0.0,137488.0,14.0 +0.0001617685,0.0,137488.0,14.0 +0.00016234510000000003,0.0,137488.0,14.0 +0.00015960800000000002,0.0,137488.0,14.0 +0.0006149628000000001,0.0,137488.0,14.0 +0.0002716999,0.0,137488.0,14.0 +0.000274849,0.0,137488.0,14.0 +0.0002759015,0.0,137488.0,14.0 +0.0002821938,0.0,137488.0,14.0 +0.0002731427,0.0,137488.0,14.0 +0.0002724216,0.0,137488.0,14.0 +0.0002759411,0.0,137488.0,14.0 +0.0003982380000000001,0.3662593725360212,137488.0,14.0 +0.0001645788,0.0,137488.0,14.0 +0.00016233490000000002,0.0,137488.0,14.0 +0.0001628083,0.0,137488.0,14.0 +0.00016092450000000001,0.0,137488.0,14.0 +0.0001617139,0.0,137488.0,14.0 +0.00016211490000000002,0.0,137488.0,14.0 +0.00016090520000000002,0.0,137488.0,14.0 +0.000163816,0.0,137488.0,14.0 +0.0001618911,0.0,137488.0,14.0 +0.0001608202,0.0,137488.0,14.0 +0.00016376390000000002,0.0,137488.0,14.0 +0.00016048590000000001,0.0,137488.0,14.0 +0.000161323,0.0,137488.0,14.0 +0.000164097,0.0,137488.0,14.0 +0.0001619174,0.0,137488.0,14.0 +0.0001621192,0.0,137488.0,14.0 +0.00016242910000000002,0.0,137488.0,14.0 +0.0001643048,0.0,137488.0,14.0 +0.0001878642,0.0,137488.0,14.0 +0.00016132830000000002,0.0,137488.0,14.0 +0.0001621208,0.0,137488.0,14.0 +0.0001642632,0.0,137488.0,14.0 +0.0001633122,0.0,137488.0,14.0 +0.00015999460000000001,0.0,137488.0,14.0 +0.0001626505,0.0,137488.0,14.0 +0.0001593408,0.0,137488.0,14.0 +0.0001587977,0.0,137488.0,14.0 +0.0001636195,0.0,137488.0,14.0 +0.00016026130000000002,0.0,137488.0,14.0 +0.0001621169,0.0,137488.0,14.0 +0.0001607881,0.0,137488.0,14.0 +0.00016069910000000002,0.0,137488.0,14.0 +0.00031940980000000005,0.4399777339330227,137488.0,14.0 +0.00016352720000000002,0.0,137488.0,14.0 +0.00016944920000000002,0.0,137488.0,14.0 +0.0001662225,0.0,137488.0,14.0 +0.0001646886,0.0,137488.0,14.0 +0.0001668848,0.0,137488.0,14.0 +0.0001630972,0.0,137488.0,14.0 +0.0001610745,0.0,137488.0,14.0 +0.00016474760000000001,0.0,137488.0,14.0 +0.00016383790000000002,0.0,137488.0,14.0 +0.00016025400000000003,0.0,137488.0,14.0 +0.00016593640000000002,0.0,137488.0,14.0 +0.0001610761,0.0,137488.0,14.0 +0.00016056240000000003,0.0,137488.0,14.0 +0.0001595535,0.0,137488.0,14.0 +0.00016158,0.0,137488.0,14.0 +0.0001604269,0.0,137488.0,14.0 +0.00016159520000000001,0.0,137488.0,14.0 +0.0001633864,0.0,137488.0,14.0 +0.00016130350000000002,0.0,137488.0,14.0 +0.0001619768,0.0,137488.0,14.0 +0.00016245670000000003,0.0,137488.0,14.0 +0.0001624654,0.0,137488.0,14.0 +0.0001642695,0.0,137488.0,14.0 +0.0001607804,0.0,137488.0,14.0 +0.00015840560000000001,0.0,137488.0,14.0 +0.00016292890000000002,0.0,137488.0,14.0 +0.0001575112,0.0,137488.0,14.0 +0.0001637808,0.0,137488.0,14.0 +0.00015943750000000002,0.0,137488.0,14.0 +0.00015954750000000002,0.0,137488.0,14.0 +0.0001608618,0.0,137488.0,14.0 +0.0001596764,0.0,137488.0,14.0 +0.00016113070000000002,0.0,137488.0,14.0 +0.0004512572,0.6187433685268623,137488.0,14.0 +0.00016652570000000002,0.0,137488.0,14.0 +0.00016396380000000002,0.0,137488.0,14.0 +0.00016115620000000001,0.0,137488.0,14.0 +0.00016461300000000003,0.0,137488.0,14.0 +0.0001629135,0.0,137488.0,14.0 +0.00016048830000000002,0.0,137488.0,14.0 +0.00016513470000000002,0.0,137488.0,14.0 +0.0001644546,0.0,137488.0,14.0 +0.0001602723,0.0,137488.0,14.0 +0.0001636561,0.0,137488.0,14.0 +0.0001643611,0.0,137488.0,14.0 +0.0001607549,0.0,137488.0,14.0 +0.0001608363,0.0,137488.0,14.0 +0.0001628035,0.0,137488.0,14.0 +0.00016078720000000003,0.0,137488.0,14.0 +0.000159645,0.0,137488.0,14.0 +0.0001596689,0.0,137488.0,14.0 +0.0001615317,0.0,137488.0,14.0 +0.0001615846,0.0,137488.0,14.0 +0.0001590492,0.0,137488.0,14.0 +0.00015902750000000002,0.0,137488.0,14.0 +0.0001623331,0.0,137488.0,14.0 +0.00016150650000000002,0.0,137488.0,14.0 +0.0001617091,0.0,137488.0,14.0 +0.0002233736,0.0,137488.0,14.0 +0.0002724063,0.0,137488.0,14.0 +0.00027198610000000003,0.0,137488.0,14.0 +0.0002808126,0.0,137488.0,14.0 +0.0002797882,0.0,137488.0,14.0 +0.00027449930000000004,0.0,137488.0,14.0 +0.0002730221,0.0,137488.0,14.0 +0.0002760141,0.0,137488.0,14.0 +0.0003967582,0.3515549269051024,137488.0,14.0 +0.0001660436,0.0,137488.0,14.0 +0.0001657803,0.0,137488.0,14.0 +0.00016318890000000002,0.0,137488.0,14.0 +0.00016103260000000001,0.0,137488.0,14.0 +0.00016029260000000002,0.0,137488.0,14.0 +0.0001586852,0.0,137488.0,14.0 +0.0001597368,0.0,137488.0,14.0 +0.00016375420000000002,0.0,137488.0,14.0 +0.0001654742,0.0,137488.0,14.0 +0.0001602971,0.0,137488.0,14.0 +0.0001631004,0.0,137488.0,14.0 +0.0001617231,0.0,137488.0,14.0 +0.0001572951,0.0,137488.0,14.0 +0.0001641663,0.0,137488.0,14.0 +0.0001615141,0.0,137488.0,14.0 +0.0001601073,0.0,137488.0,14.0 +0.0001625897,0.0,137488.0,14.0 +0.0001610713,0.0,137488.0,14.0 +0.0001616602,0.0,137488.0,14.0 +0.00016079860000000002,0.0,137488.0,14.0 +0.0001617727,0.0,137488.0,14.0 +0.0001639721,0.0,137488.0,14.0 +0.00016071190000000002,0.0,137488.0,14.0 +0.00016241670000000002,0.0,137488.0,14.0 +0.0001615824,0.0,137488.0,14.0 +0.00015999940000000003,0.0,137488.0,14.0 +0.0001611495,0.0,137488.0,14.0 +0.0001600065,0.0,137488.0,14.0 +0.0001615253,0.0,137488.0,14.0 +0.000159824,0.0,137488.0,14.0 +0.0001600638,0.0,137488.0,14.0 +0.0036949717,0.0,137488.0,14.0 +0.00016736570000000002,0.0,137488.0,14.0 +0.00034561680000000003,0.423033255327866,137488.0,14.0 +0.00017625220000000002,0.0,137488.0,14.0 +0.000181363,0.0,137488.0,14.0 +0.0001742879,0.0,137488.0,14.0 +0.00017371630000000002,0.0,137488.0,14.0 +0.00016483180000000002,0.0,137488.0,14.0 +0.0017744996000000003,0.0,137488.0,14.0 +0.00017219090000000003,0.0,137488.0,14.0 +0.0001718799,0.0,137488.0,14.0 +0.0001726478,0.0,137488.0,14.0 +0.00017614060000000002,0.0,137488.0,14.0 +0.0001749047,0.0,137488.0,14.0 +0.00017246160000000002,0.0,137488.0,14.0 +0.00017233810000000002,0.0,137488.0,14.0 +0.00016885590000000002,0.0,137488.0,14.0 +0.00016810050000000003,0.0,137488.0,14.0 +0.0017748662000000002,0.0,137488.0,14.0 +0.00016913060000000002,0.0,137488.0,14.0 +0.0001725808,0.0,137488.0,14.0 +0.000166903,0.0,137488.0,14.0 +0.0001701622,0.0,137488.0,14.0 +0.00016496110000000002,0.0,137488.0,14.0 +0.000167482,0.0,137488.0,14.0 +0.0025722058000000004,0.0,137488.0,14.0 +0.0001667765,0.0,137488.0,14.0 +0.00017056170000000003,0.0,137488.0,14.0 +0.0001663702,0.0,137488.0,14.0 +0.00017024150000000002,0.0,137488.0,14.0 +0.0001685074,0.0,137488.0,14.0 +0.0001712534,0.0,137488.0,14.0 +0.0025725325,0.0,137488.0,14.0 +0.0001688142,0.0,137488.0,14.0 +0.00016931850000000002,0.0,137488.0,14.0 +0.0009694582,0.8017898038306345,137488.0,14.0 +0.0017805345,0.0,137488.0,14.0 +0.0001680896,0.0,137488.0,14.0 +0.0001712689,0.0,137488.0,14.0 +0.00017140230000000002,0.0,137488.0,14.0 +0.0001698599,0.0,137488.0,14.0 +0.00016979360000000002,0.0,137488.0,14.0 +0.00016899040000000002,0.0,137488.0,14.0 +0.0001716305,0.0,137488.0,14.0 +0.00016914180000000001,0.0,137488.0,14.0 +0.00016751910000000001,0.0,137488.0,14.0 +0.0029757385,0.0,137488.0,14.0 +0.0001675004,0.0,137488.0,14.0 +0.00017000720000000003,0.0,137488.0,14.0 +0.00016754430000000001,0.0,137488.0,14.0 +0.00017052040000000001,0.0,137488.0,14.0 +0.0001700511,0.0,137488.0,14.0 +0.0001671182,0.0,137488.0,14.0 +0.00017005980000000002,0.0,137488.0,14.0 +0.00016682790000000002,0.0,137488.0,14.0 +0.0017723560000000003,0.0,137488.0,14.0 +0.00016585850000000002,0.0,137488.0,14.0 +0.0001699357,0.0,137488.0,14.0 +0.0001682675,0.0,137488.0,14.0 +0.00016629900000000001,0.0,137488.0,14.0 +0.0002202982,0.0,137488.0,14.0 +0.0002826667,0.0,137488.0,14.0 +0.00027991860000000003,0.0,137488.0,14.0 +0.0008313338,0.0,137488.0,14.0 +0.0002844232,0.0,137488.0,14.0 +0.0002861192,0.0,137488.0,14.0 +0.0017550975,0.0,137488.0,14.0 +0.0002846109,0.0,137488.0,14.0 +0.0010524881,0.7263180457812302,137488.0,14.0 +0.0001617276,0.0,137488.0,14.0 +0.0001654871,0.0,137488.0,14.0 +0.00016870590000000001,0.0,137488.0,14.0 +0.0001600443,0.0,137488.0,14.0 +0.0001641344,0.0,137488.0,14.0 +0.00016055160000000003,0.0,137488.0,14.0 +0.0001595486,0.0,137488.0,14.0 +0.0001677546,0.0,137488.0,14.0 +0.0001632314,0.0,137488.0,14.0 +0.0001631017,0.0,137488.0,14.0 +0.00016345480000000003,0.0,137488.0,14.0 +0.00016206210000000001,0.0,137488.0,14.0 +0.0001782618,0.0,137488.0,14.0 +0.0001617303,0.0,137488.0,14.0 +0.00016308270000000002,0.0,137488.0,14.0 +0.0001596797,0.0,137488.0,14.0 +0.000160151,0.0,137488.0,14.0 +0.0001622673,0.0,137488.0,14.0 +0.00016156460000000002,0.0,137488.0,14.0 +0.0016921632000000003,0.0,137488.0,14.0 +0.00016091210000000001,0.0,137488.0,14.0 +0.0001614002,0.0,137488.0,14.0 +0.0001655549,0.0,137488.0,14.0 +0.0001598454,0.0,137488.0,14.0 +0.00016271780000000002,0.0,137488.0,14.0 +0.000159232,0.0,137488.0,14.0 +0.00016256550000000002,0.0,137488.0,14.0 +0.0001619002,0.0,137488.0,14.0 +0.00016106710000000002,0.0,137488.0,14.0 +0.00022323570000000004,0.0,137488.0,14.0 +0.00015975,0.0,137488.0,14.0 +0.0001622368,0.0,137488.0,14.0 +0.00015861020000000001,0.0,137488.0,14.0 +0.000326737,0.4286729081799735,137488.0,14.0 +0.0001636373,0.0,137488.0,14.0 +0.00016483980000000001,0.0,137488.0,14.0 +0.00016140240000000003,0.0,137488.0,14.0 +0.00016374340000000002,0.0,137488.0,14.0 +0.0001622989,0.0,137488.0,14.0 +0.00016120280000000002,0.0,137488.0,14.0 +0.0001651642,0.0,137488.0,14.0 +0.00016305400000000001,0.0,137488.0,14.0 +0.00016237980000000001,0.0,137488.0,14.0 +0.0001650996,0.0,137488.0,14.0 +0.0001604231,0.0,137488.0,14.0 +0.0001613661,0.0,137488.0,14.0 +0.0001595737,0.0,137488.0,14.0 +0.0001622589,0.0,137488.0,14.0 +0.00016421560000000001,0.0,137488.0,14.0 +0.00016060100000000002,0.0,137488.0,14.0 +0.0001676527,0.0,137488.0,14.0 +0.00016329000000000002,0.0,137488.0,14.0 +0.00016338160000000003,0.0,137488.0,14.0 +0.0001610689,0.0,137488.0,14.0 +0.00016019110000000002,0.0,137488.0,14.0 +0.0001594659,0.0,137488.0,14.0 +0.0001604679,0.0,137488.0,14.0 +0.0001599948,0.0,137488.0,14.0 +0.0001643182,0.0,137488.0,14.0 +0.0001603315,0.0,137488.0,14.0 +0.0001640811,0.0,137488.0,14.0 +0.0001577409,0.0,137488.0,14.0 +0.0001622011,0.0,137488.0,14.0 +0.0001604157,0.0,137488.0,14.0 +0.0001605721,0.0,137488.0,14.0 +0.0001633829,0.0,137488.0,14.0 +0.00044508510000000005,0.6032805861171268,137488.0,14.0 +0.0001662109,0.0,137488.0,14.0 +0.00016535830000000002,0.0,137488.0,14.0 +0.0001631065,0.0,137488.0,14.0 +0.00016445320000000002,0.0,137488.0,14.0 +0.00016215880000000003,0.0,137488.0,14.0 +0.000160659,0.0,137488.0,14.0 +0.0001630778,0.0,137488.0,14.0 +0.0001644253,0.0,137488.0,14.0 +0.0001615141,0.0,137488.0,14.0 0.00016257400000000002,0.0,137488.0,14.0 -0.00016884900000000002,0.0,137488.0,14.0 -0.000163723,0.0,137488.0,14.0 -0.000174231,0.0,137488.0,14.0 -0.000169089,0.0,137488.0,14.0 -0.000290943,0.0,137488.0,14.0 -0.00027717700000000003,0.0,137488.0,14.0 -0.000272182,0.0,137488.0,14.0 -0.000322057,0.0,137488.0,14.0 -0.00028161500000000003,0.0,137488.0,14.0 -0.00028834300000000004,0.0,137488.0,14.0 -0.000280213,0.0,137488.0,14.0 -0.015891937000000002,0.0,137488.0,14.0 -0.00026410400000000003,0.0,137488.0,14.0 -0.00027675700000000003,0.0,137488.0,14.0 -0.00027222,0.0,137488.0,14.0 -0.000270118,0.0,137488.0,14.0 -0.00027551800000000004,0.0,137488.0,14.0 -0.000266158,0.0,137488.0,14.0 -0.00026617000000000004,0.0,137488.0,14.0 -0.00028176300000000003,0.0,137488.0,14.0 -0.000272617,0.0,137488.0,14.0 -0.000266479,0.0,137488.0,14.0 -0.000276749,0.0,137488.0,14.0 -0.000269656,0.0,137488.0,14.0 -0.000269796,0.0,137488.0,14.0 -0.000279875,0.0,137488.0,14.0 -0.000265758,0.0,137488.0,14.0 -0.000268661,0.0,137488.0,14.0 -0.00027205100000000004,0.0,137488.0,14.0 -0.00027912600000000004,0.0,137488.0,14.0 -0.00026822,0.0,137488.0,14.0 -0.000263749,0.0,137488.0,14.0 -0.000271688,0.0,137488.0,14.0 -0.00027453000000000004,0.0,137488.0,14.0 -0.000266577,0.0,137488.0,14.0 -0.00027020900000000004,0.0,137488.0,14.0 -0.000269119,0.0,137488.0,14.0 -0.000272554,0.0,137488.0,14.0 -0.00026961300000000004,0.0,137488.0,14.0 -0.000266822,0.0,137488.0,14.0 -0.00028247900000000003,0.0,137488.0,14.0 -0.000279375,0.0,137488.0,14.0 -0.00026561600000000004,0.0,137488.0,14.0 -0.00027925000000000004,0.0,137488.0,14.0 -0.000268417,0.0,137488.0,14.0 -0.00027683,0.0,137488.0,14.0 -0.000265046,0.0,137488.0,14.0 -0.000274179,0.0,137488.0,14.0 -0.00027661200000000003,0.0,137488.0,14.0 -0.000274055,0.0,137488.0,14.0 -0.00026152500000000003,0.0,137488.0,14.0 -0.00027345,0.0,137488.0,14.0 -0.000266722,0.0,137488.0,14.0 -0.00028131200000000003,0.0,137488.0,14.0 -0.000266155,0.0,137488.0,14.0 -0.000280319,0.0,137488.0,14.0 -0.00027551800000000004,0.0,137488.0,14.0 -0.000283274,0.0,137488.0,14.0 -0.000266436,0.0,137488.0,14.0 -0.000274355,0.0,137488.0,14.0 -0.00026442,0.0,137488.0,14.0 -0.00028216300000000004,0.0,137488.0,14.0 -0.00027547600000000003,0.0,137488.0,14.0 -0.00027114500000000003,0.0,137488.0,14.0 -0.000268923,0.0,137488.0,14.0 -0.000279916,0.0,137488.0,14.0 -0.00026633200000000004,0.0,137488.0,14.0 -0.000276133,0.0,137488.0,14.0 -0.000269388,0.0,137488.0,14.0 -0.00028142,0.0,137488.0,14.0 -0.000279977,0.0,137488.0,14.0 -0.00027534,0.0,137488.0,14.0 -0.00027477700000000003,0.0,137488.0,14.0 -0.000281399,0.0,137488.0,14.0 -0.000277861,0.0,137488.0,14.0 -0.00027659200000000004,0.0,137488.0,14.0 -0.000266506,0.0,137488.0,14.0 -0.00027736300000000003,0.0,137488.0,14.0 -0.00027650200000000003,0.0,137488.0,14.0 -0.000276808,0.0,137488.0,14.0 -0.000282122,0.0,137488.0,14.0 -0.00028322000000000004,0.0,137488.0,14.0 -0.000274431,0.0,137488.0,14.0 -0.000286795,0.0,137488.0,14.0 -0.000270978,0.0,137488.0,14.0 -0.000282346,0.0,137488.0,14.0 -0.00027090100000000004,0.0,137488.0,14.0 -0.000279118,0.0,137488.0,14.0 -0.00027175100000000003,0.0,137488.0,14.0 -0.00028223100000000003,0.0,137488.0,14.0 -0.000276291,0.0,137488.0,14.0 -0.000287369,0.0,137488.0,14.0 -0.000269836,0.0,137488.0,14.0 -0.000281432,0.0,137488.0,14.0 -0.000277347,0.0,137488.0,14.0 -0.00027734900000000003,0.0,137488.0,14.0 -0.000275348,0.0,137488.0,14.0 -0.000277351,0.0,137488.0,14.0 -0.000286703,0.0,137488.0,14.0 -0.000283005,0.0,137488.0,14.0 -0.00026939,0.0,137488.0,14.0 -0.000286612,0.0,137488.0,14.0 -0.000272434,0.0,137488.0,14.0 -0.000275929,0.0,137488.0,14.0 -0.0002785,0.0,137488.0,14.0 -0.00028743000000000003,0.0,137488.0,14.0 -0.00027321100000000004,0.0,137488.0,14.0 -0.00028020700000000004,0.0,137488.0,14.0 -0.000264399,0.0,137488.0,14.0 -0.000276815,0.0,137488.0,14.0 -0.000274972,0.0,137488.0,14.0 -0.00027197,0.0,137488.0,14.0 -0.00028786700000000003,0.0,137488.0,14.0 -0.00028264500000000004,0.0,137488.0,14.0 -0.000276348,0.0,137488.0,14.0 -0.000284392,0.0,137488.0,14.0 -0.000272754,0.0,137488.0,14.0 -0.000288936,0.0,137488.0,14.0 -0.000277492,0.0,137488.0,14.0 -0.00027985,0.0,137488.0,14.0 -0.000273564,0.0,137488.0,14.0 -0.000282005,0.0,137488.0,14.0 -0.00027063,0.0,137488.0,14.0 -0.00035720500000000003,0.0,137488.0,14.0 -0.000277595,0.0,137488.0,14.0 -0.000280015,0.0,137488.0,14.0 -0.00028850400000000003,0.0,137488.0,14.0 -0.00027986,0.0,137488.0,14.0 -0.000271437,0.0,137488.0,14.0 -0.00027921,0.0,137488.0,14.0 -0.00026452,0.0,137488.0,14.0 -0.000278292,0.0,137488.0,14.0 -0.000271394,0.0,137488.0,14.0 -0.000280481,0.0,137488.0,14.0 -0.000270944,0.0,137488.0,14.0 -0.000278419,0.0,137488.0,14.0 -0.000277358,0.0,137488.0,14.0 -0.00027907800000000004,0.0,137488.0,14.0 -0.00026248600000000003,0.0,137488.0,14.0 -0.000275819,0.0,137488.0,14.0 -0.000270073,0.0,137488.0,14.0 -0.00028944,0.0,137488.0,14.0 -0.00026930000000000004,0.0,137488.0,14.0 -0.00027556600000000004,0.0,137488.0,14.0 -0.000268541,0.0,137488.0,14.0 -0.000273379,0.0,137488.0,14.0 -0.000271191,0.0,137488.0,14.0 -0.000273675,0.0,137488.0,14.0 -0.00026868000000000004,0.0,137488.0,14.0 -0.000277407,0.0,137488.0,14.0 -0.000277257,0.0,137488.0,14.0 -0.000270294,0.0,137488.0,14.0 -0.000269719,0.0,137488.0,14.0 -0.000279831,0.0,137488.0,14.0 -0.000262715,0.0,137488.0,14.0 -0.00029129300000000003,0.0,137488.0,14.0 -0.000264343,0.0,137488.0,14.0 -0.000274283,0.0,137488.0,14.0 -0.000278363,0.0,137488.0,14.0 -0.003687694,0.8969635224614624,137488.0,14.0 -0.00017107100000000002,0.0,137488.0,14.0 -0.00016895900000000002,0.0,137488.0,14.0 -0.000160411,0.0,137488.0,14.0 -0.000163349,0.0,137488.0,14.0 -0.00016317100000000001,0.0,137488.0,14.0 -0.000170325,0.0,137488.0,14.0 -0.000168671,0.0,137488.0,14.0 -0.000167023,0.0,137488.0,14.0 -0.000172849,0.0,137488.0,14.0 -0.00017043100000000002,0.0,137488.0,14.0 -0.000171625,0.0,137488.0,14.0 -0.000169676,0.0,137488.0,14.0 -0.00016684700000000002,0.0,137488.0,14.0 -0.000173324,0.0,137488.0,14.0 -0.000173205,0.0,137488.0,14.0 -0.00016249300000000002,0.0,137488.0,14.0 -0.00016073000000000001,0.0,137488.0,14.0 -0.000159653,0.0,137488.0,14.0 -0.000158221,0.0,137488.0,14.0 -0.000163069,0.0,137488.0,14.0 -0.000184174,0.0,137488.0,14.0 -0.000171805,0.0,137488.0,14.0 -0.000180602,0.0,137488.0,14.0 -0.00017970100000000002,0.0,137488.0,14.0 -0.00016896900000000001,0.0,137488.0,14.0 -0.00016546600000000002,0.0,137488.0,14.0 -0.000169263,0.0,137488.0,14.0 -0.000171088,0.0,137488.0,14.0 -0.00017194600000000002,0.0,137488.0,14.0 -0.000175336,0.0,137488.0,14.0 -0.000165474,0.0,137488.0,14.0 -0.000163678,0.0,137488.0,14.0 -0.000174957,0.0,137488.0,14.0 -0.00017259,0.0,137488.0,14.0 -0.000170716,0.0,137488.0,14.0 -0.000168173,0.0,137488.0,14.0 -0.00016804,0.0,137488.0,14.0 -0.000166125,0.0,137488.0,14.0 -0.000174839,0.0,137488.0,14.0 -0.00016661,0.0,137488.0,14.0 -0.000181626,0.0,137488.0,14.0 -0.00017437,0.0,137488.0,14.0 -0.000174469,0.0,137488.0,14.0 -0.00018892300000000002,0.0,137488.0,14.0 -0.000175865,0.0,137488.0,14.0 -0.00017314400000000002,0.0,137488.0,14.0 -0.000172015,0.0,137488.0,14.0 -0.00017073700000000002,0.0,137488.0,14.0 -0.000166257,0.0,137488.0,14.0 -0.000176235,0.0,137488.0,14.0 -0.000165236,0.0,137488.0,14.0 -0.00016986100000000002,0.0,137488.0,14.0 -0.00016929800000000002,0.0,137488.0,14.0 -0.000165398,0.0,137488.0,14.0 -0.00016354000000000002,0.0,137488.0,14.0 -0.00016558,0.0,137488.0,14.0 -0.00017327500000000002,0.0,137488.0,14.0 -0.000170031,0.0,137488.0,14.0 -0.00017475500000000002,0.0,137488.0,14.0 -0.00016916400000000002,0.0,137488.0,14.0 -0.00016471700000000002,0.0,137488.0,14.0 -0.00016612200000000002,0.0,137488.0,14.0 -0.00016955800000000002,0.0,137488.0,14.0 -0.000161807,0.0,137488.0,14.0 -0.00016340900000000002,0.0,137488.0,14.0 -0.00016810500000000002,0.0,137488.0,14.0 -0.000179259,0.0,137488.0,14.0 -0.000163284,0.0,137488.0,14.0 -0.000172864,0.0,137488.0,14.0 -0.000166725,0.0,137488.0,14.0 -0.00016775,0.0,137488.0,14.0 -0.000166691,0.0,137488.0,14.0 -0.00016801900000000002,0.0,137488.0,14.0 -0.00016942200000000002,0.0,137488.0,14.0 -0.00018476400000000002,0.0,137488.0,14.0 -0.000168615,0.0,137488.0,14.0 -0.00017496700000000002,0.0,137488.0,14.0 -0.00016935000000000002,0.0,137488.0,14.0 -0.000167937,0.0,137488.0,14.0 -0.000167175,0.0,137488.0,14.0 -0.00016792600000000002,0.0,137488.0,14.0 -0.000167653,0.0,137488.0,14.0 -0.00018081500000000002,0.0,137488.0,14.0 -0.000169209,0.0,137488.0,14.0 -0.000169624,0.0,137488.0,14.0 -0.00017088200000000002,0.0,137488.0,14.0 -0.000167622,0.0,137488.0,14.0 -0.000175433,0.0,137488.0,14.0 -0.000172084,0.0,137488.0,14.0 -0.00017154100000000002,0.0,137488.0,14.0 -0.000191399,0.0,137488.0,14.0 -0.00016614400000000001,0.0,137488.0,14.0 -0.000168789,0.0,137488.0,14.0 -0.000171046,0.0,137488.0,14.0 -0.00016343,0.0,137488.0,14.0 -0.00016924,0.0,137488.0,14.0 -0.000164188,0.0,137488.0,14.0 -0.000166794,0.0,137488.0,14.0 -0.00017059600000000002,0.0,137488.0,14.0 -0.00017963400000000002,0.0,137488.0,14.0 -0.000165021,0.0,137488.0,14.0 -0.00016498600000000002,0.0,137488.0,14.0 -0.000174887,0.0,137488.0,14.0 -0.000172608,0.0,137488.0,14.0 -0.00017029300000000002,0.0,137488.0,14.0 -0.000174183,0.0,137488.0,14.0 -0.000179022,0.0,137488.0,14.0 -0.00016719100000000002,0.0,137488.0,14.0 -0.000173451,0.0,137488.0,14.0 -0.000182007,0.0,137488.0,14.0 -0.00017017400000000001,0.0,137488.0,14.0 -0.00017066000000000002,0.0,137488.0,14.0 -0.00016853900000000002,0.0,137488.0,14.0 -0.000177085,0.0,137488.0,14.0 -0.000167021,0.0,137488.0,14.0 -0.00016671100000000002,0.0,137488.0,14.0 -0.000162107,0.0,137488.0,14.0 -0.00015967300000000001,0.0,137488.0,14.0 -0.000158435,0.0,137488.0,14.0 -0.00015887600000000002,0.0,137488.0,14.0 -0.000159838,0.0,137488.0,14.0 -0.00015413700000000002,0.0,137488.0,14.0 -0.000159349,0.0,137488.0,14.0 -0.000156221,0.0,137488.0,14.0 -0.000156989,0.0,137488.0,14.0 -0.000170235,0.0,137488.0,14.0 -0.00016757300000000002,0.0,137488.0,14.0 -0.000164601,0.0,137488.0,14.0 -0.000169037,0.0,137488.0,14.0 -0.000167269,0.0,137488.0,14.0 -0.000168312,0.0,137488.0,14.0 -0.00016670200000000002,0.0,137488.0,14.0 -0.00015777600000000002,0.0,137488.0,14.0 -0.000165462,0.0,137488.0,14.0 -0.00016205600000000002,0.0,137488.0,14.0 -0.00016430900000000002,0.0,137488.0,14.0 -0.00016762800000000002,0.0,137488.0,14.0 -0.00017944300000000002,0.0,137488.0,14.0 -0.00016029300000000002,0.0,137488.0,14.0 -0.00016050500000000002,0.0,137488.0,14.0 -0.00016980600000000002,0.0,137488.0,14.0 -0.000156471,0.0,137488.0,14.0 -0.000160972,0.0,137488.0,14.0 -0.00015689500000000002,0.0,137488.0,14.0 -0.000161265,0.0,137488.0,14.0 -0.000156594,0.0,137488.0,14.0 -0.00016474800000000002,0.0,137488.0,14.0 -0.00016441600000000002,0.0,137488.0,14.0 -0.000157509,0.0,137488.0,14.0 -0.000161731,0.0,137488.0,14.0 -0.000158545,0.0,137488.0,14.0 -0.000161118,0.0,137488.0,14.0 -0.000170055,0.0,137488.0,14.0 -0.000155663,0.0,137488.0,14.0 -0.000170578,0.0,137488.0,14.0 -0.00016080600000000002,0.0,137488.0,14.0 -0.000177581,0.0,137488.0,14.0 -0.00016288900000000002,0.0,137488.0,14.0 -0.00015995400000000002,0.0,137488.0,14.0 -0.00015888,0.0,137488.0,14.0 -0.000160784,0.0,137488.0,14.0 -0.000158572,0.0,137488.0,14.0 -0.000171284,0.0,137488.0,14.0 -0.00017256000000000001,0.0,137488.0,14.0 -0.000158765,0.0,137488.0,14.0 -0.000162573,0.0,137488.0,14.0 -0.00015937900000000002,0.0,137488.0,14.0 -0.00016144800000000002,0.0,137488.0,14.0 -0.000164357,0.0,137488.0,14.0 -0.000153365,0.0,137488.0,14.0 -0.00016193700000000002,0.0,137488.0,14.0 -0.000161979,0.0,137488.0,14.0 -0.000149769,0.0,137488.0,14.0 -0.00016113500000000002,0.0,137488.0,14.0 -0.00016736800000000001,0.0,137488.0,14.0 -0.000158734,0.0,137488.0,14.0 -0.000174741,0.0,137488.0,14.0 -0.000158254,0.0,137488.0,14.0 -0.000155444,0.0,137488.0,14.0 -0.000157929,0.0,137488.0,14.0 -0.00016861800000000002,0.0,137488.0,14.0 -0.00016028600000000002,0.0,137488.0,14.0 -0.000170308,0.0,137488.0,14.0 -0.00015635600000000002,0.0,137488.0,14.0 -0.00015806900000000002,0.0,137488.0,14.0 -0.000155138,0.0,137488.0,14.0 -0.000172139,0.0,137488.0,14.0 -0.00018381700000000002,0.0,137488.0,14.0 -0.00026901400000000004,0.0,137488.0,14.0 -0.000271461,0.0,137488.0,14.0 -0.00026708,0.0,137488.0,14.0 -0.000267015,0.0,137488.0,14.0 -0.000272151,0.0,137488.0,14.0 -0.000270851,0.0,137488.0,14.0 -0.000271196,0.0,137488.0,14.0 -0.000273612,0.0,137488.0,14.0 -0.000268641,0.0,137488.0,14.0 -0.000271199,0.0,137488.0,14.0 -0.000267173,0.0,137488.0,14.0 -0.000272775,0.0,137488.0,14.0 -0.000281696,0.0,137488.0,14.0 -0.000280125,0.0,137488.0,14.0 -0.000278254,0.0,137488.0,14.0 -0.000272916,0.0,137488.0,14.0 -0.000268637,0.0,137488.0,14.0 -0.000274276,0.0,137488.0,14.0 -0.000274553,0.0,137488.0,14.0 -0.000272235,0.0,137488.0,14.0 -0.000273213,0.0,137488.0,14.0 -0.00028328800000000003,0.0,137488.0,14.0 -0.00027553500000000004,0.0,137488.0,14.0 -0.000281077,0.0,137488.0,14.0 -0.000273657,0.0,137488.0,14.0 -0.000281097,0.0,137488.0,14.0 -0.000275778,0.0,137488.0,14.0 -0.000273592,0.0,137488.0,14.0 -0.00029071500000000004,0.0,137488.0,14.0 -0.000269915,0.0,137488.0,14.0 -0.000276047,0.0,137488.0,14.0 -0.000274737,0.0,137488.0,14.0 -0.00027013300000000004,0.0,137488.0,14.0 -0.000278061,0.0,137488.0,14.0 -0.000274298,0.0,137488.0,14.0 -0.00027133,0.0,137488.0,14.0 -0.000273526,0.0,137488.0,14.0 -0.00026997,0.0,137488.0,14.0 -0.000278015,0.0,137488.0,14.0 -0.000273357,0.0,137488.0,14.0 -0.000272589,0.0,137488.0,14.0 -0.000271508,0.0,137488.0,14.0 -0.000285367,0.0,137488.0,14.0 -0.00026956,0.0,137488.0,14.0 -0.00027373,0.0,137488.0,14.0 -0.000278739,0.0,137488.0,14.0 -0.000281141,0.0,137488.0,14.0 -0.00027711,0.0,137488.0,14.0 -0.000269185,0.0,137488.0,14.0 -0.000267192,0.0,137488.0,14.0 -0.000274803,0.0,137488.0,14.0 -0.000274002,0.0,137488.0,14.0 -0.00027383400000000003,0.0,137488.0,14.0 -0.000268715,0.0,137488.0,14.0 -0.000276963,0.0,137488.0,14.0 -0.00027990700000000003,0.0,137488.0,14.0 -0.000288884,0.0,137488.0,14.0 -0.000294962,0.0,137488.0,14.0 -0.00028171100000000003,0.0,137488.0,14.0 -0.00027721800000000003,0.0,137488.0,14.0 -0.00028409,0.0,137488.0,14.0 -0.00027752200000000004,0.0,137488.0,14.0 -0.000280695,0.0,137488.0,14.0 -0.000279392,0.0,137488.0,14.0 -0.00048055600000000004,0.0,137488.0,14.0 -0.000277743,0.0,137488.0,14.0 -0.00028483800000000004,0.0,137488.0,14.0 -0.000274143,0.0,137488.0,14.0 -0.00028379500000000004,0.0,137488.0,14.0 -0.00027678800000000003,0.0,137488.0,14.0 -0.000285173,0.0,137488.0,14.0 -0.00027115500000000003,0.0,137488.0,14.0 -0.000270861,0.0,137488.0,14.0 -0.000278865,0.0,137488.0,14.0 -0.000275757,0.0,137488.0,14.0 -0.000267749,0.0,137488.0,14.0 -0.000279822,0.0,137488.0,14.0 -0.000272617,0.0,137488.0,14.0 -0.00028325000000000003,0.0,137488.0,14.0 -0.00026955400000000003,0.0,137488.0,14.0 -0.000327247,0.0,137488.0,14.0 -0.00026498600000000004,0.0,137488.0,14.0 -0.00028118100000000003,0.0,137488.0,14.0 -0.000266131,0.0,137488.0,14.0 -0.00028723800000000004,0.0,137488.0,14.0 -0.000273582,0.0,137488.0,14.0 -0.000283038,0.0,137488.0,14.0 -0.000274689,0.0,137488.0,14.0 -0.000273239,0.0,137488.0,14.0 -0.00027519400000000004,0.0,137488.0,14.0 -0.00027627200000000004,0.0,137488.0,14.0 -0.000270889,0.0,137488.0,14.0 -0.000280399,0.0,137488.0,14.0 -0.00028275,0.0,137488.0,14.0 -0.00039909600000000004,0.0,137488.0,14.0 -0.000272762,0.0,137488.0,14.0 -0.000270602,0.0,137488.0,14.0 -0.00027309400000000004,0.0,137488.0,14.0 -0.000290509,0.0,137488.0,14.0 -0.000274817,0.0,137488.0,14.0 -0.000288173,0.0,137488.0,14.0 -0.00026360800000000003,0.0,137488.0,14.0 -0.000278815,0.0,137488.0,14.0 -0.00026767800000000003,0.0,137488.0,14.0 -0.000272962,0.0,137488.0,14.0 -0.000267631,0.0,137488.0,14.0 -0.00027528000000000003,0.0,137488.0,14.0 -0.000265497,0.0,137488.0,14.0 -0.000275773,0.0,137488.0,14.0 -0.000276593,0.0,137488.0,14.0 -0.00027823100000000004,0.0,137488.0,14.0 -0.00027087700000000004,0.0,137488.0,14.0 -0.000275089,0.0,137488.0,14.0 -0.00031825500000000004,0.0,137488.0,14.0 -0.000285353,0.0,137488.0,14.0 -0.000270131,0.0,137488.0,14.0 -0.000277891,0.0,137488.0,14.0 -0.00026304000000000003,0.0,137488.0,14.0 -0.000279166,0.0,137488.0,14.0 -0.00027334900000000004,0.0,137488.0,14.0 -0.000279788,0.0,137488.0,14.0 -0.000271147,0.0,137488.0,14.0 -0.000283145,0.0,137488.0,14.0 -0.000266961,0.0,137488.0,14.0 -0.000278822,0.0,137488.0,14.0 -0.00026880400000000004,0.0,137488.0,14.0 -0.000281473,0.0,137488.0,14.0 -0.000289008,0.0,137488.0,14.0 -0.00028889700000000004,0.0,137488.0,14.0 -0.000279124,0.0,137488.0,14.0 -0.000286111,0.0,137488.0,14.0 -0.00027719,0.0,137488.0,14.0 -0.00028605700000000004,0.0,137488.0,14.0 -0.00027345500000000003,0.0,137488.0,14.0 -0.00028179,0.0,137488.0,14.0 -0.00027582,0.0,137488.0,14.0 -0.00027752500000000004,0.0,137488.0,14.0 -0.00028064800000000004,0.0,137488.0,14.0 -0.00028179,0.0,137488.0,14.0 -0.000276493,0.0,137488.0,14.0 -0.00027893300000000003,0.0,137488.0,14.0 -0.000280963,0.0,137488.0,14.0 -0.0017710380000000002,0.7606414995048102,137488.0,14.0 -0.00018086,0.0,137488.0,14.0 -0.00016555200000000002,0.0,137488.0,14.0 -0.000164286,0.0,137488.0,14.0 -0.000160423,0.0,137488.0,14.0 -0.00016847000000000002,0.0,137488.0,14.0 -0.000173281,0.0,137488.0,14.0 -0.00016775400000000002,0.0,137488.0,14.0 -0.000176708,0.0,137488.0,14.0 -0.00016646,0.0,137488.0,14.0 -0.000170266,0.0,137488.0,14.0 -0.00017035000000000002,0.0,137488.0,14.0 -0.000169917,0.0,137488.0,14.0 -0.000173615,0.0,137488.0,14.0 -0.00018335200000000002,0.0,137488.0,14.0 -0.000180773,0.0,137488.0,14.0 -0.00016672,0.0,137488.0,14.0 -0.00016977300000000002,0.0,137488.0,14.0 -0.00016818800000000002,0.0,137488.0,14.0 -0.00016956300000000002,0.0,137488.0,14.0 -0.000163573,0.0,137488.0,14.0 -0.00017085600000000002,0.0,137488.0,14.0 -0.000172917,0.0,137488.0,14.0 -0.000172561,0.0,137488.0,14.0 -0.000181819,0.0,137488.0,14.0 -0.00017524200000000001,0.0,137488.0,14.0 -0.00017865100000000002,0.0,137488.0,14.0 -0.000168974,0.0,137488.0,14.0 -0.00017643500000000001,0.0,137488.0,14.0 -0.000165501,0.0,137488.0,14.0 -0.000186615,0.0,137488.0,14.0 -0.000170425,0.0,137488.0,14.0 -0.000160378,0.0,137488.0,14.0 -0.000167719,0.0,137488.0,14.0 -0.000171788,0.0,137488.0,14.0 -0.000172308,0.0,137488.0,14.0 -0.000168736,0.0,137488.0,14.0 -0.000187194,0.0,137488.0,14.0 -0.000165866,0.0,137488.0,14.0 -0.000169097,0.0,137488.0,14.0 -0.000174661,0.0,137488.0,14.0 -0.000176304,0.0,137488.0,14.0 -0.000167758,0.0,137488.0,14.0 -0.000177037,0.0,137488.0,14.0 -0.00017794500000000002,0.0,137488.0,14.0 -0.000175842,0.0,137488.0,14.0 -0.00017025700000000002,0.0,137488.0,14.0 -0.000169619,0.0,137488.0,14.0 -0.00016689000000000002,0.0,137488.0,14.0 -0.000170705,0.0,137488.0,14.0 -0.00016859600000000002,0.0,137488.0,14.0 -0.000174446,0.0,137488.0,14.0 -0.00017624600000000002,0.0,137488.0,14.0 -0.00016734100000000002,0.0,137488.0,14.0 -0.000166736,0.0,137488.0,14.0 -0.000164412,0.0,137488.0,14.0 -0.000168614,0.0,137488.0,14.0 -0.000172954,0.0,137488.0,14.0 -0.000175374,0.0,137488.0,14.0 -0.000175806,0.0,137488.0,14.0 -0.000184398,0.0,137488.0,14.0 -0.000159894,0.0,137488.0,14.0 -0.000168311,0.0,137488.0,14.0 -0.000164449,0.0,137488.0,14.0 -0.000157447,0.0,137488.0,14.0 -0.000169316,0.0,137488.0,14.0 -0.00016763000000000002,0.0,137488.0,14.0 -0.000174728,0.0,137488.0,14.0 -0.00016309400000000002,0.0,137488.0,14.0 -0.000164753,0.0,137488.0,14.0 -0.000163501,0.0,137488.0,14.0 -0.000165629,0.0,137488.0,14.0 -0.000163127,0.0,137488.0,14.0 -0.00016742500000000002,0.0,137488.0,14.0 -0.000162534,0.0,137488.0,14.0 -0.000175574,0.0,137488.0,14.0 -0.00016847200000000002,0.0,137488.0,14.0 -0.00016003300000000002,0.0,137488.0,14.0 -0.00017586200000000002,0.0,137488.0,14.0 -0.00017307300000000001,0.0,137488.0,14.0 -0.00018049,0.0,137488.0,14.0 -0.00017173600000000002,0.0,137488.0,14.0 -0.000159734,0.0,137488.0,14.0 -0.000192646,0.0,137488.0,14.0 -0.000170562,0.0,137488.0,14.0 -0.000162425,0.0,137488.0,14.0 -0.000162973,0.0,137488.0,14.0 -0.000157779,0.0,137488.0,14.0 -0.00016572800000000002,0.0,137488.0,14.0 -0.000167884,0.0,137488.0,14.0 -0.00016874400000000002,0.0,137488.0,14.0 -0.000160005,0.0,137488.0,14.0 -0.00016791200000000001,0.0,137488.0,14.0 -0.000162833,0.0,137488.0,14.0 -0.00015475700000000002,0.0,137488.0,14.0 -0.000167937,0.0,137488.0,14.0 -0.000164437,0.0,137488.0,14.0 -0.000171576,0.0,137488.0,14.0 -0.000157968,0.0,137488.0,14.0 -0.000160819,0.0,137488.0,14.0 -0.000158595,0.0,137488.0,14.0 -0.00016488600000000002,0.0,137488.0,14.0 -0.000159004,0.0,137488.0,14.0 -0.0001618,0.0,137488.0,14.0 -0.00016281500000000002,0.0,137488.0,14.0 -0.00015742300000000001,0.0,137488.0,14.0 -0.000167631,0.0,137488.0,14.0 -0.00016019300000000002,0.0,137488.0,14.0 -0.000180736,0.0,137488.0,14.0 -0.00017206100000000002,0.0,137488.0,14.0 -0.00017610800000000002,0.0,137488.0,14.0 -0.000161384,0.0,137488.0,14.0 -0.000157106,0.0,137488.0,14.0 -0.000153694,0.0,137488.0,14.0 -0.00015729600000000002,0.0,137488.0,14.0 -0.00015628700000000002,0.0,137488.0,14.0 -0.00016533000000000002,0.0,137488.0,14.0 -0.00015853700000000002,0.0,137488.0,14.0 -0.00016218000000000002,0.0,137488.0,14.0 -0.00016268900000000001,0.0,137488.0,14.0 -0.00016688,0.0,137488.0,14.0 -0.00016798,0.0,137488.0,14.0 -0.000163689,0.0,137488.0,14.0 -0.000166168,0.0,137488.0,14.0 -0.00015856100000000002,0.0,137488.0,14.0 -0.00015624900000000001,0.0,137488.0,14.0 -0.00015944600000000002,0.0,137488.0,14.0 -0.00016738000000000001,0.0,137488.0,14.0 -0.00016982300000000002,0.0,137488.0,14.0 -0.000170755,0.0,137488.0,14.0 -0.000170962,0.0,137488.0,14.0 -0.000173296,0.0,137488.0,14.0 -0.00017717400000000002,0.0,137488.0,14.0 -0.00016749400000000002,0.0,137488.0,14.0 -0.00016834600000000002,0.0,137488.0,14.0 -0.00015798800000000002,0.0,137488.0,14.0 -0.00016918100000000002,0.0,137488.0,14.0 -0.000162905,0.0,137488.0,14.0 -0.000171451,0.0,137488.0,14.0 -0.00015751300000000002,0.0,137488.0,14.0 -0.000159814,0.0,137488.0,14.0 -0.00016816200000000002,0.0,137488.0,14.0 -0.000155656,0.0,137488.0,14.0 -0.000163986,0.0,137488.0,14.0 -0.000159325,0.0,137488.0,14.0 -0.00017115,0.0,137488.0,14.0 -0.000153133,0.0,137488.0,14.0 -0.00016504400000000001,0.0,137488.0,14.0 -0.00016958900000000002,0.0,137488.0,14.0 -0.00015956300000000002,0.0,137488.0,14.0 -0.00016528500000000001,0.0,137488.0,14.0 -0.000163795,0.0,137488.0,14.0 -0.00015998500000000002,0.0,137488.0,14.0 -0.000161148,0.0,137488.0,14.0 -0.000169101,0.0,137488.0,14.0 -0.000162833,0.0,137488.0,14.0 -0.000173394,0.0,137488.0,14.0 -0.00017563800000000001,0.0,137488.0,14.0 -0.000177636,0.0,137488.0,14.0 -0.000172807,0.0,137488.0,14.0 -0.00016697600000000002,0.0,137488.0,14.0 -0.000174002,0.0,137488.0,14.0 -0.00016596700000000002,0.0,137488.0,14.0 -0.000166718,0.0,137488.0,14.0 -0.00017343800000000002,0.0,137488.0,14.0 -0.000163162,0.0,137488.0,14.0 -0.000173353,0.0,137488.0,14.0 -0.000168653,0.0,137488.0,14.0 -0.00016928100000000002,0.0,137488.0,14.0 -0.000174462,0.0,137488.0,14.0 -0.000165822,0.0,137488.0,14.0 -0.000168428,0.0,137488.0,14.0 -0.000172088,0.0,137488.0,14.0 -0.00016273900000000002,0.0,137488.0,14.0 -0.000169261,0.0,137488.0,14.0 -0.000166106,0.0,137488.0,14.0 -0.000171527,0.0,137488.0,14.0 -0.000178631,0.0,137488.0,14.0 -0.00017171700000000002,0.0,137488.0,14.0 -0.00017175300000000002,0.0,137488.0,14.0 -0.000175577,0.0,137488.0,14.0 -0.000173313,0.0,137488.0,14.0 -0.000171478,0.0,137488.0,14.0 -0.00016498200000000001,0.0,137488.0,14.0 -0.000163892,0.0,137488.0,14.0 -0.00016472400000000002,0.0,137488.0,14.0 -0.00018041400000000002,0.0,137488.0,14.0 -0.00016638500000000001,0.0,137488.0,14.0 -0.00016928400000000001,0.0,137488.0,14.0 -0.00016859900000000002,0.0,137488.0,14.0 -0.00016301300000000002,0.0,137488.0,14.0 -0.00016547800000000002,0.0,137488.0,14.0 -0.00016386000000000002,0.0,137488.0,14.0 -0.00016047400000000002,0.0,137488.0,14.0 -0.00018289,0.0,137488.0,14.0 -0.000161702,0.0,137488.0,14.0 -0.000165365,0.0,137488.0,14.0 -0.000181737,0.0,137488.0,14.0 -0.00016503900000000002,0.0,137488.0,14.0 -0.00016584300000000002,0.0,137488.0,14.0 -0.000163728,0.0,137488.0,14.0 -0.000164813,0.0,137488.0,14.0 -0.00016800200000000002,0.0,137488.0,14.0 -0.000185887,0.0,137488.0,14.0 -0.00017631800000000002,0.0,137488.0,14.0 -0.000179783,0.0,137488.0,14.0 -0.000170909,0.0,137488.0,14.0 -0.000168772,0.0,137488.0,14.0 -0.000169967,0.0,137488.0,14.0 -0.000164966,0.0,137488.0,14.0 -0.00017610800000000002,0.0,137488.0,14.0 -0.00017257,0.0,137488.0,14.0 -0.000169022,0.0,137488.0,14.0 -0.000173842,0.0,137488.0,14.0 -0.00017097500000000002,0.0,137488.0,14.0 -0.000171277,0.0,137488.0,14.0 -0.00016297000000000002,0.0,137488.0,14.0 -0.000165684,0.0,137488.0,14.0 -0.00018244300000000001,0.0,137488.0,14.0 -0.000166941,0.0,137488.0,14.0 -0.000166682,0.0,137488.0,14.0 -0.000174956,0.0,137488.0,14.0 -0.000171399,0.0,137488.0,14.0 -0.000174443,0.0,137488.0,14.0 -0.000173005,0.0,137488.0,14.0 -0.00016289600000000002,0.0,137488.0,14.0 -0.000189449,0.0,137488.0,14.0 -0.00017720500000000002,0.0,137488.0,14.0 -0.00017055300000000002,0.0,137488.0,14.0 -0.00016881400000000001,0.0,137488.0,14.0 -0.000168466,0.0,137488.0,14.0 -0.00018044300000000002,0.0,137488.0,14.0 -0.00016857700000000002,0.0,137488.0,14.0 -0.000168984,0.0,137488.0,14.0 -0.000177722,0.0,137488.0,14.0 -0.000167266,0.0,137488.0,14.0 -0.00017083200000000002,0.0,137488.0,14.0 -0.00017439700000000002,0.0,137488.0,14.0 -0.000168566,0.0,137488.0,14.0 -0.000172658,0.0,137488.0,14.0 -0.00017551400000000001,0.0,137488.0,14.0 -0.000170821,0.0,137488.0,14.0 -0.00017274800000000002,0.0,137488.0,14.0 -0.000164618,0.0,137488.0,14.0 -0.00017483400000000001,0.0,137488.0,14.0 -0.000178507,0.0,137488.0,14.0 -0.000168233,0.0,137488.0,14.0 -0.000175405,0.0,137488.0,14.0 -0.000177409,0.0,137488.0,14.0 -0.00017864600000000002,0.0,137488.0,14.0 -0.00017275300000000002,0.0,137488.0,14.0 -0.000158314,0.0,137488.0,14.0 -0.000163368,0.0,137488.0,14.0 -0.000206485,0.0,137488.0,14.0 -0.000161919,0.0,137488.0,14.0 -0.00016734,0.0,137488.0,14.0 -0.00016436,0.0,137488.0,14.0 -0.000161346,0.0,137488.0,14.0 -0.000169129,0.0,137488.0,14.0 -0.00016154,0.0,137488.0,14.0 -0.00016282500000000001,0.0,137488.0,14.0 -0.00016759400000000002,0.0,137488.0,14.0 -0.000160631,0.0,137488.0,14.0 -0.00017383,0.0,137488.0,14.0 -0.000161981,0.0,137488.0,14.0 -0.000165532,0.0,137488.0,14.0 -0.00017319200000000002,0.0,137488.0,14.0 -0.00016574500000000002,0.0,137488.0,14.0 -0.000166627,0.0,137488.0,14.0 -0.000170683,0.0,137488.0,14.0 -0.000163635,0.0,137488.0,14.0 -0.00018011100000000002,0.0,137488.0,14.0 -0.00016503,0.0,137488.0,14.0 -0.000181873,0.0,137488.0,14.0 -0.00016929300000000002,0.0,137488.0,14.0 -0.00015934100000000002,0.0,137488.0,14.0 -0.00016643200000000002,0.0,137488.0,14.0 -0.000163849,0.0,137488.0,14.0 -0.000169118,0.0,137488.0,14.0 -0.000167491,0.0,137488.0,14.0 -0.000167515,0.0,137488.0,14.0 -0.000161325,0.0,137488.0,14.0 -0.00016696900000000002,0.0,137488.0,14.0 -0.00016104000000000002,0.0,137488.0,14.0 -0.00015812,0.0,137488.0,14.0 -0.00016512500000000002,0.0,137488.0,14.0 -0.000162256,0.0,137488.0,14.0 -0.000171781,0.0,137488.0,14.0 -0.00016602200000000002,0.0,137488.0,14.0 -0.000165856,0.0,137488.0,14.0 -0.000172356,0.0,137488.0,14.0 -0.00015896600000000002,0.0,137488.0,14.0 -0.000162055,0.0,137488.0,14.0 -0.000166681,0.0,137488.0,14.0 -0.00015711000000000002,0.0,137488.0,14.0 -0.000171516,0.0,137488.0,14.0 -0.000158557,0.0,137488.0,14.0 -0.000173849,0.0,137488.0,14.0 -0.000168638,0.0,137488.0,14.0 -0.000155632,0.0,137488.0,14.0 -0.000160354,0.0,137488.0,14.0 -0.00016849100000000002,0.0,137488.0,14.0 -0.000157052,0.0,137488.0,14.0 -0.000170605,0.0,137488.0,14.0 -0.00016121600000000002,0.0,137488.0,14.0 -0.000160972,0.0,137488.0,14.0 -0.000161933,0.0,137488.0,14.0 -0.00015761100000000002,0.0,137488.0,14.0 -0.000161091,0.0,137488.0,14.0 -0.000166087,0.0,137488.0,14.0 -0.000158836,0.0,137488.0,14.0 -0.000165136,0.0,137488.0,14.0 -0.000159953,0.0,137488.0,14.0 -0.00016260000000000002,0.0,137488.0,14.0 -0.00017592400000000002,0.0,137488.0,14.0 -0.000161275,0.0,137488.0,14.0 -0.000164654,0.0,137488.0,14.0 -0.00017896,0.0,137488.0,14.0 -0.00015843700000000001,0.0,137488.0,14.0 -0.000169487,0.0,137488.0,14.0 -0.00016544200000000002,0.0,137488.0,14.0 -0.00017014700000000002,0.0,137488.0,14.0 -0.00016881100000000002,0.0,137488.0,14.0 -0.000162046,0.0,137488.0,14.0 -0.000162577,0.0,137488.0,14.0 -0.000170041,0.0,137488.0,14.0 -0.00016073700000000002,0.0,137488.0,14.0 -0.00016258100000000002,0.0,137488.0,14.0 -0.00016884200000000002,0.0,137488.0,14.0 -0.00017285800000000002,0.0,137488.0,14.0 -0.00017256700000000002,0.0,137488.0,14.0 -0.00018197000000000002,0.0,137488.0,14.0 -0.00028972000000000004,0.0,137488.0,14.0 -0.000273381,0.0,137488.0,14.0 -0.0016865690000000002,0.7898651048370983,137488.0,14.0 -0.00016272700000000002,0.0,137488.0,14.0 -0.000165043,0.0,137488.0,14.0 -0.000166025,0.0,137488.0,14.0 -0.000171888,0.0,137488.0,14.0 -0.00016755600000000002,0.0,137488.0,14.0 -0.000173145,0.0,137488.0,14.0 -0.00017294400000000002,0.0,137488.0,14.0 -0.000174716,0.0,137488.0,14.0 -0.000173035,0.0,137488.0,14.0 -0.000173625,0.0,137488.0,14.0 -0.000170585,0.0,137488.0,14.0 -0.000170413,0.0,137488.0,14.0 -0.000173775,0.0,137488.0,14.0 -0.00017873900000000002,0.0,137488.0,14.0 -0.000179738,0.0,137488.0,14.0 -0.00021958800000000003,0.0,137488.0,14.0 -0.000170556,0.0,137488.0,14.0 -0.00016688300000000002,0.0,137488.0,14.0 -0.00016604600000000002,0.0,137488.0,14.0 -0.000163084,0.0,137488.0,14.0 -0.00016620600000000001,0.0,137488.0,14.0 -0.00024651400000000003,0.0,137488.0,14.0 -0.00019884700000000002,0.0,137488.0,14.0 -0.000173997,0.0,137488.0,14.0 -0.00016391700000000002,0.0,137488.0,14.0 -0.000170607,0.0,137488.0,14.0 -0.00016959900000000001,0.0,137488.0,14.0 -0.00016969200000000001,0.0,137488.0,14.0 -0.00016964,0.0,137488.0,14.0 -0.000169363,0.0,137488.0,14.0 -0.00016596500000000001,0.0,137488.0,14.0 -0.00016645400000000002,0.0,137488.0,14.0 -0.000163501,0.0,137488.0,14.0 -0.000166935,0.0,137488.0,14.0 -0.000170449,0.0,137488.0,14.0 -0.00016541800000000002,0.0,137488.0,14.0 -0.000166427,0.0,137488.0,14.0 -0.000159103,0.0,137488.0,14.0 -0.000165555,0.0,137488.0,14.0 -0.00016663000000000002,0.0,137488.0,14.0 -0.00016619400000000002,0.0,137488.0,14.0 -0.00018122300000000002,0.0,137488.0,14.0 -0.00018094200000000002,0.0,137488.0,14.0 -0.000175495,0.0,137488.0,14.0 -0.00016907400000000001,0.0,137488.0,14.0 -0.000183649,0.0,137488.0,14.0 -0.000181255,0.0,137488.0,14.0 -0.000166947,0.0,137488.0,14.0 -0.000170905,0.0,137488.0,14.0 -0.00016583100000000002,0.0,137488.0,14.0 -0.00018157,0.0,137488.0,14.0 -0.000167283,0.0,137488.0,14.0 -0.000166548,0.0,137488.0,14.0 -0.000167453,0.0,137488.0,14.0 -0.000175488,0.0,137488.0,14.0 -0.00015979200000000002,0.0,137488.0,14.0 -0.00017008800000000002,0.0,137488.0,14.0 -0.000162585,0.0,137488.0,14.0 -0.00016733200000000002,0.0,137488.0,14.0 -0.000169702,0.0,137488.0,14.0 -0.000172761,0.0,137488.0,14.0 -0.0001661,0.0,137488.0,14.0 -0.00016531,0.0,137488.0,14.0 -0.00016794300000000001,0.0,137488.0,14.0 -0.000162477,0.0,137488.0,14.0 -0.00016538000000000002,0.0,137488.0,14.0 -0.00016639200000000002,0.0,137488.0,14.0 -0.00016186800000000002,0.0,137488.0,14.0 -0.000161409,0.0,137488.0,14.0 -0.000183493,0.0,137488.0,14.0 -0.000179623,0.0,137488.0,14.0 -0.000164393,0.0,137488.0,14.0 -0.000171611,0.0,137488.0,14.0 -0.00018545100000000002,0.0,137488.0,14.0 -0.00018110600000000002,0.0,137488.0,14.0 -0.000168779,0.0,137488.0,14.0 -0.000178764,0.0,137488.0,14.0 -0.00017667100000000002,0.0,137488.0,14.0 -0.00017782100000000002,0.0,137488.0,14.0 -0.00017225700000000001,0.0,137488.0,14.0 -0.000172723,0.0,137488.0,14.0 -0.000183494,0.0,137488.0,14.0 -0.00017483400000000001,0.0,137488.0,14.0 -0.00016623,0.0,137488.0,14.0 -0.00017267900000000002,0.0,137488.0,14.0 -0.000176987,0.0,137488.0,14.0 -0.000169223,0.0,137488.0,14.0 -0.00017374300000000002,0.0,137488.0,14.0 -0.000166396,0.0,137488.0,14.0 -0.000176958,0.0,137488.0,14.0 -0.00016909300000000002,0.0,137488.0,14.0 -0.00017154,0.0,137488.0,14.0 -0.01621249,0.0,137488.0,14.0 -0.000179938,0.0,137488.0,14.0 -0.000167892,0.0,137488.0,14.0 -0.00016295,0.0,137488.0,14.0 -0.00017002,0.0,137488.0,14.0 -0.000166984,0.0,137488.0,14.0 -0.00017816400000000002,0.0,137488.0,14.0 -0.0001661,0.0,137488.0,14.0 -0.000171351,0.0,137488.0,14.0 -0.00017173,0.0,137488.0,14.0 -0.00017361700000000002,0.0,137488.0,14.0 -0.00017204200000000002,0.0,137488.0,14.0 -0.000169003,0.0,137488.0,14.0 -0.00016852000000000002,0.0,137488.0,14.0 -0.000176514,0.0,137488.0,14.0 -0.000176596,0.0,137488.0,14.0 -0.00018759200000000002,0.0,137488.0,14.0 -0.00016691700000000001,0.0,137488.0,14.0 -0.00017460000000000002,0.0,137488.0,14.0 -0.000170072,0.0,137488.0,14.0 -0.000164226,0.0,137488.0,14.0 -0.00018124000000000002,0.0,137488.0,14.0 -0.000169636,0.0,137488.0,14.0 -0.00018822,0.0,137488.0,14.0 -0.000168677,0.0,137488.0,14.0 -0.000166441,0.0,137488.0,14.0 -0.00016675900000000002,0.0,137488.0,14.0 -0.000168929,0.0,137488.0,14.0 -0.000166729,0.0,137488.0,14.0 -0.00016696700000000002,0.0,137488.0,14.0 -0.000163894,0.0,137488.0,14.0 -0.00016471700000000002,0.0,137488.0,14.0 -0.000170566,0.0,137488.0,14.0 -0.00016676600000000002,0.0,137488.0,14.0 -0.000174205,0.0,137488.0,14.0 -0.000169509,0.0,137488.0,14.0 -0.00017248100000000002,0.0,137488.0,14.0 -0.000175317,0.0,137488.0,14.0 -0.0001675,0.0,137488.0,14.0 -0.000170633,0.0,137488.0,14.0 -0.000165111,0.0,137488.0,14.0 -0.000167374,0.0,137488.0,14.0 -0.000175374,0.0,137488.0,14.0 -0.00017041000000000002,0.0,137488.0,14.0 -0.00016432300000000002,0.0,137488.0,14.0 -0.00016827400000000002,0.0,137488.0,14.0 -0.000183372,0.0,137488.0,14.0 -0.00016654200000000002,0.0,137488.0,14.0 -0.000165279,0.0,137488.0,14.0 -0.000170655,0.0,137488.0,14.0 -0.00016211,0.0,137488.0,14.0 -0.00017409100000000002,0.0,137488.0,14.0 -0.00016113500000000002,0.0,137488.0,14.0 -0.000168177,0.0,137488.0,14.0 -0.00016905000000000002,0.0,137488.0,14.0 -0.000166119,0.0,137488.0,14.0 -0.00015973000000000002,0.0,137488.0,14.0 -0.000173579,0.0,137488.0,14.0 -0.00016335,0.0,137488.0,14.0 -0.00016553300000000002,0.0,137488.0,14.0 -0.00016381700000000002,0.0,137488.0,14.0 -0.00016475500000000002,0.0,137488.0,14.0 -0.000168154,0.0,137488.0,14.0 -0.000161938,0.0,137488.0,14.0 -0.00017897100000000002,0.0,137488.0,14.0 -0.00016683300000000002,0.0,137488.0,14.0 -0.00016059600000000002,0.0,137488.0,14.0 -0.000162544,0.0,137488.0,14.0 -0.00016979900000000002,0.0,137488.0,14.0 -0.000163449,0.0,137488.0,14.0 -0.000181506,0.0,137488.0,14.0 -0.00018086100000000002,0.0,137488.0,14.0 -0.00016380800000000001,0.0,137488.0,14.0 -0.000170698,0.0,137488.0,14.0 -0.000166606,0.0,137488.0,14.0 -0.000172301,0.0,137488.0,14.0 -0.00018007600000000002,0.0,137488.0,14.0 -0.000166402,0.0,137488.0,14.0 -0.00017540900000000001,0.0,137488.0,14.0 -0.000167989,0.0,137488.0,14.0 -0.000166698,0.0,137488.0,14.0 -0.000174615,0.0,137488.0,14.0 -0.00016816700000000002,0.0,137488.0,14.0 -0.000165579,0.0,137488.0,14.0 -0.000175307,0.0,137488.0,14.0 -0.000168889,0.0,137488.0,14.0 -0.00016610100000000001,0.0,137488.0,14.0 -0.00017595000000000002,0.0,137488.0,14.0 -0.000174966,0.0,137488.0,14.0 -0.00016565400000000002,0.0,137488.0,14.0 -0.000173964,0.0,137488.0,14.0 -0.000164947,0.0,137488.0,14.0 -0.00016734400000000002,0.0,137488.0,14.0 -0.012216959000000001,0.0,137488.0,14.0 -0.00018104000000000001,0.0,137488.0,14.0 -0.000176493,0.0,137488.0,14.0 -0.000162031,0.0,137488.0,14.0 -0.000170203,0.0,137488.0,14.0 -0.00017470900000000002,0.0,137488.0,14.0 -0.000163869,0.0,137488.0,14.0 -0.000168951,0.0,137488.0,14.0 -0.000176178,0.0,137488.0,14.0 -0.00016854400000000002,0.0,137488.0,14.0 -0.000172229,0.0,137488.0,14.0 -0.000169819,0.0,137488.0,14.0 -0.000169277,0.0,137488.0,14.0 -0.00017494300000000002,0.0,137488.0,14.0 -0.00017011,0.0,137488.0,14.0 -0.000170714,0.0,137488.0,14.0 -0.000164501,0.0,137488.0,14.0 -0.000169234,0.0,137488.0,14.0 -0.000175942,0.0,137488.0,14.0 -0.00016575500000000001,0.0,137488.0,14.0 -0.00017037600000000002,0.0,137488.0,14.0 -0.000168846,0.0,137488.0,14.0 -0.00016983500000000002,0.0,137488.0,14.0 -0.00018161900000000002,0.0,137488.0,14.0 -0.00018293700000000001,0.0,137488.0,14.0 -0.000172052,0.0,137488.0,14.0 -0.000179001,0.0,137488.0,14.0 -0.00017023300000000002,0.0,137488.0,14.0 -0.000167058,0.0,137488.0,14.0 -0.000176612,0.0,137488.0,14.0 -0.00017185600000000002,0.0,137488.0,14.0 -0.000170573,0.0,137488.0,14.0 -0.000170859,0.0,137488.0,14.0 -0.000166927,0.0,137488.0,14.0 -0.00018275800000000001,0.0,137488.0,14.0 -0.00017006,0.0,137488.0,14.0 -0.000173632,0.0,137488.0,14.0 -0.000175884,0.0,137488.0,14.0 -0.00016573100000000002,0.0,137488.0,14.0 -0.000175316,0.0,137488.0,14.0 -0.000170568,0.0,137488.0,14.0 -0.00017287900000000002,0.0,137488.0,14.0 -0.00017783800000000001,0.0,137488.0,14.0 -0.00016883700000000002,0.0,137488.0,14.0 -0.00017297500000000002,0.0,137488.0,14.0 -0.000175472,0.0,137488.0,14.0 -0.000184114,0.0,137488.0,14.0 -0.000174191,0.0,137488.0,14.0 -0.000165309,0.0,137488.0,14.0 -0.000161704,0.0,137488.0,14.0 -0.00017922900000000001,0.0,137488.0,14.0 -0.00016098500000000002,0.0,137488.0,14.0 -0.000168667,0.0,137488.0,14.0 -0.000172275,0.0,137488.0,14.0 -0.00017149800000000002,0.0,137488.0,14.0 -0.000167349,0.0,137488.0,14.0 -0.00016189,0.0,137488.0,14.0 -0.00016644900000000002,0.0,137488.0,14.0 -0.000169426,0.0,137488.0,14.0 -0.000167462,0.0,137488.0,14.0 -0.000166484,0.0,137488.0,14.0 -0.000171566,0.0,137488.0,14.0 -0.000172188,0.0,137488.0,14.0 -0.000173579,0.0,137488.0,14.0 -0.000164883,0.0,137488.0,14.0 -0.000162547,0.0,137488.0,14.0 -0.00017090400000000002,0.0,137488.0,14.0 -0.00016721700000000002,0.0,137488.0,14.0 -0.000168216,0.0,137488.0,14.0 -0.00017130900000000002,0.0,137488.0,14.0 -0.00017754,0.0,137488.0,14.0 -0.000174308,0.0,137488.0,14.0 -0.000165049,0.0,137488.0,14.0 -0.00016463100000000002,0.0,137488.0,14.0 -0.000174198,0.0,137488.0,14.0 -0.00016600000000000002,0.0,137488.0,14.0 -0.000176131,0.0,137488.0,14.0 -0.000172188,0.0,137488.0,14.0 -0.000162502,0.0,137488.0,14.0 -0.00017028300000000002,0.0,137488.0,14.0 -0.000168908,0.0,137488.0,14.0 -0.000159841,0.0,137488.0,14.0 -0.000170056,0.0,137488.0,14.0 -0.00016859900000000002,0.0,137488.0,14.0 -0.00016149800000000002,0.0,137488.0,14.0 -0.000173047,0.0,137488.0,14.0 -0.000165553,0.0,137488.0,14.0 -0.000167526,0.0,137488.0,14.0 -0.00016473600000000002,0.0,137488.0,14.0 -0.000164549,0.0,137488.0,14.0 -0.000165846,0.0,137488.0,14.0 -0.00016084400000000002,0.0,137488.0,14.0 -0.00018334000000000002,0.0,137488.0,14.0 -0.016207434,0.0,137488.0,14.0 -0.00018358100000000002,0.0,137488.0,14.0 -0.000183539,0.0,137488.0,14.0 -0.000172081,0.0,137488.0,14.0 -0.00016672300000000002,0.0,137488.0,14.0 -0.00017188000000000001,0.0,137488.0,14.0 -0.000170464,0.0,137488.0,14.0 -0.000165753,0.0,137488.0,14.0 -0.00017170100000000002,0.0,137488.0,14.0 -0.000169233,0.0,137488.0,14.0 -0.00016939,0.0,137488.0,14.0 -0.000170041,0.0,137488.0,14.0 -0.00017054600000000002,0.0,137488.0,14.0 -0.000176836,0.0,137488.0,14.0 -0.000167541,0.0,137488.0,14.0 -0.000166713,0.0,137488.0,14.0 -0.000179364,0.0,137488.0,14.0 -0.000164374,0.0,137488.0,14.0 -0.000171081,0.0,137488.0,14.0 -0.00016707,0.0,137488.0,14.0 -0.000166622,0.0,137488.0,14.0 -0.000173158,0.0,137488.0,14.0 -0.00016827200000000002,0.0,137488.0,14.0 -0.000186097,0.0,137488.0,14.0 -0.000188134,0.0,137488.0,14.0 -0.000164944,0.0,137488.0,14.0 -0.00016688800000000002,0.0,137488.0,14.0 -0.000168331,0.0,137488.0,14.0 -0.000174615,0.0,137488.0,14.0 -0.00017591400000000002,0.0,137488.0,14.0 -0.000166517,0.0,137488.0,14.0 -0.00016876300000000002,0.0,137488.0,14.0 -0.00017693,0.0,137488.0,14.0 -0.00017019700000000002,0.0,137488.0,14.0 -0.000167898,0.0,137488.0,14.0 -0.00017034800000000002,0.0,137488.0,14.0 -0.00016970100000000002,0.0,137488.0,14.0 -0.00017402900000000002,0.0,137488.0,14.0 -0.000174343,0.0,137488.0,14.0 -0.00017151000000000002,0.0,137488.0,14.0 -0.00017036700000000002,0.0,137488.0,14.0 -0.000171382,0.0,137488.0,14.0 -0.00017095600000000002,0.0,137488.0,14.0 -0.000168996,0.0,137488.0,14.0 -0.00016865600000000002,0.0,137488.0,14.0 -0.000177624,0.0,137488.0,14.0 -0.00017746,0.0,137488.0,14.0 -0.000170747,0.0,137488.0,14.0 -0.00017603400000000002,0.0,137488.0,14.0 -0.00016717700000000002,0.0,137488.0,14.0 -0.00017573300000000002,0.0,137488.0,14.0 -0.00017875,0.0,137488.0,14.0 -0.000169724,0.0,137488.0,14.0 -0.000174964,0.0,137488.0,14.0 -0.0017066980000000002,0.7965041266820492,137488.0,14.0 -0.000180501,0.0,137488.0,14.0 -0.00016797400000000002,0.0,137488.0,14.0 -0.000163873,0.0,137488.0,14.0 -0.00016889500000000002,0.0,137488.0,14.0 -0.000171676,0.0,137488.0,14.0 -0.000173169,0.0,137488.0,14.0 -0.00018915500000000001,0.0,137488.0,14.0 -0.000175328,0.0,137488.0,14.0 -0.00017024500000000002,0.0,137488.0,14.0 -0.0001739,0.0,137488.0,14.0 -0.000179504,0.0,137488.0,14.0 -0.00017833400000000002,0.0,137488.0,14.0 -0.000162868,0.0,137488.0,14.0 -0.000170657,0.0,137488.0,14.0 -0.000174518,0.0,137488.0,14.0 -0.000170471,0.0,137488.0,14.0 -0.00016859900000000002,0.0,137488.0,14.0 -0.000166483,0.0,137488.0,14.0 -0.00016979400000000002,0.0,137488.0,14.0 -0.000163873,0.0,137488.0,14.0 -0.00017860600000000002,0.0,137488.0,14.0 -0.000163534,0.0,137488.0,14.0 -0.000165751,0.0,137488.0,14.0 -0.000181396,0.0,137488.0,14.0 -0.000168495,0.0,137488.0,14.0 -0.00016968700000000002,0.0,137488.0,14.0 -0.00016197500000000002,0.0,137488.0,14.0 -0.000176985,0.0,137488.0,14.0 -0.000163658,0.0,137488.0,14.0 -0.016228238000000002,0.0,137488.0,14.0 -0.000187731,0.0,137488.0,14.0 -0.000167176,0.0,137488.0,14.0 -0.000173263,0.0,137488.0,14.0 -0.000174369,0.0,137488.0,14.0 -0.00017182200000000002,0.0,137488.0,14.0 -0.00017436800000000002,0.0,137488.0,14.0 -0.000171177,0.0,137488.0,14.0 -0.00016908,0.0,137488.0,14.0 -0.000171678,0.0,137488.0,14.0 -0.00016830800000000002,0.0,137488.0,14.0 -0.000178178,0.0,137488.0,14.0 -0.000171285,0.0,137488.0,14.0 -0.000179631,0.0,137488.0,14.0 -0.00018373100000000002,0.0,137488.0,14.0 -0.00017355500000000001,0.0,137488.0,14.0 -0.00017963900000000002,0.0,137488.0,14.0 -0.00018238800000000002,0.0,137488.0,14.0 -0.000167517,0.0,137488.0,14.0 -0.000173813,0.0,137488.0,14.0 -0.000175842,0.0,137488.0,14.0 -0.000169268,0.0,137488.0,14.0 -0.00018950300000000002,0.0,137488.0,14.0 -0.00017072000000000002,0.0,137488.0,14.0 -0.000169617,0.0,137488.0,14.0 -0.00017615800000000002,0.0,137488.0,14.0 -0.00016751800000000002,0.0,137488.0,14.0 -0.000168228,0.0,137488.0,14.0 -0.00017040300000000001,0.0,137488.0,14.0 -0.000172833,0.0,137488.0,14.0 -0.000174816,0.0,137488.0,14.0 -0.00017408900000000002,0.0,137488.0,14.0 -0.00017526,0.0,137488.0,14.0 -0.00016744400000000002,0.0,137488.0,14.0 -0.00017420800000000002,0.0,137488.0,14.0 -0.00016483400000000001,0.0,137488.0,14.0 -0.000176751,0.0,137488.0,14.0 -0.000173198,0.0,137488.0,14.0 -0.000167478,0.0,137488.0,14.0 -0.000169746,0.0,137488.0,14.0 -0.00017213500000000002,0.0,137488.0,14.0 -0.00017214000000000002,0.0,137488.0,14.0 -0.00016475500000000002,0.0,137488.0,14.0 -0.00017816900000000002,0.0,137488.0,14.0 -0.00017880600000000002,0.0,137488.0,14.0 -0.000198958,0.0,137488.0,14.0 -0.000170449,0.0,137488.0,14.0 -0.000172015,0.0,137488.0,14.0 -0.00017730800000000002,0.0,137488.0,14.0 -0.0001777,0.0,137488.0,14.0 -0.00017441600000000002,0.0,137488.0,14.0 -0.000176538,0.0,137488.0,14.0 -0.000176002,0.0,137488.0,14.0 -0.000181833,0.0,137488.0,14.0 -0.000166123,0.0,137488.0,14.0 -0.00016938,0.0,137488.0,14.0 -0.000163906,0.0,137488.0,14.0 -0.000169202,0.0,137488.0,14.0 -0.00017013800000000002,0.0,137488.0,14.0 -0.00016740100000000002,0.0,137488.0,14.0 -0.00016708100000000002,0.0,137488.0,14.0 -0.000165791,0.0,137488.0,14.0 -0.00016720500000000002,0.0,137488.0,14.0 -0.00017087000000000002,0.0,137488.0,14.0 -0.000164451,0.0,137488.0,14.0 -0.00016870100000000002,0.0,137488.0,14.0 -0.000166047,0.0,137488.0,14.0 -0.00017632700000000002,0.0,137488.0,14.0 -0.000166768,0.0,137488.0,14.0 -0.000185505,0.0,137488.0,14.0 -0.00016976,0.0,137488.0,14.0 -0.00017341600000000002,0.0,137488.0,14.0 -0.000172966,0.0,137488.0,14.0 -0.000164833,0.0,137488.0,14.0 -0.000169654,0.0,137488.0,14.0 -0.000164186,0.0,137488.0,14.0 -0.000171895,0.0,137488.0,14.0 -0.000174105,0.0,137488.0,14.0 -0.00018144300000000002,0.0,137488.0,14.0 -0.00017193000000000002,0.0,137488.0,14.0 -0.00018822400000000002,0.0,137488.0,14.0 -0.00016692400000000002,0.0,137488.0,14.0 -0.00016447100000000002,0.0,137488.0,14.0 -0.000164198,0.0,137488.0,14.0 -0.00016970400000000001,0.0,137488.0,14.0 -0.000172045,0.0,137488.0,14.0 -0.00016421800000000002,0.0,137488.0,14.0 -0.000168502,0.0,137488.0,14.0 -0.000161213,0.0,137488.0,14.0 -0.000168908,0.0,137488.0,14.0 -0.000174639,0.0,137488.0,14.0 -0.000174842,0.0,137488.0,14.0 -0.016214451,0.0,137488.0,14.0 -0.000173152,0.0,137488.0,14.0 -0.000170046,0.0,137488.0,14.0 -0.00016823100000000002,0.0,137488.0,14.0 -0.00017534,0.0,137488.0,14.0 -0.000179413,0.0,137488.0,14.0 -0.000180199,0.0,137488.0,14.0 -0.00017333300000000002,0.0,137488.0,14.0 -0.000179135,0.0,137488.0,14.0 -0.00016961300000000002,0.0,137488.0,14.0 -0.000171272,0.0,137488.0,14.0 -0.00016792800000000002,0.0,137488.0,14.0 -0.000173096,0.0,137488.0,14.0 -0.000165448,0.0,137488.0,14.0 -0.000179416,0.0,137488.0,14.0 -0.000170964,0.0,137488.0,14.0 -0.000169523,0.0,137488.0,14.0 -0.00017230700000000002,0.0,137488.0,14.0 -0.00016729100000000002,0.0,137488.0,14.0 -0.000174945,0.0,137488.0,14.0 -0.000164532,0.0,137488.0,14.0 -0.000172134,0.0,137488.0,14.0 -0.000163288,0.0,137488.0,14.0 -0.00018732400000000002,0.0,137488.0,14.0 -0.000166965,0.0,137488.0,14.0 -0.000175906,0.0,137488.0,14.0 -0.00017075300000000002,0.0,137488.0,14.0 -0.0001643,0.0,137488.0,14.0 -0.00017049,0.0,137488.0,14.0 -0.000164668,0.0,137488.0,14.0 -0.00016662300000000002,0.0,137488.0,14.0 -0.00017719,0.0,137488.0,14.0 -0.00016383,0.0,137488.0,14.0 -0.000172478,0.0,137488.0,14.0 -0.000163563,0.0,137488.0,14.0 -0.000181618,0.0,137488.0,14.0 -0.00017483,0.0,137488.0,14.0 -0.000172475,0.0,137488.0,14.0 -0.000162217,0.0,137488.0,14.0 -0.00017195600000000002,0.0,137488.0,14.0 -0.000172399,0.0,137488.0,14.0 -0.000165873,0.0,137488.0,14.0 -0.000178624,0.0,137488.0,14.0 -0.00016707400000000002,0.0,137488.0,14.0 -0.00016837900000000002,0.0,137488.0,14.0 -0.00016906200000000002,0.0,137488.0,14.0 -0.00018167900000000002,0.0,137488.0,14.0 -0.000177001,0.0,137488.0,14.0 -0.00016555700000000001,0.0,137488.0,14.0 -0.00016655200000000001,0.0,137488.0,14.0 -0.00017605000000000002,0.0,137488.0,14.0 -0.000162972,0.0,137488.0,14.0 -0.00016492,0.0,137488.0,14.0 -0.000168065,0.0,137488.0,14.0 -0.00016593,0.0,137488.0,14.0 -0.00018115200000000002,0.0,137488.0,14.0 -0.00017114700000000002,0.0,137488.0,14.0 -0.000166202,0.0,137488.0,14.0 -0.0001688,0.0,137488.0,14.0 -0.000171489,0.0,137488.0,14.0 -0.00016200600000000002,0.0,137488.0,14.0 -0.00017439900000000002,0.0,137488.0,14.0 -0.0001619,0.0,137488.0,14.0 -0.000169046,0.0,137488.0,14.0 -0.000173778,0.0,137488.0,14.0 -0.00016861,0.0,137488.0,14.0 -0.00016861300000000002,0.0,137488.0,14.0 -0.000174503,0.0,137488.0,14.0 -0.00016059400000000001,0.0,137488.0,14.0 -0.000179915,0.0,137488.0,14.0 -0.00017405600000000002,0.0,137488.0,14.0 -0.000165524,0.0,137488.0,14.0 -0.000179227,0.0,137488.0,14.0 -0.00016539400000000002,0.0,137488.0,14.0 -0.000171063,0.0,137488.0,14.0 -0.000171626,0.0,137488.0,14.0 -0.000167354,0.0,137488.0,14.0 -0.000176758,0.0,137488.0,14.0 -0.000163894,0.0,137488.0,14.0 -0.00016842000000000002,0.0,137488.0,14.0 -0.000176359,0.0,137488.0,14.0 -0.00016741300000000002,0.0,137488.0,14.0 -0.000166205,0.0,137488.0,14.0 -0.000172454,0.0,137488.0,14.0 -0.000167286,0.0,137488.0,14.0 -0.000171458,0.0,137488.0,14.0 -0.000171831,0.0,137488.0,14.0 -0.00016478800000000002,0.0,137488.0,14.0 -0.000175567,0.0,137488.0,14.0 -0.00017081,0.0,137488.0,14.0 -0.000167064,0.0,137488.0,14.0 -0.00017175300000000002,0.0,137488.0,14.0 -0.00016589800000000002,0.0,137488.0,14.0 -0.016208884,0.0,137488.0,14.0 -0.00017068200000000002,0.0,137488.0,14.0 -0.00016225700000000002,0.0,137488.0,14.0 -0.000179755,0.0,137488.0,14.0 -0.000166138,0.0,137488.0,14.0 -0.00017040300000000001,0.0,137488.0,14.0 -0.00016518000000000001,0.0,137488.0,14.0 -0.000163659,0.0,137488.0,14.0 -0.000171657,0.0,137488.0,14.0 -0.00016638700000000002,0.0,137488.0,14.0 -0.00017528700000000002,0.0,137488.0,14.0 -0.000172496,0.0,137488.0,14.0 -0.000162492,0.0,137488.0,14.0 -0.000162656,0.0,137488.0,14.0 -0.00017565400000000002,0.0,137488.0,14.0 -0.00016467100000000002,0.0,137488.0,14.0 -0.000173823,0.0,137488.0,14.0 -0.00016245200000000002,0.0,137488.0,14.0 -0.00016065,0.0,137488.0,14.0 -0.000171029,0.0,137488.0,14.0 -0.000168094,0.0,137488.0,14.0 -0.000168865,0.0,137488.0,14.0 -0.000166376,0.0,137488.0,14.0 -0.000175422,0.0,137488.0,14.0 -0.00017676100000000002,0.0,137488.0,14.0 -0.000164047,0.0,137488.0,14.0 -0.000161566,0.0,137488.0,14.0 -0.000167317,0.0,137488.0,14.0 -0.00015776100000000002,0.0,137488.0,14.0 -0.00016827200000000002,0.0,137488.0,14.0 -0.000170941,0.0,137488.0,14.0 -0.00016490300000000002,0.0,137488.0,14.0 -0.00016570700000000002,0.0,137488.0,14.0 -0.000172427,0.0,137488.0,14.0 -0.000163747,0.0,137488.0,14.0 -0.00016512700000000002,0.0,137488.0,14.0 -0.00015913800000000002,0.0,137488.0,14.0 -0.00016669200000000002,0.0,137488.0,14.0 -0.000165052,0.0,137488.0,14.0 -0.00015704300000000002,0.0,137488.0,14.0 -0.000176508,0.0,137488.0,14.0 -0.00016264600000000001,0.0,137488.0,14.0 -0.00016299,0.0,137488.0,14.0 -0.00016850100000000002,0.0,137488.0,14.0 -0.000160905,0.0,137488.0,14.0 -0.00016115900000000002,0.0,137488.0,14.0 -0.00016131400000000002,0.0,137488.0,14.0 -0.00018770100000000002,0.0,137488.0,14.0 -0.000175443,0.0,137488.0,14.0 -0.00016026400000000002,0.0,137488.0,14.0 -0.00016685500000000001,0.0,137488.0,14.0 -0.000166145,0.0,137488.0,14.0 -0.000167979,0.0,137488.0,14.0 -0.00016713100000000002,0.0,137488.0,14.0 -0.000163923,0.0,137488.0,14.0 -0.00016470700000000002,0.0,137488.0,14.0 -0.00017362100000000002,0.0,137488.0,14.0 -0.00016165500000000002,0.0,137488.0,14.0 -0.000157687,0.0,137488.0,14.0 -0.00017542500000000002,0.0,137488.0,14.0 -0.000164527,0.0,137488.0,14.0 -0.000160963,0.0,137488.0,14.0 -0.000165992,0.0,137488.0,14.0 -0.000166111,0.0,137488.0,14.0 -0.00017038100000000002,0.0,137488.0,14.0 -0.000160774,0.0,137488.0,14.0 -0.00016291500000000002,0.0,137488.0,14.0 -0.000168247,0.0,137488.0,14.0 -0.000160848,0.0,137488.0,14.0 -0.000162361,0.0,137488.0,14.0 -0.000162441,0.0,137488.0,14.0 -0.00017291000000000002,0.0,137488.0,14.0 -0.000168235,0.0,137488.0,14.0 -0.00016426600000000002,0.0,137488.0,14.0 -0.000156712,0.0,137488.0,14.0 -0.00017129500000000002,0.0,137488.0,14.0 -0.00015758700000000002,0.0,137488.0,14.0 -0.00016020500000000002,0.0,137488.0,14.0 -0.000165172,0.0,137488.0,14.0 -0.000161718,0.0,137488.0,14.0 -0.00017778500000000002,0.0,137488.0,14.0 -0.000160167,0.0,137488.0,14.0 -0.00015939,0.0,137488.0,14.0 -0.000169082,0.0,137488.0,14.0 -0.000160349,0.0,137488.0,14.0 -0.00016432500000000002,0.0,137488.0,14.0 -0.000165957,0.0,137488.0,14.0 -0.00016320900000000002,0.0,137488.0,14.0 -0.000182575,0.0,137488.0,14.0 -0.000153485,0.0,137488.0,14.0 -0.00016554500000000002,0.0,137488.0,14.0 -0.000171988,0.0,137488.0,14.0 -0.000168244,0.0,137488.0,14.0 -0.000159431,0.0,137488.0,14.0 -0.00015889000000000002,0.0,137488.0,14.0 -0.016202641,0.0,137488.0,14.0 -0.000184636,0.0,137488.0,14.0 -0.00016638200000000002,0.0,137488.0,14.0 -0.000171043,0.0,137488.0,14.0 -0.00017252,0.0,137488.0,14.0 -0.000162256,0.0,137488.0,14.0 -0.000162564,0.0,137488.0,14.0 -0.000177431,0.0,137488.0,14.0 -0.00015916000000000001,0.0,137488.0,14.0 -0.000161246,0.0,137488.0,14.0 -0.00016071,0.0,137488.0,14.0 -0.00016027900000000001,0.0,137488.0,14.0 -0.00016819300000000002,0.0,137488.0,14.0 -0.00017144100000000001,0.0,137488.0,14.0 -0.00016146900000000002,0.0,137488.0,14.0 -0.00017132400000000002,0.0,137488.0,14.0 -0.00015957200000000002,0.0,137488.0,14.0 -0.000173052,0.0,137488.0,14.0 -0.000157886,0.0,137488.0,14.0 -0.000168975,0.0,137488.0,14.0 -0.000172766,0.0,137488.0,14.0 -0.000158772,0.0,137488.0,14.0 -0.00016128100000000002,0.0,137488.0,14.0 -0.000164818,0.0,137488.0,14.0 -0.004117039,0.9161511464914469,137488.0,14.0 -0.00016593800000000002,0.0,137488.0,14.0 -0.00016784200000000002,0.0,137488.0,14.0 -0.00017509600000000002,0.0,137488.0,14.0 -0.00016252200000000001,0.0,137488.0,14.0 -0.00017604800000000002,0.0,137488.0,14.0 -0.00017614300000000002,0.0,137488.0,14.0 -0.000166796,0.0,137488.0,14.0 -0.000172384,0.0,137488.0,14.0 -0.000165928,0.0,137488.0,14.0 -0.000171186,0.0,137488.0,14.0 -0.000163444,0.0,137488.0,14.0 -0.00016684300000000002,0.0,137488.0,14.0 -0.000169211,0.0,137488.0,14.0 -0.000182375,0.0,137488.0,14.0 -0.00016644200000000002,0.0,137488.0,14.0 -0.00016571,0.0,137488.0,14.0 -0.000163566,0.0,137488.0,14.0 -0.00016247900000000001,0.0,137488.0,14.0 -0.00016620300000000002,0.0,137488.0,14.0 -0.000160812,0.0,137488.0,14.0 -0.00016782800000000002,0.0,137488.0,14.0 -0.000162728,0.0,137488.0,14.0 -0.000179311,0.0,137488.0,14.0 -0.00019055500000000002,0.0,137488.0,14.0 -0.000173825,0.0,137488.0,14.0 -0.00016631,0.0,137488.0,14.0 -0.000166817,0.0,137488.0,14.0 -0.00016459700000000002,0.0,137488.0,14.0 -0.000170254,0.0,137488.0,14.0 -0.000165946,0.0,137488.0,14.0 -0.00016742700000000002,0.0,137488.0,14.0 -0.00016405100000000002,0.0,137488.0,14.0 -0.000163863,0.0,137488.0,14.0 -0.000163501,0.0,137488.0,14.0 -0.000165357,0.0,137488.0,14.0 -0.00016101,0.0,137488.0,14.0 -0.00016212300000000002,0.0,137488.0,14.0 -0.000164587,0.0,137488.0,14.0 -0.000156985,0.0,137488.0,14.0 -0.000173086,0.0,137488.0,14.0 -0.000168722,0.0,137488.0,14.0 -0.000171525,0.0,137488.0,14.0 -0.000178159,0.0,137488.0,14.0 -0.000166259,0.0,137488.0,14.0 -0.000164109,0.0,137488.0,14.0 -0.000166858,0.0,137488.0,14.0 -0.000175012,0.0,137488.0,14.0 -0.016219006,0.0,137488.0,14.0 -0.000165809,0.0,137488.0,14.0 -0.00016335,0.0,137488.0,14.0 -0.000169299,0.0,137488.0,14.0 -0.000169914,0.0,137488.0,14.0 -0.000163,0.0,137488.0,14.0 -0.00016474,0.0,137488.0,14.0 -0.00015830300000000002,0.0,137488.0,14.0 -0.00015891600000000002,0.0,137488.0,14.0 -0.00016388600000000002,0.0,137488.0,14.0 -0.00016084,0.0,137488.0,14.0 -0.00016205,0.0,137488.0,14.0 -0.000164826,0.0,137488.0,14.0 -0.00015980900000000001,0.0,137488.0,14.0 -0.000165326,0.0,137488.0,14.0 -0.000159165,0.0,137488.0,14.0 -0.00016075800000000002,0.0,137488.0,14.0 -0.00016201100000000002,0.0,137488.0,14.0 -0.000162849,0.0,137488.0,14.0 -0.000167577,0.0,137488.0,14.0 -0.000164768,0.0,137488.0,14.0 -0.00016303200000000002,0.0,137488.0,14.0 -0.00016381200000000002,0.0,137488.0,14.0 -0.00016592200000000002,0.0,137488.0,14.0 -0.000175241,0.0,137488.0,14.0 -0.000169316,0.0,137488.0,14.0 -0.00017234500000000002,0.0,137488.0,14.0 -0.000179523,0.0,137488.0,14.0 -0.000160872,0.0,137488.0,14.0 -0.000166023,0.0,137488.0,14.0 -0.000175013,0.0,137488.0,14.0 -0.000168562,0.0,137488.0,14.0 -0.000163868,0.0,137488.0,14.0 -0.000162838,0.0,137488.0,14.0 -0.000182575,0.0,137488.0,14.0 -0.000166185,0.0,137488.0,14.0 -0.000162029,0.0,137488.0,14.0 -0.00016292000000000002,0.0,137488.0,14.0 -0.000168807,0.0,137488.0,14.0 -0.00016678300000000002,0.0,137488.0,14.0 -0.000159504,0.0,137488.0,14.0 -0.000157445,0.0,137488.0,14.0 -0.00016687600000000002,0.0,137488.0,14.0 -0.000162274,0.0,137488.0,14.0 -0.00016259800000000002,0.0,137488.0,14.0 -0.00016598600000000002,0.0,137488.0,14.0 -0.000169456,0.0,137488.0,14.0 -0.000178202,0.0,137488.0,14.0 -0.000165698,0.0,137488.0,14.0 -0.000158881,0.0,137488.0,14.0 -0.000159771,0.0,137488.0,14.0 -0.0001639,0.0,137488.0,14.0 -0.00016489,0.0,137488.0,14.0 -0.00017260300000000001,0.0,137488.0,14.0 -0.00016479100000000002,0.0,137488.0,14.0 -0.000164827,0.0,137488.0,14.0 -0.00016628200000000002,0.0,137488.0,14.0 -0.00017064400000000001,0.0,137488.0,14.0 -0.000168865,0.0,137488.0,14.0 -0.000164716,0.0,137488.0,14.0 -0.000170139,0.0,137488.0,14.0 -0.00017660200000000001,0.0,137488.0,14.0 -0.000168307,0.0,137488.0,14.0 -0.00016346400000000002,0.0,137488.0,14.0 -0.000162248,0.0,137488.0,14.0 -0.000161707,0.0,137488.0,14.0 -0.00018100100000000002,0.0,137488.0,14.0 -0.00016125900000000002,0.0,137488.0,14.0 -0.000164367,0.0,137488.0,14.0 -0.000164832,0.0,137488.0,14.0 -0.000164649,0.0,137488.0,14.0 -0.000173332,0.0,137488.0,14.0 -0.000165997,0.0,137488.0,14.0 -0.000163441,0.0,137488.0,14.0 -0.00016679500000000002,0.0,137488.0,14.0 -0.000160542,0.0,137488.0,14.0 -0.000162575,0.0,137488.0,14.0 -0.00016964400000000002,0.0,137488.0,14.0 -0.00016769000000000002,0.0,137488.0,14.0 -0.000172532,0.0,137488.0,14.0 -0.00017123,0.0,137488.0,14.0 -0.000172645,0.0,137488.0,14.0 -0.00016979900000000002,0.0,137488.0,14.0 -0.000169251,0.0,137488.0,14.0 -0.00016424400000000002,0.0,137488.0,14.0 -0.000165322,0.0,137488.0,14.0 -0.00015657,0.0,137488.0,14.0 -0.000164073,0.0,137488.0,14.0 -0.000168796,0.0,137488.0,14.0 -0.000169616,0.0,137488.0,14.0 -0.000164308,0.0,137488.0,14.0 -0.000168405,0.0,137488.0,14.0 -0.000166639,0.0,137488.0,14.0 -0.000168894,0.0,137488.0,14.0 -0.000166047,0.0,137488.0,14.0 -0.016239725,0.0,137488.0,14.0 -0.00017633200000000002,0.0,137488.0,14.0 -0.00015889000000000002,0.0,137488.0,14.0 -0.000163181,0.0,137488.0,14.0 -0.00016810500000000002,0.0,137488.0,14.0 -0.000163527,0.0,137488.0,14.0 -0.000160482,0.0,137488.0,14.0 -0.000165037,0.0,137488.0,14.0 -0.00015872300000000002,0.0,137488.0,14.0 -0.000172733,0.0,137488.0,14.0 -0.00016231200000000001,0.0,137488.0,14.0 -0.000162416,0.0,137488.0,14.0 -0.000165088,0.0,137488.0,14.0 -0.000161542,0.0,137488.0,14.0 -0.000179939,0.0,137488.0,14.0 -0.000168631,0.0,137488.0,14.0 -0.000158519,0.0,137488.0,14.0 -0.000166111,0.0,137488.0,14.0 -0.000163391,0.0,137488.0,14.0 -0.00016202,0.0,137488.0,14.0 -0.000163566,0.0,137488.0,14.0 -0.000171353,0.0,137488.0,14.0 -0.000161919,0.0,137488.0,14.0 -0.00017046700000000002,0.0,137488.0,14.0 -0.00018427700000000002,0.0,137488.0,14.0 -0.00016384300000000002,0.0,137488.0,14.0 -0.00017070100000000002,0.0,137488.0,14.0 -0.000164826,0.0,137488.0,14.0 -0.000165952,0.0,137488.0,14.0 -0.000154499,0.0,137488.0,14.0 -0.000155982,0.0,137488.0,14.0 -0.00016577600000000002,0.0,137488.0,14.0 -0.00016840600000000001,0.0,137488.0,14.0 -0.00016932200000000002,0.0,137488.0,14.0 -0.000173262,0.0,137488.0,14.0 -0.000283689,0.0,137488.0,14.0 -0.000269491,0.0,137488.0,14.0 -0.000269405,0.0,137488.0,14.0 -0.00026860800000000004,0.0,137488.0,14.0 -0.00027263600000000004,0.0,137488.0,14.0 -0.000268544,0.0,137488.0,14.0 -0.00029277400000000004,0.0,137488.0,14.0 -0.000286424,0.0,137488.0,14.0 -0.000267487,0.0,137488.0,14.0 -0.00026967500000000004,0.0,137488.0,14.0 -0.000270062,0.0,137488.0,14.0 -0.000274298,0.0,137488.0,14.0 -0.00027392700000000004,0.0,137488.0,14.0 -0.00026544000000000003,0.0,137488.0,14.0 -0.00027555,0.0,137488.0,14.0 -0.000274069,0.0,137488.0,14.0 -0.000270021,0.0,137488.0,14.0 -0.000271716,0.0,137488.0,14.0 -0.00027419900000000004,0.0,137488.0,14.0 -0.00027336600000000004,0.0,137488.0,14.0 -0.000280671,0.0,137488.0,14.0 -0.000267534,0.0,137488.0,14.0 -0.00028231400000000003,0.0,137488.0,14.0 -0.000277455,0.0,137488.0,14.0 -0.000268829,0.0,137488.0,14.0 -0.00027343800000000003,0.0,137488.0,14.0 -0.000273189,0.0,137488.0,14.0 -0.00027501800000000003,0.0,137488.0,14.0 -0.00027423300000000003,0.0,137488.0,14.0 -0.00027082100000000003,0.0,137488.0,14.0 -0.00026873200000000004,0.0,137488.0,14.0 -0.000325364,0.0,137488.0,14.0 -0.00026964100000000004,0.0,137488.0,14.0 -0.00028014,0.0,137488.0,14.0 -0.000272421,0.0,137488.0,14.0 -0.00027828900000000003,0.0,137488.0,14.0 -0.016307983,0.0,137488.0,14.0 -0.000288342,0.0,137488.0,14.0 -0.00028224500000000003,0.0,137488.0,14.0 -0.00027811700000000003,0.0,137488.0,14.0 -0.000279547,0.0,137488.0,14.0 -0.000270674,0.0,137488.0,14.0 -0.000278095,0.0,137488.0,14.0 -0.000271609,0.0,137488.0,14.0 -0.00027529700000000003,0.0,137488.0,14.0 -0.00026681700000000003,0.0,137488.0,14.0 -0.00028051000000000004,0.0,137488.0,14.0 -0.000276452,0.0,137488.0,14.0 -0.000274157,0.0,137488.0,14.0 -0.000271094,0.0,137488.0,14.0 -0.00028506800000000003,0.0,137488.0,14.0 -0.000276607,0.0,137488.0,14.0 -0.000278195,0.0,137488.0,14.0 -0.000265397,0.0,137488.0,14.0 -0.00027961,0.0,137488.0,14.0 -0.000275957,0.0,137488.0,14.0 -0.000272941,0.0,137488.0,14.0 -0.00027201600000000003,0.0,137488.0,14.0 -0.000279259,0.0,137488.0,14.0 -0.000273849,0.0,137488.0,14.0 -0.00028008000000000004,0.0,137488.0,14.0 -0.000266894,0.0,137488.0,14.0 -0.000271254,0.0,137488.0,14.0 -0.000271202,0.0,137488.0,14.0 -0.000274367,0.0,137488.0,14.0 -0.00028554300000000003,0.0,137488.0,14.0 -0.000281938,0.0,137488.0,14.0 -0.000269986,0.0,137488.0,14.0 -0.000282708,0.0,137488.0,14.0 -0.000268777,0.0,137488.0,14.0 -0.000283896,0.0,137488.0,14.0 -0.000273316,0.0,137488.0,14.0 -0.00027325,0.0,137488.0,14.0 -0.00027207100000000003,0.0,137488.0,14.0 -0.000281411,0.0,137488.0,14.0 -0.000268149,0.0,137488.0,14.0 -0.00027550000000000003,0.0,137488.0,14.0 -0.00027281,0.0,137488.0,14.0 -0.00027628200000000004,0.0,137488.0,14.0 -0.00028916900000000004,0.0,137488.0,14.0 -0.000268808,0.0,137488.0,14.0 -0.000277164,0.0,137488.0,14.0 -0.000281549,0.0,137488.0,14.0 -0.00027502500000000003,0.0,137488.0,14.0 -0.000280681,0.0,137488.0,14.0 -0.000276987,0.0,137488.0,14.0 -0.00027507400000000004,0.0,137488.0,14.0 -0.00028265,0.0,137488.0,14.0 -0.00026111200000000003,0.0,137488.0,14.0 -0.000280249,0.0,137488.0,14.0 -0.000275437,0.0,137488.0,14.0 -0.00027112800000000004,0.0,137488.0,14.0 -0.000271218,0.0,137488.0,14.0 -0.00027545900000000003,0.0,137488.0,14.0 -0.016316201000000002,0.0,137488.0,14.0 -0.00029654000000000003,0.0,137488.0,14.0 -0.00026536800000000004,0.0,137488.0,14.0 -0.000274659,0.0,137488.0,14.0 -0.00026925800000000003,0.0,137488.0,14.0 -0.00026794000000000004,0.0,137488.0,14.0 -0.00028010000000000003,0.0,137488.0,14.0 -0.000279337,0.0,137488.0,14.0 -0.00026964400000000004,0.0,137488.0,14.0 -0.00027916000000000003,0.0,137488.0,14.0 -0.000274701,0.0,137488.0,14.0 -0.00027838900000000003,0.0,137488.0,14.0 -0.000270252,0.0,137488.0,14.0 -0.000269318,0.0,137488.0,14.0 -0.000282574,0.0,137488.0,14.0 -0.00028292700000000004,0.0,137488.0,14.0 -0.00027649200000000004,0.0,137488.0,14.0 -0.00028448300000000003,0.0,137488.0,14.0 -0.00027174100000000004,0.0,137488.0,14.0 -0.0002768,0.0,137488.0,14.0 -0.000275189,0.0,137488.0,14.0 -0.000270884,0.0,137488.0,14.0 -0.00026833900000000003,0.0,137488.0,14.0 -0.00027827500000000003,0.0,137488.0,14.0 -0.00027462200000000003,0.0,137488.0,14.0 -0.000277569,0.0,137488.0,14.0 -0.00027273200000000003,0.0,137488.0,14.0 -0.00027771800000000004,0.0,137488.0,14.0 -0.00027179600000000004,0.0,137488.0,14.0 -0.00028276,0.0,137488.0,14.0 -0.000272445,0.0,137488.0,14.0 -0.00027934600000000003,0.0,137488.0,14.0 -0.000270961,0.0,137488.0,14.0 -0.00027790700000000003,0.0,137488.0,14.0 -0.000274957,0.0,137488.0,14.0 -0.000277679,0.0,137488.0,14.0 -0.00028392900000000004,0.0,137488.0,14.0 -0.00027127600000000004,0.0,137488.0,14.0 -0.00028226900000000003,0.0,137488.0,14.0 -0.00026735400000000003,0.0,137488.0,14.0 -0.00027826500000000003,0.0,137488.0,14.0 -0.00027558700000000004,0.0,137488.0,14.0 -0.000283432,0.0,137488.0,14.0 -0.000287727,0.0,137488.0,14.0 -0.000290038,0.0,137488.0,14.0 -0.000276567,0.0,137488.0,14.0 -0.00028660400000000004,0.0,137488.0,14.0 -0.000270321,0.0,137488.0,14.0 -0.000279961,0.0,137488.0,14.0 -0.000271959,0.0,137488.0,14.0 -0.000280724,0.0,137488.0,14.0 -0.00027585900000000004,0.0,137488.0,14.0 -0.000286168,0.0,137488.0,14.0 -0.000270675,0.0,137488.0,14.0 -0.000286878,0.0,137488.0,14.0 -0.00027886800000000004,0.0,137488.0,14.0 -0.00028203200000000004,0.0,137488.0,14.0 -0.000291418,0.0,137488.0,14.0 -0.000279248,0.0,137488.0,14.0 -0.000279603,0.0,137488.0,14.0 -0.000283042,0.0,137488.0,14.0 -0.0037959,0.8986543375747517,137488.0,14.0 -0.00017835500000000002,0.0,137488.0,14.0 -0.00016328300000000002,0.0,137488.0,14.0 -0.00016138600000000002,0.0,137488.0,14.0 -0.000163702,0.0,137488.0,14.0 -0.000170518,0.0,137488.0,14.0 -0.00016681900000000002,0.0,137488.0,14.0 -0.00017722200000000002,0.0,137488.0,14.0 -0.00017822400000000002,0.0,137488.0,14.0 -0.00016857700000000002,0.0,137488.0,14.0 -0.00018666400000000001,0.0,137488.0,14.0 -0.000179077,0.0,137488.0,14.0 -0.00016750800000000002,0.0,137488.0,14.0 -0.00016870400000000002,0.0,137488.0,14.0 -0.000171527,0.0,137488.0,14.0 -0.000178054,0.0,137488.0,14.0 -0.00017479300000000002,0.0,137488.0,14.0 -0.000171793,0.0,137488.0,14.0 -0.00016435900000000002,0.0,137488.0,14.0 -0.000166596,0.0,137488.0,14.0 -0.00019151200000000002,0.0,137488.0,14.0 -0.00017188700000000002,0.0,137488.0,14.0 -0.000176128,0.0,137488.0,14.0 -0.00016558800000000001,0.0,137488.0,14.0 -0.00018771300000000002,0.0,137488.0,14.0 -0.000172052,0.0,137488.0,14.0 -0.000172856,0.0,137488.0,14.0 -0.00016945,0.0,137488.0,14.0 -0.00017041700000000002,0.0,137488.0,14.0 -0.000170427,0.0,137488.0,14.0 -0.00017841700000000002,0.0,137488.0,14.0 -0.00016979200000000002,0.0,137488.0,14.0 -0.000165326,0.0,137488.0,14.0 -0.000171829,0.0,137488.0,14.0 -0.00017191800000000002,0.0,137488.0,14.0 -0.000168588,0.0,137488.0,14.0 -0.00016441400000000002,0.0,137488.0,14.0 -0.000171311,0.0,137488.0,14.0 -0.0001661,0.0,137488.0,14.0 -0.00017204,0.0,137488.0,14.0 -0.000175193,0.0,137488.0,14.0 -0.000172998,0.0,137488.0,14.0 -0.000174019,0.0,137488.0,14.0 -0.000193512,0.0,137488.0,14.0 -0.00017936200000000002,0.0,137488.0,14.0 -0.00018343500000000002,0.0,137488.0,14.0 -0.00017722000000000001,0.0,137488.0,14.0 -0.000179246,0.0,137488.0,14.0 -0.00017700200000000002,0.0,137488.0,14.0 -0.00016711200000000002,0.0,137488.0,14.0 -0.00017047900000000002,0.0,137488.0,14.0 -0.00016962700000000002,0.0,137488.0,14.0 -0.000174394,0.0,137488.0,14.0 -0.000169375,0.0,137488.0,14.0 -0.00016668500000000002,0.0,137488.0,14.0 -0.000168708,0.0,137488.0,14.0 -0.00016899000000000002,0.0,137488.0,14.0 -0.000172301,0.0,137488.0,14.0 -0.000173169,0.0,137488.0,14.0 -0.000169237,0.0,137488.0,14.0 -0.000171704,0.0,137488.0,14.0 -0.000170065,0.0,137488.0,14.0 -0.00017651600000000002,0.0,137488.0,14.0 -0.000170229,0.0,137488.0,14.0 -0.00017731500000000002,0.0,137488.0,14.0 -0.00017251700000000002,0.0,137488.0,14.0 -0.00018519900000000001,0.0,137488.0,14.0 -0.000163348,0.0,137488.0,14.0 -0.000163582,0.0,137488.0,14.0 -0.00015795700000000002,0.0,137488.0,14.0 -0.000165315,0.0,137488.0,14.0 -0.000162744,0.0,137488.0,14.0 -0.000160089,0.0,137488.0,14.0 -0.00016524200000000001,0.0,137488.0,14.0 -0.00016147900000000002,0.0,137488.0,14.0 -0.00018413200000000002,0.0,137488.0,14.0 -0.000154315,0.0,137488.0,14.0 -0.00016347800000000002,0.0,137488.0,14.0 -0.00016272400000000002,0.0,137488.0,14.0 -0.000159581,0.0,137488.0,14.0 -0.00016442800000000002,0.0,137488.0,14.0 -0.000163766,0.0,137488.0,14.0 -0.000161072,0.0,137488.0,14.0 -0.000171733,0.0,137488.0,14.0 -0.000160683,0.0,137488.0,14.0 -0.000163003,0.0,137488.0,14.0 -0.000162349,0.0,137488.0,14.0 -0.000164126,0.0,137488.0,14.0 -0.00016463300000000002,0.0,137488.0,14.0 -0.000158266,0.0,137488.0,14.0 -0.00017552300000000002,0.0,137488.0,14.0 -0.000166348,0.0,137488.0,14.0 -0.00015873500000000002,0.0,137488.0,14.0 -0.00016375000000000002,0.0,137488.0,14.0 -0.00015905200000000002,0.0,137488.0,14.0 -0.00016916200000000002,0.0,137488.0,14.0 -0.000164329,0.0,137488.0,14.0 -0.000163923,0.0,137488.0,14.0 -0.000160189,0.0,137488.0,14.0 -0.00016835,0.0,137488.0,14.0 -0.000170024,0.0,137488.0,14.0 -0.000170313,0.0,137488.0,14.0 -0.000166481,0.0,137488.0,14.0 -0.00016232100000000002,0.0,137488.0,14.0 -0.000171471,0.0,137488.0,14.0 -0.000162848,0.0,137488.0,14.0 -0.00016628700000000002,0.0,137488.0,14.0 -0.000162336,0.0,137488.0,14.0 -0.000164005,0.0,137488.0,14.0 -0.000187302,0.0,137488.0,14.0 -0.00017451100000000002,0.0,137488.0,14.0 -0.000163904,0.0,137488.0,14.0 -0.00015573,0.0,137488.0,14.0 -0.000156767,0.0,137488.0,14.0 -0.000177975,0.0,137488.0,14.0 -0.00017209900000000002,0.0,137488.0,14.0 -0.000164825,0.0,137488.0,14.0 -0.0001664,0.0,137488.0,14.0 -0.00016589100000000001,0.0,137488.0,14.0 -0.000163666,0.0,137488.0,14.0 -0.00017778300000000002,0.0,137488.0,14.0 -0.000165553,0.0,137488.0,14.0 -0.000173623,0.0,137488.0,14.0 -0.000165822,0.0,137488.0,14.0 -0.00016256700000000002,0.0,137488.0,14.0 -0.00016473300000000002,0.0,137488.0,14.0 -0.00017061300000000001,0.0,137488.0,14.0 -0.00017309,0.0,137488.0,14.0 -0.00016854200000000001,0.0,137488.0,14.0 -0.00017049800000000002,0.0,137488.0,14.0 -0.00016992,0.0,137488.0,14.0 -0.000164627,0.0,137488.0,14.0 -0.00017586200000000002,0.0,137488.0,14.0 -0.00016287700000000002,0.0,137488.0,14.0 -0.000160618,0.0,137488.0,14.0 -0.000168888,0.0,137488.0,14.0 -0.000167512,0.0,137488.0,14.0 -0.00018387700000000002,0.0,137488.0,14.0 -0.000180533,0.0,137488.0,14.0 -0.00016610800000000002,0.0,137488.0,14.0 -0.000165539,0.0,137488.0,14.0 -0.000173338,0.0,137488.0,14.0 -0.00016550400000000002,0.0,137488.0,14.0 -0.00016789500000000002,0.0,137488.0,14.0 -0.000165539,0.0,137488.0,14.0 -0.000173276,0.0,137488.0,14.0 -0.000155028,0.0,137488.0,14.0 -0.000169292,0.0,137488.0,14.0 -0.00016959900000000001,0.0,137488.0,14.0 -0.00016067500000000002,0.0,137488.0,14.0 -0.000169359,0.0,137488.0,14.0 -0.000161659,0.0,137488.0,14.0 -0.00016098000000000002,0.0,137488.0,14.0 -0.000171318,0.0,137488.0,14.0 -0.00015891900000000001,0.0,137488.0,14.0 -0.000173017,0.0,137488.0,14.0 -0.00016377200000000002,0.0,137488.0,14.0 -0.00017924100000000001,0.0,137488.0,14.0 -0.000167581,0.0,137488.0,14.0 -0.00016925700000000002,0.0,137488.0,14.0 -0.000161824,0.0,137488.0,14.0 -0.000188106,0.0,137488.0,14.0 -0.000166094,0.0,137488.0,14.0 -0.00015994900000000002,0.0,137488.0,14.0 -0.000176794,0.0,137488.0,14.0 -0.00015890900000000002,0.0,137488.0,14.0 -0.00016711200000000002,0.0,137488.0,14.0 -0.000157166,0.0,137488.0,14.0 -0.00016177500000000002,0.0,137488.0,14.0 -0.00017342300000000002,0.0,137488.0,14.0 -0.000168151,0.0,137488.0,14.0 -0.00016034,0.0,137488.0,14.0 -0.000172959,0.0,137488.0,14.0 +0.0001597717,0.0,137488.0,14.0 +0.0001638276,0.0,137488.0,14.0 +0.00016198550000000002,0.0,137488.0,14.0 +0.0001604002,0.0,137488.0,14.0 +0.0001607954,0.0,137488.0,14.0 +0.0001613078,0.0,137488.0,14.0 +0.00016364800000000002,0.0,137488.0,14.0 +0.0001609127,0.0,137488.0,14.0 +0.0001640637,0.0,137488.0,14.0 +0.00016058720000000003,0.0,137488.0,14.0 +0.00016334820000000002,0.0,137488.0,14.0 +0.00016228570000000002,0.0,137488.0,14.0 +0.00016335820000000002,0.0,137488.0,14.0 +0.00016281510000000003,0.0,137488.0,14.0 +0.00020086270000000002,0.0,137488.0,14.0 +0.00027284980000000003,0.0,137488.0,14.0 +0.00027314230000000003,0.0,137488.0,14.0 +0.00027208880000000003,0.0,137488.0,14.0 +0.00027912710000000003,0.0,137488.0,14.0 +0.0002754213,0.0,137488.0,14.0 +0.000275705,0.0,137488.0,14.0 +0.0002786943,0.0,137488.0,14.0 +0.00042258470000000007,0.3267333152383416,137488.0,14.0 +0.00016147400000000002,0.0,137488.0,14.0 +0.000166116,0.0,137488.0,14.0 +0.000167647,0.0,137488.0,14.0 +0.00016122560000000002,0.0,137488.0,14.0 +0.0001612179,0.0,137488.0,14.0 +0.00016010590000000002,0.0,137488.0,14.0 +0.00016248640000000002,0.0,137488.0,14.0 +0.0001669428,0.0,137488.0,14.0 +0.0001655262,0.0,137488.0,14.0 +0.0001605137,0.0,137488.0,14.0 +0.0001681042,0.0,137488.0,14.0 +0.0001627586,0.0,137488.0,14.0 +0.00015917630000000002,0.0,137488.0,14.0 +0.0001642716,0.0,137488.0,14.0 +0.0001661281,0.0,137488.0,14.0 +0.00016438850000000002,0.0,137488.0,14.0 +0.0001620216,0.0,137488.0,14.0 +0.0001622563,0.0,137488.0,14.0 +0.0001636053,0.0,137488.0,14.0 +0.0001619407,0.0,137488.0,14.0 +0.0001650442,0.0,137488.0,14.0 +0.0001638742,0.0,137488.0,14.0 +0.0001618733,0.0,137488.0,14.0 +0.0001630427,0.0,137488.0,14.0 +0.0001652933,0.0,137488.0,14.0 +0.0001649847,0.0,137488.0,14.0 +0.00016092420000000002,0.0,137488.0,14.0 +0.0001612319,0.0,137488.0,14.0 +0.00015980570000000003,0.0,137488.0,14.0 +0.00016090640000000002,0.0,137488.0,14.0 +0.0001618782,0.0,137488.0,14.0 +0.00016199350000000001,0.0,137488.0,14.0 +0.00016125050000000002,0.0,137488.0,14.0 +0.0003264183,0.43681405117298877,137488.0,14.0 +0.000166303,0.0,137488.0,14.0 +0.00016463,0.0,137488.0,14.0 +0.0001661907,0.0,137488.0,14.0 +0.0001660664,0.0,137488.0,14.0 +0.00016160850000000002,0.0,137488.0,14.0 +0.0001628342,0.0,137488.0,14.0 +0.0001653445,0.0,137488.0,14.0 +0.00016694300000000002,0.0,137488.0,14.0 +0.00016306140000000002,0.0,137488.0,14.0 +0.0001660048,0.0,137488.0,14.0 +0.0001641941,0.0,137488.0,14.0 +0.0001619266,0.0,137488.0,14.0 +0.0001639969,0.0,137488.0,14.0 +0.0001624219,0.0,137488.0,14.0 +0.00016172810000000001,0.0,137488.0,14.0 +0.00016311180000000002,0.0,137488.0,14.0 +0.0001589093,0.0,137488.0,14.0 +0.00016613600000000002,0.0,137488.0,14.0 +0.00016331400000000002,0.0,137488.0,14.0 +0.00016105470000000002,0.0,137488.0,14.0 +0.00016179980000000002,0.0,137488.0,14.0 +0.0001646819,0.0,137488.0,14.0 +0.0001633408,0.0,137488.0,14.0 +0.00016184320000000002,0.0,137488.0,14.0 +0.0001653809,0.0,137488.0,14.0 +0.0001616341,0.0,137488.0,14.0 +0.0001611545,0.0,137488.0,14.0 +0.00016415990000000002,0.0,137488.0,14.0 +0.0001624464,0.0,137488.0,14.0 +0.00016130290000000003,0.0,137488.0,14.0 +0.0001644196,0.0,137488.0,14.0 +0.00016266730000000001,0.0,137488.0,14.0 +0.00042996890000000006,0.5790393212160229,137488.0,14.0 +0.0001698321,0.0,137488.0,14.0 +0.00016217290000000001,0.0,137488.0,14.0 +0.00016739010000000002,0.0,137488.0,14.0 +0.00016223320000000003,0.0,137488.0,14.0 +0.0001658742,0.0,137488.0,14.0 +0.0001632324,0.0,137488.0,14.0 +0.000161998,0.0,137488.0,14.0 +0.00016717370000000003,0.0,137488.0,14.0 +0.00016092550000000003,0.0,137488.0,14.0 +0.00016435240000000002,0.0,137488.0,14.0 +0.0001649826,0.0,137488.0,14.0 +0.0001444785,0.0,137488.0,14.0 +0.0001029104,0.0,137488.0,14.0 +9.897880000000002e-5,0.0,137488.0,14.0 +9.4443e-5,0.0,137488.0,14.0 +9.43275e-5,0.0,137488.0,14.0 +9.82354e-5,0.0,137488.0,14.0 +9.394780000000002e-5,0.0,137488.0,14.0 +9.32762e-5,0.0,137488.0,14.0 +9.37883e-5,0.0,137488.0,14.0 +9.52745e-5,0.0,137488.0,14.0 +9.43978e-5,0.0,137488.0,14.0 +9.406760000000001e-5,0.0,137488.0,14.0 +9.258130000000001e-5,0.0,137488.0,14.0 +0.0001172808,0.0,137488.0,14.0 +0.00017299050000000002,0.0,137488.0,14.0 +0.00017304010000000002,0.0,137488.0,14.0 +0.0001759145,0.0,137488.0,14.0 +0.00017274640000000002,0.0,137488.0,14.0 +0.0001725254,0.0,137488.0,14.0 +0.0001770005,0.0,137488.0,14.0 +0.0001773513,0.0,137488.0,14.0 +0.0001793727,0.0,137488.0,14.0 +0.0002154179,0.47459751487689744,137488.0,14.0 +9.73523e-5,0.0,137488.0,14.0 +9.851e-5,0.0,137488.0,14.0 +9.386090000000001e-5,0.0,137488.0,14.0 +9.70456e-5,0.0,137488.0,14.0 +9.3187e-5,0.0,137488.0,14.0 +9.459670000000001e-5,0.0,137488.0,14.0 +9.66329e-5,0.0,137488.0,14.0 +9.69154e-5,0.0,137488.0,14.0 +9.35811e-5,0.0,137488.0,14.0 +9.55459e-5,0.0,137488.0,14.0 +9.409150000000001e-5,0.0,137488.0,14.0 +9.41285e-5,0.0,137488.0,14.0 +9.729020000000001e-5,0.0,137488.0,14.0 +9.499850000000001e-5,0.0,137488.0,14.0 +9.36497e-5,0.0,137488.0,14.0 +9.38598e-5,0.0,137488.0,14.0 +9.56587e-5,0.0,137488.0,14.0 +9.37396e-5,0.0,137488.0,14.0 +9.28606e-5,0.0,137488.0,14.0 +9.31664e-5,0.0,137488.0,14.0 +9.60557e-5,0.0,137488.0,14.0 +9.402790000000001e-5,0.0,137488.0,14.0 +9.430030000000001e-5,0.0,137488.0,14.0 +9.304030000000001e-5,0.0,137488.0,14.0 +9.69396e-5,0.0,137488.0,14.0 +9.40344e-5,0.0,137488.0,14.0 +9.3233e-5,0.0,137488.0,14.0 +9.17809e-5,0.0,137488.0,14.0 +9.39056e-5,0.0,137488.0,14.0 +9.368190000000001e-5,0.0,137488.0,14.0 +9.34948e-5,0.0,137488.0,14.0 +9.347150000000001e-5,0.0,137488.0,14.0 +0.000215957,0.49166083988942244,137488.0,14.0 +9.775840000000001e-5,0.0,137488.0,14.0 +9.508940000000001e-5,0.0,137488.0,14.0 +9.67175e-5,0.0,137488.0,14.0 +9.615260000000001e-5,0.0,137488.0,14.0 +9.492390000000001e-5,0.0,137488.0,14.0 +9.504680000000001e-5,0.0,137488.0,14.0 +9.632950000000001e-5,0.0,137488.0,14.0 +9.67071e-5,0.0,137488.0,14.0 +9.546750000000001e-5,0.0,137488.0,14.0 +9.41258e-5,0.0,137488.0,14.0 +9.570950000000001e-5,0.0,137488.0,14.0 +9.3707e-5,0.0,137488.0,14.0 +9.41795e-5,0.0,137488.0,14.0 +9.46766e-5,0.0,137488.0,14.0 +9.375690000000001e-5,0.0,137488.0,14.0 +9.66245e-5,0.0,137488.0,14.0 +9.27195e-5,0.0,137488.0,14.0 +9.358000000000001e-5,0.0,137488.0,14.0 +9.40102e-5,0.0,137488.0,14.0 +9.256310000000001e-5,0.0,137488.0,14.0 +9.336170000000001e-5,0.0,137488.0,14.0 +9.470530000000002e-5,0.0,137488.0,14.0 +9.36277e-5,0.0,137488.0,14.0 +9.335390000000001e-5,0.0,137488.0,14.0 +9.547840000000001e-5,0.0,137488.0,14.0 +9.24898e-5,0.0,137488.0,14.0 +9.40898e-5,0.0,137488.0,14.0 +9.303680000000001e-5,0.0,137488.0,14.0 +9.49548e-5,0.0,137488.0,14.0 +9.18747e-5,0.0,137488.0,14.0 +9.24669e-5,0.0,137488.0,14.0 +9.38385e-5,0.0,137488.0,14.0 +0.000280994,0.6319882275066372,137488.0,14.0 +9.662490000000001e-5,0.0,137488.0,14.0 +9.54394e-5,0.0,137488.0,14.0 +9.975160000000002e-5,0.0,137488.0,14.0 +9.504480000000001e-5,0.0,137488.0,14.0 +9.38471e-5,0.0,137488.0,14.0 +9.494970000000001e-5,0.0,137488.0,14.0 +9.55416e-5,0.0,137488.0,14.0 +9.631710000000001e-5,0.0,137488.0,14.0 +9.410230000000001e-5,0.0,137488.0,14.0 +9.589240000000001e-5,0.0,137488.0,14.0 +9.616e-5,0.0,137488.0,14.0 +9.472730000000001e-5,0.0,137488.0,14.0 +9.331210000000001e-5,0.0,137488.0,14.0 +9.382040000000001e-5,0.0,137488.0,14.0 +9.41417e-5,0.0,137488.0,14.0 +9.291820000000001e-5,0.0,137488.0,14.0 +9.372160000000001e-5,0.0,137488.0,14.0 +9.454830000000001e-5,0.0,137488.0,14.0 +9.36692e-5,0.0,137488.0,14.0 +9.34381e-5,0.0,137488.0,14.0 +9.3254e-5,0.0,137488.0,14.0 +9.382590000000001e-5,0.0,137488.0,14.0 +9.39619e-5,0.0,137488.0,14.0 +9.372530000000001e-5,0.0,137488.0,14.0 +0.0001048703,0.0,137488.0,14.0 +0.0001750715,0.0,137488.0,14.0 +0.0001750249,0.0,137488.0,14.0 +0.0001729171,0.0,137488.0,14.0 +0.00017277330000000003,0.0,137488.0,14.0 +0.0001723491,0.0,137488.0,14.0 +0.0001764938,0.0,137488.0,14.0 +0.00018027670000000001,0.0,137488.0,14.0 +0.0001886601,0.0,137488.0,14.0 +0.0002135674,0.456950358528502,137488.0,14.0 +9.63862e-5,0.0,137488.0,14.0 +9.700030000000001e-5,0.0,137488.0,14.0 +9.752290000000001e-5,0.0,137488.0,14.0 +9.402490000000002e-5,0.0,137488.0,14.0 +9.417480000000001e-5,0.0,137488.0,14.0 +9.35268e-5,0.0,137488.0,14.0 +9.66145e-5,0.0,137488.0,14.0 +9.45182e-5,0.0,137488.0,14.0 +9.420650000000001e-5,0.0,137488.0,14.0 +9.48114e-5,0.0,137488.0,14.0 +9.515580000000001e-5,0.0,137488.0,14.0 +9.39463e-5,0.0,137488.0,14.0 +9.49953e-5,0.0,137488.0,14.0 +9.429690000000002e-5,0.0,137488.0,14.0 +9.44645e-5,0.0,137488.0,14.0 +9.509540000000001e-5,0.0,137488.0,14.0 +9.379560000000001e-5,0.0,137488.0,14.0 +9.37268e-5,0.0,137488.0,14.0 +9.42744e-5,0.0,137488.0,14.0 +9.364690000000001e-5,0.0,137488.0,14.0 +9.40937e-5,0.0,137488.0,14.0 +9.3874e-5,0.0,137488.0,14.0 +9.41127e-5,0.0,137488.0,14.0 +9.62843e-5,0.0,137488.0,14.0 +9.4999e-5,0.0,137488.0,14.0 +9.40488e-5,0.0,137488.0,14.0 +9.41994e-5,0.0,137488.0,14.0 +9.497660000000001e-5,0.0,137488.0,14.0 +9.403430000000001e-5,0.0,137488.0,14.0 +9.32559e-5,0.0,137488.0,14.0 +9.445670000000001e-5,0.0,137488.0,14.0 +9.39461e-5,0.0,137488.0,14.0 +0.00020554410000000003,0.47854450699387624,137488.0,14.0 +9.71968e-5,0.0,137488.0,14.0 +9.511500000000001e-5,0.0,137488.0,14.0 +9.686050000000001e-5,0.0,137488.0,14.0 +9.471180000000001e-5,0.0,137488.0,14.0 +9.563860000000001e-5,0.0,137488.0,14.0 +9.498890000000001e-5,0.0,137488.0,14.0 +9.778500000000001e-5,0.0,137488.0,14.0 diff --git a/perf/PatternFolds/output/63d72b2e-12dc-56bf-b1b6-fe92e6ab2fec.csv b/perf/PatternFolds/output/63d72b2e-12dc-56bf-b1b6-fe92e6ab2fec.csv new file mode 100644 index 0000000..a537394 --- /dev/null +++ b/perf/PatternFolds/output/63d72b2e-12dc-56bf-b1b6-fe92e6ab2fec.csv @@ -0,0 +1,5 @@ +bytes,percentage,filenames,linenumbers +80160,83.17,/home/baffier/.julia/packages/PatternFolds/ChWCd/src/vector.jl,19 +16128,16.73,/home/baffier/.julia/packages/PatternFolds/ChWCd/src/vector.jl,84 +48,0.05,/home/baffier/.julia/packages/PatternFolds/ChWCd/src/intervals.jl,32 +48,0.05,/home/baffier/.julia/packages/PatternFolds/ChWCd/src/common.jl,100 diff --git a/perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv b/perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv index 1d107c2..bdc4fda 100644 --- a/perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv +++ b/perf/PatternFolds/output/69d558a3-4d56-5375-870a-f6693257a510.csv @@ -1,101 +1,1001 @@ times,gctimes,memory,allocs -218498.0,0.0,137488,14 -192736.0,0.0,137488,14 -192518.0,0.0,137488,14 -191635.0,0.0,137488,14 -202047.0,0.0,137488,14 -195499.0,0.0,137488,14 -201255.0,0.0,137488,14 -206278.0,0.0,137488,14 -200867.0,0.0,137488,14 -208273.0,0.0,137488,14 -197150.0,0.0,137488,14 -225582.0,0.0,137488,14 -233712.0,0.0,137488,14 -238691.0,0.0,137488,14 -227678.0,0.0,137488,14 -194571.0,0.0,137488,14 -181429.0,0.0,137488,14 -177151.0,0.0,137488,14 -191427.0,0.0,137488,14 -170417.0,0.0,137488,14 -202763.0,0.0,137488,14 -218712.0,0.0,137488,14 -184627.0,0.0,137488,14 -194569.0,0.0,137488,14 -179599.0,0.0,137488,14 -189675.0,0.0,137488,14 -208875.0,0.0,137488,14 -202754.0,0.0,137488,14 -219630.0,0.0,137488,14 -228540.0,0.0,137488,14 -200715.0,0.0,137488,14 -188645.0,0.0,137488,14 -209111.0,0.0,137488,14 -188384.0,0.0,137488,14 -208429.0,0.0,137488,14 -208926.0,0.0,137488,14 -195218.0,0.0,137488,14 -231166.0,0.0,137488,14 -1.047502e6,0.0,137488,14 -233728.0,0.0,137488,14 -234553.0,0.0,137488,14 -231856.0,0.0,137488,14 -233590.0,0.0,137488,14 -234763.0,0.0,137488,14 -227381.0,0.0,137488,14 -237920.0,0.0,137488,14 -237607.0,0.0,137488,14 -231548.0,0.0,137488,14 -178993.0,0.0,137488,14 -212844.0,0.0,137488,14 -220521.0,0.0,137488,14 -235149.0,0.0,137488,14 -232756.0,0.0,137488,14 -230651.0,0.0,137488,14 -224737.0,0.0,137488,14 -227578.0,0.0,137488,14 -235044.0,0.0,137488,14 -215647.0,0.0,137488,14 -213359.0,0.0,137488,14 -215063.0,0.0,137488,14 -233171.0,0.0,137488,14 -196000.0,0.0,137488,14 -196427.0,0.0,137488,14 -213791.0,0.0,137488,14 -189399.0,0.0,137488,14 -249972.0,0.0,137488,14 -228208.0,0.0,137488,14 -198777.0,0.0,137488,14 -246549.0,0.0,137488,14 -258616.0,0.0,137488,14 -234359.0,0.0,137488,14 -229284.0,0.0,137488,14 -225256.0,0.0,137488,14 -225427.0,0.0,137488,14 -232067.0,0.0,137488,14 -228166.0,0.0,137488,14 -230662.0,0.0,137488,14 -233518.0,0.0,137488,14 -225279.0,0.0,137488,14 -220710.0,0.0,137488,14 -222454.0,0.0,137488,14 -212593.0,0.0,137488,14 -220207.0,0.0,137488,14 -170313.0,0.0,137488,14 -195810.0,0.0,137488,14 -210528.0,0.0,137488,14 -190355.0,0.0,137488,14 -204577.0,0.0,137488,14 -230291.0,0.0,137488,14 -237396.0,0.0,137488,14 -234833.0,0.0,137488,14 -232630.0,0.0,137488,14 -222728.0,0.0,137488,14 -224488.0,0.0,137488,14 -224647.0,0.0,137488,14 -229146.0,0.0,137488,14 -221031.0,0.0,137488,14 -212339.0,0.0,137488,14 -230380.0,0.0,137488,14 -222276.0,0.0,137488,14 +175366.1,0.0,137488,14 +164378.6,0.0,137488,14 +161413.1,0.0,137488,14 +161254.4,0.0,137488,14 +1.7662012e6,0.0,137488,14 +159861.0,0.0,137488,14 +167745.3,0.0,137488,14 +156664.4,0.0,137488,14 +161969.0,0.0,137488,14 +160325.8,0.0,137488,14 +158144.8,0.0,137488,14 +172267.4,0.0,137488,14 +160157.4,0.0,137488,14 +1.7658253e6,0.0,137488,14 +158777.2,0.0,137488,14 +159313.8,0.0,137488,14 +161629.3,0.0,137488,14 +180491.3,0.0,137488,14 +181110.2,0.0,137488,14 +236525.6,0.0,137488,14 +288117.6,0.0,137488,14 +295510.1,0.0,137488,14 +281721.7,0.0,137488,14 +279470.1,0.0,137488,14 +318649.3,0.0,137488,14 +279143.1,0.0,137488,14 +281035.1,0.0,137488,14 +278719.5,0.0,137488,14 +284436.0,0.0,137488,14 +1.8276837e6,1.5737187e6,137488,14 +166255.3,0.0,137488,14 +159989.7,0.0,137488,14 +164195.5,0.0,137488,14 +163168.0,0.0,137488,14 +162214.5,0.0,137488,14 +164279.5,0.0,137488,14 +159280.1,0.0,137488,14 +160180.4,0.0,137488,14 +157227.8,0.0,137488,14 +159702.1,0.0,137488,14 +166713.9,0.0,137488,14 +160607.5,0.0,137488,14 +163508.9,0.0,137488,14 +161039.1,0.0,137488,14 +161882.3,0.0,137488,14 +160323.5,0.0,137488,14 +159669.9,0.0,137488,14 +160786.6,0.0,137488,14 +159162.0,0.0,137488,14 +162275.7,0.0,137488,14 +159460.9,0.0,137488,14 +159092.4,0.0,137488,14 +207228.2,0.0,137488,14 +269879.8,0.0,137488,14 +277871.2,0.0,137488,14 +277256.4,0.0,137488,14 +279422.0,0.0,137488,14 +280504.4,0.0,137488,14 +280853.5,0.0,137488,14 +283459.1,0.0,137488,14 +290305.4,0.0,137488,14 +292612.8,0.0,137488,14 +1.1251086e6,841003.6,137488,14 +160622.9,0.0,137488,14 +159939.0,0.0,137488,14 +165511.7,0.0,137488,14 +163781.2,0.0,137488,14 +158259.8,0.0,137488,14 +159265.7,0.0,137488,14 +161035.0,0.0,137488,14 +157974.2,0.0,137488,14 +160948.8,0.0,137488,14 +158742.1,0.0,137488,14 +161555.1,0.0,137488,14 +163910.5,0.0,137488,14 +161665.7,0.0,137488,14 +164129.2,0.0,137488,14 +160617.7,0.0,137488,14 +162308.3,0.0,137488,14 +161849.8,0.0,137488,14 +157673.4,0.0,137488,14 +1.765351e6,0.0,137488,14 +163294.7,0.0,137488,14 +161975.9,0.0,137488,14 +162280.7,0.0,137488,14 +162904.8,0.0,137488,14 +163130.2,0.0,137488,14 +159736.6,0.0,137488,14 +161548.0,0.0,137488,14 +159644.1,0.0,137488,14 +160353.4,0.0,137488,14 +1.7640286e6,0.0,137488,14 +158329.6,0.0,137488,14 +158995.7,0.0,137488,14 +160666.3,0.0,137488,14 +160267.2,0.0,137488,14 +314417.6,140534.8,137488,14 +166146.5,0.0,137488,14 +163279.4,0.0,137488,14 +164734.5,0.0,137488,14 +1.765992e6,0.0,137488,14 +160491.5,0.0,137488,14 +165028.4,0.0,137488,14 +159495.6,0.0,137488,14 +159924.6,0.0,137488,14 +160112.1,0.0,137488,14 +1.5622759e6,0.0,137488,14 +168270.0,0.0,137488,14 +167855.9,0.0,137488,14 +165619.3,0.0,137488,14 +166085.2,0.0,137488,14 +166645.9,0.0,137488,14 +167512.2,0.0,137488,14 +2.5692395e6,0.0,137488,14 +163864.6,0.0,137488,14 +166301.9,0.0,137488,14 +164831.1,0.0,137488,14 +168620.2,0.0,137488,14 +174550.4,0.0,137488,14 +174059.8,0.0,137488,14 +174655.8,0.0,137488,14 +166877.3,0.0,137488,14 +1.7700466e6,0.0,137488,14 +166524.4,0.0,137488,14 +165156.8,0.0,137488,14 +165162.4,0.0,137488,14 +165326.8,0.0,137488,14 +168314.6,0.0,137488,14 +173837.2,0.0,137488,14 +328350.6,141155.7,137488,14 +172973.9,0.0,137488,14 +1.7761776e6,0.0,137488,14 +171031.8,0.0,137488,14 +174604.6,0.0,137488,14 +167512.6,0.0,137488,14 +167778.1,0.0,137488,14 +177515.3,0.0,137488,14 +173752.9,0.0,137488,14 +172170.3,0.0,137488,14 +168484.4,0.0,137488,14 +1.7772691e6,0.0,137488,14 +167512.6,0.0,137488,14 +1.7704593e6,0.0,137488,14 +170761.4,0.0,137488,14 +170857.8,0.0,137488,14 +172819.9,0.0,137488,14 +171217.1,0.0,137488,14 +170117.0,0.0,137488,14 +165995.4,0.0,137488,14 +169862.3,0.0,137488,14 +166565.3,0.0,137488,14 +168035.9,0.0,137488,14 +1.7725261e6,0.0,137488,14 +168144.0,0.0,137488,14 +169805.3,0.0,137488,14 +169189.3,0.0,137488,14 +168896.2,0.0,137488,14 +170141.2,0.0,137488,14 +168041.7,0.0,137488,14 +168755.1,0.0,137488,14 +168087.0,0.0,137488,14 +1.7733547e6,0.0,137488,14 +168149.5,0.0,137488,14 +558691.3,373059.2,137488,14 +170679.8,0.0,137488,14 +172866.9,0.0,137488,14 +172252.7,0.0,137488,14 +166301.7,0.0,137488,14 +1.7740614e6,0.0,137488,14 +170968.6,0.0,137488,14 +164799.0,0.0,137488,14 +171069.8,0.0,137488,14 +168524.8,0.0,137488,14 +172742.6,0.0,137488,14 +170143.3,0.0,137488,14 +168737.3,0.0,137488,14 +169120.2,0.0,137488,14 +167218.0,0.0,137488,14 +1.7769023e6,0.0,137488,14 +169292.6,0.0,137488,14 +170182.2,0.0,137488,14 +170620.4,0.0,137488,14 +200814.2,0.0,137488,14 +282992.9,0.0,137488,14 +288016.7,0.0,137488,14 +304207.2,0.0,137488,14 +303652.9,0.0,137488,14 +286507.2,0.0,137488,14 +288222.9,0.0,137488,14 +287883.4,0.0,137488,14 +287815.6,0.0,137488,14 +286024.4,0.0,137488,14 +286961.7,0.0,137488,14 +286446.0,0.0,137488,14 +288114.2,0.0,137488,14 +286852.3,0.0,137488,14 +370140.8,138565.3,137488,14 +183858.3,0.0,137488,14 +179633.3,0.0,137488,14 +180847.5,0.0,137488,14 +177835.1,0.0,137488,14 +172644.4,0.0,137488,14 +179361.0,0.0,137488,14 +174305.4,0.0,137488,14 +174842.6,0.0,137488,14 +170209.3,0.0,137488,14 +170016.5,0.0,137488,14 +175629.5,0.0,137488,14 +173837.6,0.0,137488,14 +175322.9,0.0,137488,14 +174645.0,0.0,137488,14 +177175.5,0.0,137488,14 +174742.3,0.0,137488,14 +174588.5,0.0,137488,14 +174090.3,0.0,137488,14 +174479.7,0.0,137488,14 +177703.9,0.0,137488,14 +176726.1,0.0,137488,14 +175404.9,0.0,137488,14 +172591.7,0.0,137488,14 +172420.8,0.0,137488,14 +175074.6,0.0,137488,14 +175381.2,0.0,137488,14 +171032.6,0.0,137488,14 +170297.5,0.0,137488,14 +170885.3,0.0,137488,14 +168499.2,0.0,137488,14 +171344.2,0.0,137488,14 +174294.8,0.0,137488,14 +335099.5,143096.3,137488,14 +177395.9,0.0,137488,14 +179695.3,0.0,137488,14 +179585.7,0.0,137488,14 +182909.4,0.0,137488,14 +177779.8,0.0,137488,14 +180004.3,0.0,137488,14 +175204.4,0.0,137488,14 +173347.4,0.0,137488,14 +172603.9,0.0,137488,14 +175449.1,0.0,137488,14 +178765.5,0.0,137488,14 +176225.1,0.0,137488,14 +173999.1,0.0,137488,14 +170621.7,0.0,137488,14 +174673.3,0.0,137488,14 +176466.0,0.0,137488,14 +172978.4,0.0,137488,14 +173786.5,0.0,137488,14 +173479.5,0.0,137488,14 +178887.7,0.0,137488,14 +175150.9,0.0,137488,14 +179478.1,0.0,137488,14 +178196.0,0.0,137488,14 +179312.7,0.0,137488,14 +172853.7,0.0,137488,14 +173398.3,0.0,137488,14 +177280.0,0.0,137488,14 +174961.6,0.0,137488,14 +174099.8,0.0,137488,14 +169950.6,0.0,137488,14 +172471.2,0.0,137488,14 +172080.2,0.0,137488,14 +170062.9,0.0,137488,14 +332452.4,140778.6,137488,14 +178242.3,0.0,137488,14 +180621.0,0.0,137488,14 +179987.5,0.0,137488,14 +179794.5,0.0,137488,14 +180521.0,0.0,137488,14 +178907.5,0.0,137488,14 +174406.2,0.0,137488,14 +174745.7,0.0,137488,14 +171694.2,0.0,137488,14 +183181.9,0.0,137488,14 +173577.0,0.0,137488,14 +437961.7,0.0,137488,14 +176975.6,0.0,137488,14 +175723.8,0.0,137488,14 +177335.2,0.0,137488,14 +174590.2,0.0,137488,14 +177260.0,0.0,137488,14 +191793.6,0.0,137488,14 +174666.4,0.0,137488,14 +178360.4,0.0,137488,14 +175040.2,0.0,137488,14 +1.7794507e6,0.0,137488,14 +172954.0,0.0,137488,14 +173195.4,0.0,137488,14 +171635.2,0.0,137488,14 +174120.1,0.0,137488,14 +170891.2,0.0,137488,14 +168903.4,0.0,137488,14 +173333.8,0.0,137488,14 +172867.8,0.0,137488,14 +1.7780939e6,0.0,137488,14 +171264.2,0.0,137488,14 +548363.9,361548.3,137488,14 +177862.1,0.0,137488,14 +172934.2,0.0,137488,14 +178408.1,0.0,137488,14 +174393.0,0.0,137488,14 +1.7771834e6,0.0,137488,14 +174796.3,0.0,137488,14 +172903.6,0.0,137488,14 +172679.1,0.0,137488,14 +173558.6,0.0,137488,14 +174421.5,0.0,137488,14 +131453.2,0.0,137488,14 +132999.5,0.0,137488,14 +129371.1,0.0,137488,14 +128790.7,0.0,137488,14 +133167.4,0.0,137488,14 +129058.9,0.0,137488,14 +128023.6,0.0,137488,14 +128943.6,0.0,137488,14 +128804.0,0.0,137488,14 +202349.3,0.0,137488,14 +257408.3,0.0,137488,14 +275684.0,0.0,137488,14 +274044.3,0.0,137488,14 +271915.0,0.0,137488,14 +295534.6,0.0,137488,14 +291381.9,0.0,137488,14 +336686.2,0.0,137488,14 +259079.9,0.0,137488,14 +280155.2,0.0,137488,14 +258459.4,0.0,137488,14 +259705.9,0.0,137488,14 +270089.5,0.0,137488,14 +405143.1,150975.4,137488,14 +166064.9,0.0,137488,14 +206508.4,0.0,137488,14 +211713.2,0.0,137488,14 +171694.4,0.0,137488,14 +205977.2,0.0,137488,14 +191194.8,0.0,137488,14 +160053.1,0.0,137488,14 +157897.9,0.0,137488,14 +162090.3,0.0,137488,14 +158100.5,0.0,137488,14 +162418.7,0.0,137488,14 +164569.8,0.0,137488,14 +161720.1,0.0,137488,14 +160894.6,0.0,137488,14 +163272.6,0.0,137488,14 +179057.5,0.0,137488,14 +206769.6,0.0,137488,14 +170425.6,0.0,137488,14 +214986.4,0.0,137488,14 +208559.4,0.0,137488,14 +168191.1,0.0,137488,14 +193207.9,0.0,137488,14 +157988.5,0.0,137488,14 +158585.8,0.0,137488,14 +157734.3,0.0,137488,14 +159478.7,0.0,137488,14 +160519.0,0.0,137488,14 +158951.4,0.0,137488,14 +160139.4,0.0,137488,14 +160048.0,0.0,137488,14 +159965.5,0.0,137488,14 +175338.8,0.0,137488,14 +205164.5,0.0,137488,14 +345872.8,149837.2,137488,14 +206562.8,0.0,137488,14 +216998.1,0.0,137488,14 +174227.5,0.0,137488,14 +206640.3,0.0,137488,14 +200205.6,0.0,137488,14 +158776.5,0.0,137488,14 +158063.5,0.0,137488,14 +160598.8,0.0,137488,14 +158802.2,0.0,137488,14 +162288.9,0.0,137488,14 +159833.3,0.0,137488,14 +161844.7,0.0,137488,14 +161593.9,0.0,137488,14 +158241.5,0.0,137488,14 +172800.0,0.0,137488,14 +203490.7,0.0,137488,14 +209885.7,0.0,137488,14 +196017.7,0.0,137488,14 +181228.1,0.0,137488,14 +209697.1,0.0,137488,14 +1.8012872e6,0.0,137488,14 +206432.5,0.0,137488,14 +215400.5,0.0,137488,14 +169797.1,0.0,137488,14 +209324.5,0.0,137488,14 +205848.8,0.0,137488,14 +175136.3,0.0,137488,14 +190788.2,0.0,137488,14 +1.805004e6,0.0,137488,14 +172765.7,0.0,137488,14 +214711.4,0.0,137488,14 +211061.1,0.0,137488,14 +368449.5,149878.3,137488,14 +176388.6,0.0,137488,14 +209938.5,0.0,137488,14 +1.0130496e6,0.0,137488,14 +201593.6,0.0,137488,14 +216619.0,0.0,137488,14 +214926.8,0.0,137488,14 +197946.5,0.0,137488,14 +173458.3,0.0,137488,14 +210511.9,0.0,137488,14 +206972.9,0.0,137488,14 +1.8180117e6,0.0,137488,14 +187397.0,0.0,137488,14 +197676.7,0.0,137488,14 +213673.4,0.0,137488,14 +212240.1,0.0,137488,14 +205477.7,0.0,137488,14 +210197.8,0.0,137488,14 +209882.2,0.0,137488,14 +1.8092723e6,0.0,137488,14 +209919.1,0.0,137488,14 +212902.0,0.0,137488,14 +189647.4,0.0,137488,14 +192971.1,0.0,137488,14 +210136.7,0.0,137488,14 +213831.4,0.0,137488,14 +209490.2,0.0,137488,14 +163489.9,0.0,137488,14 +156625.4,0.0,137488,14 +158414.8,0.0,137488,14 +158274.0,0.0,137488,14 +157819.8,0.0,137488,14 +159209.8,0.0,137488,14 +535814.0,363634.7,137488,14 +171795.6,0.0,137488,14 +207371.6,0.0,137488,14 +176904.7,0.0,137488,14 +204070.0,0.0,137488,14 +212612.5,0.0,137488,14 +208802.5,0.0,137488,14 +200437.3,0.0,137488,14 +154612.7,0.0,137488,14 +158989.3,0.0,137488,14 +158437.1,0.0,137488,14 +159408.2,0.0,137488,14 +163297.0,0.0,137488,14 +162162.5,0.0,137488,14 +158869.8,0.0,137488,14 +163504.8,0.0,137488,14 +160626.2,0.0,137488,14 +177707.3,0.0,137488,14 +166895.9,0.0,137488,14 +209688.5,0.0,137488,14 +253961.3,0.0,137488,14 +295290.1,0.0,137488,14 +319850.9,0.0,137488,14 +322803.8,0.0,137488,14 +272686.0,0.0,137488,14 +274702.8,0.0,137488,14 +279747.9,0.0,137488,14 +279644.1,0.0,137488,14 +280794.0,0.0,137488,14 +302561.7,0.0,137488,14 +309036.9,0.0,137488,14 +329911.5,0.0,137488,14 +308955.4,0.0,137488,14 +329536.3,0.0,137488,14 +359165.6,144373.5,137488,14 +161275.5,0.0,137488,14 +163468.9,0.0,137488,14 +162436.8,0.0,137488,14 +161531.9,0.0,137488,14 +158294.9,0.0,137488,14 +160879.8,0.0,137488,14 +158811.9,0.0,137488,14 +158719.7,0.0,137488,14 +156375.5,0.0,137488,14 +204039.7,0.0,137488,14 +210350.5,0.0,137488,14 +207267.7,0.0,137488,14 +215366.4,0.0,137488,14 +163986.1,0.0,137488,14 +208846.7,0.0,137488,14 +211064.2,0.0,137488,14 +189111.3,0.0,137488,14 +158691.1,0.0,137488,14 +157075.0,0.0,137488,14 +159533.1,0.0,137488,14 +159554.5,0.0,137488,14 +158445.6,0.0,137488,14 +158332.7,0.0,137488,14 +157660.2,0.0,137488,14 +160759.3,0.0,137488,14 +157554.7,0.0,137488,14 +1.7639453e6,0.0,137488,14 +159401.3,0.0,137488,14 +159638.0,0.0,137488,14 +160038.7,0.0,137488,14 +158431.0,0.0,137488,14 +161644.9,0.0,137488,14 +310444.9,138800.5,137488,14 +165311.9,0.0,137488,14 +160460.5,0.0,137488,14 +1.766832e6,0.0,137488,14 +161049.0,0.0,137488,14 +158931.2,0.0,137488,14 +163096.6,0.0,137488,14 +160230.9,0.0,137488,14 +159128.2,0.0,137488,14 +155573.2,0.0,137488,14 +157038.7,0.0,137488,14 +162103.0,0.0,137488,14 +160983.4,0.0,137488,14 +3.3732865e6,0.0,137488,14 +176810.5,0.0,137488,14 +177584.6,0.0,137488,14 +175671.8,0.0,137488,14 +635657.7,0.0,137488,14 +255656.5,0.0,137488,14 +1.8637753e6,0.0,137488,14 +266703.4,0.0,137488,14 +254119.7,0.0,137488,14 +266174.6,0.0,137488,14 +260324.7,0.0,137488,14 +251929.1,0.0,137488,14 +2.6533174e6,0.0,137488,14 +249394.3,0.0,137488,14 +243722.2,0.0,137488,14 +246601.6,0.0,137488,14 +245288.5,0.0,137488,14 +241603.7,0.0,137488,14 +1.8475664e6,0.0,137488,14 +249719.6,0.0,137488,14 +1.1235983e6,860330.2,137488,14 +1.8477609e6,0.0,137488,14 +230844.4,0.0,137488,14 +237034.1,0.0,137488,14 +230518.1,0.0,137488,14 +229835.7,0.0,137488,14 +228683.2,0.0,137488,14 +230525.7,0.0,137488,14 +1.8320599e6,0.0,137488,14 +226887.0,0.0,137488,14 +226749.3,0.0,137488,14 +231652.1,0.0,137488,14 +228947.5,0.0,137488,14 +228285.1,0.0,137488,14 +229400.3,0.0,137488,14 +1.8343414e6,0.0,137488,14 +226186.7,0.0,137488,14 +225781.7,0.0,137488,14 +186863.8,0.0,137488,14 +172734.9,0.0,137488,14 +171795.2,0.0,137488,14 +174460.7,0.0,137488,14 +174405.2,0.0,137488,14 +1.7788527e6,0.0,137488,14 +172538.3,0.0,137488,14 +173014.9,0.0,137488,14 +173758.7,0.0,137488,14 +169683.8,0.0,137488,14 +171017.9,0.0,137488,14 +169652.8,0.0,137488,14 +172055.8,0.0,137488,14 +171756.2,0.0,137488,14 +172693.8,0.0,137488,14 +1.7776752e6,0.0,137488,14 +584471.2,397753.8,137488,14 +177707.1,0.0,137488,14 +172270.6,0.0,137488,14 +176570.9,0.0,137488,14 +173877.2,0.0,137488,14 +1.7761005e6,0.0,137488,14 +175363.3,0.0,137488,14 +171798.4,0.0,137488,14 +173441.0,0.0,137488,14 +170390.0,0.0,137488,14 +174845.5,0.0,137488,14 +177474.3,0.0,137488,14 +175175.6,0.0,137488,14 +172992.2,0.0,137488,14 +1.7754239e6,0.0,137488,14 +172803.9,0.0,137488,14 +172629.3,0.0,137488,14 +173556.0,0.0,137488,14 +168087.1,0.0,137488,14 +172234.6,0.0,137488,14 +272826.6,0.0,137488,14 +284680.3,0.0,137488,14 +3.0901271e6,0.0,137488,14 +284484.6,0.0,137488,14 +282436.6,0.0,137488,14 +290276.0,0.0,137488,14 +2.6971717e6,0.0,137488,14 +291822.3,0.0,137488,14 +295060.2,0.0,137488,14 +292078.0,0.0,137488,14 +2.697355e6,0.0,137488,14 +287497.4,0.0,137488,14 +289509.6,0.0,137488,14 +409561.4,139709.0,137488,14 +2.5814177e6,0.0,137488,14 +178002.7,0.0,137488,14 +182232.8,0.0,137488,14 +176860.7,0.0,137488,14 +174424.3,0.0,137488,14 +175021.8,0.0,137488,14 +172735.6,0.0,137488,14 +2.5764685e6,0.0,137488,14 +175282.8,0.0,137488,14 +174453.6,0.0,137488,14 +178706.7,0.0,137488,14 +175636.2,0.0,137488,14 +173972.3,0.0,137488,14 +175705.6,0.0,137488,14 +2.5819872e6,0.0,137488,14 +174862.8,0.0,137488,14 +176775.2,0.0,137488,14 +172356.3,0.0,137488,14 +176999.3,0.0,137488,14 +172622.4,0.0,137488,14 +171606.4,0.0,137488,14 +2.5824537e6,0.0,137488,14 +174985.3,0.0,137488,14 +175244.0,0.0,137488,14 +170385.4,0.0,137488,14 +172482.0,0.0,137488,14 +169082.0,0.0,137488,14 +1.3654259e6,0.0,137488,14 +161641.3,0.0,137488,14 +158076.7,0.0,137488,14 +159454.3,0.0,137488,14 +159121.5,0.0,137488,14 +160220.2,0.0,137488,14 +317047.1,139815.6,137488,14 +162585.6,0.0,137488,14 +163285.1,0.0,137488,14 +1.7650875e6,0.0,137488,14 +159775.2,0.0,137488,14 +159576.7,0.0,137488,14 +163175.7,0.0,137488,14 +158010.6,0.0,137488,14 +159357.4,0.0,137488,14 +158496.8,0.0,137488,14 +166282.2,0.0,137488,14 +164250.9,0.0,137488,14 +160394.6,0.0,137488,14 +1.7687714e6,0.0,137488,14 +157527.1,0.0,137488,14 +160172.2,0.0,137488,14 +161048.9,0.0,137488,14 +160458.7,0.0,137488,14 +160669.6,0.0,137488,14 +159930.1,0.0,137488,14 +158988.4,0.0,137488,14 +159692.1,0.0,137488,14 +159749.1,0.0,137488,14 +1.7632008e6,0.0,137488,14 +158403.9,0.0,137488,14 +159214.1,0.0,137488,14 +158499.9,0.0,137488,14 +158391.2,0.0,137488,14 +157935.9,0.0,137488,14 +159545.8,0.0,137488,14 +158245.6,0.0,137488,14 +159919.2,0.0,137488,14 +157350.8,0.0,137488,14 +1.9177388e6,1.7427435e6,137488,14 +163879.3,0.0,137488,14 +161416.3,0.0,137488,14 +159733.1,0.0,137488,14 +163113.0,0.0,137488,14 +158922.9,0.0,137488,14 +163963.5,0.0,137488,14 +158478.9,0.0,137488,14 +160213.8,0.0,137488,14 +1.7638882e6,0.0,137488,14 +161829.2,0.0,137488,14 +167274.5,0.0,137488,14 +160159.3,0.0,137488,14 +160131.7,0.0,137488,14 +159244.8,0.0,137488,14 +159985.1,0.0,137488,14 +168183.1,0.0,137488,14 +159227.1,0.0,137488,14 +158886.5,0.0,137488,14 +1.7695591e6,0.0,137488,14 +160166.4,0.0,137488,14 +162299.7,0.0,137488,14 +159218.3,0.0,137488,14 +158543.1,0.0,137488,14 +159263.2,0.0,137488,14 +158300.7,0.0,137488,14 +158896.3,0.0,137488,14 +158005.4,0.0,137488,14 +158643.6,0.0,137488,14 +1.7641406e6,0.0,137488,14 +156477.0,0.0,137488,14 +160419.9,0.0,137488,14 +160393.8,0.0,137488,14 +519349.2,349618.7,137488,14 +163371.3,0.0,137488,14 +160088.7,0.0,137488,14 +1.7692633e6,0.0,137488,14 +162163.7,0.0,137488,14 +159748.7,0.0,137488,14 +162778.7,0.0,137488,14 +162718.7,0.0,137488,14 +158828.5,0.0,137488,14 +159148.2,0.0,137488,14 +158915.4,0.0,137488,14 +162717.1,0.0,137488,14 +161990.2,0.0,137488,14 +1.7673616e6,0.0,137488,14 +159525.0,0.0,137488,14 +159399.6,0.0,137488,14 +160347.3,0.0,137488,14 +156824.5,0.0,137488,14 +161485.3,0.0,137488,14 +158163.3,0.0,137488,14 +214270.6,0.0,137488,14 +273228.3,0.0,137488,14 +279316.7,0.0,137488,14 +1.6556259e6,0.0,137488,14 +277757.5,0.0,137488,14 +284085.7,0.0,137488,14 +284551.2,0.0,137488,14 +284655.9,0.0,137488,14 +1.8882529e6,0.0,137488,14 +282592.7,0.0,137488,14 +285454.8,0.0,137488,14 +285225.5,0.0,137488,14 +295507.3,0.0,137488,14 +287547.2,0.0,137488,14 +2.5213451e6,2.3200256e6,137488,14 +167215.8,0.0,137488,14 +168166.5,0.0,137488,14 +167466.3,0.0,137488,14 +164540.7,0.0,137488,14 +167186.5,0.0,137488,14 +171371.0,0.0,137488,14 +1.7720193e6,0.0,137488,14 +165780.1,0.0,137488,14 +163167.5,0.0,137488,14 +168939.9,0.0,137488,14 +168068.2,0.0,137488,14 +166200.5,0.0,137488,14 +170568.2,0.0,137488,14 +166301.7,0.0,137488,14 +170237.8,0.0,137488,14 +170122.5,0.0,137488,14 +1.7701709e6,0.0,137488,14 +162019.5,0.0,137488,14 +165031.7,0.0,137488,14 +165476.1,0.0,137488,14 +164749.5,0.0,137488,14 +164919.3,0.0,137488,14 +242423.7,0.0,137488,14 +279487.4,0.0,137488,14 +1.8876751e6,0.0,137488,14 +285685.4,0.0,137488,14 +281543.8,0.0,137488,14 +282864.0,0.0,137488,14 +286583.6,0.0,137488,14 +284735.0,0.0,137488,14 +1.890256e6,0.0,137488,14 +284044.2,0.0,137488,14 +378729.1,139406.2,137488,14 +171947.6,0.0,137488,14 +171963.5,0.0,137488,14 +173196.1,0.0,137488,14 +1.7770476e6,0.0,137488,14 +167512.3,0.0,137488,14 +168227.3,0.0,137488,14 +168941.2,0.0,137488,14 +169927.5,0.0,137488,14 +168774.9,0.0,137488,14 +169289.3,0.0,137488,14 +170627.8,0.0,137488,14 +173264.4,0.0,137488,14 +170471.4,0.0,137488,14 +1.7747543e6,0.0,137488,14 +168614.3,0.0,137488,14 +170761.8,0.0,137488,14 +167545.9,0.0,137488,14 +171117.0,0.0,137488,14 +169880.9,0.0,137488,14 +168206.7,0.0,137488,14 +170740.3,0.0,137488,14 +173774.7,0.0,137488,14 +1.7745217e6,0.0,137488,14 +168521.8,0.0,137488,14 +170813.9,0.0,137488,14 +169168.8,0.0,137488,14 +169731.1,0.0,137488,14 +171067.4,0.0,137488,14 +166934.5,0.0,137488,14 +169472.9,0.0,137488,14 +171933.9,0.0,137488,14 +1.7748944e6,0.0,137488,14 +326289.4,140394.8,137488,14 +176239.8,0.0,137488,14 +168502.1,0.0,137488,14 +175234.5,0.0,137488,14 +171430.0,0.0,137488,14 +170966.1,0.0,137488,14 +169489.8,0.0,137488,14 +171099.0,0.0,137488,14 +1.7731592e6,0.0,137488,14 +170775.5,0.0,137488,14 +168762.2,0.0,137488,14 +172086.3,0.0,137488,14 +173119.0,0.0,137488,14 +171616.8,0.0,137488,14 +169087.1,0.0,137488,14 +170446.8,0.0,137488,14 +171189.0,0.0,137488,14 +1.7720647e6,0.0,137488,14 +166876.9,0.0,137488,14 +168383.4,0.0,137488,14 +170978.7,0.0,137488,14 +177324.4,0.0,137488,14 +165398.6,0.0,137488,14 +156792.7,0.0,137488,14 +160759.9,0.0,137488,14 +160770.3,0.0,137488,14 +161984.3,0.0,137488,14 +157198.9,0.0,137488,14 +159038.4,0.0,137488,14 +159666.4,0.0,137488,14 +160380.8,0.0,137488,14 +161869.9,0.0,137488,14 +159795.1,0.0,137488,14 +157368.2,0.0,137488,14 +314340.9,138800.4,137488,14 +164352.4,0.0,137488,14 +162104.3,0.0,137488,14 +164835.7,0.0,137488,14 +160272.7,0.0,137488,14 +158625.2,0.0,137488,14 +163605.4,0.0,137488,14 +158966.4,0.0,137488,14 +161507.1,0.0,137488,14 +159469.4,0.0,137488,14 +161305.5,0.0,137488,14 +162001.6,0.0,137488,14 +162056.4,0.0,137488,14 +161576.5,0.0,137488,14 +162713.5,0.0,137488,14 +162932.6,0.0,137488,14 +161733.0,0.0,137488,14 +161939.2,0.0,137488,14 +159277.9,0.0,137488,14 +164015.4,0.0,137488,14 +159789.0,0.0,137488,14 +163339.4,0.0,137488,14 +160744.6,0.0,137488,14 +161550.0,0.0,137488,14 +162415.7,0.0,137488,14 +159598.3,0.0,137488,14 +161239.7,0.0,137488,14 +159474.5,0.0,137488,14 +162438.0,0.0,137488,14 +158812.1,0.0,137488,14 +158176.0,0.0,137488,14 +161425.8,0.0,137488,14 +164435.5,0.0,137488,14 +537507.3,366651.9,137488,14 +168134.2,0.0,137488,14 +160175.6,0.0,137488,14 +163392.8,0.0,137488,14 +161436.1,0.0,137488,14 +165284.4,0.0,137488,14 +159762.1,0.0,137488,14 +160662.2,0.0,137488,14 +159919.9,0.0,137488,14 +159934.7,0.0,137488,14 +160299.5,0.0,137488,14 +161401.7,0.0,137488,14 +165024.4,0.0,137488,14 +161480.8,0.0,137488,14 +161056.5,0.0,137488,14 +160121.4,0.0,137488,14 +160710.8,0.0,137488,14 +161268.1,0.0,137488,14 +162277.9,0.0,137488,14 +159120.8,0.0,137488,14 +239037.9,0.0,137488,14 +273580.6,0.0,137488,14 +276730.9,0.0,137488,14 +306885.9,0.0,137488,14 +281739.6,0.0,137488,14 +284402.8,0.0,137488,14 +289782.5,0.0,137488,14 +285550.1,0.0,137488,14 +287458.0,0.0,137488,14 +301651.7,0.0,137488,14 +288886.7,0.0,137488,14 +289537.3,0.0,137488,14 +214912.7,0.0,137488,14 +301705.2,106332.4,137488,14 +96115.4,0.0,137488,14 +93303.5,0.0,137488,14 +100177.2,0.0,137488,14 +94682.9,0.0,137488,14 +90910.5,0.0,137488,14 +92113.7,0.0,137488,14 +92335.2,0.0,137488,14 +89603.9,0.0,137488,14 +89968.5,0.0,137488,14 +89590.2,0.0,137488,14 +94034.2,0.0,137488,14 +93840.9,0.0,137488,14 +90021.5,0.0,137488,14 +89272.6,0.0,137488,14 +90530.4,0.0,137488,14 +95084.5,0.0,137488,14 +89894.8,0.0,137488,14 +88007.2,0.0,137488,14 +88849.7,0.0,137488,14 +91267.7,0.0,137488,14 +90434.5,0.0,137488,14 +90636.4,0.0,137488,14 +92854.7,0.0,137488,14 +94259.9,0.0,137488,14 +91963.4,0.0,137488,14 +88004.8,0.0,137488,14 +87344.6,0.0,137488,14 +88046.3,0.0,137488,14 +90335.8,0.0,137488,14 +87656.2,0.0,137488,14 +88458.0,0.0,137488,14 +88112.7,0.0,137488,14 +92023.6,0.0,137488,14 +198302.3,97716.1,137488,14 +93143.4,0.0,137488,14 +92171.8,0.0,137488,14 +93154.2,0.0,137488,14 +91570.3,0.0,137488,14 +90892.3,0.0,137488,14 +92570.9,0.0,137488,14 +94923.1,0.0,137488,14 +93555.7,0.0,137488,14 +89063.1,0.0,137488,14 +91711.1,0.0,137488,14 +92384.2,0.0,137488,14 +89788.8,0.0,137488,14 +90320.5,0.0,137488,14 +88975.7,0.0,137488,14 +92556.0,0.0,137488,14 +91710.8,0.0,137488,14 +90428.3,0.0,137488,14 +88086.1,0.0,137488,14 +88766.6,0.0,137488,14 +90707.8,0.0,137488,14 +89333.1,0.0,137488,14 +90324.2,0.0,137488,14 +90406.6,0.0,137488,14 +92741.1,0.0,137488,14 +92056.3,0.0,137488,14 +87095.8,0.0,137488,14 +88540.8,0.0,137488,14 +87282.5,0.0,137488,14 +90256.3,0.0,137488,14 +87585.2,0.0,137488,14 +88485.1,0.0,137488,14 +87505.4,0.0,137488,14 +193885.8,95803.6,137488,14 +92794.6,0.0,137488,14 +90515.6,0.0,137488,14 +92271.9,0.0,137488,14 +91496.4,0.0,137488,14 +90979.5,0.0,137488,14 +89898.1,0.0,137488,14 +90343.0,0.0,137488,14 +91667.6,0.0,137488,14 +89459.2,0.0,137488,14 +90234.5,0.0,137488,14 +90902.1,0.0,137488,14 +92907.6,0.0,137488,14 +91759.8,0.0,137488,14 +93305.5,0.0,137488,14 +93364.9,0.0,137488,14 +91869.3,0.0,137488,14 +92145.6,0.0,137488,14 +88566.5,0.0,137488,14 +90419.7,0.0,137488,14 +90408.5,0.0,137488,14 +91454.0,0.0,137488,14 +90287.2,0.0,137488,14 +88842.0,0.0,137488,14 +87477.3,0.0,137488,14 +89600.0,0.0,137488,14 +87562.5,0.0,137488,14 +87996.2,0.0,137488,14 +87489.0,0.0,137488,14 +87411.8,0.0,137488,14 +90244.2,0.0,137488,14 +87857.7,0.0,137488,14 +88404.5,0.0,137488,14 +88834.0,0.0,137488,14 +363504.1,264079.4,137488,14 +90405.2,0.0,137488,14 +97513.2,0.0,137488,14 diff --git a/perf/PatternFolds/output/6ac78acd-4d92-56e8-a5f6-6620d1261dcb.csv b/perf/PatternFolds/output/6ac78acd-4d92-56e8-a5f6-6620d1261dcb.csv new file mode 100644 index 0000000..a7c4dfa --- /dev/null +++ b/perf/PatternFolds/output/6ac78acd-4d92-56e8-a5f6-6620d1261dcb.csv @@ -0,0 +1,1001 @@ +times,gctimes,memory,allocs +251432.1,0.0,217488,1014 +326170.3,0.0,217488,1014 +319087.0,0.0,217488,1014 +313586.9,0.0,217488,1014 +259674.4,0.0,217488,1014 +163842.4,0.0,217488,1014 +151303.0,0.0,217488,1014 +190487.5,0.0,217488,1014 +191956.7,0.0,217488,1014 +177513.0,0.0,217488,1014 +187133.3,0.0,217488,1014 +186962.7,0.0,217488,1014 +178529.3,0.0,217488,1014 +169256.5,0.0,217488,1014 +191131.8,0.0,217488,1014 +184817.3,0.0,217488,1014 +182547.0,0.0,217488,1014 +165341.3,0.0,217488,1014 +210572.1,0.0,217488,1014 +237585.4,0.0,217488,1014 +2.8593799e6,2.6897366e6,217488,1014 +138755.6,0.0,217488,1014 +132894.9,0.0,217488,1014 +137420.8,0.0,217488,1014 +134337.7,0.0,217488,1014 +141472.2,0.0,217488,1014 +143472.0,0.0,217488,1014 +152088.5,0.0,217488,1014 +153377.9,0.0,217488,1014 +152208.4,0.0,217488,1014 +150282.5,0.0,217488,1014 +176081.0,0.0,217488,1014 +249887.4,0.0,217488,1014 +248716.9,0.0,217488,1014 +251672.1,0.0,217488,1014 +247625.5,0.0,217488,1014 +247468.3,0.0,217488,1014 +246962.9,0.0,217488,1014 +254991.2,0.0,217488,1014 +254294.5,0.0,217488,1014 +344036.9,0.0,217488,1014 +1.2463161e6,953207.9,217488,1014 +248997.0,0.0,217488,1014 +253331.6,0.0,217488,1014 +257752.1,0.0,217488,1014 +261362.5,0.0,217488,1014 +249718.4,0.0,217488,1014 +250423.2,0.0,217488,1014 +249671.7,0.0,217488,1014 +253252.3,0.0,217488,1014 +252058.9,0.0,217488,1014 +263151.6,0.0,217488,1014 +261939.4,0.0,217488,1014 +261617.3,0.0,217488,1014 +261370.8,0.0,217488,1014 +262922.4,0.0,217488,1014 +256498.1,0.0,217488,1014 +256790.6,0.0,217488,1014 +256203.2,0.0,217488,1014 +256019.9,0.0,217488,1014 +257551.0,0.0,217488,1014 +262951.6,0.0,217488,1014 +571751.9,292606.8,217488,1014 +263140.6,0.0,217488,1014 +260065.4,0.0,217488,1014 +267080.4,0.0,217488,1014 +266664.6,0.0,217488,1014 +258376.1,0.0,217488,1014 +268357.1,0.0,217488,1014 +259356.6,0.0,217488,1014 +267697.9,0.0,217488,1014 +260360.8,0.0,217488,1014 +262106.5,0.0,217488,1014 +262136.2,0.0,217488,1014 +261722.8,0.0,217488,1014 +259437.7,0.0,217488,1014 +255990.4,0.0,217488,1014 +255316.4,0.0,217488,1014 +256784.7,0.0,217488,1014 +260916.6,0.0,217488,1014 +258557.0,0.0,217488,1014 +253984.1,0.0,217488,1014 +259759.1,0.0,217488,1014 +559223.9,286027.3,217488,1014 +266673.8,0.0,217488,1014 +268632.3,0.0,217488,1014 +265605.5,0.0,217488,1014 +264438.1,0.0,217488,1014 +276000.7,0.0,217488,1014 +257696.0,0.0,217488,1014 +254736.3,0.0,217488,1014 +258706.6,0.0,217488,1014 +255320.5,0.0,217488,1014 +256464.1,0.0,217488,1014 +254266.9,0.0,217488,1014 +257452.6,0.0,217488,1014 +261367.2,0.0,217488,1014 +262884.9,0.0,217488,1014 +260724.8,0.0,217488,1014 +259832.9,0.0,217488,1014 +261920.8,0.0,217488,1014 +257259.5,0.0,217488,1014 +263418.4,0.0,217488,1014 +1.4594951e6,0.0,217488,1014 +562065.7,290910.3,217488,1014 +257529.8,0.0,217488,1014 +255603.8,0.0,217488,1014 +1.8742299e6,0.0,217488,1014 +281947.0,0.0,217488,1014 +279058.5,0.0,217488,1014 +286931.3,0.0,217488,1014 +273771.6,0.0,217488,1014 +262276.6,0.0,217488,1014 +1.8767615e6,0.0,217488,1014 +278525.2,0.0,217488,1014 +280829.8,0.0,217488,1014 +277723.1,0.0,217488,1014 +265071.7,0.0,217488,1014 +1.8620563e6,0.0,217488,1014 +271500.3,0.0,217488,1014 +264019.1,0.0,217488,1014 +262939.0,0.0,217488,1014 +257155.0,0.0,217488,1014 +256806.8,0.0,217488,1014 +254052.9,0.0,217488,1014 +557552.6,286939.9,217488,1014 +1.8595522e6,0.0,217488,1014 +264393.9,0.0,217488,1014 +266326.2,0.0,217488,1014 +264730.6,0.0,217488,1014 +271949.2,0.0,217488,1014 +257326.6,0.0,217488,1014 +1.8571606e6,0.0,217488,1014 +267989.4,0.0,217488,1014 +263587.4,0.0,217488,1014 +263979.0,0.0,217488,1014 +262137.7,0.0,217488,1014 +266827.8,0.0,217488,1014 +257647.3,0.0,217488,1014 +1.8628914e6,0.0,217488,1014 +263003.2,0.0,217488,1014 +258525.8,0.0,217488,1014 +262275.8,0.0,217488,1014 +260404.9,0.0,217488,1014 +261995.4,0.0,217488,1014 +1.8610457e6,0.0,217488,1014 +562537.7,287513.7,217488,1014 +264058.2,0.0,217488,1014 +262230.3,0.0,217488,1014 +261185.5,0.0,217488,1014 +1.8703542e6,0.0,217488,1014 +264018.1,0.0,217488,1014 +274408.4,0.0,217488,1014 +263362.5,0.0,217488,1014 +268410.1,0.0,217488,1014 +1.8691475e6,0.0,217488,1014 +260067.9,0.0,217488,1014 +258841.0,0.0,217488,1014 +252789.7,0.0,217488,1014 +277606.9,0.0,217488,1014 +275565.5,0.0,217488,1014 +1.8717659e6,0.0,217488,1014 +259535.2,0.0,217488,1014 +259784.7,0.0,217488,1014 +255985.2,0.0,217488,1014 +257630.7,0.0,217488,1014 +263772.3,0.0,217488,1014 +1.7769251e6,1.4875935e6,217488,1014 +266512.1,0.0,217488,1014 +266513.4,0.0,217488,1014 +261106.5,0.0,217488,1014 +2.6739328e6,0.0,217488,1014 +276459.1,0.0,217488,1014 +258756.0,0.0,217488,1014 +274195.7,0.0,217488,1014 +280764.7,0.0,217488,1014 +252274.7,0.0,217488,1014 +246525.2,0.0,217488,1014 +248082.4,0.0,217488,1014 +246139.2,0.0,217488,1014 +1.380413e6,0.0,217488,1014 +247007.4,0.0,217488,1014 +266116.8,0.0,217488,1014 +276665.7,0.0,217488,1014 +979900.5,0.0,217488,1014 +264233.0,0.0,217488,1014 +249378.8,0.0,217488,1014 +254394.5,0.0,217488,1014 +2.1655071e6,1.8924042e6,217488,1014 +274809.3,0.0,217488,1014 +266431.7,0.0,217488,1014 +252730.1,0.0,217488,1014 +265748.8,0.0,217488,1014 +1.8679056e6,0.0,217488,1014 +287308.1,0.0,217488,1014 +279554.0,0.0,217488,1014 +270667.0,0.0,217488,1014 +260253.5,0.0,217488,1014 +259249.6,0.0,217488,1014 +1.8720332e6,0.0,217488,1014 +269943.3,0.0,217488,1014 +271340.8,0.0,217488,1014 +268915.4,0.0,217488,1014 +2.6713867e6,0.0,217488,1014 +269990.6,0.0,217488,1014 +266864.8,0.0,217488,1014 +265967.8,0.0,217488,1014 +259078.1,0.0,217488,1014 +255154.5,0.0,217488,1014 +2.1639812e6,1.893559e6,217488,1014 +274329.4,0.0,217488,1014 +267584.8,0.0,217488,1014 +259062.5,0.0,217488,1014 +264910.1,0.0,217488,1014 +1.8718259e6,0.0,217488,1014 +265977.4,0.0,217488,1014 +260797.1,0.0,217488,1014 +256916.7,0.0,217488,1014 +262107.8,0.0,217488,1014 +257373.7,0.0,217488,1014 +1.8661541e6,0.0,217488,1014 +267048.9,0.0,217488,1014 +268860.9,0.0,217488,1014 +265353.1,0.0,217488,1014 +257317.9,0.0,217488,1014 +257906.3,0.0,217488,1014 +244146.6,0.0,217488,1014 +1.8520081e6,0.0,217488,1014 +250291.3,0.0,217488,1014 +248970.1,0.0,217488,1014 +248359.5,0.0,217488,1014 +552153.6,285604.7,217488,1014 +1.8548953e6,0.0,217488,1014 +253387.8,0.0,217488,1014 +255526.1,0.0,217488,1014 +252780.5,0.0,217488,1014 +267073.3,0.0,217488,1014 +254281.9,0.0,217488,1014 +1.4656065e6,0.0,217488,1014 +263838.8,0.0,217488,1014 +259160.7,0.0,217488,1014 +262549.0,0.0,217488,1014 +256463.4,0.0,217488,1014 +256236.1,0.0,217488,1014 +1.8644079e6,0.0,217488,1014 +261333.9,0.0,217488,1014 +256321.4,0.0,217488,1014 +258179.4,0.0,217488,1014 +251979.2,0.0,217488,1014 +254394.9,0.0,217488,1014 +1.8607053e6,0.0,217488,1014 +257833.0,0.0,217488,1014 +563215.0,285941.1,217488,1014 +259816.4,0.0,217488,1014 +261773.9,0.0,217488,1014 +1.8659468e6,0.0,217488,1014 +266601.8,0.0,217488,1014 +265325.1,0.0,217488,1014 +260792.8,0.0,217488,1014 +256933.3,0.0,217488,1014 +257891.0,0.0,217488,1014 +1.8582629e6,0.0,217488,1014 +253809.5,0.0,217488,1014 +248673.6,0.0,217488,1014 +250132.7,0.0,217488,1014 +250454.0,0.0,217488,1014 +253120.9,0.0,217488,1014 +251003.8,0.0,217488,1014 +1.854557e6,0.0,217488,1014 +250643.6,0.0,217488,1014 +249694.2,0.0,217488,1014 +255487.5,0.0,217488,1014 +257891.9,0.0,217488,1014 +566516.0,288881.7,217488,1014 +263075.0,0.0,217488,1014 +258608.4,0.0,217488,1014 +263519.1,0.0,217488,1014 +258384.9,0.0,217488,1014 +259898.2,0.0,217488,1014 +260167.1,0.0,217488,1014 +256345.6,0.0,217488,1014 +260182.8,0.0,217488,1014 +258105.5,0.0,217488,1014 +262352.3,0.0,217488,1014 +254632.3,0.0,217488,1014 +264393.1,0.0,217488,1014 +264414.5,0.0,217488,1014 +264508.7,0.0,217488,1014 +258408.6,0.0,217488,1014 +256419.8,0.0,217488,1014 +255720.7,0.0,217488,1014 +254000.0,0.0,217488,1014 +248422.7,0.0,217488,1014 +250727.7,0.0,217488,1014 +549448.1,282916.9,217488,1014 +264139.8,0.0,217488,1014 +262220.1,0.0,217488,1014 +262645.6,0.0,217488,1014 +270582.5,0.0,217488,1014 +265345.7,0.0,217488,1014 +258427.7,0.0,217488,1014 +254290.3,0.0,217488,1014 +258749.3,0.0,217488,1014 +252382.6,0.0,217488,1014 +253697.8,0.0,217488,1014 +251711.0,0.0,217488,1014 +256235.2,0.0,217488,1014 +259367.6,0.0,217488,1014 +259882.1,0.0,217488,1014 +257906.6,0.0,217488,1014 +260056.8,0.0,217488,1014 +261657.4,0.0,217488,1014 +258559.5,0.0,217488,1014 +257392.5,0.0,217488,1014 +255132.4,0.0,217488,1014 +554941.1,281583.8,217488,1014 +255873.7,0.0,217488,1014 +257767.7,0.0,217488,1014 +1.8674868e6,0.0,217488,1014 +264931.5,0.0,217488,1014 +270734.8,0.0,217488,1014 +275373.6,0.0,217488,1014 +265070.4,0.0,217488,1014 +267162.2,0.0,217488,1014 +1.8598129e6,0.0,217488,1014 +249560.4,0.0,217488,1014 +247555.8,0.0,217488,1014 +247394.0,0.0,217488,1014 +243836.4,0.0,217488,1014 +250230.2,0.0,217488,1014 +1.8502569e6,0.0,217488,1014 +247494.3,0.0,217488,1014 +248898.3,0.0,217488,1014 +245517.8,0.0,217488,1014 +246106.3,0.0,217488,1014 +247255.9,0.0,217488,1014 +2.1537641e6,1.8883944e6,217488,1014 +252105.8,0.0,217488,1014 +249740.5,0.0,217488,1014 +253556.0,0.0,217488,1014 +253751.2,0.0,217488,1014 +259055.2,0.0,217488,1014 +1.8527568e6,0.0,217488,1014 +245231.8,0.0,217488,1014 +250547.5,0.0,217488,1014 +246996.1,0.0,217488,1014 +248631.4,0.0,217488,1014 +247419.1,0.0,217488,1014 +248246.6,0.0,217488,1014 +241896.9,0.0,217488,1014 +243853.4,0.0,217488,1014 +242871.5,0.0,217488,1014 +240653.4,0.0,217488,1014 +242697.8,0.0,217488,1014 +237076.3,0.0,217488,1014 +242789.9,0.0,217488,1014 +244193.9,0.0,217488,1014 +549871.5,286976.4,217488,1014 +248790.0,0.0,217488,1014 +248291.8,0.0,217488,1014 +247705.4,0.0,217488,1014 +246707.2,0.0,217488,1014 +249206.8,0.0,217488,1014 +254802.4,0.0,217488,1014 +245555.0,0.0,217488,1014 +249285.5,0.0,217488,1014 +240497.2,0.0,217488,1014 +247389.2,0.0,217488,1014 +611427.0,0.0,217488,1014 +243747.4,0.0,217488,1014 +247964.6,0.0,217488,1014 +246063.8,0.0,217488,1014 +245203.3,0.0,217488,1014 +241127.6,0.0,217488,1014 +239325.9,0.0,217488,1014 +240458.8,0.0,217488,1014 +241451.4,0.0,217488,1014 +241610.2,0.0,217488,1014 +540280.6,282768.2,217488,1014 +248832.9,0.0,217488,1014 +249813.5,0.0,217488,1014 +248248.6,0.0,217488,1014 +255181.7,0.0,217488,1014 +257935.7,0.0,217488,1014 +242305.1,0.0,217488,1014 +242401.5,0.0,217488,1014 +251705.6,0.0,217488,1014 +255507.7,0.0,217488,1014 +257404.5,0.0,217488,1014 +254601.5,0.0,217488,1014 +260327.1,0.0,217488,1014 +260782.2,0.0,217488,1014 +254463.0,0.0,217488,1014 +255218.1,0.0,217488,1014 +256349.9,0.0,217488,1014 +256167.2,0.0,217488,1014 +254461.7,0.0,217488,1014 +248210.3,0.0,217488,1014 +257248.4,0.0,217488,1014 +555458.4,283671.6,217488,1014 +254309.8,0.0,217488,1014 +256183.1,0.0,217488,1014 +258017.4,0.0,217488,1014 +264094.4,0.0,217488,1014 +259337.7,0.0,217488,1014 +266754.2,0.0,217488,1014 +262178.9,0.0,217488,1014 +261039.6,0.0,217488,1014 +254368.1,0.0,217488,1014 +254663.7,0.0,217488,1014 +256624.2,0.0,217488,1014 +253225.3,0.0,217488,1014 +254929.7,0.0,217488,1014 +259321.3,0.0,217488,1014 +262856.0,0.0,217488,1014 +261502.4,0.0,217488,1014 +258577.6,0.0,217488,1014 +256248.1,0.0,217488,1014 +261693.1,0.0,217488,1014 +258828.6,0.0,217488,1014 +557644.1,288662.6,217488,1014 +258954.3,0.0,217488,1014 +252403.7,0.0,217488,1014 +256343.5,0.0,217488,1014 +257424.0,0.0,217488,1014 +270645.1,0.0,217488,1014 +264170.4,0.0,217488,1014 +258016.5,0.0,217488,1014 +259636.2,0.0,217488,1014 +259649.6,0.0,217488,1014 +252301.5,0.0,217488,1014 +251523.4,0.0,217488,1014 +252018.5,0.0,217488,1014 +253953.5,0.0,217488,1014 +255106.8,0.0,217488,1014 +257771.0,0.0,217488,1014 +249590.2,0.0,217488,1014 +255941.9,0.0,217488,1014 +258218.6,0.0,217488,1014 +255034.0,0.0,217488,1014 +257685.7,0.0,217488,1014 +558416.8,289708.2,217488,1014 +257352.0,0.0,217488,1014 +248260.3,0.0,217488,1014 +256908.8,0.0,217488,1014 +261220.8,0.0,217488,1014 +253234.2,0.0,217488,1014 +267914.3,0.0,217488,1014 +259093.0,0.0,217488,1014 +265677.4,0.0,217488,1014 +262620.0,0.0,217488,1014 +257662.0,0.0,217488,1014 +258495.8,0.0,217488,1014 +257607.8,0.0,217488,1014 +256461.7,0.0,217488,1014 +250898.5,0.0,217488,1014 +255908.5,0.0,217488,1014 +257320.6,0.0,217488,1014 +249722.9,0.0,217488,1014 +252833.3,0.0,217488,1014 +253827.9,0.0,217488,1014 +259986.2,0.0,217488,1014 +260414.6,0.0,217488,1014 +562703.2,284467.4,217488,1014 +259594.5,0.0,217488,1014 +258963.6,0.0,217488,1014 +256213.0,0.0,217488,1014 +267068.3,0.0,217488,1014 +257271.4,0.0,217488,1014 +256951.8,0.0,217488,1014 +254340.6,0.0,217488,1014 +255621.6,0.0,217488,1014 +256892.4,0.0,217488,1014 +261743.4,0.0,217488,1014 +256033.7,0.0,217488,1014 +260187.8,0.0,217488,1014 +258797.7,0.0,217488,1014 +256833.2,0.0,217488,1014 +255849.7,0.0,217488,1014 +251972.6,0.0,217488,1014 +255006.1,0.0,217488,1014 +252345.2,0.0,217488,1014 +248931.3,0.0,217488,1014 +252144.4,0.0,217488,1014 +558408.7,285887.1,217488,1014 +257426.1,0.0,217488,1014 +259661.7,0.0,217488,1014 +264167.8,0.0,217488,1014 +261509.3,0.0,217488,1014 +271657.1,0.0,217488,1014 +252538.8,0.0,217488,1014 +258043.8,0.0,217488,1014 +259828.5,0.0,217488,1014 +250004.8,0.0,217488,1014 +256413.0,0.0,217488,1014 +250728.5,0.0,217488,1014 +254785.2,0.0,217488,1014 +257659.9,0.0,217488,1014 +257578.2,0.0,217488,1014 +260371.3,0.0,217488,1014 +260968.5,0.0,217488,1014 +256194.1,0.0,217488,1014 +252865.0,0.0,217488,1014 +256345.7,0.0,217488,1014 +251369.2,0.0,217488,1014 +552884.8,279955.8,217488,1014 +254657.2,0.0,217488,1014 +262409.7,0.0,217488,1014 +271792.4,0.0,217488,1014 +269262.9,0.0,217488,1014 +263772.9,0.0,217488,1014 +262602.9,0.0,217488,1014 +254099.5,0.0,217488,1014 +262697.0,0.0,217488,1014 +257696.1,0.0,217488,1014 +255977.9,0.0,217488,1014 +252037.4,0.0,217488,1014 +258186.0,0.0,217488,1014 +255737.7,0.0,217488,1014 +262833.2,0.0,217488,1014 +262490.8,0.0,217488,1014 +266283.3,0.0,217488,1014 +262344.1,0.0,217488,1014 +256551.6,0.0,217488,1014 +258169.4,0.0,217488,1014 +256890.0,0.0,217488,1014 +558216.0,286430.8,217488,1014 +256301.5,0.0,217488,1014 +253085.2,0.0,217488,1014 +262562.7,0.0,217488,1014 +264688.5,0.0,217488,1014 +266238.6,0.0,217488,1014 +272633.5,0.0,217488,1014 +264514.0,0.0,217488,1014 +267260.0,0.0,217488,1014 +813063.8,0.0,217488,1014 +422169.3,0.0,217488,1014 +396915.6,0.0,217488,1014 +394539.1,0.0,217488,1014 +401395.4,0.0,217488,1014 +399777.0,0.0,217488,1014 +397659.7,0.0,217488,1014 +391400.0,0.0,217488,1014 +394436.5,0.0,217488,1014 +383416.5,0.0,217488,1014 +385804.3,0.0,217488,1014 +379569.5,0.0,217488,1014 +1.5621636e6,1.2116291e6,217488,1014 +317830.1,0.0,217488,1014 +310368.0,0.0,217488,1014 +315715.6,0.0,217488,1014 +316342.4,0.0,217488,1014 +323599.8,0.0,217488,1014 +308830.8,0.0,217488,1014 +310733.5,0.0,217488,1014 +315150.8,0.0,217488,1014 +254641.5,0.0,217488,1014 +248208.4,0.0,217488,1014 +243898.7,0.0,217488,1014 +248588.8,0.0,217488,1014 +246998.9,0.0,217488,1014 +245481.0,0.0,217488,1014 +248805.6,0.0,217488,1014 +249576.5,0.0,217488,1014 +245090.3,0.0,217488,1014 +248252.4,0.0,217488,1014 +251880.4,0.0,217488,1014 +248921.9,0.0,217488,1014 +585939.3,320726.7,217488,1014 +249519.5,0.0,217488,1014 +249473.0,0.0,217488,1014 +250961.1,0.0,217488,1014 +255041.4,0.0,217488,1014 +252357.5,0.0,217488,1014 +259363.6,0.0,217488,1014 +254366.1,0.0,217488,1014 +259996.3,0.0,217488,1014 +250261.0,0.0,217488,1014 +252254.3,0.0,217488,1014 +250998.3,0.0,217488,1014 +248549.4,0.0,217488,1014 +249776.6,0.0,217488,1014 +248421.2,0.0,217488,1014 +253187.1,0.0,217488,1014 +247362.3,0.0,217488,1014 +247909.0,0.0,217488,1014 +250577.1,0.0,217488,1014 +248591.2,0.0,217488,1014 +249784.4,0.0,217488,1014 +556520.9,289029.7,217488,1014 +251481.2,0.0,217488,1014 +252833.2,0.0,217488,1014 +257592.4,0.0,217488,1014 +273517.8,0.0,217488,1014 +285317.9,0.0,217488,1014 +270058.3,0.0,217488,1014 +268743.9,0.0,217488,1014 +269683.0,0.0,217488,1014 +263372.6,0.0,217488,1014 +262208.8,0.0,217488,1014 +261908.6,0.0,217488,1014 +258448.1,0.0,217488,1014 +255556.9,0.0,217488,1014 +262595.7,0.0,217488,1014 +265211.7,0.0,217488,1014 +269282.3,0.0,217488,1014 +272753.0,0.0,217488,1014 +269096.8,0.0,217488,1014 +265205.1,0.0,217488,1014 +266289.2,0.0,217488,1014 +566547.0,293572.3,217488,1014 +259103.9,0.0,217488,1014 +256450.9,0.0,217488,1014 +256239.4,0.0,217488,1014 +266547.2,0.0,217488,1014 +269577.7,0.0,217488,1014 +279007.9,0.0,217488,1014 +275469.0,0.0,217488,1014 +278005.6,0.0,217488,1014 +269231.2,0.0,217488,1014 +262987.4,0.0,217488,1014 +259235.1,0.0,217488,1014 +258073.6,0.0,217488,1014 +257619.4,0.0,217488,1014 +259937.7,0.0,217488,1014 +260424.0,0.0,217488,1014 +260429.5,0.0,217488,1014 +264880.5,0.0,217488,1014 +260178.9,0.0,217488,1014 +208593.5,0.0,217488,1014 +145701.5,0.0,217488,1014 +395500.3,236257.3,217488,1014 +152301.1,0.0,217488,1014 +153306.4,0.0,217488,1014 +153037.5,0.0,217488,1014 +156174.8,0.0,217488,1014 +214093.6,0.0,217488,1014 +248293.6,0.0,217488,1014 +244701.6,0.0,217488,1014 +247397.4,0.0,217488,1014 +248130.2,0.0,217488,1014 +243376.6,0.0,217488,1014 +243834.9,0.0,217488,1014 +245436.1,0.0,217488,1014 +244053.1,0.0,217488,1014 +245820.0,0.0,217488,1014 +247986.5,0.0,217488,1014 +244519.9,0.0,217488,1014 +243820.4,0.0,217488,1014 +245077.8,0.0,217488,1014 +246103.8,0.0,217488,1014 +245268.4,0.0,217488,1014 +547638.3,286651.6,217488,1014 +245391.8,0.0,217488,1014 +247209.7,0.0,217488,1014 +245817.4,0.0,217488,1014 +249749.9,0.0,217488,1014 +248690.4,0.0,217488,1014 +258620.9,0.0,217488,1014 +247284.7,0.0,217488,1014 +251899.5,0.0,217488,1014 +248640.0,0.0,217488,1014 +245228.9,0.0,217488,1014 +248189.3,0.0,217488,1014 +241898.7,0.0,217488,1014 +244653.8,0.0,217488,1014 +245077.8,0.0,217488,1014 +248481.6,0.0,217488,1014 +246427.4,0.0,217488,1014 +241264.8,0.0,217488,1014 +244248.8,0.0,217488,1014 +246705.4,0.0,217488,1014 +246215.3,0.0,217488,1014 +546297.6,284054.7,217488,1014 +249719.8,0.0,217488,1014 +247841.1,0.0,217488,1014 +249820.6,0.0,217488,1014 +255245.4,0.0,217488,1014 +256416.0,0.0,217488,1014 +248408.2,0.0,217488,1014 +246959.0,0.0,217488,1014 +246941.9,0.0,217488,1014 +246190.1,0.0,217488,1014 +242823.5,0.0,217488,1014 +247471.9,0.0,217488,1014 +244371.6,0.0,217488,1014 +243669.6,0.0,217488,1014 +245992.2,0.0,217488,1014 +245879.2,0.0,217488,1014 +243380.7,0.0,217488,1014 +244537.6,0.0,217488,1014 +244721.9,0.0,217488,1014 +243011.3,0.0,217488,1014 +243191.7,0.0,217488,1014 +243826.2,0.0,217488,1014 +547033.7,284351.3,217488,1014 +242407.1,0.0,217488,1014 +245548.4,0.0,217488,1014 +251762.8,0.0,217488,1014 +248232.0,0.0,217488,1014 +262198.7,0.0,217488,1014 +247790.4,0.0,217488,1014 +250353.5,0.0,217488,1014 +251192.8,0.0,217488,1014 +247290.5,0.0,217488,1014 +247970.4,0.0,217488,1014 +243772.6,0.0,217488,1014 +242029.0,0.0,217488,1014 +247070.7,0.0,217488,1014 +246999.8,0.0,217488,1014 +246947.3,0.0,217488,1014 +247357.6,0.0,217488,1014 +243957.1,0.0,217488,1014 +244496.6,0.0,217488,1014 +245550.1,0.0,217488,1014 +244057.8,0.0,217488,1014 +547042.8,283844.7,217488,1014 +247574.8,0.0,217488,1014 +251656.3,0.0,217488,1014 +250199.0,0.0,217488,1014 +256920.1,0.0,217488,1014 +253147.1,0.0,217488,1014 +249903.1,0.0,217488,1014 +247242.6,0.0,217488,1014 +250703.8,0.0,217488,1014 +247390.0,0.0,217488,1014 +250330.0,0.0,217488,1014 +244992.1,0.0,217488,1014 +246219.2,0.0,217488,1014 +244736.2,0.0,217488,1014 +244380.5,0.0,217488,1014 +248227.7,0.0,217488,1014 +247354.6,0.0,217488,1014 +242087.6,0.0,217488,1014 +246001.9,0.0,217488,1014 +247376.0,0.0,217488,1014 +247147.0,0.0,217488,1014 +548236.8,287376.3,217488,1014 +246354.0,0.0,217488,1014 +244816.9,0.0,217488,1014 +248856.1,0.0,217488,1014 +249035.4,0.0,217488,1014 +255871.4,0.0,217488,1014 +253350.2,0.0,217488,1014 +250549.5,0.0,217488,1014 +253564.2,0.0,217488,1014 +249360.2,0.0,217488,1014 +247209.6,0.0,217488,1014 +244623.7,0.0,217488,1014 +244729.5,0.0,217488,1014 +242753.7,0.0,217488,1014 +247281.5,0.0,217488,1014 +247274.6,0.0,217488,1014 +244982.7,0.0,217488,1014 +248059.7,0.0,217488,1014 +245652.5,0.0,217488,1014 +242497.9,0.0,217488,1014 +245654.7,0.0,217488,1014 +548863.9,287027.0,217488,1014 +249205.7,0.0,217488,1014 +251013.4,0.0,217488,1014 +250357.0,0.0,217488,1014 +260269.0,0.0,217488,1014 +251335.3,0.0,217488,1014 +247581.1,0.0,217488,1014 +248107.1,0.0,217488,1014 +249129.4,0.0,217488,1014 +244281.4,0.0,217488,1014 +252477.3,0.0,217488,1014 +241120.6,0.0,217488,1014 +244402.4,0.0,217488,1014 +243757.0,0.0,217488,1014 +245860.0,0.0,217488,1014 +248706.9,0.0,217488,1014 +242472.8,0.0,217488,1014 +245372.0,0.0,217488,1014 +243123.9,0.0,217488,1014 +243659.0,0.0,217488,1014 +245381.9,0.0,217488,1014 +546952.8,287406.8,217488,1014 +245753.5,0.0,217488,1014 +244708.8,0.0,217488,1014 +248149.9,0.0,217488,1014 +249640.6,0.0,217488,1014 +249224.4,0.0,217488,1014 +256092.1,0.0,217488,1014 +250271.4,0.0,217488,1014 +253890.5,0.0,217488,1014 +247070.6,0.0,217488,1014 +249287.6,0.0,217488,1014 +245568.2,0.0,217488,1014 +244537.3,0.0,217488,1014 +246145.6,0.0,217488,1014 +243954.6,0.0,217488,1014 +246011.0,0.0,217488,1014 +244736.0,0.0,217488,1014 +246232.3,0.0,217488,1014 +243689.8,0.0,217488,1014 +245906.2,0.0,217488,1014 +242770.1,0.0,217488,1014 +545670.2,284119.1,217488,1014 +247286.8,0.0,217488,1014 +249213.2,0.0,217488,1014 +250070.7,0.0,217488,1014 +251555.0,0.0,217488,1014 +259691.6,0.0,217488,1014 +260809.4,0.0,217488,1014 +262826.6,0.0,217488,1014 +268473.7,0.0,217488,1014 +264953.1,0.0,217488,1014 +263514.5,0.0,217488,1014 +270150.6,0.0,217488,1014 +274428.6,0.0,217488,1014 +270788.9,0.0,217488,1014 +274430.7,0.0,217488,1014 +277611.9,0.0,217488,1014 +274247.7,0.0,217488,1014 +272092.2,0.0,217488,1014 +270391.3,0.0,217488,1014 +268027.0,0.0,217488,1014 +266481.4,0.0,217488,1014 +578526.8,290168.8,217488,1014 +276702.0,0.0,217488,1014 +279006.9,0.0,217488,1014 +1.8809577e6,0.0,217488,1014 +271126.1,0.0,217488,1014 +271628.6,0.0,217488,1014 +277264.2,0.0,217488,1014 +270996.9,0.0,217488,1014 +281678.2,0.0,217488,1014 +1.8750103e6,0.0,217488,1014 +264077.3,0.0,217488,1014 +266015.4,0.0,217488,1014 +266053.1,0.0,217488,1014 +268643.8,0.0,217488,1014 +271086.8,0.0,217488,1014 +1.8728594e6,0.0,217488,1014 +261295.9,0.0,217488,1014 +265584.3,0.0,217488,1014 +266222.7,0.0,217488,1014 +269175.4,0.0,217488,1014 +273664.7,0.0,217488,1014 +2.9791649e6,287170.4,217488,1014 +275199.9,0.0,217488,1014 +279229.3,0.0,217488,1014 +2.6837942e6,0.0,217488,1014 +276719.6,0.0,217488,1014 +290560.4,0.0,217488,1014 +277033.4,0.0,217488,1014 +2.6760129e6,0.0,217488,1014 +274614.3,0.0,217488,1014 +274377.1,0.0,217488,1014 +273908.5,0.0,217488,1014 +271773.8,0.0,217488,1014 +271596.6,0.0,217488,1014 +1.8761941e6,0.0,217488,1014 +274076.3,0.0,217488,1014 +276883.0,0.0,217488,1014 +272504.6,0.0,217488,1014 +273155.4,0.0,217488,1014 +1.4718924e6,0.0,217488,1014 +271389.6,0.0,217488,1014 +273959.6,0.0,217488,1014 +2.981657e6,2.6932753e6,217488,1014 +271317.3,0.0,217488,1014 +272771.9,0.0,217488,1014 +276579.5,0.0,217488,1014 +4.2847186e6,0.0,217488,1014 +273553.0,0.0,217488,1014 +279522.6,0.0,217488,1014 +269056.3,0.0,217488,1014 +271801.7,0.0,217488,1014 +267199.8,0.0,217488,1014 +1.8709562e6,0.0,217488,1014 +262476.3,0.0,217488,1014 +264555.6,0.0,217488,1014 +264636.6,0.0,217488,1014 +266120.0,0.0,217488,1014 +269165.1,0.0,217488,1014 +1.8660423e6,0.0,217488,1014 +259034.1,0.0,217488,1014 +260245.9,0.0,217488,1014 +262770.4,0.0,217488,1014 +260792.0,0.0,217488,1014 +1.7782314e6,1.4933572e6,217488,1014 +259442.8,0.0,217488,1014 +255955.7,0.0,217488,1014 +257966.1,0.0,217488,1014 +256801.1,0.0,217488,1014 +264592.6,0.0,217488,1014 +1.8582988e6,0.0,217488,1014 +250102.5,0.0,217488,1014 +252842.1,0.0,217488,1014 +252916.9,0.0,217488,1014 +247664.7,0.0,217488,1014 +251061.5,0.0,217488,1014 +1.853403e6,0.0,217488,1014 +244968.5,0.0,217488,1014 +251428.0,0.0,217488,1014 +248388.2,0.0,217488,1014 +250236.2,0.0,217488,1014 +248453.8,0.0,217488,1014 +247503.5,0.0,217488,1014 +186643.6,0.0,217488,1014 +137661.8,0.0,217488,1014 +374719.0,230633.6,217488,1014 +138703.4,0.0,217488,1014 +137681.0,0.0,217488,1014 +137438.0,0.0,217488,1014 +140290.9,0.0,217488,1014 +139264.4,0.0,217488,1014 +148337.6,0.0,217488,1014 +138460.0,0.0,217488,1014 +139599.9,0.0,217488,1014 +136746.3,0.0,217488,1014 +137038.5,0.0,217488,1014 +133523.4,0.0,217488,1014 +132367.9,0.0,217488,1014 +132795.2,0.0,217488,1014 +130843.7,0.0,217488,1014 +132390.7,0.0,217488,1014 +132309.1,0.0,217488,1014 +131032.3,0.0,217488,1014 +131145.8,0.0,217488,1014 +131675.1,0.0,217488,1014 +130461.8,0.0,217488,1014 +131520.9,0.0,217488,1014 +381643.8,234346.9,217488,1014 +137781.8,0.0,217488,1014 +138448.0,0.0,217488,1014 +139284.8,0.0,217488,1014 +144842.5,0.0,217488,1014 +137997.2,0.0,217488,1014 +134049.8,0.0,217488,1014 +134150.8,0.0,217488,1014 +136571.5,0.0,217488,1014 +136449.3,0.0,217488,1014 +135271.7,0.0,217488,1014 +130748.0,0.0,217488,1014 +130307.4,0.0,217488,1014 +132707.6,0.0,217488,1014 +131782.0,0.0,217488,1014 +133015.1,0.0,217488,1014 +130965.3,0.0,217488,1014 +131492.9,0.0,217488,1014 +130336.6,0.0,217488,1014 +132249.7,0.0,217488,1014 +135286.1,0.0,217488,1014 +347703.5,207885.1,217488,1014 +134879.2,0.0,217488,1014 +135414.1,0.0,217488,1014 +234242.0,0.0,217488,1014 +253781.1,0.0,217488,1014 +260433.4,0.0,217488,1014 +253631.3,0.0,217488,1014 +254370.8,0.0,217488,1014 +251990.4,0.0,217488,1014 +248719.6,0.0,217488,1014 +249334.7,0.0,217488,1014 +244408.9,0.0,217488,1014 +244306.2,0.0,217488,1014 +249104.8,0.0,217488,1014 +251112.4,0.0,217488,1014 +249806.9,0.0,217488,1014 +245335.6,0.0,217488,1014 +245084.2,0.0,217488,1014 +246178.3,0.0,217488,1014 +247594.7,0.0,217488,1014 +247252.7,0.0,217488,1014 +549956.4,284981.8,217488,1014 +251010.8,0.0,217488,1014 +251215.5,0.0,217488,1014 +254803.1,0.0,217488,1014 +261066.7,0.0,217488,1014 +252507.6,0.0,217488,1014 +250635.1,0.0,217488,1014 +245967.9,0.0,217488,1014 +250825.0,0.0,217488,1014 +248611.9,0.0,217488,1014 +247394.3,0.0,217488,1014 +252041.1,0.0,217488,1014 +249831.3,0.0,217488,1014 +247381.7,0.0,217488,1014 +248310.1,0.0,217488,1014 +246779.5,0.0,217488,1014 +247170.1,0.0,217488,1014 +249168.3,0.0,217488,1014 +246861.1,0.0,217488,1014 +247856.1,0.0,217488,1014 +249490.4,0.0,217488,1014 +550236.5,288126.4,217488,1014 +248582.4,0.0,217488,1014 +244069.2,0.0,217488,1014 +251923.9,0.0,217488,1014 +251086.5,0.0,217488,1014 +254981.7,0.0,217488,1014 +259585.8,0.0,217488,1014 +248987.2,0.0,217488,1014 +258499.7,0.0,217488,1014 +251916.5,0.0,217488,1014 diff --git a/perf/PatternFolds/output/728ef8cd-7bd0-5e8b-8d9b-4cb61d813557.csv b/perf/PatternFolds/output/728ef8cd-7bd0-5e8b-8d9b-4cb61d813557.csv new file mode 100644 index 0000000..d2fc537 --- /dev/null +++ b/perf/PatternFolds/output/728ef8cd-7bd0-5e8b-8d9b-4cb61d813557.csv @@ -0,0 +1,1001 @@ +times,gctimes,bytes,allocs +0.0001564492,0.0,217488.0,1014.0 +0.0001830725,0.0,217488.0,1014.0 +0.00017604650000000002,0.0,217488.0,1014.0 +0.0013581134000000001,0.8521095513820863,217488.0,1014.0 +0.0001377294,0.0,217488.0,1014.0 +0.0001375023,0.0,217488.0,1014.0 +0.00014783990000000001,0.0,217488.0,1014.0 +0.00014761770000000003,0.0,217488.0,1014.0 +0.0001591588,0.0,217488.0,1014.0 +0.0001660378,0.0,217488.0,1014.0 +0.0001562709,0.0,217488.0,1014.0 +0.0001768451,0.0,217488.0,1014.0 +0.00016801740000000002,0.0,217488.0,1014.0 +0.00015572050000000001,0.0,217488.0,1014.0 +0.00016222650000000002,0.0,217488.0,1014.0 +0.0001501769,0.0,217488.0,1014.0 +0.00015704370000000002,0.0,217488.0,1014.0 +0.0001583985,0.0,217488.0,1014.0 +0.00017448190000000002,0.0,217488.0,1014.0 +0.0001802661,0.0,217488.0,1014.0 +0.00017912680000000002,0.0,217488.0,1014.0 +0.0002351058,0.0,217488.0,1014.0 +0.00025900960000000003,0.0,217488.0,1014.0 +0.00023710580000000002,0.0,217488.0,1014.0 +0.0008487578000000001,0.7314152517950351,217488.0,1014.0 +0.00015252470000000001,0.0,217488.0,1014.0 +0.0001420065,0.0,217488.0,1014.0 +0.0001522281,0.0,217488.0,1014.0 +0.0001450334,0.0,217488.0,1014.0 +0.0001411076,0.0,217488.0,1014.0 +0.00014442270000000003,0.0,217488.0,1014.0 +0.0001389148,0.0,217488.0,1014.0 +0.00013922470000000002,0.0,217488.0,1014.0 +0.0001457122,0.0,217488.0,1014.0 +0.0001363014,0.0,217488.0,1014.0 +0.0001360075,0.0,217488.0,1014.0 +0.0001434699,0.0,217488.0,1014.0 +0.00013728590000000002,0.0,217488.0,1014.0 +0.00014125160000000002,0.0,217488.0,1014.0 +0.00014132130000000002,0.0,217488.0,1014.0 +0.00013460000000000002,0.0,217488.0,1014.0 +0.0001379035,0.0,217488.0,1014.0 +0.0001376182,0.0,217488.0,1014.0 +0.00013246590000000002,0.0,217488.0,1014.0 +0.0001375382,0.0,217488.0,1014.0 +0.00013824760000000002,0.0,217488.0,1014.0 +0.00036206430000000004,0.568223931495041,217488.0,1014.0 +0.0001394449,0.0,217488.0,1014.0 +0.0001429842,0.0,217488.0,1014.0 +0.0001426647,0.0,217488.0,1014.0 +0.0001387975,0.0,217488.0,1014.0 +0.0001424018,0.0,217488.0,1014.0 +0.0001387543,0.0,217488.0,1014.0 +0.00014822080000000002,0.0,217488.0,1014.0 +0.00014206770000000003,0.0,217488.0,1014.0 +0.0001357997,0.0,217488.0,1014.0 +0.00013536170000000002,0.0,217488.0,1014.0 +0.0001364677,0.0,217488.0,1014.0 +0.0001366583,0.0,217488.0,1014.0 +0.00013649430000000002,0.0,217488.0,1014.0 +0.0001386913,0.0,217488.0,1014.0 +0.00013518230000000002,0.0,217488.0,1014.0 +0.00013549900000000003,0.0,217488.0,1014.0 +0.00013743280000000002,0.0,217488.0,1014.0 +0.000133,0.0,217488.0,1014.0 +0.00013302000000000002,0.0,217488.0,1014.0 +0.0001334863,0.0,217488.0,1014.0 +0.0003444686,0.5660899135654164,217488.0,1014.0 +0.0001399886,0.0,217488.0,1014.0 +0.00014362530000000003,0.0,217488.0,1014.0 +0.0001486003,0.0,217488.0,1014.0 +0.00014069590000000002,0.0,217488.0,1014.0 +0.00014055690000000002,0.0,217488.0,1014.0 +0.00013950000000000003,0.0,217488.0,1014.0 +0.0001405946,0.0,217488.0,1014.0 +0.0001377423,0.0,217488.0,1014.0 +0.0001364473,0.0,217488.0,1014.0 +0.0001346998,0.0,217488.0,1014.0 +0.0002265169,0.0,217488.0,1014.0 +0.00026127980000000006,0.0,217488.0,1014.0 +0.00026134870000000003,0.0,217488.0,1014.0 +0.00026307640000000003,0.0,217488.0,1014.0 +0.000259258,0.0,217488.0,1014.0 +0.0002556937,0.0,217488.0,1014.0 +0.0002496118,0.0,217488.0,1014.0 +0.000248165,0.0,217488.0,1014.0 +0.00024998580000000004,0.0,217488.0,1014.0 +0.0002474094,0.0,217488.0,1014.0 +0.0005477516,0.5030798632080673,217488.0,1014.0 +0.00025121880000000005,0.0,217488.0,1014.0 +0.0002521786,0.0,217488.0,1014.0 +0.0002590169,0.0,217488.0,1014.0 +0.00024979,0.0,217488.0,1014.0 +0.00025509210000000004,0.0,217488.0,1014.0 +0.000254776,0.0,217488.0,1014.0 +0.0002614183,0.0,217488.0,1014.0 +0.00025951140000000006,0.0,217488.0,1014.0 +0.00025839600000000004,0.0,217488.0,1014.0 +0.0002520941,0.0,217488.0,1014.0 +0.0002558581,0.0,217488.0,1014.0 +0.00025148870000000004,0.0,217488.0,1014.0 +0.0002515252,0.0,217488.0,1014.0 +0.0002524806,0.0,217488.0,1014.0 +0.00024966180000000004,0.0,217488.0,1014.0 +0.000250622,0.0,217488.0,1014.0 +0.0002530585,0.0,217488.0,1014.0 +0.000252514,0.0,217488.0,1014.0 +0.0002513306,0.0,217488.0,1014.0 +0.00024677470000000003,0.0,217488.0,1014.0 +0.0005522477000000001,0.5133803182883333,217488.0,1014.0 +0.0002593173,0.0,217488.0,1014.0 +0.0002614462,0.0,217488.0,1014.0 +0.0002594353,0.0,217488.0,1014.0 +0.0002532577,0.0,217488.0,1014.0 +0.0002597634,0.0,217488.0,1014.0 +0.0002551602,0.0,217488.0,1014.0 +0.00025085330000000004,0.0,217488.0,1014.0 +0.0002523976,0.0,217488.0,1014.0 +0.00025390250000000003,0.0,217488.0,1014.0 +0.0002514694,0.0,217488.0,1014.0 +0.00025481690000000003,0.0,217488.0,1014.0 +0.0002557003,0.0,217488.0,1014.0 +0.0002497566,0.0,217488.0,1014.0 +0.0002558659,0.0,217488.0,1014.0 +0.0002519376,0.0,217488.0,1014.0 +0.0002536052,0.0,217488.0,1014.0 +0.0002517797,0.0,217488.0,1014.0 +0.00024988220000000006,0.0,217488.0,1014.0 +0.00024849150000000005,0.0,217488.0,1014.0 +0.00025106,0.0,217488.0,1014.0 +0.0005510459000000001,0.5166698454702231,217488.0,1014.0 +0.00025237860000000003,0.0,217488.0,1014.0 +0.0002505993,0.0,217488.0,1014.0 +0.0002971835,0.0,217488.0,1014.0 +0.0046688769000000005,0.0,217488.0,1014.0 +0.0002675405,0.0,217488.0,1014.0 +0.00026454570000000006,0.0,217488.0,1014.0 +0.00027047340000000005,0.0,217488.0,1014.0 +0.000270276,0.0,217488.0,1014.0 +0.0026735066,0.0,217488.0,1014.0 +0.0002637411,0.0,217488.0,1014.0 +0.0002667125,0.0,217488.0,1014.0 +0.00028118420000000004,0.0,217488.0,1014.0 +0.0002789099,0.0,217488.0,1014.0 +0.0002743228,0.0,217488.0,1014.0 +0.0018640235000000002,0.0,217488.0,1014.0 +0.000261821,0.0,217488.0,1014.0 +0.00025965650000000004,0.0,217488.0,1014.0 +0.0002679645,0.0,217488.0,1014.0 +0.0002682958,0.0,217488.0,1014.0 +0.0002695096,0.0,217488.0,1014.0 +0.0022452501,0.15211503609330648,217488.0,1014.0 +0.0002910466,0.0,217488.0,1014.0 +0.0002965668,0.0,217488.0,1014.0 +0.0026993502,0.0,217488.0,1014.0 +0.0002860563,0.0,217488.0,1014.0 +0.0002839628,0.0,217488.0,1014.0 +0.00028099170000000004,0.0,217488.0,1014.0 +0.0018925119,0.0,217488.0,1014.0 +0.00028281140000000003,0.0,217488.0,1014.0 +0.00028172410000000005,0.0,217488.0,1014.0 +0.00027716380000000003,0.0,217488.0,1014.0 +0.00028212530000000003,0.0,217488.0,1014.0 +0.0018847189,0.0,217488.0,1014.0 +0.00027628600000000004,0.0,217488.0,1014.0 +0.0002821436,0.0,217488.0,1014.0 +0.0002795353,0.0,217488.0,1014.0 +0.000277507,0.0,217488.0,1014.0 +0.00028765700000000003,0.0,217488.0,1014.0 +0.0015948696000000003,0.0,217488.0,1014.0 +0.00038531030000000003,0.0,217488.0,1014.0 +0.0003854619,0.0,217488.0,1014.0 +0.0030520811000000004,0.09344794278238544,217488.0,1014.0 +0.0002750363,0.0,217488.0,1014.0 +0.0018666531999999999,0.0,217488.0,1014.0 +0.0002805938,0.0,217488.0,1014.0 +0.00027346040000000003,0.0,217488.0,1014.0 +0.0002577139,0.0,217488.0,1014.0 +0.0002576595,0.0,217488.0,1014.0 +0.0002579707,0.0,217488.0,1014.0 +0.0002694656,0.0,217488.0,1014.0 +0.0002587272,0.0,217488.0,1014.0 +0.0002505291,0.0,217488.0,1014.0 +0.0002617178,0.0,217488.0,1014.0 +0.0002558491,0.0,217488.0,1014.0 +0.0002474813,0.0,217488.0,1014.0 +0.0002540806,0.0,217488.0,1014.0 +0.000250207,0.0,217488.0,1014.0 +0.0002490516,0.0,217488.0,1014.0 +0.00025059070000000005,0.0,217488.0,1014.0 +0.0002503326,0.0,217488.0,1014.0 +0.0002499087,0.0,217488.0,1014.0 +0.00025100160000000003,0.0,217488.0,1014.0 +0.0005617836,0.5187267837651366,217488.0,1014.0 +0.0002579266,0.0,217488.0,1014.0 +0.0002645858,0.0,217488.0,1014.0 +0.0002605137,0.0,217488.0,1014.0 +0.0002679645,0.0,217488.0,1014.0 +0.0002688527,0.0,217488.0,1014.0 +0.0002681288,0.0,217488.0,1014.0 +0.0002664874,0.0,217488.0,1014.0 +0.0002671488,0.0,217488.0,1014.0 +0.00026460380000000003,0.0,217488.0,1014.0 +0.0002621201,0.0,217488.0,1014.0 +0.0002638427,0.0,217488.0,1014.0 +0.0002656879,0.0,217488.0,1014.0 +0.0002633714,0.0,217488.0,1014.0 +0.00026243010000000005,0.0,217488.0,1014.0 +0.00027022110000000005,0.0,217488.0,1014.0 +0.0002665079,0.0,217488.0,1014.0 +0.0002645347,0.0,217488.0,1014.0 +0.0002651268,0.0,217488.0,1014.0 +0.00026450310000000006,0.0,217488.0,1014.0 +0.00026261190000000003,0.0,217488.0,1014.0 +0.0005647445,0.508369182878275,217488.0,1014.0 +0.0002567125,0.0,217488.0,1014.0 +0.0002572795,0.0,217488.0,1014.0 +0.0002636069,0.0,217488.0,1014.0 +0.0002653441,0.0,217488.0,1014.0 +0.0002697983,0.0,217488.0,1014.0 +0.0002734896,0.0,217488.0,1014.0 +0.0002711963,0.0,217488.0,1014.0 +0.00028472240000000003,0.0,217488.0,1014.0 +0.0002746844,0.0,217488.0,1014.0 +0.00026712320000000004,0.0,217488.0,1014.0 +0.0002665414,0.0,217488.0,1014.0 +0.00026638020000000005,0.0,217488.0,1014.0 +0.00025990310000000006,0.0,217488.0,1014.0 +0.0002574567,0.0,217488.0,1014.0 +0.0002610296,0.0,217488.0,1014.0 +0.00026321600000000004,0.0,217488.0,1014.0 +0.0002637373,0.0,217488.0,1014.0 +0.0002685572,0.0,217488.0,1014.0 +0.0002668303,0.0,217488.0,1014.0 +0.0002674921,0.0,217488.0,1014.0 +0.0006272618000000001,0.5454232985334034,217488.0,1014.0 +0.0002666908,0.0,217488.0,1014.0 +0.0002693347,0.0,217488.0,1014.0 +0.0002696256,0.0,217488.0,1014.0 +0.00026016120000000003,0.0,217488.0,1014.0 +0.00026819530000000004,0.0,217488.0,1014.0 +0.000268916,0.0,217488.0,1014.0 +0.0002635971,0.0,217488.0,1014.0 +0.0002708265,0.0,217488.0,1014.0 +0.0002700786,0.0,217488.0,1014.0 +0.00027068640000000004,0.0,217488.0,1014.0 +0.0007805623,0.0,217488.0,1014.0 +0.00027167280000000004,0.0,217488.0,1014.0 +0.0002680098,0.0,217488.0,1014.0 +0.00026605540000000004,0.0,217488.0,1014.0 +0.0002693591,0.0,217488.0,1014.0 +0.0002712554,0.0,217488.0,1014.0 +0.00026251150000000006,0.0,217488.0,1014.0 +0.0003541066,0.0,217488.0,1014.0 +0.0003761675,0.0,217488.0,1014.0 +0.0003847076,0.0,217488.0,1014.0 +0.0017152982000000002,0.7432199252584769,217488.0,1014.0 +0.0002916408,0.0,217488.0,1014.0 +0.0002653845,0.0,217488.0,1014.0 +0.0002704775,0.0,217488.0,1014.0 +0.00027274810000000005,0.0,217488.0,1014.0 +0.000271921,0.0,217488.0,1014.0 +0.0002743778,0.0,217488.0,1014.0 +0.00038834540000000004,0.0,217488.0,1014.0 +0.0004050204,0.0,217488.0,1014.0 +0.00039886360000000005,0.0,217488.0,1014.0 +0.0003949447,0.0,217488.0,1014.0 +0.0002698593,0.0,217488.0,1014.0 +0.0002695593,0.0,217488.0,1014.0 +0.00026473200000000005,0.0,217488.0,1014.0 +0.0002707181,0.0,217488.0,1014.0 +0.0014719415000000002,0.0,217488.0,1014.0 +0.0002622828,0.0,217488.0,1014.0 +0.0002654987,0.0,217488.0,1014.0 +0.0002665041,0.0,217488.0,1014.0 +0.0002604977,0.0,217488.0,1014.0 +0.0034730543000000003,0.0,217488.0,1014.0 +0.00027025300000000003,0.0,217488.0,1014.0 +0.0026793831,0.11181417095599357,217488.0,1014.0 +0.0002756278,0.0,217488.0,1014.0 +0.000279575,0.0,217488.0,1014.0 +0.0002738879,0.0,217488.0,1014.0 +0.0002778219,0.0,217488.0,1014.0 +0.0002858614,0.0,217488.0,1014.0 +0.0018810467000000002,0.0,217488.0,1014.0 +0.0002731996,0.0,217488.0,1014.0 +0.000270492,0.0,217488.0,1014.0 +0.00027192730000000003,0.0,217488.0,1014.0 +0.00027404070000000005,0.0,217488.0,1014.0 +0.0002781751,0.0,217488.0,1014.0 +0.0050843848,0.0,217488.0,1014.0 +0.00028047470000000003,0.0,217488.0,1014.0 +0.00027593880000000004,0.0,217488.0,1014.0 +0.00027582640000000004,0.0,217488.0,1014.0 +0.001486371,0.0,217488.0,1014.0 +0.00027354930000000004,0.0,217488.0,1014.0 +0.0002752507,0.0,217488.0,1014.0 +0.0002752786,0.0,217488.0,1014.0 +0.00027231010000000003,0.0,217488.0,1014.0 +0.0021889343,0.13146383607767487,217488.0,1014.0 +0.0002767518,0.0,217488.0,1014.0 +0.00027534250000000004,0.0,217488.0,1014.0 +0.00028582900000000003,0.0,217488.0,1014.0 +0.0002797593,0.0,217488.0,1014.0 +0.0002830158,0.0,217488.0,1014.0 +0.0026829509000000002,0.0,217488.0,1014.0 +0.0002858906,0.0,217488.0,1014.0 +0.000284567,0.0,217488.0,1014.0 +0.00027355680000000005,0.0,217488.0,1014.0 +0.0022801736,0.0,217488.0,1014.0 +0.00027930520000000005,0.0,217488.0,1014.0 +0.0002825931,0.0,217488.0,1014.0 +0.00028165810000000004,0.0,217488.0,1014.0 +0.0038868127,0.0,217488.0,1014.0 +0.0002754675,0.0,217488.0,1014.0 +0.0002763621,0.0,217488.0,1014.0 +0.0002753197,0.0,217488.0,1014.0 +0.0018762546000000001,0.0,217488.0,1014.0 +0.0002805231,0.0,217488.0,1014.0 +0.0002650438,0.0,217488.0,1014.0 +0.0005776258000000001,0.5047643301251433,217488.0,1014.0 +0.0002716745,0.0,217488.0,1014.0 +0.0002812663,0.0,217488.0,1014.0 +0.0002742097,0.0,217488.0,1014.0 +0.000270713,0.0,217488.0,1014.0 +0.0018781745000000002,0.0,217488.0,1014.0 +0.0002686637,0.0,217488.0,1014.0 +0.0002773483,0.0,217488.0,1014.0 +0.0002713098,0.0,217488.0,1014.0 +0.00026933450000000004,0.0,217488.0,1014.0 +0.0030699248,0.0,217488.0,1014.0 +0.0002703632,0.0,217488.0,1014.0 +0.0002701232,0.0,217488.0,1014.0 +0.00026862070000000004,0.0,217488.0,1014.0 +0.00027046780000000004,0.0,217488.0,1014.0 +0.0018709022000000003,0.0,217488.0,1014.0 +0.0002617736,0.0,217488.0,1014.0 +0.0002643261,0.0,217488.0,1014.0 +0.00026680750000000004,0.0,217488.0,1014.0 +0.0002674835,0.0,217488.0,1014.0 +0.00026625010000000003,0.0,217488.0,1014.0 +0.0021755848,0.8690919333505179,217488.0,1014.0 +0.0002650078,0.0,217488.0,1014.0 +0.0002658221,0.0,217488.0,1014.0 +0.0002813823,0.0,217488.0,1014.0 +0.0002715781,0.0,217488.0,1014.0 +0.0018802644000000001,0.0,217488.0,1014.0 +0.00026908650000000004,0.0,217488.0,1014.0 +0.000276855,0.0,217488.0,1014.0 +0.00027800300000000003,0.0,217488.0,1014.0 +0.00027690280000000004,0.0,217488.0,1014.0 +0.0002720386,0.0,217488.0,1014.0 +0.0018758578000000001,0.0,217488.0,1014.0 +0.0002655101,0.0,217488.0,1014.0 +0.000265618,0.0,217488.0,1014.0 +0.0002733325,0.0,217488.0,1014.0 +0.00027207420000000004,0.0,217488.0,1014.0 +0.00027096430000000005,0.0,217488.0,1014.0 +0.0018759597000000002,0.0,217488.0,1014.0 +0.00026884690000000003,0.0,217488.0,1014.0 +0.00026200610000000005,0.0,217488.0,1014.0 +0.0002697126,0.0,217488.0,1014.0 +0.0005824544,0.501124379865617,217488.0,1014.0 +0.0018808708,0.0,217488.0,1014.0 +0.0002863583,0.0,217488.0,1014.0 +0.0002772848,0.0,217488.0,1014.0 +0.0002756812,0.0,217488.0,1014.0 +0.000279158,0.0,217488.0,1014.0 +0.0015035880000000001,0.0,217488.0,1014.0 +0.00026836860000000004,0.0,217488.0,1014.0 +0.0002729712,0.0,217488.0,1014.0 +0.0002746554,0.0,217488.0,1014.0 +0.00026983110000000003,0.0,217488.0,1014.0 +0.0002769264,0.0,217488.0,1014.0 +0.0018761812000000003,0.0,217488.0,1014.0 +0.0002603827,0.0,217488.0,1014.0 +0.0002679903,0.0,217488.0,1014.0 +0.0018690987000000003,0.0,217488.0,1014.0 +0.0002544514,0.0,217488.0,1014.0 +0.0002506378,0.0,217488.0,1014.0 +0.0002521892,0.0,217488.0,1014.0 +0.00024622150000000003,0.0,217488.0,1014.0 +0.00025259100000000004,0.0,217488.0,1014.0 +0.0021665621000000004,0.8766086141726563,217488.0,1014.0 +0.00025533930000000004,0.0,217488.0,1014.0 +0.000251239,0.0,217488.0,1014.0 +0.0002582827,0.0,217488.0,1014.0 +0.0002529754,0.0,217488.0,1014.0 +0.0002556963,0.0,217488.0,1014.0 +0.0018608555000000002,0.0,217488.0,1014.0 +0.0002598281,0.0,217488.0,1014.0 +0.0002647874,0.0,217488.0,1014.0 +0.00025895370000000005,0.0,217488.0,1014.0 +0.00025051770000000004,0.0,217488.0,1014.0 +0.0002519072,0.0,217488.0,1014.0 +0.0018599201000000002,0.0,217488.0,1014.0 +0.000253745,0.0,217488.0,1014.0 +0.0002513734,0.0,217488.0,1014.0 +0.0002528202,0.0,217488.0,1014.0 +0.0002499189,0.0,217488.0,1014.0 +0.0002466415,0.0,217488.0,1014.0 +0.0002500626,0.0,217488.0,1014.0 +0.0002479393,0.0,217488.0,1014.0 +0.00024882470000000005,0.0,217488.0,1014.0 +0.0005562915,0.5235861054860627,217488.0,1014.0 +0.00025396290000000003,0.0,217488.0,1014.0 +0.00026307880000000003,0.0,217488.0,1014.0 +0.0002547027,0.0,217488.0,1014.0 +0.00025195530000000004,0.0,217488.0,1014.0 +0.00025365230000000004,0.0,217488.0,1014.0 +0.0002523097,0.0,217488.0,1014.0 +0.0002541926,0.0,217488.0,1014.0 +0.00025334070000000003,0.0,217488.0,1014.0 +0.0002496905,0.0,217488.0,1014.0 +0.000250606,0.0,217488.0,1014.0 +0.00025113180000000003,0.0,217488.0,1014.0 +0.0002566674,0.0,217488.0,1014.0 +0.0002491934,0.0,217488.0,1014.0 +0.00025090720000000004,0.0,217488.0,1014.0 +0.0002530506,0.0,217488.0,1014.0 +0.0002520141,0.0,217488.0,1014.0 +0.0002502951,0.0,217488.0,1014.0 +0.000251058,0.0,217488.0,1014.0 +0.00025001090000000004,0.0,217488.0,1014.0 +0.0002511556,0.0,217488.0,1014.0 +0.0005488583,0.5182388605583627,217488.0,1014.0 +0.0002511179,0.0,217488.0,1014.0 +0.0002511176,0.0,217488.0,1014.0 +0.00025565340000000003,0.0,217488.0,1014.0 +0.00025145100000000003,0.0,217488.0,1014.0 +0.0002570868,0.0,217488.0,1014.0 +0.0002548795,0.0,217488.0,1014.0 +0.00025749780000000003,0.0,217488.0,1014.0 +0.000269219,0.0,217488.0,1014.0 +0.00025622320000000004,0.0,217488.0,1014.0 +0.0002524396,0.0,217488.0,1014.0 +0.0002512204,0.0,217488.0,1014.0 +0.0002576766,0.0,217488.0,1014.0 +0.0002513445,0.0,217488.0,1014.0 +0.0002497072,0.0,217488.0,1014.0 +0.0002542775,0.0,217488.0,1014.0 +0.000253093,0.0,217488.0,1014.0 +0.00024796180000000005,0.0,217488.0,1014.0 +0.0002516746,0.0,217488.0,1014.0 +0.00022691410000000002,0.0,217488.0,1014.0 +0.00014906,0.0,217488.0,1014.0 +0.0004272425,0.6441142910642083,217488.0,1014.0 +0.0001467763,0.0,217488.0,1014.0 +0.00015477400000000002,0.0,217488.0,1014.0 +0.00015176340000000002,0.0,217488.0,1014.0 +0.00014011360000000002,0.0,217488.0,1014.0 +0.0001476696,0.0,217488.0,1014.0 +0.0001417897,0.0,217488.0,1014.0 +0.0001375953,0.0,217488.0,1014.0 +0.0001465868,0.0,217488.0,1014.0 +0.000139064,0.0,217488.0,1014.0 +0.00013779460000000002,0.0,217488.0,1014.0 +0.0001431379,0.0,217488.0,1014.0 +0.00013645440000000002,0.0,217488.0,1014.0 +0.0001435943,0.0,217488.0,1014.0 +0.0001395404,0.0,217488.0,1014.0 +0.0001364066,0.0,217488.0,1014.0 +0.0001405049,0.0,217488.0,1014.0 +0.00013688950000000002,0.0,217488.0,1014.0 +0.0002050002,0.0,217488.0,1014.0 +0.0002275671,0.0,217488.0,1014.0 +0.0002214273,0.0,217488.0,1014.0 +0.00044823880000000006,0.49270076575254085,217488.0,1014.0 +0.0001410655,0.0,217488.0,1014.0 +0.0001395973,0.0,217488.0,1014.0 +0.0001467579,0.0,217488.0,1014.0 +0.0001398984,0.0,217488.0,1014.0 +0.00013761840000000002,0.0,217488.0,1014.0 +0.00014680700000000002,0.0,217488.0,1014.0 +0.0001410033,0.0,217488.0,1014.0 +0.00015311250000000002,0.0,217488.0,1014.0 +0.00014451490000000003,0.0,217488.0,1014.0 +0.00013810900000000003,0.0,217488.0,1014.0 +0.0001405497,0.0,217488.0,1014.0 +0.0001399952,0.0,217488.0,1014.0 +0.0001340487,0.0,217488.0,1014.0 +0.0001384847,0.0,217488.0,1014.0 +0.0001432875,0.0,217488.0,1014.0 +0.00013829180000000002,0.0,217488.0,1014.0 +0.0001451096,0.0,217488.0,1014.0 +0.0002522271,0.0,217488.0,1014.0 +0.0002545609,0.0,217488.0,1014.0 +0.00025401430000000005,0.0,217488.0,1014.0 +0.0002550563,0.0,217488.0,1014.0 +0.0005429033000000001,0.49870649156120433,217488.0,1014.0 +0.00025276110000000004,0.0,217488.0,1014.0 +0.00025974850000000003,0.0,217488.0,1014.0 +0.0002529615,0.0,217488.0,1014.0 +0.0002533769,0.0,217488.0,1014.0 +0.0002560253,0.0,217488.0,1014.0 +0.000248207,0.0,217488.0,1014.0 +0.0002541221,0.0,217488.0,1014.0 +0.0002500782,0.0,217488.0,1014.0 +0.00025100830000000004,0.0,217488.0,1014.0 +0.00025453680000000003,0.0,217488.0,1014.0 +0.000252688,0.0,217488.0,1014.0 +0.0002507455,0.0,217488.0,1014.0 +0.00024968960000000003,0.0,217488.0,1014.0 +0.00025140890000000004,0.0,217488.0,1014.0 +0.0002488685,0.0,217488.0,1014.0 +0.00025173000000000003,0.0,217488.0,1014.0 +0.0002486944,0.0,217488.0,1014.0 +0.0002510234,0.0,217488.0,1014.0 +0.0002467146,0.0,217488.0,1014.0 +0.00024594170000000003,0.0,217488.0,1014.0 +0.0005747324,0.4967473558128966,217488.0,1014.0 +0.0002695465,0.0,217488.0,1014.0 +0.0002781379,0.0,217488.0,1014.0 +0.0002768164,0.0,217488.0,1014.0 +0.0002596066,0.0,217488.0,1014.0 +0.0002672169,0.0,217488.0,1014.0 +0.0002612924,0.0,217488.0,1014.0 +0.0002733225,0.0,217488.0,1014.0 +0.0002644202,0.0,217488.0,1014.0 +0.0002643213,0.0,217488.0,1014.0 +0.0002746981,0.0,217488.0,1014.0 +0.0002749041,0.0,217488.0,1014.0 +0.0002756882,0.0,217488.0,1014.0 +0.00027394470000000005,0.0,217488.0,1014.0 +0.0002748491,0.0,217488.0,1014.0 +0.00026705360000000005,0.0,217488.0,1014.0 +0.0002570204,0.0,217488.0,1014.0 +0.00025996090000000003,0.0,217488.0,1014.0 +0.0002570278,0.0,217488.0,1014.0 +0.0002545309,0.0,217488.0,1014.0 +0.0002606147,0.0,217488.0,1014.0 +0.0006274675,0.5369039830748206,217488.0,1014.0 +0.00028030030000000003,0.0,217488.0,1014.0 +0.000286365,0.0,217488.0,1014.0 +0.0002856317,0.0,217488.0,1014.0 +0.0002788884,0.0,217488.0,1014.0 +0.000267995,0.0,217488.0,1014.0 +0.0014703238,0.0,217488.0,1014.0 +0.0002658216,0.0,217488.0,1014.0 +0.0002657127,0.0,217488.0,1014.0 +0.0002642817,0.0,217488.0,1014.0 +0.00026382410000000005,0.0,217488.0,1014.0 +0.0002644321,0.0,217488.0,1014.0 +0.0018665030000000003,0.0,217488.0,1014.0 +0.0002675097,0.0,217488.0,1014.0 +0.0002674086,0.0,217488.0,1014.0 +0.0002619914,0.0,217488.0,1014.0 +0.0002597437,0.0,217488.0,1014.0 +0.0003140276,0.0,217488.0,1014.0 +0.0019793294000000003,0.0,217488.0,1014.0 +0.00037269580000000004,0.0,217488.0,1014.0 +0.0003700721,0.0,217488.0,1014.0 +0.0022148625000000003,0.1289481852710947,217488.0,1014.0 +0.0002654223,0.0,217488.0,1014.0 +0.0002624241,0.0,217488.0,1014.0 +0.0002699941,0.0,217488.0,1014.0 +0.00025591940000000004,0.0,217488.0,1014.0 +0.0002668284,0.0,217488.0,1014.0 +0.001865029,0.0,217488.0,1014.0 +0.00027742740000000004,0.0,217488.0,1014.0 +0.0002684332,0.0,217488.0,1014.0 +0.0002620812,0.0,217488.0,1014.0 +0.0002556578,0.0,217488.0,1014.0 +0.000260566,0.0,217488.0,1014.0 +0.00025739320000000003,0.0,217488.0,1014.0 +0.0018668094,0.0,217488.0,1014.0 +0.00026492850000000006,0.0,217488.0,1014.0 +0.0002591163,0.0,217488.0,1014.0 +0.0002588711,0.0,217488.0,1014.0 +0.00026346660000000006,0.0,217488.0,1014.0 +0.0002804801,0.0,217488.0,1014.0 +0.00027822050000000004,0.0,217488.0,1014.0 +0.0002773811,0.0,217488.0,1014.0 +0.0005870189,0.4960395653359713,217488.0,1014.0 +0.00027398350000000006,0.0,217488.0,1014.0 +0.00027920360000000005,0.0,217488.0,1014.0 +0.0002734528,0.0,217488.0,1014.0 +0.0002667885,0.0,217488.0,1014.0 +0.0002668373,0.0,217488.0,1014.0 +0.0002626597,0.0,217488.0,1014.0 +0.0002775876,0.0,217488.0,1014.0 +0.00028386490000000003,0.0,217488.0,1014.0 +0.0002850721,0.0,217488.0,1014.0 +0.0002800037,0.0,217488.0,1014.0 +0.00028000290000000004,0.0,217488.0,1014.0 +0.00027385500000000004,0.0,217488.0,1014.0 +0.0002615752,0.0,217488.0,1014.0 +0.00026837510000000004,0.0,217488.0,1014.0 +0.0002643772,0.0,217488.0,1014.0 +0.00026088740000000004,0.0,217488.0,1014.0 +0.0002622381,0.0,217488.0,1014.0 +0.0002640254,0.0,217488.0,1014.0 +0.0002689463,0.0,217488.0,1014.0 +0.0002761912,0.0,217488.0,1014.0 +0.0005822327,0.49361844499630475,217488.0,1014.0 +0.00028121790000000004,0.0,217488.0,1014.0 +0.00027503090000000004,0.0,217488.0,1014.0 +0.0002633485,0.0,217488.0,1014.0 +0.0002631184,0.0,217488.0,1014.0 +0.00026994190000000003,0.0,217488.0,1014.0 +0.00026580850000000004,0.0,217488.0,1014.0 +0.0002725678,0.0,217488.0,1014.0 +0.000280667,0.0,217488.0,1014.0 +0.0002660512,0.0,217488.0,1014.0 +0.0002757096,0.0,217488.0,1014.0 +0.0002800641,0.0,217488.0,1014.0 +0.0002774623,0.0,217488.0,1014.0 +0.00027745630000000003,0.0,217488.0,1014.0 +0.0002844765,0.0,217488.0,1014.0 +0.000277937,0.0,217488.0,1014.0 +0.00025803100000000004,0.0,217488.0,1014.0 +0.0002609793,0.0,217488.0,1014.0 +0.0002591151,0.0,217488.0,1014.0 +0.00025889900000000004,0.0,217488.0,1014.0 +0.00026694610000000004,0.0,217488.0,1014.0 +0.0005788537000000001,0.5072323110312675,217488.0,1014.0 +0.0002829401,0.0,217488.0,1014.0 +0.00028904900000000004,0.0,217488.0,1014.0 +0.00028814350000000004,0.0,217488.0,1014.0 +0.00028042310000000006,0.0,217488.0,1014.0 +0.0002705367,0.0,217488.0,1014.0 +0.0002644502,0.0,217488.0,1014.0 +0.0002613652,0.0,217488.0,1014.0 +0.000265606,0.0,217488.0,1014.0 +0.0002675353,0.0,217488.0,1014.0 +0.00026144140000000003,0.0,217488.0,1014.0 +0.0002713087,0.0,217488.0,1014.0 +0.0002794932,0.0,217488.0,1014.0 +0.00027029830000000003,0.0,217488.0,1014.0 +0.00027723820000000003,0.0,217488.0,1014.0 +0.00027700520000000005,0.0,217488.0,1014.0 +0.000276378,0.0,217488.0,1014.0 +0.00026734320000000003,0.0,217488.0,1014.0 +0.0002611071,0.0,217488.0,1014.0 +0.0002566679,0.0,217488.0,1014.0 +0.0002568251,0.0,217488.0,1014.0 +0.000555427,0.5131030720508726,217488.0,1014.0 +0.000277971,0.0,217488.0,1014.0 +0.0002730553,0.0,217488.0,1014.0 +0.00027579030000000004,0.0,217488.0,1014.0 +0.001086155,0.0,217488.0,1014.0 +0.00028583380000000004,0.0,217488.0,1014.0 +0.000286804,0.0,217488.0,1014.0 +0.0002863646,0.0,217488.0,1014.0 +0.0002973837,0.0,217488.0,1014.0 +0.0018917023000000002,0.0,217488.0,1014.0 +0.00027884650000000003,0.0,217488.0,1014.0 +0.00028170310000000004,0.0,217488.0,1014.0 +0.0002840895,0.0,217488.0,1014.0 +0.0002810639,0.0,217488.0,1014.0 +0.0002826653,0.0,217488.0,1014.0 +0.0018848419000000003,0.0,217488.0,1014.0 +0.00027863970000000004,0.0,217488.0,1014.0 +0.0002789442,0.0,217488.0,1014.0 +0.00027893190000000004,0.0,217488.0,1014.0 +0.0002793752,0.0,217488.0,1014.0 +0.00028210940000000003,0.0,217488.0,1014.0 +0.0006824481,0.42682791555870697,217488.0,1014.0 +0.0002548972,0.0,217488.0,1014.0 +0.0002618181,0.0,217488.0,1014.0 +0.0002802564,0.0,217488.0,1014.0 +0.00028602140000000005,0.0,217488.0,1014.0 +0.00028286630000000005,0.0,217488.0,1014.0 +0.0002817795,0.0,217488.0,1014.0 +0.0002860473,0.0,217488.0,1014.0 +0.0002773108,0.0,217488.0,1014.0 +0.0002574016,0.0,217488.0,1014.0 +0.0002604638,0.0,217488.0,1014.0 +0.00025973230000000003,0.0,217488.0,1014.0 +0.0002637145,0.0,217488.0,1014.0 +0.0002667462,0.0,217488.0,1014.0 +0.0002721513,0.0,217488.0,1014.0 +0.000280495,0.0,217488.0,1014.0 +0.0002784845,0.0,217488.0,1014.0 +0.0002762787,0.0,217488.0,1014.0 +0.00027472570000000005,0.0,217488.0,1014.0 +0.00027569080000000004,0.0,217488.0,1014.0 +0.0002686842,0.0,217488.0,1014.0 +0.0005648312,0.5107904804125551,217488.0,1014.0 +0.00026689400000000005,0.0,217488.0,1014.0 +0.00026225520000000004,0.0,217488.0,1014.0 +0.0002660136,0.0,217488.0,1014.0 +0.0002704559,0.0,217488.0,1014.0 +0.0002749259,0.0,217488.0,1014.0 +0.0002782893,0.0,217488.0,1014.0 +0.0002783586,0.0,217488.0,1014.0 +0.00029014780000000004,0.0,217488.0,1014.0 +0.00027632570000000003,0.0,217488.0,1014.0 +0.0002712729,0.0,217488.0,1014.0 +0.0002662648,0.0,217488.0,1014.0 +0.0002636431,0.0,217488.0,1014.0 +0.0002661984,0.0,217488.0,1014.0 +0.00026143750000000006,0.0,217488.0,1014.0 +0.0002638619,0.0,217488.0,1014.0 +0.00026895490000000005,0.0,217488.0,1014.0 +0.0002743386,0.0,217488.0,1014.0 +0.0002715751,0.0,217488.0,1014.0 +0.0002716609,0.0,217488.0,1014.0 +0.0002700557,0.0,217488.0,1014.0 +0.0005783571000000001,0.5014922441515804,217488.0,1014.0 +0.0002748499,0.0,217488.0,1014.0 +0.00027241630000000004,0.0,217488.0,1014.0 +0.00027524890000000005,0.0,217488.0,1014.0 +0.00026888460000000004,0.0,217488.0,1014.0 +0.0002689897,0.0,217488.0,1014.0 +0.00027515440000000003,0.0,217488.0,1014.0 +0.00034318810000000006,0.0,217488.0,1014.0 +0.0003087642,0.0,217488.0,1014.0 +0.0002732025,0.0,217488.0,1014.0 +0.00027467100000000004,0.0,217488.0,1014.0 +0.0002699332,0.0,217488.0,1014.0 +0.0002679123,0.0,217488.0,1014.0 +0.0002650115,0.0,217488.0,1014.0 +0.0002745472,0.0,217488.0,1014.0 +0.0002676429,0.0,217488.0,1014.0 +0.0002647509,0.0,217488.0,1014.0 +0.00026900590000000004,0.0,217488.0,1014.0 +0.00039772030000000006,0.0,217488.0,1014.0 +0.0003355709,0.0,217488.0,1014.0 +0.00027028770000000004,0.0,217488.0,1014.0 +0.0002665784,0.0,217488.0,1014.0 +0.0006196387000000001,0.4640391247351077,217488.0,1014.0 +0.0002639953,0.0,217488.0,1014.0 +0.00036386160000000003,0.0,217488.0,1014.0 +0.0002829247,0.0,217488.0,1014.0 +0.0002683206,0.0,217488.0,1014.0 +0.0002737124,0.0,217488.0,1014.0 +0.00027343720000000003,0.0,217488.0,1014.0 +0.0018877181,0.0,217488.0,1014.0 +0.00026982290000000006,0.0,217488.0,1014.0 +0.0002702392,0.0,217488.0,1014.0 +0.0002717368,0.0,217488.0,1014.0 +0.0002743623,0.0,217488.0,1014.0 +0.00027828840000000004,0.0,217488.0,1014.0 +0.0003203062,0.0,217488.0,1014.0 +0.000361575,0.0,217488.0,1014.0 +0.0003121422,0.0,217488.0,1014.0 +0.00027090130000000003,0.0,217488.0,1014.0 +0.0002691919,0.0,217488.0,1014.0 +0.0002686763,0.0,217488.0,1014.0 +0.0002616175,0.0,217488.0,1014.0 +0.00033031870000000004,0.0,217488.0,1014.0 +0.0007413418,0.4948877832060731,217488.0,1014.0 +0.00030485190000000006,0.0,217488.0,1014.0 +0.0003428692,0.0,217488.0,1014.0 +0.0007591076000000001,0.0,217488.0,1014.0 +0.00027630700000000005,0.0,217488.0,1014.0 +0.00028000670000000004,0.0,217488.0,1014.0 +0.0002757508,0.0,217488.0,1014.0 +0.0002840993,0.0,217488.0,1014.0 +0.0002827151,0.0,217488.0,1014.0 +0.0002830616,0.0,217488.0,1014.0 +0.0002817799,0.0,217488.0,1014.0 +0.00028078550000000004,0.0,217488.0,1014.0 +0.0002776119,0.0,217488.0,1014.0 +0.0002732203,0.0,217488.0,1014.0 +0.00027095160000000006,0.0,217488.0,1014.0 +0.00029124260000000003,0.0,217488.0,1014.0 +0.0002728345,0.0,217488.0,1014.0 +0.0003317764,0.0,217488.0,1014.0 +0.00042831380000000005,0.0,217488.0,1014.0 +0.00039076610000000005,0.0,217488.0,1014.0 +0.0003875179,0.0,217488.0,1014.0 +0.0006355099,0.4479843665692698,217488.0,1014.0 +0.0003100715,0.0,217488.0,1014.0 +0.0002723108,0.0,217488.0,1014.0 +0.00028177920000000003,0.0,217488.0,1014.0 +0.00027805960000000003,0.0,217488.0,1014.0 +0.0002886979,0.0,217488.0,1014.0 +0.00029302340000000003,0.0,217488.0,1014.0 +0.0002894719,0.0,217488.0,1014.0 +0.00028922510000000003,0.0,217488.0,1014.0 +0.0002815464,0.0,217488.0,1014.0 +0.0002805889,0.0,217488.0,1014.0 +0.000279297,0.0,217488.0,1014.0 +0.00027662870000000003,0.0,217488.0,1014.0 +0.0002734783,0.0,217488.0,1014.0 +0.0002745803,0.0,217488.0,1014.0 +0.000275297,0.0,217488.0,1014.0 +0.00027462000000000005,0.0,217488.0,1014.0 +0.0002783319,0.0,217488.0,1014.0 +0.000278845,0.0,217488.0,1014.0 +0.00027712040000000003,0.0,217488.0,1014.0 +0.0002787079,0.0,217488.0,1014.0 +0.0005886545,0.49226413796208135,217488.0,1014.0 +0.0002755075,0.0,217488.0,1014.0 +0.0002872471,0.0,217488.0,1014.0 +0.00027974660000000003,0.0,217488.0,1014.0 +0.0002747574,0.0,217488.0,1014.0 +0.0002824328,0.0,217488.0,1014.0 +0.0002760016,0.0,217488.0,1014.0 +0.00027841680000000003,0.0,217488.0,1014.0 +0.0002785889,0.0,217488.0,1014.0 +0.0002809681,0.0,217488.0,1014.0 +0.0002805437,0.0,217488.0,1014.0 +0.00027831640000000005,0.0,217488.0,1014.0 +0.00027710340000000003,0.0,217488.0,1014.0 +0.00027549500000000006,0.0,217488.0,1014.0 +0.0002702276,0.0,217488.0,1014.0 +0.0002722838,0.0,217488.0,1014.0 +0.0002769701,0.0,217488.0,1014.0 +0.0002743706,0.0,217488.0,1014.0 +0.0002774609,0.0,217488.0,1014.0 +0.0002780266,0.0,217488.0,1014.0 +0.0002788637,0.0,217488.0,1014.0 +0.0005847499000000001,0.4963691314868117,217488.0,1014.0 +0.0002765076,0.0,217488.0,1014.0 +0.0002793954,0.0,217488.0,1014.0 +0.0002827023,0.0,217488.0,1014.0 +0.0002754599,0.0,217488.0,1014.0 +0.00027943620000000005,0.0,217488.0,1014.0 +0.0002824697,0.0,217488.0,1014.0 +0.0002902416,0.0,217488.0,1014.0 +0.0002898046,0.0,217488.0,1014.0 +0.0002883197,0.0,217488.0,1014.0 +0.000283264,0.0,217488.0,1014.0 +0.00028603820000000003,0.0,217488.0,1014.0 +0.0002782398,0.0,217488.0,1014.0 +0.00027804260000000003,0.0,217488.0,1014.0 +0.0002806837,0.0,217488.0,1014.0 +0.00027693840000000004,0.0,217488.0,1014.0 +0.000275814,0.0,217488.0,1014.0 +0.0002810301,0.0,217488.0,1014.0 +0.0002807185,0.0,217488.0,1014.0 +0.0002779934,0.0,217488.0,1014.0 +0.0002811703,0.0,217488.0,1014.0 +0.0006381713000000001,0.5320234551444103,217488.0,1014.0 +0.0002821474,0.0,217488.0,1014.0 +0.0002963322,0.0,217488.0,1014.0 +0.0002828913,0.0,217488.0,1014.0 +0.0002788595,0.0,217488.0,1014.0 +0.00028335320000000004,0.0,217488.0,1014.0 +0.00028349500000000004,0.0,217488.0,1014.0 +0.00028471190000000003,0.0,217488.0,1014.0 +0.00028046260000000003,0.0,217488.0,1014.0 +0.0002858073,0.0,217488.0,1014.0 +0.000284547,0.0,217488.0,1014.0 +0.0002817543,0.0,217488.0,1014.0 +0.0002796141,0.0,217488.0,1014.0 +0.0002777887,0.0,217488.0,1014.0 +0.00028051540000000003,0.0,217488.0,1014.0 +0.0002754316,0.0,217488.0,1014.0 +0.0002774213,0.0,217488.0,1014.0 +0.00029772450000000003,0.0,217488.0,1014.0 +0.00038924070000000003,0.0,217488.0,1014.0 +0.000388855,0.0,217488.0,1014.0 +0.000390263,0.0,217488.0,1014.0 +0.0006502938000000001,0.4460829858749999,217488.0,1014.0 +0.0002808914,0.0,217488.0,1014.0 +0.00027969000000000003,0.0,217488.0,1014.0 +0.0002823839,0.0,217488.0,1014.0 +0.00027968800000000005,0.0,217488.0,1014.0 +0.000286538,0.0,217488.0,1014.0 +0.00028510250000000003,0.0,217488.0,1014.0 +0.0002903853,0.0,217488.0,1014.0 +0.0002930508,0.0,217488.0,1014.0 +0.0002883377,0.0,217488.0,1014.0 +0.0002792286,0.0,217488.0,1014.0 +0.0002840276,0.0,217488.0,1014.0 +0.0002830892,0.0,217488.0,1014.0 +0.0002757376,0.0,217488.0,1014.0 +0.00027765980000000003,0.0,217488.0,1014.0 +0.0002766335,0.0,217488.0,1014.0 +0.0002782831,0.0,217488.0,1014.0 +0.00027624400000000003,0.0,217488.0,1014.0 +0.000279896,0.0,217488.0,1014.0 +0.0002797632,0.0,217488.0,1014.0 +0.00027823120000000005,0.0,217488.0,1014.0 +0.0005925242,0.49331588481955674,217488.0,1014.0 +0.0002850565,0.0,217488.0,1014.0 +0.00028683180000000003,0.0,217488.0,1014.0 +0.00028436890000000005,0.0,217488.0,1014.0 +0.0002798399,0.0,217488.0,1014.0 +0.00027964470000000003,0.0,217488.0,1014.0 +0.0002779208,0.0,217488.0,1014.0 +0.0002772728,0.0,217488.0,1014.0 +0.00027887470000000005,0.0,217488.0,1014.0 +0.000280831,0.0,217488.0,1014.0 +0.0002796709,0.0,217488.0,1014.0 +0.0002809784,0.0,217488.0,1014.0 +0.0002845422,0.0,217488.0,1014.0 +0.0002802543,0.0,217488.0,1014.0 +0.0002790049,0.0,217488.0,1014.0 +0.0002776581,0.0,217488.0,1014.0 +0.00015695960000000001,0.0,217488.0,1014.0 +0.0001505838,0.0,217488.0,1014.0 +0.0001516404,0.0,217488.0,1014.0 +0.0001489112,0.0,217488.0,1014.0 +0.00014803800000000002,0.0,217488.0,1014.0 +0.000403557,0.5851393979041375,217488.0,1014.0 +0.0002014627,0.0,217488.0,1014.0 +0.0002448317,0.0,217488.0,1014.0 +0.0002513801,0.0,217488.0,1014.0 +0.000247957,0.0,217488.0,1014.0 +0.0002488518,0.0,217488.0,1014.0 +0.0002573839,0.0,217488.0,1014.0 +0.0002543313,0.0,217488.0,1014.0 +0.0002653243,0.0,217488.0,1014.0 +0.00025656980000000006,0.0,217488.0,1014.0 +0.00025222360000000003,0.0,217488.0,1014.0 +0.0002517062,0.0,217488.0,1014.0 +0.00025361890000000003,0.0,217488.0,1014.0 +0.00024650510000000003,0.0,217488.0,1014.0 +0.0002496067,0.0,217488.0,1014.0 +0.0002535523,0.0,217488.0,1014.0 +0.0002491858,0.0,217488.0,1014.0 +0.00024901180000000005,0.0,217488.0,1014.0 +0.0002466581,0.0,217488.0,1014.0 +0.0002462976,0.0,217488.0,1014.0 +0.0002479072,0.0,217488.0,1014.0 +0.0005546045,0.5245089067975467,217488.0,1014.0 +0.0002559525,0.0,217488.0,1014.0 +0.0002579697,0.0,217488.0,1014.0 +0.00025783260000000004,0.0,217488.0,1014.0 +0.0002523935,0.0,217488.0,1014.0 +0.0002523076,0.0,217488.0,1014.0 +0.00025555060000000005,0.0,217488.0,1014.0 +0.0002533734,0.0,217488.0,1014.0 +0.0002528516,0.0,217488.0,1014.0 +0.000251371,0.0,217488.0,1014.0 +0.0002463443,0.0,217488.0,1014.0 +0.0002485966,0.0,217488.0,1014.0 +0.0002508283,0.0,217488.0,1014.0 +0.00024809400000000003,0.0,217488.0,1014.0 +0.0002477045,0.0,217488.0,1014.0 +0.00025391810000000004,0.0,217488.0,1014.0 +0.0002476124,0.0,217488.0,1014.0 +0.0002490225,0.0,217488.0,1014.0 +0.00024865680000000004,0.0,217488.0,1014.0 +0.00025016070000000005,0.0,217488.0,1014.0 +0.0002489739,0.0,217488.0,1014.0 +0.0005363584,0.5347142880581343,217488.0,1014.0 +0.0002640514,0.0,217488.0,1014.0 +0.0002450603,0.0,217488.0,1014.0 +0.0002513246,0.0,217488.0,1014.0 +0.00025092450000000003,0.0,217488.0,1014.0 +0.0002496911,0.0,217488.0,1014.0 +0.0002553025,0.0,217488.0,1014.0 +0.000252344,0.0,217488.0,1014.0 +0.00026760300000000005,0.0,217488.0,1014.0 +0.00025593580000000005,0.0,217488.0,1014.0 +0.00025541,0.0,217488.0,1014.0 +0.0002535204,0.0,217488.0,1014.0 +0.0002527496,0.0,217488.0,1014.0 +0.0002538387,0.0,217488.0,1014.0 +0.0002491058,0.0,217488.0,1014.0 +0.00025271260000000003,0.0,217488.0,1014.0 +0.0002477987,0.0,217488.0,1014.0 +0.00024869110000000003,0.0,217488.0,1014.0 +0.0002460724,0.0,217488.0,1014.0 +0.0002475833,0.0,217488.0,1014.0 +0.0002525953,0.0,217488.0,1014.0 +0.00024685150000000003,0.0,217488.0,1014.0 +0.0017011217000000001,0.8385506457298146,217488.0,1014.0 +0.0002526492,0.0,217488.0,1014.0 +0.0002599231,0.0,217488.0,1014.0 +0.0002549033,0.0,217488.0,1014.0 +0.0004544519,0.0,217488.0,1014.0 +0.0002557255,0.0,217488.0,1014.0 +0.00025329320000000004,0.0,217488.0,1014.0 +0.0002550193,0.0,217488.0,1014.0 +0.00032788490000000006,0.0,217488.0,1014.0 +0.0002717036,0.0,217488.0,1014.0 +0.0002730197,0.0,217488.0,1014.0 +0.0002749155,0.0,217488.0,1014.0 +0.00027328670000000005,0.0,217488.0,1014.0 +0.0002748752,0.0,217488.0,1014.0 +0.00028442340000000004,0.0,217488.0,1014.0 +0.0002789273,0.0,217488.0,1014.0 +0.000276105,0.0,217488.0,1014.0 +0.0002746465,0.0,217488.0,1014.0 +0.000329127,0.0,217488.0,1014.0 +0.0002729656,0.0,217488.0,1014.0 +0.00027018,0.0,217488.0,1014.0 +0.0005906822,0.5097974850097057,217488.0,1014.0 +0.0018810204,0.0,217488.0,1014.0 +0.0002791935,0.0,217488.0,1014.0 +0.00027977320000000005,0.0,217488.0,1014.0 +0.0002762559,0.0,217488.0,1014.0 +0.0002818413,0.0,217488.0,1014.0 +0.00027750960000000004,0.0,217488.0,1014.0 +0.0018995000000000001,0.0,217488.0,1014.0 +0.00028217300000000004,0.0,217488.0,1014.0 +0.00027833160000000003,0.0,217488.0,1014.0 +0.0002779082,0.0,217488.0,1014.0 +0.0002774009,0.0,217488.0,1014.0 +0.0022822554,0.0,217488.0,1014.0 +0.000273596,0.0,217488.0,1014.0 +0.0002767654,0.0,217488.0,1014.0 +0.0002749968,0.0,217488.0,1014.0 +0.00027589240000000005,0.0,217488.0,1014.0 +0.00027597890000000006,0.0,217488.0,1014.0 +0.0022770250000000002,0.0,217488.0,1014.0 +0.000274931,0.0,217488.0,1014.0 +0.00027071020000000003,0.0,217488.0,1014.0 +0.0029912488,0.09749984688669161,217488.0,1014.0 +0.0002807279,0.0,217488.0,1014.0 +0.000286179,0.0,217488.0,1014.0 +0.0002825873,0.0,217488.0,1014.0 +0.00028090710000000003,0.0,217488.0,1014.0 diff --git a/perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv b/perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv index a1a3e30..bda4ee0 100644 --- a/perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv +++ b/perf/PatternFolds/output/9b0009bc-cdad-52d4-91df-06842447cf61.csv @@ -1,101 +1,1001 @@ times,gctimes,memory,allocs -137133.0,0.0,137488,14 -100909.0,0.0,137488,14 -110438.0,0.0,137488,14 -136198.0,0.0,137488,14 -134224.0,0.0,137488,14 -130235.0,0.0,137488,14 -135210.0,0.0,137488,14 -140526.0,0.0,137488,14 -136415.0,0.0,137488,14 -153421.0,0.0,137488,14 -147882.0,0.0,137488,14 -123018.0,0.0,137488,14 -116108.0,0.0,137488,14 -131315.0,0.0,137488,14 -106803.0,0.0,137488,14 -104637.0,0.0,137488,14 -132343.0,0.0,137488,14 -134600.0,0.0,137488,14 -123445.0,0.0,137488,14 -134068.0,0.0,137488,14 -134557.0,0.0,137488,14 -153160.0,0.0,137488,14 -129081.0,0.0,137488,14 -140181.0,0.0,137488,14 -166162.0,0.0,137488,14 -144048.0,0.0,137488,14 -145176.0,0.0,137488,14 -121154.0,0.0,137488,14 -148603.0,0.0,137488,14 -149624.0,0.0,137488,14 -153194.0,0.0,137488,14 -148892.0,0.0,137488,14 -145174.0,0.0,137488,14 -146200.0,0.0,137488,14 -144411.0,0.0,137488,14 -137312.0,0.0,137488,14 -144497.0,0.0,137488,14 -127450.0,0.0,137488,14 -137510.0,0.0,137488,14 -147001.0,0.0,137488,14 -132369.0,0.0,137488,14 -134823.0,0.0,137488,14 -149481.0,0.0,137488,14 -133783.0,0.0,137488,14 -140885.0,0.0,137488,14 -145673.0,0.0,137488,14 -140687.0,0.0,137488,14 -134434.0,0.0,137488,14 -134043.0,0.0,137488,14 -136538.0,0.0,137488,14 -137724.0,0.0,137488,14 -132520.0,0.0,137488,14 -154707.0,0.0,137488,14 -150878.0,0.0,137488,14 -146044.0,0.0,137488,14 -144032.0,0.0,137488,14 -144614.0,0.0,137488,14 -150415.0,0.0,137488,14 -140250.0,0.0,137488,14 -151170.0,0.0,137488,14 -136435.0,0.0,137488,14 -139676.0,0.0,137488,14 -134555.0,0.0,137488,14 -144035.0,0.0,137488,14 -144025.0,0.0,137488,14 -139785.0,0.0,137488,14 -139254.0,0.0,137488,14 -138218.0,0.0,137488,14 -142834.0,0.0,137488,14 -140645.0,0.0,137488,14 -139742.0,0.0,137488,14 -137171.0,0.0,137488,14 -132733.0,0.0,137488,14 -133655.0,0.0,137488,14 -138097.0,0.0,137488,14 -132699.0,0.0,137488,14 -136515.0,0.0,137488,14 -144486.0,0.0,137488,14 -140174.0,0.0,137488,14 -136478.0,0.0,137488,14 -170140.0,0.0,137488,14 -155797.0,0.0,137488,14 -141138.0,0.0,137488,14 -143987.0,0.0,137488,14 -146824.0,0.0,137488,14 -148877.0,0.0,137488,14 -139694.0,0.0,137488,14 -151300.0,0.0,137488,14 -136111.0,0.0,137488,14 -134991.0,0.0,137488,14 -138373.0,0.0,137488,14 -133608.0,0.0,137488,14 -134322.0,0.0,137488,14 -140581.0,0.0,137488,14 -134178.0,0.0,137488,14 -141246.0,0.0,137488,14 -135783.0,0.0,137488,14 -134575.0,0.0,137488,14 -137556.0,0.0,137488,14 -138428.0,0.0,137488,14 +212265.0,0.0,137488,14 +200800.3,0.0,137488,14 +216175.9,0.0,137488,14 +232093.5,0.0,137488,14 +228833.1,0.0,137488,14 +234346.8,0.0,137488,14 +236842.7,0.0,137488,14 +237500.6,0.0,137488,14 +239783.3,0.0,137488,14 +231952.3,0.0,137488,14 +231592.2,0.0,137488,14 +221609.3,0.0,137488,14 +237916.7,0.0,137488,14 +244294.7,0.0,137488,14 +243668.2,0.0,137488,14 +249506.3,0.0,137488,14 +274995.7,0.0,137488,14 +302663.7,0.0,137488,14 +295805.1,0.0,137488,14 +280507.8,0.0,137488,14 +296243.5,0.0,137488,14 +279058.6,0.0,137488,14 +278848.4,0.0,137488,14 +278893.4,0.0,137488,14 +295957.4,0.0,137488,14 +278322.1,0.0,137488,14 +292239.6,0.0,137488,14 +280007.8,0.0,137488,14 +276373.5,0.0,137488,14 +4.1068895e6,3.8632162e6,137488,14 +159868.8,0.0,137488,14 +159737.2,0.0,137488,14 +158846.2,0.0,137488,14 +160133.1,0.0,137488,14 +160073.1,0.0,137488,14 +155526.6,0.0,137488,14 +157407.6,0.0,137488,14 +161354.8,0.0,137488,14 +156495.2,0.0,137488,14 +158063.1,0.0,137488,14 +161171.7,0.0,137488,14 +158895.8,0.0,137488,14 +159067.3,0.0,137488,14 +159932.0,0.0,137488,14 +159869.7,0.0,137488,14 +157637.4,0.0,137488,14 +157117.7,0.0,137488,14 +254221.4,0.0,137488,14 +270509.2,0.0,137488,14 +271048.3,0.0,137488,14 +275365.9,0.0,137488,14 +274120.1,0.0,137488,14 +276396.6,0.0,137488,14 +279121.0,0.0,137488,14 +278190.1,0.0,137488,14 +277771.8,0.0,137488,14 +277582.4,0.0,137488,14 +276965.9,0.0,137488,14 +279258.8,0.0,137488,14 +277716.7,0.0,137488,14 +288239.6,0.0,137488,14 +276545.7,0.0,137488,14 +763868.0,464129.7,137488,14 +156099.3,0.0,137488,14 +166870.8,0.0,137488,14 +161781.6,0.0,137488,14 +158159.1,0.0,137488,14 +160613.6,0.0,137488,14 +154848.1,0.0,137488,14 +157533.9,0.0,137488,14 +157870.3,0.0,137488,14 +155507.7,0.0,137488,14 +159266.0,0.0,137488,14 +157935.3,0.0,137488,14 +159365.8,0.0,137488,14 +155867.4,0.0,137488,14 +157827.5,0.0,137488,14 +158659.1,0.0,137488,14 +154032.6,0.0,137488,14 +156935.6,0.0,137488,14 +158161.4,0.0,137488,14 +157029.2,0.0,137488,14 +158314.4,0.0,137488,14 +157023.0,0.0,137488,14 +157029.5,0.0,137488,14 +158161.4,0.0,137488,14 +156935.6,0.0,137488,14 +157418.1,0.0,137488,14 +155633.0,0.0,137488,14 +158425.0,0.0,137488,14 +158617.0,0.0,137488,14 +156754.2,0.0,137488,14 +160003.7,0.0,137488,14 +155929.7,0.0,137488,14 +157979.8,0.0,137488,14 +158125.1,0.0,137488,14 +308490.7,132170.4,137488,14 +157525.7,0.0,137488,14 +159789.0,0.0,137488,14 +154944.7,0.0,137488,14 +157195.8,0.0,137488,14 +156162.1,0.0,137488,14 +157259.2,0.0,137488,14 +158683.5,0.0,137488,14 +159530.2,0.0,137488,14 +157775.1,0.0,137488,14 +156743.3,0.0,137488,14 +158623.3,0.0,137488,14 +157917.6,0.0,137488,14 +156213.0,0.0,137488,14 +154887.5,0.0,137488,14 +156403.8,0.0,137488,14 +158546.9,0.0,137488,14 +156482.3,0.0,137488,14 +158789.1,0.0,137488,14 +155125.4,0.0,137488,14 +157168.6,0.0,137488,14 +160039.4,0.0,137488,14 +156713.4,0.0,137488,14 +158202.9,0.0,137488,14 +155999.8,0.0,137488,14 +155993.2,0.0,137488,14 +159012.8,0.0,137488,14 +156935.8,0.0,137488,14 +158896.2,0.0,137488,14 +157776.2,0.0,137488,14 +157492.6,0.0,137488,14 +159998.9,0.0,137488,14 +155974.2,0.0,137488,14 +303298.6,132277.3,137488,14 +161596.7,0.0,137488,14 +161274.6,0.0,137488,14 +158054.4,0.0,137488,14 +160620.6,0.0,137488,14 +156079.5,0.0,137488,14 +153352.8,0.0,137488,14 +159741.0,0.0,137488,14 +158362.1,0.0,137488,14 +161600.0,0.0,137488,14 +155899.4,0.0,137488,14 +157248.6,0.0,137488,14 +159460.1,0.0,137488,14 +155733.5,0.0,137488,14 +158225.7,0.0,137488,14 +159414.5,0.0,137488,14 +156755.9,0.0,137488,14 +158447.7,0.0,137488,14 +158105.8,0.0,137488,14 +156725.5,0.0,137488,14 +158243.2,0.0,137488,14 +157167.0,0.0,137488,14 +157474.0,0.0,137488,14 +156499.5,0.0,137488,14 +156646.6,0.0,137488,14 +156690.9,0.0,137488,14 +155324.7,0.0,137488,14 +157840.9,0.0,137488,14 +155654.7,0.0,137488,14 +1.5045092e6,0.0,137488,14 +160773.7,0.0,137488,14 +163228.1,0.0,137488,14 +160057.3,0.0,137488,14 +159964.9,0.0,137488,14 +608310.5,431721.3,137488,14 +164399.0,0.0,137488,14 +1.7698945e6,0.0,137488,14 +161842.9,0.0,137488,14 +165881.0,0.0,137488,14 +161741.5,0.0,137488,14 +161337.1,0.0,137488,14 +164183.2,0.0,137488,14 +161468.8,0.0,137488,14 +165464.4,0.0,137488,14 +164114.8,0.0,137488,14 +164544.0,0.0,137488,14 +1.7685037e6,0.0,137488,14 +162333.4,0.0,137488,14 +165404.3,0.0,137488,14 +161265.2,0.0,137488,14 +226746.9,0.0,137488,14 +274063.0,0.0,137488,14 +276171.2,0.0,137488,14 +1.8796029e6,0.0,137488,14 +272664.3,0.0,137488,14 +276365.7,0.0,137488,14 +277795.4,0.0,137488,14 +280000.9,0.0,137488,14 +281995.1,0.0,137488,14 +1.8858152e6,0.0,137488,14 +282748.4,0.0,137488,14 +280419.6,0.0,137488,14 +281437.9,0.0,137488,14 +284052.2,0.0,137488,14 +1.8875347e6,0.0,137488,14 +280513.3,0.0,137488,14 +284103.2,0.0,137488,14 +353403.0,133778.8,137488,14 +164576.8,0.0,137488,14 +171001.7,0.0,137488,14 +167320.0,0.0,137488,14 +1.7729818e6,0.0,137488,14 +160696.4,0.0,137488,14 +163803.1,0.0,137488,14 +169403.1,0.0,137488,14 +163669.4,0.0,137488,14 +165522.7,0.0,137488,14 +167280.4,0.0,137488,14 +168050.9,0.0,137488,14 +169844.9,0.0,137488,14 +166633.9,0.0,137488,14 +1.7699986e6,0.0,137488,14 +166375.8,0.0,137488,14 +167212.9,0.0,137488,14 +165575.8,0.0,137488,14 +166440.6,0.0,137488,14 +166747.0,0.0,137488,14 +166119.9,0.0,137488,14 +166626.8,0.0,137488,14 +165133.6,0.0,137488,14 +1.7678046e6,0.0,137488,14 +165732.3,0.0,137488,14 +166120.3,0.0,137488,14 +166760.0,0.0,137488,14 +165014.4,0.0,137488,14 +166528.5,0.0,137488,14 +165847.5,0.0,137488,14 +165391.7,0.0,137488,14 +167836.4,0.0,137488,14 +163935.5,0.0,137488,14 +1.922296e6,135480.7,137488,14 +167580.9,0.0,137488,14 +168751.4,0.0,137488,14 +166676.7,0.0,137488,14 +168744.0,0.0,137488,14 +165964.3,0.0,137488,14 +167570.7,0.0,137488,14 +167929.1,0.0,137488,14 +166090.9,0.0,137488,14 +1.7742777e6,0.0,137488,14 +168646.1,0.0,137488,14 +168529.7,0.0,137488,14 +167114.6,0.0,137488,14 +166263.7,0.0,137488,14 +164420.3,0.0,137488,14 +163992.3,0.0,137488,14 +169620.9,0.0,137488,14 +171835.4,0.0,137488,14 +1.7739532e6,0.0,137488,14 +168298.3,0.0,137488,14 +172109.8,0.0,137488,14 +169769.9,0.0,137488,14 +171402.9,0.0,137488,14 +173872.9,0.0,137488,14 +173230.9,0.0,137488,14 +173249.0,0.0,137488,14 +170193.1,0.0,137488,14 +1.7738671e6,0.0,137488,14 +166357.5,0.0,137488,14 +167136.8,0.0,137488,14 +169460.3,0.0,137488,14 +169980.4,0.0,137488,14 +169273.7,0.0,137488,14 +170171.4,0.0,137488,14 +320081.7,136332.3,137488,14 +172355.6,0.0,137488,14 +1.7778295e6,0.0,137488,14 +168193.7,0.0,137488,14 +174144.1,0.0,137488,14 +169102.5,0.0,137488,14 +172809.1,0.0,137488,14 +171906.0,0.0,137488,14 +170061.2,0.0,137488,14 +170099.4,0.0,137488,14 +170851.0,0.0,137488,14 +1.7764735e6,0.0,137488,14 +169778.6,0.0,137488,14 +170766.6,0.0,137488,14 +170768.5,0.0,137488,14 +169551.8,0.0,137488,14 +173832.0,0.0,137488,14 +169761.1,0.0,137488,14 +172091.9,0.0,137488,14 +168369.2,0.0,137488,14 +1.7742134e6,0.0,137488,14 +168024.5,0.0,137488,14 +166870.0,0.0,137488,14 +169724.3,0.0,137488,14 +170374.7,0.0,137488,14 +171125.1,0.0,137488,14 +169453.4,0.0,137488,14 +171556.5,0.0,137488,14 +168793.5,0.0,137488,14 +168998.7,0.0,137488,14 +2.1731076e6,0.0,137488,14 +168921.2,0.0,137488,14 +171364.6,0.0,137488,14 +1.2950912e6,1.1109638e6,137488,14 +169180.6,0.0,137488,14 +171547.9,0.0,137488,14 +165726.2,0.0,137488,14 +975683.9,0.0,137488,14 +167904.4,0.0,137488,14 +170167.8,0.0,137488,14 +171141.9,0.0,137488,14 +167920.4,0.0,137488,14 +575730.1,0.0,137488,14 +169366.2,0.0,137488,14 +171414.1,0.0,137488,14 +168975.2,0.0,137488,14 +168868.4,0.0,137488,14 +166477.0,0.0,137488,14 +166145.2,0.0,137488,14 +176665.7,0.0,137488,14 +294472.2,0.0,137488,14 +289304.2,0.0,137488,14 +284712.2,0.0,137488,14 +281552.7,0.0,137488,14 +278604.6,0.0,137488,14 +280553.7,0.0,137488,14 +284861.3,0.0,137488,14 +297594.4,0.0,137488,14 +285061.4,0.0,137488,14 +287664.6,0.0,137488,14 +287512.1,0.0,137488,14 +285942.8,0.0,137488,14 +288319.2,0.0,137488,14 +1.4928139e6,0.0,137488,14 +279751.2,0.0,137488,14 +277787.9,0.0,137488,14 +404128.6,133070.7,137488,14 +1.7629235e6,0.0,137488,14 +164908.9,0.0,137488,14 +163726.4,0.0,137488,14 +162558.4,0.0,137488,14 +161595.9,0.0,137488,14 +159816.2,0.0,137488,14 +160998.3,0.0,137488,14 +164399.3,0.0,137488,14 +156830.4,0.0,137488,14 +162026.6,0.0,137488,14 +1.7650415e6,0.0,137488,14 +160212.2,0.0,137488,14 +161738.3,0.0,137488,14 +158504.1,0.0,137488,14 +160723.9,0.0,137488,14 +160002.0,0.0,137488,14 +162202.7,0.0,137488,14 +159974.9,0.0,137488,14 +158666.2,0.0,137488,14 +121571.8,0.0,137488,14 +97381.5,0.0,137488,14 +87178.8,0.0,137488,14 +86751.1,0.0,137488,14 +85906.4,0.0,137488,14 +86053.5,0.0,137488,14 +88361.0,0.0,137488,14 +85936.1,0.0,137488,14 +85878.6,0.0,137488,14 +86618.5,0.0,137488,14 +86959.3,0.0,137488,14 +85925.9,0.0,137488,14 +85795.1,0.0,137488,14 +86783.1,0.0,137488,14 +204460.7,99503.8,137488,14 +91001.9,0.0,137488,14 +90776.6,0.0,137488,14 +87781.0,0.0,137488,14 +90173.2,0.0,137488,14 +88014.2,0.0,137488,14 +89828.4,0.0,137488,14 +88647.4,0.0,137488,14 +87575.2,0.0,137488,14 +89157.1,0.0,137488,14 +88796.8,0.0,137488,14 +87970.7,0.0,137488,14 +87563.6,0.0,137488,14 +89440.3,0.0,137488,14 +87333.9,0.0,137488,14 +87805.8,0.0,137488,14 +87797.2,0.0,137488,14 +88067.7,0.0,137488,14 +89130.0,0.0,137488,14 +86680.8,0.0,137488,14 +87594.2,0.0,137488,14 +86783.9,0.0,137488,14 +89191.2,0.0,137488,14 +86585.3,0.0,137488,14 +86870.2,0.0,137488,14 +86776.2,0.0,137488,14 +86314.6,0.0,137488,14 +87897.2,0.0,137488,14 +85666.5,0.0,137488,14 +86256.3,0.0,137488,14 +85850.9,0.0,137488,14 +86520.8,0.0,137488,14 +86413.7,0.0,137488,14 +186562.1,90878.7,137488,14 +89733.1,0.0,137488,14 +90484.3,0.0,137488,14 +88834.8,0.0,137488,14 +90026.1,0.0,137488,14 +87984.6,0.0,137488,14 +91606.4,0.0,137488,14 +90278.3,0.0,137488,14 +87568.0,0.0,137488,14 +87483.7,0.0,137488,14 +87009.8,0.0,137488,14 +90197.3,0.0,137488,14 +87510.2,0.0,137488,14 +87236.1,0.0,137488,14 +87746.2,0.0,137488,14 +89567.0,0.0,137488,14 +87613.5,0.0,137488,14 +88013.0,0.0,137488,14 +87851.3,0.0,137488,14 +87064.9,0.0,137488,14 +88775.2,0.0,137488,14 +88535.1,0.0,137488,14 +86945.7,0.0,137488,14 +87082.0,0.0,137488,14 +89280.0,0.0,137488,14 +86481.7,0.0,137488,14 +86433.9,0.0,137488,14 +86558.3,0.0,137488,14 +86794.9,0.0,137488,14 +88854.6,0.0,137488,14 +87401.2,0.0,137488,14 +86844.0,0.0,137488,14 +86307.6,0.0,137488,14 +363554.3,269999.7,137488,14 +89072.5,0.0,137488,14 +92248.3,0.0,137488,14 +89946.7,0.0,137488,14 +89242.4,0.0,137488,14 +87292.2,0.0,137488,14 +91475.2,0.0,137488,14 +86754.7,0.0,137488,14 +88320.7,0.0,137488,14 +86997.4,0.0,137488,14 +88466.9,0.0,137488,14 +90044.4,0.0,137488,14 +87972.2,0.0,137488,14 +86778.6,0.0,137488,14 +88997.0,0.0,137488,14 +89208.1,0.0,137488,14 +87346.1,0.0,137488,14 +137543.1,0.0,137488,14 +190853.5,0.0,137488,14 +196979.0,0.0,137488,14 +183285.3,0.0,137488,14 +188321.4,0.0,137488,14 +169522.1,0.0,137488,14 +171113.2,0.0,137488,14 +171482.4,0.0,137488,14 +171447.5,0.0,137488,14 +170413.7,0.0,137488,14 +184264.2,0.0,137488,14 +180209.3,0.0,137488,14 +171250.2,0.0,137488,14 +184695.9,0.0,137488,14 +181553.4,0.0,137488,14 +182248.5,0.0,137488,14 +170856.8,0.0,137488,14 +210778.5,86355.7,137488,14 +90294.9,0.0,137488,14 +92473.7,0.0,137488,14 +88597.0,0.0,137488,14 +90423.2,0.0,137488,14 +88354.6,0.0,137488,14 +88387.5,0.0,137488,14 +89150.0,0.0,137488,14 +88743.9,0.0,137488,14 +88092.3,0.0,137488,14 +87506.2,0.0,137488,14 +89010.6,0.0,137488,14 +87102.3,0.0,137488,14 +89372.5,0.0,137488,14 +88889.5,0.0,137488,14 +87541.6,0.0,137488,14 +87232.5,0.0,137488,14 +89741.1,0.0,137488,14 +99998.0,0.0,137488,14 +89290.5,0.0,137488,14 +87323.6,0.0,137488,14 +90465.6,0.0,137488,14 +87780.4,0.0,137488,14 +86694.2,0.0,137488,14 +86131.5,0.0,137488,14 +88245.4,0.0,137488,14 +90292.8,0.0,137488,14 +86923.3,0.0,137488,14 +86266.7,0.0,137488,14 +86401.1,0.0,137488,14 +86156.3,0.0,137488,14 +87456.2,0.0,137488,14 +86176.3,0.0,137488,14 +182363.8,84113.8,137488,14 +90508.4,0.0,137488,14 +90932.6,0.0,137488,14 +88434.7,0.0,137488,14 +89280.0,0.0,137488,14 +90896.6,0.0,137488,14 +89523.9,0.0,137488,14 +88309.8,0.0,137488,14 +88799.2,0.0,137488,14 +86670.2,0.0,137488,14 +89825.5,0.0,137488,14 +87705.8,0.0,137488,14 +88317.3,0.0,137488,14 +87151.2,0.0,137488,14 +90328.6,0.0,137488,14 +87955.0,0.0,137488,14 +88603.5,0.0,137488,14 +88384.1,0.0,137488,14 +88130.8,0.0,137488,14 +89109.9,0.0,137488,14 +87567.2,0.0,137488,14 +87410.6,0.0,137488,14 +87658.2,0.0,137488,14 +86629.9,0.0,137488,14 +88402.4,0.0,137488,14 +86947.3,0.0,137488,14 +86196.4,0.0,137488,14 +87388.0,0.0,137488,14 +88214.1,0.0,137488,14 +86210.9,0.0,137488,14 +86380.0,0.0,137488,14 +86443.1,0.0,137488,14 +86357.1,0.0,137488,14 +172150.5,78933.9,137488,14 +89865.7,0.0,137488,14 +93221.5,0.0,137488,14 +95386.9,0.0,137488,14 +91720.4,0.0,137488,14 +89619.7,0.0,137488,14 +88528.5,0.0,137488,14 +88623.7,0.0,137488,14 +89252.6,0.0,137488,14 +86957.2,0.0,137488,14 +88385.9,0.0,137488,14 +88181.4,0.0,137488,14 +90401.1,0.0,137488,14 +86706.6,0.0,137488,14 +89227.6,0.0,137488,14 +88515.2,0.0,137488,14 +93239.6,0.0,137488,14 +159674.5,0.0,137488,14 +161750.9,0.0,137488,14 +163858.4,0.0,137488,14 +162052.3,0.0,137488,14 +162544.6,0.0,137488,14 +164991.4,0.0,137488,14 +162628.5,0.0,137488,14 +162555.2,0.0,137488,14 +159889.1,0.0,137488,14 +162521.5,0.0,137488,14 +161304.7,0.0,137488,14 +158373.3,0.0,137488,14 +163105.6,0.0,137488,14 +160293.5,0.0,137488,14 +158591.3,0.0,137488,14 +156891.8,0.0,137488,14 +159180.3,0.0,137488,14 +615933.2,441038.2,137488,14 +162311.4,0.0,137488,14 +163732.8,0.0,137488,14 +158729.6,0.0,137488,14 +164039.7,0.0,137488,14 +155757.3,0.0,137488,14 +159553.3,0.0,137488,14 +162348.8,0.0,137488,14 +159191.4,0.0,137488,14 +157952.4,0.0,137488,14 +160015.4,0.0,137488,14 +161972.2,0.0,137488,14 +162394.1,0.0,137488,14 +159483.5,0.0,137488,14 +160473.9,0.0,137488,14 +159309.5,0.0,137488,14 +178211.8,0.0,137488,14 +272157.2,0.0,137488,14 +276604.7,0.0,137488,14 +274610.6,0.0,137488,14 +272669.6,0.0,137488,14 +274281.1,0.0,137488,14 +282654.9,0.0,137488,14 +278112.9,0.0,137488,14 +283326.5,0.0,137488,14 +282680.8,0.0,137488,14 +280410.6,0.0,137488,14 +278307.5,0.0,137488,14 +279550.1,0.0,137488,14 +294744.3,0.0,137488,14 +278756.8,0.0,137488,14 +284490.3,0.0,137488,14 +321595.0,0.0,137488,14 +395199.7,135296.8,137488,14 +160197.2,0.0,137488,14 +161679.0,0.0,137488,14 +160292.1,0.0,137488,14 +161490.6,0.0,137488,14 +161186.8,0.0,137488,14 +158910.4,0.0,137488,14 +163347.4,0.0,137488,14 +159304.4,0.0,137488,14 +158240.9,0.0,137488,14 +161843.5,0.0,137488,14 +159706.2,0.0,137488,14 +163345.0,0.0,137488,14 +157406.5,0.0,137488,14 +159538.8,0.0,137488,14 +160414.7,0.0,137488,14 +157839.3,0.0,137488,14 +162242.2,0.0,137488,14 +157002.1,0.0,137488,14 +157625.8,0.0,137488,14 +158056.4,0.0,137488,14 +158322.1,0.0,137488,14 +160393.1,0.0,137488,14 +161329.1,0.0,137488,14 +159923.5,0.0,137488,14 +162568.2,0.0,137488,14 +157567.1,0.0,137488,14 +160448.3,0.0,137488,14 +156833.9,0.0,137488,14 +159677.7,0.0,137488,14 +161480.6,0.0,137488,14 +160143.8,0.0,137488,14 +163825.4,0.0,137488,14 +173373.8,0.0,137488,14 +326460.2,133741.2,137488,14 +178410.4,0.0,137488,14 +179456.4,0.0,137488,14 +175723.9,0.0,137488,14 +180398.3,0.0,137488,14 +176161.7,0.0,137488,14 +179602.1,0.0,137488,14 +164031.0,0.0,137488,14 +163000.8,0.0,137488,14 +172405.3,0.0,137488,14 +178288.2,0.0,137488,14 +583969.2,0.0,137488,14 +173516.3,0.0,137488,14 +1.7780383e6,0.0,137488,14 +164034.6,0.0,137488,14 +164682.2,0.0,137488,14 +172611.8,0.0,137488,14 +173416.6,0.0,137488,14 +176391.9,0.0,137488,14 +171626.4,0.0,137488,14 +174257.9,0.0,137488,14 +173156.5,0.0,137488,14 +169970.6,0.0,137488,14 +1.7718587e6,0.0,137488,14 +168409.4,0.0,137488,14 +167989.5,0.0,137488,14 +167841.0,0.0,137488,14 +170339.9,0.0,137488,14 +170190.8,0.0,137488,14 +170897.5,0.0,137488,14 +171269.5,0.0,137488,14 +168565.6,0.0,137488,14 +1.7727596e6,0.0,137488,14 +1.0494239e6,860669.1,137488,14 +171333.9,0.0,137488,14 +169263.8,0.0,137488,14 +1.7756048e6,0.0,137488,14 +173898.3,0.0,137488,14 +171962.2,0.0,137488,14 +166889.6,0.0,137488,14 +170302.1,0.0,137488,14 +171283.2,0.0,137488,14 +172916.3,0.0,137488,14 +173295.0,0.0,137488,14 +173007.7,0.0,137488,14 +1.776792e6,0.0,137488,14 +168209.7,0.0,137488,14 +168898.5,0.0,137488,14 +170762.1,0.0,137488,14 +168701.4,0.0,137488,14 +172372.8,0.0,137488,14 +173660.7,0.0,137488,14 +172987.5,0.0,137488,14 +169518.6,0.0,137488,14 +172611.8,0.0,137488,14 +1.7768397e6,0.0,137488,14 +170237.5,0.0,137488,14 +169342.0,0.0,137488,14 +167059.3,0.0,137488,14 +168739.6,0.0,137488,14 +173160.0,0.0,137488,14 +170131.3,0.0,137488,14 +172611.6,0.0,137488,14 +171462.5,0.0,137488,14 +1.7749461e6,0.0,137488,14 +169532.8,0.0,137488,14 +632740.4,448181.1,137488,14 +171303.6,0.0,137488,14 +175657.1,0.0,137488,14 +172611.4,0.0,137488,14 +172745.1,0.0,137488,14 +1.7772997e6,0.0,137488,14 +170635.6,0.0,137488,14 +168386.3,0.0,137488,14 +166448.6,0.0,137488,14 +168634.3,0.0,137488,14 +171077.1,0.0,137488,14 +171685.4,0.0,137488,14 +171089.2,0.0,137488,14 +169049.0,0.0,137488,14 +1.7775951e6,0.0,137488,14 +174781.9,0.0,137488,14 +172511.4,0.0,137488,14 +250744.3,0.0,137488,14 +282556.0,0.0,137488,14 +281715.6,0.0,137488,14 +283464.9,0.0,137488,14 +1.8897542e6,0.0,137488,14 +283370.5,0.0,137488,14 +284908.1,0.0,137488,14 +289027.3,0.0,137488,14 +290852.4,0.0,137488,14 +1.8962289e6,0.0,137488,14 +291642.5,0.0,137488,14 +283320.7,0.0,137488,14 +289120.7,0.0,137488,14 +290139.7,0.0,137488,14 +289539.5,0.0,137488,14 +1.894164e6,0.0,137488,14 +287321.6,0.0,137488,14 +596592.3,392381.0,137488,14 +176695.3,0.0,137488,14 +176120.3,0.0,137488,14 +1.7792702e6,0.0,137488,14 +175612.9,0.0,137488,14 +170089.9,0.0,137488,14 +166321.3,0.0,137488,14 +168848.6,0.0,137488,14 +170019.6,0.0,137488,14 +171692.6,0.0,137488,14 +171901.5,0.0,137488,14 +170783.0,0.0,137488,14 +1.7743186e6,0.0,137488,14 +171283.5,0.0,137488,14 +170354.0,0.0,137488,14 +168430.4,0.0,137488,14 +164889.6,0.0,137488,14 +167737.6,0.0,137488,14 +222270.9,0.0,137488,14 +291094.4,0.0,137488,14 +1.8856362e6,0.0,137488,14 +282755.6,0.0,137488,14 +285149.6,0.0,137488,14 +286159.2,0.0,137488,14 +286175.5,0.0,137488,14 +286048.0,0.0,137488,14 +1.8923198e6,0.0,137488,14 +286166.4,0.0,137488,14 +284058.7,0.0,137488,14 +287974.7,0.0,137488,14 +284992.3,0.0,137488,14 +1.8906696e6,0.0,137488,14 +288159.7,0.0,137488,14 +376556.6,133187.9,137488,14 +174373.1,0.0,137488,14 +172298.7,0.0,137488,14 +173585.1,0.0,137488,14 +170911.0,0.0,137488,14 +168343.2,0.0,137488,14 +1.7773151e6,0.0,137488,14 +171065.8,0.0,137488,14 +172090.0,0.0,137488,14 +164800.4,0.0,137488,14 +169001.2,0.0,137488,14 +169589.0,0.0,137488,14 +168169.6,0.0,137488,14 +169427.6,0.0,137488,14 +168128.1,0.0,137488,14 +1.7740643e6,0.0,137488,14 +168691.5,0.0,137488,14 +169047.0,0.0,137488,14 +164838.8,0.0,137488,14 +164862.0,0.0,137488,14 +167181.0,0.0,137488,14 +166968.7,0.0,137488,14 +168206.0,0.0,137488,14 +166540.6,0.0,137488,14 +1.7697903e6,0.0,137488,14 +170595.9,0.0,137488,14 +170431.7,0.0,137488,14 +168695.2,0.0,137488,14 +165812.0,0.0,137488,14 +167700.5,0.0,137488,14 +166296.7,0.0,137488,14 +166587.8,0.0,137488,14 +2.5715792e6,0.0,137488,14 +319029.0,135393.0,137488,14 +169177.9,0.0,137488,14 +172386.6,0.0,137488,14 +169720.2,0.0,137488,14 +166717.0,0.0,137488,14 +168410.2,0.0,137488,14 +167463.0,0.0,137488,14 +1.5977563e6,0.0,137488,14 +171422.5,0.0,137488,14 +168984.5,0.0,137488,14 +169650.6,0.0,137488,14 +166898.5,0.0,137488,14 +167965.7,0.0,137488,14 +165413.4,0.0,137488,14 +165316.3,0.0,137488,14 +2.1717835e6,0.0,137488,14 +175263.0,0.0,137488,14 +176310.4,0.0,137488,14 +174216.5,0.0,137488,14 +174976.4,0.0,137488,14 +176864.9,0.0,137488,14 +175421.0,0.0,137488,14 +2.5792208e6,0.0,137488,14 +172468.6,0.0,137488,14 +175551.4,0.0,137488,14 +171575.5,0.0,137488,14 +173032.0,0.0,137488,14 +168533.8,0.0,137488,14 +168670.0,0.0,137488,14 +1.7752095e6,0.0,137488,14 +169329.6,0.0,137488,14 +173567.1,0.0,137488,14 +172984.3,0.0,137488,14 +174027.1,0.0,137488,14 +324736.4,135802.0,137488,14 +178869.1,0.0,137488,14 +178943.0,0.0,137488,14 +1.4754993e6,0.0,137488,14 +169510.6,0.0,137488,14 +165786.9,0.0,137488,14 +165201.3,0.0,137488,14 +168872.8,0.0,137488,14 +167588.6,0.0,137488,14 +167624.0,0.0,137488,14 +175753.5,0.0,137488,14 +169568.5,0.0,137488,14 +169812.2,0.0,137488,14 +168583.5,0.0,137488,14 +167716.7,0.0,137488,14 +167140.8,0.0,137488,14 +168467.1,0.0,137488,14 +168854.2,0.0,137488,14 +165992.4,0.0,137488,14 +166821.7,0.0,137488,14 +164526.8,0.0,137488,14 +167875.1,0.0,137488,14 +165002.3,0.0,137488,14 +165759.8,0.0,137488,14 +167276.4,0.0,137488,14 +163989.6,0.0,137488,14 +167876.5,0.0,137488,14 +164753.5,0.0,137488,14 +165456.3,0.0,137488,14 +170390.6,0.0,137488,14 +168000.7,0.0,137488,14 +169430.3,0.0,137488,14 +168819.9,0.0,137488,14 +596253.5,414519.3,137488,14 +166355.2,0.0,137488,14 +166643.1,0.0,137488,14 +167541.6,0.0,137488,14 +165876.8,0.0,137488,14 +165707.2,0.0,137488,14 +163307.0,0.0,137488,14 +171342.6,0.0,137488,14 +166680.9,0.0,137488,14 +165468.4,0.0,137488,14 +168267.5,0.0,137488,14 +168901.1,0.0,137488,14 +169634.6,0.0,137488,14 +166908.4,0.0,137488,14 +168987.1,0.0,137488,14 +170694.4,0.0,137488,14 +170688.5,0.0,137488,14 +272611.2,0.0,137488,14 +278775.3,0.0,137488,14 +275702.8,0.0,137488,14 +275407.1,0.0,137488,14 +278440.1,0.0,137488,14 +276579.1,0.0,137488,14 +279993.6,0.0,137488,14 +283644.3,0.0,137488,14 +284142.8,0.0,137488,14 +280909.4,0.0,137488,14 +284045.6,0.0,137488,14 +284008.1,0.0,137488,14 +281929.5,0.0,137488,14 +284451.0,0.0,137488,14 +281861.3,0.0,137488,14 +283877.2,0.0,137488,14 +2.0264965e6,1.7346809e6,137488,14 +169744.6,0.0,137488,14 +170231.3,0.0,137488,14 +168882.8,0.0,137488,14 +166870.6,0.0,137488,14 +170577.7,0.0,137488,14 +167244.8,0.0,137488,14 +169653.6,0.0,137488,14 +166855.0,0.0,137488,14 +1.7670894e6,0.0,137488,14 +169966.1,0.0,137488,14 +170296.2,0.0,137488,14 +171615.6,0.0,137488,14 +158423.5,0.0,137488,14 +161377.9,0.0,137488,14 +158406.4,0.0,137488,14 +158223.4,0.0,137488,14 +207834.0,0.0,137488,14 +208632.8,0.0,137488,14 +161054.7,0.0,137488,14 +157229.6,0.0,137488,14 +158735.6,0.0,137488,14 +157175.0,0.0,137488,14 +157502.5,0.0,137488,14 +160145.6,0.0,137488,14 +156014.6,0.0,137488,14 +161270.8,0.0,137488,14 +158116.6,0.0,137488,14 +157860.4,0.0,137488,14 +159293.6,0.0,137488,14 +157839.8,0.0,137488,14 +160262.4,0.0,137488,14 +159498.1,0.0,137488,14 +157033.9,0.0,137488,14 +308470.6,131061.9,137488,14 +161572.7,0.0,137488,14 +160045.1,0.0,137488,14 +159406.5,0.0,137488,14 +162769.7,0.0,137488,14 +158901.2,0.0,137488,14 +159055.0,0.0,137488,14 +161852.7,0.0,137488,14 +156389.3,0.0,137488,14 +162601.6,0.0,137488,14 +158421.9,0.0,137488,14 +163189.6,0.0,137488,14 +159065.2,0.0,137488,14 +159127.1,0.0,137488,14 +160560.2,0.0,137488,14 +160220.0,0.0,137488,14 +160656.8,0.0,137488,14 +157855.1,0.0,137488,14 +158883.4,0.0,137488,14 +158892.3,0.0,137488,14 +158120.7,0.0,137488,14 +159490.8,0.0,137488,14 +157661.8,0.0,137488,14 +158980.6,0.0,137488,14 +162384.3,0.0,137488,14 +158219.7,0.0,137488,14 +158470.3,0.0,137488,14 +157969.1,0.0,137488,14 +158213.0,0.0,137488,14 +159391.9,0.0,137488,14 +159087.8,0.0,137488,14 +159779.1,0.0,137488,14 +158984.8,0.0,137488,14 +304564.5,133515.2,137488,14 +161817.6,0.0,137488,14 +164290.8,0.0,137488,14 +159623.9,0.0,137488,14 +160204.8,0.0,137488,14 +159221.5,0.0,137488,14 +157074.9,0.0,137488,14 +161063.7,0.0,137488,14 +158645.9,0.0,137488,14 +156753.6,0.0,137488,14 +159858.4,0.0,137488,14 +160138.8,0.0,137488,14 +161979.8,0.0,137488,14 +157135.7,0.0,137488,14 +158763.3,0.0,137488,14 +161743.0,0.0,137488,14 +158581.9,0.0,137488,14 +159791.2,0.0,137488,14 +161703.3,0.0,137488,14 +158805.7,0.0,137488,14 +158734.6,0.0,137488,14 +159499.2,0.0,137488,14 +160244.2,0.0,137488,14 +155647.0,0.0,137488,14 +157390.2,0.0,137488,14 +159295.7,0.0,137488,14 +158596.2,0.0,137488,14 +160399.5,0.0,137488,14 +160180.6,0.0,137488,14 +159273.2,0.0,137488,14 +158475.5,0.0,137488,14 +157783.0,0.0,137488,14 +159271.7,0.0,137488,14 +155853.5,0.0,137488,14 +556670.5,385781.8,137488,14 +161873.5,0.0,137488,14 +159086.3,0.0,137488,14 diff --git a/perf/PatternFolds/output/a4099e5b-fb02-567e-8b3f-19ed5b58f9c6.csv b/perf/PatternFolds/output/a4099e5b-fb02-567e-8b3f-19ed5b58f9c6.csv new file mode 100644 index 0000000..37384cc --- /dev/null +++ b/perf/PatternFolds/output/a4099e5b-fb02-567e-8b3f-19ed5b58f9c6.csv @@ -0,0 +1,1001 @@ +times,gctimes,bytes,allocs +0.00037641460000000003,0.0,217488.0,1014.0 +0.00042218510000000003,0.0,217488.0,1014.0 +0.0090346455,0.9570970438187087,217488.0,1014.0 +0.00026317180000000003,0.0,217488.0,1014.0 +0.00026104970000000004,0.0,217488.0,1014.0 +0.00027746940000000005,0.0,217488.0,1014.0 +0.00032537340000000003,0.0,217488.0,1014.0 +0.0003329485,0.0,217488.0,1014.0 +0.0003420268,0.0,217488.0,1014.0 +0.0005316031000000001,0.0,217488.0,1014.0 +0.0005199939,0.0,217488.0,1014.0 +0.00043496860000000003,0.0,217488.0,1014.0 +0.0003713328,0.0,217488.0,1014.0 +0.00038819230000000003,0.0,217488.0,1014.0 +0.00038768410000000004,0.0,217488.0,1014.0 +0.0003891483,0.0,217488.0,1014.0 +0.0003950624000000001,0.0,217488.0,1014.0 +0.0003935168,0.0,217488.0,1014.0 +0.00039418380000000005,0.0,217488.0,1014.0 +0.0004427923,0.0,217488.0,1014.0 +0.0003869577,0.0,217488.0,1014.0 +0.0004339658000000001,0.0,217488.0,1014.0 +0.0004336734,0.0,217488.0,1014.0 +0.0012995412,0.6472332697108795,217488.0,1014.0 +0.0001448737,0.0,217488.0,1014.0 +0.0001515858,0.0,217488.0,1014.0 +0.0001595798,0.0,217488.0,1014.0 +0.0001447049,0.0,217488.0,1014.0 +0.00014468790000000001,0.0,217488.0,1014.0 +0.0001421019,0.0,217488.0,1014.0 +0.0001398941,0.0,217488.0,1014.0 +0.0001401999,0.0,217488.0,1014.0 +0.0001422355,0.0,217488.0,1014.0 +0.0001388153,0.0,217488.0,1014.0 +0.0001391043,0.0,217488.0,1014.0 +0.0001374907,0.0,217488.0,1014.0 +0.00013377670000000002,0.0,217488.0,1014.0 +0.0001440614,0.0,217488.0,1014.0 +0.0001387972,0.0,217488.0,1014.0 +0.00013574160000000003,0.0,217488.0,1014.0 +0.0001349081,0.0,217488.0,1014.0 +0.00013350430000000002,0.0,217488.0,1014.0 +0.0001330577,0.0,217488.0,1014.0 +0.0001361341,0.0,217488.0,1014.0 +0.00013382790000000003,0.0,217488.0,1014.0 +0.0004035843,0.6268866256690362,217488.0,1014.0 +0.00013628630000000002,0.0,217488.0,1014.0 +0.00014070640000000002,0.0,217488.0,1014.0 +0.0001415075,0.0,217488.0,1014.0 +0.0001377378,0.0,217488.0,1014.0 +0.0001404555,0.0,217488.0,1014.0 +0.00014174210000000002,0.0,217488.0,1014.0 +0.00014156420000000002,0.0,217488.0,1014.0 +0.0001455925,0.0,217488.0,1014.0 +0.000137685,0.0,217488.0,1014.0 +0.0001370064,0.0,217488.0,1014.0 +0.000137294,0.0,217488.0,1014.0 +0.0001344455,0.0,217488.0,1014.0 +0.0001391797,0.0,217488.0,1014.0 +0.0001369128,0.0,217488.0,1014.0 +0.0001356011,0.0,217488.0,1014.0 +0.00017382360000000002,0.0,217488.0,1014.0 +0.00021877340000000002,0.0,217488.0,1014.0 +0.00021401240000000002,0.0,217488.0,1014.0 +0.00021227850000000002,0.0,217488.0,1014.0 +0.00021727860000000004,0.0,217488.0,1014.0 +0.0003580057,0.5569520261828234,217488.0,1014.0 +0.00014519210000000002,0.0,217488.0,1014.0 +0.0001452657,0.0,217488.0,1014.0 +0.0001390637,0.0,217488.0,1014.0 +0.00013982340000000002,0.0,217488.0,1014.0 +0.00013889150000000002,0.0,217488.0,1014.0 +0.00013970590000000001,0.0,217488.0,1014.0 +0.00013380310000000003,0.0,217488.0,1014.0 +0.00014027170000000002,0.0,217488.0,1014.0 +0.0001414591,0.0,217488.0,1014.0 +0.0001335432,0.0,217488.0,1014.0 +0.000137641,0.0,217488.0,1014.0 +0.00013500300000000002,0.0,217488.0,1014.0 +0.0001354525,0.0,217488.0,1014.0 +0.0001383827,0.0,217488.0,1014.0 +0.0001365948,0.0,217488.0,1014.0 +0.00013337640000000002,0.0,217488.0,1014.0 +0.0001338153,0.0,217488.0,1014.0 +0.0001334974,0.0,217488.0,1014.0 +0.0001322003,0.0,217488.0,1014.0 +0.00013299470000000002,0.0,217488.0,1014.0 +0.0003329493,0.5653079913368192,217488.0,1014.0 +0.00013585890000000002,0.0,217488.0,1014.0 +0.00013729550000000001,0.0,217488.0,1014.0 +0.00014239840000000002,0.0,217488.0,1014.0 +0.00013894040000000002,0.0,217488.0,1014.0 +0.0001380161,0.0,217488.0,1014.0 +0.0001408396,0.0,217488.0,1014.0 +0.00013788720000000002,0.0,217488.0,1014.0 +0.00014310590000000002,0.0,217488.0,1014.0 +0.0001360286,0.0,217488.0,1014.0 +0.0001343123,0.0,217488.0,1014.0 +0.0001345378,0.0,217488.0,1014.0 +0.0001362696,0.0,217488.0,1014.0 +0.00013578300000000002,0.0,217488.0,1014.0 +0.00013463290000000002,0.0,217488.0,1014.0 +0.0001382482,0.0,217488.0,1014.0 +0.0001336024,0.0,217488.0,1014.0 +0.00013194700000000002,0.0,217488.0,1014.0 +0.0001341486,0.0,217488.0,1014.0 +0.00013158940000000002,0.0,217488.0,1014.0 +0.0001331894,0.0,217488.0,1014.0 +0.00032231,0.5654568583041172,217488.0,1014.0 +0.0001399787,0.0,217488.0,1014.0 +0.0001407032,0.0,217488.0,1014.0 +0.0001389281,0.0,217488.0,1014.0 +0.0001399993,0.0,217488.0,1014.0 +0.000139367,0.0,217488.0,1014.0 +0.00013988840000000001,0.0,217488.0,1014.0 +0.00019657800000000004,0.0,217488.0,1014.0 +0.0002600026,0.0,217488.0,1014.0 +0.0002641963,0.0,217488.0,1014.0 +0.00026175790000000003,0.0,217488.0,1014.0 +0.0002597261,0.0,217488.0,1014.0 +0.0002637191,0.0,217488.0,1014.0 +0.0002633838,0.0,217488.0,1014.0 +0.00025739160000000003,0.0,217488.0,1014.0 +0.000256565,0.0,217488.0,1014.0 +0.00025653800000000006,0.0,217488.0,1014.0 +0.0002561938,0.0,217488.0,1014.0 +0.0002561949,0.0,217488.0,1014.0 +0.0002576639,0.0,217488.0,1014.0 +0.00025791780000000003,0.0,217488.0,1014.0 +0.0006143629,0.5509444011023452,217488.0,1014.0 +0.0002585889,0.0,217488.0,1014.0 +0.000261077,0.0,217488.0,1014.0 +0.0002625759,0.0,217488.0,1014.0 +0.00025902250000000004,0.0,217488.0,1014.0 +0.0002622192,0.0,217488.0,1014.0 +0.0002653391,0.0,217488.0,1014.0 +0.0002599245,0.0,217488.0,1014.0 +0.00026877940000000005,0.0,217488.0,1014.0 +0.0002629015,0.0,217488.0,1014.0 +0.00025883060000000003,0.0,217488.0,1014.0 +0.0002583505,0.0,217488.0,1014.0 +0.00025761390000000005,0.0,217488.0,1014.0 +0.0002562441,0.0,217488.0,1014.0 +0.0002594962,0.0,217488.0,1014.0 +0.0002604248,0.0,217488.0,1014.0 +0.0002702827,0.0,217488.0,1014.0 +0.0003728812,0.0,217488.0,1014.0 +0.0003720088,0.0,217488.0,1014.0 +0.00036820820000000004,0.0,217488.0,1014.0 +0.0003693004,0.0,217488.0,1014.0 +0.0006067628,0.4605615242068235,217488.0,1014.0 +0.000271675,0.0,217488.0,1014.0 +0.000267522,0.0,217488.0,1014.0 +0.0002640512,0.0,217488.0,1014.0 +0.0002609849,0.0,217488.0,1014.0 +0.00026269090000000003,0.0,217488.0,1014.0 +0.0002623829,0.0,217488.0,1014.0 +0.00026017,0.0,217488.0,1014.0 +0.0002572219,0.0,217488.0,1014.0 +0.00025874080000000004,0.0,217488.0,1014.0 +0.00026278390000000003,0.0,217488.0,1014.0 +0.000257285,0.0,217488.0,1014.0 +0.0002573626,0.0,217488.0,1014.0 +0.0002600276,0.0,217488.0,1014.0 +0.0002592797,0.0,217488.0,1014.0 +0.0002584797,0.0,217488.0,1014.0 +0.00026150100000000003,0.0,217488.0,1014.0 +0.0002557559,0.0,217488.0,1014.0 +0.00025806410000000005,0.0,217488.0,1014.0 +0.0002577483,0.0,217488.0,1014.0 +0.0002583418,0.0,217488.0,1014.0 +0.0005705935,0.5029557820059289,217488.0,1014.0 +0.00025995520000000004,0.0,217488.0,1014.0 +0.0002599379,0.0,217488.0,1014.0 +0.0002615923,0.0,217488.0,1014.0 +0.000260797,0.0,217488.0,1014.0 +0.0002605164,0.0,217488.0,1014.0 +0.0002672953,0.0,217488.0,1014.0 +0.0002613364,0.0,217488.0,1014.0 +0.00026907510000000006,0.0,217488.0,1014.0 +0.0002631211,0.0,217488.0,1014.0 +0.00026371420000000003,0.0,217488.0,1014.0 +0.00025935650000000004,0.0,217488.0,1014.0 +0.0002625984,0.0,217488.0,1014.0 +0.0002623246,0.0,217488.0,1014.0 +0.0002624113,0.0,217488.0,1014.0 +0.0002630875,0.0,217488.0,1014.0 +0.0002633851,0.0,217488.0,1014.0 +0.0002614828,0.0,217488.0,1014.0 +0.0002579413,0.0,217488.0,1014.0 +0.00025744820000000003,0.0,217488.0,1014.0 +0.00025939210000000003,0.0,217488.0,1014.0 +0.0005563663,0.5044559672287844,217488.0,1014.0 +0.00026757070000000004,0.0,217488.0,1014.0 +0.00027020880000000003,0.0,217488.0,1014.0 +0.00026612070000000003,0.0,217488.0,1014.0 +0.0002660971,0.0,217488.0,1014.0 +0.0002616323,0.0,217488.0,1014.0 +0.0002592314,0.0,217488.0,1014.0 +0.0002635668,0.0,217488.0,1014.0 +0.0002581454,0.0,217488.0,1014.0 +0.00026125110000000003,0.0,217488.0,1014.0 +0.0002647266,0.0,217488.0,1014.0 +0.00026054420000000005,0.0,217488.0,1014.0 +0.00026058170000000004,0.0,217488.0,1014.0 +0.0002639216,0.0,217488.0,1014.0 +0.000257705,0.0,217488.0,1014.0 +0.00025846600000000006,0.0,217488.0,1014.0 +0.00026634330000000004,0.0,217488.0,1014.0 +0.0002605719,0.0,217488.0,1014.0 +0.00026101200000000003,0.0,217488.0,1014.0 +0.00026126890000000003,0.0,217488.0,1014.0 +0.0002630314,0.0,217488.0,1014.0 +0.0005598718,0.502644891205451,217488.0,1014.0 +0.0002655429,0.0,217488.0,1014.0 +0.00026214090000000004,0.0,217488.0,1014.0 +0.0002662729,0.0,217488.0,1014.0 +0.00026811200000000004,0.0,217488.0,1014.0 +0.00026268000000000005,0.0,217488.0,1014.0 +0.0002688844,0.0,217488.0,1014.0 +0.0002924443,0.0,217488.0,1014.0 +0.0002689901,0.0,217488.0,1014.0 +0.0002827017,0.0,217488.0,1014.0 +0.00026646090000000003,0.0,217488.0,1014.0 +0.0002620178,0.0,217488.0,1014.0 +0.00026475440000000005,0.0,217488.0,1014.0 +0.0002630509,0.0,217488.0,1014.0 +0.0002641252,0.0,217488.0,1014.0 +0.0002642072,0.0,217488.0,1014.0 +0.00026521,0.0,217488.0,1014.0 +0.0002597546,0.0,217488.0,1014.0 +0.0002619751,0.0,217488.0,1014.0 +0.0002647749,0.0,217488.0,1014.0 +0.0002594448,0.0,217488.0,1014.0 +0.0005851958,0.5208574634336063,217488.0,1014.0 +0.0002665059,0.0,217488.0,1014.0 +0.0002776861,0.0,217488.0,1014.0 +0.0002695875,0.0,217488.0,1014.0 +0.0002710958,0.0,217488.0,1014.0 +0.0002661944,0.0,217488.0,1014.0 +0.0002662537,0.0,217488.0,1014.0 +0.0002635178,0.0,217488.0,1014.0 +0.0002619853,0.0,217488.0,1014.0 +0.0002633564,0.0,217488.0,1014.0 +0.0002659266,0.0,217488.0,1014.0 +0.0002646668,0.0,217488.0,1014.0 +0.0002643426,0.0,217488.0,1014.0 +0.0002633692,0.0,217488.0,1014.0 +0.00026437460000000004,0.0,217488.0,1014.0 +0.0002617793,0.0,217488.0,1014.0 +0.00026251910000000005,0.0,217488.0,1014.0 +0.000262234,0.0,217488.0,1014.0 +0.00026348770000000004,0.0,217488.0,1014.0 +0.0002619854,0.0,217488.0,1014.0 +0.00026279250000000004,0.0,217488.0,1014.0 +0.0005457114000000001,0.5128819005796837,217488.0,1014.0 +0.00028341810000000005,0.0,217488.0,1014.0 +0.0002608388,0.0,217488.0,1014.0 +0.0002617074,0.0,217488.0,1014.0 +0.000268273,0.0,217488.0,1014.0 +0.0002634587,0.0,217488.0,1014.0 +0.0002625862,0.0,217488.0,1014.0 +0.0002713812,0.0,217488.0,1014.0 +0.00026660210000000004,0.0,217488.0,1014.0 +0.0002739171,0.0,217488.0,1014.0 +0.00026508680000000005,0.0,217488.0,1014.0 +0.0002620045,0.0,217488.0,1014.0 +0.0002633476,0.0,217488.0,1014.0 +0.0002631341,0.0,217488.0,1014.0 +0.00026622340000000003,0.0,217488.0,1014.0 +0.00026485420000000004,0.0,217488.0,1014.0 +0.0002651845,0.0,217488.0,1014.0 +0.0002646287,0.0,217488.0,1014.0 +0.0017425912000000002,0.0,217488.0,1014.0 +0.0002660613,0.0,217488.0,1014.0 +0.00026314750000000004,0.0,217488.0,1014.0 +0.0015093791,0.0,217488.0,1014.0 +0.0005756356000000001,0.49474094374983063,217488.0,1014.0 +0.000281248,0.0,217488.0,1014.0 +0.00027731180000000003,0.0,217488.0,1014.0 +0.0018778020000000002,0.0,217488.0,1014.0 +0.00027144480000000003,0.0,217488.0,1014.0 +0.0002756411,0.0,217488.0,1014.0 +0.0002774941,0.0,217488.0,1014.0 +0.0002699637,0.0,217488.0,1014.0 +0.0018745505000000002,0.0,217488.0,1014.0 +0.00026057840000000005,0.0,217488.0,1014.0 +0.0002555667,0.0,217488.0,1014.0 +0.00025932010000000004,0.0,217488.0,1014.0 +0.0002580486,0.0,217488.0,1014.0 +0.0002586848,0.0,217488.0,1014.0 +0.0002597694,0.0,217488.0,1014.0 +0.0002579927,0.0,217488.0,1014.0 +0.0002548793,0.0,217488.0,1014.0 +0.0002550734,0.0,217488.0,1014.0 +0.0002577685,0.0,217488.0,1014.0 +0.0002537155,0.0,217488.0,1014.0 +0.00025691440000000004,0.0,217488.0,1014.0 +0.0005634868,0.5082071132810919,217488.0,1014.0 +0.0002580866,0.0,217488.0,1014.0 +0.0002626302,0.0,217488.0,1014.0 +0.00025883350000000004,0.0,217488.0,1014.0 +0.0002591996,0.0,217488.0,1014.0 +0.0002590162,0.0,217488.0,1014.0 +0.00026795530000000005,0.0,217488.0,1014.0 +0.00026035390000000004,0.0,217488.0,1014.0 +0.0002668697,0.0,217488.0,1014.0 +0.0002606524,0.0,217488.0,1014.0 +0.00025942040000000003,0.0,217488.0,1014.0 +0.00025698910000000004,0.0,217488.0,1014.0 +0.0002582581,0.0,217488.0,1014.0 +0.0002593412,0.0,217488.0,1014.0 +0.00025732230000000004,0.0,217488.0,1014.0 +0.0002610665,0.0,217488.0,1014.0 +0.00025600970000000004,0.0,217488.0,1014.0 +0.0002545309,0.0,217488.0,1014.0 +0.00025895460000000003,0.0,217488.0,1014.0 +0.0002550855,0.0,217488.0,1014.0 +0.0002559177,0.0,217488.0,1014.0 +0.0005625287000000001,0.5037798071458398,217488.0,1014.0 +0.0002686734,0.0,217488.0,1014.0 +0.00026233850000000004,0.0,217488.0,1014.0 +0.00026330900000000004,0.0,217488.0,1014.0 +0.0002591103,0.0,217488.0,1014.0 +0.0002588726,0.0,217488.0,1014.0 +0.0002615242,0.0,217488.0,1014.0 +0.0002528818,0.0,217488.0,1014.0 +0.00025683050000000005,0.0,217488.0,1014.0 +0.00026297120000000004,0.0,217488.0,1014.0 +0.0002619906,0.0,217488.0,1014.0 +0.0002581678,0.0,217488.0,1014.0 +0.0002592098,0.0,217488.0,1014.0 +0.0002602815,0.0,217488.0,1014.0 +0.0002585482,0.0,217488.0,1014.0 +0.0002577836,0.0,217488.0,1014.0 +0.0002547609,0.0,217488.0,1014.0 +0.00025830760000000003,0.0,217488.0,1014.0 +0.00025496160000000004,0.0,217488.0,1014.0 +0.0002562654,0.0,217488.0,1014.0 +0.00025648900000000004,0.0,217488.0,1014.0 +0.0006300052000000001,0.5669088128161481,217488.0,1014.0 +0.0002601115,0.0,217488.0,1014.0 +0.0002565652,0.0,217488.0,1014.0 +0.0002606112,0.0,217488.0,1014.0 +0.0002608307,0.0,217488.0,1014.0 +0.0002596956,0.0,217488.0,1014.0 +0.0002655285,0.0,217488.0,1014.0 +0.00026259620000000005,0.0,217488.0,1014.0 +0.00026794920000000003,0.0,217488.0,1014.0 +0.0002681116,0.0,217488.0,1014.0 +0.000260349,0.0,217488.0,1014.0 +0.0002559061,0.0,217488.0,1014.0 +0.00025786470000000003,0.0,217488.0,1014.0 +0.0002602011,0.0,217488.0,1014.0 +0.0002603166,0.0,217488.0,1014.0 +0.0002591046,0.0,217488.0,1014.0 +0.0002753159,0.0,217488.0,1014.0 +0.0003866857,0.0,217488.0,1014.0 +0.00040090220000000003,0.0,217488.0,1014.0 +0.00041668370000000007,0.0,217488.0,1014.0 +0.00039515970000000004,0.0,217488.0,1014.0 +0.0006201166,0.458243175557629,217488.0,1014.0 +0.0002923401,0.0,217488.0,1014.0 +0.0004633896,0.0,217488.0,1014.0 +0.0002778015,0.0,217488.0,1014.0 +0.0002818321,0.0,217488.0,1014.0 +0.00027674130000000005,0.0,217488.0,1014.0 +0.0002781717,0.0,217488.0,1014.0 +0.0006784915000000001,0.0,217488.0,1014.0 +0.0003509622,0.0,217488.0,1014.0 +0.00028789660000000004,0.0,217488.0,1014.0 +0.00028186920000000004,0.0,217488.0,1014.0 +0.0002893374,0.0,217488.0,1014.0 +0.00034535140000000006,0.0,217488.0,1014.0 +0.00042617050000000003,0.0,217488.0,1014.0 +0.0004532924000000001,0.0,217488.0,1014.0 +0.0003332172,0.0,217488.0,1014.0 +0.0002843368,0.0,217488.0,1014.0 +0.0002788248,0.0,217488.0,1014.0 +0.0002674153,0.0,217488.0,1014.0 +0.00026828780000000003,0.0,217488.0,1014.0 +0.00047472700000000004,0.0,217488.0,1014.0 +0.0005753846,0.49093997301978537,217488.0,1014.0 +0.0002835284,0.0,217488.0,1014.0 +0.0002853185,0.0,217488.0,1014.0 +0.0005561679,0.0,217488.0,1014.0 +0.00028739760000000004,0.0,217488.0,1014.0 +0.0002736699,0.0,217488.0,1014.0 +0.00027339840000000003,0.0,217488.0,1014.0 +0.00027497160000000004,0.0,217488.0,1014.0 +0.0002839012,0.0,217488.0,1014.0 +0.00032551430000000005,0.0,217488.0,1014.0 +0.0002771951,0.0,217488.0,1014.0 +0.0002831198,0.0,217488.0,1014.0 +0.0002860931,0.0,217488.0,1014.0 +0.00028710560000000005,0.0,217488.0,1014.0 +0.0002823783,0.0,217488.0,1014.0 +0.0002849986,0.0,217488.0,1014.0 +0.0002890367,0.0,217488.0,1014.0 +0.0006120104,0.0,217488.0,1014.0 +0.0002741209,0.0,217488.0,1014.0 +0.0002736971,0.0,217488.0,1014.0 +0.00027261120000000004,0.0,217488.0,1014.0 +0.0006055065,0.49732364557605907,217488.0,1014.0 +0.0003159955,0.0,217488.0,1014.0 +0.00030659700000000003,0.0,217488.0,1014.0 +0.00028855480000000006,0.0,217488.0,1014.0 +0.00028274930000000005,0.0,217488.0,1014.0 +0.00026766990000000004,0.0,217488.0,1014.0 +0.0002740438,0.0,217488.0,1014.0 +0.00027268130000000003,0.0,217488.0,1014.0 +0.0002624781,0.0,217488.0,1014.0 +0.000272227,0.0,217488.0,1014.0 +0.0002741597,0.0,217488.0,1014.0 +0.0002769722,0.0,217488.0,1014.0 +0.0002802346,0.0,217488.0,1014.0 +0.0002746598,0.0,217488.0,1014.0 +0.0002837167,0.0,217488.0,1014.0 +0.0002791019,0.0,217488.0,1014.0 +0.0002704814,0.0,217488.0,1014.0 +0.0002708149,0.0,217488.0,1014.0 +0.0002740231,0.0,217488.0,1014.0 +0.0002730842,0.0,217488.0,1014.0 +0.0002710645,0.0,217488.0,1014.0 +0.0006408136,0.5464490766113578,217488.0,1014.0 +0.0002821125,0.0,217488.0,1014.0 +0.0002811065,0.0,217488.0,1014.0 +0.0002784826,0.0,217488.0,1014.0 +0.0002824812,0.0,217488.0,1014.0 +0.0002901722,0.0,217488.0,1014.0 +0.00032860740000000005,0.0,217488.0,1014.0 +0.00026879030000000003,0.0,217488.0,1014.0 +0.00027422460000000004,0.0,217488.0,1014.0 +0.0007501369000000001,0.0,217488.0,1014.0 +0.00028357010000000006,0.0,217488.0,1014.0 +0.0002818152,0.0,217488.0,1014.0 +0.00029312690000000003,0.0,217488.0,1014.0 +0.00062807,0.0,217488.0,1014.0 +0.000269834,0.0,217488.0,1014.0 +0.0002760188,0.0,217488.0,1014.0 +0.00028371630000000004,0.0,217488.0,1014.0 +0.000822991,0.0,217488.0,1014.0 +0.00039048020000000003,0.0,217488.0,1014.0 +0.0004038029,0.0,217488.0,1014.0 +0.00041712240000000005,0.0,217488.0,1014.0 +0.0007138,0.4172989632950406,217488.0,1014.0 +0.00030833710000000003,0.0,217488.0,1014.0 +0.00034819630000000005,0.0,217488.0,1014.0 +0.00030344590000000004,0.0,217488.0,1014.0 +0.0003265224,0.0,217488.0,1014.0 +0.0003255282,0.0,217488.0,1014.0 +0.0003212728,0.0,217488.0,1014.0 +0.0003064433,0.0,217488.0,1014.0 +0.0003173337,0.0,217488.0,1014.0 +0.0003212333,0.0,217488.0,1014.0 +0.00032139660000000004,0.0,217488.0,1014.0 +0.0002914618,0.0,217488.0,1014.0 +0.0003394019,0.0,217488.0,1014.0 +0.00030120200000000003,0.0,217488.0,1014.0 +0.0003577022,0.0,217488.0,1014.0 +0.00033805780000000006,0.0,217488.0,1014.0 +0.0003467632,0.0,217488.0,1014.0 +0.00031252460000000005,0.0,217488.0,1014.0 +0.0007525194,0.0,217488.0,1014.0 +0.0002949254,0.0,217488.0,1014.0 +0.0003079567,0.0,217488.0,1014.0 +0.0006232375,0.4682949918770934,217488.0,1014.0 +0.0008759094,0.0,217488.0,1014.0 +0.00027723630000000003,0.0,217488.0,1014.0 +0.0002915875,0.0,217488.0,1014.0 +0.0003359575,0.0,217488.0,1014.0 +0.00030199480000000004,0.0,217488.0,1014.0 +0.0003589992,0.0,217488.0,1014.0 +0.0002804401,0.0,217488.0,1014.0 +0.000280168,0.0,217488.0,1014.0 +0.000287782,0.0,217488.0,1014.0 +0.0004886477000000001,0.0,217488.0,1014.0 +0.0002843056,0.0,217488.0,1014.0 +0.0002757167,0.0,217488.0,1014.0 +0.0002798441,0.0,217488.0,1014.0 +0.0003074371,0.0,217488.0,1014.0 +0.00035869480000000006,0.0,217488.0,1014.0 +0.00027687640000000004,0.0,217488.0,1014.0 +0.0002761707,0.0,217488.0,1014.0 +0.00027575440000000004,0.0,217488.0,1014.0 +0.0002735281,0.0,217488.0,1014.0 +0.0003244513,0.0,217488.0,1014.0 +0.0007663260000000001,0.37229364526324304,217488.0,1014.0 +0.0002961647,0.0,217488.0,1014.0 +0.0003155186,0.0,217488.0,1014.0 +0.0005075958000000001,0.0,217488.0,1014.0 +0.0002834534,0.0,217488.0,1014.0 +0.000306208,0.0,217488.0,1014.0 +0.0002733531,0.0,217488.0,1014.0 +0.00029943730000000005,0.0,217488.0,1014.0 +0.0002757537,0.0,217488.0,1014.0 +0.00027564340000000003,0.0,217488.0,1014.0 +0.0006351278,0.0,217488.0,1014.0 +0.0002775071,0.0,217488.0,1014.0 +0.00027472430000000006,0.0,217488.0,1014.0 +0.0003058143,0.0,217488.0,1014.0 +0.0002784148,0.0,217488.0,1014.0 +0.00029242160000000005,0.0,217488.0,1014.0 +0.0002751851,0.0,217488.0,1014.0 +0.00029289990000000004,0.0,217488.0,1014.0 +0.0002823783,0.0,217488.0,1014.0 +0.0002982071,0.0,217488.0,1014.0 +0.0002761638,0.0,217488.0,1014.0 +0.0006586046000000001,0.0,217488.0,1014.0 +0.002456985,0.8469392365032754,217488.0,1014.0 +0.0005838141,0.0,217488.0,1014.0 +0.0006515116,0.0,217488.0,1014.0 +0.0005379277,0.0,217488.0,1014.0 +0.0004879584,0.0,217488.0,1014.0 +0.0005681221,0.0,217488.0,1014.0 +0.0003561352,0.0,217488.0,1014.0 +0.0003720686,0.0,217488.0,1014.0 +0.00035689770000000003,0.0,217488.0,1014.0 +0.0003586207,0.0,217488.0,1014.0 +0.00038939570000000003,0.0,217488.0,1014.0 +0.00038525100000000003,0.0,217488.0,1014.0 +0.0005177118000000001,0.0,217488.0,1014.0 +0.0003928918,0.0,217488.0,1014.0 +0.00038162100000000007,0.0,217488.0,1014.0 +0.0003904602,0.0,217488.0,1014.0 +0.0003864917,0.0,217488.0,1014.0 +0.00038919690000000005,0.0,217488.0,1014.0 +0.0003819108,0.0,217488.0,1014.0 +0.00039310159999999996,0.0,217488.0,1014.0 +0.0003513781,0.0,217488.0,1014.0 +0.0006158302,0.5062343483642082,217488.0,1014.0 +0.0002906148,0.0,217488.0,1014.0 +0.0002818448,0.0,217488.0,1014.0 +0.00028343160000000005,0.0,217488.0,1014.0 +0.0002795015,0.0,217488.0,1014.0 +0.00028265820000000004,0.0,217488.0,1014.0 +0.0002944304,0.0,217488.0,1014.0 +0.0002902108,0.0,217488.0,1014.0 +0.0002969056,0.0,217488.0,1014.0 +0.0002933184,0.0,217488.0,1014.0 +0.0002765738,0.0,217488.0,1014.0 +0.0002809533,0.0,217488.0,1014.0 +0.0002804024,0.0,217488.0,1014.0 +0.0002805718,0.0,217488.0,1014.0 +0.00029157740000000003,0.0,217488.0,1014.0 +0.0002955715,0.0,217488.0,1014.0 +0.0002911634,0.0,217488.0,1014.0 +0.00028661850000000005,0.0,217488.0,1014.0 +0.0002877096,0.0,217488.0,1014.0 +0.0002791986,0.0,217488.0,1014.0 +0.0002801648,0.0,217488.0,1014.0 +0.0005923403000000001,0.48032592075872604,217488.0,1014.0 +0.0002860664,0.0,217488.0,1014.0 +0.00028289860000000006,0.0,217488.0,1014.0 +0.0002867816,0.0,217488.0,1014.0 +0.0002870002,0.0,217488.0,1014.0 +0.00028945520000000005,0.0,217488.0,1014.0 +0.0002946687,0.0,217488.0,1014.0 +0.00029024460000000004,0.0,217488.0,1014.0 +0.0002961248,0.0,217488.0,1014.0 +0.0002900816,0.0,217488.0,1014.0 +0.0002838693,0.0,217488.0,1014.0 +0.0002783799,0.0,217488.0,1014.0 +0.0017861359,0.0,217488.0,1014.0 +0.0002935277,0.0,217488.0,1014.0 +0.00028888860000000004,0.0,217488.0,1014.0 +0.0002846165,0.0,217488.0,1014.0 +0.00027961310000000004,0.0,217488.0,1014.0 +0.0018828870000000002,0.0,217488.0,1014.0 +0.00028395670000000005,0.0,217488.0,1014.0 +0.00028793220000000003,0.0,217488.0,1014.0 +0.0002877787,0.0,217488.0,1014.0 +0.0005950975000000001,0.48637189704208134,217488.0,1014.0 +0.0021234203,0.0,217488.0,1014.0 +0.0008402614,0.0,217488.0,1014.0 +0.0014069089000000002,0.0,217488.0,1014.0 +0.0008319174000000001,0.0,217488.0,1014.0 +0.0008189498,0.0,217488.0,1014.0 +0.0006901543,0.0,217488.0,1014.0 +0.0006674369000000001,0.0,217488.0,1014.0 +0.0005243728,0.0,217488.0,1014.0 +0.00028304420000000005,0.0,217488.0,1014.0 +0.0003259159,0.0,217488.0,1014.0 +0.00029127520000000003,0.0,217488.0,1014.0 +0.0002909262,0.0,217488.0,1014.0 +0.0002935031,0.0,217488.0,1014.0 +0.000289416,0.0,217488.0,1014.0 +0.00028690480000000005,0.0,217488.0,1014.0 +0.0007492947000000001,0.0,217488.0,1014.0 +0.0002796901,0.0,217488.0,1014.0 +0.0002779328,0.0,217488.0,1014.0 +0.0002988329,0.0,217488.0,1014.0 +0.0003151607,0.0,217488.0,1014.0 +0.000625166,0.47442519266882716,217488.0,1014.0 +0.0003209913,0.0,217488.0,1014.0 +0.0003486367,0.0,217488.0,1014.0 +0.0003117555,0.0,217488.0,1014.0 +0.0003301005,0.0,217488.0,1014.0 +0.00032585730000000003,0.0,217488.0,1014.0 +0.00033121910000000004,0.0,217488.0,1014.0 +0.00030519980000000003,0.0,217488.0,1014.0 +0.00035363640000000003,0.0,217488.0,1014.0 +0.00031343690000000003,0.0,217488.0,1014.0 +0.0003300677,0.0,217488.0,1014.0 +0.000340172,0.0,217488.0,1014.0 +0.00034510490000000003,0.0,217488.0,1014.0 +0.0003262102,0.0,217488.0,1014.0 +0.0006950908,0.0,217488.0,1014.0 +0.0003111963,0.0,217488.0,1014.0 +0.00030885730000000005,0.0,217488.0,1014.0 +0.0003152751,0.0,217488.0,1014.0 +0.0003013294,0.0,217488.0,1014.0 +0.00030324190000000003,0.0,217488.0,1014.0 +0.0005853646000000001,0.0,217488.0,1014.0 +0.0006496417,0.46425452676452267,217488.0,1014.0 +0.0003681689,0.0,217488.0,1014.0 +0.00030392680000000005,0.0,217488.0,1014.0 +0.00028906030000000005,0.0,217488.0,1014.0 +0.0002838229,0.0,217488.0,1014.0 +0.0002822813,0.0,217488.0,1014.0 +0.0002876078,0.0,217488.0,1014.0 +0.0002832641,0.0,217488.0,1014.0 +0.000292589,0.0,217488.0,1014.0 +0.00030383950000000004,0.0,217488.0,1014.0 +0.0002960419,0.0,217488.0,1014.0 +0.00028655810000000005,0.0,217488.0,1014.0 +0.0007070352,0.0,217488.0,1014.0 +0.000428509,0.0,217488.0,1014.0 +0.00029248480000000003,0.0,217488.0,1014.0 +0.00029838660000000003,0.0,217488.0,1014.0 +0.0003278191,0.0,217488.0,1014.0 +0.0005381092,0.0,217488.0,1014.0 +0.00032821390000000003,0.0,217488.0,1014.0 +0.00043817300000000003,0.0,217488.0,1014.0 +0.00044113980000000006,0.0,217488.0,1014.0 +0.0010174825,0.6692830589223894,217488.0,1014.0 +0.0002896221,0.0,217488.0,1014.0 +0.00029378870000000004,0.0,217488.0,1014.0 +0.0003292677,0.0,217488.0,1014.0 +0.00031756220000000003,0.0,217488.0,1014.0 +0.00028023400000000003,0.0,217488.0,1014.0 +0.00028033670000000003,0.0,217488.0,1014.0 +0.00028312430000000004,0.0,217488.0,1014.0 +0.0002855118,0.0,217488.0,1014.0 +0.0002934109,0.0,217488.0,1014.0 +0.0002884775,0.0,217488.0,1014.0 +0.0002785502,0.0,217488.0,1014.0 +0.0002796381,0.0,217488.0,1014.0 +0.00028259680000000003,0.0,217488.0,1014.0 +0.0018806361,0.0,217488.0,1014.0 +0.0002793167,0.0,217488.0,1014.0 +0.0002881322,0.0,217488.0,1014.0 +0.00037385110000000006,0.0,217488.0,1014.0 +0.0003903978,0.0,217488.0,1014.0 +0.0019929354,0.0,217488.0,1014.0 +0.0005809792,0.0,217488.0,1014.0 +0.0022910926,0.8338984203432022,217488.0,1014.0 +0.00028230970000000003,0.0,217488.0,1014.0 +0.0002836583,0.0,217488.0,1014.0 +0.0002791478,0.0,217488.0,1014.0 +0.0002867076,0.0,217488.0,1014.0 +0.0018881048,0.0,217488.0,1014.0 +0.0002818109,0.0,217488.0,1014.0 +0.00028116020000000004,0.0,217488.0,1014.0 +0.0002782221,0.0,217488.0,1014.0 +0.0002775704,0.0,217488.0,1014.0 +0.0002832417,0.0,217488.0,1014.0 +0.0018828658000000001,0.0,217488.0,1014.0 +0.0002832875,0.0,217488.0,1014.0 +0.00027947940000000004,0.0,217488.0,1014.0 +0.0002835808,0.0,217488.0,1014.0 +0.00028347850000000005,0.0,217488.0,1014.0 +0.0002801203,0.0,217488.0,1014.0 +0.0018850022,0.0,217488.0,1014.0 +0.0002838393,0.0,217488.0,1014.0 +0.00028905650000000005,0.0,217488.0,1014.0 +0.00027830140000000003,0.0,217488.0,1014.0 +0.002192489,0.8602797551093757,217488.0,1014.0 +0.0002829285,0.0,217488.0,1014.0 +0.0002798206,0.0,217488.0,1014.0 +0.0002846363,0.0,217488.0,1014.0 +0.00028642580000000004,0.0,217488.0,1014.0 +0.0002803866,0.0,217488.0,1014.0 +0.0007538333000000001,0.0,217488.0,1014.0 +0.0002640165,0.0,217488.0,1014.0 +0.0002576653,0.0,217488.0,1014.0 +0.00026988660000000004,0.0,217488.0,1014.0 +0.00026511300000000003,0.0,217488.0,1014.0 +0.00025960560000000003,0.0,217488.0,1014.0 +0.0002907663,0.0,217488.0,1014.0 +0.0002611069,0.0,217488.0,1014.0 +0.0002589649,0.0,217488.0,1014.0 +0.0002616696,0.0,217488.0,1014.0 +0.0002625018,0.0,217488.0,1014.0 +0.00025766980000000003,0.0,217488.0,1014.0 +0.00025885080000000003,0.0,217488.0,1014.0 +0.00026035150000000004,0.0,217488.0,1014.0 +0.0002586164,0.0,217488.0,1014.0 +0.0005698471,0.5109961952951941,217488.0,1014.0 +0.0002642136,0.0,217488.0,1014.0 +0.00026935630000000005,0.0,217488.0,1014.0 +0.00027073410000000005,0.0,217488.0,1014.0 +0.0002651311,0.0,217488.0,1014.0 +0.00026673820000000005,0.0,217488.0,1014.0 +0.0002624373,0.0,217488.0,1014.0 +0.0002595868,0.0,217488.0,1014.0 +0.0002575683,0.0,217488.0,1014.0 +0.0002619895,0.0,217488.0,1014.0 +0.0002606761,0.0,217488.0,1014.0 +0.0002618216,0.0,217488.0,1014.0 +0.00023191610000000001,0.0,217488.0,1014.0 +0.00015049830000000002,0.0,217488.0,1014.0 +0.00015249920000000002,0.0,217488.0,1014.0 +0.00015257600000000002,0.0,217488.0,1014.0 +0.00015273950000000002,0.0,217488.0,1014.0 +0.00015279710000000001,0.0,217488.0,1014.0 +0.0001482938,0.0,217488.0,1014.0 +0.0001490779,0.0,217488.0,1014.0 +0.00015066900000000003,0.0,217488.0,1014.0 +0.00014868090000000003,0.0,217488.0,1014.0 +0.0004414315,0.6198094155038777,217488.0,1014.0 +0.00015255960000000002,0.0,217488.0,1014.0 +0.0001550598,0.0,217488.0,1014.0 +0.00015701160000000002,0.0,217488.0,1014.0 +0.00015797130000000002,0.0,217488.0,1014.0 +0.00015456440000000002,0.0,217488.0,1014.0 +0.0001561,0.0,217488.0,1014.0 +0.0001574117,0.0,217488.0,1014.0 +0.0001628282,0.0,217488.0,1014.0 +0.00015918960000000003,0.0,217488.0,1014.0 +0.0001492515,0.0,217488.0,1014.0 +0.00014145920000000002,0.0,217488.0,1014.0 +0.0001411844,0.0,217488.0,1014.0 +0.0001398072,0.0,217488.0,1014.0 +0.0001355448,0.0,217488.0,1014.0 +0.00014331940000000002,0.0,217488.0,1014.0 +0.0001759722,0.0,217488.0,1014.0 +0.0002187187,0.0,217488.0,1014.0 +0.00021294350000000003,0.0,217488.0,1014.0 +0.00022156100000000003,0.0,217488.0,1014.0 +0.0002133827,0.0,217488.0,1014.0 +0.0003928867,0.5889267821995502,217488.0,1014.0 +0.0001534092,0.0,217488.0,1014.0 +0.00014540480000000002,0.0,217488.0,1014.0 +0.0001432141,0.0,217488.0,1014.0 +0.000147777,0.0,217488.0,1014.0 +0.0001536304,0.0,217488.0,1014.0 +0.0001471585,0.0,217488.0,1014.0 +0.0001437479,0.0,217488.0,1014.0 +0.0001402583,0.0,217488.0,1014.0 +0.00014279480000000002,0.0,217488.0,1014.0 +0.00013755,0.0,217488.0,1014.0 +0.0001340186,0.0,217488.0,1014.0 +0.00014091480000000001,0.0,217488.0,1014.0 +0.00013901740000000002,0.0,217488.0,1014.0 +0.0001357499,0.0,217488.0,1014.0 +0.0001420442,0.0,217488.0,1014.0 +0.0001342944,0.0,217488.0,1014.0 +0.0001340047,0.0,217488.0,1014.0 +0.00014251700000000002,0.0,217488.0,1014.0 +0.0001327935,0.0,217488.0,1014.0 +0.0001386153,0.0,217488.0,1014.0 +0.0003639485,0.5799040248826414,217488.0,1014.0 +0.000141437,0.0,217488.0,1014.0 +0.0001403022,0.0,217488.0,1014.0 +0.00013975950000000002,0.0,217488.0,1014.0 +0.0001460923,0.0,217488.0,1014.0 +0.00014482350000000001,0.0,217488.0,1014.0 +0.0001514148,0.0,217488.0,1014.0 +0.0001417267,0.0,217488.0,1014.0 +0.0001448951,0.0,217488.0,1014.0 +0.0001432077,0.0,217488.0,1014.0 +0.00013857110000000002,0.0,217488.0,1014.0 +0.000141343,0.0,217488.0,1014.0 +0.0001417492,0.0,217488.0,1014.0 +0.0001423029,0.0,217488.0,1014.0 +0.0001388039,0.0,217488.0,1014.0 +0.0001432882,0.0,217488.0,1014.0 +0.0001377862,0.0,217488.0,1014.0 +0.00013283720000000003,0.0,217488.0,1014.0 +0.0001392297,0.0,217488.0,1014.0 +0.0001343829,0.0,217488.0,1014.0 +0.0001321422,0.0,217488.0,1014.0 +0.0003476326,0.5780493544046215,217488.0,1014.0 +0.000148759,0.0,217488.0,1014.0 +0.00014840520000000001,0.0,217488.0,1014.0 +0.0001423276,0.0,217488.0,1014.0 +0.000146491,0.0,217488.0,1014.0 +0.00014022750000000002,0.0,217488.0,1014.0 +0.0001385348,0.0,217488.0,1014.0 +0.0001430751,0.0,217488.0,1014.0 +0.0001359071,0.0,217488.0,1014.0 +0.00013602580000000001,0.0,217488.0,1014.0 +0.0001450965,0.0,217488.0,1014.0 +0.000134608,0.0,217488.0,1014.0 +0.000138765,0.0,217488.0,1014.0 +0.00014227400000000001,0.0,217488.0,1014.0 +0.0001337211,0.0,217488.0,1014.0 +0.000143935,0.0,217488.0,1014.0 +0.0001368665,0.0,217488.0,1014.0 +0.00013257050000000002,0.0,217488.0,1014.0 +0.00013780820000000002,0.0,217488.0,1014.0 +0.0001361268,0.0,217488.0,1014.0 +0.000132606,0.0,217488.0,1014.0 +0.00033693950000000003,0.5826446587592135,217488.0,1014.0 +0.00013727540000000002,0.0,217488.0,1014.0 +0.0001459461,0.0,217488.0,1014.0 +0.00013856410000000002,0.0,217488.0,1014.0 +0.0001426346,0.0,217488.0,1014.0 +0.0001423571,0.0,217488.0,1014.0 +0.00013953050000000002,0.0,217488.0,1014.0 +0.0001426818,0.0,217488.0,1014.0 +0.0001461112,0.0,217488.0,1014.0 +0.00013680830000000003,0.0,217488.0,1014.0 +0.00014365080000000002,0.0,217488.0,1014.0 +0.0001383055,0.0,217488.0,1014.0 +0.0001343213,0.0,217488.0,1014.0 +0.0001433475,0.0,217488.0,1014.0 +0.0001364781,0.0,217488.0,1014.0 +0.0001356524,0.0,217488.0,1014.0 +0.00014270680000000001,0.0,217488.0,1014.0 +0.0001352291,0.0,217488.0,1014.0 +0.00013241120000000002,0.0,217488.0,1014.0 +0.00014053430000000001,0.0,217488.0,1014.0 +0.00013443040000000003,0.0,217488.0,1014.0 +0.00033359070000000006,0.5704673421651143,217488.0,1014.0 +0.00014240580000000002,0.0,217488.0,1014.0 +0.00014400720000000002,0.0,217488.0,1014.0 +0.00014258340000000003,0.0,217488.0,1014.0 +0.00013725340000000002,0.0,217488.0,1014.0 +0.0003709501,0.0,217488.0,1014.0 +0.0001426167,0.0,217488.0,1014.0 +0.0001377467,0.0,217488.0,1014.0 +0.0001364467,0.0,217488.0,1014.0 +0.0001410097,0.0,217488.0,1014.0 +0.00013994230000000002,0.0,217488.0,1014.0 +0.00013588480000000002,0.0,217488.0,1014.0 +0.00014226940000000002,0.0,217488.0,1014.0 +0.0001403401,0.0,217488.0,1014.0 +0.000140887,0.0,217488.0,1014.0 +0.0001442467,0.0,217488.0,1014.0 +0.00013572220000000003,0.0,217488.0,1014.0 +0.0001333723,0.0,217488.0,1014.0 +0.00014024840000000002,0.0,217488.0,1014.0 +0.0001346741,0.0,217488.0,1014.0 +0.0001335749,0.0,217488.0,1014.0 +0.0012518979000000002,0.8785241192592463,217488.0,1014.0 +0.000140509,0.0,217488.0,1014.0 +0.0001388913,0.0,217488.0,1014.0 +0.0001435724,0.0,217488.0,1014.0 +0.00014065760000000002,0.0,217488.0,1014.0 +0.0001380663,0.0,217488.0,1014.0 +0.0001447393,0.0,217488.0,1014.0 +0.0001418736,0.0,217488.0,1014.0 +0.00014014300000000002,0.0,217488.0,1014.0 +0.0001439528,0.0,217488.0,1014.0 +0.0001381585,0.0,217488.0,1014.0 +0.00013650740000000001,0.0,217488.0,1014.0 +0.0001427055,0.0,217488.0,1014.0 +0.00013641570000000002,0.0,217488.0,1014.0 +0.00013801710000000002,0.0,217488.0,1014.0 +0.0001413938,0.0,217488.0,1014.0 +0.00013500370000000002,0.0,217488.0,1014.0 +0.000137113,0.0,217488.0,1014.0 +0.0001371745,0.0,217488.0,1014.0 +0.000133072,0.0,217488.0,1014.0 +0.00013718360000000002,0.0,217488.0,1014.0 +0.0003319597,0.566912489678717,217488.0,1014.0 +0.0001455395,0.0,217488.0,1014.0 +0.0001405036,0.0,217488.0,1014.0 +0.0001397268,0.0,217488.0,1014.0 +0.00014466000000000001,0.0,217488.0,1014.0 +0.0001380363,0.0,217488.0,1014.0 +0.00014016040000000001,0.0,217488.0,1014.0 +0.0001405919,0.0,217488.0,1014.0 +0.00013321790000000002,0.0,217488.0,1014.0 +0.00013873890000000002,0.0,217488.0,1014.0 +0.0001399414,0.0,217488.0,1014.0 +0.00013656640000000002,0.0,217488.0,1014.0 +0.00013818530000000003,0.0,217488.0,1014.0 +0.0001382477,0.0,217488.0,1014.0 +0.0001384599,0.0,217488.0,1014.0 +0.0001443552,0.0,217488.0,1014.0 +0.00013707630000000002,0.0,217488.0,1014.0 +0.000133021,0.0,217488.0,1014.0 +0.0001381416,0.0,217488.0,1014.0 +0.0001361292,0.0,217488.0,1014.0 +0.00013269060000000002,0.0,217488.0,1014.0 +0.0003268081,0.556304449002335,217488.0,1014.0 +0.00013655680000000003,0.0,217488.0,1014.0 +0.0001399337,0.0,217488.0,1014.0 +0.00013659500000000002,0.0,217488.0,1014.0 +0.00014389,0.0,217488.0,1014.0 +0.000142063,0.0,217488.0,1014.0 +0.0001413938,0.0,217488.0,1014.0 +0.00014380220000000002,0.0,217488.0,1014.0 +0.000140173,0.0,217488.0,1014.0 +0.0001393962,0.0,217488.0,1014.0 +0.0001417555,0.0,217488.0,1014.0 +0.00013767180000000002,0.0,217488.0,1014.0 +0.00013849510000000002,0.0,217488.0,1014.0 +0.0001407488,0.0,217488.0,1014.0 +0.00013888160000000003,0.0,217488.0,1014.0 +0.0001347425,0.0,217488.0,1014.0 +0.0001449987,0.0,217488.0,1014.0 +0.0001360027,0.0,217488.0,1014.0 +0.0001331715,0.0,217488.0,1014.0 +0.00014074120000000001,0.0,217488.0,1014.0 +0.0001334551,0.0,217488.0,1014.0 +0.0003231573,0.5682022346392918,217488.0,1014.0 +0.00013666360000000002,0.0,217488.0,1014.0 +0.0001454117,0.0,217488.0,1014.0 +0.0001419694,0.0,217488.0,1014.0 +0.0001390939,0.0,217488.0,1014.0 +0.0001437129,0.0,217488.0,1014.0 +0.0001396439,0.0,217488.0,1014.0 +0.0001367936,0.0,217488.0,1014.0 +0.000140784,0.0,217488.0,1014.0 +0.0001361348,0.0,217488.0,1014.0 +0.00013607390000000002,0.0,217488.0,1014.0 +0.0001412495,0.0,217488.0,1014.0 +0.00013633810000000002,0.0,217488.0,1014.0 +0.0001344993,0.0,217488.0,1014.0 +0.0001437645,0.0,217488.0,1014.0 +0.0001342202,0.0,217488.0,1014.0 +0.0001354795,0.0,217488.0,1014.0 +0.0001401189,0.0,217488.0,1014.0 +0.0001329764,0.0,217488.0,1014.0 +0.0001385914,0.0,217488.0,1014.0 +0.0001383194,0.0,217488.0,1014.0 +0.00036462290000000003,0.6167923078885061,217488.0,1014.0 +0.00013767690000000002,0.0,217488.0,1014.0 +0.0001350393,0.0,217488.0,1014.0 +0.0001463392,0.0,217488.0,1014.0 +0.0001398626,0.0,217488.0,1014.0 +0.00013988700000000002,0.0,217488.0,1014.0 +0.0001413026,0.0,217488.0,1014.0 +0.0001394218,0.0,217488.0,1014.0 +0.00014231550000000002,0.0,217488.0,1014.0 +0.000144038,0.0,217488.0,1014.0 +0.0001388191,0.0,217488.0,1014.0 +0.00014047360000000002,0.0,217488.0,1014.0 +0.0001490002,0.0,217488.0,1014.0 +0.00014870980000000002,0.0,217488.0,1014.0 +0.0001564672,0.0,217488.0,1014.0 +0.00014809,0.0,217488.0,1014.0 +0.0001535069,0.0,217488.0,1014.0 +0.0001984057,0.0,217488.0,1014.0 +0.0002383095,0.0,217488.0,1014.0 +0.0002365124,0.0,217488.0,1014.0 +0.0002382141,0.0,217488.0,1014.0 +0.0002334067,0.0,217488.0,1014.0 +0.0003893809,0.5656376571115841,217488.0,1014.0 +0.0001629774,0.0,217488.0,1014.0 +0.0001572322,0.0,217488.0,1014.0 +0.0001597041,0.0,217488.0,1014.0 +0.0001554314,0.0,217488.0,1014.0 +0.00015156240000000002,0.0,217488.0,1014.0 +0.0001572024,0.0,217488.0,1014.0 +0.0001499296,0.0,217488.0,1014.0 +0.0001541779,0.0,217488.0,1014.0 +0.0001522809,0.0,217488.0,1014.0 +0.00014816590000000002,0.0,217488.0,1014.0 +0.0001524959,0.0,217488.0,1014.0 +0.0001502026,0.0,217488.0,1014.0 +0.00015037390000000001,0.0,217488.0,1014.0 +0.00015377790000000002,0.0,217488.0,1014.0 +0.0001513464,0.0,217488.0,1014.0 +0.00015154110000000003,0.0,217488.0,1014.0 +0.00014906250000000003,0.0,217488.0,1014.0 +0.0001514735,0.0,217488.0,1014.0 +0.0001519977,0.0,217488.0,1014.0 +0.00014872030000000002,0.0,217488.0,1014.0 +0.0004648953,0.530903840068936,217488.0,1014.0 +0.0002052799,0.0,217488.0,1014.0 +0.00020216439999999998,0.0,217488.0,1014.0 +0.00020899170000000003,0.0,217488.0,1014.0 +0.00020557310000000003,0.0,217488.0,1014.0 +0.00022765620000000003,0.0,217488.0,1014.0 +0.0002627606,0.0,217488.0,1014.0 +0.0002581265,0.0,217488.0,1014.0 +0.0002682251,0.0,217488.0,1014.0 +0.0002623958,0.0,217488.0,1014.0 +0.0002596809,0.0,217488.0,1014.0 +0.00025648010000000005,0.0,217488.0,1014.0 +0.0002561962,0.0,217488.0,1014.0 +0.00025819980000000003,0.0,217488.0,1014.0 +0.00025684510000000005,0.0,217488.0,1014.0 +0.0002547569,0.0,217488.0,1014.0 +0.0002575833,0.0,217488.0,1014.0 +0.0002540153,0.0,217488.0,1014.0 +0.00025914830000000005,0.0,217488.0,1014.0 +0.00025681390000000003,0.0,217488.0,1014.0 +0.00025439390000000004,0.0,217488.0,1014.0 +0.0005554803,0.5024383402975767,217488.0,1014.0 +0.00026979110000000005,0.0,217488.0,1014.0 +0.0002648392,0.0,217488.0,1014.0 +0.0002667412,0.0,217488.0,1014.0 +0.00026267390000000003,0.0,217488.0,1014.0 +0.00026078070000000003,0.0,217488.0,1014.0 diff --git a/perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv b/perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv index 48f1402..85ab68e 100644 --- a/perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv +++ b/perf/PatternFolds/output/c0a8dda6-0c5b-5b13-b4ef-931afd312b9a.csv @@ -1,101 +1,1001 @@ times,gctimes,memory,allocs -166989.0,0.0,137488,14 -170687.0,0.0,137488,14 -175509.0,0.0,137488,14 -174638.0,0.0,137488,14 -169605.0,0.0,137488,14 -167717.0,0.0,137488,14 -163357.0,0.0,137488,14 -153405.0,0.0,137488,14 -173441.0,0.0,137488,14 -164128.0,0.0,137488,14 -187091.0,0.0,137488,14 -184284.0,0.0,137488,14 -201325.0,0.0,137488,14 -225291.0,0.0,137488,14 -175459.0,0.0,137488,14 -181520.0,0.0,137488,14 -153308.0,0.0,137488,14 -155506.0,0.0,137488,14 -197644.0,0.0,137488,14 -170568.0,0.0,137488,14 -202849.0,0.0,137488,14 -190161.0,0.0,137488,14 -203394.0,0.0,137488,14 -193742.0,0.0,137488,14 -186978.0,0.0,137488,14 -193253.0,0.0,137488,14 -183751.0,0.0,137488,14 -163910.0,0.0,137488,14 -178410.0,0.0,137488,14 -209585.0,0.0,137488,14 -180669.0,0.0,137488,14 -167749.0,0.0,137488,14 -196035.0,0.0,137488,14 -198823.0,0.0,137488,14 -184927.0,0.0,137488,14 -185949.0,0.0,137488,14 -167793.0,0.0,137488,14 -163877.0,0.0,137488,14 -151267.0,0.0,137488,14 -158375.0,0.0,137488,14 -151512.0,0.0,137488,14 -144893.0,0.0,137488,14 -154189.0,0.0,137488,14 -177450.0,0.0,137488,14 -188016.0,0.0,137488,14 -178072.0,0.0,137488,14 -178182.0,0.0,137488,14 -186719.0,0.0,137488,14 -220640.0,0.0,137488,14 -210221.0,0.0,137488,14 -185527.0,0.0,137488,14 -201842.0,0.0,137488,14 -214078.0,0.0,137488,14 -198747.0,0.0,137488,14 -153081.0,0.0,137488,14 -151795.0,0.0,137488,14 -180949.0,0.0,137488,14 -171936.0,0.0,137488,14 -203473.0,0.0,137488,14 -157531.0,0.0,137488,14 -162936.0,0.0,137488,14 -157885.0,0.0,137488,14 -154132.0,0.0,137488,14 -149689.0,0.0,137488,14 -166570.0,0.0,137488,14 -155615.0,0.0,137488,14 -152896.0,0.0,137488,14 -152915.0,0.0,137488,14 -151103.0,0.0,137488,14 -148970.0,0.0,137488,14 -157379.0,0.0,137488,14 -156755.0,0.0,137488,14 -160140.0,0.0,137488,14 -151895.0,0.0,137488,14 -149918.0,0.0,137488,14 -167011.0,0.0,137488,14 -155640.0,0.0,137488,14 -157214.0,0.0,137488,14 -154752.0,0.0,137488,14 -157659.0,0.0,137488,14 -159950.0,0.0,137488,14 -211963.0,0.0,137488,14 -153767.0,0.0,137488,14 -162895.0,0.0,137488,14 -159651.0,0.0,137488,14 -158194.0,0.0,137488,14 -182926.0,0.0,137488,14 -157655.0,0.0,137488,14 -149173.0,0.0,137488,14 -177346.0,0.0,137488,14 -145909.0,0.0,137488,14 -155883.0,0.0,137488,14 -149034.0,0.0,137488,14 -151305.0,0.0,137488,14 -155795.0,0.0,137488,14 -151324.0,0.0,137488,14 -151519.0,0.0,137488,14 -150202.0,0.0,137488,14 -160570.0,0.0,137488,14 -161762.0,0.0,137488,14 +236091.9,0.0,137488,14 +246647.4,0.0,137488,14 +256409.6,0.0,137488,14 +254519.5,0.0,137488,14 +235037.2,0.0,137488,14 +224343.8,0.0,137488,14 +237449.3,0.0,137488,14 +252690.4,0.0,137488,14 +233370.8,0.0,137488,14 +234374.9,0.0,137488,14 +237199.3,0.0,137488,14 +242610.7,0.0,137488,14 +242198.7,0.0,137488,14 +237500.3,0.0,137488,14 +238013.0,0.0,137488,14 +240037.9,0.0,137488,14 +257285.2,0.0,137488,14 +241943.1,0.0,137488,14 +241639.8,0.0,137488,14 +249624.8,0.0,137488,14 +287844.8,0.0,137488,14 +278555.2,0.0,137488,14 +290277.2,0.0,137488,14 +285820.9,0.0,137488,14 +282477.7,0.0,137488,14 +439414.2,0.0,137488,14 +275866.8,0.0,137488,14 +277108.8,0.0,137488,14 +276428.6,0.0,137488,14 +9.4497069e6,9.1750285e6,137488,14 +160791.7,0.0,137488,14 +157728.6,0.0,137488,14 +157630.6,0.0,137488,14 +157685.3,0.0,137488,14 +162350.7,0.0,137488,14 +158078.2,0.0,137488,14 +160979.3,0.0,137488,14 +157757.6,0.0,137488,14 +153448.0,0.0,137488,14 +157378.1,0.0,137488,14 +157118.0,0.0,137488,14 +159210.7,0.0,137488,14 +162589.6,0.0,137488,14 +157058.5,0.0,137488,14 +159800.8,0.0,137488,14 +157193.1,0.0,137488,14 +157425.9,0.0,137488,14 +157628.8,0.0,137488,14 +161683.3,0.0,137488,14 +155748.6,0.0,137488,14 +152037.2,0.0,137488,14 +155141.9,0.0,137488,14 +268594.6,0.0,137488,14 +272114.8,0.0,137488,14 +266832.6,0.0,137488,14 +269070.0,0.0,137488,14 +291206.4,0.0,137488,14 +284850.8,0.0,137488,14 +272362.6,0.0,137488,14 +295642.4,0.0,137488,14 +281161.9,0.0,137488,14 +274195.2,0.0,137488,14 +1.208796e6,912489.8,137488,14 +157469.7,0.0,137488,14 +160700.5,0.0,137488,14 +156882.6,0.0,137488,14 +154894.6,0.0,137488,14 +160284.9,0.0,137488,14 +157723.6,0.0,137488,14 +160888.0,0.0,137488,14 +160894.8,0.0,137488,14 +156730.4,0.0,137488,14 +157319.3,0.0,137488,14 +160189.3,0.0,137488,14 +158085.4,0.0,137488,14 +160607.2,0.0,137488,14 +155435.1,0.0,137488,14 +159790.1,0.0,137488,14 +162264.9,0.0,137488,14 +156222.9,0.0,137488,14 +161654.4,0.0,137488,14 +157041.7,0.0,137488,14 +157228.9,0.0,137488,14 +157779.1,0.0,137488,14 +156279.4,0.0,137488,14 +155814.5,0.0,137488,14 +155908.7,0.0,137488,14 +155203.8,0.0,137488,14 +155494.9,0.0,137488,14 +154816.9,0.0,137488,14 +154689.5,0.0,137488,14 +154350.4,0.0,137488,14 +154703.6,0.0,137488,14 +155933.7,0.0,137488,14 +154842.1,0.0,137488,14 +156303.8,0.0,137488,14 +337056.8,147685.7,137488,14 +161936.2,0.0,137488,14 +4.4585838e6,0.0,137488,14 +162336.8,0.0,137488,14 +168931.1,0.0,137488,14 +162349.0,0.0,137488,14 +171346.4,0.0,137488,14 +173639.0,0.0,137488,14 +171243.9,0.0,137488,14 +2.5669128e6,0.0,137488,14 +162355.6,0.0,137488,14 +164915.9,0.0,137488,14 +165790.9,0.0,137488,14 +163192.6,0.0,137488,14 +175950.8,0.0,137488,14 +179328.0,0.0,137488,14 +2.5721334e6,0.0,137488,14 +162307.7,0.0,137488,14 +167564.1,0.0,137488,14 +166101.0,0.0,137488,14 +161364.0,0.0,137488,14 +171718.8,0.0,137488,14 +172463.2,0.0,137488,14 +2.568586e6,0.0,137488,14 +160594.0,0.0,137488,14 +160847.7,0.0,137488,14 +159681.5,0.0,137488,14 +161522.7,0.0,137488,14 +168107.7,0.0,137488,14 +170037.1,0.0,137488,14 +4.9745494e6,0.0,137488,14 +170795.2,0.0,137488,14 +170375.2,0.0,137488,14 +352292.7,151718.5,137488,14 +177866.8,0.0,137488,14 +172148.2,0.0,137488,14 +169521.6,0.0,137488,14 +164422.4,0.0,137488,14 +1.7721401e6,0.0,137488,14 +172883.2,0.0,137488,14 +175786.8,0.0,137488,14 +176318.5,0.0,137488,14 +168993.4,0.0,137488,14 +175528.4,0.0,137488,14 +172483.1,0.0,137488,14 +1.3771325e6,0.0,137488,14 +175508.8,0.0,137488,14 +173972.1,0.0,137488,14 +172025.1,0.0,137488,14 +171747.5,0.0,137488,14 +171382.7,0.0,137488,14 +171301.6,0.0,137488,14 +172823.1,0.0,137488,14 +168711.9,0.0,137488,14 +169818.6,0.0,137488,14 +170308.1,0.0,137488,14 +169413.4,0.0,137488,14 +171773.7,0.0,137488,14 +170029.8,0.0,137488,14 +157860.2,0.0,137488,14 +152650.9,0.0,137488,14 +154167.1,0.0,137488,14 +159172.6,0.0,137488,14 +152582.9,0.0,137488,14 +153275.7,0.0,137488,14 +155410.1,0.0,137488,14 +155901.8,0.0,137488,14 +581611.0,394378.8,137488,14 +1.5261006e6,0.0,137488,14 +173458.5,0.0,137488,14 +172526.7,0.0,137488,14 +176347.3,0.0,137488,14 +173680.4,0.0,137488,14 +176350.6,0.0,137488,14 +176190.6,0.0,137488,14 +175220.4,0.0,137488,14 +171131.8,0.0,137488,14 +1.7794398e6,0.0,137488,14 +175937.4,0.0,137488,14 +177394.0,0.0,137488,14 +174879.9,0.0,137488,14 +176795.0,0.0,137488,14 +178753.4,0.0,137488,14 +174272.7,0.0,137488,14 +176514.7,0.0,137488,14 +172207.7,0.0,137488,14 +1.8212276e6,0.0,137488,14 +273089.5,0.0,137488,14 +281217.9,0.0,137488,14 +282526.3,0.0,137488,14 +1.884812e6,0.0,137488,14 +278848.9,0.0,137488,14 +281116.8,0.0,137488,14 +296482.6,0.0,137488,14 +274654.3,0.0,137488,14 +279055.0,0.0,137488,14 +1.8849657e6,0.0,137488,14 +274159.5,0.0,137488,14 +272246.3,0.0,137488,14 +274108.2,0.0,137488,14 +2.8062314e6,164742.3,137488,14 +168441.6,0.0,137488,14 +167319.5,0.0,137488,14 +166117.2,0.0,137488,14 +170028.8,0.0,137488,14 +166783.0,0.0,137488,14 +174138.8,0.0,137488,14 +2.5799298e6,0.0,137488,14 +168986.9,0.0,137488,14 +170633.8,0.0,137488,14 +173681.7,0.0,137488,14 +173518.6,0.0,137488,14 +169866.1,0.0,137488,14 +167781.9,0.0,137488,14 +167934.5,0.0,137488,14 +166091.4,0.0,137488,14 +1.7732347e6,0.0,137488,14 +171162.4,0.0,137488,14 +172438.2,0.0,137488,14 +171039.6,0.0,137488,14 +167439.9,0.0,137488,14 +167453.4,0.0,137488,14 +167631.9,0.0,137488,14 +2.5703573e6,0.0,137488,14 +167288.1,0.0,137488,14 +170796.7,0.0,137488,14 +167705.6,0.0,137488,14 +166658.3,0.0,137488,14 +170264.8,0.0,137488,14 +165451.9,0.0,137488,14 +1.401713e6,0.0,137488,14 +156869.3,0.0,137488,14 +156362.3,0.0,137488,14 +340706.0,151465.0,137488,14 +161549.1,0.0,137488,14 +159168.6,0.0,137488,14 +159223.0,0.0,137488,14 +156747.0,0.0,137488,14 +160078.2,0.0,137488,14 +1.3663557e6,0.0,137488,14 +162372.1,0.0,137488,14 +161162.0,0.0,137488,14 +152366.8,0.0,137488,14 +156683.9,0.0,137488,14 +160995.9,0.0,137488,14 +156221.1,0.0,137488,14 +161063.2,0.0,137488,14 +159738.1,0.0,137488,14 +156065.7,0.0,137488,14 +1.7651425e6,0.0,137488,14 +157564.9,0.0,137488,14 +163474.6,0.0,137488,14 +156075.7,0.0,137488,14 +157653.4,0.0,137488,14 +157588.3,0.0,137488,14 +154366.2,0.0,137488,14 +156690.8,0.0,137488,14 +154908.0,0.0,137488,14 +155024.0,0.0,137488,14 +1.7588411e6,0.0,137488,14 +154097.8,0.0,137488,14 +155942.7,0.0,137488,14 +155381.8,0.0,137488,14 +155459.0,0.0,137488,14 +155578.0,0.0,137488,14 +156356.3,0.0,137488,14 +155956.0,0.0,137488,14 +333457.0,148712.0,137488,14 +1.7658405e6,0.0,137488,14 +155593.5,0.0,137488,14 +158109.7,0.0,137488,14 +158478.3,0.0,137488,14 +156396.8,0.0,137488,14 +163330.4,0.0,137488,14 +159725.9,0.0,137488,14 +156264.8,0.0,137488,14 +153624.6,0.0,137488,14 +157936.7,0.0,137488,14 +1.7657794e6,0.0,137488,14 +157992.8,0.0,137488,14 +158412.9,0.0,137488,14 +159054.8,0.0,137488,14 +158984.8,0.0,137488,14 +159087.9,0.0,137488,14 +159770.2,0.0,137488,14 +157879.2,0.0,137488,14 +155538.2,0.0,137488,14 +152696.1,0.0,137488,14 +1.7590659e6,0.0,137488,14 +152564.9,0.0,137488,14 +152271.7,0.0,137488,14 +155736.1,0.0,137488,14 +156389.4,0.0,137488,14 +156980.8,0.0,137488,14 +153578.9,0.0,137488,14 +152849.5,0.0,137488,14 +156799.9,0.0,137488,14 +153957.9,0.0,137488,14 +1.7604689e6,0.0,137488,14 +154304.7,0.0,137488,14 +540702.3,358267.7,137488,14 +162666.6,0.0,137488,14 +156332.6,0.0,137488,14 +157257.9,0.0,137488,14 +157127.9,0.0,137488,14 +154818.4,0.0,137488,14 +1.7631081e6,0.0,137488,14 +163255.8,0.0,137488,14 +158277.3,0.0,137488,14 +153839.1,0.0,137488,14 +158781.6,0.0,137488,14 +159197.2,0.0,137488,14 +159166.5,0.0,137488,14 +162834.2,0.0,137488,14 +156838.2,0.0,137488,14 +160052.0,0.0,137488,14 +158270.4,0.0,137488,14 +157463.0,0.0,137488,14 +159252.2,0.0,137488,14 +156258.4,0.0,137488,14 +262153.8,0.0,137488,14 +266772.9,0.0,137488,14 +270178.8,0.0,137488,14 +268950.6,0.0,137488,14 +269810.1,0.0,137488,14 +268741.7,0.0,137488,14 +272800.1,0.0,137488,14 +271339.4,0.0,137488,14 +272714.7,0.0,137488,14 +272553.5,0.0,137488,14 +270124.2,0.0,137488,14 +285548.4,0.0,137488,14 +270918.5,0.0,137488,14 +424620.1,148378.0,137488,14 +157352.8,0.0,137488,14 +164182.4,0.0,137488,14 +155400.8,0.0,137488,14 +153990.7,0.0,137488,14 +161019.0,0.0,137488,14 +157910.9,0.0,137488,14 +166814.4,0.0,137488,14 +159026.1,0.0,137488,14 +156199.6,0.0,137488,14 +157392.1,0.0,137488,14 +159454.5,0.0,137488,14 +2.164662e6,0.0,137488,14 +165991.5,0.0,137488,14 +160324.0,0.0,137488,14 +165478.1,0.0,137488,14 +165289.5,0.0,137488,14 +163221.5,0.0,137488,14 +163166.2,0.0,137488,14 +162096.9,0.0,137488,14 +163586.4,0.0,137488,14 +158729.1,0.0,137488,14 +1.7651596e6,0.0,137488,14 +159114.9,0.0,137488,14 +160980.2,0.0,137488,14 +160235.9,0.0,137488,14 +160036.8,0.0,137488,14 +162234.9,0.0,137488,14 +158457.7,0.0,137488,14 +159952.7,0.0,137488,14 +162003.2,0.0,137488,14 +161045.2,0.0,137488,14 +2.9694713e6,0.0,137488,14 +165798.1,0.0,137488,14 +352160.3,153140.2,137488,14 +173887.9,0.0,137488,14 +164505.7,0.0,137488,14 +165964.5,0.0,137488,14 +170920.1,0.0,137488,14 +163695.6,0.0,137488,14 +1.7732807e6,0.0,137488,14 +169209.4,0.0,137488,14 +165151.0,0.0,137488,14 +167864.7,0.0,137488,14 +170189.1,0.0,137488,14 +172482.3,0.0,137488,14 +167866.8,0.0,137488,14 +166837.8,0.0,137488,14 +167147.0,0.0,137488,14 +165879.3,0.0,137488,14 +1.7699943e6,0.0,137488,14 +163903.4,0.0,137488,14 +171720.3,0.0,137488,14 +169910.1,0.0,137488,14 +166699.7,0.0,137488,14 +163719.0,0.0,137488,14 +161899.4,0.0,137488,14 +166318.8,0.0,137488,14 +165189.0,0.0,137488,14 +1.7696033e6,0.0,137488,14 +162390.3,0.0,137488,14 +163684.2,0.0,137488,14 +166802.3,0.0,137488,14 +166433.6,0.0,137488,14 +166369.2,0.0,137488,14 +165007.3,0.0,137488,14 +167200.8,0.0,137488,14 +345527.5,152971.0,137488,14 +1.7715819e6,0.0,137488,14 +165117.3,0.0,137488,14 +168793.5,0.0,137488,14 +169935.7,0.0,137488,14 +170285.4,0.0,137488,14 +169628.3,0.0,137488,14 +172720.7,0.0,137488,14 +169679.0,0.0,137488,14 +167268.1,0.0,137488,14 +1.7750023e6,0.0,137488,14 +170335.1,0.0,137488,14 +169331.5,0.0,137488,14 +172467.5,0.0,137488,14 +167325.8,0.0,137488,14 +168954.1,0.0,137488,14 +168271.8,0.0,137488,14 +170828.3,0.0,137488,14 +167405.0,0.0,137488,14 +2.1723811e6,0.0,137488,14 +168478.4,0.0,137488,14 +165437.0,0.0,137488,14 +166746.0,0.0,137488,14 +163867.7,0.0,137488,14 +167715.3,0.0,137488,14 +165096.5,0.0,137488,14 +166961.3,0.0,137488,14 +165538.5,0.0,137488,14 +165243.1,0.0,137488,14 +1.769476e6,0.0,137488,14 +163358.9,0.0,137488,14 +165718.0,0.0,137488,14 +166467.9,0.0,137488,14 +572522.3,377869.4,137488,14 +172071.3,0.0,137488,14 +173991.0,0.0,137488,14 +1.7746741e6,0.0,137488,14 +167752.9,0.0,137488,14 +172215.5,0.0,137488,14 +169891.0,0.0,137488,14 +174772.6,0.0,137488,14 +169885.1,0.0,137488,14 +166098.7,0.0,137488,14 +169380.3,0.0,137488,14 +169891.1,0.0,137488,14 +1.7746976e6,0.0,137488,14 +173190.9,0.0,137488,14 +164631.5,0.0,137488,14 +172778.6,0.0,137488,14 +171056.9,0.0,137488,14 +169763.6,0.0,137488,14 +168940.5,0.0,137488,14 +168768.6,0.0,137488,14 +225601.4,0.0,137488,14 +1.8912411e6,0.0,137488,14 +276543.3,0.0,137488,14 +274866.5,0.0,137488,14 +277306.8,0.0,137488,14 +276550.1,0.0,137488,14 +276463.8,0.0,137488,14 +1.8800232e6,0.0,137488,14 +275177.4,0.0,137488,14 +273963.3,0.0,137488,14 +276858.9,0.0,137488,14 +276096.0,0.0,137488,14 +1.8791187e6,0.0,137488,14 +270673.8,0.0,137488,14 +374816.4,153426.9,137488,14 +170668.3,0.0,137488,14 +164927.3,0.0,137488,14 +163908.9,0.0,137488,14 +170211.3,0.0,137488,14 +165649.5,0.0,137488,14 +1.7756894e6,0.0,137488,14 +171199.6,0.0,137488,14 +165153.4,0.0,137488,14 +162227.1,0.0,137488,14 +165905.9,0.0,137488,14 +165569.8,0.0,137488,14 +167613.9,0.0,137488,14 +2.1612166e6,0.0,137488,14 +282418.1,0.0,137488,14 +265356.6,0.0,137488,14 +263928.6,0.0,137488,14 +252718.4,0.0,137488,14 +259142.9,0.0,137488,14 +1.8570956e6,0.0,137488,14 +239747.8,0.0,137488,14 +240895.8,0.0,137488,14 +241958.1,0.0,137488,14 +242054.0,0.0,137488,14 +241184.0,0.0,137488,14 +239753.5,0.0,137488,14 +1.8447247e6,0.0,137488,14 +241285.3,0.0,137488,14 +243426.7,0.0,137488,14 +241214.6,0.0,137488,14 +243789.3,0.0,137488,14 +240949.4,0.0,137488,14 +1.8463279e6,0.0,137488,14 +1.3549874e6,1.0873731e6,137488,14 +1.2671238e6,0.0,137488,14 +226624.7,0.0,137488,14 +220144.1,0.0,137488,14 +222503.8,0.0,137488,14 +221506.2,0.0,137488,14 +226565.7,0.0,137488,14 +225425.6,0.0,137488,14 +1.0313139e6,0.0,137488,14 +214877.3,0.0,137488,14 +214901.2,0.0,137488,14 +216156.0,0.0,137488,14 +218671.1,0.0,137488,14 +207217.9,0.0,137488,14 +173677.0,0.0,137488,14 +164604.4,0.0,137488,14 +159933.6,0.0,137488,14 +161486.1,0.0,137488,14 +161149.7,0.0,137488,14 +160250.8,0.0,137488,14 +157957.6,0.0,137488,14 +155373.6,0.0,137488,14 +157207.9,0.0,137488,14 +160593.9,0.0,137488,14 +155659.0,0.0,137488,14 +158745.7,0.0,137488,14 +157445.9,0.0,137488,14 +156518.9,0.0,137488,14 +156959.6,0.0,137488,14 +156610.7,0.0,137488,14 +158682.3,0.0,137488,14 +157632.1,0.0,137488,14 +114174.9,0.0,137488,14 +245320.0,128475.4,137488,14 +93578.5,0.0,137488,14 +94578.4,0.0,137488,14 +93853.1,0.0,137488,14 +91448.5,0.0,137488,14 +93135.3,0.0,137488,14 +91087.1,0.0,137488,14 +95543.1,0.0,137488,14 +94659.4,0.0,137488,14 +88056.2,0.0,137488,14 +89634.1,0.0,137488,14 +90817.1,0.0,137488,14 +92620.2,0.0,137488,14 +91955.1,0.0,137488,14 +88551.9,0.0,137488,14 +91268.5,0.0,137488,14 +92044.2,0.0,137488,14 +88917.1,0.0,137488,14 +91728.8,0.0,137488,14 +91437.2,0.0,137488,14 +89365.7,0.0,137488,14 +89054.2,0.0,137488,14 +87753.1,0.0,137488,14 +87713.1,0.0,137488,14 +87046.0,0.0,137488,14 +89482.3,0.0,137488,14 +87335.3,0.0,137488,14 +87586.6,0.0,137488,14 +87028.3,0.0,137488,14 +87852.0,0.0,137488,14 +90069.3,0.0,137488,14 +86830.3,0.0,137488,14 +87675.9,0.0,137488,14 +87531.8,0.0,137488,14 +339248.1,231875.7,137488,14 +91969.6,0.0,137488,14 +92459.1,0.0,137488,14 +89597.4,0.0,137488,14 +92488.9,0.0,137488,14 +90813.5,0.0,137488,14 +92359.7,0.0,137488,14 +93231.7,0.0,137488,14 +89234.7,0.0,137488,14 +88584.3,0.0,137488,14 +90390.9,0.0,137488,14 +90917.6,0.0,137488,14 +91014.9,0.0,137488,14 +90971.3,0.0,137488,14 +90152.5,0.0,137488,14 +91385.3,0.0,137488,14 +88725.5,0.0,137488,14 +89469.9,0.0,137488,14 +90390.7,0.0,137488,14 +97688.8,0.0,137488,14 +160861.5,0.0,137488,14 +164675.9,0.0,137488,14 +268323.2,0.0,137488,14 +282362.9,0.0,137488,14 +274520.6,0.0,137488,14 +275990.3,0.0,137488,14 +286564.0,0.0,137488,14 +275355.9,0.0,137488,14 +283285.0,0.0,137488,14 +275401.4,0.0,137488,14 +277706.7,0.0,137488,14 +270419.5,0.0,137488,14 +272526.8,0.0,137488,14 +417740.6,148389.7,137488,14 +159160.2,0.0,137488,14 +159830.7,0.0,137488,14 +157334.0,0.0,137488,14 +157224.7,0.0,137488,14 +161186.4,0.0,137488,14 +158820.8,0.0,137488,14 +164028.1,0.0,137488,14 +160949.8,0.0,137488,14 +156144.3,0.0,137488,14 +158817.9,0.0,137488,14 +158065.4,0.0,137488,14 +159552.3,0.0,137488,14 +162264.0,0.0,137488,14 +160032.1,0.0,137488,14 +158224.6,0.0,137488,14 +159202.1,0.0,137488,14 +159260.4,0.0,137488,14 +159842.4,0.0,137488,14 +160344.0,0.0,137488,14 +157194.2,0.0,137488,14 +156761.0,0.0,137488,14 +156351.2,0.0,137488,14 +157169.0,0.0,137488,14 +158267.0,0.0,137488,14 +156677.3,0.0,137488,14 +155732.1,0.0,137488,14 +156941.3,0.0,137488,14 +156377.2,0.0,137488,14 +157878.6,0.0,137488,14 +155571.3,0.0,137488,14 +155492.6,0.0,137488,14 +156218.8,0.0,137488,14 +157664.9,0.0,137488,14 +338260.5,149777.9,137488,14 +162496.9,0.0,137488,14 +159907.3,0.0,137488,14 +157792.1,0.0,137488,14 +163245.4,0.0,137488,14 +157084.9,0.0,137488,14 +160283.4,0.0,137488,14 +161572.1,0.0,137488,14 +154848.2,0.0,137488,14 +159070.9,0.0,137488,14 +157456.4,0.0,137488,14 +160616.3,0.0,137488,14 +160905.9,0.0,137488,14 +155794.9,0.0,137488,14 +159535.2,0.0,137488,14 +162419.9,0.0,137488,14 +159365.1,0.0,137488,14 +161174.4,0.0,137488,14 +158703.4,0.0,137488,14 +158007.9,0.0,137488,14 +154074.6,0.0,137488,14 +156418.9,0.0,137488,14 +156181.2,0.0,137488,14 +155392.5,0.0,137488,14 +156249.9,0.0,137488,14 +155787.5,0.0,137488,14 +155118.6,0.0,137488,14 +160406.9,0.0,137488,14 +157499.0,0.0,137488,14 +158227.6,0.0,137488,14 +155693.3,0.0,137488,14 +156316.1,0.0,137488,14 +156121.8,0.0,137488,14 +333770.9,147789.7,137488,14 +162131.3,0.0,137488,14 +156591.8,0.0,137488,14 +159807.2,0.0,137488,14 +157371.6,0.0,137488,14 +160134.7,0.0,137488,14 +161155.5,0.0,137488,14 +161892.8,0.0,137488,14 +158355.9,0.0,137488,14 +156243.0,0.0,137488,14 +160520.8,0.0,137488,14 +159796.8,0.0,137488,14 +158565.0,0.0,137488,14 +159572.7,0.0,137488,14 +158531.9,0.0,137488,14 +161633.3,0.0,137488,14 +160015.3,0.0,137488,14 +160489.7,0.0,137488,14 +160293.9,0.0,137488,14 +162234.7,0.0,137488,14 +156692.7,0.0,137488,14 +156927.1,0.0,137488,14 +155410.8,0.0,137488,14 +157318.7,0.0,137488,14 +156481.0,0.0,137488,14 +157965.0,0.0,137488,14 +154854.9,0.0,137488,14 +156052.9,0.0,137488,14 +154973.9,0.0,137488,14 +156275.8,0.0,137488,14 +155319.4,0.0,137488,14 +157889.0,0.0,137488,14 +155321.8,0.0,137488,14 +575939.8,387808.0,137488,14 +161040.8,0.0,137488,14 +160637.9,0.0,137488,14 +159169.2,0.0,137488,14 +158179.9,0.0,137488,14 +160593.8,0.0,137488,14 +155024.9,0.0,137488,14 +161491.7,0.0,137488,14 +160563.3,0.0,137488,14 +154568.6,0.0,137488,14 +159578.9,0.0,137488,14 +156830.3,0.0,137488,14 +157126.6,0.0,137488,14 +159754.7,0.0,137488,14 +155889.1,0.0,137488,14 +161821.7,0.0,137488,14 +159697.8,0.0,137488,14 +158865.6,0.0,137488,14 +160098.9,0.0,137488,14 +157333.8,0.0,137488,14 +228053.7,0.0,137488,14 +267335.4,0.0,137488,14 +267512.0,0.0,137488,14 +270010.6,0.0,137488,14 +271862.2,0.0,137488,14 +272285.8,0.0,137488,14 +270087.9,0.0,137488,14 +270566.6,0.0,137488,14 +272937.8,0.0,137488,14 +271496.2,0.0,137488,14 +271681.2,0.0,137488,14 +270413.4,0.0,137488,14 +271052.6,0.0,137488,14 +274239.6,0.0,137488,14 +504816.1,301721.8,137488,14 +160301.6,0.0,137488,14 +156824.0,0.0,137488,14 +156212.3,0.0,137488,14 +161965.1,0.0,137488,14 +159182.4,0.0,137488,14 +162614.9,0.0,137488,14 +160699.7,0.0,137488,14 +154808.0,0.0,137488,14 +154766.2,0.0,137488,14 +158297.1,0.0,137488,14 +159710.0,0.0,137488,14 +161150.8,0.0,137488,14 +157530.6,0.0,137488,14 +160335.3,0.0,137488,14 +157903.9,0.0,137488,14 +158036.0,0.0,137488,14 +162856.3,0.0,137488,14 +158320.8,0.0,137488,14 +158202.8,0.0,137488,14 +154527.4,0.0,137488,14 +157001.3,0.0,137488,14 +181522.0,0.0,137488,14 +266854.0,0.0,137488,14 +268716.8,0.0,137488,14 +269040.9,0.0,137488,14 +268889.3,0.0,137488,14 +269870.5,0.0,137488,14 +271350.3,0.0,137488,14 +272079.1,0.0,137488,14 +268547.0,0.0,137488,14 +277785.4,0.0,137488,14 +275019.5,0.0,137488,14 +389977.0,145673.8,137488,14 +162206.6,0.0,137488,14 +160130.2,0.0,137488,14 +159536.6,0.0,137488,14 +157945.6,0.0,137488,14 +161062.3,0.0,137488,14 +158340.9,0.0,137488,14 +162930.6,0.0,137488,14 +535529.9,0.0,137488,14 +156678.7,0.0,137488,14 +159589.9,0.0,137488,14 +159982.0,0.0,137488,14 +160050.8,0.0,137488,14 +164375.8,0.0,137488,14 +159472.5,0.0,137488,14 +165155.3,0.0,137488,14 +161535.1,0.0,137488,14 +162972.7,0.0,137488,14 +163575.0,0.0,137488,14 +161498.8,0.0,137488,14 +162204.2,0.0,137488,14 +160150.0,0.0,137488,14 +159142.4,0.0,137488,14 +160654.8,0.0,137488,14 +158833.5,0.0,137488,14 +161331.1,0.0,137488,14 +158404.5,0.0,137488,14 +158559.2,0.0,137488,14 +161060.1,0.0,137488,14 +157312.4,0.0,137488,14 +161697.0,0.0,137488,14 +161143.0,0.0,137488,14 +161392.3,0.0,137488,14 +1.6185693e6,1.418043e6,137488,14 +165253.8,0.0,137488,14 +167080.8,0.0,137488,14 +163067.5,0.0,137488,14 +160118.1,0.0,137488,14 +165242.4,0.0,137488,14 +160827.0,0.0,137488,14 +166274.0,0.0,137488,14 +165541.2,0.0,137488,14 +160798.9,0.0,137488,14 +166451.0,0.0,137488,14 +166042.5,0.0,137488,14 +165859.0,0.0,137488,14 +168146.8,0.0,137488,14 +158907.2,0.0,137488,14 +164856.3,0.0,137488,14 +160230.6,0.0,137488,14 +160475.4,0.0,137488,14 +163921.0,0.0,137488,14 +162438.5,0.0,137488,14 +165414.5,0.0,137488,14 +163850.8,0.0,137488,14 +1.7671618e6,0.0,137488,14 +157649.0,0.0,137488,14 +156294.9,0.0,137488,14 +159367.1,0.0,137488,14 +157823.7,0.0,137488,14 +161094.0,0.0,137488,14 +161414.9,0.0,137488,14 +161735.5,0.0,137488,14 +163626.6,0.0,137488,14 +163306.3,0.0,137488,14 +1.7690204e6,0.0,137488,14 +157932.3,0.0,137488,14 +349041.3,161248.4,137488,14 +163434.5,0.0,137488,14 +162907.4,0.0,137488,14 +163053.1,0.0,137488,14 +169204.6,0.0,137488,14 +166831.3,0.0,137488,14 +171273.7,0.0,137488,14 +1.7753537e6,0.0,137488,14 +159842.9,0.0,137488,14 +160033.3,0.0,137488,14 +163074.5,0.0,137488,14 +162945.7,0.0,137488,14 +170992.1,0.0,137488,14 +164983.1,0.0,137488,14 +170702.5,0.0,137488,14 +175527.1,0.0,137488,14 +1.7738656e6,0.0,137488,14 +160519.4,0.0,137488,14 +165252.7,0.0,137488,14 +163225.6,0.0,137488,14 +160897.6,0.0,137488,14 +164615.9,0.0,137488,14 +166088.2,0.0,137488,14 +165642.1,0.0,137488,14 +170131.5,0.0,137488,14 +171275.9,0.0,137488,14 +165138.7,0.0,137488,14 +159305.4,0.0,137488,14 +161341.0,0.0,137488,14 +159610.3,0.0,137488,14 +159931.4,0.0,137488,14 +167428.9,0.0,137488,14 +167746.5,0.0,137488,14 +587424.0,392574.0,137488,14 +164607.2,0.0,137488,14 +163522.7,0.0,137488,14 +162354.5,0.0,137488,14 +160993.7,0.0,137488,14 +168041.0,0.0,137488,14 +170528.1,0.0,137488,14 +171928.4,0.0,137488,14 +172360.4,0.0,137488,14 +167117.8,0.0,137488,14 +166764.4,0.0,137488,14 +163538.5,0.0,137488,14 +162720.5,0.0,137488,14 +166599.6,0.0,137488,14 +163689.4,0.0,137488,14 +169911.3,0.0,137488,14 +169878.1,0.0,137488,14 +173937.9,0.0,137488,14 +171795.6,0.0,137488,14 +1.7758816e6,0.0,137488,14 +255582.8,0.0,137488,14 +272256.8,0.0,137488,14 +275080.9,0.0,137488,14 +278181.2,0.0,137488,14 +279236.9,0.0,137488,14 +1.8832682e6,0.0,137488,14 +275361.7,0.0,137488,14 +272465.3,0.0,137488,14 +278715.1,0.0,137488,14 +278827.3,0.0,137488,14 +279413.0,0.0,137488,14 +1.8836174e6,0.0,137488,14 +276694.3,0.0,137488,14 +454593.1,152508.9,137488,14 +169444.3,0.0,137488,14 +174092.1,0.0,137488,14 +170129.3,0.0,137488,14 +2.5750862e6,0.0,137488,14 +176807.3,0.0,137488,14 +169723.9,0.0,137488,14 +177421.4,0.0,137488,14 +178264.9,0.0,137488,14 +171872.2,0.0,137488,14 +169945.0,0.0,137488,14 +173542.3,0.0,137488,14 +167753.4,0.0,137488,14 +168982.9,0.0,137488,14 +1.7765565e6,0.0,137488,14 +179185.5,0.0,137488,14 +179592.4,0.0,137488,14 +173437.7,0.0,137488,14 +177628.1,0.0,137488,14 +174293.2,0.0,137488,14 +172374.2,0.0,137488,14 +162613.7,0.0,137488,14 +164541.6,0.0,137488,14 +1.7766202e6,0.0,137488,14 +174478.1,0.0,137488,14 +175182.3,0.0,137488,14 +172732.2,0.0,137488,14 +172927.1,0.0,137488,14 +170101.6,0.0,137488,14 +169998.2,0.0,137488,14 +163157.7,0.0,137488,14 +162034.4,0.0,137488,14 +1.7716793e6,0.0,137488,14 +171523.8,0.0,137488,14 +357010.9,152706.2,137488,14 +177385.5,0.0,137488,14 +176996.6,0.0,137488,14 +174410.6,0.0,137488,14 +170740.7,0.0,137488,14 +164303.1,0.0,137488,14 +1.7732369e6,0.0,137488,14 +176677.8,0.0,137488,14 +172920.6,0.0,137488,14 +173150.0,0.0,137488,14 +177119.4,0.0,137488,14 +188676.9,0.0,137488,14 +177013.6,0.0,137488,14 +175844.3,0.0,137488,14 +172535.2,0.0,137488,14 +174088.5,0.0,137488,14 +172433.0,0.0,137488,14 +169842.0,0.0,137488,14 +174359.9,0.0,137488,14 +173702.0,0.0,137488,14 +1.7738612e6,0.0,137488,14 +168398.0,0.0,137488,14 +169904.9,0.0,137488,14 +169852.2,0.0,137488,14 +170948.1,0.0,137488,14 +167865.1,0.0,137488,14 +167696.7,0.0,137488,14 +168896.1,0.0,137488,14 +167276.1,0.0,137488,14 +1.7713449e6,0.0,137488,14 +163431.4,0.0,137488,14 +164376.4,0.0,137488,14 +165682.6,0.0,137488,14 +349309.5,153843.8,137488,14 +168958.8,0.0,137488,14 +172180.9,0.0,137488,14 +168303.0,0.0,137488,14 +167730.7,0.0,137488,14 +1.7766203e6,0.0,137488,14 +168595.9,0.0,137488,14 +174938.0,0.0,137488,14 +169863.7,0.0,137488,14 +167458.7,0.0,137488,14 +168493.0,0.0,137488,14 +169959.2,0.0,137488,14 +169031.9,0.0,137488,14 +172933.3,0.0,137488,14 +173008.2,0.0,137488,14 +158254.8,0.0,137488,14 +162129.4,0.0,137488,14 +161220.1,0.0,137488,14 +160716.0,0.0,137488,14 +164366.0,0.0,137488,14 +159352.8,0.0,137488,14 +166864.1,0.0,137488,14 +158263.6,0.0,137488,14 +156008.2,0.0,137488,14 +160116.6,0.0,137488,14 +157968.3,0.0,137488,14 +162459.5,0.0,137488,14 +158073.6,0.0,137488,14 +160888.7,0.0,137488,14 +160362.6,0.0,137488,14 +161725.8,0.0,137488,14 +160733.9,0.0,137488,14 +158532.2,0.0,137488,14 +161569.3,0.0,137488,14 +564562.7,374333.7,137488,14 +162794.0,0.0,137488,14 +161177.8,0.0,137488,14 diff --git a/perf/PatternFolds/output/cf98ea1a-05ae-56dc-97a4-f82dad344158.csv b/perf/PatternFolds/output/cf98ea1a-05ae-56dc-97a4-f82dad344158.csv new file mode 100644 index 0000000..0edef74 --- /dev/null +++ b/perf/PatternFolds/output/cf98ea1a-05ae-56dc-97a4-f82dad344158.csv @@ -0,0 +1,5 @@ +bytes,percentage,filenames,linenumbers +80160,83.17,/home/baffier/.julia/packages/PatternFolds/HtkqG/src/vector.jl,19 +16128,16.73,/home/baffier/.julia/packages/PatternFolds/HtkqG/src/vector.jl,85 +48,0.05,/home/baffier/.julia/packages/PatternFolds/HtkqG/src/intervals.jl,32 +48,0.05,/home/baffier/.julia/packages/PatternFolds/HtkqG/src/common.jl,100 diff --git a/perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv b/perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv index dfb4a78..7204950 100644 --- a/perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv +++ b/perf/PatternFolds/output/d330e5c6-3fb0-596f-962a-b1baa7fb5cdf.csv @@ -1,1654 +1,1001 @@ times,gctimes,bytes,allocs -0.00022949000000000003,0.0,137488.0,14.0 -0.00024871400000000003,0.0,137488.0,14.0 -0.000187211,0.0,137488.0,14.0 -0.000177354,0.0,137488.0,14.0 -0.00021998400000000003,0.0,137488.0,14.0 -0.00021004000000000002,0.0,137488.0,14.0 -0.000236409,0.0,137488.0,14.0 -0.00020646100000000001,0.0,137488.0,14.0 -0.000234937,0.0,137488.0,14.0 -0.000249993,0.0,137488.0,14.0 -0.000224319,0.0,137488.0,14.0 -0.00021045200000000002,0.0,137488.0,14.0 -0.000186533,0.0,137488.0,14.0 -0.00017786900000000001,0.0,137488.0,14.0 -0.000180175,0.0,137488.0,14.0 -0.000198678,0.0,137488.0,14.0 -0.000251205,0.0,137488.0,14.0 -0.000230876,0.0,137488.0,14.0 -0.00023474700000000002,0.0,137488.0,14.0 -0.000233553,0.0,137488.0,14.0 -0.00019468,0.0,137488.0,14.0 -0.000214498,0.0,137488.0,14.0 -0.000229298,0.0,137488.0,14.0 -0.00016515,0.0,137488.0,14.0 -0.00021765,0.0,137488.0,14.0 -0.00024242000000000003,0.0,137488.0,14.0 -0.00023343200000000002,0.0,137488.0,14.0 -0.00022924900000000003,0.0,137488.0,14.0 -0.00023066900000000002,0.0,137488.0,14.0 -0.00023716,0.0,137488.0,14.0 -0.00023722900000000002,0.0,137488.0,14.0 -0.000187003,0.0,137488.0,14.0 -0.000223992,0.0,137488.0,14.0 -0.000244367,0.0,137488.0,14.0 -0.00024223400000000003,0.0,137488.0,14.0 -0.00023991300000000002,0.0,137488.0,14.0 -0.000246014,0.0,137488.0,14.0 -0.00024333700000000002,0.0,137488.0,14.0 -0.00023536000000000002,0.0,137488.0,14.0 -0.00023298900000000002,0.0,137488.0,14.0 -0.00023648700000000001,0.0,137488.0,14.0 -0.00023267,0.0,137488.0,14.0 -0.00020224700000000002,0.0,137488.0,14.0 -0.00021910700000000001,0.0,137488.0,14.0 -0.000243338,0.0,137488.0,14.0 -0.00023856500000000002,0.0,137488.0,14.0 -0.00024113700000000002,0.0,137488.0,14.0 -0.00024336500000000003,0.0,137488.0,14.0 -0.00024989,0.0,137488.0,14.0 -0.000264396,0.0,137488.0,14.0 -0.000247755,0.0,137488.0,14.0 -0.00024128900000000003,0.0,137488.0,14.0 -0.000249087,0.0,137488.0,14.0 -0.00025055600000000003,0.0,137488.0,14.0 -0.00024678300000000004,0.0,137488.0,14.0 -0.000246778,0.0,137488.0,14.0 -0.000240301,0.0,137488.0,14.0 -0.000251088,0.0,137488.0,14.0 -0.00025525600000000004,0.0,137488.0,14.0 -0.00025695300000000003,0.0,137488.0,14.0 -0.000248651,0.0,137488.0,14.0 -0.00024270500000000001,0.0,137488.0,14.0 -0.00024898,0.0,137488.0,14.0 -0.000251491,0.0,137488.0,14.0 -0.000243383,0.0,137488.0,14.0 -0.01629286,0.0,137488.0,14.0 -0.00025002900000000003,0.0,137488.0,14.0 -0.000249393,0.0,137488.0,14.0 -0.000242345,0.0,137488.0,14.0 -0.00022455100000000003,0.0,137488.0,14.0 -0.00022877200000000002,0.0,137488.0,14.0 -0.00020107800000000002,0.0,137488.0,14.0 -0.000195519,0.0,137488.0,14.0 -0.00019860600000000002,0.0,137488.0,14.0 -0.00023334,0.0,137488.0,14.0 -0.000246551,0.0,137488.0,14.0 -0.000238184,0.0,137488.0,14.0 -0.000243801,0.0,137488.0,14.0 -0.000237359,0.0,137488.0,14.0 -0.000241193,0.0,137488.0,14.0 -0.000249187,0.0,137488.0,14.0 -0.000222706,0.0,137488.0,14.0 -0.00027145800000000003,0.0,137488.0,14.0 -0.000242248,0.0,137488.0,14.0 -0.00024407200000000002,0.0,137488.0,14.0 -0.00023975800000000002,0.0,137488.0,14.0 -0.00023909400000000003,0.0,137488.0,14.0 -0.00023858100000000003,0.0,137488.0,14.0 -0.00024252,0.0,137488.0,14.0 -0.000240551,0.0,137488.0,14.0 -0.000239909,0.0,137488.0,14.0 -0.00023700900000000002,0.0,137488.0,14.0 -0.00024013200000000002,0.0,137488.0,14.0 -0.00023809000000000002,0.0,137488.0,14.0 -0.000236237,0.0,137488.0,14.0 -0.000241887,0.0,137488.0,14.0 -0.000229637,0.0,137488.0,14.0 -0.00024204600000000002,0.0,137488.0,14.0 -0.000177366,0.0,137488.0,14.0 -0.000259251,0.0,137488.0,14.0 -0.00023462300000000002,0.0,137488.0,14.0 -0.00024261800000000003,0.0,137488.0,14.0 -0.00025731800000000003,0.0,137488.0,14.0 -0.0002354,0.0,137488.0,14.0 -0.000244333,0.0,137488.0,14.0 -0.000234491,0.0,137488.0,14.0 -0.000231861,0.0,137488.0,14.0 -0.000248092,0.0,137488.0,14.0 -0.000245329,0.0,137488.0,14.0 -0.00023973900000000002,0.0,137488.0,14.0 -0.000240305,0.0,137488.0,14.0 -0.00024163800000000002,0.0,137488.0,14.0 -0.00023176400000000003,0.0,137488.0,14.0 -0.000228416,0.0,137488.0,14.0 -0.00022213400000000003,0.0,137488.0,14.0 -0.00025114500000000004,0.0,137488.0,14.0 -0.000245025,0.0,137488.0,14.0 -0.000251017,0.0,137488.0,14.0 -0.000245639,0.0,137488.0,14.0 -0.00020607600000000002,0.0,137488.0,14.0 -0.000201212,0.0,137488.0,14.0 -0.000254847,0.0,137488.0,14.0 -0.00023984,0.0,137488.0,14.0 -0.000240763,0.0,137488.0,14.0 -0.000211212,0.0,137488.0,14.0 -0.00019718,0.0,137488.0,14.0 -0.000234216,0.0,137488.0,14.0 -0.000250238,0.0,137488.0,14.0 -0.000239547,0.0,137488.0,14.0 -0.000244706,0.0,137488.0,14.0 -0.00024828400000000004,0.0,137488.0,14.0 -0.000251864,0.0,137488.0,14.0 -0.016294753000000002,0.0,137488.0,14.0 -0.000248455,0.0,137488.0,14.0 -0.00023581800000000002,0.0,137488.0,14.0 -0.000254053,0.0,137488.0,14.0 -0.000249641,0.0,137488.0,14.0 -0.00023626400000000003,0.0,137488.0,14.0 -0.00023399500000000003,0.0,137488.0,14.0 -0.00024423500000000004,0.0,137488.0,14.0 -0.00023326500000000002,0.0,137488.0,14.0 -0.000242388,0.0,137488.0,14.0 -0.00025175800000000004,0.0,137488.0,14.0 -0.000254398,0.0,137488.0,14.0 -0.000232847,0.0,137488.0,14.0 -0.000244701,0.0,137488.0,14.0 -0.00023874600000000002,0.0,137488.0,14.0 -0.000240179,0.0,137488.0,14.0 -0.077812818,0.9937315854567816,137488.0,14.0 -0.000172609,0.0,137488.0,14.0 -0.000166032,0.0,137488.0,14.0 -0.000168874,0.0,137488.0,14.0 -0.000168016,0.0,137488.0,14.0 -0.000166693,0.0,137488.0,14.0 -0.00017052200000000002,0.0,137488.0,14.0 -0.00017416500000000002,0.0,137488.0,14.0 -0.00017588300000000002,0.0,137488.0,14.0 -0.000173356,0.0,137488.0,14.0 -0.000171891,0.0,137488.0,14.0 -0.000163637,0.0,137488.0,14.0 -0.00016503,0.0,137488.0,14.0 -0.000171292,0.0,137488.0,14.0 -0.000195889,0.0,137488.0,14.0 -0.00017243100000000002,0.0,137488.0,14.0 -0.000160803,0.0,137488.0,14.0 -0.00016503600000000002,0.0,137488.0,14.0 -0.00016039300000000002,0.0,137488.0,14.0 -0.000160074,0.0,137488.0,14.0 -0.00016032900000000002,0.0,137488.0,14.0 -0.00016181300000000002,0.0,137488.0,14.0 -0.000166233,0.0,137488.0,14.0 -0.000172451,0.0,137488.0,14.0 -0.000171063,0.0,137488.0,14.0 -0.00016790700000000002,0.0,137488.0,14.0 -0.00017655600000000002,0.0,137488.0,14.0 -0.00017216,0.0,137488.0,14.0 -0.000164407,0.0,137488.0,14.0 -0.000167794,0.0,137488.0,14.0 -0.00016863200000000002,0.0,137488.0,14.0 -0.000171353,0.0,137488.0,14.0 -0.00016746,0.0,137488.0,14.0 -0.00016013800000000002,0.0,137488.0,14.0 -0.00015988500000000002,0.0,137488.0,14.0 -0.00016708400000000002,0.0,137488.0,14.0 -0.00016460900000000002,0.0,137488.0,14.0 -0.000163232,0.0,137488.0,14.0 -0.02420349,0.0,137488.0,14.0 -0.00017574500000000002,0.0,137488.0,14.0 -0.00016772800000000002,0.0,137488.0,14.0 -0.000159533,0.0,137488.0,14.0 -0.000162826,0.0,137488.0,14.0 -0.000175284,0.0,137488.0,14.0 -0.000169483,0.0,137488.0,14.0 -0.000176915,0.0,137488.0,14.0 -0.000171096,0.0,137488.0,14.0 -0.000166968,0.0,137488.0,14.0 -0.000164758,0.0,137488.0,14.0 -0.00015964400000000002,0.0,137488.0,14.0 -0.00016296,0.0,137488.0,14.0 -0.000162929,0.0,137488.0,14.0 -0.00016736500000000002,0.0,137488.0,14.0 -0.00015783500000000002,0.0,137488.0,14.0 -0.000162368,0.0,137488.0,14.0 -0.000154627,0.0,137488.0,14.0 -0.00016641800000000002,0.0,137488.0,14.0 -0.00016363,0.0,137488.0,14.0 -0.000173592,0.0,137488.0,14.0 -0.000158655,0.0,137488.0,14.0 -0.00016637500000000002,0.0,137488.0,14.0 -0.00015848900000000002,0.0,137488.0,14.0 -0.00017928600000000002,0.0,137488.0,14.0 -0.000162854,0.0,137488.0,14.0 -0.00016051500000000002,0.0,137488.0,14.0 -0.000159733,0.0,137488.0,14.0 -0.000165935,0.0,137488.0,14.0 -0.000160189,0.0,137488.0,14.0 -0.000167266,0.0,137488.0,14.0 -0.000164159,0.0,137488.0,14.0 -0.000170466,0.0,137488.0,14.0 -0.00018677,0.0,137488.0,14.0 -0.00016918600000000002,0.0,137488.0,14.0 -0.000160657,0.0,137488.0,14.0 -0.000167132,0.0,137488.0,14.0 -0.00016425400000000002,0.0,137488.0,14.0 -0.000177306,0.0,137488.0,14.0 -0.000170182,0.0,137488.0,14.0 -0.000159709,0.0,137488.0,14.0 -0.00015908300000000002,0.0,137488.0,14.0 -0.000158082,0.0,137488.0,14.0 -0.00016109200000000002,0.0,137488.0,14.0 -0.000162571,0.0,137488.0,14.0 -0.000164403,0.0,137488.0,14.0 -0.00016669700000000002,0.0,137488.0,14.0 -0.000166761,0.0,137488.0,14.0 -0.000185078,0.0,137488.0,14.0 -0.00016931500000000001,0.0,137488.0,14.0 -0.000163907,0.0,137488.0,14.0 -0.000180843,0.0,137488.0,14.0 -0.00016576400000000002,0.0,137488.0,14.0 -0.00016695500000000002,0.0,137488.0,14.0 -0.000162978,0.0,137488.0,14.0 -0.00016662100000000002,0.0,137488.0,14.0 -0.00016509100000000002,0.0,137488.0,14.0 -0.000167918,0.0,137488.0,14.0 -0.00016361700000000002,0.0,137488.0,14.0 -0.000164704,0.0,137488.0,14.0 -0.00016916900000000002,0.0,137488.0,14.0 -0.000170354,0.0,137488.0,14.0 -0.00016450700000000002,0.0,137488.0,14.0 -0.00016513,0.0,137488.0,14.0 -0.000174902,0.0,137488.0,14.0 -0.000174969,0.0,137488.0,14.0 -0.000169418,0.0,137488.0,14.0 -0.000163708,0.0,137488.0,14.0 -0.00016407500000000002,0.0,137488.0,14.0 -0.000173789,0.0,137488.0,14.0 -0.000175033,0.0,137488.0,14.0 -0.000186503,0.0,137488.0,14.0 -0.00016670200000000002,0.0,137488.0,14.0 -0.000172559,0.0,137488.0,14.0 -0.00016541,0.0,137488.0,14.0 -0.00016801700000000001,0.0,137488.0,14.0 -0.00017114500000000002,0.0,137488.0,14.0 -0.000167936,0.0,137488.0,14.0 -0.000164692,0.0,137488.0,14.0 -0.00016744600000000002,0.0,137488.0,14.0 -0.00017632000000000002,0.0,137488.0,14.0 -0.00017178,0.0,137488.0,14.0 -0.00017222600000000001,0.0,137488.0,14.0 -0.000163702,0.0,137488.0,14.0 -0.000168101,0.0,137488.0,14.0 -0.00017334200000000002,0.0,137488.0,14.0 -0.000167257,0.0,137488.0,14.0 -0.000167693,0.0,137488.0,14.0 -0.000172556,0.0,137488.0,14.0 -0.00016383600000000002,0.0,137488.0,14.0 -0.000162322,0.0,137488.0,14.0 -0.00019149800000000002,0.0,137488.0,14.0 -0.00017128100000000002,0.0,137488.0,14.0 -0.000162203,0.0,137488.0,14.0 -0.000171377,0.0,137488.0,14.0 -0.016213862000000002,0.0,137488.0,14.0 -0.000181112,0.0,137488.0,14.0 -0.00016703100000000002,0.0,137488.0,14.0 -0.00017806200000000002,0.0,137488.0,14.0 -0.00016796,0.0,137488.0,14.0 -0.00018452800000000002,0.0,137488.0,14.0 -0.00017826700000000002,0.0,137488.0,14.0 -0.000168242,0.0,137488.0,14.0 -0.00017067500000000002,0.0,137488.0,14.0 -0.00017847700000000002,0.0,137488.0,14.0 -0.000177132,0.0,137488.0,14.0 -0.00017096100000000002,0.0,137488.0,14.0 -0.000215011,0.0,137488.0,14.0 -0.00023884900000000002,0.0,137488.0,14.0 -0.00024272100000000002,0.0,137488.0,14.0 -0.000235543,0.0,137488.0,14.0 -0.000200019,0.0,137488.0,14.0 -0.00018220400000000002,0.0,137488.0,14.0 -0.00016526800000000002,0.0,137488.0,14.0 -0.000172024,0.0,137488.0,14.0 -0.000168676,0.0,137488.0,14.0 -0.000261042,0.0,137488.0,14.0 -0.00024059800000000002,0.0,137488.0,14.0 -0.00023810700000000002,0.0,137488.0,14.0 -0.00024174300000000002,0.0,137488.0,14.0 -0.000231157,0.0,137488.0,14.0 -0.00023841200000000002,0.0,137488.0,14.0 -0.00024836000000000004,0.0,137488.0,14.0 -0.000234743,0.0,137488.0,14.0 -0.00024555000000000003,0.0,137488.0,14.0 -0.000243016,0.0,137488.0,14.0 -0.000257126,0.0,137488.0,14.0 -0.00023633900000000002,0.0,137488.0,14.0 -0.000251756,0.0,137488.0,14.0 -0.000244389,0.0,137488.0,14.0 -0.00024234900000000002,0.0,137488.0,14.0 -0.000254291,0.0,137488.0,14.0 -0.000252173,0.0,137488.0,14.0 -0.00023706600000000002,0.0,137488.0,14.0 -0.000251687,0.0,137488.0,14.0 -0.00023457500000000002,0.0,137488.0,14.0 -0.00023923000000000003,0.0,137488.0,14.0 -0.000243557,0.0,137488.0,14.0 -0.00022057200000000002,0.0,137488.0,14.0 -0.00028930000000000004,0.0,137488.0,14.0 -0.00029016800000000004,0.0,137488.0,14.0 -0.000281306,0.0,137488.0,14.0 -0.000273099,0.0,137488.0,14.0 -0.000277984,0.0,137488.0,14.0 -0.000272597,0.0,137488.0,14.0 -0.00029595800000000003,0.0,137488.0,14.0 -0.000277451,0.0,137488.0,14.0 -0.00031041600000000004,0.0,137488.0,14.0 -0.00028542300000000004,0.0,137488.0,14.0 -0.00029517700000000004,0.0,137488.0,14.0 -0.00028177700000000004,0.0,137488.0,14.0 -0.000295179,0.0,137488.0,14.0 -0.000278955,0.0,137488.0,14.0 -0.000294711,0.0,137488.0,14.0 -0.000278958,0.0,137488.0,14.0 -0.000290159,0.0,137488.0,14.0 -0.00027548300000000003,0.0,137488.0,14.0 -0.000294397,0.0,137488.0,14.0 -0.000281943,0.0,137488.0,14.0 -0.000290052,0.0,137488.0,14.0 -0.00027573500000000004,0.0,137488.0,14.0 -0.016336155,0.0,137488.0,14.0 -0.000299965,0.0,137488.0,14.0 -0.000271404,0.0,137488.0,14.0 -0.00028379800000000004,0.0,137488.0,14.0 -0.000277166,0.0,137488.0,14.0 -0.00027962800000000003,0.0,137488.0,14.0 -0.000278719,0.0,137488.0,14.0 -0.0002821,0.0,137488.0,14.0 -0.000275061,0.0,137488.0,14.0 -0.00028410800000000004,0.0,137488.0,14.0 -0.000274066,0.0,137488.0,14.0 -0.00028326400000000003,0.0,137488.0,14.0 -0.00027282900000000004,0.0,137488.0,14.0 -0.00027892600000000003,0.0,137488.0,14.0 -0.00029324500000000003,0.0,137488.0,14.0 -0.000278948,0.0,137488.0,14.0 -0.000272928,0.0,137488.0,14.0 -0.000316311,0.0,137488.0,14.0 -0.00027302800000000003,0.0,137488.0,14.0 -0.000293956,0.0,137488.0,14.0 -0.00028063000000000003,0.0,137488.0,14.0 -0.000289118,0.0,137488.0,14.0 -0.00027541800000000004,0.0,137488.0,14.0 -0.00029885,0.0,137488.0,14.0 -0.000278859,0.0,137488.0,14.0 -0.000294467,0.0,137488.0,14.0 -0.00027187800000000003,0.0,137488.0,14.0 -0.000281678,0.0,137488.0,14.0 -0.00029734300000000004,0.0,137488.0,14.0 -0.000279125,0.0,137488.0,14.0 -0.000280161,0.0,137488.0,14.0 -0.00028565000000000003,0.0,137488.0,14.0 -0.00028204500000000003,0.0,137488.0,14.0 -0.000286071,0.0,137488.0,14.0 -0.00027809600000000003,0.0,137488.0,14.0 -0.000278845,0.0,137488.0,14.0 -0.000283854,0.0,137488.0,14.0 -0.00028470300000000003,0.0,137488.0,14.0 -0.00028267200000000003,0.0,137488.0,14.0 -0.00028550900000000003,0.0,137488.0,14.0 -0.000277881,0.0,137488.0,14.0 -0.00028258900000000003,0.0,137488.0,14.0 -0.024329319000000002,0.0,137488.0,14.0 -0.000279589,0.0,137488.0,14.0 -0.000284812,0.0,137488.0,14.0 -0.000268843,0.0,137488.0,14.0 -0.000279261,0.0,137488.0,14.0 -0.00027962900000000004,0.0,137488.0,14.0 -0.000280619,0.0,137488.0,14.0 -0.000277894,0.0,137488.0,14.0 -0.000279612,0.0,137488.0,14.0 -0.000274429,0.0,137488.0,14.0 -0.000301941,0.0,137488.0,14.0 -0.000273174,0.0,137488.0,14.0 -0.000283188,0.0,137488.0,14.0 -0.000278363,0.0,137488.0,14.0 -0.00030163600000000004,0.0,137488.0,14.0 -0.000280361,0.0,137488.0,14.0 -0.000277829,0.0,137488.0,14.0 -0.000285163,0.0,137488.0,14.0 -0.000282406,0.0,137488.0,14.0 -0.00027372700000000003,0.0,137488.0,14.0 -0.000289039,0.0,137488.0,14.0 -0.00027521100000000003,0.0,137488.0,14.0 -0.00028945500000000004,0.0,137488.0,14.0 -0.00028186700000000004,0.0,137488.0,14.0 -0.000277982,0.0,137488.0,14.0 -0.00028001,0.0,137488.0,14.0 -0.000274979,0.0,137488.0,14.0 -0.000284047,0.0,137488.0,14.0 -0.00029398200000000003,0.0,137488.0,14.0 -0.00027926000000000003,0.0,137488.0,14.0 -0.000291928,0.0,137488.0,14.0 -0.000278734,0.0,137488.0,14.0 -0.00027700900000000004,0.0,137488.0,14.0 -0.000274307,0.0,137488.0,14.0 -0.00029180300000000004,0.0,137488.0,14.0 -0.00027586500000000003,0.0,137488.0,14.0 -0.00028871,0.0,137488.0,14.0 -0.00027141000000000003,0.0,137488.0,14.0 -0.000303947,0.0,137488.0,14.0 -0.00028149100000000003,0.0,137488.0,14.0 -0.00028350900000000004,0.0,137488.0,14.0 -0.000285548,0.0,137488.0,14.0 -0.016322149,0.0,137488.0,14.0 -0.000297717,0.0,137488.0,14.0 -0.00027380700000000004,0.0,137488.0,14.0 -0.00027533,0.0,137488.0,14.0 -0.00028415900000000003,0.0,137488.0,14.0 -0.00027797900000000003,0.0,137488.0,14.0 -0.000268981,0.0,137488.0,14.0 -0.000278694,0.0,137488.0,14.0 -0.000276739,0.0,137488.0,14.0 -0.000275486,0.0,137488.0,14.0 -0.000270245,0.0,137488.0,14.0 -0.00028292000000000004,0.0,137488.0,14.0 -0.00027926400000000004,0.0,137488.0,14.0 -0.000278471,0.0,137488.0,14.0 -0.000281692,0.0,137488.0,14.0 -0.000287748,0.0,137488.0,14.0 -0.00028786100000000004,0.0,137488.0,14.0 -0.000272675,0.0,137488.0,14.0 -0.00033921300000000005,0.0,137488.0,14.0 -0.000279149,0.0,137488.0,14.0 -0.000303589,0.0,137488.0,14.0 -0.000284719,0.0,137488.0,14.0 -0.000294751,0.0,137488.0,14.0 -0.000282922,0.0,137488.0,14.0 -0.00029863400000000004,0.0,137488.0,14.0 -0.00028287200000000004,0.0,137488.0,14.0 -0.000295937,0.0,137488.0,14.0 -0.000281517,0.0,137488.0,14.0 -0.000315708,0.0,137488.0,14.0 -0.000276729,0.0,137488.0,14.0 -0.000299392,0.0,137488.0,14.0 -0.00027719400000000003,0.0,137488.0,14.0 -0.000291515,0.0,137488.0,14.0 -0.000270861,0.0,137488.0,14.0 -0.000289652,0.0,137488.0,14.0 -0.00027976,0.0,137488.0,14.0 -0.000288908,0.0,137488.0,14.0 -0.00027733900000000004,0.0,137488.0,14.0 -0.000286078,0.0,137488.0,14.0 -0.00028222,0.0,137488.0,14.0 -0.000299327,0.0,137488.0,14.0 -0.00027307300000000003,0.0,137488.0,14.0 -0.00029073500000000003,0.0,137488.0,14.0 -0.000276789,0.0,137488.0,14.0 -0.00028769200000000004,0.0,137488.0,14.0 -0.000277908,0.0,137488.0,14.0 -0.000289752,0.0,137488.0,14.0 -0.00027983200000000004,0.0,137488.0,14.0 -0.000284138,0.0,137488.0,14.0 -0.000274773,0.0,137488.0,14.0 -0.023518765,0.9831058305995234,137488.0,14.0 -0.000180323,0.0,137488.0,14.0 -0.000161483,0.0,137488.0,14.0 -0.00016048600000000002,0.0,137488.0,14.0 -0.000169759,0.0,137488.0,14.0 -0.00017238100000000002,0.0,137488.0,14.0 -0.000176135,0.0,137488.0,14.0 -0.00017304400000000002,0.0,137488.0,14.0 -0.000170552,0.0,137488.0,14.0 -0.000168201,0.0,137488.0,14.0 -0.000171263,0.0,137488.0,14.0 -0.00016515300000000002,0.0,137488.0,14.0 -0.00016753000000000002,0.0,137488.0,14.0 -0.000170165,0.0,137488.0,14.0 -0.00019658900000000002,0.0,137488.0,14.0 -0.000165434,0.0,137488.0,14.0 -0.000164962,0.0,137488.0,14.0 -0.00017274,0.0,137488.0,14.0 -0.000165475,0.0,137488.0,14.0 -0.000163696,0.0,137488.0,14.0 -0.000167188,0.0,137488.0,14.0 -0.000164966,0.0,137488.0,14.0 -0.00017405600000000002,0.0,137488.0,14.0 -0.000174575,0.0,137488.0,14.0 -0.000179549,0.0,137488.0,14.0 -0.000170266,0.0,137488.0,14.0 -0.000177431,0.0,137488.0,14.0 +0.0001823086,0.0,137488.0,14.0 +0.0001766546,0.0,137488.0,14.0 +0.0017771806000000002,0.0,137488.0,14.0 +0.00017523350000000002,0.0,137488.0,14.0 +0.0085241341,0.9769128808051014,137488.0,14.0 +0.00017427030000000002,0.0,137488.0,14.0 +0.00017267820000000002,0.0,137488.0,14.0 +0.0001760045,0.0,137488.0,14.0 +0.00017608530000000003,0.0,137488.0,14.0 +0.00017634860000000001,0.0,137488.0,14.0 +0.0001786475,0.0,137488.0,14.0 +0.0001806054,0.0,137488.0,14.0 +0.00017478490000000002,0.0,137488.0,14.0 +0.00017857670000000003,0.0,137488.0,14.0 +0.0002861006,0.0,137488.0,14.0 +0.0002842872,0.0,137488.0,14.0 +0.0002825812,0.0,137488.0,14.0 +0.0002974468,0.0,137488.0,14.0 +0.0002842794,0.0,137488.0,14.0 +0.000283449,0.0,137488.0,14.0 +0.0002815059,0.0,137488.0,14.0 +0.00028456010000000003,0.0,137488.0,14.0 +0.0002818895,0.0,137488.0,14.0 +0.00028300950000000004,0.0,137488.0,14.0 +0.0002826626,0.0,137488.0,14.0 +0.0002842429,0.0,137488.0,14.0 +0.00031029820000000004,0.0,137488.0,14.0 +0.0002876323,0.0,137488.0,14.0 +0.0002935775,0.0,137488.0,14.0 +0.0003204171,0.0,137488.0,14.0 +0.0019067818,0.0,137488.0,14.0 +0.0003072444,0.0,137488.0,14.0 +0.0003196251,0.0,137488.0,14.0 +0.0002907719,0.0,137488.0,14.0 +0.0002878518,0.0,137488.0,14.0 +0.001891784,0.0,137488.0,14.0 +0.0002958418,0.0,137488.0,14.0 +0.0010050279,0.7497481413202559,137488.0,14.0 +0.0001724114,0.0,137488.0,14.0 +0.0017772015000000001,0.0,137488.0,14.0 +0.0001787709,0.0,137488.0,14.0 +0.000176824,0.0,137488.0,14.0 +0.00016999150000000001,0.0,137488.0,14.0 +0.0001695593,0.0,137488.0,14.0 +0.0001707568,0.0,137488.0,14.0 +0.0001698262,0.0,137488.0,14.0 +0.00017091650000000002,0.0,137488.0,14.0 +0.0001697063,0.0,137488.0,14.0 +0.0017734051,0.0,137488.0,14.0 +0.0001720768,0.0,137488.0,14.0 +0.0001734539,0.0,137488.0,14.0 +0.00017135210000000003,0.0,137488.0,14.0 +0.0001715879,0.0,137488.0,14.0 +0.0001706779,0.0,137488.0,14.0 +0.00016587510000000001,0.0,137488.0,14.0 +0.0001708429,0.0,137488.0,14.0 +0.00016739950000000002,0.0,137488.0,14.0 +0.00016806350000000001,0.0,137488.0,14.0 +0.0017771053000000003,0.0,137488.0,14.0 +0.0001748552,0.0,137488.0,14.0 +0.00017564420000000001,0.0,137488.0,14.0 +0.0001731258,0.0,137488.0,14.0 +0.00017197030000000002,0.0,137488.0,14.0 +0.00017017190000000003,0.0,137488.0,14.0 +0.00016993610000000001,0.0,137488.0,14.0 +0.00017317420000000002,0.0,137488.0,14.0 +0.00017040270000000002,0.0,137488.0,14.0 +0.00017209000000000001,0.0,137488.0,14.0 +0.0001684118,0.0,137488.0,14.0 +0.0001697636,0.0,137488.0,14.0 +0.0003239187,0.4289351000729504,137488.0,14.0 +0.00017673430000000003,0.0,137488.0,14.0 +0.00017252290000000002,0.0,137488.0,14.0 +0.00017777100000000002,0.0,137488.0,14.0 +0.00017612660000000002,0.0,137488.0,14.0 +0.0001758401,0.0,137488.0,14.0 +0.0001780324,0.0,137488.0,14.0 +0.0001763996,0.0,137488.0,14.0 +0.00017459000000000002,0.0,137488.0,14.0 +0.00017518050000000002,0.0,137488.0,14.0 +0.0001738032,0.0,137488.0,14.0 +0.0001683253,0.0,137488.0,14.0 +0.00017231680000000002,0.0,137488.0,14.0 +0.0001717112,0.0,137488.0,14.0 +0.0001720612,0.0,137488.0,14.0 +0.0001701445,0.0,137488.0,14.0 +0.00017051400000000003,0.0,137488.0,14.0 +0.0001742481,0.0,137488.0,14.0 +0.00017379880000000002,0.0,137488.0,14.0 +0.0001743921,0.0,137488.0,14.0 +0.0001749359,0.0,137488.0,14.0 +0.0005122019,0.0,137488.0,14.0 +0.0001770211,0.0,137488.0,14.0 +0.00017643630000000002,0.0,137488.0,14.0 +0.0001764674,0.0,137488.0,14.0 +0.00017359390000000003,0.0,137488.0,14.0 +0.0001743561,0.0,137488.0,14.0 0.000169685,0.0,137488.0,14.0 -0.000166293,0.0,137488.0,14.0 -0.000181494,0.0,137488.0,14.0 -0.000177194,0.0,137488.0,14.0 -0.00017147200000000001,0.0,137488.0,14.0 -0.00017095400000000002,0.0,137488.0,14.0 -0.000167395,0.0,137488.0,14.0 -0.000161728,0.0,137488.0,14.0 -0.00016713400000000002,0.0,137488.0,14.0 -0.00016169600000000002,0.0,137488.0,14.0 -0.000177831,0.0,137488.0,14.0 -0.000162358,0.0,137488.0,14.0 -0.00016294400000000002,0.0,137488.0,14.0 -0.00016138800000000002,0.0,137488.0,14.0 -0.000169098,0.0,137488.0,14.0 -0.000189673,0.0,137488.0,14.0 -0.00016643500000000002,0.0,137488.0,14.0 -0.000171158,0.0,137488.0,14.0 -0.00016575500000000001,0.0,137488.0,14.0 -0.00016743700000000002,0.0,137488.0,14.0 -0.00016884200000000002,0.0,137488.0,14.0 -0.000160581,0.0,137488.0,14.0 -0.00016905500000000001,0.0,137488.0,14.0 -0.00016651800000000002,0.0,137488.0,14.0 -0.000163214,0.0,137488.0,14.0 -0.000161569,0.0,137488.0,14.0 -0.000172895,0.0,137488.0,14.0 -0.000163053,0.0,137488.0,14.0 -0.000174828,0.0,137488.0,14.0 -0.00016436400000000001,0.0,137488.0,14.0 -0.00017080100000000002,0.0,137488.0,14.0 -0.000161747,0.0,137488.0,14.0 -0.00016907800000000002,0.0,137488.0,14.0 -0.024187874,0.0,137488.0,14.0 -0.00019174600000000002,0.0,137488.0,14.0 -0.000170562,0.0,137488.0,14.0 -0.000169781,0.0,137488.0,14.0 -0.000167092,0.0,137488.0,14.0 -0.00017231600000000002,0.0,137488.0,14.0 -0.000163628,0.0,137488.0,14.0 -0.00016656800000000002,0.0,137488.0,14.0 -0.000171695,0.0,137488.0,14.0 -0.00017268600000000002,0.0,137488.0,14.0 -0.000175574,0.0,137488.0,14.0 -0.000192384,0.0,137488.0,14.0 -0.00017070100000000002,0.0,137488.0,14.0 -0.000166705,0.0,137488.0,14.0 -0.000171277,0.0,137488.0,14.0 -0.000176775,0.0,137488.0,14.0 -0.00016847200000000002,0.0,137488.0,14.0 -0.00016604100000000002,0.0,137488.0,14.0 -0.00017085100000000002,0.0,137488.0,14.0 -0.000159963,0.0,137488.0,14.0 -0.000177824,0.0,137488.0,14.0 -0.00016507200000000002,0.0,137488.0,14.0 -0.00016921000000000001,0.0,137488.0,14.0 -0.000181163,0.0,137488.0,14.0 -0.00017625300000000002,0.0,137488.0,14.0 -0.000175068,0.0,137488.0,14.0 -0.00016940800000000002,0.0,137488.0,14.0 -0.000157746,0.0,137488.0,14.0 -0.00016503400000000002,0.0,137488.0,14.0 -0.000159595,0.0,137488.0,14.0 -0.000163518,0.0,137488.0,14.0 -0.00016523700000000002,0.0,137488.0,14.0 -0.000160044,0.0,137488.0,14.0 -0.00017097500000000002,0.0,137488.0,14.0 -0.00016161000000000002,0.0,137488.0,14.0 -0.000161976,0.0,137488.0,14.0 -0.000164372,0.0,137488.0,14.0 -0.00017618400000000002,0.0,137488.0,14.0 -0.000164079,0.0,137488.0,14.0 -0.000169805,0.0,137488.0,14.0 -0.00015960100000000002,0.0,137488.0,14.0 -0.000164587,0.0,137488.0,14.0 -0.00016497900000000002,0.0,137488.0,14.0 -0.00016682400000000001,0.0,137488.0,14.0 -0.000173066,0.0,137488.0,14.0 -0.00016458100000000002,0.0,137488.0,14.0 -0.000158744,0.0,137488.0,14.0 -0.000180991,0.0,137488.0,14.0 -0.000179189,0.0,137488.0,14.0 -0.00017445400000000002,0.0,137488.0,14.0 -0.000169344,0.0,137488.0,14.0 -0.000169602,0.0,137488.0,14.0 -0.00016938900000000001,0.0,137488.0,14.0 -0.000159051,0.0,137488.0,14.0 -0.00017295100000000002,0.0,137488.0,14.0 -0.00016159100000000002,0.0,137488.0,14.0 -0.000163773,0.0,137488.0,14.0 -0.00017481900000000002,0.0,137488.0,14.0 -0.00016990900000000002,0.0,137488.0,14.0 -0.000169457,0.0,137488.0,14.0 -0.00016514400000000002,0.0,137488.0,14.0 -0.000162792,0.0,137488.0,14.0 -0.000173098,0.0,137488.0,14.0 -0.00017740600000000002,0.0,137488.0,14.0 -0.00015807200000000001,0.0,137488.0,14.0 -0.00017580000000000002,0.0,137488.0,14.0 -0.00016586400000000002,0.0,137488.0,14.0 -0.000164205,0.0,137488.0,14.0 -0.00015984000000000001,0.0,137488.0,14.0 -0.00018053600000000002,0.0,137488.0,14.0 -0.000169919,0.0,137488.0,14.0 -0.024208729000000002,0.0,137488.0,14.0 -0.00018209,0.0,137488.0,14.0 -0.00017456900000000002,0.0,137488.0,14.0 -0.00016509400000000002,0.0,137488.0,14.0 -0.000163399,0.0,137488.0,14.0 -0.000170511,0.0,137488.0,14.0 -0.00017609100000000002,0.0,137488.0,14.0 -0.00017343100000000001,0.0,137488.0,14.0 -0.00017103500000000002,0.0,137488.0,14.0 -0.000166725,0.0,137488.0,14.0 -0.000170929,0.0,137488.0,14.0 -0.00016312300000000002,0.0,137488.0,14.0 -0.00016862700000000002,0.0,137488.0,14.0 -0.00017230900000000002,0.0,137488.0,14.0 -0.000170559,0.0,137488.0,14.0 -0.000163818,0.0,137488.0,14.0 -0.00016534200000000002,0.0,137488.0,14.0 -0.000170955,0.0,137488.0,14.0 -0.000164513,0.0,137488.0,14.0 -0.000175457,0.0,137488.0,14.0 -0.00016331100000000002,0.0,137488.0,14.0 -0.000168082,0.0,137488.0,14.0 -0.000169617,0.0,137488.0,14.0 -0.00018415300000000002,0.0,137488.0,14.0 -0.000160339,0.0,137488.0,14.0 -0.000167305,0.0,137488.0,14.0 -0.00016804300000000002,0.0,137488.0,14.0 -0.000168168,0.0,137488.0,14.0 -0.00016866100000000002,0.0,137488.0,14.0 -0.00015883500000000002,0.0,137488.0,14.0 -0.000167061,0.0,137488.0,14.0 -0.00016783800000000001,0.0,137488.0,14.0 -0.000163074,0.0,137488.0,14.0 -0.00016844100000000002,0.0,137488.0,14.0 -0.00015512500000000002,0.0,137488.0,14.0 -0.000163894,0.0,137488.0,14.0 -0.00017158400000000002,0.0,137488.0,14.0 -0.000167937,0.0,137488.0,14.0 -0.00016711500000000002,0.0,137488.0,14.0 -0.000157435,0.0,137488.0,14.0 -0.000168407,0.0,137488.0,14.0 -0.000161571,0.0,137488.0,14.0 -0.00017196300000000002,0.0,137488.0,14.0 -0.00017136700000000001,0.0,137488.0,14.0 -0.000165942,0.0,137488.0,14.0 -0.00016732000000000002,0.0,137488.0,14.0 -0.000168354,0.0,137488.0,14.0 -0.000175889,0.0,137488.0,14.0 -0.00017746500000000002,0.0,137488.0,14.0 -0.000162246,0.0,137488.0,14.0 -0.000176083,0.0,137488.0,14.0 -0.000170332,0.0,137488.0,14.0 -0.00016299200000000001,0.0,137488.0,14.0 -0.00016487900000000002,0.0,137488.0,14.0 -0.00016898500000000002,0.0,137488.0,14.0 -0.00016037400000000002,0.0,137488.0,14.0 -0.00016387700000000002,0.0,137488.0,14.0 -0.000166903,0.0,137488.0,14.0 -0.00016805200000000002,0.0,137488.0,14.0 -0.00017702900000000002,0.0,137488.0,14.0 -0.00016372400000000002,0.0,137488.0,14.0 -0.000169187,0.0,137488.0,14.0 -0.000181136,0.0,137488.0,14.0 -0.00016507900000000002,0.0,137488.0,14.0 -0.000172682,0.0,137488.0,14.0 -0.00016546600000000002,0.0,137488.0,14.0 -0.000163728,0.0,137488.0,14.0 -0.00017602900000000002,0.0,137488.0,14.0 -0.00016133100000000002,0.0,137488.0,14.0 -0.00016251400000000002,0.0,137488.0,14.0 -0.000182389,0.0,137488.0,14.0 -0.000174923,0.0,137488.0,14.0 -0.000173367,0.0,137488.0,14.0 -0.00016994900000000002,0.0,137488.0,14.0 -0.000163351,0.0,137488.0,14.0 -0.000177364,0.0,137488.0,14.0 -0.000160564,0.0,137488.0,14.0 -0.000166651,0.0,137488.0,14.0 -0.000177357,0.0,137488.0,14.0 -0.00017550600000000002,0.0,137488.0,14.0 -0.000173129,0.0,137488.0,14.0 -0.00017037600000000002,0.0,137488.0,14.0 -0.000163339,0.0,137488.0,14.0 -0.00017590000000000002,0.0,137488.0,14.0 -0.00016616300000000001,0.0,137488.0,14.0 -0.00017430400000000002,0.0,137488.0,14.0 -0.00017255000000000002,0.0,137488.0,14.0 -0.00016267200000000002,0.0,137488.0,14.0 -0.00017175300000000002,0.0,137488.0,14.0 -0.000171838,0.0,137488.0,14.0 -0.000166825,0.0,137488.0,14.0 -0.0001822,0.0,137488.0,14.0 -0.000165575,0.0,137488.0,14.0 -0.000168932,0.0,137488.0,14.0 -0.016220441000000002,0.0,137488.0,14.0 -0.000168979,0.0,137488.0,14.0 -0.00017108000000000002,0.0,137488.0,14.0 -0.00016429900000000002,0.0,137488.0,14.0 -0.00016329500000000001,0.0,137488.0,14.0 -0.000177703,0.0,137488.0,14.0 -0.00016413200000000002,0.0,137488.0,14.0 -0.000165787,0.0,137488.0,14.0 -0.00016868700000000002,0.0,137488.0,14.0 -0.000165129,0.0,137488.0,14.0 -0.00016921400000000002,0.0,137488.0,14.0 -0.000169099,0.0,137488.0,14.0 -0.000163969,0.0,137488.0,14.0 +0.000171289,0.0,137488.0,14.0 +0.00018437800000000002,0.0,137488.0,14.0 +0.0001695429,0.0,137488.0,14.0 +0.0001690421,0.0,137488.0,14.0 +0.0001628876,0.0,137488.0,14.0 +0.00018604390000000003,0.0,137488.0,14.0 +0.0007956393000000001,0.7567451733467666,137488.0,14.0 +0.0001780061,0.0,137488.0,14.0 +0.0001756484,0.0,137488.0,14.0 +0.00017632630000000003,0.0,137488.0,14.0 +0.0001780975,0.0,137488.0,14.0 +0.0001794528,0.0,137488.0,14.0 +0.00017606150000000002,0.0,137488.0,14.0 +0.0001752756,0.0,137488.0,14.0 +0.0001706238,0.0,137488.0,14.0 +0.0001774632,0.0,137488.0,14.0 +0.0002622681,0.0,137488.0,14.0 +0.0002779524,0.0,137488.0,14.0 +0.0002814825,0.0,137488.0,14.0 +0.00028073720000000005,0.0,137488.0,14.0 +0.0002801497,0.0,137488.0,14.0 +0.0002875223,0.0,137488.0,14.0 +0.0002843163,0.0,137488.0,14.0 +0.0002880399,0.0,137488.0,14.0 +0.0002872535,0.0,137488.0,14.0 +0.0002841578,0.0,137488.0,14.0 +0.00028188620000000003,0.0,137488.0,14.0 +0.0002824524,0.0,137488.0,14.0 +0.00028182470000000004,0.0,137488.0,14.0 +0.00028243390000000005,0.0,137488.0,14.0 +0.0003205931,0.0,137488.0,14.0 +0.0002886981,0.0,137488.0,14.0 +0.0003193295,0.0,137488.0,14.0 +0.000286696,0.0,137488.0,14.0 +0.0002879323,0.0,137488.0,14.0 +0.00031934300000000004,0.0,137488.0,14.0 +0.00029074490000000004,0.0,137488.0,14.0 +0.0002888897,0.0,137488.0,14.0 +0.0002902398,0.0,137488.0,14.0 +0.0004025402,0.34541394871866216,137488.0,14.0 +0.0017812162,0.0,137488.0,14.0 +0.0001746932,0.0,137488.0,14.0 +0.00017875450000000002,0.0,137488.0,14.0 +0.00017315800000000003,0.0,137488.0,14.0 +0.0001757211,0.0,137488.0,14.0 +0.0001749675,0.0,137488.0,14.0 +0.0001748208,0.0,137488.0,14.0 +0.00017600810000000002,0.0,137488.0,14.0 +0.00017338890000000002,0.0,137488.0,14.0 +0.0017772411000000002,0.0,137488.0,14.0 +0.0001703664,0.0,137488.0,14.0 +0.00017275740000000003,0.0,137488.0,14.0 +0.00017651880000000002,0.0,137488.0,14.0 +0.00017283630000000002,0.0,137488.0,14.0 +0.0001744316,0.0,137488.0,14.0 +0.00017512540000000002,0.0,137488.0,14.0 +0.0001775594,0.0,137488.0,14.0 +0.0001715132,0.0,137488.0,14.0 +0.00047611120000000005,0.0,137488.0,14.0 +0.0001021959,0.0,137488.0,14.0 +0.00013769510000000002,0.0,137488.0,14.0 +0.00017586430000000002,0.0,137488.0,14.0 +0.0001767761,0.0,137488.0,14.0 +0.0001746312,0.0,137488.0,14.0 +0.0001783232,0.0,137488.0,14.0 +0.0001729652,0.0,137488.0,14.0 +0.00017422440000000003,0.0,137488.0,14.0 +0.0001060781,0.0,137488.0,14.0 +9.721520000000001e-5,0.0,137488.0,14.0 +9.710500000000001e-5,0.0,137488.0,14.0 +0.0001002468,0.0,137488.0,14.0 +0.0001654244,0.0,137488.0,14.0 +0.0002121946,0.0,137488.0,14.0 +0.0003733011,0.4021983862356687,137488.0,14.0 +0.0001796557,0.0,137488.0,14.0 +0.0002166636,0.0,137488.0,14.0 +0.00028719630000000003,0.0,137488.0,14.0 +0.0001978385,0.0,137488.0,14.0 +0.0002113163,0.0,137488.0,14.0 +0.00021522250000000003,0.0,137488.0,14.0 +0.00021745690000000002,0.0,137488.0,14.0 +0.0003186262,0.0,137488.0,14.0 +0.0001777967,0.0,137488.0,14.0 +0.0001991517,0.0,137488.0,14.0 +0.00020905610000000003,0.0,137488.0,14.0 +0.0002102441,0.0,137488.0,14.0 +0.0001984086,0.0,137488.0,14.0 +0.00018133990000000002,0.0,137488.0,14.0 +0.00021206800000000002,0.0,137488.0,14.0 +0.0002122516,0.0,137488.0,14.0 +0.00021188870000000002,0.0,137488.0,14.0 +0.0002091754,0.0,137488.0,14.0 +0.0002154894,0.0,137488.0,14.0 +0.0001766278,0.0,137488.0,14.0 +0.0002108071,0.0,137488.0,14.0 +0.00021703720000000002,0.0,137488.0,14.0 +0.00021363840000000002,0.0,137488.0,14.0 +0.0001730589,0.0,137488.0,14.0 +0.0002142423,0.0,137488.0,14.0 +0.00021588360000000003,0.0,137488.0,14.0 +0.00018479150000000002,0.0,137488.0,14.0 +0.0001634061,0.0,137488.0,14.0 +0.00017266470000000002,0.0,137488.0,14.0 +0.0049811502,0.0,137488.0,14.0 +0.0001771357,0.0,137488.0,14.0 +0.0001793731,0.0,137488.0,14.0 +0.0023299305,0.24256307216030693,137488.0,14.0 +0.00018243300000000002,0.0,137488.0,14.0 +0.00017876720000000002,0.0,137488.0,14.0 +0.000179758,0.0,137488.0,14.0 +0.0001774427,0.0,137488.0,14.0 +0.00018030580000000002,0.0,137488.0,14.0 +0.0001785523,0.0,137488.0,14.0 +0.0001860059,0.0,137488.0,14.0 +0.00017925380000000001,0.0,137488.0,14.0 +0.0015768552000000001,0.0,137488.0,14.0 +0.00025782120000000005,0.0,137488.0,14.0 +0.00028275230000000004,0.0,137488.0,14.0 +0.0002819133,0.0,137488.0,14.0 +0.000287388,0.0,137488.0,14.0 +0.0018893149,0.0,137488.0,14.0 +0.00028558070000000004,0.0,137488.0,14.0 +0.0002888294,0.0,137488.0,14.0 +0.0002999095,0.0,137488.0,14.0 +0.00032937670000000006,0.0,137488.0,14.0 +0.000283451,0.0,137488.0,14.0 +0.0002853503,0.0,137488.0,14.0 +0.00028454490000000005,0.0,137488.0,14.0 +0.0014891818,0.0,137488.0,14.0 +0.0003125154,0.0,137488.0,14.0 +0.0003076172,0.0,137488.0,14.0 +0.00030995100000000004,0.0,137488.0,14.0 +0.0002915589,0.0,137488.0,14.0 +0.0002907267,0.0,137488.0,14.0 +0.0018934655000000002,0.0,137488.0,14.0 +0.00029163240000000003,0.0,137488.0,14.0 +0.0003015482,0.0,137488.0,14.0 +0.0002901412,0.0,137488.0,14.0 +0.0002917257,0.0,137488.0,14.0 +0.0020190366000000003,0.06827548346572816,137488.0,14.0 +0.00018032550000000001,0.0,137488.0,14.0 +0.0001767211,0.0,137488.0,14.0 +0.0001794563,0.0,137488.0,14.0 +0.000181192,0.0,137488.0,14.0 +0.0001785919,0.0,137488.0,14.0 +0.00017946660000000002,0.0,137488.0,14.0 +0.0001796063,0.0,137488.0,14.0 +0.0017809832000000002,0.0,137488.0,14.0 +0.0001748456,0.0,137488.0,14.0 +0.00017887780000000003,0.0,137488.0,14.0 +0.00017282620000000002,0.0,137488.0,14.0 +0.0001727424,0.0,137488.0,14.0 +0.0001775748,0.0,137488.0,14.0 +0.0001741324,0.0,137488.0,14.0 +0.00018153790000000002,0.0,137488.0,14.0 +0.00017903340000000002,0.0,137488.0,14.0 +0.0017826877,0.0,137488.0,14.0 +0.0001770991,0.0,137488.0,14.0 +0.0001790084,0.0,137488.0,14.0 +0.00017509520000000002,0.0,137488.0,14.0 +0.00017612090000000002,0.0,137488.0,14.0 +0.0001764073,0.0,137488.0,14.0 +0.0001747902,0.0,137488.0,14.0 +0.0001752833,0.0,137488.0,14.0 +0.00017630060000000002,0.0,137488.0,14.0 +0.0017808159000000001,0.0,137488.0,14.0 +0.0001775457,0.0,137488.0,14.0 +0.0017825719,0.0,137488.0,14.0 +0.00017790820000000002,0.0,137488.0,14.0 +0.00017668340000000002,0.0,137488.0,14.0 +0.0001765279,0.0,137488.0,14.0 +0.0001745851,0.0,137488.0,14.0 +0.0001786671,0.0,137488.0,14.0 +0.0003381845,0.4113358240841907,137488.0,14.0 +0.00018031490000000003,0.0,137488.0,14.0 +0.0017841576000000002,0.0,137488.0,14.0 +0.00017604410000000002,0.0,137488.0,14.0 +0.00017719250000000001,0.0,137488.0,14.0 +0.00017742080000000002,0.0,137488.0,14.0 +0.0001774202,0.0,137488.0,14.0 +0.0001804552,0.0,137488.0,14.0 +0.00017804740000000003,0.0,137488.0,14.0 +0.0001805603,0.0,137488.0,14.0 +0.0001768983,0.0,137488.0,14.0 +0.0017792241999999999,0.0,137488.0,14.0 +0.0001751931,0.0,137488.0,14.0 +0.00017565970000000001,0.0,137488.0,14.0 +0.00017420440000000002,0.0,137488.0,14.0 +0.0001720884,0.0,137488.0,14.0 +0.0001771957,0.0,137488.0,14.0 +0.00017823680000000002,0.0,137488.0,14.0 +0.0001757177,0.0,137488.0,14.0 +0.0001743177,0.0,137488.0,14.0 +0.0013783384000000001,0.0,137488.0,14.0 +0.0001789852,0.0,137488.0,14.0 +0.00017773550000000003,0.0,137488.0,14.0 +0.0001755105,0.0,137488.0,14.0 +0.00017378640000000002,0.0,137488.0,14.0 +0.0001759626,0.0,137488.0,14.0 +0.00017356080000000001,0.0,137488.0,14.0 +0.00017486470000000002,0.0,137488.0,14.0 +0.0001762305,0.0,137488.0,14.0 +0.0001738598,0.0,137488.0,14.0 +0.0017813721,0.0,137488.0,14.0 +0.0001758746,0.0,137488.0,14.0 +0.00017691740000000001,0.0,137488.0,14.0 +0.0007410750000000001,0.7412515602334446,137488.0,14.0 +0.0001797749,0.0,137488.0,14.0 +0.0017816054,0.0,137488.0,14.0 +0.000180232,0.0,137488.0,14.0 +0.000178359,0.0,137488.0,14.0 +0.0001809515,0.0,137488.0,14.0 +0.000175266,0.0,137488.0,14.0 +0.0001775461,0.0,137488.0,14.0 +0.00017503210000000002,0.0,137488.0,14.0 +0.00017535530000000003,0.0,137488.0,14.0 +0.0002451293,0.0,137488.0,14.0 +0.0018919858000000002,0.0,137488.0,14.0 +0.000735863,0.0,137488.0,14.0 +0.0003012728,0.0,137488.0,14.0 +0.0002954653,0.0,137488.0,14.0 +0.0019083541000000002,0.0,137488.0,14.0 +0.00030200400000000003,0.0,137488.0,14.0 +0.00029581590000000004,0.0,137488.0,14.0 +0.0002910076,0.0,137488.0,14.0 +0.00028830420000000004,0.0,137488.0,14.0 +0.0002733852,0.0,137488.0,14.0 +0.000239528,0.0,137488.0,14.0 +0.00023948110000000003,0.0,137488.0,14.0 +0.00023601300000000003,0.0,137488.0,14.0 +0.00023797180000000002,0.0,137488.0,14.0 +0.00022917410000000005,0.0,137488.0,14.0 +0.00022264420000000005,0.0,137488.0,14.0 +0.00025789560000000005,0.0,137488.0,14.0 +0.0002796965,0.0,137488.0,14.0 +0.0002794151,0.0,137488.0,14.0 +0.0002804876,0.0,137488.0,14.0 +0.00029362280000000006,0.0,137488.0,14.0 +0.0002970354,0.0,137488.0,14.0 +0.0016815764,0.8038737341937007,137488.0,14.0 +0.0002264233,0.0,137488.0,14.0 +0.0002206768,0.0,137488.0,14.0 +0.00022496250000000003,0.0,137488.0,14.0 +0.0002227601,0.0,137488.0,14.0 +0.0002220475,0.0,137488.0,14.0 +0.00021912300000000002,0.0,137488.0,14.0 +0.00019555480000000002,0.0,137488.0,14.0 +0.00014069450000000003,0.0,137488.0,14.0 +0.000130228,0.0,137488.0,14.0 +0.000133279,0.0,137488.0,14.0 +0.00019765240000000004,0.0,137488.0,14.0 +0.00021333700000000002,0.0,137488.0,14.0 +0.00015829070000000003,0.0,137488.0,14.0 +0.00016050880000000002,0.0,137488.0,14.0 +0.0001602164,0.0,137488.0,14.0 +0.00016115510000000002,0.0,137488.0,14.0 +0.0001640819,0.0,137488.0,14.0 +0.0001624975,0.0,137488.0,14.0 +0.00016124090000000003,0.0,137488.0,14.0 +0.0001641133,0.0,137488.0,14.0 +0.0001608419,0.0,137488.0,14.0 +0.0001622963,0.0,137488.0,14.0 +0.00016407820000000002,0.0,137488.0,14.0 +0.0001637973,0.0,137488.0,14.0 +0.0001623832,0.0,137488.0,14.0 +0.0001615056,0.0,137488.0,14.0 +0.00016414320000000002,0.0,137488.0,14.0 +0.00016035380000000002,0.0,137488.0,14.0 +0.00016075870000000002,0.0,137488.0,14.0 +0.0001610205,0.0,137488.0,14.0 +0.0001629306,0.0,137488.0,14.0 +0.00016166730000000002,0.0,137488.0,14.0 +0.0001630259,0.0,137488.0,14.0 +0.0003479666,0.4905499550818958,137488.0,14.0 +0.0001627161,0.0,137488.0,14.0 +0.00016370430000000002,0.0,137488.0,14.0 +0.0001624477,0.0,137488.0,14.0 +0.0001649292,0.0,137488.0,14.0 +0.000160982,0.0,137488.0,14.0 +0.0001611422,0.0,137488.0,14.0 +0.0001628008,0.0,137488.0,14.0 +0.00016001870000000002,0.0,137488.0,14.0 +0.0001660134,0.0,137488.0,14.0 +0.0001607886,0.0,137488.0,14.0 +0.0001623073,0.0,137488.0,14.0 +0.0001647133,0.0,137488.0,14.0 +0.00016275180000000002,0.0,137488.0,14.0 +0.00016184280000000002,0.0,137488.0,14.0 +0.00016302040000000002,0.0,137488.0,14.0 +0.00016693830000000001,0.0,137488.0,14.0 +0.0001628893,0.0,137488.0,14.0 +0.0001603916,0.0,137488.0,14.0 +0.00016093860000000002,0.0,137488.0,14.0 +0.0001585929,0.0,137488.0,14.0 +0.0001646303,0.0,137488.0,14.0 +0.00016246860000000002,0.0,137488.0,14.0 +0.0001620197,0.0,137488.0,14.0 +0.0001642177,0.0,137488.0,14.0 +0.0001611695,0.0,137488.0,14.0 +0.00016083810000000001,0.0,137488.0,14.0 +0.00016084090000000002,0.0,137488.0,14.0 +0.0001600023,0.0,137488.0,14.0 +0.0001622682,0.0,137488.0,14.0 +0.0001613199,0.0,137488.0,14.0 +0.0001604052,0.0,137488.0,14.0 +0.0001609058,0.0,137488.0,14.0 +0.0007127339000000001,0.75829941581283,137488.0,14.0 +0.0001652028,0.0,137488.0,14.0 +0.0001615514,0.0,137488.0,14.0 +0.0001625956,0.0,137488.0,14.0 +0.00016093470000000002,0.0,137488.0,14.0 +0.00016349350000000002,0.0,137488.0,14.0 +0.00015982650000000002,0.0,137488.0,14.0 +0.00016240120000000002,0.0,137488.0,14.0 +0.0001642288,0.0,137488.0,14.0 +0.0001640851,0.0,137488.0,14.0 +0.00022466050000000002,0.0,137488.0,14.0 +0.0002734045,0.0,137488.0,14.0 +0.0002817227,0.0,137488.0,14.0 +0.0002831989,0.0,137488.0,14.0 +0.0002836905,0.0,137488.0,14.0 +0.00028057630000000004,0.0,137488.0,14.0 +0.00027475290000000005,0.0,137488.0,14.0 +0.000278933,0.0,137488.0,14.0 +0.00028024710000000005,0.0,137488.0,14.0 +0.0002771449,0.0,137488.0,14.0 +0.0002808609,0.0,137488.0,14.0 +0.00030827420000000005,0.0,137488.0,14.0 +0.0002805334,0.0,137488.0,14.0 +0.00029452460000000004,0.0,137488.0,14.0 +0.0002797097,0.0,137488.0,14.0 +0.00028113330000000003,0.0,137488.0,14.0 +0.00028360530000000003,0.0,137488.0,14.0 +0.0002842947,0.0,137488.0,14.0 +0.0002820647,0.0,137488.0,14.0 +0.00028282290000000005,0.0,137488.0,14.0 +0.0002807663,0.0,137488.0,14.0 +0.00028203060000000005,0.0,137488.0,14.0 +0.00028305960000000004,0.0,137488.0,14.0 +0.00043071120000000003,0.3219068833129949,137488.0,14.0 +0.00016563070000000002,0.0,137488.0,14.0 +0.0001615773,0.0,137488.0,14.0 +0.0001636781,0.0,137488.0,14.0 +0.000161805,0.0,137488.0,14.0 +0.00016282040000000002,0.0,137488.0,14.0 +0.0001618307,0.0,137488.0,14.0 +0.0001594687,0.0,137488.0,14.0 +0.0001660653,0.0,137488.0,14.0 +0.0001612252,0.0,137488.0,14.0 +0.0001634828,0.0,137488.0,14.0 +0.0001618518,0.0,137488.0,14.0 +0.00016176230000000002,0.0,137488.0,14.0 +0.0001596825,0.0,137488.0,14.0 +0.0001607005,0.0,137488.0,14.0 +0.000161835,0.0,137488.0,14.0 +0.0001613584,0.0,137488.0,14.0 +0.00016609790000000001,0.0,137488.0,14.0 +0.0001626261,0.0,137488.0,14.0 +0.00016156940000000003,0.0,137488.0,14.0 +0.000162303,0.0,137488.0,14.0 +0.00015990780000000001,0.0,137488.0,14.0 +0.00016204510000000002,0.0,137488.0,14.0 +0.0001613259,0.0,137488.0,14.0 +0.00016049,0.0,137488.0,14.0 +0.00016312800000000001,0.0,137488.0,14.0 +0.0001607209,0.0,137488.0,14.0 +0.0001652325,0.0,137488.0,14.0 +0.0001632174,0.0,137488.0,14.0 +0.0001609849,0.0,137488.0,14.0 +0.00016366360000000002,0.0,137488.0,14.0 +0.0001620779,0.0,137488.0,14.0 +0.000162916,0.0,137488.0,14.0 +0.00016151400000000003,0.0,137488.0,14.0 +0.00031368190000000004,0.43776641240696385,137488.0,14.0 +0.0001650523,0.0,137488.0,14.0 +0.00016555060000000003,0.0,137488.0,14.0 +0.0001703524,0.0,137488.0,14.0 +0.0001625119,0.0,137488.0,14.0 +0.0001634801,0.0,137488.0,14.0 +0.00016034760000000002,0.0,137488.0,14.0 +0.00017287000000000002,0.0,137488.0,14.0 +0.0001683875,0.0,137488.0,14.0 +0.00017249040000000002,0.0,137488.0,14.0 +0.0001730635,0.0,137488.0,14.0 +0.0001720581,0.0,137488.0,14.0 +0.0001737157,0.0,137488.0,14.0 +0.0001705063,0.0,137488.0,14.0 +0.00017098930000000002,0.0,137488.0,14.0 +0.0001682467,0.0,137488.0,14.0 +0.0001692291,0.0,137488.0,14.0 +0.0001695606,0.0,137488.0,14.0 +0.0001684203,0.0,137488.0,14.0 +0.00017016840000000003,0.0,137488.0,14.0 +0.00016336250000000002,0.0,137488.0,14.0 +0.00016889700000000002,0.0,137488.0,14.0 +0.00016526350000000003,0.0,137488.0,14.0 +0.0001664263,0.0,137488.0,14.0 +0.00016858090000000002,0.0,137488.0,14.0 +0.0001694147,0.0,137488.0,14.0 +0.0001724307,0.0,137488.0,14.0 +0.00017005840000000003,0.0,137488.0,14.0 +0.00017217100000000002,0.0,137488.0,14.0 +0.0001712652,0.0,137488.0,14.0 +0.00017177370000000003,0.0,137488.0,14.0 +0.0001747235,0.0,137488.0,14.0 +0.0001733397,0.0,137488.0,14.0 +0.0007906725,0.7684608987918512,137488.0,14.0 0.00017003300000000002,0.0,137488.0,14.0 -0.00016350200000000002,0.0,137488.0,14.0 -0.00016546600000000002,0.0,137488.0,14.0 -0.00017007300000000002,0.0,137488.0,14.0 -0.000156099,0.0,137488.0,14.0 -0.00017183,0.0,137488.0,14.0 -0.000160743,0.0,137488.0,14.0 -0.000163547,0.0,137488.0,14.0 -0.00016979700000000001,0.0,137488.0,14.0 -0.000161917,0.0,137488.0,14.0 -0.000175419,0.0,137488.0,14.0 -0.00016940500000000002,0.0,137488.0,14.0 -0.000168855,0.0,137488.0,14.0 -0.00016981,0.0,137488.0,14.0 -0.000167252,0.0,137488.0,14.0 -0.000164508,0.0,137488.0,14.0 -0.000167436,0.0,137488.0,14.0 -0.000161867,0.0,137488.0,14.0 -0.000169244,0.0,137488.0,14.0 -0.00017221600000000002,0.0,137488.0,14.0 -0.000168269,0.0,137488.0,14.0 -0.000182726,0.0,137488.0,14.0 -0.000167073,0.0,137488.0,14.0 -0.00016253,0.0,137488.0,14.0 -0.000174119,0.0,137488.0,14.0 -0.00016311600000000002,0.0,137488.0,14.0 -0.00016607400000000002,0.0,137488.0,14.0 -0.000164858,0.0,137488.0,14.0 -0.000161266,0.0,137488.0,14.0 -0.000167972,0.0,137488.0,14.0 -0.000169614,0.0,137488.0,14.0 -0.00016206100000000002,0.0,137488.0,14.0 -0.000170062,0.0,137488.0,14.0 -0.000175631,0.0,137488.0,14.0 -0.000220348,0.0,137488.0,14.0 -0.00016957500000000002,0.0,137488.0,14.0 -0.000158974,0.0,137488.0,14.0 -0.000171893,0.0,137488.0,14.0 -0.000165582,0.0,137488.0,14.0 -0.000162854,0.0,137488.0,14.0 -0.000171019,0.0,137488.0,14.0 -0.000173709,0.0,137488.0,14.0 -0.000167207,0.0,137488.0,14.0 -0.000167106,0.0,137488.0,14.0 -0.00016426800000000002,0.0,137488.0,14.0 -0.00017377900000000002,0.0,137488.0,14.0 -0.00016592900000000002,0.0,137488.0,14.0 -0.00017518,0.0,137488.0,14.0 -0.00017380800000000001,0.0,137488.0,14.0 -0.000166202,0.0,137488.0,14.0 -0.000162607,0.0,137488.0,14.0 -0.000165832,0.0,137488.0,14.0 -0.00016244000000000002,0.0,137488.0,14.0 -0.000174493,0.0,137488.0,14.0 -0.000169814,0.0,137488.0,14.0 -0.00016663000000000002,0.0,137488.0,14.0 -0.00017418900000000002,0.0,137488.0,14.0 -0.000182491,0.0,137488.0,14.0 -0.00017381500000000002,0.0,137488.0,14.0 -0.000173768,0.0,137488.0,14.0 -0.000169685,0.0,137488.0,14.0 -0.000183978,0.0,137488.0,14.0 -0.00016787600000000002,0.0,137488.0,14.0 -0.00016491700000000002,0.0,137488.0,14.0 -0.00017079400000000002,0.0,137488.0,14.0 -0.00017480500000000002,0.0,137488.0,14.0 -0.000167651,0.0,137488.0,14.0 -0.000170857,0.0,137488.0,14.0 -0.000167607,0.0,137488.0,14.0 -0.00017935700000000002,0.0,137488.0,14.0 -0.000171205,0.0,137488.0,14.0 -0.00018152600000000002,0.0,137488.0,14.0 -0.000172554,0.0,137488.0,14.0 -0.000162931,0.0,137488.0,14.0 -0.00016688800000000002,0.0,137488.0,14.0 -0.000169307,0.0,137488.0,14.0 -0.000178824,0.0,137488.0,14.0 -0.00016984900000000002,0.0,137488.0,14.0 -0.000171829,0.0,137488.0,14.0 -0.00016712200000000002,0.0,137488.0,14.0 -0.00018564700000000002,0.0,137488.0,14.0 -0.00016876100000000002,0.0,137488.0,14.0 -0.000171558,0.0,137488.0,14.0 -0.000172129,0.0,137488.0,14.0 -0.00016721700000000002,0.0,137488.0,14.0 -0.00017084400000000002,0.0,137488.0,14.0 -0.00016903800000000002,0.0,137488.0,14.0 -0.000176175,0.0,137488.0,14.0 -0.000175247,0.0,137488.0,14.0 -0.000172256,0.0,137488.0,14.0 -0.00016728,0.0,137488.0,14.0 -0.00017762800000000001,0.0,137488.0,14.0 -0.00016911900000000002,0.0,137488.0,14.0 -0.00017185800000000002,0.0,137488.0,14.0 -0.000169042,0.0,137488.0,14.0 -0.00018725800000000002,0.0,137488.0,14.0 -0.004175507,0.9143972217026579,137488.0,14.0 -0.000177264,0.0,137488.0,14.0 -0.00017094,0.0,137488.0,14.0 -0.000165389,0.0,137488.0,14.0 -0.000166663,0.0,137488.0,14.0 -0.00017529900000000002,0.0,137488.0,14.0 -0.000167882,0.0,137488.0,14.0 -0.036213673,0.0,137488.0,14.0 -0.000188273,0.0,137488.0,14.0 -0.00017525,0.0,137488.0,14.0 -0.000172886,0.0,137488.0,14.0 -0.00017226600000000002,0.0,137488.0,14.0 -0.000176199,0.0,137488.0,14.0 -0.000179232,0.0,137488.0,14.0 -0.000170401,0.0,137488.0,14.0 -0.000170544,0.0,137488.0,14.0 -0.00017014300000000001,0.0,137488.0,14.0 -0.00016856500000000002,0.0,137488.0,14.0 -0.000170048,0.0,137488.0,14.0 -0.000163835,0.0,137488.0,14.0 -0.00017724800000000002,0.0,137488.0,14.0 -0.000168314,0.0,137488.0,14.0 -0.000175451,0.0,137488.0,14.0 -0.00017422300000000002,0.0,137488.0,14.0 -0.00017032900000000002,0.0,137488.0,14.0 -0.00017356,0.0,137488.0,14.0 -0.000169647,0.0,137488.0,14.0 -0.00016722200000000002,0.0,137488.0,14.0 -0.00017824300000000002,0.0,137488.0,14.0 -0.000179013,0.0,137488.0,14.0 -0.00018648900000000002,0.0,137488.0,14.0 -0.00016835100000000001,0.0,137488.0,14.0 -0.00016541,0.0,137488.0,14.0 -0.000169674,0.0,137488.0,14.0 -0.00016647800000000001,0.0,137488.0,14.0 -0.000168659,0.0,137488.0,14.0 -0.000176842,0.0,137488.0,14.0 -0.000166319,0.0,137488.0,14.0 -0.000164845,0.0,137488.0,14.0 -0.00016192300000000001,0.0,137488.0,14.0 -0.00017184100000000002,0.0,137488.0,14.0 -0.00016409900000000002,0.0,137488.0,14.0 -0.00017252600000000002,0.0,137488.0,14.0 -0.00016831500000000002,0.0,137488.0,14.0 -0.00016786600000000002,0.0,137488.0,14.0 -0.000169881,0.0,137488.0,14.0 -0.00017230200000000002,0.0,137488.0,14.0 -0.000164171,0.0,137488.0,14.0 -0.000166285,0.0,137488.0,14.0 -0.000176999,0.0,137488.0,14.0 -0.000174369,0.0,137488.0,14.0 -0.00016889900000000002,0.0,137488.0,14.0 -0.000169232,0.0,137488.0,14.0 -0.00017657100000000001,0.0,137488.0,14.0 -0.00017423000000000002,0.0,137488.0,14.0 -0.000165283,0.0,137488.0,14.0 -0.000170643,0.0,137488.0,14.0 -0.000171688,0.0,137488.0,14.0 -0.00016660900000000002,0.0,137488.0,14.0 -0.000170907,0.0,137488.0,14.0 -0.00016841500000000002,0.0,137488.0,14.0 -0.000164159,0.0,137488.0,14.0 -0.000166076,0.0,137488.0,14.0 -0.00016411500000000002,0.0,137488.0,14.0 -0.000162296,0.0,137488.0,14.0 -0.000164441,0.0,137488.0,14.0 -0.000167493,0.0,137488.0,14.0 -0.000183081,0.0,137488.0,14.0 -0.00016680000000000002,0.0,137488.0,14.0 -0.000169099,0.0,137488.0,14.0 -0.000186051,0.0,137488.0,14.0 -0.00018014200000000002,0.0,137488.0,14.0 -0.00016961500000000002,0.0,137488.0,14.0 -0.00016237100000000002,0.0,137488.0,14.0 -0.00016817900000000002,0.0,137488.0,14.0 -0.000170098,0.0,137488.0,14.0 -0.00017150500000000002,0.0,137488.0,14.0 -0.024209555,0.0,137488.0,14.0 -0.00017104200000000002,0.0,137488.0,14.0 -0.000168574,0.0,137488.0,14.0 -0.000163832,0.0,137488.0,14.0 -0.00017318700000000002,0.0,137488.0,14.0 -0.00016606000000000002,0.0,137488.0,14.0 -0.000164122,0.0,137488.0,14.0 -0.00017855300000000002,0.0,137488.0,14.0 -0.00017747500000000002,0.0,137488.0,14.0 -0.00017481200000000002,0.0,137488.0,14.0 -0.00017146900000000002,0.0,137488.0,14.0 -0.000165472,0.0,137488.0,14.0 -0.00017000400000000002,0.0,137488.0,14.0 -0.000163981,0.0,137488.0,14.0 -0.00016237400000000001,0.0,137488.0,14.0 -0.00016072000000000002,0.0,137488.0,14.0 -0.00016439500000000001,0.0,137488.0,14.0 -0.000169476,0.0,137488.0,14.0 -0.000159838,0.0,137488.0,14.0 -0.000162134,0.0,137488.0,14.0 -0.000163322,0.0,137488.0,14.0 -0.000164732,0.0,137488.0,14.0 -0.000170542,0.0,137488.0,14.0 -0.000179103,0.0,137488.0,14.0 -0.00016542100000000001,0.0,137488.0,14.0 -0.00016668800000000001,0.0,137488.0,14.0 -0.000169528,0.0,137488.0,14.0 -0.00017576200000000002,0.0,137488.0,14.0 -0.000170056,0.0,137488.0,14.0 -0.00016876300000000002,0.0,137488.0,14.0 -0.00017640800000000002,0.0,137488.0,14.0 -0.00016596500000000001,0.0,137488.0,14.0 -0.000171342,0.0,137488.0,14.0 -0.00016606000000000002,0.0,137488.0,14.0 -0.000167588,0.0,137488.0,14.0 -0.000169781,0.0,137488.0,14.0 -0.000164654,0.0,137488.0,14.0 -0.000168201,0.0,137488.0,14.0 -0.000164993,0.0,137488.0,14.0 -0.00017369500000000002,0.0,137488.0,14.0 -0.00017253,0.0,137488.0,14.0 -0.000170294,0.0,137488.0,14.0 -0.000174758,0.0,137488.0,14.0 -0.000163759,0.0,137488.0,14.0 -0.000169249,0.0,137488.0,14.0 -0.00016705300000000001,0.0,137488.0,14.0 -0.000166538,0.0,137488.0,14.0 -0.00018771,0.0,137488.0,14.0 -0.000172893,0.0,137488.0,14.0 -0.00016588,0.0,137488.0,14.0 -0.000177677,0.0,137488.0,14.0 -0.000165952,0.0,137488.0,14.0 -0.000171706,0.0,137488.0,14.0 -0.000168853,0.0,137488.0,14.0 -0.00017127600000000002,0.0,137488.0,14.0 -0.00016391500000000002,0.0,137488.0,14.0 -0.00016599800000000002,0.0,137488.0,14.0 -0.000161934,0.0,137488.0,14.0 -0.000175538,0.0,137488.0,14.0 -0.000177691,0.0,137488.0,14.0 -0.000168669,0.0,137488.0,14.0 -0.000161468,0.0,137488.0,14.0 -0.000180124,0.0,137488.0,14.0 -0.000165371,0.0,137488.0,14.0 -0.000162976,0.0,137488.0,14.0 -0.00017932200000000002,0.0,137488.0,14.0 -0.000173002,0.0,137488.0,14.0 -0.000168282,0.0,137488.0,14.0 -0.00016507000000000002,0.0,137488.0,14.0 -0.00017953,0.0,137488.0,14.0 -0.024198590000000002,0.0,137488.0,14.0 -0.000175887,0.0,137488.0,14.0 -0.000150777,0.0,137488.0,14.0 -0.00016960300000000002,0.0,137488.0,14.0 -0.000171389,0.0,137488.0,14.0 -0.000167679,0.0,137488.0,14.0 -0.00015721500000000002,0.0,137488.0,14.0 -0.00015819600000000001,0.0,137488.0,14.0 -0.000159907,0.0,137488.0,14.0 -0.00016122,0.0,137488.0,14.0 -0.00017128,0.0,137488.0,14.0 -0.000152998,0.0,137488.0,14.0 -0.000153859,0.0,137488.0,14.0 -0.00015905700000000002,0.0,137488.0,14.0 -0.000161037,0.0,137488.0,14.0 -0.0001563,0.0,137488.0,14.0 -0.000158109,0.0,137488.0,14.0 -0.00015345900000000002,0.0,137488.0,14.0 -0.000173362,0.0,137488.0,14.0 -0.000159836,0.0,137488.0,14.0 -0.00016318700000000002,0.0,137488.0,14.0 -0.00015865,0.0,137488.0,14.0 -0.00015438300000000002,0.0,137488.0,14.0 -0.00016334000000000002,0.0,137488.0,14.0 -0.000166157,0.0,137488.0,14.0 -0.000163782,0.0,137488.0,14.0 -0.000167373,0.0,137488.0,14.0 -0.000169564,0.0,137488.0,14.0 -0.000170597,0.0,137488.0,14.0 -0.00016743000000000001,0.0,137488.0,14.0 -0.000178249,0.0,137488.0,14.0 -0.00017160500000000002,0.0,137488.0,14.0 -0.000172695,0.0,137488.0,14.0 -0.00024377,0.0,137488.0,14.0 -0.000275853,0.0,137488.0,14.0 -0.000287387,0.0,137488.0,14.0 -0.000272136,0.0,137488.0,14.0 -0.000276472,0.0,137488.0,14.0 -0.000279593,0.0,137488.0,14.0 -0.00028078,0.0,137488.0,14.0 -0.000275024,0.0,137488.0,14.0 -0.000285178,0.0,137488.0,14.0 -0.00028686,0.0,137488.0,14.0 -0.00029296700000000004,0.0,137488.0,14.0 -0.000275392,0.0,137488.0,14.0 -0.000284458,0.0,137488.0,14.0 -0.000281463,0.0,137488.0,14.0 -0.000281668,0.0,137488.0,14.0 -0.000280873,0.0,137488.0,14.0 -0.000286219,0.0,137488.0,14.0 -0.000275702,0.0,137488.0,14.0 -0.00028639700000000003,0.0,137488.0,14.0 -0.00027516300000000004,0.0,137488.0,14.0 -0.000280529,0.0,137488.0,14.0 -0.000278646,0.0,137488.0,14.0 -0.00028378100000000004,0.0,137488.0,14.0 -0.024311979,0.0,137488.0,14.0 -0.000304877,0.0,137488.0,14.0 -0.00027839,0.0,137488.0,14.0 -0.000284618,0.0,137488.0,14.0 -0.00027985900000000003,0.0,137488.0,14.0 -0.000278283,0.0,137488.0,14.0 -0.000283811,0.0,137488.0,14.0 -0.000281132,0.0,137488.0,14.0 -0.000277028,0.0,137488.0,14.0 -0.000281413,0.0,137488.0,14.0 -0.00027187200000000004,0.0,137488.0,14.0 -0.000283356,0.0,137488.0,14.0 -0.000289428,0.0,137488.0,14.0 -0.000280308,0.0,137488.0,14.0 -0.00030236200000000003,0.0,137488.0,14.0 -0.000281152,0.0,137488.0,14.0 -0.00027388200000000003,0.0,137488.0,14.0 -0.00027475300000000003,0.0,137488.0,14.0 -0.000281091,0.0,137488.0,14.0 -0.00027647500000000004,0.0,137488.0,14.0 -0.000277957,0.0,137488.0,14.0 -0.00027451,0.0,137488.0,14.0 -0.000284009,0.0,137488.0,14.0 -0.000271757,0.0,137488.0,14.0 -0.000287219,0.0,137488.0,14.0 -0.000275677,0.0,137488.0,14.0 -0.000276842,0.0,137488.0,14.0 -0.000279703,0.0,137488.0,14.0 -0.000299699,0.0,137488.0,14.0 -0.000279218,0.0,137488.0,14.0 -0.00028012800000000004,0.0,137488.0,14.0 -0.00027646,0.0,137488.0,14.0 -0.00028346,0.0,137488.0,14.0 -0.00027538700000000004,0.0,137488.0,14.0 -0.000273733,0.0,137488.0,14.0 -0.000277164,0.0,137488.0,14.0 -0.000280181,0.0,137488.0,14.0 -0.000273482,0.0,137488.0,14.0 -0.00027703900000000003,0.0,137488.0,14.0 -0.000278219,0.0,137488.0,14.0 -0.00028161500000000003,0.0,137488.0,14.0 -0.000276741,0.0,137488.0,14.0 -0.00027659,0.0,137488.0,14.0 -0.024319195000000002,0.0,137488.0,14.0 -0.000298485,0.0,137488.0,14.0 -0.000278066,0.0,137488.0,14.0 -0.00028302700000000004,0.0,137488.0,14.0 -0.00027246000000000003,0.0,137488.0,14.0 -0.000280075,0.0,137488.0,14.0 -0.00028093700000000004,0.0,137488.0,14.0 -0.00028598100000000004,0.0,137488.0,14.0 -0.000274796,0.0,137488.0,14.0 -0.0002819,0.0,137488.0,14.0 -0.000271518,0.0,137488.0,14.0 -0.00027902,0.0,137488.0,14.0 -0.000270128,0.0,137488.0,14.0 -0.000287829,0.0,137488.0,14.0 -0.000286815,0.0,137488.0,14.0 -0.000282449,0.0,137488.0,14.0 -0.00027548000000000004,0.0,137488.0,14.0 -0.000281321,0.0,137488.0,14.0 -0.000276247,0.0,137488.0,14.0 -0.00028160100000000003,0.0,137488.0,14.0 -0.000274311,0.0,137488.0,14.0 -0.000278187,0.0,137488.0,14.0 -0.00027673600000000003,0.0,137488.0,14.0 -0.000279285,0.0,137488.0,14.0 -0.00027456000000000003,0.0,137488.0,14.0 -0.000286919,0.0,137488.0,14.0 -0.000273814,0.0,137488.0,14.0 -0.000278471,0.0,137488.0,14.0 -0.00028819500000000004,0.0,137488.0,14.0 -0.00027977300000000003,0.0,137488.0,14.0 -0.000275276,0.0,137488.0,14.0 -0.00028041300000000003,0.0,137488.0,14.0 -0.000277252,0.0,137488.0,14.0 -0.000280395,0.0,137488.0,14.0 -0.000272572,0.0,137488.0,14.0 -0.00028486500000000003,0.0,137488.0,14.0 -0.000267491,0.0,137488.0,14.0 -0.000281283,0.0,137488.0,14.0 -0.000274752,0.0,137488.0,14.0 -0.00028137400000000003,0.0,137488.0,14.0 -0.000283351,0.0,137488.0,14.0 -0.000283503,0.0,137488.0,14.0 -0.024316295,0.0,137488.0,14.0 -0.000298063,0.0,137488.0,14.0 -0.000280295,0.0,137488.0,14.0 -0.00027775600000000004,0.0,137488.0,14.0 -0.000286702,0.0,137488.0,14.0 -0.00027546600000000004,0.0,137488.0,14.0 -0.000285429,0.0,137488.0,14.0 -0.000283307,0.0,137488.0,14.0 -0.00027977000000000004,0.0,137488.0,14.0 -0.000274451,0.0,137488.0,14.0 -0.000279933,0.0,137488.0,14.0 -0.00028082700000000004,0.0,137488.0,14.0 -0.00028410800000000004,0.0,137488.0,14.0 -0.00027155,0.0,137488.0,14.0 -0.000298748,0.0,137488.0,14.0 -0.000285088,0.0,137488.0,14.0 -0.00028366400000000004,0.0,137488.0,14.0 -0.000279086,0.0,137488.0,14.0 -0.00027377600000000004,0.0,137488.0,14.0 -0.00027303900000000004,0.0,137488.0,14.0 -0.000279314,0.0,137488.0,14.0 -0.000276136,0.0,137488.0,14.0 -0.000287046,0.0,137488.0,14.0 -0.000279204,0.0,137488.0,14.0 -0.000282702,0.0,137488.0,14.0 -0.000279351,0.0,137488.0,14.0 -0.000277854,0.0,137488.0,14.0 -0.00027587900000000003,0.0,137488.0,14.0 -0.000297451,0.0,137488.0,14.0 -0.000273002,0.0,137488.0,14.0 -0.000280842,0.0,137488.0,14.0 -0.000281517,0.0,137488.0,14.0 -0.000277696,0.0,137488.0,14.0 -0.000274716,0.0,137488.0,14.0 -0.00028224500000000003,0.0,137488.0,14.0 -0.000281206,0.0,137488.0,14.0 -0.00027976600000000003,0.0,137488.0,14.0 -0.00028141500000000003,0.0,137488.0,14.0 -0.000288485,0.0,137488.0,14.0 -0.000276731,0.0,137488.0,14.0 -0.00028091600000000003,0.0,137488.0,14.0 -0.000279729,0.0,137488.0,14.0 -0.024306845,0.0,137488.0,14.0 -0.000307222,0.0,137488.0,14.0 -0.0017649500000000002,0.7858449247854047,137488.0,14.0 -0.00017241,0.0,137488.0,14.0 -0.00016352,0.0,137488.0,14.0 -0.000169134,0.0,137488.0,14.0 -0.000169469,0.0,137488.0,14.0 -0.000172437,0.0,137488.0,14.0 -0.00017084,0.0,137488.0,14.0 -0.00017589500000000002,0.0,137488.0,14.0 -0.00016943600000000002,0.0,137488.0,14.0 -0.00017403,0.0,137488.0,14.0 -0.000173126,0.0,137488.0,14.0 -0.000184863,0.0,137488.0,14.0 -0.00018246900000000002,0.0,137488.0,14.0 -0.00018975800000000002,0.0,137488.0,14.0 -0.000168497,0.0,137488.0,14.0 -0.00016735,0.0,137488.0,14.0 -0.000178848,0.0,137488.0,14.0 -0.00017171000000000002,0.0,137488.0,14.0 -0.00016927,0.0,137488.0,14.0 -0.000177175,0.0,137488.0,14.0 -0.00016939600000000002,0.0,137488.0,14.0 -0.00017394,0.0,137488.0,14.0 -0.00018214000000000001,0.0,137488.0,14.0 -0.000174751,0.0,137488.0,14.0 -0.000173983,0.0,137488.0,14.0 -0.00018083000000000002,0.0,137488.0,14.0 -0.00017500100000000001,0.0,137488.0,14.0 -0.000175052,0.0,137488.0,14.0 -0.000178535,0.0,137488.0,14.0 -0.00018032900000000001,0.0,137488.0,14.0 -0.000168758,0.0,137488.0,14.0 -0.000170482,0.0,137488.0,14.0 -0.000171642,0.0,137488.0,14.0 -0.000170705,0.0,137488.0,14.0 -0.000182959,0.0,137488.0,14.0 -0.000173592,0.0,137488.0,14.0 -0.00016734600000000002,0.0,137488.0,14.0 -0.000168786,0.0,137488.0,14.0 -0.00016766,0.0,137488.0,14.0 -0.00017198500000000001,0.0,137488.0,14.0 -0.00016644700000000001,0.0,137488.0,14.0 -0.00017177000000000002,0.0,137488.0,14.0 -0.000175529,0.0,137488.0,14.0 -0.00017609,0.0,137488.0,14.0 -0.00017358100000000002,0.0,137488.0,14.0 -0.000173189,0.0,137488.0,14.0 -0.00017724300000000002,0.0,137488.0,14.0 -0.000175686,0.0,137488.0,14.0 -0.00017203700000000002,0.0,137488.0,14.0 -0.00017043100000000002,0.0,137488.0,14.0 -0.000167753,0.0,137488.0,14.0 -0.000165448,0.0,137488.0,14.0 -0.000170476,0.0,137488.0,14.0 -0.00017122800000000002,0.0,137488.0,14.0 -0.00017465000000000002,0.0,137488.0,14.0 -0.000166937,0.0,137488.0,14.0 -0.000172033,0.0,137488.0,14.0 -0.024211944000000003,0.0,137488.0,14.0 -0.000191604,0.0,137488.0,14.0 -0.000174443,0.0,137488.0,14.0 -0.00016515800000000002,0.0,137488.0,14.0 -0.00017167700000000002,0.0,137488.0,14.0 -0.000166691,0.0,137488.0,14.0 -0.00017627900000000002,0.0,137488.0,14.0 -0.00016839,0.0,137488.0,14.0 -0.00017719300000000002,0.0,137488.0,14.0 -0.00016974200000000002,0.0,137488.0,14.0 +0.0001653998,0.0,137488.0,14.0 +0.0001682962,0.0,137488.0,14.0 +0.0001672737,0.0,137488.0,14.0 +0.0001673949,0.0,137488.0,14.0 +0.00017104230000000001,0.0,137488.0,14.0 +0.0001709688,0.0,137488.0,14.0 +0.0001741464,0.0,137488.0,14.0 +0.00016960020000000002,0.0,137488.0,14.0 +0.00022065700000000003,0.0,137488.0,14.0 +0.00027926860000000004,0.0,137488.0,14.0 +0.00028276260000000003,0.0,137488.0,14.0 +0.0002821352,0.0,137488.0,14.0 +0.00028169590000000003,0.0,137488.0,14.0 +0.0003087459,0.0,137488.0,14.0 +0.00028131,0.0,137488.0,14.0 +0.000311509,0.0,137488.0,14.0 +0.00028202990000000003,0.0,137488.0,14.0 +0.0002797158,0.0,137488.0,14.0 +0.000280051,0.0,137488.0,14.0 +0.00028021890000000003,0.0,137488.0,14.0 +0.0002832396,0.0,137488.0,14.0 +0.00028345110000000003,0.0,137488.0,14.0 +0.0002815447,0.0,137488.0,14.0 +0.0003059337,0.0,137488.0,14.0 +0.00028921100000000005,0.0,137488.0,14.0 +0.0002881814,0.0,137488.0,14.0 +0.0002861021,0.0,137488.0,14.0 +0.0002880105,0.0,137488.0,14.0 +0.0003186193,0.0,137488.0,14.0 +0.0002965085,0.0,137488.0,14.0 +0.00028692240000000003,0.0,137488.0,14.0 +0.0002882876,0.0,137488.0,14.0 +0.0003322606,0.41459384591492343,137488.0,14.0 +0.0001697537,0.0,137488.0,14.0 +0.00016827410000000003,0.0,137488.0,14.0 +0.0001699804,0.0,137488.0,14.0 +0.00017014420000000002,0.0,137488.0,14.0 +0.00016764490000000003,0.0,137488.0,14.0 +0.0001756261,0.0,137488.0,14.0 +0.00016887220000000002,0.0,137488.0,14.0 +0.00016880710000000002,0.0,137488.0,14.0 +0.0001686724,0.0,137488.0,14.0 +0.0001642412,0.0,137488.0,14.0 +0.0001699126,0.0,137488.0,14.0 +0.0001691603,0.0,137488.0,14.0 +0.00016897830000000001,0.0,137488.0,14.0 +0.0001691286,0.0,137488.0,14.0 +0.0001697284,0.0,137488.0,14.0 +0.0001740856,0.0,137488.0,14.0 +0.00017426920000000002,0.0,137488.0,14.0 +0.00017220740000000001,0.0,137488.0,14.0 +0.0001696722,0.0,137488.0,14.0 +0.0001692733,0.0,137488.0,14.0 +0.00016627360000000003,0.0,137488.0,14.0 +0.00016714260000000002,0.0,137488.0,14.0 +0.0001699472,0.0,137488.0,14.0 +0.0001694958,0.0,137488.0,14.0 +0.0001726206,0.0,137488.0,14.0 +0.00016952660000000002,0.0,137488.0,14.0 +0.0001706474,0.0,137488.0,14.0 +0.00016684400000000003,0.0,137488.0,14.0 +0.0001677965,0.0,137488.0,14.0 +0.0001701084,0.0,137488.0,14.0 +0.00016916020000000003,0.0,137488.0,14.0 +0.00016999830000000003,0.0,137488.0,14.0 +0.00031904110000000003,0.4269528283346566,137488.0,14.0 +0.00017589650000000002,0.0,137488.0,14.0 +0.00017336060000000002,0.0,137488.0,14.0 +0.0001741989,0.0,137488.0,14.0 +0.0001707288,0.0,137488.0,14.0 +0.000170338,0.0,137488.0,14.0 +0.0001668703,0.0,137488.0,14.0 +0.0001697619,0.0,137488.0,14.0 +0.0001697322,0.0,137488.0,14.0 +0.00016930850000000002,0.0,137488.0,14.0 +0.0001720533,0.0,137488.0,14.0 +0.0001685864,0.0,137488.0,14.0 +0.00016936820000000002,0.0,137488.0,14.0 +0.0001691248,0.0,137488.0,14.0 +0.00017091460000000003,0.0,137488.0,14.0 +0.00017163030000000003,0.0,137488.0,14.0 +0.0001745559,0.0,137488.0,14.0 +0.00017270120000000003,0.0,137488.0,14.0 +0.00017055140000000002,0.0,137488.0,14.0 +0.00017101890000000003,0.0,137488.0,14.0 +0.0001690204,0.0,137488.0,14.0 +0.00017177440000000003,0.0,137488.0,14.0 +0.0001714278,0.0,137488.0,14.0 +0.00017161000000000002,0.0,137488.0,14.0 +0.0001711453,0.0,137488.0,14.0 +0.00016926040000000002,0.0,137488.0,14.0 +0.0001709978,0.0,137488.0,14.0 +0.00016795520000000003,0.0,137488.0,14.0 +0.00017036970000000002,0.0,137488.0,14.0 +0.0001672242,0.0,137488.0,14.0 +0.0001652714,0.0,137488.0,14.0 +0.0001675774,0.0,137488.0,14.0 +0.0001657149,0.0,137488.0,14.0 +0.0007679363000000001,0.7594649452044395,137488.0,14.0 +0.0001748201,0.0,137488.0,14.0 +0.0001744558,0.0,137488.0,14.0 +0.0001731051,0.0,137488.0,14.0 +0.0001723967,0.0,137488.0,14.0 +0.0001728902,0.0,137488.0,14.0 +0.00017348070000000002,0.0,137488.0,14.0 +0.00016967270000000002,0.0,137488.0,14.0 +0.00017393820000000001,0.0,137488.0,14.0 +0.00017063450000000003,0.0,137488.0,14.0 +0.0002109516,0.0,137488.0,14.0 +0.0002751027,0.0,137488.0,14.0 +0.0002800677,0.0,137488.0,14.0 +0.0002819476,0.0,137488.0,14.0 +0.0002821537,0.0,137488.0,14.0 +0.00028209320000000004,0.0,137488.0,14.0 +0.0002833735,0.0,137488.0,14.0 +0.0002849978,0.0,137488.0,14.0 +0.0002861554,0.0,137488.0,14.0 +0.0002829276,0.0,137488.0,14.0 +0.00028071890000000004,0.0,137488.0,14.0 +0.0002800251,0.0,137488.0,14.0 +0.00029545670000000006,0.0,137488.0,14.0 +0.000285573,0.0,137488.0,14.0 +0.0003044809,0.0,137488.0,14.0 +0.00028594330000000003,0.0,137488.0,14.0 +0.0003086728,0.0,137488.0,14.0 +0.0002879994,0.0,137488.0,14.0 +0.0002850654,0.0,137488.0,14.0 +0.000288049,0.0,137488.0,14.0 +0.0002888912,0.0,137488.0,14.0 +0.000287748,0.0,137488.0,14.0 +0.00029002300000000004,0.0,137488.0,14.0 +0.0002892997,0.0,137488.0,14.0 +0.00033604150000000004,0.4045357493047734,137488.0,14.0 +0.00016719910000000002,0.0,137488.0,14.0 +0.0001706641,0.0,137488.0,14.0 +0.00016888880000000002,0.0,137488.0,14.0 +0.0001696241,0.0,137488.0,14.0 +0.0001695988,0.0,137488.0,14.0 +0.00017085580000000003,0.0,137488.0,14.0 +0.0001750061,0.0,137488.0,14.0 +0.00017006010000000002,0.0,137488.0,14.0 +0.0001755833,0.0,137488.0,14.0 +0.00016989430000000002,0.0,137488.0,14.0 +0.0017726187000000001,0.0,137488.0,14.0 +0.0001694911,0.0,137488.0,14.0 +0.0001684102,0.0,137488.0,14.0 +0.0001692722,0.0,137488.0,14.0 +0.0001669707,0.0,137488.0,14.0 +0.00017175780000000003,0.0,137488.0,14.0 +0.00017383810000000003,0.0,137488.0,14.0 0.000170922,0.0,137488.0,14.0 -0.00017027,0.0,137488.0,14.0 -0.00017362900000000001,0.0,137488.0,14.0 -0.000187257,0.0,137488.0,14.0 -0.00019113500000000002,0.0,137488.0,14.0 -0.000170877,0.0,137488.0,14.0 -0.00016955600000000001,0.0,137488.0,14.0 -0.00017359800000000001,0.0,137488.0,14.0 -0.000171659,0.0,137488.0,14.0 -0.00018022800000000002,0.0,137488.0,14.0 -0.000174634,0.0,137488.0,14.0 -0.000166598,0.0,137488.0,14.0 -0.00016734,0.0,137488.0,14.0 -0.00018533000000000002,0.0,137488.0,14.0 -0.00017668500000000002,0.0,137488.0,14.0 -0.000173477,0.0,137488.0,14.0 -0.000177813,0.0,137488.0,14.0 -0.000173262,0.0,137488.0,14.0 -0.000178919,0.0,137488.0,14.0 -0.000173671,0.0,137488.0,14.0 -0.000165415,0.0,137488.0,14.0 -0.00016875400000000002,0.0,137488.0,14.0 -0.00016984000000000001,0.0,137488.0,14.0 -0.000165234,0.0,137488.0,14.0 -0.000170154,0.0,137488.0,14.0 -0.00016675200000000002,0.0,137488.0,14.0 -0.00017583100000000002,0.0,137488.0,14.0 -0.00017781,0.0,137488.0,14.0 -0.000166374,0.0,137488.0,14.0 -0.00016624900000000001,0.0,137488.0,14.0 -0.000176799,0.0,137488.0,14.0 -0.00016893800000000001,0.0,137488.0,14.0 -0.00017613200000000001,0.0,137488.0,14.0 -0.000166075,0.0,137488.0,14.0 -0.000174773,0.0,137488.0,14.0 -0.000179032,0.0,137488.0,14.0 -0.000198082,0.0,137488.0,14.0 -0.000174556,0.0,137488.0,14.0 -0.000167302,0.0,137488.0,14.0 -0.00016666600000000002,0.0,137488.0,14.0 -0.00017808100000000002,0.0,137488.0,14.0 -0.000170772,0.0,137488.0,14.0 -0.000166805,0.0,137488.0,14.0 -0.0001733,0.0,137488.0,14.0 -0.000175536,0.0,137488.0,14.0 -0.000169993,0.0,137488.0,14.0 -0.00017069,0.0,137488.0,14.0 -0.00016745800000000002,0.0,137488.0,14.0 -0.00016363600000000002,0.0,137488.0,14.0 -0.00016882300000000002,0.0,137488.0,14.0 -0.00016569700000000002,0.0,137488.0,14.0 -0.000168572,0.0,137488.0,14.0 -0.00017977300000000002,0.0,137488.0,14.0 -0.000169394,0.0,137488.0,14.0 -0.000170666,0.0,137488.0,14.0 -0.000178643,0.0,137488.0,14.0 -0.000171692,0.0,137488.0,14.0 -0.00016901200000000001,0.0,137488.0,14.0 -0.000172119,0.0,137488.0,14.0 -0.024207629,0.0,137488.0,14.0 -0.0001896,0.0,137488.0,14.0 -0.000178591,0.0,137488.0,14.0 -0.00017034800000000002,0.0,137488.0,14.0 -0.00017557800000000002,0.0,137488.0,14.0 -0.000167496,0.0,137488.0,14.0 -0.000172334,0.0,137488.0,14.0 -0.000168514,0.0,137488.0,14.0 -0.00016695500000000002,0.0,137488.0,14.0 -0.00016773000000000002,0.0,137488.0,14.0 -0.000179149,0.0,137488.0,14.0 -0.000177338,0.0,137488.0,14.0 -0.000175383,0.0,137488.0,14.0 -0.000174038,0.0,137488.0,14.0 -0.00017173600000000002,0.0,137488.0,14.0 -0.00016838200000000002,0.0,137488.0,14.0 -0.00017645100000000002,0.0,137488.0,14.0 -0.00017014000000000002,0.0,137488.0,14.0 -0.00017111400000000002,0.0,137488.0,14.0 -0.000164747,0.0,137488.0,14.0 -0.000172293,0.0,137488.0,14.0 -0.000176665,0.0,137488.0,14.0 -0.000173916,0.0,137488.0,14.0 -0.000187953,0.0,137488.0,14.0 -0.000179196,0.0,137488.0,14.0 -0.000174537,0.0,137488.0,14.0 -0.000184945,0.0,137488.0,14.0 -0.00016781100000000002,0.0,137488.0,14.0 -0.00016896400000000002,0.0,137488.0,14.0 -0.000170234,0.0,137488.0,14.0 -0.00016496700000000002,0.0,137488.0,14.0 -0.000181287,0.0,137488.0,14.0 -0.00017163400000000002,0.0,137488.0,14.0 -0.000165484,0.0,137488.0,14.0 -0.00017584000000000002,0.0,137488.0,14.0 -0.00016831000000000002,0.0,137488.0,14.0 -0.00016808,0.0,137488.0,14.0 -0.00017661600000000002,0.0,137488.0,14.0 -0.00017373600000000002,0.0,137488.0,14.0 -0.000166915,0.0,137488.0,14.0 -0.000175236,0.0,137488.0,14.0 -0.000172532,0.0,137488.0,14.0 -0.000166107,0.0,137488.0,14.0 -0.00017106,0.0,137488.0,14.0 -0.000180571,0.0,137488.0,14.0 -0.000170609,0.0,137488.0,14.0 -0.000184088,0.0,137488.0,14.0 -0.000177106,0.0,137488.0,14.0 -0.00016942200000000002,0.0,137488.0,14.0 -0.000177932,0.0,137488.0,14.0 -0.000173517,0.0,137488.0,14.0 -0.00016758000000000002,0.0,137488.0,14.0 -0.000181267,0.0,137488.0,14.0 -0.000176899,0.0,137488.0,14.0 -0.00017948900000000002,0.0,137488.0,14.0 -0.00017602200000000002,0.0,137488.0,14.0 -0.000171199,0.0,137488.0,14.0 -0.000168612,0.0,137488.0,14.0 -0.000165395,0.0,137488.0,14.0 -0.000167707,0.0,137488.0,14.0 -0.000176422,0.0,137488.0,14.0 -0.00016732900000000002,0.0,137488.0,14.0 -0.00017170800000000002,0.0,137488.0,14.0 -0.000167944,0.0,137488.0,14.0 -0.000168689,0.0,137488.0,14.0 -0.000166937,0.0,137488.0,14.0 -0.000171733,0.0,137488.0,14.0 -0.000166095,0.0,137488.0,14.0 -0.000175293,0.0,137488.0,14.0 -0.024209416,0.0,137488.0,14.0 -0.000186557,0.0,137488.0,14.0 -0.000171926,0.0,137488.0,14.0 -0.000165716,0.0,137488.0,14.0 -0.000170318,0.0,137488.0,14.0 -0.00016548500000000002,0.0,137488.0,14.0 -0.000174727,0.0,137488.0,14.0 -0.000177343,0.0,137488.0,14.0 -0.000170905,0.0,137488.0,14.0 -0.00017092500000000002,0.0,137488.0,14.0 -0.00017887,0.0,137488.0,14.0 -0.000168824,0.0,137488.0,14.0 -0.00017678100000000001,0.0,137488.0,14.0 -0.000163661,0.0,137488.0,14.0 -0.000176734,0.0,137488.0,14.0 -0.00017221,0.0,137488.0,14.0 -0.000169783,0.0,137488.0,14.0 -0.000164987,0.0,137488.0,14.0 -0.00017740800000000002,0.0,137488.0,14.0 -0.00016898,0.0,137488.0,14.0 -0.000179599,0.0,137488.0,14.0 -0.000170504,0.0,137488.0,14.0 -0.000169882,0.0,137488.0,14.0 -0.00019091300000000002,0.0,137488.0,14.0 -0.00017843,0.0,137488.0,14.0 -0.00017033100000000002,0.0,137488.0,14.0 -0.000181156,0.0,137488.0,14.0 -0.00016408700000000002,0.0,137488.0,14.0 -0.00017373600000000002,0.0,137488.0,14.0 -0.000167966,0.0,137488.0,14.0 -0.000169743,0.0,137488.0,14.0 -0.000179158,0.0,137488.0,14.0 -0.00017622900000000002,0.0,137488.0,14.0 -0.000165248,0.0,137488.0,14.0 -0.00017505500000000002,0.0,137488.0,14.0 -0.000165692,0.0,137488.0,14.0 -0.000173981,0.0,137488.0,14.0 -0.00016484300000000002,0.0,137488.0,14.0 -0.00016657800000000002,0.0,137488.0,14.0 -0.00017373100000000002,0.0,137488.0,14.0 -0.000168595,0.0,137488.0,14.0 -0.00016959600000000002,0.0,137488.0,14.0 -0.00016868500000000002,0.0,137488.0,14.0 -0.000166698,0.0,137488.0,14.0 -0.000175579,0.0,137488.0,14.0 -0.000165868,0.0,137488.0,14.0 -0.000181824,0.0,137488.0,14.0 -0.00017750100000000002,0.0,137488.0,14.0 -0.00016758500000000002,0.0,137488.0,14.0 -0.000168283,0.0,137488.0,14.0 -0.00017467,0.0,137488.0,14.0 -0.000164756,0.0,137488.0,14.0 -0.00017043400000000002,0.0,137488.0,14.0 -0.00016480300000000001,0.0,137488.0,14.0 -0.000165593,0.0,137488.0,14.0 -0.000179049,0.0,137488.0,14.0 -0.00016714300000000002,0.0,137488.0,14.0 -0.000169413,0.0,137488.0,14.0 -0.000180564,0.0,137488.0,14.0 -0.00016773500000000002,0.0,137488.0,14.0 -0.00017550900000000002,0.0,137488.0,14.0 -0.000160864,0.0,137488.0,14.0 -0.000166631,0.0,137488.0,14.0 -0.000179344,0.0,137488.0,14.0 -0.000177572,0.0,137488.0,14.0 -0.000168524,0.0,137488.0,14.0 -0.00017574300000000001,0.0,137488.0,14.0 -0.00016833600000000002,0.0,137488.0,14.0 -0.000167689,0.0,137488.0,14.0 -0.024199458,0.0,137488.0,14.0 -0.000187784,0.0,137488.0,14.0 -0.00017739900000000001,0.0,137488.0,14.0 -0.000170198,0.0,137488.0,14.0 -0.000171201,0.0,137488.0,14.0 -0.00017813300000000002,0.0,137488.0,14.0 -0.000174264,0.0,137488.0,14.0 -0.00018983500000000001,0.0,137488.0,14.0 -0.000168841,0.0,137488.0,14.0 -0.00017768500000000002,0.0,137488.0,14.0 -0.000181031,0.0,137488.0,14.0 -0.000167087,0.0,137488.0,14.0 -0.000176386,0.0,137488.0,14.0 -0.000176297,0.0,137488.0,14.0 -0.000171805,0.0,137488.0,14.0 -0.00017432500000000002,0.0,137488.0,14.0 -0.00017456200000000001,0.0,137488.0,14.0 -0.00016765600000000002,0.0,137488.0,14.0 -0.00017444000000000002,0.0,137488.0,14.0 -0.00016891,0.0,137488.0,14.0 -0.00017346900000000002,0.0,137488.0,14.0 -0.000175861,0.0,137488.0,14.0 -0.00017117,0.0,137488.0,14.0 -0.000191091,0.0,137488.0,14.0 -0.00015923100000000002,0.0,137488.0,14.0 -0.000165407,0.0,137488.0,14.0 -0.00016948600000000002,0.0,137488.0,14.0 -0.00016350000000000002,0.0,137488.0,14.0 -0.000166391,0.0,137488.0,14.0 -0.00017512000000000002,0.0,137488.0,14.0 -0.000162897,0.0,137488.0,14.0 -0.000175558,0.0,137488.0,14.0 -0.000168392,0.0,137488.0,14.0 -0.000163986,0.0,137488.0,14.0 -0.000172608,0.0,137488.0,14.0 -0.000169299,0.0,137488.0,14.0 -0.000168984,0.0,137488.0,14.0 -0.000171027,0.0,137488.0,14.0 -0.000167621,0.0,137488.0,14.0 -0.000172547,0.0,137488.0,14.0 -0.00016695200000000002,0.0,137488.0,14.0 -0.000165641,0.0,137488.0,14.0 -0.000173033,0.0,137488.0,14.0 -0.000162389,0.0,137488.0,14.0 -0.00016811700000000002,0.0,137488.0,14.0 -0.000171905,0.0,137488.0,14.0 -0.000181292,0.0,137488.0,14.0 -0.000170445,0.0,137488.0,14.0 -0.00016943200000000001,0.0,137488.0,14.0 -0.00017117800000000002,0.0,137488.0,14.0 -0.00017427000000000002,0.0,137488.0,14.0 -0.00016357,0.0,137488.0,14.0 -0.000169273,0.0,137488.0,14.0 -0.00017248300000000002,0.0,137488.0,14.0 -0.000171043,0.0,137488.0,14.0 -0.00017006,0.0,137488.0,14.0 -0.000165744,0.0,137488.0,14.0 -0.000167889,0.0,137488.0,14.0 -0.000187915,0.0,137488.0,14.0 -0.000165937,0.0,137488.0,14.0 -0.00017344500000000002,0.0,137488.0,14.0 -0.000170402,0.0,137488.0,14.0 -0.00017139300000000002,0.0,137488.0,14.0 -0.00017350000000000002,0.0,137488.0,14.0 -0.000168294,0.0,137488.0,14.0 -0.000170074,0.0,137488.0,14.0 -0.00017936200000000002,0.0,137488.0,14.0 -0.00016653500000000002,0.0,137488.0,14.0 -0.00023286000000000002,0.0,137488.0,14.0 -0.002870352,0.4845869078078229,137488.0,14.0 -0.00018571,0.0,137488.0,14.0 -0.00016680200000000002,0.0,137488.0,14.0 -0.000165348,0.0,137488.0,14.0 -0.000165723,0.0,137488.0,14.0 -0.000169204,0.0,137488.0,14.0 -0.000172067,0.0,137488.0,14.0 -0.00016815300000000001,0.0,137488.0,14.0 -0.00019842400000000002,0.0,137488.0,14.0 -0.000168457,0.0,137488.0,14.0 -0.000166501,0.0,137488.0,14.0 -0.00016430600000000002,0.0,137488.0,14.0 -0.000164983,0.0,137488.0,14.0 -0.000172818,0.0,137488.0,14.0 -0.000176405,0.0,137488.0,14.0 -0.00016323000000000002,0.0,137488.0,14.0 -0.00016243800000000002,0.0,137488.0,14.0 -0.000170013,0.0,137488.0,14.0 -0.000163513,0.0,137488.0,14.0 -0.00016311600000000002,0.0,137488.0,14.0 -0.00016682600000000002,0.0,137488.0,14.0 -0.000170349,0.0,137488.0,14.0 -0.000169707,0.0,137488.0,14.0 -0.000169901,0.0,137488.0,14.0 -0.00017006100000000002,0.0,137488.0,14.0 -0.000168913,0.0,137488.0,14.0 -0.000166632,0.0,137488.0,14.0 -0.00017185600000000002,0.0,137488.0,14.0 -0.00016327600000000001,0.0,137488.0,14.0 -0.000169874,0.0,137488.0,14.0 -0.000166832,0.0,137488.0,14.0 -0.000188058,0.0,137488.0,14.0 -0.000173911,0.0,137488.0,14.0 -0.000168572,0.0,137488.0,14.0 -0.000168407,0.0,137488.0,14.0 -0.000165472,0.0,137488.0,14.0 -0.000172528,0.0,137488.0,14.0 -0.000164191,0.0,137488.0,14.0 -0.000167015,0.0,137488.0,14.0 -0.000168519,0.0,137488.0,14.0 -0.00017261200000000002,0.0,137488.0,14.0 -0.000164463,0.0,137488.0,14.0 -0.000170228,0.0,137488.0,14.0 -0.00017318500000000002,0.0,137488.0,14.0 -0.00017957200000000002,0.0,137488.0,14.0 -0.000170628,0.0,137488.0,14.0 -0.00017243,0.0,137488.0,14.0 -0.000169044,0.0,137488.0,14.0 -0.000166291,0.0,137488.0,14.0 -0.000170241,0.0,137488.0,14.0 -0.000166214,0.0,137488.0,14.0 -0.00016933100000000002,0.0,137488.0,14.0 -0.00017027600000000002,0.0,137488.0,14.0 -0.00016965800000000002,0.0,137488.0,14.0 -0.000168078,0.0,137488.0,14.0 -0.000174422,0.0,137488.0,14.0 -0.00016651300000000002,0.0,137488.0,14.0 -0.00016780700000000001,0.0,137488.0,14.0 -0.00017101,0.0,137488.0,14.0 -0.00016981,0.0,137488.0,14.0 -0.000173293,0.0,137488.0,14.0 -0.000165859,0.0,137488.0,14.0 -0.00017078900000000002,0.0,137488.0,14.0 -0.000159665,0.0,137488.0,14.0 -0.000166631,0.0,137488.0,14.0 -0.00016052200000000002,0.0,137488.0,14.0 -0.000167698,0.0,137488.0,14.0 -0.000169103,0.0,137488.0,14.0 -0.000164804,0.0,137488.0,14.0 -0.000165729,0.0,137488.0,14.0 -0.000167768,0.0,137488.0,14.0 -0.000188776,0.0,137488.0,14.0 -0.00017559500000000002,0.0,137488.0,14.0 -0.00016630100000000002,0.0,137488.0,14.0 -0.00016095600000000002,0.0,137488.0,14.0 -0.00016440900000000002,0.0,137488.0,14.0 -0.00017533500000000001,0.0,137488.0,14.0 -0.00017401300000000002,0.0,137488.0,14.0 -0.000177202,0.0,137488.0,14.0 -0.00016784700000000002,0.0,137488.0,14.0 -0.00016647300000000002,0.0,137488.0,14.0 -0.000165167,0.0,137488.0,14.0 -0.00017452100000000002,0.0,137488.0,14.0 -0.000170609,0.0,137488.0,14.0 -0.00016438500000000002,0.0,137488.0,14.0 -0.00016299400000000002,0.0,137488.0,14.0 -0.000175949,0.0,137488.0,14.0 -0.000164517,0.0,137488.0,14.0 -0.00015978200000000002,0.0,137488.0,14.0 -0.000169516,0.0,137488.0,14.0 -0.000169728,0.0,137488.0,14.0 -0.000156656,0.0,137488.0,14.0 -0.00016032,0.0,137488.0,14.0 -0.00016642500000000002,0.0,137488.0,14.0 -0.000159487,0.0,137488.0,14.0 -0.000169141,0.0,137488.0,14.0 -0.000161979,0.0,137488.0,14.0 -0.000162873,0.0,137488.0,14.0 -0.000162592,0.0,137488.0,14.0 -0.000168485,0.0,137488.0,14.0 -0.00016802900000000001,0.0,137488.0,14.0 -0.00017133600000000001,0.0,137488.0,14.0 -0.00017408000000000001,0.0,137488.0,14.0 -0.000169237,0.0,137488.0,14.0 -0.00016759700000000002,0.0,137488.0,14.0 -0.000168251,0.0,137488.0,14.0 -0.00015846500000000002,0.0,137488.0,14.0 -0.00016524400000000002,0.0,137488.0,14.0 -0.0001719,0.0,137488.0,14.0 -0.00017049600000000002,0.0,137488.0,14.0 -0.00017775,0.0,137488.0,14.0 -0.00016421100000000002,0.0,137488.0,14.0 -0.00016548500000000002,0.0,137488.0,14.0 -0.000168571,0.0,137488.0,14.0 -0.00017510800000000002,0.0,137488.0,14.0 -0.000164042,0.0,137488.0,14.0 -0.000164116,0.0,137488.0,14.0 -0.000175193,0.0,137488.0,14.0 -0.00017350900000000002,0.0,137488.0,14.0 -0.000329085,0.0,137488.0,14.0 -0.00021358000000000003,0.0,137488.0,14.0 -0.000153749,0.0,137488.0,14.0 -0.000162606,0.0,137488.0,14.0 -0.00017027600000000002,0.0,137488.0,14.0 -0.00016382700000000002,0.0,137488.0,14.0 -0.00016768500000000002,0.0,137488.0,14.0 -0.00016126,0.0,137488.0,14.0 -0.000155457,0.0,137488.0,14.0 -0.00016779000000000002,0.0,137488.0,14.0 -0.00015352400000000002,0.0,137488.0,14.0 -0.000167046,0.0,137488.0,14.0 -0.0001611,0.0,137488.0,14.0 -0.00016074,0.0,137488.0,14.0 -0.000155122,0.0,137488.0,14.0 -0.00015159,0.0,137488.0,14.0 -0.000153444,0.0,137488.0,14.0 -0.000164944,0.0,137488.0,14.0 -0.00016398700000000001,0.0,137488.0,14.0 -0.00015032400000000002,0.0,137488.0,14.0 -0.000157536,0.0,137488.0,14.0 -0.00016610300000000002,0.0,137488.0,14.0 -0.00015573800000000002,0.0,137488.0,14.0 -0.000161509,0.0,137488.0,14.0 -0.000165371,0.0,137488.0,14.0 -0.00016109000000000002,0.0,137488.0,14.0 -0.000160115,0.0,137488.0,14.0 -0.000150022,0.0,137488.0,14.0 -0.00016368600000000002,0.0,137488.0,14.0 -0.000159378,0.0,137488.0,14.0 -0.000171626,0.0,137488.0,14.0 -0.00015594300000000002,0.0,137488.0,14.0 -0.00016355700000000002,0.0,137488.0,14.0 -0.00016159600000000002,0.0,137488.0,14.0 -0.000165753,0.0,137488.0,14.0 -0.000155892,0.0,137488.0,14.0 -0.000160702,0.0,137488.0,14.0 -0.000161557,0.0,137488.0,14.0 -0.00016558800000000001,0.0,137488.0,14.0 -0.00015866600000000002,0.0,137488.0,14.0 -0.000151969,0.0,137488.0,14.0 -0.00016352600000000002,0.0,137488.0,14.0 -0.00016030000000000002,0.0,137488.0,14.0 -0.000147994,0.0,137488.0,14.0 -0.00015312,0.0,137488.0,14.0 -0.00015579800000000002,0.0,137488.0,14.0 -0.000150664,0.0,137488.0,14.0 -0.000158073,0.0,137488.0,14.0 -0.00015356200000000002,0.0,137488.0,14.0 -0.00015790000000000002,0.0,137488.0,14.0 -0.000156266,0.0,137488.0,14.0 -0.000160271,0.0,137488.0,14.0 -0.000160649,0.0,137488.0,14.0 -0.000146269,0.0,137488.0,14.0 +0.00017024920000000002,0.0,137488.0,14.0 +0.0001726501,0.0,137488.0,14.0 +0.0017758115000000001,0.0,137488.0,14.0 +0.0001709077,0.0,137488.0,14.0 +0.0001682882,0.0,137488.0,14.0 +0.0001661153,0.0,137488.0,14.0 +0.0001695672,0.0,137488.0,14.0 +0.00016817910000000002,0.0,137488.0,14.0 +0.0001670889,0.0,137488.0,14.0 +0.00017208560000000003,0.0,137488.0,14.0 +0.0001733169,0.0,137488.0,14.0 +0.0017737651,0.0,137488.0,14.0 +0.00017059960000000003,0.0,137488.0,14.0 +0.0001733809,0.0,137488.0,14.0 +0.0003193978,0.4308977707423157,137488.0,14.0 +0.00017347760000000002,0.0,137488.0,14.0 +0.0001717889,0.0,137488.0,14.0 +0.0001734298,0.0,137488.0,14.0 +0.0001722356,0.0,137488.0,14.0 +0.0001732264,0.0,137488.0,14.0 +0.00016870320000000001,0.0,137488.0,14.0 +0.00017128660000000003,0.0,137488.0,14.0 +0.0017713411,0.0,137488.0,14.0 +0.000170456,0.0,137488.0,14.0 +0.0001686358,0.0,137488.0,14.0 +0.00016552720000000002,0.0,137488.0,14.0 +0.0001667796,0.0,137488.0,14.0 +0.00017110090000000002,0.0,137488.0,14.0 +0.000169177,0.0,137488.0,14.0 +0.00017318860000000002,0.0,137488.0,14.0 +0.0001739225,0.0,137488.0,14.0 +0.000174555,0.0,137488.0,14.0 +0.0001766887,0.0,137488.0,14.0 +0.00017550010000000002,0.0,137488.0,14.0 +0.000170423,0.0,137488.0,14.0 +0.0001710696,0.0,137488.0,14.0 +0.000507407,0.0,137488.0,14.0 +0.0001698914,0.0,137488.0,14.0 +0.00017122410000000002,0.0,137488.0,14.0 +0.000169211,0.0,137488.0,14.0 +0.0001688743,0.0,137488.0,14.0 +0.0001700424,0.0,137488.0,14.0 +0.0001699073,0.0,137488.0,14.0 +0.00017284870000000002,0.0,137488.0,14.0 +0.0001708519,0.0,137488.0,14.0 +0.00017369150000000002,0.0,137488.0,14.0 +0.0001722999,0.0,137488.0,14.0 +0.0014649477,0.8715017607795827,137488.0,14.0 +0.0001731477,0.0,137488.0,14.0 +0.0001719516,0.0,137488.0,14.0 +0.0017845082000000003,0.0,137488.0,14.0 +0.0001775286,0.0,137488.0,14.0 +0.00017733480000000002,0.0,137488.0,14.0 +0.0001712807,0.0,137488.0,14.0 +0.0001734387,0.0,137488.0,14.0 +0.0001716095,0.0,137488.0,14.0 +0.000171597,0.0,137488.0,14.0 +0.00019940610000000002,0.0,137488.0,14.0 +0.0018845560000000001,0.0,137488.0,14.0 +0.00031596580000000003,0.0,137488.0,14.0 +0.00028812060000000004,0.0,137488.0,14.0 +0.00030373,0.0,137488.0,14.0 +0.0002813294,0.0,137488.0,14.0 +0.00028161030000000006,0.0,137488.0,14.0 +0.0018979762,0.0,137488.0,14.0 +0.00028573860000000005,0.0,137488.0,14.0 +0.00031496270000000003,0.0,137488.0,14.0 +0.0002807082,0.0,137488.0,14.0 +0.00028230020000000005,0.0,137488.0,14.0 +0.0018928592,0.0,137488.0,14.0 +0.00032064280000000005,0.0,137488.0,14.0 +0.00028646490000000004,0.0,137488.0,14.0 +0.00028541300000000004,0.0,137488.0,14.0 +0.0002844872,0.0,137488.0,14.0 +0.00028607240000000004,0.0,137488.0,14.0 +0.0002854312,0.0,137488.0,14.0 +0.0002845827,0.0,137488.0,14.0 +0.00028737770000000003,0.0,137488.0,14.0 +0.0002908779,0.0,137488.0,14.0 +0.00020939310000000003,0.0,137488.0,14.0 +0.00023893620000000005,0.0,137488.0,14.0 +0.0003346754,0.3280722156453686,137488.0,14.0 +0.0001770931,0.0,137488.0,14.0 +0.0001593767,0.0,137488.0,14.0 +0.00016681470000000001,0.0,137488.0,14.0 +0.0001633474,0.0,137488.0,14.0 +0.0001618961,0.0,137488.0,14.0 +0.0001655517,0.0,137488.0,14.0 +0.00016326400000000001,0.0,137488.0,14.0 +0.00016441330000000002,0.0,137488.0,14.0 +0.00017157090000000002,0.0,137488.0,14.0 +0.00016246470000000002,0.0,137488.0,14.0 +0.0001633815,0.0,137488.0,14.0 +0.00016078590000000002,0.0,137488.0,14.0 +0.000163109,0.0,137488.0,14.0 +0.00016420830000000002,0.0,137488.0,14.0 +0.0001647995,0.0,137488.0,14.0 +0.0001631637,0.0,137488.0,14.0 +0.0001630279,0.0,137488.0,14.0 +0.0001634861,0.0,137488.0,14.0 +0.00016245080000000002,0.0,137488.0,14.0 +0.0001639118,0.0,137488.0,14.0 +0.0001621507,0.0,137488.0,14.0 +0.0001609123,0.0,137488.0,14.0 +0.00016431950000000002,0.0,137488.0,14.0 +0.0001619938,0.0,137488.0,14.0 +0.00016319050000000002,0.0,137488.0,14.0 +0.00015988810000000002,0.0,137488.0,14.0 +0.0001624507,0.0,137488.0,14.0 +0.00016285380000000002,0.0,137488.0,14.0 +0.00016233150000000002,0.0,137488.0,14.0 +0.00016228570000000002,0.0,137488.0,14.0 +0.0001620347,0.0,137488.0,14.0 +0.0001610971,0.0,137488.0,14.0 +0.0003132632,0.4331520587161211,137488.0,14.0 +0.0001670832,0.0,137488.0,14.0 +0.00016416680000000002,0.0,137488.0,14.0 +0.00016373770000000003,0.0,137488.0,14.0 +0.0001633372,0.0,137488.0,14.0 +0.0001615024,0.0,137488.0,14.0 +0.0001602216,0.0,137488.0,14.0 +0.0001649861,0.0,137488.0,14.0 +0.00016395260000000002,0.0,137488.0,14.0 +0.0001632585,0.0,137488.0,14.0 +0.00016159890000000003,0.0,137488.0,14.0 +0.00016447760000000002,0.0,137488.0,14.0 +0.0001595873,0.0,137488.0,14.0 +0.00016164450000000002,0.0,137488.0,14.0 +0.0001241593,0.0,137488.0,14.0 +9.63716e-5,0.0,137488.0,14.0 +9.18511e-5,0.0,137488.0,14.0 +9.50098e-5,0.0,137488.0,14.0 +9.42841e-5,0.0,137488.0,14.0 +9.28704e-5,0.0,137488.0,14.0 +9.008340000000001e-5,0.0,137488.0,14.0 +8.976020000000001e-5,0.0,137488.0,14.0 +9.646990000000001e-5,0.0,137488.0,14.0 +9.252580000000001e-5,0.0,137488.0,14.0 +9.063e-5,0.0,137488.0,14.0 +9.36611e-5,0.0,137488.0,14.0 +9.53869e-5,0.0,137488.0,14.0 +9.0782e-5,0.0,137488.0,14.0 +8.72231e-5,0.0,137488.0,14.0 +8.80696e-5,0.0,137488.0,14.0 +9.06324e-5,0.0,137488.0,14.0 +9.072690000000001e-5,0.0,137488.0,14.0 +9.26534e-5,0.0,137488.0,14.0 +9.034710000000001e-5,0.0,137488.0,14.0 +0.00048017320000000004,0.7897727320058678,137488.0,14.0 +9.661500000000001e-5,0.0,137488.0,14.0 +9.63015e-5,0.0,137488.0,14.0 +9.22705e-5,0.0,137488.0,14.0 +9.08421e-5,0.0,137488.0,14.0 +9.342290000000001e-5,0.0,137488.0,14.0 +9.41889e-5,0.0,137488.0,14.0 +8.959940000000001e-5,0.0,137488.0,14.0 +9.34915e-5,0.0,137488.0,14.0 +0.0001057129,0.0,137488.0,14.0 +0.0001686898,0.0,137488.0,14.0 +0.00016756540000000003,0.0,137488.0,14.0 +0.0001858859,0.0,137488.0,14.0 +0.00018203750000000003,0.0,137488.0,14.0 +0.00018563470000000003,0.0,137488.0,14.0 +0.0001860448,0.0,137488.0,14.0 +0.0001910872,0.0,137488.0,14.0 +0.00017673810000000002,0.0,137488.0,14.0 +0.000194324,0.0,137488.0,14.0 +0.0001785637,0.0,137488.0,14.0 +0.000179671,0.0,137488.0,14.0 +0.0001757555,0.0,137488.0,14.0 +0.00017045230000000002,0.0,137488.0,14.0 +0.0001824832,0.0,137488.0,14.0 +0.0001937688,0.0,137488.0,14.0 +0.00020214440000000002,0.0,137488.0,14.0 +0.0001976622,0.0,137488.0,14.0 +0.0002005784,0.0,137488.0,14.0 +0.00019716390000000002,0.0,137488.0,14.0 +0.0001875516,0.0,137488.0,14.0 +0.00017902340000000002,0.0,137488.0,14.0 +0.0001765461,0.0,137488.0,14.0 +0.0001755336,0.0,137488.0,14.0 +0.00024116250000000001,0.4153800860415695,137488.0,14.0 +9.83661e-5,0.0,137488.0,14.0 +9.566580000000002e-5,0.0,137488.0,14.0 +9.417710000000001e-5,0.0,137488.0,14.0 +0.0001021359,0.0,137488.0,14.0 +9.6407e-5,0.0,137488.0,14.0 +8.94988e-5,0.0,137488.0,14.0 +9.14277e-5,0.0,137488.0,14.0 +9.959000000000001e-5,0.0,137488.0,14.0 +9.897200000000001e-5,0.0,137488.0,14.0 +9.057990000000001e-5,0.0,137488.0,14.0 +8.81008e-5,0.0,137488.0,14.0 +9.57624e-5,0.0,137488.0,14.0 +9.922610000000001e-5,0.0,137488.0,14.0 +8.87227e-5,0.0,137488.0,14.0 +8.86185e-5,0.0,137488.0,14.0 +9.27316e-5,0.0,137488.0,14.0 +9.24197e-5,0.0,137488.0,14.0 +9.113480000000001e-5,0.0,137488.0,14.0 +9.018660000000001e-5,0.0,137488.0,14.0 +8.90931e-5,0.0,137488.0,14.0 +9.974840000000001e-5,0.0,137488.0,14.0 +9.657800000000001e-5,0.0,137488.0,14.0 +8.94573e-5,0.0,137488.0,14.0 +8.96539e-5,0.0,137488.0,14.0 +9.2451e-5,0.0,137488.0,14.0 +9.05581e-5,0.0,137488.0,14.0 +9.04843e-5,0.0,137488.0,14.0 +9.46682e-5,0.0,137488.0,14.0 +8.695500000000001e-5,0.0,137488.0,14.0 +9.922330000000002e-5,0.0,137488.0,14.0 +9.051130000000001e-5,0.0,137488.0,14.0 +8.72085e-5,0.0,137488.0,14.0 +0.00019275000000000002,0.47911024643320366,137488.0,14.0 +9.52748e-5,0.0,137488.0,14.0 +9.171330000000002e-5,0.0,137488.0,14.0 +9.094880000000001e-5,0.0,137488.0,14.0 +9.76017e-5,0.0,137488.0,14.0 +9.92141e-5,0.0,137488.0,14.0 +8.901590000000001e-5,0.0,137488.0,14.0 +9.02348e-5,0.0,137488.0,14.0 +9.301240000000001e-5,0.0,137488.0,14.0 +9.417210000000001e-5,0.0,137488.0,14.0 +9.26485e-5,0.0,137488.0,14.0 +8.844070000000001e-5,0.0,137488.0,14.0 +8.76145e-5,0.0,137488.0,14.0 +9.954360000000002e-5,0.0,137488.0,14.0 +9.41557e-5,0.0,137488.0,14.0 +9.466390000000001e-5,0.0,137488.0,14.0 +9.0851e-5,0.0,137488.0,14.0 +0.00010099570000000001,0.0,137488.0,14.0 +9.63943e-5,0.0,137488.0,14.0 +9.12349e-5,0.0,137488.0,14.0 +9.108650000000001e-5,0.0,137488.0,14.0 +9.343700000000001e-5,0.0,137488.0,14.0 +9.40795e-5,0.0,137488.0,14.0 +9.018860000000001e-5,0.0,137488.0,14.0 +9.32432e-5,0.0,137488.0,14.0 +9.201680000000001e-5,0.0,137488.0,14.0 +9.775610000000001e-5,0.0,137488.0,14.0 +9.26921e-5,0.0,137488.0,14.0 +8.951870000000001e-5,0.0,137488.0,14.0 +8.81522e-5,0.0,137488.0,14.0 +9.32293e-5,0.0,137488.0,14.0 +9.06654e-5,0.0,137488.0,14.0 +8.867570000000001e-5,0.0,137488.0,14.0 +9.252380000000001e-5,0.0,137488.0,14.0 +0.000477668,0.7861657050503698,137488.0,14.0 +0.0001029292,0.0,137488.0,14.0 +9.123720000000001e-5,0.0,137488.0,14.0 +8.98792e-5,0.0,137488.0,14.0 +9.103300000000001e-5,0.0,137488.0,14.0 +0.00010188140000000001,0.0,137488.0,14.0 +9.464360000000001e-5,0.0,137488.0,14.0 +9.08793e-5,0.0,137488.0,14.0 +9.09374e-5,0.0,137488.0,14.0 +0.00010411560000000002,0.0,137488.0,14.0 +0.00016421340000000002,0.0,137488.0,14.0 +0.0001609855,0.0,137488.0,14.0 +0.0001927425,0.0,137488.0,14.0 +0.00017406140000000001,0.0,137488.0,14.0 +0.00018454710000000003,0.0,137488.0,14.0 +0.0001622817,0.0,137488.0,14.0 +0.0001784703,0.0,137488.0,14.0 +0.0001777626,0.0,137488.0,14.0 +0.00017971060000000001,0.0,137488.0,14.0 +0.0001736497,0.0,137488.0,14.0 +0.000189888,0.0,137488.0,14.0 +0.00018746610000000002,0.0,137488.0,14.0 +0.00017964180000000003,0.0,137488.0,14.0 +0.00019442620000000003,0.0,137488.0,14.0 +0.00018341450000000002,0.0,137488.0,14.0 +0.000187283,0.0,137488.0,14.0 +0.0001636597,0.0,137488.0,14.0 +0.0001713717,0.0,137488.0,14.0 +0.0001665565,0.0,137488.0,14.0 +0.0001669183,0.0,137488.0,14.0 +0.0001803944,0.0,137488.0,14.0 +0.00016564420000000002,0.0,137488.0,14.0 +0.00019387820000000002,0.0,137488.0,14.0 +0.00022088900000000002,0.41001272132156874,137488.0,14.0 +9.67451e-5,0.0,137488.0,14.0 +9.17131e-5,0.0,137488.0,14.0 +8.564480000000001e-5,0.0,137488.0,14.0 +8.529840000000001e-5,0.0,137488.0,14.0 +9.21318e-5,0.0,137488.0,14.0 +0.000101052,0.0,137488.0,14.0 +8.54715e-5,0.0,137488.0,14.0 +8.41842e-5,0.0,137488.0,14.0 +8.566180000000001e-5,0.0,137488.0,14.0 +9.38653e-5,0.0,137488.0,14.0 +8.74689e-5,0.0,137488.0,14.0 +8.45519e-5,0.0,137488.0,14.0 +8.38457e-5,0.0,137488.0,14.0 +8.99245e-5,0.0,137488.0,14.0 +0.0001004988,0.0,137488.0,14.0 +8.636760000000001e-5,0.0,137488.0,14.0 +8.36156e-5,0.0,137488.0,14.0 +8.36438e-5,0.0,137488.0,14.0 +9.983089999999999e-5,0.0,137488.0,14.0 +9.19505e-5,0.0,137488.0,14.0 +8.5962e-5,0.0,137488.0,14.0 +8.88193e-5,0.0,137488.0,14.0 +9.33058e-5,0.0,137488.0,14.0 +9.268620000000001e-5,0.0,137488.0,14.0 +8.5604e-5,0.0,137488.0,14.0 +8.21001e-5,0.0,137488.0,14.0 +8.190620000000001e-5,0.0,137488.0,14.0 +9.70221e-5,0.0,137488.0,14.0 +9.35342e-5,0.0,137488.0,14.0 +8.681490000000001e-5,0.0,137488.0,14.0 +9.13844e-5,0.0,137488.0,14.0 +9.724170000000001e-5,0.0,137488.0,14.0 +0.0002921543,0.40584923788559674,137488.0,14.0 +0.0001712423,0.0,137488.0,14.0 +0.0001663016,0.0,137488.0,14.0 +0.0001679751,0.0,137488.0,14.0 +0.0001660309,0.0,137488.0,14.0 +0.00016375430000000003,0.0,137488.0,14.0 +0.00016316140000000002,0.0,137488.0,14.0 +0.00016841750000000003,0.0,137488.0,14.0 +0.000164257,0.0,137488.0,14.0 +0.0001648656,0.0,137488.0,14.0 +0.00016216450000000002,0.0,137488.0,14.0 +0.00016029100000000001,0.0,137488.0,14.0 +0.00016006960000000003,0.0,137488.0,14.0 +0.000162075,0.0,137488.0,14.0 +0.0001599617,0.0,137488.0,14.0 +0.000163604,0.0,137488.0,14.0 +0.00016070610000000002,0.0,137488.0,14.0 +0.00016207460000000002,0.0,137488.0,14.0 +0.00016269040000000003,0.0,137488.0,14.0 +0.00016062250000000003,0.0,137488.0,14.0 +0.0001617043,0.0,137488.0,14.0 +0.00016042760000000003,0.0,137488.0,14.0 +0.0001618636,0.0,137488.0,14.0 +0.00016302650000000002,0.0,137488.0,14.0 +0.00016205750000000002,0.0,137488.0,14.0 +0.0001632979,0.0,137488.0,14.0 +0.0001616908,0.0,137488.0,14.0 +0.0001613998,0.0,137488.0,14.0 +0.00016189020000000002,0.0,137488.0,14.0 diff --git a/perf/PatternFolds/output/d693ddde-b8a4-5104-8e22-7351361f9115.csv b/perf/PatternFolds/output/d693ddde-b8a4-5104-8e22-7351361f9115.csv new file mode 100644 index 0000000..83ad1b1 --- /dev/null +++ b/perf/PatternFolds/output/d693ddde-b8a4-5104-8e22-7351361f9115.csv @@ -0,0 +1,1001 @@ +times,gctimes,memory,allocs +178459.4,0.0,217488,1014 +212170.7,0.0,217488,1014 +194586.9,0.0,217488,1014 +210375.9,0.0,217488,1014 +201230.3,0.0,217488,1014 +210567.9,0.0,217488,1014 +209797.0,0.0,217488,1014 +204068.9,0.0,217488,1014 +204509.0,0.0,217488,1014 +206849.4,0.0,217488,1014 +215346.9,0.0,217488,1014 +207418.8,0.0,217488,1014 +197337.7,0.0,217488,1014 +204520.9,0.0,217488,1014 +207109.6,0.0,217488,1014 +202892.0,0.0,217488,1014 +204447.6,0.0,217488,1014 +213009.2,0.0,217488,1014 +212260.1,0.0,217488,1014 +416756.5,0.0,217488,1014 +7.6933945e6,7.3567093e6,217488,1014 +253911.7,0.0,217488,1014 +250300.6,0.0,217488,1014 +254636.5,0.0,217488,1014 +263933.6,0.0,217488,1014 +251390.3,0.0,217488,1014 +263090.3,0.0,217488,1014 +256605.8,0.0,217488,1014 +252002.7,0.0,217488,1014 +253205.5,0.0,217488,1014 +296098.7,0.0,217488,1014 +303081.7,0.0,217488,1014 +298142.4,0.0,217488,1014 +292140.8,0.0,217488,1014 +298274.8,0.0,217488,1014 +287058.3,0.0,217488,1014 +268069.2,0.0,217488,1014 +254607.4,0.0,217488,1014 +250784.0,0.0,217488,1014 +256275.5,0.0,217488,1014 +364953.8,0.0,217488,1014 +1.2864647e6,994725.4,217488,1014 +253121.8,0.0,217488,1014 +253628.8,0.0,217488,1014 +262972.8,0.0,217488,1014 +255606.4,0.0,217488,1014 +258033.3,0.0,217488,1014 +266361.4,0.0,217488,1014 +275255.9,0.0,217488,1014 +273292.6,0.0,217488,1014 +274727.0,0.0,217488,1014 +274387.6,0.0,217488,1014 +266302.9,0.0,217488,1014 +261476.9,0.0,217488,1014 +257090.7,0.0,217488,1014 +267037.1,0.0,217488,1014 +268576.7,0.0,217488,1014 +272908.6,0.0,217488,1014 +271481.2,0.0,217488,1014 +274354.7,0.0,217488,1014 +271841.6,0.0,217488,1014 +270152.3,0.0,217488,1014 +2.1898954e6,292871.4,217488,1014 +271775.4,0.0,217488,1014 +273409.6,0.0,217488,1014 +277797.8,0.0,217488,1014 +1.5802249e6,0.0,217488,1014 +277628.7,0.0,217488,1014 +282393.0,0.0,217488,1014 +285480.4,0.0,217488,1014 +4.2836534e6,0.0,217488,1014 +273968.0,0.0,217488,1014 +271032.7,0.0,217488,1014 +267939.4,0.0,217488,1014 +267402.8,0.0,217488,1014 +3.4737214e6,0.0,217488,1014 +274713.4,0.0,217488,1014 +272285.6,0.0,217488,1014 +274915.0,0.0,217488,1014 +2.6781355e6,0.0,217488,1014 +270791.5,0.0,217488,1014 +269933.9,0.0,217488,1014 +263883.6,0.0,217488,1014 +2.9878684e6,2.6954264e6,217488,1014 +278808.1,0.0,217488,1014 +280101.3,0.0,217488,1014 +3.4908798e6,0.0,217488,1014 +278519.1,0.0,217488,1014 +284818.9,0.0,217488,1014 +280960.2,0.0,217488,1014 +272571.1,0.0,217488,1014 +274952.1,0.0,217488,1014 +2.2755848e6,0.0,217488,1014 +268147.8,0.0,217488,1014 +268116.5,0.0,217488,1014 +264415.9,0.0,217488,1014 +257543.6,0.0,217488,1014 +2.6641876e6,0.0,217488,1014 +259576.7,0.0,217488,1014 +254785.0,0.0,217488,1014 +256165.7,0.0,217488,1014 +3.0588257e6,0.0,217488,1014 +256792.4,0.0,217488,1014 +258404.6,0.0,217488,1014 +569609.0,291061.4,217488,1014 +265477.7,0.0,217488,1014 +1.8668023e6,0.0,217488,1014 +261662.0,0.0,217488,1014 +269724.1,0.0,217488,1014 +264718.1,0.0,217488,1014 +265840.4,0.0,217488,1014 +270962.1,0.0,217488,1014 +1.8726247e6,0.0,217488,1014 +260222.5,0.0,217488,1014 +260598.7,0.0,217488,1014 +257689.7,0.0,217488,1014 +257110.7,0.0,217488,1014 +263034.1,0.0,217488,1014 +1.8686212e6,0.0,217488,1014 +260378.9,0.0,217488,1014 +261198.0,0.0,217488,1014 +261625.9,0.0,217488,1014 +263743.6,0.0,217488,1014 +263286.4,0.0,217488,1014 +1.8650499e6,0.0,217488,1014 +570851.0,293305.6,217488,1014 +266870.1,0.0,217488,1014 +266920.1,0.0,217488,1014 +269695.3,0.0,217488,1014 +1.8756927e6,0.0,217488,1014 +263625.0,0.0,217488,1014 +273172.2,0.0,217488,1014 +263926.0,0.0,217488,1014 +262553.1,0.0,217488,1014 +266293.3,0.0,217488,1014 +1.8690755e6,0.0,217488,1014 +255446.7,0.0,217488,1014 +256575.4,0.0,217488,1014 +259903.2,0.0,217488,1014 +261373.8,0.0,217488,1014 +263617.1,0.0,217488,1014 +1.8644815e6,0.0,217488,1014 +254454.9,0.0,217488,1014 +255537.0,0.0,217488,1014 +258972.6,0.0,217488,1014 +258919.1,0.0,217488,1014 +2.1730622e6,289969.2,217488,1014 +260765.6,0.0,217488,1014 +261063.9,0.0,217488,1014 +258348.1,0.0,217488,1014 +265653.2,0.0,217488,1014 +268625.5,0.0,217488,1014 +1.8713877e6,0.0,217488,1014 +266950.7,0.0,217488,1014 +267077.6,0.0,217488,1014 +265358.9,0.0,217488,1014 +264548.6,0.0,217488,1014 +262794.7,0.0,217488,1014 +1.8643882e6,0.0,217488,1014 +255756.8,0.0,217488,1014 +263261.2,0.0,217488,1014 +262878.0,0.0,217488,1014 +262097.5,0.0,217488,1014 +261496.0,0.0,217488,1014 +2.2657666e6,0.0,217488,1014 +265792.1,0.0,217488,1014 +267420.8,0.0,217488,1014 +578402.1,292898.2,217488,1014 +2.6784331e6,0.0,217488,1014 +271303.5,0.0,217488,1014 +271094.2,0.0,217488,1014 +283496.7,0.0,217488,1014 +2.6786966e6,0.0,217488,1014 +278247.9,0.0,217488,1014 +268227.6,0.0,217488,1014 +2.6775038e6,0.0,217488,1014 +276526.5,0.0,217488,1014 +269996.7,0.0,217488,1014 +2.6711139e6,0.0,217488,1014 +271244.6,0.0,217488,1014 +268608.1,0.0,217488,1014 +2.2704628e6,0.0,217488,1014 +267462.1,0.0,217488,1014 +266182.0,0.0,217488,1014 +268852.8,0.0,217488,1014 +2.6753433e6,0.0,217488,1014 +277063.7,0.0,217488,1014 +270274.0,0.0,217488,1014 +2.9887679e6,293448.4,217488,1014 +275532.8,0.0,217488,1014 +2.6825498e6,0.0,217488,1014 +1.481224e6,0.0,217488,1014 +285262.3,0.0,217488,1014 +286454.0,0.0,217488,1014 +274430.4,0.0,217488,1014 +3.0836353e6,0.0,217488,1014 +268812.1,0.0,217488,1014 +270897.5,0.0,217488,1014 +2.6745922e6,0.0,217488,1014 +272483.1,0.0,217488,1014 +266537.4,0.0,217488,1014 +2.6704859e6,0.0,217488,1014 +272005.9,0.0,217488,1014 +274543.1,0.0,217488,1014 +271093.6,0.0,217488,1014 +268926.8,0.0,217488,1014 +2.6781744e6,0.0,217488,1014 +276132.0,0.0,217488,1014 +270645.1,0.0,217488,1014 +2.9835697e6,2.6941612e6,217488,1014 +276732.6,0.0,217488,1014 +271392.5,0.0,217488,1014 +2.6830131e6,0.0,217488,1014 +288630.6,0.0,217488,1014 +275541.5,0.0,217488,1014 +2.2857021e6,0.0,217488,1014 +276898.3,0.0,217488,1014 +274484.9,0.0,217488,1014 +281212.2,0.0,217488,1014 +3.0814605e6,0.0,217488,1014 +272157.9,0.0,217488,1014 +272009.3,0.0,217488,1014 +2.6763037e6,0.0,217488,1014 +276532.1,0.0,217488,1014 +275208.6,0.0,217488,1014 +2.6803389e6,0.0,217488,1014 +276038.7,0.0,217488,1014 +272743.0,0.0,217488,1014 +273623.8,0.0,217488,1014 +2.2793787e6,0.0,217488,1014 +272666.9,0.0,217488,1014 +2.9857125e6,290341.4,217488,1014 +274799.4,0.0,217488,1014 +274106.1,0.0,217488,1014 +2.6862174e6,0.0,217488,1014 +282929.6,0.0,217488,1014 +4.2756467e6,0.0,217488,1014 +278422.8,0.0,217488,1014 +274787.1,0.0,217488,1014 +2.6799307e6,0.0,217488,1014 +276222.3,0.0,217488,1014 +278066.1,0.0,217488,1014 +276657.6,0.0,217488,1014 +269046.3,0.0,217488,1014 +2.6779857e6,0.0,217488,1014 +272976.0,0.0,217488,1014 +271462.6,0.0,217488,1014 +272884.2,0.0,217488,1014 +1.4876822e6,0.0,217488,1014 +1.4691987e6,0.0,217488,1014 +261845.2,0.0,217488,1014 +267186.0,0.0,217488,1014 +576977.3,291461.8,217488,1014 +1.8713414e6,0.0,217488,1014 +272031.2,0.0,217488,1014 +277632.3,0.0,217488,1014 +354948.5,0.0,217488,1014 +290038.0,0.0,217488,1014 +1.8733274e6,0.0,217488,1014 +265035.7,0.0,217488,1014 +266095.4,0.0,217488,1014 +266011.9,0.0,217488,1014 +262198.1,0.0,217488,1014 +2.6771321e6,0.0,217488,1014 +267399.9,0.0,217488,1014 +261770.8,0.0,217488,1014 +250880.7,0.0,217488,1014 +257424.6,0.0,217488,1014 +247450.2,0.0,217488,1014 +247146.3,0.0,217488,1014 +247208.5,0.0,217488,1014 +243309.5,0.0,217488,1014 +246171.9,0.0,217488,1014 +800644.8,534381.3,217488,1014 +247051.8,0.0,217488,1014 +249600.9,0.0,217488,1014 +249827.0,0.0,217488,1014 +254003.9,0.0,217488,1014 +249876.1,0.0,217488,1014 +259078.5,0.0,217488,1014 +251777.8,0.0,217488,1014 +250978.9,0.0,217488,1014 +245967.1,0.0,217488,1014 +248431.2,0.0,217488,1014 +246998.0,0.0,217488,1014 +247311.2,0.0,217488,1014 +247285.8,0.0,217488,1014 +247234.6,0.0,217488,1014 +244416.0,0.0,217488,1014 +244497.3,0.0,217488,1014 +246002.9,0.0,217488,1014 +246109.1,0.0,217488,1014 +245314.0,0.0,217488,1014 +243842.2,0.0,217488,1014 +550491.6,286744.2,217488,1014 +247893.6,0.0,217488,1014 +253092.4,0.0,217488,1014 +260756.0,0.0,217488,1014 +250867.2,0.0,217488,1014 +255717.6,0.0,217488,1014 +253370.3,0.0,217488,1014 +249407.1,0.0,217488,1014 +247133.6,0.0,217488,1014 +245682.0,0.0,217488,1014 +212574.8,0.0,217488,1014 +132209.0,0.0,217488,1014 +123993.9,0.0,217488,1014 +125630.1,0.0,217488,1014 +125315.8,0.0,217488,1014 +123863.7,0.0,217488,1014 +126871.9,0.0,217488,1014 +125157.1,0.0,217488,1014 +125186.5,0.0,217488,1014 +127540.9,0.0,217488,1014 +123462.7,0.0,217488,1014 +366005.6,226558.4,217488,1014 +131375.3,0.0,217488,1014 +130525.9,0.0,217488,1014 +129839.6,0.0,217488,1014 +136465.6,0.0,217488,1014 +131932.2,0.0,217488,1014 +134009.7,0.0,217488,1014 +132866.9,0.0,217488,1014 +135065.1,0.0,217488,1014 +131969.3,0.0,217488,1014 +125304.0,0.0,217488,1014 +125667.4,0.0,217488,1014 +123949.4,0.0,217488,1014 +122872.0,0.0,217488,1014 +126112.1,0.0,217488,1014 +125042.1,0.0,217488,1014 +123056.7,0.0,217488,1014 +124138.5,0.0,217488,1014 +125858.1,0.0,217488,1014 +123427.4,0.0,217488,1014 +123032.5,0.0,217488,1014 +349108.0,209894.8,217488,1014 +134027.4,0.0,217488,1014 +130701.7,0.0,217488,1014 +134493.6,0.0,217488,1014 +137636.5,0.0,217488,1014 +135119.1,0.0,217488,1014 +133508.2,0.0,217488,1014 +127530.6,0.0,217488,1014 +127503.2,0.0,217488,1014 +125594.0,0.0,217488,1014 +125936.8,0.0,217488,1014 +124098.7,0.0,217488,1014 +122890.7,0.0,217488,1014 +122957.6,0.0,217488,1014 +127191.3,0.0,217488,1014 +128356.3,0.0,217488,1014 +131925.0,0.0,217488,1014 +140071.9,0.0,217488,1014 +123830.7,0.0,217488,1014 +124896.6,0.0,217488,1014 +125609.8,0.0,217488,1014 +332893.7,200529.0,217488,1014 +128017.4,0.0,217488,1014 +134187.2,0.0,217488,1014 +130853.0,0.0,217488,1014 +133371.2,0.0,217488,1014 +129840.0,0.0,217488,1014 +136530.6,0.0,217488,1014 +140758.5,0.0,217488,1014 +127881.5,0.0,217488,1014 +126786.6,0.0,217488,1014 +124243.6,0.0,217488,1014 +123536.0,0.0,217488,1014 +124443.5,0.0,217488,1014 +125348.0,0.0,217488,1014 +124792.5,0.0,217488,1014 +124225.1,0.0,217488,1014 +127006.9,0.0,217488,1014 +124270.6,0.0,217488,1014 +126117.1,0.0,217488,1014 +127409.8,0.0,217488,1014 +122719.9,0.0,217488,1014 +321403.0,192380.9,217488,1014 +128750.3,0.0,217488,1014 +134563.8,0.0,217488,1014 +130408.3,0.0,217488,1014 +133817.2,0.0,217488,1014 +128254.3,0.0,217488,1014 +133871.9,0.0,217488,1014 +126795.1,0.0,217488,1014 +127123.7,0.0,217488,1014 +127513.1,0.0,217488,1014 +124718.9,0.0,217488,1014 +123307.1,0.0,217488,1014 +124711.4,0.0,217488,1014 +123531.6,0.0,217488,1014 +123660.8,0.0,217488,1014 +126620.6,0.0,217488,1014 +123092.6,0.0,217488,1014 +125393.4,0.0,217488,1014 +126697.0,0.0,217488,1014 +133348.1,0.0,217488,1014 +124231.9,0.0,217488,1014 +311986.6,182962.8,217488,1014 +124343.5,0.0,217488,1014 +129297.1,0.0,217488,1014 +125936.3,0.0,217488,1014 +132405.0,0.0,217488,1014 +130814.3,0.0,217488,1014 +127012.9,0.0,217488,1014 +132047.5,0.0,217488,1014 +128040.0,0.0,217488,1014 +126317.1,0.0,217488,1014 +124355.1,0.0,217488,1014 +126269.9,0.0,217488,1014 +124667.3,0.0,217488,1014 +122448.1,0.0,217488,1014 +123163.5,0.0,217488,1014 +126069.8,0.0,217488,1014 +122426.8,0.0,217488,1014 +124956.4,0.0,217488,1014 +125377.6,0.0,217488,1014 +123705.2,0.0,217488,1014 +124438.4,0.0,217488,1014 +317377.4,183073.4,217488,1014 +126191.8,0.0,217488,1014 +127637.4,0.0,217488,1014 +127508.5,0.0,217488,1014 +132739.1,0.0,217488,1014 +130853.7,0.0,217488,1014 +131943.3,0.0,217488,1014 +134389.5,0.0,217488,1014 +127468.3,0.0,217488,1014 +126720.0,0.0,217488,1014 +132036.0,0.0,217488,1014 +127118.4,0.0,217488,1014 +123343.0,0.0,217488,1014 +128354.6,0.0,217488,1014 +133637.9,0.0,217488,1014 +130313.2,0.0,217488,1014 +135150.8,0.0,217488,1014 +133260.6,0.0,217488,1014 +131712.1,0.0,217488,1014 +131643.7,0.0,217488,1014 +133056.3,0.0,217488,1014 +342658.7,198329.4,217488,1014 +139098.4,0.0,217488,1014 +137738.8,0.0,217488,1014 +139335.9,0.0,217488,1014 +144185.2,0.0,217488,1014 +145175.2,0.0,217488,1014 +142039.6,0.0,217488,1014 +144279.3,0.0,217488,1014 +138290.5,0.0,217488,1014 +143079.4,0.0,217488,1014 +138427.1,0.0,217488,1014 +129010.1,0.0,217488,1014 +139393.8,0.0,217488,1014 +131808.1,0.0,217488,1014 +131607.0,0.0,217488,1014 +137431.8,0.0,217488,1014 +133973.5,0.0,217488,1014 +135495.2,0.0,217488,1014 +139486.6,0.0,217488,1014 +134023.9,0.0,217488,1014 +134811.6,0.0,217488,1014 +137871.9,0.0,217488,1014 +349683.7,202649.5,217488,1014 +137789.6,0.0,217488,1014 +136634.4,0.0,217488,1014 +150432.9,0.0,217488,1014 +143835.3,0.0,217488,1014 +140481.3,0.0,217488,1014 +141449.9,0.0,217488,1014 +137420.6,0.0,217488,1014 +135651.2,0.0,217488,1014 +139580.9,0.0,217488,1014 +132186.3,0.0,217488,1014 +131524.4,0.0,217488,1014 +136575.7,0.0,217488,1014 +133928.7,0.0,217488,1014 +130736.0,0.0,217488,1014 +138189.6,0.0,217488,1014 +137620.2,0.0,217488,1014 +136883.4,0.0,217488,1014 +140709.8,0.0,217488,1014 +131809.7,0.0,217488,1014 +132146.8,0.0,217488,1014 +336693.8,194126.9,217488,1014 +139203.7,0.0,217488,1014 +137245.2,0.0,217488,1014 +135164.3,0.0,217488,1014 +143633.7,0.0,217488,1014 +137208.9,0.0,217488,1014 +145390.8,0.0,217488,1014 +141648.4,0.0,217488,1014 +135808.6,0.0,217488,1014 +133781.8,0.0,217488,1014 +138771.3,0.0,217488,1014 +136602.5,0.0,217488,1014 +136684.4,0.0,217488,1014 +140075.5,0.0,217488,1014 +139767.7,0.0,217488,1014 +137106.3,0.0,217488,1014 +144880.4,0.0,217488,1014 +133022.7,0.0,217488,1014 +138078.4,0.0,217488,1014 +134988.6,0.0,217488,1014 +130486.6,0.0,217488,1014 +332925.8,192399.7,217488,1014 +135317.6,0.0,217488,1014 +142108.8,0.0,217488,1014 +143510.5,0.0,217488,1014 +137205.4,0.0,217488,1014 +144627.9,0.0,217488,1014 +134884.9,0.0,217488,1014 +135620.3,0.0,217488,1014 +141204.7,0.0,217488,1014 +132698.6,0.0,217488,1014 +135646.4,0.0,217488,1014 +134929.5,0.0,217488,1014 +131502.4,0.0,217488,1014 +135049.0,0.0,217488,1014 +136022.9,0.0,217488,1014 +131415.5,0.0,217488,1014 +186641.8,0.0,217488,1014 +259184.5,0.0,217488,1014 +257922.2,0.0,217488,1014 +252525.9,0.0,217488,1014 +252434.2,0.0,217488,1014 +521610.4,257926.5,217488,1014 +250356.6,0.0,217488,1014 +248560.8,0.0,217488,1014 +248081.4,0.0,217488,1014 +257750.3,0.0,217488,1014 +254163.2,0.0,217488,1014 +258420.7,0.0,217488,1014 +255402.3,0.0,217488,1014 +253589.3,0.0,217488,1014 +251362.1,0.0,217488,1014 +248797.1,0.0,217488,1014 +246253.7,0.0,217488,1014 +248006.6,0.0,217488,1014 +252281.7,0.0,217488,1014 +249366.7,0.0,217488,1014 +250413.0,0.0,217488,1014 +247113.6,0.0,217488,1014 +247418.1,0.0,217488,1014 +247849.1,0.0,217488,1014 +243537.0,0.0,217488,1014 +251608.0,0.0,217488,1014 +557586.2,291794.4,217488,1014 +251515.7,0.0,217488,1014 +257596.3,0.0,217488,1014 +262924.8,0.0,217488,1014 +254395.9,0.0,217488,1014 +256926.5,0.0,217488,1014 +258467.3,0.0,217488,1014 +253425.1,0.0,217488,1014 +250981.3,0.0,217488,1014 +248707.5,0.0,217488,1014 +252199.2,0.0,217488,1014 +249156.3,0.0,217488,1014 +249169.1,0.0,217488,1014 +246928.1,0.0,217488,1014 +249313.1,0.0,217488,1014 +251306.1,0.0,217488,1014 +248680.5,0.0,217488,1014 +248685.3,0.0,217488,1014 +1.7279296e6,0.0,217488,1014 +255759.0,0.0,217488,1014 +256667.4,0.0,217488,1014 +563347.8,291050.5,217488,1014 +260924.5,0.0,217488,1014 +1.8645061e6,0.0,217488,1014 +256514.9,0.0,217488,1014 +263118.4,0.0,217488,1014 +261177.9,0.0,217488,1014 +259217.9,0.0,217488,1014 +271971.1,0.0,217488,1014 +1.8721409e6,0.0,217488,1014 +256514.0,0.0,217488,1014 +260728.4,0.0,217488,1014 +256530.7,0.0,217488,1014 +255060.9,0.0,217488,1014 +259750.0,0.0,217488,1014 +261807.1,0.0,217488,1014 +257570.4,0.0,217488,1014 +258134.7,0.0,217488,1014 +253728.2,0.0,217488,1014 +256131.9,0.0,217488,1014 +255296.7,0.0,217488,1014 +259416.1,0.0,217488,1014 +569718.1,291808.4,217488,1014 +262846.4,0.0,217488,1014 +263219.9,0.0,217488,1014 +267160.4,0.0,217488,1014 +272023.2,0.0,217488,1014 +265617.5,0.0,217488,1014 +269110.0,0.0,217488,1014 +259286.4,0.0,217488,1014 +260812.5,0.0,217488,1014 +265891.5,0.0,217488,1014 +278186.1,0.0,217488,1014 +265402.3,0.0,217488,1014 +261835.7,0.0,217488,1014 +256304.5,0.0,217488,1014 +259804.4,0.0,217488,1014 +262596.4,0.0,217488,1014 +270445.4,0.0,217488,1014 +264129.9,0.0,217488,1014 +262523.6,0.0,217488,1014 +258390.2,0.0,217488,1014 +257088.7,0.0,217488,1014 +570301.0,292445.2,217488,1014 +270591.6,0.0,217488,1014 +268768.9,0.0,217488,1014 +260185.8,0.0,217488,1014 +270793.2,0.0,217488,1014 +271409.2,0.0,217488,1014 +275205.9,0.0,217488,1014 +271829.3,0.0,217488,1014 +266561.6,0.0,217488,1014 +263240.9,0.0,217488,1014 +261009.6,0.0,217488,1014 +283482.8,0.0,217488,1014 +272192.3,0.0,217488,1014 +262949.8,0.0,217488,1014 +268060.7,0.0,217488,1014 +1.8720608e6,0.0,217488,1014 +269384.9,0.0,217488,1014 +271612.9,0.0,217488,1014 +270673.2,0.0,217488,1014 +263751.4,0.0,217488,1014 +263707.0,0.0,217488,1014 +2.1779356e6,1.8940568e6,217488,1014 +272074.8,0.0,217488,1014 +269161.2,0.0,217488,1014 +269568.7,0.0,217488,1014 +280646.1,0.0,217488,1014 +1.8772562e6,0.0,217488,1014 +279730.7,0.0,217488,1014 +269104.4,0.0,217488,1014 +268579.6,0.0,217488,1014 +268205.9,0.0,217488,1014 +270187.6,0.0,217488,1014 +1.8726948e6,0.0,217488,1014 +271615.5,0.0,217488,1014 +264874.9,0.0,217488,1014 +269240.2,0.0,217488,1014 +268913.8,0.0,217488,1014 +263403.9,0.0,217488,1014 +1.8761349e6,0.0,217488,1014 +271177.0,0.0,217488,1014 +245472.5,0.0,217488,1014 +246117.6,0.0,217488,1014 +552617.8,289896.8,217488,1014 +257308.6,0.0,217488,1014 +251045.8,0.0,217488,1014 +249087.0,0.0,217488,1014 +253994.7,0.0,217488,1014 +258695.7,0.0,217488,1014 +251253.7,0.0,217488,1014 +262746.1,0.0,217488,1014 +249828.2,0.0,217488,1014 +255679.6,0.0,217488,1014 +248526.1,0.0,217488,1014 +243206.6,0.0,217488,1014 +248715.9,0.0,217488,1014 +244464.4,0.0,217488,1014 +248097.4,0.0,217488,1014 +249960.1,0.0,217488,1014 +245610.0,0.0,217488,1014 +245712.9,0.0,217488,1014 +247374.8,0.0,217488,1014 +245656.8,0.0,217488,1014 +244443.5,0.0,217488,1014 +556796.8,293641.3,217488,1014 +251140.9,0.0,217488,1014 +250649.4,0.0,217488,1014 +250565.3,0.0,217488,1014 +261677.2,0.0,217488,1014 +253721.1,0.0,217488,1014 +257725.9,0.0,217488,1014 +249262.5,0.0,217488,1014 +247917.2,0.0,217488,1014 +248939.0,0.0,217488,1014 +247770.2,0.0,217488,1014 +244540.4,0.0,217488,1014 +245947.5,0.0,217488,1014 +241921.9,0.0,217488,1014 +244820.7,0.0,217488,1014 +247690.8,0.0,217488,1014 +244141.7,0.0,217488,1014 +248415.1,0.0,217488,1014 +245255.7,0.0,217488,1014 +247925.4,0.0,217488,1014 +246476.4,0.0,217488,1014 +245634.7,0.0,217488,1014 +556224.5,290227.4,217488,1014 +247640.9,0.0,217488,1014 +248601.4,0.0,217488,1014 +255662.8,0.0,217488,1014 +254910.7,0.0,217488,1014 +250955.3,0.0,217488,1014 +257981.0,0.0,217488,1014 +249003.0,0.0,217488,1014 +250639.2,0.0,217488,1014 +246731.0,0.0,217488,1014 +246397.2,0.0,217488,1014 +244967.8,0.0,217488,1014 +245261.2,0.0,217488,1014 +247429.7,0.0,217488,1014 +250678.3,0.0,217488,1014 +245067.6,0.0,217488,1014 +246458.6,0.0,217488,1014 +247187.1,0.0,217488,1014 +245999.5,0.0,217488,1014 +248338.0,0.0,217488,1014 +245991.3,0.0,217488,1014 +557086.7,286838.7,217488,1014 +255017.4,0.0,217488,1014 +259287.7,0.0,217488,1014 +269714.1,0.0,217488,1014 +260313.3,0.0,217488,1014 +265431.3,0.0,217488,1014 +262230.4,0.0,217488,1014 +254031.4,0.0,217488,1014 +255859.1,0.0,217488,1014 +252156.3,0.0,217488,1014 +254096.0,0.0,217488,1014 +252320.8,0.0,217488,1014 +255422.1,0.0,217488,1014 +255040.8,0.0,217488,1014 +253104.8,0.0,217488,1014 +250641.8,0.0,217488,1014 +254849.7,0.0,217488,1014 +253671.6,0.0,217488,1014 +260101.4,0.0,217488,1014 +258818.2,0.0,217488,1014 +252595.5,0.0,217488,1014 +559131.3,285795.5,217488,1014 +258325.1,0.0,217488,1014 +259422.8,0.0,217488,1014 +1.8665754e6,0.0,217488,1014 +264011.0,0.0,217488,1014 +258804.9,0.0,217488,1014 +269700.2,0.0,217488,1014 +263647.7,0.0,217488,1014 +263326.4,0.0,217488,1014 +1.8636902e6,0.0,217488,1014 +255248.9,0.0,217488,1014 +270675.5,0.0,217488,1014 +273656.6,0.0,217488,1014 +274258.7,0.0,217488,1014 +268166.2,0.0,217488,1014 +1.8659612e6,0.0,217488,1014 +258424.7,0.0,217488,1014 +268010.4,0.0,217488,1014 +271377.7,0.0,217488,1014 +272243.7,0.0,217488,1014 +268990.8,0.0,217488,1014 +2.1738518e6,1.8900136e6,217488,1014 +271126.9,0.0,217488,1014 +276790.5,0.0,217488,1014 +284338.3,0.0,217488,1014 +268483.0,0.0,217488,1014 +1.8707433e6,0.0,217488,1014 +268462.3,0.0,217488,1014 +260660.4,0.0,217488,1014 +806087.9,0.0,217488,1014 +2.0023961e6,0.0,217488,1014 +390473.7,0.0,217488,1014 +391789.8,0.0,217488,1014 +396812.6,0.0,217488,1014 +1.997596e6,0.0,217488,1014 +393084.4,0.0,217488,1014 +389323.0,0.0,217488,1014 +393956.9,0.0,217488,1014 +1.9943253e6,0.0,217488,1014 +387267.6,0.0,217488,1014 +393189.0,0.0,217488,1014 +395847.3,0.0,217488,1014 +3.1105294e6,1.1339035e6,217488,1014 +1.938122e6,0.0,217488,1014 +325181.9,0.0,217488,1014 +329170.4,0.0,217488,1014 +329078.4,0.0,217488,1014 +1.5340265e6,0.0,217488,1014 +335618.1,0.0,217488,1014 +335955.1,0.0,217488,1014 +1.8873446e6,0.0,217488,1014 +274736.7,0.0,217488,1014 +275003.6,0.0,217488,1014 +267611.5,0.0,217488,1014 +264866.4,0.0,217488,1014 +278531.8,0.0,217488,1014 +1.8806733e6,0.0,217488,1014 +277190.3,0.0,217488,1014 +268973.0,0.0,217488,1014 +269498.6,0.0,217488,1014 +271904.0,0.0,217488,1014 +268158.7,0.0,217488,1014 +1.8758129e6,0.0,217488,1014 +608628.5,315714.4,217488,1014 +275226.8,0.0,217488,1014 +2.6796299e6,0.0,217488,1014 +281602.2,0.0,217488,1014 +278422.9,0.0,217488,1014 +272878.7,0.0,217488,1014 +275123.0,0.0,217488,1014 +269231.4,0.0,217488,1014 +1.8654876e6,0.0,217488,1014 +263255.1,0.0,217488,1014 +262782.9,0.0,217488,1014 +261069.2,0.0,217488,1014 +262262.0,0.0,217488,1014 +259488.0,0.0,217488,1014 +1.8668067e6,0.0,217488,1014 +261212.6,0.0,217488,1014 +260383.8,0.0,217488,1014 +262033.8,0.0,217488,1014 +261335.2,0.0,217488,1014 +261645.3,0.0,217488,1014 +1.8695955e6,0.0,217488,1014 +576352.6,294151.7,217488,1014 +266704.4,0.0,217488,1014 +264986.3,0.0,217488,1014 +264939.0,0.0,217488,1014 +1.8772363e6,0.0,217488,1014 +272115.6,0.0,217488,1014 +266055.4,0.0,217488,1014 +277761.5,0.0,217488,1014 +269443.4,0.0,217488,1014 +264697.7,0.0,217488,1014 +1.4798974e6,0.0,217488,1014 +271268.2,0.0,217488,1014 +271971.3,0.0,217488,1014 +272459.2,0.0,217488,1014 +272902.2,0.0,217488,1014 +1.876683e6,0.0,217488,1014 +274739.4,0.0,217488,1014 +273994.7,0.0,217488,1014 +275753.4,0.0,217488,1014 +267702.8,0.0,217488,1014 +271986.8,0.0,217488,1014 +2.1788213e6,1.8945538e6,217488,1014 +268492.8,0.0,217488,1014 +265932.3,0.0,217488,1014 +266738.7,0.0,217488,1014 +270800.0,0.0,217488,1014 +1.8714709e6,0.0,217488,1014 +275406.3,0.0,217488,1014 +263903.4,0.0,217488,1014 +266047.7,0.0,217488,1014 +264446.5,0.0,217488,1014 +261374.6,0.0,217488,1014 +1.8666368e6,0.0,217488,1014 +266158.2,0.0,217488,1014 +262684.9,0.0,217488,1014 +264505.9,0.0,217488,1014 +265673.6,0.0,217488,1014 +264650.6,0.0,217488,1014 +1.8693071e6,0.0,217488,1014 +264410.8,0.0,217488,1014 +265237.6,0.0,217488,1014 +266415.7,0.0,217488,1014 +577206.4,293534.3,217488,1014 +1.8696709e6,0.0,217488,1014 +268371.6,0.0,217488,1014 +267761.4,0.0,217488,1014 +277254.4,0.0,217488,1014 +275225.3,0.0,217488,1014 +269348.7,0.0,217488,1014 +1.8802023e6,0.0,217488,1014 +273030.2,0.0,217488,1014 +266443.4,0.0,217488,1014 +267924.1,0.0,217488,1014 +265151.4,0.0,217488,1014 +264280.2,0.0,217488,1014 +1.8617379e6,0.0,217488,1014 +262881.7,0.0,217488,1014 +260625.5,0.0,217488,1014 +263768.1,0.0,217488,1014 +262367.5,0.0,217488,1014 +264852.9,0.0,217488,1014 +1.8554598e6,0.0,217488,1014 +245441.6,0.0,217488,1014 +558682.6,297149.5,217488,1014 +252103.2,0.0,217488,1014 +249459.4,0.0,217488,1014 +253571.0,0.0,217488,1014 +259751.6,0.0,217488,1014 +253030.5,0.0,217488,1014 +256440.4,0.0,217488,1014 +247811.9,0.0,217488,1014 +246896.3,0.0,217488,1014 +253154.4,0.0,217488,1014 +249086.9,0.0,217488,1014 +244552.9,0.0,217488,1014 +246932.7,0.0,217488,1014 +243207.4,0.0,217488,1014 +244838.5,0.0,217488,1014 +245449.8,0.0,217488,1014 +243432.3,0.0,217488,1014 +247347.1,0.0,217488,1014 +246439.7,0.0,217488,1014 +247760.8,0.0,217488,1014 +246262.9,0.0,217488,1014 +546873.1,287190.0,217488,1014 +248728.9,0.0,217488,1014 +243823.5,0.0,217488,1014 +251252.0,0.0,217488,1014 +252008.3,0.0,217488,1014 +258984.0,0.0,217488,1014 +250089.0,0.0,217488,1014 +254507.8,0.0,217488,1014 +250212.7,0.0,217488,1014 +254203.3,0.0,217488,1014 +247527.0,0.0,217488,1014 +1.8520066e6,0.0,217488,1014 +243634.5,0.0,217488,1014 +244407.9,0.0,217488,1014 +248082.4,0.0,217488,1014 +247944.0,0.0,217488,1014 +245637.4,0.0,217488,1014 +1.8495882e6,0.0,217488,1014 +247577.5,0.0,217488,1014 +249746.3,0.0,217488,1014 +244546.0,0.0,217488,1014 +246219.0,0.0,217488,1014 +557877.9,294761.1,217488,1014 +1.8563182e6,0.0,217488,1014 +255884.8,0.0,217488,1014 +260390.3,0.0,217488,1014 +252724.4,0.0,217488,1014 +257241.9,0.0,217488,1014 +245751.2,0.0,217488,1014 +1.850724e6,0.0,217488,1014 +252006.5,0.0,217488,1014 +249817.6,0.0,217488,1014 +245885.1,0.0,217488,1014 +244904.6,0.0,217488,1014 +244150.2,0.0,217488,1014 +3.0499395e6,0.0,217488,1014 +245339.1,0.0,217488,1014 +245639.9,0.0,217488,1014 +247398.8,0.0,217488,1014 +246928.6,0.0,217488,1014 +244900.9,0.0,217488,1014 +246097.8,0.0,217488,1014 +1.848194e6,0.0,217488,1014 +566142.2,301387.7,217488,1014 +245630.5,0.0,217488,1014 +248645.6,0.0,217488,1014 +252668.5,0.0,217488,1014 +1.8639971e6,0.0,217488,1014 +248919.2,0.0,217488,1014 +259085.2,0.0,217488,1014 +253744.0,0.0,217488,1014 +248507.8,0.0,217488,1014 +248829.2,0.0,217488,1014 +1.8504102e6,0.0,217488,1014 +246345.5,0.0,217488,1014 +244705.9,0.0,217488,1014 +245087.5,0.0,217488,1014 +257487.2,0.0,217488,1014 +259346.4,0.0,217488,1014 +1.8613704e6,0.0,217488,1014 +259648.0,0.0,217488,1014 +259907.0,0.0,217488,1014 +257011.6,0.0,217488,1014 +260111.9,0.0,217488,1014 +2.1775143e6,292112.7,217488,1014 +263802.6,0.0,217488,1014 +253599.8,0.0,217488,1014 +262196.6,0.0,217488,1014 +251944.2,0.0,217488,1014 +257954.3,0.0,217488,1014 +250475.6,0.0,217488,1014 +216851.6,0.0,217488,1014 +200976.0,0.0,217488,1014 +197131.6,0.0,217488,1014 +200849.5,0.0,217488,1014 +194488.4,0.0,217488,1014 +199598.8,0.0,217488,1014 +196650.3,0.0,217488,1014 +201149.4,0.0,217488,1014 +294905.0,0.0,217488,1014 +246583.0,0.0,217488,1014 +248598.0,0.0,217488,1014 +249390.7,0.0,217488,1014 +244047.7,0.0,217488,1014 +248624.8,0.0,217488,1014 +623000.8,354729.1,217488,1014 +239922.0,0.0,217488,1014 +251865.3,0.0,217488,1014 +320977.2,0.0,217488,1014 +304145.0,0.0,217488,1014 +253305.5,0.0,217488,1014 +1.8631477e6,0.0,217488,1014 +258573.2,0.0,217488,1014 +249282.1,0.0,217488,1014 +250252.1,0.0,217488,1014 diff --git a/perf/PatternFolds/visuals/allocs_evolution.png b/perf/PatternFolds/visuals/allocs_evolution.png new file mode 100644 index 0000000000000000000000000000000000000000..8ff9dc275fbd668ede38a98918f624197a830882 GIT binary patch literal 46160 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%0AK9u-EoV{LEwUkq+}r z|HAms0@L8Pbx-KWYQ+NP*Y_=l@LRVm=8MI6OKIq3A%?1! zKK|Mj~~IBb{+H9ttk1+Q;SPV zP&_-p0o&?6l2u7Hf^9=DBHq~O+_@@L_pW^|U&i19pBBVC&9c?a&COWyC1O*81&i;| zz*%WQvzdzn(6&L8Q%BRIqoa>Qj}944DU|gbx3q<+MF}PY$U>TQ2<(tTBl;Wb>oXP% zMTzP#FssN7q|nqunJRT;l@cY>j-}zoZvf$(7x3-_4+1>h6Nqqny9q0bm3HfEOCP5|MSSt$DSpC&j1Kfg!EEsrt9*K!SQh~tRvp(_YPYJ z8PRDtZD6A;gu~#uJkdK4(N0ri(n)hdEQxKsE)#d>{(S>{z6`Dxt$RJI3NuKz{Q