diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..f4b80925 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,11 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + + +############################################################################### +# Prevent merging of README.md +############################################################################### +README.md merge=ours +.gitmodules merge=ours \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..fffc3b32 --- /dev/null +++ b/.gitignore @@ -0,0 +1,147 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.sln.docstates + +# Build results + +[Dd]ebug/ +[Rr]elease/ +x64/ +[Bb]in/ +[Oo]bj/ +[Ll]ib/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# Visual Studio 2015 cache/options directory +.vs/ + +# DNX +project.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.log +*.svclog +*.scc + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opensdf +*.sdf +*.cachefile + +# Visual Studio profiler +*.psess +*.vsp +*.vspx + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# Click-Once directory +publish/ + +# Publish Web Output +*.Publish.xml +*.pubxml +*.azurePubxml + +# NuGet Packages Directory +## TODO: If you have NuGet Package Restore enabled, uncomment the next line +packages/ +## TODO: If the tool you use requires repositories.config, also uncomment the next line +!packages/repositories.config + +# Windows Azure Build Output +csx/ +*.build.csdef + +# Windows Store app package directory +AppPackages/ + +# Others +sql/ +*.Cache +ClientBin/ +[Ss]tyle[Cc]op.* +~$* +*~ +*.dbmdl +*.[Pp]ublish.xml + +*.publishsettings + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file to a newer +# Visual Studio version. Backup files are not needed, because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +App_Data/*.mdf +App_Data/*.ldf + +# ========================= +# Windows detritus +# ========================= + +# Windows image file caches +Thumbs.db +ehthumbs.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Mac desktop service store files +.DS_Store + +_NCrunch* +project.lock.json +testresults.xml +testresults.xml +/*.nupkg + +README.md +/*.slnf diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..4df2d22b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,72 @@ +[submodule "Abstractions"] + path = Abstractions + url = ../abstractions.git + branch = develop +[submodule "Container"] + path = Container + url = ../container.git + branch = vNext +[submodule "Specification"] + path = Specification + url = ../specification-tests.git + branch = develop +[submodule "SpecificationTestsAsync"] + path = SpecificationTestsAsync + url = ../specification-tests-async.git + branch = develop +[submodule "ServiceLocation"] + path = ServiceLocation + url = ../service-location.git + branch = develop +[submodule "Configuration"] + path = Configuration + url = ../configuration.git + branch = develop +[submodule "Interception"] + path = Interception + url = ../interception.git + branch = vNext +[submodule "InterceptionConfiguration"] + path = InterceptionConfiguration + url = ../interception-configuration.git + branch = develop +[submodule "RegistrationByConvention"] + path = RegistrationByConvention + url = ../registration-by-convention.git + branch = develop +[submodule "MVC"] + path = MVC + url = ../aspnet-mvc.git + branch = develop +[submodule "WebAPI"] + path = WebAPI + url = ../aspnet-webapi.git + branch = develop +[submodule "Microsoft.DependencyInjection"] + path = Microsoft.DependencyInjection + url = ../microsoft-dependency-injection.git + branch = develop +[submodule "Log4net"] + path = Log4net + url = ../log4net.git + branch = develop +[submodule "NLog"] + path = NLog + url = ../NLog.git + branch = develop +[submodule "Microsoft.Logging"] + path = Microsoft.Logging + url = ../microsoft-logging.git + branch = develop +[submodule "Examples"] + path = Examples + url = ../examples.git + branch = develop +[submodule "Microsoft.Options"] + path = Microsoft.Options + url = ../microsoft-options.git + branch = develop +[submodule "WCF"] + path = WCF + url = ../wcf.git + branch = develop diff --git a/Abstractions b/Abstractions new file mode 160000 index 00000000..2cd24719 --- /dev/null +++ b/Abstractions @@ -0,0 +1 @@ +Subproject commit 2cd2471947f1031b27f00698ad701726f66ee59c diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index f0bc2765..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,98 +0,0 @@ -# Contributing to Unity Container libraries - -You can contribute to Unity Container with issues and PRs. Simply filing issues for problems you encounter is a great way to contribute. Contributing implementations is even better. - -## The Contribution - -Project maintainers will merge changes that improve the product significantly and broadly and that align with the feature roadmap. -Maintainers will not merge changes that have narrowly-defined benefits, due to compatibility risk. - -The Unity Container is used by many companies and products and we reserve right to revert changes if they are found to be breaking. - -Contributions must also satisfy the other published guidelines defined in this document. - -## DOs and DON'Ts - -Please do: - -* **DO** follow generally accepted [coding styles](https://github.com/dotnet/runtime/blob/master/docs/coding-guidelines/coding-style.md) (C# code-specific) -* **DO** give priority to the current style of the project or file you're changing even if it diverges from the general guidelines. -* **DO** include tests when adding new features. When fixing bugs, start with - adding a test that highlights how the current behavior is broken. -* **DO** keep the discussions focused. When a new or related topic comes up - it's often better to create new issue than to side track the discussion. - -Please do not: - -* **DON'T** make PRs for style changes. -* **DON'T** surprise us with big pull requests. Instead, file an issue and start - a discussion so we can agree on a direction before you invest a large amount - of time. -* **DON'T** commit code that you didn't write. If you find code that you think is a good fit to add to Unity Container, file an issue and start a discussion before proceeding. -* **DON'T** add API additions without filing an issue and discussing with us first. Unity team adheres to generally accepted guidelines described in [.Net Runtime API Review Process](https://github.com/dotnet/runtime/blob/master/docs/project/api-review-process.md). - -## Breaking Changes - -Contributions must maintain `API signature` and behavioral compatibility. Contributions that include `breaking changes` might be rejected. Please file an issue to discuss your idea or change if you believe that it may improve code. - -## Suggested Workflow - -We use and recommend the following workflow: - -1. Create an issue for your work. - * Reuse an existing issue on the topic, if there is one. - * Get agreement from the team and the community that your proposed change is a good one. - * Clearly state that you are going to take on implementing it, if that's the case. You can request that the issue be assigned to you. Note: The issue filer and the implementer don't have to be the same person. -2. Create a personal fork of the repository on GitHub (if you don't already have one). -3. In your fork, create a branch off of master (`git checkout -b mybranch`). - * Name the branch so that it clearly communicates your intentions, such as issue-123 or githubhandle-issue. - * Branches are useful since they isolate your changes from incoming changes from upstream. They also enable you to create multiple PRs from the same fork. -4. Make and commit your changes to your branch. -5. Add new tests corresponding to your change, if applicable. -6. Build the repository with your changes. - * Make sure that the builds are clean. - * Make sure that the tests are all passing, including your new tests. -7. Create a pull request (PR) against the unitycontainer/xxxx repository's **develop** branch. - * State in the description what issue or improvement your change is addressing. - * Check if all the Continuous Integration checks are passing. -8. Wait for feedback or approval of your changes from the owners. -9. When owners have signed off, and all checks are green, your PR will be merged. - * The next official build will automatically include your change. - * You can delete the branch you used for making the change. - -Note: It is OK for your PR to include a large number of commits. Once your change is accepted, you will be asked to squash your commits into one or some appropriately small number of commits before your PR is merged. - -Note: It is OK to create your PR as "[WIP]" on the upstream repo before the implementation is done. This can be useful if you'd like to start the feedback process concurrent with your implementation. State that this is the case in the initial PR comment. - -## Commit Messages - -Please format commit messages as follows (based on [A Note About Git Commit Messages](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html) - -```shell -Summarize change in 50 characters or less - -Provide more detail after the first line. Leave one blank line below the -summary and wrap all lines at 72 characters or less. - -If the change fixes an issue, leave another blank line after the final -paragraph and indicate which issue is fixed in the specific format -below. - -Fix #42 -``` - -## Contributor License Agreement - -You must sign a [.NET Foundation Contribution License Agreement (CLA)](https://cla.dotnetfoundation.org) before your PR will be merged. This is a one-time requirement for projects in the .NET Foundation. You can read more about [Contribution License Agreements (CLA)](http://en.wikipedia.org/wiki/Contributor_License_Agreement) on Wikipedia. - -The agreement: [net-foundation-contribution-license-agreement.pdf](https://github.com/dotnet/home/blob/master/guidance/net-foundation-contribution-license-agreement.pdf) - -You don't have to do this up-front. You can simply clone, fork, and submit your pull-request as usual. When your pull-request is created, it is classified by a CLA bot. If the change is trivial (for example, you just fixed a typo), then the PR is labelled with `cla-not-required`. Otherwise it's classified as `cla-required`. Once you signed a CLA, the current and all future pull-requests will be labelled as `cla-signed`. - -## Building and Debugging locally - -To build and execute project locally please follow these steps: - -* `git clone https://github.com/unitycontainer/unity.git` -* `cd unity && git checkout develop && git submodule update --init --recursive` -* open solution in Visual Studio and build diff --git a/Configuration b/Configuration new file mode 160000 index 00000000..9ecc4cfe --- /dev/null +++ b/Configuration @@ -0,0 +1 @@ +Subproject commit 9ecc4cfe6ff00a11fe1a62f51ecddb11d3bd28b7 diff --git a/Container b/Container new file mode 160000 index 00000000..c8df2d4f --- /dev/null +++ b/Container @@ -0,0 +1 @@ +Subproject commit c8df2d4f1fbd93ede08803b666df67f0260c62d3 diff --git a/Examples b/Examples new file mode 160000 index 00000000..cc90c87d --- /dev/null +++ b/Examples @@ -0,0 +1 @@ +Subproject commit cc90c87dcd317ab1ab710ddd9673f099a347e678 diff --git a/Interception b/Interception new file mode 160000 index 00000000..0ac233e6 --- /dev/null +++ b/Interception @@ -0,0 +1 @@ +Subproject commit 0ac233e636e342c4de8f62b2f03e2d180dc6a8ea diff --git a/InterceptionConfiguration b/InterceptionConfiguration new file mode 160000 index 00000000..157bcc54 --- /dev/null +++ b/InterceptionConfiguration @@ -0,0 +1 @@ +Subproject commit 157bcc54c92cbc8d6dea636bee0b01999ee443fa diff --git a/LICENSE b/LICENSE index 9614d3f5..8dada3ed 100644 --- a/LICENSE +++ b/LICENSE @@ -186,8 +186,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2020 .NET Foundation and Contributors - All Rights Reserved + Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/Log4net b/Log4net new file mode 160000 index 00000000..3372caff --- /dev/null +++ b/Log4net @@ -0,0 +1 @@ +Subproject commit 3372caffca5f8725dc9b6a676fef9519eb19eadc diff --git a/MVC b/MVC new file mode 160000 index 00000000..b45a540c --- /dev/null +++ b/MVC @@ -0,0 +1 @@ +Subproject commit b45a540c29b68512f5d36c6bd5c6593bbe265038 diff --git a/Microsoft.DependencyInjection b/Microsoft.DependencyInjection new file mode 160000 index 00000000..249a8e94 --- /dev/null +++ b/Microsoft.DependencyInjection @@ -0,0 +1 @@ +Subproject commit 249a8e94c90f6004a1c5093e222d5a2192e8a2ee diff --git a/Microsoft.Logging b/Microsoft.Logging new file mode 160000 index 00000000..5a18c42b --- /dev/null +++ b/Microsoft.Logging @@ -0,0 +1 @@ +Subproject commit 5a18c42b21c0bc9ca130e336908d0f7f1a60144d diff --git a/Microsoft.Options b/Microsoft.Options new file mode 160000 index 00000000..21722707 --- /dev/null +++ b/Microsoft.Options @@ -0,0 +1 @@ +Subproject commit 2172270750a1604fb0b17cba318a7dc84f7b8e57 diff --git a/NLog b/NLog new file mode 160000 index 00000000..d977366c --- /dev/null +++ b/NLog @@ -0,0 +1 @@ +Subproject commit d977366c376ba26b0c27f3bc487f85f19cd46b7b diff --git a/Package.nuspec b/Package.nuspec new file mode 100644 index 00000000..4489b32a --- /dev/null +++ b/Package.nuspec @@ -0,0 +1,48 @@ + + + + Unity + 6.0.0-pre + Unity Container Project + Unity Container Project + https://github.com/unitycontainer/unity/blob/v5.x/LICENSE + https://github.com/unitycontainer/unity + https://avatars1.githubusercontent.com/u/12849707 + false + This package contains Unity Container and Abstractions libraries as a single package. + Entire Unity Library as single package. + Copyright © Unity Container Project 2018 + Unity Container unitycontainer Microsoft.Practices.Unity IoC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index 263539cf..3f280731 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,13 @@ +[![Build status](https://ci.appveyor.com/api/projects/status/nv00dk4lax6oqd00/branch/master?svg=true)](https://ci.appveyor.com/project/IoC-Unity/unity/branch/master) +[![codecov](https://codecov.io/gh/unitycontainer/unity/branch/master/graph/badge.svg)](https://codecov.io/gh/unitycontainer/unity) +[![License](https://img.shields.io/badge/license-apache%202.0-60C060.svg)](https://github.com/IoC-Unity/Unity/blob/master/LICENSE) +[![NuGet](https://img.shields.io/nuget/dt/Unity.svg)](https://www.nuget.org/packages/Unity) +[![NuGet](https://img.shields.io/nuget/v/Unity.svg)](https://www.nuget.org/packages/Unity) + # Overview -The Unity Container (Unity) is a full featured, extensible dependency injection container. It facilitates building loosely coupled applications and provides developers with the following advantages: +The Unity Container (Unity) is a lightweight, extensible dependency injection container. It facilitates building loosely coupled applications and provides developers with the following advantages: * Simplified object creation, especially for hierarchical object structures and dependencies * Abstraction of requirements; this allows developers to specify dependencies at run time or in configuration and simplify management of crosscutting concerns @@ -10,57 +16,4 @@ The Unity Container (Unity) is a full featured, extensible dependency injection * Instance and type interception * Registration by convention -## Installation - -Install Unity with the following command: - -```shell -Install-Package Unity -``` - -Unity 5.x loosely follows Semantic Versioning — minor releases may introduce breaking changes. [Floating version references](https://docs.microsoft.com/en-us/nuget/consume-packages/package-references-in-project-files#floating-versions) should lock in the minor version in addition to the major version: - -```xml - -``` - -## [Documentation](https://unitycontainer.github.io) - -The documentation is a work in progress. Some info is available [here](https://unitycontainer.github.io) but more is coming... -Feel free to [open issues](https://github.com/unitycontainer/documentation/issues) in [Documentation](https://github.com/unitycontainer/documentation) project with all the questions you would like to be covered or questions you might have. - -## Packages & Status - -Unity library consists of multiple packages. For information about each package please follow the links - ---- -Package | License | Version | Downloads --------- | :------------ | :------------ | :------------ -Unity (Composite) | [![License](https://img.shields.io/github/license/unitycontainer/unity.svg)](https://github.com/unitycontainer/unity/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.svg)](https://www.nuget.org/packages/Unity) | [![NuGet](https://img.shields.io/nuget/dt/Unity.svg)](https://www.nuget.org/packages/Unity) -[Unity.Abstractions](https://github.com/unitycontainer/abstractions) | [![License](https://img.shields.io/github/license/unitycontainer/abstractions.svg)](https://github.com/unitycontainer/abstractions/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Abstractions.svg)](https://www.nuget.org/packages/Unity.Abstractions) | [![NuGet](https://img.shields.io/nuget/dt/Unity.Abstractions.svg)](https://www.nuget.org/packages/Unity.Abstractions) -[Unity.Container](https://github.com/unitycontainer/container) | [![License](https://img.shields.io/github/license/unitycontainer/container.svg)](https://github.com/unitycontainer/container/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Container.svg)](https://www.nuget.org/packages/Unity.Container) | [![NuGet](https://img.shields.io/nuget/dt/Unity.Container.svg)](https://www.nuget.org/packages/Unity.Container) -[Unity.Configuration](https://github.com/unitycontainer/configuration) | [![License](https://img.shields.io/github/license/unitycontainer/configuration.svg)](https://github.com/unitycontainer/configuration/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Configuration.svg)](https://www.nuget.org/packages/Unity.Configuration) | [![NuGet](https://img.shields.io/nuget/dt/Unity.Configuration.svg)](https://www.nuget.org/packages/Unity.Configuration) -[Unity.Interception](https://github.com/unitycontainer/interception) | [![License](https://img.shields.io/github/license/unitycontainer/interception.svg)](https://github.com/unitycontainer/interception/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Interception.svg)](https://www.nuget.org/packages/Unity.Interception) | [![NuGet](https://img.shields.io/nuget/dt/Unity.Interception.svg)](https://www.nuget.org/packages/Unity.Interception) -[Unity.Interception.Configuration](https://github.com/unitycontainer/interception-configuration) | [![License](https://img.shields.io/github/license/unitycontainer/interception-configuration.svg)](https://github.com/unitycontainer/interception-configuration/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Interception.Configuration.svg)](https://www.nuget.org/packages/Unity.Interception.Configuration) | [![NuGet](https://img.shields.io/nuget/dt/Unity.Interception.Configuration.svg)](https://www.nuget.org/packages/Unity.Interception.Configuration) -[Unity.RegistrationByConvention](https://github.com/unitycontainer/registration-by-convention) | [![License](https://img.shields.io/github/license/unitycontainer/registration-by-convention.svg)](https://github.com/unitycontainer/registration-by-convention/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.RegistrationByConvention.svg)](https://www.nuget.org/packages/Unity.RegistrationByConvention) | [![NuGet](https://img.shields.io/nuget/dt/Unity.RegistrationByConvention.svg)](https://www.nuget.org/packages/Unity.RegistrationByConvention) -[Unity.log4net](https://github.com/unitycontainer/log4net) | [![License](https://img.shields.io/github/license/unitycontainer/log4net.svg)](https://github.com/unitycontainer/log4net/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.log4net.svg)](https://www.nuget.org/packages/Unity.log4net) | [![NuGet](https://img.shields.io/nuget/dt/Unity.log4net.svg)](https://www.nuget.org/packages/Unity.log4net) -[Unity.NLog](https://github.com/unitycontainer/NLog) | [![License](https://img.shields.io/github/license/unitycontainer/NLog.svg)](https://github.com/unitycontainer/NLog/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.NLog.svg)](https://www.nuget.org/packages/Unity.NLog) | [![NuGet](https://img.shields.io/nuget/dt/Unity.NLog.svg)](https://www.nuget.org/packages/Unity.NLog) -[Unity.Microsoft.Logging](https://github.com/unitycontainer/microsoft-logging) | [![License](https://img.shields.io/github/license/unitycontainer/microsoft-logging.svg)](https://github.com/unitycontainer/microsoft-logging/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Microsoft.Logging.svg)](https://www.nuget.org/packages/Unity.Microsoft.Logging) | [![NuGet](https://img.shields.io/nuget/dt/Unity.Microsoft.Logging.svg)](https://www.nuget.org/packages/Unity.Microsoft.Logging) -[Unity.Microsoft.DependencyInjection](https://github.com/unitycontainer/microsoft-dependency-injection) | [![License](https://img.shields.io/github/license/unitycontainer/microsoft-dependency-injection.svg)](https://github.com/unitycontainer/microsoft-dependency-injection/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Microsoft.DependencyInjection.svg)](https://www.nuget.org/packages/Unity.Microsoft.DependencyInjection)| [![NuGet](https://img.shields.io/nuget/dt/Unity.Microsoft.DependencyInjection.svg)](https://www.nuget.org/packages/Unity.Microsoft.DependencyInjection) -[Unity.AspNet.WebApi](https://github.com/unitycontainer/aspnet-webapi) | [![License](https://img.shields.io/github/license/unitycontainer/aspnet-webapi.svg)](https://github.com/unitycontainer/aspnet-webapi/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.AspNet.WebApi.svg)](https://www.nuget.org/packages/Unity.AspNet.WebApi) | [![NuGet](https://img.shields.io/nuget/dt/Unity.AspNet.WebApi.svg)](https://www.nuget.org/packages/Unity.AspNet.WebApi) -[Unity.Mvc](https://github.com/unitycontainer/aspnet-mvc) | [![License](https://img.shields.io/github/license/unitycontainer/aspnet-mvc.svg)](https://github.com/unitycontainer/aspnet-mvc/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.Mvc.svg)](https://www.nuget.org/packages/Unity.Mvc) | [![NuGet](https://img.shields.io/nuget/dt/Unity.Mvc.svg)](https://www.nuget.org/packages/Unity.Mvc) -[Unity.WCF](https://github.com/unitycontainer/wcf) | [![License](https://img.shields.io/github/license/unitycontainer/wcf.svg)](https://github.com/unitycontainer/wcf/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.wcf.svg)](https://www.nuget.org/packages/Unity.wcf) | [![NuGet](https://img.shields.io/nuget/dt/Unity.wcf.svg)](https://www.nuget.org/packages/Unity.wcf) -[Unity.ServiceLocation](https://github.com/unitycontainer/service-location) | [![License](https://img.shields.io/github/license/unitycontainer/service-location.svg)](https://github.com/unitycontainer/service-location/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/Unity.ServiceLocation.svg)](https://www.nuget.org/packages/Unity.ServiceLocation) | [![NuGet](https://img.shields.io/nuget/dt/Unity.ServiceLocation.svg)](https://www.nuget.org/packages/Unity.ServiceLocation) -[CommonServiceLocator](https://github.com/unitycontainer/commonservicelocator) | [![License](https://img.shields.io/github/license/unitycontainer/commonservicelocator.svg)](https://github.com/unitycontainer/commonservicelocator/blob/master/LICENSE) | [![NuGet](https://img.shields.io/nuget/v/commonservicelocator.svg)](https://www.nuget.org/packages/CommonServiceLocator) | [![NuGet](https://img.shields.io/nuget/dt/commonservicelocator.svg)](https://www.nuget.org/packages/CommonServiceLocator) - -## Code of Conduct - -This project has adopted the code of conduct defined by the [Contributor Covenant](https://www.contributor-covenant.org/) to clarify expected behavior in our community. For more information, see the [.NET Foundation Code of Conduct](https://www.dotnetfoundation.org/code-of-conduct) - -## Contributing - -See the [Contributing guide](https://github.com/unitycontainer/unity/blob/master/CONTRIBUTING.md) for more information. - -## .NET Foundation -Unity Container is a [.NET Foundation](https://dotnetfoundation.org/projects/unitycontainer) project. diff --git a/RegistrationByConvention b/RegistrationByConvention new file mode 160000 index 00000000..6486426b --- /dev/null +++ b/RegistrationByConvention @@ -0,0 +1 @@ +Subproject commit 6486426bd6e8898c29fcb163b24a5f916b8d0ad2 diff --git a/ServiceLocation b/ServiceLocation new file mode 160000 index 00000000..054ab20d --- /dev/null +++ b/ServiceLocation @@ -0,0 +1 @@ +Subproject commit 054ab20d8819583334712508637a27af23492872 diff --git a/Specification b/Specification new file mode 160000 index 00000000..aca5cece --- /dev/null +++ b/Specification @@ -0,0 +1 @@ +Subproject commit aca5cece7e848b71893a3280b19908d9e6e6555f diff --git a/SpecificationTestsAsync b/SpecificationTestsAsync new file mode 160000 index 00000000..e03b6035 --- /dev/null +++ b/SpecificationTestsAsync @@ -0,0 +1 @@ +Subproject commit e03b6035cb84a11ce80255ed6d7972b9a691f538 diff --git a/WCF b/WCF new file mode 160000 index 00000000..d978d96c --- /dev/null +++ b/WCF @@ -0,0 +1 @@ +Subproject commit d978d96ced8d463a3826d404afddc8c8092e3b34 diff --git a/WebAPI b/WebAPI new file mode 160000 index 00000000..16f179ce --- /dev/null +++ b/WebAPI @@ -0,0 +1 @@ +Subproject commit 16f179ce7c72541f7804d1ea7ff18ad1d7004bac diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 00000000..9a28f8b1 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,37 @@ +image: Visual Studio 2017 +configuration: Release +platform: Any CPU + +install: + - ps: $env:build_version = (Select-Xml -Path ".\Package.nuspec" -XPath "/package/metadata/version" | Select-Object -ExpandProperty Node).InnerText + - ps: Update-AppveyorBuild -Version "$env:build_version.$env:APPVEYOR_BUILD_NUMBER" + - cmd: git submodule --quiet update --init + +dotnet_csproj: + patch: false + +before_build: +- cmd: dotnet restore --verbosity q + +build: + project: Unity.V6.sln + parallel: true + verbosity: minimal + +after_build: +- cmd: NuGet pack + +before_test: +- choco install opencover.portable +- choco install codecov + +test_script: +- OpenCover.Console.exe -register:user -target:"C:\Program Files\dotnet\dotnet.exe" -targetargs:"test --framework net46 --verbosity q" + +after_test: +- codecov -f "results.xml" + +artifacts: +- path: 'Unity.*.nupkg' + name: 'Unity' + diff --git a/package.snk b/package.snk new file mode 100644 index 00000000..986f91ec Binary files /dev/null and b/package.snk differ diff --git a/vNext.sln b/vNext.sln new file mode 100644 index 00000000..66b48b77 --- /dev/null +++ b/vNext.sln @@ -0,0 +1,414 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.28407.52 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Container", "Container\src\Unity.Container.csproj", "{EE1F752C-1FAB-41AD-AD63-857D0E62AB6B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Tests", "Container\tests\Unity.Tests\Unity.Tests.csproj", "{29D42A07-017E-4E9C-A87D-0ABBCAE53798}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Configuration", "Configuration\src\Unity.Configuration.csproj", "{742111EB-6966-4ACB-AB41-5A281070397A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Configuration.Tests", "Configuration\tests\Configuration.Tests.csproj", "{ED69D4F6-D7A0-4878-8CDC-F6EE01D8FE66}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Interception", "Interception\src\Unity.Interception.csproj", "{E363BF15-C3F7-4C86-BEF2-BD9A245C4854}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Abstractions", "Abstractions\src\Unity.Abstractions.csproj", "{2A50E743-8817-41DB-BD23-6F9625665EF7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Interception.Configuration", "InterceptionConfiguration\src\Unity.Interception.Configuration.csproj", "{78DD3C52-56DC-49F8-AF34-9D6A9C3AA714}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Interception.Configuration.Tests", "InterceptionConfiguration\tests\Interception.Configuration.Tests.csproj", "{B1468EB2-570A-4B90-A549-8B59E438A444}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.RegistrationByConvention", "RegistrationByConvention\src\Unity.RegistrationByConvention.csproj", "{A448026E-0A99-4BB0-9B0D-2CE12AAE1A01}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RegistrationByConvention.Tests", "RegistrationByConvention\tests\RegistrationByConvention.Tests.csproj", "{31FA5DA7-CC83-4EAB-AB2F-BB66C88D2222}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Performance", "Container\tests\Performance\Performance.csproj", "{F3CAD518-CE9F-4BE8-8AC0-D6B27E023FA1}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Mvc", "MVC\src\Unity.Mvc.csproj", "{783ABE91-79BE-40E1-B7B4-6B70AA4EE55B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.AspNet.WebApi", "WebAPI\src\Unity.AspNet.WebApi.csproj", "{6EF4C726-285A-4979-BE7A-7B023DB13678}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebApi.Tests", "WebAPI\tests\WebApi.Tests.csproj", "{C8524F6E-CD20-406E-90E2-65C3C8EF1FFA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MVC.Tests", "MVC\tests\MVC.Tests.csproj", "{2D5BEF61-D7D6-43C8-B1B4-A02D10F2FB5B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Microsoft.DependencyInjection", "Microsoft.DependencyInjection\src\Unity.Microsoft.DependencyInjection.csproj", "{8FE475A4-6C19-4A5A-893C-D5C1A1508D8E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Microsoft.DependencyInjection.Tests", "Microsoft.DependencyInjection\tests\Unity.Microsoft.DependencyInjection.Tests.csproj", "{D6FC1017-5FBF-42F8-AEC3-3B209E906829}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{46B66CD3-B2AE-4AD3-8BF7-59380C9DD24C}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extension", "Extension", "{807B6434-3128-4C95-B182-DDD603937088}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildPlanExample", "Examples\src\Extending Unity\BuildPlan\BuildPlanExample.csproj", "{A66DF5B3-583E-4269-A110-7386356584AF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BuildPlanCreatorExample", "Examples\src\Extending Unity\BuildPlanCreator\BuildPlanCreatorExample.csproj", "{D147C09E-DFC7-46DE-8096-8FD4B87C7561}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Microsoft.Options", "Microsoft.Options\src\Unity.Microsoft.Options.csproj", "{E72518AF-B002-447C-BBCF-3F9A9EA02D5F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Microsoft.Logging", "Microsoft.Logging\src\Unity.Microsoft.Logging.csproj", "{5FD0E5D9-3D29-4946-BDB0-9AB61B9C4CF5}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Microsoft.Logging.Tests", "Microsoft.Logging\tests\Unity.Microsoft.Logging.Tests.csproj", "{10CB5365-85EF-4CF2-954D-3513D59A6741}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Microsoft.Options.Tests", "Microsoft.Options\tests\Unity.Microsoft.Options.Tests.csproj", "{8B395CB4-08A9-42A2-92A3-50852A777D3A}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Logging", "Logging", "{7F73D778-142F-4925-BA07-43EFA6D9C206}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Log4net.Example", "Examples\src\Logging\Log4net\Log4net.Example.csproj", "{3C4075FA-4B71-4A31-878E-025E5207D688}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Logging.Example", "Examples\src\Logging\Microsoft.Logging\Microsoft.Logging.Example.csproj", "{B6967D81-9124-46A0-BE54-4033F826864E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NLog.Example", "Examples\src\Logging\NLog\NLog.Example.csproj", "{B75D4182-8E8C-4DEB-940D-2DE1E4011DFD}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Web", "Web", "{6A5D82EC-E5E0-4CBC-ABBB-2AF80730B29A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.ServiceLocation", "ServiceLocation\src\Unity.ServiceLocation.csproj", "{70AF28B8-F3E3-46A3-B5A4-64A13BF5E9BD}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceLocation.Tests", "ServiceLocation\tests\ServiceLocation.Tests.csproj", "{34C0D085-68F0-40E5-8419-8DD61AB4CEE2}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.log4net", "Log4net\src\Unity.log4net.csproj", "{64B4BF9D-DB0E-4BCA-8FD9-44AC53041203}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.NLog", "NLog\src\Unity.NLog.csproj", "{9689AEA1-D5F6-45DD-819F-4DEF68EF1BD7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NLog.Tests", "NLog\tests\NLog.Tests.csproj", "{BD0F648D-ECB8-4E69-87F6-95DC6E788D21}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "log4net.Tests", "Log4net\tests\log4net.Tests.csproj", "{B77AA526-C2DB-439C-A9F6-3FD9F4645556}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Logging", "Logging", "{CF83BFD5-8B40-4F31-8060-8AF86A3F6842}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Configuration", "Configuration", "{190E8FF3-EEA8-4669-868F-CCC72B9E1F83}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Interception", "Interception", "{E21FBE90-2681-4FDF-8C50-EFB55663230E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{E0CD2FB9-F879-4CE0-86B3-6A43ED6CA83D}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{BBE54EF0-EFAD-46D3-A622-4B2847338D7E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Specification", "Specification", "{F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASP.Net.Core.Unity.Example", "Examples\src\web\ASP.Net.Unity.Example\ASP.Net.Core.Unity.Example.csproj", "{0455B723-EDC7-4110-9D16-C2FB494BBB49}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Microsoft", "Microsoft", "{F729AD54-CCD9-4BB0-9183-D7C8642D7A46}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{BF3AB5C4-79AF-4A82-8D53-B4DA476D363F}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Options", "Options", "{F491A3FA-53E3-4AD4-9211-659DAAE756A3}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "DependencyInjection", "DependencyInjection", "{34EA90F1-6362-40F5-8CC3-02F4712FB429}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Logging", "Logging", "{36D84502-ABC5-4ACD-AFAD-AB1BB34B8DBA}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ASP.MVC", "ASP.MVC", "{53294F93-1B0C-45C6-9254-593E79D309D7}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ASP.Web.API", "ASP.Web.API", "{2B4660A0-960C-46C9-A013-F91859798A5E}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "WCF", "WCF", "{617D3B59-540C-4115-A882-06177C752156}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Wcf", "WCF\src\Unity.Wcf.csproj", "{1BC08FF5-6B69-4EC3-B087-2D2E62852AAF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Wcf.Tests", "WCF\tests\Unity.Wcf.Tests.csproj", "{6DD20020-9655-4994-A97B-A5F7E2C8664A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Specification.Async", "SpecificationTestsAsync\src\Unity.Specification.Async.csproj", "{C6C3BF84-86DF-4168-BC1F-E388F94210C3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Specification.Diagnostic.Async", "SpecificationTestsAsync\diagnostic\Unity.Specification.Diagnostic.Async.csproj", "{B9487087-16A7-47C7-A344-30781175D1E9}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Specification.Tests.Async", "Container\tests\Unity.Specification.Async\Unity.Specification.Tests.Async.csproj", "{5B18AC22-CFC6-4D2B-B3F6-BCBE9A736B1C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Specification.Tests.Diagnostic.Async", "Container\tests\Unity.Diagnostic.Async\Unity.Specification.Tests.Diagnostic.Async.csproj", "{8BB25ED0-3844-41E1-9937-1E6DD6303CA8}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Container", "Container", "{0A98EC14-98BD-4B74-B65F-1E2D7F5249D9}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChildContainer", "Examples\src\Container\ChildContainer\ChildContainer.csproj", "{42DAAF28-8193-4ADC-9D4D-74AC24DCA2E4}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Container", "Specification\Container\optimized\Container.csproj", "{35EDA370-41AB-4CC5-B5E7-618BBCD7F16A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Container.Diagnostic", "Specification\Container\diagnostic\Container.Diagnostic.csproj", "{D596C5A3-600A-4625-AF7F-935C73D34BDA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Specification.Container", "Container\tests\Specification\Optimized\Specification.Container.csproj", "{482A7F44-04F7-4E53-BE15-9512E206830B}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Specification.Conrainer.Diagnostic", "Container\tests\Specification\Diagnostic\Specification.Conrainer.Diagnostic.csproj", "{3277527A-5DF6-4FDF-85AB-B7AC760918DD}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Specification", "Specification\Base\Unity.Specification.csproj", "{EE0D002C-876C-4035-A027-BB8EFAC217DA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Interception", "Specification\Interception\optimized\Interception.csproj", "{B8A7DDFE-9B85-4046-AF7F-3A40F9AAE8DB}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Interception.Diagnostic", "Specification\Interception\diagnostic\Interception.Diagnostic.csproj", "{8E755BD4-D8FC-4493-8421-8DAA7AF3148C}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Specification.Interception", "..\Develop\Interception\tests\Specification\Optimized\Specification.Interception.csproj", "{A458FAAA-4C4C-4CC5-87FD-AE42145E337F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Specification.Interception.Diagnostic", "..\Develop\Interception\tests\Specification\Diagnostic\Specification.Interception.Diagnostic.csproj", "{5B78749D-F38F-482E-AA21-F15848520A26}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Unity.Interception.Tests", "Interception\tests\Unit\Unity.Interception.Tests.csproj", "{F90A3B61-ED20-4335-8FAA-E8A6894AD67F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EE1F752C-1FAB-41AD-AD63-857D0E62AB6B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EE1F752C-1FAB-41AD-AD63-857D0E62AB6B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EE1F752C-1FAB-41AD-AD63-857D0E62AB6B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EE1F752C-1FAB-41AD-AD63-857D0E62AB6B}.Release|Any CPU.Build.0 = Release|Any CPU + {29D42A07-017E-4E9C-A87D-0ABBCAE53798}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {29D42A07-017E-4E9C-A87D-0ABBCAE53798}.Debug|Any CPU.Build.0 = Debug|Any CPU + {29D42A07-017E-4E9C-A87D-0ABBCAE53798}.Release|Any CPU.ActiveCfg = Release|Any CPU + {742111EB-6966-4ACB-AB41-5A281070397A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {742111EB-6966-4ACB-AB41-5A281070397A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {742111EB-6966-4ACB-AB41-5A281070397A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ED69D4F6-D7A0-4878-8CDC-F6EE01D8FE66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ED69D4F6-D7A0-4878-8CDC-F6EE01D8FE66}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ED69D4F6-D7A0-4878-8CDC-F6EE01D8FE66}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E363BF15-C3F7-4C86-BEF2-BD9A245C4854}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E363BF15-C3F7-4C86-BEF2-BD9A245C4854}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E363BF15-C3F7-4C86-BEF2-BD9A245C4854}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2A50E743-8817-41DB-BD23-6F9625665EF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2A50E743-8817-41DB-BD23-6F9625665EF7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2A50E743-8817-41DB-BD23-6F9625665EF7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2A50E743-8817-41DB-BD23-6F9625665EF7}.Release|Any CPU.Build.0 = Release|Any CPU + {78DD3C52-56DC-49F8-AF34-9D6A9C3AA714}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {78DD3C52-56DC-49F8-AF34-9D6A9C3AA714}.Debug|Any CPU.Build.0 = Debug|Any CPU + {78DD3C52-56DC-49F8-AF34-9D6A9C3AA714}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1468EB2-570A-4B90-A549-8B59E438A444}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1468EB2-570A-4B90-A549-8B59E438A444}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1468EB2-570A-4B90-A549-8B59E438A444}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A448026E-0A99-4BB0-9B0D-2CE12AAE1A01}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A448026E-0A99-4BB0-9B0D-2CE12AAE1A01}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A448026E-0A99-4BB0-9B0D-2CE12AAE1A01}.Release|Any CPU.ActiveCfg = Release|Any CPU + {31FA5DA7-CC83-4EAB-AB2F-BB66C88D2222}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {31FA5DA7-CC83-4EAB-AB2F-BB66C88D2222}.Debug|Any CPU.Build.0 = Debug|Any CPU + {31FA5DA7-CC83-4EAB-AB2F-BB66C88D2222}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F3CAD518-CE9F-4BE8-8AC0-D6B27E023FA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F3CAD518-CE9F-4BE8-8AC0-D6B27E023FA1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F3CAD518-CE9F-4BE8-8AC0-D6B27E023FA1}.Release|Any CPU.Build.0 = Release|Any CPU + {783ABE91-79BE-40E1-B7B4-6B70AA4EE55B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {783ABE91-79BE-40E1-B7B4-6B70AA4EE55B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {783ABE91-79BE-40E1-B7B4-6B70AA4EE55B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6EF4C726-285A-4979-BE7A-7B023DB13678}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6EF4C726-285A-4979-BE7A-7B023DB13678}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6EF4C726-285A-4979-BE7A-7B023DB13678}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C8524F6E-CD20-406E-90E2-65C3C8EF1FFA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C8524F6E-CD20-406E-90E2-65C3C8EF1FFA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C8524F6E-CD20-406E-90E2-65C3C8EF1FFA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2D5BEF61-D7D6-43C8-B1B4-A02D10F2FB5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2D5BEF61-D7D6-43C8-B1B4-A02D10F2FB5B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2D5BEF61-D7D6-43C8-B1B4-A02D10F2FB5B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8FE475A4-6C19-4A5A-893C-D5C1A1508D8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8FE475A4-6C19-4A5A-893C-D5C1A1508D8E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8FE475A4-6C19-4A5A-893C-D5C1A1508D8E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D6FC1017-5FBF-42F8-AEC3-3B209E906829}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D6FC1017-5FBF-42F8-AEC3-3B209E906829}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D6FC1017-5FBF-42F8-AEC3-3B209E906829}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A66DF5B3-583E-4269-A110-7386356584AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A66DF5B3-583E-4269-A110-7386356584AF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A66DF5B3-583E-4269-A110-7386356584AF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D147C09E-DFC7-46DE-8096-8FD4B87C7561}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D147C09E-DFC7-46DE-8096-8FD4B87C7561}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D147C09E-DFC7-46DE-8096-8FD4B87C7561}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E72518AF-B002-447C-BBCF-3F9A9EA02D5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E72518AF-B002-447C-BBCF-3F9A9EA02D5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E72518AF-B002-447C-BBCF-3F9A9EA02D5F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5FD0E5D9-3D29-4946-BDB0-9AB61B9C4CF5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5FD0E5D9-3D29-4946-BDB0-9AB61B9C4CF5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5FD0E5D9-3D29-4946-BDB0-9AB61B9C4CF5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {10CB5365-85EF-4CF2-954D-3513D59A6741}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {10CB5365-85EF-4CF2-954D-3513D59A6741}.Debug|Any CPU.Build.0 = Debug|Any CPU + {10CB5365-85EF-4CF2-954D-3513D59A6741}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8B395CB4-08A9-42A2-92A3-50852A777D3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8B395CB4-08A9-42A2-92A3-50852A777D3A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8B395CB4-08A9-42A2-92A3-50852A777D3A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3C4075FA-4B71-4A31-878E-025E5207D688}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3C4075FA-4B71-4A31-878E-025E5207D688}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3C4075FA-4B71-4A31-878E-025E5207D688}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B6967D81-9124-46A0-BE54-4033F826864E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B6967D81-9124-46A0-BE54-4033F826864E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B6967D81-9124-46A0-BE54-4033F826864E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B75D4182-8E8C-4DEB-940D-2DE1E4011DFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B75D4182-8E8C-4DEB-940D-2DE1E4011DFD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B75D4182-8E8C-4DEB-940D-2DE1E4011DFD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {70AF28B8-F3E3-46A3-B5A4-64A13BF5E9BD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {70AF28B8-F3E3-46A3-B5A4-64A13BF5E9BD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {70AF28B8-F3E3-46A3-B5A4-64A13BF5E9BD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {34C0D085-68F0-40E5-8419-8DD61AB4CEE2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {34C0D085-68F0-40E5-8419-8DD61AB4CEE2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {34C0D085-68F0-40E5-8419-8DD61AB4CEE2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {64B4BF9D-DB0E-4BCA-8FD9-44AC53041203}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {64B4BF9D-DB0E-4BCA-8FD9-44AC53041203}.Debug|Any CPU.Build.0 = Debug|Any CPU + {64B4BF9D-DB0E-4BCA-8FD9-44AC53041203}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9689AEA1-D5F6-45DD-819F-4DEF68EF1BD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9689AEA1-D5F6-45DD-819F-4DEF68EF1BD7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9689AEA1-D5F6-45DD-819F-4DEF68EF1BD7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BD0F648D-ECB8-4E69-87F6-95DC6E788D21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BD0F648D-ECB8-4E69-87F6-95DC6E788D21}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BD0F648D-ECB8-4E69-87F6-95DC6E788D21}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B77AA526-C2DB-439C-A9F6-3FD9F4645556}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B77AA526-C2DB-439C-A9F6-3FD9F4645556}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B77AA526-C2DB-439C-A9F6-3FD9F4645556}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0455B723-EDC7-4110-9D16-C2FB494BBB49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0455B723-EDC7-4110-9D16-C2FB494BBB49}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0455B723-EDC7-4110-9D16-C2FB494BBB49}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1BC08FF5-6B69-4EC3-B087-2D2E62852AAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1BC08FF5-6B69-4EC3-B087-2D2E62852AAF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1BC08FF5-6B69-4EC3-B087-2D2E62852AAF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6DD20020-9655-4994-A97B-A5F7E2C8664A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6DD20020-9655-4994-A97B-A5F7E2C8664A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6DD20020-9655-4994-A97B-A5F7E2C8664A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6C3BF84-86DF-4168-BC1F-E388F94210C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C6C3BF84-86DF-4168-BC1F-E388F94210C3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C6C3BF84-86DF-4168-BC1F-E388F94210C3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C6C3BF84-86DF-4168-BC1F-E388F94210C3}.Release|Any CPU.Build.0 = Release|Any CPU + {B9487087-16A7-47C7-A344-30781175D1E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B9487087-16A7-47C7-A344-30781175D1E9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B9487087-16A7-47C7-A344-30781175D1E9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B9487087-16A7-47C7-A344-30781175D1E9}.Release|Any CPU.Build.0 = Release|Any CPU + {5B18AC22-CFC6-4D2B-B3F6-BCBE9A736B1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B18AC22-CFC6-4D2B-B3F6-BCBE9A736B1C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B18AC22-CFC6-4D2B-B3F6-BCBE9A736B1C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8BB25ED0-3844-41E1-9937-1E6DD6303CA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8BB25ED0-3844-41E1-9937-1E6DD6303CA8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8BB25ED0-3844-41E1-9937-1E6DD6303CA8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {42DAAF28-8193-4ADC-9D4D-74AC24DCA2E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {42DAAF28-8193-4ADC-9D4D-74AC24DCA2E4}.Debug|Any CPU.Build.0 = Debug|Any CPU + {42DAAF28-8193-4ADC-9D4D-74AC24DCA2E4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {42DAAF28-8193-4ADC-9D4D-74AC24DCA2E4}.Release|Any CPU.Build.0 = Release|Any CPU + {35EDA370-41AB-4CC5-B5E7-618BBCD7F16A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {35EDA370-41AB-4CC5-B5E7-618BBCD7F16A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {35EDA370-41AB-4CC5-B5E7-618BBCD7F16A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {35EDA370-41AB-4CC5-B5E7-618BBCD7F16A}.Release|Any CPU.Build.0 = Release|Any CPU + {D596C5A3-600A-4625-AF7F-935C73D34BDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D596C5A3-600A-4625-AF7F-935C73D34BDA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D596C5A3-600A-4625-AF7F-935C73D34BDA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D596C5A3-600A-4625-AF7F-935C73D34BDA}.Release|Any CPU.Build.0 = Release|Any CPU + {482A7F44-04F7-4E53-BE15-9512E206830B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {482A7F44-04F7-4E53-BE15-9512E206830B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {482A7F44-04F7-4E53-BE15-9512E206830B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {482A7F44-04F7-4E53-BE15-9512E206830B}.Release|Any CPU.Build.0 = Release|Any CPU + {3277527A-5DF6-4FDF-85AB-B7AC760918DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3277527A-5DF6-4FDF-85AB-B7AC760918DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3277527A-5DF6-4FDF-85AB-B7AC760918DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3277527A-5DF6-4FDF-85AB-B7AC760918DD}.Release|Any CPU.Build.0 = Release|Any CPU + {EE0D002C-876C-4035-A027-BB8EFAC217DA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EE0D002C-876C-4035-A027-BB8EFAC217DA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EE0D002C-876C-4035-A027-BB8EFAC217DA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EE0D002C-876C-4035-A027-BB8EFAC217DA}.Release|Any CPU.Build.0 = Release|Any CPU + {B8A7DDFE-9B85-4046-AF7F-3A40F9AAE8DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B8A7DDFE-9B85-4046-AF7F-3A40F9AAE8DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B8A7DDFE-9B85-4046-AF7F-3A40F9AAE8DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B8A7DDFE-9B85-4046-AF7F-3A40F9AAE8DB}.Release|Any CPU.Build.0 = Release|Any CPU + {8E755BD4-D8FC-4493-8421-8DAA7AF3148C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8E755BD4-D8FC-4493-8421-8DAA7AF3148C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8E755BD4-D8FC-4493-8421-8DAA7AF3148C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8E755BD4-D8FC-4493-8421-8DAA7AF3148C}.Release|Any CPU.Build.0 = Release|Any CPU + {A458FAAA-4C4C-4CC5-87FD-AE42145E337F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A458FAAA-4C4C-4CC5-87FD-AE42145E337F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A458FAAA-4C4C-4CC5-87FD-AE42145E337F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A458FAAA-4C4C-4CC5-87FD-AE42145E337F}.Release|Any CPU.Build.0 = Release|Any CPU + {5B78749D-F38F-482E-AA21-F15848520A26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5B78749D-F38F-482E-AA21-F15848520A26}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5B78749D-F38F-482E-AA21-F15848520A26}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5B78749D-F38F-482E-AA21-F15848520A26}.Release|Any CPU.Build.0 = Release|Any CPU + {F90A3B61-ED20-4335-8FAA-E8A6894AD67F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F90A3B61-ED20-4335-8FAA-E8A6894AD67F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F90A3B61-ED20-4335-8FAA-E8A6894AD67F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F90A3B61-ED20-4335-8FAA-E8A6894AD67F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {29D42A07-017E-4E9C-A87D-0ABBCAE53798} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {742111EB-6966-4ACB-AB41-5A281070397A} = {190E8FF3-EEA8-4669-868F-CCC72B9E1F83} + {ED69D4F6-D7A0-4878-8CDC-F6EE01D8FE66} = {E0CD2FB9-F879-4CE0-86B3-6A43ED6CA83D} + {E363BF15-C3F7-4C86-BEF2-BD9A245C4854} = {E21FBE90-2681-4FDF-8C50-EFB55663230E} + {78DD3C52-56DC-49F8-AF34-9D6A9C3AA714} = {190E8FF3-EEA8-4669-868F-CCC72B9E1F83} + {B1468EB2-570A-4B90-A549-8B59E438A444} = {E0CD2FB9-F879-4CE0-86B3-6A43ED6CA83D} + {A448026E-0A99-4BB0-9B0D-2CE12AAE1A01} = {190E8FF3-EEA8-4669-868F-CCC72B9E1F83} + {31FA5DA7-CC83-4EAB-AB2F-BB66C88D2222} = {E0CD2FB9-F879-4CE0-86B3-6A43ED6CA83D} + {F3CAD518-CE9F-4BE8-8AC0-D6B27E023FA1} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {783ABE91-79BE-40E1-B7B4-6B70AA4EE55B} = {53294F93-1B0C-45C6-9254-593E79D309D7} + {6EF4C726-285A-4979-BE7A-7B023DB13678} = {2B4660A0-960C-46C9-A013-F91859798A5E} + {C8524F6E-CD20-406E-90E2-65C3C8EF1FFA} = {2B4660A0-960C-46C9-A013-F91859798A5E} + {2D5BEF61-D7D6-43C8-B1B4-A02D10F2FB5B} = {53294F93-1B0C-45C6-9254-593E79D309D7} + {8FE475A4-6C19-4A5A-893C-D5C1A1508D8E} = {34EA90F1-6362-40F5-8CC3-02F4712FB429} + {D6FC1017-5FBF-42F8-AEC3-3B209E906829} = {34EA90F1-6362-40F5-8CC3-02F4712FB429} + {807B6434-3128-4C95-B182-DDD603937088} = {46B66CD3-B2AE-4AD3-8BF7-59380C9DD24C} + {A66DF5B3-583E-4269-A110-7386356584AF} = {807B6434-3128-4C95-B182-DDD603937088} + {D147C09E-DFC7-46DE-8096-8FD4B87C7561} = {807B6434-3128-4C95-B182-DDD603937088} + {E72518AF-B002-447C-BBCF-3F9A9EA02D5F} = {F491A3FA-53E3-4AD4-9211-659DAAE756A3} + {5FD0E5D9-3D29-4946-BDB0-9AB61B9C4CF5} = {36D84502-ABC5-4ACD-AFAD-AB1BB34B8DBA} + {10CB5365-85EF-4CF2-954D-3513D59A6741} = {36D84502-ABC5-4ACD-AFAD-AB1BB34B8DBA} + {8B395CB4-08A9-42A2-92A3-50852A777D3A} = {F491A3FA-53E3-4AD4-9211-659DAAE756A3} + {7F73D778-142F-4925-BA07-43EFA6D9C206} = {46B66CD3-B2AE-4AD3-8BF7-59380C9DD24C} + {3C4075FA-4B71-4A31-878E-025E5207D688} = {7F73D778-142F-4925-BA07-43EFA6D9C206} + {B6967D81-9124-46A0-BE54-4033F826864E} = {7F73D778-142F-4925-BA07-43EFA6D9C206} + {B75D4182-8E8C-4DEB-940D-2DE1E4011DFD} = {7F73D778-142F-4925-BA07-43EFA6D9C206} + {6A5D82EC-E5E0-4CBC-ABBB-2AF80730B29A} = {46B66CD3-B2AE-4AD3-8BF7-59380C9DD24C} + {70AF28B8-F3E3-46A3-B5A4-64A13BF5E9BD} = {F729AD54-CCD9-4BB0-9183-D7C8642D7A46} + {34C0D085-68F0-40E5-8419-8DD61AB4CEE2} = {E0CD2FB9-F879-4CE0-86B3-6A43ED6CA83D} + {64B4BF9D-DB0E-4BCA-8FD9-44AC53041203} = {CF83BFD5-8B40-4F31-8060-8AF86A3F6842} + {9689AEA1-D5F6-45DD-819F-4DEF68EF1BD7} = {CF83BFD5-8B40-4F31-8060-8AF86A3F6842} + {BD0F648D-ECB8-4E69-87F6-95DC6E788D21} = {BBE54EF0-EFAD-46D3-A622-4B2847338D7E} + {B77AA526-C2DB-439C-A9F6-3FD9F4645556} = {BBE54EF0-EFAD-46D3-A622-4B2847338D7E} + {E0CD2FB9-F879-4CE0-86B3-6A43ED6CA83D} = {190E8FF3-EEA8-4669-868F-CCC72B9E1F83} + {BBE54EF0-EFAD-46D3-A622-4B2847338D7E} = {CF83BFD5-8B40-4F31-8060-8AF86A3F6842} + {0455B723-EDC7-4110-9D16-C2FB494BBB49} = {6A5D82EC-E5E0-4CBC-ABBB-2AF80730B29A} + {F491A3FA-53E3-4AD4-9211-659DAAE756A3} = {F729AD54-CCD9-4BB0-9183-D7C8642D7A46} + {34EA90F1-6362-40F5-8CC3-02F4712FB429} = {F729AD54-CCD9-4BB0-9183-D7C8642D7A46} + {36D84502-ABC5-4ACD-AFAD-AB1BB34B8DBA} = {F729AD54-CCD9-4BB0-9183-D7C8642D7A46} + {53294F93-1B0C-45C6-9254-593E79D309D7} = {F729AD54-CCD9-4BB0-9183-D7C8642D7A46} + {2B4660A0-960C-46C9-A013-F91859798A5E} = {F729AD54-CCD9-4BB0-9183-D7C8642D7A46} + {617D3B59-540C-4115-A882-06177C752156} = {F729AD54-CCD9-4BB0-9183-D7C8642D7A46} + {1BC08FF5-6B69-4EC3-B087-2D2E62852AAF} = {617D3B59-540C-4115-A882-06177C752156} + {6DD20020-9655-4994-A97B-A5F7E2C8664A} = {617D3B59-540C-4115-A882-06177C752156} + {C6C3BF84-86DF-4168-BC1F-E388F94210C3} = {F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7} + {B9487087-16A7-47C7-A344-30781175D1E9} = {F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7} + {5B18AC22-CFC6-4D2B-B3F6-BCBE9A736B1C} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {8BB25ED0-3844-41E1-9937-1E6DD6303CA8} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {0A98EC14-98BD-4B74-B65F-1E2D7F5249D9} = {46B66CD3-B2AE-4AD3-8BF7-59380C9DD24C} + {42DAAF28-8193-4ADC-9D4D-74AC24DCA2E4} = {0A98EC14-98BD-4B74-B65F-1E2D7F5249D9} + {35EDA370-41AB-4CC5-B5E7-618BBCD7F16A} = {F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7} + {D596C5A3-600A-4625-AF7F-935C73D34BDA} = {F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7} + {482A7F44-04F7-4E53-BE15-9512E206830B} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {3277527A-5DF6-4FDF-85AB-B7AC760918DD} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {EE0D002C-876C-4035-A027-BB8EFAC217DA} = {F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7} + {B8A7DDFE-9B85-4046-AF7F-3A40F9AAE8DB} = {F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7} + {8E755BD4-D8FC-4493-8421-8DAA7AF3148C} = {F8CC6AB5-0A31-4DD5-9926-72CCC64E34F7} + {A458FAAA-4C4C-4CC5-87FD-AE42145E337F} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {5B78749D-F38F-482E-AA21-F15848520A26} = {BF3AB5C4-79AF-4A82-8D53-B4DA476D363F} + {F90A3B61-ED20-4335-8FAA-E8A6894AD67F} = {E21FBE90-2681-4FDF-8C50-EFB55663230E} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {5AAFE72A-A2F4-4EE5-B3E2-B8E1E4652456} + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection + GlobalSection(Performance) = preSolution + HasPerformanceSessions = true + EndGlobalSection +EndGlobal