Soenneker.Utils.AsyncSingleton 3.0.616

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Soenneker.Utils.AsyncSingleton --version 3.0.616                
NuGet\Install-Package Soenneker.Utils.AsyncSingleton -Version 3.0.616                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Soenneker.Utils.AsyncSingleton" Version="3.0.616" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Soenneker.Utils.AsyncSingleton --version 3.0.616                
#r "nuget: Soenneker.Utils.AsyncSingleton, 3.0.616"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Soenneker.Utils.AsyncSingleton as a Cake Addin
#addin nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.616

// Install Soenneker.Utils.AsyncSingleton as a Cake Tool
#tool nuget:?package=Soenneker.Utils.AsyncSingleton&version=3.0.616                

alternate text is missing from this package README image alternate text is missing from this package README image alternate text is missing from this package README image

alternate text is missing from this package README image Soenneker.Utils.AsyncSingleton

AsyncSingleton is a lightweight utility that provides lazy (and optionally asynchronous) initialization of an instance. It ensures that the instance is only created once, even in highly concurrent scenarios. It also offers both synchronous and asynchronous initialization methods while supporting a variety of initialization signatures. Additionally, AsyncSingleton implements both synchronous and asynchronous disposal.

Features

  • Lazy Initialization: The instance is created only upon the first call of Get(), GetAsync(), Init() or InitSync().
  • Thread-safe: Uses asynchronous locking for coordinated initialization in concurrent environments.
  • Multiple Initialization Patterns:
    • Sync and async initialization
    • With or without parameters (params object[])
    • With or without CancellationToken
  • Re-initialization Guard: Once the singleton is initialized (or has begun initializing), further initialization reconfigurations are disallowed.

Installation

dotnet add package Soenneker.Utils.AsyncSingleton

There are two different types: AsyncSingleton, and AsyncSingleton<T>:

AsyncSingleton<T>

Useful in scenarios where you need a result of the initialization. Get() is the primary method.

using Microsoft.Extensions.Logging;

public class MyService
{
    private readonly ILogger<MyService> _logger;
    private readonly AsyncSingleton<HttpClient> _asyncSingleton;

    public MyService(ILogger<MyService> logger)
    {
        _logger = logger;

        _asyncSingleton = new AsyncSingleton(async () =>
        {
            _logger.LogInformation("Initializing the singleton resource synchronously...");
            await Task.Delay(1000);

            return new HttpClient();
        });
    }

    public async ValueTask StartWork()
    {
        var httpClient = await _asyncSingleton.Get();

        // At this point the task has been run, guaranteed only once (no matter if this is called concurrently)

        var sameHttpClient = await _asyncSingleton.Get(); // This is the same instance of the httpClient above
    }
}

AsyncSingleton

Useful in scenarios where you just need async single initialization, and you don't ever need to leverage an instance. Init() is the primary method.

using Microsoft.Extensions.Logging;

public class MyService
{
    private readonly ILogger<MyService> _logger;
    private readonly AsyncSingleton _singleExecution;

    public MyService(ILogger<MyService> logger)
    {
        _logger = logger;

        _singleExecution = new AsyncSingleton(async () =>
        {
            _logger.LogInformation("Initializing the singleton resource ...");
            await Task.Delay(1000); // Simulates an async call

            return new object(); // This object is needed for AsyncSingleton to recognize that initialization has occurred
        });
    }

    public async ValueTask StartWork()
    {
        await _singleExecution.Init();

        // At this point the task has been run, guaranteed only once (no matter if this is called concurrently)

        await _singleExecution.Init(); // This will NOT execute the task, since it's already been called
    }
}

Tips:

  • If you need to cancel the initialization, pass a CancellationToken to the Init(), and Get() method. This will cancel any locking occurring during initialization.
  • If you use a type of AsyncSingleton that implements IDisposable or IAsyncDisposable, be sure to dispose of the AsyncSingleton instance. This will dispose the underlying instance.
  • Be careful about updating the underlying instance directly, as AsyncSingleton holds a reference to it, and will return those changes to further callers.
  • SetInitialization() can be used to set the initialization function after the AsyncSingleton has been created. This can be useful in scenarios where the initialization function is not known at the time of creation.
  • Try not to use an asynchronous initialization method, and then retrieve it synchronously. If you do so, AsyncSingleton will block to maintain thread-safety.
  • Using a synchronous initialization method with asynchronous retrieval will not block, and will still provide thread-safety.
  • Similarly, if the underlying instance is IAsyncDisposable, try to leverage AsyncSingleton.DisposeAsync(). Using AsyncSingleton.DisposeAsync() with an IDisposable underlying instance is fine.
Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (24)

