From d18558c3abd10327793eaeeab761ca4e3c577e90 Mon Sep 17 00:00:00 2001
From: Ryan Brandenburg <rybrande@microsoft.com>
Date: Wed, 21 Nov 2018 16:10:55 -0800
Subject: [PATCH] Reorganize source code in preparation to move into
 aspnet/AspNetCore Prior to reorganization, this source code was found in
 https://github.com/aspnet/Routing/tree/3d828221a19d91907c52c2f40928b019bee1ef92

---
 .appveyor.yml                                 |  17 --
 .gitattributes                                |  52 ----
 .travis.yml                                   |  27 --
 .vsts-pipelines/builds/ci-internal.yml        |  13 -
 .vsts-pipelines/builds/ci-public.yml          |  15 -
 CONTRIBUTING.md                               |   4 -
 LICENSE.txt                                   | 201 --------------
 NuGet.config                                  |   7 -
 build.cmd                                     |   2 -
 build.sh                                      |   8 -
 korebuild-lock.txt                            |   2 -
 korebuild.json                                |   4 -
 run.cmd                                       |   2 -
 run.ps1                                       | 209 --------------
 run.sh                                        | 256 ------------------
 .gitignore => src/Routing/.gitignore          |   0
 .../Routing/Directory.Build.props             |   0
 .../Routing/Directory.Build.targets           |   0
 .../Routing/NuGetPackageVerifier.json         |   0
 README.md => src/Routing/README.md            |   0
 Routing.sln => src/Routing/Routing.sln        |   0
 .../Routing/Settings.StyleCop                 |   0
 .../Routing/THIRD-PARTY-NOTICES               |   0
 .../Benchmarks/Benchmarks.csproj              |   0
 .../benchmarkapps}/Benchmarks/Program.cs      |   0
 .../Benchmarks/StartupUsingEndpointRouting.cs |   0
 .../Benchmarks/StartupUsingRouter.cs          |   0
 .../benchmarkapps}/Benchmarks/benchmarks.json |   0
 .../EndpointMetadataCollectionBenchmark.cs    |   0
 .../EndpointRoutingBenchmarkBase.cs           |   0
 .../LinkGenerationGithubBenchmark.cs          |   0
 ...LinkGenerationGithubBenchmark.generated.cs |   0
 ...eRouteRouteValuesAddressSchemeBenchmark.cs |   0
 .../SingleRouteWithConstraintsBenchmark.cs    |   0
 .../SingleRouteWithNoParametersBenchmark.cs   |   0
 .../SingleRouteWithParametersBenchmark.cs     |   0
 .../FastPathTokenizerBenchmarkBase.cs         |   0
 .../FastPathTokenizerEmptyBenchmark.cs        |   0
 .../FastPathTokenizerLargeBenchmark.cs        |   0
 .../FastPathTokenizerPlaintextBenchmark.cs    |   0
 .../FastPathTokenizerSmallBenchmark.cs        |   0
 .../JumpTableMultipleEntryBenchmark.cs        |   0
 .../Matching/JumpTableSingleEntryBenchmark.cs |   0
 .../Matching/JumpTableZeroEntryBenchmark.cs   |   0
 .../Matching/MatcherAzureBenchmark.cs         |   0
 .../MatcherAzureBenchmarkBase.generated.cs    |   0
 .../Matching/MatcherBuilderAzureBenchmark.cs  |   0
 .../Matching/MatcherBuilderGithubBenchmark.cs |   0
 .../MatcherBuilderMultipleEntryBenchmark.cs   |   0
 .../Matching/MatcherGithubBenchmark.cs        |   0
 .../MatcherGithubBenchmarkBase.generated.cs   |   0
 .../Matching/MatcherSingleEntryBenchmark.cs   |   0
 .../Matching/RouteEndpointAzureBenchmark.cs   |   0
 .../Matching/TrivialMatcher.cs                |   0
 .../Matching/TrivialMatcherBuilder.cs         |   0
 ...soft.AspNetCore.Routing.Performance.csproj |   0
 .../Properties/AssemblyInfo.cs                |   0
 .../RouteValueDictionaryBenchmark.cs          |   0
 .../readme.md                                 |   0
 {build => src/Routing/build}/Key.snk          | Bin
 .../Routing/build}/dependencies.props         |   0
 {build => src/Routing/build}/repo.props       |   0
 {build => src/Routing/build}/sources.props    |   0
 .../samples}/RoutingSandbox/Program.cs        |   0
 .../RoutingSandbox/RoutingSandbox.csproj      |   0
 .../UseEndpointRoutingStartup.cs              |   0
 .../RoutingSandbox/UseRouterStartup.cs        |   0
 .../RoutingSandbox/wwwroot/full.render.js     |   0
 .../RoutingSandbox/wwwroot/graph-ui.html      |   0
 .../samples}/RoutingSandbox/wwwroot/viz.js    |   0
 .../DecisionCriterion.cs                      |   0
 .../DecisionCriterionValue.cs                 |   0
 .../DecisionCriterionValueEqualityComparer.cs |   0
 .../DecisionTreeBuilder.cs                    |   0
 .../DecisionTreeNode.cs                       |   0
 .../IClassifier.cs                            |   0
 .../ItemDescriptor.cs                         |   0
 src/{ => Routing/src}/Directory.Build.props   |   0
 .../Endpoint.cs                               |   0
 .../EndpointMetadataCollection.cs             |   0
 .../IEndpointFeature.cs                       |   0
 .../IOutboundParameterTransformer.cs          |   0
 .../IParameterPolicy.cs                       |   0
 .../IRouteConstraint.cs                       |   0
 .../IRouteHandler.cs                          |   0
 .../IRouteValuesFeature.cs                    |   0
 .../IRouter.cs                                |   0
 .../IRoutingFeature.cs                        |   0
 .../LinkGenerator.cs                          |   0
 .../LinkOptions.cs                            |   0
 ...oft.AspNetCore.Routing.Abstractions.csproj |   0
 .../Properties/AssemblyInfo.cs                |   0
 .../Properties/Resources.Designer.cs          |   0
 .../Resources.resx                            |   0
 .../RouteContext.cs                           |   0
 .../RouteData.cs                              |   0
 .../RouteDirection.cs                         |   0
 .../RouteValueDictionary.cs                   |   0
 .../RoutingHttpContextExtensions.cs           |   0
 .../VirtualPathContext.cs                     |   0
 .../VirtualPathData.cs                        |   0
 .../baseline.netcore.json                     |   0
 .../Builder/RoutingBuilderExtensions.cs       |   0
 .../CompositeEndpointDataSource.cs            |   0
 .../Constraints/AlphaRouteConstraint.cs       |   0
 .../Constraints/BoolRouteConstraint.cs        |   0
 .../Constraints/CompositeRouteConstraint.cs   |   0
 .../Constraints/DateTimeRouteConstraint.cs    |   0
 .../Constraints/DecimalRouteConstraint.cs     |   0
 .../Constraints/DoubleRouteConstraint.cs      |   0
 .../Constraints/FloatRouteConstraint.cs       |   0
 .../Constraints/GuidRouteConstraint.cs        |   0
 .../Constraints/HttpMethodRouteConstraint.cs  |   0
 .../Constraints/IntRouteConstraint.cs         |   0
 .../Constraints/LengthRouteConstraint.cs      |   0
 .../Constraints/LongRouteConstraint.cs        |   0
 .../Constraints/MaxLengthRouteConstraint.cs   |   0
 .../Constraints/MaxRouteConstraint.cs         |   0
 .../Constraints/MinLengthRouteConstraint.cs   |   0
 .../Constraints/MinRouteConstraint.cs         |   0
 .../Constraints/NullRouteConstraint.cs        |   0
 .../Constraints/OptionalRouteConstraint.cs    |   0
 .../Constraints/RangeRouteConstraint.cs       |   0
 .../Constraints/RegexInlineRouteConstraint.cs |   0
 .../Constraints/RegexRouteConstraint.cs       |   0
 .../Constraints/RequiredRouteConstraint.cs    |   0
 .../Constraints/StringRouteConstraint.cs      |   0
 .../DataSourceDependentCache.cs               |   0
 .../DataTokensMetadata.cs                     |   0
 .../DefaultEndpointDataSource.cs              |   0
 .../DefaultInlineConstraintResolver.cs        |   0
 .../DefaultLinkGenerator.cs                   |   0
 .../DefaultParameterPolicyFactory.cs          |   0
 .../ConfigureEndpointOptions.cs               |   0
 .../RoutingServiceCollectionExtensions.cs     |   0
 .../EndpointDataSource.cs                     |   0
 .../EndpointMiddleware.cs                     |   0
 .../EndpointNameAddressScheme.cs              |   0
 .../EndpointNameMetadata.cs                   |   0
 .../EndpointOptions.cs                        |   0
 .../EndpointRoutingMiddleware.cs              |   0
 .../EndpointSelectorContext.cs                |   0
 .../HttpMethodMetadata.cs                     |   0
 .../IDataTokenMetadata.cs                     |   0
 .../IEndpointAddressScheme.cs                 |   0
 .../IEndpointNameMetadata.cs                  |   0
 .../IHttpMethodMetadata.cs                    |   0
 .../IInlineConstraintResolver.cs              |   0
 .../INamedRouter.cs                           |   0
 .../IRouteBuilder.cs                          |   0
 .../IRouteCollection.cs                       |   0
 .../IRouteValuesAddressMetadata.cs            |   0
 .../ISuppressLinkGenerationMetadata.cs        |   0
 .../ISuppressMatchingMetadata.cs              |   0
 .../InlineRouteParameterParser.cs             |   0
 .../Internal/BufferValue.cs                   |   0
 .../Internal/DfaGraphWriter.cs                |   0
 ...ointRoutingApplicationBuilderExtensions.cs |   0
 .../Internal/LinkGenerationDecisionTree.cs    |   0
 .../Internal/NullRouter.cs                    |   0
 .../Internal/OutboundMatchResult.cs           |   0
 .../Internal/ParameterPolicyActivator.cs      |   0
 .../Internal/PathTokenizer.cs                 |   0
 .../Internal/RoutingMarkerService.cs          |   0
 .../Internal/SegmentState.cs                  |   0
 .../UriBuilderContextPooledObjectPolicy.cs    |   0
 .../Internal/UriBuildingContext.cs            |   0
 ...kGeneratorEndpointNameAddressExtensions.cs |   0
 ...nkGeneratorRouteValuesAddressExtensions.cs |   0
 .../RouteConstraintMatcherExtensions.cs       |   0
 .../RouterMiddlewareLoggerExtensions.cs       |   0
 .../Logging/TreeRouterLoggerExtensions.cs     |   0
 .../MapRouteRouteBuilderExtensions.cs         |   0
 .../Matching/AmbiguousMatchException.cs       |   0
 .../Matching/Ascii.cs                         |   0
 .../Matching/Candidate.cs                     |   0
 .../Matching/CandidateSet.cs                  |   0
 .../Matching/CandidateState.cs                |   0
 .../Matching/DataSourceDependentMatcher.cs    |   0
 .../Matching/DefaultEndpointSelector.cs       |   0
 .../Matching/DfaMatcher.cs                    |   0
 .../Matching/DfaMatcherBuilder.cs             |   0
 .../Matching/DfaMatcherFactory.cs             |   0
 .../Matching/DfaNode.cs                       |   0
 .../Matching/DfaState.cs                      |   0
 .../Matching/DictionaryJumpTable.cs           |   0
 .../Matching/EndpointComparer.cs              |   0
 .../Matching/EndpointMetadataComparer.cs      |   0
 .../Matching/EndpointSelector.cs              |   0
 .../Matching/FastPathTokenizer.cs             |   0
 .../Matching/HttpMethodMatcherPolicy.cs       |   0
 .../Matching/IEndpointComparerPolicy.cs       |   0
 .../Matching/IEndpointSelectorPolicy.cs       |   0
 .../Matching/ILEmitTrieFactory.cs             |   0
 .../Matching/ILEmitTrieJumpTable.cs           |   0
 .../Matching/INodeBuilderPolicy.cs            |   0
 .../Matching/JumpTable.cs                     |   0
 .../Matching/JumpTableBuilder.cs              |   0
 .../Matching/LinearSearchJumpTable.cs         |   0
 .../Matching/Matcher.cs                       |   0
 .../Matching/MatcherBuilder.cs                |   0
 .../Matching/MatcherFactory.cs                |   0
 .../Matching/MatcherPolicy.cs                 |   0
 .../Matching/PathSegment.cs                   |   0
 .../Matching/PolicyJumpTable.cs               |   0
 .../Matching/PolicyJumpTableEdge.cs           |   0
 .../Matching/PolicyNodeEdge.cs                |   0
 .../Matching/SingleEntryAsciiJumpTable.cs     |   0
 .../Matching/SingleEntryJumpTable.cs          |   0
 .../Matching/ZeroEntryJumpTable.cs            |   0
 .../Microsoft.AspNetCore.Routing.csproj       |   0
 .../ParameterPolicyFactory.cs                 |   0
 .../Patterns/RouteParameterParser.cs          |   0
 .../Patterns/RoutePattern.cs                  |   0
 .../Patterns/RoutePatternException.cs         |   0
 .../Patterns/RoutePatternFactory.cs           |   0
 .../Patterns/RoutePatternLiteralPart.cs       |   0
 .../Patterns/RoutePatternMatcher.cs           |   0
 .../Patterns/RoutePatternParameterKind.cs     |   0
 .../Patterns/RoutePatternParameterPart.cs     |   0
 .../RoutePatternParameterPolicyReference.cs   |   0
 .../Patterns/RoutePatternParser.cs            |   0
 .../Patterns/RoutePatternPart.cs              |   0
 .../Patterns/RoutePatternPartKind.cs          |   0
 .../Patterns/RoutePatternPathSegment.cs       |   0
 .../Patterns/RoutePatternSeparatorPart.cs     |   0
 .../Properties/AssemblyInfo.cs                |   0
 .../Properties/Resources.Designer.cs          |   0
 .../RequestDelegateRouteBuilderExtensions.cs  |   0
 .../Resources.resx                            |   0
 .../Microsoft.AspNetCore.Routing/Route.cs     |   0
 .../Microsoft.AspNetCore.Routing/RouteBase.cs |   0
 .../RouteBuilder.cs                           |   0
 .../RouteCollection.cs                        |   0
 .../RouteConstraintBuilder.cs                 |   0
 .../RouteConstraintMatcher.cs                 |   0
 .../RouteCreationException.cs                 |   0
 .../RouteEndpoint.cs                          |   0
 .../RouteHandler.cs                           |   0
 .../RouteOptions.cs                           |   0
 .../RouteValueEqualityComparer.cs             |   0
 .../RouteValuesAddress.cs                     |   0
 .../RouteValuesAddressMetadata.cs             |   0
 .../RouteValuesAddressScheme.cs               |   0
 .../RouterMiddleware.cs                       |   0
 .../RoutingFeature.cs                         |   0
 .../SuppressLinkGenerationMetadata.cs         |   0
 .../SuppressMatchingMetadata.cs               |   0
 .../Template/InlineConstraint.cs              |   0
 .../Template/RoutePrecedence.cs               |   0
 .../Template/RouteTemplate.cs                 |   0
 .../Template/TemplateBinder.cs                |   0
 .../Template/TemplateMatcher.cs               |   0
 .../Template/TemplateParser.cs                |   0
 .../Template/TemplatePart.cs                  |   0
 .../Template/TemplateSegment.cs               |   0
 .../Template/TemplateValuesResult.cs          |   0
 .../Tree/InboundMatch.cs                      |   0
 .../Tree/InboundRouteEntry.cs                 |   0
 .../Tree/OutboundMatch.cs                     |   0
 .../Tree/OutboundRouteEntry.cs                |   0
 .../Tree/TreeEnumerator.cs                    |   0
 .../Tree/TreeRouteBuilder.cs                  |   0
 .../Tree/TreeRouter.cs                        |   0
 .../Tree/UrlMatchingNode.cs                   |   0
 .../Tree/UrlMatchingTree.cs                   |   0
 .../baseline.netcore.json                     |   0
 .../Routing/test}/Directory.Build.props       |   0
 .../EndpointMetadataCollectionTests.cs        |   0
 ...Core.Mvc.Routing.Abstractions.Tests.csproj |   0
 .../RouteDataTest.cs                          |   0
 .../RouteValueDictionaryTests.cs              |   0
 .../VirtualPathDataTests.cs                   |   0
 .../DecisionTreeBuilderTest.cs                |   0
 ....Routing.DecisionTree.Sources.Tests.csproj |   0
 .../EndpointRoutingBenchmarkTest.cs           |   0
 .../Benchmarks/RouterBenchmarkTest.cs         |   0
 .../EndpointRoutingSampleTest.cs              |   0
 ....AspNetCore.Routing.FunctionalTests.csproj |   0
 .../RouterSampleTest.cs                       |   0
 .../RoutingTestFixture.cs                     |   0
 .../WebHostBuilderExtensionsTest.cs           |   0
 .../EndpointRoutingBuilderExtensionsTest.cs   |   0
 .../Builder/RoutingBuilderExtensionsTest.cs   |   0
 .../CompositeEndpointDataSourceTest.cs        |   0
 .../ConstraintMatcherTest.cs                  |   0
 .../Constraints/AlphaRouteConstraintTests.cs  |   0
 .../Constraints/BoolRouteConstraintTests.cs   |   0
 .../CompositeRouteConstraintTests.cs          |   0
 .../Constraints/ConstraintsTestHelper.cs      |   0
 .../DateTimeRouteConstraintTests.cs           |   0
 .../DecimalRouteConstraintTests.cs            |   0
 .../Constraints/DoubleRouteConstraintTests.cs |   0
 .../Constraints/FloatRouteConstraintTests.cs  |   0
 .../Constraints/GuidRouteConstraintTests.cs   |   0
 .../HttpMethodRouteConstraintTests.cs         |   0
 .../Constraints/IntRouteConstraintsTests.cs   |   0
 .../Constraints/LengthRouteConstraintTests.cs |   0
 .../Constraints/LongRouteConstraintTests.cs   |   0
 .../MaxLengthRouteConstraintTests.cs          |   0
 .../Constraints/MaxRouteConstraintTests.cs    |   0
 .../MinLengthRouteConstraintTests.cs          |   0
 .../Constraints/MinRouteConstraintTests.cs    |   0
 .../Constraints/RangeRouteConstraintTests.cs  |   0
 .../RegexInlineRouteConstraintTests.cs        |   0
 .../Constraints/RegexRouteConstraintTests.cs  |   0
 .../RequiredRouteConstraintTests.cs           |   0
 .../Constraints/StringRouteConstraintTest.cs  |   0
 .../DataSourceDependentCacheTest.cs           |   0
 .../DefaultEndpointDataSourceTests.cs         |   0
 .../DefaultInlineConstraintResolverTest.cs    |   0
 ...DefaultLinkGeneratorProcessTemplateTest.cs |   0
 .../DefaultLinkGeneratorTest.cs               |   0
 .../DefaultParameterPolicyFactoryTest.cs      |   0
 .../EndpointFactory.cs                        |   0
 .../EndpointMiddlewareTest.cs                 |   0
 .../EndpointNameAddressSchemeTest.cs          |   0
 .../EndpointRoutingMiddlewareTest.cs          |   0
 .../EndpointSelectorContextTest.cs            |   0
 .../InlineRouteParameterParserTests.cs        |   0
 .../Internal/DfaGraphWriterTest.cs            |   0
 .../LinkGenerationDecisionTreeTest.cs         |   0
 .../Internal/PathTokenizerTest.cs             |   0
 .../Internal/UriBuildingContextTest.cs        |   0
 ...LinkGeneratorEndpointNameExtensionsTest.cs |   0
 ...neratorRouteValuesAddressExtensionsTest.cs |   0
 .../LinkGeneratorTestBase.cs                  |   0
 .../Logging/WriteContext.cs                   |   0
 .../Matching/AsciiTest.cs                     |   0
 .../Matching/BarebonesMatcher.cs              |   0
 .../Matching/BarebonesMatcherBuilder.cs       |   0
 .../BarebonesMatcherConformanceTest.cs        |   0
 .../Matching/CandidateSetTest.cs              |   0
 .../DataSourceDependentMatcherTest.cs         |   0
 .../Matching/DefaultEndpointSelectorTest.cs   |   0
 .../Matching/DfaMatcherBuilderTest.cs         |   0
 .../Matching/DfaMatcherConformanceTest.cs     |   0
 .../Matching/DfaMatcherTest.cs                |   0
 .../Matching/DictionaryJumpTableTest.cs       |   0
 .../Matching/EndpointMetadataComparerTest.cs  |   0
 .../Matching/FastPathTokenizerTest.cs         |   0
 .../FullFeaturedMatcherConformanceTest.cs     |   0
 .../HttpMethodMatcherPolicyIntegrationTest.cs |   0
 .../Matching/HttpMethodMatcherPolicyTest.cs   |   0
 .../Matching/ILEmitTrieFactoryTest.cs         |   0
 .../Matching/ILEmitTrieJumpTableTest.cs       |   0
 .../Matching/LinearSearchJumpTableTest.cs     |   0
 .../Matching/MatcherAssert.cs                 |   0
 ...MatcherConformanceTest.MultipleEndpoint.cs |   0
 .../MatcherConformanceTest.SingleEndpoint.cs  |   0
 .../Matching/MatcherConformanceTest.cs        |   0
 .../Matching/MultipleEntryJumpTableTest.cs    |   0
 .../NonVectorizedILEmitTrieJumpTableTest.cs   |   0
 .../Matching/RouteEndpointComparerTest.cs     |   0
 .../Matching/RouteMatcher.cs                  |   0
 .../Matching/RouteMatcherBuilder.cs           |   0
 .../Matching/RouteMatcherConformanceTest.cs   |   0
 .../Matching/SingleEntryAsciiJumpTableTest.cs |   0
 .../Matching/SingleEntryJumpTableTest.cs      |   0
 .../Matching/SingleEntryJumpTableTestBase.cs  |   0
 .../Matching/TreeRouterMatcher.cs             |   0
 .../Matching/TreeRouterMatcherBuilder.cs      |   0
 .../TreeRouterMatcherConformanceTest.cs       |   0
 .../VectorizedILEmitTrieJumpTableTest.cs      |   0
 .../Matching/ZeroEntryJumpTableTest.cs        |   0
 .../Microsoft.AspNetCore.Routing.Tests.csproj |   0
 .../InlineRouteParameterParserTest.cs         |   0
 .../Patterns/RoutePatternFactoryTest.cs       |   0
 .../Patterns/RoutePatternMatcherTest.cs       |   0
 .../Patterns/RoutePatternParserTest.cs        |   0
 ...questDelegateRouteBuilderExtensionsTest.cs |   0
 .../RouteBuilderTest.cs                       |   0
 .../RouteCollectionTest.cs                    |   0
 .../RouteConstraintBuilderTest.cs             |   0
 .../RouteOptionsTests.cs                      |   0
 .../RouteTest.cs                              |   0
 .../RouteValueEqualityComparerTest.cs         |   0
 .../RouteValuesAddressMetadataTests.cs        |   0
 .../RouteValuesAddressSchemeTest.cs           |   0
 .../RouterMiddlewareTest.cs                   |   0
 .../Template/RoutePrecedenceTests.cs          |   0
 .../Template/TemplateBinderTests.cs           |   0
 .../Template/TemplateMatcherTests.cs          |   0
 .../Template/TemplateParserTests.cs           |   0
 .../Template/TemplateSegmentTest.cs           |   0
 .../TemplateParserDefaultValuesTests.cs       |   0
 .../TestConstants.cs                          |   0
 .../TestObjects/CapturingConstraint.cs        |   0
 .../TestObjects/DynamicEndpointDataSource.cs  |   0
 .../SlugifyParameterTransformer.cs            |   0
 .../TestObjects/TestMatcher.cs                |   0
 .../TestObjects/TestMatcherFactory.cs         |   0
 .../TestObjects/TestServiceProvider.cs        |   0
 .../Tree/TreeRouteBuilderTest.cs              |   0
 .../Tree/TreeRouterTest.cs                    |   0
 .../test}/WebSites/Directory.Build.props      |   0
 .../EndsWithStringRouteConstraint.cs          |   0
 .../test}/WebSites/RoutingWebSite/Program.cs  |   0
 .../RoutingWebSite/RoutingWebSite.csproj      |   0
 .../UseEndpointRoutingStartup.cs              |   0
 .../RoutingWebSite/UseRouterStartup.cs        |   0
 .../Routing/tools}/Swaggatherer/Program.cs    |   0
 .../Routing/tools}/Swaggatherer/README.md     |   0
 .../Routing/tools}/Swaggatherer/RouteEntry.cs |   0
 .../tools}/Swaggatherer/Swaggatherer.csproj   |   0
 .../Swaggatherer/SwaggathererApplication.cs   |   0
 .../Routing/tools}/Swaggatherer/Template.cs   |   0
 version.props => src/Routing/version.props    |   0
 408 files changed, 819 deletions(-)
 delete mode 100644 .appveyor.yml
 delete mode 100644 .gitattributes
 delete mode 100644 .travis.yml
 delete mode 100644 .vsts-pipelines/builds/ci-internal.yml
 delete mode 100644 .vsts-pipelines/builds/ci-public.yml
 delete mode 100644 CONTRIBUTING.md
 delete mode 100644 LICENSE.txt
 delete mode 100644 NuGet.config
 delete mode 100644 build.cmd
 delete mode 100755 build.sh
 delete mode 100644 korebuild-lock.txt
 delete mode 100644 korebuild.json
 delete mode 100644 run.cmd
 delete mode 100644 run.ps1
 delete mode 100755 run.sh
 rename .gitignore => src/Routing/.gitignore (100%)
 rename Directory.Build.props => src/Routing/Directory.Build.props (100%)
 rename Directory.Build.targets => src/Routing/Directory.Build.targets (100%)
 rename NuGetPackageVerifier.json => src/Routing/NuGetPackageVerifier.json (100%)
 rename README.md => src/Routing/README.md (100%)
 rename Routing.sln => src/Routing/Routing.sln (100%)
 rename Settings.StyleCop => src/Routing/Settings.StyleCop (100%)
 rename THIRD-PARTY-NOTICES => src/Routing/THIRD-PARTY-NOTICES (100%)
 rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/Benchmarks.csproj (100%)
 rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/Program.cs (100%)
 rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/StartupUsingEndpointRouting.cs (100%)
 rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/StartupUsingRouter.cs (100%)
 rename {benchmarkapps => src/Routing/benchmarkapps}/Benchmarks/benchmarks.json (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs (100%)
 rename {benchmarks => src/Routing/benchmarks}/Microsoft.AspNetCore.Routing.Performance/readme.md (100%)
 rename {build => src/Routing/build}/Key.snk (100%)
 rename {build => src/Routing/build}/dependencies.props (100%)
 rename {build => src/Routing/build}/repo.props (100%)
 rename {build => src/Routing/build}/sources.props (100%)
 rename {samples => src/Routing/samples}/RoutingSandbox/Program.cs (100%)
 rename {samples => src/Routing/samples}/RoutingSandbox/RoutingSandbox.csproj (100%)
 rename {samples => src/Routing/samples}/RoutingSandbox/UseEndpointRoutingStartup.cs (100%)
 rename {samples => src/Routing/samples}/RoutingSandbox/UseRouterStartup.cs (100%)
 rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/full.render.js (100%)
 rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/graph-ui.html (100%)
 rename {samples => src/Routing/samples}/RoutingSandbox/wwwroot/viz.js (100%)
 rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs (100%)
 rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs (100%)
 rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs (100%)
 rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs (100%)
 rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs (100%)
 rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs (100%)
 rename {shared => src/Routing/shared}/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs (100%)
 rename src/{ => Routing/src}/Directory.Build.props (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointDataSource.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointOptions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/INamedRouter.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteBuilder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteCollection.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Ascii.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Candidate.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DfaState.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/Matcher.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Resources.resx (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Route.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteBase.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteBuilder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteCollection.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteCreationException.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteEndpoint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteHandler.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteOptions.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RouterMiddleware.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/RoutingFeature.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs (100%)
 rename src/{ => Routing/src}/Microsoft.AspNetCore.Routing/baseline.netcore.json (100%)
 rename {test => src/Routing/test}/Directory.Build.props (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs (100%)
 rename {test => src/Routing/test}/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs (100%)
 rename {test => src/Routing/test}/WebSites/Directory.Build.props (100%)
 rename {test => src/Routing/test}/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs (100%)
 rename {test => src/Routing/test}/WebSites/RoutingWebSite/Program.cs (100%)
 rename {test => src/Routing/test}/WebSites/RoutingWebSite/RoutingWebSite.csproj (100%)
 rename {test => src/Routing/test}/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs (100%)
 rename {test => src/Routing/test}/WebSites/RoutingWebSite/UseRouterStartup.cs (100%)
 rename {tools => src/Routing/tools}/Swaggatherer/Program.cs (100%)
 rename {tools => src/Routing/tools}/Swaggatherer/README.md (100%)
 rename {tools => src/Routing/tools}/Swaggatherer/RouteEntry.cs (100%)
 rename {tools => src/Routing/tools}/Swaggatherer/Swaggatherer.csproj (100%)
 rename {tools => src/Routing/tools}/Swaggatherer/SwaggathererApplication.cs (100%)
 rename {tools => src/Routing/tools}/Swaggatherer/Template.cs (100%)
 rename version.props => src/Routing/version.props (100%)

diff --git a/.appveyor.yml b/.appveyor.yml
deleted file mode 100644
index 2262756c196..00000000000
--- a/.appveyor.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-init:
-- git config --global core.autocrlf true
-branches:
-  only:
-  - master
-  - /^release\/.*$/
-  - /^(.*\/)?ci-.*$/
-build_script:
-- ps: .\run.ps1 default-build
-clone_depth: 1
-environment:
-  global:
-    DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
-    DOTNET_CLI_TELEMETRY_OPTOUT: 1
-test: 'off'
-deploy: 'off'
-image: Visual Studio 2017
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index d4ee1cb7f39..00000000000
--- a/.gitattributes
+++ /dev/null
@@ -1,52 +0,0 @@
-*.doc  diff=astextplain
-*.DOC	diff=astextplain
-*.docx	diff=astextplain
-*.DOCX	diff=astextplain
-*.dot	diff=astextplain
-*.DOT	diff=astextplain
-*.pdf	diff=astextplain
-*.PDF	diff=astextplain
-*.rtf	diff=astextplain
-*.RTF	diff=astextplain
-
-*.jpg  	binary
-*.png 	binary
-*.gif 	binary
-
-*.cs text=auto diff=csharp 
-*.vb text=auto
-*.resx text=auto
-*.c text=auto
-*.cpp text=auto
-*.cxx text=auto
-*.h text=auto
-*.hxx text=auto
-*.py text=auto
-*.rb text=auto
-*.java text=auto
-*.html text=auto
-*.htm text=auto
-*.css text=auto
-*.scss text=auto
-*.sass text=auto
-*.less text=auto
-*.js text=auto
-*.lisp text=auto
-*.clj text=auto
-*.sql text=auto
-*.php text=auto
-*.lua text=auto
-*.m text=auto
-*.asm text=auto
-*.erl text=auto
-*.fs text=auto
-*.fsx text=auto
-*.hs text=auto
-
-*.csproj text=auto
-*.vbproj text=auto
-*.fsproj text=auto
-*.dbproj text=auto
-*.sln text=auto eol=crlf
-
-*.sh eol=lf
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index ab3980055c0..00000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-language: csharp
-sudo: false
-dist: trusty
-env:
-  global:
-  - DOTNET_SKIP_FIRST_TIME_EXPERIENCE: true
-  - DOTNET_CLI_TELEMETRY_OPTOUT: 1
-mono: none
-os:
-- linux
-- osx
-osx_image: xcode8.2
-addons:
-  apt:
-    packages:
-    - libunwind8
-branches:
-  only:
-  - master
-  - /^release\/.*$/
-  - /^(.*\/)?ci-.*$/
-before_install:
-- if test "$TRAVIS_OS_NAME" == "osx"; then brew update; brew install openssl; ln -s
-  /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib /usr/local/lib/; ln -s /usr/local/opt/openssl/lib/libssl.1.0.0.dylib
-  /usr/local/lib/; fi
-script:
-- ./build.sh
diff --git a/.vsts-pipelines/builds/ci-internal.yml b/.vsts-pipelines/builds/ci-internal.yml
deleted file mode 100644
index dc7b8a3cb92..00000000000
--- a/.vsts-pipelines/builds/ci-internal.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-trigger:
-- master
-- release/*
-
-resources:
-  repositories:
-  - repository: buildtools
-    type: git
-    name: aspnet-BuildTools
-    ref: refs/heads/release/2.2
-
-phases:
-- template: .vsts-pipelines/templates/project-ci.yml@buildtools
diff --git a/.vsts-pipelines/builds/ci-public.yml b/.vsts-pipelines/builds/ci-public.yml
deleted file mode 100644
index f5087d9c309..00000000000
--- a/.vsts-pipelines/builds/ci-public.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-trigger:
-- master
-- release/*
-
-# See https://github.com/aspnet/BuildTools
-resources:
-  repositories:
-  - repository: buildtools
-    type: github
-    endpoint: DotNet-Bot GitHub Connection
-    name: aspnet/BuildTools
-    ref: refs/heads/release/2.2
-
-phases:
-- template: .vsts-pipelines/templates/project-ci.yml@buildtools
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index eac4268e4c9..00000000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,4 +0,0 @@
-Contributing
-======
-
-Information on contributing to this repo is in the [Contributing Guide](https://github.com/aspnet/Home/blob/master/CONTRIBUTING.md) in the Home repo.
diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index b3b180cd51e..00000000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,201 +0,0 @@
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright (c) .NET Foundation and Contributors
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.
diff --git a/NuGet.config b/NuGet.config
deleted file mode 100644
index e32bddfd514..00000000000
--- a/NuGet.config
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<configuration>
-  <packageSources>
-    <clear />
-    <!-- Restore sources should be defined in build/sources.props. -->
-  </packageSources>
-</configuration>
diff --git a/build.cmd b/build.cmd
deleted file mode 100644
index c0050bda125..00000000000
--- a/build.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' default-build %*; exit $LASTEXITCODE"
diff --git a/build.sh b/build.sh
deleted file mode 100755
index 98a4b227658..00000000000
--- a/build.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-# Call "sync" between "chmod" and execution to prevent "text file busy" error in Docker (aufs)
-chmod +x "$DIR/run.sh"; sync
-"$DIR/run.sh" default-build "$@"
diff --git a/korebuild-lock.txt b/korebuild-lock.txt
deleted file mode 100644
index 86b4302b5de..00000000000
--- a/korebuild-lock.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-version:2.2.0-preview2-20181011.10
-commithash:224e1163a1145b60f324e0b432419ef4ba4880cc
diff --git a/korebuild.json b/korebuild.json
deleted file mode 100644
index d217d06e3e4..00000000000
--- a/korebuild.json
+++ /dev/null
@@ -1,4 +0,0 @@
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/release/2.2/tools/korebuild.schema.json",
-  "channel": "release/2.2"
-}
diff --git a/run.cmd b/run.cmd
deleted file mode 100644
index d52d5c7e689..00000000000
--- a/run.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@ECHO OFF
-PowerShell -NoProfile -NoLogo -ExecutionPolicy unrestricted -Command "[System.Threading.Thread]::CurrentThread.CurrentCulture = ''; [System.Threading.Thread]::CurrentThread.CurrentUICulture = '';& '%~dp0run.ps1' %*; exit $LASTEXITCODE"
diff --git a/run.ps1 b/run.ps1
deleted file mode 100644
index 34604c71758..00000000000
--- a/run.ps1
+++ /dev/null
@@ -1,209 +0,0 @@
-#!/usr/bin/env powershell
-#requires -version 4
-
-<#
-.SYNOPSIS
-Executes KoreBuild commands.
-
-.DESCRIPTION
-Downloads korebuild if required. Then executes the KoreBuild command. To see available commands, execute with `-Command help`.
-
-.PARAMETER Command
-The KoreBuild command to run.
-
-.PARAMETER Path
-The folder to build. Defaults to the folder containing this script.
-
-.PARAMETER Channel
-The channel of KoreBuild to download. Overrides the value from the config file.
-
-.PARAMETER DotNetHome
-The directory where .NET Core tools will be stored.
-
-.PARAMETER ToolsSource
-The base url where build tools can be downloaded. Overrides the value from the config file.
-
-.PARAMETER Update
-Updates KoreBuild to the latest version even if a lock file is present.
-
-.PARAMETER Reinstall
-Re-installs KoreBuild
-
-.PARAMETER ConfigFile
-The path to the configuration file that stores values. Defaults to korebuild.json.
-
-.PARAMETER ToolsSourceSuffix
-The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
-
-.PARAMETER CI
-Sets up CI specific settings and variables.
-
-.PARAMETER Arguments
-Arguments to be passed to the command
-
-.NOTES
-This function will create a file $PSScriptRoot/korebuild-lock.txt. This lock file can be committed to source, but does not have to be.
-When the lockfile is not present, KoreBuild will create one using latest available version from $Channel.
-
-The $ConfigFile is expected to be an JSON file. It is optional, and the configuration values in it are optional as well. Any options set
-in the file are overridden by command line parameters.
-
-.EXAMPLE
-Example config file:
-```json
-{
-  "$schema": "https://raw.githubusercontent.com/aspnet/BuildTools/master/tools/korebuild.schema.json",
-  "channel": "master",
-  "toolsSource": "https://aspnetcore.blob.core.windows.net/buildtools"
-}
-```
-#>
-[CmdletBinding(PositionalBinding = $false)]
-param(
-    [Parameter(Mandatory = $true, Position = 0)]
-    [string]$Command,
-    [string]$Path = $PSScriptRoot,
-    [Alias('c')]
-    [string]$Channel,
-    [Alias('d')]
-    [string]$DotNetHome,
-    [Alias('s')]
-    [string]$ToolsSource,
-    [Alias('u')]
-    [switch]$Update,
-    [switch]$Reinstall,
-    [string]$ToolsSourceSuffix,
-    [string]$ConfigFile = $null,
-    [switch]$CI,
-    [Parameter(ValueFromRemainingArguments = $true)]
-    [string[]]$Arguments
-)
-
-Set-StrictMode -Version 2
-$ErrorActionPreference = 'Stop'
-
-#
-# Functions
-#
-
-function Get-KoreBuild {
-
-    $lockFile = Join-Path $Path 'korebuild-lock.txt'
-
-    if (!(Test-Path $lockFile) -or $Update) {
-        Get-RemoteFile "$ToolsSource/korebuild/channels/$Channel/latest.txt" $lockFile $ToolsSourceSuffix
-    }
-
-    $version = Get-Content $lockFile | Where-Object { $_ -like 'version:*' } | Select-Object -first 1
-    if (!$version) {
-        Write-Error "Failed to parse version from $lockFile. Expected a line that begins with 'version:'"
-    }
-    $version = $version.TrimStart('version:').Trim()
-    $korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
-
-    if ($Reinstall -and (Test-Path $korebuildPath)) {
-        Remove-Item -Force -Recurse $korebuildPath
-    }
-
-    if (!(Test-Path $korebuildPath)) {
-        Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
-        New-Item -ItemType Directory -Path $korebuildPath | Out-Null
-        $remotePath = "$ToolsSource/korebuild/artifacts/$version/korebuild.$version.zip"
-
-        try {
-            $tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip"
-            Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix
-            if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) {
-                # Use built-in commands where possible as they are cross-plat compatible
-                Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
-            }
-            else {
-                # Fallback to old approach for old installations of PowerShell
-                Add-Type -AssemblyName System.IO.Compression.FileSystem
-                [System.IO.Compression.ZipFile]::ExtractToDirectory($tmpfile, $korebuildPath)
-            }
-        }
-        catch {
-            Remove-Item -Recurse -Force $korebuildPath -ErrorAction Ignore
-            throw
-        }
-        finally {
-            Remove-Item $tmpfile -ErrorAction Ignore
-        }
-    }
-
-    return $korebuildPath
-}
-
-function Join-Paths([string]$path, [string[]]$childPaths) {
-    $childPaths | ForEach-Object { $path = Join-Path $path $_ }
-    return $path
-}
-
-function Get-RemoteFile([string]$RemotePath, [string]$LocalPath, [string]$RemoteSuffix) {
-    if ($RemotePath -notlike 'http*') {
-        Copy-Item $RemotePath $LocalPath
-        return
-    }
-
-    $retries = 10
-    while ($retries -gt 0) {
-        $retries -= 1
-        try {
-            Invoke-WebRequest -UseBasicParsing -Uri $($RemotePath + $RemoteSuffix) -OutFile $LocalPath
-            return
-        }
-        catch {
-            Write-Verbose "Request failed. $retries retries remaining"
-        }
-    }
-
-    Write-Error "Download failed: '$RemotePath'."
-}
-
-#
-# Main
-#
-
-# Load configuration or set defaults
-
-$Path = Resolve-Path $Path
-if (!$ConfigFile) { $ConfigFile = Join-Path $Path 'korebuild.json' }
-
-if (Test-Path $ConfigFile) {
-    try {
-        $config = Get-Content -Raw -Encoding UTF8 -Path $ConfigFile | ConvertFrom-Json
-        if ($config) {
-            if (!($Channel) -and (Get-Member -Name 'channel' -InputObject $config)) { [string] $Channel = $config.channel }
-            if (!($ToolsSource) -and (Get-Member -Name 'toolsSource' -InputObject $config)) { [string] $ToolsSource = $config.toolsSource}
-        }
-    }
-    catch {
-        Write-Host -ForegroundColor Red $Error[0]
-        Write-Error "$ConfigFile contains invalid JSON."
-        exit 1
-    }
-}
-
-if (!$DotNetHome) {
-    $DotNetHome = if ($env:DOTNET_HOME) { $env:DOTNET_HOME } `
-        elseif ($env:USERPROFILE) { Join-Path $env:USERPROFILE '.dotnet'} `
-        elseif ($env:HOME) {Join-Path $env:HOME '.dotnet'}`
-        else { Join-Path $PSScriptRoot '.dotnet'}
-}
-
-if (!$Channel) { $Channel = 'master' }
-if (!$ToolsSource) { $ToolsSource = 'https://aspnetcore.blob.core.windows.net/buildtools' }
-
-# Execute
-
-$korebuildPath = Get-KoreBuild
-Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
-
-try {
-    Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI
-    Invoke-KoreBuildCommand $Command @Arguments
-}
-finally {
-    Remove-Module 'KoreBuild' -ErrorAction Ignore
-}
diff --git a/run.sh b/run.sh
deleted file mode 100755
index 4c1fed5646c..00000000000
--- a/run.sh
+++ /dev/null
@@ -1,256 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-#
-# variables
-#
-
-RESET="\033[0m"
-RED="\033[0;31m"
-YELLOW="\033[0;33m"
-MAGENTA="\033[0;95m"
-DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-[ -z "${DOTNET_HOME:-}" ] && DOTNET_HOME="$HOME/.dotnet"
-verbose=false
-update=false
-reinstall=false
-repo_path="$DIR"
-channel=''
-tools_source=''
-tools_source_suffix=''
-ci=false
-
-#
-# Functions
-#
-__usage() {
-    echo "Usage: $(basename "${BASH_SOURCE[0]}") command [options] [[--] <Arguments>...]"
-    echo ""
-    echo "Arguments:"
-    echo "    command                The command to be run."
-    echo "    <Arguments>...         Arguments passed to the command. Variable number of arguments allowed."
-    echo ""
-    echo "Options:"
-    echo "    --verbose                                             Show verbose output."
-    echo "    -c|--channel <CHANNEL>                                The channel of KoreBuild to download. Overrides the value from the config file.."
-    echo "    --config-file <FILE>                                  The path to the configuration file that stores values. Defaults to korebuild.json."
-    echo "    -d|--dotnet-home <DIR>                                The directory where .NET Core tools will be stored. Defaults to '\$DOTNET_HOME' or '\$HOME/.dotnet."
-    echo "    --path <PATH>                                         The directory to build. Defaults to the directory containing the script."
-    echo "    -s|--tools-source|-ToolsSource <URL>                  The base url where build tools can be downloaded. Overrides the value from the config file."
-    echo "    --tools-source-suffix|-ToolsSourceSuffix <SUFFIX>     The suffix to append to tools-source. Useful for query strings."
-    echo "    -u|--update                                           Update to the latest KoreBuild even if the lock file is present."
-    echo "    --reinstall                                           Reinstall KoreBuild."
-    echo "    --ci                                                  Apply CI specific settings and environment variables."
-    echo ""
-    echo "Description:"
-    echo "    This function will create a file \$DIR/korebuild-lock.txt. This lock file can be committed to source, but does not have to be."
-    echo "    When the lockfile is not present, KoreBuild will create one using latest available version from \$channel."
-
-    if [[ "${1:-}" != '--no-exit' ]]; then
-        exit 2
-    fi
-}
-
-get_korebuild() {
-    local version
-    local lock_file="$repo_path/korebuild-lock.txt"
-    if [ ! -f "$lock_file" ] || [ "$update" = true ]; then
-        __get_remote_file "$tools_source/korebuild/channels/$channel/latest.txt" "$lock_file" "$tools_source_suffix"
-    fi
-    version="$(grep 'version:*' -m 1 "$lock_file")"
-    if [[ "$version" == '' ]]; then
-        __error "Failed to parse version from $lock_file. Expected a line that begins with 'version:'"
-        return 1
-    fi
-    version="$(echo "${version#version:}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
-    local korebuild_path="$DOTNET_HOME/buildtools/korebuild/$version"
-
-    if [ "$reinstall" = true ] && [ -d "$korebuild_path" ]; then
-        rm -rf "$korebuild_path"
-    fi
-
-    {
-        if [ ! -d "$korebuild_path" ]; then
-            mkdir -p "$korebuild_path"
-            local remote_path="$tools_source/korebuild/artifacts/$version/korebuild.$version.zip"
-            tmpfile="$(mktemp)"
-            echo -e "${MAGENTA}Downloading KoreBuild ${version}${RESET}"
-            if __get_remote_file "$remote_path" "$tmpfile" "$tools_source_suffix"; then
-                unzip -q -d "$korebuild_path" "$tmpfile"
-            fi
-            rm "$tmpfile" || true
-        fi
-
-        source "$korebuild_path/KoreBuild.sh"
-    } || {
-        if [ -d "$korebuild_path" ]; then
-            echo "Cleaning up after failed installation"
-            rm -rf "$korebuild_path" || true
-        fi
-        return 1
-    }
-}
-
-__error() {
-    echo -e "${RED}error: $*${RESET}" 1>&2
-}
-
-__warn() {
-    echo -e "${YELLOW}warning: $*${RESET}"
-}
-
-__machine_has() {
-    hash "$1" > /dev/null 2>&1
-    return $?
-}
-
-__get_remote_file() {
-    local remote_path=$1
-    local local_path=$2
-    local remote_path_suffix=$3
-
-    if [[ "$remote_path" != 'http'* ]]; then
-        cp "$remote_path" "$local_path"
-        return 0
-    fi
-
-    local failed=false
-    if __machine_has wget; then
-        wget --tries 10 --quiet -O "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    else
-        failed=true
-    fi
-
-    if [ "$failed" = true ] && __machine_has curl; then
-        failed=false
-        curl --retry 10 -sSL -f --create-dirs -o "$local_path" "${remote_path}${remote_path_suffix}" || failed=true
-    fi
-
-    if [ "$failed" = true ]; then
-        __error "Download failed: $remote_path" 1>&2
-        return 1
-    fi
-}
-
-#
-# main
-#
-
-command="${1:-}"
-shift
-
-while [[ $# -gt 0 ]]; do
-    case $1 in
-        -\?|-h|--help)
-            __usage --no-exit
-            exit 0
-            ;;
-        -c|--channel|-Channel)
-            shift
-            channel="${1:-}"
-            [ -z "$channel" ] && __usage
-            ;;
-        --config-file|-ConfigFile)
-            shift
-            config_file="${1:-}"
-            [ -z "$config_file" ] && __usage
-            if [ ! -f "$config_file" ]; then
-                __error "Invalid value for --config-file. $config_file does not exist."
-                exit 1
-            fi
-            ;;
-        -d|--dotnet-home|-DotNetHome)
-            shift
-            DOTNET_HOME="${1:-}"
-            [ -z "$DOTNET_HOME" ] && __usage
-            ;;
-        --path|-Path)
-            shift
-            repo_path="${1:-}"
-            [ -z "$repo_path" ] && __usage
-            ;;
-        -s|--tools-source|-ToolsSource)
-            shift
-            tools_source="${1:-}"
-            [ -z "$tools_source" ] && __usage
-            ;;
-        --tools-source-suffix|-ToolsSourceSuffix)
-            shift
-            tools_source_suffix="${1:-}"
-            [ -z "$tools_source_suffix" ] && __usage
-            ;;
-        -u|--update|-Update)
-            update=true
-            ;;
-        --reinstall|-[Rr]einstall)
-            reinstall=true
-            ;;
-        --ci|-[Cc][Ii])
-            ci=true
-            ;;
-        --verbose|-Verbose)
-            verbose=true
-            ;;
-        --)
-            shift
-            break
-            ;;
-        *)
-            break
-            ;;
-    esac
-    shift
-done
-
-if ! __machine_has unzip; then
-    __error 'Missing required command: unzip'
-    exit 1
-fi
-
-if ! __machine_has curl && ! __machine_has wget; then
-    __error 'Missing required command. Either wget or curl is required.'
-    exit 1
-fi
-
-[ -z "${config_file:-}" ] && config_file="$repo_path/korebuild.json"
-if [ -f "$config_file" ]; then
-    if __machine_has jq ; then
-        if jq '.' "$config_file" >/dev/null ; then
-            config_channel="$(jq -r 'select(.channel!=null) | .channel' "$config_file")"
-            config_tools_source="$(jq -r 'select(.toolsSource!=null) | .toolsSource' "$config_file")"
-        else
-            __error "$config_file contains invalid JSON."
-            exit 1
-        fi
-    elif __machine_has python ; then
-        if python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
-            config_channel="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
-            config_tools_source="$(python -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
-        else
-            __error "$config_file contains invalid JSON."
-            exit 1
-        fi
-    elif __machine_has python3 ; then
-        if python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'))" >/dev/null ; then
-            config_channel="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['channel'] if 'channel' in obj else '')")"
-            config_tools_source="$(python3 -c "import json,codecs;obj=json.load(codecs.open('$config_file', 'r', 'utf-8-sig'));print(obj['toolsSource'] if 'toolsSource' in obj else '')")"
-        else
-            __error "$config_file contains invalid JSON."
-            exit 1
-        fi
-    else
-        __error 'Missing required command: jq or python. Could not parse the JSON file.'
-        exit 1
-    fi
-
-    [ ! -z "${config_channel:-}" ] && channel="$config_channel"
-    [ ! -z "${config_tools_source:-}" ] && tools_source="$config_tools_source"
-fi
-
-[ -z "$channel" ] && channel='master'
-[ -z "$tools_source" ] && tools_source='https://aspnetcore.blob.core.windows.net/buildtools'
-
-get_korebuild
-set_korebuildsettings "$tools_source" "$DOTNET_HOME" "$repo_path" "$config_file" "$ci"
-invoke_korebuild_command "$command" "$@"
diff --git a/.gitignore b/src/Routing/.gitignore
similarity index 100%
rename from .gitignore
rename to src/Routing/.gitignore
diff --git a/Directory.Build.props b/src/Routing/Directory.Build.props
similarity index 100%
rename from Directory.Build.props
rename to src/Routing/Directory.Build.props
diff --git a/Directory.Build.targets b/src/Routing/Directory.Build.targets
similarity index 100%
rename from Directory.Build.targets
rename to src/Routing/Directory.Build.targets
diff --git a/NuGetPackageVerifier.json b/src/Routing/NuGetPackageVerifier.json
similarity index 100%
rename from NuGetPackageVerifier.json
rename to src/Routing/NuGetPackageVerifier.json
diff --git a/README.md b/src/Routing/README.md
similarity index 100%
rename from README.md
rename to src/Routing/README.md
diff --git a/Routing.sln b/src/Routing/Routing.sln
similarity index 100%
rename from Routing.sln
rename to src/Routing/Routing.sln
diff --git a/Settings.StyleCop b/src/Routing/Settings.StyleCop
similarity index 100%
rename from Settings.StyleCop
rename to src/Routing/Settings.StyleCop
diff --git a/THIRD-PARTY-NOTICES b/src/Routing/THIRD-PARTY-NOTICES
similarity index 100%
rename from THIRD-PARTY-NOTICES
rename to src/Routing/THIRD-PARTY-NOTICES
diff --git a/benchmarkapps/Benchmarks/Benchmarks.csproj b/src/Routing/benchmarkapps/Benchmarks/Benchmarks.csproj
similarity index 100%
rename from benchmarkapps/Benchmarks/Benchmarks.csproj
rename to src/Routing/benchmarkapps/Benchmarks/Benchmarks.csproj
diff --git a/benchmarkapps/Benchmarks/Program.cs b/src/Routing/benchmarkapps/Benchmarks/Program.cs
similarity index 100%
rename from benchmarkapps/Benchmarks/Program.cs
rename to src/Routing/benchmarkapps/Benchmarks/Program.cs
diff --git a/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs b/src/Routing/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs
similarity index 100%
rename from benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs
rename to src/Routing/benchmarkapps/Benchmarks/StartupUsingEndpointRouting.cs
diff --git a/benchmarkapps/Benchmarks/StartupUsingRouter.cs b/src/Routing/benchmarkapps/Benchmarks/StartupUsingRouter.cs
similarity index 100%
rename from benchmarkapps/Benchmarks/StartupUsingRouter.cs
rename to src/Routing/benchmarkapps/Benchmarks/StartupUsingRouter.cs
diff --git a/benchmarkapps/Benchmarks/benchmarks.json b/src/Routing/benchmarkapps/Benchmarks/benchmarks.json
similarity index 100%
rename from benchmarkapps/Benchmarks/benchmarks.json
rename to src/Routing/benchmarkapps/Benchmarks/benchmarks.json
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointMetadataCollectionBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/EndpointRoutingBenchmarkBase.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/LinkGenerationGithubBenchmark.generated.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteRouteValuesAddressSchemeBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithConstraintsBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithNoParametersBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/LinkGeneration/SingleRouteWithParametersBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerBenchmarkBase.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerEmptyBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerLargeBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerPlaintextBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/FastPathTokenizerSmallBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableMultipleEntryBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableSingleEntryBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/JumpTableZeroEntryBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherAzureBenchmarkBase.generated.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderAzureBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderGithubBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherBuilderMultipleEntryBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherGithubBenchmarkBase.generated.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/MatcherSingleEntryBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/RouteEndpointAzureBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcher.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Matching/TrivialMatcherBuilder.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Microsoft.AspNetCore.Routing.Performance.csproj
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/Properties/AssemblyInfo.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/RouteValueDictionaryBenchmark.cs
diff --git a/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md b/src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md
similarity index 100%
rename from benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md
rename to src/Routing/benchmarks/Microsoft.AspNetCore.Routing.Performance/readme.md
diff --git a/build/Key.snk b/src/Routing/build/Key.snk
similarity index 100%
rename from build/Key.snk
rename to src/Routing/build/Key.snk
diff --git a/build/dependencies.props b/src/Routing/build/dependencies.props
similarity index 100%
rename from build/dependencies.props
rename to src/Routing/build/dependencies.props
diff --git a/build/repo.props b/src/Routing/build/repo.props
similarity index 100%
rename from build/repo.props
rename to src/Routing/build/repo.props
diff --git a/build/sources.props b/src/Routing/build/sources.props
similarity index 100%
rename from build/sources.props
rename to src/Routing/build/sources.props
diff --git a/samples/RoutingSandbox/Program.cs b/src/Routing/samples/RoutingSandbox/Program.cs
similarity index 100%
rename from samples/RoutingSandbox/Program.cs
rename to src/Routing/samples/RoutingSandbox/Program.cs
diff --git a/samples/RoutingSandbox/RoutingSandbox.csproj b/src/Routing/samples/RoutingSandbox/RoutingSandbox.csproj
similarity index 100%
rename from samples/RoutingSandbox/RoutingSandbox.csproj
rename to src/Routing/samples/RoutingSandbox/RoutingSandbox.csproj
diff --git a/samples/RoutingSandbox/UseEndpointRoutingStartup.cs b/src/Routing/samples/RoutingSandbox/UseEndpointRoutingStartup.cs
similarity index 100%
rename from samples/RoutingSandbox/UseEndpointRoutingStartup.cs
rename to src/Routing/samples/RoutingSandbox/UseEndpointRoutingStartup.cs
diff --git a/samples/RoutingSandbox/UseRouterStartup.cs b/src/Routing/samples/RoutingSandbox/UseRouterStartup.cs
similarity index 100%
rename from samples/RoutingSandbox/UseRouterStartup.cs
rename to src/Routing/samples/RoutingSandbox/UseRouterStartup.cs
diff --git a/samples/RoutingSandbox/wwwroot/full.render.js b/src/Routing/samples/RoutingSandbox/wwwroot/full.render.js
similarity index 100%
rename from samples/RoutingSandbox/wwwroot/full.render.js
rename to src/Routing/samples/RoutingSandbox/wwwroot/full.render.js
diff --git a/samples/RoutingSandbox/wwwroot/graph-ui.html b/src/Routing/samples/RoutingSandbox/wwwroot/graph-ui.html
similarity index 100%
rename from samples/RoutingSandbox/wwwroot/graph-ui.html
rename to src/Routing/samples/RoutingSandbox/wwwroot/graph-ui.html
diff --git a/samples/RoutingSandbox/wwwroot/viz.js b/src/Routing/samples/RoutingSandbox/wwwroot/viz.js
similarity index 100%
rename from samples/RoutingSandbox/wwwroot/viz.js
rename to src/Routing/samples/RoutingSandbox/wwwroot/viz.js
diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs
similarity index 100%
rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs
rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterion.cs
diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs
similarity index 100%
rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs
rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValue.cs
diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs
similarity index 100%
rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs
rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionCriterionValueEqualityComparer.cs
diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs
similarity index 100%
rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs
rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeBuilder.cs
diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs
similarity index 100%
rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs
rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/DecisionTreeNode.cs
diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs
similarity index 100%
rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs
rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/IClassifier.cs
diff --git a/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs b/src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs
similarity index 100%
rename from shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs
rename to src/Routing/shared/Microsoft.AspNetCore.Routing.DecisionTree.Sources/ItemDescriptor.cs
diff --git a/src/Directory.Build.props b/src/Routing/src/Directory.Build.props
similarity index 100%
rename from src/Directory.Build.props
rename to src/Routing/src/Directory.Build.props
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Endpoint.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/EndpointMetadataCollection.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IEndpointFeature.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IOutboundParameterTransformer.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IParameterPolicy.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteHandler.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouteValuesFeature.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRouter.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/IRoutingFeature.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkGenerator.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/LinkOptions.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Microsoft.AspNetCore.Routing.Abstractions.csproj
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Properties/Resources.Designer.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/Resources.resx
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteContext.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteData.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteDirection.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RouteValueDictionary.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/RoutingHttpContextExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathContext.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/VirtualPathData.cs
diff --git a/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json b/src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json
rename to src/Routing/src/Microsoft.AspNetCore.Routing.Abstractions/baseline.netcore.json
diff --git a/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Builder/RoutingBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/CompositeEndpointDataSource.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/AlphaRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/BoolRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/CompositeRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DateTimeRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DecimalRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/DoubleRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/FloatRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/GuidRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/HttpMethodRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/IntRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LengthRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/LongRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxLengthRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MaxRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinLengthRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/MinRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/NullRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/OptionalRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RangeRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexInlineRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RegexRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/RequiredRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Constraints/StringRouteConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DataSourceDependentCache.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DataTokensMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultEndpointDataSource.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultInlineConstraintResolver.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultLinkGenerator.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DefaultParameterPolicyFactory.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/ConfigureEndpointOptions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/DependencyInjection/RoutingServiceCollectionExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointDataSource.cs
diff --git a/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameAddressScheme.cs
diff --git a/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointNameMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/EndpointOptions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointOptions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointRoutingMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/EndpointSelectorContext.cs
diff --git a/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/HttpMethodMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IDataTokenMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointAddressScheme.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IEndpointNameMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IHttpMethodMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IInlineConstraintResolver.cs
diff --git a/src/Microsoft.AspNetCore.Routing/INamedRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/INamedRouter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/INamedRouter.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/INamedRouter.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IRouteCollection.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteCollection.cs
diff --git a/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/IRouteValuesAddressMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressLinkGenerationMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/ISuppressMatchingMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/InlineRouteParameterParser.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/BufferValue.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/DfaGraphWriter.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/EndpointRoutingApplicationBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/LinkGenerationDecisionTree.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/NullRouter.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/OutboundMatchResult.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/ParameterPolicyActivator.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/PathTokenizer.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/RoutingMarkerService.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/SegmentState.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuilderContextPooledObjectPolicy.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Internal/UriBuildingContext.cs
diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorEndpointNameAddressExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/LinkGeneratorRouteValuesAddressExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouteConstraintMatcherExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/RouterMiddlewareLoggerExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Logging/TreeRouterLoggerExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/MapRouteRouteBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/AmbiguousMatchException.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Ascii.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Candidate.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateSet.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/CandidateState.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DataSourceDependentMatcher.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DefaultEndpointSelector.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcher.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaMatcherFactory.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaNode.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DfaState.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/DictionaryJumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointComparer.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointMetadataComparer.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/EndpointSelector.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/FastPathTokenizer.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/HttpMethodMatcherPolicy.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointComparerPolicy.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/IEndpointSelectorPolicy.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieFactory.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ILEmitTrieJumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/INodeBuilderPolicy.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/JumpTableBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/LinearSearchJumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/Matcher.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherFactory.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/MatcherPolicy.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PathSegment.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyJumpTableEdge.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/PolicyNodeEdge.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryAsciiJumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/SingleEntryJumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Matching/ZeroEntryJumpTable.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj b/src/Routing/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Microsoft.AspNetCore.Routing.csproj
diff --git a/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/ParameterPolicyFactory.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RouteParameterParser.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePattern.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternException.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternFactory.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternLiteralPart.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternMatcher.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterKind.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPart.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParameterPolicyReference.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternParser.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPart.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPartKind.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternPathSegment.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Patterns/RoutePatternSeparatorPart.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Properties/AssemblyInfo.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Properties/Resources.Designer.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RequestDelegateRouteBuilderExtensions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Resources.resx b/src/Routing/src/Microsoft.AspNetCore.Routing/Resources.resx
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Resources.resx
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Resources.resx
diff --git a/src/Microsoft.AspNetCore.Routing/Route.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Route.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Route.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Route.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteBase.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteBase.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteBase.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteBase.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteBuilder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteCollection.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteCollection.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteCollection.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteCollection.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteConstraintMatcher.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteCreationException.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteCreationException.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteEndpoint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteHandler.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteHandler.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteHandler.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteHandler.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteOptions.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteOptions.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteOptions.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteOptions.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValueEqualityComparer.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddress.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouteValuesAddressScheme.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RouterMiddleware.cs
diff --git a/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/RoutingFeature.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/RoutingFeature.cs
diff --git a/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/SuppressLinkGenerationMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/SuppressMatchingMetadata.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/InlineConstraint.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/RoutePrecedence.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/RouteTemplate.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateBinder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateMatcher.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateParser.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplatePart.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateSegment.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Template/TemplateValuesResult.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundMatch.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/InboundRouteEntry.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundMatch.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/OutboundRouteEntry.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeEnumerator.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouteBuilder.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/TreeRouter.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingNode.cs
diff --git a/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs b/src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs
rename to src/Routing/src/Microsoft.AspNetCore.Routing/Tree/UrlMatchingTree.cs
diff --git a/src/Microsoft.AspNetCore.Routing/baseline.netcore.json b/src/Routing/src/Microsoft.AspNetCore.Routing/baseline.netcore.json
similarity index 100%
rename from src/Microsoft.AspNetCore.Routing/baseline.netcore.json
rename to src/Routing/src/Microsoft.AspNetCore.Routing/baseline.netcore.json
diff --git a/test/Directory.Build.props b/src/Routing/test/Directory.Build.props
similarity index 100%
rename from test/Directory.Build.props
rename to src/Routing/test/Directory.Build.props
diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/EndpointMetadataCollectionTests.cs
diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj
rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteDataTest.cs
diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/RouteValueDictionaryTests.cs
diff --git a/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs b/src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Mvc.Routing.Abstractions.Tests/VirtualPathDataTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/DecisionTreeBuilderTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj
rename to src/Routing/test/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests/Microsoft.AspNetCore.Routing.DecisionTree.Sources.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/EndpointRoutingBenchmarkTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Benchmarks/RouterBenchmarkTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/EndpointRoutingSampleTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj
rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/Microsoft.AspNetCore.Routing.FunctionalTests.csproj
diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RouterSampleTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/RoutingTestFixture.cs
diff --git a/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.FunctionalTests/WebHostBuilderExtensionsTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/EndpointRoutingBuilderExtensionsTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Builder/RoutingBuilderExtensionsTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/CompositeEndpointDataSourceTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/ConstraintMatcherTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/AlphaRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/BoolRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/CompositeRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/ConstraintsTestHelper.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DateTimeRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DecimalRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/DoubleRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/FloatRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/GuidRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/HttpMethodRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/IntRouteConstraintsTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LengthRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/LongRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxLengthRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MaxRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinLengthRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/MinRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RangeRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexInlineRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RegexRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/RequiredRouteConstraintTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Constraints/StringRouteConstraintTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DataSourceDependentCacheTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultEndpointDataSourceTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultInlineConstraintResolverTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorProcessTemplateTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultLinkGeneratorTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/DefaultParameterPolicyFactoryTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointFactory.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointMiddlewareTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointNameAddressSchemeTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointRoutingMiddlewareTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/EndpointSelectorContextTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/InlineRouteParameterParserTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/DfaGraphWriterTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/LinkGenerationDecisionTreeTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/PathTokenizerTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Internal/UriBuildingContextTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorEndpointNameExtensionsTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorRouteValuesAddressExtensionsTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/LinkGeneratorTestBase.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Logging/WriteContext.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/AsciiTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcher.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherBuilder.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/BarebonesMatcherConformanceTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/CandidateSetTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DataSourceDependentMatcherTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DefaultEndpointSelectorTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherBuilderTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherConformanceTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DfaMatcherTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/DictionaryJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/EndpointMetadataComparerTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FastPathTokenizerTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/FullFeaturedMatcherConformanceTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyIntegrationTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/HttpMethodMatcherPolicyTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieFactoryTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ILEmitTrieJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/LinearSearchJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherAssert.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.MultipleEndpoint.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.SingleEndpoint.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MatcherConformanceTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/MultipleEntryJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/NonVectorizedILEmitTrieJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteEndpointComparerTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcher.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherBuilder.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/RouteMatcherConformanceTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryAsciiJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/SingleEntryJumpTableTestBase.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcher.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherBuilder.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/TreeRouterMatcherConformanceTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/VectorizedILEmitTrieJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Matching/ZeroEntryJumpTableTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Microsoft.AspNetCore.Routing.Tests.csproj
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/InlineRouteParameterParserTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternFactoryTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternMatcherTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Patterns/RoutePatternParserTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RequestDelegateRouteBuilderExtensionsTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteBuilderTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteCollectionTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteConstraintBuilderTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteOptionsTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValueEqualityComparerTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressMetadataTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouteValuesAddressSchemeTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/RouterMiddlewareTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/RoutePrecedenceTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateBinderTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateMatcherTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateParserTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Template/TemplateSegmentTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TemplateParserDefaultValuesTests.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestConstants.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/CapturingConstraint.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/DynamicEndpointDataSource.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/SlugifyParameterTransformer.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcher.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestMatcherFactory.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/TestObjects/TestServiceProvider.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouteBuilderTest.cs
diff --git a/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs b/src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs
similarity index 100%
rename from test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs
rename to src/Routing/test/Microsoft.AspNetCore.Routing.Tests/Tree/TreeRouterTest.cs
diff --git a/test/WebSites/Directory.Build.props b/src/Routing/test/WebSites/Directory.Build.props
similarity index 100%
rename from test/WebSites/Directory.Build.props
rename to src/Routing/test/WebSites/Directory.Build.props
diff --git a/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs b/src/Routing/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs
similarity index 100%
rename from test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs
rename to src/Routing/test/WebSites/RoutingWebSite/EndsWithStringRouteConstraint.cs
diff --git a/test/WebSites/RoutingWebSite/Program.cs b/src/Routing/test/WebSites/RoutingWebSite/Program.cs
similarity index 100%
rename from test/WebSites/RoutingWebSite/Program.cs
rename to src/Routing/test/WebSites/RoutingWebSite/Program.cs
diff --git a/test/WebSites/RoutingWebSite/RoutingWebSite.csproj b/src/Routing/test/WebSites/RoutingWebSite/RoutingWebSite.csproj
similarity index 100%
rename from test/WebSites/RoutingWebSite/RoutingWebSite.csproj
rename to src/Routing/test/WebSites/RoutingWebSite/RoutingWebSite.csproj
diff --git a/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs b/src/Routing/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs
similarity index 100%
rename from test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs
rename to src/Routing/test/WebSites/RoutingWebSite/UseEndpointRoutingStartup.cs
diff --git a/test/WebSites/RoutingWebSite/UseRouterStartup.cs b/src/Routing/test/WebSites/RoutingWebSite/UseRouterStartup.cs
similarity index 100%
rename from test/WebSites/RoutingWebSite/UseRouterStartup.cs
rename to src/Routing/test/WebSites/RoutingWebSite/UseRouterStartup.cs
diff --git a/tools/Swaggatherer/Program.cs b/src/Routing/tools/Swaggatherer/Program.cs
similarity index 100%
rename from tools/Swaggatherer/Program.cs
rename to src/Routing/tools/Swaggatherer/Program.cs
diff --git a/tools/Swaggatherer/README.md b/src/Routing/tools/Swaggatherer/README.md
similarity index 100%
rename from tools/Swaggatherer/README.md
rename to src/Routing/tools/Swaggatherer/README.md
diff --git a/tools/Swaggatherer/RouteEntry.cs b/src/Routing/tools/Swaggatherer/RouteEntry.cs
similarity index 100%
rename from tools/Swaggatherer/RouteEntry.cs
rename to src/Routing/tools/Swaggatherer/RouteEntry.cs
diff --git a/tools/Swaggatherer/Swaggatherer.csproj b/src/Routing/tools/Swaggatherer/Swaggatherer.csproj
similarity index 100%
rename from tools/Swaggatherer/Swaggatherer.csproj
rename to src/Routing/tools/Swaggatherer/Swaggatherer.csproj
diff --git a/tools/Swaggatherer/SwaggathererApplication.cs b/src/Routing/tools/Swaggatherer/SwaggathererApplication.cs
similarity index 100%
rename from tools/Swaggatherer/SwaggathererApplication.cs
rename to src/Routing/tools/Swaggatherer/SwaggathererApplication.cs
diff --git a/tools/Swaggatherer/Template.cs b/src/Routing/tools/Swaggatherer/Template.cs
similarity index 100%
rename from tools/Swaggatherer/Template.cs
rename to src/Routing/tools/Swaggatherer/Template.cs
diff --git a/version.props b/src/Routing/version.props
similarity index 100%
rename from version.props
rename to src/Routing/version.props
-- 
GitLab