From 6e9ef075d0fb6d8686df0240625aa62bbf6d2a11 Mon Sep 17 00:00:00 2001 From: Michael Zingale Date: Fri, 10 Jan 2025 13:16:52 -0500 Subject: [PATCH] reorganize the He nets (#1687) They are now all placed under he-burn and named according to how many nuclei they have and what approximations they use. This also adds a new network with 31 nuclei that has a better iron group that the old subch_simple, and uses the (nn,gamma) approximation to reduce the nuclei, and swaps protons out for NSE protons at A >= 48. --- networks/He-C-Fe-group/He-C-Fe-group.png | Bin 133550 -> 0 bytes networks/He-C-Fe-group/He-C-Fe-group.py | 142 - .../he-burn-18a}/Make.package | 0 .../he-burn-18a}/README.md | 0 .../he-burn-18a}/_parameters | 0 .../he-burn-18a}/actual_network.H | 0 .../he-burn-18a}/actual_network_data.cpp | 0 .../he-burn-18a}/actual_rhs.H | 2 +- .../he-burn-18a/he-burn-18a.png} | Bin networks/he-burn/he-burn-18a/he_burn_18a.py | 52 + networks/he-burn/he-burn-18a/he_burn_core.py | 1 + .../he-burn-18a}/inputs.burn_cell.VODE | 0 .../he-burn-18a}/partition_functions.H | 0 .../he-burn-18a}/partition_functions_data.cpp | 0 .../he-burn-18a}/pynucastro.net | 0 .../he-burn-18a}/reaclib_rates.H | 5 +- .../he-burn-18a}/table_rates.H | 0 .../he-burn-18a}/table_rates_data.cpp | 0 .../he-burn-18a}/tfactors.H | 0 .../he-burn-22a}/Make.package | 0 .../he-burn-22a}/README.md | 0 .../he-burn-22a}/_parameters | 0 .../he-burn-22a}/actual_network.H | 0 .../he-burn-22a}/actual_network_data.cpp | 0 .../he-burn-22a}/actual_rhs.H | 2 +- .../he-burn-22a/he-burn-22a.png} | Bin networks/he-burn/he-burn-22a/he_burn_22a.py | 52 + networks/he-burn/he-burn-22a/he_burn_core.py | 1 + .../he-burn-22a}/inputs.burn_cell.VODE | 0 .../he-burn-22a}/partition_functions.H | 0 .../he-burn-22a}/partition_functions_data.cpp | 0 .../he-burn-22a}/pynucastro.net | 0 .../he-burn-22a}/python_net_approx.ipynb | 0 .../he-burn-22a}/reaclib_rates.H | 5 +- .../he-burn-22a}/table_rates.H | 0 .../he-burn-22a}/table_rates_data.cpp | 0 .../he-burn-22a}/tfactors.H | 0 .../56co-56fe_electroncapture.dat | 0 .../he-burn-31anp}/56co-56ni_betadecay.dat | 0 .../he-burn-31anp}/56fe-56co_betadecay.dat | 0 .../56ni-56co_electroncapture.dat | 0 .../he-burn-31anp}/Make.package | 0 .../he-burn-31anp}/_parameters | 0 .../he-burn/he-burn-31anp/actual_network.H | 488 ++ .../he-burn-31anp/actual_network_data.cpp | 152 + networks/he-burn/he-burn-31anp/actual_rhs.H | 2344 +++++ .../he-burn/he-burn-31anp/he-burn-31anp.png | Bin 0 -> 147830 bytes .../he-burn/he-burn-31anp/he_burn_31anp.py | 55 + .../he-burn/he-burn-31anp/he_burn_core.py | 1 + .../he-burn-31anp/inputs.burn_cell.VODE | 57 + .../he-burn-31anp}/n-p_betadecay.dat | 0 .../he-burn-31anp/neutron_approximation.ipynb | 581 ++ .../he-burn-31anp}/p-n_electroncapture.dat | 0 .../he-burn-31anp/partition_functions.H | 449 + .../partition_functions_data.cpp | 655 ++ networks/he-burn/he-burn-31anp/pynucastro.net | 38 + .../he-burn/he-burn-31anp/reaclib_rates.H | 7547 +++++++++++++++++ networks/he-burn/he-burn-31anp/table_rates.H | 429 + .../he-burn-31anp/table_rates_data.cpp | 101 + .../he-burn-31anp}/tfactors.H | 0 .../55co-55fe_electroncapture.dat | 0 .../he-burn-36a}/55fe-55co_betadecay.dat | 0 .../55fe-55mn_electroncapture.dat | 0 .../he-burn-36a}/55mn-55fe_betadecay.dat | 0 .../he-burn-36a/56co-56fe_electroncapture.dat | 148 + .../he-burn-36a/56co-56ni_betadecay.dat | 148 + .../he-burn-36a/56fe-56co_betadecay.dat | 148 + .../he-burn-36a/56ni-56co_electroncapture.dat | 148 + .../he-burn-36a}/57co-57ni_betadecay.dat | 0 .../57ni-57co_electroncapture.dat | 0 networks/he-burn/he-burn-36a/Make.package | 15 + .../he-burn-36a}/README.md | 0 networks/he-burn/he-burn-36a/_parameters | 2 + .../he-burn-36a}/actual_network.H | 0 .../he-burn-36a}/actual_network_data.cpp | 0 .../he-burn-36a}/actual_rhs.H | 2 +- networks/he-burn/he-burn-36a/he-burn-36a.png | Bin 0 -> 133320 bytes networks/he-burn/he-burn-36a/he_burn_36a.py | 49 + networks/he-burn/he-burn-36a/he_burn_core.py | 1 + .../he-burn-36a}/inputs.burn_cell.VODE | 0 .../he-burn/he-burn-36a/n-p_betadecay.dat | 148 + .../he-burn-36a/p-n_electroncapture.dat | 148 + .../he-burn-36a}/partition_functions.H | 0 .../he-burn-36a}/partition_functions_data.cpp | 0 .../he-burn-36a}/pynucastro.net | 0 .../he-burn-36a}/reaclib_rates.H | 5 +- .../he-burn-36a}/table_rates.H | 0 .../he-burn-36a}/table_rates_data.cpp | 0 networks/he-burn/he-burn-36a/tfactors.H | 34 + networks/he-burn/he_burn_core.py | 130 + networks/subch_base | 1 + networks/subch_base/subch_base.py | 118 - networks/subch_simple | 1 + networks/subch_simple/subch_simple.py | 115 - 94 files changed, 14139 insertions(+), 381 deletions(-) delete mode 100644 networks/He-C-Fe-group/He-C-Fe-group.png delete mode 100644 networks/He-C-Fe-group/He-C-Fe-group.py rename networks/{He-C-Fe-group => he-burn/he-burn-18a}/Make.package (100%) rename networks/{subch_base => he-burn/he-burn-18a}/README.md (100%) rename networks/{subch_base => he-burn/he-burn-18a}/_parameters (100%) rename networks/{subch_base => he-burn/he-burn-18a}/actual_network.H (100%) rename networks/{subch_base => he-burn/he-burn-18a}/actual_network_data.cpp (100%) rename networks/{subch_base => he-burn/he-burn-18a}/actual_rhs.H (99%) rename networks/{subch_base/subch_base.png => he-burn/he-burn-18a/he-burn-18a.png} (100%) create mode 100644 networks/he-burn/he-burn-18a/he_burn_18a.py create mode 120000 networks/he-burn/he-burn-18a/he_burn_core.py rename networks/{subch_base => he-burn/he-burn-18a}/inputs.burn_cell.VODE (100%) rename networks/{subch_base => he-burn/he-burn-18a}/partition_functions.H (100%) rename networks/{subch_base => he-burn/he-burn-18a}/partition_functions_data.cpp (100%) rename networks/{subch_base => he-burn/he-burn-18a}/pynucastro.net (100%) rename networks/{subch_base => he-burn/he-burn-18a}/reaclib_rates.H (99%) rename networks/{subch_base => he-burn/he-burn-18a}/table_rates.H (100%) rename networks/{subch_base => he-burn/he-burn-18a}/table_rates_data.cpp (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-18a}/tfactors.H (100%) rename networks/{subch_base => he-burn/he-burn-22a}/Make.package (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/README.md (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/_parameters (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/actual_network.H (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/actual_network_data.cpp (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/actual_rhs.H (99%) rename networks/{subch_simple/subch_simple.png => he-burn/he-burn-22a/he-burn-22a.png} (100%) create mode 100644 networks/he-burn/he-burn-22a/he_burn_22a.py create mode 120000 networks/he-burn/he-burn-22a/he_burn_core.py rename networks/{subch_simple => he-burn/he-burn-22a}/inputs.burn_cell.VODE (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/partition_functions.H (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/partition_functions_data.cpp (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/pynucastro.net (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/python_net_approx.ipynb (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/reaclib_rates.H (99%) rename networks/{subch_simple => he-burn/he-burn-22a}/table_rates.H (100%) rename networks/{subch_simple => he-burn/he-burn-22a}/table_rates_data.cpp (100%) rename networks/{subch_base => he-burn/he-burn-22a}/tfactors.H (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-31anp}/56co-56fe_electroncapture.dat (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-31anp}/56co-56ni_betadecay.dat (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-31anp}/56fe-56co_betadecay.dat (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-31anp}/56ni-56co_electroncapture.dat (100%) rename networks/{subch_simple => he-burn/he-burn-31anp}/Make.package (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-31anp}/_parameters (100%) create mode 100644 networks/he-burn/he-burn-31anp/actual_network.H create mode 100644 networks/he-burn/he-burn-31anp/actual_network_data.cpp create mode 100644 networks/he-burn/he-burn-31anp/actual_rhs.H create mode 100644 networks/he-burn/he-burn-31anp/he-burn-31anp.png create mode 100644 networks/he-burn/he-burn-31anp/he_burn_31anp.py create mode 120000 networks/he-burn/he-burn-31anp/he_burn_core.py create mode 100644 networks/he-burn/he-burn-31anp/inputs.burn_cell.VODE rename networks/{He-C-Fe-group => he-burn/he-burn-31anp}/n-p_betadecay.dat (100%) create mode 100644 networks/he-burn/he-burn-31anp/neutron_approximation.ipynb rename networks/{He-C-Fe-group => he-burn/he-burn-31anp}/p-n_electroncapture.dat (100%) create mode 100644 networks/he-burn/he-burn-31anp/partition_functions.H create mode 100644 networks/he-burn/he-burn-31anp/partition_functions_data.cpp create mode 100644 networks/he-burn/he-burn-31anp/pynucastro.net create mode 100644 networks/he-burn/he-burn-31anp/reaclib_rates.H create mode 100644 networks/he-burn/he-burn-31anp/table_rates.H create mode 100644 networks/he-burn/he-burn-31anp/table_rates_data.cpp rename networks/{subch_simple => he-burn/he-burn-31anp}/tfactors.H (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/55co-55fe_electroncapture.dat (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/55fe-55co_betadecay.dat (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/55fe-55mn_electroncapture.dat (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/55mn-55fe_betadecay.dat (100%) create mode 100644 networks/he-burn/he-burn-36a/56co-56fe_electroncapture.dat create mode 100644 networks/he-burn/he-burn-36a/56co-56ni_betadecay.dat create mode 100644 networks/he-burn/he-burn-36a/56fe-56co_betadecay.dat create mode 100644 networks/he-burn/he-burn-36a/56ni-56co_electroncapture.dat rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/57co-57ni_betadecay.dat (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/57ni-57co_electroncapture.dat (100%) create mode 100644 networks/he-burn/he-burn-36a/Make.package rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/README.md (100%) create mode 100644 networks/he-burn/he-burn-36a/_parameters rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/actual_network.H (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/actual_network_data.cpp (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/actual_rhs.H (99%) create mode 100644 networks/he-burn/he-burn-36a/he-burn-36a.png create mode 100644 networks/he-burn/he-burn-36a/he_burn_36a.py create mode 120000 networks/he-burn/he-burn-36a/he_burn_core.py rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/inputs.burn_cell.VODE (100%) create mode 100644 networks/he-burn/he-burn-36a/n-p_betadecay.dat create mode 100644 networks/he-burn/he-burn-36a/p-n_electroncapture.dat rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/partition_functions.H (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/partition_functions_data.cpp (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/pynucastro.net (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/reaclib_rates.H (99%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/table_rates.H (100%) rename networks/{He-C-Fe-group => he-burn/he-burn-36a}/table_rates_data.cpp (100%) create mode 100644 networks/he-burn/he-burn-36a/tfactors.H create mode 100644 networks/he-burn/he_burn_core.py create mode 120000 networks/subch_base delete mode 100644 networks/subch_base/subch_base.py create mode 120000 networks/subch_simple delete mode 100644 networks/subch_simple/subch_simple.py diff --git a/networks/He-C-Fe-group/He-C-Fe-group.png b/networks/He-C-Fe-group/He-C-Fe-group.png deleted file mode 100644 index 0970da4ec4345ad6d2409282b04754f57d61189e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133550 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 z

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, rate_eval); + fill_approx_rates(tfactors, state.rho, Y, rate_eval); // Calculate tabular rates diff --git a/networks/subch_base/subch_base.png b/networks/he-burn/he-burn-18a/he-burn-18a.png similarity index 100% rename from networks/subch_base/subch_base.png rename to networks/he-burn/he-burn-18a/he-burn-18a.png diff --git a/networks/he-burn/he-burn-18a/he_burn_18a.py b/networks/he-burn/he-burn-18a/he_burn_18a.py new file mode 100644 index 0000000000..2dad6c1c07 --- /dev/null +++ b/networks/he-burn/he-burn-18a/he_burn_18a.py @@ -0,0 +1,52 @@ +# Network for He/C burning with key rates +# to bypass the C12(a,g)O16 rate. + +import pynucastro as pyna +from pynucastro.networks import AmrexAstroCxxNetwork + +import he_burn_core + + +DO_DERIVED_RATES = True + + +def doit(): + + subch = he_burn_core.get_core_library(include_n14_sequence=False, + include_zn=False, + do_detailed_balance=DO_DERIVED_RATES) + + # these are the rates that we are going to allow to be optionally + # zeroed + r1 = subch.get_rate_by_name("c12(p,g)n13") + r2 = subch.get_rate_by_name("n13(he4,p)o16") + + net = AmrexAstroCxxNetwork(libraries=[subch], symmetric_screening=False, disable_rate_params=[r1, r2]) + net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47", "mn51", "co55"]) + net.remove_nuclei(["cl35", "k39", "sc43", "v47", "mn51", "co55"]) + + # finally, the aprox nets don't include the reverse rates for + # C12+C12, C12+O16, and O16+O16, so remove those + + print(f"number of nuclei: {len(net.unique_nuclei)}") + print(f"number of rates: {len(net.rates)}") + + comp = pyna.Composition(net.get_nuclei()) + comp.set_all(0.1) + comp.set_nuc("he4", 0.95) + comp.normalize() + + rho = 1.e6 + T = 1.e9 + + net.plot(rho, T, comp, outfile="he-burn-18a.png", + rotated=True, hide_xalpha=True, curved_edges=True, + size=(1500, 450), + node_size=500, node_font_size=11, node_color="#337dff", node_shape="s", + Z_range=(1, 29)) + + net.write_network() + + +if __name__ == "__main__": + doit() diff --git a/networks/he-burn/he-burn-18a/he_burn_core.py b/networks/he-burn/he-burn-18a/he_burn_core.py new file mode 120000 index 0000000000..bc9cd39283 --- /dev/null +++ b/networks/he-burn/he-burn-18a/he_burn_core.py @@ -0,0 +1 @@ +../he_burn_core.py \ No newline at end of file diff --git a/networks/subch_base/inputs.burn_cell.VODE b/networks/he-burn/he-burn-18a/inputs.burn_cell.VODE similarity index 100% rename from networks/subch_base/inputs.burn_cell.VODE rename to networks/he-burn/he-burn-18a/inputs.burn_cell.VODE diff --git a/networks/subch_base/partition_functions.H b/networks/he-burn/he-burn-18a/partition_functions.H similarity index 100% rename from networks/subch_base/partition_functions.H rename to networks/he-burn/he-burn-18a/partition_functions.H diff --git a/networks/subch_base/partition_functions_data.cpp b/networks/he-burn/he-burn-18a/partition_functions_data.cpp similarity index 100% rename from networks/subch_base/partition_functions_data.cpp rename to networks/he-burn/he-burn-18a/partition_functions_data.cpp diff --git a/networks/subch_base/pynucastro.net b/networks/he-burn/he-burn-18a/pynucastro.net similarity index 100% rename from networks/subch_base/pynucastro.net rename to networks/he-burn/he-burn-18a/pynucastro.net diff --git a/networks/subch_base/reaclib_rates.H b/networks/he-burn/he-burn-18a/reaclib_rates.H similarity index 99% rename from networks/subch_base/reaclib_rates.H rename to networks/he-burn/he-burn-18a/reaclib_rates.H index 3734a971f3..5a7f99f0fd 100644 --- a/networks/subch_base/reaclib_rates.H +++ b/networks/he-burn/he-burn-18a/reaclib_rates.H @@ -5001,7 +5001,10 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) template AMREX_GPU_HOST_DEVICE AMREX_INLINE void -fill_approx_rates([[maybe_unused]] const tf_t& tfactors, [[maybe_unused]] T& rate_eval) +fill_approx_rates([[maybe_unused]] const tf_t& tfactors, + [[maybe_unused]] const amrex::Real rho, + [[maybe_unused]] const amrex::Array1D& Y, + [[maybe_unused]] T& rate_eval) { [[maybe_unused]] amrex::Real rate{}; diff --git a/networks/subch_base/table_rates.H b/networks/he-burn/he-burn-18a/table_rates.H similarity index 100% rename from networks/subch_base/table_rates.H rename to networks/he-burn/he-burn-18a/table_rates.H diff --git a/networks/subch_base/table_rates_data.cpp b/networks/he-burn/he-burn-18a/table_rates_data.cpp similarity index 100% rename from networks/subch_base/table_rates_data.cpp rename to networks/he-burn/he-burn-18a/table_rates_data.cpp diff --git a/networks/He-C-Fe-group/tfactors.H b/networks/he-burn/he-burn-18a/tfactors.H similarity index 100% rename from networks/He-C-Fe-group/tfactors.H rename to networks/he-burn/he-burn-18a/tfactors.H diff --git a/networks/subch_base/Make.package b/networks/he-burn/he-burn-22a/Make.package similarity index 100% rename from networks/subch_base/Make.package rename to networks/he-burn/he-burn-22a/Make.package diff --git a/networks/subch_simple/README.md b/networks/he-burn/he-burn-22a/README.md similarity index 100% rename from networks/subch_simple/README.md rename to networks/he-burn/he-burn-22a/README.md diff --git a/networks/subch_simple/_parameters b/networks/he-burn/he-burn-22a/_parameters similarity index 100% rename from networks/subch_simple/_parameters rename to networks/he-burn/he-burn-22a/_parameters diff --git a/networks/subch_simple/actual_network.H b/networks/he-burn/he-burn-22a/actual_network.H similarity index 100% rename from networks/subch_simple/actual_network.H rename to networks/he-burn/he-burn-22a/actual_network.H diff --git a/networks/subch_simple/actual_network_data.cpp b/networks/he-burn/he-burn-22a/actual_network_data.cpp similarity index 100% rename from networks/subch_simple/actual_network_data.cpp rename to networks/he-burn/he-burn-22a/actual_network_data.cpp diff --git a/networks/subch_simple/actual_rhs.H b/networks/he-burn/he-burn-22a/actual_rhs.H similarity index 99% rename from networks/subch_simple/actual_rhs.H rename to networks/he-burn/he-burn-22a/actual_rhs.H index 17481e41d7..3c0d9037df 100644 --- a/networks/subch_simple/actual_rhs.H +++ b/networks/he-burn/he-burn-22a/actual_rhs.H @@ -1032,7 +1032,7 @@ void evaluate_rates(const burn_t& state, T& rate_eval) { // Fill approximate rates - fill_approx_rates(tfactors, rate_eval); + fill_approx_rates(tfactors, state.rho, Y, rate_eval); // Calculate tabular rates diff --git a/networks/subch_simple/subch_simple.png b/networks/he-burn/he-burn-22a/he-burn-22a.png similarity index 100% rename from networks/subch_simple/subch_simple.png rename to networks/he-burn/he-burn-22a/he-burn-22a.png diff --git a/networks/he-burn/he-burn-22a/he_burn_22a.py b/networks/he-burn/he-burn-22a/he_burn_22a.py new file mode 100644 index 0000000000..07958a9b59 --- /dev/null +++ b/networks/he-burn/he-burn-22a/he_burn_22a.py @@ -0,0 +1,52 @@ +# an approximate network for He/C burning with key rates +# to bypass the C12(a,g)O16 rate. This version uses some +# (a,p)(p,g) approximations. + +import pynucastro as pyna +from pynucastro.networks import AmrexAstroCxxNetwork + +import he_burn_core + + +DO_DERIVED_RATES = False + + +def doit(): + + subch = he_burn_core.get_core_library(include_n14_sequence=True, + include_zn=False, + do_detailed_balance=DO_DERIVED_RATES) + + # these are the rates that we are going to allow to be optionally + # zeroed + r1 = subch.get_rate_by_name("c12(p,g)n13") + r2 = subch.get_rate_by_name("n13(he4,p)o16") + + net = AmrexAstroCxxNetwork(libraries=[subch], symmetric_screening=True, + disable_rate_params=[r1, r2]) + + net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47", "mn51", "co55"]) + net.remove_nuclei(["cl35", "k39", "sc43", "v47", "mn51", "co55"]) + + print(f"number of nuclei: {len(net.unique_nuclei)}") + print(f"number of rates: {len(net.rates)}") + + comp = pyna.Composition(net.get_nuclei()) + comp.set_all(0.1) + comp.set_nuc("he4", 0.95) + comp.normalize() + + rho = 1.e6 + T = 1.e9 + + net.plot(rho, T, comp, outfile="he-burn-22a.png", + rotated=True, hide_xalpha=True, curved_edges=True, + size=(1500, 450), + node_size=500, node_font_size=11, node_color="#337dff", node_shape="s", + Z_range=(1,29)) + + net.write_network() + + +if __name__ == "__main__": + doit() diff --git a/networks/he-burn/he-burn-22a/he_burn_core.py b/networks/he-burn/he-burn-22a/he_burn_core.py new file mode 120000 index 0000000000..bc9cd39283 --- /dev/null +++ b/networks/he-burn/he-burn-22a/he_burn_core.py @@ -0,0 +1 @@ +../he_burn_core.py \ No newline at end of file diff --git a/networks/subch_simple/inputs.burn_cell.VODE b/networks/he-burn/he-burn-22a/inputs.burn_cell.VODE similarity index 100% rename from networks/subch_simple/inputs.burn_cell.VODE rename to networks/he-burn/he-burn-22a/inputs.burn_cell.VODE diff --git a/networks/subch_simple/partition_functions.H b/networks/he-burn/he-burn-22a/partition_functions.H similarity index 100% rename from networks/subch_simple/partition_functions.H rename to networks/he-burn/he-burn-22a/partition_functions.H diff --git a/networks/subch_simple/partition_functions_data.cpp b/networks/he-burn/he-burn-22a/partition_functions_data.cpp similarity index 100% rename from networks/subch_simple/partition_functions_data.cpp rename to networks/he-burn/he-burn-22a/partition_functions_data.cpp diff --git a/networks/subch_simple/pynucastro.net b/networks/he-burn/he-burn-22a/pynucastro.net similarity index 100% rename from networks/subch_simple/pynucastro.net rename to networks/he-burn/he-burn-22a/pynucastro.net diff --git a/networks/subch_simple/python_net_approx.ipynb b/networks/he-burn/he-burn-22a/python_net_approx.ipynb similarity index 100% rename from networks/subch_simple/python_net_approx.ipynb rename to networks/he-burn/he-burn-22a/python_net_approx.ipynb diff --git a/networks/subch_simple/reaclib_rates.H b/networks/he-burn/he-burn-22a/reaclib_rates.H similarity index 99% rename from networks/subch_simple/reaclib_rates.H rename to networks/he-burn/he-burn-22a/reaclib_rates.H index 4b7b3ec389..9325c22537 100644 --- a/networks/subch_simple/reaclib_rates.H +++ b/networks/he-burn/he-burn-22a/reaclib_rates.H @@ -4614,7 +4614,10 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) template AMREX_GPU_HOST_DEVICE AMREX_INLINE void -fill_approx_rates([[maybe_unused]] const tf_t& tfactors, [[maybe_unused]] T& rate_eval) +fill_approx_rates([[maybe_unused]] const tf_t& tfactors, + [[maybe_unused]] const amrex::Real rho, + [[maybe_unused]] const amrex::Array1D& Y, + [[maybe_unused]] T& rate_eval) { [[maybe_unused]] amrex::Real rate{}; diff --git a/networks/subch_simple/table_rates.H b/networks/he-burn/he-burn-22a/table_rates.H similarity index 100% rename from networks/subch_simple/table_rates.H rename to networks/he-burn/he-burn-22a/table_rates.H diff --git a/networks/subch_simple/table_rates_data.cpp b/networks/he-burn/he-burn-22a/table_rates_data.cpp similarity index 100% rename from networks/subch_simple/table_rates_data.cpp rename to networks/he-burn/he-burn-22a/table_rates_data.cpp diff --git a/networks/subch_base/tfactors.H b/networks/he-burn/he-burn-22a/tfactors.H similarity index 100% rename from networks/subch_base/tfactors.H rename to networks/he-burn/he-burn-22a/tfactors.H diff --git a/networks/He-C-Fe-group/56co-56fe_electroncapture.dat b/networks/he-burn/he-burn-31anp/56co-56fe_electroncapture.dat similarity index 100% rename from networks/He-C-Fe-group/56co-56fe_electroncapture.dat rename to networks/he-burn/he-burn-31anp/56co-56fe_electroncapture.dat diff --git a/networks/He-C-Fe-group/56co-56ni_betadecay.dat b/networks/he-burn/he-burn-31anp/56co-56ni_betadecay.dat similarity index 100% rename from networks/He-C-Fe-group/56co-56ni_betadecay.dat rename to networks/he-burn/he-burn-31anp/56co-56ni_betadecay.dat diff --git a/networks/He-C-Fe-group/56fe-56co_betadecay.dat b/networks/he-burn/he-burn-31anp/56fe-56co_betadecay.dat similarity index 100% rename from networks/He-C-Fe-group/56fe-56co_betadecay.dat rename to networks/he-burn/he-burn-31anp/56fe-56co_betadecay.dat diff --git a/networks/He-C-Fe-group/56ni-56co_electroncapture.dat b/networks/he-burn/he-burn-31anp/56ni-56co_electroncapture.dat similarity index 100% rename from networks/He-C-Fe-group/56ni-56co_electroncapture.dat rename to networks/he-burn/he-burn-31anp/56ni-56co_electroncapture.dat diff --git a/networks/subch_simple/Make.package b/networks/he-burn/he-burn-31anp/Make.package similarity index 100% rename from networks/subch_simple/Make.package rename to networks/he-burn/he-burn-31anp/Make.package diff --git a/networks/He-C-Fe-group/_parameters b/networks/he-burn/he-burn-31anp/_parameters similarity index 100% rename from networks/He-C-Fe-group/_parameters rename to networks/he-burn/he-burn-31anp/_parameters diff --git a/networks/he-burn/he-burn-31anp/actual_network.H b/networks/he-burn/he-burn-31anp/actual_network.H new file mode 100644 index 0000000000..2db369d324 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/actual_network.H @@ -0,0 +1,488 @@ +#ifndef actual_network_H +#define actual_network_H + +#include +#include +#include + +#include +#include + +using namespace amrex; + +void actual_network_init(); + +const std::string network_name = "pynucastro-cxx"; + +namespace network +{ + + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + constexpr amrex::Real bion () { + using namespace Species; + + static_assert(spec >= 1 && spec <= NumSpec); + + // Set the binding energy of the element + + if constexpr (spec == N) { + return 0.0_rt; + } + else if constexpr (spec == H1) { + return 0.0_rt; + } + else if constexpr (spec == P_nse) { + return 0.0_rt; + } + else if constexpr (spec == He4) { + return 28.295662457999697_rt; + } + else if constexpr (spec == C12) { + return 92.16173498399803_rt; + } + else if constexpr (spec == N13) { + return 94.10522604799917_rt; + } + else if constexpr (spec == N14) { + return 104.65860734799753_rt; + } + else if constexpr (spec == O16) { + return 127.6193154119992_rt; + } + else if constexpr (spec == F18) { + return 137.36950247599816_rt; + } + else if constexpr (spec == Ne20) { + return 160.64482384000075_rt; + } + else if constexpr (spec == Ne21) { + return 167.40598973999658_rt; + } + else if constexpr (spec == Na22) { + return 174.14457080400098_rt; + } + else if constexpr (spec == Na23) { + return 186.56435240400242_rt; + } + else if constexpr (spec == Mg24) { + return 198.2570479679962_rt; + } + else if constexpr (spec == Al27) { + return 224.95193723199915_rt; + } + else if constexpr (spec == Si28) { + return 236.53684539599638_rt; + } + else if constexpr (spec == P31) { + return 262.9161999600037_rt; + } + else if constexpr (spec == S32) { + return 271.78016372399725_rt; + } + else if constexpr (spec == Ar36) { + return 306.7167469519991_rt; + } + else if constexpr (spec == Ca40) { + return 342.05218528000114_rt; + } + else if constexpr (spec == Ti44) { + return 375.47496160800074_rt; + } + else if constexpr (spec == Cr48) { + return 411.4679399359957_rt; + } + else if constexpr (spec == Mn51) { + return 440.321747199996_rt; + } + else if constexpr (spec == Fe52) { + return 447.6996182639923_rt; + } + else if constexpr (spec == Fe54) { + return 471.76475446399854_rt; + } + else if constexpr (spec == Fe56) { + return 492.2599506639962_rt; + } + else if constexpr (spec == Co55) { + return 476.82912552799826_rt; + } + else if constexpr (spec == Co56) { + return 486.91094362799777_rt; + } + else if constexpr (spec == Co57) { + return 498.28746172798856_rt; + } + else if constexpr (spec == Ni56) { + return 483.9956965919919_rt; + } + else if constexpr (spec == Ni58) { + return 506.4596327920008_rt; + } + + + // Return zero if we don't recognize the species. + return 0.0_rt; + } + + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + constexpr amrex::Real mion () { + static_assert(spec >= 1 && spec <= NumSpec); + + constexpr amrex::Real A = NetworkProperties::aion(spec); + constexpr amrex::Real Z = NetworkProperties::zion(spec); + + return (A - Z) * C::Legacy::m_n + Z * (C::Legacy::m_p + C::Legacy::m_e) - bion() * C::Legacy::MeV2gr; + } + + // Legacy (non-templated) interfaces + + AMREX_GPU_HOST_DEVICE AMREX_INLINE + amrex::Real bion (int spec) { + using namespace Species; + + amrex::Real b = 0.0_rt; + + // Set the binding energy of the element + constexpr_for<1, NumSpec+1>([&] (auto n) { + if (n == spec) { + b = bion(); + } + }); + + return b; + } + + AMREX_GPU_HOST_DEVICE AMREX_INLINE + amrex::Real mion (int spec) { + using namespace Species; + + amrex::Real m = 0.0_rt; + + constexpr_for<1, NumSpec+1>([&] (auto n) { + if (n == spec) { + m = mion(); + } + }); + + return m; + } +} + +namespace Rates +{ + + enum NetworkRates + { + k_p_C12_to_N13 = 1, + k_He4_C12_to_O16 = 2, + k_He4_N14_to_F18 = 3, + k_He4_O16_to_Ne20 = 4, + k_He4_F18_to_Na22 = 5, + k_He4_Ne20_to_Mg24 = 6, + k_p_Ne21_to_Na22 = 7, + k_p_Na23_to_Mg24 = 8, + k_He4_Mg24_to_Si28 = 9, + k_p_Al27_to_Si28 = 10, + k_He4_Si28_to_S32 = 11, + k_p_P31_to_S32 = 12, + k_He4_Cr48_to_Fe52 = 13, + k_p_nse_Mn51_to_Fe52 = 14, + k_He4_Mn51_to_Co55 = 15, + k_He4_Fe52_to_Ni56 = 16, + k_p_nse_Co55_to_Ni56 = 17, + k_C12_C12_to_p_Na23 = 18, + k_C12_C12_to_He4_Ne20 = 19, + k_He4_N13_to_p_O16 = 20, + k_C12_O16_to_p_Al27 = 21, + k_C12_O16_to_He4_Mg24 = 22, + k_O16_O16_to_p_P31 = 23, + k_O16_O16_to_He4_Si28 = 24, + k_He4_F18_to_p_Ne21 = 25, + k_p_Na23_to_He4_Ne20 = 26, + k_p_Al27_to_He4_Mg24 = 27, + k_p_P31_to_He4_Si28 = 28, + k_He4_Cr48_to_p_nse_Mn51 = 29, + k_He4_Fe52_to_p_nse_Co55 = 30, + k_He4_He4_He4_to_C12 = 31, + k_C12_C12_to_Mg24_modified = 32, + k_O16_O16_to_S32_modified = 33, + k_C12_O16_to_Si28_modified = 34, + k_p_nse_Fe54_to_Co55 = 35, + k_He4_Fe54_to_Ni58 = 36, + k_p_nse_Fe56_to_Co57 = 37, + k_n_Co55_to_Co56 = 38, + k_n_Co56_to_Co57 = 39, + k_p_nse_Co57_to_Ni58 = 40, + k_He4_Mn51_to_p_nse_Fe54 = 41, + k_He4_Co55_to_p_nse_Ni58 = 42, + k_n_Co56_to_p_nse_Fe56 = 43, + k_p_nse_Co57_to_He4_Fe54 = 44, + k_n_Ni56_to_p_nse_Co56 = 45, + k_He4_S32_to_Ar36_removed = 46, + k_p_Cl35_to_Ar36_removed = 47, + k_p_Cl35_to_He4_S32_removed = 48, + k_He4_Ar36_to_Ca40_removed = 49, + k_p_K39_to_Ca40_removed = 50, + k_p_K39_to_He4_Ar36_removed = 51, + k_He4_Ca40_to_Ti44_removed = 52, + k_p_Sc43_to_Ti44_removed = 53, + k_p_Sc43_to_He4_Ca40_removed = 54, + k_He4_Ti44_to_Cr48_removed = 55, + k_He4_Ti44_to_p_V47_removed = 56, + k_p_V47_to_Cr48_removed = 57, + k_n_Fe52_to_Fe53_removed = 58, + k_n_Fe53_to_Fe54_removed = 59, + k_n_Fe54_to_Fe55_removed = 60, + k_n_Fe55_to_Fe56_removed = 61, + k_n_Ni56_to_Ni57_removed = 62, + k_n_Ni57_to_Ni58_removed = 63, + k_Co56_to_Fe56 = 64, + k_Co56_to_Ni56 = 65, + k_Fe56_to_Co56 = 66, + k_n_to_p = 67, + k_Ni56_to_Co56 = 68, + k_p_to_n = 69, + k_S32_He4_to_Ar36_approx = 70, + k_Ar36_to_S32_He4_approx = 71, + k_Ar36_He4_to_Ca40_approx = 72, + k_Ca40_to_Ar36_He4_approx = 73, + k_Ca40_He4_to_Ti44_approx = 74, + k_Ti44_to_Ca40_He4_approx = 75, + k_Ti44_He4_to_Cr48_approx = 76, + k_Cr48_to_Ti44_He4_approx = 77, + k_Fe52_n_n_to_Fe54_approx = 78, + k_Fe54_to_Fe52_n_n_approx = 79, + k_Fe54_n_n_to_Fe56_approx = 80, + k_Fe56_to_Fe54_n_n_approx = 81, + k_Ni56_n_n_to_Ni58_approx = 82, + k_Ni58_to_Ni56_n_n_approx = 83, + k_N13_to_p_C12_derived = 84, + k_O16_to_He4_C12_derived = 85, + k_F18_to_He4_N14_derived = 86, + k_Ne20_to_He4_O16_derived = 87, + k_Na22_to_p_Ne21_derived = 88, + k_Na22_to_He4_F18_derived = 89, + k_Mg24_to_p_Na23_derived = 90, + k_Mg24_to_He4_Ne20_derived = 91, + k_Si28_to_p_Al27_derived = 92, + k_Si28_to_He4_Mg24_derived = 93, + k_S32_to_p_P31_derived = 94, + k_S32_to_He4_Si28_derived = 95, + k_Fe52_to_p_nse_Mn51_derived = 96, + k_Fe52_to_He4_Cr48_derived = 97, + k_Co55_to_He4_Mn51_derived = 98, + k_Ni56_to_p_nse_Co55_derived = 99, + k_Ni56_to_He4_Fe52_derived = 100, + k_C12_to_He4_He4_He4_derived = 101, + k_p_O16_to_He4_N13_derived = 102, + k_He4_Ne20_to_p_Na23_derived = 103, + k_p_Ne21_to_He4_F18_derived = 104, + k_He4_Mg24_to_p_Al27_derived = 105, + k_He4_Si28_to_p_P31_derived = 106, + k_p_nse_Mn51_to_He4_Cr48_derived = 107, + k_p_nse_Co55_to_He4_Fe52_derived = 108, + k_Co55_to_p_nse_Fe54_derived = 109, + k_Co56_to_n_Co55_derived = 110, + k_Co57_to_n_Co56_derived = 111, + k_Co57_to_p_nse_Fe56_derived = 112, + k_Ni58_to_p_nse_Co57_derived = 113, + k_Ni58_to_He4_Fe54_derived = 114, + k_p_nse_Fe54_to_He4_Mn51_derived = 115, + k_He4_Fe54_to_p_nse_Co57_derived = 116, + k_p_nse_Fe56_to_n_Co56_derived = 117, + k_p_nse_Co56_to_n_Ni56_derived = 118, + k_p_nse_Ni58_to_He4_Co55_derived = 119, + k_He4_S32_to_p_Cl35_derived_removed = 120, + k_Ar36_to_He4_S32_derived_removed = 121, + k_Ar36_to_p_Cl35_derived_removed = 122, + k_He4_Ar36_to_p_K39_derived_removed = 123, + k_Ca40_to_He4_Ar36_derived_removed = 124, + k_Ca40_to_p_K39_derived_removed = 125, + k_He4_Ca40_to_p_Sc43_derived_removed = 126, + k_Ti44_to_He4_Ca40_derived_removed = 127, + k_Ti44_to_p_Sc43_derived_removed = 128, + k_Cr48_to_He4_Ti44_derived_removed = 129, + k_Cr48_to_p_V47_derived_removed = 130, + k_p_V47_to_He4_Ti44_derived_removed = 131, + k_Fe54_to_n_Fe53_derived_removed = 132, + k_Fe53_to_n_Fe52_derived_removed = 133, + k_Fe56_to_n_Fe55_derived_removed = 134, + k_Fe55_to_n_Fe54_derived_removed = 135, + k_Ni58_to_n_Ni57_derived_removed = 136, + k_Ni57_to_n_Ni56_derived_removed = 137, + NumRates = k_Ni57_to_n_Ni56_derived_removed + }; + + // number of reaclib rates + + const int NrateReaclib = 117; + + // number of tabular rates + + const int NrateTabular = 6; + + // rate names -- note: the rates are 1-based, not zero-based, so we pad + // this vector with rate_names[0] = "" so the indices line up with the + // NetworkRates enum + + static const std::vector rate_names = { + "", // 0 + "p_C12_to_N13", // 1, + "He4_C12_to_O16", // 2, + "He4_N14_to_F18", // 3, + "He4_O16_to_Ne20", // 4, + "He4_F18_to_Na22", // 5, + "He4_Ne20_to_Mg24", // 6, + "p_Ne21_to_Na22", // 7, + "p_Na23_to_Mg24", // 8, + "He4_Mg24_to_Si28", // 9, + "p_Al27_to_Si28", // 10, + "He4_Si28_to_S32", // 11, + "p_P31_to_S32", // 12, + "He4_Cr48_to_Fe52", // 13, + "p_nse_Mn51_to_Fe52", // 14, + "He4_Mn51_to_Co55", // 15, + "He4_Fe52_to_Ni56", // 16, + "p_nse_Co55_to_Ni56", // 17, + "C12_C12_to_p_Na23", // 18, + "C12_C12_to_He4_Ne20", // 19, + "He4_N13_to_p_O16", // 20, + "C12_O16_to_p_Al27", // 21, + "C12_O16_to_He4_Mg24", // 22, + "O16_O16_to_p_P31", // 23, + "O16_O16_to_He4_Si28", // 24, + "He4_F18_to_p_Ne21", // 25, + "p_Na23_to_He4_Ne20", // 26, + "p_Al27_to_He4_Mg24", // 27, + "p_P31_to_He4_Si28", // 28, + "He4_Cr48_to_p_nse_Mn51", // 29, + "He4_Fe52_to_p_nse_Co55", // 30, + "He4_He4_He4_to_C12", // 31, + "C12_C12_to_Mg24_modified", // 32, + "O16_O16_to_S32_modified", // 33, + "C12_O16_to_Si28_modified", // 34, + "p_nse_Fe54_to_Co55", // 35, + "He4_Fe54_to_Ni58", // 36, + "p_nse_Fe56_to_Co57", // 37, + "n_Co55_to_Co56", // 38, + "n_Co56_to_Co57", // 39, + "p_nse_Co57_to_Ni58", // 40, + "He4_Mn51_to_p_nse_Fe54", // 41, + "He4_Co55_to_p_nse_Ni58", // 42, + "n_Co56_to_p_nse_Fe56", // 43, + "p_nse_Co57_to_He4_Fe54", // 44, + "n_Ni56_to_p_nse_Co56", // 45, + "He4_S32_to_Ar36_removed", // 46, + "p_Cl35_to_Ar36_removed", // 47, + "p_Cl35_to_He4_S32_removed", // 48, + "He4_Ar36_to_Ca40_removed", // 49, + "p_K39_to_Ca40_removed", // 50, + "p_K39_to_He4_Ar36_removed", // 51, + "He4_Ca40_to_Ti44_removed", // 52, + "p_Sc43_to_Ti44_removed", // 53, + "p_Sc43_to_He4_Ca40_removed", // 54, + "He4_Ti44_to_Cr48_removed", // 55, + "He4_Ti44_to_p_V47_removed", // 56, + "p_V47_to_Cr48_removed", // 57, + "n_Fe52_to_Fe53_removed", // 58, + "n_Fe53_to_Fe54_removed", // 59, + "n_Fe54_to_Fe55_removed", // 60, + "n_Fe55_to_Fe56_removed", // 61, + "n_Ni56_to_Ni57_removed", // 62, + "n_Ni57_to_Ni58_removed", // 63, + "Co56_to_Fe56", // 64, + "Co56_to_Ni56", // 65, + "Fe56_to_Co56", // 66, + "n_to_p", // 67, + "Ni56_to_Co56", // 68, + "p_to_n", // 69, + "S32_He4_to_Ar36_approx", // 70, + "Ar36_to_S32_He4_approx", // 71, + "Ar36_He4_to_Ca40_approx", // 72, + "Ca40_to_Ar36_He4_approx", // 73, + "Ca40_He4_to_Ti44_approx", // 74, + "Ti44_to_Ca40_He4_approx", // 75, + "Ti44_He4_to_Cr48_approx", // 76, + "Cr48_to_Ti44_He4_approx", // 77, + "Fe52_n_n_to_Fe54_approx", // 78, + "Fe54_to_Fe52_n_n_approx", // 79, + "Fe54_n_n_to_Fe56_approx", // 80, + "Fe56_to_Fe54_n_n_approx", // 81, + "Ni56_n_n_to_Ni58_approx", // 82, + "Ni58_to_Ni56_n_n_approx", // 83, + "N13_to_p_C12_derived", // 84, + "O16_to_He4_C12_derived", // 85, + "F18_to_He4_N14_derived", // 86, + "Ne20_to_He4_O16_derived", // 87, + "Na22_to_p_Ne21_derived", // 88, + "Na22_to_He4_F18_derived", // 89, + "Mg24_to_p_Na23_derived", // 90, + "Mg24_to_He4_Ne20_derived", // 91, + "Si28_to_p_Al27_derived", // 92, + "Si28_to_He4_Mg24_derived", // 93, + "S32_to_p_P31_derived", // 94, + "S32_to_He4_Si28_derived", // 95, + "Fe52_to_p_nse_Mn51_derived", // 96, + "Fe52_to_He4_Cr48_derived", // 97, + "Co55_to_He4_Mn51_derived", // 98, + "Ni56_to_p_nse_Co55_derived", // 99, + "Ni56_to_He4_Fe52_derived", // 100, + "C12_to_He4_He4_He4_derived", // 101, + "p_O16_to_He4_N13_derived", // 102, + "He4_Ne20_to_p_Na23_derived", // 103, + "p_Ne21_to_He4_F18_derived", // 104, + "He4_Mg24_to_p_Al27_derived", // 105, + "He4_Si28_to_p_P31_derived", // 106, + "p_nse_Mn51_to_He4_Cr48_derived", // 107, + "p_nse_Co55_to_He4_Fe52_derived", // 108, + "Co55_to_p_nse_Fe54_derived", // 109, + "Co56_to_n_Co55_derived", // 110, + "Co57_to_n_Co56_derived", // 111, + "Co57_to_p_nse_Fe56_derived", // 112, + "Ni58_to_p_nse_Co57_derived", // 113, + "Ni58_to_He4_Fe54_derived", // 114, + "p_nse_Fe54_to_He4_Mn51_derived", // 115, + "He4_Fe54_to_p_nse_Co57_derived", // 116, + "p_nse_Fe56_to_n_Co56_derived", // 117, + "p_nse_Co56_to_n_Ni56_derived", // 118, + "p_nse_Ni58_to_He4_Co55_derived", // 119, + "He4_S32_to_p_Cl35_derived_removed", // 120, + "Ar36_to_He4_S32_derived_removed", // 121, + "Ar36_to_p_Cl35_derived_removed", // 122, + "He4_Ar36_to_p_K39_derived_removed", // 123, + "Ca40_to_He4_Ar36_derived_removed", // 124, + "Ca40_to_p_K39_derived_removed", // 125, + "He4_Ca40_to_p_Sc43_derived_removed", // 126, + "Ti44_to_He4_Ca40_derived_removed", // 127, + "Ti44_to_p_Sc43_derived_removed", // 128, + "Cr48_to_He4_Ti44_derived_removed", // 129, + "Cr48_to_p_V47_derived_removed", // 130, + "p_V47_to_He4_Ti44_derived_removed", // 131, + "Fe54_to_n_Fe53_derived_removed", // 132, + "Fe53_to_n_Fe52_derived_removed", // 133, + "Fe56_to_n_Fe55_derived_removed", // 134, + "Fe55_to_n_Fe54_derived_removed", // 135, + "Ni58_to_n_Ni57_derived_removed", // 136, + "Ni57_to_n_Ni56_derived_removed" // 137, + }; + +} + +#ifdef NSE_NET +namespace NSE_INDEX +{ + constexpr int H1_index = 1; + constexpr int N_index = 0; + constexpr int He4_index = 3; + + // Each row corresponds to the rate in NetworkRates enum + // First 3 row indices for reactants, followed by 3 product indices + // last index is the corresponding reverse rate index. + + extern AMREX_GPU_MANAGED amrex::Array2D rate_indices; +} +#endif + +#endif diff --git a/networks/he-burn/he-burn-31anp/actual_network_data.cpp b/networks/he-burn/he-burn-31anp/actual_network_data.cpp new file mode 100644 index 0000000000..602a8fcf18 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/actual_network_data.cpp @@ -0,0 +1,152 @@ +#include + + +#ifdef NSE_NET +namespace NSE_INDEX +{ + AMREX_GPU_MANAGED amrex::Array2D rate_indices { + -1, 1, 4, -1, -1, 5, 84, + -1, 3, 4, -1, -1, 7, 85, + -1, 3, 6, -1, -1, 8, 86, + -1, 3, 7, -1, -1, 9, 87, + -1, 3, 8, -1, -1, 11, 89, + -1, 3, 9, -1, -1, 13, 91, + -1, 1, 10, -1, -1, 11, 88, + -1, 1, 12, -1, -1, 13, 90, + -1, 3, 13, -1, -1, 15, 93, + -1, 1, 14, -1, -1, 15, 92, + -1, 3, 15, -1, -1, 17, 95, + -1, 1, 16, -1, -1, 17, 94, + -1, 3, 21, -1, -1, 23, 97, + -1, 2, 22, -1, -1, 23, 96, + -1, 3, 22, -1, -1, 26, 98, + -1, 3, 23, -1, -1, 29, 100, + -1, 2, 26, -1, -1, 29, 99, + -1, 4, 4, -1, 1, 12, -1, + -1, 4, 4, -1, 3, 9, -1, + -1, 3, 5, -1, 1, 7, 102, + -1, 4, 7, -1, 1, 14, -1, + -1, 4, 7, -1, 3, 13, -1, + -1, 7, 7, -1, 1, 16, -1, + -1, 7, 7, -1, 3, 15, -1, + -1, 3, 8, -1, 1, 10, 104, + -1, 1, 12, -1, 3, 9, 103, + -1, 1, 14, -1, 3, 13, 105, + -1, 1, 16, -1, 3, 15, 106, + -1, 3, 21, -1, 2, 22, 107, + -1, 3, 23, -1, 2, 26, 108, + 3, 3, 3, -1, -1, 4, 101, + -1, 4, 4, -1, -1, 13, -1, + -1, 7, 7, -1, -1, 17, -1, + -1, 4, 7, -1, -1, 15, -1, + -1, 2, 24, -1, -1, 26, 109, + -1, 3, 24, -1, -1, 30, 114, + -1, 2, 25, -1, -1, 28, 112, + -1, 0, 26, -1, -1, 27, 110, + -1, 0, 27, -1, -1, 28, 111, + -1, 2, 28, -1, -1, 30, 113, + -1, 3, 22, -1, 2, 24, 115, + -1, 3, 26, -1, 2, 30, 119, + -1, 0, 27, -1, 2, 25, 117, + -1, 2, 28, -1, 3, 24, 116, + -1, 0, 29, -1, 2, 27, 118, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, 27, -1, -1, 25, 66, + -1, -1, 27, -1, -1, 29, -1, + -1, -1, 25, -1, -1, 27, -1, + -1, -1, 0, -1, -1, 1, 69, + -1, -1, 29, -1, -1, 27, 65, + -1, -1, 1, -1, -1, 0, -1, + -1, 3, 17, -1, -1, 18, 71, + -1, -1, 18, -1, 3, 17, -1, + -1, 3, 18, -1, -1, 19, 73, + -1, -1, 19, -1, 3, 18, -1, + -1, 3, 19, -1, -1, 20, 75, + -1, -1, 20, -1, 3, 19, -1, + -1, 3, 20, -1, -1, 21, 77, + -1, -1, 21, -1, 3, 20, -1, + 0, 0, 23, -1, -1, 24, 79, + -1, -1, 24, 0, 0, 23, -1, + 0, 0, 24, -1, -1, 25, 81, + -1, -1, 25, 0, 0, 24, -1, + 0, 0, 29, -1, -1, 30, 83, + -1, -1, 30, 0, 0, 29, -1, + -1, -1, 5, -1, 1, 4, -1, + -1, -1, 7, -1, 3, 4, -1, + -1, -1, 8, -1, 3, 6, -1, + -1, -1, 9, -1, 3, 7, -1, + -1, -1, 11, -1, 1, 10, -1, + -1, -1, 11, -1, 3, 8, -1, + -1, -1, 13, -1, 1, 12, -1, + -1, -1, 13, -1, 3, 9, -1, + -1, -1, 15, -1, 1, 14, -1, + -1, -1, 15, -1, 3, 13, -1, + -1, -1, 17, -1, 1, 16, -1, + -1, -1, 17, -1, 3, 15, -1, + -1, -1, 23, -1, 2, 22, -1, + -1, -1, 23, -1, 3, 21, -1, + -1, -1, 26, -1, 3, 22, -1, + -1, -1, 29, -1, 2, 26, -1, + -1, -1, 29, -1, 3, 23, -1, + -1, -1, 4, 3, 3, 3, -1, + -1, 1, 7, -1, 3, 5, -1, + -1, 3, 9, -1, 1, 12, -1, + -1, 1, 10, -1, 3, 8, -1, + -1, 3, 13, -1, 1, 14, -1, + -1, 3, 15, -1, 1, 16, -1, + -1, 2, 22, -1, 3, 21, -1, + -1, 2, 26, -1, 3, 23, -1, + -1, -1, 26, -1, 2, 24, -1, + -1, -1, 27, -1, 0, 26, -1, + -1, -1, 28, -1, 0, 27, -1, + -1, -1, 28, -1, 2, 25, -1, + -1, -1, 30, -1, 2, 28, -1, + -1, -1, 30, -1, 3, 24, -1, + -1, 2, 24, -1, 3, 22, -1, + -1, 3, 24, -1, 2, 28, -1, + -1, 2, 25, -1, 0, 27, -1, + -1, 2, 27, -1, 0, 29, -1, + -1, 2, 30, -1, 3, 26, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1 + }; +} +#endif + +void actual_network_init() +{ + +} diff --git a/networks/he-burn/he-burn-31anp/actual_rhs.H b/networks/he-burn/he-burn-31anp/actual_rhs.H new file mode 100644 index 0000000000..4917e7e02f --- /dev/null +++ b/networks/he-burn/he-burn-31anp/actual_rhs.H @@ -0,0 +1,2344 @@ +#ifndef actual_rhs_H +#define actual_rhs_H + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace amrex; +using namespace ArrayUtil; + +using namespace Species; +using namespace Rates; + +using namespace rate_tables; + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void ener_gener_rate(T const& dydt, amrex::Real& enuc) +{ + + // Computes the instantaneous energy generation rate (from the nuclei) + + // This is basically e = m c**2 + + enuc = 0.0_rt; + + for (int n = 1; n <= NumSpec; ++n) { + enuc += dydt(n) * network::mion(n); + } + + enuc *= C::Legacy::enuc_conv2; +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void evaluate_rates(const burn_t& state, T& rate_eval) { + + + // create molar fractions + + amrex::Array1D Y; + for (int n = 1; n <= NumSpec; ++n) { + Y(n) = state.xn[n-1] * aion_inv[n-1]; + } + + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + // Calculate Reaclib rates + + using number_t = std::conditional_t; + number_t temp = state.T; + if constexpr (do_T_derivatives) { + // seed the dual number for temperature before calculating anything with it + autodiff::seed(temp); + } + plasma_state_t pstate{}; + fill_plasma_state(pstate, temp, state.rho, Y); + + tf_t tfactors = evaluate_tfactors(state.T); + + fill_reaclib_rates(tfactors, rate_eval); + + + + // Evaluate screening factors + + amrex::Real ratraw, dratraw_dT; + amrex::Real scor, dscor_dt; + [[maybe_unused]] amrex::Real scor2, dscor2_dt; + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 6.0_rt, 12.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_C12_to_N13); + rate_eval.screened_rates(k_p_C12_to_N13) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_C12_to_N13); + rate_eval.dscreened_rates_dT(k_p_C12_to_N13) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 6.0_rt, 12.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_C12_to_O16); + rate_eval.screened_rates(k_He4_C12_to_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_C12_to_O16); + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 14.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_N14_to_F18); + rate_eval.screened_rates(k_He4_N14_to_F18) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N14_to_F18); + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_O16_to_Ne20); + rate_eval.screened_rates(k_He4_O16_to_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20); + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 9.0_rt, 18.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_F18_to_Na22); + rate_eval.screened_rates(k_He4_F18_to_Na22) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22); + rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_F18_to_p_Ne21); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21); + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 10.0_rt, 20.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ne20_to_Mg24); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24); + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived); + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 10.0_rt, 21.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_Ne21_to_Na22); + rate_eval.screened_rates(k_p_Ne21_to_Na22) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22); + rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived); + rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived); + rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 11.0_rt, 23.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_Na23_to_Mg24); + rate_eval.screened_rates(k_p_Na23_to_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24); + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Na23_to_He4_Ne20); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20); + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 12.0_rt, 24.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Mg24_to_Si28); + rate_eval.screened_rates(k_He4_Mg24_to_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28); + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived); + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 13.0_rt, 27.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_Al27_to_Si28); + rate_eval.screened_rates(k_p_Al27_to_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28); + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Al27_to_He4_Mg24); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24); + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 14.0_rt, 28.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Si28_to_S32); + rate_eval.screened_rates(k_He4_Si28_to_S32) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32); + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived); + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 15.0_rt, 31.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_P31_to_S32); + rate_eval.screened_rates(k_p_P31_to_S32) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_S32); + rate_eval.dscreened_rates_dT(k_p_P31_to_S32) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_P31_to_He4_Si28); + rate_eval.screened_rates(k_p_P31_to_He4_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28); + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 24.0_rt, 48.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Cr48_to_Fe52); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52); + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Cr48_to_p_nse_Mn51); + rate_eval.screened_rates(k_He4_Cr48_to_p_nse_Mn51) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_nse_Mn51); + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_nse_Mn51) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 25.0_rt, 51.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_nse_Mn51_to_Fe52); + rate_eval.screened_rates(k_p_nse_Mn51_to_Fe52) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_Fe52); + rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_Fe52) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived); + rate_eval.screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_He4_Cr48_derived); + rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_He4_Cr48_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 25.0_rt, 51.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Mn51_to_Co55); + rate_eval.screened_rates(k_He4_Mn51_to_Co55) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55); + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Mn51_to_p_nse_Fe54); + rate_eval.screened_rates(k_He4_Mn51_to_p_nse_Fe54) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_nse_Fe54); + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_nse_Fe54) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 52.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Fe52_to_Ni56); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56); + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Fe52_to_p_nse_Co55); + rate_eval.screened_rates(k_He4_Fe52_to_p_nse_Co55) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_nse_Co55); + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_nse_Co55) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 55.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_nse_Co55_to_Ni56); + rate_eval.screened_rates(k_p_nse_Co55_to_Ni56) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_Ni56); + rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_Ni56) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_nse_Co55_to_He4_Fe52_derived); + rate_eval.screened_rates(k_p_nse_Co55_to_He4_Fe52_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_He4_Fe52_derived); + rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_He4_Fe52_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 6.0_rt, 12.0_rt); + + + static_assert(scn_fac.z1 == 6.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_C12_C12_to_p_Na23); + rate_eval.screened_rates(k_C12_C12_to_p_Na23) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23); + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_C12_to_He4_Ne20); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20); + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_C12_to_Mg24_modified); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified); + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 7.0_rt, 13.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_N13_to_p_O16); + rate_eval.screened_rates(k_He4_N13_to_p_O16) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16); + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(6.0_rt, 12.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 6.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_C12_O16_to_p_Al27); + rate_eval.screened_rates(k_C12_O16_to_p_Al27) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27); + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_O16_to_He4_Mg24); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24); + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_C12_O16_to_Si28_modified); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified); + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(8.0_rt, 16.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 8.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_O16_O16_to_p_P31); + rate_eval.screened_rates(k_O16_O16_to_p_P31) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31); + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_O16_O16_to_He4_Si28); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28); + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_O16_O16_to_S32_modified); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified); + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 2.0_rt, 4.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + + { + constexpr auto scn_fac2 = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 4.0_rt, 8.0_rt); + + + static_assert(scn_fac2.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac2, scor2, dscor2_dt); + + } + + + ratraw = rate_eval.screened_rates(k_He4_He4_He4_to_C12); + rate_eval.screened_rates(k_He4_He4_He4_to_C12) *= scor * scor2; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12); + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12) = ratraw * (scor * dscor2_dt + dscor_dt * scor2) + dratraw_dT * scor * scor2; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 54.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_nse_Fe54_to_Co55); + rate_eval.screened_rates(k_p_nse_Fe54_to_Co55) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_Co55); + rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_Co55) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived); + rate_eval.screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_He4_Mn51_derived); + rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_He4_Mn51_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 26.0_rt, 54.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Fe54_to_Ni58); + rate_eval.screened_rates(k_He4_Fe54_to_Ni58) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58); + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Fe54_to_p_nse_Co57_derived); + rate_eval.screened_rates(k_He4_Fe54_to_p_nse_Co57_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_nse_Co57_derived); + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_nse_Co57_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 26.0_rt, 56.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_nse_Fe56_to_Co57); + rate_eval.screened_rates(k_p_nse_Fe56_to_Co57) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_Co57); + rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_Co57) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_nse_Fe56_to_n_Co56_derived); + rate_eval.screened_rates(k_p_nse_Fe56_to_n_Co56_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_n_Co56_derived); + rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_n_Co56_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 57.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_nse_Co57_to_Ni58); + rate_eval.screened_rates(k_p_nse_Co57_to_Ni58) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_Ni58); + rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_Ni58) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_nse_Co57_to_He4_Fe54); + rate_eval.screened_rates(k_p_nse_Co57_to_He4_Fe54) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_He4_Fe54); + rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_He4_Fe54) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 27.0_rt, 55.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Co55_to_p_nse_Ni58); + rate_eval.screened_rates(k_He4_Co55_to_p_nse_Ni58) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_nse_Ni58); + rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_nse_Ni58) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 8.0_rt, 16.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_O16_to_He4_N13_derived); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived); + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 27.0_rt, 56.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_nse_Co56_to_n_Ni56_derived); + rate_eval.screened_rates(k_p_nse_Co56_to_n_Ni56_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Co56_to_n_Ni56_derived); + rate_eval.dscreened_rates_dT(k_p_nse_Co56_to_n_Ni56_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 28.0_rt, 58.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_nse_Ni58_to_He4_Co55_derived); + rate_eval.screened_rates(k_p_nse_Ni58_to_He4_Co55_derived) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_nse_Ni58_to_He4_Co55_derived); + rate_eval.dscreened_rates_dT(k_p_nse_Ni58_to_He4_Co55_derived) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 16.0_rt, 32.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_derived_removed); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_derived_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_derived_removed); + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_derived_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 17.0_rt, 35.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 18.0_rt, 36.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_derived_removed); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_derived_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_derived_removed); + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_derived_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 19.0_rt, 39.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 20.0_rt, 40.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_derived_removed); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_derived_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_derived_removed); + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_derived_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 21.0_rt, 43.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(2.0_rt, 4.0_rt, 22.0_rt, 44.0_rt); + + + static_assert(scn_fac.z1 == 2.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + { + constexpr auto scn_fac = scrn::calculate_screen_factor(1.0_rt, 1.0_rt, 23.0_rt, 47.0_rt); + + + static_assert(scn_fac.z1 == 1.0_rt); + + + actual_screen(pstate, scn_fac, scor, dscor_dt); + } + + + ratraw = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + ratraw = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_derived_removed); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_derived_removed) *= scor; + if constexpr (std::is_same_v) { + dratraw_dT = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_derived_removed); + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_derived_removed) = ratraw * dscor_dt + dratraw_dT * scor; + } + + + // Fill approximate rates + + fill_approx_rates(tfactors, state.rho, Y, rate_eval); + + // Calculate tabular rates + + [[maybe_unused]] amrex::Real rate, drate_dt, edot_nu, edot_gamma; + + rate_eval.enuc_weak = 0.0_rt; + + tabular_evaluate(j_Co56_Fe56_meta, j_Co56_Fe56_rhoy, j_Co56_Fe56_temp, j_Co56_Fe56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Co56_to_Fe56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_Fe56) = drate_dt; + } + rate_eval.enuc_weak += C::Legacy::n_A * Y(Co56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_Co56_Ni56_meta, j_Co56_Ni56_rhoy, j_Co56_Ni56_temp, j_Co56_Ni56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Co56_to_Ni56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_Ni56) = drate_dt; + } + rate_eval.enuc_weak += C::Legacy::n_A * Y(Co56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_Fe56_Co56_meta, j_Fe56_Co56_rhoy, j_Fe56_Co56_temp, j_Fe56_Co56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Fe56_to_Co56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_Co56) = drate_dt; + } + rate_eval.enuc_weak += C::Legacy::n_A * Y(Fe56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_n_p_meta, j_n_p_rhoy, j_n_p_temp, j_n_p_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_n_to_p) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_to_p) = drate_dt; + } + rate_eval.enuc_weak += C::Legacy::n_A * Y(N) * (edot_nu + edot_gamma); + + tabular_evaluate(j_Ni56_Co56_meta, j_Ni56_Co56_rhoy, j_Ni56_Co56_temp, j_Ni56_Co56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Ni56_to_Co56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_Co56) = drate_dt; + } + rate_eval.enuc_weak += C::Legacy::n_A * Y(Ni56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_p_n_meta, j_p_n_rhoy, j_p_n_temp, j_p_n_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_p_to_n) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_to_n) = drate_dt; + } + rate_eval.enuc_weak += C::Legacy::n_A * Y(H1) * (edot_nu + edot_gamma); + + +} + +#ifdef NSE_NET +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void get_ydot_weak(const burn_t& state, + amrex::Array1D& ydot_nuc, + amrex::Real& enuc_weak, + [[maybe_unused]] const amrex::Array1D& Y) { + /// + /// Calculate Ydots contribute only from weak reactions. + /// This is used to calculate dyedt and energy generation from + /// weak reactions for self-consistent NSE + /// + + + // initialize ydot_nuc to 0 + + for (int i = 1; i <= neqs; ++i) { + ydot_nuc(i) = 0.0_rt; + } + + rate_t rate_eval; + + [[maybe_unused]] amrex::Real rate, drate_dt, edot_nu, edot_gamma; + [[maybe_unused]] amrex::Real rhoy = state.rho * state.y_e; + + rate_eval.enuc_weak = 0.0_rt; + + // Calculate tabular rates and get ydot_weak + + tabular_evaluate(j_Co56_Fe56_meta, j_Co56_Fe56_rhoy, j_Co56_Fe56_temp, j_Co56_Fe56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Co56_to_Fe56) = rate; + rate_eval.enuc_weak += C::Legacy::n_A * Y(Co56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_Co56_Ni56_meta, j_Co56_Ni56_rhoy, j_Co56_Ni56_temp, j_Co56_Ni56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Co56_to_Ni56) = rate; + rate_eval.enuc_weak += C::Legacy::n_A * Y(Co56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_Fe56_Co56_meta, j_Fe56_Co56_rhoy, j_Fe56_Co56_temp, j_Fe56_Co56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Fe56_to_Co56) = rate; + rate_eval.enuc_weak += C::Legacy::n_A * Y(Fe56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_n_p_meta, j_n_p_rhoy, j_n_p_temp, j_n_p_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_n_to_p) = rate; + rate_eval.enuc_weak += C::Legacy::n_A * Y(N) * (edot_nu + edot_gamma); + + tabular_evaluate(j_Ni56_Co56_meta, j_Ni56_Co56_rhoy, j_Ni56_Co56_temp, j_Ni56_Co56_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_Ni56_to_Co56) = rate; + rate_eval.enuc_weak += C::Legacy::n_A * Y(Ni56) * (edot_nu + edot_gamma); + + tabular_evaluate(j_p_n_meta, j_p_n_rhoy, j_p_n_temp, j_p_n_data, + rhoy, state.T, rate, drate_dt, edot_nu, edot_gamma); + rate_eval.screened_rates(k_p_to_n) = rate; + rate_eval.enuc_weak += C::Legacy::n_A * Y(H1) * (edot_nu + edot_gamma); + + auto screened_rates = rate_eval.screened_rates; + + ydot_nuc(N) = + (-screened_rates(k_n_to_p)*Y(N) + screened_rates(k_p_to_n)*Y(H1)); + + ydot_nuc(H1) = + (screened_rates(k_n_to_p)*Y(N) + -screened_rates(k_p_to_n)*Y(H1)); + + ydot_nuc(P_nse) = 0.0_rt; + + ydot_nuc(He4) = 0.0_rt; + + ydot_nuc(C12) = 0.0_rt; + + ydot_nuc(N13) = 0.0_rt; + + ydot_nuc(N14) = 0.0_rt; + + ydot_nuc(O16) = 0.0_rt; + + ydot_nuc(F18) = 0.0_rt; + + ydot_nuc(Ne20) = 0.0_rt; + + ydot_nuc(Ne21) = 0.0_rt; + + ydot_nuc(Na22) = 0.0_rt; + + ydot_nuc(Na23) = 0.0_rt; + + ydot_nuc(Mg24) = 0.0_rt; + + ydot_nuc(Al27) = 0.0_rt; + + ydot_nuc(Si28) = 0.0_rt; + + ydot_nuc(P31) = 0.0_rt; + + ydot_nuc(S32) = 0.0_rt; + + ydot_nuc(Ar36) = 0.0_rt; + + ydot_nuc(Ca40) = 0.0_rt; + + ydot_nuc(Ti44) = 0.0_rt; + + ydot_nuc(Cr48) = 0.0_rt; + + ydot_nuc(Mn51) = 0.0_rt; + + ydot_nuc(Fe52) = 0.0_rt; + + ydot_nuc(Fe54) = 0.0_rt; + + ydot_nuc(Fe56) = + (screened_rates(k_Co56_to_Fe56)*Y(Co56) + -screened_rates(k_Fe56_to_Co56)*Y(Fe56)); + + ydot_nuc(Co55) = 0.0_rt; + + ydot_nuc(Co56) = + (-screened_rates(k_Co56_to_Fe56)*Y(Co56) + screened_rates(k_Fe56_to_Co56)*Y(Fe56)) + + (screened_rates(k_Ni56_to_Co56)*Y(Ni56) + -screened_rates(k_Co56_to_Ni56)*Y(Co56)); + + ydot_nuc(Co57) = 0.0_rt; + + ydot_nuc(Ni56) = + (-screened_rates(k_Ni56_to_Co56)*Y(Ni56) + screened_rates(k_Co56_to_Ni56)*Y(Co56)); + + ydot_nuc(Ni58) = 0.0_rt; + + enuc_weak = rate_eval.enuc_weak; +} +#endif + + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rhs_nuc(const burn_t& state, + amrex::Array1D& ydot_nuc, + const amrex::Array1D& Y, + const amrex::Array1D& screened_rates) { + + using namespace Rates; + + ydot_nuc(N) = + (-screened_rates(k_n_Co55_to_Co56)*Y(Co55)*Y(N)*state.rho + screened_rates(k_Co56_to_n_Co55_derived)*Y(Co56)) + + (-screened_rates(k_n_Co56_to_Co57)*Y(Co56)*Y(N)*state.rho + screened_rates(k_Co57_to_n_Co56_derived)*Y(Co57)) + + (-screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*Y(N)*state.rho + screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*Y(P_nse)*state.rho) + + (-screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*Y(N)*state.rho + screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*Y(P_nse)*state.rho) + + (-2.0*screened_rates(k_Fe52_n_n_to_Fe54_approx)*Y(Fe52)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + 2.0*screened_rates(k_Fe54_to_Fe52_n_n_approx)*Y(Fe54)) + + (-2.0*screened_rates(k_Fe54_n_n_to_Fe56_approx)*Y(Fe54)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + 2.0*screened_rates(k_Fe56_to_Fe54_n_n_approx)*Y(Fe56)) + + (-2.0*screened_rates(k_Ni56_n_n_to_Ni58_approx)*Y(Ni56)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + 2.0*screened_rates(k_Ni58_to_Ni56_n_n_approx)*Y(Ni58)) + + (-screened_rates(k_n_to_p)*Y(N) + screened_rates(k_p_to_n)*Y(H1)); + + ydot_nuc(H1) = + (-screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + screened_rates(k_N13_to_p_C12_derived)*Y(N13)) + + (-screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*Y(H1)*state.rho + screened_rates(k_Na22_to_p_Ne21_derived)*Y(Na22)) + + (-screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_Mg24_to_p_Na23_derived)*Y(Mg24)) + + (-screened_rates(k_p_Al27_to_Si28)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_Si28_to_p_Al27_derived)*Y(Si28)) + + (-screened_rates(k_p_P31_to_S32)*Y(P31)*Y(H1)*state.rho + screened_rates(k_S32_to_p_P31_derived)*Y(S32)) + + 0.5*screened_rates(k_C12_C12_to_p_Na23)*amrex::Math::powi<2>(Y(C12))*state.rho + + (screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + -screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*Y(H1)*state.rho) + + screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + 0.5*screened_rates(k_O16_O16_to_p_P31)*amrex::Math::powi<2>(Y(O16))*state.rho + + (screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + -screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*Y(H1)*state.rho) + + (-screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*Y(Ne20)*state.rho) + + (-screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*Y(Mg24)*state.rho) + + (-screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*Y(Si28)*state.rho) + + (screened_rates(k_n_to_p)*Y(N) + -screened_rates(k_p_to_n)*Y(H1)); + + ydot_nuc(P_nse) = + (-screened_rates(k_p_nse_Mn51_to_Fe52)*Y(Mn51)*Y(P_nse)*state.rho + screened_rates(k_Fe52_to_p_nse_Mn51_derived)*Y(Fe52)) + + (-screened_rates(k_p_nse_Co55_to_Ni56)*Y(Co55)*Y(P_nse)*state.rho + screened_rates(k_Ni56_to_p_nse_Co55_derived)*Y(Ni56)) + + (screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*Y(He4)*state.rho + -screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*Y(P_nse)*state.rho) + + (screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*Y(He4)*state.rho + -screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*Y(P_nse)*state.rho) + + (-screened_rates(k_p_nse_Fe54_to_Co55)*Y(Fe54)*Y(P_nse)*state.rho + screened_rates(k_Co55_to_p_nse_Fe54_derived)*Y(Co55)) + + (-screened_rates(k_p_nse_Fe56_to_Co57)*Y(Fe56)*Y(P_nse)*state.rho + screened_rates(k_Co57_to_p_nse_Fe56_derived)*Y(Co57)) + + (-screened_rates(k_p_nse_Co57_to_Ni58)*Y(Co57)*Y(P_nse)*state.rho + screened_rates(k_Ni58_to_p_nse_Co57_derived)*Y(Ni58)) + + (screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*Y(Mn51)*state.rho + -screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*Y(P_nse)*state.rho) + + (screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*Y(He4)*state.rho + -screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*Y(P_nse)*state.rho) + + (screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*Y(N)*state.rho + -screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*Y(P_nse)*state.rho) + + (-screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*Y(P_nse)*state.rho + screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*Y(He4)*state.rho) + + (screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*Y(N)*state.rho + -screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*Y(P_nse)*state.rho); + + ydot_nuc(He4) = + (-screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + screened_rates(k_O16_to_He4_C12_derived)*Y(O16)) + + (-screened_rates(k_He4_N14_to_F18)*Y(He4)*Y(N14)*state.rho + screened_rates(k_F18_to_He4_N14_derived)*Y(F18)) + + (-screened_rates(k_He4_O16_to_Ne20)*Y(He4)*Y(O16)*state.rho + screened_rates(k_Ne20_to_He4_O16_derived)*Y(Ne20)) + + (-screened_rates(k_He4_F18_to_Na22)*Y(F18)*Y(He4)*state.rho + screened_rates(k_Na22_to_He4_F18_derived)*Y(Na22)) + + (-screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*Y(Ne20)*state.rho + screened_rates(k_Mg24_to_He4_Ne20_derived)*Y(Mg24)) + + (-screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*Y(Mg24)*state.rho + screened_rates(k_Si28_to_He4_Mg24_derived)*Y(Si28)) + + (-screened_rates(k_He4_Si28_to_S32)*Y(He4)*Y(Si28)*state.rho + screened_rates(k_S32_to_He4_Si28_derived)*Y(S32)) + + (-screened_rates(k_He4_Cr48_to_Fe52)*Y(Cr48)*Y(He4)*state.rho + screened_rates(k_Fe52_to_He4_Cr48_derived)*Y(Fe52)) + + (-screened_rates(k_He4_Mn51_to_Co55)*Y(He4)*Y(Mn51)*state.rho + screened_rates(k_Co55_to_He4_Mn51_derived)*Y(Co55)) + + (-screened_rates(k_He4_Fe52_to_Ni56)*Y(Fe52)*Y(He4)*state.rho + screened_rates(k_Ni56_to_He4_Fe52_derived)*Y(Ni56)) + + 0.5*screened_rates(k_C12_C12_to_He4_Ne20)*amrex::Math::powi<2>(Y(C12))*state.rho + + (-screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*Y(H1)*state.rho) + + screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + 0.5*screened_rates(k_O16_O16_to_He4_Si28)*amrex::Math::powi<2>(Y(O16))*state.rho + + (-screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*Y(H1)*state.rho) + + (screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + -screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*Y(Ne20)*state.rho) + + (screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + -screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*Y(Mg24)*state.rho) + + (screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + -screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*Y(Si28)*state.rho) + + (-screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*Y(He4)*state.rho + screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*Y(P_nse)*state.rho) + + (-screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*Y(He4)*state.rho + screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*Y(P_nse)*state.rho) + + (-0.5*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<3>(Y(He4))*amrex::Math::powi<2>(state.rho) + 3.0*screened_rates(k_C12_to_He4_He4_He4_derived)*Y(C12)) + + (-screened_rates(k_He4_Fe54_to_Ni58)*Y(Fe54)*Y(He4)*state.rho + screened_rates(k_Ni58_to_He4_Fe54_derived)*Y(Ni58)) + + (-screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*Y(Mn51)*state.rho + screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*Y(P_nse)*state.rho) + + (-screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*Y(He4)*state.rho + screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*Y(P_nse)*state.rho) + + (screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*Y(P_nse)*state.rho + -screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*Y(He4)*state.rho) + + (-screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*Y(S32)*state.rho + screened_rates(k_Ar36_to_S32_He4_approx)*Y(Ar36)) + + (-screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*Y(He4)*state.rho + screened_rates(k_Ca40_to_Ar36_He4_approx)*Y(Ca40)) + + (-screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*Y(He4)*state.rho + screened_rates(k_Ti44_to_Ca40_He4_approx)*Y(Ti44)) + + (-screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*Y(Ti44)*state.rho + screened_rates(k_Cr48_to_Ti44_He4_approx)*Y(Cr48)); + + ydot_nuc(C12) = + (-screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + screened_rates(k_N13_to_p_C12_derived)*Y(N13)) + + (-screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + screened_rates(k_O16_to_He4_C12_derived)*Y(O16)) + + -screened_rates(k_C12_C12_to_p_Na23)*amrex::Math::powi<2>(Y(C12))*state.rho + + -screened_rates(k_C12_C12_to_He4_Ne20)*amrex::Math::powi<2>(Y(C12))*state.rho + + -screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + (0.16666666666666667*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<3>(Y(He4))*amrex::Math::powi<2>(state.rho) + -screened_rates(k_C12_to_He4_He4_He4_derived)*Y(C12)) + + -screened_rates(k_C12_C12_to_Mg24_modified)*amrex::Math::powi<2>(Y(C12))*state.rho + + -screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*Y(O16)*state.rho; + + ydot_nuc(N13) = + (screened_rates(k_p_C12_to_N13)*Y(C12)*Y(H1)*state.rho + -screened_rates(k_N13_to_p_C12_derived)*Y(N13)) + + (-screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*Y(H1)*state.rho); + + ydot_nuc(N14) = + (-screened_rates(k_He4_N14_to_F18)*Y(He4)*Y(N14)*state.rho + screened_rates(k_F18_to_He4_N14_derived)*Y(F18)); + + ydot_nuc(O16) = + (screened_rates(k_He4_C12_to_O16)*Y(C12)*Y(He4)*state.rho + -screened_rates(k_O16_to_He4_C12_derived)*Y(O16)) + + (-screened_rates(k_He4_O16_to_Ne20)*Y(He4)*Y(O16)*state.rho + screened_rates(k_Ne20_to_He4_O16_derived)*Y(Ne20)) + + (screened_rates(k_He4_N13_to_p_O16)*Y(He4)*Y(N13)*state.rho + -screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*Y(H1)*state.rho) + + -screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + -screened_rates(k_O16_O16_to_p_P31)*amrex::Math::powi<2>(Y(O16))*state.rho + + -screened_rates(k_O16_O16_to_He4_Si28)*amrex::Math::powi<2>(Y(O16))*state.rho + + -screened_rates(k_O16_O16_to_S32_modified)*amrex::Math::powi<2>(Y(O16))*state.rho + + -screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*Y(O16)*state.rho; + + ydot_nuc(F18) = + (screened_rates(k_He4_N14_to_F18)*Y(He4)*Y(N14)*state.rho + -screened_rates(k_F18_to_He4_N14_derived)*Y(F18)) + + (-screened_rates(k_He4_F18_to_Na22)*Y(F18)*Y(He4)*state.rho + screened_rates(k_Na22_to_He4_F18_derived)*Y(Na22)) + + (-screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*Y(H1)*state.rho); + + ydot_nuc(Ne20) = + (screened_rates(k_He4_O16_to_Ne20)*Y(He4)*Y(O16)*state.rho + -screened_rates(k_Ne20_to_He4_O16_derived)*Y(Ne20)) + + (-screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*Y(Ne20)*state.rho + screened_rates(k_Mg24_to_He4_Ne20_derived)*Y(Mg24)) + + 0.5*screened_rates(k_C12_C12_to_He4_Ne20)*amrex::Math::powi<2>(Y(C12))*state.rho + + (screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + -screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*Y(Ne20)*state.rho); + + ydot_nuc(Ne21) = + (-screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*Y(H1)*state.rho + screened_rates(k_Na22_to_p_Ne21_derived)*Y(Na22)) + + (screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*Y(He4)*state.rho + -screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*Y(H1)*state.rho); + + ydot_nuc(Na22) = + (screened_rates(k_He4_F18_to_Na22)*Y(F18)*Y(He4)*state.rho + -screened_rates(k_Na22_to_He4_F18_derived)*Y(Na22)) + + (screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*Y(H1)*state.rho + -screened_rates(k_Na22_to_p_Ne21_derived)*Y(Na22)); + + ydot_nuc(Na23) = + (-screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_Mg24_to_p_Na23_derived)*Y(Mg24)) + + 0.5*screened_rates(k_C12_C12_to_p_Na23)*amrex::Math::powi<2>(Y(C12))*state.rho + + (-screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*Y(H1)*state.rho + screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*Y(Ne20)*state.rho); + + ydot_nuc(Mg24) = + (screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*Y(Ne20)*state.rho + -screened_rates(k_Mg24_to_He4_Ne20_derived)*Y(Mg24)) + + (screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*Y(H1)*state.rho + -screened_rates(k_Mg24_to_p_Na23_derived)*Y(Mg24)) + + (-screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*Y(Mg24)*state.rho + screened_rates(k_Si28_to_He4_Mg24_derived)*Y(Si28)) + + screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*Y(O16)*state.rho + + (screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + -screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*Y(Mg24)*state.rho) + + 0.5*screened_rates(k_C12_C12_to_Mg24_modified)*amrex::Math::powi<2>(Y(C12))*state.rho; + + ydot_nuc(Al27) = + (-screened_rates(k_p_Al27_to_Si28)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_Si28_to_p_Al27_derived)*Y(Si28)) + + screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*Y(O16)*state.rho + + (-screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*Y(H1)*state.rho + screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*Y(Mg24)*state.rho); + + ydot_nuc(Si28) = + (screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*Y(Mg24)*state.rho + -screened_rates(k_Si28_to_He4_Mg24_derived)*Y(Si28)) + + (screened_rates(k_p_Al27_to_Si28)*Y(Al27)*Y(H1)*state.rho + -screened_rates(k_Si28_to_p_Al27_derived)*Y(Si28)) + + (-screened_rates(k_He4_Si28_to_S32)*Y(He4)*Y(Si28)*state.rho + screened_rates(k_S32_to_He4_Si28_derived)*Y(S32)) + + 0.5*screened_rates(k_O16_O16_to_He4_Si28)*amrex::Math::powi<2>(Y(O16))*state.rho + + (screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + -screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*Y(Si28)*state.rho) + + screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*Y(O16)*state.rho; + + ydot_nuc(P31) = + (-screened_rates(k_p_P31_to_S32)*Y(P31)*Y(H1)*state.rho + screened_rates(k_S32_to_p_P31_derived)*Y(S32)) + + 0.5*screened_rates(k_O16_O16_to_p_P31)*amrex::Math::powi<2>(Y(O16))*state.rho + + (-screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*Y(H1)*state.rho + screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*Y(Si28)*state.rho); + + ydot_nuc(S32) = + (screened_rates(k_He4_Si28_to_S32)*Y(He4)*Y(Si28)*state.rho + -screened_rates(k_S32_to_He4_Si28_derived)*Y(S32)) + + (screened_rates(k_p_P31_to_S32)*Y(P31)*Y(H1)*state.rho + -screened_rates(k_S32_to_p_P31_derived)*Y(S32)) + + 0.5*screened_rates(k_O16_O16_to_S32_modified)*amrex::Math::powi<2>(Y(O16))*state.rho + + (-screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*Y(S32)*state.rho + screened_rates(k_Ar36_to_S32_He4_approx)*Y(Ar36)); + + ydot_nuc(Ar36) = + (screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*Y(S32)*state.rho + -screened_rates(k_Ar36_to_S32_He4_approx)*Y(Ar36)) + + (-screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*Y(He4)*state.rho + screened_rates(k_Ca40_to_Ar36_He4_approx)*Y(Ca40)); + + ydot_nuc(Ca40) = + (screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*Y(He4)*state.rho + -screened_rates(k_Ca40_to_Ar36_He4_approx)*Y(Ca40)) + + (-screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*Y(He4)*state.rho + screened_rates(k_Ti44_to_Ca40_He4_approx)*Y(Ti44)); + + ydot_nuc(Ti44) = + (screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*Y(He4)*state.rho + -screened_rates(k_Ti44_to_Ca40_He4_approx)*Y(Ti44)) + + (-screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*Y(Ti44)*state.rho + screened_rates(k_Cr48_to_Ti44_He4_approx)*Y(Cr48)); + + ydot_nuc(Cr48) = + (-screened_rates(k_He4_Cr48_to_Fe52)*Y(Cr48)*Y(He4)*state.rho + screened_rates(k_Fe52_to_He4_Cr48_derived)*Y(Fe52)) + + (-screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*Y(He4)*state.rho + screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*Y(P_nse)*state.rho) + + (screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*Y(Ti44)*state.rho + -screened_rates(k_Cr48_to_Ti44_He4_approx)*Y(Cr48)); + + ydot_nuc(Mn51) = + (-screened_rates(k_p_nse_Mn51_to_Fe52)*Y(Mn51)*Y(P_nse)*state.rho + screened_rates(k_Fe52_to_p_nse_Mn51_derived)*Y(Fe52)) + + (-screened_rates(k_He4_Mn51_to_Co55)*Y(He4)*Y(Mn51)*state.rho + screened_rates(k_Co55_to_He4_Mn51_derived)*Y(Co55)) + + (screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*Y(He4)*state.rho + -screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*Y(P_nse)*state.rho) + + (-screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*Y(Mn51)*state.rho + screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*Y(P_nse)*state.rho); + + ydot_nuc(Fe52) = + (screened_rates(k_He4_Cr48_to_Fe52)*Y(Cr48)*Y(He4)*state.rho + -screened_rates(k_Fe52_to_He4_Cr48_derived)*Y(Fe52)) + + (screened_rates(k_p_nse_Mn51_to_Fe52)*Y(Mn51)*Y(P_nse)*state.rho + -screened_rates(k_Fe52_to_p_nse_Mn51_derived)*Y(Fe52)) + + (-screened_rates(k_He4_Fe52_to_Ni56)*Y(Fe52)*Y(He4)*state.rho + screened_rates(k_Ni56_to_He4_Fe52_derived)*Y(Ni56)) + + (-screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*Y(He4)*state.rho + screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*Y(P_nse)*state.rho) + + (-screened_rates(k_Fe52_n_n_to_Fe54_approx)*Y(Fe52)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + screened_rates(k_Fe54_to_Fe52_n_n_approx)*Y(Fe54)); + + ydot_nuc(Fe54) = + (-screened_rates(k_p_nse_Fe54_to_Co55)*Y(Fe54)*Y(P_nse)*state.rho + screened_rates(k_Co55_to_p_nse_Fe54_derived)*Y(Co55)) + + (-screened_rates(k_He4_Fe54_to_Ni58)*Y(Fe54)*Y(He4)*state.rho + screened_rates(k_Ni58_to_He4_Fe54_derived)*Y(Ni58)) + + (screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*Y(Mn51)*state.rho + -screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*Y(P_nse)*state.rho) + + (screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*Y(P_nse)*state.rho + -screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*Y(He4)*state.rho) + + (screened_rates(k_Fe52_n_n_to_Fe54_approx)*Y(Fe52)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + -screened_rates(k_Fe54_to_Fe52_n_n_approx)*Y(Fe54)) + + (-screened_rates(k_Fe54_n_n_to_Fe56_approx)*Y(Fe54)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + screened_rates(k_Fe56_to_Fe54_n_n_approx)*Y(Fe56)); + + ydot_nuc(Fe56) = + (-screened_rates(k_p_nse_Fe56_to_Co57)*Y(Fe56)*Y(P_nse)*state.rho + screened_rates(k_Co57_to_p_nse_Fe56_derived)*Y(Co57)) + + (screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*Y(N)*state.rho + -screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*Y(P_nse)*state.rho) + + (screened_rates(k_Fe54_n_n_to_Fe56_approx)*Y(Fe54)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + -screened_rates(k_Fe56_to_Fe54_n_n_approx)*Y(Fe56)) + + (screened_rates(k_Co56_to_Fe56)*Y(Co56) + -screened_rates(k_Fe56_to_Co56)*Y(Fe56)); + + ydot_nuc(Co55) = + (screened_rates(k_He4_Mn51_to_Co55)*Y(He4)*Y(Mn51)*state.rho + -screened_rates(k_Co55_to_He4_Mn51_derived)*Y(Co55)) + + (-screened_rates(k_p_nse_Co55_to_Ni56)*Y(Co55)*Y(P_nse)*state.rho + screened_rates(k_Ni56_to_p_nse_Co55_derived)*Y(Ni56)) + + (screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*Y(He4)*state.rho + -screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*Y(P_nse)*state.rho) + + (screened_rates(k_p_nse_Fe54_to_Co55)*Y(Fe54)*Y(P_nse)*state.rho + -screened_rates(k_Co55_to_p_nse_Fe54_derived)*Y(Co55)) + + (-screened_rates(k_n_Co55_to_Co56)*Y(Co55)*Y(N)*state.rho + screened_rates(k_Co56_to_n_Co55_derived)*Y(Co56)) + + (-screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*Y(He4)*state.rho + screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*Y(P_nse)*state.rho); + + ydot_nuc(Co56) = + (screened_rates(k_n_Co55_to_Co56)*Y(Co55)*Y(N)*state.rho + -screened_rates(k_Co56_to_n_Co55_derived)*Y(Co56)) + + (-screened_rates(k_n_Co56_to_Co57)*Y(Co56)*Y(N)*state.rho + screened_rates(k_Co57_to_n_Co56_derived)*Y(Co57)) + + (-screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*Y(N)*state.rho + screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*Y(P_nse)*state.rho) + + (screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*Y(N)*state.rho + -screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*Y(P_nse)*state.rho) + + (-screened_rates(k_Co56_to_Fe56)*Y(Co56) + screened_rates(k_Fe56_to_Co56)*Y(Fe56)) + + (screened_rates(k_Ni56_to_Co56)*Y(Ni56) + -screened_rates(k_Co56_to_Ni56)*Y(Co56)); + + ydot_nuc(Co57) = + (screened_rates(k_p_nse_Fe56_to_Co57)*Y(Fe56)*Y(P_nse)*state.rho + -screened_rates(k_Co57_to_p_nse_Fe56_derived)*Y(Co57)) + + (screened_rates(k_n_Co56_to_Co57)*Y(Co56)*Y(N)*state.rho + -screened_rates(k_Co57_to_n_Co56_derived)*Y(Co57)) + + (-screened_rates(k_p_nse_Co57_to_Ni58)*Y(Co57)*Y(P_nse)*state.rho + screened_rates(k_Ni58_to_p_nse_Co57_derived)*Y(Ni58)) + + (-screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*Y(P_nse)*state.rho + screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*Y(He4)*state.rho); + + ydot_nuc(Ni56) = + (screened_rates(k_He4_Fe52_to_Ni56)*Y(Fe52)*Y(He4)*state.rho + -screened_rates(k_Ni56_to_He4_Fe52_derived)*Y(Ni56)) + + (screened_rates(k_p_nse_Co55_to_Ni56)*Y(Co55)*Y(P_nse)*state.rho + -screened_rates(k_Ni56_to_p_nse_Co55_derived)*Y(Ni56)) + + (-screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*Y(N)*state.rho + screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*Y(P_nse)*state.rho) + + (-screened_rates(k_Ni56_n_n_to_Ni58_approx)*Y(Ni56)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + screened_rates(k_Ni58_to_Ni56_n_n_approx)*Y(Ni58)) + + (-screened_rates(k_Ni56_to_Co56)*Y(Ni56) + screened_rates(k_Co56_to_Ni56)*Y(Co56)); + + ydot_nuc(Ni58) = + (screened_rates(k_He4_Fe54_to_Ni58)*Y(Fe54)*Y(He4)*state.rho + -screened_rates(k_Ni58_to_He4_Fe54_derived)*Y(Ni58)) + + (screened_rates(k_p_nse_Co57_to_Ni58)*Y(Co57)*Y(P_nse)*state.rho + -screened_rates(k_Ni58_to_p_nse_Co57_derived)*Y(Ni58)) + + (screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*Y(He4)*state.rho + -screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*Y(P_nse)*state.rho) + + (screened_rates(k_Ni56_n_n_to_Ni58_approx)*Y(Ni56)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + -screened_rates(k_Ni58_to_Ni56_n_n_approx)*Y(Ni58)); + +} + + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void actual_rhs (burn_t& state, amrex::Array1D& ydot) +{ + for (int i = 1; i <= neqs; ++i) { + ydot(i) = 0.0_rt; + } + + + // Set molar abundances + amrex::Array1D Y; + for (int i = 1; i <= NumSpec; ++i) { + Y(i) = state.xn[i-1] * aion_inv[i-1]; + } + + // build the rates + + rate_t rate_eval; + + constexpr int do_T_derivatives = 0; + + evaluate_rates(state, rate_eval); + + rhs_nuc(state, ydot, Y, rate_eval.screened_rates); + + // ion binding energy contributions + + amrex::Real enuc; + ener_gener_rate(ydot, enuc); + + // include any weak rate neutrino losses + enuc += rate_eval.enuc_weak; + + // Get the thermal neutrino losses + + amrex::Real sneut, dsneutdt, dsneutdd, dsnuda, dsnudz; + constexpr int do_derivatives{0}; + sneut5(state.T, state.rho, state.abar, state.zbar, sneut, dsneutdt, dsneutdd, dsnuda, dsnudz); + + // Append the energy equation (this is erg/g/s) + + ydot(net_ienuc) = enuc - sneut; + +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void jac_nuc(const burn_t& state, + MatrixType& jac, + const amrex::Array1D& Y, + const amrex::Array1D& screened_rates) +{ + + amrex::Real scratch; + + scratch = -4.0*screened_rates(k_Fe52_n_n_to_Fe54_approx)*Y(Fe52)*Y(N)*amrex::Math::powi<2>(state.rho) - 4.0*screened_rates(k_Fe54_n_n_to_Fe56_approx)*Y(Fe54)*Y(N)*amrex::Math::powi<2>(state.rho) - 4.0*screened_rates(k_Ni56_n_n_to_Ni58_approx)*Y(Ni56)*Y(N)*amrex::Math::powi<2>(state.rho) - screened_rates(k_n_Co55_to_Co56)*Y(Co55)*state.rho - screened_rates(k_n_Co56_to_Co57)*Y(Co56)*state.rho - screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*state.rho - screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*state.rho - screened_rates(k_n_to_p); + jac.set(N, N, scratch); + + scratch = screened_rates(k_p_to_n); + jac.set(N, H1, scratch); + + scratch = screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*state.rho + screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*state.rho; + jac.set(N, P_nse, scratch); + + scratch = -2.0*screened_rates(k_Fe52_n_n_to_Fe54_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho); + jac.set(N, Fe52, scratch); + + scratch = -2.0*screened_rates(k_Fe54_n_n_to_Fe56_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) + 2.0*screened_rates(k_Fe54_to_Fe52_n_n_approx); + jac.set(N, Fe54, scratch); + + scratch = 2.0*screened_rates(k_Fe56_to_Fe54_n_n_approx) + screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(P_nse)*state.rho; + jac.set(N, Fe56, scratch); + + scratch = -screened_rates(k_n_Co55_to_Co56)*Y(N)*state.rho; + jac.set(N, Co55, scratch); + + scratch = screened_rates(k_Co56_to_n_Co55_derived) - screened_rates(k_n_Co56_to_Co57)*Y(N)*state.rho - screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(N)*state.rho + screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(P_nse)*state.rho; + jac.set(N, Co56, scratch); + + scratch = screened_rates(k_Co57_to_n_Co56_derived); + jac.set(N, Co57, scratch); + + scratch = -2.0*screened_rates(k_Ni56_n_n_to_Ni58_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) - screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(N)*state.rho; + jac.set(N, Ni56, scratch); + + scratch = 2.0*screened_rates(k_Ni58_to_Ni56_n_n_approx); + jac.set(N, Ni58, scratch); + + scratch = screened_rates(k_n_to_p); + jac.set(H1, N, scratch); + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(Al27)*state.rho - screened_rates(k_p_C12_to_N13)*Y(C12)*state.rho - screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*state.rho - screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*state.rho - screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*state.rho - screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho - screened_rates(k_p_P31_to_S32)*Y(P31)*state.rho - screened_rates(k_p_to_n); + jac.set(H1, H1, scratch); + + scratch = screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho + screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(Mg24)*state.rho + screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho + screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(Ne20)*state.rho + screened_rates(k_He4_Si28_to_p_P31_derived)*Y(Si28)*state.rho; + jac.set(H1, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_p_Na23)*Y(C12)*state.rho + screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho - screened_rates(k_p_C12_to_N13)*Y(H1)*state.rho; + jac.set(H1, C12, scratch); + + scratch = screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho + screened_rates(k_N13_to_p_C12_derived); + jac.set(H1, N13, scratch); + + scratch = screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho + 1.0*screened_rates(k_O16_O16_to_p_P31)*Y(O16)*state.rho - screened_rates(k_p_O16_to_He4_N13_derived)*Y(H1)*state.rho; + jac.set(H1, O16, scratch); + + scratch = screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho; + jac.set(H1, F18, scratch); + + scratch = screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*state.rho; + jac.set(H1, Ne20, scratch); + + scratch = -screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(H1)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(H1)*state.rho; + jac.set(H1, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_p_Ne21_derived); + jac.set(H1, Na22, scratch); + + scratch = -screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(H1)*state.rho; + jac.set(H1, Na23, scratch); + + scratch = screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*state.rho + screened_rates(k_Mg24_to_p_Na23_derived); + jac.set(H1, Mg24, scratch); + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(H1)*state.rho; + jac.set(H1, Al27, scratch); + + scratch = screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*state.rho + screened_rates(k_Si28_to_p_Al27_derived); + jac.set(H1, Si28, scratch); + + scratch = -screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho - screened_rates(k_p_P31_to_S32)*Y(H1)*state.rho; + jac.set(H1, P31, scratch); + + scratch = screened_rates(k_S32_to_p_P31_derived); + jac.set(H1, S32, scratch); + + scratch = screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*state.rho + screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*state.rho; + jac.set(P_nse, N, scratch); + + scratch = -screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*state.rho - screened_rates(k_p_nse_Co55_to_Ni56)*Y(Co55)*state.rho - screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*state.rho - screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*state.rho - screened_rates(k_p_nse_Co57_to_Ni58)*Y(Co57)*state.rho - screened_rates(k_p_nse_Fe54_to_Co55)*Y(Fe54)*state.rho - screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*state.rho - screened_rates(k_p_nse_Fe56_to_Co57)*Y(Fe56)*state.rho - screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*state.rho - screened_rates(k_p_nse_Mn51_to_Fe52)*Y(Mn51)*state.rho - screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*state.rho - screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*state.rho; + jac.set(P_nse, P_nse, scratch); + + scratch = screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*state.rho + screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*state.rho + screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*state.rho + screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*state.rho + screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(Mn51)*state.rho; + jac.set(P_nse, He4, scratch); + + scratch = screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(He4)*state.rho; + jac.set(P_nse, Cr48, scratch); + + scratch = screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*state.rho - screened_rates(k_p_nse_Mn51_to_Fe52)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(P_nse)*state.rho; + jac.set(P_nse, Mn51, scratch); + + scratch = screened_rates(k_Fe52_to_p_nse_Mn51_derived) + screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(He4)*state.rho; + jac.set(P_nse, Fe52, scratch); + + scratch = screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(He4)*state.rho - screened_rates(k_p_nse_Fe54_to_Co55)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(P_nse)*state.rho; + jac.set(P_nse, Fe54, scratch); + + scratch = -screened_rates(k_p_nse_Fe56_to_Co57)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(P_nse)*state.rho; + jac.set(P_nse, Fe56, scratch); + + scratch = screened_rates(k_Co55_to_p_nse_Fe54_derived) + screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(He4)*state.rho - screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Co55_to_Ni56)*Y(P_nse)*state.rho; + jac.set(P_nse, Co55, scratch); + + scratch = screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(N)*state.rho - screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(P_nse)*state.rho; + jac.set(P_nse, Co56, scratch); + + scratch = screened_rates(k_Co57_to_p_nse_Fe56_derived) - screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Co57_to_Ni58)*Y(P_nse)*state.rho; + jac.set(P_nse, Co57, scratch); + + scratch = screened_rates(k_Ni56_to_p_nse_Co55_derived) + screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(N)*state.rho; + jac.set(P_nse, Ni56, scratch); + + scratch = screened_rates(k_Ni58_to_p_nse_Co57_derived) - screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(P_nse)*state.rho; + jac.set(P_nse, Ni58, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho + screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho + screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*state.rho + screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*state.rho + screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho; + jac.set(He4, H1, scratch); + + scratch = screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*state.rho + screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*state.rho + screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*state.rho + screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*state.rho + screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*state.rho; + jac.set(He4, P_nse, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*state.rho - screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*state.rho - screened_rates(k_He4_C12_to_O16)*Y(C12)*state.rho - screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*state.rho - screened_rates(k_He4_Cr48_to_Fe52)*Y(Cr48)*state.rho - screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*state.rho - screened_rates(k_He4_F18_to_Na22)*Y(F18)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho - screened_rates(k_He4_Fe52_to_Ni56)*Y(Fe52)*state.rho - screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*state.rho - screened_rates(k_He4_Fe54_to_Ni58)*Y(Fe54)*state.rho - screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*state.rho - 1.5*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<2>(Y(He4))*amrex::Math::powi<2>(state.rho) - screened_rates(k_He4_Mg24_to_Si28)*Y(Mg24)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(Mg24)*state.rho - screened_rates(k_He4_Mn51_to_Co55)*Y(Mn51)*state.rho - screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(Mn51)*state.rho - screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho - screened_rates(k_He4_N14_to_F18)*Y(N14)*state.rho - screened_rates(k_He4_Ne20_to_Mg24)*Y(Ne20)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(Ne20)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(O16)*state.rho - screened_rates(k_He4_Si28_to_S32)*Y(Si28)*state.rho - screened_rates(k_He4_Si28_to_p_P31_derived)*Y(Si28)*state.rho - screened_rates(k_S32_He4_to_Ar36_approx)*Y(S32)*state.rho - screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(Ti44)*state.rho; + jac.set(He4, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_He4_Ne20)*Y(C12)*state.rho + screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho + 3.0*screened_rates(k_C12_to_He4_He4_He4_derived) - screened_rates(k_He4_C12_to_O16)*Y(He4)*state.rho; + jac.set(He4, C12, scratch); + + scratch = -screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho; + jac.set(He4, N13, scratch); + + scratch = -screened_rates(k_He4_N14_to_F18)*Y(He4)*state.rho; + jac.set(He4, N14, scratch); + + scratch = screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(He4)*state.rho + 1.0*screened_rates(k_O16_O16_to_He4_Si28)*Y(O16)*state.rho + screened_rates(k_O16_to_He4_C12_derived) + screened_rates(k_p_O16_to_He4_N13_derived)*Y(H1)*state.rho; + jac.set(He4, O16, scratch); + + scratch = screened_rates(k_F18_to_He4_N14_derived) - screened_rates(k_He4_F18_to_Na22)*Y(He4)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho; + jac.set(He4, F18, scratch); + + scratch = -screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*state.rho + screened_rates(k_Ne20_to_He4_O16_derived); + jac.set(He4, Ne20, scratch); + + scratch = screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(H1)*state.rho; + jac.set(He4, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_He4_F18_derived); + jac.set(He4, Na22, scratch); + + scratch = screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho; + jac.set(He4, Na23, scratch); + + scratch = -screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*state.rho + screened_rates(k_Mg24_to_He4_Ne20_derived); + jac.set(He4, Mg24, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho; + jac.set(He4, Al27, scratch); + + scratch = -screened_rates(k_He4_Si28_to_S32)*Y(He4)*state.rho - screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*state.rho + screened_rates(k_Si28_to_He4_Mg24_derived); + jac.set(He4, Si28, scratch); + + scratch = screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho; + jac.set(He4, P31, scratch); + + scratch = -screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*state.rho + screened_rates(k_S32_to_He4_Si28_derived); + jac.set(He4, S32, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(He4)*state.rho + screened_rates(k_Ar36_to_S32_He4_approx); + jac.set(He4, Ar36, scratch); + + scratch = -screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(He4)*state.rho + screened_rates(k_Ca40_to_Ar36_He4_approx); + jac.set(He4, Ca40, scratch); + + scratch = -screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*state.rho + screened_rates(k_Ti44_to_Ca40_He4_approx); + jac.set(He4, Ti44, scratch); + + scratch = screened_rates(k_Cr48_to_Ti44_He4_approx) - screened_rates(k_He4_Cr48_to_Fe52)*Y(He4)*state.rho - screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(He4)*state.rho; + jac.set(He4, Cr48, scratch); + + scratch = -screened_rates(k_He4_Mn51_to_Co55)*Y(He4)*state.rho - screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*state.rho + screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(P_nse)*state.rho; + jac.set(He4, Mn51, scratch); + + scratch = screened_rates(k_Fe52_to_He4_Cr48_derived) - screened_rates(k_He4_Fe52_to_Ni56)*Y(He4)*state.rho - screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(He4)*state.rho; + jac.set(He4, Fe52, scratch); + + scratch = -screened_rates(k_He4_Fe54_to_Ni58)*Y(He4)*state.rho - screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(He4)*state.rho + screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(P_nse)*state.rho; + jac.set(He4, Fe54, scratch); + + scratch = screened_rates(k_Co55_to_He4_Mn51_derived) - screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(He4)*state.rho + screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(P_nse)*state.rho; + jac.set(He4, Co55, scratch); + + scratch = screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(P_nse)*state.rho; + jac.set(He4, Co57, scratch); + + scratch = screened_rates(k_Ni56_to_He4_Fe52_derived); + jac.set(He4, Ni56, scratch); + + scratch = screened_rates(k_Ni58_to_He4_Fe54_derived) + screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(P_nse)*state.rho; + jac.set(He4, Ni58, scratch); + + scratch = -screened_rates(k_p_C12_to_N13)*Y(C12)*state.rho; + jac.set(C12, H1, scratch); + + scratch = -screened_rates(k_He4_C12_to_O16)*Y(C12)*state.rho + 0.5*screened_rates(k_He4_He4_He4_to_C12)*amrex::Math::powi<2>(Y(He4))*amrex::Math::powi<2>(state.rho); + jac.set(C12, He4, scratch); + + scratch = -2.0*screened_rates(k_C12_C12_to_He4_Ne20)*Y(C12)*state.rho - 2.0*screened_rates(k_C12_C12_to_Mg24_modified)*Y(C12)*state.rho - 2.0*screened_rates(k_C12_C12_to_p_Na23)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho - screened_rates(k_C12_to_He4_He4_He4_derived) - screened_rates(k_He4_C12_to_O16)*Y(He4)*state.rho - screened_rates(k_p_C12_to_N13)*Y(H1)*state.rho; + jac.set(C12, C12, scratch); + + scratch = screened_rates(k_N13_to_p_C12_derived); + jac.set(C12, N13, scratch); + + scratch = -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho + screened_rates(k_O16_to_He4_C12_derived); + jac.set(C12, O16, scratch); + + scratch = screened_rates(k_p_C12_to_N13)*Y(C12)*state.rho + screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*state.rho; + jac.set(N13, H1, scratch); + + scratch = -screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho; + jac.set(N13, He4, scratch); + + scratch = screened_rates(k_p_C12_to_N13)*Y(H1)*state.rho; + jac.set(N13, C12, scratch); + + scratch = -screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho - screened_rates(k_N13_to_p_C12_derived); + jac.set(N13, N13, scratch); + + scratch = screened_rates(k_p_O16_to_He4_N13_derived)*Y(H1)*state.rho; + jac.set(N13, O16, scratch); + + scratch = -screened_rates(k_He4_N14_to_F18)*Y(N14)*state.rho; + jac.set(N14, He4, scratch); + + scratch = -screened_rates(k_He4_N14_to_F18)*Y(He4)*state.rho; + jac.set(N14, N14, scratch); + + scratch = screened_rates(k_F18_to_He4_N14_derived); + jac.set(N14, F18, scratch); + + scratch = -screened_rates(k_p_O16_to_He4_N13_derived)*Y(O16)*state.rho; + jac.set(O16, H1, scratch); + + scratch = screened_rates(k_He4_C12_to_O16)*Y(C12)*state.rho + screened_rates(k_He4_N13_to_p_O16)*Y(N13)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(O16)*state.rho; + jac.set(O16, He4, scratch); + + scratch = -screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(O16)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho + screened_rates(k_He4_C12_to_O16)*Y(He4)*state.rho; + jac.set(O16, C12, scratch); + + scratch = screened_rates(k_He4_N13_to_p_O16)*Y(He4)*state.rho; + jac.set(O16, N13, scratch); + + scratch = -screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*state.rho - screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho - screened_rates(k_He4_O16_to_Ne20)*Y(He4)*state.rho - 2.0*screened_rates(k_O16_O16_to_He4_Si28)*Y(O16)*state.rho - 2.0*screened_rates(k_O16_O16_to_S32_modified)*Y(O16)*state.rho - 2.0*screened_rates(k_O16_O16_to_p_P31)*Y(O16)*state.rho - screened_rates(k_O16_to_He4_C12_derived) - screened_rates(k_p_O16_to_He4_N13_derived)*Y(H1)*state.rho; + jac.set(O16, O16, scratch); + + scratch = screened_rates(k_Ne20_to_He4_O16_derived); + jac.set(O16, Ne20, scratch); + + scratch = screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*state.rho; + jac.set(F18, H1, scratch); + + scratch = -screened_rates(k_He4_F18_to_Na22)*Y(F18)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho + screened_rates(k_He4_N14_to_F18)*Y(N14)*state.rho; + jac.set(F18, He4, scratch); + + scratch = screened_rates(k_He4_N14_to_F18)*Y(He4)*state.rho; + jac.set(F18, N14, scratch); + + scratch = -screened_rates(k_F18_to_He4_N14_derived) - screened_rates(k_He4_F18_to_Na22)*Y(He4)*state.rho - screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho; + jac.set(F18, F18, scratch); + + scratch = screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(H1)*state.rho; + jac.set(F18, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_He4_F18_derived); + jac.set(F18, Na22, scratch); + + scratch = screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho; + jac.set(Ne20, H1, scratch); + + scratch = -screened_rates(k_He4_Ne20_to_Mg24)*Y(Ne20)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(Ne20)*state.rho + screened_rates(k_He4_O16_to_Ne20)*Y(O16)*state.rho; + jac.set(Ne20, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_He4_Ne20)*Y(C12)*state.rho; + jac.set(Ne20, C12, scratch); + + scratch = screened_rates(k_He4_O16_to_Ne20)*Y(He4)*state.rho; + jac.set(Ne20, O16, scratch); + + scratch = -screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*state.rho - screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*state.rho - screened_rates(k_Ne20_to_He4_O16_derived); + jac.set(Ne20, Ne20, scratch); + + scratch = screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho; + jac.set(Ne20, Na23, scratch); + + scratch = screened_rates(k_Mg24_to_He4_Ne20_derived); + jac.set(Ne20, Mg24, scratch); + + scratch = -screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(Ne21)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*state.rho; + jac.set(Ne21, H1, scratch); + + scratch = screened_rates(k_He4_F18_to_p_Ne21)*Y(F18)*state.rho; + jac.set(Ne21, He4, scratch); + + scratch = screened_rates(k_He4_F18_to_p_Ne21)*Y(He4)*state.rho; + jac.set(Ne21, F18, scratch); + + scratch = -screened_rates(k_p_Ne21_to_He4_F18_derived)*Y(H1)*state.rho - screened_rates(k_p_Ne21_to_Na22)*Y(H1)*state.rho; + jac.set(Ne21, Ne21, scratch); + + scratch = screened_rates(k_Na22_to_p_Ne21_derived); + jac.set(Ne21, Na22, scratch); + + scratch = screened_rates(k_p_Ne21_to_Na22)*Y(Ne21)*state.rho; + jac.set(Na22, H1, scratch); + + scratch = screened_rates(k_He4_F18_to_Na22)*Y(F18)*state.rho; + jac.set(Na22, He4, scratch); + + scratch = screened_rates(k_He4_F18_to_Na22)*Y(He4)*state.rho; + jac.set(Na22, F18, scratch); + + scratch = screened_rates(k_p_Ne21_to_Na22)*Y(H1)*state.rho; + jac.set(Na22, Ne21, scratch); + + scratch = -screened_rates(k_Na22_to_He4_F18_derived) - screened_rates(k_Na22_to_p_Ne21_derived); + jac.set(Na22, Na22, scratch); + + scratch = -screened_rates(k_p_Na23_to_He4_Ne20)*Y(Na23)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*state.rho; + jac.set(Na23, H1, scratch); + + scratch = screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(Ne20)*state.rho; + jac.set(Na23, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_p_Na23)*Y(C12)*state.rho; + jac.set(Na23, C12, scratch); + + scratch = screened_rates(k_He4_Ne20_to_p_Na23_derived)*Y(He4)*state.rho; + jac.set(Na23, Ne20, scratch); + + scratch = -screened_rates(k_p_Na23_to_He4_Ne20)*Y(H1)*state.rho - screened_rates(k_p_Na23_to_Mg24)*Y(H1)*state.rho; + jac.set(Na23, Na23, scratch); + + scratch = screened_rates(k_Mg24_to_p_Na23_derived); + jac.set(Na23, Mg24, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho + screened_rates(k_p_Na23_to_Mg24)*Y(Na23)*state.rho; + jac.set(Mg24, H1, scratch); + + scratch = -screened_rates(k_He4_Mg24_to_Si28)*Y(Mg24)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(Mg24)*state.rho + screened_rates(k_He4_Ne20_to_Mg24)*Y(Ne20)*state.rho; + jac.set(Mg24, He4, scratch); + + scratch = 1.0*screened_rates(k_C12_C12_to_Mg24_modified)*Y(C12)*state.rho + screened_rates(k_C12_O16_to_He4_Mg24)*Y(O16)*state.rho; + jac.set(Mg24, C12, scratch); + + scratch = screened_rates(k_C12_O16_to_He4_Mg24)*Y(C12)*state.rho; + jac.set(Mg24, O16, scratch); + + scratch = screened_rates(k_He4_Ne20_to_Mg24)*Y(He4)*state.rho; + jac.set(Mg24, Ne20, scratch); + + scratch = screened_rates(k_p_Na23_to_Mg24)*Y(H1)*state.rho; + jac.set(Mg24, Na23, scratch); + + scratch = -screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*state.rho - screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*state.rho - screened_rates(k_Mg24_to_He4_Ne20_derived) - screened_rates(k_Mg24_to_p_Na23_derived); + jac.set(Mg24, Mg24, scratch); + + scratch = screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho; + jac.set(Mg24, Al27, scratch); + + scratch = screened_rates(k_Si28_to_He4_Mg24_derived); + jac.set(Mg24, Si28, scratch); + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(Al27)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(Al27)*state.rho; + jac.set(Al27, H1, scratch); + + scratch = screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(Mg24)*state.rho; + jac.set(Al27, He4, scratch); + + scratch = screened_rates(k_C12_O16_to_p_Al27)*Y(O16)*state.rho; + jac.set(Al27, C12, scratch); + + scratch = screened_rates(k_C12_O16_to_p_Al27)*Y(C12)*state.rho; + jac.set(Al27, O16, scratch); + + scratch = screened_rates(k_He4_Mg24_to_p_Al27_derived)*Y(He4)*state.rho; + jac.set(Al27, Mg24, scratch); + + scratch = -screened_rates(k_p_Al27_to_He4_Mg24)*Y(H1)*state.rho - screened_rates(k_p_Al27_to_Si28)*Y(H1)*state.rho; + jac.set(Al27, Al27, scratch); + + scratch = screened_rates(k_Si28_to_p_Al27_derived); + jac.set(Al27, Si28, scratch); + + scratch = screened_rates(k_p_Al27_to_Si28)*Y(Al27)*state.rho + screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho; + jac.set(Si28, H1, scratch); + + scratch = screened_rates(k_He4_Mg24_to_Si28)*Y(Mg24)*state.rho - screened_rates(k_He4_Si28_to_S32)*Y(Si28)*state.rho - screened_rates(k_He4_Si28_to_p_P31_derived)*Y(Si28)*state.rho; + jac.set(Si28, He4, scratch); + + scratch = screened_rates(k_C12_O16_to_Si28_modified)*Y(O16)*state.rho; + jac.set(Si28, C12, scratch); + + scratch = screened_rates(k_C12_O16_to_Si28_modified)*Y(C12)*state.rho + 1.0*screened_rates(k_O16_O16_to_He4_Si28)*Y(O16)*state.rho; + jac.set(Si28, O16, scratch); + + scratch = screened_rates(k_He4_Mg24_to_Si28)*Y(He4)*state.rho; + jac.set(Si28, Mg24, scratch); + + scratch = screened_rates(k_p_Al27_to_Si28)*Y(H1)*state.rho; + jac.set(Si28, Al27, scratch); + + scratch = -screened_rates(k_He4_Si28_to_S32)*Y(He4)*state.rho - screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*state.rho - screened_rates(k_Si28_to_He4_Mg24_derived) - screened_rates(k_Si28_to_p_Al27_derived); + jac.set(Si28, Si28, scratch); + + scratch = screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho; + jac.set(Si28, P31, scratch); + + scratch = screened_rates(k_S32_to_He4_Si28_derived); + jac.set(Si28, S32, scratch); + + scratch = -screened_rates(k_p_P31_to_He4_Si28)*Y(P31)*state.rho - screened_rates(k_p_P31_to_S32)*Y(P31)*state.rho; + jac.set(P31, H1, scratch); + + scratch = screened_rates(k_He4_Si28_to_p_P31_derived)*Y(Si28)*state.rho; + jac.set(P31, He4, scratch); + + scratch = 1.0*screened_rates(k_O16_O16_to_p_P31)*Y(O16)*state.rho; + jac.set(P31, O16, scratch); + + scratch = screened_rates(k_He4_Si28_to_p_P31_derived)*Y(He4)*state.rho; + jac.set(P31, Si28, scratch); + + scratch = -screened_rates(k_p_P31_to_He4_Si28)*Y(H1)*state.rho - screened_rates(k_p_P31_to_S32)*Y(H1)*state.rho; + jac.set(P31, P31, scratch); + + scratch = screened_rates(k_S32_to_p_P31_derived); + jac.set(P31, S32, scratch); + + scratch = screened_rates(k_p_P31_to_S32)*Y(P31)*state.rho; + jac.set(S32, H1, scratch); + + scratch = screened_rates(k_He4_Si28_to_S32)*Y(Si28)*state.rho - screened_rates(k_S32_He4_to_Ar36_approx)*Y(S32)*state.rho; + jac.set(S32, He4, scratch); + + scratch = 1.0*screened_rates(k_O16_O16_to_S32_modified)*Y(O16)*state.rho; + jac.set(S32, O16, scratch); + + scratch = screened_rates(k_He4_Si28_to_S32)*Y(He4)*state.rho; + jac.set(S32, Si28, scratch); + + scratch = screened_rates(k_p_P31_to_S32)*Y(H1)*state.rho; + jac.set(S32, P31, scratch); + + scratch = -screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*state.rho - screened_rates(k_S32_to_He4_Si28_derived) - screened_rates(k_S32_to_p_P31_derived); + jac.set(S32, S32, scratch); + + scratch = screened_rates(k_Ar36_to_S32_He4_approx); + jac.set(S32, Ar36, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*state.rho + screened_rates(k_S32_He4_to_Ar36_approx)*Y(S32)*state.rho; + jac.set(Ar36, He4, scratch); + + scratch = screened_rates(k_S32_He4_to_Ar36_approx)*Y(He4)*state.rho; + jac.set(Ar36, S32, scratch); + + scratch = -screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(He4)*state.rho - screened_rates(k_Ar36_to_S32_He4_approx); + jac.set(Ar36, Ar36, scratch); + + scratch = screened_rates(k_Ca40_to_Ar36_He4_approx); + jac.set(Ar36, Ca40, scratch); + + scratch = screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(Ar36)*state.rho - screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*state.rho; + jac.set(Ca40, He4, scratch); + + scratch = screened_rates(k_Ar36_He4_to_Ca40_approx)*Y(He4)*state.rho; + jac.set(Ca40, Ar36, scratch); + + scratch = -screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(He4)*state.rho - screened_rates(k_Ca40_to_Ar36_He4_approx); + jac.set(Ca40, Ca40, scratch); + + scratch = screened_rates(k_Ti44_to_Ca40_He4_approx); + jac.set(Ca40, Ti44, scratch); + + scratch = screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(Ca40)*state.rho - screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(Ti44)*state.rho; + jac.set(Ti44, He4, scratch); + + scratch = screened_rates(k_Ca40_He4_to_Ti44_approx)*Y(He4)*state.rho; + jac.set(Ti44, Ca40, scratch); + + scratch = -screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*state.rho - screened_rates(k_Ti44_to_Ca40_He4_approx); + jac.set(Ti44, Ti44, scratch); + + scratch = screened_rates(k_Cr48_to_Ti44_He4_approx); + jac.set(Ti44, Cr48, scratch); + + scratch = screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*state.rho; + jac.set(Cr48, P_nse, scratch); + + scratch = -screened_rates(k_He4_Cr48_to_Fe52)*Y(Cr48)*state.rho - screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*state.rho + screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(Ti44)*state.rho; + jac.set(Cr48, He4, scratch); + + scratch = screened_rates(k_Ti44_He4_to_Cr48_approx)*Y(He4)*state.rho; + jac.set(Cr48, Ti44, scratch); + + scratch = -screened_rates(k_Cr48_to_Ti44_He4_approx) - screened_rates(k_He4_Cr48_to_Fe52)*Y(He4)*state.rho - screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(He4)*state.rho; + jac.set(Cr48, Cr48, scratch); + + scratch = screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(P_nse)*state.rho; + jac.set(Cr48, Mn51, scratch); + + scratch = screened_rates(k_Fe52_to_He4_Cr48_derived); + jac.set(Cr48, Fe52, scratch); + + scratch = screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*state.rho - screened_rates(k_p_nse_Mn51_to_Fe52)*Y(Mn51)*state.rho - screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(Mn51)*state.rho; + jac.set(Mn51, P_nse, scratch); + + scratch = screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(Cr48)*state.rho - screened_rates(k_He4_Mn51_to_Co55)*Y(Mn51)*state.rho - screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(Mn51)*state.rho; + jac.set(Mn51, He4, scratch); + + scratch = screened_rates(k_He4_Cr48_to_p_nse_Mn51)*Y(He4)*state.rho; + jac.set(Mn51, Cr48, scratch); + + scratch = -screened_rates(k_He4_Mn51_to_Co55)*Y(He4)*state.rho - screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*state.rho - screened_rates(k_p_nse_Mn51_to_Fe52)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived)*Y(P_nse)*state.rho; + jac.set(Mn51, Mn51, scratch); + + scratch = screened_rates(k_Fe52_to_p_nse_Mn51_derived); + jac.set(Mn51, Fe52, scratch); + + scratch = screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(P_nse)*state.rho; + jac.set(Mn51, Fe54, scratch); + + scratch = screened_rates(k_Co55_to_He4_Mn51_derived); + jac.set(Mn51, Co55, scratch); + + scratch = -2.0*screened_rates(k_Fe52_n_n_to_Fe54_approx)*Y(Fe52)*Y(N)*amrex::Math::powi<2>(state.rho); + jac.set(Fe52, N, scratch); + + scratch = screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*state.rho + screened_rates(k_p_nse_Mn51_to_Fe52)*Y(Mn51)*state.rho; + jac.set(Fe52, P_nse, scratch); + + scratch = screened_rates(k_He4_Cr48_to_Fe52)*Y(Cr48)*state.rho - screened_rates(k_He4_Fe52_to_Ni56)*Y(Fe52)*state.rho - screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*state.rho; + jac.set(Fe52, He4, scratch); + + scratch = screened_rates(k_He4_Cr48_to_Fe52)*Y(He4)*state.rho; + jac.set(Fe52, Cr48, scratch); + + scratch = screened_rates(k_p_nse_Mn51_to_Fe52)*Y(P_nse)*state.rho; + jac.set(Fe52, Mn51, scratch); + + scratch = -screened_rates(k_Fe52_n_n_to_Fe54_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) - screened_rates(k_Fe52_to_He4_Cr48_derived) - screened_rates(k_Fe52_to_p_nse_Mn51_derived) - screened_rates(k_He4_Fe52_to_Ni56)*Y(He4)*state.rho - screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(He4)*state.rho; + jac.set(Fe52, Fe52, scratch); + + scratch = screened_rates(k_Fe54_to_Fe52_n_n_approx); + jac.set(Fe52, Fe54, scratch); + + scratch = screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(P_nse)*state.rho; + jac.set(Fe52, Co55, scratch); + + scratch = screened_rates(k_Ni56_to_He4_Fe52_derived); + jac.set(Fe52, Ni56, scratch); + + scratch = 2.0*screened_rates(k_Fe52_n_n_to_Fe54_approx)*Y(Fe52)*Y(N)*amrex::Math::powi<2>(state.rho) - 2.0*screened_rates(k_Fe54_n_n_to_Fe56_approx)*Y(Fe54)*Y(N)*amrex::Math::powi<2>(state.rho); + jac.set(Fe54, N, scratch); + + scratch = screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*state.rho - screened_rates(k_p_nse_Fe54_to_Co55)*Y(Fe54)*state.rho - screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(Fe54)*state.rho; + jac.set(Fe54, P_nse, scratch); + + scratch = -screened_rates(k_He4_Fe54_to_Ni58)*Y(Fe54)*state.rho - screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*state.rho + screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(Mn51)*state.rho; + jac.set(Fe54, He4, scratch); + + scratch = screened_rates(k_He4_Mn51_to_p_nse_Fe54)*Y(He4)*state.rho; + jac.set(Fe54, Mn51, scratch); + + scratch = screened_rates(k_Fe52_n_n_to_Fe54_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho); + jac.set(Fe54, Fe52, scratch); + + scratch = -screened_rates(k_Fe54_n_n_to_Fe56_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) - screened_rates(k_Fe54_to_Fe52_n_n_approx) - screened_rates(k_He4_Fe54_to_Ni58)*Y(He4)*state.rho - screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(He4)*state.rho - screened_rates(k_p_nse_Fe54_to_Co55)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived)*Y(P_nse)*state.rho; + jac.set(Fe54, Fe54, scratch); + + scratch = screened_rates(k_Fe56_to_Fe54_n_n_approx); + jac.set(Fe54, Fe56, scratch); + + scratch = screened_rates(k_Co55_to_p_nse_Fe54_derived); + jac.set(Fe54, Co55, scratch); + + scratch = screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(P_nse)*state.rho; + jac.set(Fe54, Co57, scratch); + + scratch = screened_rates(k_Ni58_to_He4_Fe54_derived); + jac.set(Fe54, Ni58, scratch); + + scratch = 2.0*screened_rates(k_Fe54_n_n_to_Fe56_approx)*Y(Fe54)*Y(N)*amrex::Math::powi<2>(state.rho) + screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*state.rho; + jac.set(Fe56, N, scratch); + + scratch = -screened_rates(k_p_nse_Fe56_to_Co57)*Y(Fe56)*state.rho - screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*state.rho; + jac.set(Fe56, P_nse, scratch); + + scratch = screened_rates(k_Fe54_n_n_to_Fe56_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho); + jac.set(Fe56, Fe54, scratch); + + scratch = -screened_rates(k_Fe56_to_Co56) - screened_rates(k_Fe56_to_Fe54_n_n_approx) - screened_rates(k_p_nse_Fe56_to_Co57)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(P_nse)*state.rho; + jac.set(Fe56, Fe56, scratch); + + scratch = screened_rates(k_Co56_to_Fe56) + screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(N)*state.rho; + jac.set(Fe56, Co56, scratch); + + scratch = screened_rates(k_Co57_to_p_nse_Fe56_derived); + jac.set(Fe56, Co57, scratch); + + scratch = -screened_rates(k_n_Co55_to_Co56)*Y(Co55)*state.rho; + jac.set(Co55, N, scratch); + + scratch = -screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(Co55)*state.rho - screened_rates(k_p_nse_Co55_to_Ni56)*Y(Co55)*state.rho + screened_rates(k_p_nse_Fe54_to_Co55)*Y(Fe54)*state.rho + screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*state.rho; + jac.set(Co55, P_nse, scratch); + + scratch = -screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*state.rho + screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(Fe52)*state.rho + screened_rates(k_He4_Mn51_to_Co55)*Y(Mn51)*state.rho; + jac.set(Co55, He4, scratch); + + scratch = screened_rates(k_He4_Mn51_to_Co55)*Y(He4)*state.rho; + jac.set(Co55, Mn51, scratch); + + scratch = screened_rates(k_He4_Fe52_to_p_nse_Co55)*Y(He4)*state.rho; + jac.set(Co55, Fe52, scratch); + + scratch = screened_rates(k_p_nse_Fe54_to_Co55)*Y(P_nse)*state.rho; + jac.set(Co55, Fe54, scratch); + + scratch = -screened_rates(k_Co55_to_He4_Mn51_derived) - screened_rates(k_Co55_to_p_nse_Fe54_derived) - screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(He4)*state.rho - screened_rates(k_n_Co55_to_Co56)*Y(N)*state.rho - screened_rates(k_p_nse_Co55_to_He4_Fe52_derived)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Co55_to_Ni56)*Y(P_nse)*state.rho; + jac.set(Co55, Co55, scratch); + + scratch = screened_rates(k_Co56_to_n_Co55_derived); + jac.set(Co55, Co56, scratch); + + scratch = screened_rates(k_Ni56_to_p_nse_Co55_derived); + jac.set(Co55, Ni56, scratch); + + scratch = screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(P_nse)*state.rho; + jac.set(Co55, Ni58, scratch); + + scratch = screened_rates(k_n_Co55_to_Co56)*Y(Co55)*state.rho - screened_rates(k_n_Co56_to_Co57)*Y(Co56)*state.rho - screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(Co56)*state.rho + screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*state.rho; + jac.set(Co56, N, scratch); + + scratch = -screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*state.rho + screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(Fe56)*state.rho; + jac.set(Co56, P_nse, scratch); + + scratch = screened_rates(k_Fe56_to_Co56) + screened_rates(k_p_nse_Fe56_to_n_Co56_derived)*Y(P_nse)*state.rho; + jac.set(Co56, Fe56, scratch); + + scratch = screened_rates(k_n_Co55_to_Co56)*Y(N)*state.rho; + jac.set(Co56, Co55, scratch); + + scratch = -screened_rates(k_Co56_to_Fe56) - screened_rates(k_Co56_to_Ni56) - screened_rates(k_Co56_to_n_Co55_derived) - screened_rates(k_n_Co56_to_Co57)*Y(N)*state.rho - screened_rates(k_n_Co56_to_p_nse_Fe56)*Y(N)*state.rho - screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(P_nse)*state.rho; + jac.set(Co56, Co56, scratch); + + scratch = screened_rates(k_Co57_to_n_Co56_derived); + jac.set(Co56, Co57, scratch); + + scratch = screened_rates(k_Ni56_to_Co56) + screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(N)*state.rho; + jac.set(Co56, Ni56, scratch); + + scratch = screened_rates(k_n_Co56_to_Co57)*Y(Co56)*state.rho; + jac.set(Co57, N, scratch); + + scratch = -screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(Co57)*state.rho - screened_rates(k_p_nse_Co57_to_Ni58)*Y(Co57)*state.rho + screened_rates(k_p_nse_Fe56_to_Co57)*Y(Fe56)*state.rho; + jac.set(Co57, P_nse, scratch); + + scratch = screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(Fe54)*state.rho; + jac.set(Co57, He4, scratch); + + scratch = screened_rates(k_He4_Fe54_to_p_nse_Co57_derived)*Y(He4)*state.rho; + jac.set(Co57, Fe54, scratch); + + scratch = screened_rates(k_p_nse_Fe56_to_Co57)*Y(P_nse)*state.rho; + jac.set(Co57, Fe56, scratch); + + scratch = screened_rates(k_n_Co56_to_Co57)*Y(N)*state.rho; + jac.set(Co57, Co56, scratch); + + scratch = -screened_rates(k_Co57_to_n_Co56_derived) - screened_rates(k_Co57_to_p_nse_Fe56_derived) - screened_rates(k_p_nse_Co57_to_He4_Fe54)*Y(P_nse)*state.rho - screened_rates(k_p_nse_Co57_to_Ni58)*Y(P_nse)*state.rho; + jac.set(Co57, Co57, scratch); + + scratch = screened_rates(k_Ni58_to_p_nse_Co57_derived); + jac.set(Co57, Ni58, scratch); + + scratch = -2.0*screened_rates(k_Ni56_n_n_to_Ni58_approx)*Y(Ni56)*Y(N)*amrex::Math::powi<2>(state.rho) - screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(Ni56)*state.rho; + jac.set(Ni56, N, scratch); + + scratch = screened_rates(k_p_nse_Co55_to_Ni56)*Y(Co55)*state.rho + screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(Co56)*state.rho; + jac.set(Ni56, P_nse, scratch); + + scratch = screened_rates(k_He4_Fe52_to_Ni56)*Y(Fe52)*state.rho; + jac.set(Ni56, He4, scratch); + + scratch = screened_rates(k_He4_Fe52_to_Ni56)*Y(He4)*state.rho; + jac.set(Ni56, Fe52, scratch); + + scratch = screened_rates(k_p_nse_Co55_to_Ni56)*Y(P_nse)*state.rho; + jac.set(Ni56, Co55, scratch); + + scratch = screened_rates(k_Co56_to_Ni56) + screened_rates(k_p_nse_Co56_to_n_Ni56_derived)*Y(P_nse)*state.rho; + jac.set(Ni56, Co56, scratch); + + scratch = -screened_rates(k_Ni56_n_n_to_Ni58_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho) - screened_rates(k_Ni56_to_Co56) - screened_rates(k_Ni56_to_He4_Fe52_derived) - screened_rates(k_Ni56_to_p_nse_Co55_derived) - screened_rates(k_n_Ni56_to_p_nse_Co56)*Y(N)*state.rho; + jac.set(Ni56, Ni56, scratch); + + scratch = screened_rates(k_Ni58_to_Ni56_n_n_approx); + jac.set(Ni56, Ni58, scratch); + + scratch = 2.0*screened_rates(k_Ni56_n_n_to_Ni58_approx)*Y(Ni56)*Y(N)*amrex::Math::powi<2>(state.rho); + jac.set(Ni58, N, scratch); + + scratch = screened_rates(k_p_nse_Co57_to_Ni58)*Y(Co57)*state.rho - screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(Ni58)*state.rho; + jac.set(Ni58, P_nse, scratch); + + scratch = screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(Co55)*state.rho + screened_rates(k_He4_Fe54_to_Ni58)*Y(Fe54)*state.rho; + jac.set(Ni58, He4, scratch); + + scratch = screened_rates(k_He4_Fe54_to_Ni58)*Y(He4)*state.rho; + jac.set(Ni58, Fe54, scratch); + + scratch = screened_rates(k_He4_Co55_to_p_nse_Ni58)*Y(He4)*state.rho; + jac.set(Ni58, Co55, scratch); + + scratch = screened_rates(k_p_nse_Co57_to_Ni58)*Y(P_nse)*state.rho; + jac.set(Ni58, Co57, scratch); + + scratch = screened_rates(k_Ni56_n_n_to_Ni58_approx)*amrex::Math::powi<2>(Y(N))*amrex::Math::powi<2>(state.rho); + jac.set(Ni58, Ni56, scratch); + + scratch = -screened_rates(k_Ni58_to_He4_Fe54_derived) - screened_rates(k_Ni58_to_Ni56_n_n_approx) - screened_rates(k_Ni58_to_p_nse_Co57_derived) - screened_rates(k_p_nse_Ni58_to_He4_Co55_derived)*Y(P_nse)*state.rho; + jac.set(Ni58, Ni58, scratch); + + +} + + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void actual_jac(const burn_t& state, MatrixType& jac) +{ + + // Set molar abundances + amrex::Array1D Y; + for (int i = 1; i <= NumSpec; ++i) { + Y(i) = state.xn[i-1] * aion_inv[i-1]; + } + + + jac.zero(); + + rate_derivs_t rate_eval; + + constexpr int do_T_derivatives = 1; + + evaluate_rates(state, rate_eval); + + // Species Jacobian elements with respect to other species + + jac_nuc(state, jac, Y, rate_eval.screened_rates); + + // Energy generation rate Jacobian elements with respect to species + + for (int j = 1; j <= NumSpec; ++j) { + auto jac_slice_2 = [&](int i) -> amrex::Real { return jac.get(i, j); }; + ener_gener_rate(jac_slice_2, jac(net_ienuc,j)); + } + + // Account for the thermal neutrino losses + + amrex::Real sneut, dsneutdt, dsneutdd, dsnuda, dsnudz; + constexpr int do_derivatives{1}; + sneut5(state.T, state.rho, state.abar, state.zbar, sneut, dsneutdt, dsneutdd, dsnuda, dsnudz); + + for (int j = 1; j <= NumSpec; ++j) { + amrex::Real b1 = (-state.abar * state.abar * dsnuda + (zion[j-1] - state.zbar) * state.abar * dsnudz); + jac.add(net_ienuc, j, -b1); + } + + + // Evaluate the Jacobian elements with respect to energy by + // calling the RHS using d(rate) / dT and then transform them + // to our energy integration variable. + + amrex::Array1D yderivs; + + rhs_nuc(state, yderivs, Y, rate_eval.dscreened_rates_dT); + + for (int k = 1; k <= NumSpec; k++) { + jac.set(k, net_ienuc, temperature_to_energy_jacobian(state, yderivs(k))); + } + + + // finally, d(de/dt)/de + + amrex::Real jac_e_T; + ener_gener_rate(yderivs, jac_e_T); + jac_e_T -= dsneutdt; + jac.set(net_ienuc, net_ienuc, temperature_to_energy_jacobian(state, jac_e_T)); + +} + + +AMREX_INLINE +void actual_rhs_init () { + + init_tabular(); + +} + + +#endif diff --git a/networks/he-burn/he-burn-31anp/he-burn-31anp.png b/networks/he-burn/he-burn-31anp/he-burn-31anp.png new file mode 100644 index 0000000000000000000000000000000000000000..c869945c08f7184d6dd2775d25484a3d57530b9c GIT binary patch literal 147830 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 OoLnNUps3wM#&-H3#%u068u0 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 48 use NSE protons + net.make_nse_protons(48) + + print(f"number of nuclei = {len(net.unique_nuclei)}") + print(f"number of ReacLib rates = {len(net.reaclib_rates)}") + print(f"number of tabular rates = {len(net.tabular_rates)}") + + # let's make a figure + + comp = pyna.Composition(net.unique_nuclei) + comp.set_equal() + + rho = 9.e7 + T = 6.e9 + + fig = net.plot(rho, T, comp, + rotated=True, curved_edges=True, hide_xalpha=True, + size=(1800, 900), + node_size=500, node_shape="s", node_color="#337dff", node_font_size=10) + + fig.savefig("he-burn-31anp.png") + + net.write_network() + + +if __name__ == "__main__": + doit() diff --git a/networks/he-burn/he-burn-31anp/he_burn_core.py b/networks/he-burn/he-burn-31anp/he_burn_core.py new file mode 120000 index 0000000000..bc9cd39283 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/he_burn_core.py @@ -0,0 +1 @@ +../he_burn_core.py \ No newline at end of file diff --git a/networks/he-burn/he-burn-31anp/inputs.burn_cell.VODE b/networks/he-burn/he-burn-31anp/inputs.burn_cell.VODE new file mode 100644 index 0000000000..29b7b866cc --- /dev/null +++ b/networks/he-burn/he-burn-31anp/inputs.burn_cell.VODE @@ -0,0 +1,57 @@ +unit_test.run_prefix = "react_pynucastro_" + +unit_test.small_temp = 1e5 +unit_test.small_dens = 1e5 + +integrator.burner_verbose = 0 + +# Set which jacobian to use +# 1 = analytic jacobian +# 2 = numerical jacobian +integrator.jacobian = 1 + +integrator.renormalize_abundances = 0 + +integrator.rtol_spec = 1.0e-6 +integrator.rtol_enuc = 1.0e-6 +integrator.atol_spec = 1.0e-6 +integrator.atol_enuc = 1.0e-6 + + +unit_test.tmax = 1.0 +unit_test.nsteps = 1000 + +unit_test.density = 1.0e7 +unit_test.temperature = 1.0e8 + +unit_test.X1 = 1.0 +unit_test.X2 = 0.0 +unit_test.X3 = 0.0 +unit_test.X4 = 0.0 +unit_test.X5 = 0.0 +unit_test.X6 = 0.0 +unit_test.X7 = 0.0 +unit_test.X8 = 0.0 +unit_test.X9 = 0.0 +unit_test.X10 = 0.0 +unit_test.X11 = 0.0 +unit_test.X12 = 0.0 +unit_test.X13 = 0.0 +unit_test.X14 = 0.0 +unit_test.X15 = 0.0 +unit_test.X16 = 0.0 +unit_test.X17 = 0.0 +unit_test.X18 = 0.0 +unit_test.X19 = 0.0 +unit_test.X20 = 0.0 +unit_test.X21 = 0.0 +unit_test.X22 = 0.0 +unit_test.X23 = 0.0 +unit_test.X24 = 0.0 +unit_test.X25 = 0.0 +unit_test.X26 = 0.0 +unit_test.X27 = 0.0 +unit_test.X28 = 0.0 +unit_test.X29 = 0.0 +unit_test.X30 = 0.0 +unit_test.X31 = 0.0 diff --git a/networks/He-C-Fe-group/n-p_betadecay.dat b/networks/he-burn/he-burn-31anp/n-p_betadecay.dat similarity index 100% rename from networks/He-C-Fe-group/n-p_betadecay.dat rename to networks/he-burn/he-burn-31anp/n-p_betadecay.dat diff --git a/networks/he-burn/he-burn-31anp/neutron_approximation.ipynb b/networks/he-burn/he-burn-31anp/neutron_approximation.ipynb new file mode 100644 index 0000000000..f2028a284b --- /dev/null +++ b/networks/he-burn/he-burn-31anp/neutron_approximation.ipynb @@ -0,0 +1,581 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "da1e5c34-0fcf-44da-9ae0-ec48f148c88a", + "metadata": {}, + "outputs": [], + "source": [ + "import pynucastro as pyna\n", + "from pynucastro.rates import ReacLibRate, TabularRate" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "847816d9-f880-43e5-966a-4e20bcf803e2", + "metadata": {}, + "outputs": [], + "source": [ + "DO_DERIVED_RATES = True" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "ee9f4d6a-b817-475c-ba36-ca6a09f75582", + "metadata": {}, + "outputs": [], + "source": [ + "reaclib_lib = pyna.ReacLibLibrary()\n", + "weak_lib = pyna.TabularLibrary()" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "32a423ae-1c45-48f9-8890-886e7947eff2", + "metadata": {}, + "outputs": [], + "source": [ + "# these are the nuclei we have in subch_simple\n", + "all_reactants = [\"p\",\n", + " \"he4\", \"c12\", \"o16\", \"ne20\", \"mg24\", \"si28\", \"s32\",\n", + " \"ar36\", \"ca40\", \"ti44\", \"cr48\", \"fe52\", \"ni56\",\n", + " \"al27\", \"p31\", \"cl35\", \"k39\", \"sc43\", \"v47\", \"mn51\", \"co55\",\n", + " \"n13\", \"n14\", \"f18\", \"ne21\", \"na22\", \"na23\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d338da52-327c-4ab1-ab6b-40da8430ac6d", + "metadata": {}, + "outputs": [], + "source": [ + "# create a library of ReacLib rates\n", + "core_lib = reaclib_lib.linking_nuclei(all_reactants)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "097e87ee-561b-4737-8a71-36989ba312b4", + "metadata": {}, + "outputs": [], + "source": [ + "# in this list, we have the reactants, the actual reactants,\n", + "# and modified products that we will use instead\n", + "\n", + "other_rates = [(\"c12(c12,n)mg23\", \"mg24\"),\n", + " (\"o16(o16,n)s31\", \"s32\"),\n", + " (\"o16(c12,n)si27\", \"si28\")]\n", + "\n", + "for r, mp in other_rates:\n", + " _r = reaclib_lib.get_rate_by_name(r)\n", + " _r.modify_products(mp)\n", + " core_lib.add_rate(_r)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f062fc6c-1e9f-486f-a4f1-535ada0f2a57", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "removing: p31(p,c12)ne20\n", + "removing: si28(a,c12)ne20\n", + "removing: ne20(c12,p)p31\n", + "removing: ne20(c12,a)si28\n", + "removing: na23(a,g)al27\n", + "removing: al27(g,a)na23\n", + "removing: al27(a,g)p31\n", + "removing: p31(g,a)al27\n" + ] + } + ], + "source": [ + "# finally, the aprox nets don't include the reverse rates for\n", + "# C12+C12, C12+O16, and O16+O16, so remove those\n", + "\n", + "for r in core_lib.get_rates():\n", + " if sorted(r.products) in [[pyna.Nucleus(\"c12\"), pyna.Nucleus(\"c12\")],\n", + " [pyna.Nucleus(\"c12\"), pyna.Nucleus(\"o16\")],\n", + " [pyna.Nucleus(\"o16\"), pyna.Nucleus(\"o16\")]]:\n", + " core_lib.remove_rate(r)\n", + "\n", + "# C12+Ne20 and reverse\n", + "# (a,g) links between Na23 and Al27\n", + "# (a,g) links between Al27 and P31\n", + "\n", + "rates_to_remove = [\"p31(p,c12)ne20\",\n", + " \"si28(a,c12)ne20\",\n", + " \"ne20(c12,p)p31\",\n", + " \"ne20(c12,a)si28\",\n", + " \"na23(a,g)al27\",\n", + " \"al27(g,a)na23\",\n", + " \"al27(a,g)p31\",\n", + " \"p31(g,a)al27\"]\n", + "\n", + "for r in rates_to_remove:\n", + " print(\"removing: \", r)\n", + " _r = core_lib.get_rate_by_name(r)\n", + " core_lib.remove_rate(_r)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "bd6eb4e1-e7a4-45c5-bde6-0a03f3111493", + "metadata": {}, + "outputs": [], + "source": [ + "# now create a list of iron group nuclei and find both the\n", + "# ReacLib and weak / tabular rates linking these.\n", + "\n", + "iron_peak = [\"n\", \"p\", \"he4\",\n", + " \"mn51\",\n", + " \"fe52\", \"fe53\", \"fe54\", \"fe55\", \"fe56\",\n", + " \"co55\", \"co56\", \"co57\",\n", + " \"ni56\", \"ni57\", \"ni58\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "034305b2-b488-4cde-8209-c9baca639b49", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "warning: He4 was not able to be linked\n", + "warning: Fe53 was not able to be linked\n", + "warning: Mn51 was not able to be linked\n", + "warning: Ni58 was not able to be linked\n", + "warning: Fe52 was not able to be linked\n", + "warning: Fe54 was not able to be linked\n" + ] + } + ], + "source": [ + "iron_reaclib = reaclib_lib.linking_nuclei(iron_peak)\n", + "iron_weak_lib = weak_lib.linking_nuclei(iron_peak)" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "b58b6146-5422-4e4f-8634-07329ff0915f", + "metadata": {}, + "outputs": [], + "source": [ + "# add the libraries\n", + "\n", + "all_lib = core_lib + iron_reaclib + iron_weak_lib" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "803d0390-5c03-43b4-80ca-8c5bedd9629a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "modifying N13 ⟶ p + C12 from C12 + p ⟶ N13 + 𝛾\n", + "modifying O16 ⟶ He4 + C12 from C12 + He4 ⟶ O16 + 𝛾\n", + "modifying F18 ⟶ He4 + N14 from N14 + He4 ⟶ F18 + 𝛾\n", + "modifying Ne20 ⟶ He4 + O16 from O16 + He4 ⟶ Ne20 + 𝛾\n", + "modifying Na22 ⟶ p + Ne21 from Ne21 + p ⟶ Na22 + 𝛾\n", + "modifying Na22 ⟶ He4 + F18 from F18 + He4 ⟶ Na22 + 𝛾\n", + "modifying Mg24 ⟶ p + Na23 from Na23 + p ⟶ Mg24 + 𝛾\n", + "modifying Mg24 ⟶ He4 + Ne20 from Ne20 + He4 ⟶ Mg24 + 𝛾\n", + "modifying Si28 ⟶ p + Al27 from Al27 + p ⟶ Si28 + 𝛾\n", + "modifying Si28 ⟶ He4 + Mg24 from Mg24 + He4 ⟶ Si28 + 𝛾\n", + "modifying S32 ⟶ p + P31 from P31 + p ⟶ S32 + 𝛾\n", + "modifying S32 ⟶ He4 + Si28 from Si28 + He4 ⟶ S32 + 𝛾\n", + "modifying Cl35 ⟶ He4 + P31 from P31 + He4 ⟶ Cl35 + 𝛾\n", + "modifying Ar36 ⟶ p + Cl35 from Cl35 + p ⟶ Ar36 + 𝛾\n", + "modifying Ar36 ⟶ He4 + S32 from S32 + He4 ⟶ Ar36 + 𝛾\n", + "modifying K39 ⟶ He4 + Cl35 from Cl35 + He4 ⟶ K39 + 𝛾\n", + "modifying Ca40 ⟶ p + K39 from K39 + p ⟶ Ca40 + 𝛾\n", + "modifying Ca40 ⟶ He4 + Ar36 from Ar36 + He4 ⟶ Ca40 + 𝛾\n", + "modifying Sc43 ⟶ He4 + K39 from K39 + He4 ⟶ Sc43 + 𝛾\n", + "modifying Ti44 ⟶ p + Sc43 from Sc43 + p ⟶ Ti44 + 𝛾\n", + "modifying Ti44 ⟶ He4 + Ca40 from Ca40 + He4 ⟶ Ti44 + 𝛾\n", + "modifying V47 ⟶ He4 + Sc43 from Sc43 + He4 ⟶ V47 + 𝛾\n", + "modifying Cr48 ⟶ p + V47 from V47 + p ⟶ Cr48 + 𝛾\n", + "modifying Cr48 ⟶ He4 + Ti44 from Ti44 + He4 ⟶ Cr48 + 𝛾\n", + "modifying Mn51 ⟶ He4 + V47 from V47 + He4 ⟶ Mn51 + 𝛾\n", + "modifying Fe52 ⟶ p + Mn51 from Mn51 + p ⟶ Fe52 + 𝛾\n", + "modifying Fe52 ⟶ He4 + Cr48 from Cr48 + He4 ⟶ Fe52 + 𝛾\n", + "modifying Co55 ⟶ He4 + Mn51 from Mn51 + He4 ⟶ Co55 + 𝛾\n", + "modifying Ni56 ⟶ p + Co55 from Co55 + p ⟶ Ni56 + 𝛾\n", + "modifying Ni56 ⟶ He4 + Fe52 from Fe52 + He4 ⟶ Ni56 + 𝛾\n", + "modifying C12 ⟶ He4 + He4 + He4 from He4 + He4 + He4 ⟶ C12 + 𝛾\n", + "modifying O16 + p ⟶ He4 + N13 from N13 + He4 ⟶ p + O16\n", + "modifying Ne20 + He4 ⟶ p + Na23 from Na23 + p ⟶ He4 + Ne20\n", + "modifying Ne21 + p ⟶ He4 + F18 from F18 + He4 ⟶ p + Ne21\n", + "modifying Mg24 + He4 ⟶ p + Al27 from Al27 + p ⟶ He4 + Mg24\n", + "modifying Si28 + He4 ⟶ p + P31 from P31 + p ⟶ He4 + Si28\n", + "modifying S32 + He4 ⟶ p + Cl35 from Cl35 + p ⟶ He4 + S32\n", + "modifying Ar36 + He4 ⟶ p + K39 from K39 + p ⟶ He4 + Ar36\n", + "modifying Ca40 + He4 ⟶ p + Sc43 from Sc43 + p ⟶ He4 + Ca40\n", + "modifying V47 + p ⟶ He4 + Ti44 from Ti44 + He4 ⟶ p + V47\n", + "modifying Mn51 + p ⟶ He4 + Cr48 from Cr48 + He4 ⟶ p + Mn51\n", + "modifying Co55 + p ⟶ He4 + Fe52 from Fe52 + He4 ⟶ p + Co55\n", + "modifying Fe53 ⟶ n + Fe52 from Fe52 + n ⟶ Fe53 + 𝛾\n", + "modifying Fe54 ⟶ n + Fe53 from Fe53 + n ⟶ Fe54 + 𝛾\n", + "modifying Fe55 ⟶ n + Fe54 from Fe54 + n ⟶ Fe55 + 𝛾\n", + "modifying Fe56 ⟶ n + Fe55 from Fe55 + n ⟶ Fe56 + 𝛾\n", + "modifying Co55 ⟶ p + Fe54 from Fe54 + p ⟶ Co55 + 𝛾\n", + "modifying Co56 ⟶ n + Co55 from Co55 + n ⟶ Co56 + 𝛾\n", + "modifying Co56 ⟶ p + Fe55 from Fe55 + p ⟶ Co56 + 𝛾\n", + "modifying Co57 ⟶ n + Co56 from Co56 + n ⟶ Co57 + 𝛾\n", + "modifying Co57 ⟶ p + Fe56 from Fe56 + p ⟶ Co57 + 𝛾\n", + "modifying Ni57 ⟶ n + Ni56 from Ni56 + n ⟶ Ni57 + 𝛾\n", + "modifying Ni57 ⟶ p + Co56 from Co56 + p ⟶ Ni57 + 𝛾\n", + "modifying Ni57 ⟶ He4 + Fe53 from Fe53 + He4 ⟶ Ni57 + 𝛾\n", + "modifying Ni58 ⟶ n + Ni57 from Ni57 + n ⟶ Ni58 + 𝛾\n", + "modifying Ni58 ⟶ p + Co57 from Co57 + p ⟶ Ni58 + 𝛾\n", + "modifying Ni58 ⟶ He4 + Fe54 from Fe54 + He4 ⟶ Ni58 + 𝛾\n", + "modifying Fe53 + He4 ⟶ n + Ni56 from Ni56 + n ⟶ He4 + Fe53\n", + "modifying Fe54 + p ⟶ He4 + Mn51 from Mn51 + He4 ⟶ p + Fe54\n", + "modifying Fe54 + He4 ⟶ n + Ni57 from Ni57 + n ⟶ He4 + Fe54\n", + "modifying Fe54 + He4 ⟶ p + Co57 from Co57 + p ⟶ He4 + Fe54\n", + "modifying Fe55 + p ⟶ n + Co55 from Co55 + n ⟶ p + Fe55\n", + "modifying Fe55 + He4 ⟶ n + Ni58 from Ni58 + n ⟶ He4 + Fe55\n", + "modifying Fe56 + p ⟶ n + Co56 from Co56 + n ⟶ p + Fe56\n", + "modifying Co56 + p ⟶ n + Ni56 from Ni56 + n ⟶ p + Co56\n", + "modifying Co56 + p ⟶ He4 + Fe53 from Fe53 + He4 ⟶ p + Co56\n", + "modifying Co57 + p ⟶ n + Ni57 from Ni57 + n ⟶ p + Co57\n", + "modifying Ni58 + p ⟶ He4 + Co55 from Co55 + He4 ⟶ p + Ni58\n" + ] + } + ], + "source": [ + "if DO_DERIVED_RATES:\n", + " rates_to_derive = []\n", + " for r in all_lib.get_rates():\n", + " if r.reverse:\n", + " # this rate was computed using detailed balance, regardless\n", + " # of whether Q < 0 or not. We want to remove it and then\n", + " # recompute it\n", + " rates_to_derive.append(r)\n", + "\n", + " # now for each of those derived rates, look to see if the pair exists\n", + "\n", + " for r in rates_to_derive:\n", + " fr = all_lib.get_rate_by_nuclei(r.products, r.reactants)\n", + " if fr:\n", + " print(f\"modifying {r} from {fr}\")\n", + " all_lib.remove_rate(r)\n", + " d = pyna.DerivedRate(rate=fr, compute_Q=False, use_pf=True)\n", + " all_lib.add_rate(d)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "c32122ac-a41b-45bc-9312-6ff8c4f0ef0a", + "metadata": {}, + "outputs": [], + "source": [ + "# we will have duplicate rates -- we want to remove any ReacLib rates\n", + "# that we have tabular rates for\n", + "\n", + "dupes = all_lib.find_duplicate_links()\n", + "\n", + "rates_to_remove = []\n", + "for d in dupes:\n", + " for r in d:\n", + " if isinstance(r, ReacLibRate):\n", + " rates_to_remove.append(r)\n", + "\n", + "for r in rates_to_remove:\n", + " all_lib.remove_rate(r)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "17f573de-170b-422f-854e-d4337126f855", + "metadata": {}, + "outputs": [], + "source": [ + "# combine all three libraries into a single network\n", + "\n", + "net = pyna.AmrexAstroCxxNetwork(libraries=[all_lib],\n", + " symmetric_screening=False)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0aad0120-6588-4fd2-9786-864e8db9e5cc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "using approximate rate S32 + He4 ⟶ Ar36 + 𝛾\n", + "using approximate rate Ar36 ⟶ S32 + He4\n", + "using approximate rate Ar36 + He4 ⟶ Ca40 + 𝛾\n", + "using approximate rate Ca40 ⟶ Ar36 + He4\n", + "using approximate rate Ca40 + He4 ⟶ Ti44 + 𝛾\n", + "using approximate rate Ti44 ⟶ Ca40 + He4\n", + "using approximate rate Ti44 + He4 ⟶ Cr48 + 𝛾\n", + "using approximate rate Cr48 ⟶ Ti44 + He4\n", + "removing rate S32 + He4 ⟶ Ar36 + 𝛾\n", + "removing rate S32 + He4 ⟶ p + Cl35\n", + "removing rate Cl35 + p ⟶ Ar36 + 𝛾\n", + "removing rate Ar36 ⟶ He4 + S32\n", + "removing rate Ar36 ⟶ p + Cl35\n", + "removing rate Cl35 + p ⟶ He4 + S32\n", + "removing rate Ar36 + He4 ⟶ Ca40 + 𝛾\n", + "removing rate Ar36 + He4 ⟶ p + K39\n", + "removing rate K39 + p ⟶ Ca40 + 𝛾\n", + "removing rate Ca40 ⟶ He4 + Ar36\n", + "removing rate Ca40 ⟶ p + K39\n", + "removing rate K39 + p ⟶ He4 + Ar36\n", + "removing rate Ca40 + He4 ⟶ Ti44 + 𝛾\n", + "removing rate Ca40 + He4 ⟶ p + Sc43\n", + "removing rate Sc43 + p ⟶ Ti44 + 𝛾\n", + "removing rate Ti44 ⟶ He4 + Ca40\n", + "removing rate Ti44 ⟶ p + Sc43\n", + "removing rate Sc43 + p ⟶ He4 + Ca40\n", + "removing rate Ti44 + He4 ⟶ Cr48 + 𝛾\n", + "removing rate Ti44 + He4 ⟶ p + V47\n", + "removing rate V47 + p ⟶ Cr48 + 𝛾\n", + "removing rate Cr48 ⟶ He4 + Ti44\n", + "removing rate Cr48 ⟶ p + V47\n", + "removing rate V47 + p ⟶ He4 + Ti44\n", + "looking to remove P31 + He4 ⟶ Cl35 + 𝛾\n", + "looking to remove Cl35 + He4 ⟶ K39 + 𝛾\n", + "looking to remove Cl35 ⟶ He4 + P31\n", + "looking to remove K39 ⟶ He4 + Cl35\n", + "looking to remove Cl35 + He4 ⟶ K39 + 𝛾\n", + "looking to remove K39 + He4 ⟶ Sc43 + 𝛾\n", + "looking to remove K39 ⟶ He4 + Cl35\n", + "looking to remove Sc43 ⟶ He4 + K39\n", + "looking to remove K39 + He4 ⟶ Sc43 + 𝛾\n", + "looking to remove Sc43 + He4 ⟶ V47 + 𝛾\n", + "looking to remove Sc43 ⟶ He4 + K39\n", + "looking to remove V47 ⟶ He4 + Sc43\n", + "looking to remove Sc43 + He4 ⟶ V47 + 𝛾\n", + "looking to remove V47 + He4 ⟶ Mn51 + 𝛾\n", + "looking to remove V47 ⟶ He4 + Sc43\n", + "looking to remove Mn51 ⟶ He4 + V47\n" + ] + } + ], + "source": [ + "# now we approximate some (alpha, p)(p, gamma) links\n", + "\n", + "net.make_ap_pg_approx(intermediate_nuclei=[\"cl35\", \"k39\", \"sc43\", \"v47\"])\n", + "net.remove_nuclei([\"cl35\", \"k39\", \"sc43\", \"v47\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "147e433a-a0d4-49ff-bde4-cfea39ea6233", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABNQAAAKrCAYAAAA57NCnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzddZiU5f7H8ffEdics7C7dLSACii1itz+7O496VDz2MY96jt2FgR1YCLYC0t0N29059ftjZp6dYWeXXRrm87ouruvJ+7ln9a/P9b3vr8nlcrkQERERERERERGRNjHv7QmIiIiIiIiIiIjsTxSoiYiIiIiIiIiItIMCNRERERERERERkXZQoCYiIiIiIiIiItIOCtRERERERERERETaQYGaiIiIiIiIiIhIOyhQExERERERERERaQcFaiIiIiIiIiIiIu0Q1IGay+WisrISl8u1t6ciIiIiIiIiIiL7iaAO1KqqqoiLi6OqqmpvT0VERERERERERPYTQR2oiYiIiIiIiIiItJcCNRERERERERERkXZQoCYiIiIiIiIiItIOCtRERERERERERETaQYGaiIiIiIiIiIhIOyhQExERERERERERaQcFaiIiIiIiIiIiIu2gQE1ERERERERERKQdFKiJiIiIiIiIiIi0gwI1ERERERERERGRdlCgJiIiIiIiIiIi0g4K1ERERERERERERNpBgZqIiIiIiIiIiEg7KFATERERERERERFpBwVqIiIiIiIiIiIi7aBATUREREREREREpB0UqImIiIiIiIiIiLSDAjUREREREREREZF2UKAmIiIiIiIiIiLSDgrURERERERERERE2kGBmoiIiIiIiIiISDsoUBMREREREREREWkHBWoiIiIiIiIiIiLtoEBNRERERERERESkHRSoiYiIiIiIiIiItIMCNRERERERERERkXZQoCYiIiIiIiIiItIOCtRERERERERERETaQYGaiIiIiIiIiIhIOyhQExERERERERERaQcFaiIiIiIiIiIiIu2gQE1ERERERERERKQdFKiJiIiIiIiIiIi0gwI1ERERERERERGRdlCgJiIiIiIiIiIi0g4K1ERERERERERERNrBurcnICIiIiIiIiKyL3G5XNgcLhwuFyYgxGLGYjbt7WnJPkSBmoiIiIiIiIgEvYp6GxtLaimuaaSktpEGu9O4ZzZBfEQISZGhdIoNJzM+ArMCtqCmQE1EREREREREglZ2RR0r86vIq2po8RmnC0prbZTW2lhXXENEiJneydH07xBDqFW7aQUjBWoiIiIiIiIiEnTqbQ7mZJWzubS23e/W2ZwsyatkXXENo7smkB4XsVvmKPsuxagiIiIiIiIiElSKqhuYsiJ/h8I0X7U2B7+sK2bu1jJcLtcum5/s+xSoiYiIiIiIiEjQKKhqYPraIup99kjbWasKq5m5uVShWhBRoCYiIiIiIiIiQaG8zsYv64uwO3d98LWhpJb52RW7fFzZNylQExEREREREZEDntPlYsamUmyO3VdFtrKgirzK+t02vuw71JRARERERERERA54K/KrKKlt5PxhnSmpbQRgWV4VuZX1JEeFMqxTHCYT5FTUs6Kgaoe/M2tzKacM6EiIRTVMBzIFaiIiIiIiIiJyQGt0OFmaVwlAdaODaWuKjHtmEwxJi+XXDcU4dsFS0OpGB2uLqhnQMXanx5J9l+JSERERERERETmgbSypMfZNiwqxcHyfFA7rlkiYxUxKVBh2p4sjeiRxbK8UEiJCdvp7a4pq1KDgAKcKNRERERERERE5oK0tqjGOv1yeR4PdSc+kKIZ1jqOguoH4iBC+X1VAVKiF0V0S+XFNIQDj+6SQEhWG0yccW5BdwZqi6la/V9VgJ6+qgU6x4bvxV8nedMBUqD3xxBOYTCZuvfXWvT0VEREREREREdlH1NsclNXZjPMGuxOATWW1JEaG0GB3UljdgN3poqLeTqjF5Pf+guxyJi/KMf5tL0zzyldzggPaAVGhNm/ePF577TUGDx68t6ciIiIiIiIiIvsQbwMCAKvZhMPpwgV0jA6jssFOcU0Dg9NiAAi3mmlrE1Cr2cTw9DjS4yKwmE3kVtQzJ6vM6CJaUmvb7hiy/9rvK9Sqq6u54IILeOONN0hISNjb0xERERERERGRfUipT7AVG27lxP4dGN8nhf4dYliUU0Gjw8X64lqO75PKUT2TmZ9V3qZxx3ZNJNRi5puV+Xy5LA+zCUZlNuUSpT5Bnhx49vsKtRtuuIETTzyRY445hkceeaTVZxsaGmhoaDDOKysr98AMRURERERERGRvaXQ4jePSWhvfrSxo9sz6khrWl9Q0uw5wUHocQzvFGeefLc3FYjaRmRDBJ4tzjIq0RbmVnDqgIzM3leICGny+Kwee/TpQ+/jjj1m4cCHz5s1r0/OPP/44Dz300G6fl4iIiIiIiIjsG5w72WxzYXYFqwr9902LCw/BbDJx5qBOzZ6PCLFQa3PgcoHL5cJkMjV7RvZ/+22glpWVxS233MJPP/1EeHjbumZMnDiR2267zTivrKwkIyNjN85SRERERERERPamEPOuD7RqGu04XS4+XZqLo4XEzmo2KUw7gO23gdqCBQsoLCzkoIMOMq45HA7+/PNPXnzxRRoaGrBYLH7vhIWFERYWthdmKyIiIiIiIiJ7Q2z4ro8+6u1OssrrGJUZz4LsChrsTsKtZlKjw9haXgdA3G74ruw79tv/ukcffTTLli3zu3bZZZfRt29f7rrrrmZhmoiIiIiIiIgEn6So0N0y7oxNpQztFMeJ/ToQZjVTb3OwubTWCNR213dl37DfBmoxMTEMHDjQ71pUVBRJSUnNrouIiIiIiIhIcIoNsxJmMe9Qk4Bpa4pavGd3upifXc787MBdQZMVqB3QzHt7AiIiIiIiIiIiu4vJZKJ7UuQe/abVbKJLwp79puxZ+22FWiC///773p6CiIiIiIiIiOxj+qRGN+vUuTt1T4ok1KIapgOZ/uuKiIiIiIiIyAEtLjyEjPiIPfItswn6p8bskW/J3qNATUREREREREQOeIdkJhBqMe327wxJiyMuImS3f0f2LgVqIiIiIiIiInLAiwy1cHBGwm79RlJkCAM7qjotGChQExEREREREZGg0CM5arcFXtGhFo7smYzZvPur4GTvU6AmIiIiIiIiIkHjoM5xDNrFoVpMmBXnzGXM/OgvXC7XLh1b9k0mVxD/l66srCQuLo6KigpiY2P39nREREREREREZA/ZXFrL7K1lNNidOzVO96RINn74Gx/c/wkAqZnJXHT/2Rx1wWGEhmkvtQOVAjUFaiIiIiIiIiJBqc7mYH5WORtLasDUvqWasWFWauas4v3rXiMkLISG2ga/+4kd4znlhuM5+drjiE3SvmoHGgVqCtREREREREREgtrTN7xJnh26HT+cmIzkFp+zmk10jA6le1wYXVNjOSH8POw2R6tjh0eGcf1zlzHhiqN3w8xlb7Hu7QmIiIiIiIiIiOwtTqeTuV/OpqyggtXv/wqhIST26Uxy785EJ8dQlleOs76Bxz66BWujjf/rdDUNdY1ceP9ZWEOt2w3U6msbmPzoFwrUDjAK1EREREREREQkaG1cuoWyggoAug7MZO38DeTPWwclFVi7prLm1+UAhDTa+Pub+TTUNQLwwb8/JzUjmfqahlbHBzj5uvG7+VfInqYunyIiIiIiIiIStOZPW2IcJ3SIM46TOiaQ3DnROC/KLqUkv7zpRRcUZZVsd/wrn7iAc/556q6csuwDFKiJiIiIiIiISNBaPmOVcWw2N8UkHbulktw5yTgvzilly4osv3fbsi39rCnzcNhbXxYq+x8FaiIiIiIiIiISlJxOJytnrQEgLjmGytIq417n3p1ISW8K1Ao2F7Jp2da2DWyCmIRoAFb+vZZP/jNlV09d9jIFaiIiIiIiIiISlLLW5FJVVgNA/zF9KM1rWtLZfXAX0nunGedbVmWzZWV2m8ZNyUjike/uxmw2AfDeg5+ybuHGXT5/2XsUqImIiIiIiIhIUPJWpwEMGNPXr0Kt9/DuZPbrbJyvW7ARW4OtxbEi4yKN46KtJWxZlcP/3X06AA67gycuep6Guu03MJD9gwI1EREREREREQlKK2b6Bmq9qa/2BF4mSElPIqlTIpExEQDkrs8POMbhZ4/mXx/dypSySYw7e7Rx/ZVb3+H8e8+k10HdANi6Koe3Jk7evT9I9hgFaiIiIiIiIiISlFb+7Q7UrCEWug3JNJoHhIaFAGAymYwqtdL8cs78x4kcesYoDj97jDHGgLF9OeLcsQDcNelGQsKsANRV1/PGnR9w13s3ERruHu+r539g4S/L9vCvlN1BgZqIiIiIiIiIBJ2K4kqy1uQC0Gt4d/I2FBr3ImOblm9m+Cz7PObCw3ng8zs4965TjWur5qw1jkPDQ7ngvrOM8+9enU5a9w5c+cSFxrWnL3uJ2qq63fSrZE9RoCYiIiIiIiIiQWfl301BWP/RfVi/aJNxHpccYxxn9k03jreucjcl6DYo06g6Wz1nvd+4F9xzJjGJ7g6fDruDl255h1NvPJ6DjhkEQFF2CZMf/WK3/S7ZMxSoiYiIiIiIiEjQ8WtIMLYvRdmlxnlskm+g1lShtnV1DgDWECu9R/QAIG9jAWWFFX5jX/rwucbx9Hd/w253cOur1xDiWUr6xf++I3td3m75XbJnKFATERERERERkaCzduFG47jfIb2oKqk0zqPjo4xj306f3kANoN+oXsbx6jnr/MY+5frjiYp3Lxu12xy8dvt7pHXvwDl3nGJce/W2d3f5b5I9R4GaiIiIiIiIiASdLE84FpMYTVJaApUl1ca96ISmQC2tewdCQt2NBrJWNQVqfVsJ1AAuvLdpL7Wpb/6M3W7n3LtPIyU9CYA53y9kzvcLdvnvkj1DgZqIiIiIiIiIBJW66jqKskoAyOjbGZPJRFVZU6AW67OHmsVqoXOvNACy1+Zit9lhm0Btnc/+a15n3HoikTERANga7Lw9cTIRUeFc/dRFxjOv3DaJxgbbbvmNsnspUBMRERERERGRoOLt7gmQ2acTADXltca1+ORYv+e7Dc4Ez1LNDUu2AJCSnkR4ZBgAeRvym33DbDZzjk830Ckv/YjT6eTwc8YwaFw/AHLW5fHVcz/s4l8ne4ICNREREREREREJKlmrmwK1DE/TgdqqOuNaXGqc3/MDxvQ1jlfMXA2AyWQirUcHAPI3FeKwO5p957y7Tyc8yh26NdbbePf+jzGZTNzw3OWYzSYAPnzkc4pzS5u9K/s2BWoiIiIiIiIiElSyfJoLZPZLB6Cupt64ltgx3u/5AWP7GMfLPYEaQKeeHcFTuVaYVdzsO2azmbNuO9k4//LZ73E6nfQY0pUTrznO/d3qet6a+OEu+mWypyhQExEREREREZGgsnV1tnGc0de95LOxttG4ltQpwe/5boMyjf3QVsxcg8vlAqBzj47GM3kbCgJ+66IHziYsIhSAhtpGPnz0SwAuffhcYhKjAfj5/T9Z59N1VPZ9CtREREREREREJKh4l3yGhFrp2DUVgIb6pkAt2dOJ08tisdBvdG8ASvPKyN9cCECaT6CWs775Pmp4qtROvWmCcf7ZU1NwOp3EJsVw8YPnGNc/fPSLXfTrZE9QoCYiIiIiIiIiQcNhd5CzLg+Azr3SsFgtANgb7MYzsZ7KMV8Dxvgs+5zhXvbpXfJJC40JvC575P8ICQsBzxLPz57+BoATrjzaqIab+dVcNi3futO/T/YMBWoiIiIiIiIiEjQKtxZja3SHZ97lnnj2QQPA5K4q29bAQ30bE6wBoJOnKQFAbiuBmtVq5aRrjjHOP3r8KwBCw0M5546mTqCTH/tyR3+W7GEK1EREREREREQkaJQVlBvHyZ2blnY6HU4ALJbAUUnfUb0we+55O32mZCRhDXFXuLW05NPryv9chDXUCkBNRS1fPvc9ACdcfQzxKbEA/PHJLLLW5LQ6juwbFKiJiIiIiIiISNAoL6w0juNT4wBwOp1GowFLiDXgexFR4fQY2hWAzSuyqCqrxmKxkNolBYCirJJWvxsaGsLxlx1pnL//8GcAhEeGcaanE6jL5eKjJ77ayV8oe4ICNREREREREREJGuWFFcaxN1CrLq8xroWEBg7UAAaObVr2uXKWe9mnd7+12so6nE5nq9++7n+XGnu2VZfV8N1rPwFwyvXjiUmIAuCXD/4ib2PgjqGy71CgJiIiIiIiIiJBo8wvUHMvtSzObqouC40IbfHdQeP6G8dzflgEQFS8OwhzuVzUVta1+u3Q8FCOuWiccf7ufR8BEBkTwem3nAiepaefPPl1u3+X7FkK1EREREREREQkaASqUCvOLTWuhUW2HKgNP3awUcH29zfzcLlcRMdHGvd9K91acuMLl2OxuuOYiuIqpk/6DYDTbz6ByNgIAKa9+xuFWcU78OtkT1GgJiIiIiIiIiJBo7yoaQ+1BE+gVprX1KggPDKsxXcjYyIYevQgAIpzSlm7YCPRcVHG/bYEauGR4Rx+zhjj/M2JkwGIjo/itBsngKfj6JfPft/OXyZ7kgI1EREREREREQka5QGWfJYXNF3zVom1ZOypI43jv6fMM5Z8AtSU17ZpDje/fJXRMbQsv5zfPpkJwBm3nkhIWAgAP733B40Ntjb+KtnTFKiJiIiIiIiISNDwBmphEaGER4UDUFlSZdyP8qk4C+SQk0cYx7O+mUd0fPsq1ACiYiMZe/rBxvnrd7wHQFxyLOPOOsSY08yv5rbxV8mepkBNRERERERERIJGhWfJZ1xKLCaTyX3NJ1DzdttsSVJaAv0O6QXApmVbcdjtxr22BmoAt71+DSaz+/vFOaVsXLoZgAlXHm0888ObP7d5PNmzFKiJiIiIiIiISNBorHcvowzz2SutqrTaOI5JjNnuGGNOaVr2mb0uzzhu65JPgOj4aCOYw2cvtcHj+pPeOw2Axb8uJ2d9XotjyN6jQE1EREREREREgobD7gDAYmmKRHyDsNik6O2OMea0puWa6xdtMo7rquvbNZdLH/4/43jRz0txOp2YTCYmXNFUpTb1zV/aNabsGQrURERERERERCRoOB1OAKMpAEBtZZ1xHO/p/NmazL6djSqyratyjOu+Y7bFsKMGERUfCZ7Ont++PA2AYy85AmuIBYDpk37HbrO3Oo7seQrURERERERERCRoBArUfAMrb6OC7RlzqrtKzeV0GdfaG6gBHPV/hxrHXzz3PQAJqXGM9nQTLSuo4O9vF7R7XNm9FKiJiIiIiIiISNDwBmoWa1MkYg2xGse2hsY2jePtxulrRwK1Sx9pWvaZt6GAwq1FAJxw5THG9alqTrDPUaAmIiIiIiIiIkHB5XLh9FSU+YZfllCLcdxQ27ZArfeIHnQblOl3zbIDgVpsYgxdB2QY52/d425OcNAxg+jYNQWA+dOWGEGb7BsUqImIiIiIiIhIUHA6ncaxb6AW4lOh1ljXtkDNZDL5VZEBmK07FrOcf88ZxvGsKfPcY5nNjL/sKPAEgX9+PnuHxpbdQ4GaiIiIiIiIiAQF73JPtgnUrKE+gVp92wI1gKMvPMxoHgDg8gns2uPI8w4lLCIUgPqaBv78/G8Axp092nhm1jfzdmhs2T0UqImIiIiIiIhIUHDYmwIv3+WZ1rCmQK2h3tbm8WISouk1vIdxvnHJlh2e2yEnjzCOP3z0C/B0E83o0wmAFTNWU1FcucPjy66lQE1EREREREREgkKIb3Dms7QzxKdCzdaOCjWAgWP7GMfLZ67e4bld9eQFxvHGpVuoqawFYPQp7m6fTqeL2d+p2+e+QoGaiIiIiIiIiAQFi8VCZGwEANXltcb1kLAQ47ixHRVqACkZycZx9to8stfm7tDcOnRJNZoQ4IJJ938MwNjTRhrPePdXk71PgZqIiIiIiIiIBI3o+CgAqsuqjWuhOxGobbsMc+qbv+zw3E67+QTj+OcP/gKg76heJHSIA2DB9CXU1zbs8Piy6yhQExEREREREZGgYQRqPhVqoZ6GAOxIoFbkH6hNn/Q7jQ3tG8Pr9JtPwGJ1NzmoKq1m6Z8rMJvNHHKSe3+1hrpGFv60dIfGll1LgZqIiIiIiIiIBI2o+EgAbA02o6On75JPWzvDsPJtArXyokp+mvT7Ds3NbDYz5IgBxvk792rZ575KgZqIiIiIiIiIBA1vhRpAdXkNAKHhPoFao71d45UXVjS79vETX2G3tW8cryueaGpOsPLvtTQ22hh29CDCo8IAmP3dfBwOxw6NLbuOAjURERERERERCRr+gZp72WeYz5JPe8OOBWqRsRGMGD8EgPzNRfw6ecYOza/3Qd2JT3XvmeZ0OPnsP1MIDQ9l5PFDAagormLV32t3aGzZdRSoiYiIiIiIiEjQCFShFuJXodbOJZ+F7iWf8alxXPCvM43rHz3+5Q5Xko2/7Ejj+NvXpgMw6sThxrUlv6/coXFl11GgJiIiIiIiIiJBwzdQqyp1d/r0q1Brx1JNW6PNCOXiU+MYeGg/Yw+07LV5/PnZ7B2a44X3nYnJbAKgJKeMLauyGXRYP+P+ilmrd2hc2XUUqImIiIiIiIhI0EhMSzCOC7cWAxAWEWZcsze2vaqsorjKOE5IjQXgfJ8qtcmPfYHT6Wz3HMMjw+k9oodx/tbdH5LWvQMJHdxLQVfMWqN91PYyBWoiIiIiIiIiEjQ69exoHOdtyAcgdAcr1Epyy4zj+BR32DXsqIH0H90bgM3Ls/j7m/k7NM9LHzrXOJ4/fTEmk4kBY/sCUFtZx5YV2Ts0ruwaCtREREREREREJGh09gnUcj2BWnhkU6DmsLW98it7Ta5x7A3qTCaTX5Xah498jsvlavc8R4wfSmRMBAC2Bjvzf1rCQE+gBrBippZ97k0K1EREREREREQkaCSnJ2INsQCQs94dqIVF+iz5tLc9UMtanWMcZ/TtbBwfPGEYvQ7qBsC6hZuY+8PCHZrrwMOaArRvX57GgLF9jPPlCtT2KgVqIiIiIiIiIhI0LBYLad07AJC3oQCXy0W4T6DWngq1raubll1m9msK1LatUnvtn++3aymp1wlXHWscL/trFT2HdTMaKKyYuabd48muo0BNRERERERERIJKWg93oNZQ10hJXhlhUT6BWrsq1NxLPkNCrXTsmup3b+xpBxt7qWWtzuHrF6a2e56jTx6O2eKObqpKq6ksqaLvqF4AFGwpoii7pN1jyq6hQE1EREREREREgkqnHr6NCQqIiA43zh32tnXldNgd5KzLA6BzrzQsVovffZPJxA3PX47JZALg/Yc+ozS/LOBYLTGbzWT06WScf/38VAaMaVr2qX3U9h4FaiIiIiIiIiISVHwDtZz1+UTsQIVa3qZCbI3uZZwZfTsFfKb38B5MuOIoAGqr6nj7no/aPdfDzjzEOJ759VwGHurbmEDLPvcWBWoiIiIiIiIiElQ6+XT6zF6TQ3xqnHHeWG9r0xi+DQky+6a3+Nxlj55HVFwkANPe/Y3Vc9e1a66n3jShaa7r8uhzcE/jfP3iTe0aS3YdBWoiIiIiIiIiElS6D+5iHK9dsJHQ8FBMZvfSzMb6xjaN0VKHz23Fp8RxyUPnGucv3fw2TmfblpUCxCfHEpccA4DT4WTxr8tJ6pQAwNZVOdt5W3YXBWoiIiIiIiIiElRS0pNI7pwIwJq563E4HEb3TJfTRW113XbH2Lwyyzhuacmn18nXHUfXARkArJ67np/e+6Nd8x18xADj+Ic3fyGzn7sirrKkivKiinaNJbuGAjURERERERERCTrebpm1VXVkrc41lmUCbFqyZbvvr56zHgCL1UKX/i0v+QSwhli57tnLjPO3Jn5ITUVNm+d66vXHG8erZq8l06ciTlVqe4cCNREREREREREJOv08gRqekCouOdY437C09UCtsqTKWPLZ66BuhEWEtfo8wEFHD+KwM0cBUFZQwVsTJ7d5rkOOGIA11ApAbWUdsSkxxj3fpaey5yhQExEREREREZGg09cvUFtHkmcJKJ5GBa1Z+fda43jAmD5t/ubVT11sLC399tXpzPtxUZvf7TYw0zjesLgp8FOF2t6hQE1EREREREREgk6v4d0xW9yxyLIZq6ivrjfu5W8qavXdFbPWGMf92xGodeyaytVPXWycP33FK1SWVLXp3SPOHWMcr1uwwTjeujq7zd+XXUeBmoiIiIiIiIgEFYfDwcYlW4hNci+dzF6Ty7K/Vhn3i7JLWn1/5d87FqjhaVAwYvwQAErzynj2utdxuVzbfe+k645rml9WibHnmyrU9g4FaiIiIiIiIiISNMqLKrh68O3ceui9lBcG7pBZXlTZ4vt2m501c90NCTp2TSG5U2KLzwZiMpm4/a3riUmMBuCvz2fzy4d/bfe9yOgIEtMSjHNvGFi4tZi6NnQllV1LgZqIiIiIiIiIBI0Nizdvt6qrprzlDpwbFm+moa4RdqA6zSu5UyK3vHK1cf7CjW9SuNW9zDR7bS4NdQ0B3xt+7GDjuM5niWr22rwdmofsOAVqIiIiIiIiIhI0hhwxgH6H9Gr1GW9gFojf/mmjdyxQAzj87NEcfeFh4Onc+fiFz/PwOc9wWd9buH7EXdht9mbvnHbzCcZxVVm1caxOn3ueAjURERERERERCRrWECuPfn8P3QZltviM0+GksdEW8J5voDZg7I4HagA3Pn8FKRlJACyfsZq/Pp8Nnn3R1i3c1Oz53gd1J9TTJdRhcxjXC7Na3/NNdj0FaiIiIiIiIiISVGISonli2r106tmxxWc2L89qds3hcLD41+UARMZE0G1gy6FcW0THR3HmrScFvLfq77UBr/ca1q3ZteLtNFGQXU+BmoiIiIiIiIgEncSOCTw5/T5jc38Ai7UpJtm4ZHOzd9Yv3ERlSRUAw44eiMVq2ak5/PLhX7xx1wcB762cvSbg9WMuOrzZteLc0p2ah7SfAjURERERERERCUodu6by5PR7MVvc8UhsciwAEcmxZBVVk1NRR15lPaW1jTidLuZPW2K8O2L8sJ3+/ht3vY/D7gh4b2ULFWrHXXYEmMBstZDQqxMdR/aiMSaS/Kp66myBx5Jdz+RyuVx7exJ7S2VlJXFxcVRUVBAbG7u3pyMiIiIiIiIie0FBVjGLVuSwtaoRR3QEkSlxzZ4xm6BqcyEbf17Muq9n89rfj9Kxa+pOffeVf7zLl8993+L9j7JeJblzknFe1WBnbVE1s2auJSojBUuotdk7kSEWkqNC6Z4USUZ8BGaTaafmKIEpUFOgJiIiIiIiIhKUHE4XKwuqWFVYRZ3N2eb3XE4nmYlRHNQ5jviIkJ2aw6o56/j8v98y44vZOJ3+Ec3VT13E2befQmltIwtzKsipqG/X2JEhFvp1iKZ/hxgFa7uYAjUFaiIiIiIiIiJBp7S2kRmbSimrC9zNsy3MJhjaKY4BHXc+sMrbVMCXz37Pd6/9hL3RDsC5d53GyJtOYmleJc6dSG+SIkMY2y2RBE+HUNl5CtQUqImIiIiIiIgElQ0lNczcXMquSkTSYsI4smcyIZad36q+srSK126fhA0TQ+88k6KaHQ/8fJlNcFi3JLomRu6S8YKdAjUFaiIiIiIiIiJBY32xO0zb1VKiQjm2d8ouCdUa7U6mry2kpHbXhGm+DuuWSPekqF0+brBRl08RERERERERCQp5lfXM2g1hGkBRTSN/bSplZ+uWXC4Xf2ws2S1hGsCMzaUUVjfslrGDiQI1ERERERERETng2RxO9zLP3fiNrPI6NpbU7tQYa4tqyK1sX/OB9nC5YOamUuyOtjdhkOaa91cVERERERERETnALMiuoKbRwfnDOlNS2wjAsrwqcivrA17bUXOzykiLDScy1NLud6sb7MzPLm82n5pGO4d0SQDAajZjAr5bVbDDc6xssLMot5KRGfE7PEawU6AmIiIiIiIiIge02kYHa4urAahudDBtTZHf/UDXdlSjw8XqwioOSm9/WLWyoAq70xVwPt7zPinRhFp3rqMowOrCKgalxRBubX/wJ1ryKSIiIiIiIiIHuHXF1UZHz6gQC8f3SeGwbomEeRoIBLq2c9+rweFs3+JSm8PJ+pKa7c6nW2Ikm3ZyWSmA0+Vu0CA7RhVqIiIiIiIiInLAcrlcrPMJjr5cnkeD3UnPpCiGdY5j9taygNcAxvdJISUqDKdPo4EF2RWsKapu9Zv1didZ5XV0TYxs8zy3ltdhc7hanCNAVKgFk8ldUeeVGh3KoLRYUqLCMAHVjXY2ltayqqCK7WV664pqGNgxts1zlCb7bYXaK6+8wuDBg4mNjSU2NpbRo0czderUvT0tEREREREREdmH1Noc1PgEUA1292b8m8pqSYwMafGa14LsciYvyjH+bS9M82pvJ83CqqbnW5pPt8RINpc2Vaelx4VzTK8Ucivq+Wp5Hh8tzuGPjSXEh4cQEbL9pZyVDXbqbY7tPifN7bcVaunp6TzxxBP06tULl8vFpEmTOPXUU1m0aBEDBgzY29MTERERERERkX1ASU2jcWw1m3A4XbiAjtFhVDbYA15rC6vZxPD0ONLjIrCYTeRW1DMnq8yoMiuptbVvnp4mBK3Np2tiJD+vbdpb7eDMBJbnV7GqsCnkq6y3M3NzqXEebjUzKjOBjjFh2J0uNpbWsjinwuh2WlLbSOe4iHbNVfbjQO3kk0/2O3/00Ud55ZVXmD17tgI1EREREREREQGgrK4p2IoNtzKmayI2hxOnE2ZtKQ14rS3Gdk3E6XLxzcp8XC4Y0yWBUZkJzNhU6vlu43bH8HK5XMY8W5pPfLiVBruTek/1WmyYlZgwK5tKW98HbVz3JOpsDr5YlkeY1cwxvVKwO5wsy68y/j4K1Npvvw3UfDkcDj777DNqamoYPXp0i881NDTQ0NBUQllZWbmHZigiIiIiIiIie4O3YgygtNbGdysL/O7XNDqaXfN1UHocQzvFGeefLc3FYjaRmRDBJ4tzjPEX5VZy6oCOzNxUiguwO1y4XC5Mpu135HS6MPY7CzRHgPJ6Oz/5VKeFhZiN+bckMsRCWmw4nyzOwe50YW90sDSvkiGdYo1Aze5oX/MEcduvA7Vly5YxevRo6uvriY6O5quvvqJ///4tPv/444/z0EMP7dE5ioiIiIiIiMj+a2F2hd+SSoC48BDMJhNnDurU7PmIEAu1nn3J2hKmAbTtKX8NNnelWlSohaqGwKFaZKgFu7Opqg2gqsFOVBv2V5PW7deBWp8+fVi8eDEVFRV8/vnnXHLJJfzxxx8thmoTJ07ktttuM84rKyvJyMjYgzMWERERERERkT0pxLIjcVXrahrtOF0uPl2ai6OFVprt+a7JBGYT2+3K6auywU5Vg52uiZEsy6sK+ExtowOr2Uy41WyEatGhFmp8GhHsjr9PMNhvu3wChIaG0rNnT4YPH87jjz/OkCFDeO6551p8PiwszOgK6v0nIiIiIiIiIgeuhIiQNjzVPvV2J1nldYzKjCfM6o5Wwq1mMuOb9iKLjwht83gmk2mH5jl3axmDOsbSNzWaMIt7HrFhVsZ0SSAq1F0pl1dZz4iMeKxmE1GhFganxbKhpGnftfbMU5rs1xVq23I6nX57pImIiIiIiIhIcEuK2j2B0YxNpQztFMeJ/ToQZjVTb3OwubSWreV17u9Gti8gS4oMbXdn0OyKen5eV8TgtFiGefZ5q260s7GkljpPFdqfG0sYlZnAmYPScLhcbCypZXl+U0VbUtSuDxyDwX4bqE2cOJEJEyaQmZlJVVUVkydP5vfff2fatGl7e2oiIiIiIiIiso+IDLEQFWppdfP+lkxbU9TiPbvTxfzscuZnlwe83yEmrF3fSo0JY21x6x07AymsbuTndcUt3q+3O/ljY0nAe7HhVsKt2k9tR+y3gVphYSEXX3wxeXl5xMXFMXjwYKZNm8axxx67t6cmIiIiIiIiIvsIk8lEr+QoFudW7rFvhlvNpMdFtOHJJl3iI5hrMdG4B7tu9k6O2mPfOtDst4HaW2+9tbenICIiIiIiIiL7gV7J0SzJq8S1h7KqXslRWMzt2+zfajHTMzmKlQXVbXh651lMJnooUNth+22gJiIiIiIiIiLSFpGhFnonR7OmaPeHVaEWE1unzufzr+cyeFx/Mvt1JjUjmZSMJGKTYjCZWg7a+neIYW1RDfb2tPvcQX1To7XccyeYXK49lc/ueyorK4mLi6OiokIdP0VEREREREQOYDaHk29W5FO9A3uptcdBSeHc1uP6gPfCIkLp3DuNa5+5hGFHDQr4zJqiamZvKdutc4wNs3LygA5Yzebd+p0Dmf5yIiIiIiIiInLAC7GYGds1kfYtxGyfzPgIeqTGYLYEjlsa6hrZuGQLn//32xbH6J0cRefY8N02R7MJxnZLVJi2k/TXExEREREREZGg0DE2nLHdEnfL2KnRoRzWLZHIqHAue+S8Vp8defywFu+ZTCZGpUVTvSl/l8/RBBzWLYnU6PZ1IJXmFKiJiIiIiIiISNDokRTFYd0SaWfPgFZ1jApl7gOT+e+Vr1BZWsXZd5xMj6FdAz6b0CGO8Zcf1eJYLpeLV256i+8vf56ChRt22RzNJkgqKOaFM57k909nEcQ7gO0S2kNNe6iJiIiIiIiIBJ3S2kZmbi6ltNa2w2NYTCaGdY7l539/zHev/ASANdTKydcex4CxfXjk3P8FfK/3iB7c9+ltdOya2uzeNy9P44Ub3wQgIiaC2/94lK0O2Jk+BclRoYztmsh5CRdjb7QD0H1IF/7vrtMZd9YhWNScoN0UqClQExEREREREQlKTqeLlYVVLNpYjDM0pO3vORxkxEUw579f8/ubP2MymZpVfJnNJpLTkyjcWmxcs1jNOOxOAGISorjr/ZsZdcJBxv2Vf6/h9iMewG5zN0649+N/cPg5Yyira2RhdgVZpbWYWtifLZCoUAu9kyK4q+f12BvsmM0mnNskc6mZyZxxy4lMuPJoImMi2jx2sNOSTxEREREREREJSmaziYEdY9nw3y/548532PrrUmoKAnfYtNc3UrpyK0vfmMZXpzxC7a+L+evd38CzTHNbTqfLL0zrPrgLz858hLTuHQCoKqvh3pMe5517P8LhcFBdXsOj5z1rhGln3XYyh58zBoCEiFB62hv46rRHWPbWdMpWZ2OvD1xZV51Xin1rAcm5hYxLCKXo92XYG+zGnLZVuLWYV2+fxCW9biJ7Xd4O/BWDk3VvT0BEREREREREZG+x2+ws+mkptVV1lC/eSFV5DWEJ0XQckEl8WgJ56/NpqKimcksROF1GePbWxA+JiA6nurxmu9+ISYzmiWn3ktAhnpfnP8lTl73ErCnzAJj82JesmrOOqLgII4AbdFg/rnziAr8x5v+4mNqCcpa89iO538+lOK+c2C6pdBnalcKsEuz1NqqyimgoryGhQxxlBRVYrGbunHRDm/4O5YUVrJi5mvReaTvwVww+CtREREREREREJGitmr2O2qo6ADL7p7Ni1hoayqqxF5QREhVC4aLAjQFqq+qISYre7vghoVb+8fq1JHSIByA6PooHv/wnnz39DW/dMxmnw8miX5YZz0fFRXL3+zc129ds/vTFxrHd5sDlcFKxMZ+lG5t3A60oqQLAYXfy0i3vtunv0H9MH6MiTrZPSz5FREREREREJGgtmL7EOI5NijGOkzslktwpsdV3q0qqtzv+9c9fzmFnjPK7ZjKZOOefp/LULw8Ql+K/p/shJw8nJSPZ71pjfSNL/1gJQEpGEnXVDa1+0+nZpw2gsrhqu3NM6pTAkz/dR3hk2HafFTcFaiIiIiIiIiIStJbPXG0cO332QuvYPZXk9KSdHv/T/0wxKuC2NWBsH2NPNa9fPviLf5/zDDWVtca1dQs30ejZM23oUQNpqG09UGuvktwypr7xyy4d80CnQE1EREREREREgpLdZmfN3PXg6XZZXlhh3Mvs25nUzKZKMbO17RGKNcxK14GZAORtLODV2yYFfO6TJ6ewes46ACJjmzps/vXFHG48+G7yNhUAsMIn9OvaPz1gE4Qd0XdUL+P4zbs/YMuq7F0ybjBQoCYiIiIiIiIiQWnDki3Ue6q9BoztQ1l+uXGv+9CuZPTpZJzHxG9/vzSvsIhQHvzyDiKiwwGY+tYv/P3tfL9n1sxbz3sPfgqebqOPfjeRh6fcRXR8FADZa/O4dey9bFiymZV/rzHeW/Tr8h3+vds69PSDOe2mCQA01tt48qLnsTUG7h4q/hSoiYiIiIiIiEhQWjmrKajqP7oPVWVNe6L1Ht6dzH7pxnlIeEirY3Uf3AWzxR2z1JTXMvWtX7nuf5ca9/971auUeSrg6qrrePzC53HYHQCcN/EMBh7aj9Enj+Dl+U+S0bczAKX55dx2+P0s/t29f1pkbATzpy0J8PW2MVvMDDligHE+6cFPufjhc43vrVu4iQ///cUOjx9MFKiJiIiIiIiISFDyrfwaOLYvDbWN4GkaEJsYQ2xSDHHJ7kYF9bX1LY4TmxzDc7Me5azbTzauff7Mtxx21iGMPmUEAOWFFTx7zWu4XC5eu/09ctblAdD34J5ceP9Zxntp3Tvw7F//pt8h7uWYtZV11JTXAJDRp/MO/c6UjCRemvcEUxs+4onp9xLmaT5gq7fx0o1v+XUV/ejxL/3+LhKYAjURERERERERCUorZrqDo/CoMNJ6pOJ0uLtjhkaEGs94q9SqS2uM5Zjbqiyu4se3f+WKx84nKj4SAIfdwZMXvcA/Xr+WeE8nz1lT5vH2PZP5/o2fje/e9f7NWEOsfuPFJsXwn58fYNSJB/ldj+8QS+deHf0/bgr820YcP5QOXdx7wJUXVtJtUCZmsxmr1crV/7nQeO7XyTOIT4nlogfOBsDpdPHkxS9QVx24kYK4KVATERERERERkaBTmFVMUXYJeDbn37wsy7gXFRdpHGf2baoKGzC2T4vjffrUFBx2B7e8crVxbc73C3E5nfzjjWuNa588NcU4vvzR80nvlRZwvPDIMB788p+k9266P+e7hVSVVvs9N3L8UD7Y9FKz9yOiwxl4aD8AbA02Ni7datw75frjSclwdzB1uVw8ddnL/N9dpxlVcbkbCnhr4uQWf6soUBMRERERERGRIOS7f9qAMX3YsHSLcR6fGmsc++6j1mdkz2bjhIS5q8uKskr4dfIMjjx3LB27pYInrHrmylcYc8pIjr/sSPc1p7tDZ89h3Tjl+vGtztEaYsUSYvG7VlniH6h16Z9Bhy6pxtJUr6KsYvoe3NTFc9XstX73//nODcbx4t+XU1ZYwV3v3US4Zznot69MY9OyLUhgCtREREREREREJOis2CZQKy9o6vAZk9DU0TOjX1OFWn11PWGRofiyNdiN40+e/BqHw8GNL1xhXJs3dTHlxZWcedtJfsszT7zmWGPfspZUl9ewdWUOACnpiZhMzdd3dh2YAdsEfwDlBRVGxRnA6jnr/O4PO2oQad07uE9c8MyVr9C5Zxrn3XMGeJZ+vnTLO7hcrlbnGKwUqImIiIiIiIhI0NmwZLNx3HdULyqKq4xz373SuvgEalvX5NB7eI9mY2V6nslak8vMr+Yy6oSD/JZU/u+qV/nw0S/BJ5v6/rWfcDgcrc5x07KtRqB1yEkjuGfyLc2eSc1w75PmuzQVoKqshu5DuhAS5u5OumqbQA3gxhcvN44XTFtCWWE5Z912khG0Lfl9BX9+PrvVOQYrBWoiIiIiIiIiEnSyVrkrvxLTEohJiKaypClQi0lsqlBLTk8ylkFuXZXDsZcc0Wws3+6bHz3+FS6Xi+v+d6lxbdY38/j945kAmC3uKGb9ok38+Navrc5x66ps47jLgAyOOHcs2xapvXn3B9RW1ZGxTaBWX9tASGgIvQ7qBkDu+nwqiiv9njn4+INIzXQHcu7g7zVCw0O59r+XGM+8dsck6msbWp1nMFKgJiIiIiIiIiJBpbKkivIid7iU2bcTeJZXevkGamazmQzPM/kbCzjsrFHNll5WV9TQa3h38ARl86ct5rAzDiGpU4L7AZ/KtLNuP9k4fvtfH1FV5r8nmq+s1TnGsTcw23YF5toFG7n/1CdJ657qd91hc+B0Ouk9oqmibtOyrWzr+ueaqtRmf7+AytIqRp88ghHjh4Bnb7hPnvy6xTkGKwVqIiIiIiIiIhJUstbkGsfe6rKailrjWnxKrN/zPYa6q7ycThcbFm2mQ7cUv/v5Gws5b+IZxvnkx74E4JqnLvZ7rs/BPbnisfM58ryx4An23nvg0xbnudVnnpl9O9HYaPO7721YsOT3FUx5eVqz9xvrG0nv3ck4z91Q0OyZsaeOJKmzO/hzOV08e83rmEwmrvvfZcYeb5/8Zwp5m5q/G8wUqImIiIiIiIhIUPGt/PJu5l9XVW9ci+8Q7/f8wEP7GscrZq5h9EnD/e4Xbi1m5IShRhXZ8hmrmTt1EQN83gOIT47FbDZz1ZMXGctIv2mlm6Z3npExESR1SqQsr8zv/pHnjiEiOhyAhT8tNY696qrr6dSzo3Geuz4v4HeuebppiefMr+ZQU1lLZt/OnH7zCQDYGmy8/s/3A74brBSoiYiIiIiIiEhQ8d2bzLucs76mKVBLTPMP1AaMbQrGls9czem3nOh33+VyUbS1mIsfONu49urtk3j/oc/8nps/fTH1tfWkpCc1ddN0OHn51ubdNBvqGijYXGTM0WQyUZxd6vfMqBOH8+9v7jYaD9RV1/vdr62qo1OPDsZ57sbAVWZHnjuWhI7u3+x0unju2tcBuPD+s0joEAfAjC/nsPDnpQHfD0YK1EREREREREQkqPgt+fRUldXXNhrXkjsl+j3fuWdHYxnoqr/X0qFLCpGxEX7P5K7P5/BzxtB/TB/3N1bnMO3d39w3PVuuOexOXrr5HQC/bpqLf1vBvB8X+42XvTbPCNm8cyzZpkJt8OH9GXLEAO7/7HZjeaavhpoGOnRJMRoh5K7Pb/FvcuUTFxrHf3z2N/W19UTFRnLF4xcY19+8+4NmwV+wUqAmIiIiIiIiIkFlq2cpZXhUGCnpSeDZb8wr2bOnmJfJZDKWb1aX17BlZTb9R/f2eyZ3QwEmk4nrfbp7upzu8OngCQcZ1356/w8a6xsJDQ/lyieawqoPH/3CL6zya0jg2eetYGuRcS0kPITEju55HnLScO5676ZmzRLqaxqwhljp2NW951vehoIWA7HjLj6cOE9o6HQ4eeHGtwA49uLD6TnMvYfcuoWbmDt1UcD3g40CNREREREREREJGo0NNvI9Sx8z+nY2Qih7o914Jjo+utl7A8b4LPucsZoJVxztd99b/dVnZE/GnDrSuB4SFsI9H95MdEIUeLpvvnrbJAAOPWMUXQdkALBy1hqW/L7CeC9rtU9Dgn7uQG39ws3GtdhE/zke+X9jufnlK/2u/fzBnwCk9XDvo1ZbVWd0Nw3kskf+zzj+5YO/aKxvxGw2c/6/zjSuf/jI56pSU6AmIiIiIiIiIsGkYHMhTk/lWHrvNOO63eYATzVaIH6NCWat5tAzRmGxNsUqa+atM459Ayd7o53i3DIuvO8s49rUt3/FbrdjNpuNvdTwhFVeORuaGgh4O3X67v2WnO6/LBXgpGuOwxratPTz21em8+M7v9GpR1NjgrwNLS/7PPGqY5uCP7uDl291L08de9pII/hbNXsdi35d3uIYwUKBmoiIiIiIiIgEjfLCpgqtpLSmUMrpdAJgtgaOSnoO60pouHvz/xUzVmM2mxl8+ADj/oYl7k6dm5Zt4e9v5hvXXS4Xr93xHqfffIKx75q90c4bd34IwOHnjKZzL3ewt/i3FSyfubr5PDu5l3YW+iz59A3JfEXHR/md/++qV3DYHcZ5Tiv7qAFc/OA5xvG0d3+nsdHWLPib/OgXrY4RDBSoiYiIiIiIiEjQKC+sMI7jU90dLJ1OJ3iKyqwhzTf3BwgJDaHPwT0ByN9cRHFuKVc+fr5xv7HeRmOjjUkPfmpci4qPBGDe1EXMn7aEc+86zbj37avTsNvtWCwWzpt4unHdG1Z552mxWoiOj6Kupp7K0mrjuZSM5IDzjIzxb5bgdLr4dfJfxnlJblmAt5qcftMJRMW5521vtPP6He/DNsHfkt9XsHzGqlbHOdApUBMRERERERGRoOEfqMU2uxYSFtLiuwPH+uyj9tcqeo/o6ddd8+Wb32bmV3MBSExL4PpnLzfuvXbHJM667STCo8IBsNXbePe+TwA4+oLDjMYB835czJr5G4w5xafGYjKZWDlrjRH6AUbX0W1FesIwAGuoFTzNCbxqymta+/MAcL5PNdoPb/wUMPj7MMir1BSoiYiIiIiIiEjQ8F1K6a1QK84uMa55l3UGMuSIpiWes79fAEBKRpJxbfqkP4zj8yaezrEXjTO6gW5dlcMPr//C2befZDzz9fM/4HQ6sYZYOfcun7Dqkc+NeXrn6NuwACChQ1zAOfrO395oJ617qt/9qrLqAG/5O+v2k4mI9gR/DXbenjgZtgn+5k9bwuq561od50CmQE1EREREREREgkZZgCWfJXlNyyDDIsNafHfw4f2NfdDmfLcQu81OrxHdjPu2Bht4QrYTrjoGk8nEdf+71Lj/3oOfcMqNxxMWEQpAQ10jHzz8GQDHXXoEyZ3de7r9/c18Y98z7xwX/LTUby6JaQkB5xgS4h8Ijjn1YCMcA1g5e/shmNls5ux/nmqcT3l5WsDgb/JjX253rAOVAjURERERERERCRrlRU2BWoJnyWdpfrlxzTd82lZIaAgHn3AQANXlNSz7axXxSc0rxc645URCPUtH+x7ci2MuGgdAVVkN7/7rY067+QTj2c+e+Q6n00loWAjn+IRYXvGpseRvLmTt/A1+15M6Ne/yCWANs/qdr/x7Dbe+drVxvmnpFub9uKjF3+h1wb/OMMLFxrpGJj3g3htu2+Ava03Odsc6EClQExEREREREZGg4btfWpxnH7LyoqZloNtu6r+tMaeMNI5nfT2PqG26agIce8nhfudXPHY+4VHucOr7N35m4GH9CfEszayvqefjJ78GYMKVRzfr0hmfEsefn/3d7BveUGtbIaH+gdqq2esYeFg/v2uPnf8cOevzWv2dZrOZM25tCv6++F9T8HfGLSca16e++Uur4xyoFKiJiIiIiIiISNDw7k0WGRNBWIQ75Kr0CdS2DbS2dfCEoUYn0FnfzDM6YvryNibwSu6cxNX/ucg4f/7a1xh/6ZHG+adPTQEgPDKMYy4c5/dufGocf37ePFCLim3+XVpoqjDvh0VExDRV3lWX1/Dg6U9RV13X6m+99OH/M/Zka6ht4LOnvwFPYOj9G/z03h/YGm2tjnMgUqAmIiIiIiIiIkGjstgdnsUmxzRdK2naqD86IbrV96Piohhy5EAACrcWU1tV2+yZz57+ttm1k649joOOGQRAUXYJdVV1RihVU17L/GmLATjhqqO3edPFmnn+yz1NJlOL8wvZZsknnuAvxvO7zBZ3FLR5RRZPXf4yLper2fNeZrOZk6451jj/+sUfwVM1N/b0g8FT3TdryvwWxzhQKVATERERERERkaBha7TDNt0wfTtfxia2XqEGMPbUpmWfy/9a3ex+9tpcSvPL/K6ZTCZuf/M6o6nBLx/+RfchXYz7kx78BIBug7qQ2iXFuL741+XNxjdbW45zfCvUvM0PFv28zFjKarGYjTn89flsPn7i61Z/6yX//j8jwCvOLjH2TDvhymOMZ3548+dWxzgQKVATERERERERkaDhdDjBp1ILT4WYV6xnX7XWjD5lhHG8dsFG49h3WeVb90xu9l5qZgrX/e8y4zxvU4FxvGbeBupr6wHof0gv4/rK2WubjWMNaV6F5hXqE6h5O4HaGu00ejqQ2hrt3P3+zUZI9s69H7H4t+ahnVdkdAS9hnc3zt+8+0MAhh41kI7dUgFY+NNSv98SDBSoiYiIiIiIiEjQCBSo1frsJZaQ2rxr57aSOyfRe0QP8Owt5nXQ0YOM47++mB3w3fGXHsEhJw0HoKqkhtAIdwDmcrqY/MiXAHQb3FS5VlflDtm69E83rgVa1mncCw81juN8wsGqUncVntlsYvTJI7j4wXPc33W5ePryl6mtank/Ne+zAPN+XITT6cRsNvtVqf341q8tvn8gUqAmIiIiIiIiIkHDG6hZfAI17zUAa2jzTf0DGeOz7NOr76hexpLLuqp6/v5uQbNnTCYTt752DTEJ7qWljXVNG/r/+M6vnrlZmr036sThxrHZ3HKcE+azlDUiJtxY3llTXuN+1/O7z//XGQw+vD8ABVuKeO32SS2OOeqEg4zqO1uDnWnv/g7AcZceYYw37d3fcNgdLY5xoFGgJiIiIiIiIiJBw2FvXqHmu4Sysa6xTeMcduYhza5ZQ6yMPH6ocf7+Q58GfDcpLYGbXrqq2fWyggrWLtzoF/B5jTu76XuB7nuFRDRVqDltTg49Y5T72OluPuD93WazmTvevp7wKHen0x/e/IV5Py5qcdxxZ402jj/zdCVNSktg9MnuoK8kt4w5Pyxs8f0DjQI1EREREREREQkKLpfL6GrpF6iFNlWENdQ1BHx3W+WFFc2umS1mrnziAuN8/cJNfstJfR1x7hgOO6t5KPf2PZMDBmZmn86erQVqvhVqNpuNCVf4dw31/d1p3TpwzdOXGOfPXPmKX4MGX5c/ep5xnLWmqenCBJ9ln1Pf+qXFeR1oFKiJiIiIiIiISFDwDaJaqlBraGOF2p+f/d3smtliJqNPZ1IyksAT4H3w0GcB3zeZTNz80pXEb7Nn2+Jfl+Ow25s9//e3TctHnc5WAjWfCjVbg50BY/qQ2a+z33d9nXj1MQw/bgh4qsxevvWdgOMmdkwgvXcn4/ztf30EwIjxQ0junAjAgmlLWt2L7UCiQE1EREREREREgoKjhUAtxGffNFu9rdl7zcdx8NeXc5pdt3k6aZ507XHGtenv/dHiOPEpcdz66tX+Y9sdLP1zVbNnZ06Zaxy3VqFWV11vHIeEWTGZTH7NA+zb7HNmMpm4/c3riIqLBODn9/9k5tdzCeScO081jv/63N10wWKxGPvJ2RrtzPtxcYtzO5AoUBMRERERERGRoODyqezy3djfGta+CrUVM9dQmude8hiXHGNcXzt/IwDn/PMUI7CrKKpk1Zy1LY419rSDOe7SI/yurfx7jXEcHe9uXrBxyRbjmnc/tEDKiyuN46g497vHXDTOuGZvsNPY4B8apqQncf2zlxnnz177OhU+43iNv/QIo8NobVWd0XTBt0HD39/Ma3FuBxIFaiIiIiIiIiISFELCQjCb3Use62t8KrlCfZoStKFCzXe554CxfY3j5TNW4XK5sFqtDDq0n3H97Xs+anW8m168kq6DMo1zW0PTks9B4/o1e97VSqBWWVxlHHs7icYlxxIW6V4K6nK5mBWgAu3Yiw9n9CkjwLM/3HPXv2HsN+dlNpsZMb6p6cIHD7uXsw4+vL9R4Tbn+4XYbc2XrB5oFKiJiIiIiIiISFAwm81G8FNdXmtcDwnzWfLZ0Hqg5rvcMyQshH6jehn3inNKWT13PQCXP9a0if/SP1e22JwAIDwyjEe+udtvGapX34N7Nbu2bdDlq7q8xjiOSWyqnrNamxov/PBm8+YBJpOJW1+9mpjEaPAs6fz9k1nNnrvqyQuN43ULNlJfW09IaAgHnzDM+H6gJasHGgVqIiIiIiIiIhI0ojxLKGt8gqdQn86YjdtZ8um73HPE+CHUVPoHZT+88TMA/Uf3MRoOOB1OXrjhrVbH7dAlhfPvOaPZ9fCoMDr16OB3rbUKtRqfoDAuJRY8+7L5znPRL8vI3ZDf7N3Ejgnc8vJVxvkLN75Jiee3emX06UxyelPThfcf/hyAMaf4LPuccuAv+1SgJiIiIiIiIiJBw7snWVVZjVHp5ReobadCzXe557izRlNR5L/X2O8fzzSqxC575P+M6799NIPG+tbDuqPOP7TZtey1uYw59WC/ay5aDtRqfYIz7/5ulSVVzZ7zBn/bOvycMRx+zmgAqkqrefW2d5s9c9K1xxrH0975DYCRE4ZhDXFXwc2cMrfVKroDgQI1EREREREREQka0fHuJZ8Ou4P62gbYJlBrbcmn0+n0W+45+pQRlBdV+D1TX9vA1y9MBeCEK48xllA67A5euuWdVuf2zcvTml37dfIMhh410P9iK1lVnc/S0sSO8QCU+4R+Js8ect++Ot1veaivm1680gjjfv9kFitmrfG7f/Yd/k0X1s5fT1RspDHPoqwSNize3Opv3d8pUBMRERERERGRoOFd8onPss+Q8FDjmq2x5Q31Ny/PMpZ7Dj92MFGxkZQXNgVq3pDpy+e+p7bKHWxd8uA5xv3p7/5GY2PgwK6soJwf3/q12fWailq+ev57v26irfGGhABJnRLA02TAq9tAd/OD2so6I/jbVlxyLJc83FRd98o/3sHp0yE1NDSEgT7NGN6cOBnAr5JuZoDGBwcSBWoiIiIiIiIiEjSi45oCNW9jgjCfCjV7Q8uB2pLfVxjHw44eBEB5obv6KyYx2liyWVVazbevTAfg1BsnGI0Q7DYHr93+XsCxP37iayMMi4gO97u3YPpSEtMS/K7Z7YHn6dulNLlzkt8cAUadeFDA4G9bJ1x5NF0HZgCwZt4GfvnwL7/7lz/q03ThjxXY7XajSyjA7O8WBBz3QKFATURERERERESChnfJJz4dMUN9KtTsrVSoLfmjKVAbfHh/8Kn+ik+N47yJZ2AyuZdUfv7fb42A7IJ7zzTem/rmz83CsOKcEr591R3AhUWEcuZtJzb79qZlW/3OG2oD78fmu2Q1oWOc3xwBMvulc/QFh4En+Au0zBTAYrVw3f8uM87fmvghdTX1xvmAsX19lrM6+eq5H0julEiPoV0B2LB4MzUVgZeUHggUqImIiIiIiIhI0IhOiDaOvZv1h0b4LPm0BQ7UnE4nS/9YCUBMQhTdB3ehoa6Bump3yBSfGktm386MO/sQ8IRYU9/8BYAz/3ESETHuqjNbg5037/7Qb+zJj31lBGGnXD+eC+87e7u/w/vdbfkGglar1ZiLlzv4O90I/r7wCf62ddDRg4yqs5LcMj79zxS/+8deNM44nvLijwAMGNMHPB1AV85et93fsb9SoCYiIiIiIiIiQSMlI8k4LthcBEBYZFOg5mh0BHxv8/IsqkqrARg0rj9ms9mvw2d8qrsa7Px7mqrRPn1qCo0NNsxmM+f+81Tj+rcvTzOq1Aq2FDH1TXfHzfCoMM6581QsFovfnGID7J9WVVYdcJ4Oh3uvM++yTpoFarFk9OnM4eeOcd8rquSH1wN3/AS4+qmLje6dnz41hcKtRca9ix861wjmCrYUkbepgIGH9jPur5i5usVx93cK1EREREREREQkaHTq0dE4zl2fD55lll72FirUvNVpAEMOHwBAUXapcS3BE6h1H9yFMaeOBKA4p5Tp7/4OwHn3nEF4VBh49jl77/5PAfjwkS+w29wh3uk3n0B8insc79JJgKqSKkaddJDffGZ6uo1uy+V0twC1WC3GtaIcn3l2cHf+PH/i6ca1T5+eQmN94CWk6b3SOPXGCca835zYVF0XFRtJ9yFdjPO375nMgLF9jHMFaiIiIiIiIiIiB4BOPX0CtY2eQC0yzLjmDbe25bd/2hHu/dOyVucY19J7dzKOz/9XU5XaJ09+hd1mx2w2c8atJxnXv3z+e7LW5jDt3d8AiIyN4KzbTzbu9xjSzTh2ueDQ00ZhsTbFOB89/jXZa3P95lhb3dRgICTUahx75xkZE0FiR3eg1m1QF8ae7u7KWZJbxrR3fgv4uwEuvO8sYpPcVXK/fTSTFbPWGPd8K+8W/bKM1IxkUjOTAVg9Z32LAeX+ToGaiIiIiIiIiASNxI7xhHsCNKNCzWd5ZaDumYH2TwPYuirbeCazX2fjuM+IHow8figA+ZuLmD7pDwAueegcY7+2htpGHjn3fzg9SzTP+sfJxCY2Le3s7BP8Afzy4V/GslKAxvpG7jz2Yb8lmCU+lWghns6lDXUNxtLWjL6djCWaAOffc4Zx/PGTX9NQF3gvtej4KC59+Fzj/NXb3sXpdM/78HPHGMtLK4qrKC+uNKrU6msb2LB4c8Ax93cK1EREREREREQkaJhMJtJ6dAAgf1MhDofDCNgAHAEq1LasyDIaGHj3TwPIWtNUIZbRt7PfOxfce5Zx/M69H1FTUYPZbObUG443rm9csgWAmMRozrj1BL/3O20TqK2eu56I6HC/a0VZJdx57L8pKygHzxJTL29ImLMuH5fLFXCOvYf34OAThgFQuLWYz5/5LuDfDOCEq46h64AMYy6/Tp4BgNlsJr1XmvHclBemMnCs7z5qawKMtv9ToCYiIiIiIiIiQcUbVtltDoqySgiPjjDuOezOZs8vCbB/GsBWz1LK8Kgwkjsn+r0zYEwfDjurqePn+w9/DsDlj51HSFiI37Pn3HEKUXFR/nP0hH5e9TX1xv5ovnLW5XH3+EeoKqumNL/cuB4R5Q7ffKvoMvp0bvb+VU9eZFSYffT4lxRmFTd7Bs+ebNf+9xLj/K2JHxoVbWNPO9i4/tcXs/32UVs+68DcR02BmoiIiIiIiIgElU7dm8Kq3PX5REQ1Vag5Hc0r1LyVZAB9D+kFniWX+RsLAMjo08moWvN1zVMXE+pZevn1C1PZsiobq9XKsKMHGc+YTHDqTROavZvWvYPf8kwCdPaMTnCHcBuXbuFfJz7mt/wz3FPNlrW65So6gK4DMoyquYa6Rt648/1mz3gNP3YIh5w0HDzVcNPecTdcOO3mpvlnrckls386kbHukHLFjNVGhdyBRIGaiIiIiIiIiASVTj2blijmrM8nPKppKWWgCrUtK7OM4y790433nJ6Kscx+6QG/06FLCv931+mecR288o93qa2qZcPiTcYzLhdMffOXZu+GhoeSnO5f9VZbVe93Puyogca+aqtmr+O7134y7kXFRgKwdU1T4wTffd58XfzgOcQlu/dv+/2TWX4NGLZ1ic9eap8+NQW7zU5ixwRiEqMBcDqczP1hEf1H9wagNL+c/E2FLY63v1KgJiIiIiIiIiJBxXd/sqzVOSR0bNrsv6HWf2N+l8vF5hXuQC01M9kIqnw7fAZaSul1zp2n0KFLCgALpi/hP5e8SElumd8z7z/8WcB3t21MYG/0b5hQsKWYJ6bdS3S8u1KtcEvTck1v9Zp3nmaLudkyUuPZ+Cguf+wC4/zlW97BYQ/c7bTn0G6MnDDM8/0ifvtoJgCDx/U3nvnhjZ/oe3Av43zTsq0Bx9qfKVATERERERERkaDSc2hX43jNvPVYrVZjHzFbg39oVZxTSm1lHQBdPJvyA2xd5ROo9e3U4rfCIsK45umLjfOZX88DwBJiwWJ1f7O6rMavusyrx9Burf6OrNU5dB/chUe/n0i4z7JV93dDcDqdZHsaJ3Tq0YGQ0JAWRoLxlx1Br+HdwbOE9Ic3fm7x2fMnnm4cf/TEVzidTk667jjj2oqZa/yq9nz3cTtQKFATERERERERkaASmxRDZ09nynULN9HYYDM6fbpcLipLq4xnvdVpAF37p/tcb6q6CrQ3ma9DzxjF0KMG+l07f+IZHH3hOOP83fs+avZev0N6tzpuXXU9xTml9B/dhyd/uh+L1WLcm/XNfBb9upyGusY2zdFisXDDc5cb5+/c97HR2XRbAw/tx6DD3J08s1bnMPPreYw4dgiWEPf3aypqiYpravSw1aea70ChQE1EREREREREgk7fUT0BsDXY2LhkM1Hxkca99Yua9jjbvNxn/zSfCrWVf68FIDwyjMzthFUmk6lZI4KjLjiUm168wqiMqyiuYvqk3/ze6+eZY2u81V/9D+ntVylXU17Lw2c+ZZz3Ht5ju2MNGNOHYy5yh3xVpdW8e/8nLT57nm+V2uNf4nK56Orz95k7dbHRVEEVaiIiIiIiIiIiB4B+o5qqv1bPWW9s7s82e35t8a1QG5gJQGFWMUVZJeAJ5nwrwwKpKqvmq+d+MM5dLnjlH+8SFhHGEeeOMa6/cdeHfu+lZCSTmJbQ6ti+S0+91Whevk0M+o/p0+o4Xlc8fgERng6h3706nWV/rQr43IjxQ+k5zL0kdd2CjSz4aSnjzh5t3J/34yI6dHXvHZe1OveA6/SpQE1EREREREREgk7fUU2b5q+as5bkzk0dNTct28q8aYtZPmMV6xZuMK57u2Su8lSnAfQfvf2g6p1/fUR5YQUAIWHufczm/rCI71//mZtfvsqoUisvrODz/35rvGcymbZbpeZb/VVVWm0c9xnpX5FWuKVtnTaTOyVy0QPngGf5638ufZHaqrpmz5lMpmZVaqfecLxxnrehwKiYq62qoyS3tE3f318oUBMRERERERGRoNN9cCah4e5wa/Gvy8nf1BQ4zfx6LvdMeJR/jLufjUs91WomuHrw7Txzxcss/XOl8eyAsX1b/c786Uv49tXpAIRHhXHLK1cZ9167fRLlhRUce/HhxrV37v2Ixkabcd53VOv7qPnuT1ZX3VSR9vCUu/yee+bKV/nif9+1OpbXGbeewMBD3b8rf1Mhr/zj3YDPjT39YDL6uEOzpX+sZNOyrSR0jAdPGOdy+sxz1YG1j5oCNREREREREREJKmUF5fz49m+ERoQCUJpf7rfMs6GmoflLLne49OM7v7Hw52XG5X6H9Gr+rEdFcSVPXfqicX75o+cz/tIjOfHqYwGor23gyYtf4KaXriDMM5fGehvPXv0aLpeLH9/+hZWz17T6W7I8gZrdbsdhc4CnCs4IAn28evsk3rjzfZxOZ7N7viwWC3dOutFY+vnj278ya8q8gM+de9dpxvnHT3zFQT57xfmGlArURERERERERET2U/mbC7m83608f/0bVJfVBHzGEtrynmjRCVHkrM8DoEv/dGISogM+53K5+O9Vr1KaXw7AiPFDOO2mCQBc8/RFdOrZEYBVs9fx+dPfccUTFxjv/vTeH5wSexHPXPkqf0+Z3+rvKSuooKqsmqzVuca1yNgIVs5qCuIOPWOUcfzp09/w5MUvUF8bIDT0kdatA9f7dP3839WvUlZQ3uy5o84/lJSMJADmfL+Q4ccNNu4Vbi0yjg+0Tp8K1EREREREREQkaBRllVBdHjhI83LaW95Af8LlR+Fyuu8PaGWj/6lv/mJUdcUlx3DH2zcYXS8joiO4672bMJvd5+8//Bn9R/choWNTY4T6QFVyLdi6Kod1C5r2eotPiWXFrNXG+bXPXOLeq83zvV8nz+Dm0feQvTY34Hhe4y89grGnjQSgvKiS/179Ki6Xiy0rs/jryznYbXZCQkM4545TjXfm/rDIWErbWN+0dDVr9YHV6VOBmoiIiIiIiIgEjYGH9uXoCw5r9Rlbo42DjhnU7PqAsX2IiosyzlvqnJm9Ntdv37Hb3riOpG26dfY/pDfnTTwDAIfdwcTjH6Esv6Ldv8f7vc3Lm7qRJnVOZNXsdQAkd04kNTOZk689jvs+u53wqDDwNF64YeTd/Pn53y2OazKZuPW1a4wOqLO/XcCj5z/L1UPu4OGznubzZ9wNFI6/4ijiU2IB+PPz2WT2TzfG8IZr2Wvzdui37asUqImIiIiIiIhI0DCZTNzx9vUccvLwFp9xOV0ctU3oZraYueWVq/32NAtUoWa32Xn8wueNJZUnXnUMY04dGfA7F95/Fr2Gd4dtOnS2V3F2KdnrmgKr6LhIo0FB/zF9jMq4Q08fxYtzHje6ldZW1fHvc/7Lq7e9i91mDzh2fEoct71xrXH+xyezcDrce7D9/a17OWp4ZBgnXuPeF87pcJLYId543vtsaV4ZDrtjh3/jvkaBmoiIiIiIiIgEFWuIlfs+uY0hRwzwv2FqOuyYmYI11Gqcn3j1MXTulcbSP9wdPhM6xNG5V1qzsd978FPWzncvv0zvncY1/72kxXlYrBYOPuGg7c7XG4i1pCi7hKKtJca5zdYUXA06tJ/fs136Z/DinMc58ryxxrUvnv2e2498kOKcEgLpPaIH8amxza6vW7CRxgb3ss4Trz4Ws8UdM61ftMl4xu6Zi9PpMvaTOxAoUBMRERERERGRoBMaHsrDU+4io29n45rF2tSMYMvqHEad6A67wiLDuOo/F7Fi5mpjb7Phxw1pFnQt/XMlHz/xtTHWxA9vISIqvMU5vP/QZ3z478+3O9e0Hqmt3i/JLaWssCmsKsoqNo5HjB/S7PmI6AgmfnALN714JdYQ929eOWsN1x10Jwt/Xur3bGl+GTeMvIvywspm49ga7UZ4lpKexGhP1V9pfjmxyTHNni/KDhzY7Y8UqImIiIiIiIhIUIqMieCZ3x8kKj4SgA5dkgmLjyLtkL7ku8yc+eI13DXjMZ5a/QL1Zgvzpy0x3h05fqjfWBXFlTx58Qu4XO6GBZc8dC69h/do9fvfvTa9TfOsLK7i3LvcG/9HRIdjspiJ75FGtxNG0Pe8cYT070KHI4eQNqo3oXGRbFq6BYCO3VIDVtHhqXo75frx/O+vf5OamQyexgN3j3+EDx/5AqfTid1m56nLXqYkt6zFufl2Ez35uvHGcUioldC4SNJG9ab32YfS/8Ij2VDZwIbiGspqG3G6Wm78sD8wuVz7+S/YCZWVlcTFxVFRUUFsbPPSRRERERERERE58FU12FiVU8GKLaWYYyJafM7RYCNvzhrWffk3//vyNhJS3XuFORwO7pnwKAt/XgbAoHH9eOqXB7BYLC2OBfDdaz/x2u2TjP3WWhIaHsK3NR+yqbCSjeUNbC2qwhoe2vLvyS5m09QFdI0J5aanL97Or4fKkiqeuPgF5k1dZFwbOWEYPYd25aPHv2r13YOOHsSTP90PgNPp5Nox9xIzpDvdJgwnJj25xfcsZhMdo8PokxpN57hwzNtZ1rqvUaCmQE1EREREREQkKNXZHMzLKmdzaS3tDUdiwqyMSI8nMyGCt+6ZzMdPuIOn+NQ4XlnwJMmdk9o0TmVJFd++Op0pL06lrMC/y2d4VBiN9TaueO8WzAO6UtPYzk39XS66J0cxMj2e8JDWwz2n08lHj33FpAc+oaWoqP/o3qz8e63ftZAwKz/UfUS9zcH87HI2FNdAO8OxqFALI9Lj6ZoY2a739iYFagrURERERERERILOxpIa5m4tp8HThXJHRdfU8vZpj9FYUYvZYuY/P9/PkMMHtOFNf431jfw6eQaTHviE4pxSAK5+7nJSThjJlrK6nZpjuNXMIV0S6JKw/cBq4c9Leez8Z6kormp2r/vgLtz9/s188dx3TH/nd1wuFxEx4byw+TVmbymj3r5zf8suCRGMykwgYjvh375AgZoCNREREREREZGg4XK5WJhTwfL85oHRjqrKKubnG1/hojtO4cx/nLRTYzmdTqZP+p16lwn7iD7tr0prxZC0WIZ0it1u19AP/v0Zkx74NOC9m1+6kpOvG0/B1mK+e3U6Pc89jM22XTZFokItHNc7hdjwkF036G6gQE2BmoiIiIiIiEhQcLlcLMiuYEXBrgvTvOyVNZw7tgfRYYGDIKfTyQcPf86Pb//KuXedxqk3HN/iWFUNdqauLqTOtuvCNK/BabEM6xzX4v2K4kou7Hp9i/u6hYaH8P7Gl0jsmMDinAqW5DXv/rmzIkIsTOibSkyYdZePvauoy6eIiIiIiIiIBIUNJbW7JUwDsMZG8duGEpzO5nVLtkYb/7nkRd5/+DOKskt48+4PsDU2L+tyOBzkbSnkhyXZuyVMA1iaV8nKrSUt3s/fXNRqk4TGehvPXPkqm0prd0uYhmdvu1/XFeEI8LfcV+y7UZ+IiIiIiIiIyC5S02hnblbZbv1Gaa2NZfmVDOnUVAFWW1XHQ2c+ZXQABaivaeC9Bz8jNDyEgs1FFGwpJH9zEUVZJQy6+ngGXnr0bp3nX2sLeeToB0lJjaVz7zTSe3UivXcanXulkdG3E9f991LmT19MUVYJhVnF1Fb67+EWlRrHnK27929ZXm9nSW4FB6XH79bv7Cgt+dSSTxEREREREZED3q/ri8gqr+f8YZ0pqW0EYFleFbmV9QCkRocyoW8HPl6cQ8NObK5vNsHJ/TsSHxFCaX4Z90x4lA1LtrTp3YRenZjw3m1cOCKj2RyTo0IZ1ikOkwlyKup3utJu8/RFzLj3/YD3UtKT6Nw7jb4jezJoXH+6DsygtrKO9Ys2UVtZS+xxw9lS7v67Bfp7jsqMJzEyFBOwIKeCgqqWK95aYwJO6t+BxMjQnfilu4cq1ERERERERETkgFZeZyPLEwBVNzqYtqao2TP9O8RQXNO4099yumBVQRWdamu5YeRdNNS1bcyYhCgOvvEkzBZzszmaTe6GAr9uKN5lyyC7HDOURS99R01e80qzouwSirJLWPzrcj5+8mvMZhM9hnZl0GH96XvkQCNMI8DfMybMSlx4CFNXFxIZYmFc90R+DPD3bgsXsKKgisO6Je3gr9x9FKiJiIiIiIiIyAFtbVG1cRwVYuH4PinUNDqYu7WcBoeT9LhwCqsbyIjfNVvNbyyt5ffnp7Qeppngzkk30mNwVzp0ScYSGc5nS3NxuprPMT4iBLvTxRE9kjBjYn52OWV1O9da02Q2MXHGYyRXVpO9No+cdXlkr8slZ20e2WvzqCxpqoBzOl2sW7iJdQs3MdQOAy/pYNzbdq71Ngd2pwsTEGo1U9/Oar9TB3RkQXY52RXu0G5zaS0j0+MJD7Hs1O/d1RSoiYiIiIiIiMgBy+VysaGk1jj/cnkeDXYnPZOiGNY5jtlby+iTGs1v64vJiI/we3d8nxRSosJw+uyWtSC7gjU+AV0gdqeLMdeOZ8Zns2hsKVRzQXxyLN0HdwFgdWEV3uKzbedYUN1AfEQI368qICrUwuguify4ptAYKjU6lEFpsaREhWECqhvtbCytZVVB05iBbKls4ODBXegxpGuzeyV5ZSyfsZplf65k2V+r2LRsKy6Xi+4njPB7LtDfs6bRzukD07CYTfy2odjv75kaHcZ3KwuMQDDEYuL8Yel8vjSXmkYHU1bk+43vdMHmslr6psa0+jff0/bbQO3xxx/nyy+/ZPXq1URERDBmzBiefPJJ+vTps7enJiIiIiIiIiL7iMoGO42Opiop7/5om8pq6Z0SRffESLLK61oMnhZkl7OqsPUALZDQtES+r/mQ4txS1i3YyLoFG1m7YAPrFmykNL+cmMRoMvp2Np4v8lluuu0ct5bXUVjdgN3poqLeTqjFZDybHhfOuO5JLMqpYMamUhrsTmLDrQzqGEtEiIWaxpa7hdbZnNTaHESFNo+HktISOPzs0Rx+9mgAKkurWPz3OjalxPk9t+1cO8WGEWa18OXyPCJCzBzdM4XvVhUYzzfanRzUOY5f1hfTVrtiKe6utt8Gan/88Qc33HADI0eOxG63c88993DcccexcuVKoqKi9vb0RERERERERGQfUOITxljNJhxOFy6gY3QYlQ124iNCSIoKJTM+goSIEMZ1S+Knddvf88tqNjE8PY70uAgsZhO5FfXMySrD5nD5fTe5UyLJnRIZfXJTZVdZYQWRMeGERYQ1m2egORbXNDA4zV2hFW414/AJ/w7OTGB5fpVf6FdZb2fm5lLjPNxqZlRmAh1jwrA7XWwsrWVxTgUuz3cDBWrbik2MocuYvmzaUNLq3xNMRshmc7iwmk1+46wpqqZfagwdosMoqG7erODMQWnMzSonq7yps6gCtV3oxx9/9Dt/9913SU1NZcGCBYwbN26vzUtERERERERE9h0V9XbjODbcypiuidgcTpxOmLWl1K+Ca3yfFP7cVNLCSP7Gdk3E6XLxzcp8XC4Y0yWBUZkJzNhU2uy720pI9a/ycrlcVHqeDzTHRoeL9cW1HN8nFbMJ5meVu58NsxITZmVTaU2rcx3XPYk6m4MvluURZjVzTK8U7A4ny/KrWp3ntiq3eTbQXGsbHXRPiuT4PqlYzCaW5FX6vdNgd7Isv5KD0uOYurqQtqist+NyuTCZTG14es/YbwO1bVVUVACQmJjY4jMNDQ00NDSln5WVlS0+KyIiIiIiIiL7P7vPWs7SWhvfrSxo8dlA3T8PSo9jaKemAOyzpblYzCYyEyL4ZHGOUZG2KLeSUwd0ZOamUlye77Y1BHK63B0tW5vj+pIa1pf4B2dhIe4mCq0t64wMsZAWG84ni3OwO13YGx0szatkSKdYluVX+f19tmfbZ1uaqzdUbMmqgmr6pUaTER9BflV9q8/i6fbpdIFl38nTDoxAzel0cuuttzJ27FgGDhzY4nOPP/44Dz300B6dm4iIiIiIiIjsPeadDGEWZlc020MtLjwEs8nEmYM6NXs+IsRCrc2ByUSbK6p2tPCqweZeWhkVaqGqIXCoFhlqwe50+nXbrGqwE+Xpmtmeb++qPMvhcrE4t5KDOsfx4+rmyz4DfnsfCtM4UAK1G264geXLlzNjxoxWn5s4cSK33XabcV5ZWUlGRsYemKGIiIiIiIiI7A2hFvMuH7Om0Y7T5eLTpbk4WqjwCmvHd80mE1azqV3VYngaLlQ12OmaGMmyvKqAz9Q2OrCazYRbzUaoFh1qocbmaPc8w6y77m+5vriGAR1i6JEcud1nrWYT5n0sUdv1/1ftYTfeeCPfffcdv/32G+np6a0+GxYWRmxsrN8/ERERERERETlwJUaG7PIx6+1OssrrGJUZb4RM4VYzmfERPt8N3SPznLu1jEEdY+mbGm2EY7FhVsZ0SSAq1F0tl1dZz4iMeKxmE1GhFganxbLBs3zUd575mwv5+ImvmPbub2xatgWH3b/qLWEX/i1dwMKcCgZ13H42096/5Z6w31aouVwubrrpJr766it+//13unXrtrenJCIiIiIiIiL7mKTdFMbM2FTK0E5xnNivA2FWM/U2B5tLa9nq6U4575MZbCirYNC4/gw6rB+xSTHbnWdhdfu7WWZX1PPzuiIGp8UyzLPXW3WjnY0ltdR5qtD+3FjCqMwEzhyUhsPlYmNJLcvz3RVtvkHe05e/zJLfVxjnYRGhdB/ShfQ+nUhKS+TkG49v9/xas7W8joEdYwj3LD9tSXLUrg9Fd5bJ5XK1r55wH3H99dczefJkpkyZQp8+fYzrcXFxREREtPquV2VlJXFxcVRUVKhaTUREREREROQA9c2KfMrqbHv0mz/f8Ar589YZ510HZDDosH70ObgnGX06kd67k1/IllVex6/ri/foHJOjQjmxXwfj/I6jHvQL1LYVFRfJVbP+Q3FN+4O/nXFUz2Qy4tuW9ewp+22g1tLGfu+88w6XXnppm8ZQoCYiIiIiIiJy4FtdWM2crWV77Ht1+WV8ceojsJ3IJSYhis69O5HeO43OvTvB0QfhsO65xYQZ9XXY1udQsLmI/C2FLP1jJQWbm3c69QoND+W5ra8zc3PrXTx3pahQC2cMStvn9lDbbwO1XUGBmoiIiIiIiMiBz+Zw8tmSXGzt3PR/R41IjycjFJbPWM2yP1ex7K+VrFu4CafD2ep7Ay87hqHXnbBH5thQUcOXJz2Mo6FtlXsR0eE8POUuBh7en8+X5NGwnd+yqwzrFMfgTvteZrPf7qEmIiIiIiIiItIWIRYzg9NiWZBTsdu/FR1m4ft/fcDSX5fR66Bu9BjajZOvG09sUgwVxZVUFlWRv7mQ7HV55KzLo3Br0zLPNZ/OoNcZo4nqkLDb57n0jWkBwzSTycS2tVcZfTrx+I/30qFLCgBDOsUyN6t8t88xMsRC39To3f6dHaEKNVWoiYiIiIiIiBzwnC4XU1cX7vb9vw5OCOXmXje2eD80PISbX76K8ZceCUB9bQN5G/LJXptH9to8CuttxJ88erfOsXJtDqVfzqBDlxQ6dk2lQ9cUOnZNIbVLCv+7+lX++PRv49n+o3vz72/u9tvvzeVyMW1NEQXVDbt1nsf0SqZz3L61d5qXAjUFaiIiIiIiIiJBoaLOxverC7A5dk8UMqBDDMM6xXBq7MU01LUc3I068SAe+XZii/dnbyljTVH1bpljmMXMCf06EBseeNHir5P/4vELnwdg9CkjuGfyrYRHhjV7rqrBzncrC2jcTUs/+6ZGMypz91fq7Sgt+RQRERERERGRoBAXEYLtj6XYhvUiJCp8l47dIymS4elxmEwm7v7gZh468+kWnz3+8qNaHatXqIvf/lxOp3EDd+kcQywmju6V3GKYBnDkeYdSVVaD2WLmhCuPxmK1BHwuJsyK6+/lNPbvRmj0rq0i65oYyciM+F065q5m3tsTEBERERERERHZE2Z/t4APbnuHn294lbriyl02btdIC29OeIhrh/2TFX+vYexpBzNywrCAz8Ylx9DvkN4tjmW32Xn0vGf57c53WPP5zF02x8gQC3XT53Njn5t4+R/vUFddF/A5k8nEqTccz8nXHtdimAaw4KclTLr5LX669mVqCnZdB9U+KVEc1i1xn+vquS0FaiIiIiIiIiJywMtZn8cTF7mXMpas3Er8yk10T4zcqTGjQi0c0yuFOf/5kpy1eWxcuoVbx97LP49+iDGnjMAa0jyQqiiu4vrhd7LkjxUBx3zjzg9Y9ucqXE4Xmz78jYOTI4gI2bn4plt8OCMiXHx230eU5pXx1XM/8H/p1/DWxA8pzi1t93gFW4p47PzncDpdlK3NIXrxenomRe3UHCNCzBzdM5lDuuz7YRraQ017qImIiIiIiIgc6OprG7h59D1sWrYVgMPOHMV9n96OyWQip6KOX+dsxJnY9lygtqiCod1TGN4zhVCLma9fnMpLN7/d7LmYxGiqSpv2QotOiKK6rAYAs9nEZY+ez7l3norJEyD9/slMHj3vWQCsIRae+eNh+h/Smwa7kxX5FcxbmUd4Ykyz77Skc1w4meEWbuhyDQAmE2ybAllDLBx5/qGcffspdBuYud0xGxts3HrovaxbsBE8+8E9POUuzGYzeZX1/Dp3I7bYKEzmtoWAESFmeiVH079DDGHW/afua/+ZqYiIiIiIiIjIDnj9n+8bYVpG387c8fYNRojVOS6C5U9/wZQzH2PJ6z+SZIHwbYIdR6OdkpVb2fjtXP648x2+OuXfrP3od0It7ucOPWNUwO/6hmmjTjyIt1Y+y7CjBwHgdLp4a+KHPHD6f6guryF/cyH/u+Y14/nrn7uc/p6loWFWM5G5xXx50sP8OXESW6ctoGRVFg6b3e97tUUVZP+5nIJpCyib/CvRa7aQNaOpEi5QSZXd5uCnSX9ww4i7WD133Xb/lu/86yMjTOvUowN3vXcTZk94lhYbzuoXvmHKGY+x+NUfSMDZrLrOYbNTsiqL9VNmk5hbSP4bU+mXGL5fhWmoQk0VaiIiIiIiIiIHstnfLeC+U54AICwilJfmP0mXfunG/bqaes5Mugxbo53UzGQ+2PQyxdnFPHPN6+RsLKQktxR7XSOubbpZWqwWvql8j9DwUAAu6HodhVuLA84hNTOZd9c+T0hoCA6Hg/cf+owPH/nCuJ/WPZXI2Eg2LN4MwNEXHMZd791khH4A7z/8Ge89+CkAyelJFGeXYLKYSemeSkVhFY5GG3ZPZ1GzxYzTM98bXriMl256p01/q3s//geHnzOmxfsLf17KXcf9G4CQUCsvzHmcHkO6GvdtjTbOSLqM+poG4lPj+CT3dSqLK3ni8lfofXBPLrznTM5IuJiGmga/cTv3SuONZc8QEhrSpnnuC/av+E9EREREREREpI3KCsp55oqXjfNrnrnEL0wDWPrHSmyN7kqvkeOHAvDPYx5mwY+LyV+bi626vlmYBuCwO7jnhMdwOt33+o8O3GggsWM8939+hxEWWSwWLn34/3j0+3uISYwGIG9joRGmdeiSzE0vXuEXpgHMn77EOLY32gBwOZwUrsunoaLGCNMAI0wDeO3299v0tzr+siM59MzAlXYAlSVV/OfSF43zKx6/wC9MA1gxcw31nrBsxPghmM1m/nnMv1nww0I+evBTVv+9mvDIsGZj56zL48mLX8DhcLRprvsCBWoiIiIiIiIicsBxuVw8fcXLlBe5u3kecvJwTrrm2GbPLfxpqXE8fPxQZn49l5x1+W36xpLfV/DKre/icrla7Nx5wb1n0WdEj2bXD54wjFcW/IfM/v4BX5f+GVhCrH7XaiprWT17LQCZ/TpTV1XfpvkB2Bvt230moWM8N754BRZL4K6eLpeLZ699jZJcdzfPg44ZxOm3nNDsuQU+f8sRxw1l3o+L2Lx8q3Htx7d+JS4p8B5wf3z6N89d+wb7y0JKBWoiIiIiIiIicsD59pXpzP1hEQDxqXHc9sZ1zaq+AFbMWm0c9x7ePWBzgdZ8/eJUJj3wSYsVau/c+xHFOSUB78UmRWNrsPldmzt1EbeM+RfZ6/KMa6vnrMPpdAdNQ44YSINPNdquUJZfzjv/+qjF+9Pe/Z2/vpgDnkYL/3z3RmPfNF++f8u+h/Ti+Rve9Lv/9zfziU+Na/E7U9/6hdf/+f5+EaopUBMRERERERGRA8qWlVm8dsck4/yf79xAQoAgp762gfWL3EstM/t15qvnvqc4pzTgmNZQa8DrAB8+8gWblm5l1IkHERkbwbXPXMLh57r3Iqsur+Gpy182lob6euUfk8jbUACeDf7Do9zLITcu3cKNB9/N0j9XArBy1lrjnZTM5Db/HbbnzNtOJCTMvRT1i2e/Z+Evy5o9k7M+j5dufss4v+2Na0nulNjsObvNzpq56wHo2DWFaW//Sv6mQr9nqstrcG4nLPv8v9/yzcvTdvg37SkK1ERERERERETkgNHYYOPxC5+nsd5d+XXqDcdz8IRhAZ9dO38DDrt736703p346vkfWhw3JiGq1e/+/tksHvl2Il+WvMOZ/ziJm1+6kuTO7uBp4U9L+eYl/5BoxldzmPrWLwCER4Xx2NR/8eLcJ8js1xmAmopa7h7/CDO+msNyn8qvGV/+3ca/xPbVVzdwxWPnG+dPX/YS1eU1xrndZueJi14w9kU7/vKjOPT0wPusbVi82fibdxmQwWdPfxPwueLswNV6vn7/ZGa7f8uepkBNRERERERERA4Yk+772Njgv0v/dK76z4UtPrty1hrjOH9TobGsMpBAy0W9ouIiOe/u08HTdAAgNjGGO96+3njmjbveZ+vqHACKc0v571WvGvdueO5yOvdMo0u/dF6c8zgjPQGgrcHGv89+hmV/rgIgLjmGtfM2tuGvEFhsUjRn33Gycf7Dm79wxHljGHrkAACKskt40aca7cNHvmD1nHUAdOrZkeufvbTFsVf4/C2Lc0qx2wI3GNi2am1bHbqkcP6/zmzHr9o7FKiJiIiIiIiIyAFh2V+r+OyZbwEICbVy9wc3ExbRvKukl28I5F1u2ZKq8uoW79ltDroNymx2ffixQzjtpgkANNbbeOKi57E12vjvla9QVeoe77AzRzH+siONdyKiI3j46zs59pLDAXA6XcY+a10DfKMtOnRNYUrFe3xR9A5X/+diEjq4l7+6nC4ePfdZ/vnODUTFRQLwywd/8cens1g9dx2TH/0CALPFzMQPbiYiOqLFb/j+LSNjW35uW7455bXPXML7G18yuq3uyxSoiYiIiIiIiMh+z26z8/z1TV0iL3v0fHoO7dbi8y6XywiBYpNieOjrO7nhucsZOLav8UxqZrKxd5qt3k5S54SAYzXUNrS4XPTKJy4go697Gee6BRt5/ILnmPfjYgCSOiVw66vXNKt+s4ZY+efbN3Dunaf6XbfV2+g6KMPvWmh4iLG0dFvecYu2FmMyN33jzndvNI6X/bWK0oIKbnrxSuPas9e+xn+vetWo2Lv4gXPoe3CvgN/A+7ec6V6WGhEdzn2f3saNL1zB4MMHGM+kZCSR0CGOPiObOp6aLWbufO8m47wkt7TVSsB9SZsDteuuu47p06fv3tmIiIiIiIiIiOyAr577gc0rsgDoM7IHZ9x6QqvPZ6/NNarE+o/pTXxKHKfdNIHkjCTjmcd+uIeTrjnWOB84tl/zgTz5z5QXf6SmsrbZ7bCIMO5+/yYsVvdSUG+3TICbXryS2KSYgPMzmUxc+cSF9Bre3bi28u+15G/0XzI58vihvLXy2YBjeMNFp9PFugVNS0VHjB9Kz2FNYeN/r3yFo84/lHFnjwaguryWTcu2AtB9cBf+7+7TAo7vVZRVTEluGQB9R/UiITWeU284nrRuqcYzD375Tz7Ne5MX5zxhhJROh5NhRw8ynlnlWV66P2hzoPbaa69x4okn8vrrr+/eGYmIiIiIiIiItENhVjHvPfQpeIKom1++ytjLrCUrZjYtURwwpqkqbfNyd5BkDbHQuVcamZ7qMoBug7s0G8fqCcqqy2v47tWfAn6r9/AeXHCv/75gB08YxphTR273t3lDPy9vgwCvLv0ziIyJaLFKzWvVbP+w6p7JtxjHm5ZtZcOSzdzy8lXEJfsHfDe9dKURBrZkud/fso9xvHmF+29pMpnI7JduXI+IDvf5PfWkde8Ango+u83e6rf2Fe1a8hkaGsp1113HI4880upzP/30E5dddtnOzk1EREREREREZLteve1dI2g66drj6D28x3bf8d3zyxsC2W12stfkgqfrpzXE6hcElReUEx3v3+3TbnMYyxS/+N+3NNT5B15eo04a7nc+csKw7S5vLM0vMzbx7zowwy+I8uoywL0E1NsdtCWr5qz1O8/o09lv+eUzV7xCbFIMnXt1Mq5FxUXS9+CerY7LNs0d+nv+lk6nky0rswHo2C2V8MimPepiE6ON4w2LNtN3lPsbDXWNRmXcvq5dgdrTTz/NuHHjeOCBB7jllltafK6wsJD33ntvV8xPRERERERERKRF835cZCyjjE+N47JH/q9N73kr0Uwmk7GsMmd9vtGdsuvA5kHV1tU5DBjbp9lYvUa43y8rqGDaO783u+9yuXjl1nf8rn361BTqawOHb16+4dLwY4fw9G8PNnsm0hOyZfZNb3bP16rZ64wloF63v9XUhXT9ok1Me/c3Vv7dFI7VVNTyzUvTWh0XYNPypnl6Q7rCrcVGyNllgP/cEjrGG8ebV2TRb1Rvv3nuD9oVqMXFxTFt2jROO+00XnjhBc4//3zs9v2jFE9EREREREREDiyN9Y28eNNbxvnVT11ETEJ0q+/gCbi2rs4BoEOXZKN6aotnDzY8SynxhHQxCe6qtKxVOZx4zXHNxkvNSDaOP31qSrNliz+99wfLZ7g37Q+LDAWgKKuET578utV5Zq3ONY4z+6W7K++2KWp77vo3KNhStN0KtdK8MoqyS/yudRuYSY+hXY3z5294s9l7kx78hLLCiu3M0/23jE+NIzbRvWTU92/Ztb9/I4XUzKa/V+76fPqOamp4sG0l3b6q3V0+Q0ND+eyzz7jyyiv5+OOPOemkk6itbb7pnoiIiIiIiIjI7vTJk1PI3VAAwKBx/TjmwnFteq80v5zayjoAMnyWdG5ZkW0ce5dSmkwm45mi7BL6j+6Fxeofp5QXVnDwCcMAKNhSxG8fzTTuVZVV88ad7xvnNzx/ubEn2Sf/mULepoIW5+kN/fCtlPMvMqM4p5Q7j32Y+A5x2/3d3iWYvm578zrjuLGuEYC+B/dk/KVHAFBbWcfb90xuccyqsmrKCir85whsDvC39Orcs6NxXLi1mB5Du2L2dCENNMd9UbsDNQCz2czrr7/OxIkTmT59OkcddRQlJSVteFNEREREREREZOflbsjnoye+AsBitXDTi1dud08yryzfoKpP055hm1Y0LV3s6rNMsbdPp801czeQ0de/Gix3QwHnTTzDOP/oia9wONxLR9/510eUF1UCcNhZhzDh8qM54xZ3B1Jbg43X//k+Lcla4zPPvp2pr633u+/dUy13fT6T7v9ku787b0Pz8K73Qd1J75Xmd+2ml67kiscvIDI2AoBp7/zGmnnrW5hjUxVdRh/fQM3nbznQP1CLS441jutrGwgNCzGq1nLX5zdbmrov2qFAzevRRx/l2WefZd68eRx22GFkZ+8fKaKIiIiIiIiI7N9eue1dbA02AM689US6Dcxs87tbVzUFVb7h2KalWwAICQuhU4+mKqqBh/YzjpfPWMVhZx7iN15pXhk9hnZl0Dj3c1mrc5j2zu9sWLKZ715zd/4Mjwrjuv9eCsAF951FgqeibMaXc1j489JW5xmXHENsUgwlOWV+9ydccbQRRG1ZmW0sJ/UKjwrzO89dnxfwOykZSX7ncckxJHSI5+IHzgHPEtmXbnkbp9PZ4hzZpkJto+dvaTab/DqlAoT6NChwePasS/P8vWsqapt1Nt0X7VSgBnDzzTfzwQcfsGHDBsaOHcvq1at3zcxERERERERERAJYOXsts79dAEBy50QuvP+sdr3vW6HmDdTKCsrJXusOnHoO62osywT8GhGsmLWG026a0GzMvA0FXPbv84zzd+79iLcmfmhUW110/9mkpLuDq6jYSK584kLj2ZduebvZvms1FTWU5pX5zbE4p9TvmWFHD+LJn+43wrmG2ka/+92HdPE7z9mQ32ze6xdvYtGvy/2uPXXZywCceuPxRki2avY6fn7/z2bvB/pbVpfXsGmpu0Kt68BMQsNbDvq8v9s3wMxZ33ye+5o2B2rJyckt3jvvvPP45ptvKC0t5dBDD2X27Nm7an4iIiIiIiIiIn4mPdC0vPHC+84iIjqiXe9vXdO8qmrpHyuNa0OOGOj3fHKnRDp2TQFg9Zx1RESHE5cS6/dM7oZ8Bh3Wj3FnjwbPvmrzflwMQEp6UrMQ7piLxhmb8W9dlcOvk2f43fddSumt8PIGbF6DDutLeq80npx+n9E4wdchJw33Ow+05PO9Bz9tdm3JHysoyi7BGmLl+mcvM66//9CnzYK/bZelAiz7a5URJA45YkCz8cN9Kum8FWq++6rlBQj+9jVtDtQKCws599xzW7w/fvx4fv75Z0wmEy+//PKump+IiIiIiIiIiGHZX6tY+JN7iWRa9w6Mv+zIdo+R5VmmGJMYbeznteT3Fcb9QCHQgEP7AtBYb2P9os0MPdI/dMv1VFVd+cQFhISF+N07/19nNqvSMpvNXPPURcb5R49/aey7RgvLUnM2NgVNYVFhRMW5Q7Rug7rw6A//IizSf4ln/0N6YzI37SuXvS7Pb9nmmnnr+fub+eCp9Evr3sF9wwXPXPkKAMOPHcKI8UMAyN9cxC8f/uX3De88wyPDjKWj2/tb+s7TYfcu+exgXDugKtQALBZLq/dHjRrFn3/+SefOrbdqFRERERERERFpL5fLxTv3fWScX3jfWVhDrO0ao7aqjqJsd2PFjL6djUYGS/5wh0AWq4UBY3o3e2/AmL7G8YqZqzn1xuP97nu7jaZ168C4s5r2WAuLDGP8ZUcEnMvAQ/sZgVP22jz+/KxpxV+gpZQbFm02rsUlxfiN1W9ULx759m6/ax8/NYVOPkGVw+agJLepys230u/8f53Jza9cZZwv/GkppfnuZy+4t2lJ7UePNzVcaGywkbfR/bvT+3TCbHbHTEs9f0uTyWTsK+cr3CdQs9vdAZ9fhdrGljuf7it2eg+1bfXr149ly5bx448/7uqhRURERERERCSILfplGcv+XAVAeu80jr7gsHaPUbi12Dju3Msd4pQVlBuVVr1HdA+4hHSgzz5qy2euZtCh/QiLCPW75lXg842G2gZWzlrb4nwuuPdM43jyY18YFWT5W4p85unuwum7DNS7H5uvoUcOJDSiqTpu/tTFxKfG+T3jraRbPnO1sSS1Y9cUjr/8SEYcO4QOXdxLW10uF/+96lXPb+/L0CPdwV/Oujz++PRvAEpySnE6PIGY529ZXV7Dek/w121QJrGJ/sEf2+yh5vRUqHXsfgBXqLVVXFwcxx577O4YWkRERERERESCkMvl4t37PzbOL3rgHL/GAW1VXlhhHCd2iIdt9087vPkSRYAuAzKIiosEYMXMNbhcLsacOtK4n7PWHXYt+nUZy/9a5ffuK7e967ec09fQIwfSf7S7Im7z8ixmTZnXfJ4d3fMsyvYJA3unBRzPuwzUa8XMNX7nC39xL5ed5PO3vODeswgJdQdxNzzftGfa3KmLqCytAk8Fm9dHj32J0+mkzGeOCZ6/pe/+aYMP7x9wjmE+gZrDE8hFRIWTmJYAB9oeagArV67k4osvZuTIkUyYMIFJkyYZfyRfH3744XaXh4qIiIiIiIiItNXcqYtYNXsdAF0HZHDEuWN2aBzfoMpbveW759fgAHt+4dnzrP+YPsYYOevzufKJC4z7dpuDqrIq3r2vKajyVnttWLyZ6e/+HnBck8nkt6Ry8qNf4HK5jHmGhocQER1OZUkVtRV1xnNJnRICjhcV23qDht8/nsXi35az+Df3b+7UsyPHXny4cX/0ySNJ9lS/uZwu/nfVa+AN/jy/f/OKLGZ+PW+7f8tA+6fhCc+8vHuoAaSkJwJQXljpt9fbvqjNgdq6desYNWoUn332GS6Xi+XLl3PZZZcxbtw48vP3/eRQRERERERERPZPLpfLb7+vix88x9ivq73KCyuNYyME8uz5ZbaY/ZZ2bmvAmKZ7S/9YSWpmil8DgicueoGVf7uXd3bpn84db19v3Hvn3o+oqawNOO7I44fSa3h3ANYt3MTcqYuMecanxmEymVj650q/d+JT4gKOFekTqAXaXy53Yz7v+IR+F91/drNKv+v+e4lxPHPKXKrLq93Bn0+V2uRHv6C8wKdCzfO39O6fBjB4XOAKtfDopkDNu2QUICreXV3ncrmoq6oL+O6+os3/9917771ER0ezbNky5s+fT1ZWFu+99x7Lli1j9OjRrFmzpg2jiIiIiIiIiIi0z9/fzmfdgo0A9BzWjbGnH7zDY21bVVVWWGHsn9ZnZI+A+6d5DTt6kM+c3EszO/Vs2vtr/rQlxvElD53L0CMHcpinQUFZQQUfP/5VwHG3Das++PdnVBY3BWpssywVIMGzDHRb3qWbAHabnd4jevg/4IKVs9wZTma/zhx53thmY4w7azSJae7xXU4Xz133BmwT/K1ftIllM5qWtsanxlFdXsOGxe7907oP7kJsUvP909imKYHT0bTyMTq+ablqdXng8HFf0eZAbfbs2dx000307NnTuHbhhRcye/ZszGYzhx56KHPnzt1d8xQRERERERGRIPXVc98bxztTnUazQC2WeVMXGectVVR59T24p7Gf2cKfllJXU0/3IV2M+95qq+5Duhih31VPXkhIqLtS7Iv/fddiB8vRp4yg68AMAFbPWY/T6TLm6HK5mOszT4CktMCBmjXUvyptwNg+ARsYAFz8wDktbtl11ZMXGsd/fj6b2uq6ZsHfgp+WGsfxqbEsmL7EmHdrf0vf/34un6Wd0Z496vA0N9iXtfn/wJKSEjp27Njset++fZk1axbp6ekcffTRTJs2bVfPUURERP6fvbOObiJrw/gTa5K6u0NboLi7O4u7LLaw2AIr6LcC6+jC4iyw6ArL4u7uUKBogbq7t/H5/kgySRptk5bSvb9zOGRm7ty58ybp3Dz3FQKBQCAQCIT/KPEvEul8X76hXmjVr6lZ/eVlanqoXfv3Nr3dZkALPWfJYTKZaNO/OQBAJBAj4nwk7J20vbCGfdafFo28gjww9LMPAABikQTrZm3TmY+eyWRqiFXqY4yJjEfym1SN/S5ezjrHyOFqCmoR5yOx+M85Wu1cvJ3QfmgrvffafVwnOLrbAwqhcP2sHYBC+Atq4A8AyE3L0xjnVQ1bNtfbtzrqudI0PdRqiKAWGBiIyMhIncc8PDxw9epVNGnSBAMGDMCBAwcsOUYCgUAgEAgEAoFAIBAI/1GOblQ57gyY2dss7zQAyFXLocZis/DwnDxM09XHGXVbhxg9v+0gVbjpzaP3NEQgJW0GaYpJo/83hC4i8ODsE5zeflFn3x2GtYabn6Y3maObA64duK3V1sVHd1EC9ZBPAIh/kaQz3xqHxzFaUHLyT6qiC5f/ug5BiQBMJhNDPv1Aqy3Xhot7JyMAAA6udnoLEtAw5P8pPdqglkMNAIprSshn586dceDAAUgkEp3H7e3tcf78efTu3RvHjh2z5BgJBAKBQCAQCAQCgUAg/Acpzi/G+T3y6pg8Gy56Tuhk9BxjKEM+7ZxscP/0I0jE8iqTHYe1MUmsa9y1PviKpPp3T0SAb6edc+3QmpMa29Z2fHz223R6e8sXu5EWl6F1HovFQu9JXTX2Obrb46oOQY1nzdPaBwBsrnYhgjvHH8LW0VpjX1pMBjISs3T2oaTP5K6wc7YFAEglMmxf9CcAoNOINhrFD6x4HDy9+gLCUhEAoP3gVlqFDsrCYMgVNUpNULNzqoEeahMnTkTbtm3x4MEDvW24XC4OHz6MOXPmoGPHjpYaI4FAIBAIBAKBQCAQCIT/IOf3XIOgWAgA6D6uI2wctL3BykthThEAwM7FTiPcs+PwNiadb8XloEWfJgCAguxC5KbnabU5te2C1r5WfZui92S5WFZaJMCqyZs0wh2V9J7cRWO7tEigFe7JYDIMjq8sN4/eA1OHwDWvy1KIBCK9fQHA6MWD6dcX/7gGAODb8NBtTAfVNXlWuHbwDr1tii1pQY3S7aFWYwS15s2b48CBA2jdurXhDplMrF27FpcvX7bE+AgEAoFAIBAIBAKBQCD8B6EoCsc2naG3B8zqbZF+pQqPNCaTWe5wTyVt1XKtPSlTfRMAslNyEfssQWv/9F8mwN3fVX7elec4tlE7D727vxv86/rS2w/OPtZqY8j7i6MmqCm9yJ7fjEJpkUCrbWpMOn6dqTunm5Khn30AFkd+vaLcYkRek+ez6zu1O91GUCIsX7inmiiofm2NHGq5NURQIxAIBAKBQCAQCAQCgUCoKh5dfIrEqBQAQKPO4Qiq72+RfpWVOAXFgnKHeypp2bcJLWrFPY2n9zu4qgoU7Fj8h9Z5NvbWmPf7THp7+6J9SHqdotWuTqva9Ou3j+K0jrM52mGdSqx4KkHN2VOVZ00sEOtsf27XFZzfc1Vvf0wmE4271Ke3d371NwCgdpMgMFlym0lEknKFe8r7VXjZqWl5bI7qPKlEarSPdwkR1AgEAoFAIBAIBAKBQCBUO45uVHmnDbSQdxoASBWCWklhKb3P1HBPJXZOtmjYqR4A0KIcALT6QFWB9OH5SJ0hnU26NqDvR1gqwspJGyGVaopHfmE+9GuxUC6EqXvQla3kqQ5HTVBTF/iUMBgMeNf21Ni36dOdyEzK1tvn5J/G0K9f3H4NkUg+Jo6V9jg6jmirtx+NcegQMJXvDQBarKuuVO/REQgEAoFAIBAIBAKBQPjPkR6fiTvH5TncXX2c0XZgC6PnmIqsjKBW3nBPJephn0oC6vrBxkGe/F8ikuDE1vM6z/1o2Vha1Hpx+zX+XX3C6PVa92tGv2boT6Gm4aFmxbeCo7tmhU8Wm4mhn/bT2FecX4LVUzbrDf0MbRoMJw95PzKpDPuXHwUAMNmaspK9iy0aKYRGYzDV8sAphUcZEdQIBAKBQCAQCAQCgUAgECrGhb3XIFNUf+z3cQ+TQghNhRZtFNpRecM9lbQd2FxrH5PFROeRKg+tQ2t0C2V8Gx7m75xFJ+bf/c3fiHueqD1GNdoNbUW/luo4roTLs1K1E0vhV8db4ziLzcIH03uCXca77OG5Jzj5m3YxBSXq1UdP/nYOAEBJNQW4wPr+Jr9X6oKZsjDCf05Qe/36NQoLCy3RFYFAIBAIBAKBQCAQCIT/OFcP3KJf95zQyWL9UhSl5YXVeVS7CvUV/SReax+LzcLEH0bT28lv05CVkqPz/Prt6mDY5x8AAMQiCVZM3ACJWALoEdRyknPp17qOK+Fac+nXYrFEK7k/g8kAk8lE0+4NtM7dOm83UmPSdfY75qshdCGB7ORcxD1P1BL2lBVUTUFdMFMWTFC/L0uKqJWB2YKaUChE3bp1cfjwYcuMiEAgEAgEAoFAIBAIBMJ/lsSoZMQ+lVfIrNs6BO7+bhbru6wQFdI0CHVa1tbb3hDX/r2ttY/JYsLR1R4B9VRVOncs/lNvHxO/HwX/uvJ8aW8exuDPHw/pHCcA3DnxUO0+9FflVM9rVlpYStuyLFOWjdPaJygWYtVHm3TmfuNZ8xDWopbaff2hlfst7lkictPz9I5NHXWvQEGxECgrqP0XPNQMlVclEAgEAoFAIBAIBAKBQDCVawfu0K87DitfsQBjlK0cOWBmbzrssjyIhGLcOnpfvqF2enF+CQBg1KJB9L4bh+7q7ceKZ4UFuz6hvbX2ff8v7p95hPxs7SjAW8fu068pHYKXkqI8lUeaQOH5pY6yiEJQfX84eznS+5W53yKvvsCR9ad19j1h6Uj69YNzTyCTaI6DoigN4c8QSm88ALB3kRdP+M+FfBIIBAKBQCAQCAQCgUAgWAL1cM+Ow1pbtO/c9Hz6NYvNRJfRFQv3fHjuCUoK5EUN3Hxc6P0v77wGAHQd04EuDiAoFuDm0ft6egLCWtTG+CUjAIUg9dOYX/H85iv6uFL0SovNoPcp88vpokBNjCtUE9eUwp9EJEFxvnx/v6nd6cPqRQJ2LP4DiVHJWn0379UY1vZ8uh+6a7Vzbxm4V3XUz7exl4t5pMongUAgEAgEAoFAIBAIBEI5qcxwTwC4sO8a/drexQ5cPtdge32oi36NutanXz+/FQWpVAomk4lWalU59313wGB/o/83GO0GyauGFuUVI0YtP1vjLtq5ziiDgpoqj1lxntxjLrhRAHg2qnu99OcNAMCoRYNpMawwt5gWGEUCMVZO2qjl0QcAnYa31dpnY28NZy8nAEDEhUiUFmt7xpVF6Smn7iGofj0iqBEIBAKBQCAQCAQCgUAgmEBlh3ue/O08vc3hcirUj0goxu1jDwAA1vZ8BNTxoY8V5hThwdknAICPlo2h9799HIuMhEy9fTKZTMzf9Qn8FH2pp9aq1ThAq72hkM/CXO3CAB2HtdEQrk5tvwgoQk7rtg6h96fHZcInxAsA8PLOGxxYdUyrr0k/jtLax2Iz0aa/vOqpSCDGw3NP9I5PiTJPG5OtVpygUCXEqQuA1REiqBEIBAKBQCAQCAQCgUCoFlRmuOft4w+QmZhNb5fqyC9mCurhnu0GtURhmSqap7dfAAD41PKCT21P+U4KWD1li8F+beytsfTQfI3QSyjEtpCmQRr7DKWyV3qlqdN2UAsNserto1i8fhgNAJi2cjy9/8Xt15iybAw9hj1L/0HsU81qpk7ujnDzc9HYV1okoD3sYELYp0wmAxT3wOaoqnnmZahCcp08HHWdWm0gghqBQCAQCAQCgUAgEAiEd05lh3se3XhGY7s4r7hCRRY1Rb82yMvM1zh++/hD2httzuap9P5HF58iJy3XYN9FuUVa+dFeP4xGmwEtNPYZGndJYanGdnCjANg52Wq1O77pLACgXpsw+IZ60fuPbTyHYZ/3BwCIRRKs/2SH1vXsnGw0tkUCMeq2CYW1nTy/2p0TD3WGiyrJSVNVAlX3FMzLLKBfO7jZ6z2/OkAENQKBQCAQCAQCgUAgEAjvnOsHVdUwLR3uGfc8EY8vPQMAcPlWgCKxf1nxyRhikWa4Z9MeDTW8qqCoVPnPSnmoZNNuDeEZ5A4oRLDVUzYb7L+s6AcANw7e1fJQM0TZ/GUdh7XRGCPbig0o8snRwt8mNeHv8lP0m96TDv18ev0lrh9UheKmRKchJjJB67pigRgt+jQGFKGvz2680mqjJCclh35txbOiX6uLk07uRFAjEAgEAoFAIBAIBAKBQDDIo4uR9Ot2g1tatO8/fviXfu2j5o1VnFes5wzdvH4QQ4d7turXFFZcDvIy5F5VDIYq79ep7ReRnSr3Rvtk/Uf0+fdPP0ZeVoHOvhOjknHl75sAABsHa3q/WCTB9kV/wD3A1aQxCkuEGtvtB7ekxwgAYS1qAYqiAPtXHAUANOnaAF7BHvIGFLD+k+2YtkoVCrptwV6IBCIAwB8/HtR53aK8YrQdYFrYp9I2KJMrTV34Ix5qBAKBQCAQCAQCgUAgEAgGEAlEeHH7NQDAM9ANXkEeFus79mk8ruyXh2k6utmjduNA+liRjnxjhnhy5Tn9Wll9UykCObg5oP/0ngAAsVCMf1cfBwC06tuUzjlGURTWTNWdS23PtwfocM8BM3trHIt/kQQ2h62xTyQS6+xHWCKiXzu42cO/rq+GUNWqb1NaxDq945JK+NswmW7z8OwThLWshabd5feYFpeJQ2tPIul1Ci7suQoAsLbla1w3KyUXLfs2BYstz4l25+RDneNDmZBPvi2Pfq0U/qzt+BWuwFpVmC2oWVlZ4fLly+jVq5dlRkQgEAgEAoFAIBAIBALhP8Wre28hEsgFooadwy3a9+6l/9CvRy4cBAdXledTUTk91J5cVQlqjTrXA0VRtFjl6G6PYV/0hxVPnhPsxJZzyFd4o81YM5E+7/bxByjK06zEGfssAVfVRL9hn/ejjzFZcukm5W2axjmiMp5o9H6BSlBr3CUcDAZDQ1DzDPLAgBlyDUcsFNOVPFv2bgp3f7kXHEVRWPvxb5i+egJdoODPnw5h++I/aNFvxMKBsLZXiWpHN56GraMN6rSqTY83N10lnKmTl64aj6agprJldcdsQY3BYKBTp07w8LCcekwgEAgEAoFAIBAIBALhv0Pk1Rf060adLCeovYmIwc3D9wAAzl5O6D+jJ2zVEvTnZ+oOv9SFRCzBi5tRAABXH2d41/KEoFhAC4GO7g5w9nRC3yndAQCCEiEOrjkBAOgwpDWcvZwAAJSMwpppv2n0vWfpP3Ti/xELBsHexZ7O9ebs5QQGQ7PyJwCUFukW1CRiVTEApS3VBbWywt/Jrefp3GUzf1V5qd05+RAuPs7oO7W74noC2pb2LnYYPKcvGnSoS7ePOCcP2Q1vW4fe90xhr7Lkq4W92jra0PYtzCmibVndISGfBAKBQCAQCAQCgUAgEN4p6p5fDTvVs1i/u5fsp1+PXjwYXD4XnoGq6qGpMekm9/X6QTQECq+wRp2Vnl8qYUgpAg2fPwBsjjzs8eiGMyjMlYtE09Vykt04dBclRfJcbG8fxeLGIXlBBmdPR/SfIQ8b9VCMMz+zAJN+GK01nrLFEJRQalVCld5+Zcfp5OFIC2Vy4e8kAKDdwBZw8VEJf2un/YYJ343UyOkGACMXDIS1HR89JnSm95UWCfDy7mvUb68S1J7f1F2YoCBb5aGnFDjzswq1bFmdIYIagUAgEAgEAoFAIBAIhHeGSCjGi1tyTybPQDd4BrpbpN8Xt6Nw92QEAMDNz4UWkLxre9JtUqJNF9SeXFF50TVUeH6lx2fS+1w8HQEA7n6u6DWxCwCgpLAUR9afBgB0Gd2eFopkUhnWz9wOaIl+Q8Cz5mqMUywUo9u4Dhgxf6DGeE5tu6g1RqlEqrHtX8dHPs4EtXEqPOVGzB8IjqLi57GNKuFv2qoJdNubh++Cw+Wg90dd6X1sDgv9Z8pDRv3DvDWut3vJPwhvG0Zv6xPU1ENt7V3s5GNUs6WzwpbVGSKoEQgEAoFAIBAIBAKBQHhnRKnlT2tQSd5p474aBiuuPMTRu5a6oJam81xd6PKiS3yVTO/zU4hXUORqU+Y+O/zrSZQUyr3RPvp5DN3m8t838OTqc9w5IU/e7+brgr5Tu9HHfdTGmRqdjinLxoKjuAcAOPHbOTy69FRjjE+vq0Q/FodFh4oqx+ngakcLWG6+LuipLvytUwh/I9vBSSFoyWQU1s3chsQo1X1KxFI8OPsEAOAZrJn+6+Xt17B3saNt8SYilvbqU6dYrRiEg5udQVtWV4igRiAQCAQCgUAgEAgEAuGdoV4501L50yKvvUDEBbnY5BXsgZ4TVaGJds62dN6uson+9SERS/D8htzbysXbCT4K77GEl7pFIK9gD3Qb1wEAUJhbTOdS6z2pKy1oSSUy/Dx2HX3O2K+GwopnRW971/aiXye/TQODwYCTh1ooJAV8M3A5Xt59Q+9SeuQBoHOkFecXIzslV2uMADBq0SC6KuehX0/Suc2mLBtHt7ny903cO/lI47zf5u+BSCgG34ZH54aDQphLfpOK+u3qKO5Riqj7b7XsqRQYAcDJw9GgLasrlSaoRUdHV1bXBAKBQCAQCAQCgUAgEGoImpUzzRfUKIrCrq//prc//GY42Bw2vc1gMOhwyszELIiEYqN96sqfBgAJUfpFoDGLh9BeavuXH0FGYhYAYMJ3I+k22Sk5AADPIHf0mtRF43yvWirvr1SFJ52yUIESQbEQX/b9ETGR8QCApzdUIZY2dvIKnIlRKaoxhmmO0TPQHT3GdwIUYZhKu/Uc3wkOrnLhT6aWk015flpsBg7/egoAaHFRyaF1pxDeThX2+eyGdthnaZGAfq0Mg1X3gvP/LwhqqampOHfuHH755RdMnjwZLVq0gK2tLUJDQy0zQgKBQCAQCAQCgUAgEAg1EqlUipe3XwMA3P1dLZI/7cr+W3h6/SUAwC/MG13Httdq460Qq2QyCulxGUb7VBeFGnZUhaUmKryq7Jxs4Ohmr3GOb6g3Bs7qDQAQloqwbcFeAMCAGb1oDzkl474epiH6oYxQlawQ1FiKYgfqFOYWY1Gv75H4OgVxTxPo/TaKayS+UhPUdAhVE78fBb4tDwBw8rcLePsoFgAw6UfNQgju/i5YtG82mEy5mPjnjwdRkF2oIfwBwL1TEZqFCW5pV/oUqoWBung7KcYptyXPmgs3Pxetc6obJgtqeXl5uHHjBrZs2YJPPvkEnTp1gqurK3x9fdGnTx/Mnz8f//zzD4RCIXr06IHPPvusckdOIBAIBAKBQCAQCAQC4b0mNTodwlIRACCsZW2z+ysuKMGWL3bT21NXfAgWS1uE0sijZkLYZ+wzlVClHGdJYSkyk7IBAH51fWmvNXXGLx1Be3pd2X+L9sZr2FktVxwD6Diirda5HgFudDimcoxlRTePAHkl0Nz0fMzvupS2JQBYKypzJqjlJvOvqy2ouXg5YdzXwwCFd9/Gub+Doih0HdMBDKbqnnxCvBHarBb6fNSNvv8j609r2BIA0uMy4ernQnuevbgVBZlMptFGKFCN083XGWKRmC4Q4RvmDSaz+mcoM3mELi4u6NSpE2bOnIk//vgDYrEYAwcOxPLly7Fp0yZQFIU9e/YgMjIShw8fxqpVqyp35AQCgUAgEAgEAoFAIBDea2KfJdKvA+v5md3fniX/ICdVni+szYDmaNO/uc52XrXKV+kzTjFOJpNBhyMmvVZ5fpWtdqnE1tEGk38aS29vmrsTGYlZiDgfqWpEAbu+/FPrXBabBY8AV0AhPFIUBbaVpjgY0iwYQQ38AYDOk6bERiGoJb5KUo1TTyjl4Ll94Rsqz9n27MYrXP77Jv788RAotXDPp9dfQiQSY/T/htBC35H1p+Di7azRF0VRuLj3Gh32WZxfopEfDQAkQgn92sHVHilv0yCTykU3vzq6bVndMFlQYzAYCAwMxJUrV5Cbm4tbt25hx44dmDdvHrp37165oyQQCAQCgUAgEAgEAoFQ44h/riao1TdPUIt+Eocj6+V5vbh8K8xcO0lvW98QlaAWp+Z9pgupVIqEl3JRyru2J104wNQk+r0mdUZIs2AAQExkPL4duhKCYs3Kl8e3nodEItE61ydELnKVFJYiMzELTu6OGseT36Ri2dmv6Jxw6tgpQj4TFCGfHC4H7gqBriwcKw5mrFHZa8vnu3Bg1VGNNhKRBNsX7IVHgJtGwYWYJ3Fa/Z3ffRWhzWrR22VtLBFL5S8YAJPJpMcIHXneqismC2rPnj1DgwYN0KNHD0yfPh2pqamVOzICgUAgEAgEAoFAIBAINZr4FypBLSC84oKaTCbDulnb6QT6Y74cajAfW63GgXQusFf3tKtQqpMWmwGRQKw1xkSNUEpfveezWCzM+nUyvf36QQwAwNbJBjwbLgBALBBj51d/a52rLkq9vPsWXsGa95T0OhUObvZYcf4bui8lMqkMErGEDhf1C/PWGf6qpGWfJmj9QTNAEUIqlcg9xhp3rU+3OaEQ/kYuGESHuF7ZfxNsK81Q1DcRMRrhpep53JRjk9uGqThumi2rEyYLanXq1MGRI0dw+fJlvHjxArVr18aCBQuQk5NTuSMkEAgEAoFAIBAIBAKBUCOJU3iosTksrWqR5eHcrit4oUh+7xfmjWFf9DfYnm/LR6AiVDLuWQJKi0r1to1/rgqZVA9LjXkaT782FqYY3jYMXcdoFkf4eMWHGK42zqPrT2vlGqvbOoR+/eruG/jV0RSbxEIx0mIz4BHgpuWldvPIPZzdfQVSidSkMQLA9F8m0OGcAODq64zvji6gixaIhRL8/r+/4F/HB+2HtgIU4purj2bYp3ouNwBIUAs7lclkoCi58Km8VqyaLf1rWsinkrZt2+LatWv466+/cPr0aQQHB2PlypU6k+8RCAQCgUAgEAgEAoFAIOhCIpYgKUruueQb5q2VcN9UCrILsW3hPnr7kw1TYMXlGD2vbku5WCWTUbTXmC7UCxIoPdQoisKLW/LqpHbOtvAK9tB7vhI3X83KlbUaB2LcN8PB5ctDSIWlIuz77oBGG/VCDS/vvkZwQ3+tfhNfpUAmkyHljWZxBYlYinXTf1P11SJE69yyOLrZg8NVvQ8u3s7g2/AxfP5Aet/RjWcgk8kwetFgel9BdqFWXzeP3qMFM/Xw2KK8Yvo1R/E+Pb8pF0N5Ntya56FWlgEDBuDJkyf45ZdfcOrUKVAUhQsXLqCgoMCyIyQQCAQCgUAgEAgEAoFQ40h+k0rn0gqsry0UmcqOxX/Qgk7nUe3QtFsDk86r0zqUfv3y7hu97dTDUpV53pJep9DXDG8bZrQqZVpcBo6sP62xb/WUzZCIpRg0py+9759VxzVyqTm6OcC7llyse/MwBv71tPOLJbxMQnp8JgQlQq1jMrWiAsoiAYbY9c1+jfxuUffe4tJfNzD2yyHgWstDSkWlIvz+5V8IaRqM5r0aAQBKCrQ9/B5deEp7zSVGpUAqlb/X8S9U3mo8Gy4yErPoaql1W4dqeMhVZ8yqQ8pkMjF58mS8efMGP//8M/7++2/4+/tj0aJFSEszXnaWQCAQCAQCgUAgEAgEwn8HiqJwYd817F9xFMc2naP3u/u50oJLeXh+Kwqnd1wCAFjb8TFt1XiTz9UMp3ytcSz5bSr+WXkUxzadxXNFKCmTxYSLt5Piuqr29doYFqooisKG2TvoMEg7Z1sAQMyTeOxd+g8mfj8SVjy5p5awRIhNc3aWGadc+BMJxEh5mw4GUzNC8Mo/t3BknaZYBwBdR3fQ2L5x8A4daqmL1w+jcWzjGQDQyIm2ftZ2ZCXnYMinKuHv31+Oo6SoFKMXD9HbX3ZKLnwUxR/EQjEy4rMAAG8fxdJtnNwd6VBdAKjXJlRHT9UTswQ1JVwuFwsXLkRMTAymTp2KdevWITg42BJdEwgEAoFAIBAIBAKBQKghXP3nFpaPX4/ti/bh2KYz9P5/Vh7FIMcJOLvrssl9FReUYNmH62iRaMJ3I+Hq7Wz0PCV+Yd6wtucDACIuPMWctv/D2MAZuHvyIb4dugrbFu7D+k+200KQTCrDUNfJmNliISKvPKf7qdfWsAh0atsF3D0ZAQBw9nLCt0cWgM2Re2HtX3EUr+68wdivh9HtT267gLwsVfRfnZYq4W/9rB1aotibhzE49OtJresGN9L0+juw+jhWfbQJErF2NVFBiRDLxq2jPdomLB2BbmPlglxRXjFWTd6E8UtH0PaSiqVYNm4dGnSoq+35pqb3pcVm0K+VlVIT1DzU3Pxd6HBPKLz93hcsIqgpcXR0xMqVKxEVFYVRo0ZZsmsCgUAgEAgEAoFAIBAI7zmGwvkExUJc/OO6yX1tnPs7LdjUaxuGgbN6m3zuizuvsX7WdoiFcnGptEiAl3feICMhC2d3XTY4zjcPY/Dk6nP6fsJa1NbbNjEqGZs/20Vvz908FQ3a18WEb0cCCu+15ePXY+Cs3nBwswcUwt0PI35BYW4Rvur/M46qCY+v7r0B9DuZaXB2p7Y4eW7XFSwZvAKlxQKN/Vu/2I1ERT67kGbBGPr5B/hk/Ud03rdHF5/i2MazmL3hI/qc28cfIOl1CkKb1tK8iNr4UqLT6dfKPGrq+3xDvPD8tlxQYzAYtDfe+4BFBTUlfn5++P333yujawKBQCAQCAQCgUAgEAjvKa36NYWdk43e413HdNB7TJ2rB27j/O6rgCLUc9He2Sbn3op+EodP232FE1vPQywUax138XJG93Ed9Z7vEeiGjAS511rtJoHgKXKLlUUsEuPncevoUM9+H/dA2wEtAADD5w+gPbvS4jKx5bNdmL9zFn3ukyvPMdRtMu6ejKALN5QXV7UiCCPmDwBHEcZ579QjzOuyFOnxmYBCGDux9TwAgGfNxeJ9c8Cx4sDW0Qbz1Ma0fdEfCGkarKomSgHTGs/H4fWn9I5BLFDZV+mhlp2SQ+/zru2J6MdxAICAcF/YOur/bFQ3KkVQIxAIBAKBQCAQCAQCgUAoixXPCt30iFUNOtRFr4mdjfaRkZiFtdO20tufbPgIXkHGq2wqoSjKYC6xoAb+6P5hRzossyy9J3WlXxvKn7Zn6QG8eSivHuoX5o1pq1X53VgsFhbung2+LQ8AcGbnZUjFUngGuavGKTPRFU0HXL6VRpGC4fMG4OczX9Ehm68fRGNGswW49Od1/DJlM91u+i8T4BemKnzQtFsDDJnbD1DkQVv24XrM36US2XQJkuqo2zlBIQzmZarCWVlsFmRSGQAg3EguuuoGEdQIBAKBQCAQCAQCgUAgVBl9PuqmtY/NYWHu5qlgMBg6z1Eik8mwcuIGFOUVAwA6j2xr0JtMF7UbB2Hi9/rTVAU1DICDqz3aDW6pdazzyLYQCUT0tr6cX5HXXmD/8iOAQjRatG8O+DY8jTZewR6YuXYSvf3d8FUaOcfMoVaTILxViHk+IV5wdHNAo87hWHPte1q0K8wpws/j1tECV9uBLdB3anetvib/NBoB9XwBRUGBLzotKddYrPhWAICUN6lAmYqgWYkqb7V671H+NBBBjUAgEAgEAoFAIBAIBEJVEtwwAMGNAjT2DZ83AAH1/Iye++/q43h8WZ6/zM3PBXM2GRfhdDHmf0Mw/Iv+Oo8FhsvFo7LCH8+Gi+m/TMSzm6/ofbpEoKK8Yo1iCRO/G4nQZrW02gFAr0ld0GZAcwCAVCIr933ow9XbGWKRPD+cetGA4IYB2PRgOVr3b6bRnm3FxuSfxui0JZfPxaK9c8BkySUkpUeZqUjF8uqteZkFEAnFtFcbi8PCi7tqBQnKFjeo5hBBjUAgEAgEAoFAIBAIBEKV0nZgC/q1tT0fY74cavScNxEx2PnVX4Aigf3C3bNh52RboeszGAxMXfGhlmhm72IHvq08LLJJtwbgquVHG/PlUPBteXhx6zWg8DBzU8tTpmTdrG3ITMwGADToWBfD5w/QOw6JWAIbE/KGsfSEn+pDWKIqOtCgQz2NY3ZOtpj0w2iw2CpJSCKSYFHP7/H8VhR0IZVIwbPRnSvOGFKJlH79+sFb+jXfhoun114CAFy8neBdy7NC/b8riKBGIBAIBAKBQCAQCAQCoUoZ9kV/WNvzwWAyMOvXyXoT+ysRlAjx87h1kCi8nUbMH4BGncPNGgODwcDcLVPRtEdDep+tozX9mslkYvCcPgAAz0B3jJg/AI8vPaMFoua9Gmv1efGP67j8100AgI2DNRbtmQ0WS78YtmryJlzYc9XoWL2C3DUEsLKUFdzS4lSho817NdI4JhKKsfzD9bRHHFcRkpmVnIMvOi/BobUnNXKfxb9IxOedvtEI1dSHi48z/ZrB1PZ2U3oXAgDXmksXbGjes3GFPA3fJex3PQACgUAgECoCRVEoFkmRXSJCdokYJSIJZBTAYjBgw2XB1doKLjZW4JdzNc/SSGUUckpEyC4RIa9UDLGUAhgAh8mEszUHLtZWcORzwNIx4SBoIpVRyC0VIatYrLCljLalE58DFxsOnPhWxJYmIJVRyCsVI6tEhNwSMcQyGUABHBYDjnz559LZmtjSFCQSCRISEhATE4OEhASUlJSAoijweDz4+fkhODgYgYGBsLKyetdDrfZIJBIkJSUhJiYGcXFxtC25XK6GLbncinlI/JeQSqUatiwuLqZt6evrS9uSx+OZ0Nt/G5lMpmHLoqIiyGQy8Hg8eHt7Izg4GMHBwcSWJiCjKBQIJMguFiGnVAShRIYvItaAxQAc+RykFQrgYm0FDktbNKIoChtn70Diq2QAQEjTIEz4bqRFxsVisfDD8UWY3WoxEl+nYuy3I5FaIEB2sQgFQglCp/TGN1N6g8dhIj5PgIjbbwAGA6AotOitKaglRiVj3cxt9PbczR/D3d/N4PWVHlrGyErOxfyds7Bm2m/wCHBFvkAC5zBfOIX5gOtgDTtnOxRmFSA/LgPZLxOR8kpeUTO4YQBcvZ01+tr6xW7ERMYDAALD/fDd0YVYOXkjnl57CalEis2f78KzW6/wxfYZAEXhh1FrIBIYLj6gZOT8Adj06S4AgK2bHax93eFS1w92/m5gcznI93FG07kDkBuVDFluAbJT83Ta8n2ACGoEAoFAeK8QS2WIySlBVEYRckuNP9jdba0Q5maLACfrKhUHckpEeJVRhNicEkiMVGjisBio7WKDMDdbOPA5VTbG94XcEhGiMosQnW2CLZkMBLvYIMzdFk7EllrklYoVtiyWi7sGYDMZCHaxRpibLZytiRhUlpSUFJw7dw5Xr15FcXGxwbZcLhft2rVDz549ERwcXGVjfF9IS0vD+fPncfnyZRQVFRlsy+FwaFvWrl27ysb4vpCRkYELFy7g0qVLKCgoMNiWzWajTZs26NWrF0JCQt47z5DKJisrCxcuXMDFixeRn59vsC2LxUKrVq3Qq1cv1KlTh9iyDCUiKV5nFeF1ZjFKxVKDbRkMwN+RjzA3W3jacWlbntp2AWd2XgYU3lSL9s0Fx8pyz3k2h42vrnyPqIwiJOcLkPo6U29bu2EdMKhtPUQfvYs6HerS+0uLSvHt0FUoKZR7cXUb1wFdRrUzeu35u2Zh/aztSFRUwNQLg0LbEe3g2qUR3mQVo1ikbUt3tdcyiRRJN17AiyGvaKq05fm9V3Fs01kAAMeKjcV/zIVXsAdWXliC37/8C/+sPAoAuP7vHcRGxiOogT/iniXKh8BgGKyOCgCBDQPQckIX8OoFwLdDOJhs7cXteg2C6NdN03Lx9sht1DXT2/BdwKCMWaMGU1BQAAcHB+Tn58Pe3v5dD4dAIBAIBqAoCm+zivEgKQ8iI0KALvgcFloHOMHfkV8p41NSLJLgTnwukvIFJrTWJsjZGi39HcHTMfn4r1EqluJOfC4S8oyHF+giwImPVv5O79xLsTogEEtxNyEXcbkVs6WfIx+t/Z1gbUVsWVRUhF27duHatWsVOr9JkyaYOnUqXF1dLT62943i4mLs2bMHV65cMfoDTRcNGjTAtGnT4O7ubkLrmk1paSn27duHCxcuVMiWdevWxfTp0+Hl5VUp43ufEAgE+Pvvv3H69OkK2TI0NBTTp0+Hr69vpYzvfUIik+FxcgFeZBSiIqqDizUH7QKdkfY0Hl90+oZOsL9o7xx0G9vBYuPMLBLiVlwO8gSScp/LZAANvOzRwNMOP41ei2sHbgMKr691t3+kc7EZQyaT4d6pRziw+hgir77QOObm7wqxSIKPj/4PaUw2jKwt6sSZz0HbQGfkvk7G3HZf0t5mn2+brpVD7tbR+1gxcQOK80t09tV2UEs8vfochbmai0mO7vao27spWswfihwTFr3LwmQA4R52aOTt8N54yBNBjQhqBAKBUO0pEUlxMy4HKQUVE6nUCXa2Rit/J1gZyEFRUaKzi3E3Ideo548xeGwm2gQ6V7r4V52JzSnB3fhcCMtZRaosXDYTrf2dEOhsbULrmkl8bgnuxOdCYGblMCsWA638nRDsYjxxck0lIiICW7ZsQV5enln98Pl8TJw4EV26dLHY2N43IiMjsWnTJuTk5JjVD5fLxfjx49G9e/f/rFfQ8+fPsWnTJmRm6veoMQUrKyuMGTMGffr0+c/aMioqChs2bEB6erpZ/XA4HIwcORL9+/f/z9oyq1iI67E5KKiASKUOA0DUH5dxb90JgKIwaHYfzPp1skXGKJNReJSSj+dphTBXFGEUluDY1A3Ij0mDtT0fG+8vh29IxQTqqAfR+P3LPxFxPhIAMP/QApSG+CGvAiKVxhgBRB+4gdu/HAEllaHvlG747LfpOtumRKdh6dCViI1M0Drm6uOMTQ+W4+qB2/j9yz9RWiiAq68zFt5egcjUArNt6cjnoEOQ83vhHU8ENSKoEQgEQrWmQCDGudeZOt3aK4ozn4PuoW4W81yiKApPUgrwJNVweE15aeXviDrudhbt833gaWoBIpINh9eUl+a+Dgj3/O8961+kF+J+onniT1maeDugofd/z5YXLlzAtm3bKuSxoo8hQ4Zg5MiR/7kf3FevXsWmTZssassPPvgAH3744X/Olrdu3cL69eshlVruGdmzZ09MnjwZTOZ/q37dvXv3sHbtWkgk5glA6nTp0gXTpk37z9kyKb8UV95mQ2rB73jsmYcouPgIK859DTZHf+YqQYkQTBYTVlzD4aBSGYUr0VkVjijQhaioFJc/345Plg5H2wEtDLYtzC0yWp00NTYdmQIJnpZSRlNelIeES5HIPHoLqy4tNWinjXN/x5H1p3UeG714MCb/OAZSqRTPbr9GtrsLEguEFhsjm8lA19qu8LKv3rkJ/1vfbAKBQCC8VxSLJBYX0wAgp1SM868zITLTY0fJ09RCi4tpAHA3IQ+vMw3nE6ppPE8rtLiYBgAPkvLxMr3Q4v1WZ15lFFlcTAOARyn5eFYJn/fqzJUrV/Dbb79ZVAACgEOHDuHff/+1aJ/VnZs3b1pcTAOAEydO4M8//7Ron9Wde/fu4ddff7WomAYA586dw+7duy3+HlVnHj16hDVr1lhUTAOAy5cvW1yIr+6kFghw+W2WRcU0AAjq3Qx9N04Hy0BKjFvH7mOUz8cY6TUVqbH6vQxllOXFNACwsuWj56aZCO3WUG+b0mIBlg5diSEuk7Bh9g6D/TFdHRFpYTENAPy7NkS/LTPBttIvTKbHZ+LYxjN6j/+97AjePo4Fg8lErpebRcU0AJDIKFx8m4X0Qsv2a2mIoEYgEAiEaomMonA1OtviYpqS3FIxbsebF2oEACn5AjxKsbwApOROfC6yi0WV1n91Ir1QiAdJlheAlNxLzENGUfWemFmKzCIh7iXkVlr/D5PzkWqBEOz3gbi4OGzdurXS+j9w4AAePXpUaf1XJ5KTkytFTFNy9OhR3L17t1L6rm6kp6dj/fr1lWbL06dP4+bNm5XSd3UjKysLa9eutbgwqeTixYu4dOlSpfRd3SgVS3E1OrtCOb5MIblEglcZuhcaT/52Ht8OWYni/BIU5RXj3K4rGselUikyEjIRee0FjpyOtLiYpoTBZuHM01S8eZoAYanmnCMvMx8Lun2Lm4fv0WMuLdLMbVpcUILYp/G4ceIhzj5NhrSSjJkmlOHCrbfISsnR+XdEUCyAzMC1KYrCxjk78SKtEPEVzM9qDKUXoUBSOd9NS0CqfBIIBAKhWvIyvRCZlSwkxeWWIjC3BAFOFcuvJZLKcMsCopwhKAA343LQr67He5OgtSKIpTLcjKtcWwLAzdgc9A/3ALsGh99IZRRuxuWYncPEGLficjAg3BMcVs21pUQiwaZNmyrth7aSrVu3YvXq1bCxqbn56WQyGTZt2gSx2LwcQMbYvn076tatW6PTuchkMmzevBlCYeUuEPz++++oX78+HB0dK/U67xKKorB161aUllaOIKBkz549aNSoUY0uRkJRFG5bIPepMSKS8+HjwIc9j01fd8/Sf7Dve01v37O7LiMzMRvp8RlIi8tEZmI2pBIpnEK80Wf3Z5XqWSRls7Dnnzu4+9MBuPu7wifEE44ejnh47gnyM1Ue3hKxFMs+XA8mi4n0OPk4C3PkgmG778chqFflFlxJAgtb238NUWY+fEO94RvqBZ/aXvAJ9YJvqDeWHp6Pl7dfIzMpG5mJ2chMzEJGYjZkive4Xo9GlbqoDAACiQz3EvLQMdilUq9TUUgONZJDjUAgEKodpWIJioRSSCkKEimFa7HZkMgo9A5zhyOPg1vxORZbDeOxmRjawAvsCogCL9IL4GrDhUxtnCwGA11qu0JGUWCAgTvxucgTmP8DsqmPAxp41dxnVURSHp6myUMy3Wys0NzPUcOu1ooqrQDAZjLBAHDiZcWSRjfyskdjHweLjr868SQlH49TNEMyeWym1ucyXyg2+zsV7mGH5n4198f28ePHsXfvXgCAg4MD5s2bB6lUCiaTiW3btiExMRF79uxBdHQ0AODIkSN48uRJha7Vu3dvTJ5smUTb1ZGzZ89ixw5VeJMueyYlJWH69Onw8PBASUkJNm7ciOLiYoP96qJr166YPl13ou2awOXLl7F582YAQFhYGL7//nt89NFHYDKZOj+j5tC+fXvMmTPHQiOvfty8eRO//vqr1n51u9rb22PKlCkAAB6PBwaDgUWLFpX7Wi1btsS8efMsMu7qSEJeKbzsuMgukS+GPk0tRGqhoFLmbj72PHQPdYNUIsXKSRtx8Y/rJp/be+encA33x5gmPhpjzSkRWXz+dvbj9ch8HFvu8zxbhqL7hulaY0wpEOjcZw7pEdE4P32j3uMOrnYIa1kbDTrUQ8OOdRHcOBCF2YUQCcV4KmYhXeH5X3ZcxSKJxeZtANA9xA0+DtUvnxrxUCMQCARCteNtVgmepBZAKqMQ6maDOu62eJpaiCvRWQh1M5zAtbwIJDLE5pYgxLV8/YqlMkRlFCFCrDnOZ6mFOP0qAwDgYcdFfS873Ig13/PqVUYRwj3twKyBCbclMhleZ6p+NBcpcueVff/PRskr2IW52cKKXXE7RGUWoYGXfY30+JPKKETpyLsnlMh0fi7N/U69zipCI2/7GumlJpPJcPq0KhlzQUEBvvnmG1AUhXr16mHQoEFYv349MjIy8O2335p9vcuXL2PUqFGwtq55FWllMhlOnTqlsU+XPe/evYvi4mIsXboUzZo1w8CBAyuUF+3atWsYM2ZMjVwwpyhKw5YffPAB3r59Cxj4jJrDrVu3MG7cODg7O5s99upI2c+lEnW7Jicn09/xXr16Vfg7ev/+fWRkZMDdvXK9jt4VL9MLYcdl089qJZUxd0suECCvVIyFbRYjJjLeaHsbB2t4BLohoF09uIb7AwCKRFKNsTIAi8/fWszoi0ufb4eg2DRvUhabCXtXe7SY2VfnGPXtMwePprUQ2q0h3l55RnueqZOfVYh7px7h3il5agIu3wp124SiQb/moDqocsXpGpel5m0A8DKjsFoKajVv9kMgEAiE9xqpjMKL9EI6Z4RMBih9qUvFlRNG8CqjqNx5aKKzS1AglGqNU70XKxYTuSWWCW8qEUuRmFe5ISnviricUo0QkVKxTOf7ryTI2Rqx2SXlusbQBl7wc+QDChE1Prd8578vJOSV6vye6PtcmvudEkspxObUTFtGREQgKyuL3qYoiv47YWNjg7i4OACAq6srli5ditmzZ8PWtnw/Gjds2IAWLeSV4IRCIa5evWrRe6guPHv2DKmpqRr7dNnTy8sLMTExAIDY2FjUq1evQteTSCS4fPmyBUZe/YiKikJ8vFxAaNq0KV69ekWHfur7jJqDTCbDxYsXze6nOhITE4M3b95o7S9rV3XatWtX4dxyFEXh/PnzFTq3upNXKkZaoRA2HBZ6h7mhQ5AzuIqFlsqau0VlFCH2aYLBNu2HtMLhnF04krsbWx+tQofPB9LHyo61MuZvLk1qod3oDia3l0pkEDOZsK/jq3OM+vaZy9hts3CieB9+f7kW3x9bhGmrxqPfxz3QuEs4HN00FyaEpSI8vvQMr8vMwwyNqyLztoHhnvBVE9CS8wUoFFq2aIgleK8FtWvXrqF///7w9vYGg8HAkSNH3vWQCAQCgWAm6YVCCBTVN7ksJsLcbfEmy3DIT68wN3zYzBdOfFXpbw6LgQnN/WBjpb8alJKcEnG5H9JxaiJC2XE68NjoU8cdrfwdaVd4S4wzroYKF/ruS9f7b2PFAoMhXwktS9tAJ0xo7gcHnnEH/JoqAhn6jOj7XOqiV5gbxjX1xZgmPhjV2Bu9wtzgbM3R2bamfi5v3bqltc/Hxwfff/89Jk2ahBcvXgAAZs+ejaVLl+LZs2cYPXq0RvuwsDAsXrwYv//+O3bu3IkVK1ZgwIABYLF0f991XbMmoO++ytozISEBjRo1AgA0bNhQI6fckiVL0LdvX3rbw8MD69evx4QJE8p1zfcd5X0xGAz07NkT586d0ziu6zMKAF5eXli4cCG2b9+OXbt2Yc2aNRg4cKBW/4auWdPQdV/67AoAbm5uYDKZyMiQezEtWrRIZ5g2n8/H3r17ER4ebtI1awLK58ChZ6k4E5WJ1AIhmhhJrdArzA0TmvvBy46rsT/cww4TmvuhhZF0AnG5JRg0py+s7fnQ57yfk5YHW0f53xGZjEK82sKkrrEamr8pn4nKf2EmeN1RALp81h/etTzB4eqfm3Qa3gb129cBx4oN/+6NwVDkedU1RkM2dre1QrcQV4xq7IPRjX3Qv56HIrrB8DjjckvA5rDhF+aD1h80w7DP++PTLR9j5cWl+CdtO35/uRafbZ2GbuM6wM3PBWAwENCtkUYf+sZVdt5m6lz46PM0rcIR1XG+8V6HfBYXF6NRo0aYPHkyhgwZ8q6HQyAQCAQLoMy/wGIy0KmWC+4l5EIoMb66KZLI0NTHARffZhltq4usYhHseboFg7JQFGVwnPkCCU6/yoATn4M2AU44pQghMHecWSU1r9onRVE670vf+x/kbK1zQsVmMhDoZA2BRIoQVxs8SDKcJDe7BtoSRu7L0OdSFw+T8vAyowhMBtDM1xFda7vi38hUrXbZJSJQFAVGDQtHVuZFUyc5ORlff/01AgIC8PHHH+PLL79EYaE899/NmzfRvXt3um3Tpk0xd+5c7N+/Hxs2bEBhYSG8vb0xaNAgODk5aXi/KYmNjYVUKtUruL2v6LIl9NgzLCwMS5YsQVRUFHJydIdb+fv748svv8T58+fx77//6myTkJAAkUgEKysri97Lu0Zpy/bt2+Phw4daRR502RQAFi9ejJs3b2LNmjUQi8Xw8fGBr6+vSddMSUlBaWkp+Hx+JdzRu0PX51KfXQGgbdu2Gt5ply9fxrRp07Bnzx5IJKpFuXbt2iE3NxfPnz/X6iMzMxMFBQU1LhxZ+RxXPq9jc0sQ6ma8yEp+qRi1XW2QWqgSr2q72iCv1Lh3mEAiw4Tl4zBzzUQISoSIeRKH1w9j8PphNN48jEFeRgF6TehMt88TiDUqZuoaq6HnpPKZWF5EPC52v5FX5M1IyMLrhzF48zAabyJiEP04Dp5B7pizaSrsXewgLBXi9JNkKGcwusaoz8a+Djx0DHbBo+R83IjNgVAigz2PjQae9uBzWCjWsRCpRCylUCCUwEHHPJjBYMAvzAd+YT7oO1X+jIuOTseNXM35hr5x6Zq3VXQuXB3nbu+1oNanTx/06dPnXQ+DQCAQCBYku0QEBoBOwS54lVFkcqXPqMwi1HW3g4ctV6f3DZvJQDNfB/g68MFiMpCSL8DdxFyIpZTiumKYWkCoQCCBREbpHCeTAbpcvEgqg6RMyXFj46znYYswN1vwOSwIxDK8SC/EK0VOrCKhFEKJDFz2e+1grkGxSKolmBp6/wOdrXHhtXbukCBna0hkFB4l56OJjwMeJudrhYqqUyqWoUQkhbUJnoHvCwKxVO+E2djn0hAyCniTWYx6HnbgsphaFdxEUgqFQildca0mUFJSohWiyGaz6R/NxcXFEAqF4HK5EIlEdM6qtLQ0uv2kSZNw9OhRjRxNKSkp2LRpk97rikQiJCcnw9/fv1Lu610gEomQlJSktV+XPQHg77//BhTCRl5entZ5YWFhWLBgAQ4cOIAzZ87ova5UKkVCQgJq165twbt5t0ilUjrc09/fH0FBQWjRogUCAgIwZ84cLF++XKdN7ezs4OnpiQsXLkAkkv9NTUpK0nhf+Hw+Ro8ejWbNmsHGxgYpKSlYvXo1srOzQVGUWSG41RHlPZVFl11//PFHQCGo/fTTT3TbBw8eYMqUKWjRogVu375N7+/cubPBkOOYmBg0btzY4vf0rqAoCtnFIrCZDEhlFCgAnrZcFJjg+R+bW4K67rbgsBgQSym42sgF8Kwyz/6hDbzwKrMIAY58OPI5yC4R4XpMDrKLRbCxYoNnzUW9NmGo1yZM77Wy1frUNdaKPieNzi8V12UwGPAIcINHgBs6DGmlsy8unwupNQ8QSXWO0ZCNW/o74VlaoYboVyCQaFRQ57GZaOXvBE87LiQyCjE5JXicnA9KMU5dgpouGI62QK6qX0Pj0jVvMzYXhuI9v5eYp5HuJNvE3wRVSc2Z+RAIBAKhRlAolCDI2RoetlxwWAzU9bBFUp4Az9ML0SnYBS42VhBLZXC1scJDNS8koUSGp2kFaOrrQCeVVaddoDNkFIVjL9JAUUDbACe08neiE84WlSPks1Akb6trnBlFQjT1dQBFAQwGcD9R8wehsXEWCeVJXUvEUnjacdEtxBXZpSJkFonocXLZNcfjQpfd9b3/jjw2hBIZHRKsTm1XG8RklyA2pwQt/Bzh58BHgpGcc0VCSY0S1AyFLbtYW+n8XBr6TilhMRkIcbNBkVCiJaYpKRJJapSglpmpQ7QNCsLYsWMhk8nAYDCwZ88eeHt7Y/r06SgtLYVYLMaWLVsARXidh4dHhXItZWRk1ChBLTs7G1KpttCry552dnb4/PPPIZVKkZycjD179micU79+fYwYMQI7duzA9evGq/plZGTUKEEtLy+PFsT++OMPev+SJUuwbt06nTYFgMLCQiQnJ2PGjBm4ePEi3rx5o+UhOXPmTHC5XHz11VfIy8tDQEAAfS0obFmTBLWioiKUlGh7O+uyKwD4+vqisLAQ+fmqv5FSqRTXrl1Dly5daEHNx8cHtWrVwurVq/VeWxkyWlOQUhQEEhmcrTloG+gMsVQGmQy4FS+fXxl6zogkMiTnCxDkbI3XmcWo7WqDt1nFcORrCzvBzta4/DYLJWIputR2RRMfBxQK9XtdlUX9GWnPY2uNVd9z0hjG55emj5GiKDo0UtcYde0DAHsuG3ZcNmJzDKdI6RjsglKxFAefpoLLZqJ7iBskUhmephWWa5xl5xv6xqVv3mZsLqyPIpG02nnE15yZjwkIhUKN5JIFBQUG2xMIBAKh6pEqVsxidIT1XY3JNnjuy/Qi1HW3hZ8jH2mFqrwLXDYT/k587H+cTK8YPkopwMBwT9yMzQGluK6pyBRt9Y3TWPUlfeOEIqm8krRCIVLyBfC049KCmrScxROqO7ruR59d8wQSnNfhnebAY8Pdlos78bmQyCgk5JUixNXGqKD2X7Clksxikc7PpaHvVFNfBzT2doCUopBTIsIlA6EZ5fn+vA/oCvd68+YNli5dqrV/4cKFWvuU4Vz6QhYNoS5i1AR02RIG7GmoYmq9evWQn5+PR48emXTt/4otlTYrLCzUaVMAWLp0KQYMGIBhw4bBx8cHKSkp2LlzJ54+fQoHBwe0atUKM2bMQG5uLgBoFTT4r9hSHfXPYlJSEn744QetNpcuXcLq1avh4uKC7OxsdO3aFU+ePKHtqIuaZkuZQivJKRHjxIt0rePG5m5vs4vRxNsB0VklCHDk4+jzNDTz1c6fFpVZRItNMdklaOBph8QyObYMIVV7TOkaa7GR6pnKZ6KSA5EpYDEZxueXimIhpohAMhPGqMvGXA6TPq4Paw4LXvY87H+cDImMgkQkRWRqARp52+NpWmG55kRlH/n63nt98zYYmQsbuzar+uhp/y1B7eeff7ZIWXMCgUAgVB5MM1adpBSFxykFaOrjgDOvVAsotlZsMBkMDG3grXUOn8NCiVgKprGMrRYao6FxQuGdFe5hB1suCwwwwGIyNBLwm3vt6oYl7ifE1RY5JSLkKnKuRGcVo3uoG6wV721lXrs6Yen7iUjKNzlfTE2zJZtt3hRZuWjr7OyM9HTtHxmVee3qhiXv5/Dhw6hTpw6++eYbfP/993T+uqq4dnXAnPvJz8/H3r17sXfvXtjY2GDIkCGYP38+ZsyYAVdXV4hEImRn6xc+iC11k5ycjLdv36JTp044cuQIOnTogO3bt1fJtasL5v75Ty0Qom0ACw297ZFZLNLphY4y1UIlMgocFtNosn11ytNWF7qeiQ48jvH5JQMme1RV1JZChW1srFh6vfasrViQyDS9xQqFEthw5J76VWlLGJkLG6K6TTdqThIWE1i8eDHy8/Ppf4mJie96SAQCgUAoA59jXgje26xiMADUcrWm9xWLJJBRFP6JTMFfj5Ppf/sikmjBhV+OvGQ8jvmPT13jtLFioX2QMx4m5WH/Y/lYk/M1vaz4Frh2dcJcWzIYQLCLNey5bIxo5I0RjbzRIdgFTAZDw7aVce3qhrnfHfOuXbNs6eBguDqdMVJTU5GRkYG2bduW+1xHR8OV7d43LJl8XSwWY9WqVcjMzMSSJUtgZ2dnsH1Ns6WdnZ1FQp2Ki4tx4MAB8Hg8uLu7IysrC1ZWVnBx0Z9ItKbZ0tra2mLC1qVLl9C5c2c0a9YMDAYDDx8+NNi+ptmSzWSAbabCEp1djAaednhrpKp7Wcrz3KuMZ6RJ88tyXJfJYFQoT26BUIJCoQSBzvrnPSUiKdhMJnhq/dtasVBcgXHyLGRLXXNhQ3DZzGq3gFezZj9G4HK5sLe31/hHIBAIhOqFs7VpCVH1QQGISM5HA0/V33iBRIbEvFK08nekJyo8NhP+jqqKZS42puclc+Jbmb1CpmucygmpQCIDBcDHgQdvex59nMtmwvodiiaVgQOPA5YZE3E/Bz6sWEwcf5mOY8/T6H9PUvIR4qK/pD2HyYC9gRL27yO2VixYvYM4CCYDJicyfl9wcnIy+0fv77//jkGDBqF3796wtZV/Fr28vDB9+nS4urrqPIfBYCAgIMCs61Y3bG1t4eHhYbH+pFIpfvnlF6SlpWHJkiUG5/OBgYEWu251gMvlmlyZUx0bGxuMHDkS3t7eYDAYsLKywgcffIDCwkKkpKQgPz8f9+/fx9SpU+Ho6AgGg4HAwED6cwtFzruaBJvNtth37datW3B0dMSECRNw7do1nTkD1alptmQwGHC2Ni+364v0Ipx/nYnEfMOpGspSnuu6mDlGXZgyv3RSyy8qEUuwbeE+LPtwHQ6sOobHl5+hOF9TRKzoOO8l5KKBpz3quNuCy5KPxZ7LRtsAJ9hYyb3lUgsEaO7nCDaTARsrFhp62SM6W359dVs+u/kKP41diy2f78LFP64j4VUyZDKVZ5ulbKlrLmyIyngPzeW9nkkWFRXh7du39HZsbCweP34MZ2fnGpXMlUAgEP5LWOJhmZBXivqedhoraDdic9DY2wH96nqAy2ZCIJYiLqeEzrNVnuuymAw48TjIMaGse3nGmS+Q4GlqAXqGuoHBYCAxr1QjP4iLtVW1SsRqCZgMBpz5HJOruZYlxM0GsTklKBBoJsh9mVGEcE87eNpxkVaoHUrgXANtqfxRo+t+KxMnvpVZomh1JTg4GBERERU+PyIiAj/99BOGDh2KkSNHAgCysrJw7do1vfmVfH19weVyK3zN6kpQUFC5Q18NIZVKsWbNGsydOxdLly7Ft99+q5EsHgA8PDw0BKGaQlBQULmjbCQSCZydnbF48WI4ODhAJBIhNjYWP/30E51fesOGDRg3bhyWLVsGHo+H5ORkOrG+k5MTnJycKuV+3iVBQUGIjo42ux+BQIDbt2+jS5cuuHTpksG2NjY2cHd3N/ua1Q0Xaw4y9FRrNAWRVIbUcj67KIrCZ03moUH7OmjYsR4adKwLjwA3vc92cxds9WFsfnlmzXGcfZuMBh3qgsli4p+VRwEAF/9QFVZx93eFo7sD6rQKQdsFQ5BSgVTvSfkCXHiTiYZe9miiyPVWJJIgJrsEpQovtGsx2Wjl74ShDbwgpSjEZJfgWVohmAzASa0QxObPduH1A83vBs+WB48AVzi6OWDM18PAtHfQyqVWEXTN2fXhUknvoTkwKOr9zch75coVdOnSRWv/hAkTsGvXLqPnFxQUwMHBAfn5+cRbjUAgEKoJQokUB56kVmnCeD6HhWENvcrlRh6RlIenaYbz91ialn6OqOthOMTpfeRJSj4eV2T2aAZNfRzQwKvmPfufpxXggY5KnZVJIy97NPYxL0SyOnLu3DmjuZAszYABAzBu3LgqvWZVcOXKFWzatKlKr9m7d29Mnjy5Sq9ZFdy6dQtr166t0mt27doV06dPr9JrVgUPHjzAihUrqvSa7du3x5w5c6r0mlVBSr4A598YLshkaRIuR+LaQs3f/G5+LmjQoS4C6vnBN9QLvqHe8K7tCZ61fKHizKsMpJsh/FWEUx+uRk5UssntR60YD3bnxpU6prL42PPQPdSN3v7yg59w75T+4i8cLhufP1mH5ALTiwlYgj5h7nC3q16LTu+1h1rnzp3xHuuBBAKBQNABl81CoDMf0dnaVR4ri1A3m3LnZAh1s8WztEJU1VOIzWSglotNFV2tagl1s0VkaoFFVjpNgckAQlxrpi1ru9rgUXJBlQnSDIWXYE2kQ4cO2LdvHwSCqvnBwGAw0LNnzyq5VlXTtm1b7N69G8XF5cuPZA411ZYtW7akHQKqippqy6ZNm8LV1RVZWforGFuaXr16Vdm1qhIvey7suWwUCCUmtLYMoleJ4FixIRaprpmZmI1Lf97Qauvm5wLfUG8E9mgMm65NqmyMxXHpEKTqr/iqi4f7b6BlkxAwHKru2Zpz9xW2bDmJtPhMpMdlIvGVYQGQb8tDmLttlQpqTnwO3GyrX8jnfyqHGoFAIBDeD+q4V50XFpMBhLqWPyzIlsuGr1qOjMom2NkaVhVIVPs+wOewEOBkWkJaSxDobG2xhLrVDS6bhSCXqrOlvxMfNlbv9fqsXvh8Pjp16lRl12vSpEmNDAUDACsrK3Tt2rXKrhceHl6hXGPvA2w2G927d6+y64WEhCA4OLjKrleVMJlM9OjRo8quFxgYiNDQ0Cq7XlXCYDAQ5l51Idb2PDa+2z4Nh3N3YdXlpZjw7Ug07d6A9kQrS2ZiNh5dfIqjX/2JksyqE6Mf77qIkoLyLRC/eRiDuxtPVtqYylKUko3tk9bj4NqTuHn4Ht4+ioWwVH8aDu9aHtjyaCV8HHiwtaq6uVSYu221TNVRM2fmBAKBQHivcbWxQq0qEgUaeNrDuoITgma+DmBVwcOdy2LWyJA6dZr6OJhdJcwUOEwGmtZwWzb2tgenCooTsJkMNPWpWdXqyjJs2DCjlSQtAYfDqZGhnuoMHjy4SvJwsVgsTJgwodKv8y7p37+/3sIWloTBYGDSpEmVfp13Sd++fS1aNMMQEydOrJaCgKUIc7OFA69qFlha+jmBwWCAy+eiUadwjPt6GJaf+waHc3dhc8QKfLX/c0z8fhR6jO+Euq1DYOcsF/tkEikerjlaJWPMfBqHuDOaFV85XDZsHLTnt0wWE64+zmCx5fPR6OP3kBOVVCXjfLD6CCi1EAEmiwmPAFdwuNr5ylr0aYItj1bCzdcVTAYDLfyrJreiszUHIdU0SqNmLikSCAQC4b2nhZ8TUgoEKBXLTGhdMZz4HLPyaDnwOGji44AHSXkWHVdZWvo7Vkq59+qELZeNZr6OuJtQvtCI8tLcz7HGelQpsbFio6WfE27G5VTqdZr6OMC+in48vSscHBzw0UcfVXrOqhEjRtRYjyoltra2mDp1aqXnrBoyZEiNq+5ZFmtra0yfPh0//PBDpV5nwIABqF27dqVe413D5XIxc+ZMLF26tFJTCfXp0wf16tWrtP6rAywmA+0CnXH6VUalpsMIcbWBjwNP5zE2h43ajYNQu7F2JdWC7EIkvUlF0utUpKRkgeFdeaK0TCIF+3mshlAFAGKhBOIyYbGObvb44cRihLWoDYlYgrS4TCS/TkF8ci5KZDIwmJXnAyV4nYSuXcPhMbkzPALd4BnoTgt7qz/ahDM7L9Nte07sjM+2TgObo3ru+zvyEexsjZicykvTwmQA7QKdwaymxY/e66IE5kKKEhAIBEL1JrVAgPOvM0DB8g9RKxYDveu4w4lvXj4GGUXh0tssJOdXTh6JWi7WaBfoXCNXtYvzi/Hizhs8OPsY1w7cBt+Oh9EHFyOl2LzqqfoIdOKjY7BLjbRlSWEpXt55jYfnI3Fl/01YcTn48MiXSCqpHFv6OfLRpVbNtGVZKIrCb7/9hosXL1ZK/40bN8aiRYvArMQfTdWJnTt34vTp05XSd3h4OL788kuw2TVb6FXyxx9/4OjRyvG2CQsLw9dffw0rq+qXs6gyOHDgAA4cOFApfdeqVQtLliwBj6dbBKppPEstwMPkygmrdOJz0LuOO6xY5v29FIilOPUqA4WVlPOtTYATQt1sMcJ7KnLT9C+68qy52PJ4JXxqe+k8/jK9EPcSK2fR1oHHRp867uCydS/YRlx8ioU9vgMAjPnfEEz8fpTOZ75QIsPpV+nIF1SOLVv6O6JuFaaCKS9EUCOCGoFAIFRbCnIKsXTGDtT/dCBYHMv9QOKwGOge4gZ3W/MqBVEUhTsnHuDkjkuw7dkcXi0tmxslQCEAlbdgQnXm/plHuHX0Pp7fikLcs0QtjwC/cF/U/qg3fNpbdiXfz5GHTsGuYFXTFc6KEHEhEjcO38PzW68Q9zQBsjIr4a0GNAe3XX34d2lo0et62/PQtXbNsqUxZDIZvvvuO7x48cKi/YaHh2PRokXgcqtX1bLKRCaT4eeff8aTJ08s2m9YWBj+97//gc+vutyW7xqKorBq1Srcv3/fov3WqlULX331FWxsqmeIVWVAURTWrVuHmzdvWrTfgIAAfP311/+p35pRD6KxY/d1hE/oZtF+HXhs9Apzt5jHfpFQgrNRGSgSSS3Sn5Lmvg4I95S/31EPovFJq0XQ5bLHYDCw/MLXaNKlgd6+Yp8lYNOGc6g/xbLFLOy4bPQKczPqsf/0+kuw2EzUaxNmsF2xSIKzUZkWFyibeDugoXf1/u4QQY0IagQCgVAtkclk+Kr/Mtw//QieLULQ6ecJ4Nibn1fNjstG/pkH2P/lH/AIdMPnv01Hw071TPa0oSgKMZHxuPzXDZzbfQW56fJVWKYVG60WDUOtD1qaPUYACHHm49dO/0NhVhF6f9QVE78dCXuX6rtCZwr3zzzC//r+ZLQdk81Ci/lDEDK4jUWuG+JijY3dvkZuai66f9gJk38cDUe39zuP2pOrzzGvy1KDbax4HIjFUjT7bCDqjOhgkevWcrbGb32+RWZ8JrqMaocpy8bC2bNqcqi8a+7fv4+LFy8iIiLCIv21b98eNjY2yMrKQvPmzdGlS5f/jJfa48ePcfbsWURERFgkzK5169ZwdnZGWloamjZtim7duoHFqtlh8kqePn2KM2fO4OHDh5DJzE+R0Lx5c3h6eiI5ORlNmjRB9+7d/zMefy9fvsTJkyfx8OFDSKXmiyyNGjVCUFAQ4uLi0KhRI/Ts2RMcjnZeqppEQXYhZjZfiPT4TISN7IDmnw4Ew0xvMgDwtOPiyvydeHTmERp0rIs5G6fAL8zH7H6LRRJcic5GVrH+JPymwmYy0NLfESFlCl39MnULTu/Q9nDm2/Gw8sIShLXQHVZdlFeMWS0XIeVtGkKGtEHLeUPA0ONNVh7cba1wZ+mfuHvoLuq1CcXczVMRUM/P7H5LxVJcic5GRpHQ7L5YDAZa+DsizK3qCl1UlP/GU5tAIBAI7x17vz2A+6cfAQBKY9PQO9gJQc7mCWp13W3Rv54Hzqw9DqlEipS3aZjXdSlmtVyEy3/fhFSifwJdkFOIfd//iyn1P8P0JvOxf8VRWkwDAJlIAu/CInSp7Qo+p+KPV1srFnqFuoHxPA45ybkQC8U4vuksRvtPx/pPtiMlOq3Cfb9rrHimhQ7JJFK45+aje4grrM1YibaxYqF7iBtsk9KREZcJsVCC09svYkzADKyd/hsSowyXha/OGLMll28FkUAMSiqDc1YueoS4wsaMalx8DgvdarvCq6gQqW9SIRFJcH7PVYwNnInVUzYj/kVihfuu7hQWFuLgwYOoV68eFi1ahKVLl5qVxNzBwQHz5s3DxIkTkZSUBIFAgNu3byMiIgLPnz9Henq6RcdfnSgpKcGhQ4cQHByMhQsX4vvvv4e3t3eF+7Ozs8Onn36K6dOnIz4+HkKhEPfu3cP9+/fx8uVLpKamWnT81QmBQIBDhw7Bz88P8+fPx48//gg/v4r/KLaxscEnn3yCTz/9FLGxsRCJRLh//z7u3LmDqKgoJCe/v38vjSEUCnH48GG4u7tj3rx5+Pnnn83Kw8fn8zF9+nQsWrQIb968gVgsRkREBG7evInXr18jMbFm/r2USqX4ccxapMdnAgCY8WnoV9cNLtYVDxtmMxlo5e+EnqFueHjyIaQSKR5feobJdT/FN4OW4+n1l2aJ8jZW8rDHZr4OMMfp2sOWiwHhnlpiGgBM+nG0zkIEpYUCfNbhaxzbdFbrHmQyGZZPWI+Ut4o5X1wa+tVxg5tNxW3JYjLQws8RvcPccefgHUglUjy9/hJT6n+OLz/4CY8vPzPLlnwOC73D3NDCz9EsD3Y3Gyv0D/d4L8Q0EA814qFGIBAI1ZF7px/hy35yTyYmk4Fl575Gk65yl/i0QgGiMooQn1cKU55gLCYDwc7WqONuC2fFpO7rActw58RDrbbu/q4Y+ukHGDi7t5Z3w+w2/8Oru2/0Xie4YQA2PVgOFpsFkUSGN1nFiMosMtn93YnPQaibLWq5WIPDYqIorxiDnSdqtWMwGGg3uCXGLxmOoAYBJvVdXaAoCismbsCFvdcMtvMN9cJvkavBseJALJXhbVYxXmUWocDE/BwOPDbC3G1R28UGHBYTghIh+tuN0wq5YDAYaN2/GcYvGYHaTbQTGFd31s74DSe3njfYJqRpENZc/x5cPhdiqQzR2cWIyihCnom2tOeqbGnFZkIilqAff4xWeCkAtOzbBB9+Mxx1WoZU+J6qI/v27UN6ejpmzZpF50ASCoW4du0azp07h/j4eJP68fDwQI8ePdC1a1fY2tqCoigsW7YMIpHKM4LFYkEqlaJfv35o3rx5pd3Tu2L//v1ISEjArFmzYG0t/4EpEolw48YNnD17FrGxsSb14+bmhh49eqBbt26ws7OjQx9LSlSJsZW27NmzJ9q0sYy3a3Xi4MGDePv2LWbNmgVbW/kPT4lEghs3buDcuXN4+/atSf24uLigR48e6N69O/17aM2aNSgoKKDbKG3ZtWtXdOhgGW/X6sTRo0fx4sULzJw5Ew4Ocu9liUSCW7du4fz584iKijKpHycnJ3Tv3h09evSAo6O8AvL69euRk6MqEKO0ZYcOHdC1a9dKuqN3w66v/8YfPx4EADi6O2Dzw+Vw9XGBjKIQn1uKqIwipJvovcRjMxHqZotQNxs6LFFfPrKwFrUw5suhaDughVnjLxJKcPDwAwjdHMF1MC3cOeVOFHp2roOm4T4GIx0OrzuFTZ/upLcDwv0Q/1wlrHYd0x6fbvkYfFt5yPpfPx/G71/+CQCwc7bFpgfL4RnoDhlFISG3FFGZRUgrNN2WtV1tEOZmC1uu3JZjA2cgIyFLq23tJkEY878h6DC0tUl966NYJMHhoxEodrAFz9m06ApPOy7C3Gzh78R/r1KdEEGNCGoEAoFQrcjNyMfHDb9AXobc+2vq8nEYMX+gVrsSkRTJBaXILhYjp0SEgmIh8rIKIRVJwAWFRk0C4GJtBR8HPrhsTY+xS3/dwM9jf9U7hkk/jMaY/w3R2Dez+QK8idD9Y4/BZOCvhC1w8XbW2E9RFNKLhMgoEiG7WIS8UjFysgohLBFCXCxAnTre8HG3g4ctF642VlqTsUl15yIpKkXnNfm2PPyd/Bus7d6ffEFR999iyeAVyE4xUMmTAex+swHewZoeQBRFIaNIhIwiIbJLRMgtFSM3qxCCYiEkJULUru0BP08HeNhy4WarbcvpTeYj+kmczkvyrLnYF7cJDq7vz1zg7eNYLBm0QueEWIn6JFwdiqKQWSxCRqGaLbOLICgWQlwiQFCgGwJ9nOBmawUPW66WLee0/RIv77zWeU0Ol4M90RvgWua78D5z5coVhIaG6vSkoigKb9++xcuXLxETE4P4+HiUlpaiqKgIfD4fYWFhCA4ORmhoKOrVq6cV0pmUlITff/+d9gqwtbVFixYtEB4eDhcXlyq7x6ri+vXrCAoK0lnRlKIoxMTE4MWLF7QtS0pKUFRUBB6Ph9DQUNqW9evX17JlamoqduzYQYfq2djYoGXLlqhbty7c3Nyq7B6rilu3bsHHxwcBAboXVuLi4vDs2TMtW1pZWWnZsuwCUkZGBn7//XcIhfIf7DweD61bt0adOnXM8s6srty5cwceHh4ICtK9sJKQkEDbMi4uDsXFxSgqKgKHw6FtGRISggYNGmiFx2ZmZmLXrl202Mvj8dCqVSvUqVMHnp6eVXJ/VUHktReY10VeKZXJYmLFhW/QqFO4Vru8UjFSCwTILhEhp0SMvLwSlBSWQiIQwcWejzphXnC1sYK3PU/Ly2ndrG04vvmc3jGsurQUjTprX7M8zG7zP7x5HAev1mH4aNPHKGWxUSAQQ0pRYDIY4LKZcLG2QsKdKPyzcA8KE7PQa1IXzNsx02C/ErEE87ouxfObURj2eX989PMYbFuwD4d+PUm3Cajni68PfIHSwlLMbfcVZFIZGAwGfjr9JZr3bKTVZ75AYUvFPDgvvwRF+SWQCsUoSMhEzqsktG4fhsGj2mrZcsu83Tj4ywm94/3x5P/Qsk+TCtlQybyuS/H05it4t66DiRumQMzlIl8ohlQmt2XiswTkvEpCblQy6oV64OX5J1j8x1x413q/vhf/jYB4AoFAILwXUBSF1R9tosW01h80w/B5A3S2tbZiIcTVFiGuwL7v/8XhDadQkFkIAGjWsxGmnPlK73XqtTFcPEDXKuPCvXPwWYevUZhTpHWsZe8mWmKash9POx487XgoyivCp+1/RE5aHt1H16vfoX5D/TlAGrSvq1dQY7FZoCyQL6cqoCgKp7dfxIY5v0MsNFx1snGX+lpiGhS29LDjwsOOi5KiUnza/mtkJWXTtvz5zFdo0ER/uFODDnX1CmqM9yy5/vk9V/HrjN8gLJV7NjFZTMik2p+FBbs+0RLToLCluy0X7rZcCEqF+KzD10iPy6RtufTQfDRort/7sUGHunoFtepa1r4iJCUl4fbt2xg2bJhezwMGg4GQkBCEhIRAKpXi2LFjyM3NRfPmzeHh4WFUfODxeODz+fSPbWtra3Ts2LFS7uddkpqaimvXrmH48OF688QxGAzUqlULtWrVgkwmw4kTJ5CZmYmWLVvCxcXFaGio0pZFRUX0dk20ZUZGBi5duoRhw4YZzG0WGBiIwMBAUBSFU6dOISUlBa1bt4aTk5NOQVMdHo8HKysrWlDjcrno1KmTxe/lXZOdnY3z589jyJAhBquZ+vv7w9/fHxRF4ezZs0hISECbNm3g4OAAf39/g9ewtrbWyJvGZrPRuXNni97Hu6YorxjLx6+nFwYmfjdKp5gGAI58Dhz5HFAUhaVDVuLp9Zf0s2fCtyPRpGsdvdcJb1vHoKBm7rO8ILsQUffegqIosLPz0b6u7sqbAMB5xUNhonxB6+yuy5j43Si4+uhfSGJz2FhxYQmyk3PgpZjjzFgzEeHtwrD6o80oKSxF/IskfNJyEfi2PPqZPubLITrFNABw4HHgwJN/tn4YuQYRFyO15qiiJ9EYNqad1rnhbesYFNSYZua9KyksxbMbryCTSCFLyUKnBtp/cz5oOx/CEvk8RukD+kmrxdgVte69yhlMcqgRCAQCodpwfPM53D0pT/jt6O6Az7fPMFosICU6DbuX7qfFNADISso2eI5HgBucPR11HvtgWg8M++IDrf3pcZkQFAl0ntN/pvHqSz+MXIv4F0kak51MI+PUJ/w5uNnjhxOLYWNiSMK7pLSoFMvHr8eaaVtpMS2wvh84eipLDZhh3JbLP1yP2Mh4DVsae8/r6rGlnbMtvj++6L3wThOUCLH6o01YMXEDLabVaVkbKy58A2t7TU/F/jN6ofUHzYz2uWbqFryNiLXI59LGwRrfHllQI7zTKIrCwYMHUVRUZHLBktu3byMyMhKJiYmIjo6mhR1D5Ofno6SkBD4+PvDz80N4uHneFdWVQ4cOoaCgwGRb3r9/H48ePUJSUhKioqJQXFxs9JyCggIUFRXBy8sLfn5+qFfPspWCqwuHDx9Gbm6uyUUXHj16hAcPHiAlJQXPnz83yZZFRUUoLCyEh4dHjbbl0aNHkZWVZbItnz59irt37yI1NRWRkZEm2bKkpAT5+flwc3OrsbZc/8l22lu6Qce6GLFA90KoOqe2nceto/fL9RzX9+xhspiYu/ljNOxonm0jLkTSomDzno0Ntk2NzVBtUMAXnb9BabHuOaISKy6HFtOUdBzWBhvvL0NgffmCoKBYSOfnDWtRGx9+M9zouC/9dR1XD9zSueAb/Uh3ZIVeWzIZmLl2kl4Rz1QeX35G5yVupseWNjoKjRXmFGFxnx9RXFCi85zqCBHUCAQCgVAtiH+ZhK3zdtPb836fCSd3w5UYKYrCupnbtHJjZSXn6DsFUHhC6BJYGAwGen/UDRwrzSpcVw/cxpJByyEWaeed4tvy0KSb/pLnAPDq3hs8PP9Ea39FRaCgBv5GveyqA7HPEjCr5WJc/OM6va9lnyZIfpOm05YcLhvNexuexEY/icPt4w+09ldUBPKr44MGHeoaPLc6kBiVjNmtF+PMzsv0vt6Tu2L1lW/RqFM4OgxR5Tvxq+ODj1d+aLTPhFfJuLL/ltb+bCPfH3229KrlgcZd6xu97vsARVGoW7cuBg8ebPI5GRmqH1gxMTE4cUL/6r8SX19fuLm5YeDAgZg8eTKaNm2KS5cuQSIxLcfd+wBFUQgNDcXQoUNNFtTUCzPExcXh2LFjRs/x9vaGh4cH+vfvj8mTJ6N169a4ePEixGLDXrHvG7Vr18bw4cMrZMuEhAQcPnzY6DkeHh7w9PRE3759MXnyZHTs2BEXL16kPdZqCkFBQRgxYoTJgpr6dzwxMREHDx40msTd1dUV3t7e6N27NyZPnoxu3brh4sWLKC0tNXv81YGLf1zHpT9vAIpFlUV7Zhu1Z3FBCX7/8m+t/ZnJhp/jnkHucNQxL7RzskGnEebnSXx08Sn9unkvw4JSarRm8ZiU6HQsHbISIiNe+LrwDfXG+js/o2EnTUFQLBIjO8Xw87i0WICtX+zR2q/0FhcJxHh1XzufoouXEzwCtEPh+fbW6DJa26OtvJhiS3tX3V5orx9E45uByyEsfT/+3hBBjUAgEAjvHJFQjJ/H/gqRQD4RGTirN1r1bWr0vKv/3MLD85Fa+4vz5Tk5DFG/nSqsgGvNBRQ//JaPXw9Bieohfub3S/hp9BpIxJoVQJU/Zvp93ANWXE0BTh2pRIq103/TeSwz0fDk0S/MW8PtnaO4zuNLz3B6u3YJ9urE2V2XMbvVYiS+kleGs7bjY9AnffDg3BOtsE/l78Lek7uBb8PT26dMJsOvM34DpSMhvjFbegS4aYRjWPHl4T0vbkXh6IYz5bu5KubSn9cxs/lCxD2TJzDmWXOxYPcn+GL7DFjxrPDkynOc230FAMDmsPC/P+aCp/hM64OiKPw64zedoaLGxEknD0d411blOOEqin28jYjFgVXHK3SP1Yk3b97g9OnT6NmzJ51Y3BAUReHhw4dISEig9zk7O5skinG5XMycOZPO8aVMhH7lyhUz76J6EBMTg+PHj6NHjx5wdjbNc/HRo0eIi1OFZyttaUy44HA4mD59Ory85GFaUqkUd+7cwYULF8y8i+pBfHw8jhw5gm7dusHV1dWkcyIjIzUKPTg7O0MqlUJmJF0Ai8XCtGnT6HBGmUyGe/fu4dw5/eF27xNJSUk4ePAgunTpAnd37bB4XTx79kyj0IMyx6Gx7zmDwcDUqVMRHBwMKP5ePHjwAGfOVO/njimkxWVg3axt9PbczR/D3d94vsJdX/2NguxCrf3GnuMMBgPh7cLobb6dfL6Qn1WIDbN3lHP02ry4LU9lwGQxUa9tmMG2MU+1i9FEnI/EsnG/GqwYr4+i3CLERGr2GfMkHjOaLcT9s4/1nrfvu3+Ro6NQA0stCuDo+tM6z63fXjUP5tvKbVmcV4y107aaVe0TaraEIk2ELnSlSlESefUFfhi5BhJx9V9cIoIagUAgEN45u7/+G9GP5T+gAur5YuqKcUbPKc4vxubPduk9nvwm1eD5faZ0Q8u+TdBuUAtsfbwSoc1rAQASXyVjx6I/AACHfj2J1VM20xUNOWrC2eyNU7DpwXJMWTbW4HWObjhD35vWGN8aHiOTycSsdZMR1qIWZv06GV//8zl9bPPnu4ye/y4QlAixcvJGrJq8iQ5LDG4UgGHzBuDoxjO0gGPFU9ly+i8TsOnBcsz6dZLBvk9tu4iXd3RXWjVmCwZDHsYQ1qIWPl45Ht8dWUAf275oH+JfJBo8/10gEoiwdtpW/DxuHQTFcpE3oJ4vNtz7GT0+lOczKswt0shdM+mH0SZVLL2w9xoir77QeczYdwcAZvwyEWEtauGjn8bgp1P/owXm3d/8jbePTavUWB0RCAQ4dOhQuTxxXr58iRMnTiA/P5/el5iYaLLooY6joyP69etHJ9Z/nxGJRDh48CAEAsNhUOq8fv2azkOnJDExES4uLiZ7ZCmxs7ND//79jYpH7wMSiQQHDx40KcRQSUxMDA4fPozMzEx6X3JyMlxcXPTmsdOHtbU1Bg4caPaP7OqATCbDv//+a1JItpKEhAQcPHhQw9svJSUFjo6OBvPY6YLL5WLQoEHl/jxXN6RSKZaPX4+SAvniZbdxHdBllHHPpqgH0Ti2SbeYmPI2zej39cNvhqNem1AMnNUbmx6sgK2jPPXFpT9v4PLfNyt0L1A8S+MUVTdrNwkyuLgHAHFPE3Tuv37wLv744WC5ri2TybBy0kYU5cq/34271odnkFzoLcguxFf9fsKpbdoLA7FP43FwjW5PaIlaFEDEBe2FZwAY/b8hCG8Xhn4f98DmiBVwUHiM3Txyn16kqwilxQK8VYSaBtTzhZ2Trc52noGGxdc7Jx5i51fanozVDSKoEQgEAuGd8vjyMxxYLfdqYXNYWLRvDrh8w941APD7l3/pXJVTkvAy2eD5NvbW+PHE/7D00AL41PbCwj2zaZHnyIbTWD5hg4Zg5+7nSntWtRvcEh9M64GQpsFgsfWHNmQmZWPXN/onA3HPjYs4XUe3x4a7yzBodh+06d8c/aZ2BxR5NlZM2FChldDKIv5lEma3Woxzu1QTsX5Tu6PT8DbYs2Q//WPM3d+V9kZs0acJBs/pZ9SWuel52LH4D/3Xfp5kdHwdhrbGhrvLMPyL/mjWoxEGz+kLKEIilo9fD7Go+oSGJb9NxZy2X+Kk2iS6x4ROWH/3ZwTUk+daUYY8Kz3KGncJx7Av+hvtuyC7UCO8uizxL5KM/nBu/UEzbLi7DKMWDUbDjuEYuUBeiVcilmL5h+shEohMvtfqRqNGjdCnTx+T2ycnJ8Pf35/2ZuNyuXB0dERcXBzi47W9GIzRpEkTdOnSBZcvXy6XGFUdadCgAfr162dy+5SUFPj6+tLePxwOBy4uLkhOTsabN7rFdEM0bNgQvXr1wuXLl+nCD+8r9erVw4ABxnNTKUlJSYGXlxftgcVms+Hu7o709HQ8f/68Qtfv168frly5Ui4xqrqhDOceNGiQyeekpqbCw8OD9n5ksVjw9PREdnY2Hj16VO4xhIWFYcCAAbhy5QoKCgrKfX514O9lR/DsxitA4QE+e/1HRs+RSqVyz2gdXuYAICwVGaxcDQC1GgXi15s/4pP1H8E3xAuzN06hj62buQ1ZRsJG9aG+WGcspUZ+VoHB+WfUA+0QS0McWnsSERfkIZIu3k74ev/n2PRgOVr3l+dBlckorJm2Ffu+/5d+NstkMqydsU3vHJCSUbRom5OWpzMnWUBdX6y9/gM+3fIxfGp74dOt0+hjm+buRGpsutY5pvD6fjS9eBpuwNPPN9RwoRkAeF1OW74LiKBGIBAIhHdGQU6hhnfN5J/GonZj4941RXnFBis9AUDCS+MCizr+dXwwdYUq79SFvVfp1816NkKGopqTi7cTPv9tukmry0c3nEapnkIGUIQ3qIeXmsK01ePhXUue1PbF7df4e/mRcp1fWVzYdw2ftFxEi4Q8Gy4W7Z0NBzd7jRXGZj0a0RNmRzd7zNthvPAEAJzYch5Fefq9M/KzClCQox1CYoiPfh4D/7ryKqtvImKx77t/y3V+ZXH1wG3MbLaQ9my04nHwxY6ZWLDzE41V8wv7rtE50OycbDB/1ycmeZ6c3nEJ+Vn6bVVaJEB2aq7e47oY/+0IBDeSVwaNe56I37/8q1znVweePHmCu3fvonfv3uDz+SacIad79+6YNGkSxo8fDxcXF4waNQozZswAi8VCUlL5/g4pkclkuHv37nsbFvbs2TNcv34dvXv3ho2N6cVTOnXqhMmTJ9O2HDFiBKZPnw4Oh4PkZMOLJPqgKAr379/HyZMnK3T+u+bly5e4dOkSevfuDTs70yvftWvXDlOnTsX48ePh6uqKYcOGYdq0aeDxeEhJ0V092hQePHiA48ffz9Du169f49y5c+jVqxccHAznaFWnVatWmDZtGj788EO4ublh8ODB+Pjjj2FtbY20tLQKjYXBYODRo0c4cqR6PMPLw6t7b7D32wOAIlfXor2zTSqSFHE+Em8exhhso0wTYSpdR7dHZ4VnXFFeMVZO3lQhr9QXt6Lo14ZEIABIeq3fi9vNzwUz1hj2tlcn+kkcfv/fn/T2gt2zYe9iBzsnW3x7eAGGfa5aJNu9ZD/Wz9oOqVSKp9dfaoxZF47uqmJLxzedNTqW9oNbodfELoCiSufKiRsr5C39XG1chkJnAxvor5BrxeOgzYDm+GTDFL1tqgtEUCMQCATCO2PzZ7voAgJNujXA0M9M82RgW7Hh7GU4t5Ep3l9l6Tetu1bZ8xELBiHyimo1f/7OWSaX89aV8LUsSVHl+2HDt+Vj4Z7ZdMLZvd8ewOuH0eXqw5IIS4VY8/EWee45RVhiYH0/rL/7M17dfYs/fzpEtx32RX88u/GS3v5ix0w4ezqZdB33AOPhc4mvymdLLp+LRXvn0J5xfy87rDERrGpEQjE2zN6BH0b+QucA9Avzxoa7P6P3pC4abbNScrDhE1XOmLlbpsHdz7QQQw8TbGnMw7MsHCsOFu2dQ1dvPbjmBB5fflauPt4lOTk5OHbsWIWKASgFYTs7O0yZMgWBgYHgcDho1qwZ7WlVXng8HgYOHPhehivm5+fj6NGjFSoGwGAwwGAwYGNjgylTpqB27dpgs9lo0aJFhUJoofByGzRo0HsZrlhUVIQjR45AJCq/x6fSlnw+H5MnT0ZYWBiYTCZatGhhct6wsrBYLAwZMqRC575rSktLyx3OrQ6DwQCXy8XEiRMRHh4OBoOBVq1awcPDw4Szdfc3ZMgQMJnM9+qzKRKKNbzjRy8egvrtTSvs4+LtDCbLsPxQ3mcPAMze8BFcvOVziYjzkTi20bh4VJbnt9UENbUcu7rwCnan54E2DpqVKrOTc8Ayco9KpBIpVkzYQBdpGvZ5fzRVK3LFZDIxbdV4fLxyPL3v+JZz+HHUGtg724LNMVz8wStYlev06j+3TRrTjLUT6VDMp9df4t/VxovrlOXFbdPEybLpKdRtOWvdR/juyEIE1PUt9/WrGiKoEQgEAuGd8OTqc1zYew0AYOtog/k7Z5mc14VnzcWOF2vx/bFFcPdX/chqN6gl/ePWlDxQ6kjEEqyYsFGrQui9Uw/pyc6Quf3QrIfppcT7z+iFLY9WYuRCVWhJUAN/+Iap3NzL60kHAPXahGHUInn1QalEnsfkXVRDSnqdgjltv8QptQIJvSZ2wdobP+DAqmM4skGVCHfWr5OR/CaVzqvW7+MeaP1BM5Ov1WtiF/wWuRrjvhlG7/Ov64uAeqrJVkVsGdI0GB8ukZell8korJiwHqVFVV99LTUmHZ91+BpHN6o8krqOaY8N95YhqEGAVvut8/bQoluP8Z3QabjpFc46j2yH7c9+waQfRtP7fEO9EaS2WlwRWwbV98fkn8bQ2ysmbjDoVVidYLFYaNmyJTp16lThPq5evYr9+/fT2z169ICPj0+F+1OGpV2/fv29CldkMplo1qwZunXrVuE+bt68iX379tHbXbt2pRPkV4TQ0FCMGDECN27ceK/CFRkMBho3bowePXpUuI87d+5g925ViHenTp0QFGTcE1wfwcHBGD16NG7duvXehSs2atQIvXr1qvD5Dx8+xI4dqoWM9u3bo3bt2hXuLyAgAOPGjcPdu3eRl6c/hLA68e/q40hULASGtail8Uw2RnDDAOyN2YjFf8yl9zm626NhR5UgV5Fnj72zHebvnEVvb1u4F/Hl6EcqkeLVXXnIp5ufC9x8DS+EOHs6YWfUr9gTvQEL98zWOCaTUdi/4qhJ1z2y/jRdiCC4YQAm/ThaZ7vhX/THwj2z6cW/6wfvYsOc37H18Sp89c9nYCgWWO2cbTUqbTt6qDzU4p7rzvlWFht7a8zf9Qk9l9719V+IfqI7D7AuZDIZ7Tnn4GoHnxAvvW0dXe0BRYACk8XE1we+oI8pc7C9DxBBjUAgEAhVjlgkxvpZ2+ntKcvGGp3AlMXG3hot+zZBfqZ8Qu8b6oWlh+YjIFwusCS/STU5v5igRIhvh67CFUVCW+XkBABdWdHd3xUTfxhVrjFCke/DQc2jbfgXAzB1uaroQkVWYwFg3DfDENI0iO5j/3LTJnCW4sr+m5jZfCFinsgng1y+FebvnIU5m6Zg9Ueb6DxqTCYD83fOgkegG24fewAAcPZyMqnwRFmC6vvD0U0VpjN4Tl/MWDOR3q6oLUctHETnTEmJTse+78uXUNhcbhy+ixnNFuD1A7mnIYfLwadbPsaivXNgbacdehhxIZL+rDq42mH66gnlvmZAPT84e6q8PPtP74k5arloKmrLIZ/2Q+Mu4YAipHn3N/uNnvOuiY6OxqtXr9CrV69yJxhXJzU1VSNU9MmTJ9i2bZvZ3ie3b99+b6orxsXF4enTp+jduzc4HP3Vj41R1pbPnj3Dli1bzLblvXv3cPq07op31Y3ExERERESgT58+4HKN5xXVR1lbRkVFYePGioVyqfPgwYP3Jow2OTkZd+/eRZ8+fcoVzl2WsraMjo7Ghg0bKuRBqM6jR49w7Ngxs/qoClJj0/HHD/LUCEwmA5/9Nh1sTvn+Zrr7uWqILK36NsN3RxfS2wnlDPlU0qxHIwz6RJ77UiQQY91M0//2xkTG0x72xrzTlNg728EryAN1W4fQ+5Ted+d2XUZWSo6Bs4Gs5GzsXiJ/PjIYDHy6dZrBivHdx3XE98cWgmcj/1sQefUFfhy9Fg4u9nTl82Y9G+HHE4vpCIbMxGza60siliLiou7iBGVp2LEehs8bQJ+3dvpvJntLJ0aloFBRXKFe2zCjKT2U9yyTylC7aSDd/tXd1wbPq04QQY1AIBAIVc6htacQ/0K+elinZW30mVIxT4a02Aza4ykgXJ6o3V/hHi4RS5ESbTy3SW56HuZ1WYI7Jx4CCjHjuyML0XZQS412s36dbLTqkz7i1CpIBoT7wr+Oymsl4VXFcixxrDgaK5b7VxxBWlxGhfoqDyKBCOtmbsOPo9fS+eH86/pgw71laNWvKRb0+A7XD94FFEUmvtr/OToOb4NNc3+n+5i2ajxs7K31XsMQ8WqhvIHhvvT7DTNsyWKzsGD3J3QV10NrTyDpdcVzDJmKWCTG5s924duhq1CcL/dA8q7tiXW3f0S/j3vonIiKhGKs/0RdjB5ncghyWdTDogPK2DKxgrZkMpmYv3MWeNbySf+xzWcR+7T8ifmrCqFQiEOHDlU4D5I6bdu2RceOHelta2trFBYWmlVYgMlkok+fPu+FV5VYLMahQ4eQmmp+9eFWrVqhSxdVmLONjQ1KS0vNtkOfPn3KVSnzXSGRSHDo0CGzcp0padGihYa3oLW1NUQikUZV2orwvthSJpPh8OHDFc5nqE6zZs3Qs2dPetva2hoSiUSjKm1F6NWrF0pLq94zurxs+nQnXVBo0Oy+qNUosEL9xGs8e/xg42ADZy95yGZFF3MA4KNlY+kcs5FXX+DaAdPCHNVTPYS3MZw/rSyObg70NZWIRRIc/MVwqOTWeXvoOVTfKd1Qt1WIwfYA0KJ3E6y6tJSuxhkTGY8fRq6hjwfW84MVz4quEJr4Khl1W6sKLBzfZPrCzITvRtIRAK/uvqEjSoyhntetngm25KstGuak5NGL4tFP4sudY/hdQQQ1AoFAIFQpGYlZ2PedKpnt7I1TTA71LIvSewyKiQQUxQWUGMupFf8yCXPa/A9R9+WeQdZ2fPx06n9o/UEzesKixDO4Yjln1MfJYDDgX9cXXsEedK6p8ub9Uiegnp9Gpcrf5u+pcF+mEPssAbPb/A/Ht6gmZd0/7IgNd38G24qNOW2/xPOb8skUz5qL744uRIehrfHXT4eQFpcJKMrBd1EkEK4IcWUm4q4+zuDbyoVOc2zpU9sLI9RWZDd/vsvoOeaQ8CoZn7b/God+VXl4dBzeBpseLDdYmOPf1cfphMj12oah58TOFR5DWVvau9jB0c1eMb6K29Ld3w2j/yfPsySTyrDp053VNkeQSCSCt7c3unbtalY/MpkMGRkZGnm+QkNDMWjQIPB4FRPilTRo0ACjRo3Cq1evqnVONbFYDA8PD3Tv3t2sfiiKQnp6OtzcVDkog4ODMXDgQNja2prVd926dfHhhx9We1tKpVK4urqaFeoJhS3T0tI0bBkQEICBAwfSVWkrSkhICCZPnoxXr16Z7e1WmUilUjg5OZkV6gmFLVNTUzVs6e3tjUGDBlU4v5+S4OBgfPzxx4iKiqpQHseq4Nax+7hzXL7w6OzlhPHfjqhwX3HPVOGHgQoBRVkgqCC7EPlZFQsl5llzNQoCbJ2/B6XFxhc0Xt5ReUOFtyufoAYAdRRimEwqA4crn9ud2HoOBdm6i/9EXIikCwo5uNpppEowRliL2lh74wc6z5m6rQJoW8r/FxQL0X6IanE48prp1X2tuBzMXKuy5fZF+3RWCi3Li9sqW9Y3wZbqERzRj2NRp6XKlm8jDBewqC4QQY1AIBAIVcrmz3bRq04fTO+J0Ga1KtxXWUEAAPzUvb8M5NB4fPkZPm33FS30uPm6YM3179G4S33ERMbj7M7LWuOuiCggk8mQoPDG8wxyB8+aCxabRYc8JL1OMTk0VRfjvhkGJw95GOT1g3cRcfFphfvSh1QqxYFVxzBLLcTTisfBZ79Nx4JdnyD6STzmtv0SKW/lXj7Ono5YffVbtOjdBIlRyTiwSh7KwuawMHvDFJOqeuqCoij6PXf2coKdky0YDAb9GRr4HQABAABJREFUnss9Fiu+ojly0SA69PjeqUe4e/JhhfvSh0wmw+F1pzCj6XxViKcVG7M3TMFXf39m0HOvbLjNHDPEaKh5Cdg62sBF4R2gtGVOai6K8yvufTLs8w/gFSxftX98+TmuH7xT4b4qi9zcXMTExGDs2LHlqp6oi6SkJJw9e1bDU4XFYoGiKGRmZpo91uLiYuzfvx8RERFm91UZ5Ofn4/Xr1xg7dmy5qifqIjU1FWfOnNGwG5PJBIvFQnp6utljFQgE+Oeff3Dv3j2z+6oMCgsL8fz5c4wdOxbOzs4mnKGfrKwsnD59WsNuDAYDHA7HIp6EIpEIBw4cwK1bt8zuqzIoKirCkydPMHbsWA0hrCLk5eXh5MmTGl6DykIFlvAklEqlOHDgAK5dM80TqCoRlAixae5Oenv66gkV9jIHgLgXqrkZHV2gMXeruJdaq35N0aJPE0AR8rjfhEroynkFi83SyCVqKnVbqbzA6iheC4qFOLJeO7zcEl7mvqHeWHvzR7qytpISheDlp5an183PlQ5FLcguQm6G6bn6mnZviPZDWgEActPz8cf3xiuhx6tFZNRqbNyDUemZCAAJLzQ96l7eeWPyWN8lRFAjEAgEQpVx7/Qj3DgkDwd0dHfQSIpeEdQf3IH1lSGf6uGUuidl5/dexeLeP9AJ02s1DsS6Oz8huGEAZDIZ1s3aBplU7r1g6ygvBf/40jN67OUhPT6TFhCVYwQAvzryCY9ELEVqTMV/JNrYW+Ojn8fS25s/3QmJ2HIr3Kmx6Zjf9Vv8tmAvXZwhMNwP6+/8jL5TuuHagdtY0P07eiVWfuwnhDarBYqisGH2DlUFqy8GaEyay0tueh4Kc+QhX+q2VL7nFEUZLGdvDL4NDx+v/JDe3vTZLoiE5a9UqI+MxCws6vWDRtiMX5g31t78AQNm9jIqNFoq3AYAivKK6QIcgfX96Gurvz/xZvyoseJZYfovqtxuW+ftqVbhGxRF4eDBg3j40DKiqUAgAI/Hg5OTZtXa27dv48GDB2b37+DggKZNmyIq6t1VodUHRVE4fPgw7t4t/99HXQiFQlhZWWlVSL17965FrmFjY4OWLVvi1atXZvdVGRw7dsxiApVAIACbzdbyoLp//z7u3DFf5ObxeGjbtm21/FwCwMmTJ3Hjxg2L9CUUCsFisbQqpD58+NAi7xebzUaHDh2qpS3//PEg0uPlAneTbg3QeWRbs/pTLuZY2/PpRSxTF0ONwWAwMOOXCXQFzH9WHkNqrP45lkwmo6ute9f2LHdOOACo00pVmMLexZZOxXFk/Sm6eJCSA6uOWcTL3MXLCb9c+RZcvhW9b92sHXhxO0ojfUNSVAp8Q1U56w6vO1Wu60xbNR5WPEU6jF9PGcxxR1EUHSng7u8Kvq3xfIXqFdyTo9NQV82WL+8RQY1AIBAIBBphqRAbZquqY01bNZ4WqyqK+qqicsLgF+ZNJ2SNfqxZmYiiKOz97gBWTNgAiVjuFdaybxP8cvU7uHrLPQHO77lKhy36hHjhs9+m0edv+WJ3uUWB+OdqK7H11EUg1YSn7DjLS4/xnVCnpXwSEvc8Ecc3m5/AnKIonN5xEdMazcPT6y8BxUR1+Bf9sfH+MgQ18Mf+FUfxw6g1ECtEp6bdG2Dtje/h7i/3BLj6zy1EXJB7zHkEuGHsV0PNGlOcmi0D1WwZYEFbdhrRFg0UFcdS3qbh0Frzk25TFIXze6/i44Zf4JGaB+Gg2X2w6eEKk7w0LRluA4DOYYiyn8t6lrNlm/7N0byXvCpuRkIW/jGx8llVIBKJUFxcbHZ4opKQkBDMnTtXq6iBj48PxGLLiLIffPABRowYYXa+JksjlUqRn5+vkVvKHAIDA/HZZ59pJeL38fGxWDhcr169MHbs2GpnS4qikJ2dbXZ4ohJfX198/vnnsLbW9Cay5Oeya9eumDBhAnJyDCdhfxdkZ2ejd+/eFunLw8MDX3zxhZY3q4+Pj9lFCZR06tQJU6ZMqVa21PYy/6jCXuYAUFxQgoyELECxAKfsK8CCzx6/MB8MmdsPACAWirF1nv50GBkJWfRClX8db73tDBHcMIC+j+zkHHQb1wEAUJhbjJNbz9PtUmPT8eeP8qJHTBYTczdNNcvLnMPlaCz6CUuE+LLfz2ApxEQAiH4Sh/ZDWtPbNw+XzzPXM9AdI+YPBBTVUDd/pj+FQ15GPr1Q7Wfi4ql3bU/6dVZyNvzr+dJiqFLorO4QQY1AIBAIVcL+5UdpT6yGneqh29gOZvUnlUiRqPCg8QnxBMdKvoLG5XMR1FDuBh/3LIEOWxOLxFg5eSP2LP2H7uODaT3w3ZGFdCXFgpxCbFuwlz7+yfqP0GFoazTrqRIFDqwsXyUuzVwhKuFCPQGtekLcisBkMjFr3WR6e/eS/cjLrHjC6dz0PHwzaDl+mbqFTprrGeiGVZeX4uOV48Fis/DrjG3YvmgffU6viV3w48n/wcZBLpIWF5Rg8+e76eMz106iE9VXFHVbBqjZso6aLV+YaUsGg4FZv06mRdk/fvjXaLUuQ+RnFeC74auxYsIGuvCAm68Llp//BrN+nWySTSwdbgMDn0sNW94235Yz1kyq8sIZxhCLxUhJScGcOXPg71/+8B5dnDx5Es+fa+en6devH/r372+RazAYDCQmJmL9+vUWCdezBBKJBAkJCZgzZw6CgvTn/isPZ8+exZMnT7T29+zZE4MHD7bINRgMBtLS0rBu3TokJiaacEblI5FIEBMTg9mzZyMkxHiCclO4ePGizjDhbt26YcQI80R5JQwGA1lZWVi/fj1iY2Mt0qe5SKVSREdHY8aMGahTx7Sqjca4evWqTg/Jjh07YswY03NgGSM/Px/r16/Hmzfv3juHoiis/2QHvQA5fN4A+IVV3MscBhZzQpvXop+7z8189gDAmK+G0pWsbx6+h4fntf+moEx4aUXvzYpnBVdf+aJs8ts0jFwwiBbY/v3lOL0Qq+Fl/kkfBDcMMNCrcRKjUugKn8p7Lcorxm/z99Ci1ItbURg0WyUqJ71OLXf+yJELB8HNT+5J+ODsE7qIV1k0bWmaOGmntrAuFkjAYrHoogqp0enVNv+qOkRQIxAIBEKlk5GYhb8VeSxYbPPyaClJeJVMhxKqiysAEN5WnghVJqPw4s4bFOUV4399f8L53VfpNh+v+BBzNk2lf+wDwL7v/kV+ljx0sdOINmjes5FCFJhIt/t7+WE69MEUop+oVlqVCWOhcPVX8uym+aFHdVqGoNdEeVW84vwS7Pzyrwr1c/3QXUxt8DntDQUAvSd3xZbHq9CwYz2UFJbi6wHLcPI31arrxO9G4YsdMzRCJf5edgQ5qXLvj9YfNEObAc3NuDs56rYMVLNlWMvadI4QS9iyVqNA9Jsm97YRFAs1hMPycOfEQ0xt8LlGqHC3cR3wW+RqNO3WwOR+/l193KLhNijjAaD+uQxpGkSHdzy7Yb4t/ev4VGnhDFM4e/YsDh48aPbfICVSqRRPnjzR6aUilUrx66+/IiPDMkJiQEAAXF1dcf/+fYv0Zy4XL17E/v37LWZLmUyGx48fQyjU9gSmKArr1q2zmJjo4+MDLy+vamPLq1ev4q+//rLYD0iKovDo0SOdtgSADRs2WExM9PT0hJ+fX7XJS3fz5k38+eefFk3wr+9zyWAwsHnzZouJiS4uLggKCqoWtrx19D7tVe0R4IYxX5rnZY4yzx71xRwbe2t6MTQ2MsGsHJ7K/qYsG0dvb9KTDiNRLYTRVK8qXfgoPK0Kc4rg5OGA9kPlucdy0vJwYNUxPDj3xKJe5ihjy37TeqJeG3n+sbyMAkDxN1keXsqg87TJpDLcPFK+zxbPmotpq1QpHDZ/tgsigfbzTj0cVD0Kw2DfNqpFReX7o/RaE5QIkZNmes63dwUR1AgEAoFQ6fz54yE6LHDwnL4ak6iKEnn1Bf26bJnz+u3r0q/vnYrAp+2/wuNLzwBFMv2v//kcw+cN0PgRmJmUjROK6pU8ay6mr1ZNHgLq+mLQ7D6AQhTYaqIoQFEUPU6+LQ9B9VXeMHZOtrQdoh/HobSoVG8/pvLRz2NgbS/3tju94xLelKNCUnF+MVZM3IDvhq2iRUVHdwd8e2QBvtg+Azb21shMysZnHb/G/TOPAUUy/UV752DsV0M1bJmbkY8jijwdHCs2Zq6dZJEf3Epbcrgc1G6i8obh2/AQ0lS+Hf8iCQU5uitrlYeJ342EnbO8ouDFfdfL5UVYUliKX6ZuwdcDliE3Xe4paO9ih6//+RyL9swpV6hzYW4R/v3lOKAIEflkvXnhNkoir72g+wxrocpZwrHiIEwRPpwWm2GWd56SsoUzHl2yfOGM8vDy5Ut06GCeh6w6DAYDderUQb169bSOsVgslJaWWszbhMViYdKkSejatWu1qFJZGbYMCwtDgwbagjOLxYJQKMTr1691nltemEwmxo8fjx49elQbW7Zv396sEDB1GAwGQkND0bBhQ53HxGKxxfJ1MRgMjB07Fn369Kk2tmzdujU4HI7F+qxduzYaN26stZ/BYEAmk1nUlqNGjcIHH3zwTm0pk8mw65u/6e0Zayaa7WUOtWcPANRrG6pxTLkYSlHyxVBz6TauA+q2lnt7JrxMxrGNZ7XaJGqIQBUX1LyCVaGLKdHpmPjdKJV39vIj2LZQFf0wbeWHZnuZo8w8uFHnevjx5P/oQgUSkUo8fHErCg07qp5Pp7ZfLPe1Og5rjUadwwEAqTHpOLhGOx2Ghi1NFCe5fNVnSqrwhPRWt6Wi2FV1hghqBAKBQKhUUmPTceb3SwAAazs+Ri+2TMjOk6uq8KqGnTR/yKqXPT+x5RwdYuDgaoeVF5eg47A2Wv39+eNB2uNtwKzecPXRTIj9oboo8O8dxETGGx1j0usUenWtfvs6Gt5wUPekk8rw8u5bE+7aME4ejhj39XBALV+cKTy69BRTG36B83tUHnztBrfEtqer0XZAC0ARlvpJq8V0lU87Jxv8fPYrnaG7+5cfoUMc+k7tTld7NIf0+Eykxcq9fOq2DoEVz0rjeHhbVVjPi1vm/+C2d7HDxO9G0dt7vv3HYHslT6+/xLTG83B6h2rC2qpfU2x7ulrn584Y/64+ToeK9pzQ2ayiDkpyM/Lp70Ros2A65FmJui2V+QTNoWzhjN1L9r+zMA6RSITZs2ejVatWFuuzqKgIXbt21VndksVioVu3bvD1NW213hT4fD5evnyJ7du3v9Mf3CKRCNOnT0e7du0s1mdRURE6duyoVdwBCqGhW7du8PMzf0FGCY/Hw9u3b7F161ZIpRWvtmwuIpEIU6ZMQadOnSzWZ3FxMdq1a6dVkAAKW3bp0gUBAeaFnKnD5XIRHx+PTZs2WdQzrLyIRCJMmDDBYvkRAaCkpAQtW7aEh4fuZ1mnTp0QGFjxIjFlsbKyQmpqKtavX2+x/Gzl5dqB24h7JvdgrNMqBG0HtjC7T4qiEHlFPnfj2/IQ0jRY43h4O7VnjwU8pJlMJmb9OplehPpr2WGtSuDqXlWmhinqQj0XWMrbNPjX8cGAmfJciMJSET13Cm4YgM6jLPM3UzkP5nA5qNsqBLaONlh29muNIgQAEHE+Ev1nqnJcViQ1hjwdxiQ6LPfAqqNaBRc0bGliPjorNZFWoqh4r27LZCKoEQgEAuG/zr7v/4VU8ZAcPLdvucuD60J9UmbjYK1VOtzN14X2AlLm/vAJ8cK62z+hXhlvNgBIi8ugRT++LQ8j5g/QamPjYIPRi4fQ23/+dNDoOJ9cUa0eNuwUrnU8vL26cGGZinMDP+kNVx95Lo/bxx5ohEmWRVgqxKZPd2JB9++QmZgNKKpuLdj1CZb8Ow+Obg6gKArHt5zDvC5L6BBOzyB3rL35IxrpuKeslBwc3yxfBbbicTD6f0O02lQEjZVYXbZUE1EtZct+H3enc3lEnI/Ey7v6V8xFQjG2LdiLLzovoYU/vi0Pn/02Hd8fWwRnT22BwBh5mfk49Kt8FZjNYWHc18MqfC/qqNtS1+eyfiXYssf4TvTq//ObURpjqCqys7OxcuVKZGdnW7Tf48eP49KlS3qPN2vWzOI/ir28vJCamoro6GiL9msqeXl5WLVqFdLT0y0W7gkAp0+fxvnz5/Ueb9KkCSQSiUUFWS8vL2RkZFjM8628FBYW4pdffkFSUpJFbXn27FmcOXNG7/HGjRtDJpNZ3JbZ2dl48aLqv99QCF9r165FXFycRW154cIFnDypv0BNw4YNwWAwLGpLT09PFBQU4NmzZxbr01SkUin2fKtakJvw7UiL2NPYImN99TnRLcs8e8Ja1EaHYfKk/HkZ+Ti1TdM7S+lV5ezlROeArQg+6oJatFwEGvfNMNg6afY5fukIi3ihZiToXmR0cnfA8vPf0DndAODc3quo0zKEzqtWUlBqsPKpPoIaBKDbuI6AouDCsU2aHn9KW9o62sDJw9GkPnnWqsVR2kNNzZap0URQIxAIBMJ/mKTXKbig8HqydbTBsM8tk5w7/kUSHZbYoGNdsFiqSZmgRIjl49fTlYagyLG17taP8K7lqbO/P77/lxbehsztBwdXe53t+kzpBkd3uRfKtQN3DJYPRxkvOqWrvDr11VdjzUymr8SKy6ErMgHAnz8d0tku6kE0ZjRbqFFCvXGXcGyLXI0e4zuBwWBAJBDhlymbsW7mNto+DTvVw7rbP+n1lPrrp0N00t0BM3vDxav8QpIuIo3YMrwSbMliszB6kcqjUlmdqyzRT+Iwq8VC/LPqGP2Dqn77Otj6eBX6TulW4R8i/6w4CkGxfDW9z5Tu8Ahwq1A/ZTFmS/X8fpayJZPJxJj/qfLv/KHHlpXJgwcPwOfz9XqZVJS0tDR4eur+26I8/ueff1osjxoU1RsHDx5s8XsxlYcPH4LD4cDLy8uE1qaTmppq0JZZWVn466+/LFqUwdPTE0OHDrX4vZjKo0ePwGAwLOrFCBM+l7m5ufj777+RkJCgt015cXV1xbBhwyx+L6by+PFjSKVSixUbUZKenm7QloWFhfj7778RE2N6mgVjODo6Yvjw4Ra/F1O49OcNWhyp374OmvXQDhuuCMYWGd39XOnk96/uvtWZ86wijFFb2Ptn5VG6MmZBTiHyMgsAMyp8KvGqpfpbrBTU7J3t0G5QS3o/z4ZrkXyyAPDEwCKju58rVl5cSueWFRQJ8PWAZRpVvPd+a1oEQ1lGLRpMz2kOqhVcKC0W0NVb/ep4mzzvUc+hplx899Zhy+oMEdQIBAKBUGns/e4AZIoKRMO+6F+u3FGGeHJFTRBQm0ikxWXg0/Zf4eIf1zXadx7RVq9nXNKbVJxTF/2+0C/68ay5GK44TlEU/vpZt1gFnaEN2hXwPIPc4awQnF7efm2xkKO+U7tphKfGv1RV1RKWCrHzq78wt+2X9ITZisfBjDUTsfz8N3D3l4s2GYlZ+LzTNziz8zJ97pC5/bD83NdwctcObYNixfS0IjcHz4aLkQsH6mxXEZ6o5U9T5kRRx8XLiQ4tfXXvrUYpeXPoMaETPcG/c+Ih3j5SJZ4WCcXY+90BfNJyER0aw7FiY+rycVh1ealZoa45abn06i+Hy8GY/1kmVBpqHmpMFlPDs0+Jen6/t49iLZLfDwA6j2xLrzw/uvjU7Cqi5aVx48YYM2YM2Gy2Ca1NZ9SoUQZDSN3d3cFms5GVlWXR6zZs2BB37961qCBSnmuPHTsWVlZWJrQ2neHDhxsMIXV1dYWVlZXFbVm/fn1ERERYVBAxlfDwcIwdOxY8Hs+i/Q4ZMgQdO3bUe9zJyQl8Pt/itgwPD8fTp0/fSZXKunXrYuzYsbC2Nj8/lToDBgxAly5d9B63s7ODra2txW1Zp04dvHr1Cq9eWcZbyxQkYomG2DLx+1EW8/YztsgINS81QYlQI+m+OdRqFEgLWVnJOTi36woA0J75KJMDrSKoL9imRsu9v6RSKV7eUXm+CoqFuLL/llnXURJ5xbAtfUO80OaDZqr2ZbzC1YsllQf/Oj7oNEKeviIvswCnfrsAAMhOVuVb1bd4rQuejervnlQqT2HgEehOh5amRJffk66qIYIagUAgECqFuOeJuPzXTUCRj0pZ6c8S6JqUPTz/BDObL6QnYMpKhQDw4o7+UJ593x2ATPEQH/a5cdHvg+k96WT1l/68oXf1rGxog3oFTCUMBoMWNEoKSxH71DI/jLl8LoZ/IQ9bVRf+Ii5E4uNG8/DnT4folcCQZsHY9HAFhsztR4chPLn6HLOaL0TU/WhFf1ZYtHcOZqyZqPM+lPzxgyoP3aDZfeHoplt4Ky8ZCZlIjZFPqnTlT1OitKVYKMbbchRkMATHioORCwbR20rPqshrLzC9yXzsWfoP7b0X3DAAG+4tw4j5AzW8JivCXz8fhrBUHibYf3pPrZx+FSU3Ix9xz+XiX2izYL2JkdXz+726Z35+P/yfvbMOb+p83/gda+ruQluqFJdSoLgXdxgwdPiwMWRsbGNjbGNjMAYbMNzd3SlQvKVQd3f3Rn9/nOQkadP2JDlh8P3lc127Rpo3b06fnuS853mf576VVPwd2fD+qtTu3r2LjIyMRqtM1CEhIQHx8fGNJun09PSwYMECeHt7NzhGXfLy8nDt2jUKI+nj4cOHSEpKgqOjZhUddUlOTkZ0dHSjQvIsFgvz5s1DixYtGhyjLvn5+bh27dp71fd78uQJYmJiaK/oSktLQ3h4eKMJTyaTiTlz5ig1gNCUwsJCXL169b1q/D1//hxv376lvaIrKysLr1+/bjThyWAwMHv2bLRv357W9waAoqIiXL169b3p0t06+JC83rbv11qpxII6UNlkhBY0PKVMkXMoPfnreQj4ApTklZI/k25CqouhiQHZwSBdFz48GYK0aMVOhj1rjpBVXZrQ1CYjAHQZrlgNlxSeSlatVVfU4OmV10pf1xTyFX8nf7sIXg1PIZbmDWy6KkO+Qk0kWZfqcTmwcSG0H3Utnzp06NCh4/8th76XCY9PXDWynvC5uojFYryTLCSMzAib9ZObLmJt0E8oL6oAJHppfz37mXzPyMcxSm+SUqPSce/YY0Ca9FvadNLP0MQAY5cNAyTJhhO/XFA6rimdKinybZ8RNIjwShk2fwBZlXfv2GN8O/pXrB74I+mYxOaw8Om347Et5Ce4SuzNxWIxzv15Fav6/0C2Qdi72WDrkw1KzQfkyUrMIavZDE0NMP5Letp70URrgzzaiuXgWX1gaU/ogTw+9xzfj/kNK3p/R1b4MVlMTFozGn89/xnN22gu8p2XXoCruwgdKX1DLiatGdXka6jyLpjaeSmv70dnLPt/2hO2zYiF8svrYYh7rX0NsMLCQjx+/Fgrc798+ZJShVhFRQWuXLlC+/v37dsX5ubUtGrooLS0FA8fPtRK0unVq1dITW3a7KWmpgYXL16k/Rj69OkDS0tLCiPpoaKiAvfv39dK0ik0NBQpKU1X9/B4PFy4cIH2Y+jZsydsbGzeW3Kyuroad+7c0Vosk5OTmxwnEAhw7tw52s0tevToAXt7+/eSnOTV8nF0wxny8YwfJtI2d2Z8dpObjKijoxbxJJq29/fx90SnQW0BADkp+bh37DFK8srI51VJAjWEpQPxXVxWWAGhQFGHzlfinp2fXogzmy9r9D556QWUNhnlYymtMpRuIAPAYYpmS3Vxb+2KwFGESUVRdjFu7r+PYjVjqdDyKXds0liWF1f+p4YxVNAl1HTo0KFDB+0kvEnGo7NEObmFnRlGLBpM29xp0RlksqdlNx/8POVP7FlzhGwtDRjaAdsliY0WXYmKkKKcEqV6Z4fWnyYX/BNWUk/6jfx8MAxNibG3Dz1AXlp+vTFUWhtQR/vrzX36xIcNjA0wZtlQAIBYJMbTi6/I51p198XOsN8w7fsJ5KJWqj33z/ID5IKrw4A22PHyV3i2U76TLM+RH8/IKv2WD4eppebmE1IUreHffyy5BlyM+1JmVPHkwgvy374BXvjn9SbM3jgZetyGK2tU4dhP58hKv5GfD6Ys7ksFqrFspaVYsjlsTFotSxA2pEtHJywWCx07dkS7du1on9vQ0BBt27ZtclxlZSXCw8NRUlJC6/s7ODhgzJgxiIqKei/JCwaDgfbt26Njx44URqsG1VhWVVUhMjKS9vY6W1tbjB8//r3Gsm3btujcuTOF0aphYGBA6XyvqalBdHQ0cnPpbauytrbGxIkTERMT896q1Fq3bo2uXVV3Um4KqrGsra1FbGwsMjMb11ZVFQsLC0yaNAnx8fFaTyzc2HuP1MHyD2qv1MRJXeSlOhrbzHFr5UKur94+jKL1d57yjczY5/jP51CUU0w+piOhJu1w4NfycWPfPWTGE1qPbXu3xMoDn5PVYSd/vYCCTPXNcZoyaZLi5OUAcxtCE5jDrZ/ATAhNRpWakg6T5Sr+Tvx6AYXZspZPVWJpYCyr/JRP9sl3i1SV0SM7oS10CTUdOnTo0EE7R36U7XBOWjMa+nK22JoiL2obH5qE4NNPyceffjseP1xcTV6IOw2U3Zw9vfRKYZ7UqHTytea2ZhixaBDlYzA2N8Koz4MAiYvoyU0XFZ4Xi8XkceobcRtsbQAAz/ZuMLMmkk+vb4XXs3RXl7SYTLy4HqrwM0NTAyzfPR+bH6yHq58L+XNl2nMTV43ExmtrKbmyZiXm4O6RYACAiYURxiyjr70XciL6HD02fAM8Gxzn6udMOpy+uRdRz9JdXTITsvH8qmJrhL4RF4u3f4atj3+kpSpNSl56Aek4a2hioGAwQQfSRC+TyVCqnybF3t2W1DuLeByDssJy2o5h0Mw+pHbgkwsvkfyu6aokdSkrK0NCQgKGDRumcRtuXUQiEfr27UspCdS8eXN4eHjQ+v5SiouLcfr0aa1rVlVUVCAmJgbDhw9vtC1THUQiEXr27EkpUefq6gpPT09anPLqUl5ejjNnzmjdpbKyshLv3r3D8OHDweXSd32E5PrTtWvXRnX9pDg7O8Pb25v2zwYkic8zZ87g7du3tM8tT3V1NcLCwjB8+HDadejEYjH8/f0b1fWT4uDgAF9fX9o/G5Ak686cOYOwsDDa55Yi4AsUdGGnr6evOg11Nhnb9PJrcByLxUKH/oQJQmlBOaKf0ue+2yrQl9xIyojLxrtHsgo4c1vlZlSqIJ8EOiYXyxk/TEQzXyeMWEisM2uqarF37TG130cxOdlwLBkMBjpK1sG8Gj46Bym2JIvFYhxR05zAu6MH/CXz5aUVIOzOO/I5CxViKV9dJ59QM5KLZUVxZb3XfUjoEmo6dOjQoYNWclPz8fTiS0BiQz5s3gBa5392RZYYK84lNBsMTQ2w/sKqenbk3Ub6k/8OufhCYZ6L22+Q/564aiQMjFRbiI9ZNpQsVb++9x4Ks2U7nfGhSSiSPG7do0WjumMsFgtdhhE6FzWVtQi7q1k1EK+Gh0Pfn8L8dl8iKkRxIdp9TACGfNZPIUaPzj7Dgg6rSO05fSMuvjn5BT77ZSrlm6xLf98kKwTHfjFcI+v5uqRGpZOitC26eoNr0PDNJ4PBQNcRxN+czxPg5Y03Gr03n8fH0Z/OYk7rFQi/H6nwXMDQDhixcBDtN6JXd90m9e1GLQ6ilNCkSnZyLmme4N3Jo0H9NEhi2U0SS5FQhOdXQxscqyp6+nqYSMGJlg7u3buHZ8+eaWXuhw8f4ujRo5TGcrlcTJw4EXw+PWYZ8tja2sLd3R2Jidptn3348CGePHmilblDQkJw4MABSmM5HA4mTpyolWodS0tLeHt7az2Wjx8/xqNHjyiMVJ3nz59j7969lMayWCxMmDBBKxV5pqamaNmypdaNHp4+faq1NuTQ0FDs3LmT0lgmk4nx48drJdErrd7U5nn55PwLFEiE5bsM7wifTvRtAPB5fLySXI8NjPXh3bF5o+Ol1x5INl3oZMo3ssqqd8HyCTXNK9SMzGXX1LxUotKvQ//WaNWd0Hz89LvxMLEg1kd3Dgcj5oXqmyBCoRAvrhHX48b006R0lYultYs1/LoqannePHBfyauoMVUulvKV7KrEUv7zolChZiaLZUWJLqGmQ4cOHTr+H3Fl5y0yuTJs3oAGtR3UIS8tH69uhiv8rFkLJ2x//rPCAkyKo4c93FoRlVgxzxPI8v7K0krcPkw4e+obcRE0u6/Kx2JmbYrh8wcCkvJ+qbslADw8Jauak7dMbwjFxJ/6i8c39yMwr92XOPzDabJl0M7VhjRoCD79lKzaqqmqxdZ5u/DD+M3kYsXR0x7bnm5Er/HU22aqK2twU6KdxuFyaE+gBp+WJUOoxFKq6wEATy+pH8uIx9FY0GEVDqw7Ab7EMdTa2ZJMooZceElr1RYk+jXX/iUcs1hsFoYvpF41SQVNYhmiQSyVMWRuf7IVJfjMM4WENJ0UFhZSqtRRh7i4OJWE+RMTE7Fz505UVVXRehwMBgOTJ09G//79tdqqWFBQgC5dumhl7ri4ODg5OVEen5qaip07d6KsrIzCaNWYMGECgoKCtNqqqM3zMj4+XqXzMiMjAzt37kRxMf2fwTFjxmDYsGFajWVBQQECAgK0kshS9bzMycnBzp07kZ9fXwZCU0aMGIHRo0drre3z4g7ZJuOYpUNpnTvsbgTKJVVGXYZ3bHSTEZINK2l7ZMill7R+r7Xr04pMKsknamhp+VSymSgfS1NLE0z7Xlb5t2XuLvB5qm2yRDyOIbXoOge1a3STEQD8B7cDR4+I98troVh36gtY2MtkJMoKKxD9XL0qQL+uPmjXtxVQpy1T3VhK7x1Qp9pPl1DToUOHDh3/b+DV8HBNklhic1gYOrc/bXPHvU7Eos5fKSys+k3tgb+e/QwXn4YXvNJEm1gsxrPLRNverYMPUVNJtFYO+LSX2hVVIz8PIoVeb+y7B5FIBLFYjOAzREKNyWIicHTTiYsOA9qAa0AkHp9efqXygrm0oAy/zdqBlf3WIyOO0OxgsVmYtGY09kRuwYBpvQFJBdz944+R9DYVi/xX46okeQMAPcd3xY4Xv8C9lWoOafePPSYXO30+CYSZteZtE/JIYwkAPcY2fTPfppcfqb/y/GooBHzVnNHKiyuwdd4uLO/5LVKjMgDJ33HcF8OxL2orhs4hzmk+T4A7h4NV/G0aJ/j0U1IfsMfYAFg70iuQLh/LnhSSpi26epNJr1c339DWjgyJ2ULQZ/0Aya70rQMPaJtbSm1tLWbMmAF///rJdjoYMGAA+vXrR3m8s7MzxGIx0tPTaT8WNpuN8+fP48aNGxRGq05tbS2mTJmiFY0qSMwVBgygnox3dHQEg8GgZAihKiwWC5cvX9aKiQQkRgATJkxAjx6NG72oS69evTB4MHXdUgcHB7DZbEqGEKrCZDJx48YNXLig3LxHU3g8HkaPHo0+ffpoZf4ePXpgyBDqEga2trbQ09OjZAihKkwmE3fv3sWZM2cojFaNpLepZPtjsxZOaNenFa3zy0tz9BzX9HeIqZUJWvcgqrqyEnKQFp1B27EwGAyMWjyk3s9MrYw1nruuS7xDczt0Gqyovzds/gBSJiLpbSqO/KDa31PVWBqaGKBdP8LJNz+jEEU5JfjuzJfk2hUAfp/1t0rHIM/oJfU/H2Y2qq0DpccilkuoKbR8ltC7CUU3uoSaDh06dOigjYennpJVOz3GdYGlvYXGc4pEIpz54zKWdvtawZZ76rfjsObQkiaNBLrJVeI8ufgCIpEIl/6W3XRqYphg52pDukblpubj9e23iA9NQk5yHgCgXZ+WMLdpeqdO35BL6lyU5JUi5nkCpfcXi8W4feghZrVYppCQ8OvqjX9e/4rZGydD35CLIXNkN/3HNp7D5wFfkVbuXAM9fPHvfHxzYnm9xSCV978oH8uF9JlPQNLumRJJJB/8uvnAxtmqyddw9DgIGNoBkOxqvg2m5hImFotx7/hjzGqxTCHR6N3JAzte/IJ5v0+DgbEBgubIksTX9tyhdef8khZjmZ2ci7hXRLuQZ3t3OHrYN/kaoh2Z0LSiox25LkGzZefl9b13aa1iEYvF2LNnD0JCQmibU57o6GiUlJTAyIj6Z8bY2BizZ8+Gu3vTJh/qYGdnh7CwMNqrgcRiMQ4cOIDgYHoTyFLi4uKQl5cHExPq7c0GBgaYPXs2vLwab3dSF3t7e7x9+5b2Fl2xWIzDhw/j3r17Cje0dJGYmIjMzEyYmVGvENHT08OsWbPg40OfAL08Dg4OiIiIQE1NDe1znzhxArdu3dJKLFNTU5GSkgILC+rrGDabjVmzZqFly4aF4jXB3t4eMTExqKykt2Ln0g7Faw+d8eTz+KTkhoGxPvwHUzOH0WbbZ+DozgpyCiZWxrTIN9RdQw2fP7DevGwOGysPLAKLTfz8xK8XKLd+CoVCPD5HGH5xuBx0Gd6J0usC5bsgLrxEy24+mLBSZrSUFp2J6BfqVakFDOkAK0fZZ0TfiKu6brLkdJNfT0lbYwGgUlehpkOHDh06/r9wccd18t8jFwVpPF9xbgm+GfYzdn15CAK+rGrLytEC076bQGkO747NSaH6sLsReHb5NVnF1bZ3S7i1dGlihsYJ+kyWYLm+545CuyeV3UMp8joXVNo+02IysWrAD9g0YzuZxDQyM8SSv+dgy6Mf4d5aJpTv3dGD3BHNSysgWxibt3XFjle/Imh2P7UW0JFPYpAUTlQ1+AZ40aq5gjotiqq0ocovxJ9SiGVmQjbWDvkJP0/5k0zaGhjrY9Gfs7Dt6U/wbC9LgLi2cCbF/FOjMhBFk2By7KtERD8jFtXN27gq2N3Tgbqx7EpTO7IyHJrboUN/Yuc8OykXb+ro1GlCZmYmCgoKtJa8unfvnlqVZiYmJrh48SJ4PB7tx9SlSxcMGDCA9ta33Nxc5OTkaC2WDx48UKvSzNTUFBcvXtRKoqZTp04YNGgQ2OzGW9NUpaioCBkZGXBzc6N1XikPHz5UqzrK3Nwcly5dor0dGQDatWuHoKAg6OnRJ/8AAKWlpUhOTtbaeRkcHIzk5GSVX2dhYYHLly+joqKC9mNq3bo1hgwZQquRRXlxBWlIZGhigAHTetE2N5S0ezbVoiil60hZskgT+QZl6HE5Cr8nXQlEjr7MkILFYWHQLOWVk57t3DF1HeE4KhKKsGnGDkoV4HXbPak608sn3qTyDZ/9MhUcOWfyrwb9hJL8UqWvbwwWm4VBM/ooPFYVskJNrGv51KFDhw4d/4+JeRGP2JdEBYxHO7d6wqeq8upWOOa1+1KpsHyfSd0pL4AYDAa6ShYT/FpCZF7KSA2q06R0Hd4RFnZENUDIxVe4f5IQ7aba7imly7AOYDIZknleNDiurLAcO5bsw9w2K/DmnqxiqNeErtgbtRXD5w+sd0Md/iASuWmKmi6jFgfhr6cb4drCmfIx1kVec4WOWNZF1XZPKf5B7cHmEIu6JxdfNFhFVlFSiZ0rDuKzlssVtPkCR3fG3qitGLU4SOmu9ZDPFKvU6EC+Om3kInorBKBGu6eUDv01a0duiiF1EtJ0YWNjg4kTJ6qkf0QVsVgMDoeD9u3bUxitiFAoRFRUFBISqFWhqgKXy4Wbmxvu379Pa+WkpaUlJkyYoLUkEJvNpuTuWRexWIzo6GjExsbSfkx6enrw8PDAvXv3aI2lqakpxo8fr7XKOjabjU6dqFWtyCMWixEbG4voaGoVvarA4XDg7e2Nu3fprUI1NjbGuHHj4OtL7+aDFCaTqXYs4+LiEBFBb0UvJH9fX19f3Lt3j7bv4lsHHqCmSiKBMa0X5SQNVVRtUZTi4G5HbgTGvEhAQVYRrccllRwAgKqyKlo+54lvZAlYjzZuMLVsuOp20ppR8JZsQqbHZOLAupNNzq9uLK0cLOAbQHznJL9LQ3YSYfQ0dJ7s+ltZWoUNE7eoLJMBAIPldIhrKmtU/pwzmPUTaoY6UwIdOnTo0PH/jUt/3yT/rUlCgM/jY/fKQ/hq8AbSxdPCzoxceEDFhADqtH3GvSaSfjbOVgpmAOrC5rAxcDqhUSYUCJGfRjg7UW33lGJuY4aWgcSNQUZcNtJiMhWe5/P4OLf1KmZ4L8aF7ddJJ0g7VxtsuPIVvjnxBawcFFtThAIhDqw7gZX91qNSToNC34iL2T9P0cgwojC7GI/OPpccu6nKf5OmUKfdU4qRqSEplJufXkg6mEoRCoS4uOMGpnstxtktV8jqRxtnK6w/vwrfn13Z6Pv1HN8VRpLF3sOTIags1WyxV1ZYjvvHiUSssbkR+kzurtF8dVGn3VOKviGXbGtWpR2ZKl1H+sPMmrjpeHL+BUoLNBeZLy8vx+XLl+Hh4aGVVrDq6mrMmDEDzZqppjcISfVKmzZtwOFwKIxWnfLycgQHByMzM5PC6KaprKzEpUuX0Lx5c63FcurUqWpVGZmYmKB9+/a0Vz5JqaiowOPHj2nTw6qursalS5fg5uamlVjW1NRg4sSJaiXrDA0N0alTJ1orn+SpqqpCSEgIbS6VtbW1uHDhAlxdXbViRlBbW4uxY8eiRYsWKr+Wy+Wic+fO0NdXzTmcKjU1NXj69CktiWSRSIRL/8jWbppIYChD3XZPKV1HyFepvWp0rKq4tnAmEzn8WoHG1eZisVhhA9g3wLPR8WwOG6sOLCKrxM5uuULq2ClD3XZPKYFKqs1nbvhEYUz4g0gc//m8SvNCkvxkSTYxhQKRwmYvFaSbyZDLabJYcp9r7Xnt0IIuoaZDhw4dOjSmJL8UD04QCQETCyP0+US9hEBqVDqWdV+H05svkz/zH9wOmx+sJ5Mits2s4du58YVKXdr2lgnVSy/MQ+cOUKs0XRnyO51SVNk9lKLQ9nmBWISKxWKEXHqJOa1X4J8vDpCtE/qGXEz7fgL2RG5BwJAO9ebKiMvCF72+xdGfzpK7fpYOhLNTTWWtwk6nOlzbfYdM6gV91g96XHoTBAotimrEUlF/RVbx9+J6GOa2XYHti/eSrbJ6+hxM+Xos9kZtoZRk1Tfkou9kQlC8tpqHe8ceq3x88lzfe49swx00ozcMjOi9EZOPJV3nJV0QrTdEQprPE+D2oYcaz/nixQutVIBJOXLkiEZ6YqNGjYKpKb3mHVLc3Nzg5uaG6upqCqOb5tWrV4iLo6etWRnHjx/HvXv31H79iBEjYGlpqRV3UxcXF3h4eNDWUhoWFqaVCjApp0+fxq1bt9R+/ZAhQ2BjY6OVWNrb28Pb25u2WL59+xaRkZFac7U9f/48rl+/TmGkcgYNGgRHR0etHJ+NjQ38/PxQW6u5SczrW+HISsgBALTv1xrNfOmt6FW33VOKogM6vdceSKoQpWhabf42OAp5kg1VALBxsW7yNa5+Lpj54yRAstb7beYOVFco/+6Wb/f0H0y93VOKvHzDE0ksDY0NFCQtAODohrNICFO91VnqJAo1YqksKS4UyqrcmKwPO2X1YR+dDh06dOj4KLi+5x74PKJMfPCsvioLkgoFQhzbeA4LOqwiK2nYHBbmb56ODVe+QuSTWDJ503NcV5V39zl6HHQcJNsZZbGZCkL9muLk6YC2fWQixAwmQ6V2TymBo2QLnrtHHyHhTTJWDfgB343ahMz4bPK5AdN7YX/sn/j02/H1Yi0UCnF682XMa/cluePKZDExe+NkfHPyC3KcvPC+qgj4AlzZfZuYm8nAsPkD1Z6rIRTaPcdRb/eUIr+zfe/YIyS9S8VXQRvw9dCNpCEDAPSd3B37Y/7EjB8nwcCY+gJV/vyROtuqg1AoxGW5CoHhCwepPVdDKLZ7qh7LLsM6kgva+yee0N72KZ+QvrbnrsY3ofr6+ujdu7dWqsAqKiqQnZ2tUStpZWUldu7cqZWkH5PJxPTp02FhYUHLzTyXy0XPnj21UrlUU1OD9PR0ODo6qj1HbW0tdu7ciZiYGFqPDRK5gKlTp8LW1paWWOrp6aF79+4wNDSkMFo1+Hw+kpOTNTovBQIBdu7cqZVWRQaDgU8++QSOjo60tH1yOBwEBgaqZGRBFZFIhISEBI3OS5FIhF27diEsLIzWY5Myfvx4uLq6avxdrHXZBjVbFKV4dWgOGxeiWjz0zjsUZhfTenzyn+uHJ0M0ai2UjyXqVlg1wpjlQ0ld1uykXPy7+qjScfKxVEUHVUozXyc4ezsAACIexSAnhTDPmvrteIVxQoEQv07/C7xa1QxZ5NflT86/UEmPjSGXUJN+P4h0CTUdOnTo0PH/ibtHZdUawxeolhBIepuKxV2+wv5vjpNJORcfR2x7uhFjlw8jrOKPPSLHq9ta2MxHtjg2tzWDhZ25WvM0RLvesoSaua2pSu2eUhw97OHXjVhYpUSmY0GHVQql8617tMCOl79g1f7PYe1UvyUxNToDy3usw+6Vh8CrIRZDDs3tsOXRj5i0ZjRaBfqSJgxRIbFkS6WqhN2LQJFkYdt1pD9sKezEqkJieIra7Z5SrJ2sSMH7rMRczG+/UkEnrUUXL/wZ8hO+OrIUts1sVJ7fs507fPyJNuSEsGSylVhVIp/EIjeV0LfzH9wOTp4Oas3TEBlxWQrtnurMb2Ztis5DCL2w/IxCvFKia6gJzXyd0Lon0VqVHpOJyCfqJ0cqKirg7e2NLl1UTxxSwdDQEOPHj9fIEdHIyAj29vZaq1YSi8XYtWsXXr3SrEWqqqoK7u7u6N6d3hZkKVwuF+PHj0erVq00msPZ2VkrCTUpe/fuxdOnmlX01tTUwMnJCb1796btuOThcDgYN24c2rZtq/YcbDYb7u7uWo3loUOH8PixZhW9tbW1sLW1Rb9+9G2KycNkMjF27Fi1dP3k5/Dw8NBqLI8ePYoHDx5QGKmckvxSskXRxsWKdHSmi5qqWrI6XJ12T0iSNP2n9gQkCRZ5N3M6kE/aaFJtXllaiWd1WlKpJoFYLBZW7l9Ebo5e/ucmQu+8VRjD5/ERfIaoNFen3RPSWH5KGDGIxWLc2EdUBgeO9IeBsWJVfEpEOg6vP63S/PKxFPCFuH2IehU3kyVLxkn1/KSb6NAl1HTo0KFDx/86KZHpSI3KAAC0DPSBQ3M7Sq8T8AU4/MNpLPJfjfhQorycyWRgwsqR+Cd0E7w6NAckSSJpUsnRw07ldk8pmQmyCq+i7GLkpRc0Ol5V5DXPygoqUFWuessVr4ZXTwcNAOzdbfHt6RXY/GA9vDvWd9IUCoQ48ct5LOiwinSKZDAYGL1kCHaF/w6/Lt7kz+SrgdRtrws+FUL+u9+UnmrN0RiX5fT4+qrZPsyr5SskTcUiYifatpk11h5bhj+f/ETGRV3kBfVvH1QzlnK7ztqI5SUaYol6RgzqV+RRmf+WmrEEgKtXr+L27ds0HZUiQqEQly5dgr29vUa6TQwGA5MmTUKPHj1oPT75+b28vDS+mb9x4wZu3LhBYaTqiEQiXLp0CTY2NhprYI0fPx69etHrTCiPp6enxrG8desWrl27RtsxySMWi3H58mVYWloqNVFRhTFjxqBv374URqoHHUmme/fu4dKlS7QdkzxisRjXrl2Dqampxg6vI0eOxIABA2g7trpoel4+Of+CTIL0mdSdNgkMKfePPyYrvrqPCVC53VNK0GzZmuX6XvqMLZTNc/uQegm7kEuvyA1hKaokgZw8HTD7lynk499n/62gzfro7HPSgbzL8I5qG0cMmtmHPK6b+++TSavuYwLqjT216QKinlFv95dPqEHFWMqfezUVNfXm0yXUdOjQoUPH/zTqlPQnvEnGos5rcOj7U6QgvKufM7Y++Qlzfp2qsPCST66MWKie2UFtdS2eXwklH4vFwM1991WepyGKc0vwWCLQD0mC69VN6lU8YrEYD04+wawWy/Do7DOF56avn4C9UVvRY2wXpb97ckQalnT7GnvXHiN1uJy8HPDHw/VYuHVmPT2uflN6kAKwTy407IDZEAK+AE8kgrb6Rlx0DlJ917kxyosrcPcoUZFoaGKgYG1PBbFYjEfnnmNOq+XkPFI++WoM9kVvRZ9JgbSIgvea2I2Sm2hDCIVC8u9N7DrTWyFQXVGNmweI81xPn4NBs/o0+ZqG6BzUHlaORLL32ZXXtLfe9BgbQO7Qa+ImmpqaqpbAPRWio6MRHh5OS8urmZkZnj9/jjdv6K32kzJ06FAMHKhZK7Y2YxkfH483b95AIFDdUa4upqamePPmjcYVeQ0RFBSEoKAgjeZIS0vTWiyTkpIQGhoKHo+n8VzGxsaIjIzEs2fPKIxWnYEDB2LYsGEazaHN8zI9PR0vX76kRZ/MyMgIcXFxGlfkNUS/fv0wcuRItV+vrvMzFcRiMW3tpA7N7chq8+ykXLy5H0nLMconbKTXnpgXCSjILFR5LvlYSlE1CTRi4SAFM6UdS/eTawq6YmntaImAoYTmbkFmEVmhOGvj5HpjRSIxfp+5A7XV1D4LUs0zfSMilsnv0pCVmEPptfLrsdpq4ntM/u9DtX32v+LDPjodOnTo0PHBo7Aoa0Lris/j48C3J/B556+QFJ4KSBYdn3w1Gn+/3oQWAYruZJVlVbh1kNjl0jfkYuAM9dplXt0MR3WFohjy9X13adOCurbnbr3dSamLUlPEvIjHsh7r8NMnW8nWP3nMbMyUCv4L+AIc3XAWCzvKdOeYTAbGrxiOXW9+Q6vuyt3JzKxN0bI74SaaGV/fTbQpwu5FoLyoAgDQZXgntXedG+LWgQdkyf+Aab1U2omND03Cl32/xw/jfkdWYm69582sTWg9XiNTQ7TvRyz089MLVRbyjXwSqyAybGRKr7bSnSOPUFVGVEr2ndwDppbq6w2x2CwMnklUroiEItzcT19CGgC4Blx0lHMTlVZaqsr06dMREFB/t50OWCwWOnbsCBsb1VuElVFbW4v79+9rRbjcyMgIkZGRiI9XL44AMHnyZAQGBtJ6XFIYDAbatWsHBwd6Wpxra2vx4MED2qpX5DEwMEBcXJxGLboTJkxAz570V6BCEsvWrVvDxcWFlvl4PB4ePnxIS7KzLvr6+khOTsa7d+/UnmPcuHFaq6ITi8Xw8/OjLWHH5/Px6NEjWpKdddHT00NGRoZaSfmS/FIyMWXvbgvvjs1pPbbIkFjSSMq3syd8/NXrLJAiX8F8XUPzACnyCRszG5lJjKpuopWllXgtkZOQun9DjYQak8nEl3sXkmue24ce4vI/txAfmoSoEMLR1a2VC9r09FNp3rooVpsTsbR2tISTl+y7WBqP9Ngs7P/6OKV5pfE0sTAmf0Z1HcznyfTaLOzMFOaDrkJNhw4dOnT8L5MapdjuqUzXS0rsq0Qs7LQaRzecJcvM3Vs3w1/PNmLWT5OVJo3uHA4mE2H9pvRQuFCrwsPTshZF707EwjE/vRCvb71t5FXUEAqEuLpL1mIm1aJ4fjUUAn7DNyQZcVnYOGUrFndZSy6WAKDjwLZYd0pmHqBs8ZgYnoLFXdbiwLcnyAo/F18nbHm8AXN/m9Zk0kjeAfMpxQWPFPl2T3VEhhtDJBLh0t+yndgRFHdis5NysWnGdizyX4O3D6PIn7fr0xLfnf2SfHxtzx3akxcKDpiqxlJDwebGEIvFuESz4PTg2X3JnWQ6W2+kaHJeAsD9+/eRkZGhcQuhMng8HkxMTDSurpEnMDAQbm5utM1Xl5ycHDx58kSt1wYHByMlJUXjFkJl8Pl8GBgYaFRdU5euXbuiefPmtFSeKiM3N1ftSqOQkBDEx8dr3EKoDIFAADabjTFjxtD2u3fu3Bmenp5ai2VeXp7asXzx4gUiIyO1Yjgi3WAbP348bb97p06d4O3trbVY5ufnIzg4WOXrmny7pzpGT02hznW8MbqN8oe5JMnz5PwLlBaUaTwn5H5nEyu5JNAl1a498u2eXnKJSXVaaO1cbbB051zy8d/L9uPAuhPk45GLgjT+W/kPbgdrJ0tAsk4tyCoCAIz/cjg5praqFhzJmvzcn9fwNjiqgdkIxGIxeVxG5rKkItVYCuQ2pPUNiTW0QoUaze3IdKNLqOnQoUOHDrUJPi1rC2koIVBdUY1/Vx3Gkq5rkRJBCM2z2CxMXTcOO17+olQTDNKEAA2LstrqWjy7/BoAYGxuhAkrR5HPaWqTDsliKj+DaBHoMrwjAiTCvhUllXj3qH5FQ1ZiDjbN3I7Zfstw/7jsZtfF1wkbrnyFn69/jZ7jusK7ExGX+NBkxIcmARKx1v3fHMci/zVkNRSTycCk1aOwM3QTZU0wBSt6FRaP2m73fHUznKws69C/NZr5Nu5Yl5OShz/m7MQMnyW4fegheVPh6GmP9edXYdOd79B9dABa9yCq9dKiMxEpl7ykA3k3UVViKRQK8egc0SasjXbPtw+jSGOHloE+8GyvecWFvZstOgxoAwDISc5TMMygg4ChHWTtyBdfqnSTyOfz8fTpU1RVVdF6TFJu376Nixcv0jqnlZUVBgwYgKSkJFrnldK5c2e1XBCFQiFCQkK0Fsv79+/j3LlztM5pbm6OwYMHa8U5FZJYmpmpbjQjEokQEhKCykr13QMbIzg4GKdOnaJ1TlNTUwwZMgSJieoZrTRFp06d1IqlWCzGkydPUFFRoZXjCgkJwfHj1KpxqGJsbIxhw4YhKSlJK5WoHTt2hIVFfd3VptBmu2dhdjG5NjSzNlHLkbIuHD0OKf/A5wnU1n+VR4/LIZNGIqGIdBN9cy8ClWXUv/vkY+nZTnadVbeqqu8n3THuCyK5JRQI8eI64RRrZGaIflM0N4hhsVkYNJOQf5CvNg+a3Q9sPSLpX1NZi/6fEhW1YrEYv83cgeqKhnWBGQwGWZ3HrxWQbqKRj2MoJT+FAiJ5xmDKkoVCXYWaDh06dOj4/4B85Vfddk+xWIyHp0Iwq8UynPr9Ernb5NHODdtf/Izp6yeCo9fwLvOb+xFIiybaEVv3bIHmbVzVOkb5ds/AUZ0ROMoflvaEWP2zy69RlKOZFtSlHdfJf49cFIRA+WTVBVmCJSclD5s/+wczfZfi9sGHEElE8k2tTLBo2yzsDv8dAUM6kLt8Q+TMA679ewePzz/HbL9lOLbxHFnh59bKBdue/YzZP0+Bnr4e5WN29LCHWyuiPSj6WTxlPSxtt3vKJ1BHLmpYsygvvQB/LtiNmT5LiEopstXACPM3T8eeiD/QbaQ/GUt5IwY6kqjyWDtakkYZSeGpyE6u32qqjMgnsaRTqjbaPS9SjKWqDNFiLM2sTdFKkvxUtR2ZwWCgefPmGrkcNkZCQgJatmxJYaRqpKSk4OjRoygtLaV9bk9PTwwcOBDV1aoZpDAYDLi7u6N9+/a0HxMk+ml+fpq1LSkjPT0dx44dQ1FREe1zu7m5YciQISonGRkMBpo1a6aRY2RjaOu8zMrKwvHjx5GXl0f73C4uLhg5cqRaSUYXFxf4+/tTGKk62jovc3NzceLECWRnZ1MYrRqOjo4YO3asSrHUdrvntX/vkGuUoM/6q7Q2aQzF6/hdWhKUxpJqqsqSKrJCWsAX4qUkidUU8u2elg4WMLWUVbrJt3+qyme/TCHlJKT0n9oTBsbqmRHUJWh2P3J9dGPfPYhEIjCZTHQaKLt+RjyKRiuJPEhOch52rzzc6JyyWFai28jOgESH7dmV100ej3QNJ1+JVlEsO6c1ieX7QJdQ06FDhw4datFYu2dqdAZWDfgBGyZtQUEmcXPD4XIwff1EbH/+s8IuXkMoirCqnxBQSPqN7wo2h42BM4jdOaFAqJENe2pUOrkwdfZ2QIf+reEf1J4Uqg+59BK5aflk8ufGvnsKyZ9ZP03G4aQdGPV5ENgcxXagPp90J8Vdr+25i/Vjf0deGuFMyuawMOWbsdjx8lf4dFJe4dcUgZIFDwA8u0xNM0Sb7Z5ZiTl4cY1YxNo2s0bAsA71xhRkFWH74r2Y4bUYV3bdJttdjcwMMe37CTictANjlw+rl6jtOa4LjM2NJL/DU9J5jC7k2z6p6q9os90zP6MQT86/AABY2puj+5jOTb6GKl1HdFJovSnJpzcRpG7bZ0FBAUaMGAFTU1MKo1Vn2rRpWtHA8vLyApfLRXp6Ou1zQ+LUqaojYkFBAYYNGwZzc3MKo1VnypQpWtHAat68OYyMjJCamkr73ABw584dlSvrCgoKEBQUBCurhuUQNGHixIkam08ow83NDaamplqL5f3791WurCssLMTAgQNha2urlWMaO3YshgwZQvu8zs7OsLCwQEpKCu1zA8CjR49UqqzTZrungC/A1d2EBAaTycDw+fS5nLr4OKF1T2LDJT0mE5FPNHOLhaRrAZKOgm6jZNdJqtXm8u2ePcd2QWlhOfmcuY361yIWm4U1RxaDyZalagqzi2mrcrRztUHHgbJq87C7hKbhwj9nkmPSY7MweukQ0rDhyq7beH07vME5jeRiKV+5/7SJWPLk9NOka2dItFSlmGkQy/eBLqGmQ4cOHTrUQlm7Z1V5NXavPIR5bb9UaAfrPKQ9/n23GVPXjauXOFJGXlo+eTNt5WiBwFHq7UjXbfds349wUAqaLbuZu7zzVqNaZ41xcYeiAymTyYSRqSHp1JSXVoAZnvWTP9PXT8ThpB345KvRDYruM5gMOHraA3W0JDoMaIPdbzdjxg+TlOrOUaWrXCXdEwqJC223e17+5xa5WBw+f6CCdlNRTjH+WX4A0z0/x8UdN8gFrKGJAaZ8MxaHk3bg02/Hw8jMSOncXAMu+k3pAUgcpK7vvUfrscufn1R01LTd7nl1123ynBkyp3+jlaCqwtHjYOB0whxEwBfi6i56q9S6qXheQqIjdeDAAURG0uP+Jo9YLMbhw4e1ps3G5XKxZMkSrVTGQHIzr0q7mVAoxIEDBxAe3vCNkyYcP34cSUlJWtFm43A4WLRoEdq0aUP73JDEMiUlhbJ2oPTcCQ0NpTBadU6fPo3Y2FitxJLFYmH+/Pno0KH+xgYdODs7Iy0tjbLxgVgsxrFjx/DyperailQ4f/48IiMjtaJzx2QyMXfuXK2ZpTg7OyMrKws1NTUURmu33fPJhZcozCIqr7uO9IdtM3oMXKTIC+qf/+t6o2OpIE0CVZVVo1V3HzLB9vxqqIJQfkPUjaX8BpO5rWZJoLiXSRAJZN81j889xyU513tNkY/lBUksHdzt4NdNJh1y5IczmLPpU/LxjiX7GlwvS2Mn4Avh3qYZaS7w6mY4aTSljBKJMRMk6yHy53n0xVLb6BJqOnTo0KFDLR6ff07+u8fYLrh/4glmtViK05svk+X+9m42WH9hFTZc/gpOntTd3C7uuEm2RA6dO4BSEk4ZoXfeKbR7ShMLjh728A8i2pny0gpw58gjlecuL67AncOEjoe+ERcDpxP6HkU5xRDwZO6hAkks5JM/U9eNazD5IxaL8egc0d4pdUKFREPi6+PL8MuNb+Di07i2GBW8OzYnhWnf3H2HqvLG28LePozSWrtnVXk1bu4nklwcLgeDJQnPkvxS7F55CNM8Pse5P6+CV0MscPWNuJi0ehQOJ+3AjB8mUTKrGL5AVsVxZvMl8Groc11r1sKZTH6+exSNMrldamXEPE/QWrtnbXUtrv5LJLlYbBaGzqOvQkDK0HkDSK2zc39ebVRbRVUcmtvBvXUzAEDMc2rtyLm5uaitraXNmU+ejIwMJCUlwchI+eeVDgwMDPDnn38iKqpx4Wd18Pf3x6RJkyhXoRQWFqK6ulorsczJyUFcXJzWY/n333/j7VvNDWfq0r59e0yePJlyYrW4uBjl5eVo3pzeljpIKt+ioqK0Hsvdu3drJSHYpk0bTJ06lXICq6KiAsXFxVo5L0tKSvD27VsYGmqvrUxfXx/79+/HixcvaJ/bz88PU6dOBZfb9DW5vLhCa+2eYrEY57ddJR+PWKi5GUFdeowNgLktkah5dOaZyi7ldZG2KYrFYvCq+QgYSiSQq8qqFQyOlFFdWaPQ7tky0AcleTK9MOlxqot8LKX8s/xAkwYBVOk6ohNsnInK2WdXXiPhDaHL++XeheSY5Hdp8O3iCb9uPoCkau3yP7eUzmcsZ0ZQXV6DLsOIKrXaah5C7zT8fSztYgEAroGsPVhee03TWGobXUJNhw4dOnSoTGlBGZLeEske15Yu2DT9L2ycvJXcmeRwOZi6bhz2RG5BtxH+KrUUlOSXklpaHD02hszp3+RrGiL8vqxKTr4EHQCmfD2W/Pfxn8+RDl9UObP5Mpms6z+1J/g8AZn8eSP3vgwmA5PWjKaU/MmIy8JXQT/hh3G/Iz+dMDqQhk4kFKGmspa29gwGg0G2KvJ5Ary88abR8fK/U9fhnRodqyrnt11DuUQvo/ekbmAymdi79hg+bb4IpzdfRm01kfziGuhh/IrhOJS4A7N/ngJTK+qC665+LugxlqgQKMopobVKjcFgkK2KIqEIz682fgOqzVhe/ucWubPbfUxnWDta0jo/JAnpPpMJceSywnJc2Xm7ydeoQjcVW2gdHBywYMECWFtb03ockIiK9+rVSys38vLY29ur7XzYGGw2G5WVlXj69CmF0YC1tTXmz58PBwfqGyBUMTQ0RM+ePeHl5UX73PI4ODjg0SPVN0magsVigcfjUf47WVhYYP78+XBxcaH9WPT19dG9e3f4+vrSPrc82oolk8mESCTCw4fUxOWNjY0xb948rSQn9fT00L17d7Rq1Yr2ueWxt7dHcHAw7fMyGAwwGAzcv3+/ybHvHkWT1ctdh3eitd0z7O47RD4hTH+atXBC+770x5NrwMX4FYRgv1gsxvGfNTM3kVZVQZJslJdveHKh8WrIqJBYslq+67COYDKZ5LWXxWYpzK0qEU9iEHqHaMN0aG6HscuHAhKZkh8n/EEaYWkCm8PGhFUyp+VjG4lYuvg4kaZYALBlzi4s3DKDfHx4/Smlm4ZGcr8voaOmXE+4LvKbZlKZEwAolktOmlmrbq7zPtEl1HTo0KFDh8q8DZa5V6ZFZZA7ngDQZVhH7In4A9PXT1SriunkrxdRU0mUhw+Z0x9WDqo7WEkJl+wwMhgMUntDSstuPmjXhxBzzkrIwcOTIUrnUEZpQRnOb7sGSDQfGAxGveSPdKEqFokxanFQo8mf6opq7F17DHNaf4HXt2StVh0HtsXaY8vIx8d/OU9W/9GB/ILn1Y3GRXjD5XZr2/amTwS7oqQSZzZfBiRVePqGXHzafBFO/HKePA84XA7GLB2KQ4nbMfe3abBQc7dy8lpZEvXkpguUWjqoIh/Llzcbj+Xbh7LPS9s+9MWyuqIaJ3+9AEjOP/mkMd188tUY8hw/vfkSaqsbbulQFfl25FdNxBIALl26pBVHyry8PERFRaF379603ngqY8iQIejSpQuFkapTUFCA4OBgSm2fV69e1YqLYmFhIcLDw9GnTx+ttM7KM2jQIAQGBmplbmksqWzA3LhxQytmE8XFxXj16hX69eunlXZPefr3748ePXpoZe6ioiIEBweDz2/6e/j27dtaMZsoLS3Fs2fP0K9fP620e8rTt29f9O7dWytzFxcX4/Hjx022fb59ILv2tOtDX8JLLBbjwLcnyMdT143X2nfmsPkDYSIR/7937DGyEnPUnku+U6CypAr+g9uBI3G6fHWz8U3G8Afy13EiltKEmrmtqUa//0G5WE7+eizm/PopaVJQkleK9WN/o6XKPmh2X7I18/HZ50iNIrQ8v9wnq1JLCEsG15CLAZIujPLiShxef7reXMZysawoqUL7fq3IBNnLm28avP4Uy7V86hvpk/+WxtLEwohW2QptoEuo6dChQ4cOleDz+Dj/p6wUXXqRtHe3xQ8XV+PHS2vg6GGv1tyF2cVkdZqePgefrB2j9nGWF1cg8Q0hAty8rStMLesntKZ8M47897GN5yhr45zadJGsToNEh61u8mfEokHk81EhsUrnEfAFuPzPTUz3WowTv5wnddZsm1nj2zNf4ufrX6P3xEBSky0rIQcPVEj8NUXrHr6kCGxkA8cISWtD7IsEAICLj6NGSc66nN1yhTQJYDIZuPzPLbL9lKPHxshFg3EocTsWbJkBS3vN3tezvTu6DCP0yvLTC3H7EH3VAi26eJHivdJdemXweXzyedtm1rB3o09g++L2GyjJJ3Z1e03sBvfW6jnjUsG1hTN6SJx9i3NLcX0PfRV/Xh3cyd39yCexjSaCysrKEB4erpWE2tWrVxEb2/Dfkk7MzMxgZ2eHq1ev0iY8LcXPzw+WlpZNfr9VVVUhNDRULffFprh+/bpWWlqVYWJiAmdnZ1y+fJnydzpVWrRoAWtr6yb/RrW1tXj58iXKyxtv/1aHmzdvIiIigsJIzTE2Noa7uzsuXrxIWe+MKj4+PrCzs2vybyQQCPDixQuUlZU1Ok4d7ty5o5X2YGUYGhrCy8sLFy9epJREVAUvLy/Y29s3eV7KbzK26kFfdeOL62GIfhYPSNzHe02gV5tNHkMTA4xZSlRsiYQinPjlgtpzybcpVpRUwtDEAD4S1+7spNxGJQfkNxnb9PKDWCxGqeT6q0mLYti9d+QmtZOXAwZ82hMsNgvfnFgOezdCky72ZSL+mLNT4+83rgEX478kqtSIir/zAAD3Vs3g0c6NHPf77L8x66fJ5Brn0j83kRqdoTCXfEVeRUkluAZctAwkzrGi7GLkpCh3DJbXSpOXv5AlJz/sdk/oEmo6dOjQoYMqIpEI944/xqwWy/DukaxCjcNlY9p3E7An4g+N29eObzxH6mQNXzBIo8TNu0fR5OKybS/lVUBte7cktSFSozJIZ8TGCL37Fme2XCEfS5NgdZM/nQbKRPsjHiu6UYnFYgSfeYrPWn2BbYv2oDi3lJxj8tox2Bu1FT3GBJA7nFMVEn9nabtJ5Bpw4SXRUEmPzWrQsTEqJJasjGvTQCzVIeJJDI7/cp58LI0lm8PCsHkDcCD+L3z+12xa2xYny1VtnaCx4o/NYcM3gFiI56UVIC+9QOm42JeJZBVj294tadvFryytxKnfLgKSxOS078bTMm9jTJZLeJ/67SJ4tfTcJDKZTFIYuSS/DJnx2Y2OdXd310ormFAoRJ8+fWift7H3e/XqFaKjoymMpo6trS2mTZvWZFUVg8GAu7s7PDzUcw5uDD6fj379+tE+b0OIRCKEhobi3bt3tM5rZWWF6dOnN/kdzGAw4OrqCm9v70bHqQOfz0f//upLIaiKWCzGmzdvaDeqMDc3x4wZMyiMBFxcXLTS3srj8TBgAP06k40RHh6O169f0zqnqakpZs6c2ej1hMomozqIxWKFiqpp30/UehXqqMVBMDQlDJ1uH3qAvLR8teaR7xyQrsNaBcrOs4acRJVtMlaWVpFrGHWTQESl30ny8affjgeLzSKP9btzK0mdsbtHH+Hvpfs13oAZNq8/GYf7xx8jM4G43n6xex45JvZFAmorazFpzWhAksjc9eUhhXlMrGRyJtJYtpSsr6FkHSyltFBWEW0kSXDyanioKiM2VnUJNR06dOjQ8T/B69vhWOS/Bj9P+RM5ybJdJhNLY+yN2opPvxuvsUh9Xlo+rknE1PWNuJi4epRG88m3NrTppdxBj8FgYOo3sgTL0Z/OKl2ciMVivLoVjtWDfsTqAT8quG5y9NgYOrd+8kfeKSkyRLaQCH8QiSVd1+LHCX8oJAp6jOuC3e/+wMwNn5C7gPLH3zKQWJikRWfi8bnnoIuW3WSLx6iQOKVjwinEkipisRhh995h7dCNWN5jHYR82U0+m8PC4Fl9sT92G5b+Mxe2LvRrYrUI8EKHAYQLYHZSLu4dp0+3Sj6WDVWpKcSyJ33Ojue2ynTo+k3tSYtxRVN4tHUjtQnzMwpx++AD2uaWj2VEIxV/YrEYEydOhL6+foNjVEUsFiM1NRUzZ87UunaaPI6OjujcubNWWqUuXryI69cbd8UTCoWYMGEC7UL3aWlp+PTTT+Hp6UnrvI1ha2uLrl27auXG/tq1a7h8+XKjY/h8PiZMmAATE3q1f9LT0zFp0iSta6fJY2lpiR49emglljdv3sT58+cbHcPj8TB+/HiYm5vT+t4ZGRkYO3YsWrakb5OoKczMzNC7d2+ttJfeuXMHZ86cafB5+U1GOq89Ty68QHwoIWjv2d4d3Ud3pm3uhjA2N8Koz4MAyUbcyU0X1ZrHobkd+W9p62jLwKav4wqbjJJYFufKWhfVdaV8dfMN2dHg6ueM3pO6KTzv2c4da44sIU2BLu64gQPrTiidiyoGxgYYu3wYAEAkEuOEpErNu5Mn3FrK9B9/n/U3xq0YBhsXwsjg5fUwvLguk2SQj2W2CrEsl9Njk7byfkwOn9Al1HTo0KFDR2PEhyZh9aAfsWbQBiSEJdd7fvDMPnBwt1P6WlU59tM5UuB11OdBautkSWlMP02eToPakQKsiW9S8OKaTFCez+Pj1sEHmNfuS3w1eANCbyu2hoxZOhRHUv7Gsp31kz+mliZw9XMGACSEpSD6eRzWDt2IL/t+jxjJziYAtO7ZAtuebsS3p1bA2Uu5EDiDwVBoT20o8acO0kQdGtmNrdvaoA4CvgB3jz7Cwk6rsar/D3h5XVEba/iCgTic/DdW7FlAaxukMhQNKc6rbEjREC27N72zraCfRpMWXVlROc5skenQTV03rsnX0MWUOhV/Aj49bWGtKMQSAI4cOYKQEPraoAEgMTERBw4cQEGB8ipDbRIUFARjY2Pa9aLMzc2RlpbW6JgTJ07QLkCfmpqK/fv3Izc3l9Z5qTBw4EBYWlrS/nc0MzNDampqo2POnDlDSSReFTIzM7Fv3z5kZmrmbKgOffv2hb29PfLylLdtqQuV8/L8+fO4c+cOre+bm5uLvXv3Nvl31AY9e/aEi4sLcnLU1/5ShoWFBVJTUxtcG8hvMtJ17RGJRDj4nayiavr6iVrXm5QyZtlQUqPr+t57lByh6+LgUT+h1tBmqDwKG2OSWMpvNqtTVV+vOu27CUo1EruPDsAKOSfOYxvPkdXp6jJy0SCyZfP24WDkphIVf8vlqtQinsSgJK8Uc379lPzZzhUHyWu+o5JYtgjwBJNFpJsaimV5iUxiQFoply0XSystGCvRjS6hpkOHDh066pGdlIuNU7ZiYafVCkkkz/bu6DZKJhhO16IsOykXN/YTNx+GJgYY/+UIjearKKkkWxvc2zRrtLWhrnj7kQ1nUV5cgRO/XsCnzRfht5k7kPyu/oJ/zLKhTep6ScvdhQIhlnT9WiGJ5NbKBRuufIXN99ejRUDTrnedBrYlE39J4al4doWelhH5HcQIJYmL6soaxL0kEoDO3g4qLxQry6pwevNlTPP4HL98uk1pYnbovAFYsmOOVhwpldGmpx+ZZE2PycTjs/RU/Pl18SJvJpTFks/jk1WANi5WsHenJ3F4ZvNlsj1i0Iw+amsYqoOPvyc6DWoLAMhJyce9Y/RU/Pn4e8j0/RpIqPF4POTl5cHGxoaW95QSFRUFFxcX2NpqN7HbEM+fP8fp06dp1VLr1q1bo22CQqEQWVlZtDulRkZGwsHBAY6OjrTOS5WXL1/i5MmTtGqpdenSBYMGDWrwebFYjIyMDK2clzY2NmjWrBmt81Ll9evXOH78OG0bEADg7++PIUOGNDomIyOD9vMyOjoalpaWWmkVp8KbN29w7NgxWnXp2rdvj+HDhzeY0HobTG2TURWCTz9FSgQhZO8b4IWAoR1omZcKZtamGD5/IACAX8vH6d8vqTyH/LUyO5FI+stvhsaHJqO6sr7RgzSWkNtkTIuWJbqbtXBW+VieXn6FuFeJAIDmbVxJV3JlDJzeG4v+nEU+/nf1EVzZpb7btpGZEUYtJir+hAIhaW7k19UHzt6y7+7fZv6N3hO7wa8rkXRMj8kkXb7t3GzJyrksSSwNjA1ILbaUiHSUF9c3vKkslemfSt08NY3l+0aXUNOhQ4cOHSTFeaXYsXQfZrVYivvHn5A/t3ezwVdHlmDHy1+Qk0TsHDGZDIUqEk04suEMWT4/ZtnQRh0xqUBFP02eLsM7wr01cZMS8zwek5zmYu9XR1GYJdvx9GjnBiabuGwaGOsr6Ecpo7SgTKm1uY2LFVbuX4SdYb8hYEgHyru5RJWaLPF3YN0JWvS/LGzN4CSpjIt/nVTPOSr6aRypC0IlllLy0guwe+UhTG42H7tXHlKIRfM2rmSyRE+fg0+/1b7eV13kk6gHvztJi+OnkZkR3NsQ51Hy21TSXEFK3Ksk1FQR5hV06aeV5JcqOM7KnyPvC/lYHv7hNC3uY3X1/UoL6guS6+npYeLEifDzo699SSQSYeDAgZgyZcp7q7Soi7+/P/Lz82l12zQ2NkZlZWWD1VosFgsTJkxAmzZtaHtPkUiEfv36Yfr06f9pLIuLi2l12zQ0NERtbW2DVXcMBgPjxo1D+/btaXtPkUiEXr16YdasWVrXp2oIf39/VFRU0Fo9qa+vTyZzG2LMmDHo1EkzfVZ5xGIxunXrhs8++0zrLqkN0bFjR1RXV9Na8cflcsFkMpGenl7vuYqSSiSEUdtkpIpQKMQhObfH91mdJmXciuHQ0yccIK/svKWylpqhiQHpcpmZIKsYlG6GioQiUitNirx+mvwmY3qMLAnk4qua5IKySr+mPuejFgdhxg+TyMfbFv6rkYTF6KVDYGBMSCfc2HeP1FJbtnMuOSb8YSQKMouwYItM+/DQ9ydRVlQOPS4Hts2IxHdmfDa5BpfXpIt6Wl9WpLpMtk6S/i3kY9lMxVj+F+gSajp06NChAwWZhfh72X586r4QF/66TiZQTK1MsGDLDOyN/hN9J/dARXElkt4SLRKeHZorWI6rS2p0Bu4ceghIdDGkWg6aEK5ia0N8aDIpcAuANEZgMBgIHN0ZWx9vQPO2rhAJiCqHMUuHwsxaua5DUU4xdq88hKnuC/Hyhsx2ncVmYe6mT3EgdhsGTu+t1kK+6/BO8OpAaDolvU0lNec0Rdr2yecJyB1SKcpaGxojISwZv3y6DdM8PsdpucopSBKXmx+sh19Xb/IcG7FwMK2uoVTp0L8N+Xunx2bh4vYbtMwr1f4SicSIfqa4eFQ4L2kydzjx83nSYTbos/6wc6W3KoYKrbq3QIf+rQFJ28vpzY3rS1FFQZNOiQttVFQUhEIhbQkGsViMQ4cO4dmzZ+ByNdOE1ARXV1esWrWK9sTJy5cv8ezZM6XPxcbGgsfj0ZZgEIvFOHbsGB49evSfxtLJyQmrVq2Cnp4erRV/r1+/xtOnT5U+l5CQgKqqKlp1sk6fPo27d+/SqhWoKnZ2dli5ciUMDQ1pjWVYWBiePHmi9Lnk5GSUlpZCT0+Ptvc7d+4cbt68CQMDAwqjtYO1tTVWrlwJMzMzWmMZHh6Ox4/rJ1VU3WSkwp3DwWTio1V3X3QcQF8yniqW9hZklVptNQ+7Vx1WeQ4HSZVaUXYxWY3WmPZXQ5uMaQpJINUqcoNPP0VSOLG29u7kQWqTNsXkr8dg/IrhgOQ799dpf+Hp5VcqvbcUU0sTjF5CVIvyeQLsXHEQkKyhydZYMbD5s3/g29kL/T/tCQAoL67EYUliVRrLytIqlBcRG0ItmzB5qJGrAJR2fKTHyicn/5vqZlXQJdR06NCh4/8x2cm52Dp/N6Z5fI7z266R7oP6hlxM+XosDiX8hTFLh0KPS+wAyicI6BC1FYvF2L54L0QiYqE3bsVwBettdYl6KlsAte6hvLWBz+Pj4emnWNHnO3zeeU29RZNPZ0/si/kT359dCQC4fZBI+hmZGWLsF/WTfnlp+di+eC+mui/C6c2XySSHFK6BHsYsHwo9ffVvDBgMBhbKlfnvX3cCZXKCruoiv4NY14lJPpYN6acJ+AI8Pv8cqwb8gAUdV+Hu0Udk9RyHy8HQOf2xN2orfry4BvpG3DrmEyM1Pn51YDAYWLhV5op2eP1pFOWorsFSF/mqTXViqQrJEWm4IEkEcrgcTF47WuM51WX+HzNIrZQTP59v0OVUFRR01JQ4hD18+BCJiYn1fq4uCQkJSE1NhZubG21zqouenh62bt3aYAJMHTw9PVFdXa30uUePHiEhIUHpc+qQmpqKxMTEDyaWO3bsaDBpow5eXl4NxvLx48eIi1Nu8KIOmZmZiImJ+WBiuWvXLjx4QJ8BSWPnZUhICGJjGzYlUZXc3FxERER8MLHct28frfpwDcUyKoTea09FSSX2rDlKPp7xw6T/rAp16rfjyVbBh6eeKmxcUcHJU9b2mZNEVJ0qXMefKLouRzYQS2ly0dLBQqXN5qryagXHTFUq/RgMBuZs+hRD5xDt/CKhCD9O+ANv7kdQfn95Jq0ZBStHIqn17PJr0nRgyfbPyDGht9+iOK8EszdOJg20Lv19E9nJuQottDKTBzmnTyUJNel9BwBYOUmr/YiKVWNzI1jY0WtGog10CTUdOnTo+H9IemwmNs3cjhneS3B1923SDIBroIfRS4Zgf9w2zPhxUr1FQXKErJVAWimlCfdPPMGbe8SF397NhpbqNLFYjNTIDHLOuu2jGfHZ+Hf1EUx2mY8NE//AWznBfRNLYzAkGhCpEenQ0+dAKBBi28J/yTEzfpgEEwuZPXhWYg7+mLMT070W4+KOG+DXEtVtHC4HIxYOQucgou2nqryaPC5NaBXoi35TegAAyosqFERs1UVhB7FOJZBUH8XCzqyexll2Ui72rj2GKa4LsH7s7wi7+458ztTKBFPXjcPR1H+wbNc8NPN1glBIxFKaQJ26bjzMbf47S3Tvjh4Imt0XkPx99q09rvGcreRNHhqIpaGpgYIjljqIxWL8tWgPmbj8ZM1oWDtZaTSnJri3aoYRCwldqZqqWvy7+ojGc/p1k1uIK6lQA4AWLejRAoLEZXPixIkfxM02ALRr145Ww4V+/fph3DjlhhVisZjWWNra2mLChAnv1dmzMdq2bUtrQq1Xr16YNGlSg8/T2YZsZWWFcePGvVdnz8ag+7wMDAzE1KlTlT5H93lpbm6OsWPHolWrVrTNqQnt2rXDs2fPaNOl69y5M2bMmFHv5ymR8ms3zXXj9n9znHRi7D4mgDY9XXUwNjfCrI1TyMc7lu5TSQ5D/losbft0aG5Hth9GPY1T+PvIx9JTEsuywnKU5BOyBKpWpx354TQKMok2av+g9vAf3E6l1zMYDCz++zP0nhQISPTkvh35K6Kfx6s0DySaZ3M3yUwH/lm+H3weH50GtSOr38ViMf74bCesnaxIvWORUITTv11SNCaQxNLa0ZLUi419kVBPXkPaEQIANs6WqK6sIU0RXHwd/7NErSroEmo6dOjQ8f+I5Hep+OmTLZjttxy3Dz6ESEi0MBoY62PS6lE4nPw3Fm6d2aA4fGqUbCHhKmenrQ6VpZXYJSkpB4BF22aTu12akJ9eQGpXSY+RV8vHg5NPsLL/esz0WYJTv10kFz+Q6F0s3z0fJzJ2YeTCwYBcUuDi9huyNtf27hi+gGgvSI1Kxy/TtmGmzxJc33uXbAHQN+Ri3BfDcThpBxZv/wwd+svaIJTpR6jDZ79MId2tru66hcTwFI3mc/FxJBOP8lWIxXmlZJykseTz+Ag+8xSrB/2IaZ6f48Qv51GUI7OLd/S0x5K/5+Bo6j+Yvn6iglvr9T33EPuSqChy9XPGmGWNi1G/D2b+9AmMzAwBADcP3EfMC9UXofLYNrOBjTOR2Ip5Hk+KoVeVV5OLRLeWLhovEu8cDsa7R8TOuaOH3X9W6SfPtO8nkJUCD048URBuVgcFfb9XifUcROfNmwcvr6YNPajw4MEDPH369INJWgDAoEGDMGnSJNpawsRiMf744w9kZNRP7M+ePZu2xMXjx48RHBxMayJEU/r374+pU6fS2l63detWpKTU/+6dNm0aWrduTct7PHv2DHfu3EHLlvRoLtJBr169MH36dNpiyWAwsH37dqUVkpMnT0aHDvQI3b969Qo3btxAq1atPphYBgYGYubMmbS1dzMYDOzatQvR0YpVVdIkkIGxPqlzpS5xrxNx+Z9bgKTKXF5P679i0MzepOZm8rs0lQT65SvUpEkgBoNBbjRWlVWTFVMAkCqJJUePTb5Wvt3TxYe65ldyRBrObr1KzMfl4PNts9Q6N1ksFlYf/BxdhnUEAFRX1ODrIT8pNYFqij6fdCeryjLisnFh23UAwKJtM8kxz6+FoqyoXFF3bf99mMhtYCto0knm49XwkfRW0eRLugkNAMbmxsiMyyYfq6pF91+hS6jp0KFDx/8DYl8m4LvRmzC37Zd4cDKEXAibWBhh2ncTcCTlb8z+eYpC8kMZ0gobJpMBFx/NdA0OfneKTMR0G+lPLgQ0Rb6KztLBghDGd5mHnz7ZSlbDQSLg3ntiN2y68y32RPyBIZ/1g56+Hqatn0Amlx6ceIJ9Xx8DJAusJX/PQXJEGn6YsBlzWq/A3SOPyGorQ1MDTF47BkdS/sa836eRumCe7WWVfGnRmleoAYC1kxUpBC8SibFj6T6Nbm4YDAbpxFRaUI6SfGLnOVVuJ9bayRJ71hzB5GYL8OOEPxTcX1lsFnqM64Jfbn6D/TF/Yvj8gfWSoyX5pdi3VtYisnjHZ+DocdQ+ZrowtzHD9PUTycc7luzT2BHQoz0Ry+qKGhRIzBhSo2R/e1c/zZLR5cUV2L1S1iLy+V+zNWolpgsTC2PM+mky+XjHEtUqBZThKYklnydAdpJMBD46Ohrbtm3TaG4phYWFCA4OhrGxMYXR7w82mw0zMzNs3rxZaRJMVZhMJng8HlJTUxV+npCQgM2bN9OSICktLcX9+/dhZKR56z6dsFgsWFtbY/PmzfV+f3VgMBgQCoX1EmopKSn47bffaHEVraiowJ07dz7IWNrb2+OPP/6greVaJBLVi2VGRgZ+/fVX8PmaG8ZUV1f/57ppymAymXBycsIff/xBW2tr3VhWV1QjJ5kwP3D1c9YomSitMpd+V3z67XjYutDrwKoOLBZLwfXy4LcnlBrZKMNZbi2b9E723eDZTrZ2k16/+Tw+MiQJH2cfR7DYhOakgog+RVdKaZW5dGP7k69Ga+TQzeaw8c3J5WjXh6gWLC+uxIre36nc/slgMPD5ttkyOYwfTqMwuxhdh/vDWtKSKRaJsWXOLphYGGP4AqIynV/LV5BmSG4glmlRitcy6RpB+n6KWnQfvsMndAk1HTp06PjfRSQS4cX1MKwZvAGfB3yFkIsvyefMbc0w++cpOJz8Nz79bjwlxyehUEgmhJy8HDS6gU94k4yL24ldL66BHhZundnka6iSJFetdX3PXZzefBmlBTKdMScvB8zd9CmOZ+zC18eXo33f1gq7w0RS4BPysVTfodPgdjjy42ks6LAKj848IxeUplYmmPHjJBxN+QczN3xSz6ygWQvZDpv8QkFTxiwfRpbXvwuOxsNTmrXgyDspSS3Lk97KYnnncDBObrpItnlA0hYx++cpOJ6+E9+eWoGOA9o2uNO+Z/VRlBdXAgD6Te1BmzAyHQxfMBBukgq8mBcJuC0xyVAX+UVgqiSW8slJt1aaJdT2f3OCrBzsMTYA/oPpcxPUlEGz+tBqnCEfS+l5CQBpaWm0CehzuVz06tULnTt3pmU+OjEwMICpqSnu37+v8VwMBgN9+/aFq6urws+lsaSjaofD4aBHjx7o2rWrxnPRjZ6eHiwtLXH37l1a5uvduzfc3RWlD9LS0sBgMGiJJZvNRvfu3dG9e3eN56IbFosFGxsb2mLZq1cvNG+u2IqYnp4OsVhMi7kDi8VCYGAgevXqpfFcdMNgMODg4ECbllr37t0VKnflvzfdNOwsqF9lPlSj+eikZTcfBaH8A+tOUHqde+tm4JA6wbIKdYW1m2TtmxGXTSaA5K/jig6f1Dab61WZr9K8ypxrwMX6C6tJuYSq8mqsDfoJD08rN1BpCM/27hgi0WWrrqjBXslm6PzN08kxTy6+QEVJBcYuH0rG7+HpELJ7QjGW8tfxOgk1SUJRqsGqTiz/a3QJNR06dOj4H6OyrAoX/rqOWS2W4euhG/H6Vjj5nLWTJRZunYnDSTswafUoGJkaUp43JzmP1DrQpN1TJBIRu3KSyq4p34yjxZkwNToDO784oGDjLoWjx0afTwLx+73vsT/mT4z/ckSj2l2DZ/eFo1wbAIPBwMvrYXhxLYz8mYWdGeb+Ng1HkndgytdjGzRTMLc1I5+jq0INAPS4HCzYIktE7l55mHSoUgf50vrwB5H4d9Vh7P3qWL1xbA4LvSZ0xa+3v8WBuG2YtHpUk6KxEY+jcfMAkRAwMjNU0Oj4EGBz2Fggl9Td+9VRVJZWqj2ffCzTJTcz8rormtzUxL5KxJWdsnab+X/89+028rBYLFqNM1yUJHoBwNfXF3379tXgSAni4uLw6tUr9OrVi3ZXTTpgMpkYP348/P39aZlPmXaUl5cX+vfvr/HciYmJePr0KXr37k2rwyVdMBgMjBkzBl26dKFlvpYtW9Y7Zzw9PTFw4ECNE2opKSkIDg5G7969weH895W8dWEwGBg1ahS6detGy3wtWrSolyB3d3fHoEGDNI5lWloa7t69i969e/+njrONMWLECPTs2ZOWuXx9fRU+f/LXHk3WbsV59avM2ZwP63M+++cpZAvi1d13KLU8cvQ45CZQVkIOeb1SuPbE1N8Yk680j5d7H1e/pquqtFllbmhigF9vrUPAUKJVms8T4KdJW3Bxh2pO5jM3TCLXrrcPPkTUszj0mtANlvbEek8sEuPPBf/C0t4Cg2cR1+KaylqYSzpdCjKLkC+p0JdPjMlvLItEIkBSGM3mEJ//BBVj+SHw4a0cdOjQoUOHWmTEZ2PH0n2Y7DIfO5buQ2a8TIfA3t0Wy3bOxcGE7Ri9ZIhaWmXygvqaXORu7r9Paom5+Dph3Ar1jQhqqmpx50gwvuj1LT5ruRxnt16FgCfTWXLysse836fheMYurD26DG17U9OhyYzLRnGuTBdMvhXKtpk1Pv9rNg4n7cD4FcNhYNx4CwmDwSB3OvPTC1FdodzNTB0ChnaAv8T0ID+jEMd+Oqf2XA7Nbcl/H/r+FE79fklBLNbe3RZzfp2KY+m78M2JL9ChX2tKCQihQIhti/aQj2du+IS0Rv+Q6NCvNXqMDQAAFOeW4tD39ROzVFFWlUiH/mDddptp3034INpt6tIq0Bf9psqMM/Z9rb7Zg2IsZd9BPB6vXkWLqtTW1uLChQsoLS2lMPq/w8LCAjY2Njh06FCDbohUiYiIwJEjRxS+02prazU2D+Dz+bhw4QJKSkoojP7vMDc3h6OjIw4dOoSKigqN5oqOjsahQ4cU2jtramo0jqVQKMSFCxdQVFSk0TzaxtTUFK6urjh48CDKyqi11zVEXFwcDh06BIFAdv2urq7WWCNRJBLh4sWLKCws1GgebWNsbAwPDw8cPHgQxcWauU0nJSXh4MGDqKkhNthSaUqo7VlzhKwy7/9pzw+qylyKtaMlpnxDGK+IxWJsX7KXUvu1b2fZeSYV83fysq9XNaVsY0woECJG8hobZytK5kD7vz4uqzIf14X2KnN9Qy6+P7cSg2b0AaSxWLwX+785Trm138zaFNN/kMlhbF+8F0KBEHM2yQxEgs88Q1VFNSasHEHGqihbdv5K42LnagOuAZEwlK9Ak2/L5XA5EIvFpJmTqZWJRi2w7xNdQk2HDh06PmLEYjFe3QrHN8N/xizfpbjw13VSkB8A2vdrjfUXVuFA3DYMnTsAelz1d7qTI2RCoupW2JQVlitYrS/ePltlHS0+j49nV17jl0+3YYL9Z/h12l9k2bw8Vo6W2B+zDeO+GF6vDVMZYrEYYffe4dtRv2J2y+WoLles9jK1MsG6U1/gUMJ2jFw0GFwD6klJhXZKOXFbTWEwGFjwx3RyZ+/UbxdVEtUX8AV4cT0Mm2Zsx4YJWxocZ2plgoPxf2HCypFN6uzV5cJf15H8jjh3vDq4Y9j8ASq9/n0y97dp0NMnzsfz264pPa+ooPj3JpJAUv1BEwsjcodXVa79exdxr4h2G7eWLhi99L83dWiIz36ZKjPO2H0br2+HN/kaZTh7O8i0VSQVajU1NTh27BiSk1UXXJZHKBTCw8MD/fr102ie94G+vj4yMzPx6NEjjeaxsrJCbW0teDyilV0gEODYsWNKBeFVQSQSwc3NDQMGfLifbylcLhc5OTl4+FCz1m5LS0sIBAIyySkSiXDs2DGNtbBEIhFcXFwwaNAgjeZ5H+jp6SE/P1/jlmQrKyuIRCIyySkWi3HixIl64vqqIhaL4ejoiKCgII3meR9wOBwUFRXh3r17Gs1jaUnoXEljSUd1dMTjaNw68AD4QKvM5Rm9dAhpZhP5JBbn/7zW5GtadJEl1KRJII4eh5TVyIjNIrTplCQnk9+loaayFgDg1827yfeKfZVImiboG3GxQEtV5mwOGyv2LsCkNaPJnx3beA5/zNlJWdt0+PyBZGtr/OsknNx0Ef2n9oKZDbGmFglF2DJnJ+zdbNF3MtGaLr8RK40lk8kkteoyE3JIp8/EcJnOmqGpAdJjs1BeRJy3ft28PxjzkKbQJdR06NCh4yOkuqIal/6+idktl+OrwRvw/GoouevENdDD0Dn9sfvtZmy6/S26jfBXW2soPTYTm2f/jd9n/Y17xx+TP6+t5qE4T/Wqjp1fHiTL6ft8Eoj2fak5oQmFQoTde4c/5uzERIc5WDfiF9w9+gjVFbKkl6GpAbw7eZCPbVysEB+a1OTuZE1VLa7uvo25bVZgVf8f8PTSK4Xn2XpES0NZYTlqKmtJEVpVaEw/QlNcfJzwyVdjAMni5tdpf6GmqrbB8SKRCOEPI7F1/m5MdJyLr4duxO1DDxXaRRkMBnz868YyWcE6ngrZybk4+N1Jcs7FO+bQpnulDezdbDHte2JHViwWY9P0v1BZVqXyPMbmsqRZzPN4/DF3JwoyiWoTSwcLxL5MUFmsPz+jEPvWylpwP8R2G3msHS0xe+MU8vHvs/5GebHqFUFcAy7s3YnqyfSYTIjFYlRWElUSNjbqt4rn5+fj3bt3GDt27AdnRqAMIyMjjBkzBnZ2dhrN4+HhgTlz5pCtb5WVlRCLxbC2Vr/SsbCwEKGhoRg7dixMTZvevPivMTAwwJgxY+Dg4KDRPK6urpgzZw5pGlBdXQ2hUKjReVlcXIwXL15g7NixsLD48Cp568LlcjFmzBg4OmqmdeTk5IQ5c+bAzIzYsOHxeODxeBqdl6WlpQgJCcGYMWNgZdV01dB/DYfDwZgxY+DkpJmzoZ2dHbq37o1/lx/F1nm7yIofrqEeclPyVJaG4NXw8OeCf8nHMzd80qTMw3+JHpeDZTvnko/3rj2mkAhThm+AYoWagC9ARUkluXarrebhl6nb8PYh4VzN5rBQlF2MqvJqRDyRCfG37Na4SzSfx8fWebsUqsylruDagMFgYPbGyVi4dSaZnLqx7x6+H/tbo+tEKSw2C8t3zQOTSbz20PenEB+ahNk/y67tD089RV5aPiatHlXv9dHP4yEUCFFRUkm20IqEItJNNemNTKfXwt4cUSGyzYimYvkhoUuo6dChQ8dHREJYMrYv3otPXObjr8/3KJRO2zazlrTk7cSyXfPg3qqZxu+3/5vjuLH/Pm4euK/gzPP7rL8x2WUewh9EUp4r+MxT3D5IVAQYmhhg3u/TGx0vFosR9SyObGNd1f8HXN97l2w5gCRx0V3SpldVVk1W70CSyFjkvwarB/ygtMQ96W0q/ll+AJNd5mHr/N1KF1xD5/bH2mPLyMc7luxDTkoe5d9ZinzbWjqNxgRSJn89hkyAZcRl499VhxWeF4vFiH2ZgJ1fHMDkZvPxZZ/vcXX3bQVtK0NTA5hYGsuNl8Uy8U0KPu+8Bl/0/JZyu4BQIMSv0/4ik55DPuuHFgGate+8D8atGIbWPVoAAHJS8rFz+QG15nGQ7GzzawW4vkcm3J0alYHFXdbi84CvKCcoRSIRfpu5AxUlsnabNj391Dqu98mIRYPQYUAbQKKn8tfne5p8jTKkn5/qihoUZBbB0tISixYtUjtxIRAIcPLkSY2rX943Pj4+cHV1xZkzZ8h2LlVhMBiIjo4mXQDNzMywaNEitRMiQqEQp06dQkSEak5y/zWenp7w8vLCmTNnUFWletIckljGxcWRTpdGRkZYtGgRmjVT79orFotx+vRpvH37lsLoD4fmzZvDz88Pp0+fRnm5+nqJSUlJiI8nKlq4XC4WLVqkdlu3WCzG2bNnERYW9tFUuUCSpG3bti1Onz6tUSv6mV0XEB76Flf/vYOqMqKCsraKh+U9v8W05osoO2ACwJ41R8n10YdeZS6lXZ9WGCsxTODX8vHLp9vIqihl2LnawMyGMOd6cz8CY21mYbTlDPBqeOSY+yeekNVTAr4QK3p/h6luCxB27x05RmoG0BCHvjtFaoS9zyrz0UuGYO2xpWQ3w7PLr7F64I8oK2r68+rX1YescpOu6/p+EggbFyIRKBaLsX7cZrj6uSBwtKKxT2RILMbZzsZoyxmokNtQk1aby+up2bnakMlfSEwmPhZ0CTUdOnTo+MApLSjDuT+vYl77L7Gg4ypc3HEDlaWyG4A2vfzw7ZkvcShhOyasHEnJsZMqjekzCfhCspWvKfIzCrF13i7y8ed/zYaVQ/3dd7FYjKS3qdj71VFM81iEpd2+xoW/rqMoR6bLo2/ERd/J3fHDxdU4lfMvlu+aB45ew5U68aHJZBKorKgcF7Zfx8JOqzCv3Zc49+dVhQSdtbMl+W9nbwfM2zwdPcYEYMB0whmsqrwav83cQUmTQx5l4rZ0wuawsfrQYlKj4tLfN/HyRhhSItOx/5vjmOG9GJ8HfIWzW6+iMEumb8E10EOvCV3x/bmVOJ2zB/5B7Rp9n8Q3KZQrq078cgGRT4jFkb27Leb89uG2iMjDYrGw6uDnMDQhtPFu7L+PJxdeqDyPvGCxMpLfpSno/TXG2S1XEXaXWLRbO1liwZYPy4igIZhMJlbuWwgTC6KC5/7xJwqVrlRx8XEC15wDY0cDpEal49GjR3j9+rXax8Xj8WBsbIxhw9TXb/yvYLPZSEhIwO3bt9WeIyYmBs+eEU7FISEhePHiBeVEeV0EAgEMDAwwYsQItY/nv4LFYiEpKQk3b95Ue47Y2Fg8fUo46L148QIhISEaxVJPTw8jR2ru9ve+YbPZSE1NxfXr19WeIy4uDiEhhFv169evNWpvFovFYLFYGD16NIXRHxZsNhsZGRm4cuWK2nNYeJrArq3yKrKS/DLkpRVQmuflzTc4v41omeRwOVh54PMPuspcnlkbJ5N6v4lvUpTqoorFYlzfexfLeqxDaT6RXBLyhWQSUt4hXhnlxZWIfkokgfUNufBo69rg2PCHkTi56SIgqXBbdfDz91pl3ntiIH669jW5tokKicUXPb9FXnrT58LUb8eRxg2pURnYt/Y4vpbbbI57lYiXt8JQWaJo5iQSisiNwOJcWYJYug7OSZJtUDt7O5IJNTaHBe9Ommmkvk8+3F4BHTp06Ph/jFAgxMsbb3DzwH08u/wKAr5iEkNPn4O+n3THyMVB8GznrrXjGDSzD85uvar0OXMbU/Sd0r3JOUQiETbN2E4mrnpN6Epam0vJiM/GgxNPcP/EYwUnPykcPTY6D2mP3hMDETCsIwyM9GXPWXIQOLozHpwMUfr+o5YE4fWtcNzYfx9PL74Ev04Sg8PloPfEbmgZ6IM/5xNtDSw2C18dXUq+z6KtMxF+PxJ5aQV4+zAKZ7dcxfgVw5v83aXYudmAw+WAX8tX+vvRgYuPE+b+No2sAlo34hcIBfUTf2wOC50Gt0OfiYHoOqKTgqlC89ZuuIeGEx4jPw+itACMfh6PQ+tPAQCYTAZWH1qskqPsf429my0WbJ2JzbP/BgBsmbsTfl29VWpzaapCdPj8gZR0+BLeJJPOagwGA6sOfk5r0lzbWDtZYfGOOdg4eSsA4K9Fe9C6RwuV2lyatXCCbWtzuPa1Q/DLBygXEAvz6upqZGdnY/z48ZRbwzIyMlBUVIQZMz6OpGRdjI2NMW7cOOTn56s9h4mJCWJjY3H8+HGyIqimpga5ubkYPXo07O2pCUFnZWUhNzf3o42loaEhxo8fj8xM9b+TTU1NERcXh+PHjyMujjDb4fP5yM/Px/Dhwym37+Xm5iIjI+OjjSWXy8WECRM00jU0NTVFZGSkQiwFAgGKioowePBguLo2nKyQJz8/HykpKZg+vfEq+A8VDoeD8ePHk59NdfD08MTLB8o3Hdr2bgnP9k2vG0vyS/H7zB3k4zm/TqWl8+F9oaevhzWHl2Bxl68g4AtxatMFBAxpj1bdW5Bj3j2Kxh9zdjY4RzNfJ8S/Tmrwea8O7ogPJc55n86eDa6Pyosr8Ou0v8hk+/QfJsGrw/tPGHXo1xqbH6zH2iE/oTi3lKiYD/gK35z8gqzMVwZHj4PVhxZjQcfV4Nfyce7PqwgY1hEtu/mQSbC1QRtJx05lNPN1QqKkxVPaqVGQJTNecXCzIX/u2aG5SjrF/zW6CjUdOnTo+IBIi8nEv6uPYHKz+Vg34hc8PvdcIZnmG+CFZTvn4lT2v1ixd6FWk2kA4N7aVUFbQp55m6dTurE/+8cVvLlHtAPZOFth6T+EtkVaTCZO/XYRC/1XY6bPEhz87qRCsonJYqLjwLb4ct9CnMrZg+/PrULviYEKyTQpQbOVi4qbWBjhxt57WDtkI4JPP1VIpnl38sDi7Z/hZNZuLNw6E8d+Okcudmb8MBHeHWUaYkZmRlh18HOydWT/18eQ9DYFV3bdxtqhG5sUr2exWHCRCLJmJeRAwKdWmUSVjLgsnPnjMm4dlAlD102mWTtZYtmuuTiZ/S9+vLgGfSf3qOdQKt+aWhc7VxtM/XZck8dSXVGNXz7dBpGQeP9P1o5Bq8CPRwtDyqAZvRE4yh+Q7FL/MWcnCjILsWnmdmyZu7PJv2FjsbRytMCMDZOaPIba6lr8POVP8jtg3BfDKOsOfkj0mRSIPp8EAgAqSirx+6wdKMopJvUZ5dtqlNGshTMKokohFonJZBoAhIeHo6ysjNSwaoqqqiocP36cbNH7WPH09ET79u1x7tw5tdwVhw0bBgaDoXDD/u7dO5SUlMDEhFqytqamBidOnNDopv9DwN3dHZ07d8a5c+fUcigdOnQomEwmmQCCxEm1sLCQcix5PB6OHz+usZnBf02zZs0QGBiIc+fOqeWqOWTIELBYLIVYRkVFIT8/n7I2n0AgwIkTJxAVFaXy+39IODs7o1evXjh//jzy8lSXmZg4eywyg+v/DdgcFpb8PafJNlixWIwtc3eR3QH+g9th1OIP39ihLp7t3TF9PaGLKhKJ8ev07SjOK8WeNUfw/djfwNFjNdrh0Lpnw0kmJouJ3pNkm8p+XZUbEojFYmxbtAf56cTfo00vP4z/kvqGLN14tnfHn09+Ig0XinJK8GXf73H690uNVte6+rngs1/kdFFn7sCsnz+RDWiiMLdVjxakFptUS1hedkQk9/qWDcTyQ0VXoaZDhw4d/zHlxRUIPv0UNw/cR/Sz+jcnlvbm6D+1JwbO6N1kG5k2CJrVl3TqkdKubyv0m9KjydcmhCVj39eEkDqDwcCoxUE49P0pPL8aiuykXKWvadXdF30mdUePcV0oO0q269sK9m42yElRrNooL64E5Fo6zW1M0W9qTwya0RvurWW73RunbCVbIFr3bIHxK+u3L7Xt1RLjvhiG05svg88TYEXv78lS9sKsIuwK+73RY3TydkDS21QIBULkpxfCobn64uJ8Hh/vHsXgxdXXeHY1FJnx2Q2OlVbGFWQWwdjcuNEkqLN3wyLdi7fPVprMrMvfyw6QgrO+AV6Yuq7pJNyHCIPBwLJd8xAZEoeSvFI8u/Ia7x5Fk+3Wrbq3wIBpvRp8fWOxXLh1JqWKvX9XHSGTzB7t3DBjwydNvuZDZfH2z/AuOBoFmUUIvfMOs/2Wk58f3wAvDJvXsC6Ps7cDqgt5eL0jDh0X+oAh6Tjy8vJCYGAgDAwMGnytPFVVVbCxsfkonCibgsViISUlBVeuXMHkyZNVem15eTlYLBYYDAb4fEJXyMPDA926daOcnKyuroaFhQUGDx6s1vF/SLBYLKSnp+PSpUuYNm2aSq+tqKgAg8EAl8tFbS0h8u3u7o6uXbtSTgLV1NTAzMwMQ4Z8uK69VGEymcjKysKFCxcwe/ZslV5bUVEBkUgEQ0NDUtfO1dUVXbt2pWzQUFtb+9G2c9eFwWAgJycH58+fx7x581R6ba2wFh2XeeHln7GoLZVph01cPUrBhbohrv17ByEXXwIAzKxN8OW+hR+VFp0841eOwLOrrxH5JBY5yXmY02o52cppaW+Br44tw4YJmyES1c8I+Xb2gqW9uYLsiJSxy4aiMFNWYdWQ5tfdo4/w4MQTQKL7u/rQ4v+8bdahuR22PvkJGydvxZt7ERAJRdi96jAiQ2Lw5b5FMDZXfh0YtTgIz668Rtjdd8jPKMSKXt9Tfk/P9u6wdbVBTnIesiWtntXl1eTzmQmydWxTWnQfGrqEmo6PBqFQiNSodCSEpSAjLhs5SbkoyCpGaX4ZKksrUVNZC36t5KLBYIAh/T+j/mMGGGAwpT9nAAziwsVgAAwmEwZG+jC3M4ONixWcvR3g1aE5WnX3hbkNtZt7HTqaoqywHCEXXyL4zFOE3nlXT5eKzWGhy/BOGDSjD/wHt1PLWZIuek8KxPbFe8nqLhabiSU7PmtycVVTVYsNk7aQ1TUsNhP/rj6idKxXx+boMzEQvSZ2a1S3TRnlxRV4eukV6cZZFyaLiYChHTBoRh8EDO1QryT/7tFHuH+cWOwYmRliTSOLnRkbPsGzq6+RHpNFJgMAIPltGipLK2Fk1vDNqK1ci1tBZpHKCbXivFK8uBaK59dC8fpmOKrkFiLyeLRzg6ufC+4dI/RnyO9FABGPotFrfNcG38O6gTa87mMCEDC0Y5PH+Ojcc9zYdw+QaN2tObz4g3aibApzGzOs2LMA60b8AgAK2oXvHkU3mlCzdLAAk8mot0j3H9wePcZ2afK9n18LxcUdNwBJi/dXR5dCj8vR4Lf5bzGxMMbK/YuweuCPgKRSTUrE4+hGE2qmVibQ0+dALCJ2+xlggMVioXfv3pTF9BMTEyESiT7alrq6SNvC5Kuanj9/jsrKSvTt27fR1zIYDAgEArDZxGeTyWSiR48elFvqkpOTUVtbi5kzZ2r4W3wYsFgsjB8/XsFY4fXr1ygsLMTAgQObfL1QKCSvh0wmE4GBgfDw8GjydQCQlpaGioqK/5lYMplMjBs3DmFhYeTP3rx5g+zsbAQFNV7hxGAwIBaLwePxyMddunSBjw+1m+uMjAwUFxf/z8SSwWBg3LhxpMYhg8FAZGQkkpKSMHx44xVODOJmB/qWemRCzbaZNT75qmlNufTYTOz84iD5+Is9C2Bp/+E7zjYEi8XC6oOL8VnrL8Cr5inookU8jsaSHZ9h+b8LSIkHKUwWEy6+TrBxsaqXULOwN8en343Hit7fkT9r0aV+VVV2ci7+WiQz41n6zxyV17jawsLWDL/c/AaHvjuFYxvPAQCeXHiJ5Herse70CqUdMEwmEyv3L8Jsv2Wk4RRV3Fq6wMbFCjnJeagoqURVeRV5f8DhshEp55aqS6jp0KEiKRFpuHvsEWKeJ6A4rwSVJVWoqawBr4YPAV9IiH+rp++qNiUoRXZyLqKfKX+eyWKCrceGvqEejMyMYG5LJN+a+TrCo527LvmmQymlBWV4cv4Fgs8+w5t7EUrF3Zu3ccWgGX3Qd0r3D+YcMjQxgEc7d8S8IKrU+k7pARcf5TucIpEI8aHJeHE1FBf/voHSfFk7knzrKovNQuueLRAwpAO6DO8EZ6+Gq3mUUVZUjpALLxF89hnC7rytpzEHAC4+jgj6rD/6T+3RoPZVTkoeti2S2cEv/WcubJs17ByYEJqkVKRWLBYj+nkCOg1s2+BrrZxkyar8jKbbYcRiMRLfpODZldd4fi0UsS8SlJbjM1lMtOruiy5DO6LL8I6wd7fF30v3K50z6lmc0p9LMTDSh4mFkYJRA4PJwMKtTd+gFGQWYstcmRbJoj9nwclTtb/rh4ZQIEToHeWOe9FNxJLNYcPC3lzBBILBYGDxjtlNJqOL80rx+yzZ4n7ub9Pg2sJZ5eP/kBAKhaSxQl2injYeSwaDAWsnS+Sk5Uv6ShgQiUTQ12+6YhIACgsLceLECXTp0gVeXh++0yxVXFxc4OTkhFOnTkEoFCIrKwsikQh9+vRp9BxzcnJCz5498ewZsciRVgVRoaSkBCdOnECHDh3g6/vxtXI3hKOjIxwcHHDmzBnw+XxkZ2ejtrYWAwYMaDSW9vb26N27N549ewaBQKBSLMvLy3H8+HG0bNkSfn4fvmsvVezt7REUFITz58+jtrYWOTk5qKysxKBBg8BkNqw2ZGVlhb59++LFixeoqKiAWCymXDFZWVmJ48ePw8vLC61bf3xt8Q1hY2ODoUOH4tKlS6isrER+fj5KS0sRFBREJsSVYW5ujv79++PN9t3kzz7fPrtJXSo+j4+fp25DTRVRbTl07gB0G+FP42/03/DmfoRSE6CUiHRUllVh8Mw+qCqtwj9fyFy9Ta1MoMflwNrZSsH1HADm/T4NNVU8Uj/No50bTK0Uq/+ljpjSzc/+n/ZE74mBWvoN1YPFYmHmhk/g19Ubv077C+XFlchKzMXSbl9j8fbPMHhW/c2Z8AeR4NU27JiqDENTQxiaGChop757LEug6Rvrkx06Lj6OsHa0VDrPh4ouoabjvRH1LBYPT4YgMiQW2cl5qCypouwW96EhEorAq+aBV81DWWEFspOUJ99YHBZMLIzh7OOI9n1bYdDMPrBr5GZdx/8exXmleHL+BR6dfYo39yNJXSl5bJtZo8eYAPSb2hOe7d0/yLL6pf98htUDN8DM2gRL/56j8Fx1RTVC77zDsyuv8eJaqNLSeEjaLf2HtEfAkI7oNLBNo9VcyigtKMOTCy/x6OxThN1VnpDkGnAgEIgwfP5ALNw6s9FYCoWSxU6ZbLHTZ1LDi52inGKsGbShwV256KdxjSbUbOQcROXbBOSprqxB2N13eHGVqEQraGCciaUxOg9pjy5DO6LjwLYwsTAmn9u79hiu7FLuAJj4JgW11bWNLqqtnCxRXlwJBoMBfSMuJqwa1aSAvEgkwm8zd5CW8j3GBmDQzD6NvuZj4PjP50mHs7qkRmU0WZVo7WRJJtT0jfUxeskQOLg3XpkoFovxx2f/oCSP0ArrPKQ9RiwcpNHv8SFwbstVnPj1gtLnspNyUZxX2miLt7WzFbIScxF/KRPtp/qgf//+sLSktuguLy+Hq6srevbsSWH0xwWPx0NMTAyZbKdiKMBiseDs7IwBAwbgwYMH6NmzJ2xsqK1NysvL4eTkhN69e2t87B8aAoEA0dHRpIszlZgwmUw4OTlh4MCBuHfvHrp06QIHB2obCRUVFbCzs0O/fso1QD9mhEIhIiMjIRQS12krq6ZNSKSx7NevH+7evYtOnTrBxYWazEVlZSWsra3/J9q56yISifDu3TsIBERCyMLCosl1IoPBgJOTE6Z8NxaHvj6N9n1bo+uwTk2+16HvT5Mi/C4+jpi3WbUW6A+RV7fCGzQeEIvFiH2RgA7922DMsqHITsnFhW2EU625DdGyLZ/c0TfkonXPFug3uQfuHAkmf+4/qL5Del2n88//Uq0F+n0SMLQj/n69CT9O+ANxrxLBq+Fj82f/IOJxDBbvkCViQ+++xa/T/qI0p0d7NySGESYELDaRSJePZYSc9jBXXw/lQmL92ElJLD90dAm1D4wavhA55bUorOKhqIqPGoEQYjHAZDBgqs+GlSEH1kZc2BjrgfkB3nQLhUK8uReB4DNPEfsyEbmp+agqq1aaRFAVBoNBVoZxDfRgYKIPE0tjWNqZw9rZEk6eDnD0tIcelw2BQAghXwSBQAAhXwiBQAShQACxEBAKBBAKhBAKRHX+L4RIKAK/lo+81ALkpRegJL8MVaXVqK2uJarlVPw9hHwhSvJKUZJXiohH0Ti8nrBs5nA5MLc1hXtrVwQM7YABn/asJw7+IVErECGnvAaFVXwUVfJQTZ6XgAmXDStDPVgZ6cHOmEsKTr5vxGIxiqr5yK+oRWEVH6XVfAgkrVZ6LCYsDTmwMtSDnQkXxlztfvUVZBXh6UWieurtg0iFli+OkT7sOnqgWRcfuHbzhYmDJfQMuWAxgEwuGzU55WQsWf9hLIur+civ4KGwioeSaj4EeoaY/mAj9FhMhOVWQlCQhawXcQi99BJvH0TWc86Ux39wO0z9djx8/D1U1o0oyinG00uvyKo++c8g25ALuw4ecAnwhntgC5g4WUHPQA8sJgNGemy8yymHlaEe7E2Ux/LAupOIkOyQ2bvZNLnYqa3ioVaya6uMiCfKjQmKJedlpasDBu7+HBwjfZRbmeB6TB4sDNgQFpYh+2U8Qi+9xJt7EQotmvK4t26GgKEd0WVYR/gGeDYYy7KChkXKhQIh4l4l1XNz4gtFyJVce9quHIcWAJgcNtz8nGBmyEV4VimsjYjPD1tJhcHxjecReoeoPrJytMCynfM+yMSwqpQ2EsuGqhIFQhFyKmpRWMmD35KRaC4Sg8lmwbWFE8yM9RGeVUqel2xW/Vie+eMKnl0h3NnMbUzx5d6PV7tGnsZiCUlCuttIxUoIoUhMXHsq+fCaGwSnWYPA5LDh4u2AImN9vJGLJUdJLCExLrC2tsbUqVNp/X0+BNLT05GWlka2ykFSmcLn86Gnp6cwVigSk5/xwioeEjOqYGBkAZ8hU1HOYeFNZiksjYhY6jUQy4iICJiamqqsM/YxkJGRgfT0dIWfmZubg8fjgctV3IAQisTIq6hFQSURy6SMKugbmMA7aAqqOSyEZZbCypADexN96LGVxzI6Ohr6+vr/My3I8mRlZSEjI0PhZyYmJqitra2ndyiSxrKKh8JKHpIyKqHHNYL34Cngc1gIzSiBleS85DYgfREbGws2m/0/0+opT3Z2dr1YGhsbo7a2tl4lpEgsf17ykZReAU5HX8x5+hv02Sy8zighvi9NudBXEssX18NwUrLpwWKzsObIEkq6qR86ja2JACDyaSw69G8DAFi4ZSYqS6oQERKLz/5diMiccpgN6ojBHX3A4nJg18wa1jameJ1RgojkfHAtjFFbXFEvCfTmfsRH53Ru72aLLY9+xM7lB3B55y0AwM0D9xEfloRvT68Am8PGxsl/Up5v6Jz+2LZwD8BgwLqVKyKyS2HUuy0G+7mDxeVAYMxFv7/sUBSXCV5OMSruvUVNYflHmVBjiBuzc/gfp6ysDGZmZigtLaUsHKot8ipqEZtXgZTiKijRRKyHkR4LPjbG8LI2gj7nv9FWEgqFCD7zFJd23ETy2zRUV1QrFXRsCiaLCUMTfVg5WcLayQo2TpZw9LSHa0tneLRz/yArunLT8hH1NBYJYSnIjM9GQUYhSvLKUFlWBV41DwKeQOVYMBgA15ALa2creHdsjl4TuiJgaMf/VLiysJKHmPwKJBdVQUjh9zHgMOFtbQxvG2MY6r2f4+YLRUguqkJMXgWKq6mVIDuZ6sPH1hjOZvq03KgK+AJEhsTi5fUwvLzxBklvU+uNMfd0QLtZ/eHUuw0YFPTQ9NlMeNkYw8fGCEaNOBDRiUBExDI2rwKFVdRimf08FnFnQ5ARHAGxSAw9fQ44XA6pNdVleEf8cGE15TgLBUJEPY3DyxtELBPCkuuNMWtuh3Yz+sO5X1swKOhzcdlMeFkbwcfGmEymPj7/HOvHEiYCTBYTmx+sp+RE+fJGGPavO6HURp3NYeFq9TEwmUwIRWKkFFUhJr8CBZWNOxhKyXmVgLizT5D+4B3EQhH09Dlo17cVugztiIChHRptRZWnqrwaB9adwPW9d1FTWT8BOHrpECzcQtx4lNbwEZNXgcTCSvCFTX/G9VhMeFobwdfWGCaSWL64HoZvhv1Marz8cmsdOvT732i5qamqxaHvTuLq7jtKNeuCPuuHL3bPBwCU1fARm1+BhIJK8CjEksNiwNPKCD62xjDTJ7TR3tyPwOoBP5DXjw2X11DSrvsY4NXwcHj9aVzeeUtBi05K38nd8dWRpQCA8loBYvMqkFBYiVpB0xtZHCYDHpLPuLmBTGcuNjYWJ06cwKhRo9C2bcPVox8rO3fuRG6uorkLk8lEQEAAqf1VUStAXH4F4gsqUUMhlmwmA82tDOFrYwwLQ1lSLjExEUeOHMHQoUPRqVPTlS4fG3v37kVGRoZCcpLJZKJDhw4YOnQoAKCSJ0BcfiXiCypQzW86liwmA80tDeFrawxLuVimpqbi4MGDGDhwILp0aVpP8WPj0KFDSE5OVoglg8FAmzZtMGrUKABAFU+IuIIKxOVXolqJZENdWAwG3CwN4GtrAmsjWSwzMjKwf/9+9O7dGz16NG2U9LFx/PhxxMXFKcQSAPz8/DB+/HgAQDVfiPj8SsQVVKCS13QsmQzAzZL4jNsYE8ni7KRcLPJfTco9zP55CiatHqW13+t9IhaLcXH7DZz6/SLptCmPW0sX/PvuD0BS2BJfUIm4/ApUUIilkC9AZnAkZs/tA0cLolo9L70AizqtRolE8mTqunGk0+jHwt2jj7B13i6y9dfARB+OHvZIfCOpOOOwIGzic7s97DdcvvoG+i1cYUJBN04kECIjOBLTZ/aEi7XxR7WRqEuo/ccJtRq+EM/TipFSrFxcuik4TAY6uZjDy9pI6yeeUCjEw5MhuPTPTSSGp6JGRTFCFpsJQ1ND2LnZoEUXb/Se0A0tA33+c6cTbSEUCvH6zjs8PPkEMc8TkJ9RiJrKGohVTLRxuBy4+Dph0IxeGPl50HuJF08gwsv0EiQUVlIYXR8Wk4EOTmZoYavdL8TM0ho8TS2itIBQho2RHgLdLcmbWVXISy/Aqxtv8OJGGMLuvGtQIN6lpQt6rJsIZnNqwtl1YTKA9o5m8LM30WpVanZZDUJSiigtIJQhyC+FF1OIZ8cf4fahhwAARw87bH/xi0I7ojIKMgvx8sYbvLz5BqG33yq92QYARx9H9Pp2Elhe6mlJMRlAGwdTmJWWY2mXteTfbP7m6Ri7nLojmFgsxtvgKJzZfJmsJJKyP+ZPcBysEJJShLLahqv2GkNQWAYPsQBdevpC37BxvZPGKC+uwNXdd3B+2zUUZct0vFz9nLHz7WaEZZYhKre+HhwVGAygtb0pbGuqsbjzGnIRPnPDJ5i8dozax/yhUllaiWt77uH8n1cV9O8cmtthf9xfCM8qRUROuVpynwwALe1N4CjiY4n/GnIRPuXrsZjx4yQaf4sPg6ryatzYR8RS3pXXxtkKh1P+wbucMrzNLoO6q9MWtsbo4GQGNouJ0NBQ5OXlYdCgQR/V4pwqPB4PERERMDAwwKtXr5CURCT67e3tMWfuXETmlONNVimljVpl+NgYo6OzGTgsJsLDw5GRkYEhQ4b8T8aSz+cjIiIC+vr6CAsLQ3w8oedjZWWFhYsWITq3HGGZZRCqeWJ6WRuhk4s59FhMREZGIjExEcOGDWtUU+xjRSAQICIiAhwOBxEREYiNjYVYLIaZmRmWLl2KmLwKhGaWkl0EquJhZQh/Fwtw2UzExsYiKioKI0aM+J+8n5C2zjKZTMTExCAqKorUlluxYgXiCirxKr1E7Vi6WRqinbUhVvVah6RwYjO420h/fHf2y/+5c1PAFyD49FOc3nxZYbOWrcfGtepjSCisxMv0Ekqbi8poZm6ADvbG+Kb/esS8SAAAdBrUFhuufPVRnpspken4YdzvSI/NUvp8vyk9kBGXVU9fruPAtmg7pRfQqjl4anaoOZvpo6ur5XsrztAUXULtP0yopZdU40lKEaXd16ZwNNVHD3dLStVqSe9S4Orn0uSHW90EGovDgrG5ERw97OHXzRt9PgmET0dPyr/L/zrV1bV4eDIETy+9ROKbFBTnloJXTa2CBQC4Bnpwa+WCYQsGYcCnPWn/ks4pq8Gj5CJUUdgxbApbYz30bG5Fe4WVUCTGi7RixBWol/CTh8VgoKOLGVrYmjQ6jlfLR+STGLIKLSUyvcGx3p084D+4HdqMDkASi6t2wk8eayM99GpuRXu7qkgkxrPUIsQXKk9iqTgZXv91BdFHH4BroIdtTzeieZv6rnECvgCRT2LJKjRlFX1SvDq4o9Ogdmg3uguS9fTVTvjJU56Si7tf7EVFRgF6TwrE2qNL1b5BTI3OwM4vDuD1rbcwtzPDF09+RmxBFZFx0gAGA2jnYIbWDiYa37zyeXzcPhyM3SsPobK0CtP+mAnjvu3VTvjJU5lRgLtf7EFZSt7/7CJcHgFfgPsnnuCf5QdQXlyBSRumwHp4AEpqNI9ldXYR7n6xFyWJ2R/1IpwqQgFR5b5j6X6U5pdhzDfj4DSxF+VK48Yw1mOBnRODvl39YWLS+Hf7/wq5ubm4dOkSsrKy0HtgEMrNmlGuNG4MIz0WODmx6B3QAWZmH4ZRjrbJz8/HpUuXkJGRge59+qHWxgv5FCuNG8OQw4RefgJ6dGhNWf/vY6ewsBCXL19GamoqunTvCbFTS+RWNCydQBUDNhP6hcno2saHsv7fx05JSQkuXbqE5ORkdAroCo57O2SXax5LYVUNHn51CFlPY+Ds7YDtz39WWeP2Y0IsFuPN/QhsW/gvMuKy0XFoR/TfPBuZZaoViihDVMND8DeHkREcCXs3G+x49StMLT/ea1BVeTV++XQbnl56Ve85A2N97Iv5E1kJOfhr0R6kRKajVZ9WGL5rEdJL1CsUkkePxUBXV0u4WX7YrbLQJdT+u4RaYmElniQX0WpeaabPxkBv2wazuUKhEJ84z0NxbinYemxcqTyisFgXCoW4f/wxLv9zC0nv0igl0FhsJmxdbNB1REcMWzAILt7qVeHoILSibh18gNe33iItJgNlhRVKHWnqom+sD892bhizdCh6jNWsdSCtuBoPkwrU3s1WhpEeCwO9bWGq33giKD+jEEXZxfDu5NFoAkEgEuF+QiGyaLjwydPK3gQdnMzI9xbwBYgPTUbEo2i8fRSFN/cilLbPQeIE1GlQW/gPbo+OA9vCwtYMmaXVuJ9QqPZutjIMOCwM8raBmUHjFXWF2cXITc1HiwAvpbEsL65A/OskRDyLQ2kzB5j6NaPtGAEg+vhDDOjoin6TifYLoUCIhLBkvHsUjXePovHmXkSDFX0mlsboOLAt/Ae1Q6dBbWFpb4HsshrcSyhQewdWGdWFZYjeegG/nFnRqEZIcW4JspNy4RvgpTRRVFFSifjQJESExKHE2RamrdxoO0YA8LYxQpdmTQsQUyW3vAZ3EwrU3oFVRk1JBSJ+P4tfTi5vdBFeWlCG9Ngs+HX1/p9IuuVX1OJOfIHaO7DKqC2rQvimM/j52JJGF+FlReVIi8pAi67e/xNJt8JKIpZUWhKpIhLw0dvdAu52Fo2OqyipRNLbVLTs5gMWhXb8D53iKh5ux+dTakmkikgoQKCLCbwdG2/bqSyrQuKbFLTo4gWOnuqV3x8apdU83I4voGVTTIpYKERnR0P4udg2Oq66ohpxr5PQoos39LgffyzLa/i4FZdPy6aYFLFIiA62XLRxa9wEoqaqFrEvE9AiwAt6+nqNjv0YqKjl43ZcAS2bYlJEAiFe/nwaq3+eBFe/ho0gaqtrEfM8Ab4Bnk06hn4MVPEEuB2XT8ummBSRUIRXm85i+Tej4dnevcFxvBoeop/Fw9vf44PWqvth/GY8OqvEea+OVEM1X4A7cQUoomFTTJ6AZhbwtW280+W/RpdQ+w8SaqnFVXiYWEhrMk2KuT4bg33twK0jgioUCjHRYQ5KC2TtPdPXT0DLQB8cWHcSSW9TG0wWyMNis2DbzBrdRvnjk7VjYPYRZ90/Bng8Hs5tuYo7h4ORmZBDKcFmaGoAn06eGLdyBDqrIOyYXVaDO/H5tCbTpBjrsRDka9dgsvfBySfYNH07+DwB1h5b1qDTokgsxv2EAmSU0ptMk2JXU438u+F4+ygKMc/iSe0AZfh29kTnoA7wD2oHr47NFW5qc8trcTsun9ZkmhRDDgtDWtg2WPUXcvElfvpkC3g1fKzYuxCBo/wR/zoJca+TEB+ahPjXSchOygUYDPTYOA2u/bSjK2THq0XB3Td49zgaUSGxjX6/eHV0R8CQjvAf3A4+nRXF9gsqa3EzNp/WZJoUPQYwrJUDqQVWlxfXw/DjhM2oqazF4u2foe/k7mQM40OTEPcqEVmJhH5R4PopcA/SjtaVn50x/F0aTwpQoaiKhxuxebQm06SwAQxrZd9g+3TYvXf4fvRvqCqvxtzfpmH8iuGU5uXz+MhPL0ROSj6qyqrAYrMk/zHBZDEVHtf9N5PFBIfLgaWDOe1Jp5JqPq7H5NGaTJPCghhDW9rDwkD5jV/E42isG/ErKkoqMX39RExdN47SvAK+QBLLPFSWymJJxLHhWErjzNZjw8rBgvakU1kNEUs6k2lS2EwGBvvYwspIeSyjn8dj3fCfUVpQjklrRmP2xsmU5hUKhMjPKERuSj7Kiyvk4qj8XKwbZ7YeG5b25mBT0IBUhYpaAa7F5NKaTJPCYjIw0NsGtsbKb6ITwpKxdshPKM4txZilQ7FgCzWxfaFAiILMIuSk5KG8qILS51r+MZvDgqWDBe2xrOQJcD0mj9ZkmhQmAxjgbQN7E+U30ckRaVgb9BMKMoswdO4ALNs5l9K8QoEQhVlFyEnJR1lheaOxVPYcm8OChb057cnQar4Q12JyUVGrnVj29bSBk5nyWKbHZmJt0E/IScnHgGm9sOrA55TmFQqFKMwqRm5KPkoLyhqMZUPfn2wOC+Z25rQnQ2sEQtyIyUMpjQkgErEYfb1s4GKu3CQtOykXawZvQFZCDnqO74p1J7+gNK1QKERRdglyU/JQkq88lk19f1rY0x9LnkCEG7F5tFRF10MsRi8P6warq/LS8vFV0E9Ii85El2Ed8eOlNZSmFYlEKMouRk5KPkrySuvFsqnvTxabBXNbU8rJ0OSINMxts6LRMd+fW4nOwzvhZmweLVXRyujubgkPqw+3alKXUHvPCbVKngAXI3O0ckMjpbmlIXo0l9lTC4VCTHSci9L8xl1OlKFLoH1YVFdU48SvF/DwVAhyUvKbFIQEAGMLI3Qa2BYLtsyApb3ym/IagRAXI3K0ckMjxclUH/28rOtV2pzbehX/fHGAfOw/uB02XvsakOze5KbmIyclH3mp+cjlcMFq3fBuj6aIRSLcmr8D+W/qC+Ez2UyI5OKz5dGPaBXoC7FYjJL8MuSm5CE3JR/Z6YWo7ugDphZdW5nF5WheVQlnbwc4NLcjFxln/riM3asOkzp9HH0O+DXKL24+E7rD/0vtal3dWfQPcl7G1/s5i82EUC6Wv95ahw7920AsFqO0oAy5KcTfPCetAFUdvME00V65N6O0As3Ly+Hi7QAHD3sylpf+voEdS/aR4vAcLhv8BnaDPUcGoMvX2hWcNU3KhIe9KZy9HWBhZ65yxZpQJMblqBztLMIlWBpyMNTXrp7T7/0TT7Bp+l8QSL6v3Fs3w+7wzUCdhJn0M5STSvw/NyUfBZlF0HSZwtFjw765HZy9HeDs5QBnb0c4eTvAycsBVg6qV/8JRWJcjc7VziJcgrk+G8P87Ou50z469xw/T/mTdIJ19LTHwTjCwl4+YUZ8hvKQm5pP/rsws0gt4yB52BwWHJrbwcnbAc5ejnDyciDi6u0AK0dLlWMpEotxLToPhVWat9M1hCmXjeF+dvUcVZ9ffY0NE7eQGyfWTpY4lrYTDAaDiKUkYUaem6n5ZGwLMgo1jiWLzYJDc1vifPS0h5O3oySWjrBytFC5ilMsFuNGbD7yaGinawgjPRZGtrSv56j6+nY41o/9HdWSzgYTS2Oczt0DFoulkHzMqfMZz0vNR156ocZO8EwWE/butpLPOBFHJ29HOHvZw9rZSq1Y3o7PR3aZ9mJpwGFiZEuHehvg4Q8j8d2oTaSWqIGxPs4V7gebw1ZIPuam5JOf79zUPOSk5CM/vRBCgWZJKyaTAXt3W0n8HOQ+446wcVEvlve0uBEKiYnTyJb29WRvop7FYd3wX1BWSBQTcLgcnC/aD64BVyFhRsYzJQ85kpjmpRXQEks7N1s4edkT35eSODp7O8DGxUqtjZ6HiQVq625TQY/FwMiWDvU2wONeJ+LroT+jJK8UkHzmzhXuh5GpoULCLCclv871Jw95aQXk9V9dGAwG7FytyfNSeh139nKArau1WrF8nFyIRDrkThqAzWRgZEv7elItye9S8VXQTyjMIrRtGQwGTuX8C3MbM4WEmcK5Kf2MpxWAT6G4ojEYDAZsm1mT8XPykp2Xdq42CptmeekFmOG9pEH3eQDw8ffE1FMrEZuvuQxPQ7CYDIzws4OpGprX7wNdQu09JtTEYjHuxhfQ0qPdFH08rdHM3ECSTJuD0nxqwtO6BNrHRWlROY7/dBaPz79AfkahQsJHGXoGemjV3RcLNk+HWytZm19wUiGSi7R3UZES6GYJT2tih0EkEmHP6iM4vfmywhgmiwmvju7ITytEUU4J+XNTN1sMPbwCLC23PpSl5ePqlN8hrOWDzWHBzMYU5cWV9XTuHD3tweawkJuSj1q557p8PQGeI7Xv2vX81zOIPxsCBoMBPQMO+DxBk39/KcZOVhh27EuwtVyuX5FdhKuTfwO/shYsDgtm1qaoLK1CbZ3KP/vmtuDq6yE3JV+hKrDTl6PhO0H7rl2vt15E9LGHAIPQKBTwhJQX0oZ25hh2fBX0jLVbrl+VX4orkzaBV14NQxMDOHnZKywspUmNhlouK2oFqOAJIBCKEZxcSG7q2BrrIcjXDifeZNKi59ne0QxtHGXX0zN/XMauLw/VG+fT2RNFWcW0JMw0wcBYn7xhdJJbWLr4OMLYXHks32SWIjxb9Q0qVWntYIoOTjLNqkt/38T2xXvrxcunkweKcktoSZhpgr4RVxZLT9kNj4uPY4PGJO+yyxCaWar1Y6tb5Xlj3z1smberXiLHq2NzlOaX0ZIw0wR9Qy4cPe3JGx5nuWSbqZXydVl0bjlepJcofY5OvG2M0NVVpv919+gj/DZzR73vTM8O7igvrCDWJlqo5KSKnj5H7jPuSH7WXXwcYWatfO0fl1+Bp6nFSp+jEw8rQ3R3l22AB595il+mbqt3w+zRzg2VJZW0JB81QU+fA0dPezIJTJ6XPo4wt1Gur5dYWInHyUVaPzY3CwP08pC1JD+78hobJv6hsD4DgOZtXVFVVk1L8lETOHpsSSxl56U0nhZ25kpfk1pchQeJ9V0q6cbZTB99PWUb4K9uheOHcbKEuRT3Nq6orayhJWGmCRw9Nhw87Ij4Sa7j0uSlpb3yDciMkmrcTSjQ+rE5mHAxwNuGPIbwB5H4dtSvqCpTTIq6tXIBr4aPvNT8/zSWbA4LDh72ZBLY2dsBxhZGKMkrRVV5DQoyCpGfUYishBxkxudALBZh3sElKPOiVzpGGbbGehjsY/tBmuLoEmrvMaGWVlyN+4mKH166b2akGOmxMKa1A4YaTG6yTdDa2RK9JnTTJdD+B8jPLMSRH07jxfUwFGUVN3pDwOaw4NneHZN+m44EA8UbRwYDGOxjC3N9DkJSi5BaXA0bIz10cjGHSCyud1NOFT0WE+PaOEAsEOK7UZvw6uYbyq/t++dcOHb1bfQYpWj6uQrfeR3v9t1W+XWWLZwx5KCsBL6hY7Q20kN7RzMwGIRTaaQaTou8ihqcH/4D+JWqJ+h7bpqJZr1bK/ysoWMNaGYOS0M9MAC8zixFrooCuBH77+DNP9dUPkb/sV2wbP/n9c43L2sjeFobQSQW40my+q6k8ghqeDg/4kfUlqi+uzZx32KMGBegcJzm+hyNPyvKiD7+EK+3XGx0jHvrZmjdowXa9PRDqx4tYOVggfIaPi5F5UIgEsPbxghcNhPvsolzrrcHYRpyJz6flmsQkwGMae0AAzYTv83cgTuHg9Wey9zWDPZuNrBzs4Gdqy1MLI0hEoogFAgl/4kgEgghJH8meSz3s5rKWmQl5iArIQe8Bqo1G8LVz5mIZa+WaN3DF9ZOVqioFeBcRDbpQNnQ96KmnxtI3D9Ht3aAsR4LW+fvxrV/76g8hxRzG1Mijm62sHe1gYmViUIsiX8ria1cLGurapGdlIfM+Ox6N6lN4eLrhDY9WqB1Tz+07tkCti7WqOYLceZtloLMgD6biT6e1hCJxWCAgWepxeCwGLR8nka1tIepPht/Lz+AC9tU/06SYmplAjs3G+LcdLWFmY0pREJRvXOz0VhW85CdlIus+JxGpQWU4eztgNY9iDi26ekHO1cb1AqEOPM2G2wmo178Smr4tFxz5BnuZwcLAw72fHUUpzY1/p3UGCaWxpLPuC3sXG1gbmsGsUgsFztqscxJJs5LKtIl8jh62iucl/ZuthCIxDj9Ngt8objeWkIb158gX1vYGnNx8PuTOPLjGairB2NiYUTE0c0G9tJYikE5liKhCLXVPOSm5CEjLrte8qQpHJrboXXPFmjdww9teraAQ3M7CMVinHmbXe/aomyNRsf90EBvGziY6uPEr+exb+1xtTdrjM2NFD7jFnYUYykUQSgUQiQQgVfDQ05KPjLjshvUjG0IO1cbtOnlh9aSc9PJ0x4iMXD2XTaqJcmWuvGi45ojTz9PazibG+Ds1ivYvfKw2olcQ1MD2Lvbwl7yGbe0N280lgrXImksa4lEU3psVr1EVFPYuFihTU9ZLF18HCEGcP5dNip4Qkxu70RWSL/LLgdfKKJ9/daruRXcLA1xeedN7FiyT6FDQxUMTYhYEmsiG1g5WCiNpdJrkVws89MKkB6bRVbBUsXayfL/2rvv+DbK+w/gH+0tecl778RxNoRMdkjYuxRKoYyW1UJpyyhtKYUftKWlFAqltFBGC2VvQgiQSfYe3ntvy0u2te73h2TZsmVbsuWZz/v18suydHr0+Ht3urvvPcNjH4+fEwsA+OhEf++HwfGsae8J6PFnunb9ZEJtEhNqX+Y3DJmNJdAXMwNlq0S4P/unIy4TFG7AO3X/Cujn0vRRU1yLfz34Bg5sPDLsAX3V/12PxHMXDXleJRMj3aiFqduK8tZuqGRiWOwC7F4uyv2xPCEYfz3/URQcKBlxuZCo4P6L6awESNcuHbWOfca7Xzm6enDwl68gb1eBz+/RBmmw6nfXIey0TI/nB9dRLALOTAnDlpJm2MfZAmLfn95H/ts7fF5eIhUjblEyVj57G0Reum0MrqtOIcXyhGB8WdAItUyCNckh+CK/0a86Cj0WHPn1qzi+Ndfn92gMaqz9/fehPyXDY3vLb+jCOWlh2JDXgBC1HPMiddhaEpi7tQef/QQ5r2/2eXmxRIyYefE476W7YXV1A+yrZ1FTV0D2lcEEixWFf3gHlScqUV/W4FMLmpi0KJx23+VQLUgBAKSGaqCUiXG8rgOxBiX0SiniglTYUtwcsGPQgmg93r/jH9j18b4RlxucMHNfWCcaER4fFtBBeh0OB5qqmlFVUOv6qUF1kfNxXWmDTxcL0SkRWPazy6BZmu5+ztv3YllL97j3mz7zInXYeN+r2Py/kffzwQkz94V1ohHhCcbAx7K6BVUFtagurEV1QQ2qCp2xrC2p9ymWkUnhOO2nl0B72hyP50XozydE6BRIC9PgQJUpIPvTnHAttj/6P3zx0jcjLmcI03kkJiISB2ybCWFQBbA7v8PhQHNNK6oLB2yXhc7ftSUNPrWgCY8Pw2l3XwT96myv8dtZ1hKwY06ftDANDj39IT58ZsOIyw1OmEUO2i41+sB15xcEAc21rah2xbGqoNa9j9cW1/nU6sMYG4pld52PoLOc50QDzyUEARNy/EkOUaPwpY1484kPRlxucMKsfx93bpeBnJVREAS01Jlc22PdgH28BjVFvsUyNDoYy25bj5B1Q8/dvJ2jBeJ6KD5Ihdq3t+Hfv3pzxOUGJ8zccXQlKoZrnTwWgiCgtd6E6sK6/u2y0BXXoroRu9L1CYkMwqm3nouwi5a7nxsYL7lEHLBjTp8YvRLtG/bi7z99ZcTlBifM3HF0xTTQsTQ1tju3R9fxp2+7rC70LZZB4Qac+oOzEH6Fs/fDxVmR+PhEnfv1QF3rDBSpU8Dx7XE8dcvfR1xOpVUiKjnCvR1GJnpum9ogTcBaZ/UNseKOo2u77PvblxuQhjAdll5/BqK+e6b7ucHxDOQ1D1wNEi6YEzHucgItsCN40rDaeqxDkmmxBiUaOnsRFzQxs501SEbvGtfRMv6LPJq+olOi8Ju3nYNJdnd248X7/oNt7+xyjyehCtUh/sz5Xt87eFDjgX87HMBYU/H5DZ2oLW0YcZmUBYl44dCTgGuQ3W25tajoHfqB3gZeDsR+JdYocc7PLkHelU/6/B6LICB4UcqodTRqFLA5BJyREgoxRNhfZRrzWExLblmLyi8O+HzHzm5zwLA0zWsyzVtde6x22BwCRADkUvGYxtgTKeU49/4rcHzrYz6/p9dqhzwz3n3w7dvewjRy1HX0QgDQbLaMOnOsPxbeeDYqP9+PjmbfvhMddgcMS1LRM+AEoa+egdpXBhPJZbjhX3ci3aiFpdeKutIG54mk6wKy8FApig+VeiTa6iqaIHbNgKaQiJERrsVXhc4T7YxwLTYXNQ0ZgPi8DOdg2YNvAmVF6LA0Lgg59R3YN0LXsoLGLlTkVY/4vxiMerxV8+KkzfYpFosRHm9EeLwRi8/x/M6zWvpi2X9iWXSoBIUHSz2SQ3XlTRAnec4m521dj2e/uSQrEgeqTO7xhgqbulCaWzXiezQGNf5X/eKkzVApFosRHheG8LgwLD7bs6WrzWpztxbqSxAVHS5D4YESj+RQfXkjRImRQ8oeuKvIJWK0mq0B25+KmrtQmjNyLOUqOd6o/MekzaooFothjA2FMTYUC8+c5/Ga3WZHnau1UN8+XnykDAX7iz0SGg2VzUCCM5be4hfIY06fkhYzSk6MHEupTIL/lj0f0ATkSEQiEcKiQxAWHYIFZ2R5vGa32VFf3jhgH3fFcl+xR/fKxqpmCPHOWA4+l5io409ZqxlFOSN/X4rFIrxS+OyIM/8GkkgkQmhUMEKjgrHg9EGxtNvRUN6EqsL+7bLkWDny9hR5JDSaa1rh8DKTqbdztLGetw3+vqw0dY/6fQkA/zrxF4RGjX+iH1+IRCKERAYjJDIY2as9byDY7XY0VjZ7JNNLj1Ugd3eBR0Kjpc4Ee7TR/ffgeAXiXG2w6vYe1ObVjLrcCwefRFTy5CQ4RCIRgsMNCA43YN4qz1g6HA5XLGvcycvS4xXI3VXg0aLa1NAGa1R/12CNTIJ1GUZ0WezYW2GakPO3uo5emHJH3scB4JldjyMxa/gZVgNJJBIhyGhAkNGAeSs9GwJ43DRzJS9Ljzu3y4GtgNuaOmCNDPV47+B4Bqlk4zr+DN7Hm7osaO6yDDvR0FSZ8Qm15557Dk8++STq6uqwYMECPPvsszj11FOnulpDVJmGXvCOdDFT0dqN3IZOj+dvWBqHj0/U+bwh1nda8Ln1LeR+m4c9nx9E/t4i1JbUo72pA709FgiCgBWXTr9Y0cRQaVW4+/lbcffzt8Jut+O/j72HoyVNEPt5ETb4orxPuFaO7Cg9jBoFRAA6LTaUtJiRW9/h0aWnpduKB9//Bf79s1dhamhDS23rkObPlfnV+N1Vf0JlnvME4/w374MuLgy+GGm/Ctcq8GlO/2DiMokI1y6KxbtHa4bM5BWyMAXn33oOjmw5gbamdnS2Du0OuO6ms6AP0eLIthxYgvU+je+mlksQpJLhs9x6aOQSLE8IwRf5/QnGKJ0CC6INCFHLIAhAQ1cvDlW3ocXLzDniIC0e3vArvHzPy2ipM6Gl1jSkRYNYIkbS/HjUltTD3NaN2NXzhpQzHKtDQJfFhsvmRUEiFnl0WT8vwwijRgHHgLONA1VtyG/sHFKOOjUGl9y5Dgc2HUFbUwc6WoYuc871axAaFYyj23LQpVJC5mpRM3B7i9YrPWZVHHifzt/1O5hYp8ZvvvgVXrrrX2ipaUVLXeuQu/AikQh3PnsTTnybh2Pbcj1i6W2/8PbceOtZaepGulELuUKG+MwYxGfGeLze1W5Gzq4CHNuWg2Pbc2FyiKAwqCERi3B6Sij2VrSi1+ZAcogalabuYWf1beu2IjVM45FQSw3TwOTD8afbasdP374XL9/+IpqqW9BSZxoy9EBbYzusvVafZ5qaSDK5DHEZMYjL8Ixld2e3K5a5OLo9B01mG1TDjF81cF2PtN/oFVIsjQuCUSOHWCxCt8WOouYuHK9zJnI/GnBnFwB6bQ78+L/34N+3vYDGyma01LUOmRyjq82MrnbzpF1sj0Qqk7rGAYrGsgv6n+/u6kHu7kL3dlnX0gXNMJPkGJRSrEgMgUYu8RgvyNv+NFo8B7LaBfzo33fh3z98AQ3ljWipMw1p0WDptqC9qR1hMaFD3j/ZJFIJYlKd49Hh/P7ne8y9yNtT6N4uq2pM0Mf3X2wPjp9OIR3xmAMAKxKDkRamxYfHa32auMTuEHDj32/Dqz98HnWlDWitNw1p0WCz2tFSZ0JM6uQk1EYikUoQnRKJ6JRIYH1/i/ze7l7k7S3CsW25OLY9B2UljQhOdSbNB59LKKTiYY8/8OMcaDCHAFzz1I2wdXajtrgeLfWmIWO2OhwCmqtbpsU+LpE4JyaJSo7AKQNmkrf0WJC/rxhHXft4cW41wrKGjqvk7RzN23PXLur/PpaIRRAEuM836jt78XVh05DvSwHApY9dh57GdlQV1qK1zuS1e3pDRdOkJdRGIpFIEJnobN21dG3/jOuWXisKD5Tg2LYcHN2ei4LDZYhYkup+fXC8RjrmYBzb5voHL0dnZRMqcqvQ2tDmtUt1Q0XTpCXURiIWixGR4GzZteTc/lhaLVYUHix17+O5+4oRdWp/K/P3jzu7JKeGarAoxoDdFc6xE4c7f/P1vHewNT++AM2FNSg7XonW+jb0eBmupaGiadISaiMZ7qaZzWpD0aFS97HnxM4CxKzwTGwOjmd9Z++wxx9fzocH7+NwnQczoRZAb731Fu6991688MILWLZsGZ5++mmcd955yM/PR3j40LsiU6lp0MXwaBczgdJstmD+mrmYv2buxH4QzSgSiQTff/hq7C5v9elA4H7foIvyPrEGJdYkh+JQdRt2lLag1+aAXilFdqQeKplkSJKgpLwZ2avmoL68ATUl9agrafAYr8PSY8X29/YAAOQ6lc/JtNH2K4vNgcUxBp8GIm0xW3DXszehs7UL7S2dqMitRs7OfBQfKXN1ebCh8GAJWutMaK1vw6IfX+hTHXttDjR09sLmENDWY4Nc0n9aHmdQYnVyKPZVmvBVoRliEZBu1GJdRviw01EXlTZi3spM1JU3oq6kAbUldTB39MfSYXeg+FAZAECilMOQ5PuJT7ReAYVUgveP10IlE+PsVCM+za13v36gyjQk8e9Ns9mCH/35++hs7UJHaxcq86pxYmc+ig+XoabY2Uy/7FgFDn51DK11Jsz/4XnO+g7a3iw2B4JV/UnLwavZn/XrjSYhHM/uehxwnYSVHa9E4YESFBwoQU1xHVZccgouuWMdLrljHWx2B944VA1hmP1iuH1lvPUcbTZEjV6NU85b6L7QOVTRgmMNXTg9ORR5DZ1o7HK+P0glQ6hGjvggFYJVMqxJCsWmASeOpa1mzAnXQiYRwWoXEOY6eWnq8vx8tUyClUkhCNPI0dFjQ3mrGelGLarauvHXb/8PcJ2ElZ1wxrLwQAkqC2qw7PzF0yKZNhKVVoUl5y5wn5wfrWrFobqh2/vgdT3SfnN2WhjKWszYWuIc9N6glMKgGjkRLw7R4S/bHgVcsazIrUbBgRIU7C9GZX41Fp89f9hB/6cLlUaJxWdnu0/Oc2rasK/G+8QObT02bMhrQLBKhuUJwfg8r2HY/cnfeDq0ajy15RHA1WqpIrcKBa7tsiKvGtmr5iA0OmTY908HSrUCC8+c527Rll/fjt2V/RM7DI7f4Zr2YY85cM1ElxisRo/NjrQwDfZXjTxJRF+3UotSjj9981vA1dKmMq/G9X1ZjPKcKmSemupMYE1jCpUCC07PcrfCKm7swI5yk9dziZGOP/6eAw3WI5Hij5t+A7hiWVVQ6/6+LDtRgdSFSUiYBhfaI5Er5c5xqlytsMqbu7Bl0GQE3uI63HnbG4f6W/QM19DAG7MgwhNf/ApwtbSpLqx1H8dLj1cgcW4c0pcmj/O/nVhyhQxZKzKQtSID1zxwGapazfjadXPBW7xGOuaMZdvs28fb7cBjnz4IuGJZU1zv2i6LUXy0HDGpUchamTFZYRkTmVyGuaelY+5p6fjOfZegrr0bGwv6z736jielrWakG53dU0c6f/P1vHewNqsDv/vwfsDV3bK2pB4F+4tReKAExUfLEZlgxMKzfL/hPRWkMikyT01D5qlpuOrnF6Opswef5Xk2rhgczwpT94jHn7GcD0/krOBjNaMTak899RRuvfVW/OAHPwAAvPDCC/jss8/w8ssv44EHHpjq6nloGXQRMtrFzGikYhGWxBoQa1BBIhahpq0Heypbhwyc2NxlRaRuYmefo5nLny8lkWtgzYEX5X1OjQ/G8boOj4NMe48N35Z5n9lp384CHPnHF6N+pkwuxZzzho7vNpzR9qv8xk7MCdchQqtAfefIA7a2dllwUdCNsPcMH6O+Ka8BICQz1qc6NnX1Yn6U8y6zUirGwF32FFccC5v6W8Mdr+twt8LY6GVMjAN7i3Hwmc9G/VypTILMcxdALPGnS4XIfXC02gVIxWMbu6HTYselxpthGWFgXo9YZsR63d4auyyYH62HCECwWob2QS0pRlu/o31vNndZkebK3crkMqQtTkba4mScf+vQ+rb12iAMs1+MtK/4Us+5EVpkGLVQySTosTqQU9+BPFfiu9vqgNliHzKl/XDarA4khagRoVVAJhFhToQWVaYej5kVz8swYlup51hAFpsD1W09SApRo6CxC6lhGhQ1dSFoULJiTXII2nps+KawCRq5BOekGd2xdMddJkXqwiSkLkzC+pvP9qne01GbZWg3Gu/r2vt+o5CKoVfKkN/Y5e7ObOqxwTRgO74iOwp7K02oHNCqfWAiXSqTInl+ApLnJ2DdD/rHLZlpTMMkGMQiuC8ULXaHuxuTt/3Jl3gONvCYJ5FKkJSdgKTsBJx348yNZVtvfyy9xW+kYw4AJIWoYXMIOFTdhkUxBhyobvPo5nRFdhTyGzudx1W1DJ/lNsDUbfWMpUSCxKw4JGbF4dzvnz7R//KEMbli6e1cYmtJ87DHH1/OgUb6Xh8cy4Q5sUiYE4tzvrdmkv7zwDP1Dt0PvcW12WwZ8/WQ9+/L/liKxWJ36+Ozrp34GcMnysBYeovhifqOYc/VfNk2h93HuzxjGZvmnHX4zGtWTsJ/PTFaB+y3UrEIdocAAUCkVoH2Xtuo52/DGf38sr8skUjkbjF7xndmcCy7Pfdxb/Ec7fgz2vnwaPv4dDFjE2oWiwUHDhzAgw8+6H5OLBbjnHPOwa5du7y+p7e3F729/SurvX3ip73vYx7UdWi0i5nRrEwMgUMQ8HFOHQQBWJEQjGXxwUOmpu6ewql3afobafs4PTkUoRo5rHYHwjRytJqtQy7KT9Q7kz06hRSlLb7PkKgaML26SCSC2qCG1qCGNlgDQ5gehjAd1AY1FCo5RF7G4BiujgeqRt6vem0OHKtrx+JYAzbkjTyOm0gihipEi86a4ad7F4lECIkKgjEuDKHDtPzyVseiJjPWZYRDLAL2u8ai6otjSfPQOJa0mHFuuhESkQj2QQM6DIwlRM4WStogNbRBWhjCdNAb9VDrVVCqFUDUyN2YBtf1YFUbkkPVWJcRDolYhCO1Y//OVBn1IybURCIRgiODEB4XCmNalNck0In6DhQ3d2FdZjgcgoCdZa0eZYy2fkf73hz8PT2SbldCwFs9u612r3X3tZ6dvXZszG+E2WpHpE6Bs9PC0NxtQWOnxV1PXxNqZosdjV0WlLQMP5uTt0QtXGNOLYo2oLjJjIQgFT46UYclsUHu19UyCSJ0SmwuroZdENDea0N+Yycyw7V+xXKm8PY/eVv/OfUdXvebXpsDbd1WrEwKQUFjJ5q6LKO2XIFrHc42w20foWo5Fsc6Z9QTiYB9laZhvwvGEs/ZHktv8bPYBa/HnD6pYRqUNJtR2mLGKXFBiDOoUDFomJLUMA2+KWxCR68NfWNid8/iWHo7R7fYHV6PP76eA430vT4rvy+9bB/e4jqwBdBYroeGfO4sj6XXbdPm8HrM8ef83Os+PstjqXd1j7faHXA4gJ3lLcMeb0YTyPPLmWLw/+QtnqMdf/y5LuvTbXXAIQgQB2iChkCYsQm1pqYm2O12RER4XsRGREQgLy/P63ueeOIJPPLII5NUQ0+DL4IH8nYxszjWgIXRBq/LK6RixAer8Nbhanfm+1BNOy7JisS3pS0ezdAdJ+8kruSDkWZc8TZ7lbeLcoXM2eLJlwvDPgPHbRMEAV2mLnSZulBfPnRfSL1kGU5bnT3k+eHq2Ge4JEFufSfmhGsRF6RCXcfI08JnnJYGmdUGXYgW+mAtwmJDYYwLgzE2BGGxoQiJDIJU5vwafe9oDTq9xMBbHYuau1A0KHHWF0dvB91uqx1ikQgKqXjI6x5j4Amu8ZTazKgvH9p8OvG8xVh15sIhz49U18FJ+oEGf0+9c7QGtmG2qbSlKZBmxUIXrIWuL5axIe54hkQFu2P54fFa56DXXra3gsYuFDQOf3I43Pr15XvTl1kz+/R9pw9Xz5ESWCPVE4DHxWxdRy9q2noQqVO4E2r+fK+PdOwZTW17L1YkSDA/Wo/GLsuQgY7VcglsDofHBVGXa6y02Xjs8fY/Dbf+h9tvvshvwLxIPRZGG6BXStHeY8PeylbUtg/fYnZWxnKYfa2xyzLku7vFbB12f/I3nhM9zMZUGLh9eIsfhjnmwDXeWrhWgd3lrbA5BFSYupEWphmSUMtv6ES7q5VM38fNylh6+acGxtPb8cfXc6CRvtcdgZlgeVoZ7djjbTsd7rzNH7NyuxwmlgPj5e2Y48/5ubd9fHBrotlgYCxbzFZ8mlPv8fpwx/Q+3s57JWLR6OeXgvN6J1CzdE4Hg7cPb/HECMefPv5cl/URBC8DWU6hGZtQG4sHH3wQ9957r/vv9vZ2xMVNzpgEEpEINj9Oig9WtXmdlAAAtHIpxCIRrsiOHvI+lUziccE9nbK3NP1IxtiFb6Be14w4GrkEHb2+JdUc1tEHPe5jt/i+rE/lCQIO17RjcYwBX+SN3O3zof/eA53Ct69J8Thj2RdHtUwyJDGnkkngEASvU8n7E0t/lvWFt++p4dz/77uGdBccjmQc31vDrV9fvjf92R/GU8eR6glXq6esCB20CglEEEEiFnlsE/589njrWdzchflReo/B4fuYLXZIxWIopGL3tqmRO/eX2XjsCcT/1GNzYH+VCfurnLMwzo/S48yUMLx7tNZjwPOBxrsOp6NAHHswhnhyu/SUFqZFi9niHhC6uKkL56QboR50Luntgny8x7zpaCzbpa/nQCN9rwdqf5hOpup/4j7ez5/zc2/7+Kw89ozzf/J23mtQykY9vxSLMKuSaQAgCdC/4891WZ/p9pU5YxNqYWFhkEgkqK/3zITW19cjMtL7IKgKhQIKxdQMgqyRS3yaOckXXRYbHIKAt4/WjNjCCAA0Cv9mcKSTi0Y++mC5o2nvtaGj14bEEDWO1Y7eLBoAVq1fhCvPngtBEFw/ztsNgiA47xALAqRyKWQKGbrlMuSMq4ZDFTV1IStCh5Qw9bDLiETO5JavtHLpkDG9/NHea0Nnrw1JoUPjmBSiRkNnr9c7vqedPQ+XrfqtT7HslctwfMw1HB9fuygCgEYhRYsf02oP5m39+vK9qfGrjuP/bvVWT41cglVJIfiqoBF1Hb0QAJyZMmhacj9j6c84IIPl1HeivqMXdV7GtjBb7ajv6MXiGAP2Vpiglkvcg/pq/ajjTKGVSwH4drLnC4vdgcM1bciKdF5kt5i9J9Rm43G8L/EaSL7EU8tYuolEQHKoGjKxCFcv6L8QFItESAnzPA55+8b053tophhLLH05Bxrte302xlI7Afu4b587C2Pp443dwfw5Pz9p9vExxnIkvpxfTtX+MJEC+T/5cl3WRyOXTLvk5Ixdu3K5HEuWLMHXX3+NSy+9FHDNQPL111/jrrvumurqDRGqkQcsodZjc6DS1I1l8UE4UNWGXpsDSqkY4VrFkGb6oerpNa0sTS+hajkaOsc/uOPeilasSQ6F1S6gtNmMXrsDeoUU8yJ1OFLbPiRplxgbjIz4kcfz6mO1O5AzYLanQBBc41AsTxh+2nSV4AAcDkAsgc1qw1O3voD8fUVIyIpD+uJkpC1x/vRNYx+ilqGm3bemysPZV2nCqqQQdFsdKGsxQyQCMoxaJIWo8WWB964QcVFByEp0jqR/dFsOnvvJy1BqlR51jM+MgUQqgd0h4MShKkx2DzKl4IDE9aF2ux1/ve2fOLEzD/FzYp0D/y9JRvqSZBjC9ACAULXMYwBSf3lbv758byqs/Um83D2F+OvtL0KudE1OsCQF6UuSkTA3FhKpBAalDBLXAKyBrGffYMI9NgcEADEGJaL1ShS4JqrQyCVQuhK9DocDf/vxyzi8+TjiM6PddUxbkowg19h6oWoZhpkbxCcWuwO1HcMnkbaXNmNFYgiuXhiNjh4bSprNSApVe8RyJhAEAS/c+yr2bTyMuIxoj+0yOMI5blyoRoaicQzvI5eIkBWhQ3GLGR09NojFzr97bPYRk/EKy8yKJQC89OB/8e1H+xCTFon0xSnu76LQKOe2HqqRAePs3TWWeM7EWL7227ex5e2diE6J8NguQ6NDIBKJEKr2reXvYHEGFeQSMT7OqYNlQOvnzHAt0kK1o16AKyzWGdeF6c0nPsCm17ciMincfYxMX5qCsJjxxXK0c6DRvtcV1pkXy3ef+gSf/+trRCSEuY+RGUuTYYwLc44vO8ZYjtdMjOVHz32Bj5//AsY4Zyz7juMRCcZxx9Lf8/OBlLaZF8vP//U13vvLJwiLCfE4d4tMCnft44G/Lvbl/FJps824WG56fSve+sOHCI4M8rimiE6JdG6XmsDF0pfrsj4h0zC3IRKEmTs4x1tvvYUbbrgB//jHP3Dqqafi6aefxttvv428vLwhY6t5097eDoPBgLa2Nuj1+gmta259B/YOGohvOMNND33D0jh8fKIOrd1WSMUiLIw2ID5YBYVUjB6rHWUtZhwaMA29YHdA+Hw3Vl68FGmLk2fUTkzjZ7fb8cR1f8W+DYcRGhOCmFTnjDJRKRGISgpHdFokLKFBI46R5Y9wrRzzo/QwapytQDstzovr3IaOIWNavLv+YWiUMpx2wWLMPz0L89fMQVjM8Am2D4/Xjjsh7W2/Oj8zHEatAu8erRlyUlH44W4ce/YTZK3MQFxmDN5/2vtMmmq9CsbYUNz25r04EYDGK9F6JeZH6RGilkEA0NjZi0PV7cPOavPBJY9CDgHLz1+CspxK5OwqGLKMVCaBNliLNVeehsQ7LkSLefwXlf5MY1/6xQEc/ON7mLsiA0nZ8Xj3z594XU6ukiMkMgg/efcXyLH7d2fUl/U72vfmx1f/Hnq5BNmr56KqsAbHtuUO+RyJTAJtkAbLL16KOfde7nfrL1/quTBajwyjFiKRCJWmbkjEInRb7dhXaUJ8kApnpjoTqK31Jlwd5WUKUgAyhRTBEUG4++2fI1c8eScf8yJ1iNIr8dNlD0Bpt2P+6jnIXjMX2WvmIDIxfNoeh7razbg06AavrylUcoREB+P2f9+FAqVmzJ8hFYuwLD4YETqFc7Yrh4AWsxWHatrQ5NqOvM1otfGWZyDt7Eb2mjnIXj0X89fMQVRyxLSNpdVixfnKa72+ptQoEBwRhB+9eBuK9N7HifWVL/Ec7Ku7XoBQ34r5p89FtmvbjEmNnLaxFAQB6+TXwOGl+6pSo4DBqMetf7sVZeFhfpd9dloYeqyOIbNxK6RiXDk/Cl8XNqGuo9frNgkAW372EnrL6jB/TX8s4zKip20sAeBi/fXo7hx640upUcAQpsPNf/kBKmKjxlT2aOdAI32vb//la+jKrfDYx+PnxE7rWF4VeQtMDW1DnleoFdCHanHjH76H2tSEgHzWcOcb3rbNnY+8CdPBIsx3xTJ7zRwkzI2FWOzPDOeT63tJd3gdQ1ihkkMfqsO1j1yNluw0r63IfDHatjncPr7nD++iaccJ5zF89RzMXzMXifPipnUsb5p7Dyrzht6El6vk0Ido8Z0HL0PHsqwxjbU30nnvaOeXB57+CLWbDmHe6jnuWCbNj4dEMn1bAd6+5D4UHSod8rxcKYMuRIsr7r0IljMWDTt28mh8OR/2tm0uijZgfvTE5m38NaMTagDwt7/9DU8++STq6uqwcOFCPPPMM1i2bJlP753MhFpnrw3vH6sd85fhWFRuPY6tv3gZABAeH4YVl5yCVZctw7xVmZBIp+8OTIHR3tKBK8JuGnGZ069bg8R7LhvXwOX+ajhcgi9/+Lchz0cmhSNlQQJi0qIRmx6F2HTn76BwAw7VtOPYOGaYHIuvf/Iiand7n+DEm+wz52HJkzeP+cAyFs25ldhww1/8es+juc8iv2NyW2lsve/fqNxyzOflNSFafGfTY8OOKTURTCV1+PSaP/r1nt8e+QuKeif3ELo6KQTJoc6kTndXDy7WXT/i8mKpBDft/fOQCQUCJUQtg80hoL3HhhC1DGenGrEnpwaPL/kZBjeFNMaGImVhImLS+vfv2PQod0ubqdTbY8GF6utGXEYkFuGHB58edzd5f3TVm/DhpY9BGLQvhEYHI3VREmLTohDjimVMWhTCYkKm/GLH0mvBJYYbYBth/Eu5So5bdv/JPQj2ZOhp7cT7Fz4Cx6CJXUIig5C6OAmxadGubdP5ExYbOuWxtFqsuCXrXtQU1w27THCEAd/76jH3OGiTwdLRjfcueAT2Hs/EZZBRj7QlyYP28WgY46Y+ljarDbcvvg9lJyqHXUYXosXN238/bEJ2QurV3Yv3LngE1kGJPkOYDmlLkp3bpWv/jk2PQnh82JRfhNttdvxkxUMo2F887DIqnQp37v0T6kZo4RzwellseP/CR9Br8hwAXReidcXSc7sMT5gesfz5Wb/F8R3Dn28qVHLcc+hpVI+zF4Q/HDY7PrjkMXQ3eiZNtUEapC9NHnKuHpFgnPJrS7vdjl+ufxwHvzo67DJSuRT3HX92SI+uiSQ4HPjo8sfRWeN580KtVyF9aQri0qMRmx6NmLRIxKRHIzLR6J6ka6rY7Xb89vInsfuTA8MuI5aI8av850edhCvQLsmK9HlM5skyY7t89rnrrrumZRfPwbQKKWKDlKg0Td6XYeF7O92PGyqa8OGzG/DhsxugD9Vh+UVLseKSU7DgjLnQGMZ+x52mL12wFlHJEagtGTrjSp/c7Tk483fXjTj7SqAVvPut1+frShtQVzp0ymS1ToWkZWlY+NgNEE3SKJSW5nbYahohkUlg93Gq69LDpYjbmYuQ0zInvH59hovlSN64/QUsfuIHEEkm5+LG2tYFS1kdpDIJbD7GsqulE7VbjiJ09bwJr1+f1j150AZp0GnyfV944/YXsPTJmyGepBMfoceC//30JdQX16OurBEtta2jvsdhsyPdqMXRCUpIK6USnJYQDJVUjB6bAwVNnSg/UorsVZnI21MI64CkSmNVMxqrhvaZVKoViE6LdJ6Yuy54YtKjEJsWBX2oLiD1tPRa0VDRhPqyBtSXNaKurAH15Y2oK2tEfVkDWmpHb0EuOASkh2k8WoJPNHVrO7JXZSJ3dyGsvf0Jk+aaVjTXtGLPoOUVKjli0qLc8RuY2NCH6gKSuLRa+mLZHz9nLJ2xba5pxWj3ai3dFqSFqXGgevJiqWxuw/xVmcjZVQBLT38sW+pM2Pv5IezFIY/l5UqZM5ZpUR6Jy9j0KBjC9AGLZVNVizt2fdtl3+Pm6pZRZx+et2oOMsK12F0++vdBoMibTJi/MgM5O/PR292ffDI1tmPfF4ex74vDHsvLFDLEpEa6t0vnxWOU+6ZZIGJps9rQWNU87HbZVNU8aiznLEtDplGLHV2BabnvC1lTG7KXpyNnZz56uvqTT21NHdi/8Qj2bzziubxciujUSGcSPdVzuwyOCApILO02+4BYurbNcufv+rJGNFY1e201OVD6kmRkGLWTmlCTNZkw/7Q0HN+R59ESsaOlEwc3HcXBTZ6JFplciqiUCPc+7j72pEcjJDJwsWyq7t/HPWPZgIbK0WOZPD8BGeHaSU2oSZvbkX1KMo7vyIO5vT/51GnqwsGvjuHgV543SaUyCaKSI1z7eP9NnkDeNLPb7WiubnHt3/3bZn15A+rKGtFY2Qy7beTzzIQ5scgM105qQk3S2oF5i5NwrKsHXW39ySdzezcOf3Mch7/xHN1YIpUgKjncuT2mRg7Yx6MRGh0ckJsTdrsdzTWtnnEsa0Cd6/jTUNE0aixj0qKQEa6d1IRapE4x7ZJpmA0t1MZjMluoAUBte8+w4yAFml4pxZpQBXZ/cgDffrgXh74+5vViViwWIW1JMhacMQ8Lz5qHeasyodIoJ6WOFHiCIKA8pwqHNx/Hrk/249BXx4a9sJHKpXh8w0OIPzUdn+YOn3QLJKVUhJK/fIDt7+yCtce/u+mrn7gBCWcvmLC6DbT/qQ+R979tfr/PkBSBC974BcSTkKzqae3EBxc/Cnuv/60SVvz2WiSfv3RC6jXYoec+w4lXv/b7fdqYUFz8zgMQT8IdT0tHNz64+Hewdvl/4r/sgauQdvnyCanXYEf/9SWOvviFX+8JiQrCy6V/x/vHasfUxcFfUrEIV2RHQSmToLe7F3l7i3BsWy6Obc9Bzq4CjwtGX+hCtIhOiYBCrYBEKoFEKnb99nwsloghkTj/FkslkEjEaG/p8EiYjfd0R6qQ4v32/+C9Y7XjGjvPVxKRCJdnR0Etl8DSa0XBviIc3ZaLo9tykLMz32vXtZHogjWISomEUuM9lmLJgL8HxbKjtdOvhNlo0pem4Kmdj+O9ozWwTkIsxSLgsnlR0CqksPRaUXigBMe25eDo9lyc+NbzgtEXGoMa0amRUGmVHrHsj+EwsZSK0Wnq8ithNpIrf3YRfvjH62FzCHjvaC16J6FVrwjAJfMiYVDKYLVYUXiw1L2PH9+R53HB6Au1XoWY1EiodKoBMfS+nw+OZVeb2a+E2UguvvM83PXMzXAIwLtHayasVe9gF82NQIhaDpvVhqJDzlge3Z6DEzvy0NHq381OtU7l3C51Su/xGymW7Wa/EmYjWXfzWfjpP34EQIT3j9dOWqvevu5idpsdRYfLcGxbDo5tz8XxHXlob/Zt0qw+Kq0S0amRUOtV/sVSIoa5s9uvhNlIzrp2Ne579U6IxGJ8eLwOHZPUqve8DCMidUrY7XaUHq3A0b5Ybs+FqdG/GyFKjQLRqZHQGNQ+xXLgsai7s8evhNlIVl+xDL984x5IpBJ8fKIOpgCNbT6ac9LCEGNQwW63o+x4pXsfP7Yt12u36ZEo1a5YBo0cS+c5kedrPV09fiXMRrLsgsV4+L2fQyqT4rPcejQHYCgZX5yZEor44NEnLphsTKhNYkINALaVNKN0EjK5fV+EfbraurDns4PY8eFe7NtwaNiLGolUgsxlqVjoSrDNXZ4OuXL6Df5HTg6HA+U5VTiy5YTzYLc1x6cDnS5Eiye/fhgpCxIBALvLW5HfOPpYWON1ZkoY4oNVAIDGqiY8/aMXceCroz61AlNHBOHCN++DXDuxCd+WvCps+MHTEOwO5wCm0cGISDRCrVdj3wbPFgwyhRTzVs2Bud2MqoJadLWZsejHFyLr+rMmtI4AsP2h11C+6bC7HlKZFD1dvT5d6KpCdbjwf/dDYZjYg5KppA6fX//nIV2shiMSixCXEYOW2lZ0mrow/9bzMP/W8ya0jgCw83dvouTTfYCrhU9EohERieGoKapDdWGtx7IRiUbEpUejpqQedaUNkGlVuPB/90EVoJZUw+mobMKn1z7pVwI1KTseLx75MwDgWG07Dlb7d+I2Fsvig5AZ7j0WDocDzTWtqCqoQVVBLaoLalBVWIvqwlrUljSM6+RuommD1Hi7/l+QyWTIqe/APh/HRB2PpbEGZEV6PzcRBAHNNS2oKqh1/dSguqgW1QW1qCmun7JYyuRSj1aJ3pyyfhEe/eh+SKQSFDR2YtcktKxaGK3HgmjvY7YJgoDm2lZUFzi3xSrXdllVUIva4jqfW9YGWpBRj4hEI8JiQ7Hro30eySKxWIS7X/gRzr/lbPdzxc1dARsTdSTZkTosjg3y+pogCGitN7m3y4H7eE1R3ajbxkQxhOkQkRgOY1wodn96wOOcQyQS4Y6//gCX3rXe/VxZixlbS8YxA4mP5oRrcWq890G4BUGAqaGtf/8urHXGsqAW1UV1Hi1WJ5M+VOc8RsaHYc/nh4bU44dPfh9X/ewi999Vpm58XdQ04fVKN2qwPCHE62uCIMDU2O7av/u3S2dcpy6WuhAtIhONCE8w4sDGI+gxe16b3fjoNbj2l5e7W3dNVsOMlFA1ViV5H9dYEAS0N3e4t8uqglpUFzrjWF1Y69FidTLpgjUITzAiIiEMhzefGHKT5NpfXo4bH73GHcuGjl5syB/aKybQEoJVOCNl+DEunbHsi2Nt/3ZZMHWxVOtViEwKR2RiOI5tz0VHi+f14ZX3XoRb//g9d0u55i4LPsutn/BhrWINSpyVGjblQ4R4w4TaJCfUemx2fHS8bkLvfGWGa7FsmAM0APR297qa6x7F4c3HUXZ8+PEkZAoZslakY+GZ2VhwZhYyTkmBTD79mlqeLDwSaFtP4OjWHLQ1DX/XLTw+DOaObnQOuMupC9bgj18/jNSFSe7nrHYHPj5Rh84JvIuYHKLG6mTvB+iiI6V4/u5/I2dnPuwj7BuplyzDaQ99Z8LqKDgcCCmoQGykARGJRhjjwiBXOLd3h8OBqyNvccc7JCoYj3/+S3dSsu+ErbKwFkcFGewTmIgWN7QirqsLUYlGRCQaPbofvfLw//DfR98btYzE8xZj1aPfm7A6OuwObLz5GTTnVAx5LSQqCK31bRAGXCDKlTL8fuOvkb16jvuEraKgFkftEthUigmrp7ipDXHt7Yh0JdGCjP2x3PTaVvzxxv7x/s678Uzc848fuse2sFqsqC9rRG55C2qCxzfA+kgEhwNf3vYcGg8PHRx2OLHpUXgp52n3CY9DEPB5bsOwk1sEQqROgbXpxjGd7NisNtSVNTovdNwJojpUFdSgsXJ8F7YhkUGISDRCG6RBbUk96ssbYfXjLr9Kp8Q79f+CQuncDgVBwBf5jWjonLiuTEaNHOsywyEeQyztNjvqyhr6T9BdFzxVBbVoqBjfhW1whAERieGITDTCYNSjs7ULFfnVKDlcNuJ3d59FZ2fjsU8ecN+oEwQBmwoaR5xJdrxC1DJckBkB8RiGDLDb7GioaHJf8PQl22oKa1Ff3jSulnpB4QZEJIQ545ng/P6JSDS6L7AH9hb4xdm/xeHNJwBX0v+h//0Uyy/ybGUsCAK+KWpCVdvEdQsLUkpx4dxISMYSS3tfLGv7k5eu7bK+rHFcsexLmEUkGt2x7PtOj0gIg0qrci/70IWPY+/nzptjMoUMD7z+Y6y5cmgr463FTShrnbhuYTqFFBfPjYB0DC3a7XY7Giub3fu3O+FWUIv6soZxtdTrS5hFJhoRkdC3TTp/RyQYodb1x/J3V/0J299zdjyXyiT4+ct34uzrVg8pc0dpM4qbJ64xgUYuwSVZkZCNIZYOhwNNVc0eNyf6ksB1pQ3jal3WlzBzbof9cezbxzX6/puaf7jhWXz1urNnhFgixk//8SOsu2nozdld5S0oaJy4YVpUMjEuyYqCQjrGWFa3uJOW/QmiWtSW1I8vlsGaIfu4e9tMCPMYvujpH/0Dn/3zK8CVML/r2Ztx8R1Db87uq2xFTv3ENSZQSMW4NCvSPTO7P/puQA7dx2vGfQNSG6QZso9HJBjd8dQG9cfy+Xv+jQ+e+dz994/+9H1cee9FQ8o8WN02oWNdyyUiXJLlbLE/HTGhNskJNQCo6+jBpoLGCel+E66V49w0o18H6NaGNhzdcgKHvjmOI1uOo6qgdthllRoF5q3KxMIzs7HwrHlIXZQ45QN6zmb+JtA0BjWy18zBgtOzsPCseUhZkIhXH34L/33MmWDRBWvwx68eRuqipCHvbe6yYGN+w4R0vwlWybAuIxzyUQ7QgiAgf18RXvn1/3B0W47Xi97lv74GKRedGvA6AsDyhGCkG7XDvv7vX72JNx5/H/FzYvB/n/0SkYnhXpdrNVvw6bFaOCag66dBKcW6zHAoh+kKaWpsw63z7kVbUwcu+NE5qC9vwpHNxz3GDOpzyn1XIOPKlQGvIwDs+9P7yH97B+DqOjFvVSbmn56FRWfNQ9qSZPz64j9g7+cHAdcA5U9seAjz18wdUk5bjxUb8hrQOwE3IXQKKdZnhkM1zMlOR2snbpl3L1rrTPjug5d53N0cbCJPzA7+7VPkvPbNkOdDo4Nx1nWrse3tnagv70+URCQY8Vrx34aMs9HRa8OGvHp0WwMfS41cgvWZ4dDIAz+enN1md/7YHXDY7LDbHP3PDXjssDvcf9usdmgMalQX1OC9v36GnJ35IybRxBIx0hYnob2lE7XF/V3g5UoZ3q7/JzQ6z7FGuyw2bMhrmJCuTGqZM5ZaxQTE0t4fs+Fi6Yyj3SOWar0KEQlGdLZ2YscHe/HtB3twdGuO1wv3sJgQnHnNSpga27Hpta3u5+ecloY/fPlrj+QGAJgtdmzIq5+QGzpKqRjrM8OhVwb+RuBoseyP46BY6pRDEmaj2fr2Tjx2zV8QZNTjkY/ux9zT0r0u12O1Y0New4RM9qCQiLEuM3xCxq8ZKZYD9+vBsVRplUMSZqPZ+fE+PHzpH6EL0eK37//C63EHAHptDnyR3wDTBEz2IJOIsC4jHCHqwN94GzaWo3x/KtSKIQmz0RzYdAQPnPcY1HoVfvPOz7DkXO/DcljsDmzMbwjIDOODScUirE03wqgN/I03h8MBm9XuGUv76Pu8XCkbkjAbzbHtufjZGQ9DqVHgoTfvwbILlnhdzmp3YFNBo98zjPtCIhbh3DQjInSTEMsB+/VI+7xMIRuSMBtN/r4i/GTFQ5ArZLjvtR9j9eXeJyu0O5w3dOon4OaYWASck2ZElD7wvWr6YuntGDPSPi+VSxGRYPRImI2m5Gg57jzlfojEYvz85Ttw1ndXeV3O7hDwdVEjatsDH0uRCDgrNQyxBt+/myYbE2pTkFADgOq2bmwubg7oOCxGjRznpBlHTVqMpqm6GYc3n3AOlLj5uNepnPuo9SqkLExE0rx4JM6LR1J2PBKz4vzaWalfd2c3KnKrkbun0O8E2oIzspC8IGFIgrOlrhU/P/O3sNvs+NVb9yJtcfKw5TV09OKrokZY7YHbLoNVMizRyRAd5/+gpGU5lfjPI+9gz+cH3d2URRIxVvzmu0ha7/1kY6xOjQvCnIiRu+0JgoCa4jpEJoaPOJtReW4VfnPDc1j5xI0B7VZpUEpxbrpx1KSFuaMb5nYzwmL6WwRW5lfjP4++i12f7Ed3h6sFg0iE0355FVIvOS1gdQSAY//YAHl1I+a7tsu0xUlDZizqNHXinlW/RlebGQ/85ydYcHrWsOW1mC3YVNAY0Ja9OoUUa9ONoyYturt60NHSifC44Zvsw7Vt7KkwBbzr9JEXv8Cxf30JuLrEJmXHY+0NZ+Ci29a6W/nUlNTihtSfAABCo0Pwn7LnIJV6/79M3VZ8WdAQ0KSaRi7B2vRw6JVTP89Rj7kHX72+HZ/+40uUHqsY8Y64RCbBnFPTcP3DV2LhWdkQi8UwNZpwVcStgGucyTeq/oHgMO/nB209VmwqaAxoUk0tk2BtuhGGaTTobm1JPba/txs7PtiD3N2FXpcJiwnBqsuWYdXlyzBvdSYkEgnsdjtunnMPqovqkJQdjz9veQS6YO83LDp6bfiyoAGdvYGLpVIqxtp0I4InIGkxFRoqGqEP00OpHvlit8tiw5f5jQFNqimkYpybZkSoZpbEsrIJuhDtqElNs8WOTQUNAR1rSS4R4ew0I8InIAE0FZqqm6HWq0dNxPVY7dhU0IiWACYoZWIRzkoL8xjiZiZrrm2FUi0fNXnUa3Pgq8LGgM5GKxWLcGZKGKINsyOWrfUmSOXSYY85fSx2B74ubApoi3OJSIQzUkIRGzR9E0D+MDW2QSwWjzpJlNXuwOaipoC2OBeLgDXJoUiYhuOmDcSE2hQl1ACgsbMX20tbAjLAZEqoGsvig8fU3Hk0taX1OLL5BA5vdibYmmtGH+/EGBfqTLD1JdnmxSF+Tqy7+9zJrqO1ExW51SjPqUJFTiUq8pyPR+uO40sCbTgOh8OnmWFazBZsL20JyF3ZhGAVvrjnnzjw2UGodErc+ofvYe0NZ0Axhi58taX1eOsPH2LrO7vQaTIj++ZzkX3TueMetF4uEWF5QggSQwLzZd3VbsaPlz2Iyvwa6BPDsf5vt0EW7n28GX/EGpRYmRgypqbjgzVUNOLtJz/CN29+i46WTmR9/yzM/9E6SMY7W6XVhhSJA8sXJ/o8fbqv22V7jxXbSloC0mUxRq/EyqSQYVumjZUgCMip78TBatO4WyBbOnuw/6kPULnpEOYsS8eFt6/F6VctHzZW1cW1yN9dhDO+u3LUeHb02rC9pDkgd7gjdQqsSgqZkJZpvnA4HNjz+SF8+epmHNlyAh3NIyc05UoZFp8zH9f+6gpknpLqNcmfs6sA37y5Azc/8V2oNCOfEHdZbNhR2hKQmezCtQqsTgqZkJZp/uib3GbH+3uw/f3dKDlS7nW56JQIrLr8NKy+YhnSl6Z43e6aa1txfHsuTr1gsU/Jix1lzQG5w23UyLEqKXRaJHmnQrfVjp1lLQHp/hmqlmF1cigME9DKbybotdnxbVkrKgMwK2CwSobVySEIVs2OxKS/LDYHdpW3BKQrrUEpxZrk0Alp5TcTWO0O7K5oRUkAutLqFVKsTg5BmGZ2JHn9ZbM7sLfShMKm8Xel1SokWJ0UOmsS5v6yOwTsqwzMzWWNXIJVSSEzImHOhNoUJtTg2okPVrcht2FsG55aJsHyhOBJy4ILgoCqghpnC7bNx3Hi2zyfEmxwdamJSYtCUna8q0VbHJKy4xGZFD4ru432jalVkVOFitwqlOdUoTy3ChU5VWip821Aa41Bjfmnz3Un0JLmx09KrOwOAUdq23G8rh1j+YZQSMU4LT4YiSFqXBZyIzpN/QepIKMeF9+xDhfdsRZBxrGNO9VU3YyPnt+IXVtykHXnhQhJjxlTORWbj2LfH99HSIjG3brSmQCOR0xqpM9JoT6CIOCRK/+Ebz/YC7imOn9qx6MoarfgaG37mJIscokYp8YHITlEHbCBONubO5zJ3Nwq5O8rxqFvjqFHIsHyX30HoXPjx1Rm1Y4T2Pv7dxGkU7pjmDQvHonZ8YhNi/I7lt44BAEn6jpwuKZtTLGUSUQ4JS4IqaGawMWypQMVudWoyHHu4xV5VWhq60bGLefBOH9o12pf1B8oQs/OE7j05jMxf83wLffGwyEIyK3vxKGatjG1lJaKRVgaG4R0Y+Bi6auiw6X49IUvcfCro6gra/QYi88btV6FlZeeiqt/cQkS5sYGvL6CICC/sRMHqtpgG2MsF8cYkBmunbLBdgVBQMGBEux4fw92vL972KEfkrLj3S3RkrLjJySWhU1d2F9lGlNLaYlIhIUxesyN0I1p/LnZRBAEFDebsa+yFZYxxFIsAhZEGTAvUjem8edmE0EQUNpixt5K05iGHxCJgPmRemRH6cc0/txsU9Zixp6K1jG1OhcByIrUYWG0gbEEUGHqxu7yljG1OhcBmBOhxaIYA6Q+3Nic7arburGzrBXmMU5EkxmuxeIYw4Q0bplpatt7sLOsZcxDOaSHabAkLgjyGRJLJtSmOKHWp6PXhoLGThQ2dfl0sA7TyJFp1CIxRD3lB5T2lg6UHa9E6bEKlB2vQOnxCpQdr/R56nSFSo7wBCNCIoMQHGFAULgBwRFB/X+7HgeF66fNhAg2qw0dLZ1oa+pAW1M72ps70d7UjramDjSUN7pbnPkzTbfGoEb8nBgkzIlFUnYC5p8+d9ISaMPpsthQ0NiFgsZOn058glUyZIZrkRSidh9QfnXRE9jz2cEhy8qVMqy76Sz88Mnrx9RirU9rgwnffHUCFd02BGcnQjTKSYGtx4KyjQdR8N5OtORVDbucTCFDZKIRQRHO7TE43IDgyCDn4wiDx/bZ1/LynT9/ghd/8RrgGvTzuX2/R3RKJOBqfVHY1In8xi50+3CwDlJKkRGuQ0qo2ueDs91mR3tLJ9qbO9Det202daCtqQONlU3u7XLYabpFIkQtS0f6FSsRs2ouxKN8rr3XirJNh1Dw7k6vkw/0kcmliEg0IjgiCEERBoRE9McxyB1L59++zCrcbbWjsMm5XfrS3c6glCLDqEVKqMbnLvF2u929j3c0d7j29Q60N7WjsaoZFblVqMitHjE5HnlKGtKvWInYNVmjtqR0WG2wltVjxYJYZM2JmbTESo/VjqKmLuQ3dvp04qNXSJFu1CI1TDOmQYvHoqmmBZ/9YxN2fbIfFblVPk0oYAjT4dwbTsdFt53n3gcnWq/NjqImM/IbO31qea5VSJDhiuVwYyJOJEuPBce/zceeTw9gxwd7hm0hnXFKClZdfhpWXXYqYtOjJ6duNgeKmruQ39DpU9dFjbw/loFueTrTWewOlDR3Ia+hE20+dF1UyyRIN2qQbtQyloNY7Q6UtJiR39CJVh9a8atkYqSHaZFm1ExZK97pymp3oNQVS1+6gSqlYqQZtUgP00x5K97pxuZwoKylG3kNnT614ldIxUgL0yDDqGUsB7E7BJS1OrdLX1rxKyRipIZpkG7UTMhYnTOZ3SGgwuTcLn3pUiuTiJAaqkFGuHbGtYhmQm2aJNT62B0Cms0WNHdZ0Gy2oNfmgENwDhSpV0gRqpEjVC2f9t0YBEFAY1Vzf6LtRAVKj1WgIrd6XNNT64I17gTb4OSbWq+CSCyGWCyCSCyCWCx2/RYBIpHr+ZFft/ba0N7cf+Hc1tSBtmZnUqL/+Q6PFlf+MoTpED83FglzYhE/JxYJc2MRPzcWoVHB03IqYABw9G2XZitazBY01Lchd28R7BYrIsMNOPP8hQhzbZeD/4eNr2zGn256ftiyf/DYd3HtLy8PSD0bmzqwe0c+CgrrYIYIEoUMcAiwdPWgtaAaLXlVaM6pgLUrsINmagxqaIM0aKhodLfoO+f6NchePRfaILXHdicSi9Erk6JXLkePTAq7WAxBJIIYgBwOaAQBGjigAiB2bZ82iw3tzZ1oc22T7a4kbt+22fdcR+vYt0tdsMZjuwxJikBTZy8q60zocgASpRxwCLB29aC1sAbNeVVoPlEBa1dgZ5RT61XuBNvg5JsmSAOxxDOWFpkUPXIZemSyQbEUoBEc0AgOqEQDYmm1D0g4DtrPByTGO1u7xjXr3ECKIA3CsuIRkhmHoJRISFUKSOUSaNQKxMcEY9HSJBi1yklLUHnjEAS0dlvdxx6zxe469gBqmRShGhlC1XIEq2QT/j1VerwCm9/YgUObj6EipxrmDt+6ByVkxeKCW87F6iuXeYwfONmEvliaLWjusqLLYoNDcLb40cglCFXLEaqZnFgOrldFbhUOfHkU+788jKNbc9DbPfSCQSQSYd7qTKy+/DSsvPQUhMcbJ62OgwmCAFO3Fc1mZzy7LDbYHc5YqvtiqZYjWC076VukjUYQBLT12NDcZUHToFiqZBL3+WUIYzkqdyxd5+udFjvsDsEdyxC1HKFq53fmyd66bzSCIKC91+Y+9nT09sdSKZO44xiilk95A4KZoL3HiqYu5/l6R6+tP5ZSCUJcx/FQxtInHb02Zyy7LGgfEEuFVOyOY6iGsfRFZ18szRa09zhjKXLFMsQdS9mMbSnJhNo0S6jNdnabHdVFdc6WbMcqUHaiEmXHK9BU3eIedH62CI0OdibLMp0Js4S5sYifEzPmbo7TSV1ZA65PvhMAsPrK0/Cbt3827LKV+dW4ac49w77+yAf3YcUlpwS8jt2d3dj3xWHs23AIuz7ZP+LkDoOJxCJIpBIIggD7GJt+T1fBEQYkzI1FXKZzm+z7CQo3DHtx32Puxf6Nh7H380PY/el+tNYP08LNC3csHcK4pvmejmSuO7tWiw0Y5Uiq0iqRuigJp1+1HOfeeAbUfsxKN5v1mHuw7d092P3JfhTsL0ZTdTPsPnYDEotFWHj2PJxx9UqsuOQUGIaZPOBk1t7cgYNfHcWBL4/gwKajaKxq9rqcRCrBorPnYfXlp2H5xUsRHDH+cR+JiIiIZjsm1JhQmza6u3pgqm9DS50JrfUmtNa3uf5uRWtDG1rr29Dqem2qkm+6YA30YXoYwnTQh+qgD9PBEKrzeC44MgjxmTGzeqZTq8WK85XXAgDmnJaGZ3Y+PuyygiDgCuNN6GjxHCdQLBXjvn/fhbOvWz3h9RUEAWUnKrF/4xHs++IQjm7N8Su5IxKJoAvRICIhHNGpkQiNCoLVYoepwYSWOhNKj1fC7GMX54mgDdJAH6rt3w7DdDCE6qEP1bn/Do4IQlxG9Kiz9IxGEARU5FXjwMYj2LfxEA5/cxw2P5KOIhGgDdYiItGI6OQIhMWGwmaxufd5548J5vbxD1o8FhqD2hUzPfShWhjC9LDb7KivaEJjRRNMDW2w9IzeylYqlyI+MwbLLlyMC3947pS28plOig6X4ps3duDo1hOozK/xez0HRxqw7PwlWLp2AZaet2DU2dBONjarDbm7C7F/42Ec2HQEBftLhm1pGRodjCVrF2DJuQtwyrqFo86GRkRERESemFBjQm1G6u7s9rj4bq1zJtkEQYDDIUBwCHA4HBAGPhb6HgsQXK+5HwvO2eIkUgkMA5MSYXro+5JnIdqADKw+W1wVeQtMDW0wxobijYoXRlz2oQsfx97PDw15/k/f/BYLzpiYQddH0mPuxbFtOdj3xWHs//IwKvNq/C5DLBHDYNRDH6xFea5zLDa5UoZHProfap3KnRzu7ugesl3aLDZ89NwXHknGZRcuQeLc2P7tUuhfXiIRD03kuv7WhWghHe/snOPQ292LY9vzsH+jM5blJ4Yfl244YolzOu6Y1EhknJKCJectwJzlGehq7fJIpJvbh8aybx93Pu/wvo8PiqUuVOexn/clHhVaJXJ3FeDgpqMo2FeMqqIatNa1wWEfvcWUxqBGXGY0Fp2ZjTOuWYHk+YljjOjsYLPZcGxbLg5sOor8vUWoKqxFS22rT7EcSKaQYuFZ2Vi6dgGWrF2A+MzJG19upqgprsP+jUdwYNMRHP7m+LBdZOVKGeafPhdLzl2ApectnJAJGoiIiIhOJkyoMaFGNCZ3LL0PhQdLIZaI8Zn5vyMmdd7508d48b7XAQARCUbUlzcCAMLjw/DikT9NeSuThopG7N94BPu/PIyDXx3zeUINb5QaJcLjQpE03zmxxPKLlsIY6zme038few+v/OZ/Hs9lr5mDp7b8bsyfO100VjXjwJdHsG/jYRz66ui4xnVTahQIiwlF0vx4LFgzF8svXhqwll6lxyuw9/ODOLEzHxU5VWiqaUWv2beWrxKpBMa4UGSckorlFy/FyktPgVI9/af1nijluVXOWH6bj/KcynF34U9ZmIgl5zoTaPNWZbon/SAnU2Mbju/Ic3fjrC2pH3bZpOx4dzJy3qrMcU0AQ0RERESemFBjQo1oTB79zlPY9s4uAMDLuU8jLiNm2GV7zL145VdvwmA04LJ7zsdD5z+Oo1tzAADnfv903PfKXZNW79HYbXbk7nF1mfryCPL3FY97cHqJVAxdiBah0SEIjgjCwa+PwuFlnKh/5/110mbRmwx2ux35+4pxwJWszNtTCIdjfLEUS/piGYzo5EgkZcch87Q0ZK3IhEav9ljWZrOh5HAZ8vYWIW9vEUqOlqO+vBFdJrNf61QbpEH83BgsPDMbZ127CglzYsf1P8xEDocDJUfLkbOrAAX7i1F8uAz15Y3oNHVBGOc6DY4wuLseLj4nGyGRwQGr90zncDhQmVeNEzsLcGJnHnJ25qOqoHbY5YOMeiw+d74zlufOR1h0yKTWl4iIiOhkwoQaE2pEY/Lqw2/hP4++CwD47fu/wMpLT/X5vfXljfjh/J+5uyb95p2fYfUVp01YXcejb1Dv/RuP4Oi2nBFbg4xXVHI4Vl+5HBlLU5C9Zg6Cw2fXwOAdrZ04+NUx7N94GEe35aCmqC6wHyCCc3Y6kcjdDdQfEpmzy3dMaiTSlqRg8TnZWHTWPMiV8sDWc5pqqGjEiV0FKDxQgsq8atSVNaC1vg1dbWbYLLaAfY5MLsW81XNcXQ8XICk7HuIZOrNToHV39aBgXzFO7MzHiZ15yN1VMGIrT6lMgqyVme5WaCkLExlLIiIioknChBoTakRjsvl/3+Lxa58GANz0f9fiuw9e5tf7N722FX+88W8AAH2oDi8e/TNCo6Z/y5Tm2lZsfXsnXvzFaz7PRjhWIrEICpUcKq0S2iANDEY9QqNDEB4fhuiUSMRlRCNhXhyCZujshq31Jhz/Nh8nvs3DiW/zUHiwdNJmAhVLxFBpVQiLDUHa4iQsv2QpslfNviQmAJg7u1GVV43qwjrUlNajsaIJzTWtaK03obmmFR2tnejttow6U+lYyRQypC9NRtbyDCw4cx6y18yBSnPydpEdqLGqGTk783H82zzk7CpA8eGyEfcBmVyKtCXJmLs8AwvOyMKCM+ZCxRljiYiIiKbE1I1kTUQzWvyc/i6eFXn+D0R/zvVrsOuTfdj+3h60N3fgz7f8Hf/36YPTfpDs4AgDtr69051MO//Wc3DGd1bg+I48nNiZj9xdBcMOCu4vwSGgp6sXPV29aK1vQ2X+8JMnSGQSKFRyaAxq6IK1UGmVUOlV0OjV0BjU0AZroA/RQheihcFoQHC4HoZwPUKjggM+/pfD4YC53Yy2xg60t3Sgo7UTXa1mdLR2orPNDHN7N8xtZudMvg1taG/uQGdbF2RKKYRuwe+B68dUR7sDXW1d6GrrQvmJSnz1+jb3a32xVOvV0AVroNapoNKroNapoA3SQBusgS5I45wcwmhAUJgOQZGGiY1lcwfamwbE0tSFTlOXO5amxna01pnQ3tKBTpMZPZ096O2xwO7HDKwjEUvEkEjFcNiFUZOeQeEGZK3MQNaKTGStSEfq4mSOg+bqTl5ytBwnvs3HiV35yNmZj4aKphHfE2TUY+6KDGStyMDcFRlIX5J80rSYJCIiIprumFAjojGJTY+CSCSCIAiozKv2+/0ikQh3//2HOL4jD631bdi34RA+e/ErXPijcyekvoGy8d+bkbOrAAAQlxGNO56+EQqVAovOygZc44aVHqtwJ9hO7MhDY1XzyIWKnJMZ6ILUkCnk6OnqQW/GfNoAADDCSURBVHdHD3q6e30en8putcNs7Ya5vRuNlaN8nrcqiEQQiUWux65KDf4lGvi661kRAEGA3eYYUzfLQBOJRDCE6aAJ0jgTkmZXLM1ji2XTaOtumDqMJ5YOuwMO++TGUiwRQ6lRQq1TQqFWQCwWobfbgpa6VtgsdledhiY6RSIREufFuRM+WSsyEJUcMe0T4xOt09SFkqPlKDlSjpKj5Sg9Vo7SYxXOloAjSMzqj+XcFRmISY086WNJRERENF2xyye7fBKN2fUpd6KutAFqnQofml4d04Xfns8P4lcXPgEA0BjUeKXgGQQZDRNQ2/Fra2rHDzLvRkdLJwDgya8fxsIz5436voaKRhzfkefu3lhytNynzwuLCUFSdjzCYkOh1CohEgR0tXejuaYFrfXOll3m9m70dlsCOsbVVJPIJFAo5VBqldAGqaEP0SE4MghhMcFQuyYeaGtsR+6eQpQeLfdpooPQ6GBnLGNcsQRg7jg5YilXypzdhg0a6EN1MBj1UGjkEEEEu92BjtYOVJyoHj3xC0ClVWLOaWmYu9yV9Dktbcpn6Z1KdrsdNUV17sRZ389oLc8AQKlWIHNZKrJWZGLuigzMOS0NumDtpNSbiIiIiMaPCTUm1IjG7KELH8fezw8BAN6oeAHG2NAxlfPkTc/hy1e2AADW33w27v3nbQGtZ6A8desL2PDS1wCAs65dhQf/c/eYyjn0zTHcd87vAADRqZFQqhUoz6nyafwwlVaJ5AUJSJ6fiNSFiUhZmIjEeXFQqBRob+lAeU4Vqgpq0dbQ5uwW2OrqGtjRje72bnR39aC3qxe9PVZYeyyw9tpgs9pgtzngcLhaIA04KgiefwxLJBZBLBa5ugZKIJFJIJVJIZNLIVPIIFfKIFfJoVDJodQooFQrERSuR1hcKKKTIhCTFomY9OghM3WOpqvdjKJDpSg+XIbiI2UoPlyG8hOVsPnQ1VGpUSB5fgJSFiQieYEzlknZ8VCqPWPZ3tSO9pZOdLZ2oavNjK52M7rbu9FjdnbH7e22wNprhbXXCpslALEUiSCWDIilVAKpfFAslXIo1M5YKlQKBIXrYYwPQ2RiOGLSohCX4Yxle0sHSo9WoPhIGUqPlqP4aDnKT1TC0mMdNT4ikQgxaZFIW5Ls7L65MgNJ8+IhkUpGfe9s1NHa6Wxt1hfPY+UoO145aqszuGIZlRKB9AGxTJ6fcNLGkoiIiGg2YEKNCTWiMfvHz1/Du099AgD4/cZfYcm5C8ZUTmu9CTdm/ATm9m6IRCI8u+cJZCxNCXBtxydndwHuXvEQAECtV+Hl3L+OeRKFja9sxp9ueh4A8KM/fR9X3nsRLL1WVORWORNDA5JDXW3mUcsTiUQwxoUiOjUSMSmRiE51/sSkRiIqxZmwO5lYLVZU5Faj+HAZSo70x3Kk2RIHMsaGuuMXnRo1IJYR03IwfbvNjobKJtQW16O2pB41xfUoO1GBkiPlaKpu8akMjUGN5PkJ/T8LEpA4L/6k23bsdjsaK5tRW1KP2uJ61BTXoTynCsVHynzuSq3Wq5A8PwFJ2QlIWZCApPkJSJoXx8kDiIiIiGYZjqFGRGM2cGKCyryaMSfUgiOCcP1vrsI/fv4aBEHA83e/jL9sfxRisTiAtR07u82OZ+74p/vvG393zbhmJC07Xul+nJAVBwCQK2RIXZiE1IVJ7tcEQUB9eaM7yVZy1Pm7rqzRozxBENBQ0YSGiiYc/ub4kM8LiwlxJtlS+pJEkYhJi0J0SsSsvMiXyWVIWZCIlAWJ7ucEQUBjZROKBiUs60obhry/saoZjVXNOLLlxJDXQqODByQuowYk3iKh1k1cLLs7u1HjSpj1JXpqSxtQW1yH+vImn2dH7Wt1lrwgEcnZCa7WjgkIjw87acbq6u7qQZ0r8eiOaUkdaorr0VDe6FPrRgxodZbiajHal4iMSDCeNLEkIiIiOpkxoUZEYxY/J9b9uCLX/5k+B7rkrnX4/F9fozKvGjm7CvD1f7fj3OtPD0Atx+/j5zei+HAZACBlYSIuvuO8cZVXntOfUEuaFzfsciKRCJGJ4YhMDMfKS091P9/X9az4cBmKDpeiMrca1UV17rHdBmuqbkFTdQuObs0Z8lpIZJC7RVt0ivMnJCoIIZFBCIkKhlqnmhXJAZFIhPB4I8LjjVhx8Snu57vaulBytMKVtCxFWU4Vaorq0N7c4bWc5ppWNNe04ti23CGvBUcY+lsHpkQhKjkcodEh7niq9ephYykIAlrqTKgtrhuQ5HElzkoaYGpo8/t/PllbnQmCgNZ6kzOOfa32SpxxrC2uQ2u9/7FkqzMiIiIiGoxdPtnlk2jMOk1duCzkRgBA5qmpeHb3E+Mqb/+XR/DguscAV6Ln3/nPTGirH18017bipjl3w9zeDQD467ePYe7yjHGVeW3CbWisbIbGoMYHLa8ELGHV3tKB2uJ6VBfWorqoDjXFdagpqkN1YS3amrwniEajVCsQHBmE4MgghEYFITjCmWjrS7j1/Q4y6mfVeFAdrZ3OFkyu+NUU1zljWlQ3puQWAEjlUqi0SsiVMnesbFYbes0WdHf09I+75geVVomolAhEJUcgOjkCUSmRiEqOQFxG9KxqdWa329He1IHW+jaYGtrQWt+G1nqT83eDCaaGdphcf5sa2nxuZTaQUqNAdEokopLDEZXsjGNUSgRi06MQmRg+a2JJRERERIHBFmpENGbaIA3i58SgIrcahQdL0WPuHVfrl6VrF2DFJadg50f70FJnwn8few+3/uF7Aa2zv178xWvuZNr6m88edzKtq93sHospISsuoBfp+hAd9CE6ZJySOuS1TlNXf4KtqA7VRbWocSWIRmqx02PudbeWGolYLILBqHcl3oKdSbhwA1Q6FVRaJdQ6FVQ6FdQ6JVRapeuxCkqtEmqdEnKlfFolLHTBWmQs1SJlQQJ6unrR09Xj/G3uhamhDdWFdagrrUddaQPqK5rQUmtCR0vHiIP92yy2YVsRjkShkkMXooXBqEdIZDDCYkMQkWBEdEoEwmJCodJ5xne6xbKP3WZHT1cPurt6PWPqetxpMsNUb3ImzAYkzUwN7WhvavdpNtfRhEQFIyo53Jk4S3ImzKJdCcmgcMO0jBsRERERTU9MqBHRuGStyERFbjXsNjvy9xVhwelZ4yrvtj/fgH1fHIa114r3n/4U628+C7Hp0QGrrz/y9hbimzd2AAD0oTrc8vvrxl1m4YES9+OkrOG7ewaaNkiD9CUpSF8ydLIHc0e3swVWYR0ayhvRUmdCS12r83dtK1rrTKMO6O9wCK4ESBtKjpT7XT+xRDwg8eaZdFNplVCoXEkikQjOX4Meo+8552+R6zUMeNy3nN3ucCXHetBrtgxJ7Ax8PJaWToHW221Br6vbbjHKRl1+YCz7EpYDE5uBjKXDIThjZvYev77HveZeWC22CY2TWCJGkFGPoAgDQqNDnC32XK3MolyPZ3t3VyIiIiKaPEyoEdG4ZK3MwIaXvgYAHN+RN+6EWlRyBK762UV44/H3YbPa8Y9fvIZHP3ogQLX1zyu/ecv9+MbffQf6UN24yxw40H3WqsxxlxcIap1qyIQIg1l6LGitb3Mn2QYm25rrnL9bak1oqTP5PED+QA67A11tZp9mNZ3uZAoZgiMMrp8gBIUbEBTe/7cuWAOxVAy7zYHe7l601rU54+dKZLbWmdDsiu1YEnqzMZbu+IUbEBQR5Po9MMZ66EN102YiEyIiIiKa/ZhQI6JxmTcgKXRiZ35Ayrzmwcvw5atb0FTdgt2fHEDhwRKkLU4OSNm+Or4jFwe+PAIAiEw0Yt3NZwWk3KPb+icGWHD63ICUORnkSjkiEoyISDCOuJzD4UBnaxeaa1vR3tQBc0c3uju60d3ZA3NHD7o7umHu6EZPZw/Mnd3o7uhxvdbteq0HPZ3O5yZ7iE+pTAKFWgGlRgGlRun6Peix2vXYtZxar3Ynz4IighAcYQjYRA6CIKCjpRMtdSa0NbY7Y9TZ4xEnd9w6+17r6Y9vR398JzuWEqnEe/w0SijVctdvz9f7YtmffDSMOJEDEREREdFUYkKNiMYlOiUSQeEGmBrakLMzHw6HY9ytRFQaJb774OV49q5/AQD++3/v4bfv/SJANfbNwNZp3/vNVZDJZeMu09JjQe7uQsDVEi88fuTk1EwkFouhD9WNuzWfw+FAr7nXnYizdFsgCIIzMSTA/didJxrwt3OZoY/hSlKJxSKvCTOpbHodEkUiUUBiKQgCesy97kTceGPpWsRrLPsSkoHYX4iIiIiIprPpdfVARDOOSCTCvFWZ2PH+HnS1mVF+ohJJ2QnjLnfdTWfiv//3HlpqW/HtB3tRerwCSfPiA1Ln0Rz65pi7a2ZsehTO+d6agJSbu7sQ1l7noPUzqXXaVBCLxVBpVVBpVQiJnOrazGwikQgqjRIqjZKxJCIiIiIKEA42QkTjlrWif+bL498GptunXCnH1T+/2P33G4+/H5ByRyMIAl759f/cf1//m6sgkUoCUvbA8dPmnzG+seaIiIiIiIho6jChRkTjlrVywDhq3+YFrNzzf3gODGHO7m5b39qJyvzqgJU9nH1fHEbOrgIAQMLcWJz+nRUBK3umjp9GREREREREnphQI6JxS12UCIVKDgQ4oabSKHHlvRcBrpZjb/7+g4CV7Y0gCHjlN/2t02545DuQSALTOs3SY3En6iKTwmfl+GlEREREREQnCybUiGjcZHIZMpelAQDqyhpRXVQbsLIvuuM86II1AICv/7MdtaX1ASt7sJ0f7UPhgRIAQMrCRKy87NSAlZ27Z+D4aezuSURERERENJMxoUZEAXHKukXuxzs/2h+wcjV6NS77yQUAAIfdgbd+/2HAyh5IEAT89//ec/99wyPfGfdspQMd2dw/ftoCjp9GREREREQ0ozGhRkQBsfLSU9yPd360N6BlX/qT9VDrVACAja9sRlN1c0DLh6sFWV/rtNRFSTjtwiUBLf/bATFZcCYTakRERERERDMZE2pEFBCx6dGIy4wBAOTszEdrQ1vAytYFa3HxHecBAGxWO754eXPAyu7z8fNfuB9f+uP1EIlEASu7qrAWJUfKAQCZp6YiPC4sYGUTERERERHR5GNCjYgCZuUlzlZqDoeAPZ8eCGjZF9621p3k+uLlb+BwOAJWdmu9Cdve3gUA0IfqcEYAZ/YEgG3v7HI/XnPl8oCWTURERERERJOPCTUiCpjllwzo9vnxvoCWHZFgxNLzFgAA6ssbcWDT0YCV/fm/vobVYgMArLvpLChUioCVDQBb39npfrzmKibUiIiIiIiIZjom1IgoYDJPTUVIZBAA4OCmo+gx9wa0/PW3nON+vOFfXwWkTLvNjs/+sQkAIBKJcNHtawNSbp/B3T0jEowBLZ+IiIiIiIgmHxNqRBQwYrEYyy9aCgDo7bbgwJdHAlr+8ouWIDjCALhmEm2tN427zJ0f70djlXOSg9MuWoLIxPBxlzkQu3sSERERERHNPkyoEVFATWS3T6lMirU3nAG4WpZ9+erWcZf58XMb3I8vvmPduMsbjN09iYiIiIiIZh8m1IgooBadNQ8qrRIAsPuTA7BZbQEtf/0tZ7sfb3jpawiCMOayynMqcXjzCQBAbHoUFp+THZA69mF3TyIiIiIiotmJCTUiCii5Uo5Tz18EAGhv7sDezw8FtPyY1CgsPGseAKC6sBZHt+aMuayPn9/ofnzxHesgFgf2K5HdPYmIiIiIiGYnJtSIKODW3nCm+/HnAZo8YKDzB0xOMNby7Ta7O+GlUMmx9obTA1Y/ABAEAV+93t8lld09iYiIiIiIZg8m1Igo4JasnY/w+DAAwL4Nh9yD/gfKystOhT5UBwDY8f4edHf1+F3Gka05MDW2AwBOvWAxNAZNQOt46OtjqMyvAQDMP30uu3sSERERERHNIkyoEVHASSQSrPvBWQAAh0PAFy9/E9Dy5QoZVl9xGgDA0mMd02yiA7tjnj4B3TE/eu4L9+NL7gz8ZAdEREREREQ0dZhQI6IJcd5NZ0IsFgEAvnj5G9jt9oCWv2Ics4nabXZ8+8EewNXd89QLFge0bnVlDdj9yX4AQFhMiEddiYiIiIiIaOZjQo2IJkR4XBhOWe+cnKChogkHNx0NaPkLB8wmuufTg7DbfE/YDe7uqdIoA1q3T1/4Eg6Hc/bRC3+0FlKZNKDlExERERER0dRiQo2IJozn5AFfB7RsuULmTti1N3fg+Ld5Pr93Irt7Wnos2PCSs4urVCbB+beeHdDyiYiIiIiIaOoxoUZEE2bZBYsREhUMANj18X601psCWv6Ki/u7Uu76yLdunxPd3XPLWzvR3twBuGb2DI4ICmj5RERERERENPWYUCOiCSORSnDejWcArkTWxle2BLT8U89fBIlUAgD49qN9EARh1PdMZHdPQRDw4d82uP/mZARERERERESzExNqRDSh1t/c3+Xx4+e+gNViDVjZumAt5p8+FwBQV9qAsuMVo75nIrt75u0tQuGBEgBA2uIkzDktPaDlExERERER0fTAhBoRTaio5AicdtESAEBjVTM2vbo1oOUPnEHz2w9H7vYpCAJ2uWbfnIjunu8//an78cV3rodIJApo+URERERERDQ9MKFGRBPuuoeucD9+8/cf+DUj52hWXLzU/XjnR3tHXLaqoAYtta0AgPlnZAW0u2fp8QpsfdvZ+s0QpsOZ16wIWNlEREREREQ0vTChRkQTLvPUNCxZuwBwdc385o0dASs7PN6IlIWJAIDCg6Vob+kYdtkjW3LcjxecnhWwOgDAa7992z2G23fuvwwKlSKg5RMREREREdH0wYQaEU2K7/1qQCu1J96H3R64VmoDk2M5OwuGXe7I1hP97zljbsA+v+hQKXa875w5NCQyCBfdvjZgZRMREREREdH0w4QaEU2KeavmuCcQqMyvwfZ3dwew7Ez34+M7cr0uIwgCjm5xJtRUWiXSFicH7PNfffgt9+Pv/vJyKNVsnUZERERERDSbMaFGRJPmul9d6X783/97Dw6HIyDlZq3McD8+sTPf6zJVBTVoqTMBAOatngOJVBKQz87ZXYDdnx4AABjjQnH+recEpFwiIiIiIiKavphQI6JJs+iseZhzWhoAoOx4JXZ9vD8g5YZEBiM6JQIAkL+vGJZe65Bljm6dmPHTBrZOu+6hKyBXyAJWNhEREREREU1PTKgR0aQRiUSerdQee9c9kP94Za10dvu09lpReKBkyOsTMX7ase25OLjpKAAgMikc5/3gzICUS0RERERERNMbE2pENKlOXb8IaYuTANesnFve2hmQcrNWDOj2+W2ex2uCILhn+AzU+GmCIOCV3/zP/ff3fn0lpDLpuMslIiIiIiKi6Y8JNSKaVCKRCDf87hr33y/+4jV0d/WMu9yBExMMHketurAWLbWt7uUCMX7a/o2H3d1IY9OjcM731oy7TCIiIiIiIpoZmFAjokm37PzFWHbBYgBAU3UL/vfEB+MuMy4zBrpgDeBqoTawK2nunkL34+zV4+/uaemx4G8/edn99/UPXx2wSQ6IiIiIiIho+mNCjYimxG1P3QipzJmEeudPH6OmuG5c5YnFYvc4am1NHagqqHG/Vn6i0v04ZWHiuD4HAN7640eoKXLWN3v1HJx5zcpxl0lEREREREQzBxNqRDQlYtOicMVPLwQAWC02/OPnr427zIHjqOXtLXI/Ls+pcj9OzIod12fUFNfhTVeLOrFEjB8/dwtEItG4yiQiIiIiIqKZhQk1Ipoy1z50BUKiggEAOz/ah/1fHhlXeUnZ8e7HFbnV7sdlxysAAGqdCsa4sDGXLwgC/vbjl2DttQIArrjnAiTNix/1fURERERERDS7MKFGRFNGrVPh1j98z/338/f8Gzarbczlxc/pb31Wme9MqHV3dqOurBEAkJAVO67WZDs+2It9XxwGAITFhOD6h68ac1lEREREREQ0czGhRkRT6uzrVmPu8nQAQGVeNT762xdjLis8IQxypQwY0EJtYEu1hLlxYy67u7Mbf//pv91/3/H0D6DSqsZcHhEREREREc1cTKgR0ZQSiUS485mb3C3HXnvkbTRVN4+pLIlEgtj0aABATVEdbFYbygZMSJCYNfaE2n8efQ+Nlc56LT1vAVZdvmzMZREREREREdHMxoQaEU259CUpWH/zWQAAc3s3nrzpeTgcjjGVFT8nBgBgt9lRXVSHsuP9CbWEMSbUyk5U4r2/fAoAkClkuOvZmzkRARERERER0UmMCTUimhZu/v11CIsJAQAc3HQUHz+/cUzlxGf2j6P2m4t/j02vb3X/nbenAMd35EIQBJ/Ls9vseOrWv8NuswMArrn/UsSkRo2pbkRERERERDQ7MKFGRNOCPkSHn798h/vvf973Oiryqkd8jzdxmdHuxzXF9WhrbHf//erDb+Ona36DXR/v97m8N/7vfeTuLgQARKdE4Dv3X+J3nYiIiIiIiGh2YUKNiKaNJecuwKV3rQcAWHqs+MP3n/V71s+BM30Ox9Jj8amsnF35+M9j7wIAxBIx7n/9J1CoFH7Vh4iIiIiIiGYfJtSIaFq5+ffXIS7TOQ5awf5i/Pex9/x6f2z6yN0xk+cn+DShgLmjG7+//lk47M6x3L73qysx97R0v+pCREREREREsxMTakQ0rSjVCtz/2o8hkUoAAG88/j4Ofn0Mf7zxb7g2/jbs+mTk7ppypRxRyRFeXxOJRLj7hR9CKpOOWo/n7n4ZtSX1AIC5y9Nx7UOXj+n/ISIiIiIiotmHCTUimnYylqbg+t9cBQBw2B146ILHsem1rWisasbrv3tn1PfHpEV6ff6CH57jUyuzbe/uwpevbAEAqHUqPPD6T9wJPiIiIiIiIiIm1IhoWrrmgUsRP8fZ9dNm6R9HreRIOXrMvSO+NywmdMhzGoMaNz1+7aif21jVjKd/9A/333c+c9OwLd6IiIiIiIjo5MSEGhFNS5/8/UtUFdQOed5us6Ngf/GI7zXGDk2oXfvLy6EL1o74PofDgT/e+Dd0tHYBAE6/ejnO/f7pftediIiIiIiIZjcm1Iho2ik6VIrn7n7ZPSHAYDm7CkZ8f9iAhFp4fBjOvm41rvr5xaN+7ntPfYrD3xwHXEm5u//+Q4hEIr/rT0RERERERLPb6CNzExFNMqVWCblSBkuP1evrR7eewDX3X+rxnNXuQHlrNxq7etGRlYRrtj4BqUoBQRCgkIrxZUEjQtRyROoUiDEoIR6UKDu2PRcv/fINwDV5wX2v3jVqizYiIiIiIiI6OYkEQRCmuhJTpb29HQaDAW1tbdDr9VNdHSIaoORoOd7644fY8tbOIS3VZAopPjO/AZFIhPYeK3LqO1HS3AWrw7evM41cgrQwDTLDdVBIxWiqacEdS+5Da30bAOCa+y/FzU9cNyH/FxEREREREc18TKgxoUY0rTVUNOL9v36Oz/75FXo6e9zPf9j2Kkq7bDhU3QYf82hDqGRinBKjx9OX/N7djXTR2dl4YsNDnNWTiIiIiIiIhsUx1IhoWguPN+K2P9+A/1W+gEt/vB4agxrLLj8NW6s6cKBq7Mk0AOi2OrCtzATdmQshkogRHh+GX75xN5NpRERERERENCK2UGMLNaIZxWyxY2NBA9p7bAEtt2r7CVy+Og1zlqYEtFwiIiIiIiKafTgpARHNGFa7A18VNgY8mQYAsauz0BSqhiAInNmTiIiIiIiIRsQun0Q0YxyoakNrt/eZPwOhpNmM0hbzhJVPREREREREswMTakQ0I9S29yC/sXPCP2dvhQndVvuEfw4RERERERHNXOzySUTTniAI2F9l8nhOJALWZYQjSCnDzvIWlLd2QykV48zUMDgEASKIsLu8FaYe/1q09dodOFrbjmXxwQH+L4iIiIiIiGi2YAs1Ipr2mrosaDF7JsYEAdhS3ISchg73c702BzbkNWBjfiMO1bRhXpRuTJ9X3NwFq90x7noTERERERHR7MSEGhFNe8N19ey2eia9Bk5ZLJeI0Woe23hrVrvAsdSIiIiIiIhoWDM2ofZ///d/WLFiBdRqNYKCgqa6OkQ0gWrae3xe1qCUYn1mOJbFB6G+s9f9/HkZRly/JBbBKpn7OZlEhBuWxkEjl4zrM4mIiIiIiOjkMmMTahaLBVdddRVuv/32qa4KEU0gs8U+pCXaSNp6bNiQ14CvC5twapxnst1ic2BxjMGncprNFr/rSkRERERERCeHGTspwSOPPAIAeOWVV6a6KkQ0gVr8SGyJRYDD1e/TYnfA5hA8Xs9v7MSccB0itAqP1mvedPbaYbE5IJfO2PsORERERERENEFmbEJtLHp7e9Hb238R3d7ePqX1IaLR9diGb512enIoQjVyWO0OhGnkqGjtxuJYAwTBOQvovkrPmUF7bQ4cq2vH4lgDNuQ1+PTZTKgRERERERHRYCdVQu2JJ55wt2wjoplBEIRhX9ta0jzkuY35jSOWl1vfiTnhWsQFqVDXMfI4aSN9NhEREREREZ28plXTiwceeAAikWjEn7y8vDGX/+CDD6Ktrc39U1lZGdD6E1HgScSigJZnFwQcrmnH4hgDxBi57EB/NhEREREREc0O06qF2s9+9jPceOONIy6TnJw85vIVCgUUCsWY309Ek0+vDPzXVFFTF7IidEgJUw+7jEQsgtrL7J9ERERERERE0yqhZjQaYTQap7oaRDSNBKvkEImAQPa+FAAcrG7D8oTgYZcJUckgFrGFGhEREREREQ01rRJq/qioqEBLSwsqKipgt9tx+PBhAEBqaiq0Wu1UV4+IAkQiFiFEJUOz2RrQcitM3ZgXqYNS5r0VWphGHtDPIyIiIiIiotlDJMzQUbdvvPFGvPrqq0Oe37x5M8444wyfymhvb4fBYEBbWxv0ev0E1JKIAiGnvmPIjJ0T7YI5EUyqERERERERkVczNqEWCEyoEc0MvTYH3jlaA7tjcr6uQtVyXDg3YlI+i4iIiIiIiGaeaTXLJxGRNwqpGGlhmkn7vKxI3aR9FhEREREREc08TKgR0YywKMYAzSTMuhlrUCIxWDXhn0NEREREREQzFxNqRDQjyCViLE8ImeDPEGF5QghEnN2TiIiIiIiIRsCEGhHNGDEGJZbEGiakbLEIOCMlDOpJaAVHREREREREM5t0qitAROSPeZF6CAJwsLotYGVKxSKckRKGKL0yYGUSERERERHR7MWEGhHNONlRehiUUuwqb0WPzTGusoJVMqxKCkGIWh6w+hEREREREdHsxoQaEc1I8cFqhGsV2FdpQkmL2e/3S8UiZEXqkB2ph0TMMdOIiIiIiIjIdyJBEISprsRUaW9vh8FgQFtbG/R6/VRXh4jGqLPXhoLGThQ1d6HbOnKLNYNSigyjFimhGsilHEaSiIiIiIiI/MeEGhNqRLOGIAjostjRbLbA1G2FzeH8epNLxAhRyxCqlkMp46QDREREREREND7s8klEs4ZIJIJWIYVWIUVC8FTXhoiIiIiIiGYr9nciIiIiIiIiIiLyAxNqREREREREREREfmBCjYiIiIiIiIiIyA9MqBEREREREREREfmBCTUiIiIiIiIiIiI/MKFGRERERERERETkBybUiIiIiIiIiIiI/MCEGhERERERERERkR+YUCMiIiIiIiIiIvIDE2pERERERERERER+YEKNiIiIiIiIiIjID0yoERERERERERER+YEJNSIiIiIiIiIiIj8woUZEREREREREROQHJtSIiIiIiIiIiIj8wIQaERERERERERGRH5hQIyIiIiIiIiIi8gMTakRERERERERERH5gQo2IiIiIiIiIiMgPTKgRERERERERERH5gQk1IiIiIiIiIiIiPzChRkRERERERERE5Acm1IiIiIiIiIiIiPzAhBoREREREREREZEfmFAjIiIiIiIiIiLyAxNqREREREREREREfmBCjYiIiIiIiIiIyA9MqBEREREREREREfmBCTUiIiIiIiIiIiI/MKFGRERERERERETkBybUiIiIiIiIiIiI/MCEGhERERERERERkR+YUCMiIiIiIiIiIvIDE2pERERERERERER+YEKNiIiIiIiIiIjID0yoERERERERERER+UE61RWYSoIgAADa29unuipERERERERERDQN6HQ6iESiEZc5qRNqHR0dAIC4uLiprgoREREREREREU0DbW1t0Ov1Iy4jEvqaaZ2EHA4HampqfMo80sja29sRFxeHysrKUTc6mvm4vk8+XOcnF67vkw/X+cmH6/zkwvV98uE6P7lwfQceW6iNQiwWIzY2dqqrMavo9XruwCcRru+TD9f5yYXr++TDdX7y4To/uXB9n3y4zk8uXN+Ti5MSEBERERERERER+YEJNSIiIiIiIiIiIj8woUYBoVAo8PDDD0OhUEx1VWgScH2ffLjOTy5c3ycfrvOTD9f5yYXr++TDdX5y4fqeGif1pARERERERERERET+Ygs1IiIiIiIiIiIiPzChRkRERERERERE5Acm1IiIiIiIiIiIiPzAhBoREREREREREZEfmFCjcfn73/+O+fPnQ6/XQ6/XY/ny5diwYcNUV4smUHV1Nb73ve8hNDQUKpUK2dnZ2L9//1RXiyZIR0cH7rnnHiQkJEClUmHFihXYt2/fVFeLAmTbtm246KKLEB0dDZFIhA8//ND9mtVqxf3334/s7GxoNBpER0fj+9//Pmpqaqa0zjQ+I61zALjxxhshEok8ftatWzdl9aXxGW19d3Z24q677kJsbCxUKhXmzp2LF154YcrqS+PzxBNP4JRTToFOp0N4eDguvfRS5Ofneyzz4osv4owzzoBer4dIJILJZJqy+tL4+bLO+wiCgPXr13v9LqCZYbT1XVZWNuQY3vfzzjvvTGndZysm1GhcYmNj8fvf/x4HDhzA/v37cdZZZ+GSSy7BiRMnprpqNAFaW1uxcuVKyGQybNiwATk5Ofjzn/+M4ODgqa4aTZBbbrkFmzZtwuuvv45jx45h7dq1OOecc1BdXT3VVaMA6OrqwoIFC/Dcc88Nec1sNuPgwYP49a9/jYMHD+L9999Hfn4+Lr744impKwXGSOu8z7p161BbW+v+efPNNye1jhQ4o63ve++9F1988QX+85//IDc3F/fccw/uuusufPzxx5NeVxq/rVu34s4778Tu3buxadMmWK1WrF27Fl1dXe5lzGYz1q1bh1/+8pdTWlcKDF/WeZ+nn34aIpFoSupJgTHa+o6Li/M4ftfW1uKRRx6BVqvF+vXrp7r6s5JIEARhqitBs0tISAiefPJJ3HzzzVNdFQqwBx54AN9++y22b98+1VWhSdDd3Q2dToePPvoIF1xwgfv5JUuWYP369XjsscemtH4UWCKRCB988AEuvfTSYZfZt28fTj31VJSXlyM+Pn5S60eB522d33jjjTCZTGy9MAt5W9/z5s3Dd77zHfz61792P8fv+NmjsbER4eHh2Lp1K9asWePx2pYtW3DmmWeitbUVQUFBU1ZHCqzh1vnhw4dx4YUXYv/+/YiKihr1eE8zw0j7eJ9FixZh8eLFeOmllya9ficDtlCjgLHb7fjf//6Hrq4uLF++fKqrQxPg448/xtKlS3HVVVchPDwcixYtwj//+c+prhZNEJvNBrvdDqVS6fG8SqXCjh07pqxeNHXa2togEol48TXLbdmyBeHh4cjIyMDtt9+O5ubmqa4STZAVK1bg448/RnV1NQRBwObNm1FQUIC1a9dOddUoANra2gDXzW46OXhb52azGddeey2ee+45REZGTmHtKNBG28cPHDiAw4cPs6HLBGJCjcbt2LFj0Gq1UCgUuO222/DBBx9g7ty5U10tmgAlJSX4+9//jrS0NGzcuBG33347fvKTn+DVV1+d6qrRBNDpdFi+fDkeffRR1NTUwG634z//+Q927dqF2traqa4eTbKenh7cf//9+O53vwu9Xj/V1aEJsm7dOrz22mv4+uuv8Yc//AFbt27F+vXrYbfbp7pqNAGeffZZzJ07F7GxsZDL5Vi3bh2ee+65YVs60MzhcDhwzz33YOXKlZg3b95UV4cmwXDr/Kc//SlWrFiBSy65ZErrR4Hlyz7+0ksvYc6cOVixYsWk1+9kIZ3qCtDMl5GRgcOHD6OtrQ3vvvsubrjhBmzdupVJtVnI4XBg6dKlePzxxwFXE+Ljx4/jhRdewA033DDV1aMJ8Prrr+Omm25CTEwMJBIJFi9ejO9+97s4cODAVFeNJpHVasXVV18NQRDw97//faqrQxPommuucT/Ozs7G/PnzkZKSgi1btuDss8+e0rpR4D377LPYvXs3Pv74YyQkJGDbtm248847ER0djXPOOWeqq0fjcOedd+L48eNsUX4S8bbOP/74Y3zzzTc4dOjQlNaNAm+0fby7uxtvvPGGR5d+Cjy2UKNxk8vlSE1NxZIlS/DEE09gwYIF+Otf/zrV1aIJEBUVNSRROmfOHFRUVExZnWhipaSkYOvWrejs7ERlZSX27t0Lq9WK5OTkqa4aTZK+ZFp5eTk2bdrE1mknmeTkZISFhaGoqGiqq0IB1t3djV/+8pd46qmncNFFF2H+/Pm466678J3vfAd/+tOfprp6NA533XUXPv30U2zevBmxsbFTXR2aBMOt82+++QbFxcUICgqCVCqFVOpsT3PFFVfgjDPOmMIa03j4so+/++67MJvN+P73vz/p9TuZsIUaBZzD4UBvb+9UV4MmwMqVK4dMxV1QUICEhIQpqxNNDo1GA41Gg9bWVmzcuBF//OMfp7pKNAn6kmmFhYXYvHkzQkNDp7pKNMmqqqrQ3NyMqKioqa4KBZjVaoXVaoVY7Hl/XSKRwOFwTFm9aOwEQcCPf/xjfPDBB9iyZQuSkpKmuko0wUZb5w888ABuueUWj+eys7Pxl7/8BRdddNEk15bGy599/KWXXsLFF18Mo9E4qXU82TChRuPy4IMPYv369YiPj0dHRwfeeOMNbNmyBRs3bpzqqtEE6BuD4fHHH8fVV1+NvXv34sUXX8SLL7441VWjCbJx40YIgoCMjAwUFRXhF7/4BTIzM/GDH/xgqqtGAdDZ2enR8qi0tBSHDx9GSEgIoqKicOWVV+LgwYP49NNPYbfbUVdXB7gGv5XL5VNYcxqrkdZ5SEgIHnnkEVxxxRWIjIxEcXEx7rvvPqSmpuK8886b0nrT2Iy0vuPj43H66afjF7/4BVQqFRISErB161a89tpreOqpp6a03jQ2d955J9544w189NFH0Ol07u9sg8EAlUoFAKirq0NdXZ17uzh27Bh0Oh3i4+M5ecEMNNo6j4yM9DoRQXx8PBOuM5Av+zgAFBUVYdu2bfj888+nsLYnCYFoHG666SYhISFBkMvlgtFoFM4++2zhyy+/nOpq0QT65JNPhHnz5gkKhULIzMwUXnzxxamuEk2gt956S0hOThbkcrkQGRkp3HnnnYLJZJrqalGAbN68WQAw5OeGG24QSktLvb4GQNi8efNUV53GaKR1bjabhbVr1wpGo1GQyWRCQkKCcOuttwp1dXVTXW0ao5HWtyAIQm1trXDjjTcK0dHRglKpFDIyMoQ///nPgsPhmOqq0xgM953973//273Mww8/POoyNHP4ss69veeDDz6Y1HpSYPi6vh988EEhLi5OsNvtU1bXk4VIcK4YIiIiIiIiIiIi8gEnJSAiIiIiIiIiIvIDE2pERERERERERER+YEKNiIiIiIiIiIjID0yoERERERERERER+YEJNSIiIiIiIiIiIj8woUZEREREREREROQHJtSIiIiIiIiIiIj8wIQaERERERERERGRH5hQIyIiIjoJGY1GiESiEX9+9KMfTXU1iYiIiKYl6VRXgIiIiIgml81mw1/+8hevr7W3t+PnP/85ent7cemll0563YiIiIhmApEgCMJUV4KIiIiIpl5vby/WrVuHLVu24Pnnn8ftt98+1VUiIiIimpbY5ZOIiIiIYLfbce2112LLli347W9/y2QaERER0QjYQo2IiIiI8MMf/hD//Oc/ceedd+Jvf/vbVFeHiIiIaFpjCzUiIiKik9xDDz2Ef/7zn7j66qvxzDPPTHV1iIiIiKY9tlAjIiIiOok988wzuPvuu3HOOefgs88+g1wun+oqEREREU17TKgRERERnaTefPNNXHfddViyZAk2b94MrVY71VUiIiIimhGYUCMiIiI6CW3cuBEXXXQRkpKSsGPHDhiNxqmuEhEREdGMwYQaERER0Ulmz549OPvssxEUFIRvv/0WCQkJU10lIiIiohmFCTUiIiKik0hubi5Wr14Nh8OB7du3Iysra6qrRERERDTjMKFGREREdJIwmUyYP38+Kisrcccdd2D58uVelwsPD8fatWsnvX5EREREMwUTakREREQniS+//BLnnXfeqMt9//vfx6uvvjopdSIiIiKaiZhQIyIiIiIiIiIi8oN4qitAREREREREREQ0kzChRkRERERERERE5Acm1IiIiIiIiIiIiPzAhBoREREREREREZEfmFAjIiIiIiIiIiLyAxNqREREREREREREfmBCjYiIiIiIiIiIyA9MqBEREREREREREfmBCTUiIiIiIiIiIiI/MKFGRERERERERETkBybUiIiIiIiIiIiI/MCEGhERERERERERkR+YUCMiIiIiIiIiIvLD/wPAtYosKDWgkgAAAABJRU5ErkJggg==", + "text/plain": [ + "

" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = net.plot(rotated=True, curved_edges=True, size=(1500, 800), hide_xalpha=True, node_size=400, node_font_size=9)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "1bb5fe10-6a76-4ec5-ba8a-5472c80669fd", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "using approximate rate Fe52 + n + n ⟶ Fe54 + 𝛾\n", + "using approximate rate Fe54 ⟶ Fe52 + n + n\n", + "using approximate rate Fe54 + n + n ⟶ Fe56 + 𝛾\n", + "using approximate rate Fe56 ⟶ Fe54 + n + n\n", + "using approximate rate Ni56 + n + n ⟶ Ni58 + 𝛾\n", + "using approximate rate Ni58 ⟶ Ni56 + n + n\n", + "removing rate Fe52 + n ⟶ Fe53 + 𝛾\n", + "removing rate Fe53 + n ⟶ Fe54 + 𝛾\n", + "removing rate Fe54 ⟶ n + Fe53\n", + "removing rate Fe53 ⟶ n + Fe52\n", + "removing rate Fe54 + n ⟶ Fe55 + 𝛾\n", + "removing rate Fe55 + n ⟶ Fe56 + 𝛾\n", + "removing rate Fe56 ⟶ n + Fe55\n", + "removing rate Fe55 ⟶ n + Fe54\n", + "removing rate Ni56 + n ⟶ Ni57 + 𝛾\n", + "removing rate Ni57 + n ⟶ Ni58 + 𝛾\n", + "removing rate Ni58 ⟶ n + Ni57\n", + "removing rate Ni57 ⟶ n + Ni56\n", + "looking to remove Fe53 + He4 ⟶ Ni57 + 𝛾\n", + "looking to remove Fe53 + He4 ⟶ p + Co56\n", + "looking to remove Ni56 + n ⟶ He4 + Fe53\n", + "looking to remove Ni57 ⟶ He4 + Fe53\n", + "looking to remove Fe53 + He4 ⟶ n + Ni56\n", + "looking to remove Co56 + p ⟶ He4 + Fe53\n", + "looking to remove Fe55 + p ⟶ Co56 + 𝛾\n", + "looking to remove Co55 + n ⟶ p + Fe55\n", + "looking to remove Ni58 + n ⟶ He4 + Fe55\n", + "looking to remove Co56 ⟶ p + Fe55\n", + "looking to remove Fe55 + p ⟶ n + Co55\n", + "looking to remove Fe55 + He4 ⟶ n + Ni58\n", + "looking to remove Co55 + e⁻ ⟶ Fe55 + 𝜈\n", + "looking to remove Fe55 ⟶ Co55 + e⁻ + 𝜈\n", + "looking to remove Fe53 + He4 ⟶ Ni57 + 𝛾\n", + "looking to remove Co56 + p ⟶ Ni57 + 𝛾\n", + "looking to remove Ni57 + n ⟶ p + Co57\n", + "looking to remove Ni57 + n ⟶ He4 + Fe54\n", + "looking to remove Ni57 ⟶ p + Co56\n", + "looking to remove Ni57 ⟶ He4 + Fe53\n", + "looking to remove Fe54 + He4 ⟶ n + Ni57\n", + "looking to remove Co57 + p ⟶ n + Ni57\n", + "looking to remove Co57 ⟶ Ni57 + e⁻ + 𝜈\n", + "looking to remove Ni57 + e⁻ ⟶ Co57 + 𝜈\n" + ] + } + ], + "source": [ + "net.make_nn_g_approx(intermediate_nuclei=[\"fe53\", \"fe55\", \"ni57\"])\n", + "net.remove_nuclei([\"fe53\", \"fe55\", \"ni57\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "51a9d176-d848-4ba8-9ba4-619a23e4edb3", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABNQAAAKrCAYAAAA57NCnAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdZZhd1d3+8e/RcZ9JMhrPxD2EBBIkQYI7Le5FC3/aPhSe+lMK1EuLQ3ErBIprkJAQd88kmcm4ux/7vzgz+5yTsTPJxCb357q4WHvvtddeZ+DVff3WWiaPx+NBREREREREREREgmI+3BMQERERERERERE5mihQExERERERERER6QUFaiIiIiIiIiIiIr2gQE1ERERERERERKQXFKiJiIiIiIiIiIj0ggI1ERERERERERGRXlCgJiIiIiIiIiIi0gsK1ERERERERERERHrhmA7UPB4PtbW1eDyewz0VERERERERERE5ShzTgVpdXR0xMTHU1dUd7qmIiIiIiIiIiMhR4pgO1ERERERERERERHpLgZqIiIiIiIiIiEgvKFATERERERERERHpBQVqIiIiIiIiIiIivaBATUREREREREREpBcUqImIiIiIiIiIiPSCAjUREREREREREZFeUKAmIiIiIiIiIiLSCwrUREREREREREREekGBmoiIiIiIiIiISC8oUBMREREREREREekFBWoiIiIiIiIiIiK9oEBNRERERERERESkFxSoiYiIiIiIiIiI9IICNRERERERERERkV5QoCYiIiIiIiIiItILCtRERERERERERER6QYGaiIiIiIiIiIhILyhQExERERERERER6QUFaiIiIiIiIiIiIr2gQE1ERERERERERKQXFKiJiIiIiIiIiIj0ggI1ERERERERERGRXlCgJiIiIiIiIiIi0gsK1ERERERERERERHpBgZqIiIiIiIiIiEgvKFATERERERERERHpBQVqIiIiIiIiIiIivaBATUREREREREREpBcUqImIiIiIiIiIiPSCAjUREREREREREZFeUKAmIiIiIiIiIiLSCwrUREREREREREREekGBmoiIiIiIiIiISC8oUBMREREREREREekFBWoiIiIiIiIiIiK9YD3cExAREREREREROZJ4PB4cLg8ujwcTYLOYsZhNh3tacgRRoCYiIiIiIiIix7yaZgd7Khop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9tk+lWE2m2EwGNDR0QG9Xj8FtSSiQMhr7BwxY+dUu3heFJNqRERERERE5NWsTagFAhNqRLNDn92J/+XWweGcnq+rcLUcl8yPmpbPIiIiIiIiotlnRs3ySUTkjUIqRkaEZto+b0G0bto+i4iIiIiIiGYfJtSIaFY4Lc4AzTTMuhlvUCI5VDXln0NERERERESzFxNqRDQryCVirEwKm+LPEGFlUhhEnN2TiIiIiIiIxsCEGhHNGnEGJZbFG6akbLEIODstAuppaAVHREREREREs5s02BUgIvLHwmg9BAE4XNsRsDKlYhHOTotAjF4ZsDKJiIiIiIho7mJCjYhmnZwYPQxKKfZUtqPX7pxUWaEqGdakhCFMLQ9Y/YiIiIiIiGhuY0KNiGalxFA1IrUKHKg2oazN4vf7pWIRFkTrkBOth0TMMdOIiIiIiIjIdyJBEIRgVyJYzGYzDAYDOjo6oNfrg10dIpqgrj47ipq7UNLajR7b2C3WDEopsoxapIVrIJdyGEkiIiIiIiLyHxNqTKgRzRmCIKDb6kCrxQpTjw12p+vrTS4RI0wtQ7haDqWMkw4QERERERHR5LDLJxHNGSKRCFqFFFqFFEmhwa4NERERERERzVXs70REREREREREROQHJtSIiIiIiIiIiIj8wIQaERERERERERGRH5hQIyIiIiIiIiIi8gMTakRERERERERERH5gQo2IiIiIiIiIiMgPTKgRERERERERERH5gQk1IiIiIiIiIiIiPzChRkRERERERERE5Acm1IiIiIiIiIiIiPzAhBoREREREREREZEfmFAjIiIiIiIiIiLyAxNqREREREREREREfmBCjYiIiIiIiIiIyA9MqBEREREREREREfmBCTUiIiIiIiIiIiI/MKFGRERERERERETkBybUiIiIiIiIiIiI/MCEGhERERERERERkR+YUCMiIiIiIiIiIvIDE2pERERERERERER+YEKNiIiIiIiIiIjID0yoERERERERERER+YEJNSIiIiIiIiIiIj8woUZEREREREREROQHJtSIiIiIiIiIiIj8wIQaERERERERERGRH5hQIyIiIiIiIiIi8gMTakRERERERERERH5gQo2IiIiIiIiIiMgPTKgRERERERERERH5gQk1IiIiIiIiIiIiPzChRkRERERERERE5Acm1IiIiIiIiIiIiPzAhBoREREREREREZEfmFAjIiIiIiIiIiLygzTYFQgmQRAAAGazOdhVISIiIiIiIiKiGUCn00EkEo25zCmdUOvs7AQAJCQkBLsqREREREREREQ0A3R0dECv14+5jEjob6Z1CnI6nairq/Mp80hjM5vNSEhIQHV19bgbHc1+XN+nHq7zUwvX96mH6/zUw3V+auH6PvVwnZ9auL4Djy3UxiEWixEfHx/saswper2eO/AphOv71MN1fmrh+j71cJ2ferjOTy1c36cervNTC9f39OKkBERERERERERERH5gQo2IiIiIiIiIiMgPTKhRQCgUCjz00ENQKBTBrgpNA67vUw/X+amF6/vUw3V+6uE6P7VwfZ96uM5PLVzfwXFKT0pARERERERERETkL7ZQIyIiIiIiIiIi8gMTakRERERERERERH5gQo2IiIiIiIiIiMgPTKgRERERERERERH5gQk1mpS//vWvWLRoEfR6PfR6PVauXIlNmzYFu1o0hWpra/Gtb30L4eHhUKlUyMnJwcGDB4NdLZoinZ2duPvuu5GUlASVSoVVq1bhwIEDwa4WBciOHTtw6aWXIjY2FiKRCO+9957nNZvNhvvuuw85OTnQaDSIjY3Ft7/9bdTV1QW1zjQ5Y61zALjpppsgEomG/GzYsCFo9aXJGW99d3V14a677kJ8fDxUKhXmz5+P559/Pmj1pcl5/PHHcfrpp0On0yEyMhJXXHEFCgsLhyzzwgsv4Oyzz4Zer4dIJILJZApafWnyfFnn/QRBwMaNG71+F9DsMN76rqioGHEM7//53//+F9S6z1VMqNGkxMfH47e//S0OHTqEgwcP4txzz8Xll1+OkydPBrtqNAXa29uxevVqyGQybNq0CXl5efjjH/+I0NDQYFeNpsitt96KLVu24F//+heOHz+O9evX4/zzz0dtbW2wq0YB0N3djcWLF+PZZ58d8ZrFYsHhw4fxy1/+EocPH8Y777yDwsJCXHbZZUGpKwXGWOu834YNG1BfX+/5ef3116e1jhQ4463ve+65B59++in+/e9/Iz8/H3fffTfuuusufPDBB9NeV5q87du3484778TevXuxZcsW2Gw2rF+/Ht3d3Z5lLBYLNmzYgJ///OdBrSsFhi/rvN9TTz0FkUgUlHpSYIy3vhMSEoYcv+vr6/Hwww9Dq9Vi48aNwa7+nCQSBEEIdiVobgkLC8MTTzyBW265JdhVoQC7//778dVXX2Hnzp3BrgpNg56eHuh0Orz//vu4+OKLPc8vW7YMGzduxKOPPhrU+lFgiUQivPvuu7jiiitGXebAgQM444wzUFlZicTExGmtHwWet3V+0003wWQysfXCHORtfS9cuBBf//rX8ctf/tLzHL/j547m5mZERkZi+/btWLdu3ZDXtm3bhnPOOQft7e0ICQkJWh0psEZb50ePHsUll1yCgwcPIiYmZtzjPc0OY+3j/U477TQsXboUL7744rTX71TAFmoUMA6HA//973/R3d2NlStXBrs6NAU++OADLF++HNdccw0iIyNx2mmn4e9//3uwq0VTxG63w+FwQKlUDnlepVJh165dQasXBU9HRwdEIhEvvua4bdu2ITIyEllZWbj99tvR2toa7CrRFFm1ahU++OAD1NbWQhAEbN26FUVFRVi/fn2wq0YB0NHRAbhvdtOpwds6t1gsuP766/Hss88iOjo6iLWjQBtvHz906BCOHj3Khi5TiAk1mrTjx49Dq9VCoVDg+9//Pt59913Mnz8/2NWiKVBWVoa//vWvyMjIwObNm3H77bfjhz/8IV555ZVgV42mgE6nw8qVK/HII4+grq4ODocD//73v7Fnzx7U19cHu3o0zXp7e3HffffhG9/4BvR6fbCrQ1Nkw4YNePXVV/HFF1/gd7/7HbZv346NGzfC4XAEu2o0BZ555hnMnz8f8fHxkMvl2LBhA5599tlRWzrQ7OF0OnH33Xdj9erVWLhwYbCrQ9NgtHX+4x//GKtWrcLll18e1PpRYPmyj7/44ouYN28eVq1aNe31O1VIg10Bmv2ysrJw9OhRdHR04K233sKNN96I7du3M6k2BzmdTixfvhyPPfYY4G5CfOLECTz//PO48cYbg109mgL/+te/cPPNNyMuLg4SiQRLly7FN77xDRw6dCjYVaNpZLPZcO2110IQBPz1r38NdnVoCl133XWexzk5OVi0aBHS0tKwbds2nHfeeUGtGwXeM888g7179+KDDz5AUlISduzYgTvvvBOxsbE4//zzg109moQ777wTJ06cYIvyU4i3df7BBx/gyy+/xJEjR4JaNwq88fbxnp4evPbaa0O69FPgsYUaTZpcLkd6ejqWLVuGxx9/HIsXL8af//znYFeLpkBMTMyIROm8efNQVVUVtDrR1EpLS8P27dvR1dWF6upq7N+/HzabDampqcGuGk2T/mRaZWUltmzZwtZpp5jU1FRERESgpKQk2FWhAOvp6cHPf/5zPPnkk7j00kuxaNEi3HXXXfj617+OP/zhD8GuHk3CXXfdhY8++ghbt25FfHx8sKtD02C0df7ll1+itLQUISEhkEqlkEpd7WmuuuoqnH322UGsMU2GL/v4W2+9BYvFgm9/+9vTXr9TCVuoUcA5nU709fUFuxo0BVavXj1iKu6ioiIkJSUFrU40PTQaDTQaDdrb27F582b8/ve/D3aVaBr0J9OKi4uxdetWhIeHB7tKNM1qamrQ2tqKmJiYYFeFAsxms8Fms0EsHnp/XSKRwOl0Bq1eNHGCIOAHP/gB3n33XWzbtg0pKSnBrhJNsfHW+f33349bb711yHM5OTn405/+hEsvvXSaa0uT5c8+/uKLL+Kyyy6D0Wic1jqeaphQo0l54IEHsHHjRiQmJqKzsxOvvfYatm3bhs2bNwe7ajQF+sdgeOyxx3Dttddi//79eOGFF/DCCy8Eu2o0RTZv3gxBEJCVlYWSkhL87Gc/Q3Z2Nr7zne8Eu2oUAF1dXUNaHpWXl+Po0aMICwtDTEwMrr76ahw+fBgfffQRHA4HGhoaAPfgt3K5PIg1p4kaa52HhYXh4YcfxlVXXYXo6GiUlpbi3nvvRXp6Oi688MKg1psmZqz1nZiYiLPOOgs/+9nPoFKpkJSUhO3bt+PVV1/Fk08+GdR608TceeedeO211/D+++9Dp9N5vrMNBgNUKhUAoKGhAQ0NDZ7t4vjx49DpdEhMTOTkBbPQeOs8Ojra60QEiYmJTLjOQr7s4wBQUlKCHTt24JNPPglibU8RAtEk3HzzzUJSUpIgl8sFo9EonHfeecJnn30W7GrRFPrwww+FhQsXCgqFQsjOzhZeeOGFYFeJptAbb7whpKamCnK5XIiOjhbuvPNOwWQyBbtaFCBbt24VAIz4ufHGG4Xy8nKvrwEQtm7dGuyq0wSNtc4tFouwfv16wWg0CjKZTEhKShJuu+02oaGhIdjVpgkaa30LgiDU19cLN910kxAbGysolUohKytL+OMf/yg4nc5gV50mYLTv7H/+85+eZR566KFxl6HZw5d17u0977777rTWkwLD1/X9wAMPCAkJCYLD4QhaXU8VIsG1YoiIiIiIiIiIiMgHnJSAiIiIiIiIiIjID0yoERERERERERER+YEJNSIiIiIiIiIiIj8woUZEREREREREROQHJtSIiIiIiIiIiIj8wIQaERERERERERGRH5hQIyIiIiIiIiIi8gMTakRERERERERERH5gQo2IiIjoFGQ0GiESicb8+d73vhfsahIRERHNSNJgV4CIiIiIppfdbsef/vQnr6+ZzWb89Kc/RV9fH6644opprxsRERHRbCASBEEIdiWIiIiIKPj6+vqwYcMGbNu2Dc899xxuv/32YFeJiIiIaEZil08iIiIigsPhwPXXX49t27bh17/+NZNpRERERGNgCzUiIiIiwne/+138/e9/x5133om//OUvwa4OERER0YzGFmpEREREp7gHH3wQf//733Httdfi6aefDnZ1iIiIiGY8tlAjIiIiOoU9/fTT+NGPfoTzzz8fH3/8MeRyebCrRERERDTjMaFGREREdIp6/fXX8c1vfhPLli3D1q1bodVqg10lIiIiolmBCTUiIiKiU9DmzZtx6aWXIiUlBbt27YLRaAx2lYiIiIhmDSbUiIiIiE4x+/btw3nnnYeQkBB89dVXSEpKCnaViIiIiGYVJtSIiIiITiH5+flYu3YtnE4ndu7ciQULFgS7SkRERESzDhNqRERERKcIk8mERYsWobq6GnfccQdWrlzpdbnIyEisX79+2utHRERENFswoUZERER0ivjss89w4YUXjrvct7/9bbzyyivTUiciIiKi2YgJNSIiIiIiIiIiIj+Ig10BIiIiIiIiIiKi2YQJNSIiIiIiIiIiIj8woUZEREREREREROQHJtSIiIiIiIiIiIj8wIQaERERERERERGRH5hQIyIiIiIiIiIi8gMTakRERERERERERH5gQo2IiIiIiIiIiMgPTKgRERERERERERH5gQk1IiIiIiIiIiIiPzChRkRERERERERE5Acm1IiIiIiIiIiIiPzAhBoREREREREREZEf/h8neu0e0cwhrAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = net.plot(rotated=True, curved_edges=True, size=(1500, 800), hide_xalpha=True, node_size=400, node_font_size=9)" + ] + }, + { + "cell_type": "markdown", + "id": "645d99fa-570b-4615-be99-110a36b0afda", + "metadata": {}, + "source": [ + "Now we'll add in the electron capture onto Ni56, but we'll change the end point to be Fe56 -- this is what `aprox21` does" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "f9bcaaa4-3bad-46fd-ac51-c3adf2a6a9e0", + "metadata": {}, + "outputs": [], + "source": [ + "fig.savefig(\"newnet.png\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "42587393-219a-429e-8774-c84872304c1d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[Co56 + e⁻ ⟶ Fe56 + 𝜈,\n", + " Co56 ⟶ Ni56 + e⁻ + 𝜈,\n", + " Fe56 ⟶ Co56 + e⁻ + 𝜈,\n", + " n ⟶ p + e⁻ + 𝜈,\n", + " Ni56 + e⁻ ⟶ Co56 + 𝜈,\n", + " p + e⁻ ⟶ n + 𝜈]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tr = [r for r in net.get_rates() if isinstance(r, pyna.rates.TabularRate)]\n", + "tr" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "e227dc53-80a8-4967-98e6-6d174acc06ec", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/zingale/development/pynucastro/pynucastro/rates/derived_rate.py:85: UserWarning: C12 partition function is not supported by tables: set pf = 1.0 by default\n", + " warnings.warn(UserWarning(f'{nuc} partition function is not supported by tables: set pf = 1.0 by default'))\n", + "/home/zingale/development/pynucastro/pynucastro/rates/derived_rate.py:85: UserWarning: N13 partition function is not supported by tables: set pf = 1.0 by default\n", + " warnings.warn(UserWarning(f'{nuc} partition function is not supported by tables: set pf = 1.0 by default'))\n", + "/home/zingale/development/pynucastro/pynucastro/rates/derived_rate.py:85: UserWarning: N14 partition function is not supported by tables: set pf = 1.0 by default\n", + " warnings.warn(UserWarning(f'{nuc} partition function is not supported by tables: set pf = 1.0 by default'))\n" + ] + } + ], + "source": [ + "net.write_network()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/networks/He-C-Fe-group/p-n_electroncapture.dat b/networks/he-burn/he-burn-31anp/p-n_electroncapture.dat similarity index 100% rename from networks/He-C-Fe-group/p-n_electroncapture.dat rename to networks/he-burn/he-burn-31anp/p-n_electroncapture.dat diff --git a/networks/he-burn/he-burn-31anp/partition_functions.H b/networks/he-burn/he-burn-31anp/partition_functions.H new file mode 100644 index 0000000000..998d4b3d07 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/partition_functions.H @@ -0,0 +1,449 @@ +#ifndef PARTITION_FUNCTIONS_H +#define PARTITION_FUNCTIONS_H + +#include +#include + +#include +#include +#include + +using namespace amrex; +using namespace Species; + +namespace part_fun { + + constexpr int npts_1 = 72; + + // this is T9 + + extern AMREX_GPU_MANAGED amrex::Array1D temp_array_1; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D O16_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D F18_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D P31_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D S32_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D K39_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D V47_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Fe53_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Fe54_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Fe55_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Fe56_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Co56_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Co57_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ni57_pf_array; + + // this is log10(partition function) + + extern AMREX_GPU_MANAGED amrex::Array1D Ni58_pf_array; + + + + // interpolation routine + + template + AMREX_GPU_HOST_DEVICE AMREX_INLINE + void interpolate_pf(const amrex::Real t9, const T& temp_array, const T& pf_array, + amrex::Real& pf, amrex::Real& dpf_dT) { + + if (t9 >= temp_array.lo() && t9 < temp_array.hi()) { + + // find the largest temperature element <= t9 using a binary search + + int left = temp_array.lo(); + int right = temp_array.hi(); + + while (left < right) { + int mid = (left + right) / 2; + if (temp_array(mid) > t9) { + right = mid; + } else { + left = mid + 1; + } + } + + const int idx = right - 1; + + // now we have temp_array[idx] <= t9 < temp_array[idx+1] + + // construct the slope -- this is (log10(pf_{i+1}) - log10(pf_i)) / (T_{i+1} - T_i) + + amrex::Real slope = (pf_array(idx+1) - pf_array(idx)) / + (temp_array(idx+1) - temp_array(idx)); + + // find the PF + + amrex::Real log10_pf = pf_array(idx) + slope * (t9 - temp_array(idx)); + pf = std::pow(10.0_rt, log10_pf); + + // find the derivative (with respect to T, not T9) + + amrex::Real dpf_dT9 = pf * M_LN10 * slope; + dpf_dT = dpf_dT9 / 1.e9_rt; + + } else { + + // T < the smallest T or >= the largest T in the partition function table + pf = 1.0; + dpf_dT = 0.0; + + } + + } + + struct pf_cache_t { + // Store the coefficient and derivative adjacent in memory, as they're + // always accessed at the same time. + // The entries will be default-initialized to zero, which is fine since + // log10(x) is never zero. + amrex::Array2D data{}; + }; + +} + +// main interface + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void get_partition_function(const int inuc, [[maybe_unused]] const tf_t& tfactors, + amrex::Real& pf, amrex::Real& dpf_dT) { + + // inuc is the 1-based index for the species + + switch (inuc) { + + case O16: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::O16_pf_array, pf, dpf_dT); + break; + + case F18: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::F18_pf_array, pf, dpf_dT); + break; + + case Ne20: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne20_pf_array, pf, dpf_dT); + break; + + case Ne21: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ne21_pf_array, pf, dpf_dT); + break; + + case Na22: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na22_pf_array, pf, dpf_dT); + break; + + case Na23: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Na23_pf_array, pf, dpf_dT); + break; + + case Mg24: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mg24_pf_array, pf, dpf_dT); + break; + + case Al27: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Al27_pf_array, pf, dpf_dT); + break; + + case Si28: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Si28_pf_array, pf, dpf_dT); + break; + + case P31: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::P31_pf_array, pf, dpf_dT); + break; + + case S32: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::S32_pf_array, pf, dpf_dT); + break; + + case Cl35: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cl35_pf_array, pf, dpf_dT); + break; + + case Ar36: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ar36_pf_array, pf, dpf_dT); + break; + + case K39: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::K39_pf_array, pf, dpf_dT); + break; + + case Ca40: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ca40_pf_array, pf, dpf_dT); + break; + + case Sc43: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Sc43_pf_array, pf, dpf_dT); + break; + + case Ti44: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ti44_pf_array, pf, dpf_dT); + break; + + case V47: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::V47_pf_array, pf, dpf_dT); + break; + + case Cr48: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Cr48_pf_array, pf, dpf_dT); + break; + + case Mn51: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Mn51_pf_array, pf, dpf_dT); + break; + + case Fe52: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe52_pf_array, pf, dpf_dT); + break; + + case Fe53: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe53_pf_array, pf, dpf_dT); + break; + + case Fe54: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe54_pf_array, pf, dpf_dT); + break; + + case Fe55: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe55_pf_array, pf, dpf_dT); + break; + + case Fe56: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Fe56_pf_array, pf, dpf_dT); + break; + + case Co55: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co55_pf_array, pf, dpf_dT); + break; + + case Co56: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co56_pf_array, pf, dpf_dT); + break; + + case Co57: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Co57_pf_array, pf, dpf_dT); + break; + + case Ni56: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni56_pf_array, pf, dpf_dT); + break; + + case Ni57: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni57_pf_array, pf, dpf_dT); + break; + + case Ni58: + part_fun::interpolate_pf(tfactors.T9, part_fun::temp_array_1, part_fun::Ni58_pf_array, pf, dpf_dT); + break; + + + default: + + pf = 1.0_rt; + dpf_dT = 0.0_rt; + + } + +} + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void get_partition_function_cached(const int inuc, const tf_t& tfactors, + part_fun::pf_cache_t& pf_cache, + amrex::Real& pf, amrex::Real& dpf_dT) { + if (pf_cache.data(inuc, 1) != 0.0_rt) { + // present in cache + amrex::ignore_unused(tfactors); + pf = pf_cache.data(inuc, 1); + dpf_dT = pf_cache.data(inuc, 2); + } else { + get_partition_function(inuc, tfactors, pf, dpf_dT); + pf_cache.data(inuc, 1) = pf; + pf_cache.data(inuc, 2) = dpf_dT; + } +} + +// spins + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +constexpr amrex::Real get_spin_state(const int inuc) { + + amrex::Real spin = -1.0; + + switch (inuc) { // NOLINT(bugprone-switch-missing-default-case) + + case He4: + case C12: + case O16: + case Ne20: + case Mg24: + case Si28: + case S32: + case Ar36: + case Ca40: + case Ti44: + case Cr48: + case Fe52: + case Fe54: + case Fe56: + case Ni56: + case Ni58: + spin = 1; + break; + + case N: + case H1: + case P_nse: + case N13: + case P31: + spin = 2; + break; + + case N14: + case F18: + spin = 3; + break; + + case Ne21: + case Na23: + case Cl35: + case K39: + case V47: + case Fe55: + case Ni57: + spin = 4; + break; + + case Al27: + case Mn51: + spin = 6; + break; + + case Na22: + spin = 7; + break; + + case Co55: + case Co57: + case Sc43: + case Fe53: + spin = 8; + break; + + case Co56: + spin = 9; + break; + + + } + + return spin; + +} + + +#endif diff --git a/networks/he-burn/he-burn-31anp/partition_functions_data.cpp b/networks/he-burn/he-burn-31anp/partition_functions_data.cpp new file mode 100644 index 0000000000..bb78c1ddb3 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/partition_functions_data.cpp @@ -0,0 +1,655 @@ +#include +#include +#include +#include + +#include + +using namespace amrex; + +namespace part_fun { + + // this is T9 + + AMREX_GPU_MANAGED amrex::Array1D temp_array_1= { + 0.01, 0.15, 0.2, 0.3, 0.4, + 0.5, 0.6, 0.7, 0.8, 0.9, + 1.0, 1.5, 2.0, 2.5, 3.0, + 3.5, 4.0, 4.5, 5.0, 6.0, + 7.0, 8.0, 9.0, 10.0, 12.0, + 14.0, 16.0, 18.0, 20.0, 22.0, + 24.0, 26.0, 28.0, 30.0, 35.0, + 40.0, 45.0, 50.0, 55.0, 60.0, + 65.0, 70.0, 75.0, 80.0, 85.0, + 90.0, 95.0, 100.0, 105.0, 110.0, + 115.0, 120.0, 125.0, 130.0, 135.0, + 140.0, 145.0, 150.0, 155.0, 160.0, + 165.0, 170.0, 175.0, 180.0, 190.0, + 200.0, 210.0, 220.0, 230.0, 240.0, + 250.0, 275.0, + }; + + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D O16_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.012837224705172217, + 0.037426497940623665, 0.07188200730612536, 0.12057393120584989, 0.1846914308175988, 0.26245108973042947, + 0.3463529744506387, 0.437750562820388, 0.534026106056135, 0.6344772701607315, 0.8981764834976765, + 1.1760912590556813, 1.4668676203541096, 1.7641761323903307, 2.0644579892269186, 2.367355921026019, + 2.667452952889954, 2.9656719712201065, 3.2624510897304293, 3.5550944485783194, 3.845098040014257, + 4.133538908370218, 4.419955748489758, 4.704150516839799, 4.986771734266245, 5.267171728403014, + 5.547774705387822, 5.8267225201689925, 6.103803720955957, 6.380211241711606, 6.6551384348113825, + 6.929929560084588, 7.204119982655925, 7.477121254719663, 7.748962861256161, 8.021189299069938, + 8.292256071356476, 8.562292864456476, 8.832508912706237, 9.100370545117563, 9.640481436970422, + 10.178976947293169, 10.714329759745233, 11.250420002308894, 11.785329835010767, 12.320146286111054, + 12.856124444242301, 14.195899652409233, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D F18_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.00860017176191757, 0.02530586526477026, 0.04921802267018165, + 0.08635983067474821, 0.12385164096708581, 0.1673173347481761, 0.20682587603184974, 0.28330122870354957, + 0.35024801833416286, 0.4065401804339551, 0.45331834004703764, 0.4941545940184428, 0.6646419755561255, + 0.756636108245848, 0.8419848045901139, 0.9232440186302765, 1.0043213737826426, 1.08278537031645, + 1.1643528557844371, 1.250420002308894, 1.3384564936046048, 1.429752280002408, 1.6748611407378116, + 1.9405164849325673, 2.220108088040055, 2.505149978319906, 2.79309160017658, 3.0827853703164503, + 3.369215857410143, 3.6570558528571038, 3.9434945159061026, 4.230448921378274, 4.514547752660286, + 4.800029359244134, 5.086359830674748, 5.371067862271736, 5.657055852857104, 5.94299959336604, + 6.230448921378274, 6.515873843711679, 6.803457115648414, 7.089905111439398, 7.378397900948138, + 7.6674529528899535, 7.956168430475364, 8.24551266781415, 8.534026106056135, 8.823474229170301, + 9.113943352306837, 9.403120521175818, 9.69460519893357, 9.984977126415494, 10.568201724066995, + 11.152288344383056, 11.73798732633343, 12.324282455297693, 12.913813852383717, 13.503790683057181, + 14.096910013008056, 15.584331224367531, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne20_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 6.9486561213582446e-06, 0.00016586881316040883, 0.0011034421778731533, 0.003892457497077877, + 0.00954097493969645, 0.01859524021829981, 0.031075444833369822, 0.04661767038571622, 0.0846241727916796, + 0.12822183093465686, 0.174311933665943, 0.22124805254602342, 0.2683385291343481, 0.36172783601759284, + 0.456366033129043, 0.5514499979728752, 0.6483600109809317, 0.7466341989375788, 0.8481891169913987, + 0.9532763366673044, 1.0644579892269184, 1.1789769472931695, 1.3031960574204888, 1.6434526764861874, + 2.0170333392987803, 2.4099331233312946, 2.8068580295188172, 3.2013971243204513, 3.5899496013257077, + 3.9731278535996988, 4.352182518111363, 4.725911632295048, 5.096910013008056, 5.465382851448418, + 5.830588668685144, 6.193124598354461, 6.556302500767287, 6.916980047320382, 7.276461804173244, + 7.6344772701607315, 7.991669007379948, 8.348304863048162, 8.703291378118662, 9.056904851336473, + 9.411619705963231, 9.763427993562937, 10.117271295655764, 10.46686762035411, 10.818225893613956, + 11.170261715394957, 11.519827993775719, 11.869231719730976, 12.217483944213907, 12.916453948549925, + 13.613841821876068, 14.3096301674259, 15.004321373782643, 15.702430536445526, 16.399673721481037, + 17.096910013008056, 18.838849090737256, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ne21_pf_array = { + 0.0, 0.0, 0.0, 8.685880952436748e-07, 2.4754079983896385e-05, + 0.0001901793368385613, 0.0007372402163824667, 0.0019404293040471109, 0.004003921820573951, 0.007021925578680665, + 0.010986057727319889, 0.04118891376750491, 0.0777722105539352, 0.11230632139519969, 0.14260436993417835, + 0.16888829052162926, 0.19197861038694294, 0.2126999294489824, 0.23172922294680387, 0.26667282493464145, + 0.2996105757244402, 0.3321030146619489, 0.3650139334448046, 0.3988146649899235, 0.46982201597816303, + 0.5465426634781311, 0.6283889300503115, 0.7176705030022621, 0.8142475957319202, 0.9180303367848801, + 1.0293837776852097, 1.14921911265538, 1.276461804173244, 1.4082399653118496, 1.760422483423212, + 2.1271047983648077, 2.499687082618404, 2.870403905279027, 3.2380461031287955, 3.603144372620182, + 3.9656719712201065, 4.326335860928752, 4.683947130751513, 5.041392685158225, 5.396199347095736, + 5.752048447819439, 6.107209969647869, 6.4623979978989565, 6.817565369559781, 7.173186268412274, + 7.5276299008713385, 7.8819549713396, 8.23552844690755, 8.5910646070265, 8.944975908412047, + 9.298853076409706, 9.653212513775344, 10.008600171761918, 10.361727836017593, 10.716837723299525, + 11.071882007306126, 11.424881636631067, 11.780317312140152, 12.133538908370218, 12.84447717574568, + 13.55509444857832, 14.267171728403014, 14.979548374704095, 15.693726948923647, 16.40823996531185, + 17.123851640967086, 18.923244018630278, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na22_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 2.605759074128604e-06, 1.3028639028478182e-05, 4.559852671908958e-05, 0.00011984873864003523, + 0.0002626687122755098, 0.0029928105843703536, 0.010836979076306525, 0.02428653620880802, 0.0424270473387004, + 0.06402310268617777, 0.08796765614200239, 0.11338308526345185, 0.13961150376071624, 0.19275584832811385, + 0.2451455832343637, 0.2958922043442712, 0.3448263511644293, 0.39212883410565064, 0.48287358360875376, + 0.5717088318086876, 0.6627578316815741, 0.756636108245848, 0.8561244442423003, 0.9633155113861113, + 1.0791812460476249, 1.2013971243204515, 1.3283796034387378, 1.4638929889859074, 1.8215135284047732, + 2.1931245983544616, 2.5705429398818973, 2.9474337218870508, 3.322219294733919, 3.6954816764901977, + 4.068185861746161, 4.4361626470407565, 4.804820678721162, 5.173186268412274, 5.540329474790874, + 5.907411360774586, 6.27415784926368, 6.642464520242122, 7.008600171761918, 7.378397900948138, + 7.746634198937579, 8.113943352306837, 8.482873583608754, 8.851258348719075, 9.220108088040055, + 9.588831725594208, 9.957607287060096, 10.32633586092875, 10.695481676490198, 11.064457989226918, + 11.4345689040342, 11.80413943233535, 12.173186268412275, 12.544068044350276, 13.285557309007773, + 14.02938377768521, 14.773054693364262, 15.518513939877888, 16.264817823009537, 17.012837224705173, + 17.76492298464989, 19.64933485871214, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Na23_pf_array = { + 0.0, 0.0, 0.0, 0.0, 1.737174453219938e-06, + 2.3885539658322847e-05, 0.00013113713282427166, 0.0004423207528904243, 0.0010999766245234138, 0.0022321731976362837, + 0.003929471989446119, 0.021128907257497758, 0.0479649055541949, 0.07726249885377773, 0.10525805048344758, + 0.13079227003361296, 0.15390201926318714, 0.17503899265296466, 0.19472325248715508, 0.23147162936712465, + 0.26668504599022796, 0.3016913566252569, 0.33713446730536967, 0.37335950050705796, 0.4487063199050799, + 0.5314789170422551, 0.6211762817750351, 0.7218106152125465, 0.8344207036815325, 0.9590413923210935, + 1.0934216851622351, 1.2405492482825997, 1.3926969532596658, 1.551449997972875, 1.9628426812012425, + 2.383815365980431, 2.803457115648414, 3.220108088040055, 3.6344772701607315, 4.045322978786658, + 4.453318340047038, 4.857935264719429, 5.26245108973043, 5.664641975556125, 6.064457989226918, + 6.466867620354109, 6.867467487859051, 7.267171728403014, 7.666517980554881, 8.064457989226918, + 8.463892988985908, 8.861534410859038, 9.260071387985075, 9.656098202012831, 10.05307844348342, + 10.450249108319362, 10.846337112129806, 11.243038048686294, 11.638489256954637, 12.03342375548695, + 12.429752280002408, 12.826074802700827, 13.222716471147583, 13.6170003411209, 14.40823996531185, + 15.20139712432045, 15.993876914941211, 16.787460474518415, 17.582063362911708, 18.378397900948137, + 19.17609125905568, 21.173186268412273, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mg24_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 5.471765757979972e-05, 0.0007714899373308072, 0.0037633124724497638, 0.010764115210255056, + 0.022625058328435317, 0.039160607597355665, 0.05951911533271758, 0.08262238957783377, 0.13324118689139802, + 0.185518640557017, 0.2370005304649223, 0.2870228837145503, 0.3357157930198095, 0.43136376415898736, + 0.526339277389844, 0.6253124509616739, 0.7307822756663892, 0.8463371121298052, 0.9749719942980689, + 1.1172712956557642, 1.2741578492636798, 1.4424797690644486, 1.6232492903979006, 2.103803720955957, + 2.598790506763115, 3.089905111439398, 3.5774917998372255, 4.05307844348342, 4.52244423350632, + 4.984527313343793, 5.440909082065217, 5.894869656745253, 6.344392273685111, 6.791690649020118, + 7.235528446907549, 7.678518379040114, 8.12057393120585, 8.558708570533165, 8.99563519459755, + 9.431363764158988, 9.866287339084195, 10.301029995663981, 10.732393759822969, 11.164352855784436, + 11.594392550375426, 12.02530586526477, 12.453318340047037, 12.881384656770573, 13.3096301674259, + 13.736396502276643, 14.161368002234974, 14.588831725594208, 15.012837224705173, 15.86569605991607, + 16.715167357848458, 17.56466606425209, 18.413299764081252, 19.26245108973043, 20.113943352306837, + 20.96284268120124, 23.089905111439396, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Al27_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 8.685880952436748e-07, 3.4743419578801875e-06, + 1.0422942490878872e-05, 0.00032429686817590634, 0.0018833542475028369, 0.005477808032249926, 0.011239204769804155, + 0.018904286378932662, 0.028126564553716336, 0.03862016194970278, 0.05018673657450416, 0.07608019569340022, + 0.10530099179798433, 0.13774106877747655, 0.1734986149135784, 0.2127888058397363, 0.30319605742048883, + 0.4099331233312945, 0.5352941200427705, 0.6794278966121189, 0.8394780473741984, 1.0128372247051722, + 1.1958996524092338, 1.3873898263387294, 1.5843312243675307, 1.783903579272735, 2.287801729930226, + 2.7944880466591697, 3.296665190261531, 3.7944880466591697, 4.2878017299302265, 4.779596491257824, + 5.269512944217916, 5.7558748556724915, 6.2405492482825995, 6.725094521081469, 7.209515014542631, + 7.691081492122969, 8.173186268412275, 8.653212513775344, 9.133538908370218, 9.611723308007342, + 10.089905111439398, 10.568201724066995, 11.045322978786658, 11.521138083704036, 11.997386384397313, + 12.472756449317213, 12.947923619831727, 13.423245873936807, 13.89707700320942, 14.371067862271737, + 14.845098040014257, 15.320146286111054, 15.79309160017658, 16.267171728403014, 17.214843848047696, + 18.161368002234976, 19.110589710299248, 20.060697840353612, 21.012837224705173, 21.96284268120124, + 22.915927211697117, 25.305351369446623, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Si28_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.1714669808675565e-06, 7.121845527843468e-05, 0.0005624812393818786, 0.002223099674110693, + 0.0059171580771474625, 0.01228240711882553, 0.021577095617092278, 0.03370716078346824, 0.06502557053071237, + 0.10275227725738852, 0.14387160800291654, 0.18660350439861528, 0.23028079132683374, 0.3222192947339193, + 0.42324587393680785, 0.541579243946581, 0.6839471307515121, 0.8518696007297664, 1.0413926851582251, + 1.250420002308894, 1.4727564493172123, 1.7024305364455252, 1.9375178920173466, 2.531478917042255, + 3.12057393120585, 3.7024305364455254, 4.271841606536499, 4.834420703681532, 5.389166084364533, + 5.937517892017347, 6.481442628502305, 7.021189299069938, 7.557507201905658, 8.089905111439398, + 8.622214022966295, 9.14921911265538, 9.675778341674086, 10.198657086954423, 10.721810615212547, + 11.2405492482826, 11.75966784468963, 12.276461804173245, 12.791690649020119, 13.305351369446624, + 13.818225893613956, 14.330413773349191, 14.840733234611807, 15.350248018334163, 15.85913829729453, + 16.367355921026018, 16.8750612633917, 17.38201704257487, 17.88874096068289, 18.90036712865647, + 19.911157608739977, 20.921166050637737, 21.9304395947667, 22.93951925261862, 23.948901760970212, + 24.958563883221967, 27.48572142648158, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D P31_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 4.820401221806151e-05, 0.0005624812393818786, 0.002468018295084159, 0.006670091319158333, + 0.013688955408210905, 0.023674199668938998, 0.0365510506801258, 0.05215275629691827, 0.09085986215557586, + 0.13887811232360858, 0.19608052467040618, 0.2628929908553992, 0.33982852740425823, 0.5237464668115644, + 0.7419390777291989, 0.9827233876685453, 1.235528446907549, 1.4899584794248346, 1.7442929831226763, + 1.9960736544852753, 2.24551266781415, 2.4913616938342726, 2.733999286538387, 3.330413773349191, + 3.9132839017604186, 4.48572142648158, 5.049218022670182, 5.608526033577194, 6.164352855784437, + 6.714329759745233, 7.264817823009537, 7.812913356642856, 8.359835482339887, 8.90687353472207, + 9.453318340047037, 9.997823080745725, 10.54282542695918, 11.086359830674748, 11.629409599102718, + 12.170261715394957, 12.712649701627212, 13.255272505103306, 13.79448804665917, 14.334453751150932, + 14.874481817699467, 15.414973347970818, 15.953276336667304, 16.492760389026838, 17.029383777685208, + 17.570542939881896, 18.10720996964787, 18.64738297011462, 19.187520720836464, 20.264817823009537, + 21.342422680822207, 22.42160392686983, 23.503790683057183, 24.5854607295085, 25.66931688056611, + 26.75511226639507, 29.477121254719663, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D S32_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 5.211502513843472e-06, 6.948155872801059e-05, 0.0003893875360542875, + 0.001336870159627728, 0.0033782324012585556, 0.00696337755678715, 0.012456734172197396, 0.030114157908450765, + 0.05748428585387722, 0.09500536995017458, 0.14295136988131382, 0.20165707691270435, 0.3521825181113625, + 0.5502283530550941, 0.787460474518415, 1.0569048513364727, 1.3404441148401183, 1.631443769013172, + 1.92272545799326, 2.2121876044039577, 2.4955443375464483, 2.7737864449811935, 3.44870631990508, + 4.096910013008056, 4.726727209026572, 5.3404441148401185, 5.944975908412048, 6.541579243946581, + 7.133538908370218, 7.720985744153739, 8.305351369446624, 8.888740960682892, 9.469822015978163, + 10.049218022670182, 10.628388930050312, 11.20682587603185, 11.78175537465247, 12.356025857193123, + 12.9304395947667, 13.502427119984432, 14.075546961392531, 14.645422269349092, 15.214843848047698, + 15.783903579272735, 16.352182518111363, 16.920123326290724, 17.487138375477187, 18.053078443483418, + 18.621176281775035, 19.187520720836464, 19.753583058892907, 20.318063334962762, 21.450249108319362, + 22.580924975675618, 23.71264970162721, 24.84385542262316, 25.976808337338067, 27.110589710299248, + 28.24551266781415, 31.08635983067475, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cl35_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 1.8239985202970884e-05, 0.00020710907627919203, 0.0009431313908907785, 0.002698987769012708, + 0.005906875936599731, 0.010907713111778477, 0.017957319425972694, 0.027253766962590423, 0.0532486689285615, + 0.09021853774459236, 0.13964204799692437, 0.20296975189964025, 0.28111453407611076, 0.48000694295715063, + 0.7234556720351858, 0.9934362304976118, 1.2741578492636798, 1.5587085705331658, 1.841984804590114, + 2.123851640967086, 2.401400540781544, 2.678518379040114, 2.951823035315912, 3.6263403673750423, + 4.2878017299302265, 4.942008053022313, 5.588831725594207, 6.230448921378274, 6.870988813760575, + 7.509202522331103, 8.146128035678238, 8.781036938621131, 9.414973347970818, 10.049218022670182, + 10.681241237375588, 11.313867220369154, 11.943988875073773, 12.574031267727719, 13.204119982655925, + 13.831229693867064, 14.457881896733992, 15.086359830674748, 15.710963118995275, 16.33645973384853, + 16.96189547366785, 17.586587304671756, 18.212187604403958, 18.835056101720117, 19.45939248775923, + 20.08278537031645, 20.705863712283918, 21.33041377334919, 21.95375969173323, 23.20139712432045, + 24.450249108319362, 25.699837725867244, 26.950364854376122, 28.20139712432045, 29.456366033129044, + 30.71264970162721, 33.862131379313034, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ar36_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.3429426472042774e-07, 2.3451268844214655e-05, 0.00023141729162330258, 0.0010622869460975197, + 0.0031540913067783544, 0.007135153007315866, 0.013474284663478431, 0.02245187936733961, 0.048771089883939175, + 0.08643600351808534, 0.13560900039779808, 0.1965840257248699, 0.2696980636423851, 0.45331834004703764, + 0.6848453616444125, 0.9585638832219674, 1.2624510897304295, 1.5809249756756194, 1.9057958803678685, + 2.230448921378274, 2.550228353055094, 2.8662873390841948, 3.1760912590556813, 3.929418925714293, + 4.657055852857104, 5.365487984890899, 6.060697840353612, 6.746634198937579, 7.426511261364575, + 8.100370545117563, 8.773054693364262, 9.442479769064448, 10.11058971029925, 10.77451696572855, + 11.437750562820389, 12.100370545117563, 12.758911892397974, 13.41664050733828, 14.071882007306126, + 14.727541257028557, 15.38201704257487, 16.03342375548695, 16.684845361644413, 17.33445375115093, + 17.983626287124533, 18.63144376901317, 19.27875360095283, 19.92582757462474, 20.57170883180869, + 21.217483944213907, 21.863322860120455, 22.50785587169583, 23.152288344383056, 24.440909082065218, + 25.72916478969277, 27.01703333929878, 28.305351369446623, 29.595496221825574, 30.885926339801433, + 32.17897694729317, 35.41329976408125, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D K39_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 3.908632748276029e-06, 3.4307908925770636e-05, + 0.00016282990201490303, 0.000539492815639634, 0.0014074368520356397, 0.0031075244141559894, 0.010846721573671133, + 0.028297088943748088, 0.060956829214686044, 0.11414775667614005, 0.1912997955319451, 0.4132997640812518, + 0.7015679850559274, 1.0170333392987803, 1.3384564936046048, 1.6599162000698502, 1.9772662124272926, + 2.292256071356476, 2.6020599913279625, 2.910090545594068, 3.214843848047698, 3.9684829485539352, + 4.710963118995275, 5.444044795918076, 6.173186268412274, 6.897627091290442, 7.619093330626742, + 8.338456493604605, 9.056904851336473, 9.771587480881255, 10.48572142648158, 11.198657086954423, + 11.907948521612273, 12.6170003411209, 13.324282455297693, 14.02938377768521, 14.733999286538387, + 15.437750562820389, 16.139879086401237, 16.839478047374197, 17.539076098792776, 18.238046103128795, + 18.936513742478894, 19.633468455579585, 20.33041377334919, 21.02530586526477, 21.723455672035186, + 22.418301291319747, 23.113943352306837, 23.809559714635267, 24.505149978319906, 25.89542254603941, + 27.285557309007775, 28.678518379040113, 30.071882007306126, 31.465382851448418, 32.860936620700095, + 34.25767857486918, 37.761927838420526, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ca40_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 3.4743419578801875e-06, + 2.6056887215373325e-05, 0.00012419046343446514, 0.0004254001802063995, 0.0011532564515138496, 0.005324252203746658, + 0.016451245325404363, 0.039380405510556264, 0.07909980819723089, 0.1397280011737941, 0.33041377334919086, + 0.6063813651106049, 0.9385197251764918, 1.2988530764097066, 1.6693168805661123, 2.037426497940624, + 2.403120521175818, 2.761927838420529, 3.113943352306837, 3.459392487759231, 4.301029995663981, + 5.117271295655764, 5.9148718175400505, 6.701567985055927, 7.478566495593843, 8.250420002308894, + 9.01703333929878, 9.781036938621131, 10.540329474790873, 11.296665190261532, 12.049218022670182, + 12.801403710017356, 13.549003262025789, 14.294466226161592, 15.037426497940624, 15.779596491257825, + 16.518513939877888, 17.255272505103306, 17.99211148778695, 18.72591163229505, 19.45939248775923, + 20.19033169817029, 20.920645001406786, 21.650307523131936, 22.378397900948137, 23.10720996964787, + 23.832508912706235, 24.558708570533167, 25.285557309007775, 26.008600171761916, 27.45939248775923, + 28.907948521612273, 30.356025857193124, 31.804820678721164, 33.25285303097989, 34.704150516839796, + 36.15533603746506, 39.78816837114117, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Sc43_pf_array = { + 0.0, 1.737174453219938e-06, 3.213660262116793e-05, 0.0006088881229004689, 0.0026394223512168323, + 0.006348788305828209, 0.011375876688411649, 0.017242084547645732, 0.02355944464942603, 0.030067962575438752, + 0.03661053325876141, 0.06810122175372875, 0.09804672309111767, 0.12848424511267922, 0.16058766813472455, + 0.1946644458530261, 0.23055748142930874, 0.2679262754358927, 0.3064134462100847, 0.3856843680943845, + 0.4672642331672854, 0.5514418243762168, 0.6393550853495756, 0.7324654125012992, 0.9380190974762103, + 1.1760912590556813, 1.4456042032735976, 1.7371926427047373, 2.0453229787866576, 2.359835482339888, + 2.678518379040114, 3.0, 3.322219294733919, 3.6424645202421213, 4.439332693830263, + 5.230448921378274, 6.017033339298781, 6.8020892578817325, 7.585460729508501, 8.36735592102602, + 9.14921911265538, 9.929418925714293, 10.710117365111817, 11.489958479424836, 12.267171728403014, + 13.045322978786658, 13.822168079368018, 14.597695185925513, 15.371067862271737, 16.146128035678238, + 16.916453948549925, 17.687528961214635, 18.45788189673399, 19.227886704613674, 19.99694924849538, + 20.76492298464989, 21.532754378992497, 22.30102999566398, 23.068185861746162, 23.835690571492425, + 24.602059991327963, 25.369215857410143, 26.136720567156406, 26.903632516084237, 28.439332693830263, + 29.97497199429807, 31.511883360978874, 33.05307844348342, 34.59217675739587, 36.13672056715641, + 37.68214507637383, 41.55870857053316, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ti44_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 4.3429426472042774e-07, 1.737174453219938e-06, + 7.382943437485088e-06, 0.0004987179011085027, 0.004043078170724821, 0.01413521502778782, 0.032426549056877405, + 0.058561151016688254, 0.09131586357749837, 0.1294359425571275, 0.17190802974603506, 0.2667731684215763, + 0.37035022176288673, 0.47788465213962983, 0.5860935485551829, 0.693748838923791, 0.9116901587538612, + 1.1522883443830565, 1.4409090820652177, 1.7788744720027396, 2.1522883443830563, 2.5415792439465807, + 2.9334872878487053, 3.322219294733919, 3.7041505168397992, 4.079181246047625, 4.996073654485276, + 5.885361220031512, 6.757396028793024, 7.619093330626742, 8.472756449317213, 9.32221929473392, + 10.167317334748176, 11.008600171761918, 11.85003325768977, 12.687528961214634, 13.52244423350632, + 14.354108439147401, 15.1846914308176, 16.012837224705173, 16.836956737059552, 17.65991620006985, + 18.481442628502304, 19.298853076409706, 20.117271295655765, 20.9329808219232, 21.746634198937578, + 22.559906625036113, 23.371067862271737, 24.181843587944773, 24.991226075692495, 25.799340549453582, + 26.60745502321467, 27.414973347970818, 28.220108088040057, 29.02530586526477, 30.63748972951251, + 32.247973266361804, 33.8561244442423, 35.46538285144842, 37.07554696139253, 38.68484536164441, + 40.29666519026153, 44.33041377334919, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D V47_pf_array = { + 2.518834949526704e-05, 0.0007584840322833457, 0.004226764680268442, 0.024475815916759108, 0.05998274311239668, + 0.1028026649155908, 0.14672973694476377, 0.18852098344730983, 0.22688178294786618, 0.2615226538586488, + 0.29260868165003595, 0.4071409645052156, 0.48021742410342627, 0.5329079468954852, 0.5750746363992424, + 0.6115960803783954, 0.6450760714077263, 0.6770396273057074, 0.708482088001612, 0.7725618227871047, + 0.8417322779915452, 0.9194240819892174, 1.0083997539725875, 1.110602503281611, 1.3560258571931227, + 1.651278013998144, 1.9813655090785445, 2.330413773349191, 2.6884198220027105, 3.0492180226701815, + 3.41161970596323, 3.7708520116421442, 4.127104798364807, 4.484299839346786, 5.365487984890899, + 6.238046103128795, 7.103803720955957, 7.967547976218862, 8.830588668685145, 9.69460519893357, + 10.557507201905658, 11.421603926869832, 12.285557309007773, 13.146128035678238, 14.008600171761918, + 14.869231719730976, 15.728353782021228, 16.586587304671756, 17.442479769064448, 18.298853076409706, + 19.152288344383056, 20.00432137378264, 20.85793526471943, 21.70926996097583, 22.559906625036113, + 23.409933123331296, 24.260071387985075, 25.10720996964787, 25.956648579205204, 26.804820678721164, + 27.652246341003323, 28.50105926221775, 29.34830486304816, 30.195899652409235, 31.891537457672566, + 33.588831725594204, 35.28555730900777, 36.985875357308394, 38.68752896121463, 40.39093510710338, + 42.096910013008056, 46.372912002970104, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Cr48_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 8.685880952436748e-07, 8.251516766996927e-06, 3.951899976600419e-05, 0.00013330794422173613, + 0.00035120219371925006, 0.006401856055765157, 0.02685304570895992, 0.0621531182513584, 0.10696594975266842, + 0.15598699109465686, 0.20581584444582904, 0.25471214514215257, 0.30198352738731143, 0.39152612205819926, + 0.47640596203905256, 0.5602400543128645, 0.6474755901642433, 0.7433846322638775, 0.983175072037813, + 1.3096301674258988, 1.7067177823367587, 2.1398790864012365, 2.5774917998372255, 3.012837224705172, + 3.437750562820388, 3.8549130223078554, 4.264817823009537, 4.666517980554881, 5.648360010980932, + 6.606381365110605, 7.550228353055094, 8.484299839346786, 9.414973347970818, 10.340444114840118, + 11.264817823009537, 12.1846914308176, 13.103803720955957, 14.021189299069938, 14.935003151453655, + 15.846337112129806, 16.75511226639507, 17.66181268553726, 18.565847818673518, 19.468347330412158, + 20.369215857410143, 21.267171728403014, 22.161368002234976, 23.056904851336473, 23.94939000664491, + 24.840733234611807, 25.73078227566639, 26.619093330626743, 27.50785587169583, 28.394451680826215, + 29.281033367247726, 30.164352855784436, 31.049218022670182, 31.934498451243567, 33.70156798505593, + 35.46834733041216, 37.23299611039215, 38.99913054128737, 40.764922984649886, 42.5327543789925, + 44.30102999566398, 48.727541257028555, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Mn51_pf_array = { + 0.0, 0.0, 4.3429426472042774e-07, 6.0362737871404116e-05, 0.0005954436481690332, + 0.0023527034524912656, 0.0058636025937444025, 0.011219737158250307, 0.018191443590229183, 0.026405776501228783, + 0.035473365577059296, 0.08393991903492294, 0.12694077261184436, 0.1626799839654217, 0.19356340377635364, + 0.22185561141496238, 0.24912127857304392, 0.27638918590325057, 0.30436276263857276, 0.36442247019537943, + 0.4326074417788098, 0.5117005179251304, 0.6041057952026397, 0.7115562776994953, 0.9717395908877783, + 1.287801729930226, 1.640481436970422, 2.0170333392987803, 2.403120521175818, 2.7944880466591697, + 3.1903316981702914, 3.5854607295085006, 3.9827233876685453, 4.380211241711606, 5.372912002970106, + 6.363611979892144, 7.354108439147401, 8.342422680822207, 9.328379603438737, 10.311753861055754, + 11.292256071356476, 12.269512944217917, 13.24551266781415, 14.214843848047698, 15.1846914308176, + 16.14921911265538, 17.110589710299248, 18.071882007306126, 19.029383777685208, 19.985426474083003, + 20.93851972517649, 21.88986172125819, 22.839478047374197, 23.787460474518415, 24.73399928653839, + 25.67942789661212, 26.6232492903979, 27.56702636615906, 28.5092025223311, 29.45178643552429, + 30.392696953259666, 31.33445375115093, 32.27415784926368, 33.2148438480477, 35.093421685162234, + 36.97451169273733, 38.8555191556678, 40.737192642704734, 42.620136054973756, 44.505149978319906, + 46.392696953259666, 51.12057393120585, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe52_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.737174453219938e-06, 9.554373504133797e-06, 3.778197643341552e-05, + 0.00011333607006293108, 0.0030242952161453874, 0.015422212189991185, 0.040215337130588114, 0.07478865660777631, + 0.11488541698288197, 0.15714990338033966, 0.19960737134331175, 0.24132628928072955, 0.3217032118192907, + 0.3993396534463543, 0.4778337814344742, 0.5623989859221217, 0.6594581913549248, 0.9153998352122699, + 1.2695129442179163, 1.6910814921229684, 2.143014800254095, 2.6009728956867484, 3.0569048513364727, + 3.503790683057181, 3.946452265013073, 4.383815365980431, 4.818225893613955, 5.888740960682893, + 6.944482672150168, 7.9898945637187735, 9.02938377768521, 10.060697840353612, 11.086359830674748, + 12.11058971029925, 13.127104798364808, 14.139879086401237, 15.14921911265538, 16.152288344383056, + 17.152288344383056, 18.14921911265538, 19.143014800254097, 20.133538908370216, 21.12057393120585, + 22.103803720955955, 23.08635983067475, 24.06445798922692, 25.041392685158225, 26.01703333929878, + 26.989449817666692, 27.960946195733833, 28.930949031167522, 29.899273187317604, 30.8668778143375, + 31.833784374656478, 32.79934054945358, 33.76417613239033, 34.72835378202123, 36.655138434811384, + 38.58092497567562, 40.505149978319906, 42.42975228000241, 44.3541084391474, 46.28103336724773, + 48.20682587603185, 53.02938377768521, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe53_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.3028814913777444e-06, 6.080080186165502e-06, 2.0411360986187108e-05, + 5.384917717601842e-05, 0.00099773035779373, 0.004491618246634796, 0.011583129716232713, 0.02260939259680282, + 0.037536053829818145, 0.056184239286028684, 0.07836255359576534, 0.10393433162264984, 0.16508072986206487, + 0.2398955676994077, 0.3292351155694239, 0.4339067390755778, 0.5541592859186848, 0.8375884382355113, + 1.1702617153949575, 1.5314789170422551, 1.9148718175400503, 2.3096301674258988, 2.710963118995276, + 3.1172712956557644, 3.5276299008713385, 3.940516484932567, 4.3560258571931225, 5.396199347095736, + 6.440909082065217, 7.48572142648158, 8.52762990087134, 9.564666064252089, 10.597695185925513, + 11.626340367375043, 12.650307523131936, 13.669316880566113, 14.683947130751513, 15.69460519893357, + 16.700703717145018, 17.7041505168398, 18.70329137811866, 19.699837725867244, 20.693726948923647, + 21.684845361644413, 22.67394199863409, 23.65991620006985, 24.64542226934909, 25.62838893005031, + 26.60959440922522, 27.589949601325706, 28.569373909615045, 29.547774705387823, 30.525044807036846, + 31.50105926221775, 32.47712125471966, 33.45331834004704, 34.428134794028786, 36.37839790094814, + 38.32837960343874, 40.27875360095283, 42.230448921378276, 44.1846914308176, 46.13987908640124, + 48.096910013008056, 52.99956548822598, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe54_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.038750882690593e-05, 0.0006153933644858296, 0.0031795285189803882, 0.009608097244673555, + 0.021489478918632662, 0.039963481298721557, 0.06578505049986659, 0.09933285917375559, 0.1890456852906488, + 0.30450216050560097, 0.4386136969546961, 0.5858349639065905, 0.7435112541834851, 1.089905111439398, + 1.4727564493172123, 1.8864907251724818, 2.3201462861110542, 2.760422483423212, 3.2041199826559246, + 3.6503075231319366, 4.093421685162235, 4.539076098792776, 4.982271233039568, 6.089905111439398, + 7.190331698170292, 8.287801729930226, 9.378397900948137, 10.462397997898956, 11.539076098792776, + 12.61066016308988, 13.675778341674086, 14.734799829588846, 15.789580712164426, 16.838219221907625, + 17.88252453795488, 18.922206277439017, 19.957607287060096, 20.989449817666692, 22.01703333929878, + 23.041392685158225, 24.06445798922692, 25.08278537031645, 26.100370545117563, 27.113943352306837, + 28.127104798364808, 29.136720567156406, 30.146128035678238, 31.155336037465062, 32.16136800223497, + 33.164352855784436, 34.17026171539496, 35.17318626841227, 36.17609125905568, 38.17897694729317, + 40.18184358794477, 42.18184358794477, 44.18184358794477, 46.1846914308176, 48.1846914308176, + 50.18752072083646, 55.204119982655925, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe55_pf_array = { + 0.0, 0.0, 0.0, 0.0, 1.3028814913777444e-06, + 1.563431993241418e-05, 7.599488497457784e-05, 0.00023706007560618322, 0.0005564089438241259, 0.0010813488014597978, + 0.0018431377713960377, 0.009434322601068017, 0.022947317188587977, 0.04207202183227031, 0.06669370834774807, + 0.09644559083435453, 0.13073538555922604, 0.1689268514992448, 0.210470482925873, 0.30216484315823844, + 0.40437472924396634, 0.5173772341350337, 0.6421575367181118, 0.7795497407641858, 1.089905111439398, + 1.4471580313422192, 1.8312296938670634, 2.2355284469075487, 2.649334858712142, 3.0718820073061255, + 3.496929648073215, 3.926856708949692, 4.359835482339888, 4.79309160017658, 5.8819549713396, + 6.973589623427257, 8.064457989226918, 9.14921911265538, 10.232996110392154, 11.307496037913213, + 12.378397900948137, 13.444044795918076, 14.503790683057181, 15.558708570533165, 16.608526033577196, + 17.65417654187796, 18.69635638873333, 19.73399928653839, 20.768638101247614, 21.800029359244135, + 22.82865989653532, 23.854913022307855, 24.878521795501207, 25.899820502427097, 26.91960102378411, + 27.937517892017347, 28.954242509439325, 29.96941591235398, 30.983626287124533, 31.99694924849538, + 33.00860017176192, 34.02118929906994, 35.03342375548695, 36.04532297878666, 38.064457989226916, + 40.086359830674745, 42.10720996964787, 44.127104798364805, 46.15228834438306, 48.17609125905568, + 50.20139712432045, 55.28103336724773, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Fe56_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 1.737174453219938e-06, 9.988658214691803e-06, 3.951899976600419e-05, + 0.00011724368292883856, 0.0030902761496993327, 0.0156878675130911, 0.04089651650139036, 0.07635858866725904, + 0.11828391003740014, 0.16392102383975418, 0.21196213905930564, 0.2621108778253895, 0.36964919324674056, + 0.4887648498436591, 0.6206486780522652, 0.76578080127876, 0.924731337394998, 1.2855573090077739, + 1.6972293427597176, 2.143014800254095, 2.606381365110605, 3.0718820073061255, 3.5403294747908736, + 4.004321373782642, 4.468347330412158, 4.928395852256714, 5.38738982633873, 6.5276299008713385, + 7.66086547800387, 8.788168371141168, 9.909556029241175, 11.02530586526477, 12.136720567156408, + 13.2405492482826, 14.340444114840118, 15.432969290874405, 16.52244423350632, 17.606381365110604, + 18.686636269262294, 19.76192783842053, 20.833147111912787, 21.90036712865647, 22.96473092105363, + 24.02530586526477, 25.08278537031645, 26.139879086401237, 27.193124598354462, 28.243038048686294, + 29.292256071356476, 30.338456493604603, 31.383815365980432, 32.428134794028786, 33.46982201597816, + 34.51188336097887, 35.552668216112195, 36.59217675739587, 37.631443769013174, 39.70842090013471, + 41.78390357927273, 43.85913829729453, 45.93449845124357, 48.00860017176192, 50.086359830674745, + 52.164352855784436, 57.37106786227174, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co55_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 8.685880952436748e-07, 1.433148143464237e-05, 9.336327741651445e-05, + 0.00038114325769492564, 0.0011510907323373071, 0.0028275866787247843, 0.005986127810021806, 0.019727612600003868, + 0.049238961363648255, 0.10167663281566902, 0.18228879723157643, 0.29243817096179087, 0.5865873046717549, + 0.9449759084120479, 1.3324384599156054, 1.7363965022766426, 2.1492191126553797, 2.56702636615906, + 2.9912260756924947, 3.419955748489758, 3.851869600729766, 4.2878017299302265, 5.382017042574868, + 6.482873583608754, 7.5820633629117085, 8.677606952720494, 9.767155866082181, 10.85003325768977, + 11.927370363039023, 12.998695158311655, 14.064457989226918, 15.127104798364808, 16.181843587944773, + 17.232996110392154, 18.281033367247726, 19.32428245529769, 20.3654879848909, 21.401400540781545, + 22.436162647040756, 23.468347330412158, 24.4983105537896, 25.525044807036846, 26.550228353055093, + 27.57403126772772, 28.59659709562646, 29.6170003411209, 30.636487896353366, 31.65609820201283, + 32.673941998634085, 33.69108149212297, 34.70757017609794, 35.72427586960079, 37.75587485567249, + 39.786751422145564, 41.818225893613956, 43.850033257689766, 45.88309335857569, 47.91750550955255, + 49.954242509439325, 55.05690485133647, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co56_pf_array = { + 0.0, 1.737174453219938e-06, 3.4307908925770636e-05, 0.0007363730997827178, 0.003397192878964486, + 0.008467734331585224, 0.015506451739574849, 0.0238164702394971, 0.03279759856010612, 0.04203693696495622, + 0.05128645751287553, 0.09519865223967468, 0.13622861655702886, 0.17671416946686702, 0.21729965897649603, + 0.2578772011708393, 0.2983265845453606, 0.3387098245578885, 0.3792523836931725, 0.4621652135836289, + 0.5500314690476197, 0.6456769741905006, 0.7513340033440492, 0.8684365267163909, 1.1367205671564067, + 1.4517864355242902, 1.7986506454452689, 2.1702617153949575, 2.5599066250361124, 2.9614210940664485, + 3.3729120029701067, 3.7902851640332416, 4.214843848047698, 4.6414741105041, 5.723455672035186, + 6.814913181275074, 7.9084850188786495, 9.0, 10.089905111439398, 11.173186268412275, + 12.250420002308894, 13.32633586092875, 14.394451680826217, 15.459392487759231, 16.521138083704038, + 17.577491799837226, 18.630427875025024, 19.680335513414562, 20.727541257028555, 21.77232170672292, + 22.81358098856819, 23.853089529851864, 24.890979596989688, 25.926856708949693, 26.960946195733833, + 27.99387691494121, 29.02530586526477, 30.056904851336473, 31.08635983067475, 32.11727129565576, + 33.14612803567824, 34.17318626841227, 35.20139712432045, 36.230448921378276, 38.28555730900777, + 40.3424226808222, 42.39967372148104, 44.45939248775923, 46.52113808370404, 48.5854607295085, + 50.651278013998144, 55.831229693867066, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Co57_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 4.3429426472042774e-07, 4.994099386680048e-05, 0.0005963110461953748, 0.0027783956198411766, 0.008035647971175024, + 0.017613403025029208, 0.03234391616743566, 0.05264970241280307, 0.07864673504318612, 0.14731854080928636, + 0.23700682147881122, 0.34629017327562855, 0.4739201725299878, 0.6185154181425263, 0.9503648543761231, + 1.3263358609287514, 1.7299742856995557, 2.1492191126553797, 2.57978359661681, 3.0170333392987803, + 3.456366033129043, 3.900913067737669, 4.348304863048161, 4.795880017344075, 5.922206277439017, + 7.05307844348342, 8.178976947293169, 9.30319605742049, 10.423245873936807, 11.537819095073274, + 12.64640372622307, 13.751279103983343, 14.850646235183067, 15.94546858513182, 17.037426497940622, + 18.12057393120585, 19.204119982655925, 20.28330122870355, 21.357934847000454, 22.431363764158988, + 23.50105926221775, 24.568201724066995, 25.632457292184725, 26.69635638873333, 27.757396028793025, + 28.81690383937566, 29.87563993700417, 30.93247376467715, 31.989004615698537, 33.04532297878666, + 34.10037054511756, 35.15228834438306, 36.20682587603185, 37.26007138798507, 39.3654879848909, + 41.47275644931721, 43.578639209968074, 45.686636269262294, 47.79657433321043, 49.90794852161227, + 52.02118929906994, 57.31806333496276, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni56_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 4.3429426472042774e-07, 7.817230319428648e-06, 6.42708273977769e-05, + 0.0002904458650804842, 0.0009123622824012838, 0.0022498876258026487, 0.004694448751887299, 0.014735532704563181, + 0.03529042138996706, 0.07190703372466718, 0.13162956968664008, 0.2219004275849247, 0.5092025223311029, + 0.9132839017604184, 1.3747483460101038, 1.8555191556678001, 2.3404441148401185, 2.8221680793680175, + 3.303196057420489, 3.783903579272735, 4.26245108973043, 4.7419390777291985, 5.9344984512435675, + 7.117271295655764, 8.292256071356476, 9.456366033129044, 10.608526033577194, 11.750508394851346, + 12.88309335857569, 14.008600171761918, 15.123851640967086, 16.232996110392154, 17.33645973384853, + 18.432969290874407, 19.525044807036846, 20.612783856719737, 21.695481676490196, 22.773786444981194, + 23.8481891169914, 24.919078092376076, 25.987219229908003, 27.053078443483418, 28.113943352306837, + 29.17609125905568, 30.232996110392154, 31.287801729930226, 32.3424226808222, 33.39619934709574, + 34.44715803134222, 35.49692964807321, 36.54530711646582, 37.594392550375424, 39.68752896121463, + 41.77959649125783, 43.86981820797933, 45.959518376973, 48.04921802267018, 50.13987908640124, + 52.230448921378276, 57.462397997898954, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni57_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 4.3429426472042774e-07, 1.737174453219938e-06, 9.554373504133797e-06, 3.257086475060328e-05, + 8.771862606148251e-05, 0.0017410663385697559, 0.007809206274475302, 0.019214774774593695, 0.03493231633712191, + 0.05345799700199784, 0.07364137994668778, 0.0948950837519807, 0.11713833477999397, 0.16608656859343762, + 0.22565890312281187, 0.3025878355093501, 0.4025382106894563, 0.5279492540555756, 0.8463371121298052, + 1.2253092817258628, 1.631443769013172, 2.0530784434834195, 2.484299839346786, 2.9237619608287004, + 3.369215857410143, 3.8188854145940097, 4.27415784926368, 4.731588765186738, 5.884795363948981, + 7.041392685158225, 8.195899652409233, 9.344392273685111, 10.482873583608754, 11.613841821876068, + 12.736396502276643, 13.851258348719075, 14.959041392321094, 16.060697840353612, 17.15836249209525, + 18.247973266361807, 19.332438459915604, 20.414973347970818, 21.492760389026838, 22.565847818673518, + 23.636487896353366, 24.7041505168398, 25.768638101247614, 26.831229693867062, 27.89209460269048, + 28.950851458888547, 30.008600171761916, 31.06445798922692, 32.11727129565576, 33.17026171539496, + 34.222716471147585, 35.27415784926368, 36.32633586092875, 37.376576957056514, 39.478566495593846, + 41.578639209968074, 43.67851837904011, 45.77959649125783, 47.88252453795488, 49.98721922990801, + 52.093421685162234, 57.372912002970104, + }; + + // this is log10(partition function) + + AMREX_GPU_MANAGED amrex::Array1D Ni58_pf_array = { + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 0.0, 0.0, 0.0, 0.0, + 0.0, 2.822822391636452e-05, 0.00047225553585970024, 0.0025858928325085315, 0.008151594991554035, + 0.018820703394680185, 0.03585661791649524, 0.0601275962522883, 0.09212527438468374, 0.17939292292561174, + 0.29475734836761314, 0.43276876399762537, 0.5886922364625494, 0.7597527315231631, 1.1398790864012365, + 1.5670263661590604, 2.0211892990699383, 2.4913616938342726, 2.968015713993642, 3.4471580313422194, + 3.9253120914996495, 4.4048337166199385, 4.884795363948981, 5.363611979892144, 6.561101383649056, + 7.754348335711019, 8.94101424370557, 10.12057393120585, 11.290034611362518, 12.45178643552429, + 13.60530504614111, 14.752048447819439, 15.89209460269048, 17.02530586526477, 18.155336037465062, + 19.276461804173245, 20.394451680826215, 21.50650503240487, 22.6159500516564, 23.72098574415374, + 24.822168079368016, 25.920123326290724, 27.01703333929878, 28.10720996964787, 29.198657086954423, + 30.285557309007775, 31.371067862271737, 32.456366033129044, 33.539076098792776, 34.620136054973756, + 35.70070371714502, 36.78031731214015, 37.85853719756964, 38.936513742478894, 41.0899051114394, + 43.243038048686294, 45.39619934709574, 47.549003262025785, 49.70156798505593, 51.8561244442423, + 54.01283722470517, 59.41161970596323, + }; + + +} + diff --git a/networks/he-burn/he-burn-31anp/pynucastro.net b/networks/he-burn/he-burn-31anp/pynucastro.net new file mode 100644 index 0000000000..9db593b3f4 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/pynucastro.net @@ -0,0 +1,38 @@ +neutron n 1.0 0.0 +hydrogen-1 H1 1.0 1.0 +proton-nse P_nse 1.0 1.0 +helium-4 He4 4.0 2.0 +carbon-12 C12 12.0 6.0 +nitrogen-13 N13 13.0 7.0 +nitrogen-14 N14 14.0 7.0 +oxygen-16 O16 16.0 8.0 +fluorine-18 F18 18.0 9.0 +neon-20 Ne20 20.0 10.0 +neon-21 Ne21 21.0 10.0 +sodium-22 Na22 22.0 11.0 +sodium-23 Na23 23.0 11.0 +magnesium-24 Mg24 24.0 12.0 +aluminum-27 Al27 27.0 13.0 +silicon-28 Si28 28.0 14.0 +phosphorus-31 P31 31.0 15.0 +sulfur-32 S32 32.0 16.0 +argon-36 Ar36 36.0 18.0 +calcium-40 Ca40 40.0 20.0 +titanium-44 Ti44 44.0 22.0 +chromium-48 Cr48 48.0 24.0 +manganese-51 Mn51 51.0 25.0 +iron-52 Fe52 52.0 26.0 +iron-54 Fe54 54.0 26.0 +iron-56 Fe56 56.0 26.0 +cobalt-55 Co55 55.0 27.0 +cobalt-56 Co56 56.0 27.0 +cobalt-57 Co57 57.0 27.0 +nickel-56 Ni56 56.0 28.0 +nickel-58 Ni58 58.0 28.0 +__extra_chlorine-35 Cl35 35.0 17.0 +__extra_potassium-39 K39 39.0 19.0 +__extra_scandium-43 Sc43 43.0 21.0 +__extra_vanadium-47 V47 47.0 23.0 +__extra_iron-53 Fe53 53.0 26.0 +__extra_iron-55 Fe55 55.0 26.0 +__extra_nickel-57 Ni57 57.0 28.0 diff --git a/networks/he-burn/he-burn-31anp/reaclib_rates.H b/networks/he-burn/he-burn-31anp/reaclib_rates.H new file mode 100644 index 0000000000..8762d5f5d4 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/reaclib_rates.H @@ -0,0 +1,7547 @@ +#ifndef REACLIB_RATES_H +#define REACLIB_RATES_H + +#include +#include + +#include +#include +#include + +using namespace Rates; +using namespace Species; + +struct rate_t { + amrex::Array1D screened_rates; + amrex::Real enuc_weak; +}; + +struct rate_derivs_t { + amrex::Array1D screened_rates; + amrex::Array1D dscreened_rates_dT; + amrex::Real enuc_weak; +}; + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_C12_to_N13(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + p --> N13 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ls09n + ln_set_rate = 17.1482 + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // ls09r + ln_set_rate = 17.5428 + -3.77849 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + + 0.148883 * tfactors.T9 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.77849 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + + 0.148883 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_C12_to_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + He4 --> O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nac2 + ln_set_rate = 254.634 + -1.84097 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 137.303 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.84097 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 137.303 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nac2 + ln_set_rate = 69.6526 + -1.39254 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 70.3554 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.39254 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 70.3554 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_N14_to_F18(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N14 + He4 --> F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 21.5339 + -36.2504 * tfactors.T913i + + -5.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -36.2504 * tfactors.T943i + + (5.0/3.0) * -5.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 13.8995 + -10.9656 * tfactors.T9i + -5.6227 * tfactors.T913i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 10.9656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 0.196838 + -5.16034 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.16034 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_O16_to_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + He4 --> Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // co10r + ln_set_rate = 9.50848 + -12.7643 * tfactors.T9i + -3.65925 * tfactors.T913 + + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.7643 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10r + ln_set_rate = 3.88571 + -10.3585 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 10.3585 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10n + ln_set_rate = 23.903 + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_F18_to_Na22(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 + He4 --> Na22 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 35.3786 + -1.82957 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 37.8396 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.82957 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 37.8396 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ne20_to_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne20 + He4 --> Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -38.7055 + -2.50605 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.50605 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 24.5058 + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -8.79827 + -12.7809 * tfactors.T9i + 16.9229 * tfactors.T913 + + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.7809 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 1.98307 + -9.22026 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 9.22026 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Ne21_to_Na22(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ne21 + p --> Na22 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -47.6554 + -0.19618 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.19618 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.0696 + -19.2096 * tfactors.T913i + + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -19.2096 * tfactors.T943i + + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -39.4862 + -4.21385 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.21385 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 1.75704 + -1.39957 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.39957 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Na23_to_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na23 + p --> Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10n + ln_set_rate = 18.9075 + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 9.0594 + -3.28029 * tfactors.T9i + -0.360588 * tfactors.T913 + + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.28029 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -5.02585 + -1.61219 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.61219 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Mg24_to_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mg24 + He4 --> Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // st08r + ln_set_rate = -50.5494 + -12.8332 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.8332 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // st08r + ln_set_rate = 8.03977 + -15.629 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 15.629 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Al27_to_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Al27 + p --> Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -13.6664 + -1.90396 * tfactors.T9i + 23.8634 * tfactors.T913 + + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.90396 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 86.0234 + -0.387313 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.387313 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 21.1065 + -23.2205 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -23.2205 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Si28_to_S32(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Si28 + He4 --> S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 47.9212 + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_P31_to_S32(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // P31 + p --> S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 0.821556 + -3.77704 * tfactors.T9i + 8.09341 * tfactors.T913 + + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.77704 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -2.66839 + -2.25958 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.25958 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 19.2596 + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Cr48_to_Fe52(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cr48 + He4 --> Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 65.1754 + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Mn51_to_Fe52(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mn51 + p_nse --> Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.2596 + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Mn51_to_Co55(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mn51 + He4 --> Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 65.9219 + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Fe52_to_Ni56(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe52 + He4 --> Ni56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 66.6417 + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Co55_to_Ni56(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co55 + p_nse --> Ni56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 37.3736 + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_C12_to_p_Na23(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + C12 --> p + Na23 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 60.9649 + -84.165 * tfactors.T913i + -1.4191 * tfactors.T913 + + -0.114619 * tfactors.T9 + -0.070307 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.4191 * tfactors.T923i + + -0.114619 + (5.0/3.0) * -0.070307 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_C12_to_He4_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + C12 --> He4 + Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 61.2863 + -84.165 * tfactors.T913i + -1.56627 * tfactors.T913 + + -0.0736084 * tfactors.T9 + -0.072797 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -84.165 * tfactors.T943i + (1.0/3.0) * -1.56627 * tfactors.T923i + + -0.0736084 + (5.0/3.0) * -0.072797 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_N13_to_p_O16(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // N13 + He4 --> p + O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88n + ln_set_rate = 40.4644 + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_O16_to_p_Al27(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + C12 --> p + Al27 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 68.5253 + 0.205134 * tfactors.T9i + -119.242 * tfactors.T913i + 13.3667 * tfactors.T913 + + 0.295425 * tfactors.T9 + -0.267288 * tfactors.T953 + -9.91729 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.205134 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.242 * tfactors.T943i + (1.0/3.0) * 13.3667 * tfactors.T923i + + 0.295425 + (5.0/3.0) * -0.267288 * tfactors.T923 + -9.91729 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_O16_to_He4_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + C12 --> He4 + Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 48.5341 + 0.37204 * tfactors.T9i + -133.413 * tfactors.T913i + 50.1572 * tfactors.T913 + + -3.15987 * tfactors.T9 + 0.0178251 * tfactors.T953 + -23.7027 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.37204 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -133.413 * tfactors.T943i + (1.0/3.0) * 50.1572 * tfactors.T923i + + -3.15987 + (5.0/3.0) * 0.0178251 * tfactors.T923 + -23.7027 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_O16_to_p_P31(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + O16 --> p + P31 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 85.2628 + 0.223453 * tfactors.T9i + -145.844 * tfactors.T913i + 8.72612 * tfactors.T913 + + -0.554035 * tfactors.T9 + -0.137562 * tfactors.T953 + -6.88807 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.223453 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -145.844 * tfactors.T943i + (1.0/3.0) * 8.72612 * tfactors.T923i + + -0.554035 + (5.0/3.0) * -0.137562 * tfactors.T923 + -6.88807 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_O16_to_He4_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + O16 --> He4 + Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 97.2435 + -0.268514 * tfactors.T9i + -119.324 * tfactors.T913i + -32.2497 * tfactors.T913 + + 1.46214 * tfactors.T9 + -0.200893 * tfactors.T953 + 13.2148 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.268514 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -119.324 * tfactors.T943i + (1.0/3.0) * -32.2497 * tfactors.T923i + + 1.46214 + (5.0/3.0) * -0.200893 * tfactors.T923 + 13.2148 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_F18_to_p_Ne21(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // F18 + He4 --> p + Ne21 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 49.7863 + -1.84559 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.84559 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Na23_to_He4_Ne20(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Na23 + p --> He4 + Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -6.58736 + -2.31577 * tfactors.T9i + 19.7297 * tfactors.T913 + + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.31577 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = 0.0178295 + -1.86103 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.86103 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 18.9756 + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Al27_to_He4_Mg24(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Al27 + p --> He4 + Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -7.02789 + -4.2425 * tfactors.T9i + 18.0416 * tfactors.T913 + + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.2425 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -26.8683 + -0.963012 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.963012 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 29.4576 + -26.4162 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -26.4162 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_P31_to_He4_Si28(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // P31 + p --> He4 + Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -10.893 + -3.42575 * tfactors.T9i + 21.521 * tfactors.T913 + + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.42575 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -12.919 + -1.87716 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.87716 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 60.8829 + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Cr48_to_p_nse_Mn51(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cr48 + He4 --> p_nse + Mn51 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 59.2276 + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Fe52_to_p_nse_Co55(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe52 + He4 --> p_nse + Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 62.2207 + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_He4_He4_to_C12(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // He4 + He4 + He4 --> C12 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // fy05r + ln_set_rate = -24.3505 + -4.12656 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -13.1653 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 4.12656 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -13.1653 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05r + ln_set_rate = -11.7884 + -1.02446 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + -2.16667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.02446 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + -2.16667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05n + ln_set_rate = -0.971052 + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + -1.33333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + -1.33333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_C12_to_Mg24_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // C12 + C12 --> Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = -12.8056 + -30.1498 * tfactors.T9i + 11.4826 * tfactors.T913 + + 1.82849 * tfactors.T9 + -0.34844 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 30.1498 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 11.4826 * tfactors.T923i + + 1.82849 + (5.0/3.0) * -0.34844 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_O16_to_S32_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + O16 --> S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = 77.5491 + -0.373641 * tfactors.T9i + -120.83 * tfactors.T913i + -7.72334 * tfactors.T913 + + -2.27939 * tfactors.T9 + 0.167655 * tfactors.T953 + 7.62001 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.373641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -120.83 * tfactors.T943i + (1.0/3.0) * -7.72334 * tfactors.T923i + + -2.27939 + (5.0/3.0) * 0.167655 * tfactors.T923 + 7.62001 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_O16_to_Si28_modified(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // O16 + C12 --> Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88r + ln_set_rate = -132.213 + -1.46479 * tfactors.T9i + -293.089 * tfactors.T913i + 414.404 * tfactors.T913 + + -28.0562 * tfactors.T9 + 1.61807 * tfactors.T953 + -178.28 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.46479 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -293.089 * tfactors.T943i + (1.0/3.0) * 414.404 * tfactors.T923i + + -28.0562 + (5.0/3.0) * 1.61807 * tfactors.T923 + -178.28 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Fe54_to_Co55(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe54 + p_nse --> Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.2304 + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Fe54_to_Ni58(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe54 + He4 --> Ni58 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 60.2478 + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Fe56_to_Co57(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe56 + p_nse --> Co57 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.0665 + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Co55_to_Co56(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co55 + n --> Co56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 17.065 + -1.86357 * tfactors.T913 + + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * -1.86357 * tfactors.T923i + + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Co56_to_Co57(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co56 + n --> Co57 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 17.3552 + -1.37855 * tfactors.T913 + + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * -1.37855 * tfactors.T923i + + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Co57_to_Ni58(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co57 + p_nse --> Ni58 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.0159 + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Mn51_to_p_nse_Fe54(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Mn51 + He4 --> p_nse + Fe54 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 62.2777 + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Co55_to_p_nse_Ni58(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co55 + He4 --> p_nse + Ni58 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 60.2281 + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Co56_to_p_nse_Fe56(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co56 + n --> p_nse + Fe56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 20.4539 + -1.13331 * tfactors.T913 + + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * -1.13331 * tfactors.T923i + + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Co57_to_He4_Fe54(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Co57 + p_nse --> He4 + Fe54 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = -2.1962 + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Ni56_to_p_nse_Co56(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ni56 + n --> p_nse + Co56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 15.5693 + 1.76846 * tfactors.T913 + + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * 1.76846 * tfactors.T923i + + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_S32_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // S32 + He4 --> Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 48.901 + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Cl35_to_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cl35 + p --> Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = -9.03294 + -2.00996 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 2.00996 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -42.5249 + -0.564651 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.564651 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 35.6868 + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -7.84699 + -3.65092 * tfactors.T9i + 18.0179 * tfactors.T913 + + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.65092 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Cl35_to_He4_S32_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Cl35 + p --> He4 + S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10r + ln_set_rate = 2.29121 + -6.00976 * tfactors.T9i + 5.33756 * tfactors.T913 + + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.00976 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -1.01202 + -3.93495 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 3.93495 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10r + ln_set_rate = -57.5294 + -0.532931 * tfactors.T9i + 25.5338 * tfactors.T913 + + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.532931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10n + ln_set_rate = 32.12 + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ar36_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ar36 + He4 --> Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 52.3486 + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_K39_to_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // K39 + p --> Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // lo18r + ln_set_rate = 2761.38 + -5.22234 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + + 1136.19 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.22234 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + + 1136.19 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 588.099 + -12.5647 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + + 564.926 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 12.5647 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + + 564.926 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 102.252 + -1.66508 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 59.2367 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 1.66508 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 59.2367 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_K39_to_He4_Ar36_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // K39 + p --> He4 + Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 20.5166 + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ca40_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ca40 + He4 --> Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0 + ln_set_rate = 53.75 + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Sc43_to_Ti44_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Sc43 + p --> Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 36.8432 + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Sc43_to_He4_Ca40_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Sc43 + p --> He4 + Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 34.8559 + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ti44_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ti44 + He4 --> Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 64.7958 + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ti44_to_p_V47_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ti44 + He4 --> p + V47 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0r + ln_set_rate = -76.5154 + -10.7931 * tfactors.T9i + 70.2835 * tfactors.T913 + + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 10.7931 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_V47_to_Cr48_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // V47 + p --> Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nfisn + ln_set_rate = 42.6798 + -6.0593 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -7.70886 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.0593 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -7.70886 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 511.463 + -5.29491 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 330.727 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 5.29491 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 330.727 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 23.8315 + 0.246665 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -8.42325 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.246665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -8.42325 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 40.5626 + -0.514414 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -49.4742 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.514414 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -49.4742 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Fe52_to_Fe53_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe52 + n --> Fe53 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 15.8885 + -0.344319 * tfactors.T913 + + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * -0.344319 * tfactors.T923i + + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Fe53_to_Fe54_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe53 + n --> Fe54 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 16.4534 + -1.10421 * tfactors.T913 + + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * -1.10421 * tfactors.T923i + + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Fe54_to_Fe55_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe54 + n --> Fe55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ks03 + ln_set_rate = -0.80864 + 0.0591716 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -9.78317 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = -0.0591716 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -9.78317 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Fe55_to_Fe56_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Fe55 + n --> Fe56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ks03 + ln_set_rate = 21.7202 + -0.0955677 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 6.47093 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 0.0955677 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 6.47093 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Ni56_to_Ni57_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ni56 + n --> Ni57 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 16.0765 + -1.19665 * tfactors.T913 + + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * -1.19665 * tfactors.T923i + + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_n_Ni57_to_Ni58_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT) { + + // Ni57 + n --> Ni58 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 17.2731 + -1.90814 * tfactors.T913 + + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = + (1.0/3.0) * -1.90814 * tfactors.T923i + + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_N13_to_p_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // N13 --> p + C12 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ls09c + ln_set_rate = 40.04074558314484 + -22.547578710551672 * tfactors.T9i + -13.692 * tfactors.T913i + -0.230881 * tfactors.T913 + + 4.44362 * tfactors.T9 + -3.15898 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.547578710551672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.692 * tfactors.T943i + (1.0/3.0) * -0.230881 * tfactors.T923i + + 4.44362 + (5.0/3.0) * -3.15898 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // ls09c + ln_set_rate = 40.43534558314484 + -26.326068710551674 * tfactors.T9i + -5.10735 * tfactors.T913i + -2.24111 * tfactors.T913 + + 0.148883 * tfactors.T9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 26.326068710551674 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.10735 * tfactors.T943i + (1.0/3.0) * -2.24111 * tfactors.T923i + + 0.148883; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real C12_pf, dC12_pf_dT; + // setting C12 partition function to 1.0 by default, independent of T + C12_pf = 1.0_rt; + dC12_pf_dT = 0.0_rt; + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real N13_pf, dN13_pf_dT; + // setting N13 partition function to 1.0 by default, independent of T + N13_pf = 1.0_rt; + dN13_pf_dT = 0.0_rt; + + amrex::Real z_r = p_pf * C12_pf; + amrex::Real z_p = N13_pf; + + amrex::Real dz_r_dT = C12_pf * dp_pf_dT + p_pf * dC12_pf_dT; + amrex::Real dz_p_dT = dN13_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_O16_to_He4_C12_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // O16 --> He4 + C12 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nac2 + ln_set_rate = 279.2945280776573 + -84.95160042649215 * tfactors.T9i + 103.411 * tfactors.T913i + -420.567 * tfactors.T913 + + 64.0874 * tfactors.T9 + -12.4624 * tfactors.T953 + 138.803 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.95160042649215 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 103.411 * tfactors.T943i + (1.0/3.0) * -420.567 * tfactors.T923i + + 64.0874 + (5.0/3.0) * -12.4624 * tfactors.T923 + 138.803 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nac2 + ln_set_rate = 94.31312807765731 + -84.50317042649215 * tfactors.T9i + 58.9128 * tfactors.T913i + -148.273 * tfactors.T913 + + 9.08324 * tfactors.T9 + -0.541041 * tfactors.T953 + 71.8554 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.50317042649215 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 58.9128 * tfactors.T943i + (1.0/3.0) * -148.273 * tfactors.T923i + + 9.08324 + (5.0/3.0) * -0.541041 * tfactors.T923 + 71.8554 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real C12_pf, dC12_pf_dT; + // setting C12 partition function to 1.0 by default, independent of T + C12_pf = 1.0_rt; + dC12_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real O16_pf, dO16_pf_dT; + // interpolating O16 partition function + get_partition_function_cached(O16, tfactors, pf_cache, O16_pf, dO16_pf_dT); + + amrex::Real z_r = He4_pf * C12_pf; + amrex::Real z_p = O16_pf; + + amrex::Real dz_r_dT = C12_pf * dHe4_pf_dT + He4_pf * dC12_pf_dT; + amrex::Real dz_p_dT = dO16_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_F18_to_He4_N14_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // F18 --> He4 + N14 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = 46.248979543913606 + -51.22930570025806 * tfactors.T9i + -36.2504 * tfactors.T913i + + -5.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 51.22930570025806 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.2504 * tfactors.T943i + + (5.0/3.0) * -5.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 38.61457954391361 + -62.19490570025806 * tfactors.T9i + -5.6227 * tfactors.T913i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 62.19490570025806 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -5.6227 * tfactors.T943i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 24.91191754391361 + -56.38964570025806 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 56.38964570025806 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real F18_pf, dF18_pf_dT; + // interpolating F18 partition function + get_partition_function_cached(F18, tfactors, pf_cache, F18_pf, dF18_pf_dT); + + amrex::Real N14_pf, dN14_pf_dT; + // setting N14 partition function to 1.0 by default, independent of T + N14_pf = 1.0_rt; + dN14_pf_dT = 0.0_rt; + + amrex::Real z_r = He4_pf * N14_pf; + amrex::Real z_p = F18_pf; + + amrex::Real dz_r_dT = N14_pf * dHe4_pf_dT + He4_pf * dN14_pf_dT; + amrex::Real dz_p_dT = dF18_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ne20_to_He4_O16_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ne20 --> He4 + O16 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // co10c + ln_set_rate = 34.26581585936365 + -67.65193003813836 * tfactors.T9i + -3.65925 * tfactors.T913 + + 0.714224 * tfactors.T9 + -0.00107508 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 67.65193003813836 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -3.65925 * tfactors.T923i + + 0.714224 + (5.0/3.0) * -0.00107508 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10c + ln_set_rate = 28.64304585936365 + -65.24613003813835 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 65.24613003813835 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // co10c + ln_set_rate = 48.66033585936365 + -54.887630038138354 * tfactors.T9i + -39.7262 * tfactors.T913i + -0.210799 * tfactors.T913 + + 0.442879 * tfactors.T9 + -0.0797753 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 54.887630038138354 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -39.7262 * tfactors.T943i + (1.0/3.0) * -0.210799 * tfactors.T923i + + 0.442879 + (5.0/3.0) * -0.0797753 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real O16_pf, dO16_pf_dT; + // interpolating O16 partition function + get_partition_function_cached(O16, tfactors, pf_cache, O16_pf, dO16_pf_dT); + + amrex::Real Ne20_pf, dNe20_pf_dT; + // interpolating Ne20 partition function + get_partition_function_cached(Ne20, tfactors, pf_cache, Ne20_pf, dNe20_pf_dT); + + amrex::Real z_r = He4_pf * O16_pf; + amrex::Real z_p = Ne20_pf; + + amrex::Real dz_r_dT = O16_pf * dHe4_pf_dT + He4_pf * dO16_pf_dT; + amrex::Real dz_p_dT = dNe20_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Na22_to_p_Ne21_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Na22 --> p + Ne21 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = -24.579038986172677 + -78.40599033331655 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 78.40599033331655 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 42.145961013827325 + -78.20981033331655 * tfactors.T9i + -19.2096 * tfactors.T913i + + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 78.20981033331655 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -19.2096 * tfactors.T943i + + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = -16.409838986172673 + -82.42366033331655 * tfactors.T9i + 21.1176 * tfactors.T913i + 34.0411 * tfactors.T913 + + -4.45593 * tfactors.T9 + 0.328613 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 82.42366033331655 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.1176 * tfactors.T943i + (1.0/3.0) * 34.0411 * tfactors.T923i + + -4.45593 + (5.0/3.0) * 0.328613 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 24.833401013827324 + -79.60938033331655 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 79.60938033331655 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Ne21_pf, dNe21_pf_dT; + // interpolating Ne21 partition function + get_partition_function_cached(Ne21, tfactors, pf_cache, Ne21_pf, dNe21_pf_dT); + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Na22_pf, dNa22_pf_dT; + // interpolating Na22 partition function + get_partition_function_cached(Na22, tfactors, pf_cache, Na22_pf, dNa22_pf_dT); + + amrex::Real z_r = p_pf * Ne21_pf; + amrex::Real z_p = Na22_pf; + + amrex::Real dz_r_dT = Ne21_pf * dp_pf_dT + p_pf * dNe21_pf_dT; + amrex::Real dz_p_dT = dNa22_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Na22_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Na22 --> He4 + F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 59.32234728275454 + -100.23588367240258 * tfactors.T9i + 18.8956 * tfactors.T913i + -65.6134 * tfactors.T913 + + 1.71114 * tfactors.T9 + -0.0260999 * tfactors.T953 + 39.3396 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.23588367240258 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 18.8956 * tfactors.T943i + (1.0/3.0) * -65.6134 * tfactors.T923i + + 1.71114 + (5.0/3.0) * -0.0260999 * tfactors.T923 + 39.3396 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real F18_pf, dF18_pf_dT; + // interpolating F18 partition function + get_partition_function_cached(F18, tfactors, pf_cache, F18_pf, dF18_pf_dT); + + amrex::Real Na22_pf, dNa22_pf_dT; + // interpolating Na22 partition function + get_partition_function_cached(Na22, tfactors, pf_cache, Na22_pf, dNa22_pf_dT); + + amrex::Real z_r = He4_pf * F18_pf; + amrex::Real z_p = Na22_pf; + + amrex::Real dz_r_dT = F18_pf * dHe4_pf_dT + He4_pf * dF18_pf_dT; + amrex::Real dz_p_dT = dNa22_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Mg24_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Mg24 --> p + Na23 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = 43.93571176470678 + -135.6881490421346 * tfactors.T9i + -20.6428 * tfactors.T913i + 1.52954 * tfactors.T913 + + 2.7487 * tfactors.T9 + -1.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 135.6881490421346 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.6428 * tfactors.T943i + (1.0/3.0) * 1.52954 * tfactors.T923i + + 2.7487 + (5.0/3.0) * -1.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 34.08761176470678 + -138.9684390421346 * tfactors.T9i + -0.360588 * tfactors.T913 + + 1.4187 * tfactors.T9 + -0.184061 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 138.9684390421346 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.360588 * tfactors.T923i + + 1.4187 + (5.0/3.0) * -0.184061 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 20.002361764706784 + -137.3003390421346 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 137.3003390421346 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Na23_pf, dNa23_pf_dT; + // interpolating Na23 partition function + get_partition_function_cached(Na23, tfactors, pf_cache, Na23_pf, dNa23_pf_dT); + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Mg24_pf, dMg24_pf_dT; + // interpolating Mg24 partition function + get_partition_function_cached(Mg24, tfactors, pf_cache, Mg24_pf, dMg24_pf_dT); + + amrex::Real z_r = p_pf * Na23_pf; + amrex::Real z_p = Mg24_pf; + + amrex::Real dz_r_dT = Na23_pf * dp_pf_dT + p_pf * dNa23_pf_dT; + amrex::Real dz_p_dT = dMg24_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Mg24_to_He4_Ne20_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Mg24 --> He4 + Ne20 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = -13.886931148855957 + -110.62012330714883 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 110.62012330714883 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 49.324368851144044 + -108.11407330714883 * tfactors.T9i + -46.2525 * tfactors.T913i + 5.58901 * tfactors.T913 + + 7.61843 * tfactors.T9 + -3.683 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 108.11407330714883 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -46.2525 * tfactors.T943i + (1.0/3.0) * 5.58901 * tfactors.T923i + + 7.61843 + (5.0/3.0) * -3.683 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 16.02029885114404 + -120.89497330714883 * tfactors.T9i + 16.9229 * tfactors.T913 + + -2.57325 * tfactors.T9 + 0.208997 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 120.89497330714883 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 16.9229 * tfactors.T923i + + -2.57325 + (5.0/3.0) * 0.208997 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 26.801638851144045 + -117.33433330714882 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 117.33433330714882 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Mg24_pf, dMg24_pf_dT; + // interpolating Mg24 partition function + get_partition_function_cached(Mg24, tfactors, pf_cache, Mg24_pf, dMg24_pf_dT); + + amrex::Real Ne20_pf, dNe20_pf_dT; + // interpolating Ne20 partition function + get_partition_function_cached(Ne20, tfactors, pf_cache, Ne20_pf, dNe20_pf_dT); + + amrex::Real z_r = He4_pf * Ne20_pf; + amrex::Real z_p = Mg24_pf; + + amrex::Real dz_r_dT = Ne20_pf * dHe4_pf_dT + He4_pf * dNe20_pf_dT; + amrex::Real dz_p_dT = dMg24_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Si28_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Si28 --> p + Al27 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = 11.776564828186824 + -136.3434628922348 * tfactors.T9i + 23.8634 * tfactors.T913 + + -3.70135 * tfactors.T9 + 0.28964 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 136.3434628922348 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 23.8634 * tfactors.T923i + + -3.70135 + (5.0/3.0) * 0.28964 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 111.46636482818681 + -134.8268158922348 * tfactors.T9i + -26.8327 * tfactors.T913i + -116.137 * tfactors.T913 + + 0.00950567 * tfactors.T9 + 0.00999755 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 134.8268158922348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.8327 * tfactors.T943i + (1.0/3.0) * -116.137 * tfactors.T923i + + 0.00950567 + (5.0/3.0) * 0.00999755 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 46.54946482818683 + -134.4395028922348 * tfactors.T9i + -23.2205 * tfactors.T913i + + -2.0 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 134.4395028922348 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.2205 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Al27_pf, dAl27_pf_dT; + // interpolating Al27 partition function + get_partition_function_cached(Al27, tfactors, pf_cache, Al27_pf, dAl27_pf_dT); + + amrex::Real Si28_pf, dSi28_pf_dT; + // interpolating Si28 partition function + get_partition_function_cached(Si28, tfactors, pf_cache, Si28_pf, dSi28_pf_dT); + + amrex::Real z_r = p_pf * Al27_pf; + amrex::Real z_p = Si28_pf; + + amrex::Real dz_r_dT = Al27_pf * dp_pf_dT + p_pf * dAl27_pf_dT; + amrex::Real dz_p_dT = dSi28_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Si28_to_He4_Mg24_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Si28 --> He4 + Mg24 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // st08r + ln_set_rate = -25.688574833405916 + -128.69270892750794 * tfactors.T9i + 21.3721 * tfactors.T913i + 37.7649 * tfactors.T913 + + -4.10635 * tfactors.T9 + 0.249618 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 128.69270892750794 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.3721 * tfactors.T943i + (1.0/3.0) * 37.7649 * tfactors.T923i + + -4.10635 + (5.0/3.0) * 0.249618 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // st08r + ln_set_rate = 32.90059516659409 + -131.48850892750792 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 131.48850892750792 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Mg24_pf, dMg24_pf_dT; + // interpolating Mg24 partition function + get_partition_function_cached(Mg24, tfactors, pf_cache, Mg24_pf, dMg24_pf_dT); + + amrex::Real Si28_pf, dSi28_pf_dT; + // interpolating Si28 partition function + get_partition_function_cached(Si28, tfactors, pf_cache, Si28_pf, dSi28_pf_dT); + + amrex::Real z_r = He4_pf * Mg24_pf; + amrex::Real z_p = Si28_pf; + + amrex::Real dz_r_dT = Mg24_pf * dHe4_pf_dT + He4_pf * dMg24_pf_dT; + amrex::Real dz_p_dT = dSi28_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_S32_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // S32 --> p + P31 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = 25.172836958303158 + -106.63693563716609 * tfactors.T9i + 8.09341 * tfactors.T913 + + -0.615971 * tfactors.T9 + 0.031159 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 106.63693563716609 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 8.09341 * tfactors.T923i + + -0.615971 + (5.0/3.0) * 0.031159 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 21.682890958303158 + -105.11947563716609 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 105.11947563716609 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 43.610880958303156 + -102.85989563716609 * tfactors.T9i + -25.3278 * tfactors.T913i + 6.4931 * tfactors.T913 + + -9.27513 * tfactors.T9 + -0.610439 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 102.85989563716609 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -25.3278 * tfactors.T943i + (1.0/3.0) * 6.4931 * tfactors.T923i + + -9.27513 + (5.0/3.0) * -0.610439 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real S32_pf, dS32_pf_dT; + // interpolating S32 partition function + get_partition_function_cached(S32, tfactors, pf_cache, S32_pf, dS32_pf_dT); + + amrex::Real P31_pf, dP31_pf_dT; + // interpolating P31 partition function + get_partition_function_cached(P31, tfactors, pf_cache, P31_pf, dP31_pf_dT); + + amrex::Real z_r = p_pf * P31_pf; + amrex::Real z_p = S32_pf; + + amrex::Real dz_r_dT = P31_pf * dp_pf_dT + p_pf * dP31_pf_dT; + amrex::Real dz_p_dT = dS32_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_S32_to_He4_Si28_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // S32 --> He4 + Si28 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 72.81295409739818 + -80.62610309662641 * tfactors.T9i + -59.4896 * tfactors.T913i + 4.47205 * tfactors.T913 + + -4.78989 * tfactors.T9 + 0.557201 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 80.62610309662641 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -59.4896 * tfactors.T943i + (1.0/3.0) * 4.47205 * tfactors.T923i + + -4.78989 + (5.0/3.0) * 0.557201 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real S32_pf, dS32_pf_dT; + // interpolating S32 partition function + get_partition_function_cached(S32, tfactors, pf_cache, S32_pf, dS32_pf_dT); + + amrex::Real Si28_pf, dSi28_pf_dT; + // interpolating Si28 partition function + get_partition_function_cached(Si28, tfactors, pf_cache, Si28_pf, dSi28_pf_dT); + + amrex::Real z_r = He4_pf * Si28_pf; + amrex::Real z_p = S32_pf; + + amrex::Real dz_r_dT = Si28_pf * dHe4_pf_dT + He4_pf * dSi28_pf_dT; + amrex::Real dz_p_dT = dS32_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe52_to_p_nse_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe52 --> p_nse + Mn51 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 61.72798916565748 + -85.6326403498911 * tfactors.T9i + -36.1825 * tfactors.T913i + 0.873042 * tfactors.T913 + + -2.89731 * tfactors.T9 + 0.364394 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 85.6326403498911 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -36.1825 * tfactors.T943i + (1.0/3.0) * 0.873042 * tfactors.T923i + + -2.89731 + (5.0/3.0) * 0.364394 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Mn51_pf, dMn51_pf_dT; + // interpolating Mn51 partition function + get_partition_function_cached(Mn51, tfactors, pf_cache, Mn51_pf, dMn51_pf_dT); + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Fe52_pf, dFe52_pf_dT; + // interpolating Fe52 partition function + get_partition_function_cached(Fe52, tfactors, pf_cache, Fe52_pf, dFe52_pf_dT); + + amrex::Real z_r = p_nse_pf * Mn51_pf; + amrex::Real z_p = Fe52_pf; + + amrex::Real dz_r_dT = Mn51_pf * dp_nse_pf_dT + p_nse_pf * dMn51_pf_dT; + amrex::Real dz_p_dT = dFe52_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe52_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe52 --> He4 + Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 90.14738712482466 + -92.10912191363732 * tfactors.T9i + -86.7459 * tfactors.T913i + -9.79373 * tfactors.T913 + + -0.772169 * tfactors.T9 + 0.155883 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 92.10912191363732 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * -9.79373 * tfactors.T923i + + -0.772169 + (5.0/3.0) * 0.155883 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Cr48_pf, dCr48_pf_dT; + // interpolating Cr48 partition function + get_partition_function_cached(Cr48, tfactors, pf_cache, Cr48_pf, dCr48_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Fe52_pf, dFe52_pf_dT; + // interpolating Fe52 partition function + get_partition_function_cached(Fe52, tfactors, pf_cache, Fe52_pf, dFe52_pf_dT); + + amrex::Real z_r = He4_pf * Cr48_pf; + amrex::Real z_p = Fe52_pf; + + amrex::Real dz_r_dT = Cr48_pf * dHe4_pf_dT + He4_pf * dCr48_pf_dT; + amrex::Real dz_p_dT = dFe52_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Co55_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Co55 --> He4 + Mn51 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 90.61300778512097 + -95.28620688500884 * tfactors.T9i + -89.274 * tfactors.T913i + -10.4373 * tfactors.T913 + + 1.00492 * tfactors.T9 + -0.125548 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 95.28620688500884 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -10.4373 * tfactors.T923i + + 1.00492 + (5.0/3.0) * -0.125548 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Mn51_pf, dMn51_pf_dT; + // interpolating Mn51 partition function + get_partition_function_cached(Mn51, tfactors, pf_cache, Mn51_pf, dMn51_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Co55_pf, dCo55_pf_dT; + // interpolating Co55 partition function + get_partition_function_cached(Co55, tfactors, pf_cache, Co55_pf, dCo55_pf_dT); + + amrex::Real z_r = He4_pf * Mn51_pf; + amrex::Real z_p = Co55_pf; + + amrex::Real dz_r_dT = Mn51_pf * dHe4_pf_dT + He4_pf * dMn51_pf_dT; + amrex::Real dz_p_dT = dCo55_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni56_to_p_nse_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ni56 --> p_nse + Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 63.131770608640906 + -83.14741674893808 * tfactors.T9i + -38.1053 * tfactors.T913i + -0.210947 * tfactors.T913 + + -2.68377 * tfactors.T9 + 0.355814 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 83.14741674893808 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1053 * tfactors.T943i + (1.0/3.0) * -0.210947 * tfactors.T923i + + -2.68377 + (5.0/3.0) * 0.355814 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Ni56_pf, dNi56_pf_dT; + // interpolating Ni56 partition function + get_partition_function_cached(Ni56, tfactors, pf_cache, Ni56_pf, dNi56_pf_dT); + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Co55_pf, dCo55_pf_dT; + // interpolating Co55 partition function + get_partition_function_cached(Co55, tfactors, pf_cache, Co55_pf, dCo55_pf_dT); + + amrex::Real z_r = p_nse_pf * Co55_pf; + amrex::Real z_p = Ni56_pf; + + amrex::Real dz_r_dT = Co55_pf * dp_nse_pf_dT + p_nse_pf * dCo55_pf_dT; + amrex::Real dz_p_dT = dNi56_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni56_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ni56 --> He4 + Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 91.62258922810439 + -92.801099329237 * tfactors.T9i + -91.6819 * tfactors.T913i + -9.51885 * tfactors.T913 + + -0.533014 * tfactors.T9 + 0.0892607 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 92.801099329237 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -9.51885 * tfactors.T923i + + -0.533014 + (5.0/3.0) * 0.0892607 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Ni56_pf, dNi56_pf_dT; + // interpolating Ni56 partition function + get_partition_function_cached(Ni56, tfactors, pf_cache, Ni56_pf, dNi56_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Fe52_pf, dFe52_pf_dT; + // interpolating Fe52 partition function + get_partition_function_cached(Fe52, tfactors, pf_cache, Fe52_pf, dFe52_pf_dT); + + amrex::Real z_r = He4_pf * Fe52_pf; + amrex::Real z_p = Ni56_pf; + + amrex::Real dz_r_dT = Fe52_pf * dHe4_pf_dT + He4_pf * dFe52_pf_dT; + amrex::Real dz_p_dT = dNi56_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_C12_to_He4_He4_He4_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // C12 --> He4 + He4 + He4 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // fy05c + ln_set_rate = 22.39392447043974 + -88.54942933569913 * tfactors.T9i + -13.49 * tfactors.T913i + 21.4259 * tfactors.T913 + + -1.34769 * tfactors.T9 + 0.0879816 * tfactors.T953 + -10.1653 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 88.54942933569913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -13.49 * tfactors.T943i + (1.0/3.0) * 21.4259 * tfactors.T923i + + -1.34769 + (5.0/3.0) * 0.0879816 * tfactors.T923 + -10.1653 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05c + ln_set_rate = 34.95602447043974 + -85.44732933569914 * tfactors.T9i + -23.57 * tfactors.T913i + 20.4886 * tfactors.T913 + + -12.9882 * tfactors.T9 + -20.0 * tfactors.T953 + 0.8333300000000001 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 85.44732933569914 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -23.57 * tfactors.T943i + (1.0/3.0) * 20.4886 * tfactors.T923i + + -12.9882 + (5.0/3.0) * -20.0 * tfactors.T923 + 0.8333300000000001 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // fy05c + ln_set_rate = 45.77337247043974 + -84.42286933569913 * tfactors.T9i + -37.06 * tfactors.T913i + 29.3493 * tfactors.T913 + + -115.507 * tfactors.T9 + -10.0 * tfactors.T953 + 1.66667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 84.42286933569913 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.06 * tfactors.T943i + (1.0/3.0) * 29.3493 * tfactors.T923i + + -115.507 + (5.0/3.0) * -10.0 * tfactors.T923 + 1.66667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real C12_pf, dC12_pf_dT; + // setting C12 partition function to 1.0 by default, independent of T + C12_pf = 1.0_rt; + dC12_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real z_r = He4_pf * He4_pf * He4_pf; + amrex::Real z_p = C12_pf; + + amrex::Real dz_r_dT = dHe4_pf_dT + dHe4_pf_dT + dHe4_pf_dT; + amrex::Real dz_p_dT = dC12_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_O16_to_He4_N13_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // O16 + p --> He4 + N13 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // cf88n + ln_set_rate = 42.232382494512464 + -60.55237555926846 * tfactors.T9i + -35.829 * tfactors.T913i + -0.530275 * tfactors.T913 + + -0.982462 * tfactors.T9 + 0.0808059 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 60.55237555926846 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -35.829 * tfactors.T943i + (1.0/3.0) * -0.530275 * tfactors.T923i + + -0.982462 + (5.0/3.0) * 0.0808059 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real O16_pf, dO16_pf_dT; + // interpolating O16 partition function + get_partition_function_cached(O16, tfactors, pf_cache, O16_pf, dO16_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real N13_pf, dN13_pf_dT; + // setting N13 partition function to 1.0 by default, independent of T + N13_pf = 1.0_rt; + dN13_pf_dT = 0.0_rt; + + amrex::Real z_r = He4_pf * N13_pf; + amrex::Real z_p = p_pf * O16_pf; + + amrex::Real dz_r_dT = N13_pf * dHe4_pf_dT + He4_pf * dN13_pf_dT; + amrex::Real dz_p_dT = O16_pf * dp_pf_dT + p_pf * dO16_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ne20_to_p_Na23_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ne20 + He4 --> p + Na23 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = -6.377717086437262 + -29.88961364462334 * tfactors.T9i + 19.7297 * tfactors.T913 + + -2.20987 * tfactors.T9 + 0.153374 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 29.88961364462334 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 19.7297 * tfactors.T923i + + -2.20987 + (5.0/3.0) * 0.153374 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 0.227472413562738 + -29.434873644623337 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 29.434873644623337 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 19.18524291356274 + -27.573843644623338 * tfactors.T9i + -20.0024 * tfactors.T913i + 11.5988 * tfactors.T913 + + -1.37398 * tfactors.T9 + -1.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 27.573843644623338 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -20.0024 * tfactors.T943i + (1.0/3.0) * 11.5988 * tfactors.T923i + + -1.37398 + (5.0/3.0) * -1.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Na23_pf, dNa23_pf_dT; + // interpolating Na23 partition function + get_partition_function_cached(Na23, tfactors, pf_cache, Na23_pf, dNa23_pf_dT); + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Ne20_pf, dNe20_pf_dT; + // interpolating Ne20 partition function + get_partition_function_cached(Ne20, tfactors, pf_cache, Ne20_pf, dNe20_pf_dT); + + amrex::Real z_r = p_pf * Na23_pf; + amrex::Real z_p = He4_pf * Ne20_pf; + + amrex::Real dz_r_dT = Na23_pf * dp_pf_dT + p_pf * dNa23_pf_dT; + amrex::Real dz_p_dT = Ne20_pf * dHe4_pf_dT + He4_pf * dNe20_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_Ne21_to_He4_F18_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ne21 + p --> He4 + F18 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // rpsmr + ln_set_rate = 50.65368626892722 + -22.049056049959066 * tfactors.T9i + 21.4461 * tfactors.T913i + -73.252 * tfactors.T913 + + 2.42329 * tfactors.T9 + -0.077278 * tfactors.T953 + 40.7604 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.049056049959066 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 21.4461 * tfactors.T943i + (1.0/3.0) * -73.252 * tfactors.T923i + + 2.42329 + (5.0/3.0) * -0.077278 * tfactors.T923 + 40.7604 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Ne21_pf, dNe21_pf_dT; + // interpolating Ne21 partition function + get_partition_function_cached(Ne21, tfactors, pf_cache, Ne21_pf, dNe21_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real F18_pf, dF18_pf_dT; + // interpolating F18 partition function + get_partition_function_cached(F18, tfactors, pf_cache, F18_pf, dF18_pf_dT); + + amrex::Real z_r = He4_pf * F18_pf; + amrex::Real z_p = p_pf * Ne21_pf; + + amrex::Real dz_r_dT = F18_pf * dHe4_pf_dT + He4_pf * dF18_pf_dT; + amrex::Real dz_p_dT = Ne21_pf * dp_pf_dT + p_pf * dNe21_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Mg24_to_p_Al27_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Mg24 + He4 --> p + Al27 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = -6.445750338407262 + -22.82086933218981 * tfactors.T9i + 18.0416 * tfactors.T913 + + -1.54137 * tfactors.T9 + 0.0847506 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.82086933218981 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0416 * tfactors.T923i + + -1.54137 + (5.0/3.0) * 0.0847506 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = -26.286160338407264 + -19.54138133218981 * tfactors.T9i + 5.18642 * tfactors.T913i + -34.7936 * tfactors.T913 + + 168.225 * tfactors.T9 + -115.825 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 19.54138133218981 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 5.18642 * tfactors.T943i + (1.0/3.0) * -34.7936 * tfactors.T923i + + 168.225 + (5.0/3.0) * -115.825 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 30.039739661592737 + -18.578369332189812 * tfactors.T9i + -26.4162 * tfactors.T913i + + -2.0 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 18.578369332189812 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -26.4162 * tfactors.T943i + + (5.0/3.0) * -2.0 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Al27_pf, dAl27_pf_dT; + // interpolating Al27 partition function + get_partition_function_cached(Al27, tfactors, pf_cache, Al27_pf, dAl27_pf_dT); + + amrex::Real Mg24_pf, dMg24_pf_dT; + // interpolating Mg24 partition function + get_partition_function_cached(Mg24, tfactors, pf_cache, Mg24_pf, dMg24_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real z_r = p_pf * Al27_pf; + amrex::Real z_p = He4_pf * Mg24_pf; + + amrex::Real dz_r_dT = Al27_pf * dp_pf_dT + p_pf * dAl27_pf_dT; + amrex::Real dz_p_dT = Mg24_pf * dHe4_pf_dT + He4_pf * dMg24_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Si28_to_p_P31_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Si28 + He4 --> p + P31 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = -11.433473139095032 + -25.65965858572089 * tfactors.T9i + 21.521 * tfactors.T913 + + -1.90355 * tfactors.T9 + 0.092724 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 25.65965858572089 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 21.521 * tfactors.T923i + + -1.90355 + (5.0/3.0) * 0.092724 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = -13.459473139095032 + -24.11106858572089 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 24.11106858572089 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 60.342426860904965 + -22.23390858572089 * tfactors.T9i + -31.932 * tfactors.T913i + -77.0334 * tfactors.T913 + + -43.6847 * tfactors.T9 + -4.28955 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.23390858572089 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -31.932 * tfactors.T943i + (1.0/3.0) * -77.0334 * tfactors.T923i + + -43.6847 + (5.0/3.0) * -4.28955 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real P31_pf, dP31_pf_dT; + // interpolating P31 partition function + get_partition_function_cached(P31, tfactors, pf_cache, P31_pf, dP31_pf_dT); + + amrex::Real Si28_pf, dSi28_pf_dT; + // interpolating Si28 partition function + get_partition_function_cached(Si28, tfactors, pf_cache, Si28_pf, dSi28_pf_dT); + + amrex::Real z_r = p_pf * P31_pf; + amrex::Real z_p = He4_pf * Si28_pf; + + amrex::Real dz_r_dT = P31_pf * dp_pf_dT + p_pf * dP31_pf_dT; + amrex::Real dz_p_dT = Si28_pf * dHe4_pf_dT + He4_pf * dSi28_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Mn51_to_He4_Cr48_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Mn51 + p_nse --> He4 + Cr48 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 58.73119795916719 + -6.476551190854941 * tfactors.T9i + -86.7459 * tfactors.T913i + 1.05653 * tfactors.T913 + + -1.15757 * tfactors.T9 + 0.0877546 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.476551190854941 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -86.7459 * tfactors.T943i + (1.0/3.0) * 1.05653 * tfactors.T923i + + -1.15757 + (5.0/3.0) * 0.0877546 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Cr48_pf, dCr48_pf_dT; + // interpolating Cr48 partition function + get_partition_function_cached(Cr48, tfactors, pf_cache, Cr48_pf, dCr48_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Mn51_pf, dMn51_pf_dT; + // interpolating Mn51 partition function + get_partition_function_cached(Mn51, tfactors, pf_cache, Mn51_pf, dMn51_pf_dT); + + amrex::Real z_r = He4_pf * Cr48_pf; + amrex::Real z_p = p_nse_pf * Mn51_pf; + + amrex::Real dz_r_dT = Cr48_pf * dHe4_pf_dT + He4_pf * dCr48_pf_dT; + amrex::Real dz_p_dT = Mn51_pf * dp_nse_pf_dT + p_nse_pf * dMn51_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Co55_to_He4_Fe52_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Co55 + p_nse --> He4 + Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 61.443418619463486 + -9.65364776674457 * tfactors.T9i + -91.6819 * tfactors.T913i + -0.329235 * tfactors.T913 + + -0.780924 * tfactors.T9 + 0.0425179 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 9.65364776674457 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.6819 * tfactors.T943i + (1.0/3.0) * -0.329235 * tfactors.T923i + + -0.780924 + (5.0/3.0) * 0.0425179 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Co55_pf, dCo55_pf_dT; + // interpolating Co55 partition function + get_partition_function_cached(Co55, tfactors, pf_cache, Co55_pf, dCo55_pf_dT); + + amrex::Real Fe52_pf, dFe52_pf_dT; + // interpolating Fe52 partition function + get_partition_function_cached(Fe52, tfactors, pf_cache, Fe52_pf, dFe52_pf_dT); + + amrex::Real z_r = He4_pf * Fe52_pf; + amrex::Real z_p = p_nse_pf * Co55_pf; + + amrex::Real dz_r_dT = Fe52_pf * dHe4_pf_dT + He4_pf * dFe52_pf_dT; + amrex::Real dz_p_dT = Co55_pf * dp_nse_pf_dT + p_nse_pf * dCo55_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Co55_to_p_nse_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Co55 --> p_nse + Fe54 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 57.82919157553295 + -58.76609208478817 * tfactors.T9i + -37.1544 * tfactors.T913i + 0.950364 * tfactors.T913 + + -1.77529 * tfactors.T9 + 0.198562 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 58.76609208478817 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1544 * tfactors.T943i + (1.0/3.0) * 0.950364 * tfactors.T923i + + -1.77529 + (5.0/3.0) * 0.198562 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Co55_pf, dCo55_pf_dT; + // interpolating Co55 partition function + get_partition_function_cached(Co55, tfactors, pf_cache, Co55_pf, dCo55_pf_dT); + + amrex::Real Fe54_pf, dFe54_pf_dT; + // interpolating Fe54 partition function + get_partition_function_cached(Fe54, tfactors, pf_cache, Fe54_pf, dFe54_pf_dT); + + amrex::Real z_r = p_nse_pf * Fe54_pf; + amrex::Real z_p = Co55_pf; + + amrex::Real dz_r_dT = Fe54_pf * dp_nse_pf_dT + p_nse_pf * dFe54_pf_dT; + amrex::Real dz_p_dT = dCo55_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Co56_to_n_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Co56 --> n + Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 40.62594603130468 + -117.00951667337291 * tfactors.T9i + -1.86357 * tfactors.T913 + + 0.616591 * tfactors.T9 + -0.0839313 * tfactors.T953 + 1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 117.00951667337291 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.86357 * tfactors.T923i + + 0.616591 + (5.0/3.0) * -0.0839313 * tfactors.T923 + 1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Co55_pf, dCo55_pf_dT; + // interpolating Co55 partition function + get_partition_function_cached(Co55, tfactors, pf_cache, Co55_pf, dCo55_pf_dT); + + amrex::Real Co56_pf, dCo56_pf_dT; + // interpolating Co56 partition function + get_partition_function_cached(Co56, tfactors, pf_cache, Co56_pf, dCo56_pf_dT); + + amrex::Real z_r = n_pf * Co55_pf; + amrex::Real z_p = Co56_pf; + + amrex::Real dz_r_dT = Co55_pf * dn_pf_dT + n_pf * dCo55_pf_dT; + amrex::Real dz_p_dT = dCo56_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Co57_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Co57 --> n + Co56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 41.15219049522237 + -132.01531905660212 * tfactors.T9i + -1.37855 * tfactors.T913 + + 0.299896 * tfactors.T9 + -0.04382 * tfactors.T953 + 1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 132.01531905660212 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.37855 * tfactors.T923i + + 0.299896 + (5.0/3.0) * -0.04382 * tfactors.T923 + 1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Co56_pf, dCo56_pf_dT; + // interpolating Co56 partition function + get_partition_function_cached(Co56, tfactors, pf_cache, Co56_pf, dCo56_pf_dT); + + amrex::Real Co57_pf, dCo57_pf_dT; + // interpolating Co57 partition function + get_partition_function_cached(Co57, tfactors, pf_cache, Co57_pf, dCo57_pf_dT); + + amrex::Real z_r = n_pf * Co56_pf; + amrex::Real z_p = Co57_pf; + + amrex::Real dz_r_dT = Co56_pf * dn_pf_dT + n_pf * dCo56_pf_dT; + amrex::Real dz_p_dT = dCo57_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Co57_to_p_nse_Fe56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Co57 --> p_nse + Fe56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 57.66626591788614 + -69.94994642462048 * tfactors.T9i + -37.1625 * tfactors.T913i + 1.06776 * tfactors.T913 + + -1.31689 * tfactors.T9 + 0.122089 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 69.94994642462048 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -37.1625 * tfactors.T943i + (1.0/3.0) * 1.06776 * tfactors.T923i + + -1.31689 + (5.0/3.0) * 0.122089 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Fe56_pf, dFe56_pf_dT; + // interpolating Fe56 partition function + get_partition_function_cached(Fe56, tfactors, pf_cache, Fe56_pf, dFe56_pf_dT); + + amrex::Real Co57_pf, dCo57_pf_dT; + // interpolating Co57 partition function + get_partition_function_cached(Co57, tfactors, pf_cache, Co57_pf, dCo57_pf_dT); + + amrex::Real z_r = p_nse_pf * Fe56_pf; + amrex::Real z_p = Co57_pf; + + amrex::Real dz_r_dT = Fe56_pf * dp_nse_pf_dT + p_nse_pf * dFe56_pf_dT; + amrex::Real dz_p_dT = dCo57_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni58_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ni58 --> p_nse + Co57 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 61.775010752827114 + -94.83746016924091 * tfactors.T9i + -38.1133 * tfactors.T913i + 1.77414 * tfactors.T913 + + -1.48268 * tfactors.T9 + 0.121073 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 94.83746016924091 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 1.77414 * tfactors.T923i + + -1.48268 + (5.0/3.0) * 0.121073 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Ni58_pf, dNi58_pf_dT; + // interpolating Ni58 partition function + get_partition_function_cached(Ni58, tfactors, pf_cache, Ni58_pf, dNi58_pf_dT); + + amrex::Real Co57_pf, dCo57_pf_dT; + // interpolating Co57 partition function + get_partition_function_cached(Co57, tfactors, pf_cache, Co57_pf, dCo57_pf_dT); + + amrex::Real z_r = p_nse_pf * Co57_pf; + amrex::Real z_p = Ni58_pf; + + amrex::Real dz_r_dT = Co57_pf * dp_nse_pf_dT + p_nse_pf * dCo57_pf_dT; + amrex::Real dz_p_dT = dNi58_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni58_to_He4_Fe54_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ni58 --> He4 + Fe54 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 85.23266274036175 + -74.27065665689001 * tfactors.T9i + -91.7628 * tfactors.T913i + 4.23027 * tfactors.T913 + + -3.31305 * tfactors.T9 + 0.271293 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 74.27065665689001 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -91.7628 * tfactors.T943i + (1.0/3.0) * 4.23027 * tfactors.T923i + + -3.31305 + (5.0/3.0) * 0.271293 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Ni58_pf, dNi58_pf_dT; + // interpolating Ni58 partition function + get_partition_function_cached(Ni58, tfactors, pf_cache, Ni58_pf, dNi58_pf_dT); + + amrex::Real Fe54_pf, dFe54_pf_dT; + // interpolating Fe54 partition function + get_partition_function_cached(Fe54, tfactors, pf_cache, Fe54_pf, dFe54_pf_dT); + + amrex::Real z_r = He4_pf * Fe54_pf; + amrex::Real z_p = Ni58_pf; + + amrex::Real dz_r_dT = Fe54_pf * dHe4_pf_dT + He4_pf * dFe54_pf_dT; + amrex::Real dz_p_dT = dNi58_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Fe54_to_He4_Mn51_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe54 + p_nse --> He4 + Mn51 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 65.37001620958803 + -36.52011480022066 * tfactors.T9i + -89.274 * tfactors.T913i + -0.862452 * tfactors.T913 + + -0.635672 * tfactors.T9 + 0.0196464 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 36.52011480022066 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -89.274 * tfactors.T943i + (1.0/3.0) * -0.862452 * tfactors.T923i + + -0.635672 + (5.0/3.0) * 0.0196464 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Mn51_pf, dMn51_pf_dT; + // interpolating Mn51 partition function + get_partition_function_cached(Mn51, tfactors, pf_cache, Mn51_pf, dMn51_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Fe54_pf, dFe54_pf_dT; + // interpolating Fe54 partition function + get_partition_function_cached(Fe54, tfactors, pf_cache, Fe54_pf, dFe54_pf_dT); + + amrex::Real z_r = He4_pf * Mn51_pf; + amrex::Real z_p = p_nse_pf * Fe54_pf; + + amrex::Real dz_r_dT = Mn51_pf * dHe4_pf_dT + He4_pf * dMn51_pf_dT; + amrex::Real dz_p_dT = Fe54_pf * dp_nse_pf_dT + p_nse_pf * dFe54_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Fe54_to_p_nse_Co57_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe54 + He4 --> p_nse + Co57 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = -1.4219519875346407 + -20.56680351235092 * tfactors.T9i + -38.1133 * tfactors.T913i + 29.3541 * tfactors.T913 + + -4.75966 * tfactors.T9 + 0.40418 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 20.56680351235092 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -38.1133 * tfactors.T943i + (1.0/3.0) * 29.3541 * tfactors.T923i + + -4.75966 + (5.0/3.0) * 0.40418 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Co57_pf, dCo57_pf_dT; + // interpolating Co57 partition function + get_partition_function_cached(Co57, tfactors, pf_cache, Co57_pf, dCo57_pf_dT); + + amrex::Real Fe54_pf, dFe54_pf_dT; + // interpolating Fe54 partition function + get_partition_function_cached(Fe54, tfactors, pf_cache, Fe54_pf, dFe54_pf_dT); + + amrex::Real z_r = p_nse_pf * Co57_pf; + amrex::Real z_p = He4_pf * Fe54_pf; + + amrex::Real dz_r_dT = Co57_pf * dp_nse_pf_dT + p_nse_pf * dCo57_pf_dT; + amrex::Real dz_p_dT = Fe54_pf * dHe4_pf_dT + He4_pf * dFe54_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Fe56_to_n_Co56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe56 + p_nse --> n + Co56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 22.65112457733622 + -62.065024496438 * tfactors.T9i + -1.13331 * tfactors.T913 + + 0.347185 * tfactors.T9 + -0.0328879 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 62.065024496438 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.13331 * tfactors.T923i + + 0.347185 + (5.0/3.0) * -0.0328879 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Fe56_pf, dFe56_pf_dT; + // interpolating Fe56 partition function + get_partition_function_cached(Fe56, tfactors, pf_cache, Fe56_pf, dFe56_pf_dT); + + amrex::Real Co56_pf, dCo56_pf_dT; + // interpolating Co56 partition function + get_partition_function_cached(Co56, tfactors, pf_cache, Co56_pf, dCo56_pf_dT); + + amrex::Real z_r = n_pf * Co56_pf; + amrex::Real z_p = p_nse_pf * Fe56_pf; + + amrex::Real dz_r_dT = Co56_pf * dn_pf_dT + n_pf * dCo56_pf_dT; + amrex::Real dz_p_dT = Fe56_pf * dp_nse_pf_dT + p_nse_pf * dFe56_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Co56_to_n_Ni56_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Co56 + p_nse --> n + Ni56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 13.37207542266378 + -33.86221596961605 * tfactors.T9i + 1.76846 * tfactors.T913 + + 0.197992 * tfactors.T9 + -0.017494 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 33.86221596961605 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 1.76846 * tfactors.T923i + + 0.197992 + (5.0/3.0) * -0.017494 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Ni56_pf, dNi56_pf_dT; + // interpolating Ni56 partition function + get_partition_function_cached(Ni56, tfactors, pf_cache, Ni56_pf, dNi56_pf_dT); + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real Co56_pf, dCo56_pf_dT; + // interpolating Co56 partition function + get_partition_function_cached(Co56, tfactors, pf_cache, Co56_pf, dCo56_pf_dT); + + amrex::Real z_r = n_pf * Ni56_pf; + amrex::Real z_p = p_nse_pf * Co56_pf; + + amrex::Real dz_r_dT = Ni56_pf * dn_pf_dT + n_pf * dNi56_pf_dT; + amrex::Real dz_p_dT = Co56_pf * dp_nse_pf_dT + p_nse_pf * dCo56_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_nse_Ni58_to_He4_Co55_derived(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ni58 + p_nse --> He4 + Co55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 63.614171164828804 + -15.504564572101842 * tfactors.T9i + -94.1404 * tfactors.T913i + 3.39179 * tfactors.T913 + + -1.71062 * tfactors.T9 + 0.133003 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 15.504564572101842 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -94.1404 * tfactors.T943i + (1.0/3.0) * 3.39179 * tfactors.T923i + + -1.71062 + (5.0/3.0) * 0.133003 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_nse_pf, dp_nse_pf_dT; + // setting p_nse partition function to 1.0 by default, independent of T + p_nse_pf = 1.0_rt; + dp_nse_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Co55_pf, dCo55_pf_dT; + // interpolating Co55 partition function + get_partition_function_cached(Co55, tfactors, pf_cache, Co55_pf, dCo55_pf_dT); + + amrex::Real Ni58_pf, dNi58_pf_dT; + // interpolating Ni58 partition function + get_partition_function_cached(Ni58, tfactors, pf_cache, Ni58_pf, dNi58_pf_dT); + + amrex::Real z_r = He4_pf * Co55_pf; + amrex::Real z_p = p_nse_pf * Ni58_pf; + + amrex::Real dz_r_dT = Co55_pf * dHe4_pf_dT + He4_pf * dCo55_pf_dT; + amrex::Real dz_p_dT = Ni58_pf * dp_nse_pf_dT + p_nse_pf * dNi58_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_S32_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // S32 + He4 --> p + Cl35 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = 2.425628238034531 + -27.66622776398283 * tfactors.T9i + 5.33756 * tfactors.T913 + + 1.64418 * tfactors.T9 + -0.246167 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 27.66622776398283 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 5.33756 * tfactors.T923i + + 1.64418 + (5.0/3.0) * -0.246167 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = -0.877601761965469 + -25.59141776398283 * tfactors.T9i + + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 25.59141776398283 * tfactors.T9i * tfactors.T9i + + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = -57.39498176196547 + -22.18939876398283 * tfactors.T9i + 25.5338 * tfactors.T913 + + 6.45824 * tfactors.T9 + -0.950294 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 22.18939876398283 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 25.5338 * tfactors.T923i + + 6.45824 + (5.0/3.0) * -0.950294 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 32.25441823803453 + -21.65646776398283 * tfactors.T9i + -30.9147 * tfactors.T913i + -1.2345 * tfactors.T913 + + 22.5118 * tfactors.T9 + -33.0589 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 21.65646776398283 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.9147 * tfactors.T943i + (1.0/3.0) * -1.2345 * tfactors.T923i + + 22.5118 + (5.0/3.0) * -33.0589 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Cl35_pf, dCl35_pf_dT; + // interpolating Cl35 partition function + get_partition_function_cached(Cl35, tfactors, pf_cache, Cl35_pf, dCl35_pf_dT); + + amrex::Real S32_pf, dS32_pf_dT; + // interpolating S32 partition function + get_partition_function_cached(S32, tfactors, pf_cache, S32_pf, dS32_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real z_r = p_pf * Cl35_pf; + amrex::Real z_p = He4_pf * S32_pf; + + amrex::Real dz_r_dT = Cl35_pf * dp_pf_dT + p_pf * dCl35_pf_dT; + amrex::Real dz_p_dT = S32_pf * dHe4_pf_dT + He4_pf * dS32_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_to_He4_S32_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ar36 --> He4 + S32 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 73.81637663285039 + -77.06281976216322 * tfactors.T9i + -65.3709 * tfactors.T913i + 5.68294 * tfactors.T913 + + -5.00388 * tfactors.T9 + 0.571407 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 77.06281976216322 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -65.3709 * tfactors.T943i + (1.0/3.0) * 5.68294 * tfactors.T923i + + -5.00388 + (5.0/3.0) * 0.571407 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real S32_pf, dS32_pf_dT; + // interpolating S32 partition function + get_partition_function_cached(S32, tfactors, pf_cache, S32_pf, dS32_pf_dT); + + amrex::Real Ar36_pf, dAr36_pf_dT; + // interpolating Ar36 partition function + get_partition_function_cached(Ar36, tfactors, pf_cache, Ar36_pf, dAr36_pf_dT); + + amrex::Real z_r = He4_pf * S32_pf; + amrex::Real z_p = Ar36_pf; + + amrex::Real dz_r_dT = S32_pf * dHe4_pf_dT + He4_pf * dS32_pf_dT; + amrex::Real dz_p_dT = dAr36_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_to_p_Cl35_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ar36 --> p + Cl35 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // il10c + ln_set_rate = 16.01685487088493 + -100.72924752614605 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.72924752614605 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = -17.47510512911507 + -99.28393852614604 * tfactors.T9i; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 99.28393852614604 * tfactors.T9i * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 60.73659487088493 + -98.71928752614605 * tfactors.T9i + -27.8971 * tfactors.T913i + -16.2304 * tfactors.T913 + + 35.255 * tfactors.T9 + -25.8411 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 98.71928752614605 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -27.8971 * tfactors.T943i + (1.0/3.0) * -16.2304 * tfactors.T923i + + 35.255 + (5.0/3.0) * -25.8411 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // il10c + ln_set_rate = 17.202804870884933 + -102.37020752614605 * tfactors.T9i + 18.0179 * tfactors.T913 + + -2.86304 * tfactors.T9 + 0.250854 * tfactors.T953; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 102.37020752614605 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 18.0179 * tfactors.T923i + + -2.86304 + (5.0/3.0) * 0.250854 * tfactors.T923; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Cl35_pf, dCl35_pf_dT; + // interpolating Cl35 partition function + get_partition_function_cached(Cl35, tfactors, pf_cache, Cl35_pf, dCl35_pf_dT); + + amrex::Real Ar36_pf, dAr36_pf_dT; + // interpolating Ar36 partition function + get_partition_function_cached(Ar36, tfactors, pf_cache, Ar36_pf, dAr36_pf_dT); + + amrex::Real z_r = p_pf * Cl35_pf; + amrex::Real z_p = Ar36_pf; + + amrex::Real dz_r_dT = Cl35_pf * dp_pf_dT + p_pf * dCl35_pf_dT; + amrex::Real dz_p_dT = dAr36_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ar36_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ar36 + He4 --> p + K39 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 20.636664061510302 + -14.953349961318928 * tfactors.T9i + -30.0732 * tfactors.T913i + 7.03263 * tfactors.T913 + + -1.10085 * tfactors.T9 + 0.133768 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 14.953349961318928 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -30.0732 * tfactors.T943i + (1.0/3.0) * 7.03263 * tfactors.T923i + + -1.10085 + (5.0/3.0) * 0.133768 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real K39_pf, dK39_pf_dT; + // interpolating K39 partition function + get_partition_function_cached(K39, tfactors, pf_cache, K39_pf, dK39_pf_dT); + + amrex::Real Ar36_pf, dAr36_pf_dT; + // interpolating Ar36 partition function + get_partition_function_cached(Ar36, tfactors, pf_cache, Ar36_pf, dAr36_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real z_r = p_pf * K39_pf; + amrex::Real z_p = He4_pf * Ar36_pf; + + amrex::Real dz_r_dT = K39_pf * dp_pf_dT + p_pf * dK39_pf_dT; + amrex::Real dz_p_dT = Ar36_pf * dHe4_pf_dT + He4_pf * dAr36_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_to_He4_Ar36_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ca40 --> He4 + Ar36 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 77.28261041284823 + -81.69174599574632 * tfactors.T9i + -71.0046 * tfactors.T913i + 4.0656 * tfactors.T913 + + -5.26509 * tfactors.T9 + 0.683546 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 81.69174599574632 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -71.0046 * tfactors.T943i + (1.0/3.0) * 4.0656 * tfactors.T923i + + -5.26509 + (5.0/3.0) * 0.683546 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Ca40_pf, dCa40_pf_dT; + // interpolating Ca40 partition function + get_partition_function_cached(Ca40, tfactors, pf_cache, Ca40_pf, dCa40_pf_dT); + + amrex::Real Ar36_pf, dAr36_pf_dT; + // interpolating Ar36 partition function + get_partition_function_cached(Ar36, tfactors, pf_cache, Ar36_pf, dAr36_pf_dT); + + amrex::Real z_r = He4_pf * Ar36_pf; + amrex::Real z_p = Ca40_pf; + + amrex::Real dz_r_dT = Ar36_pf * dHe4_pf_dT + He4_pf * dAr36_pf_dT; + amrex::Real dz_p_dT = dCa40_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_to_p_K39_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ca40 --> p + K39 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // lo18r + ln_set_rate = 2786.4340744743586 + -101.86662364079672 * tfactors.T9i + 802.18 * tfactors.T913i + -4010.27 * tfactors.T913 + + 1137.69 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 101.86662364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 802.18 * tfactors.T943i + (1.0/3.0) * -4010.27 * tfactors.T923i + + 1137.69 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 613.1530744743586 + -109.20898364079672 * tfactors.T9i + 641.844 * tfactors.T913i + -1248.49 * tfactors.T913 + + 566.426 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 109.20898364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 641.844 * tfactors.T943i + (1.0/3.0) * -1248.49 * tfactors.T923i + + 566.426 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // lo18r + ln_set_rate = 127.30607447435852 + -98.30936364079672 * tfactors.T9i + 41.1723 * tfactors.T913i + -149.299 * tfactors.T913 + + 10.5229 * tfactors.T9 + -0.68208 * tfactors.T953 + 60.7367 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 98.30936364079672 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 41.1723 * tfactors.T943i + (1.0/3.0) * -149.299 * tfactors.T923i + + 10.5229 + (5.0/3.0) * -0.68208 * tfactors.T923 + 60.7367 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Ca40_pf, dCa40_pf_dT; + // interpolating Ca40 partition function + get_partition_function_cached(Ca40, tfactors, pf_cache, Ca40_pf, dCa40_pf_dT); + + amrex::Real K39_pf, dK39_pf_dT; + // interpolating K39 partition function + get_partition_function_cached(K39, tfactors, pf_cache, K39_pf, dK39_pf_dT); + + amrex::Real z_r = p_pf * K39_pf; + amrex::Real z_p = Ca40_pf; + + amrex::Real dz_r_dT = K39_pf * dp_pf_dT + p_pf * dK39_pf_dT; + amrex::Real dz_p_dT = dCa40_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_He4_Ca40_to_p_Sc43_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ca40 + He4 --> p + Sc43 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 35.65752817292938 + -40.87575463203665 * tfactors.T9i + -32.1734 * tfactors.T913i + 0.0296879 * tfactors.T913 + + -0.95232 * tfactors.T9 + 0.129022 * tfactors.T953 + -0.666667 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 40.87575463203665 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * 0.0296879 * tfactors.T923i + + -0.95232 + (5.0/3.0) * 0.129022 * tfactors.T923 + -0.666667 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Ca40_pf, dCa40_pf_dT; + // interpolating Ca40 partition function + get_partition_function_cached(Ca40, tfactors, pf_cache, Ca40_pf, dCa40_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Sc43_pf, dSc43_pf_dT; + // interpolating Sc43 partition function + get_partition_function_cached(Sc43, tfactors, pf_cache, Sc43_pf, dSc43_pf_dT); + + amrex::Real z_r = p_pf * Sc43_pf; + amrex::Real z_p = He4_pf * Ca40_pf; + + amrex::Real dz_r_dT = Sc43_pf * dp_pf_dT + p_pf * dSc43_pf_dT; + amrex::Real dz_p_dT = Ca40_pf * dHe4_pf_dT + He4_pf * dCa40_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_to_He4_Ca40_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ti44 --> He4 + Ca40 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0 + ln_set_rate = 78.69908591662849 + -59.4975248620018 * tfactors.T9i + -76.4273 * tfactors.T913i + 3.87451 * tfactors.T913 + + -3.61477 * tfactors.T9 + 0.367451 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 59.4975248620018 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -76.4273 * tfactors.T943i + (1.0/3.0) * 3.87451 * tfactors.T923i + + -3.61477 + (5.0/3.0) * 0.367451 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Ca40_pf, dCa40_pf_dT; + // interpolating Ca40 partition function + get_partition_function_cached(Ca40, tfactors, pf_cache, Ca40_pf, dCa40_pf_dT); + + amrex::Real Ti44_pf, dTi44_pf_dT; + // interpolating Ti44 partition function + get_partition_function_cached(Ti44, tfactors, pf_cache, Ti44_pf, dTi44_pf_dT); + + amrex::Real z_r = He4_pf * Ca40_pf; + amrex::Real z_p = Ti44_pf; + + amrex::Real dz_r_dT = Ca40_pf * dHe4_pf_dT + He4_pf * dCa40_pf_dT; + amrex::Real dz_p_dT = dTi44_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_to_p_Sc43_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ti44 --> p + Sc43 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 62.59391408955788 + -100.37327949403844 * tfactors.T9i + -32.1734 * tfactors.T913i + -1.77078 * tfactors.T913 + + -2.21706 * tfactors.T9 + 0.298499 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.37327949403844 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -32.1734 * tfactors.T943i + (1.0/3.0) * -1.77078 * tfactors.T923i + + -2.21706 + (5.0/3.0) * 0.298499 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real Ti44_pf, dTi44_pf_dT; + // interpolating Ti44 partition function + get_partition_function_cached(Ti44, tfactors, pf_cache, Ti44_pf, dTi44_pf_dT); + + amrex::Real Sc43_pf, dSc43_pf_dT; + // interpolating Sc43 partition function + get_partition_function_cached(Sc43, tfactors, pf_cache, Sc43_pf, dSc43_pf_dT); + + amrex::Real z_r = p_pf * Sc43_pf; + amrex::Real z_p = Ti44_pf; + + amrex::Real dz_r_dT = Sc43_pf * dp_pf_dT + p_pf * dSc43_pf_dT; + amrex::Real dz_p_dT = dTi44_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Cr48_to_He4_Ti44_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Cr48 --> He4 + Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 89.75733412085052 + -89.3041938384302 * tfactors.T9i + -81.667 * tfactors.T913i + -10.6333 * tfactors.T913 + + -0.672613 * tfactors.T9 + 0.161209 * tfactors.T953 + 0.833333 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 89.3041938384302 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -81.667 * tfactors.T943i + (1.0/3.0) * -10.6333 * tfactors.T923i + + -0.672613 + (5.0/3.0) * 0.161209 * tfactors.T923 + 0.833333 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Cr48_pf, dCr48_pf_dT; + // interpolating Cr48 partition function + get_partition_function_cached(Cr48, tfactors, pf_cache, Cr48_pf, dCr48_pf_dT); + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real Ti44_pf, dTi44_pf_dT; + // interpolating Ti44 partition function + get_partition_function_cached(Ti44, tfactors, pf_cache, Ti44_pf, dTi44_pf_dT); + + amrex::Real z_r = He4_pf * Ti44_pf; + amrex::Real z_p = Cr48_pf; + + amrex::Real dz_r_dT = Ti44_pf * dHe4_pf_dT + He4_pf * dTi44_pf_dT; + amrex::Real dz_p_dT = dCr48_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Cr48_to_p_V47_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Cr48 --> p + V47 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // nfisn + ln_set_rate = 67.74027107253823 + -100.12633621113824 * tfactors.T9i + -34.0548 * tfactors.T913i + -3.41973 * tfactors.T913 + + 1.16501 * tfactors.T9 + -0.105543 * tfactors.T953 + -6.20886 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 100.12633621113824 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -34.0548 * tfactors.T943i + (1.0/3.0) * -3.41973 * tfactors.T923i + + 1.16501 + (5.0/3.0) * -0.105543 * tfactors.T923 + -6.20886 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 536.5234710725382 + -99.36194621113825 * tfactors.T9i + 317.171 * tfactors.T913i + -911.679 * tfactors.T913 + + 94.4245 * tfactors.T9 + -10.1973 * tfactors.T953 + 332.227 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 99.36194621113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 317.171 * tfactors.T943i + (1.0/3.0) * -911.679 * tfactors.T923i + + 94.4245 + (5.0/3.0) * -10.1973 * tfactors.T923 + 332.227 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 48.891971072538226 + -93.82037121113825 * tfactors.T9i + -45.9868 * tfactors.T913i + 13.6822 * tfactors.T913 + + -0.376902 * tfactors.T9 + -0.0194875 * tfactors.T953 + -6.9232499999999995 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 93.82037121113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -45.9868 * tfactors.T943i + (1.0/3.0) * 13.6822 * tfactors.T923i + + -0.376902 + (5.0/3.0) * -0.0194875 * tfactors.T923 + -6.9232499999999995 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + // nfisn + ln_set_rate = 65.62307107253824 + -94.58145021113825 * tfactors.T9i + -110.655 * tfactors.T913i + 83.0232 * tfactors.T913 + + -19.7762 * tfactors.T9 + 3.03961 * tfactors.T953 + -47.9742 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 94.58145021113825 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -110.655 * tfactors.T943i + (1.0/3.0) * 83.0232 * tfactors.T923i + + -19.7762 + (5.0/3.0) * 3.03961 * tfactors.T923 + -47.9742 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real Cr48_pf, dCr48_pf_dT; + // interpolating Cr48 partition function + get_partition_function_cached(Cr48, tfactors, pf_cache, Cr48_pf, dCr48_pf_dT); + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real V47_pf, dV47_pf_dT; + // interpolating V47 partition function + get_partition_function_cached(V47, tfactors, pf_cache, V47_pf, dV47_pf_dT); + + amrex::Real z_r = p_pf * V47_pf; + amrex::Real z_p = Cr48_pf; + + amrex::Real dz_r_dT = V47_pf * dp_pf_dT + p_pf * dV47_pf_dT; + amrex::Real dz_p_dT = dCr48_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_p_V47_to_He4_Ti44_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // V47 + p --> He4 + Ti44 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // chw0r + ln_set_rate = -76.61433695168769 + -6.029445311023438 * tfactors.T9i + 70.2835 * tfactors.T913 + + -7.99061 * tfactors.T9 + 0.486213 * tfactors.T953 + -1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 6.029445311023438 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * 70.2835 * tfactors.T923i + + -7.99061 + (5.0/3.0) * 0.486213 * tfactors.T923 + -1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real p_pf, dp_pf_dT; + // setting p partition function to 1.0 by default, independent of T + p_pf = 1.0_rt; + dp_pf_dT = 0.0_rt; + + amrex::Real He4_pf, dHe4_pf_dT; + // setting He4 partition function to 1.0 by default, independent of T + He4_pf = 1.0_rt; + dHe4_pf_dT = 0.0_rt; + + amrex::Real V47_pf, dV47_pf_dT; + // interpolating V47 partition function + get_partition_function_cached(V47, tfactors, pf_cache, V47_pf, dV47_pf_dT); + + amrex::Real Ti44_pf, dTi44_pf_dT; + // interpolating Ti44 partition function + get_partition_function_cached(Ti44, tfactors, pf_cache, Ti44_pf, dTi44_pf_dT); + + amrex::Real z_r = He4_pf * Ti44_pf; + amrex::Real z_p = p_pf * V47_pf; + + amrex::Real dz_r_dT = Ti44_pf * dHe4_pf_dT + He4_pf * dTi44_pf_dT; + amrex::Real dz_p_dT = V47_pf * dp_pf_dT + p_pf * dV47_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe54_to_n_Fe53_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe54 --> n + Fe53 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 42.210560167376684 + -155.25104569177333 * tfactors.T9i + -1.10421 * tfactors.T913 + + 0.379905 * tfactors.T9 + -0.0581878 * tfactors.T953 + 1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 155.25104569177333 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.10421 * tfactors.T923i + + 0.379905 + (5.0/3.0) * -0.0581878 * tfactors.T923 + 1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Fe53_pf, dFe53_pf_dT; + // interpolating Fe53 partition function + get_partition_function_cached(Fe53, tfactors, pf_cache, Fe53_pf, dFe53_pf_dT); + + amrex::Real Fe54_pf, dFe54_pf_dT; + // interpolating Fe54 partition function + get_partition_function_cached(Fe54, tfactors, pf_cache, Fe54_pf, dFe54_pf_dT); + + amrex::Real z_r = n_pf * Fe53_pf; + amrex::Real z_p = Fe54_pf; + + amrex::Real dz_r_dT = Fe53_pf * dn_pf_dT + n_pf * dFe53_pf_dT; + amrex::Real dz_p_dT = dFe54_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe53_to_n_Fe52_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe53 --> n + Fe52 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 37.48624299107921 + -123.99427613085159 * tfactors.T9i + -0.344319 * tfactors.T913 + + 0.178277 * tfactors.T9 + -0.0334326 * tfactors.T953 + 1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 123.99427613085159 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -0.344319 * tfactors.T923i + + 0.178277 + (5.0/3.0) * -0.0334326 * tfactors.T923 + 1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Fe52_pf, dFe52_pf_dT; + // interpolating Fe52 partition function + get_partition_function_cached(Fe52, tfactors, pf_cache, Fe52_pf, dFe52_pf_dT); + + amrex::Real Fe53_pf, dFe53_pf_dT; + // interpolating Fe53 partition function + get_partition_function_cached(Fe53, tfactors, pf_cache, Fe53_pf, dFe53_pf_dT); + + amrex::Real z_r = n_pf * Fe52_pf; + amrex::Real z_p = Fe53_pf; + + amrex::Real dz_r_dT = Fe52_pf * dn_pf_dT + n_pf * dFe52_pf_dT; + amrex::Real dz_p_dT = dFe53_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe56_to_n_Fe55_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe56 --> n + Fe55 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ks03 + ln_set_rate = 46.785223428080954 + -130.0232339465001 * tfactors.T9i + 8.06062 * tfactors.T913i + -14.4809 * tfactors.T913 + + 0.94252 * tfactors.T9 + -0.0776007 * tfactors.T953 + 7.97093 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 130.0232339465001 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * 8.06062 * tfactors.T943i + (1.0/3.0) * -14.4809 * tfactors.T923i + + 0.94252 + (5.0/3.0) * -0.0776007 * tfactors.T923 + 7.97093 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Fe56_pf, dFe56_pf_dT; + // interpolating Fe56 partition function + get_partition_function_cached(Fe56, tfactors, pf_cache, Fe56_pf, dFe56_pf_dT); + + amrex::Real Fe55_pf, dFe55_pf_dT; + // interpolating Fe55 partition function + get_partition_function_cached(Fe55, tfactors, pf_cache, Fe55_pf, dFe55_pf_dT); + + amrex::Real z_r = n_pf * Fe55_pf; + amrex::Real z_p = Fe56_pf; + + amrex::Real dz_r_dT = Fe55_pf * dn_pf_dT + n_pf * dFe55_pf_dT; + amrex::Real dz_p_dT = dFe56_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe55_to_n_Fe54_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Fe55 --> n + Fe54 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ks03 + ln_set_rate = 21.483298756092896 + -107.84311925142697 * tfactors.T9i + -8.66617 * tfactors.T913i + 26.4472 * tfactors.T913 + + -1.9222 * tfactors.T9 + 0.0986404 * tfactors.T953 + -8.28317 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 107.84311925142697 * tfactors.T9i * tfactors.T9i + -(1.0/3.0) * -8.66617 * tfactors.T943i + (1.0/3.0) * 26.4472 * tfactors.T923i + + -1.9222 + (5.0/3.0) * 0.0986404 * tfactors.T923 + -8.28317 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Fe55_pf, dFe55_pf_dT; + // interpolating Fe55 partition function + get_partition_function_cached(Fe55, tfactors, pf_cache, Fe55_pf, dFe55_pf_dT); + + amrex::Real Fe54_pf, dFe54_pf_dT; + // interpolating Fe54 partition function + get_partition_function_cached(Fe54, tfactors, pf_cache, Fe54_pf, dFe54_pf_dT); + + amrex::Real z_r = n_pf * Fe54_pf; + amrex::Real z_p = Fe55_pf; + + amrex::Real dz_r_dT = Fe54_pf * dn_pf_dT + n_pf * dFe54_pf_dT; + amrex::Real dz_p_dT = dFe55_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni58_to_n_Ni57_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ni58 --> n + Ni57 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 42.339063572267165 + -141.77239789336582 * tfactors.T9i + -1.90814 * tfactors.T913 + + 0.493188 * tfactors.T9 + -0.0684633 * tfactors.T953 + 1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 141.77239789336582 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.90814 * tfactors.T923i + + 0.493188 + (5.0/3.0) * -0.0684633 * tfactors.T923 + 1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Ni57_pf, dNi57_pf_dT; + // interpolating Ni57 partition function + get_partition_function_cached(Ni57, tfactors, pf_cache, Ni57_pf, dNi57_pf_dT); + + amrex::Real Ni58_pf, dNi58_pf_dT; + // interpolating Ni58 partition function + get_partition_function_cached(Ni58, tfactors, pf_cache, Ni58_pf, dNi58_pf_dT); + + amrex::Real z_r = n_pf * Ni57_pf; + amrex::Real z_p = Ni58_pf; + + amrex::Real dz_r_dT = Ni57_pf * dn_pf_dT + n_pf * dNi57_pf_dT; + amrex::Real dz_p_dT = dNi58_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni57_to_n_Ni56_derived_removed(const tf_t& tfactors, amrex::Real& rate, amrex::Real& drate_dT, [[maybe_unused]] part_fun::pf_cache_t& pf_cache) { + + // Ni57 --> n + Ni56 + + rate = 0.0; + drate_dT = 0.0; + + amrex::Real ln_set_rate{0.0}; + amrex::Real dln_set_rate_dT9{0.0}; + amrex::Real set_rate{0.0}; + + // ths8r + ln_set_rate = 38.36941309844609 + -118.94166894064354 * tfactors.T9i + -1.19665 * tfactors.T913 + + 0.507179 * tfactors.T9 + -0.074604 * tfactors.T953 + 1.5 * tfactors.lnT9; + + if constexpr (do_T_derivatives) { + dln_set_rate_dT9 = 118.94166894064354 * tfactors.T9i * tfactors.T9i + (1.0/3.0) * -1.19665 * tfactors.T923i + + 0.507179 + (5.0/3.0) * -0.074604 * tfactors.T923 + 1.5 * tfactors.T9i; + } + + // avoid underflows by zeroing rates in [0.0, 1.e-100] + ln_set_rate = std::max(ln_set_rate, -230.0); + set_rate = std::exp(ln_set_rate); + rate += set_rate; + if constexpr (do_T_derivatives) { + drate_dT += set_rate * dln_set_rate_dT9 / 1.0e9; + } + + + amrex::Real n_pf, dn_pf_dT; + // setting n partition function to 1.0 by default, independent of T + n_pf = 1.0_rt; + dn_pf_dT = 0.0_rt; + + amrex::Real Ni56_pf, dNi56_pf_dT; + // interpolating Ni56 partition function + get_partition_function_cached(Ni56, tfactors, pf_cache, Ni56_pf, dNi56_pf_dT); + + amrex::Real Ni57_pf, dNi57_pf_dT; + // interpolating Ni57 partition function + get_partition_function_cached(Ni57, tfactors, pf_cache, Ni57_pf, dNi57_pf_dT); + + amrex::Real z_r = n_pf * Ni56_pf; + amrex::Real z_p = Ni57_pf; + + amrex::Real dz_r_dT = Ni56_pf * dn_pf_dT + n_pf * dNi56_pf_dT; + amrex::Real dz_p_dT = dNi57_pf_dT; + + amrex::Real dzterm_dT = (z_p * dz_r_dT - z_r * dz_p_dT) / (z_p * z_p); + + drate_dT = dzterm_dT * rate + drate_dT * (z_r / z_p); + rate *= z_r/z_p; + +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_S32_He4_to_Ar36_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_S32_to_Ar36_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_S32_to_p_Cl35_derived_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_derived_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_to_S32_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Ar36_to_He4_S32_derived_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Ar36_to_p_Cl35_derived_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_derived_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_derived_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ar36_He4_to_Ca40_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Ar36_to_p_K39_derived_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_derived_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_to_Ar36_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Ca40_to_He4_Ar36_derived_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Ca40_to_p_K39_derived_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_K39_to_Ca40_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_derived_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_derived_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ca40_He4_to_Ti44_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_derived_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_derived_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_to_Ca40_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Ti44_to_He4_Ca40_derived_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Ti44_to_p_Sc43_derived_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_derived_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_derived_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ti44_He4_to_Cr48_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ag = rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed); + amrex::Real r_ap = rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_derived_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ag + r_ap * r_pg * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ag = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed); + amrex::Real drdT_ap = rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_derived_removed); + drate_dT = drdT_ag + drdT_ap * r_pg * dd + r_ap * drdT_pg * dd - r_ap * r_pg * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Cr48_to_Ti44_He4_approx(const T& rate_eval, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real r_ga = rate_eval.screened_rates(k_Cr48_to_He4_Ti44_derived_removed); + amrex::Real r_pa = rate_eval.screened_rates(k_p_V47_to_He4_Ti44_derived_removed); + amrex::Real r_gp = rate_eval.screened_rates(k_Cr48_to_p_V47_derived_removed); + amrex::Real r_pg = rate_eval.screened_rates(k_p_V47_to_Cr48_removed); + amrex::Real dd = 1.0_rt / (r_pg + r_pa); + rate = r_ga + r_gp * r_pa * dd; + if constexpr (std::is_same_v) { + amrex::Real drdT_ga = rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_derived_removed); + amrex::Real drdT_pa = rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_derived_removed); + amrex::Real drdT_gp = rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_derived_removed); + amrex::Real drdT_pg = rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed); + drate_dT = drdT_ga + drdT_gp * r_pa * dd + r_gp * drdT_pa * dd - r_gp * r_pa * dd * dd * (drdT_pg + drdT_pa); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe52_n_n_to_Fe54_approx(const T& rate_eval, const amrex::Real rho, const amrex::Array1D& Y, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real Yn = Y(N); + amrex::Real r1_ng = rate_eval.screened_rates(k_n_Fe52_to_Fe53_removed); + amrex::Real r2_ng = rate_eval.screened_rates(k_n_Fe53_to_Fe54_removed); + amrex::Real r1_gn = rate_eval.screened_rates(k_Fe53_to_n_Fe52_derived_removed); + amrex::Real dd = 1.0_rt / (rho * Yn * r2_ng + r1_gn); + rate = r1_ng * r2_ng * dd; + if constexpr (std::is_same_v) { + amrex::Real dr1dT_ng = rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_removed); + amrex::Real dr2dT_ng = rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_removed); + amrex::Real dr1dT_gn = rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_derived_removed); + drate_dT = dr1dT_ng * r2_ng * dd + r1_ng * dr2dT_ng * dd - r1_ng * r2_ng * dd * dd * (rho * Yn * dr2dT_ng + dr1dT_gn); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe54_to_Fe52_n_n_approx(const T& rate_eval, const amrex::Real rho, const amrex::Array1D& Y, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real Yn = Y(N); + amrex::Real r1_gn = rate_eval.screened_rates(k_Fe53_to_n_Fe52_derived_removed); + amrex::Real r2_gn = rate_eval.screened_rates(k_Fe54_to_n_Fe53_derived_removed); + amrex::Real r2_ng = rate_eval.screened_rates(k_n_Fe53_to_Fe54_removed); + amrex::Real dd = 1.0_rt / (rho * Yn * r2_ng + r1_gn); + rate = r1_gn * r2_gn * dd; + if constexpr (std::is_same_v) { + amrex::Real dr1dT_gn = rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_derived_removed); + amrex::Real dr2dT_gn = rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_derived_removed); + amrex::Real dr2dT_ng = rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_removed); + drate_dT = dr1dT_gn * r2_gn * dd + r1_gn * dr2dT_gn * dd - r1_gn * r2_gn * dd * dd * (rho * Yn * dr2dT_ng + dr1dT_gn); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe54_n_n_to_Fe56_approx(const T& rate_eval, const amrex::Real rho, const amrex::Array1D& Y, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real Yn = Y(N); + amrex::Real r1_ng = rate_eval.screened_rates(k_n_Fe54_to_Fe55_removed); + amrex::Real r2_ng = rate_eval.screened_rates(k_n_Fe55_to_Fe56_removed); + amrex::Real r1_gn = rate_eval.screened_rates(k_Fe55_to_n_Fe54_derived_removed); + amrex::Real dd = 1.0_rt / (rho * Yn * r2_ng + r1_gn); + rate = r1_ng * r2_ng * dd; + if constexpr (std::is_same_v) { + amrex::Real dr1dT_ng = rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_removed); + amrex::Real dr2dT_ng = rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_removed); + amrex::Real dr1dT_gn = rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_derived_removed); + drate_dT = dr1dT_ng * r2_ng * dd + r1_ng * dr2dT_ng * dd - r1_ng * r2_ng * dd * dd * (rho * Yn * dr2dT_ng + dr1dT_gn); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Fe56_to_Fe54_n_n_approx(const T& rate_eval, const amrex::Real rho, const amrex::Array1D& Y, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real Yn = Y(N); + amrex::Real r1_gn = rate_eval.screened_rates(k_Fe55_to_n_Fe54_derived_removed); + amrex::Real r2_gn = rate_eval.screened_rates(k_Fe56_to_n_Fe55_derived_removed); + amrex::Real r2_ng = rate_eval.screened_rates(k_n_Fe55_to_Fe56_removed); + amrex::Real dd = 1.0_rt / (rho * Yn * r2_ng + r1_gn); + rate = r1_gn * r2_gn * dd; + if constexpr (std::is_same_v) { + amrex::Real dr1dT_gn = rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_derived_removed); + amrex::Real dr2dT_gn = rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_derived_removed); + amrex::Real dr2dT_ng = rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_removed); + drate_dT = dr1dT_gn * r2_gn * dd + r1_gn * dr2dT_gn * dd - r1_gn * r2_gn * dd * dd * (rho * Yn * dr2dT_ng + dr1dT_gn); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni56_n_n_to_Ni58_approx(const T& rate_eval, const amrex::Real rho, const amrex::Array1D& Y, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real Yn = Y(N); + amrex::Real r1_ng = rate_eval.screened_rates(k_n_Ni56_to_Ni57_removed); + amrex::Real r2_ng = rate_eval.screened_rates(k_n_Ni57_to_Ni58_removed); + amrex::Real r1_gn = rate_eval.screened_rates(k_Ni57_to_n_Ni56_derived_removed); + amrex::Real dd = 1.0_rt / (rho * Yn * r2_ng + r1_gn); + rate = r1_ng * r2_ng * dd; + if constexpr (std::is_same_v) { + amrex::Real dr1dT_ng = rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_removed); + amrex::Real dr2dT_ng = rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_removed); + amrex::Real dr1dT_gn = rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_derived_removed); + drate_dT = dr1dT_ng * r2_ng * dd + r1_ng * dr2dT_ng * dd - r1_ng * r2_ng * dd * dd * (rho * Yn * dr2dT_ng + dr1dT_gn); + } +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void rate_Ni58_to_Ni56_n_n_approx(const T& rate_eval, const amrex::Real rho, const amrex::Array1D& Y, amrex::Real& rate, amrex::Real& drate_dT) { + + amrex::Real Yn = Y(N); + amrex::Real r1_gn = rate_eval.screened_rates(k_Ni57_to_n_Ni56_derived_removed); + amrex::Real r2_gn = rate_eval.screened_rates(k_Ni58_to_n_Ni57_derived_removed); + amrex::Real r2_ng = rate_eval.screened_rates(k_n_Ni57_to_Ni58_removed); + amrex::Real dd = 1.0_rt / (rho * Yn * r2_ng + r1_gn); + rate = r1_gn * r2_gn * dd; + if constexpr (std::is_same_v) { + amrex::Real dr1dT_gn = rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_derived_removed); + amrex::Real dr2dT_gn = rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_derived_removed); + amrex::Real dr2dT_ng = rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_removed); + drate_dT = dr1dT_gn * r2_gn * dd + r1_gn * dr2dT_gn * dd - r1_gn * r2_gn * dd * dd * (rho * Yn * dr2dT_ng + dr1dT_gn); + } +} + + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void +fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) +{ + + amrex::Real rate; + amrex::Real drate_dT; + + part_fun::pf_cache_t pf_cache{}; + + rate_p_C12_to_N13(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_C12_to_N13) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_C12_to_N13) = drate_dT; + + } + rate_He4_C12_to_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_C12_to_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_C12_to_O16) = drate_dT; + + } + rate_He4_N14_to_F18(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_N14_to_F18) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N14_to_F18) = drate_dT; + + } + rate_He4_O16_to_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_O16_to_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_O16_to_Ne20) = drate_dT; + + } + rate_He4_F18_to_Na22(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_Na22) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_Na22) = drate_dT; + + } + rate_He4_Ne20_to_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ne20_to_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_Mg24) = drate_dT; + + } + rate_p_Ne21_to_Na22(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Ne21_to_Na22) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_Na22) = drate_dT; + + } + rate_p_Na23_to_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_Mg24) = drate_dT; + + } + rate_He4_Mg24_to_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mg24_to_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_Si28) = drate_dT; + + } + rate_p_Al27_to_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_Si28) = drate_dT; + + } + rate_He4_Si28_to_S32(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Si28_to_S32) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_S32) = drate_dT; + + } + rate_p_P31_to_S32(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_S32) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_S32) = drate_dT; + + } + rate_He4_Cr48_to_Fe52(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_Fe52) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_Fe52) = drate_dT; + + } + rate_p_nse_Mn51_to_Fe52(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Mn51_to_Fe52) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_Fe52) = drate_dT; + + } + rate_He4_Mn51_to_Co55(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_Co55) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_Co55) = drate_dT; + + } + rate_He4_Fe52_to_Ni56(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_Ni56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_Ni56) = drate_dT; + + } + rate_p_nse_Co55_to_Ni56(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Co55_to_Ni56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_Ni56) = drate_dT; + + } + rate_C12_C12_to_p_Na23(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_p_Na23) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_p_Na23) = drate_dT; + + } + rate_C12_C12_to_He4_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_He4_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_He4_Ne20) = drate_dT; + + } + rate_He4_N13_to_p_O16(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_N13_to_p_O16) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_N13_to_p_O16) = drate_dT; + + } + rate_C12_O16_to_p_Al27(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_p_Al27) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_p_Al27) = drate_dT; + + } + rate_C12_O16_to_He4_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_He4_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_He4_Mg24) = drate_dT; + + } + rate_O16_O16_to_p_P31(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_p_P31) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_p_P31) = drate_dT; + + } + rate_O16_O16_to_He4_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_He4_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_He4_Si28) = drate_dT; + + } + rate_He4_F18_to_p_Ne21(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_F18_to_p_Ne21) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_F18_to_p_Ne21) = drate_dT; + + } + rate_p_Na23_to_He4_Ne20(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Na23_to_He4_Ne20) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Na23_to_He4_Ne20) = drate_dT; + + } + rate_p_Al27_to_He4_Mg24(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Al27_to_He4_Mg24) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Al27_to_He4_Mg24) = drate_dT; + + } + rate_p_P31_to_He4_Si28(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_P31_to_He4_Si28) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_P31_to_He4_Si28) = drate_dT; + + } + rate_He4_Cr48_to_p_nse_Mn51(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Cr48_to_p_nse_Mn51) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Cr48_to_p_nse_Mn51) = drate_dT; + + } + rate_He4_Fe52_to_p_nse_Co55(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe52_to_p_nse_Co55) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe52_to_p_nse_Co55) = drate_dT; + + } + rate_He4_He4_He4_to_C12(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_He4_He4_to_C12) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_He4_He4_to_C12) = drate_dT; + + } + rate_C12_C12_to_Mg24_modified(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_C12_to_Mg24_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_C12_to_Mg24_modified) = drate_dT; + + } + rate_O16_O16_to_S32_modified(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_O16_O16_to_S32_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_O16_to_S32_modified) = drate_dT; + + } + rate_C12_O16_to_Si28_modified(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_C12_O16_to_Si28_modified) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_O16_to_Si28_modified) = drate_dT; + + } + rate_p_nse_Fe54_to_Co55(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Fe54_to_Co55) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_Co55) = drate_dT; + + } + rate_He4_Fe54_to_Ni58(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Fe54_to_Ni58) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_Ni58) = drate_dT; + + } + rate_p_nse_Fe56_to_Co57(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Fe56_to_Co57) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_Co57) = drate_dT; + + } + rate_n_Co55_to_Co56(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Co55_to_Co56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co55_to_Co56) = drate_dT; + + } + rate_n_Co56_to_Co57(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_Co57) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_Co57) = drate_dT; + + } + rate_p_nse_Co57_to_Ni58(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Co57_to_Ni58) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_Ni58) = drate_dT; + + } + rate_He4_Mn51_to_p_nse_Fe54(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Mn51_to_p_nse_Fe54) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mn51_to_p_nse_Fe54) = drate_dT; + + } + rate_He4_Co55_to_p_nse_Ni58(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Co55_to_p_nse_Ni58) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Co55_to_p_nse_Ni58) = drate_dT; + + } + rate_n_Co56_to_p_nse_Fe56(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Co56_to_p_nse_Fe56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Co56_to_p_nse_Fe56) = drate_dT; + + } + rate_p_nse_Co57_to_He4_Fe54(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_nse_Co57_to_He4_Fe54) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co57_to_He4_Fe54) = drate_dT; + + } + rate_n_Ni56_to_p_nse_Co56(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_p_nse_Co56) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_p_nse_Co56) = drate_dT; + + } + rate_He4_S32_to_Ar36_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_S32_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_Ar36_removed) = drate_dT; + + } + rate_p_Cl35_to_Ar36_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_Ar36_removed) = drate_dT; + + } + rate_p_Cl35_to_He4_S32_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Cl35_to_He4_S32_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Cl35_to_He4_S32_removed) = drate_dT; + + } + rate_He4_Ar36_to_Ca40_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ar36_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_Ca40_removed) = drate_dT; + + } + rate_p_K39_to_Ca40_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_Ca40_removed) = drate_dT; + + } + rate_p_K39_to_He4_Ar36_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_K39_to_He4_Ar36_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_K39_to_He4_Ar36_removed) = drate_dT; + + } + rate_He4_Ca40_to_Ti44_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ca40_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_Ti44_removed) = drate_dT; + + } + rate_p_Sc43_to_Ti44_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_Ti44_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_Ti44_removed) = drate_dT; + + } + rate_p_Sc43_to_He4_Ca40_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_Sc43_to_He4_Ca40_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Sc43_to_He4_Ca40_removed) = drate_dT; + + } + rate_He4_Ti44_to_Cr48_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_Cr48_removed) = drate_dT; + + } + rate_He4_Ti44_to_p_V47_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_He4_Ti44_to_p_V47_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ti44_to_p_V47_removed) = drate_dT; + + } + rate_p_V47_to_Cr48_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_p_V47_to_Cr48_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_Cr48_removed) = drate_dT; + + } + rate_n_Fe52_to_Fe53_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe52_to_Fe53_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe52_to_Fe53_removed) = drate_dT; + + } + rate_n_Fe53_to_Fe54_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe53_to_Fe54_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe53_to_Fe54_removed) = drate_dT; + + } + rate_n_Fe54_to_Fe55_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe54_to_Fe55_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe54_to_Fe55_removed) = drate_dT; + + } + rate_n_Fe55_to_Fe56_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Fe55_to_Fe56_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Fe55_to_Fe56_removed) = drate_dT; + + } + rate_n_Ni56_to_Ni57_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni56_to_Ni57_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni56_to_Ni57_removed) = drate_dT; + + } + rate_n_Ni57_to_Ni58_removed(tfactors, rate, drate_dT); + rate_eval.screened_rates(k_n_Ni57_to_Ni58_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_n_Ni57_to_Ni58_removed) = drate_dT; + + } + rate_N13_to_p_C12_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_N13_to_p_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_N13_to_p_C12_derived) = drate_dT; + + } + rate_O16_to_He4_C12_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_O16_to_He4_C12_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_O16_to_He4_C12_derived) = drate_dT; + + } + rate_F18_to_He4_N14_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_F18_to_He4_N14_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_F18_to_He4_N14_derived) = drate_dT; + + } + rate_Ne20_to_He4_O16_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ne20_to_He4_O16_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ne20_to_He4_O16_derived) = drate_dT; + + } + rate_Na22_to_p_Ne21_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Na22_to_p_Ne21_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_p_Ne21_derived) = drate_dT; + + } + rate_Na22_to_He4_F18_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Na22_to_He4_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Na22_to_He4_F18_derived) = drate_dT; + + } + rate_Mg24_to_p_Na23_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Mg24_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_p_Na23_derived) = drate_dT; + + } + rate_Mg24_to_He4_Ne20_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Mg24_to_He4_Ne20_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Mg24_to_He4_Ne20_derived) = drate_dT; + + } + rate_Si28_to_p_Al27_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Si28_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_p_Al27_derived) = drate_dT; + + } + rate_Si28_to_He4_Mg24_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Si28_to_He4_Mg24_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Si28_to_He4_Mg24_derived) = drate_dT; + + } + rate_S32_to_p_P31_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_S32_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_p_P31_derived) = drate_dT; + + } + rate_S32_to_He4_Si28_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_S32_to_He4_Si28_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_to_He4_Si28_derived) = drate_dT; + + } + rate_Fe52_to_p_nse_Mn51_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Fe52_to_p_nse_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_p_nse_Mn51_derived) = drate_dT; + + } + rate_Fe52_to_He4_Cr48_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Fe52_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_to_He4_Cr48_derived) = drate_dT; + + } + rate_Co55_to_He4_Mn51_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Co55_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_He4_Mn51_derived) = drate_dT; + + } + rate_Ni56_to_p_nse_Co55_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ni56_to_p_nse_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_p_nse_Co55_derived) = drate_dT; + + } + rate_Ni56_to_He4_Fe52_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ni56_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_to_He4_Fe52_derived) = drate_dT; + + } + rate_C12_to_He4_He4_He4_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_C12_to_He4_He4_He4_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_C12_to_He4_He4_He4_derived) = drate_dT; + + } + rate_p_O16_to_He4_N13_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_O16_to_He4_N13_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_O16_to_He4_N13_derived) = drate_dT; + + } + rate_He4_Ne20_to_p_Na23_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_He4_Ne20_to_p_Na23_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ne20_to_p_Na23_derived) = drate_dT; + + } + rate_p_Ne21_to_He4_F18_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_Ne21_to_He4_F18_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_Ne21_to_He4_F18_derived) = drate_dT; + + } + rate_He4_Mg24_to_p_Al27_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_He4_Mg24_to_p_Al27_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Mg24_to_p_Al27_derived) = drate_dT; + + } + rate_He4_Si28_to_p_P31_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_He4_Si28_to_p_P31_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Si28_to_p_P31_derived) = drate_dT; + + } + rate_p_nse_Mn51_to_He4_Cr48_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_nse_Mn51_to_He4_Cr48_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Mn51_to_He4_Cr48_derived) = drate_dT; + + } + rate_p_nse_Co55_to_He4_Fe52_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_nse_Co55_to_He4_Fe52_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co55_to_He4_Fe52_derived) = drate_dT; + + } + rate_Co55_to_p_nse_Fe54_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Co55_to_p_nse_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co55_to_p_nse_Fe54_derived) = drate_dT; + + } + rate_Co56_to_n_Co55_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Co56_to_n_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co56_to_n_Co55_derived) = drate_dT; + + } + rate_Co57_to_n_Co56_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Co57_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_n_Co56_derived) = drate_dT; + + } + rate_Co57_to_p_nse_Fe56_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Co57_to_p_nse_Fe56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Co57_to_p_nse_Fe56_derived) = drate_dT; + + } + rate_Ni58_to_p_nse_Co57_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ni58_to_p_nse_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_p_nse_Co57_derived) = drate_dT; + + } + rate_Ni58_to_He4_Fe54_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ni58_to_He4_Fe54_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_He4_Fe54_derived) = drate_dT; + + } + rate_p_nse_Fe54_to_He4_Mn51_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_nse_Fe54_to_He4_Mn51_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe54_to_He4_Mn51_derived) = drate_dT; + + } + rate_He4_Fe54_to_p_nse_Co57_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_He4_Fe54_to_p_nse_Co57_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Fe54_to_p_nse_Co57_derived) = drate_dT; + + } + rate_p_nse_Fe56_to_n_Co56_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_nse_Fe56_to_n_Co56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Fe56_to_n_Co56_derived) = drate_dT; + + } + rate_p_nse_Co56_to_n_Ni56_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_nse_Co56_to_n_Ni56_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Co56_to_n_Ni56_derived) = drate_dT; + + } + rate_p_nse_Ni58_to_He4_Co55_derived(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_nse_Ni58_to_He4_Co55_derived) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_nse_Ni58_to_He4_Co55_derived) = drate_dT; + + } + rate_He4_S32_to_p_Cl35_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_He4_S32_to_p_Cl35_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_S32_to_p_Cl35_derived_removed) = drate_dT; + + } + rate_Ar36_to_He4_S32_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ar36_to_He4_S32_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_He4_S32_derived_removed) = drate_dT; + + } + rate_Ar36_to_p_Cl35_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ar36_to_p_Cl35_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_p_Cl35_derived_removed) = drate_dT; + + } + rate_He4_Ar36_to_p_K39_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_He4_Ar36_to_p_K39_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ar36_to_p_K39_derived_removed) = drate_dT; + + } + rate_Ca40_to_He4_Ar36_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ca40_to_He4_Ar36_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_He4_Ar36_derived_removed) = drate_dT; + + } + rate_Ca40_to_p_K39_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ca40_to_p_K39_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_p_K39_derived_removed) = drate_dT; + + } + rate_He4_Ca40_to_p_Sc43_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_He4_Ca40_to_p_Sc43_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_He4_Ca40_to_p_Sc43_derived_removed) = drate_dT; + + } + rate_Ti44_to_He4_Ca40_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ti44_to_He4_Ca40_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_He4_Ca40_derived_removed) = drate_dT; + + } + rate_Ti44_to_p_Sc43_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ti44_to_p_Sc43_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_p_Sc43_derived_removed) = drate_dT; + + } + rate_Cr48_to_He4_Ti44_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Cr48_to_He4_Ti44_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_He4_Ti44_derived_removed) = drate_dT; + + } + rate_Cr48_to_p_V47_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Cr48_to_p_V47_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_p_V47_derived_removed) = drate_dT; + + } + rate_p_V47_to_He4_Ti44_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_p_V47_to_He4_Ti44_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_p_V47_to_He4_Ti44_derived_removed) = drate_dT; + + } + rate_Fe54_to_n_Fe53_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Fe54_to_n_Fe53_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_n_Fe53_derived_removed) = drate_dT; + + } + rate_Fe53_to_n_Fe52_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Fe53_to_n_Fe52_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe53_to_n_Fe52_derived_removed) = drate_dT; + + } + rate_Fe56_to_n_Fe55_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Fe56_to_n_Fe55_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_n_Fe55_derived_removed) = drate_dT; + + } + rate_Fe55_to_n_Fe54_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Fe55_to_n_Fe54_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe55_to_n_Fe54_derived_removed) = drate_dT; + + } + rate_Ni58_to_n_Ni57_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ni58_to_n_Ni57_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_n_Ni57_derived_removed) = drate_dT; + + } + rate_Ni57_to_n_Ni56_derived_removed(tfactors, rate, drate_dT, pf_cache); + rate_eval.screened_rates(k_Ni57_to_n_Ni56_derived_removed) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni57_to_n_Ni56_derived_removed) = drate_dT; + + } + +} + +template +AMREX_GPU_HOST_DEVICE AMREX_INLINE +void +fill_approx_rates([[maybe_unused]] const tf_t& tfactors, + [[maybe_unused]] const amrex::Real rho, + [[maybe_unused]] const amrex::Array1D& Y, + [[maybe_unused]] T& rate_eval) +{ + + [[maybe_unused]] amrex::Real rate{}; + [[maybe_unused]] amrex::Real drate_dT{}; + + rate_S32_He4_to_Ar36_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_S32_He4_to_Ar36_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_S32_He4_to_Ar36_approx) = drate_dT; + + } + rate_Ar36_to_S32_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_to_S32_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_to_S32_He4_approx) = drate_dT; + + } + rate_Ar36_He4_to_Ca40_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ar36_He4_to_Ca40_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ar36_He4_to_Ca40_approx) = drate_dT; + + } + rate_Ca40_to_Ar36_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_to_Ar36_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_to_Ar36_He4_approx) = drate_dT; + + } + rate_Ca40_He4_to_Ti44_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ca40_He4_to_Ti44_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ca40_He4_to_Ti44_approx) = drate_dT; + + } + rate_Ti44_to_Ca40_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_to_Ca40_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_to_Ca40_He4_approx) = drate_dT; + + } + rate_Ti44_He4_to_Cr48_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Ti44_He4_to_Cr48_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ti44_He4_to_Cr48_approx) = drate_dT; + + } + rate_Cr48_to_Ti44_He4_approx(rate_eval, rate, drate_dT); + rate_eval.screened_rates(k_Cr48_to_Ti44_He4_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Cr48_to_Ti44_He4_approx) = drate_dT; + + } + rate_Fe52_n_n_to_Fe54_approx(rate_eval, rho, Y, rate, drate_dT); + rate_eval.screened_rates(k_Fe52_n_n_to_Fe54_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe52_n_n_to_Fe54_approx) = drate_dT; + + } + rate_Fe54_to_Fe52_n_n_approx(rate_eval, rho, Y, rate, drate_dT); + rate_eval.screened_rates(k_Fe54_to_Fe52_n_n_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_to_Fe52_n_n_approx) = drate_dT; + + } + rate_Fe54_n_n_to_Fe56_approx(rate_eval, rho, Y, rate, drate_dT); + rate_eval.screened_rates(k_Fe54_n_n_to_Fe56_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe54_n_n_to_Fe56_approx) = drate_dT; + + } + rate_Fe56_to_Fe54_n_n_approx(rate_eval, rho, Y, rate, drate_dT); + rate_eval.screened_rates(k_Fe56_to_Fe54_n_n_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Fe56_to_Fe54_n_n_approx) = drate_dT; + + } + rate_Ni56_n_n_to_Ni58_approx(rate_eval, rho, Y, rate, drate_dT); + rate_eval.screened_rates(k_Ni56_n_n_to_Ni58_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni56_n_n_to_Ni58_approx) = drate_dT; + + } + rate_Ni58_to_Ni56_n_n_approx(rate_eval, rho, Y, rate, drate_dT); + rate_eval.screened_rates(k_Ni58_to_Ni56_n_n_approx) = rate; + if constexpr (std::is_same_v) { + rate_eval.dscreened_rates_dT(k_Ni58_to_Ni56_n_n_approx) = drate_dT; + + } + +} + +#endif diff --git a/networks/he-burn/he-burn-31anp/table_rates.H b/networks/he-burn/he-burn-31anp/table_rates.H new file mode 100644 index 0000000000..1ea1aa5377 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/table_rates.H @@ -0,0 +1,429 @@ +#ifndef TABLE_RATES_H +#define TABLE_RATES_H + +#include +#include +#include +#include + +#include + +using namespace amrex; + +void init_tabular(); + +// Table is expected to be in terms of dens*ye and temp (logarithmic, cgs units) +// Table energy units are expected in terms of ergs + +// all tables are expected to have columns: +// Log(rhoY) Log(T) mu dQ Vs Log(e-cap-rate) Log(nu-energy-loss) Log(gamma-energy) +// Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +// + +const int num_tables = 6; + +enum TableVars +{ + jtab_mu = 1, + jtab_dq = 2, + jtab_vs = 3, + jtab_rate = 4, + jtab_nuloss = 5, + jtab_gamma = 6, + num_vars = jtab_gamma +}; + + +struct table_t +{ + int ntemp; + int nrhoy; + int nvars; + int nheader; +}; + +// we add a 7th index, k_index_dlogr_dlogt used for computing the derivative +// of Log(rate) with respect of Log(temperature) by using the table +// values. It isn't an index into the table but into the 'entries' +// array. Is important to mention that although we compute dlogr/dlogT is +// the computed quantity in 'entries', we pursue ultimately +// dr/dt as the final desired quantity to be computed for this index. + +const int k_index_dlogr_dlogt = 7; +const int add_vars = 1; // 1 Additional Var in entries + + +namespace rate_tables +{ + extern AMREX_GPU_MANAGED table_t j_Co56_Fe56_meta; + extern AMREX_GPU_MANAGED amrex::Array3D j_Co56_Fe56_data; + extern AMREX_GPU_MANAGED amrex::Array1D j_Co56_Fe56_rhoy; + extern AMREX_GPU_MANAGED amrex::Array1D j_Co56_Fe56_temp; + + extern AMREX_GPU_MANAGED table_t j_Co56_Ni56_meta; + extern AMREX_GPU_MANAGED amrex::Array3D j_Co56_Ni56_data; + extern AMREX_GPU_MANAGED amrex::Array1D j_Co56_Ni56_rhoy; + extern AMREX_GPU_MANAGED amrex::Array1D j_Co56_Ni56_temp; + + extern AMREX_GPU_MANAGED table_t j_Fe56_Co56_meta; + extern AMREX_GPU_MANAGED amrex::Array3D j_Fe56_Co56_data; + extern AMREX_GPU_MANAGED amrex::Array1D j_Fe56_Co56_rhoy; + extern AMREX_GPU_MANAGED amrex::Array1D j_Fe56_Co56_temp; + + extern AMREX_GPU_MANAGED table_t j_n_p_meta; + extern AMREX_GPU_MANAGED amrex::Array3D j_n_p_data; + extern AMREX_GPU_MANAGED amrex::Array1D j_n_p_rhoy; + extern AMREX_GPU_MANAGED amrex::Array1D j_n_p_temp; + + extern AMREX_GPU_MANAGED table_t j_Ni56_Co56_meta; + extern AMREX_GPU_MANAGED amrex::Array3D j_Ni56_Co56_data; + extern AMREX_GPU_MANAGED amrex::Array1D j_Ni56_Co56_rhoy; + extern AMREX_GPU_MANAGED amrex::Array1D j_Ni56_Co56_temp; + + extern AMREX_GPU_MANAGED table_t j_p_n_meta; + extern AMREX_GPU_MANAGED amrex::Array3D j_p_n_data; + extern AMREX_GPU_MANAGED amrex::Array1D j_p_n_rhoy; + extern AMREX_GPU_MANAGED amrex::Array1D j_p_n_temp; + +} + +template +void init_tab_info(const table_t& tf, const std::string& file, R& log_rhoy_table, T& log_temp_table, D& data) +{ + // This function initializes the selected tabular-rate tables. From the tables we are interested + // on the rate, neutrino-energy-loss and the gamma-energy entries. + + std::ifstream table; + table.open(file); + + if (!table.is_open()) { + // the table was not present or we could not open it; abort + amrex::Error("table could not be opened"); + } + + std::string line; + + // read and skip over the header + + for (int i = 0; i < tf.nheader; ++i) { + std::getline(table, line); + } + + // now the data -- there are 2 extra columns, for log_temp and log_rhoy + + for (int j = 1; j <= tf.nrhoy; ++j) { + for (int i = 1; i <= tf.ntemp; ++i) { + std::getline(table, line); + if (line.empty()) { + amrex::Error("Error reading table data"); + } + + std::istringstream sdata(line); + + sdata >> log_rhoy_table(j) >> log_temp_table(i); + + for (int n = 1; n <= tf.nvars; ++n) { + sdata >> data(i, j, n); + } + } + } + table.close(); +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +int vector_index_lu(const int vlen, const V& vector, const amrex::Real fvar) +{ + + // Returns the greatest index of vector for which vector(index) < fvar. + // Return 1 if fvar < vector(1) + // Return size(vector)-1 if fvar > vector(size(vector)) + // The interval [index, index+1] brackets fvar for fvar within the range of vector. + + int index; + + if (fvar < vector(1)) { + index = 1; + } else if (fvar > vector(vlen)) { + index = vlen - 1; + } else { + int nup = vlen; + int ndn = 1; + for (int i = 1; i <= vlen; ++i) { + int j = ndn + (nup - ndn)/2; + if (fvar < vector(j)) { + nup = j; + } else { + ndn = j; + } + if ((nup - ndn) == 1) { + break; + } + } + index = ndn; + } + return index; +} + + +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_linear_1d(const amrex::Real fhi, const amrex::Real flo, const amrex::Real xhi, const amrex::Real xlo, const amrex::Real x) +{ + // This function is a 1-D linear interpolator, that keeps x constant to xlo or xhi, based + // on the side, if x is outside [xlo, xhi] respectively. + + amrex::Real xx = Clamp(x, xlo, xhi); + amrex::Real f = flo + (fhi - flo) * (xx - xlo) / (xhi - xlo); + + return f; +} + +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_linear_2d(const amrex::Real fip1jp1, const amrex::Real fip1j, const amrex::Real fijp1, const amrex::Real fij, + const amrex::Real xhi, const amrex::Real xlo, const amrex::Real yhi, const amrex::Real ylo, + const amrex::Real x, const amrex::Real y) +{ + // This is the 2-D linear interpolator, as an extension of evaluate_linear_1d. + + amrex::Real f; + amrex::Real dx = xhi - xlo; + amrex::Real dy = yhi - ylo; + + amrex::Real E = fij; + amrex::Real C = (fijp1 - fij) / dy; + amrex::Real B = (fip1j - fij) / dx; + amrex::Real A = (fip1jp1 - B * dx - C * dy - E) / (dx * dy); + + amrex::Real xx = Clamp(x, xlo, xhi); + amrex::Real yy = Clamp(y, ylo, yhi); + + f = A * (xx - xlo) * (yy - ylo) + + B * (xx - xlo) + + C * (yy - ylo) + + E; + + return f; +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_vars(const table_t& table_meta, const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real log_rhoy, const amrex::Real log_temp, const int component) +{ + // This function evaluates the 2-D interpolator, for several pairs of rho_ye and temperature. + + int jtemp_lo = vector_index_lu(table_meta.ntemp, log_temp_table, log_temp); + int jtemp_hi = jtemp_lo + 1; + + int irhoy_lo = vector_index_lu(table_meta.nrhoy, log_rhoy_table, log_rhoy); + int irhoy_hi = irhoy_lo + 1; + + amrex::Real rhoy_lo = log_rhoy_table(irhoy_lo); + amrex::Real rhoy_hi = log_rhoy_table(irhoy_hi); + + amrex::Real t_lo = log_temp_table(jtemp_lo); + amrex::Real t_hi = log_temp_table(jtemp_hi); + + amrex::Real fij = data(jtemp_lo, irhoy_lo, component); + amrex::Real fip1j = data(jtemp_lo, irhoy_hi, component); + amrex::Real fijp1 = data(jtemp_hi, irhoy_lo, component); + amrex::Real fip1jp1 = data(jtemp_hi, irhoy_hi, component); + + amrex::Real r = evaluate_linear_2d(fip1jp1, fip1j, fijp1, fij, + rhoy_hi, rhoy_lo, t_hi, t_lo, log_rhoy, log_temp); + + return r; +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +amrex::Real +evaluate_dr_dtemp(const table_t& table_meta, const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real log_rhoy, const amrex::Real log_temp) +{ + // The main objective of this function is compute dlogr_dlogt. + + int irhoy_lo = vector_index_lu(table_meta.nrhoy, log_rhoy_table, log_rhoy); + int irhoy_hi = irhoy_lo + 1; + + int jtemp_lo = vector_index_lu(table_meta.ntemp, log_temp_table, log_temp); + int jtemp_hi = jtemp_lo + 1; + + amrex::Real dlogr_dlogt; + + //Now we compute the forward finite difference on the boundary + + if ((jtemp_lo - 1 < 1) || (jtemp_hi + 1 > table_meta.ntemp)) { + + // In this case we are in the boundaries of the table. + // At the boundary, we compute the forward-j finite difference + // to compute dlogr_dlogt_i and dlogr_dlogt_ip1, using the + // following stencil: + // + // + // fijp1-----------fip1jp1 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fij-------------fip1j + // + // with the following result: + // + // dlogr_dlogt_i --------dlogr_dlogt_ip1 + // + // Finally, we perform a 1d-linear interpolation between dlogr_dlogt_ip1 + // and dlogr_dlogt_i to compute dlogr_dlogt + + amrex::Real log_rhoy_lo = log_rhoy_table(irhoy_lo); + amrex::Real log_rhoy_hi = log_rhoy_table(irhoy_hi); + + amrex::Real log_temp_lo = log_temp_table(jtemp_lo); + amrex::Real log_temp_hi = log_temp_table(jtemp_hi); + + amrex::Real fij = data(jtemp_lo, irhoy_lo, jtab_rate); + amrex::Real fip1j = data(jtemp_lo, irhoy_hi, jtab_rate); + amrex::Real fijp1 = data(jtemp_hi, irhoy_lo, jtab_rate); + amrex::Real fip1jp1 = data(jtemp_hi, irhoy_hi, jtab_rate); + + amrex::Real dlogr_dlogt_i = (fijp1 - fij) / (log_temp_hi - log_temp_lo); + amrex::Real dlogr_dlogt_ip1 = (fip1jp1 - fip1j) / (log_temp_hi - log_temp_lo); + + if ((log_temp < log_temp_lo) || (log_temp > log_temp_hi)) { + dlogr_dlogt = 0.0_rt; + } else { + dlogr_dlogt = evaluate_linear_1d(dlogr_dlogt_ip1, dlogr_dlogt_i, log_rhoy_hi, log_rhoy_lo, log_rhoy); + } + + } else { + + // In this case, we use a bigger stencil to reconstruct the + // temperature derivatives in the j and j+1 temperature positions, + // using the cetral-j finite differences: + // + // fijp2 ------------fip1jp2 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fijp1------------fip1jp1 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fij------------- fip1j + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // fijm1------------fip1jm1 + // + // with the following result: + // + // + // dr_dt_ijp1 --------dr_dt_ip1jp1 + // | | + // | | + // | | + // | | + // | | + // | | + // | | + // dr_dt_ij-----------dr_dt_ip1j + // + // Finally, we perform a 2d-linear interpolation to + // compute dlogr_dlogt. + + amrex::Real log_temp_jm1 = log_temp_table(jtemp_lo-1); + amrex::Real log_temp_j = log_temp_table(jtemp_lo); + amrex::Real log_temp_jp1 = log_temp_table(jtemp_hi); + amrex::Real log_temp_jp2 = log_temp_table(jtemp_hi+1); + + amrex::Real log_rhoy_lo = log_rhoy_table(irhoy_lo); + amrex::Real log_rhoy_hi = log_rhoy_table(irhoy_hi); + + amrex::Real fijm1 = data(jtemp_lo-1, irhoy_lo, jtab_rate); + amrex::Real fij = data(jtemp_lo, irhoy_lo, jtab_rate); + amrex::Real fijp1 = data(jtemp_hi, irhoy_lo, jtab_rate); + amrex::Real fijp2 = data(jtemp_hi+1, irhoy_lo, jtab_rate); + + amrex::Real fip1jm1 = data(jtemp_lo-1, irhoy_hi, jtab_rate); + amrex::Real fip1j = data(jtemp_lo, irhoy_hi, jtab_rate); + amrex::Real fip1jp1 = data(jtemp_hi, irhoy_hi, jtab_rate); + amrex::Real fip1jp2 = data(jtemp_hi+1, irhoy_hi, jtab_rate); + + amrex::Real dlogr_dlogt_ij = (fijp1 - fijm1)/(log_temp_jp1 - log_temp_jm1); + amrex::Real dlogr_dlogt_ijp1 = (fijp2 - fij)/(log_temp_jp2 - log_temp_j); + amrex::Real dlogr_dlogt_ip1j = (fip1jp1 - fip1jm1)/(log_temp_jp1 - log_temp_jm1); + amrex::Real dlogr_dlogt_ip1jp1 = (fip1jp2 - fip1j)/(log_temp_jp2 - log_temp_j); + + dlogr_dlogt = evaluate_linear_2d(dlogr_dlogt_ip1jp1, dlogr_dlogt_ip1j, dlogr_dlogt_ijp1, dlogr_dlogt_ij, + log_rhoy_hi, log_rhoy_lo, log_temp_jp1, log_temp_j, + log_rhoy, log_temp); + + } + return dlogr_dlogt; +} + + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +void +get_entries(const table_t& table_meta, const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real log_rhoy, const amrex::Real log_temp, amrex::Array1D& entries) +{ + for (int ivar = 1; ivar <= num_vars; ivar++) { + entries(ivar) = evaluate_vars(table_meta, log_rhoy_table, log_temp_table, data, + log_rhoy, log_temp, ivar); + } + + entries(k_index_dlogr_dlogt) = evaluate_dr_dtemp(table_meta, log_rhoy_table, log_temp_table, data, + log_rhoy, log_temp); +} + +template +AMREX_INLINE AMREX_GPU_HOST_DEVICE +void +tabular_evaluate(const table_t& table_meta, + const R& log_rhoy_table, const T& log_temp_table, const D& data, + const amrex::Real rhoy, const amrex::Real temp, + amrex::Real& rate, amrex::Real& drate_dt, amrex::Real& edot_nu, amrex::Real& edot_gamma) +{ + amrex::Array1D entries; + + // Get the table entries at this rhoy, temp + + amrex::Real log_rhoy = std::log10(rhoy); + amrex::Real log_temp = std::log10(temp); + + get_entries(table_meta, log_rhoy_table, log_temp_table, data, + log_rhoy, log_temp, entries); + + // Fill outputs: rate, d(rate)/d(temperature), and + // (negative) neutrino loss contribution to energy generation + + rate = std::pow(10.0_rt, entries(jtab_rate)); + drate_dt = rate * entries(k_index_dlogr_dlogt) / temp; + edot_nu = -std::pow(10.0_rt, entries(jtab_nuloss)); + edot_gamma = std::pow(10.0_rt, entries(jtab_gamma)); +} + +#endif diff --git a/networks/he-burn/he-burn-31anp/table_rates_data.cpp b/networks/he-burn/he-burn-31anp/table_rates_data.cpp new file mode 100644 index 0000000000..3fb138c945 --- /dev/null +++ b/networks/he-burn/he-burn-31anp/table_rates_data.cpp @@ -0,0 +1,101 @@ +#include +#include +#include +#include + +using namespace amrex; + +namespace rate_tables +{ + + AMREX_GPU_MANAGED table_t j_Co56_Fe56_meta; + AMREX_GPU_MANAGED amrex::Array3D j_Co56_Fe56_data; + AMREX_GPU_MANAGED amrex::Array1D j_Co56_Fe56_rhoy; + AMREX_GPU_MANAGED amrex::Array1D j_Co56_Fe56_temp; + + AMREX_GPU_MANAGED table_t j_Co56_Ni56_meta; + AMREX_GPU_MANAGED amrex::Array3D j_Co56_Ni56_data; + AMREX_GPU_MANAGED amrex::Array1D j_Co56_Ni56_rhoy; + AMREX_GPU_MANAGED amrex::Array1D j_Co56_Ni56_temp; + + AMREX_GPU_MANAGED table_t j_Fe56_Co56_meta; + AMREX_GPU_MANAGED amrex::Array3D j_Fe56_Co56_data; + AMREX_GPU_MANAGED amrex::Array1D j_Fe56_Co56_rhoy; + AMREX_GPU_MANAGED amrex::Array1D j_Fe56_Co56_temp; + + AMREX_GPU_MANAGED table_t j_n_p_meta; + AMREX_GPU_MANAGED amrex::Array3D j_n_p_data; + AMREX_GPU_MANAGED amrex::Array1D j_n_p_rhoy; + AMREX_GPU_MANAGED amrex::Array1D j_n_p_temp; + + AMREX_GPU_MANAGED table_t j_Ni56_Co56_meta; + AMREX_GPU_MANAGED amrex::Array3D j_Ni56_Co56_data; + AMREX_GPU_MANAGED amrex::Array1D j_Ni56_Co56_rhoy; + AMREX_GPU_MANAGED amrex::Array1D j_Ni56_Co56_temp; + + AMREX_GPU_MANAGED table_t j_p_n_meta; + AMREX_GPU_MANAGED amrex::Array3D j_p_n_data; + AMREX_GPU_MANAGED amrex::Array1D j_p_n_rhoy; + AMREX_GPU_MANAGED amrex::Array1D j_p_n_temp; + + +} + + +void init_tabular() +{ + + amrex::Print() << "reading in network electron-capture / beta-decay tables..." << std::endl; + + using namespace rate_tables; + + j_Co56_Fe56_meta.ntemp = 13; + j_Co56_Fe56_meta.nrhoy = 11; + j_Co56_Fe56_meta.nvars = 6; + j_Co56_Fe56_meta.nheader = 5; + + init_tab_info(j_Co56_Fe56_meta, "56co-56fe_electroncapture.dat", j_Co56_Fe56_rhoy, j_Co56_Fe56_temp, j_Co56_Fe56_data); + + + j_Co56_Ni56_meta.ntemp = 13; + j_Co56_Ni56_meta.nrhoy = 11; + j_Co56_Ni56_meta.nvars = 6; + j_Co56_Ni56_meta.nheader = 5; + + init_tab_info(j_Co56_Ni56_meta, "56co-56ni_betadecay.dat", j_Co56_Ni56_rhoy, j_Co56_Ni56_temp, j_Co56_Ni56_data); + + + j_Fe56_Co56_meta.ntemp = 13; + j_Fe56_Co56_meta.nrhoy = 11; + j_Fe56_Co56_meta.nvars = 6; + j_Fe56_Co56_meta.nheader = 5; + + init_tab_info(j_Fe56_Co56_meta, "56fe-56co_betadecay.dat", j_Fe56_Co56_rhoy, j_Fe56_Co56_temp, j_Fe56_Co56_data); + + + j_n_p_meta.ntemp = 13; + j_n_p_meta.nrhoy = 11; + j_n_p_meta.nvars = 6; + j_n_p_meta.nheader = 5; + + init_tab_info(j_n_p_meta, "n-p_betadecay.dat", j_n_p_rhoy, j_n_p_temp, j_n_p_data); + + + j_Ni56_Co56_meta.ntemp = 13; + j_Ni56_Co56_meta.nrhoy = 11; + j_Ni56_Co56_meta.nvars = 6; + j_Ni56_Co56_meta.nheader = 5; + + init_tab_info(j_Ni56_Co56_meta, "56ni-56co_electroncapture.dat", j_Ni56_Co56_rhoy, j_Ni56_Co56_temp, j_Ni56_Co56_data); + + + j_p_n_meta.ntemp = 13; + j_p_n_meta.nrhoy = 11; + j_p_n_meta.nvars = 6; + j_p_n_meta.nheader = 5; + + init_tab_info(j_p_n_meta, "p-n_electroncapture.dat", j_p_n_rhoy, j_p_n_temp, j_p_n_data); + + + +} diff --git a/networks/subch_simple/tfactors.H b/networks/he-burn/he-burn-31anp/tfactors.H similarity index 100% rename from networks/subch_simple/tfactors.H rename to networks/he-burn/he-burn-31anp/tfactors.H diff --git a/networks/He-C-Fe-group/55co-55fe_electroncapture.dat b/networks/he-burn/he-burn-36a/55co-55fe_electroncapture.dat similarity index 100% rename from networks/He-C-Fe-group/55co-55fe_electroncapture.dat rename to networks/he-burn/he-burn-36a/55co-55fe_electroncapture.dat diff --git a/networks/He-C-Fe-group/55fe-55co_betadecay.dat b/networks/he-burn/he-burn-36a/55fe-55co_betadecay.dat similarity index 100% rename from networks/He-C-Fe-group/55fe-55co_betadecay.dat rename to networks/he-burn/he-burn-36a/55fe-55co_betadecay.dat diff --git a/networks/He-C-Fe-group/55fe-55mn_electroncapture.dat b/networks/he-burn/he-burn-36a/55fe-55mn_electroncapture.dat similarity index 100% rename from networks/He-C-Fe-group/55fe-55mn_electroncapture.dat rename to networks/he-burn/he-burn-36a/55fe-55mn_electroncapture.dat diff --git a/networks/He-C-Fe-group/55mn-55fe_betadecay.dat b/networks/he-burn/he-burn-36a/55mn-55fe_betadecay.dat similarity index 100% rename from networks/He-C-Fe-group/55mn-55fe_betadecay.dat rename to networks/he-burn/he-burn-36a/55mn-55fe_betadecay.dat diff --git a/networks/he-burn/he-burn-36a/56co-56fe_electroncapture.dat b/networks/he-burn/he-burn-36a/56co-56fe_electroncapture.dat new file mode 100644 index 0000000000..f6baf63fd3 --- /dev/null +++ b/networks/he-burn/he-burn-36a/56co-56fe_electroncapture.dat @@ -0,0 +1,148 @@ +!56co -> 56fe, e- capture +!Q=-4.055 MeV +! +!Log(rhoY) Log(temp) mu dQ Vs Log(e-cap-rate) Log(nu-energy-loss) Log(gamma-energy) +!Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +1.000000 7.000000 -4.806530e-09 0.00 0.00 -7.705836 -1.359829e+01 -100.00 +1.000000 8.000000 -9.292624e-08 0.00 0.00 -7.707962 -1.360129e+01 -100.00 +1.000000 8.301030 -2.146917e-07 0.00 0.00 -7.692263 -1.357029e+01 -100.00 +1.000000 8.602060 -4.902661e-07 0.00 0.00 -7.032866 -1.269229e+01 -100.00 +1.000000 8.845098 -8.058948e-07 0.00 0.00 -6.284874 -1.190729e+01 -100.00 +1.000000 9.000000 -8.187123e-07 0.00 0.00 -5.970341 -1.158929e+01 -100.00 +1.000000 9.176091 -8.187123e-07 0.00 0.00 -5.642062 -1.124329e+01 -100.00 +1.000000 9.301030 -8.187123e-07 0.00 0.00 -5.178082 -1.068229e+01 -100.00 +1.000000 9.477121 -8.187123e-07 0.00 0.00 -4.093715 -9.477290e+00 -100.00 +1.000000 9.698970 -8.187123e-07 0.00 0.00 -2.791284 -8.079290e+00 -100.00 +1.000000 10.000000 -8.187123e-07 0.00 0.00 -1.100233 -6.190290e+00 -100.00 +1.000000 10.477121 -8.187123e-07 0.00 0.00 1.756545 -2.941290e+00 -100.00 +1.000000 11.000000 -8.187123e-07 0.00 0.00 4.567038 3.947104e-01 -100.00 +2.000000 7.000000 -1.602177e-09 0.00 0.00 -7.679753 -1.357129e+01 -100.00 +2.000000 8.000000 -6.088271e-08 0.00 0.00 -7.698752 -1.359129e+01 -100.00 +2.000000 8.301030 -1.522068e-07 0.00 0.00 -7.685687 -1.356429e+01 -100.00 +2.000000 8.602060 -3.636941e-07 0.00 0.00 -7.031660 -1.269129e+01 -100.00 +2.000000 8.845098 -7.145708e-07 0.00 0.00 -6.284674 -1.190729e+01 -100.00 +2.000000 9.000000 -8.107014e-07 0.00 0.00 -5.970255 -1.158929e+01 -100.00 +2.000000 9.176091 -8.187123e-07 0.00 0.00 -5.642021 -1.124329e+01 -100.00 +2.000000 9.301030 -8.187123e-07 0.00 0.00 -5.178082 -1.068229e+01 -100.00 +2.000000 9.477121 -8.187123e-07 0.00 0.00 -4.093715 -9.477290e+00 -100.00 +2.000000 9.698970 -8.187123e-07 0.00 0.00 -2.791284 -8.079290e+00 -100.00 +2.000000 10.000000 -8.187123e-07 0.00 0.00 -1.100233 -6.190290e+00 -100.00 +2.000000 10.477121 -8.187123e-07 0.00 0.00 1.756545 -2.941290e+00 -100.00 +2.000000 11.000000 -8.187123e-07 0.00 0.00 4.567038 3.947104e-01 -100.00 +3.000000 7.000000 3.204353e-09 0.00 0.00 -7.527841 -1.341529e+01 -100.00 +3.000000 8.000000 -2.883918e-08 0.00 0.00 -7.617156 -1.350629e+01 -100.00 +3.000000 8.301030 -8.811971e-08 0.00 0.00 -7.625169 -1.350229e+01 -100.00 +3.000000 8.602060 -2.355200e-07 0.00 0.00 -7.019812 -1.268329e+01 -100.00 +3.000000 8.845098 -5.030835e-07 0.00 0.00 -6.282127 -1.190529e+01 -100.00 +3.000000 9.000000 -7.450121e-07 0.00 0.00 -5.969199 -1.158829e+01 -100.00 +3.000000 9.176091 -8.107014e-07 0.00 0.00 -5.641444 -1.124229e+01 -100.00 +3.000000 9.301030 -8.171101e-07 0.00 0.00 -5.177793 -1.068229e+01 -100.00 +3.000000 9.477121 -8.187123e-07 0.00 0.00 -4.093715 -9.477290e+00 -100.00 +3.000000 9.698970 -8.187123e-07 0.00 0.00 -2.791284 -8.079290e+00 -100.00 +3.000000 10.000000 -8.187123e-07 0.00 0.00 -1.100233 -6.190290e+00 -100.00 +3.000000 10.477121 -8.187123e-07 0.00 0.00 1.756545 -2.941290e+00 -100.00 +3.000000 11.000000 -8.187123e-07 0.00 0.00 4.567038 3.947104e-01 -100.00 +4.000000 7.000000 1.922612e-08 0.00 0.00 -7.143978 -1.302429e+01 -100.00 +4.000000 8.000000 8.010883e-09 0.00 0.00 -7.218464 -1.309829e+01 -100.00 +4.000000 8.301030 -2.082830e-08 0.00 0.00 -7.274399 -1.314829e+01 -100.00 +4.000000 8.602060 -1.073458e-07 0.00 0.00 -6.917460 -1.261229e+01 -100.00 +4.000000 8.845098 -2.787787e-07 0.00 0.00 -6.257215 -1.188529e+01 -100.00 +4.000000 9.000000 -4.838573e-07 0.00 0.00 -5.953899 -1.157529e+01 -100.00 +4.000000 9.176091 -7.434100e-07 0.00 0.00 -5.634532 -1.123529e+01 -100.00 +4.000000 9.301030 -7.962818e-07 0.00 0.00 -5.174694 -1.067929e+01 -100.00 +4.000000 9.477121 -8.123036e-07 0.00 0.00 -4.093030 -9.476290e+00 -100.00 +4.000000 9.698970 -8.171101e-07 0.00 0.00 -2.791062 -8.079290e+00 -100.00 +4.000000 10.000000 -8.187123e-07 0.00 0.00 -1.100233 -6.190290e+00 -100.00 +4.000000 10.477121 -8.187123e-07 0.00 0.00 1.756545 -2.941290e+00 -100.00 +4.000000 11.000000 -8.187123e-07 0.00 0.00 4.567038 3.947104e-01 -100.00 +5.000000 7.000000 8.491536e-08 0.00 0.00 -6.531161 -1.240329e+01 -100.00 +5.000000 8.000000 8.331318e-08 0.00 0.00 -6.535828 -1.240729e+01 -100.00 +5.000000 8.301030 7.530230e-08 0.00 0.00 -6.547748 -1.241729e+01 -100.00 +5.000000 8.602060 4.165659e-08 0.00 0.00 -6.451858 -1.223429e+01 -100.00 +5.000000 8.845098 -4.165659e-08 0.00 0.00 -6.068661 -1.173129e+01 -100.00 +5.000000 9.000000 -1.570133e-07 0.00 0.00 -5.819785 -1.145429e+01 -100.00 +5.000000 9.176091 -3.941355e-07 0.00 0.00 -5.540428 -1.114429e+01 -100.00 +5.000000 9.301030 -6.136337e-07 0.00 0.00 -5.135174 -1.064329e+01 -100.00 +5.000000 9.477121 -7.626361e-07 0.00 0.00 -4.086733 -9.469290e+00 -100.00 +5.000000 9.698970 -8.042927e-07 0.00 0.00 -2.789275 -8.077290e+00 -100.00 +5.000000 10.000000 -8.155079e-07 0.00 0.00 -1.099233 -6.190290e+00 -100.00 +5.000000 10.477121 -8.187123e-07 0.00 0.00 1.756545 -2.941290e+00 -100.00 +5.000000 11.000000 -8.187123e-07 0.00 0.00 4.567038 3.947104e-01 -100.00 +6.000000 7.000000 3.444680e-07 0.00 0.00 -5.665057 -1.151229e+01 -100.00 +6.000000 8.000000 3.428658e-07 0.00 0.00 -5.665057 -1.151029e+01 -100.00 +6.000000 8.301030 3.412636e-07 0.00 0.00 -5.661938 -1.150729e+01 -100.00 +6.000000 8.602060 3.316506e-07 0.00 0.00 -5.615084 -1.142629e+01 -100.00 +6.000000 8.845098 3.028114e-07 0.00 0.00 -5.425421 -1.113829e+01 -100.00 +6.000000 9.000000 2.579504e-07 0.00 0.00 -5.254582 -1.091629e+01 -100.00 +6.000000 9.176091 1.490024e-07 0.00 0.00 -5.034578 -1.064429e+01 -100.00 +6.000000 9.301030 1.602177e-09 0.00 0.00 -4.780142 -1.031029e+01 -100.00 +6.000000 9.477121 -3.396614e-07 0.00 0.00 -4.003284 -9.385290e+00 -100.00 +6.000000 9.698970 -6.729142e-07 0.00 0.00 -2.769201 -8.050290e+00 -100.00 +6.000000 10.000000 -7.866687e-07 0.00 0.00 -1.092706 -6.183290e+00 -100.00 +6.000000 10.477121 -8.155079e-07 0.00 0.00 1.756545 -2.940290e+00 -100.00 +6.000000 11.000000 -8.187123e-07 0.00 0.00 4.567038 3.947104e-01 -100.00 +7.000000 7.000000 1.140750e-06 0.00 0.00 -4.358806 -1.014129e+01 -100.00 +7.000000 8.000000 1.139148e-06 0.00 0.00 -4.357806 -1.014029e+01 -100.00 +7.000000 8.301030 1.139148e-06 0.00 0.00 -4.355800 -1.013829e+01 -100.00 +7.000000 8.602060 1.134341e-06 0.00 0.00 -4.333132 -1.010029e+01 -100.00 +7.000000 8.845098 1.123126e-06 0.00 0.00 -4.232138 -9.941290e+00 -100.00 +7.000000 9.000000 1.103900e-06 0.00 0.00 -4.122810 -9.784290e+00 -100.00 +7.000000 9.176091 1.060641e-06 0.00 0.00 -3.965142 -9.572290e+00 -100.00 +7.000000 9.301030 9.965539e-07 0.00 0.00 -3.811776 -9.359290e+00 -100.00 +7.000000 9.477121 8.171101e-07 0.00 0.00 -3.421915 -8.813290e+00 -100.00 +7.000000 9.698970 2.996070e-07 0.00 0.00 -2.535933 -7.770290e+00 -100.00 +7.000000 10.000000 -5.046856e-07 0.00 0.00 -1.027814 -6.111290e+00 -100.00 +7.000000 10.477121 -7.850666e-07 0.00 0.00 1.759514 -2.937290e+00 -100.00 +7.000000 11.000000 -8.155079e-07 0.00 0.00 4.567038 3.947104e-01 -100.00 +8.000000 7.000000 3.101814e-06 0.00 0.00 -2.446998 -8.087290e+00 -100.00 +8.000000 8.000000 3.101814e-06 0.00 0.00 -2.445998 -8.086290e+00 -100.00 +8.000000 8.301030 3.100212e-06 0.00 0.00 -2.444998 -8.085290e+00 -100.00 +8.000000 8.602060 3.098610e-06 0.00 0.00 -2.437989 -8.073290e+00 -100.00 +8.000000 8.845098 3.093803e-06 0.00 0.00 -2.402943 -8.018290e+00 -100.00 +8.000000 9.000000 3.085792e-06 0.00 0.00 -2.360894 -7.952290e+00 -100.00 +8.000000 9.176091 3.064964e-06 0.00 0.00 -2.288815 -7.849290e+00 -100.00 +8.000000 9.301030 3.036125e-06 0.00 0.00 -2.213574 -7.743290e+00 -100.00 +8.000000 9.477121 2.954414e-06 0.00 0.00 -2.025688 -7.469290e+00 -100.00 +8.000000 9.698970 2.693259e-06 0.00 0.00 -1.520319 -6.764290e+00 -100.00 +8.000000 10.000000 1.573337e-06 0.00 0.00 -0.491245 -5.552290e+00 -100.00 +8.000000 10.477121 -4.838573e-07 0.00 0.00 1.790233 -2.906290e+00 -100.00 +8.000000 11.000000 -7.882709e-07 0.00 0.00 4.568038 3.957104e-01 -100.00 +9.000000 7.000000 7.480563e-06 0.00 0.00 0.248000 -5.230290e+00 -100.00 +9.000000 8.000000 7.480563e-06 0.00 0.00 0.248000 -5.230290e+00 -100.00 +9.000000 8.301030 7.480563e-06 0.00 0.00 0.249000 -5.229290e+00 -100.00 +9.000000 8.602060 7.480563e-06 0.00 0.00 0.250000 -5.228290e+00 -100.00 +9.000000 8.845098 7.477358e-06 0.00 0.00 0.252000 -5.222290e+00 -100.00 +9.000000 9.000000 7.474154e-06 0.00 0.00 0.256000 -5.213290e+00 -100.00 +9.000000 9.176091 7.464541e-06 0.00 0.00 0.266001 -5.195290e+00 -100.00 +9.000000 9.301030 7.450121e-06 0.00 0.00 0.281001 -5.170290e+00 -100.00 +9.000000 9.477121 7.413271e-06 0.00 0.00 0.324015 -5.099290e+00 -100.00 +9.000000 9.698970 7.291506e-06 0.00 0.00 0.456193 -4.874290e+00 -100.00 +9.000000 10.000000 6.724335e-06 0.00 0.00 0.881313 -4.206290e+00 -100.00 +9.000000 10.477121 2.340780e-06 0.00 0.00 2.077294 -2.616290e+00 -100.00 +9.000000 11.000000 -5.191052e-07 0.00 0.00 4.576037 4.037104e-01 -100.00 +10.000000 7.000000 1.699429e-05 0.00 0.00 2.669000 -2.340290e+00 -100.00 +10.000000 8.000000 1.699429e-05 0.00 0.00 2.669000 -2.340290e+00 -100.00 +10.000000 8.301030 1.699429e-05 0.00 0.00 2.669000 -2.340290e+00 -100.00 +10.000000 8.602060 1.699429e-05 0.00 0.00 2.669000 -2.340290e+00 -100.00 +10.000000 8.845098 1.699269e-05 0.00 0.00 2.669000 -2.340290e+00 -100.00 +10.000000 9.000000 1.699108e-05 0.00 0.00 2.668000 -2.340290e+00 -100.00 +10.000000 9.176091 1.698628e-05 0.00 0.00 2.668000 -2.339290e+00 -100.00 +10.000000 9.301030 1.697987e-05 0.00 0.00 2.669000 -2.337290e+00 -100.00 +10.000000 9.477121 1.696224e-05 0.00 0.00 2.673000 -2.330290e+00 -100.00 +10.000000 9.698970 1.690617e-05 0.00 0.00 2.688001 -2.302290e+00 -100.00 +10.000000 10.000000 1.664181e-05 0.00 0.00 2.759017 -2.169290e+00 -100.00 +10.000000 10.477121 1.386203e-05 0.00 0.00 3.178192 -1.483290e+00 -100.00 +10.000000 11.000000 2.164541e-06 0.00 0.00 4.659032 4.867104e-01 -100.00 +11.000000 7.000000 3.752778e-05 0.00 0.00 4.604000 2.371039e-02 -100.00 +11.000000 8.000000 3.752778e-05 0.00 0.00 4.604000 2.371039e-02 -100.00 +11.000000 8.301030 3.752778e-05 0.00 0.00 4.604000 2.371039e-02 -100.00 +11.000000 8.602060 3.752778e-05 0.00 0.00 4.604000 2.371039e-02 -100.00 +11.000000 8.845098 3.752618e-05 0.00 0.00 4.603000 2.371039e-02 -100.00 +11.000000 9.000000 3.752618e-05 0.00 0.00 4.603000 2.271039e-02 -100.00 +11.000000 9.176091 3.752298e-05 0.00 0.00 4.603000 2.271039e-02 -100.00 +11.000000 9.301030 3.752137e-05 0.00 0.00 4.603000 2.271039e-02 -100.00 +11.000000 9.477121 3.751176e-05 0.00 0.00 4.603000 2.371039e-02 -100.00 +11.000000 9.698970 3.748613e-05 0.00 0.00 4.605000 2.771039e-02 -100.00 +11.000000 10.000000 3.736436e-05 0.00 0.00 4.619000 5.271039e-02 -100.00 +11.000000 10.477121 3.605538e-05 0.00 0.00 4.727005 2.397104e-01 -100.00 +11.000000 11.000000 2.244810e-05 0.00 0.00 5.265010 1.107710e+00 -100.00 diff --git a/networks/he-burn/he-burn-36a/56co-56ni_betadecay.dat b/networks/he-burn/he-burn-36a/56co-56ni_betadecay.dat new file mode 100644 index 0000000000..79018561c3 --- /dev/null +++ b/networks/he-burn/he-burn-36a/56co-56ni_betadecay.dat @@ -0,0 +1,148 @@ +!56co -> 56ni, beta-decay +!Q=1.624 MeV +! +!Log(rhoY) Log(temp) mu dQ VS Log(beta-decay-rate) Log(nu-energy-loss) Log(gamma-energy) +!Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +1.000000 7.000000 -4.806530e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +1.000000 8.000000 -9.292624e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +1.000000 8.301030 -2.146917e-07 0.00 0.00 -69.758981 -7.612229e+01 -100.00 +1.000000 8.602060 -4.902661e-07 0.00 0.00 -37.768387 -4.395729e+01 -100.00 +1.000000 8.845098 -8.058948e-07 0.00 0.00 -23.052703 -2.897729e+01 -100.00 +1.000000 9.000000 -8.187123e-07 0.00 0.00 -17.768950 -2.366129e+01 -100.00 +1.000000 9.176091 -8.187123e-07 0.00 0.00 -13.483500 -1.931729e+01 -100.00 +1.000000 9.301030 -8.187123e-07 0.00 0.00 -11.090722 -1.689029e+01 -100.00 +1.000000 9.477121 -8.187123e-07 0.00 0.00 -8.426201 -1.416229e+01 -100.00 +1.000000 9.698970 -8.187123e-07 0.00 0.00 -6.028675 -1.151229e+01 -100.00 +1.000000 10.000000 -8.187123e-07 0.00 0.00 -3.404715 -8.551290e+00 -100.00 +1.000000 10.477121 -8.187123e-07 0.00 0.00 0.008204 -4.678290e+00 -100.00 +1.000000 11.000000 -8.187123e-07 0.00 0.00 2.897241 -1.273290e+00 -100.00 +2.000000 7.000000 -1.602177e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +2.000000 8.000000 -6.088271e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +2.000000 8.301030 -1.522068e-07 0.00 0.00 -69.758998 -7.612329e+01 -100.00 +2.000000 8.602060 -3.636941e-07 0.00 0.00 -37.910850 -4.424529e+01 -100.00 +2.000000 8.845098 -7.145708e-07 0.00 0.00 -23.428328 -2.937629e+01 -100.00 +2.000000 9.000000 -8.107014e-07 0.00 0.00 -17.788058 -2.368129e+01 -100.00 +2.000000 9.176091 -8.187123e-07 0.00 0.00 -13.485050 -1.931829e+01 -100.00 +2.000000 9.301030 -8.187123e-07 0.00 0.00 -11.090722 -1.689129e+01 -100.00 +2.000000 9.477121 -8.187123e-07 0.00 0.00 -8.426201 -1.416229e+01 -100.00 +2.000000 9.698970 -8.187123e-07 0.00 0.00 -6.028675 -1.151229e+01 -100.00 +2.000000 10.000000 -8.187123e-07 0.00 0.00 -3.404715 -8.551290e+00 -100.00 +2.000000 10.477121 -8.187123e-07 0.00 0.00 0.008204 -4.678290e+00 -100.00 +2.000000 11.000000 -8.187123e-07 0.00 0.00 2.897241 -1.273290e+00 -100.00 +3.000000 7.000000 3.204353e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +3.000000 8.000000 -2.883918e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +3.000000 8.301030 -8.811971e-08 0.00 0.00 -69.760000 -7.612429e+01 -100.00 +3.000000 8.602060 -2.355200e-07 0.00 0.00 -37.929051 -4.428929e+01 -100.00 +3.000000 8.845098 -5.030835e-07 0.00 0.00 -24.062933 -3.017529e+01 -100.00 +3.000000 9.000000 -7.450121e-07 0.00 0.00 -17.970447 -2.387829e+01 -100.00 +3.000000 9.176091 -8.107014e-07 0.00 0.00 -13.496085 -1.933129e+01 -100.00 +3.000000 9.301030 -8.171101e-07 0.00 0.00 -11.092307 -1.689329e+01 -100.00 +3.000000 9.477121 -8.187123e-07 0.00 0.00 -8.426201 -1.416329e+01 -100.00 +3.000000 9.698970 -8.187123e-07 0.00 0.00 -6.028675 -1.151229e+01 -100.00 +3.000000 10.000000 -8.187123e-07 0.00 0.00 -3.404715 -8.551290e+00 -100.00 +3.000000 10.477121 -8.187123e-07 0.00 0.00 0.008204 -4.678290e+00 -100.00 +3.000000 11.000000 -8.187123e-07 0.00 0.00 2.897241 -1.273290e+00 -100.00 +4.000000 7.000000 1.922612e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +4.000000 8.000000 8.010883e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +4.000000 8.301030 -2.082830e-08 0.00 0.00 -69.773000 -7.614229e+01 -100.00 +4.000000 8.602060 -1.073458e-07 0.00 0.00 -37.938809 -4.430529e+01 -100.00 +4.000000 8.845098 -2.787787e-07 0.00 0.00 -24.275558 -3.058529e+01 -100.00 +4.000000 9.000000 -4.838573e-07 0.00 0.00 -18.541193 -2.458029e+01 -100.00 +4.000000 9.176091 -7.434100e-07 0.00 0.00 -13.600964 -1.944629e+01 -100.00 +4.000000 9.301030 -7.962818e-07 0.00 0.00 -11.108896 -1.691229e+01 -100.00 +4.000000 9.477121 -8.123036e-07 0.00 0.00 -8.428553 -1.416629e+01 -100.00 +4.000000 9.698970 -8.171101e-07 0.00 0.00 -6.028675 -1.151329e+01 -100.00 +4.000000 10.000000 -8.187123e-07 0.00 0.00 -3.404715 -8.551290e+00 -100.00 +4.000000 10.477121 -8.187123e-07 0.00 0.00 0.008204 -4.678290e+00 -100.00 +4.000000 11.000000 -8.187123e-07 0.00 0.00 2.897241 -1.273290e+00 -100.00 +5.000000 7.000000 8.491536e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +5.000000 8.000000 8.331318e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +5.000000 8.301030 7.530230e-08 0.00 0.00 -69.870000 -7.627929e+01 -100.00 +5.000000 8.602060 4.165659e-08 0.00 0.00 -38.016985 -4.441029e+01 -100.00 +5.000000 8.845098 -4.165659e-08 0.00 0.00 -24.356950 -3.072629e+01 -100.00 +5.000000 9.000000 -1.570133e-07 0.00 0.00 -18.824908 -2.506929e+01 -100.00 +5.000000 9.176091 -3.941355e-07 0.00 0.00 -13.980828 -1.990129e+01 -100.00 +5.000000 9.301030 -6.136337e-07 0.00 0.00 -11.234267 -1.706829e+01 -100.00 +5.000000 9.477121 -7.626361e-07 0.00 0.00 -8.446387 -1.419329e+01 -100.00 +5.000000 9.698970 -8.042927e-07 0.00 0.00 -6.033804 -1.151929e+01 -100.00 +5.000000 10.000000 -8.155079e-07 0.00 0.00 -3.405601 -8.552290e+00 -100.00 +5.000000 10.477121 -8.187123e-07 0.00 0.00 0.008204 -4.678290e+00 -100.00 +5.000000 11.000000 -8.187123e-07 0.00 0.00 2.897241 -1.273290e+00 -100.00 +6.000000 7.000000 3.444680e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +6.000000 8.000000 3.428658e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +6.000000 8.301030 3.412636e-07 0.00 0.00 -70.529000 -7.717829e+01 -100.00 +6.000000 8.602060 3.316506e-07 0.00 0.00 -38.608000 -4.518429e+01 -100.00 +6.000000 8.845098 3.028114e-07 0.00 0.00 -24.815753 -3.129129e+01 -100.00 +6.000000 9.000000 2.579504e-07 0.00 0.00 -19.175805 -2.548729e+01 -100.00 +6.000000 9.176091 1.490024e-07 0.00 0.00 -14.229062 -2.020929e+01 -100.00 +6.000000 9.301030 1.602177e-09 0.00 0.00 -11.447153 -1.735229e+01 -100.00 +6.000000 9.477121 -3.396614e-07 0.00 0.00 -8.563413 -1.437729e+01 -100.00 +6.000000 9.698970 -6.729142e-07 0.00 0.00 -6.077307 -1.158329e+01 -100.00 +6.000000 10.000000 -7.866687e-07 0.00 0.00 -3.412800 -8.560290e+00 -100.00 +6.000000 10.477121 -8.155079e-07 0.00 0.00 0.008204 -4.679290e+00 -100.00 +6.000000 11.000000 -8.187123e-07 0.00 0.00 2.897241 -1.273290e+00 -100.00 +7.000000 7.000000 1.140750e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +7.000000 8.000000 1.139148e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +7.000000 8.301030 1.139148e-06 0.00 0.00 -80.670000 -8.774329e+01 -100.00 +7.000000 8.602060 1.134341e-06 0.00 0.00 -43.872000 -5.066029e+01 -100.00 +7.000000 8.845098 1.123126e-06 0.00 0.00 -27.608968 -3.396729e+01 -100.00 +7.000000 9.000000 1.103900e-06 0.00 0.00 -20.520799 -2.667329e+01 -100.00 +7.000000 9.176091 1.060641e-06 0.00 0.00 -14.782228 -2.084629e+01 -100.00 +7.000000 9.301030 9.965539e-07 0.00 0.00 -11.862087 -1.787129e+01 -100.00 +7.000000 9.477121 8.171101e-07 0.00 0.00 -8.885633 -1.480829e+01 -100.00 +7.000000 9.698970 2.996070e-07 0.00 0.00 -6.353840 -1.200229e+01 -100.00 +7.000000 10.000000 -5.046856e-07 0.00 0.00 -3.490730 -8.644290e+00 -100.00 +7.000000 10.477121 -7.850666e-07 0.00 0.00 0.005223 -4.682290e+00 -100.00 +7.000000 11.000000 -8.155079e-07 0.00 0.00 2.897241 -1.273290e+00 -100.00 +8.000000 7.000000 3.101814e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +8.000000 8.000000 3.101814e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +8.000000 8.301030 3.100212e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +8.000000 8.602060 3.098610e-06 0.00 0.00 -57.166000 -6.396229e+01 -100.00 +8.000000 8.845098 3.093803e-06 0.00 0.00 -34.496000 -4.105829e+01 -100.00 +8.000000 9.000000 3.085792e-06 0.00 0.00 -25.279993 -3.169429e+01 -100.00 +8.000000 9.176091 3.064964e-06 0.00 0.00 -17.977924 -2.423329e+01 -100.00 +8.000000 9.301030 3.036125e-06 0.00 0.00 -14.248711 -2.039929e+01 -100.00 +8.000000 9.477121 2.954414e-06 0.00 0.00 -10.427337 -1.643629e+01 -100.00 +8.000000 9.698970 2.693259e-06 0.00 0.00 -7.230557 -1.301329e+01 -100.00 +8.000000 10.000000 1.573337e-06 0.00 0.00 -4.034886 -9.249290e+00 -100.00 +8.000000 10.477121 -4.838573e-07 0.00 0.00 -0.025538 -4.713290e+00 -100.00 +8.000000 11.000000 -7.882709e-07 0.00 0.00 2.896241 -1.274290e+00 -100.00 +9.000000 7.000000 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.000000 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.301030 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.602060 7.480563e-06 0.00 0.00 -91.260000 -9.805129e+01 -100.00 +9.000000 8.845098 7.477358e-06 0.00 0.00 -53.829000 -6.038529e+01 -100.00 +9.000000 9.000000 7.474154e-06 0.00 0.00 -38.713997 -4.512229e+01 -100.00 +9.000000 9.176091 7.464541e-06 0.00 0.00 -26.825968 -3.306929e+01 -100.00 +9.000000 9.301030 7.450121e-06 0.00 0.00 -20.800883 -2.693229e+01 -100.00 +9.000000 9.477121 7.413271e-06 0.00 0.00 -14.679373 -2.066129e+01 -100.00 +9.000000 9.698970 7.291506e-06 0.00 0.00 -9.649275 -1.543829e+01 -100.00 +9.000000 10.000000 6.724335e-06 0.00 0.00 -5.349182 -1.070929e+01 -100.00 +9.000000 10.477121 2.340780e-06 0.00 0.00 -0.314835 -5.005290e+00 -100.00 +9.000000 11.000000 -5.191052e-07 0.00 0.00 2.888245 -1.283290e+00 -100.00 +10.000000 7.000000 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.000000 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.301030 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.602060 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.845098 1.699269e-05 0.00 0.00 -96.456875 -1.030123e+02 -100.00 +10.000000 9.000000 1.699108e-05 0.00 0.00 -68.515998 -7.492229e+01 -100.00 +10.000000 9.176091 1.698628e-05 0.00 0.00 -46.652977 -5.289529e+01 -100.00 +10.000000 9.301030 1.697987e-05 0.00 0.00 -35.641916 -4.177129e+01 -100.00 +10.000000 9.477121 1.696224e-05 0.00 0.00 -24.534564 -3.051129e+01 -100.00 +10.000000 9.698970 1.690617e-05 0.00 0.00 -15.515939 -2.129929e+01 -100.00 +10.000000 10.000000 1.664181e-05 0.00 0.00 -8.277386 -1.369229e+01 -100.00 +10.000000 10.477121 1.386203e-05 0.00 0.00 -1.500293 -6.204290e+00 -100.00 +10.000000 11.000000 2.164541e-06 0.00 0.00 2.805283 -1.366290e+00 -100.00 +11.000000 7.000000 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.000000 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.301030 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.602060 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.845098 3.752618e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 9.000000 3.752618e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 9.176091 3.752298e-05 0.00 0.00 -89.673979 -9.591429e+01 -100.00 +11.000000 9.301030 3.752137e-05 0.00 0.00 -67.899925 -7.402629e+01 -100.00 +11.000000 9.477121 3.751176e-05 0.00 0.00 -46.030612 -5.200129e+01 -100.00 +11.000000 9.698970 3.748613e-05 0.00 0.00 -28.401609 -3.417629e+01 -100.00 +11.000000 10.000000 3.736436e-05 0.00 0.00 -14.685801 -2.010129e+01 -100.00 +11.000000 10.477121 3.605538e-05 0.00 0.00 -3.782003 -8.507290e+00 -100.00 +11.000000 11.000000 2.244810e-05 0.00 0.00 2.173693 -2.000290e+00 -100.00 diff --git a/networks/he-burn/he-burn-36a/56fe-56co_betadecay.dat b/networks/he-burn/he-burn-36a/56fe-56co_betadecay.dat new file mode 100644 index 0000000000..3acdfa17ab --- /dev/null +++ b/networks/he-burn/he-burn-36a/56fe-56co_betadecay.dat @@ -0,0 +1,148 @@ +!56fe -> 56co, beta-decay +!Q=4.055 MeV +! +!Log(rhoY) Log(temp) mu dQ VS Log(beta-decay-rate) Log(nu-energy-loss) Log(gamma-energy) +!Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +1.000000 7.000000 -4.806530e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +1.000000 8.000000 -9.292624e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +1.000000 8.301030 -2.146917e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +1.000000 8.602060 -4.902661e-07 0.00 0.00 -62.854802 -6.958329e+01 -100.00 +1.000000 8.845098 -8.058948e-07 0.00 0.00 -37.268611 -4.373429e+01 -100.00 +1.000000 9.000000 -8.187123e-07 0.00 0.00 -27.644755 -3.392829e+01 -100.00 +1.000000 9.176091 -8.187123e-07 0.00 0.00 -19.855923 -2.592829e+01 -100.00 +1.000000 9.301030 -8.187123e-07 0.00 0.00 -15.693996 -2.162029e+01 -100.00 +1.000000 9.477121 -8.187123e-07 0.00 0.00 -11.062186 -1.678829e+01 -100.00 +1.000000 9.698970 -8.187123e-07 0.00 0.00 -6.686280 -1.221529e+01 -100.00 +1.000000 10.000000 -8.187123e-07 0.00 0.00 -2.996418 -8.200290e+00 -100.00 +1.000000 10.477121 -8.187123e-07 0.00 0.00 0.330264 -4.328290e+00 -100.00 +1.000000 11.000000 -8.187123e-07 0.00 0.00 3.050101 -1.107290e+00 -100.00 +2.000000 7.000000 -1.602177e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +2.000000 8.000000 -6.088271e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +2.000000 8.301030 -1.522068e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +2.000000 8.602060 -3.636941e-07 0.00 0.00 -63.853019 -7.058129e+01 -100.00 +2.000000 8.845098 -7.145708e-07 0.00 0.00 -37.680995 -4.414629e+01 -100.00 +2.000000 9.000000 -8.107014e-07 0.00 0.00 -27.666587 -3.394929e+01 -100.00 +2.000000 9.176091 -8.187123e-07 0.00 0.00 -19.856877 -2.592929e+01 -100.00 +2.000000 9.301030 -8.187123e-07 0.00 0.00 -15.693996 -2.162029e+01 -100.00 +2.000000 9.477121 -8.187123e-07 0.00 0.00 -11.062186 -1.678829e+01 -100.00 +2.000000 9.698970 -8.187123e-07 0.00 0.00 -6.686280 -1.221529e+01 -100.00 +2.000000 10.000000 -8.187123e-07 0.00 0.00 -2.996418 -8.200290e+00 -100.00 +2.000000 10.477121 -8.187123e-07 0.00 0.00 0.330264 -4.328290e+00 -100.00 +2.000000 11.000000 -8.187123e-07 0.00 0.00 3.050101 -1.107290e+00 -100.00 +3.000000 7.000000 3.204353e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +3.000000 8.000000 -2.883918e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +3.000000 8.301030 -8.811971e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +3.000000 8.602060 -2.355200e-07 0.00 0.00 -64.836633 -7.156029e+01 -100.00 +3.000000 8.845098 -5.030835e-07 0.00 0.00 -38.621182 -4.508829e+01 -100.00 +3.000000 9.000000 -7.450121e-07 0.00 0.00 -27.870529 -3.415429e+01 -100.00 +3.000000 9.176091 -8.107014e-07 0.00 0.00 -19.871187 -2.594329e+01 -100.00 +3.000000 9.301030 -8.171101e-07 0.00 0.00 -15.697494 -2.162329e+01 -100.00 +3.000000 9.477121 -8.187123e-07 0.00 0.00 -11.062186 -1.678929e+01 -100.00 +3.000000 9.698970 -8.187123e-07 0.00 0.00 -6.686280 -1.221629e+01 -100.00 +3.000000 10.000000 -8.187123e-07 0.00 0.00 -2.996418 -8.200290e+00 -100.00 +3.000000 10.477121 -8.187123e-07 0.00 0.00 0.330264 -4.328290e+00 -100.00 +3.000000 11.000000 -8.187123e-07 0.00 0.00 3.050101 -1.107290e+00 -100.00 +4.000000 7.000000 1.922612e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +4.000000 8.000000 8.010883e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +4.000000 8.301030 -2.082830e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +4.000000 8.602060 -1.073458e-07 0.00 0.00 -65.710200 -7.239829e+01 -100.00 +4.000000 8.845098 -2.787787e-07 0.00 0.00 -39.555480 -4.603329e+01 -100.00 +4.000000 9.000000 -4.838573e-07 0.00 0.00 -28.663301 -3.495229e+01 -100.00 +4.000000 9.176091 -7.434100e-07 0.00 0.00 -20.004525 -2.607829e+01 -100.00 +4.000000 9.301030 -7.962818e-07 0.00 0.00 -15.724463 -2.165129e+01 -100.00 +4.000000 9.477121 -8.123036e-07 0.00 0.00 -11.065920 -1.679229e+01 -100.00 +4.000000 9.698970 -8.171101e-07 0.00 0.00 -6.686696 -1.221629e+01 -100.00 +4.000000 10.000000 -8.187123e-07 0.00 0.00 -2.997055 -8.200290e+00 -100.00 +4.000000 10.477121 -8.187123e-07 0.00 0.00 0.330264 -4.328290e+00 -100.00 +4.000000 11.000000 -8.187123e-07 0.00 0.00 3.050101 -1.107290e+00 -100.00 +5.000000 7.000000 8.491536e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +5.000000 8.000000 8.331318e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +5.000000 8.301030 7.530230e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +5.000000 8.602060 4.165659e-08 0.00 0.00 -66.280944 -7.293929e+01 -100.00 +5.000000 8.845098 -4.165659e-08 0.00 0.00 -40.233201 -4.675229e+01 -100.00 +5.000000 9.000000 -1.570133e-07 0.00 0.00 -29.472432 -3.579129e+01 -100.00 +5.000000 9.176091 -3.941355e-07 0.00 0.00 -20.635643 -2.672229e+01 -100.00 +5.000000 9.301030 -6.136337e-07 0.00 0.00 -15.962004 -2.189129e+01 -100.00 +5.000000 9.477121 -7.626361e-07 0.00 0.00 -11.098460 -1.682529e+01 -100.00 +5.000000 9.698970 -8.042927e-07 0.00 0.00 -6.690003 -1.222029e+01 -100.00 +5.000000 10.000000 -8.155079e-07 0.00 0.00 -2.997418 -8.201290e+00 -100.00 +5.000000 10.477121 -8.187123e-07 0.00 0.00 0.330264 -4.328290e+00 -100.00 +5.000000 11.000000 -8.187123e-07 0.00 0.00 3.050101 -1.107290e+00 -100.00 +6.000000 7.000000 3.444680e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +6.000000 8.000000 3.428658e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +6.000000 8.301030 3.412636e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +6.000000 8.602060 3.316506e-07 0.00 0.00 -67.639813 -7.445329e+01 -100.00 +6.000000 8.845098 3.028114e-07 0.00 0.00 -41.062948 -4.760029e+01 -100.00 +6.000000 9.000000 2.579504e-07 0.00 0.00 -30.122111 -3.646829e+01 -100.00 +6.000000 9.176091 1.490024e-07 0.00 0.00 -21.260917 -2.738129e+01 -100.00 +6.000000 9.301030 1.602177e-09 0.00 0.00 -16.518405 -2.245629e+01 -100.00 +6.000000 9.477121 -3.396614e-07 0.00 0.00 -11.315505 -1.704429e+01 -100.00 +6.000000 9.698970 -6.729142e-07 0.00 0.00 -6.724397 -1.226129e+01 -100.00 +6.000000 10.000000 -7.866687e-07 0.00 0.00 -3.003133 -8.208290e+00 -100.00 +6.000000 10.477121 -8.155079e-07 0.00 0.00 0.330264 -4.328290e+00 -100.00 +6.000000 11.000000 -8.187123e-07 0.00 0.00 3.050101 -1.107290e+00 -100.00 +7.000000 7.000000 1.140750e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +7.000000 8.000000 1.139148e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +7.000000 8.301030 1.139148e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +7.000000 8.602060 1.134341e-06 0.00 0.00 -73.044885 -7.985329e+01 -100.00 +7.000000 8.845098 1.123126e-06 0.00 0.00 -43.824626 -5.039029e+01 -100.00 +7.000000 9.000000 1.103900e-06 0.00 0.00 -31.873401 -3.821729e+01 -100.00 +7.000000 9.176091 1.060641e-06 0.00 0.00 -22.193492 -2.828029e+01 -100.00 +7.000000 9.301030 9.965539e-07 0.00 0.00 -17.093479 -2.302529e+01 -100.00 +7.000000 9.477121 8.171101e-07 0.00 0.00 -11.651187 -1.739629e+01 -100.00 +7.000000 9.698970 2.996070e-07 0.00 0.00 -6.909866 -1.248929e+01 -100.00 +7.000000 10.000000 -5.046856e-07 0.00 0.00 -3.060643 -8.280290e+00 -100.00 +7.000000 10.477121 -7.850666e-07 0.00 0.00 0.327313 -4.331290e+00 -100.00 +7.000000 11.000000 -8.155079e-07 0.00 0.00 3.050101 -1.107290e+00 -100.00 +8.000000 7.000000 3.101814e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +8.000000 8.000000 3.101814e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +8.000000 8.301030 3.100212e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +8.000000 8.602060 3.098610e-06 0.00 0.00 -87.073958 -9.383229e+01 -100.00 +8.000000 8.845098 3.093803e-06 0.00 0.00 -51.036924 -5.748829e+01 -100.00 +8.000000 9.000000 3.085792e-06 0.00 0.00 -36.357882 -4.265529e+01 -100.00 +8.000000 9.176091 3.064964e-06 0.00 0.00 -24.714784 -3.083529e+01 -100.00 +8.000000 9.301030 3.036125e-06 0.00 0.00 -18.729642 -2.472029e+01 -100.00 +8.000000 9.477121 2.954414e-06 0.00 0.00 -12.542089 -1.837029e+01 -100.00 +8.000000 9.698970 2.693259e-06 0.00 0.00 -7.403073 -1.306929e+01 -100.00 +8.000000 10.000000 1.573337e-06 0.00 0.00 -3.424626 -8.764290e+00 -100.00 +8.000000 10.477121 -4.838573e-07 0.00 0.00 0.296708 -4.362290e+00 -100.00 +8.000000 11.000000 -7.882709e-07 0.00 0.00 3.049101 -1.108290e+00 -100.00 +9.000000 7.000000 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.000000 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.301030 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.602060 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.845098 7.477358e-06 0.00 0.00 -69.154998 -7.570329e+01 -100.00 +9.000000 9.000000 7.474154e-06 0.00 0.00 -48.719996 -5.511629e+01 -100.00 +9.000000 9.176091 7.464541e-06 0.00 0.00 -32.644989 -3.887129e+01 -100.00 +9.000000 9.301030 7.450121e-06 0.00 0.00 -24.496976 -3.060529e+01 -100.00 +9.000000 9.477121 7.413271e-06 0.00 0.00 -16.231906 -2.218229e+01 -100.00 +9.000000 9.698970 7.291506e-06 0.00 0.00 -9.513029 -1.528229e+01 -100.00 +9.000000 10.000000 6.724335e-06 0.00 0.00 -4.483336 -9.984290e+00 -100.00 +9.000000 10.477121 2.340780e-06 0.00 0.00 0.010989 -4.653290e+00 -100.00 +9.000000 11.000000 -5.191052e-07 0.00 0.00 3.041103 -1.116290e+00 -100.00 +10.000000 7.000000 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.000000 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.301030 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.602060 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.845098 1.699269e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 9.000000 1.699108e-05 0.00 0.00 -78.494997 -8.489429e+01 -100.00 +10.000000 9.176091 1.698628e-05 0.00 0.00 -52.453992 -5.868529e+01 -100.00 +10.000000 9.301030 1.697987e-05 0.00 0.00 -39.326983 -4.544229e+01 -100.00 +10.000000 9.477121 1.696224e-05 0.00 0.00 -26.089934 -3.204829e+01 -100.00 +10.000000 9.698970 1.690617e-05 0.00 0.00 -15.400331 -2.117629e+01 -100.00 +10.000000 10.000000 1.664181e-05 0.00 0.00 -7.403972 -1.292829e+01 -100.00 +10.000000 10.477121 1.386203e-05 0.00 0.00 -1.170819 -5.852290e+00 -100.00 +10.000000 11.000000 2.164541e-06 0.00 0.00 2.959117 -1.199290e+00 -100.00 +11.000000 7.000000 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.000000 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.301030 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.602060 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.845098 3.752618e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 9.000000 3.752618e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 9.176091 3.752298e-05 0.00 0.00 -95.484987 -1.017163e+02 -100.00 +11.000000 9.301030 3.752137e-05 0.00 0.00 -71.596985 -7.771229e+01 -100.00 +11.000000 9.477121 3.751176e-05 0.00 0.00 -47.599940 -5.355729e+01 -100.00 +11.000000 9.698970 3.748613e-05 0.00 0.00 -28.306391 -3.407929e+01 -100.00 +11.000000 10.000000 3.736436e-05 0.00 0.00 -13.865952 -1.938129e+01 -100.00 +11.000000 10.477121 3.605538e-05 0.00 0.00 -3.478059 -8.171290e+00 -100.00 +11.000000 11.000000 2.244810e-05 0.00 0.00 2.328257 -1.833290e+00 -100.00 diff --git a/networks/he-burn/he-burn-36a/56ni-56co_electroncapture.dat b/networks/he-burn/he-burn-36a/56ni-56co_electroncapture.dat new file mode 100644 index 0000000000..cd5be5dc81 --- /dev/null +++ b/networks/he-burn/he-burn-36a/56ni-56co_electroncapture.dat @@ -0,0 +1,148 @@ +!56ni -> 56co, e- capture +!Q=-1.624 MeV +! +!Log(rhoY) Log(temp) mu dQ Vs Log(e-cap-rate) Log(nu-energy-loss) Log(gamma-energy) +!Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +1.000000 7.000000 -4.806530e-09 0.00 0.00 -8.684000 -1.486129e+01 -100.00 +1.000000 8.000000 -9.292624e-08 0.00 0.00 -9.164000 -1.533229e+01 -100.00 +1.000000 8.301030 -2.146917e-07 0.00 0.00 -9.291000 -1.544729e+01 -100.00 +1.000000 8.602060 -4.902661e-07 0.00 0.00 -9.387000 -1.551729e+01 -100.00 +1.000000 8.845098 -8.058948e-07 0.00 0.00 -8.777000 -1.485829e+01 -100.00 +1.000000 9.000000 -8.187123e-07 0.00 0.00 -7.439000 -1.346429e+01 -100.00 +1.000000 9.176091 -8.187123e-07 0.00 0.00 -6.183988 -1.211329e+01 -100.00 +1.000000 9.301030 -8.187123e-07 0.00 0.00 -5.405627 -1.124729e+01 -100.00 +1.000000 9.477121 -8.187123e-07 0.00 0.00 -4.316341 -1.001729e+01 -100.00 +1.000000 9.698970 -8.187123e-07 0.00 0.00 -2.714602 -8.181290e+00 -100.00 +1.000000 10.000000 -8.187123e-07 0.00 0.00 -0.608944 -5.723290e+00 -100.00 +1.000000 10.477121 -8.187123e-07 0.00 0.00 2.014581 -2.678290e+00 -100.00 +1.000000 11.000000 -8.187123e-07 0.00 0.00 4.728024 5.607104e-01 -100.00 +2.000000 7.000000 -1.602177e-09 0.00 0.00 -7.705000 -1.388129e+01 -100.00 +2.000000 8.000000 -6.088271e-08 0.00 0.00 -8.165000 -1.433229e+01 -100.00 +2.000000 8.301030 -1.522068e-07 0.00 0.00 -8.291000 -1.444829e+01 -100.00 +2.000000 8.602060 -3.636941e-07 0.00 0.00 -8.387000 -1.451729e+01 -100.00 +2.000000 8.845098 -7.145708e-07 0.00 0.00 -8.364000 -1.444529e+01 -100.00 +2.000000 9.000000 -8.107014e-07 0.00 0.00 -7.418000 -1.344329e+01 -100.00 +2.000000 9.176091 -8.187123e-07 0.00 0.00 -6.181989 -1.211229e+01 -100.00 +2.000000 9.301030 -8.187123e-07 0.00 0.00 -5.405627 -1.124729e+01 -100.00 +2.000000 9.477121 -8.187123e-07 0.00 0.00 -4.316341 -1.001729e+01 -100.00 +2.000000 9.698970 -8.187123e-07 0.00 0.00 -2.714602 -8.181290e+00 -100.00 +2.000000 10.000000 -8.187123e-07 0.00 0.00 -0.608944 -5.723290e+00 -100.00 +2.000000 10.477121 -8.187123e-07 0.00 0.00 2.014581 -2.678290e+00 -100.00 +2.000000 11.000000 -8.187123e-07 0.00 0.00 4.728024 5.607104e-01 -100.00 +3.000000 7.000000 3.204353e-09 0.00 0.00 -6.834000 -1.300929e+01 -100.00 +3.000000 8.000000 -2.883918e-08 0.00 0.00 -7.171000 -1.333829e+01 -100.00 +3.000000 8.301030 -8.811971e-08 0.00 0.00 -7.293000 -1.344929e+01 -100.00 +3.000000 8.602060 -2.355200e-07 0.00 0.00 -7.388000 -1.351729e+01 -100.00 +3.000000 8.845098 -5.030835e-07 0.00 0.00 -7.417000 -1.349729e+01 -100.00 +3.000000 9.000000 -7.450121e-07 0.00 0.00 -7.212000 -1.323729e+01 -100.00 +3.000000 9.176091 -8.107014e-07 0.00 0.00 -6.167989 -1.209729e+01 -100.00 +3.000000 9.301030 -8.171101e-07 0.00 0.00 -5.402630 -1.124429e+01 -100.00 +3.000000 9.477121 -8.187123e-07 0.00 0.00 -4.315361 -1.001729e+01 -100.00 +3.000000 9.698970 -8.187123e-07 0.00 0.00 -2.714602 -8.181290e+00 -100.00 +3.000000 10.000000 -8.187123e-07 0.00 0.00 -0.608944 -5.723290e+00 -100.00 +3.000000 10.477121 -8.187123e-07 0.00 0.00 2.014581 -2.678290e+00 -100.00 +3.000000 11.000000 -8.187123e-07 0.00 0.00 4.728024 5.607104e-01 -100.00 +4.000000 7.000000 1.922612e-08 0.00 0.00 -6.118000 -1.228929e+01 -100.00 +4.000000 8.000000 8.010883e-09 0.00 0.00 -6.220000 -1.238529e+01 -100.00 +4.000000 8.301030 -2.082830e-08 0.00 0.00 -6.310000 -1.246529e+01 -100.00 +4.000000 8.602060 -1.073458e-07 0.00 0.00 -6.392000 -1.252029e+01 -100.00 +4.000000 8.845098 -2.787787e-07 0.00 0.00 -6.418000 -1.249829e+01 -100.00 +4.000000 9.000000 -4.838573e-07 0.00 0.00 -6.393000 -1.241829e+01 -100.00 +4.000000 9.176091 -7.434100e-07 0.00 0.00 -6.026992 -1.195629e+01 -100.00 +4.000000 9.301030 -7.962818e-07 0.00 0.00 -5.371655 -1.121229e+01 -100.00 +4.000000 9.477121 -8.123036e-07 0.00 0.00 -4.310459 -1.001129e+01 -100.00 +4.000000 9.698970 -8.171101e-07 0.00 0.00 -2.713745 -8.180290e+00 -100.00 +4.000000 10.000000 -8.187123e-07 0.00 0.00 -0.608944 -5.723290e+00 -100.00 +4.000000 10.477121 -8.187123e-07 0.00 0.00 2.014581 -2.678290e+00 -100.00 +4.000000 11.000000 -8.187123e-07 0.00 0.00 4.728024 5.607104e-01 -100.00 +5.000000 7.000000 8.491536e-08 0.00 0.00 -5.384000 -1.153229e+01 -100.00 +5.000000 8.000000 8.331318e-08 0.00 0.00 -5.388000 -1.153329e+01 -100.00 +5.000000 8.301030 7.530230e-08 0.00 0.00 -5.399000 -1.153829e+01 -100.00 +5.000000 8.602060 4.165659e-08 0.00 0.00 -5.421000 -1.153729e+01 -100.00 +5.000000 8.845098 -4.165659e-08 0.00 0.00 -5.423000 -1.149429e+01 -100.00 +5.000000 9.000000 -1.570133e-07 0.00 0.00 -5.395000 -1.141429e+01 -100.00 +5.000000 9.176091 -3.941355e-07 0.00 0.00 -5.304998 -1.123129e+01 -100.00 +5.000000 9.301030 -6.136337e-07 0.00 0.00 -5.086821 -1.092729e+01 -100.00 +5.000000 9.477121 -7.626361e-07 0.00 0.00 -4.258432 -9.960290e+00 -100.00 +5.000000 9.698970 -8.042927e-07 0.00 0.00 -2.706884 -8.174290e+00 -100.00 +5.000000 10.000000 -8.155079e-07 0.00 0.00 -0.608116 -5.722290e+00 -100.00 +5.000000 10.477121 -8.187123e-07 0.00 0.00 2.014581 -2.678290e+00 -100.00 +5.000000 11.000000 -8.187123e-07 0.00 0.00 4.728024 5.607104e-01 -100.00 +6.000000 7.000000 3.444680e-07 0.00 0.00 -4.448000 -1.050329e+01 -100.00 +6.000000 8.000000 3.428658e-07 0.00 0.00 -4.447000 -1.050129e+01 -100.00 +6.000000 8.301030 3.412636e-07 0.00 0.00 -4.444000 -1.049429e+01 -100.00 +6.000000 8.602060 3.316506e-07 0.00 0.00 -4.432000 -1.047129e+01 -100.00 +6.000000 8.845098 3.028114e-07 0.00 0.00 -4.403000 -1.041229e+01 -100.00 +6.000000 9.000000 2.579504e-07 0.00 0.00 -4.363000 -1.033429e+01 -100.00 +6.000000 9.176091 1.490024e-07 0.00 0.00 -4.278000 -1.017529e+01 -100.00 +6.000000 9.301030 1.602177e-09 0.00 0.00 -4.169978 -9.994290e+00 -100.00 +6.000000 9.477121 -3.396614e-07 0.00 0.00 -3.831179 -9.531290e+00 -100.00 +6.000000 9.698970 -6.729142e-07 0.00 0.00 -2.635446 -8.105290e+00 -100.00 +6.000000 10.000000 -7.866687e-07 0.00 0.00 -0.601480 -5.714290e+00 -100.00 +6.000000 10.477121 -8.155079e-07 0.00 0.00 2.015573 -2.677290e+00 -100.00 +6.000000 11.000000 -8.187123e-07 0.00 0.00 4.728024 5.607104e-01 -100.00 +7.000000 7.000000 1.140750e-06 0.00 0.00 -3.134000 -8.963290e+00 -100.00 +7.000000 8.000000 1.139148e-06 0.00 0.00 -3.134000 -8.962290e+00 -100.00 +7.000000 8.301030 1.139148e-06 0.00 0.00 -3.132000 -8.960290e+00 -100.00 +7.000000 8.602060 1.134341e-06 0.00 0.00 -3.127000 -8.951290e+00 -100.00 +7.000000 8.845098 1.123126e-06 0.00 0.00 -3.113000 -8.927290e+00 -100.00 +7.000000 9.000000 1.103900e-06 0.00 0.00 -3.091000 -8.892290e+00 -100.00 +7.000000 9.176091 1.060641e-06 0.00 0.00 -3.039000 -8.809290e+00 -100.00 +7.000000 9.301030 9.965539e-07 0.00 0.00 -2.963999 -8.700290e+00 -100.00 +7.000000 9.477121 8.171101e-07 0.00 0.00 -2.726778 -8.397290e+00 -100.00 +7.000000 9.698970 2.996070e-07 0.00 0.00 -2.078197 -7.561290e+00 -100.00 +7.000000 10.000000 -5.046856e-07 0.00 0.00 -0.527602 -5.637290e+00 -100.00 +7.000000 10.477121 -7.850666e-07 0.00 0.00 2.018548 -2.674290e+00 -100.00 +7.000000 11.000000 -8.155079e-07 0.00 0.00 4.728024 5.607104e-01 -100.00 +8.000000 7.000000 3.101814e-06 0.00 0.00 -1.311000 -6.966290e+00 -100.00 +8.000000 8.000000 3.101814e-06 0.00 0.00 -1.311000 -6.966290e+00 -100.00 +8.000000 8.301030 3.100212e-06 0.00 0.00 -1.310000 -6.965290e+00 -100.00 +8.000000 8.602060 3.098610e-06 0.00 0.00 -1.305000 -6.960290e+00 -100.00 +8.000000 8.845098 3.093803e-06 0.00 0.00 -1.293000 -6.948290e+00 -100.00 +8.000000 9.000000 3.085792e-06 0.00 0.00 -1.275000 -6.929290e+00 -100.00 +8.000000 9.176091 3.064964e-06 0.00 0.00 -1.232000 -6.883290e+00 -100.00 +8.000000 9.301030 3.036125e-06 0.00 0.00 -1.177000 -6.819290e+00 -100.00 +8.000000 9.477121 2.954414e-06 0.00 0.00 -1.038995 -6.646290e+00 -100.00 +8.000000 9.698970 2.693259e-06 0.00 0.00 -0.718361 -6.191290e+00 -100.00 +8.000000 10.000000 1.573337e-06 0.00 0.00 0.045499 -5.049290e+00 -100.00 +8.000000 10.477121 -4.838573e-07 0.00 0.00 2.049328 -2.643290e+00 -100.00 +8.000000 11.000000 -7.882709e-07 0.00 0.00 4.729024 5.607104e-01 -100.00 +9.000000 7.000000 7.480563e-06 0.00 0.00 1.069000 -4.277290e+00 -100.00 +9.000000 8.000000 7.480563e-06 0.00 0.00 1.069000 -4.277290e+00 -100.00 +9.000000 8.301030 7.480563e-06 0.00 0.00 1.069000 -4.277290e+00 -100.00 +9.000000 8.602060 7.480563e-06 0.00 0.00 1.070000 -4.276290e+00 -100.00 +9.000000 8.845098 7.477358e-06 0.00 0.00 1.071000 -4.274290e+00 -100.00 +9.000000 9.000000 7.474154e-06 0.00 0.00 1.073000 -4.270290e+00 -100.00 +9.000000 9.176091 7.464541e-06 0.00 0.00 1.078000 -4.262290e+00 -100.00 +9.000000 9.301030 7.450121e-06 0.00 0.00 1.085000 -4.250290e+00 -100.00 +9.000000 9.477121 7.413271e-06 0.00 0.00 1.104000 -4.217290e+00 -100.00 +9.000000 9.698970 7.291506e-06 0.00 0.00 1.159008 -4.117290e+00 -100.00 +9.000000 10.000000 6.724335e-06 0.00 0.00 1.386790 -3.681290e+00 -100.00 +9.000000 10.477121 2.340780e-06 0.00 0.00 2.334798 -2.353290e+00 -100.00 +9.000000 11.000000 -5.191052e-07 0.00 0.00 4.737024 5.697104e-01 -100.00 +10.000000 7.000000 1.699429e-05 0.00 0.00 3.035000 -1.889290e+00 -100.00 +10.000000 8.000000 1.699429e-05 0.00 0.00 3.034000 -1.889290e+00 -100.00 +10.000000 8.301030 1.699429e-05 0.00 0.00 3.034000 -1.889290e+00 -100.00 +10.000000 8.602060 1.699429e-05 0.00 0.00 3.034000 -1.889290e+00 -100.00 +10.000000 8.845098 1.699269e-05 0.00 0.00 3.035000 -1.888290e+00 -100.00 +10.000000 9.000000 1.699108e-05 0.00 0.00 3.035000 -1.888290e+00 -100.00 +10.000000 9.176091 1.698628e-05 0.00 0.00 3.036000 -1.887290e+00 -100.00 +10.000000 9.301030 1.697987e-05 0.00 0.00 3.037000 -1.885290e+00 -100.00 +10.000000 9.477121 1.696224e-05 0.00 0.00 3.040000 -1.879290e+00 -100.00 +10.000000 9.698970 1.690617e-05 0.00 0.00 3.048000 -1.864290e+00 -100.00 +10.000000 10.000000 1.664181e-05 0.00 0.00 3.084016 -1.782290e+00 -100.00 +10.000000 10.477121 1.386203e-05 0.00 0.00 3.420155 -1.226290e+00 -100.00 +10.000000 11.000000 2.164541e-06 0.00 0.00 4.819021 6.527104e-01 -100.00 +11.000000 7.000000 3.752778e-05 0.00 0.00 4.825000 2.827104e-01 -100.00 +11.000000 8.000000 3.752778e-05 0.00 0.00 4.825000 2.827104e-01 -100.00 +11.000000 8.301030 3.752778e-05 0.00 0.00 4.825000 2.827104e-01 -100.00 +11.000000 8.602060 3.752778e-05 0.00 0.00 4.825000 2.827104e-01 -100.00 +11.000000 8.845098 3.752618e-05 0.00 0.00 4.825000 2.827104e-01 -100.00 +11.000000 9.000000 3.752618e-05 0.00 0.00 4.825000 2.827104e-01 -100.00 +11.000000 9.176091 3.752298e-05 0.00 0.00 4.826000 2.827104e-01 -100.00 +11.000000 9.301030 3.752137e-05 0.00 0.00 4.826000 2.837104e-01 -100.00 +11.000000 9.477121 3.751176e-05 0.00 0.00 4.826000 2.847104e-01 -100.00 +11.000000 9.698970 3.748613e-05 0.00 0.00 4.827000 2.867104e-01 -100.00 +11.000000 10.000000 3.736436e-05 0.00 0.00 4.831000 2.977104e-01 -100.00 +11.000000 10.477121 3.605538e-05 0.00 0.00 4.926005 4.587104e-01 -100.00 +11.000000 11.000000 2.244810e-05 0.00 0.00 5.424006 1.272710e+00 -100.00 diff --git a/networks/He-C-Fe-group/57co-57ni_betadecay.dat b/networks/he-burn/he-burn-36a/57co-57ni_betadecay.dat similarity index 100% rename from networks/He-C-Fe-group/57co-57ni_betadecay.dat rename to networks/he-burn/he-burn-36a/57co-57ni_betadecay.dat diff --git a/networks/He-C-Fe-group/57ni-57co_electroncapture.dat b/networks/he-burn/he-burn-36a/57ni-57co_electroncapture.dat similarity index 100% rename from networks/He-C-Fe-group/57ni-57co_electroncapture.dat rename to networks/he-burn/he-burn-36a/57ni-57co_electroncapture.dat diff --git a/networks/he-burn/he-burn-36a/Make.package b/networks/he-burn/he-burn-36a/Make.package new file mode 100644 index 0000000000..3c406e47f1 --- /dev/null +++ b/networks/he-burn/he-burn-36a/Make.package @@ -0,0 +1,15 @@ +CEXE_headers += network_properties.H + +ifeq ($(USE_REACT),TRUE) + CEXE_sources += actual_network_data.cpp + CEXE_headers += actual_network.H + CEXE_headers += tfactors.H + CEXE_headers += partition_functions.H + CEXE_sources += partition_functions_data.cpp + CEXE_headers += actual_rhs.H + CEXE_headers += reaclib_rates.H + CEXE_headers += table_rates.H + CEXE_sources += table_rates_data.cpp + USE_SCREENING = TRUE + USE_NEUTRINOS = TRUE +endif diff --git a/networks/He-C-Fe-group/README.md b/networks/he-burn/he-burn-36a/README.md similarity index 100% rename from networks/He-C-Fe-group/README.md rename to networks/he-burn/he-burn-36a/README.md diff --git a/networks/he-burn/he-burn-36a/_parameters b/networks/he-burn/he-burn-36a/_parameters new file mode 100644 index 0000000000..e7a017d5aa --- /dev/null +++ b/networks/he-burn/he-burn-36a/_parameters @@ -0,0 +1,2 @@ +@namespace: network + diff --git a/networks/He-C-Fe-group/actual_network.H b/networks/he-burn/he-burn-36a/actual_network.H similarity index 100% rename from networks/He-C-Fe-group/actual_network.H rename to networks/he-burn/he-burn-36a/actual_network.H diff --git a/networks/He-C-Fe-group/actual_network_data.cpp b/networks/he-burn/he-burn-36a/actual_network_data.cpp similarity index 100% rename from networks/He-C-Fe-group/actual_network_data.cpp rename to networks/he-burn/he-burn-36a/actual_network_data.cpp diff --git a/networks/He-C-Fe-group/actual_rhs.H b/networks/he-burn/he-burn-36a/actual_rhs.H similarity index 99% rename from networks/He-C-Fe-group/actual_rhs.H rename to networks/he-burn/he-burn-36a/actual_rhs.H index 21aff67909..9b2aaf46f1 100644 --- a/networks/He-C-Fe-group/actual_rhs.H +++ b/networks/he-burn/he-burn-36a/actual_rhs.H @@ -1270,7 +1270,7 @@ void evaluate_rates(const burn_t& state, T& rate_eval) { // Fill approximate rates - fill_approx_rates(tfactors, rate_eval); + fill_approx_rates(tfactors, state.rho, Y, rate_eval); // Calculate tabular rates diff --git a/networks/he-burn/he-burn-36a/he-burn-36a.png b/networks/he-burn/he-burn-36a/he-burn-36a.png new file mode 100644 index 0000000000000000000000000000000000000000..47578149b8311a70b7544a98386678120420ec6b GIT binary patch literal 133320 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�tX|yWX&Dtx#c_;!y+0CMaqgy$h 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�YLOCa~}wkEV<0;=G0yFoG5E)5#A50tEp|AyW?}q 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%0Au-5%>B@E|Uj;>rlw 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

9!0%RqJL-B8a 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 F{|jp1%`E@` literal 0 HcmV?d00001 diff --git a/networks/he-burn/he-burn-36a/he_burn_36a.py b/networks/he-burn/he-burn-36a/he_burn_36a.py new file mode 100644 index 0000000000..04493ecea4 --- /dev/null +++ b/networks/he-burn/he-burn-36a/he_burn_36a.py @@ -0,0 +1,49 @@ +import pynucastro as pyna +from pynucastro.networks import AmrexAstroCxxNetwork + +import he_burn_core + + +DO_DERIVED_RATES = True + + +def doit(): + + lib = he_burn_core.get_core_library(include_n14_sequence=True, + include_zn=True, + include_iron_peak=True, + include_low_ye=True, + do_detailed_balance=DO_DERIVED_RATES) + + net = pyna.AmrexAstroCxxNetwork(libraries=[lib], + symmetric_screening=False) + + # now we approximate some (alpha, p)(p, gamma) links + + net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47"]) + net.remove_nuclei(["cl35", "k39", "sc43", "v47"]) + + print(f"number of nuclei = {len(net.unique_nuclei)}") + print(f"number of ReacLib rates = {len(net.reaclib_rates)}") + print(f"number of tabular rates = {len(net.tabular_rates)}") + + # let's make a figure + + comp = pyna.Composition(net.unique_nuclei) + comp.set_equal() + + rho = 9.e7 + T = 6.e9 + + fig = net.plot(rho, T, comp, + rotated=True, curved_edges=True, hide_xalpha=True, + size=(1800, 900), + node_size=500, node_shape="s", node_color="#337dff", node_font_size=10) + + fig.savefig("he-burn-36a.png") + + net.write_network() + + +if __name__ == "__main__": + doit() diff --git a/networks/he-burn/he-burn-36a/he_burn_core.py b/networks/he-burn/he-burn-36a/he_burn_core.py new file mode 120000 index 0000000000..bc9cd39283 --- /dev/null +++ b/networks/he-burn/he-burn-36a/he_burn_core.py @@ -0,0 +1 @@ +../he_burn_core.py \ No newline at end of file diff --git a/networks/He-C-Fe-group/inputs.burn_cell.VODE b/networks/he-burn/he-burn-36a/inputs.burn_cell.VODE similarity index 100% rename from networks/He-C-Fe-group/inputs.burn_cell.VODE rename to networks/he-burn/he-burn-36a/inputs.burn_cell.VODE diff --git a/networks/he-burn/he-burn-36a/n-p_betadecay.dat b/networks/he-burn/he-burn-36a/n-p_betadecay.dat new file mode 100644 index 0000000000..31ddea3b8d --- /dev/null +++ b/networks/he-burn/he-burn-36a/n-p_betadecay.dat @@ -0,0 +1,148 @@ +!n -> p, beta-decay +!Q=-1.2933 MeV +! +!Log(rhoY) Log(temp) mu dQ VS Log(beta-decay-rate) Log(nu-energy-loss) Log(gamma-energy) +!Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +1.000000 7.000000 -4.806530e-09 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +1.000000 8.000000 -9.292624e-08 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +1.000000 8.301030 -2.146917e-07 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +1.000000 8.602060 -4.902661e-07 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +1.000000 8.845098 -8.058948e-07 0.00 0.00 -2.958959 -9.072290e+00 -100.00 +1.000000 9.000000 -8.187123e-07 0.00 0.00 -2.957841 -9.067290e+00 -100.00 +1.000000 9.176091 -8.187123e-07 0.00 0.00 -2.941107 -8.997290e+00 -100.00 +1.000000 9.301030 -8.187123e-07 0.00 0.00 -2.874417 -8.765290e+00 -100.00 +1.000000 9.477121 -8.187123e-07 0.00 0.00 -2.540055 -8.086290e+00 -100.00 +1.000000 9.698970 -8.187123e-07 0.00 0.00 -1.720786 -7.027290e+00 -100.00 +1.000000 10.000000 -8.187123e-07 0.00 0.00 -0.414110 -5.490290e+00 -100.00 +1.000000 10.477121 -8.187123e-07 0.00 0.00 1.802004 -2.852290e+00 -100.00 +1.000000 11.000000 -8.187123e-07 0.00 0.00 4.347000 1.987104e-01 -100.00 +2.000000 7.000000 -1.602177e-09 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +2.000000 8.000000 -6.088271e-08 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +2.000000 8.301030 -1.522068e-07 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +2.000000 8.602060 -3.636941e-07 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +2.000000 8.845098 -7.145708e-07 0.00 0.00 -2.958984 -9.072290e+00 -100.00 +2.000000 9.000000 -8.107014e-07 0.00 0.00 -2.957898 -9.067290e+00 -100.00 +2.000000 9.176091 -8.187123e-07 0.00 0.00 -2.941192 -8.997290e+00 -100.00 +2.000000 9.301030 -8.187123e-07 0.00 0.00 -2.874417 -8.765290e+00 -100.00 +2.000000 9.477121 -8.187123e-07 0.00 0.00 -2.540055 -8.086290e+00 -100.00 +2.000000 9.698970 -8.187123e-07 0.00 0.00 -1.720786 -7.027290e+00 -100.00 +2.000000 10.000000 -8.187123e-07 0.00 0.00 -0.414110 -5.490290e+00 -100.00 +2.000000 10.477121 -8.187123e-07 0.00 0.00 1.802004 -2.852290e+00 -100.00 +2.000000 11.000000 -8.187123e-07 0.00 0.00 4.347000 1.987104e-01 -100.00 +3.000000 7.000000 3.204353e-09 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +3.000000 8.000000 -2.883918e-08 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +3.000000 8.301030 -8.811971e-08 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +3.000000 8.602060 -2.355200e-07 0.00 0.00 -2.959000 -9.072290e+00 -100.00 +3.000000 8.845098 -5.030835e-07 0.00 0.00 -2.958998 -9.072290e+00 -100.00 +3.000000 9.000000 -7.450121e-07 0.00 0.00 -2.958314 -9.069290e+00 -100.00 +3.000000 9.176091 -8.107014e-07 0.00 0.00 -2.941776 -9.000290e+00 -100.00 +3.000000 9.301030 -8.171101e-07 0.00 0.00 -2.874975 -8.767290e+00 -100.00 +3.000000 9.477121 -8.187123e-07 0.00 0.00 -2.540055 -8.087290e+00 -100.00 +3.000000 9.698970 -8.187123e-07 0.00 0.00 -1.721736 -7.027290e+00 -100.00 +3.000000 10.000000 -8.187123e-07 0.00 0.00 -0.414110 -5.490290e+00 -100.00 +3.000000 10.477121 -8.187123e-07 0.00 0.00 1.802004 -2.852290e+00 -100.00 +3.000000 11.000000 -8.187123e-07 0.00 0.00 4.347000 1.987104e-01 -100.00 +4.000000 7.000000 1.922612e-08 0.00 0.00 -2.961000 -9.076290e+00 -100.00 +4.000000 8.000000 8.010883e-09 0.00 0.00 -2.961000 -9.075290e+00 -100.00 +4.000000 8.301030 -2.082830e-08 0.00 0.00 -2.961000 -9.075290e+00 -100.00 +4.000000 8.602060 -1.073458e-07 0.00 0.00 -2.961000 -9.075290e+00 -100.00 +4.000000 8.845098 -2.787787e-07 0.00 0.00 -2.960000 -9.074290e+00 -100.00 +4.000000 9.000000 -4.838573e-07 0.00 0.00 -2.959896 -9.073290e+00 -100.00 +4.000000 9.176091 -7.434100e-07 0.00 0.00 -2.947722 -9.020290e+00 -100.00 +4.000000 9.301030 -7.962818e-07 0.00 0.00 -2.881381 -8.783290e+00 -100.00 +4.000000 9.477121 -8.123036e-07 0.00 0.00 -2.544233 -8.091290e+00 -100.00 +4.000000 9.698970 -8.171101e-07 0.00 0.00 -1.721736 -7.028290e+00 -100.00 +4.000000 10.000000 -8.187123e-07 0.00 0.00 -0.414110 -5.491290e+00 -100.00 +4.000000 10.477121 -8.187123e-07 0.00 0.00 1.802004 -2.852290e+00 -100.00 +4.000000 11.000000 -8.187123e-07 0.00 0.00 4.347000 1.987104e-01 -100.00 +5.000000 7.000000 8.491536e-08 0.00 0.00 -2.980000 -9.105290e+00 -100.00 +5.000000 8.000000 8.331318e-08 0.00 0.00 -2.979000 -9.104290e+00 -100.00 +5.000000 8.301030 7.530230e-08 0.00 0.00 -2.979000 -9.103290e+00 -100.00 +5.000000 8.602060 4.165659e-08 0.00 0.00 -2.978000 -9.100290e+00 -100.00 +5.000000 8.845098 -4.165659e-08 0.00 0.00 -2.975000 -9.096290e+00 -100.00 +5.000000 9.000000 -1.570133e-07 0.00 0.00 -2.972990 -9.092290e+00 -100.00 +5.000000 9.176091 -3.941355e-07 0.00 0.00 -2.967462 -9.076290e+00 -100.00 +5.000000 9.301030 -6.136337e-07 0.00 0.00 -2.925218 -8.906290e+00 -100.00 +5.000000 9.477121 -7.626361e-07 0.00 0.00 -2.577269 -8.139290e+00 -100.00 +5.000000 9.698970 -8.042927e-07 0.00 0.00 -1.729383 -7.036290e+00 -100.00 +5.000000 10.000000 -8.155079e-07 0.00 0.00 -0.415108 -5.491290e+00 -100.00 +5.000000 10.477121 -8.187123e-07 0.00 0.00 1.802004 -2.852290e+00 -100.00 +5.000000 11.000000 -8.187123e-07 0.00 0.00 4.347000 1.987104e-01 -100.00 +6.000000 7.000000 3.444680e-07 0.00 0.00 -3.140000 -9.345290e+00 -100.00 +6.000000 8.000000 3.428658e-07 0.00 0.00 -3.140000 -9.343290e+00 -100.00 +6.000000 8.301030 3.412636e-07 0.00 0.00 -3.138000 -9.340290e+00 -100.00 +6.000000 8.602060 3.316506e-07 0.00 0.00 -3.131000 -9.325290e+00 -100.00 +6.000000 8.845098 3.028114e-07 0.00 0.00 -3.116000 -9.295290e+00 -100.00 +6.000000 9.000000 2.579504e-07 0.00 0.00 -3.097999 -9.262290e+00 -100.00 +6.000000 9.176091 1.490024e-07 0.00 0.00 -3.069766 -9.215290e+00 -100.00 +6.000000 9.301030 1.602177e-09 0.00 0.00 -3.041782 -9.153290e+00 -100.00 +6.000000 9.477121 -3.396614e-07 0.00 0.00 -2.813017 -8.512290e+00 -100.00 +6.000000 9.698970 -6.729142e-07 0.00 0.00 -1.806664 -7.116290e+00 -100.00 +6.000000 10.000000 -7.866687e-07 0.00 0.00 -0.423096 -5.500290e+00 -100.00 +6.000000 10.477121 -8.155079e-07 0.00 0.00 1.801004 -2.852290e+00 -100.00 +6.000000 11.000000 -8.187123e-07 0.00 0.00 4.347000 1.987104e-01 -100.00 +7.000000 7.000000 1.140750e-06 0.00 0.00 -5.499000 -1.257129e+01 -100.00 +7.000000 8.000000 1.139148e-06 0.00 0.00 -5.442000 -1.246129e+01 -100.00 +7.000000 8.301030 1.139148e-06 0.00 0.00 -5.306000 -1.221829e+01 -100.00 +7.000000 8.602060 1.134341e-06 0.00 0.00 -4.989000 -1.170729e+01 -100.00 +7.000000 8.845098 1.123126e-06 0.00 0.00 -4.592000 -1.112229e+01 -100.00 +7.000000 9.000000 1.103900e-06 0.00 0.00 -4.297000 -1.071129e+01 -100.00 +7.000000 9.176091 1.060641e-06 0.00 0.00 -3.954978 -1.025629e+01 -100.00 +7.000000 9.301030 9.965539e-07 0.00 0.00 -3.726186 -9.962290e+00 -100.00 +7.000000 9.477121 8.171101e-07 0.00 0.00 -3.408689 -9.420290e+00 -100.00 +7.000000 9.698970 2.996070e-07 0.00 0.00 -2.366458 -7.714290e+00 -100.00 +7.000000 10.000000 -5.046856e-07 0.00 0.00 -0.508967 -5.587290e+00 -100.00 +7.000000 10.477121 -7.850666e-07 0.00 0.00 1.798004 -2.855290e+00 -100.00 +7.000000 11.000000 -8.155079e-07 0.00 0.00 4.347000 1.987104e-01 -100.00 +8.000000 7.000000 3.101814e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +8.000000 8.000000 3.101814e-06 0.00 0.00 -65.570000 -7.295929e+01 -100.00 +8.000000 8.301030 3.100212e-06 0.00 0.00 -35.616000 -4.271029e+01 -100.00 +8.000000 8.602060 3.098610e-06 0.00 0.00 -20.209000 -2.701829e+01 -100.00 +8.000000 8.845098 3.093803e-06 0.00 0.00 -13.299000 -1.988929e+01 -100.00 +8.000000 9.000000 3.085792e-06 0.00 0.00 -10.394000 -1.685929e+01 -100.00 +8.000000 9.176091 3.064964e-06 0.00 0.00 -8.019984 -1.436829e+01 -100.00 +8.000000 9.301030 3.036125e-06 0.00 0.00 -6.772438 -1.305429e+01 -100.00 +8.000000 9.477121 2.954414e-06 0.00 0.00 -5.436532 -1.153729e+01 -100.00 +8.000000 9.698970 2.693259e-06 0.00 0.00 -3.791028 -9.205290e+00 -100.00 +8.000000 10.000000 1.573337e-06 0.00 0.00 -1.150873 -6.234290e+00 -100.00 +8.000000 10.477121 -4.838573e-07 0.00 0.00 1.768005 -2.886290e+00 -100.00 +8.000000 11.000000 -7.882709e-07 0.00 0.00 4.346000 1.977104e-01 -100.00 +9.000000 7.000000 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.000000 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.301030 7.480563e-06 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +9.000000 8.602060 7.480563e-06 0.00 0.00 -54.663000 -6.147129e+01 -100.00 +9.000000 8.845098 7.477358e-06 0.00 0.00 -33.000000 -3.959029e+01 -100.00 +9.000000 9.000000 7.474154e-06 0.00 0.00 -24.198000 -3.066429e+01 -100.00 +9.000000 9.176091 7.464541e-06 0.00 0.00 -17.245984 -2.359429e+01 -100.00 +9.000000 9.301030 7.450121e-06 0.00 0.00 -13.715440 -1.999829e+01 -100.00 +9.000000 9.477121 7.413271e-06 0.00 0.00 -10.109646 -1.621129e+01 -100.00 +9.000000 9.698970 7.291506e-06 0.00 0.00 -6.677964 -1.209729e+01 -100.00 +9.000000 10.000000 6.724335e-06 0.00 0.00 -2.765936 -7.852290e+00 -100.00 +9.000000 10.477121 2.340780e-06 0.00 0.00 1.478006 -3.179290e+00 -100.00 +9.000000 11.000000 -5.191052e-07 0.00 0.00 4.338000 1.897104e-01 -100.00 +10.000000 7.000000 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.000000 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.301030 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.602060 1.699429e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +10.000000 8.845098 1.699269e-05 0.00 0.00 -75.759000 -8.234929e+01 -100.00 +10.000000 9.000000 1.699108e-05 0.00 0.00 -54.136000 -6.060229e+01 -100.00 +10.000000 9.176091 1.698628e-05 0.00 0.00 -37.214984 -4.356329e+01 -100.00 +10.000000 9.301030 1.697987e-05 0.00 0.00 -28.703440 -3.498629e+01 -100.00 +10.000000 9.477121 1.696224e-05 0.00 0.00 -20.122703 -2.622429e+01 -100.00 +10.000000 9.698970 1.690617e-05 0.00 0.00 -12.726964 -1.814629e+01 -100.00 +10.000000 10.000000 1.664181e-05 0.00 0.00 -5.885901 -1.097129e+01 -100.00 +10.000000 10.477121 1.386203e-05 0.00 0.00 0.277010 -4.383290e+00 -100.00 +10.000000 11.000000 2.164541e-06 0.00 0.00 4.255000 1.057104e-01 -100.00 +11.000000 7.000000 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.000000 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.301030 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.602060 3.752778e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 8.845098 3.752618e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 9.000000 3.752618e-05 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +11.000000 9.176091 3.752298e-05 0.00 0.00 -80.281984 -8.663029e+01 -100.00 +11.000000 9.301030 3.752137e-05 0.00 0.00 -61.008440 -6.729129e+01 -100.00 +11.000000 9.477121 3.751176e-05 0.00 0.00 -41.669646 -4.777129e+01 -100.00 +11.000000 9.698970 3.748613e-05 0.00 0.00 -25.673964 -3.109329e+01 -100.00 +11.000000 10.000000 3.736436e-05 0.00 0.00 -12.403901 -1.748929e+01 -100.00 +11.000000 10.477121 3.605538e-05 0.00 0.00 -2.049990 -6.710290e+00 -100.00 +11.000000 11.000000 2.244810e-05 0.00 0.00 3.625000 -5.272896e-01 -100.00 diff --git a/networks/he-burn/he-burn-36a/p-n_electroncapture.dat b/networks/he-burn/he-burn-36a/p-n_electroncapture.dat new file mode 100644 index 0000000000..21f333657d --- /dev/null +++ b/networks/he-burn/he-burn-36a/p-n_electroncapture.dat @@ -0,0 +1,148 @@ +!p -> n, e- capture +!Q=1.2933 MeV +! +!Log(rhoY) Log(temp) mu dQ Vs Log(e-cap-rate) Log(nu-energy-loss) Log(gamma-energy) +!Log(g/cm^3) Log(K) erg erg erg Log(1/s) Log(erg/s) Log(erg/s) +1.000000 7.000000 -4.806530e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +1.000000 8.000000 -9.292624e-08 0.00 0.00 -49.750000 -5.712729e+01 -100.00 +1.000000 8.301030 -2.146917e-07 0.00 0.00 -29.580000 -3.665029e+01 -100.00 +1.000000 8.602060 -4.902661e-07 0.00 0.00 -19.262000 -2.602029e+01 -100.00 +1.000000 8.845098 -8.058948e-07 0.00 0.00 -14.019000 -2.051929e+01 -100.00 +1.000000 9.000000 -8.187123e-07 0.00 0.00 -10.766000 -1.709829e+01 -100.00 +1.000000 9.176091 -8.187123e-07 0.00 0.00 -7.990000 -1.412829e+01 -100.00 +1.000000 9.301030 -8.187123e-07 0.00 0.00 -6.458000 -1.245629e+01 -100.00 +1.000000 9.477121 -8.187123e-07 0.00 0.00 -4.715000 -1.051429e+01 -100.00 +1.000000 9.698970 -8.187123e-07 0.00 0.00 -2.968000 -8.516290e+00 -100.00 +1.000000 10.000000 -8.187123e-07 0.00 0.00 -1.035000 -6.245290e+00 -100.00 +1.000000 10.477121 -8.187123e-07 0.00 0.00 1.600000 -3.099290e+00 -100.00 +1.000000 11.000000 -8.187123e-07 0.00 0.00 4.293000 1.317104e-01 -100.00 +2.000000 7.000000 -1.602177e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +2.000000 8.000000 -6.088271e-08 0.00 0.00 -48.749000 -5.612529e+01 -100.00 +2.000000 8.301030 -1.522068e-07 0.00 0.00 -28.580000 -3.564929e+01 -100.00 +2.000000 8.602060 -3.636941e-07 0.00 0.00 -18.262000 -2.502029e+01 -100.00 +2.000000 8.845098 -7.145708e-07 0.00 0.00 -13.606000 -2.010629e+01 -100.00 +2.000000 9.000000 -8.107014e-07 0.00 0.00 -10.744000 -1.707729e+01 -100.00 +2.000000 9.176091 -8.187123e-07 0.00 0.00 -7.989000 -1.412729e+01 -100.00 +2.000000 9.301030 -8.187123e-07 0.00 0.00 -6.458000 -1.245629e+01 -100.00 +2.000000 9.477121 -8.187123e-07 0.00 0.00 -4.715000 -1.051429e+01 -100.00 +2.000000 9.698970 -8.187123e-07 0.00 0.00 -2.968000 -8.516290e+00 -100.00 +2.000000 10.000000 -8.187123e-07 0.00 0.00 -1.035000 -6.245290e+00 -100.00 +2.000000 10.477121 -8.187123e-07 0.00 0.00 1.600000 -3.099290e+00 -100.00 +2.000000 11.000000 -8.187123e-07 0.00 0.00 4.293000 1.317104e-01 -100.00 +3.000000 7.000000 3.204353e-09 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +3.000000 8.000000 -2.883918e-08 0.00 0.00 -47.732000 -5.510929e+01 -100.00 +3.000000 8.301030 -8.811971e-08 0.00 0.00 -27.574000 -3.464429e+01 -100.00 +3.000000 8.602060 -2.355200e-07 0.00 0.00 -17.260000 -2.401829e+01 -100.00 +3.000000 8.845098 -5.030835e-07 0.00 0.00 -12.658000 -1.915829e+01 -100.00 +3.000000 9.000000 -7.450121e-07 0.00 0.00 -10.538000 -1.687029e+01 -100.00 +3.000000 9.176091 -8.107014e-07 0.00 0.00 -7.974000 -1.411229e+01 -100.00 +3.000000 9.301030 -8.171101e-07 0.00 0.00 -6.454000 -1.245329e+01 -100.00 +3.000000 9.477121 -8.187123e-07 0.00 0.00 -4.714000 -1.051429e+01 -100.00 +3.000000 9.698970 -8.187123e-07 0.00 0.00 -2.968000 -8.515290e+00 -100.00 +3.000000 10.000000 -8.187123e-07 0.00 0.00 -1.035000 -6.245290e+00 -100.00 +3.000000 10.477121 -8.187123e-07 0.00 0.00 1.600000 -3.099290e+00 -100.00 +3.000000 11.000000 -8.187123e-07 0.00 0.00 4.293000 1.317104e-01 -100.00 +4.000000 7.000000 1.922612e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +4.000000 8.000000 8.010883e-09 0.00 0.00 -46.572000 -5.394829e+01 -100.00 +4.000000 8.301030 -2.082830e-08 0.00 0.00 -26.519000 -3.358929e+01 -100.00 +4.000000 8.602060 -1.073458e-07 0.00 0.00 -16.243000 -2.300029e+01 -100.00 +4.000000 8.845098 -2.787787e-07 0.00 0.00 -11.652000 -1.815229e+01 -100.00 +4.000000 9.000000 -4.838573e-07 0.00 0.00 -9.716000 -1.604929e+01 -100.00 +4.000000 9.176091 -7.434100e-07 0.00 0.00 -7.833000 -1.397129e+01 -100.00 +4.000000 9.301030 -7.962818e-07 0.00 0.00 -6.423000 -1.242129e+01 -100.00 +4.000000 9.477121 -8.123036e-07 0.00 0.00 -4.709000 -1.050829e+01 -100.00 +4.000000 9.698970 -8.171101e-07 0.00 0.00 -2.967000 -8.515290e+00 -100.00 +4.000000 10.000000 -8.187123e-07 0.00 0.00 -1.035000 -6.245290e+00 -100.00 +4.000000 10.477121 -8.187123e-07 0.00 0.00 1.600000 -3.099290e+00 -100.00 +4.000000 11.000000 -8.187123e-07 0.00 0.00 4.293000 1.317104e-01 -100.00 +5.000000 7.000000 8.491536e-08 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +5.000000 8.000000 8.331318e-08 0.00 0.00 -44.223000 -5.160029e+01 -100.00 +5.000000 8.301030 7.530230e-08 0.00 0.00 -25.017000 -3.208629e+01 -100.00 +5.000000 8.602060 4.165659e-08 0.00 0.00 -15.072000 -2.182929e+01 -100.00 +5.000000 8.845098 -4.165659e-08 0.00 0.00 -10.585000 -1.708529e+01 -100.00 +5.000000 9.000000 -1.570133e-07 0.00 0.00 -8.685000 -1.501729e+01 -100.00 +5.000000 9.176091 -3.941355e-07 0.00 0.00 -7.099000 -1.323729e+01 -100.00 +5.000000 9.301030 -6.136337e-07 0.00 0.00 -6.134000 -1.213329e+01 -100.00 +5.000000 9.477121 -7.626361e-07 0.00 0.00 -4.656000 -1.045529e+01 -100.00 +5.000000 9.698970 -8.042927e-07 0.00 0.00 -2.959000 -8.506290e+00 -100.00 +5.000000 10.000000 -8.155079e-07 0.00 0.00 -1.034000 -6.244290e+00 -100.00 +5.000000 10.477121 -8.187123e-07 0.00 0.00 1.600000 -3.099290e+00 -100.00 +5.000000 11.000000 -8.187123e-07 0.00 0.00 4.293000 1.317104e-01 -100.00 +6.000000 7.000000 3.444680e-07 0.00 0.00 -99.697970 -1.057943e+02 -100.00 +6.000000 8.000000 3.428658e-07 0.00 0.00 -36.029000 -4.340629e+01 -100.00 +6.000000 8.301030 3.412636e-07 0.00 0.00 -20.834000 -2.790429e+01 -100.00 +6.000000 8.602060 3.316506e-07 0.00 0.00 -12.798000 -1.955529e+01 -100.00 +6.000000 8.845098 3.028114e-07 0.00 0.00 -9.036000 -1.553629e+01 -100.00 +6.000000 9.000000 2.579504e-07 0.00 0.00 -7.382000 -1.371429e+01 -100.00 +6.000000 9.176091 1.490024e-07 0.00 0.00 -5.962000 -1.210029e+01 -100.00 +6.000000 9.301030 1.602177e-09 0.00 0.00 -5.168000 -1.116629e+01 -100.00 +6.000000 9.477121 -3.396614e-07 0.00 0.00 -4.214000 -1.001329e+01 -100.00 +6.000000 9.698970 -6.729142e-07 0.00 0.00 -2.876000 -8.424290e+00 -100.00 +6.000000 10.000000 -7.866687e-07 0.00 0.00 -1.025000 -6.235290e+00 -100.00 +6.000000 10.477121 -8.155079e-07 0.00 0.00 1.601000 -3.098290e+00 -100.00 +6.000000 11.000000 -8.187123e-07 0.00 0.00 4.293000 1.317104e-01 -100.00 +7.000000 7.000000 1.140750e-06 0.00 0.00 -46.082000 -5.446429e+01 -100.00 +7.000000 8.000000 1.139148e-06 0.00 0.00 -10.983000 -1.835929e+01 -100.00 +7.000000 8.301030 1.139148e-06 0.00 0.00 -8.290000 -1.535929e+01 -100.00 +7.000000 8.602060 1.134341e-06 0.00 0.00 -6.487000 -1.324229e+01 -100.00 +7.000000 8.845098 1.123126e-06 0.00 0.00 -5.363000 -1.185729e+01 -100.00 +7.000000 9.000000 1.103900e-06 0.00 0.00 -4.733000 -1.105829e+01 -100.00 +7.000000 9.176091 1.060641e-06 0.00 0.00 -4.066000 -1.019629e+01 -100.00 +7.000000 9.301030 9.965539e-07 0.00 0.00 -3.616000 -9.607290e+00 -100.00 +7.000000 9.477121 8.171101e-07 0.00 0.00 -3.010000 -8.803290e+00 -100.00 +7.000000 9.698970 2.996070e-07 0.00 0.00 -2.270000 -7.815290e+00 -100.00 +7.000000 10.000000 -5.046856e-07 0.00 0.00 -0.937000 -6.147290e+00 -100.00 +7.000000 10.477121 -7.850666e-07 0.00 0.00 1.604000 -3.095290e+00 -100.00 +7.000000 11.000000 -8.155079e-07 0.00 0.00 4.293000 1.317104e-01 -100.00 +8.000000 7.000000 3.101814e-06 0.00 0.00 -1.350000 -7.185290e+00 -100.00 +8.000000 8.000000 3.101814e-06 0.00 0.00 -1.349000 -7.185290e+00 -100.00 +8.000000 8.301030 3.100212e-06 0.00 0.00 -1.348000 -7.183290e+00 -100.00 +8.000000 8.602060 3.098610e-06 0.00 0.00 -1.345000 -7.176290e+00 -100.00 +8.000000 8.845098 3.093803e-06 0.00 0.00 -1.335000 -7.158290e+00 -100.00 +8.000000 9.000000 3.085792e-06 0.00 0.00 -1.320000 -7.129290e+00 -100.00 +8.000000 9.176091 3.064964e-06 0.00 0.00 -1.285000 -7.065290e+00 -100.00 +8.000000 9.301030 3.036125e-06 0.00 0.00 -1.240000 -6.983290e+00 -100.00 +8.000000 9.477121 2.954414e-06 0.00 0.00 -1.128000 -6.787290e+00 -100.00 +8.000000 9.698970 2.693259e-06 0.00 0.00 -0.875000 -6.369290e+00 -100.00 +8.000000 10.000000 1.573337e-06 0.00 0.00 -0.301000 -5.502290e+00 -100.00 +8.000000 10.477121 -4.838573e-07 0.00 0.00 1.635000 -3.064290e+00 -100.00 +8.000000 11.000000 -7.882709e-07 0.00 0.00 4.294000 1.327104e-01 -100.00 +9.000000 7.000000 7.480563e-06 0.00 0.00 0.831000 -4.464290e+00 -100.00 +9.000000 8.000000 7.480563e-06 0.00 0.00 0.831000 -4.464290e+00 -100.00 +9.000000 8.301030 7.480563e-06 0.00 0.00 0.832000 -4.464290e+00 -100.00 +9.000000 8.602060 7.480563e-06 0.00 0.00 0.832000 -4.463290e+00 -100.00 +9.000000 8.845098 7.477358e-06 0.00 0.00 0.833000 -4.461290e+00 -100.00 +9.000000 9.000000 7.474154e-06 0.00 0.00 0.835000 -4.458290e+00 -100.00 +9.000000 9.176091 7.464541e-06 0.00 0.00 0.838000 -4.451290e+00 -100.00 +9.000000 9.301030 7.450121e-06 0.00 0.00 0.844000 -4.442290e+00 -100.00 +9.000000 9.477121 7.413271e-06 0.00 0.00 0.859000 -4.414290e+00 -100.00 +9.000000 9.698970 7.291506e-06 0.00 0.00 0.904000 -4.333290e+00 -100.00 +9.000000 10.000000 6.724335e-06 0.00 0.00 1.074000 -4.035290e+00 -100.00 +9.000000 10.477121 2.340780e-06 0.00 0.00 1.922000 -2.772290e+00 -100.00 +9.000000 11.000000 -5.191052e-07 0.00 0.00 4.302000 1.407104e-01 -100.00 +10.000000 7.000000 1.699429e-05 0.00 0.00 2.676000 -2.211290e+00 -100.00 +10.000000 8.000000 1.699429e-05 0.00 0.00 2.676000 -2.211290e+00 -100.00 +10.000000 8.301030 1.699429e-05 0.00 0.00 2.676000 -2.211290e+00 -100.00 +10.000000 8.602060 1.699429e-05 0.00 0.00 2.676000 -2.211290e+00 -100.00 +10.000000 8.845098 1.699269e-05 0.00 0.00 2.676000 -2.211290e+00 -100.00 +10.000000 9.000000 1.699108e-05 0.00 0.00 2.676000 -2.210290e+00 -100.00 +10.000000 9.176091 1.698628e-05 0.00 0.00 2.677000 -2.209290e+00 -100.00 +10.000000 9.301030 1.697987e-05 0.00 0.00 2.678000 -2.208290e+00 -100.00 +10.000000 9.477121 1.696224e-05 0.00 0.00 2.680000 -2.203290e+00 -100.00 +10.000000 9.698970 1.690617e-05 0.00 0.00 2.688000 -2.188290e+00 -100.00 +10.000000 10.000000 1.664181e-05 0.00 0.00 2.725000 -2.122290e+00 -100.00 +10.000000 10.477121 1.386203e-05 0.00 0.00 3.006000 -1.638290e+00 -100.00 +10.000000 11.000000 2.164541e-06 0.00 0.00 4.385000 2.237104e-01 -100.00 +11.000000 7.000000 3.752778e-05 0.00 0.00 4.416000 -1.062896e-01 -100.00 +11.000000 8.000000 3.752778e-05 0.00 0.00 4.416000 -1.062896e-01 -100.00 +11.000000 8.301030 3.752778e-05 0.00 0.00 4.416000 -1.062896e-01 -100.00 +11.000000 8.602060 3.752778e-05 0.00 0.00 4.416000 -1.062896e-01 -100.00 +11.000000 8.845098 3.752618e-05 0.00 0.00 4.416000 -1.062896e-01 -100.00 +11.000000 9.000000 3.752618e-05 0.00 0.00 4.416000 -1.052896e-01 -100.00 +11.000000 9.176091 3.752298e-05 0.00 0.00 4.416000 -1.052896e-01 -100.00 +11.000000 9.301030 3.752137e-05 0.00 0.00 4.416000 -1.052896e-01 -100.00 +11.000000 9.477121 3.751176e-05 0.00 0.00 4.417000 -1.042896e-01 -100.00 +11.000000 9.698970 3.748613e-05 0.00 0.00 4.419000 -1.012896e-01 -100.00 +11.000000 10.000000 3.736436e-05 0.00 0.00 4.426000 -8.828961e-02 -100.00 +11.000000 10.477121 3.605538e-05 0.00 0.00 4.499000 4.271039e-02 -100.00 +11.000000 11.000000 2.244810e-05 0.00 0.00 4.989000 8.437104e-01 -100.00 diff --git a/networks/He-C-Fe-group/partition_functions.H b/networks/he-burn/he-burn-36a/partition_functions.H similarity index 100% rename from networks/He-C-Fe-group/partition_functions.H rename to networks/he-burn/he-burn-36a/partition_functions.H diff --git a/networks/He-C-Fe-group/partition_functions_data.cpp b/networks/he-burn/he-burn-36a/partition_functions_data.cpp similarity index 100% rename from networks/He-C-Fe-group/partition_functions_data.cpp rename to networks/he-burn/he-burn-36a/partition_functions_data.cpp diff --git a/networks/He-C-Fe-group/pynucastro.net b/networks/he-burn/he-burn-36a/pynucastro.net similarity index 100% rename from networks/He-C-Fe-group/pynucastro.net rename to networks/he-burn/he-burn-36a/pynucastro.net diff --git a/networks/He-C-Fe-group/reaclib_rates.H b/networks/he-burn/he-burn-36a/reaclib_rates.H similarity index 99% rename from networks/He-C-Fe-group/reaclib_rates.H rename to networks/he-burn/he-burn-36a/reaclib_rates.H index d423ce14dc..58ef65c6a4 100644 --- a/networks/He-C-Fe-group/reaclib_rates.H +++ b/networks/he-burn/he-burn-36a/reaclib_rates.H @@ -9208,7 +9208,10 @@ fill_reaclib_rates(const tf_t& tfactors, T& rate_eval) template AMREX_GPU_HOST_DEVICE AMREX_INLINE void -fill_approx_rates([[maybe_unused]] const tf_t& tfactors, [[maybe_unused]] T& rate_eval) +fill_approx_rates([[maybe_unused]] const tf_t& tfactors, + [[maybe_unused]] const amrex::Real rho, + [[maybe_unused]] const amrex::Array1D& Y, + [[maybe_unused]] T& rate_eval) { [[maybe_unused]] amrex::Real rate{}; diff --git a/networks/He-C-Fe-group/table_rates.H b/networks/he-burn/he-burn-36a/table_rates.H similarity index 100% rename from networks/He-C-Fe-group/table_rates.H rename to networks/he-burn/he-burn-36a/table_rates.H diff --git a/networks/He-C-Fe-group/table_rates_data.cpp b/networks/he-burn/he-burn-36a/table_rates_data.cpp similarity index 100% rename from networks/He-C-Fe-group/table_rates_data.cpp rename to networks/he-burn/he-burn-36a/table_rates_data.cpp diff --git a/networks/he-burn/he-burn-36a/tfactors.H b/networks/he-burn/he-burn-36a/tfactors.H new file mode 100644 index 0000000000..3ec02d562f --- /dev/null +++ b/networks/he-burn/he-burn-36a/tfactors.H @@ -0,0 +1,34 @@ +#ifndef TFACTORS_H +#define TFACTORS_H + +struct tf_t { + amrex::Real T9; + amrex::Real T9i; + amrex::Real T943i; + amrex::Real T923i; + amrex::Real T913i; + amrex::Real T913; + amrex::Real T923; + amrex::Real T953; + amrex::Real lnT9; +}; + +AMREX_GPU_HOST_DEVICE AMREX_INLINE +tf_t evaluate_tfactors(const amrex::Real T) +{ + + tf_t tf; + tf.T9 = T / 1.e9_rt; + tf.T9i = 1.0_rt / tf.T9; + tf.T913 = std::cbrt(tf.T9); + tf.T913i = 1.0_rt / tf.T913; + tf.T923i = tf.T913i * tf.T913i; + tf.T943i = tf.T9i * tf.T913i; + tf.T923 = tf.T913 * tf.T913; + tf.T953 = tf.T9 * tf.T923; + tf.lnT9 = std::log(tf.T9); + + return tf; +} + +#endif diff --git a/networks/he-burn/he_burn_core.py b/networks/he-burn/he_burn_core.py new file mode 100644 index 0000000000..722d631bf3 --- /dev/null +++ b/networks/he-burn/he_burn_core.py @@ -0,0 +1,130 @@ +# create the core library used by the he-burn group of networks +# they can then adjust these via various approximations + +import pynucastro as pyna +from pynucastro.rates import ReacLibRate, TabularRate + +def get_core_library(*, + include_n14_sequence=False, + include_zn=False, + include_iron_peak=False, + include_low_ye=False, + do_detailed_balance=False): + + reaclib_lib = pyna.ReacLibLibrary() + + nuclei = ["p", + "he4", "c12", "n13", "o16", + "ne20", "na23", "mg24", "si28", "s32", + "ar36", "ca40", "ti44", "cr48", + "fe52", "ni56", + "al27", "p31", "cl35", "k39", "sc43", "v47", + "mn51", "co55"] + + if include_n14_sequence: + nuclei += ["n14", "f18", "ne21", "na22"] + + if include_zn: + nuclei += ["cu59", "zn60"] + + core_lib = reaclib_lib.linking_nuclei(nuclei) + + # in this list, we have the reactants, the actual reactants, + # and modified products that we will use instead + other_rates = [("c12(c12,n)mg23", "mg24"), + ("o16(o16,n)s31", "s32"), + ("o16(c12,n)si27", "si28")] + + for r, mp in other_rates: + _r = reaclib_lib.get_rate_by_name(r) + _r.modify_products(mp) + core_lib += pyna.Library(rates=[_r]) + + # finally, the aprox nets don't include the reverse rates for + # C12+C12, C12+O16, and O16+O16, so remove those + + for r in core_lib.get_rates(): + if sorted(r.products) in [[pyna.Nucleus("c12"), pyna.Nucleus("c12")], + [pyna.Nucleus("c12"), pyna.Nucleus("o16")], + [pyna.Nucleus("o16"), pyna.Nucleus("o16")]]: + core_lib.remove_rate(r) + + # C12+Ne20 and reverse + # (a,g) links between Na23 and Al27 + # (a,g) links between Al27 and P31 + + rates_to_remove = ["p31(p,c12)ne20", + "si28(a,c12)ne20", + "ne20(c12,p)p31", + "ne20(c12,a)si28", + "na23(a,g)al27", + "al27(g,a)na23", + "al27(a,g)p31", + "p31(g,a)al27"] + + for r in rates_to_remove: + print("removing: ", r) + _r = core_lib.get_rate_by_name(r) + core_lib.remove_rate(_r) + + if include_iron_peak: + # now create a list of iron group nuclei and find both the + # ReacLib and weak / tabular rates linking these. + + iron_peak = ["n", "p", "he4", + "mn51", + "fe52", "fe53", "fe54", "fe55", "fe56", + "co55", "co56", "co57", + "ni56", "ni57", "ni58"] + + if include_zn: + iron_peak += ["cu59", "zn60"] + + if include_low_ye: + iron_peak += ["mn55"] + + + iron_reaclib = reaclib_lib.linking_nuclei(iron_peak) + + weak_lib = pyna.TabularLibrary() + iron_weak_lib = weak_lib.linking_nuclei(iron_peak) + + all_lib = core_lib + iron_reaclib + iron_weak_lib + + else: + all_lib = core_lib + + if do_detailed_balance: + rates_to_derive = [] + for r in core_lib.get_rates(): + if r.reverse: + # this rate was computed using detailed balance, + # regardless of whether Q < 0 or not. We want to + # remove it and then recompute it + rates_to_derive.append(r) + + # now for each of those derived rates, look to see if the pair exists + + for r in rates_to_derive: + fr = core_lib.get_rate_by_nuclei(r.products, r.reactants) + if fr: + print(f"modifying {r} from {fr}") + core_lib.remove_rate(r) + d = pyna.DerivedRate(rate=fr, compute_Q=False, use_pf=True) + core_lib.add_rate(d) + + # we may have duplicate rates -- we want to remove any ReacLib rates + # that we have tabular rates for + + dupes = all_lib.find_duplicate_links() + + rates_to_remove = [] + for d in dupes: + for r in d: + if isinstance(r, ReacLibRate): + rates_to_remove.append(r) + + for r in rates_to_remove: + all_lib.remove_rate(r) + + return all_lib diff --git a/networks/subch_base b/networks/subch_base new file mode 120000 index 0000000000..d382160a6f --- /dev/null +++ b/networks/subch_base @@ -0,0 +1 @@ +he-burn/he-burn-18a \ No newline at end of file diff --git a/networks/subch_base/subch_base.py b/networks/subch_base/subch_base.py deleted file mode 100644 index af388f856b..0000000000 --- a/networks/subch_base/subch_base.py +++ /dev/null @@ -1,118 +0,0 @@ -# subch_base network for He/C burning with key rates -# to bypass the C12(a,g)O16 rate. -# This is a further simplification of subch_simple by -# removing N14, F18, Ne21, and Na22. - -import pynucastro as pyna -from pynucastro.networks import AmrexAstroCxxNetwork - -DO_DERIVED_RATES = True - - -def get_library(): - - reaclib_lib = pyna.ReacLibLibrary() - - all_reactants = ["p", - "he4", "c12", "o16", "ne20", "mg24", "si28", "s32", - "ar36", "ca40", "ti44", "cr48", "fe52", "ni56", - "al27", "p31", "cl35", "k39", "sc43", "v47", "mn51", "co55", - "n13", "na23"] - - subch = reaclib_lib.linking_nuclei(all_reactants) - - # in this list, we have the reactants, the actual reactants, - # and modified products that we will use instead - other_rates = [("c12(c12,n)mg23", "mg24"), - ("o16(o16,n)s31", "s32"), - ("o16(c12,n)si27", "si28")] - - for r, mp in other_rates: - _r = reaclib_lib.get_rate_by_name(r) - _r.modify_products(mp) - subch += pyna.Library(rates=[_r]) - - # finally, the aprox nets don't include the reverse rates for - # C12+C12, C12+O16, and O16+O16, so remove those - - for r in subch.get_rates(): - if sorted(r.products) in [[pyna.Nucleus("c12"), pyna.Nucleus("c12")], - [pyna.Nucleus("c12"), pyna.Nucleus("o16")], - [pyna.Nucleus("o16"), pyna.Nucleus("o16")]]: - subch.remove_rate(r) - - # C12+Ne20 and reverse - # (a,g) links between Na23 and Al27 - # (a,g) links between Al27 and P31 - - rates_to_remove = ["p31(p,c12)ne20", - "si28(a,c12)ne20", - "ne20(c12,p)p31", - "ne20(c12,a)si28", - "na23(a,g)al27", - "al27(g,a)na23", - "al27(a,g)p31", - "p31(g,a)al27"] - - for r in rates_to_remove: - print("removing: ", r) - _r = subch.get_rate_by_name(r) - subch.remove_rate(_r) - - if DO_DERIVED_RATES: - rates_to_derive = [] - for r in subch.get_rates(): - if r.reverse: - # this rate was computed using detailed balance, regardless - # of whether Q < 0 or not. We want to remove it and then - # recompute it - rates_to_derive.append(r) - - # now for each of those derived rates, look to see if the pair exists - - for r in rates_to_derive: - fr = subch.get_rate_by_nuclei(r.products, r.reactants) - if fr: - print(f"modifying {r} from {fr}") - subch.remove_rate(r) - d = pyna.DerivedRate(rate=fr, compute_Q=False, use_pf=True) - subch.add_rate(d) - - return subch - - -def doit(): - - subch = get_library() - - # these are the rates that we are going to allow to be optionally - # zeroed - r1 = subch.get_rate_by_name("c12(p,g)n13") - r2 = subch.get_rate_by_name("n13(he4,p)o16") - - net = AmrexAstroCxxNetwork(libraries=[subch], symmetric_screening=False, disable_rate_params=[r1, r2]) - net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47", "mn51", "co55"]) - net.remove_nuclei(["cl35", "k39", "sc43", "v47", "mn51", "co55"]) - - print(f"number of nuclei: {len(net.unique_nuclei)}") - print(f"number of rates: {len(net.rates)}") - - comp = pyna.Composition(net.get_nuclei()) - comp.set_all(0.1) - comp.set_nuc("he4", 0.95) - comp.normalize() - - rho = 1.e6 - T = 1.e9 - - net.plot(rho, T, comp, outfile="subch_base.png", - rotated=True, hide_xalpha=True, curved_edges=True, - size=(1500, 450), - node_size=500, node_font_size=11, node_color="#337dff", node_shape="s", - Z_range=(1, 29)) - - net.write_network() - - -if __name__ == "__main__": - doit() diff --git a/networks/subch_simple b/networks/subch_simple new file mode 120000 index 0000000000..0fa426d4ba --- /dev/null +++ b/networks/subch_simple @@ -0,0 +1 @@ +he-burn/he-burn-22a \ No newline at end of file diff --git a/networks/subch_simple/subch_simple.py b/networks/subch_simple/subch_simple.py deleted file mode 100644 index 1983ab4550..0000000000 --- a/networks/subch_simple/subch_simple.py +++ /dev/null @@ -1,115 +0,0 @@ -# an approximate network for He/C burning with key rates -# to bypass the C12(a,g)O16 rate. This version uses some -# (a,p)(p,g) approximations. - -import pynucastro as pyna -from pynucastro.networks import AmrexAstroCxxNetwork - -DO_DERIVED_RATES = False - -def get_library(): - - reaclib_lib = pyna.ReacLibLibrary() - - all_reactants = ["p", - "he4", "c12", "o16", "ne20", "mg24", "si28", "s32", - "ar36", "ca40", "ti44", "cr48", "fe52", "ni56", - "al27", "p31", "cl35", "k39", "sc43", "v47", "mn51", "co55", - "n13", "n14", "f18", "ne21", "na22", "na23"] - - subch = reaclib_lib.linking_nuclei(all_reactants) - - # in this list, we have the reactants, the actual reactants, - # and modified products that we will use instead - other_rates = [("c12(c12,n)mg23", "mg24"), - ("o16(o16,n)s31", "s32"), - ("o16(c12,n)si27", "si28")] - - for r, mp in other_rates: - _r = reaclib_lib.get_rate_by_name(r) - _r.modify_products(mp) - subch += pyna.Library(rates=[_r]) - - # finally, the aprox nets don't include the reverse rates for - # C12+C12, C12+O16, and O16+O16, so remove those - - for r in subch.get_rates(): - if sorted(r.products) in [[pyna.Nucleus("c12"), pyna.Nucleus("c12")], - [pyna.Nucleus("c12"), pyna.Nucleus("o16")], - [pyna.Nucleus("o16"), pyna.Nucleus("o16")]]: - subch.remove_rate(r) - - # C12+Ne20 and reverse - # (a,g) links between Na23 and Al27 - # (a,g) links between Al27 and P31 - - rates_to_remove = ["p31(p,c12)ne20", - "si28(a,c12)ne20", - "ne20(c12,p)p31", - "ne20(c12,a)si28", - "na23(a,g)al27", - "al27(g,a)na23", - "al27(a,g)p31", - "p31(g,a)al27"] - - for r in rates_to_remove: - print("removing: ", r) - _r = subch.get_rate_by_name(r) - subch.remove_rate(_r) - - if DO_DERIVED_RATES: - rates_to_derive = [] - for r in subch.get_rates(): - if r.reverse: - # this rate was computed using detailed balance, regardless - # of whether Q < 0 or not. We want to remove it and then - # recompute it - rates_to_derive.append(r) - - # now for each of those derived rates, look to see if the pair exists - - for r in rates_to_derive: - fr = subch.get_rate_by_nuclei(r.products, r.reactants) - if fr: - print(f"modifying {r} from {fr}") - subch.remove_rate(r) - d = pyna.DerivedRate(rate=fr, compute_Q=False, use_pf=True) - subch.add_rate(d) - - return subch - -def doit(): - - subch = get_library() - - # these are the rates that we are going to allow to be optionally - # zeroed - r1 = subch.get_rate_by_name("c12(p,g)n13") - r2 = subch.get_rate_by_name("n13(he4,p)o16") - - net = AmrexAstroCxxNetwork(libraries=[subch], symmetric_screening=True, disable_rate_params=[r1, r2]) - net.make_ap_pg_approx(intermediate_nuclei=["cl35", "k39", "sc43", "v47", "mn51", "co55"]) - net.remove_nuclei(["cl35", "k39", "sc43", "v47", "mn51", "co55"]) - - print(f"number of nuclei: {len(net.unique_nuclei)}") - print(f"number of rates: {len(net.rates)}") - - comp = pyna.Composition(net.get_nuclei()) - comp.set_all(0.1) - comp.set_nuc("he4", 0.95) - comp.normalize() - - rho = 1.e6 - T = 1.e9 - - net.plot(rho, T, comp, outfile="subch_simple.png", - rotated=True, hide_xalpha=True, curved_edges=True, - size=(1500, 450), - node_size=500, node_font_size=11, node_color="#337dff", node_shape="s", - Z_range=(1,29)) - - net.write_network() - - -if __name__ == "__main__": - doit()