Showing the top 5 NuGet packages that depend on Soenneker.Utils.AsyncSingleton:

Package Downloads
Soenneker.Utils.MemoryStream

An easy modern MemoryStream utility

Soenneker.Blob.Container

A utility library for Azure Blob storage container operations

Soenneker.Redis.Client

A utility library for Redis client accessibility

Soenneker.Validators.Email.Disposable.Online

A validation module checking for disposable email addresses via online sources

Soenneker.ServiceBus.Admin

A utility library for Azure Service Bus Administration client accessibility

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
3.0.623 2,153 2/5/2025
3.0.622 743 2/5/2025
3.0.621 1,392 2/5/2025
3.0.620 1,101 2/5/2025
3.0.619 11,515 1/28/2025
3.0.618 3,343 1/28/2025
3.0.617 205 1/27/2025
3.0.616 13,405 1/26/2025
3.0.615 1,189 1/26/2025
3.0.614 3,071 1/25/2025
3.0.613 3,993 1/25/2025
3.0.612 2,498 1/25/2025
3.0.611 1,154 1/24/2025
3.0.610 8,165 1/24/2025
3.0.609 2,128 1/24/2025
3.0.608 2,456 1/24/2025
3.0.607 2,337 1/23/2025
3.0.606 2,359 1/23/2025
3.0.605 8,508 1/21/2025
3.0.604 1,962 1/21/2025
3.0.603 4,892 1/21/2025
3.0.602 3,215 1/21/2025
3.0.601 4,592 1/21/2025
3.0.600 4,575 1/20/2025
3.0.599 318 1/20/2025
3.0.598 594 1/20/2025
3.0.597 4,642 1/20/2025
3.0.596 5,782 1/20/2025
3.0.595 650 1/20/2025
3.0.594 65 1/20/2025
3.0.593 616 1/20/2025
3.0.592 68 1/20/2025
3.0.591 14,176 1/19/2025
3.0.590 2,273 1/19/2025
3.0.589 2,292 1/18/2025
3.0.588 3,720 1/18/2025
3.0.587 1,428 1/18/2025
3.0.586 5,977 1/17/2025
3.0.585 1,112 1/17/2025
3.0.584 2,972 1/17/2025
3.0.583 2,741 1/16/2025
3.0.582 15,995 1/16/2025
3.0.581 1,414 1/16/2025
3.0.580 2,920 1/16/2025
3.0.579 3,621 1/15/2025
3.0.578 2,183 1/15/2025
3.0.577 3,852 1/15/2025
3.0.576 6,219 1/15/2025
3.0.575 1,061 1/15/2025
3.0.574 3,128 1/15/2025
3.0.573 250 1/15/2025
3.0.572 2,735 1/14/2025
3.0.571 1,101 1/14/2025
3.0.570 2,523 1/14/2025
3.0.569 10,373 1/13/2025
3.0.568 4,154 1/12/2025
3.0.567 6,391 1/11/2025
3.0.566 1,823 1/11/2025
3.0.565 816 1/11/2025
3.0.564 760 1/10/2025
3.0.563 3,823 1/10/2025
3.0.562 363 1/10/2025
3.0.561 727 1/10/2025
3.0.560 66 1/10/2025
3.0.559 67 1/10/2025
3.0.558 7,681 1/8/2025
3.0.557 145 1/8/2025
3.0.556 3,323 1/3/2025
3.0.555 2,722 1/3/2025
3.0.554 3,653 1/2/2025
3.0.553 605 1/2/2025
3.0.552 110 1/2/2025
3.0.551 2,031 1/2/2025
3.0.550 4,733 1/1/2025
3.0.549 684 1/1/2025
3.0.548 1,086 1/1/2025
3.0.547 1,272 1/1/2025
3.0.546 88 1/1/2025
3.0.545 567 12/31/2024
3.0.544 92 12/31/2024
3.0.543 202 12/31/2024
3.0.542 6,665 12/31/2024
3.0.541 7,093 12/31/2024
3.0.540 2,926 12/31/2024
3.0.539 3,719 12/31/2024
3.0.538 2,674 12/31/2024
3.0.537 1,106 12/31/2024
3.0.536 86 12/31/2024
3.0.535 4,620 12/31/2024
3.0.534 14,093 12/27/2024
3.0.533 2,619 12/27/2024
3.0.532 9,699 12/24/2024
3.0.531 612 12/24/2024
3.0.530 1,420 12/24/2024
3.0.529 247 12/24/2024
3.0.528 297 12/24/2024
3.0.527 1,682 12/23/2024
3.0.526 3,443 12/23/2024
3.0.525 1,637 12/23/2024
3.0.524 1,524 12/23/2024
3.0.523 2,135 12/23/2024
3.0.522 1,125 12/23/2024
3.0.521 2,742 12/22/2024
3.0.520 83 12/22/2024
3.0.519 11,796 12/22/2024
3.0.518 106 12/22/2024
3.0.517 8,700 12/22/2024
3.0.516 83 12/22/2024
3.0.515 4,161 12/22/2024
3.0.514 84 12/22/2024
3.0.513 800 12/21/2024
3.0.512 249 12/21/2024
3.0.511 83 12/21/2024
3.0.510 7,362 12/21/2024
3.0.509 802 12/21/2024
3.0.508 80 12/21/2024
3.0.507 1,279 12/21/2024
3.0.506 88 12/21/2024
3.0.505 4,467 12/21/2024
3.0.504 1,415 12/21/2024
3.0.503 3,448 12/21/2024
3.0.502 83 12/21/2024
3.0.501 2,137 12/20/2024
3.0.500 2,213 12/20/2024
3.0.499 4,153 12/20/2024
3.0.498 1,284 12/20/2024
3.0.497 580 12/20/2024
3.0.496 6,480 12/19/2024
3.0.495 542 12/19/2024
3.0.494 961 12/18/2024
3.0.493 500 12/18/2024
3.0.492 10,646 12/17/2024
3.0.491 357 12/17/2024
3.0.490 782 12/17/2024
3.0.489 1,008 12/17/2024
3.0.488 1,054 12/16/2024
3.0.487 316 12/16/2024
3.0.486 79 12/16/2024
3.0.485 9,317 12/9/2024
3.0.484 2,141 12/9/2024
3.0.483 4,751 12/9/2024
3.0.482 902 12/9/2024
3.0.480 9,589 12/6/2024
3.0.479 5,148 12/6/2024
3.0.478 1,649 12/6/2024
3.0.477 927 12/6/2024
3.0.476 610 12/6/2024
3.0.475 2,023 12/6/2024
3.0.474 6,281 12/6/2024
3.0.473 8,357 12/5/2024
3.0.472 938 12/5/2024
3.0.471 4,868 12/5/2024
3.0.470 2,176 12/5/2024
3.0.469 609 12/5/2024
3.0.468 4,409 12/4/2024
3.0.467 2,355 12/4/2024
3.0.466 2,557 12/4/2024
3.0.465 6,796 12/3/2024
3.0.464 280 12/3/2024
3.0.463 1,552 12/3/2024
3.0.462 5,856 12/3/2024
3.0.461 1,102 12/3/2024
3.0.460 3,379 12/3/2024
3.0.459 86 12/3/2024
3.0.458 718 12/3/2024
3.0.457 7,795 12/2/2024
3.0.456 3,470 12/2/2024
3.0.455 1,004 12/2/2024
3.0.454 873 12/1/2024
3.0.453 4,598 12/1/2024
3.0.452 4,988 12/1/2024
3.0.451 5,118 11/29/2024
3.0.450 7,525 11/20/2024
3.0.449 5,464 11/20/2024
3.0.448 388 11/20/2024
3.0.447 1,889 11/20/2024
3.0.445 2,361 11/19/2024
3.0.444 2,091 11/19/2024
3.0.443 5,685 11/19/2024
3.0.442 4,036 11/19/2024
3.0.441 79 11/19/2024
3.0.439 11,046 11/14/2024
3.0.438 4,276 11/14/2024
3.0.437 1,831 11/14/2024
3.0.436 3,351 11/14/2024
3.0.435 320 11/14/2024
3.0.434 107 11/14/2024
3.0.433 1,147 11/14/2024
3.0.432 89 11/14/2024
2.1.431 15,505 11/13/2024
2.1.430 3,164 11/13/2024
2.1.429 2,457 11/12/2024
2.1.428 11,580 11/9/2024
2.1.427 2,368 11/9/2024
2.1.426 2,558 11/8/2024
2.1.425 1,168 11/8/2024
2.1.424 1,316 11/8/2024
2.1.423 1,514 11/8/2024
2.1.422 1,759 11/8/2024
2.1.421 4,708 11/8/2024
2.1.420 18,058 11/1/2024
2.1.419 8,270 10/29/2024
2.1.418 3,229 10/29/2024
2.1.417 4,390 10/29/2024
2.1.416 8,186 10/28/2024
2.1.415 8,295 10/26/2024
2.1.414 8,771 10/22/2024
2.1.413 2,951 10/22/2024
2.1.412 1,664 10/22/2024
2.1.411 9,030 10/17/2024
2.1.410 8,062 10/15/2024
2.1.409 1,483 10/14/2024
2.1.408 8,346 10/11/2024
2.1.407 2,301 10/11/2024
2.1.406 1,494 10/11/2024
2.1.404 12,290 10/8/2024
2.1.403 5,074 10/8/2024
2.1.402 15,106 10/3/2024
2.1.401 1,103 10/3/2024
2.1.400 2,545 10/3/2024
2.1.399 9,823 10/2/2024
2.1.398 3,257 10/2/2024
2.1.397 10,216 10/1/2024
2.1.396 915 10/1/2024
2.1.395 5,065 9/30/2024
2.1.394 7,921 9/29/2024
2.1.393 2,552 9/29/2024
2.1.392 2,455 9/29/2024
2.1.391 6,931 9/27/2024
2.1.390 4,736 9/27/2024
2.1.389 156 9/27/2024
2.1.388 733 9/27/2024
2.1.387 1,755 9/27/2024
2.1.386 99 9/27/2024
2.1.385 10,488 9/26/2024
2.1.384 9,201 9/26/2024
2.1.383 4,001 9/26/2024
2.1.382 11,571 9/23/2024
2.1.381 2,878 9/23/2024
2.1.380 4,989 9/23/2024
2.1.379 4,960 9/23/2024
2.1.378 3,745 9/23/2024
2.1.377 762 9/23/2024
2.1.376 1,882 9/23/2024
2.1.375 90 9/23/2024
2.1.374 13,651 9/17/2024
2.1.373 668 9/17/2024
2.1.372 2,734 9/17/2024
2.1.371 2,740 9/17/2024
2.1.370 3,118 9/17/2024
2.1.369 4,240 9/17/2024
2.1.368 4,737 9/17/2024
2.1.367 15,663 9/16/2024
2.1.366 8,051 9/12/2024
2.1.365 3,052 9/11/2024
2.1.363 8,913 9/11/2024
2.1.362 17,209 9/10/2024
2.1.361 721 9/10/2024
2.1.360 1,039 9/10/2024
2.1.359 917 9/10/2024
2.1.358 3,671 9/9/2024
2.1.357 1,511 9/9/2024
2.1.356 6,282 9/9/2024
2.1.355 1,747 9/9/2024
2.1.354 7,019 9/9/2024
2.1.353 13,484 9/7/2024
2.1.352 9,917 9/6/2024
2.1.351 5,136 9/5/2024
2.1.350 5,172 9/5/2024
2.1.349 552 9/5/2024
2.1.348 138 9/5/2024
2.1.347 9,039 9/5/2024
2.1.346 1,027 9/4/2024
2.1.345 13,609 9/3/2024
2.1.344 6,139 9/3/2024
2.1.343 4,531 9/3/2024
2.1.342 8,692 8/29/2024
2.1.341 7,267 8/26/2024
2.1.340 7,687 8/21/2024
2.1.339 2,817 8/21/2024
2.1.338 1,645 8/20/2024
2.1.337 5,799 8/20/2024
2.1.336 116 8/20/2024
2.1.335 116 8/20/2024
2.1.334 9,768 8/19/2024
2.1.333 9,493 8/15/2024
2.1.332 9,490 8/13/2024
2.1.331 7,951 8/6/2024
2.1.330 4,345 8/6/2024
2.1.329 6,560 8/1/2024
2.1.328 1,352 8/1/2024
2.1.327 623 8/1/2024
2.1.326 9,479 7/25/2024
2.1.325 1,975 7/25/2024
2.1.324 1,707 7/25/2024
2.1.323 267 7/24/2024
2.1.322 719 7/24/2024
2.1.321 341 7/24/2024
2.1.320 9,235 7/20/2024
2.1.319 11,850 7/14/2024
2.1.318 4,464 7/14/2024
2.1.317 6,804 7/10/2024
2.1.316 2,951 7/10/2024
2.1.315 2,742 7/10/2024
2.1.314 1,596 7/10/2024
2.1.313 1,013 7/10/2024
2.1.312 323 7/10/2024
2.1.311 2,606 7/10/2024
2.1.310 1,344 7/9/2024
2.1.308 2,761 7/9/2024
2.1.307 96 7/9/2024
2.1.306 2,938 7/9/2024
2.1.305 6,803 7/9/2024
2.1.304 5,690 7/9/2024
2.1.303 2,736 7/9/2024
2.1.302 94 7/9/2024
2.1.301 5,651 7/9/2024
2.1.300 6,119 7/8/2024
2.1.299 364 7/8/2024
2.1.298 97 7/8/2024
2.1.297 107 7/8/2024
2.1.296 8,395 7/8/2024
2.1.295 1,640 7/7/2024
2.1.294 5,085 7/7/2024
2.1.293 120 7/7/2024
2.1.292 1,449 7/7/2024
2.1.291 3,102 7/7/2024
2.1.290 10,263 7/3/2024
2.1.289 3,286 7/3/2024
2.1.288 2,943 7/3/2024
2.1.287 857 7/3/2024
2.1.286 5,666 7/2/2024
2.1.283 3,529 6/30/2024
2.1.282 2,370 6/28/2024
2.1.281 240 6/28/2024
2.1.279 7,651 6/22/2024
2.1.278 8,725 6/15/2024
2.1.277 1,165 6/15/2024
2.1.276 6,766 6/14/2024
2.1.275 10,760 6/1/2024
2.1.274 1,732 6/1/2024
2.1.273 1,097 6/1/2024
2.1.272 9,405 5/31/2024
2.1.271 5,885 5/29/2024
2.1.270 6,720 5/28/2024
2.1.269 3,778 5/27/2024
2.1.268 6,984 5/26/2024
2.1.267 6,896 5/26/2024
2.1.266 314 5/26/2024
2.1.265 2,527 5/25/2024
2.1.264 1,823 5/25/2024
2.1.263 1,668 5/25/2024
2.1.262 111 5/25/2024
2.1.261 1,347 5/25/2024
2.1.260 109 5/25/2024
2.1.259 4,901 5/25/2024
2.1.258 105 5/25/2024
2.1.257 8,701 5/23/2024
2.1.256 3,452 5/23/2024
2.1.255 2,473 5/22/2024
2.1.254 1,863 5/22/2024
2.1.253 757 5/22/2024
2.1.252 103 5/22/2024
2.1.251 101 5/22/2024
2.1.250 3,613 5/22/2024
2.1.249 9,270 5/18/2024
2.1.248 1,956 5/17/2024
2.1.247 3,342 5/17/2024
2.1.246 5,209 5/16/2024
2.1.245 1,352 5/15/2024
2.1.244 3,790 5/15/2024
2.1.243 7,764 5/12/2024
2.1.242 4,228 5/3/2024
2.1.241 4,750 4/29/2024
2.1.240 2,713 4/29/2024
2.1.239 5,220 4/28/2024
2.1.238 845 4/28/2024
2.1.237 969 4/28/2024
2.1.236 3,933 4/28/2024
2.1.235 555 4/28/2024
2.1.234 5,260 4/28/2024
2.1.233 1,112 4/28/2024
2.1.232 4,901 4/27/2024
2.1.231 111 4/27/2024
2.1.230 9,862 4/19/2024
2.1.229 6,109 4/18/2024
2.1.228 6,394 4/12/2024
2.1.227 1,022 4/12/2024
2.1.226 1,634 4/12/2024
2.1.225 1,375 4/12/2024
2.1.224 957 4/12/2024
2.1.223 1,377 4/12/2024
2.1.222 524 4/12/2024
2.1.221 115 4/12/2024
2.1.220 3,593 4/10/2024
2.1.219 14,602 4/10/2024
2.1.218 675 4/10/2024
2.1.217 7,599 4/2/2024
2.1.216 1,330 4/1/2024
2.1.215 7,350 3/29/2024
2.1.214 5,335 3/25/2024
2.1.213 612 3/25/2024
2.1.212 7,427 3/20/2024
2.1.211 5,122 3/19/2024
2.1.210 3,060 3/19/2024
2.1.209 3,382 3/18/2024
2.1.208 7,373 3/15/2024
2.1.207 5,020 3/13/2024
2.1.206 1,914 3/13/2024
2.1.205 2,496 3/13/2024
2.1.204 162 3/13/2024
2.1.203 156 3/13/2024
2.1.202 1,662 3/13/2024
2.1.201 158 3/13/2024
2.1.200 3,614 3/12/2024
2.1.199 4,628 3/12/2024
2.1.198 6,062 3/11/2024
2.1.197 4,205 3/11/2024
2.1.196 4,511 3/10/2024
2.1.195 5,822 3/8/2024
2.1.194 532 3/8/2024
2.1.193 4,191 3/8/2024
2.1.192 5,389 3/6/2024
2.1.191 5,387 3/4/2024
2.1.190 3,056 3/4/2024
2.1.189 6,110 3/2/2024
2.1.188 1,563 3/2/2024
2.1.187 1,952 3/2/2024
2.1.186 1,093 3/2/2024
2.1.185 762 3/2/2024
2.1.184 4,101 2/29/2024
2.1.183 1,348 2/29/2024
2.1.182 2,062 2/29/2024
2.1.181 3,967 2/26/2024
2.1.180 15,308 2/25/2024
2.1.179 1,833 2/25/2024
2.1.178 6,023 2/23/2024
2.1.177 5,842 2/22/2024
2.1.176 1,630 2/22/2024
2.1.175 1,966 2/21/2024
2.1.174 3,183 2/21/2024
2.1.173 2,861 2/21/2024
2.1.172 3,596 2/21/2024
2.1.171 1,554 2/21/2024
2.1.170 353 2/21/2024
2.1.169 3,310 2/21/2024
2.1.168 1,025 2/20/2024
2.1.167 202 2/20/2024
2.1.166 208 2/20/2024
2.1.165 4,406 2/20/2024
2.1.164 3,329 2/20/2024
2.1.163 3,202 2/20/2024
2.1.162 6,705 2/19/2024
2.1.161 5,353 2/17/2024
2.1.160 2,224 2/17/2024
2.1.159 1,603 2/16/2024
2.1.158 1,164 2/16/2024
2.1.157 1,961 2/16/2024
2.1.156 3,009 2/16/2024
2.1.155 3,479 2/16/2024
2.1.154 246 2/16/2024
2.1.153 1,717 2/16/2024
2.1.152 246 2/16/2024
2.1.151 243 2/16/2024
2.1.150 5,943 2/14/2024
2.1.149 2,521 2/13/2024
2.1.148 3,043 2/13/2024
2.1.147 3,658 2/13/2024
2.1.146 3,506 2/13/2024
2.1.145 4,862 2/12/2024
2.1.144 768 2/11/2024
2.1.143 5,284 2/11/2024
2.1.142 2,988 2/11/2024
2.1.141 6,176 2/10/2024
2.1.140 776 2/9/2024
2.1.139 5,626 2/9/2024
2.1.138 3,634 2/9/2024
2.1.137 966 2/8/2024
2.1.136 4,552 2/8/2024
2.1.135 1,878 2/8/2024
2.1.134 10,481 2/8/2024
2.1.133 313 2/8/2024
2.1.132 244 2/8/2024
2.1.131 5,151 2/7/2024
2.1.130 2,056 2/7/2024
2.1.129 3,521 2/7/2024
2.1.128 1,146 2/7/2024
2.1.127 1,014 2/6/2024
2.1.126 2,816 2/6/2024
2.1.125 280 2/6/2024
2.1.124 7,429 2/5/2024
2.1.123 4,866 2/4/2024
2.1.122 5,157 2/2/2024
2.1.121 6,132 1/31/2024
2.1.120 6,036 1/29/2024
2.1.119 3,649 1/29/2024
2.1.118 2,448 1/29/2024
2.1.117 3,903 1/28/2024
2.1.116 5,174 1/28/2024
2.1.115 2,951 1/28/2024
2.1.114 1,717 1/28/2024
2.1.113 2,352 1/27/2024
2.1.112 2,065 1/27/2024
2.1.111 5,397 1/27/2024
2.1.110 2,721 1/27/2024
2.1.109 6,454 1/27/2024
2.1.108 1,676 1/26/2024
2.1.107 2,119 1/26/2024
2.1.106 2,749 1/26/2024
2.1.105 4,978 1/26/2024
2.1.104 2,372 1/26/2024
2.1.103 1,315 1/26/2024
2.1.102 4,436 1/25/2024
2.1.101 3,541 1/25/2024
2.1.100 1,711 1/25/2024
2.1.99 5,695 1/25/2024
2.1.98 5,481 1/19/2024
2.1.97 5,687 1/15/2024
2.1.96 2,606 1/15/2024
2.1.95 2,044 1/15/2024
2.1.94 5,172 1/15/2024
2.1.93 5,314 1/15/2024
2.1.92 5,171 1/14/2024
2.1.91 6,315 1/13/2024
2.1.90 5,285 1/12/2024
2.1.89 5,169 1/11/2024
2.1.88 7,174 1/7/2024
2.1.87 5,708 1/5/2024
2.1.86 2,561 1/5/2024
2.1.85 3,255 1/5/2024
2.1.84 6,137 1/3/2024
2.1.83 3,741 1/1/2024
2.1.82 5,099 12/28/2023
2.1.81 2,068 12/28/2023
2.1.80 2,068 12/28/2023
2.1.79 4,569 12/27/2023
2.1.78 2,151 12/27/2023
2.1.77 298 12/27/2023
2.1.76 8,775 12/25/2023
2.1.75 4,812 12/25/2023
2.1.74 2,444 12/25/2023
2.1.73 698 12/25/2023
2.1.72 322 12/25/2023
2.1.71 6,914 12/24/2023
2.1.70 5,396 12/23/2023
2.1.69 2,889 12/23/2023
2.1.68 1,719 12/23/2023
2.1.67 3,889 12/23/2023
2.1.66 294 12/23/2023
2.1.65 8,173 12/19/2023
2.1.64 2,253 12/19/2023
2.1.63 5,529 12/12/2023
2.1.62 467 12/12/2023
2.1.61 2,733 12/11/2023
2.1.60 2,225 12/11/2023
2.1.59 1,239 12/11/2023
2.1.58 1,670 12/11/2023
2.1.57 843 12/10/2023
2.1.56 822 12/10/2023
2.1.55 1,830 12/10/2023
2.1.54 1,135 12/10/2023
2.1.53 8,212 12/10/2023
2.1.52 1,867 12/9/2023
2.1.51 1,055 12/9/2023
2.1.50 1,620 12/9/2023
2.1.49 2,495 12/9/2023
2.1.48 267 12/9/2023
2.1.47 1,275 12/9/2023
2.1.46 341 12/9/2023
2.1.45 2,877 12/9/2023
2.1.44 303 12/9/2023
2.1.43 4,537 12/9/2023
2.1.42 6,788 12/6/2023
2.1.41 1,248 12/6/2023
2.1.40 1,786 12/6/2023
2.1.39 4,001 12/5/2023
2.1.38 2,028 12/5/2023
2.1.37 1,138 12/5/2023
2.1.36 2,874 12/5/2023
2.1.35 299 12/5/2023
2.1.34 2,448 12/5/2023
2.1.33 304 12/5/2023
2.1.32 1,614 12/4/2023
2.1.31 1,542 12/4/2023
2.1.30 331 12/4/2023
2.1.29 8,848 12/4/2023
2.1.28 2,913 11/27/2023
2.1.27 1,367 11/26/2023
2.1.26 3,428 11/23/2023
2.1.25 2,954 11/23/2023
2.1.24 3,603 11/23/2023
2.1.23 305 11/23/2023
2.1.22 7,034 11/20/2023
2.1.21 3,408 11/20/2023
2.1.20 5,501 11/19/2023
2.1.19 3,019 11/19/2023
2.1.18 4,166 11/19/2023
2.1.17 1,125 11/18/2023
2.1.16 5,410 11/18/2023
2.1.15 1,317 11/18/2023
2.1.14 3,437 11/18/2023
2.1.13 760 11/18/2023
2.1.12 3,566 11/17/2023
2.1.11 2,942 11/17/2023
2.1.10 2,190 11/17/2023
2.1.9 411 11/17/2023
2.1.8 3,480 11/17/2023
2.1.7 2,013 11/17/2023
2.1.6 2,540 11/17/2023
2.1.5 1,738 11/17/2023
2.1.4 593 11/17/2023
2.1.3 3,293 11/16/2023
2.0.78 1,132 11/15/2023
2.0.77 323 11/15/2023
2.0.76 2,946 11/15/2023
2.0.2 327 11/16/2023
2.0.1 289 11/16/2023
1.0.75 4,244 11/13/2023
1.0.74 6,101 11/10/2023
1.0.73 4,808 11/9/2023
1.0.72 3,268 11/8/2023
1.0.71 5,008 11/7/2023
1.0.70 2,493 11/6/2023
1.0.69 3,116 11/3/2023
1.0.68 5,628 11/2/2023
1.0.67 3,432 11/1/2023
1.0.66 10,952 10/26/2023
1.0.65 6,706 10/19/2023
1.0.64 2,907 10/18/2023
1.0.63 2,816 10/17/2023
1.0.62 3,411 10/16/2023
1.0.61 6,209 10/13/2023
1.0.60 3,640 10/12/2023
1.0.59 11,444 9/18/2023
1.0.58 310 9/18/2023
1.0.57 7,694 9/14/2023
1.0.56 7,172 8/31/2023
1.0.55 3,651 8/30/2023
1.0.54 3,132 8/29/2023
1.0.53 3,042 8/28/2023
1.0.52 5,832 8/25/2023
1.0.51 3,258 8/24/2023
1.0.50 7,917 8/21/2023
1.0.49 3,217 8/18/2023
1.0.48 2,996 8/17/2023
1.0.47 5,501 8/16/2023
1.0.46 9,064 8/10/2023
1.0.45 3,163 8/9/2023
1.0.44 5,287 8/8/2023
1.0.43 4,466 8/7/2023
1.0.42 4,663 8/4/2023
1.0.41 8,594 7/13/2023
1.0.40 5,722 7/11/2023
1.0.39 3,487 7/10/2023
1.0.38 4,365 7/7/2023
1.0.37 365 7/7/2023
1.0.36 12,027 6/30/2023
1.0.35 6,184 6/28/2023
1.0.34 6,324 6/27/2023
1.0.33 7,331 6/26/2023
1.0.32 4,362 6/23/2023
1.0.31 8,887 6/21/2023
1.0.30 9,250 6/15/2023
1.0.29 3,655 6/14/2023
1.0.28 9,863 6/9/2023
1.0.27 4,289 6/8/2023
1.0.26 5,248 6/7/2023
1.0.25 5,899 6/6/2023
1.0.24 390 6/6/2023
1.0.23 4,935 6/5/2023
1.0.22 17,050 5/30/2023
1.0.21 19,883 5/29/2023
1.0.20 6,870 5/26/2023
1.0.19 8,002 5/25/2023
1.0.18 8,360 5/24/2023
1.0.17 5,666 5/24/2023
1.0.16 1,695 5/23/2023
1.0.15 1,684 5/23/2023
1.0.12 3,107 5/22/2023
1.0.11 19,303 5/16/2023
1.0.10 15,890 4/20/2023
1.0.9 15,195 4/3/2023
1.0.8 1,275 4/3/2023
1.0.7 2,519 3/23/2023
1.0.5 774 3/13/2023
1.0.4 536 3/11/2023
1.0.3 440 3/11/2023
1.0.2 443 3/11/2023
1.0.1 496 3/11/2023