diff --git a/EconDataLens.Tests/EtlRepositoryTests/CpiDataEtlRepositoryTests.cs b/EconDataLens.Tests/EtlRepositoryTests/CpiDataEtlRepositoryTests.cs new file mode 100644 index 0000000..4626dd5 --- /dev/null +++ b/EconDataLens.Tests/EtlRepositoryTests/CpiDataEtlRepositoryTests.cs @@ -0,0 +1,139 @@ +using EconDataLens.Core.Interfaces; +using EconDataLens.Core.Configuration; +using EconDataLens.Services; +using EconDataLens.Data; +using EconDataLens.Repositories; +using Microsoft.EntityFrameworkCore; +using Microsoft.Extensions.Options; + +namespace EconDataLens.Tests.EtlRepositoryTests; + +public class CpiDataEtlRepositoryTests +{ + private EconDataLensDbContext _dbContext = null!; + private ICpiDataFileParser _parser = null!; + private ICpiIngestionRepository _repository = null!; + private string _connectionString = string.Empty; + + [SetUp] + public async Task SetUp() + { + _connectionString = PostgresFixture.ConnectionString; + var opts = new DbContextOptionsBuilder() + .UseNpgsql(_connectionString) + .UseSnakeCaseNamingConvention() + .Options; + + await DbReset.RecreateDatabaseAsync(_connectionString); + + _dbContext = new EconDataLensDbContext(opts); + + var blsOptions = Options.Create(new BlsOptions + { + Cpi = new CpiOptions + { + FootnoteFile = "cu.item.sample" + } + }); + + var downloadOptions = Options.Create(new DownloadOptions + { + DownloadDirectory = "TestData/EtlData", + DeleteDownloadedFiles = false + }); + + _parser = new CpiDataFileParser(blsOptions, downloadOptions); + _repository = new CpiIngestionRepository(_dbContext); + } + + [Test] + public async Task UpsertCpiDataAsync_NewData_InsertsSuccessfully() + { + await UpsertDependencies(); + + var path = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.data.0.Current.sample"); + + await _repository.UpsertCpiDataAsync(_parser.ParseCpiDataAsync(path)); + + var count = await _dbContext.CpiData.CountAsync(); + + Assert.That(count, Is.EqualTo(4)); + + var sample = await _dbContext.CpiData.FirstOrDefaultAsync(d => d.SeriesId == "CUSR0000SA0" && d.Year == 1997 && d.Period == "M01"); + + Assert.Multiple(() => + { + Assert.That(sample, Is.Not.Null); + Assert.That(sample!.Value == 159.40m); + }); + } + + [Test] + public async Task UpsertCpiDataAsync_ExistingData_UpdatesSuccessfully() + { + await UpsertDependencies(); + var path = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.data.0.Current.sample"); + var modifiedPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.data.0.Current.modified.sample"); + + await _repository.UpsertCpiDataAsync(_parser.ParseCpiDataAsync(path)); + + var count = await _dbContext.CpiData.CountAsync(); + + Assert.That(count, Is.EqualTo(4)); + + var sample = await _dbContext.CpiData.FirstOrDefaultAsync(d => d.SeriesId == "CUSR0000SA0" && d.Year == 1997 && d.Period == "M01"); + + Assert.Multiple(() => + { + Assert.That(sample, Is.Not.Null); + Assert.That(sample!.Value == 159.40m); + }); + + // Run the upsert again with modified data + await _repository.UpsertCpiDataAsync(_parser.ParseCpiDataAsync(modifiedPath)); + + count = await _dbContext.CpiData.CountAsync(); + + Assert.That(count, Is.EqualTo(4)); + + sample = await _dbContext.CpiData.FirstOrDefaultAsync(d => d.SeriesId == "CUSR0000SA0" && d.Year == 1997 && d.Period == "M01"); + + Assert.Multiple(() => + { + Assert.That(sample, Is.Not.Null); + Assert.That(sample!.Value == 999.99m); + }); + + // Verify another record was unchanged + sample = await _dbContext.CpiData.FirstOrDefaultAsync(d => d.SeriesId == "CUSR0000SA0" && d.Year == 1997 && d.Period == "M02"); + + Assert.Multiple(() => + { + Assert.That(sample, Is.Not.Null); + Assert.That(sample!.Value, Is.EqualTo(159.70m)); + }); + + } + + private async Task UpsertDependencies() + { + var areaPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.area.sample"); + var itemPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.item.sample"); + var seriesPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.series.sample"); + var footnotePath = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.footnote.sample"); + var periodPath = Path.Combine(TestContext.CurrentContext.TestDirectory, "TestData", "EtlData", "cu.period.sample"); + + await _repository.UpsertCpiAreaAsync(_parser.ParseCpiAreasAsync(areaPath)); + await _repository.UpsertCpiPeriodAsync(_parser.ParseCpiPeriodsAsync(periodPath)); + await _repository.UpsertCpiItemAsync(_parser.ParseCpiItemsAsync(itemPath)); + await _repository.UpsertCpiFootnotesAsync(_parser.ParseCpiFootnoteAsync(footnotePath)); + await _repository.UpsertCpiSeriesAsync(_parser.ParseCpiSeriesAsync(seriesPath)); + } + + + [TearDown] + public async Task TearDown() + { + await _dbContext.DisposeAsync(); + } +} diff --git a/EconDataLens.Tests/TestData/EtlData/cu.data.0.Current.modified.sample b/EconDataLens.Tests/TestData/EtlData/cu.data.0.Current.modified.sample new file mode 100644 index 0000000..d0d0178 --- /dev/null +++ b/EconDataLens.Tests/TestData/EtlData/cu.data.0.Current.modified.sample @@ -0,0 +1,5 @@ +series_id year period value footnote_codes +CUSR0000SA0 1997 M01 999.99 +CUSR0000SA0 1997 M02 159.70 +CUSR0000SA0 1997 M03 159.80 +CUSR0000SA0 1997 M04 159.90 diff --git a/EconDataLens.Tests/TestData/EtlData/cu.data.0.Current.sample b/EconDataLens.Tests/TestData/EtlData/cu.data.0.Current.sample index ee33e9f..39c926f 100644 --- a/EconDataLens.Tests/TestData/EtlData/cu.data.0.Current.sample +++ b/EconDataLens.Tests/TestData/EtlData/cu.data.0.Current.sample @@ -1,1000 +1,5 @@ series_id year period value footnote_codes -CUSR0000SA0 1997 M01 159.40 -CUSR0000SA0 1997 M02 159.70 -CUSR0000SA0 1997 M03 159.80 -CUSR0000SA0 1997 M04 159.90 -CUSR0000SA0 1997 M05 159.90 -CUSR0000SA0 1997 M06 160.20 -CUSR0000SA0 1997 M07 160.40 -CUSR0000SA0 1997 M08 160.80 -CUSR0000SA0 1997 M09 161.20 -CUSR0000SA0 1997 M10 161.50 -CUSR0000SA0 1997 M11 161.70 -CUSR0000SA0 1997 M12 161.80 -CUSR0000SA0 1998 M01 162.00 -CUSR0000SA0 1998 M02 162.00 -CUSR0000SA0 1998 M03 162.00 -CUSR0000SA0 1998 M04 162.20 -CUSR0000SA0 1998 M05 162.60 -CUSR0000SA0 1998 M06 162.80 -CUSR0000SA0 1998 M07 163.20 -CUSR0000SA0 1998 M08 163.40 -CUSR0000SA0 1998 M09 163.50 -CUSR0000SA0 1998 M10 163.90 -CUSR0000SA0 1998 M11 164.10 -CUSR0000SA0 1998 M12 164.40 -CUSR0000SA0 1999 M01 164.70 -CUSR0000SA0 1999 M02 164.70 -CUSR0000SA0 1999 M03 164.80 -CUSR0000SA0 1999 M04 165.90 -CUSR0000SA0 1999 M05 166.00 -CUSR0000SA0 1999 M06 166.00 -CUSR0000SA0 1999 M07 166.70 -CUSR0000SA0 1999 M08 167.10 -CUSR0000SA0 1999 M09 167.80 -CUSR0000SA0 1999 M10 168.10 -CUSR0000SA0 1999 M11 168.40 -CUSR0000SA0 1999 M12 168.80 -CUSR0000SA0 2000 M01 169.30 -CUSR0000SA0 2000 M02 170.00 -CUSR0000SA0 2000 M03 171.00 -CUSR0000SA0 2000 M04 170.90 -CUSR0000SA0 2000 M05 171.20 -CUSR0000SA0 2000 M06 172.20 -CUSR0000SA0 2000 M07 172.70 -CUSR0000SA0 2000 M08 172.70 -CUSR0000SA0 2000 M09 173.60 -CUSR0000SA0 2000 M10 173.90 -CUSR0000SA0 2000 M11 174.20 -CUSR0000SA0 2000 M12 174.60 -CUSR0000SA0 2001 M01 175.60 -CUSR0000SA0 2001 M02 176.00 -CUSR0000SA0 2001 M03 176.10 -CUSR0000SA0 2001 M04 176.40 -CUSR0000SA0 2001 M05 177.30 -CUSR0000SA0 2001 M06 177.70 -CUSR0000SA0 2001 M07 177.40 -CUSR0000SA0 2001 M08 177.40 -CUSR0000SA0 2001 M09 178.10 -CUSR0000SA0 2001 M10 177.60 -CUSR0000SA0 2001 M11 177.50 -CUSR0000SA0 2001 M12 177.40 -CUSR0000SA0 2002 M01 177.7 -CUSR0000SA0 2002 M02 178.0 -CUSR0000SA0 2002 M03 178.5 -CUSR0000SA0 2002 M04 179.3 -CUSR0000SA0 2002 M05 179.5 -CUSR0000SA0 2002 M06 179.6 -CUSR0000SA0 2002 M07 180.0 -CUSR0000SA0 2002 M08 180.5 -CUSR0000SA0 2002 M09 180.8 -CUSR0000SA0 2002 M10 181.2 -CUSR0000SA0 2002 M11 181.5 -CUSR0000SA0 2002 M12 181.8 -CUSR0000SA0 2003 M01 182.6 -CUSR0000SA0 2003 M02 183.6 -CUSR0000SA0 2003 M03 183.9 -CUSR0000SA0 2003 M04 183.2 -CUSR0000SA0 2003 M05 182.9 -CUSR0000SA0 2003 M06 183.1 -CUSR0000SA0 2003 M07 183.7 -CUSR0000SA0 2003 M08 184.5 -CUSR0000SA0 2003 M09 185.1 -CUSR0000SA0 2003 M10 184.9 -CUSR0000SA0 2003 M11 185.0 -CUSR0000SA0 2003 M12 185.5 -CUSR0000SA0 2004 M01 186.3 -CUSR0000SA0 2004 M02 186.7 -CUSR0000SA0 2004 M03 187.1 -CUSR0000SA0 2004 M04 187.4 -CUSR0000SA0 2004 M05 188.2 -CUSR0000SA0 2004 M06 188.9 -CUSR0000SA0 2004 M07 189.1 -CUSR0000SA0 2004 M08 189.2 -CUSR0000SA0 2004 M09 189.8 -CUSR0000SA0 2004 M10 190.8 -CUSR0000SA0 2004 M11 191.7 -CUSR0000SA0 2004 M12 191.7 -CUSR0000SA0 2005 M01 191.6 -CUSR0000SA0 2005 M02 192.4 -CUSR0000SA0 2005 M03 193.1 -CUSR0000SA0 2005 M04 193.7 -CUSR0000SA0 2005 M05 193.6 -CUSR0000SA0 2005 M06 193.7 -CUSR0000SA0 2005 M07 194.9 -CUSR0000SA0 2005 M08 196.1 -CUSR0000SA0 2005 M09 198.8 -CUSR0000SA0 2005 M10 199.1 -CUSR0000SA0 2005 M11 198.1 -CUSR0000SA0 2005 M12 198.1 -CUSR0000SA0 2006 M01 199.3 -CUSR0000SA0 2006 M02 199.4 -CUSR0000SA0 2006 M03 199.7 -CUSR0000SA0 2006 M04 200.7 -CUSR0000SA0 2006 M05 201.3 -CUSR0000SA0 2006 M06 201.8 -CUSR0000SA0 2006 M07 202.9 -CUSR0000SA0 2006 M08 203.8 -CUSR0000SA0 2006 M09 202.8 -CUSR0000SA0 2006 M10 201.9 -CUSR0000SA0 2006 M11 202.0 -CUSR0000SA0 2006 M12 203.1 -CUSR0000SA0 2007 M01 203.437 -CUSR0000SA0 2007 M02 204.226 -CUSR0000SA0 2007 M03 205.288 -CUSR0000SA0 2007 M04 205.904 -CUSR0000SA0 2007 M05 206.755 -CUSR0000SA0 2007 M06 207.234 -CUSR0000SA0 2007 M07 207.603 -CUSR0000SA0 2007 M08 207.667 -CUSR0000SA0 2007 M09 208.547 -CUSR0000SA0 2007 M10 209.190 -CUSR0000SA0 2007 M11 210.834 -CUSR0000SA0 2007 M12 211.445 -CUSR0000SA0 2008 M01 212.174 -CUSR0000SA0 2008 M02 212.687 -CUSR0000SA0 2008 M03 213.448 -CUSR0000SA0 2008 M04 213.942 -CUSR0000SA0 2008 M05 215.208 -CUSR0000SA0 2008 M06 217.463 -CUSR0000SA0 2008 M07 219.016 -CUSR0000SA0 2008 M08 218.690 -CUSR0000SA0 2008 M09 218.877 -CUSR0000SA0 2008 M10 216.995 -CUSR0000SA0 2008 M11 213.153 -CUSR0000SA0 2008 M12 211.398 -CUSR0000SA0 2009 M01 211.933 -CUSR0000SA0 2009 M02 212.705 -CUSR0000SA0 2009 M03 212.495 -CUSR0000SA0 2009 M04 212.709 -CUSR0000SA0 2009 M05 213.022 -CUSR0000SA0 2009 M06 214.790 -CUSR0000SA0 2009 M07 214.726 -CUSR0000SA0 2009 M08 215.445 -CUSR0000SA0 2009 M09 215.861 -CUSR0000SA0 2009 M10 216.509 -CUSR0000SA0 2009 M11 217.234 -CUSR0000SA0 2009 M12 217.347 -CUSR0000SA0 2010 M01 217.488 -CUSR0000SA0 2010 M02 217.281 -CUSR0000SA0 2010 M03 217.353 -CUSR0000SA0 2010 M04 217.403 -CUSR0000SA0 2010 M05 217.290 -CUSR0000SA0 2010 M06 217.199 -CUSR0000SA0 2010 M07 217.605 -CUSR0000SA0 2010 M08 217.923 -CUSR0000SA0 2010 M09 218.275 -CUSR0000SA0 2010 M10 219.035 -CUSR0000SA0 2010 M11 219.590 -CUSR0000SA0 2010 M12 220.472 -CUSR0000SA0 2011 M01 221.187 -CUSR0000SA0 2011 M02 221.898 -CUSR0000SA0 2011 M03 223.046 -CUSR0000SA0 2011 M04 224.093 -CUSR0000SA0 2011 M05 224.806 -CUSR0000SA0 2011 M06 224.806 -CUSR0000SA0 2011 M07 225.395 -CUSR0000SA0 2011 M08 226.106 -CUSR0000SA0 2011 M09 226.597 -CUSR0000SA0 2011 M10 226.750 -CUSR0000SA0 2011 M11 227.169 -CUSR0000SA0 2011 M12 227.223 -CUSR0000SA0 2012 M01 227.842 -CUSR0000SA0 2012 M02 228.329 -CUSR0000SA0 2012 M03 228.807 -CUSR0000SA0 2012 M04 229.187 -CUSR0000SA0 2012 M05 228.713 -CUSR0000SA0 2012 M06 228.524 -CUSR0000SA0 2012 M07 228.590 -CUSR0000SA0 2012 M08 229.918 -CUSR0000SA0 2012 M09 231.015 -CUSR0000SA0 2012 M10 231.638 -CUSR0000SA0 2012 M11 231.249 -CUSR0000SA0 2012 M12 231.221 -CUSR0000SA0 2013 M01 231.679 -CUSR0000SA0 2013 M02 232.937 -CUSR0000SA0 2013 M03 232.282 -CUSR0000SA0 2013 M04 231.797 -CUSR0000SA0 2013 M05 231.893 -CUSR0000SA0 2013 M06 232.445 -CUSR0000SA0 2013 M07 232.900 -CUSR0000SA0 2013 M08 233.456 -CUSR0000SA0 2013 M09 233.544 -CUSR0000SA0 2013 M10 233.669 -CUSR0000SA0 2013 M11 234.100 -CUSR0000SA0 2013 M12 234.719 -CUSR0000SA0 2014 M01 235.288 -CUSR0000SA0 2014 M02 235.547 -CUSR0000SA0 2014 M03 236.028 -CUSR0000SA0 2014 M04 236.468 -CUSR0000SA0 2014 M05 236.918 -CUSR0000SA0 2014 M06 237.231 -CUSR0000SA0 2014 M07 237.498 -CUSR0000SA0 2014 M08 237.460 -CUSR0000SA0 2014 M09 237.477 -CUSR0000SA0 2014 M10 237.430 -CUSR0000SA0 2014 M11 236.983 -CUSR0000SA0 2014 M12 236.252 -CUSR0000SA0 2015 M01 234.747 -CUSR0000SA0 2015 M02 235.342 -CUSR0000SA0 2015 M03 235.976 -CUSR0000SA0 2015 M04 236.222 -CUSR0000SA0 2015 M05 237.001 -CUSR0000SA0 2015 M06 237.657 -CUSR0000SA0 2015 M07 238.034 -CUSR0000SA0 2015 M08 238.033 -CUSR0000SA0 2015 M09 237.498 -CUSR0000SA0 2015 M10 237.733 -CUSR0000SA0 2015 M11 238.017 -CUSR0000SA0 2015 M12 237.761 -CUSR0000SA0 2016 M01 237.652 -CUSR0000SA0 2016 M02 237.336 -CUSR0000SA0 2016 M03 238.080 -CUSR0000SA0 2016 M04 238.992 -CUSR0000SA0 2016 M05 239.557 -CUSR0000SA0 2016 M06 240.222 -CUSR0000SA0 2016 M07 240.101 -CUSR0000SA0 2016 M08 240.545 -CUSR0000SA0 2016 M09 241.176 -CUSR0000SA0 2016 M10 241.741 -CUSR0000SA0 2016 M11 242.026 -CUSR0000SA0 2016 M12 242.637 -CUSR0000SA0 2017 M01 243.618 -CUSR0000SA0 2017 M02 244.006 -CUSR0000SA0 2017 M03 243.892 -CUSR0000SA0 2017 M04 244.193 -CUSR0000SA0 2017 M05 244.004 -CUSR0000SA0 2017 M06 244.163 -CUSR0000SA0 2017 M07 244.243 -CUSR0000SA0 2017 M08 245.183 -CUSR0000SA0 2017 M09 246.435 -CUSR0000SA0 2017 M10 246.626 -CUSR0000SA0 2017 M11 247.284 -CUSR0000SA0 2017 M12 247.805 -CUSR0000SA0 2018 M01 248.859 -CUSR0000SA0 2018 M02 249.529 -CUSR0000SA0 2018 M03 249.577 -CUSR0000SA0 2018 M04 250.227 -CUSR0000SA0 2018 M05 250.792 -CUSR0000SA0 2018 M06 251.018 -CUSR0000SA0 2018 M07 251.214 -CUSR0000SA0 2018 M08 251.663 -CUSR0000SA0 2018 M09 252.182 -CUSR0000SA0 2018 M10 252.772 -CUSR0000SA0 2018 M11 252.594 -CUSR0000SA0 2018 M12 252.767 -CUSR0000SA0 2019 M01 252.561 -CUSR0000SA0 2019 M02 253.319 -CUSR0000SA0 2019 M03 254.277 -CUSR0000SA0 2019 M04 255.233 -CUSR0000SA0 2019 M05 255.296 -CUSR0000SA0 2019 M06 255.213 -CUSR0000SA0 2019 M07 255.802 -CUSR0000SA0 2019 M08 256.036 -CUSR0000SA0 2019 M09 256.430 -CUSR0000SA0 2019 M10 257.155 -CUSR0000SA0 2019 M11 257.879 -CUSR0000SA0 2019 M12 258.630 -CUSR0000SA0 2020 M01 259.127 -CUSR0000SA0 2020 M02 259.250 -CUSR0000SA0 2020 M03 258.076 -CUSR0000SA0 2020 M04 256.032 -CUSR0000SA0 2020 M05 255.802 -CUSR0000SA0 2020 M06 257.042 -CUSR0000SA0 2020 M07 258.352 -CUSR0000SA0 2020 M08 259.316 -CUSR0000SA0 2020 M09 259.997 -CUSR0000SA0 2020 M10 260.319 -CUSR0000SA0 2020 M11 260.911 -CUSR0000SA0 2020 M12 262.045 -CUSR0000SA0 2021 M01 262.639 -CUSR0000SA0 2021 M02 263.573 -CUSR0000SA0 2021 M03 264.847 -CUSR0000SA0 2021 M04 266.625 -CUSR0000SA0 2021 M05 268.404 -CUSR0000SA0 2021 M06 270.710 -CUSR0000SA0 2021 M07 271.965 -CUSR0000SA0 2021 M08 272.752 -CUSR0000SA0 2021 M09 273.942 -CUSR0000SA0 2021 M10 276.528 -CUSR0000SA0 2021 M11 278.824 -CUSR0000SA0 2021 M12 280.806 -CUSR0000SA0 2022 M01 282.542 -CUSR0000SA0 2022 M02 284.525 -CUSR0000SA0 2022 M03 287.467 -CUSR0000SA0 2022 M04 288.582 -CUSR0000SA0 2022 M05 291.299 -CUSR0000SA0 2022 M06 295.072 -CUSR0000SA0 2022 M07 294.940 -CUSR0000SA0 2022 M08 295.162 -CUSR0000SA0 2022 M09 296.421 -CUSR0000SA0 2022 M10 297.979 -CUSR0000SA0 2022 M11 298.708 -CUSR0000SA0 2022 M12 298.808 -CUSR0000SA0 2023 M01 300.456 -CUSR0000SA0 2023 M02 301.476 -CUSR0000SA0 2023 M03 301.643 -CUSR0000SA0 2023 M04 302.858 -CUSR0000SA0 2023 M05 303.316 -CUSR0000SA0 2023 M06 304.099 -CUSR0000SA0 2023 M07 304.615 -CUSR0000SA0 2023 M08 306.138 -CUSR0000SA0 2023 M09 307.374 -CUSR0000SA0 2023 M10 307.653 -CUSR0000SA0 2023 M11 308.087 -CUSR0000SA0 2023 M12 308.735 -CUSR0000SA0 2024 M01 309.794 -CUSR0000SA0 2024 M02 311.022 -CUSR0000SA0 2024 M03 312.107 -CUSR0000SA0 2024 M04 313.016 -CUSR0000SA0 2024 M05 313.140 -CUSR0000SA0 2024 M06 313.131 -CUSR0000SA0 2024 M07 313.566 -CUSR0000SA0 2024 M08 314.131 -CUSR0000SA0 2024 M09 314.851 -CUSR0000SA0 2024 M10 315.564 -CUSR0000SA0 2024 M11 316.449 -CUSR0000SA0 2024 M12 317.603 -CUSR0000SA0 2025 M01 319.086 -CUSR0000SA0 2025 M02 319.775 -CUSR0000SA0 2025 M03 319.615 -CUSR0000SA0 2025 M04 320.321 -CUSR0000SA0 2025 M05 320.580 -CUSR0000SA0 2025 M06 321.500 -CUSR0000SA0 2025 M07 322.132 -CUSR0000SA0 2025 M08 323.364 -CUSR0000SA0E 1997 M01 115.2 -CUSR0000SA0E 1997 M02 115.0 -CUSR0000SA0E 1997 M03 113.0 -CUSR0000SA0E 1997 M04 111.0 -CUSR0000SA0E 1997 M05 108.8 -CUSR0000SA0E 1997 M06 110.0 -CUSR0000SA0E 1997 M07 109.1 -CUSR0000SA0E 1997 M08 110.9 -CUSR0000SA0E 1997 M09 112.4 -CUSR0000SA0E 1997 M10 111.8 -CUSR0000SA0E 1997 M11 111.4 -CUSR0000SA0E 1997 M12 109.8 -CUSR0000SA0E 1998 M01 107.5 -CUSR0000SA0E 1998 M02 105.1 -CUSR0000SA0E 1998 M03 103.3 -CUSR0000SA0E 1998 M04 102.4 -CUSR0000SA0E 1998 M05 103.2 -CUSR0000SA0E 1998 M06 103.6 -CUSR0000SA0E 1998 M07 103.3 -CUSR0000SA0E 1998 M08 102.1 -CUSR0000SA0E 1998 M09 101.3 -CUSR0000SA0E 1998 M10 101.5 -CUSR0000SA0E 1998 M11 101.1 -CUSR0000SA0E 1998 M12 100.1 -CUSR0000SA0E 1999 M01 99.7 -CUSR0000SA0E 1999 M02 99.2 -CUSR0000SA0E 1999 M03 100.4 -CUSR0000SA0E 1999 M04 105.5 -CUSR0000SA0E 1999 M05 104.9 -CUSR0000SA0E 1999 M06 104.5 -CUSR0000SA0E 1999 M07 106.7 -CUSR0000SA0E 1999 M08 109.5 -CUSR0000SA0E 1999 M09 111.8 -CUSR0000SA0E 1999 M10 112.0 -CUSR0000SA0E 1999 M11 111.5 -CUSR0000SA0E 1999 M12 113.8 -CUSR0000SA0E 2000 M01 115.0 -CUSR0000SA0E 2000 M02 118.8 -CUSR0000SA0E 2000 M03 124.3 -CUSR0000SA0E 2000 M04 120.9 -CUSR0000SA0E 2000 M05 120.0 -CUSR0000SA0E 2000 M06 126.8 -CUSR0000SA0E 2000 M07 127.3 -CUSR0000SA0E 2000 M08 123.8 -CUSR0000SA0E 2000 M09 129.2 -CUSR0000SA0E 2000 M10 129.6 -CUSR0000SA0E 2000 M11 129.2 -CUSR0000SA0E 2000 M12 130.1 -CUSR0000SA0E 2001 M01 135.0 -CUSR0000SA0E 2001 M02 134.1 -CUSR0000SA0E 2001 M03 131.7 -CUSR0000SA0E 2001 M04 132.3 -CUSR0000SA0E 2001 M05 138.4 -CUSR0000SA0E 2001 M06 136.9 -CUSR0000SA0E 2001 M07 129.6 -CUSR0000SA0E 2001 M08 127.3 -CUSR0000SA0E 2001 M09 130.9 -CUSR0000SA0E 2001 M10 122.9 -CUSR0000SA0E 2001 M11 116.9 -CUSR0000SA0E 2001 M12 113.9 -CUSR0000SA0E 2002 M01 114.2 -CUSR0000SA0E 2002 M02 113.5 -CUSR0000SA0E 2002 M03 117.6 -CUSR0000SA0E 2002 M04 121.5 -CUSR0000SA0E 2002 M05 121.9 -CUSR0000SA0E 2002 M06 121.6 -CUSR0000SA0E 2002 M07 122.4 -CUSR0000SA0E 2002 M08 123.1 -CUSR0000SA0E 2002 M09 123.7 -CUSR0000SA0E 2002 M10 126.9 -CUSR0000SA0E 2002 M11 126.7 -CUSR0000SA0E 2002 M12 127.1 -CUSR0000SA0E 2003 M01 133.5 -CUSR0000SA0E 2003 M02 140.8 -CUSR0000SA0E 2003 M03 143.9 -CUSR0000SA0E 2003 M04 136.5 -CUSR0000SA0E 2003 M05 129.4 -CUSR0000SA0E 2003 M06 129.8 -CUSR0000SA0E 2003 M07 132.2 -CUSR0000SA0E 2003 M08 137.8 -CUSR0000SA0E 2003 M09 142.9 -CUSR0000SA0E 2003 M10 137.8 -CUSR0000SA0E 2003 M11 136.9 -CUSR0000SA0E 2003 M12 138.8 -CUSR0000SA0E 2004 M01 143.9 -CUSR0000SA0E 2004 M02 145.8 -CUSR0000SA0E 2004 M03 145.1 -CUSR0000SA0E 2004 M04 143.4 -CUSR0000SA0E 2004 M05 147.6 -CUSR0000SA0E 2004 M06 151.5 -CUSR0000SA0E 2004 M07 151.1 -CUSR0000SA0E 2004 M08 151.5 -CUSR0000SA0E 2004 M09 152.9 -CUSR0000SA0E 2004 M10 158.6 -CUSR0000SA0E 2004 M11 163.8 -CUSR0000SA0E 2004 M12 162.3 -CUSR0000SA0E 2005 M01 157.2 -CUSR0000SA0E 2005 M02 161.8 -CUSR0000SA0E 2005 M03 163.5 -CUSR0000SA0E 2005 M04 166.7 -CUSR0000SA0E 2005 M05 163.3 -CUSR0000SA0E 2005 M06 163.7 -CUSR0000SA0E 2005 M07 172.8 -CUSR0000SA0E 2005 M08 183.5 -CUSR0000SA0E 2005 M09 208.2 -CUSR0000SA0E 2005 M10 205.9 -CUSR0000SA0E 2005 M11 191.0 -CUSR0000SA0E 2005 M12 187.6 -CUSR0000SA0E 2006 M01 196.6 -CUSR0000SA0E 2006 M02 194.1 -CUSR0000SA0E 2006 M03 192.0 -CUSR0000SA0E 2006 M04 198.5 -CUSR0000SA0E 2006 M05 199.8 -CUSR0000SA0E 2006 M06 199.8 -CUSR0000SA0E 2006 M07 207.9 -CUSR0000SA0E 2006 M08 211.9 -CUSR0000SA0E 2006 M09 198.1 -CUSR0000SA0E 2006 M10 184.1 -CUSR0000SA0E 2006 M11 184.1 -CUSR0000SA0E 2006 M12 192.7 -CUSR0000SA0E 2007 M01 190.281 -CUSR0000SA0E 2007 M02 192.310 -CUSR0000SA0E 2007 M03 200.206 -CUSR0000SA0E 2007 M04 203.307 -CUSR0000SA0E 2007 M05 208.635 -CUSR0000SA0E 2007 M06 209.799 -CUSR0000SA0E 2007 M07 209.639 -CUSR0000SA0E 2007 M08 206.412 -CUSR0000SA0E 2007 M09 210.742 -CUSR0000SA0E 2007 M10 212.386 -CUSR0000SA0E 2007 M11 223.814 -CUSR0000SA0E 2007 M12 225.649 -CUSR0000SA0E 2008 M01 226.775 -CUSR0000SA0E 2008 M02 229.731 -CUSR0000SA0E 2008 M03 233.349 -CUSR0000SA0E 2008 M04 234.778 -CUSR0000SA0E 2008 M05 243.924 -CUSR0000SA0E 2008 M06 262.081 -CUSR0000SA0E 2008 M07 271.149 -CUSR0000SA0E 2008 M08 262.566 -CUSR0000SA0E 2008 M09 260.125 -CUSR0000SA0E 2008 M10 238.065 -CUSR0000SA0E 2008 M11 195.155 -CUSR0000SA0E 2008 M12 176.583 -CUSR0000SA0E 2009 M01 178.661 -CUSR0000SA0E 2009 M02 183.721 -CUSR0000SA0E 2009 M03 178.415 -CUSR0000SA0E 2009 M04 177.552 -CUSR0000SA0E 2009 M05 179.830 -CUSR0000SA0E 2009 M06 197.033 -CUSR0000SA0E 2009 M07 195.778 -CUSR0000SA0E 2009 M08 201.583 -CUSR0000SA0E 2009 M09 202.777 -CUSR0000SA0E 2009 M10 204.719 -CUSR0000SA0E 2009 M11 210.932 -CUSR0000SA0E 2009 M12 209.915 -CUSR0000SA0E 2010 M01 212.807 -CUSR0000SA0E 2010 M02 209.624 -CUSR0000SA0E 2010 M03 209.326 -CUSR0000SA0E 2010 M04 209.219 -CUSR0000SA0E 2010 M05 206.631 -CUSR0000SA0E 2010 M06 203.764 -CUSR0000SA0E 2010 M07 206.877 -CUSR0000SA0E 2010 M08 208.770 -CUSR0000SA0E 2010 M09 209.832 -CUSR0000SA0E 2010 M10 216.710 -CUSR0000SA0E 2010 M11 219.496 -CUSR0000SA0E 2010 M12 227.130 -CUSR0000SA0E 2011 M01 229.258 -CUSR0000SA0E 2011 M02 232.068 -CUSR0000SA0E 2011 M03 240.079 -CUSR0000SA0E 2011 M04 247.977 -CUSR0000SA0E 2011 M05 250.744 -CUSR0000SA0E 2011 M06 245.534 -CUSR0000SA0E 2011 M07 246.187 -CUSR0000SA0E 2011 M08 246.880 -CUSR0000SA0E 2011 M09 248.550 -CUSR0000SA0E 2011 M10 246.655 -CUSR0000SA0E 2011 M11 247.640 -CUSR0000SA0E 2011 M12 243.353 -CUSR0000SA0E 2012 M01 244.876 -CUSR0000SA0E 2012 M02 248.898 -CUSR0000SA0E 2012 M03 249.742 -CUSR0000SA0E 2012 M04 249.677 -CUSR0000SA0E 2012 M05 241.806 -CUSR0000SA0E 2012 M06 235.897 -CUSR0000SA0E 2012 M07 233.568 -CUSR0000SA0E 2012 M08 244.987 -CUSR0000SA0E 2012 M09 252.987 -CUSR0000SA0E 2012 M10 256.017 -CUSR0000SA0E 2012 M11 248.819 -CUSR0000SA0E 2012 M12 244.708 -CUSR0000SA0E 2013 M01 245.025 -CUSR0000SA0E 2013 M02 255.696 -CUSR0000SA0E 2013 M03 246.595 -CUSR0000SA0E 2013 M04 240.473 -CUSR0000SA0E 2013 M05 240.468 -CUSR0000SA0E 2013 M06 242.711 -CUSR0000SA0E 2013 M07 242.986 -CUSR0000SA0E 2013 M08 244.833 -CUSR0000SA0E 2013 M09 242.745 -CUSR0000SA0E 2013 M10 241.954 -CUSR0000SA0E 2013 M11 242.718 -CUSR0000SA0E 2013 M12 245.733 -CUSR0000SA0E 2014 M01 250.340 -CUSR0000SA0E 2014 M02 249.925 -CUSR0000SA0E 2014 M03 249.961 -CUSR0000SA0E 2014 M04 249.864 -CUSR0000SA0E 2014 M05 249.213 -CUSR0000SA0E 2014 M06 249.714 -CUSR0000SA0E 2014 M07 248.744 -CUSR0000SA0E 2014 M08 245.699 -CUSR0000SA0E 2014 M09 241.610 -CUSR0000SA0E 2014 M10 237.061 -CUSR0000SA0E 2014 M11 229.016 -CUSR0000SA0E 2014 M12 218.536 -CUSR0000SA0E 2015 M01 199.926 -CUSR0000SA0E 2015 M02 203.021 -CUSR0000SA0E 2015 M03 205.757 -CUSR0000SA0E 2015 M04 203.577 -CUSR0000SA0E 2015 M05 208.973 -CUSR0000SA0E 2015 M06 212.015 -CUSR0000SA0E 2015 M07 211.623 -CUSR0000SA0E 2015 M08 208.579 -CUSR0000SA0E 2015 M09 197.246 -CUSR0000SA0E 2015 M10 195.616 -CUSR0000SA0E 2015 M11 195.114 -CUSR0000SA0E 2015 M12 190.143 -CUSR0000SA0E 2016 M01 185.235 -CUSR0000SA0E 2016 M02 176.401 -CUSR0000SA0E 2016 M03 182.234 -CUSR0000SA0E 2016 M04 186.713 -CUSR0000SA0E 2016 M05 188.596 -CUSR0000SA0E 2016 M06 192.899 -CUSR0000SA0E 2016 M07 189.046 -CUSR0000SA0E 2016 M08 188.772 -CUSR0000SA0E 2016 M09 192.243 -CUSR0000SA0E 2016 M10 195.979 -CUSR0000SA0E 2016 M11 196.372 -CUSR0000SA0E 2016 M12 199.513 -CUSR0000SA0E 2017 M01 205.369 -CUSR0000SA0E 2017 M02 204.133 -CUSR0000SA0E 2017 M03 202.528 -CUSR0000SA0E 2017 M04 202.954 -CUSR0000SA0E 2017 M05 198.449 -CUSR0000SA0E 2017 M06 197.808 -CUSR0000SA0E 2017 M07 195.994 -CUSR0000SA0E 2017 M08 201.450 -CUSR0000SA0E 2017 M09 212.723 -CUSR0000SA0E 2017 M10 208.328 -CUSR0000SA0E 2017 M11 213.047 -CUSR0000SA0E 2017 M12 213.574 -CUSR0000SA0E 2018 M01 216.855 -CUSR0000SA0E 2018 M02 220.141 -CUSR0000SA0E 2018 M03 215.720 -CUSR0000SA0E 2018 M04 219.165 -CUSR0000SA0E 2018 M05 221.045 -CUSR0000SA0E 2018 M06 220.947 -CUSR0000SA0E 2018 M07 219.929 -CUSR0000SA0E 2018 M08 222.781 -CUSR0000SA0E 2018 M09 223.955 -CUSR0000SA0E 2018 M10 226.022 -CUSR0000SA0E 2018 M11 218.500 -CUSR0000SA0E 2018 M12 213.630 -CUSR0000SA0E 2019 M01 204.340 -CUSR0000SA0E 2019 M02 208.144 -CUSR0000SA0E 2019 M03 214.934 -CUSR0000SA0E 2019 M04 222.420 -CUSR0000SA0E 2019 M05 220.523 -CUSR0000SA0E 2019 M06 214.926 -CUSR0000SA0E 2019 M07 216.696 -CUSR0000SA0E 2019 M08 213.847 -CUSR0000SA0E 2019 M09 213.015 -CUSR0000SA0E 2019 M10 215.268 -CUSR0000SA0E 2019 M11 217.488 -CUSR0000SA0E 2019 M12 221.180 -CUSR0000SA0E 2020 M01 220.147 -CUSR0000SA0E 2020 M02 214.294 -CUSR0000SA0E 2020 M03 201.681 -CUSR0000SA0E 2020 M04 182.586 -CUSR0000SA0E 2020 M05 180.040 -CUSR0000SA0E 2020 M06 188.734 -CUSR0000SA0E 2020 M07 191.966 -CUSR0000SA0E 2020 M08 193.307 -CUSR0000SA0E 2020 M09 196.705 -CUSR0000SA0E 2020 M10 196.113 -CUSR0000SA0E 2020 M11 197.017 -CUSR0000SA0E 2020 M12 205.670 -CUSR0000SA0E 2021 M01 211.551 -CUSR0000SA0E 2021 M02 219.204 -CUSR0000SA0E 2021 M03 228.068 -CUSR0000SA0E 2021 M04 227.637 -CUSR0000SA0E 2021 M05 230.260 -CUSR0000SA0E 2021 M06 234.697 -CUSR0000SA0E 2021 M07 237.425 -CUSR0000SA0E 2021 M08 241.446 -CUSR0000SA0E 2021 M09 245.525 -CUSR0000SA0E 2021 M10 254.669 -CUSR0000SA0E 2021 M11 262.745 -CUSR0000SA0E 2021 M12 267.047 -CUSR0000SA0E 2022 M01 269.670 -CUSR0000SA0E 2022 M02 275.672 -CUSR0000SA0E 2022 M03 300.345 -CUSR0000SA0E 2022 M04 296.071 -CUSR0000SA0E 2022 M05 309.418 -CUSR0000SA0E 2022 M06 332.281 -CUSR0000SA0E 2022 M07 314.944 -CUSR0000SA0E 2022 M08 298.772 -CUSR0000SA0E 2022 M09 294.581 -CUSR0000SA0E 2022 M10 299.791 -CUSR0000SA0E 2022 M11 297.403 -CUSR0000SA0E 2022 M12 285.672 -CUSR0000SA0E 2023 M01 292.447 -CUSR0000SA0E 2023 M02 289.134 -CUSR0000SA0E 2023 M03 280.323 -CUSR0000SA0E 2023 M04 281.500 -CUSR0000SA0E 2023 M05 274.466 -CUSR0000SA0E 2023 M06 277.109 -CUSR0000SA0E 2023 M07 275.900 -CUSR0000SA0E 2023 M08 287.508 -CUSR0000SA0E 2023 M09 293.194 -CUSR0000SA0E 2023 M10 286.478 -CUSR0000SA0E 2023 M11 281.732 -CUSR0000SA0E 2023 M12 280.311 -CUSR0000SA0E 2024 M01 280.238 -CUSR0000SA0E 2024 M02 283.983 -CUSR0000SA0E 2024 M03 285.463 -CUSR0000SA0E 2024 M04 288.138 -CUSR0000SA0E 2024 M05 284.275 -CUSR0000SA0E 2024 M06 279.824 -CUSR0000SA0E 2024 M07 278.634 -CUSR0000SA0E 2024 M08 275.863 -CUSR0000SA0E 2024 M09 273.238 -CUSR0000SA0E 2024 M10 272.629 -CUSR0000SA0E 2024 M11 272.863 -CUSR0000SA0E 2024 M12 279.455 -CUSR0000SA0E 2025 M01 282.481 -CUSR0000SA0E 2025 M02 283.035 -CUSR0000SA0E 2025 M03 276.274 -CUSR0000SA0E 2025 M04 278.118 -CUSR0000SA0E 2025 M05 275.406 -CUSR0000SA0E 2025 M06 278.012 -CUSR0000SA0E 2025 M07 275.044 -CUSR0000SA0E 2025 M08 276.936 -CUSR0000SA0L1 1997 M01 160.0 -CUSR0000SA0L1 1997 M02 160.3 -CUSR0000SA0L1 1997 M03 160.4 -CUSR0000SA0L1 1997 M04 160.5 -CUSR0000SA0L1 1997 M05 160.5 -CUSR0000SA0L1 1997 M06 160.8 -CUSR0000SA0L1 1997 M07 161.0 -CUSR0000SA0L1 1997 M08 161.3 -CUSR0000SA0L1 1997 M09 161.8 -CUSR0000SA0L1 1997 M10 162.1 -CUSR0000SA0L1 1997 M11 162.2 -CUSR0000SA0L1 1997 M12 162.4 -CUSR0000SA0L1 1998 M01 162.4 -CUSR0000SA0L1 1998 M02 162.4 -CUSR0000SA0L1 1998 M03 162.4 -CUSR0000SA0L1 1998 M04 162.6 -CUSR0000SA0L1 1998 M05 163.1 -CUSR0000SA0L1 1998 M06 163.3 -CUSR0000SA0L1 1998 M07 163.6 -CUSR0000SA0L1 1998 M08 163.9 -CUSR0000SA0L1 1998 M09 163.9 -CUSR0000SA0L1 1998 M10 164.2 -CUSR0000SA0L1 1998 M11 164.4 -CUSR0000SA0L1 1998 M12 164.8 -CUSR0000SA0L1 1999 M01 165.0 -CUSR0000SA0L1 1999 M02 164.9 -CUSR0000SA0L1 1999 M03 165.1 -CUSR0000SA0L1 1999 M04 166.3 -CUSR0000SA0L1 1999 M05 166.4 -CUSR0000SA0L1 1999 M06 166.5 -CUSR0000SA0L1 1999 M07 167.1 -CUSR0000SA0L1 1999 M08 167.6 -CUSR0000SA0L1 1999 M09 168.4 -CUSR0000SA0L1 1999 M10 168.7 -CUSR0000SA0L1 1999 M11 168.9 -CUSR0000SA0L1 1999 M12 169.4 -CUSR0000SA0L1 2000 M01 170.0 -CUSR0000SA0L1 2000 M02 170.7 -CUSR0000SA0L1 2000 M03 171.8 -CUSR0000SA0L1 2000 M04 171.7 -CUSR0000SA0L1 2000 M05 171.9 -CUSR0000SA0L1 2000 M06 173.1 -CUSR0000SA0L1 2000 M07 173.5 -CUSR0000SA0L1 2000 M08 173.4 -CUSR0000SA0L1 2000 M09 174.5 -CUSR0000SA0L1 2000 M10 174.7 -CUSR0000SA0L1 2000 M11 175.1 -CUSR0000SA0L1 2000 M12 175.4 -CUSR0000SA0L1 2001 M01 176.6 -CUSR0000SA0L1 2001 M02 176.8 -CUSR0000SA0L1 2001 M03 176.9 -CUSR0000SA0L1 2001 M04 177.2 -CUSR0000SA0L1 2001 M05 178.2 -CUSR0000SA0L1 2001 M06 178.6 -CUSR0000SA0L1 2001 M07 178.1 -CUSR0000SA0L1 2001 M08 178.1 -CUSR0000SA0L1 2001 M09 178.8 -CUSR0000SA0L1 2001 M10 178.1 -CUSR0000SA0L1 2001 M11 178.0 -CUSR0000SA0L1 2001 M12 177.8 -CUSR0000SA0L1 2002 M01 178.1 -CUSR0000SA0L1 2002 M02 178.4 -CUSR0000SA0L1 2002 M03 178.9 -CUSR0000SA0L1 2002 M04 179.8 -CUSR0000SA0L1 2002 M05 180.1 -CUSR0000SA0L1 2002 M06 180.3 -CUSR0000SA0L1 2002 M07 180.7 -CUSR0000SA0L1 2002 M08 181.3 -CUSR0000SA0L1 2002 M09 181.5 -CUSR0000SA0L1 2002 M10 182.0 -CUSR0000SA0L1 2002 M11 182.3 -CUSR0000SA0L1 2002 M12 182.6 -CUSR0000SA0L1 2003 M01 183.6 -CUSR0000SA0L1 2003 M02 184.5 -CUSR0000SA0L1 2003 M03 184.8 -CUSR0000SA0L1 2003 M04 184.0 -CUSR0000SA0L1 2003 M05 183.6 -CUSR0000SA0L1 2003 M06 183.7 -CUSR0000SA0L1 2003 M07 184.3 -CUSR0000SA0L1 2003 M08 185.1 -CUSR0000SA0L1 2003 M09 185.8 -CUSR0000SA0L1 2003 M10 185.5 -CUSR0000SA0L1 2003 M11 185.4 -CUSR0000SA0L1 2003 M12 185.8 -CUSR0000SA0L1 2004 M01 186.8 -CUSR0000SA0L1 2004 M02 187.2 -CUSR0000SA0L1 2004 M03 187.6 -CUSR0000SA0L1 2004 M04 187.8 -CUSR0000SA0L1 2004 M05 188.6 -CUSR0000SA0L1 2004 M06 189.3 -CUSR0000SA0L1 2004 M07 189.4 -CUSR0000SA0L1 2004 M08 189.6 -CUSR0000SA0L1 2004 M09 190.3 -CUSR0000SA0L1 2004 M10 191.3 -CUSR0000SA0L1 2004 M11 192.3 -CUSR0000SA0L1 2004 M12 192.3 -CUSR0000SA0L1 2005 M01 192.1 -CUSR0000SA0L1 2005 M02 193.0 -CUSR0000SA0L1 2005 M03 193.8 -CUSR0000SA0L1 2005 M04 194.3 -CUSR0000SA0L1 2005 M05 194.1 -CUSR0000SA0L1 2005 M06 194.3 -CUSR0000SA0L1 2005 M07 195.6 -CUSR0000SA0L1 2005 M08 197.0 -CUSR0000SA0L1 2005 M09 200.0 -CUSR0000SA0L1 2005 M10 200.3 -CUSR0000SA0L1 2005 M11 199.1 -CUSR0000SA0L1 2005 M12 199.0 -CUSR0000SA0L1 2006 M01 200.3 -CUSR0000SA0L1 2006 M02 200.3 -CUSR0000SA0L1 2006 M03 200.7 -CUSR0000SA0L1 2006 M04 201.9 -CUSR0000SA0L1 2006 M05 202.6 -CUSR0000SA0L1 2006 M06 203.0 -CUSR0000SA0L1 2006 M07 204.2 -CUSR0000SA0L1 2006 M08 205.1 -CUSR0000SA0L1 2006 M09 203.9 -CUSR0000SA0L1 2006 M10 202.8 -CUSR0000SA0L1 2006 M11 202.9 -CUSR0000SA0L1 2006 M12 204.1 -CUSR0000SA0L1 2007 M01 204.297 -CUSR0000SA0L1 2007 M02 204.992 -CUSR0000SA0L1 2007 M03 206.114 -CUSR0000SA0L1 2007 M04 206.747 -CUSR0000SA0L1 2007 M05 207.609 -CUSR0000SA0L1 2007 M06 208.032 -CUSR0000SA0L1 2007 M07 208.349 -CUSR0000SA0L1 2007 M08 208.295 -CUSR0000SA0L1 2007 M09 209.157 -CUSR0000SA0L1 2007 M10 209.799 -CUSR0000SA0L1 2007 M11 211.575 -CUSR0000SA0L1 2007 M12 212.225 -CUSR0000SA0L1 2008 M01 212.866 -CUSR0000SA0L1 2008 M02 213.336 -CUSR0000SA0L1 2008 M03 214.153 -CUSR0000SA0L1 2008 M04 214.432 -CUSR0000SA0L1 2008 M05 215.760 -CUSR0000SA0L1 2008 M06 218.168 -CUSR0000SA0L1 2008 M07 219.632 -CUSR0000SA0L1 2008 M08 219.074 -CUSR0000SA0L1 2008 M09 219.090 -CUSR0000SA0L1 2008 M10 216.751 -CUSR0000SA0L1 2008 M11 212.215 -CUSR0000SA0L1 2008 M12 210.172 -CUSR0000SA0L1 2009 M01 210.769 -CUSR0000SA0L1 2009 M02 211.713 -CUSR0000SA0L1 2009 M03 211.541 -CUSR0000SA0L1 2009 M04 211.845 -CUSR0000SA0L1 2009 M05 212.268 -CUSR0000SA0L1 2009 M06 214.326 -CUSR0000SA0L1 2009 M07 214.321 -CUSR0000SA0L1 2009 M08 215.159 -CUSR0000SA0L1 2009 M09 215.663 -CUSR0000SA0L1 2009 M10 216.385 -CUSR0000SA0L1 2009 M11 217.207 -CUSR0000SA0L1 2009 M12 217.286 -CUSR0000SA0L1 2010 M01 217.351 -CUSR0000SA0L1 2010 M02 217.101 -CUSR0000SA0L1 2010 M03 217.115 -CUSR0000SA0L1 2010 M04 217.138 -CUSR0000SA0L1 2010 M05 216.988 -CUSR0000SA0L1 2010 M06 216.890 -CUSR0000SA0L1 2010 M07 217.369 -CUSR0000SA0L1 2010 M08 217.698 -CUSR0000SA0L1 2010 M09 217.988 -CUSR0000SA0L1 2010 M10 218.821 -CUSR0000SA0L1 2010 M11 219.397 -CUSR0000SA0L1 2010 M12 220.376 -CUSR0000SA0L1 2011 M01 221.006 -CUSR0000SA0L1 2011 M02 221.665 -CUSR0000SA0L1 2011 M03 222.725 -CUSR0000SA0L1 2011 M04 223.802 -CUSR0000SA0L1 2011 M05 224.490 -CUSR0000SA0L1 2011 M06 224.400 -CUSR0000SA0L1 2011 M07 224.929 -CUSR0000SA0L1 2011 M08 225.571 -CUSR0000SA0L1 2011 M09 225.974 -CUSR0000SA0L1 2011 M10 226.116 -CUSR0000SA0L1 2011 M11 226.567 -CUSR0000SA0L1 2011 M12 226.561 -CUSR0000SA0L1 2012 M01 227.180 -CUSR0000SA0L1 2012 M02 227.758 -CUSR0000SA0L1 2012 M03 228.240 -CUSR0000SA0L1 2012 M04 228.609 -CUSR0000SA0L1 2012 M05 228.028 -CUSR0000SA0L1 2012 M06 227.734 -CUSR0000SA0L1 2012 M07 227.784 -CUSR0000SA0L1 2012 M08 229.264 -CUSR0000SA0L1 2012 M09 230.513 -CUSR0000SA0L1 2012 M10 231.165 -CUSR0000SA0L1 2012 M11 230.647 -CUSR0000SA0L1 2012 M12 230.546 -CUSR0000SA0L1 2013 M01 231.023 -CUSR0000SA0L1 2013 M02 232.489 -CUSR0000SA0L1 2013 M03 231.692 -CUSR0000SA0L1 2013 M04 231.056 -CUSR0000SA0L1 2013 M05 231.200 -CUSR0000SA0L1 2013 M06 231.757 -CUSR0000SA0L1 2013 M07 232.252 -CUSR0000SA0L1 2013 M08 232.856 -CUSR0000SA0L1 2013 M09 232.947 -CUSR0000SA0L1 2013 M10 233.055 -CUSR0000SA0L1 2013 M11 233.524 -CUSR0000SA0L1 2013 M12 234.205 -CUSR0000SA0L1 2014 M01 234.808 -CUSR0000SA0L1 2014 M02 234.964 -CUSR0000SA0L1 2014 M03 235.357 -CUSR0000SA0L1 2014 M04 235.742 -CUSR0000SA0L1 2014 M05 236.079 -CUSR0000SA0L1 2014 M06 236.403 -CUSR0000SA0L1 2014 M07 236.619 -CUSR0000SA0L1 2014 M08 236.488 -CUSR0000SA0L1 2014 M09 236.400 -CUSR0000SA0L1 2014 M10 236.284 -CUSR0000SA0L1 2014 M11 235.684 -CUSR0000SA0L1 2014 M12 234.705 -CUSR0000SA0L1 2015 M01 232.969 -CUSR0000SA0L1 2015 M02 233.611 -CUSR0000SA0L1 2015 M03 234.411 -CUSR0000SA0L1 2015 M04 234.707 -CUSR0000SA0L1 2015 M05 235.571 -CUSR0000SA0L1 2015 M06 236.220 -CUSR0000SA0L1 2015 M07 236.623 -CUSR0000SA0L1 2015 M08 236.529 -CUSR0000SA0L1 2015 M09 235.792 -CUSR0000SA0L1 2015 M10 236.022 -CUSR0000SA0L1 2015 M11 236.388 -CUSR0000SA0L1 2015 M12 236.141 -CUSR0000SA0L1 2016 M01 235.989 -CUSR0000SA0L1 2016 M02 235.585 -CUSR0000SA0L1 2016 M03 236.534 -CUSR0000SA0L1 2016 M04 237.554 -CUSR0000SA0L1 2016 M05 238.265 -CUSR0000SA0L1 2016 M06 239.059 -CUSR0000SA0L1 2016 M07 238.924 -CUSR0000SA0L1 2016 M08 239.423 -CUSR0000SA0L1 2016 M09 240.147 -CUSR0000SA0L1 2016 M10 240.792 -CUSR0000SA0L1 2016 M11 241.133 -CUSR0000SA0L1 2016 M12 241.840 -CUSR0000SA0L1 2017 M01 242.920 -CUSR0000SA0L1 2017 M02 243.265 -CUSR0000SA0L1 2017 M03 243.054 -CUSR0000SA0L1 2017 M04 243.348 -CUSR0000SA0L1 2017 M05 243.071 -CUSR0000SA0L1 2017 M06 243.287 -CUSR0000SA0L1 2017 M07 243.314 -CUSR0000SA0L1 2017 M08 244.355 -CUSR0000SA0L1 2017 M09 245.745 -CUSR0000SA0L1 2017 M10 245.932 -CUSR0000SA0L1 2017 M11 246.668 -CUSR0000SA0L1 2017 M12 247.190 -CUSR0000SA0L1 2018 M01 248.301 -CUSR0000SA0L1 2018 M02 249.089 -CUSR0000SA0L1 2018 M03 249.128 -CUSR0000SA0L1 2018 M04 249.801 -CUSR0000SA0L1 2018 M05 250.452 -CUSR0000SA0L1 2018 M06 250.666 -CUSR0000SA0L1 2018 M07 250.826 -CUSR0000SA0L1 2018 M08 251.291 -CUSR0000SA0L1 2018 M09 251.834 -CUSR0000SA0L1 2018 M10 252.534 -CUSR0000SA0L1 2018 M11 252.220 -CUSR0000SA0L1 2018 M12 252.270 -CUSR0000SA0L1 2019 M01 251.933 -CUSR0000SA0L1 2019 M02 252.697 -CUSR0000SA0L1 2019 M03 253.735 -CUSR0000SA0L1 2019 M04 254.889 -CUSR0000SA0L1 2019 M05 254.888 -CUSR0000SA0L1 2019 M06 254.772 -CUSR0000SA0L1 2019 M07 255.434 -CUSR0000SA0L1 2019 M08 255.668 -CUSR0000SA0L1 2019 M09 256.035 -CUSR0000SA0L1 2019 M10 256.783 -CUSR0000SA0L1 2019 M11 257.523 -CUSR0000SA0L1 2019 M12 258.322 -CUSR0000SA0L1 2020 M01 258.777 -CUSR0000SA0L1 2020 M02 258.813 -CUSR0000SA0L1 2020 M03 257.350 -CUSR0000SA0L1 2020 M04 254.393 -CUSR0000SA0L1 2020 M05 253.857 -CUSR0000SA0L1 2020 M06 255.061 -CUSR0000SA0L1 2020 M07 256.738 -CUSR0000SA0L1 2020 M08 257.787 -CUSR0000SA0L1 2020 M09 258.562 -CUSR0000SA0L1 2020 M10 258.839 -CUSR0000SA0L1 2020 M11 259.526 -CUSR0000SA0L1 2020 M12 260.658 -CUSR0000SA0L1 2021 M01 261.276 -CUSR0000SA0L1 2021 M02 262.314 -CUSR0000SA0L1 2021 M03 263.749 -CUSR0000SA0L1 2021 M04 265.649 -CUSR0000SA0L1 2021 M05 267.530 -CUSR0000SA0L1 2021 M06 269.866 -CUSR0000SA0L1 2021 M07 271.042 -CUSR0000SA0L1 2021 M08 271.760 -CUSR0000SA0L1 2021 M09 272.772 -CUSR0000SA0L1 2021 M10 275.345 -CUSR0000SA0L1 2021 M11 277.674 -CUSR0000SA0L1 2021 M12 279.694 -CUSR0000SA0L1 2022 M01 281.328 -CUSR0000SA0L1 2022 M02 283.183 -CUSR0000SA0L1 2022 M03 286.155 -CUSR0000SA0L1 2022 M04 287.041 -CUSR0000SA0L1 2022 M05 289.668 -CUSR0000SA0L1 2022 M06 293.531 -CUSR0000SA0L1 2022 M07 292.896 -CUSR0000SA0L1 2022 M08 292.754 -CUSR0000SA0L1 2022 M09 293.888 -CUSR0000SA0L1 2022 M10 295.351 -CUSR0000SA0L1 2022 M11 295.968 +CUSR0000SA0 1997 M01 159.40 +CUSR0000SA0 1997 M02 159.70 +CUSR0000SA0 1997 M03 159.80 +CUSR0000SA0 1997 M04 159.90