Skip to content

Commit

Permalink
Add end-to-end integration tests for logs injection (#1637)
Browse files Browse the repository at this point in the history
New Tests
- `LogsInjection.Log4Net`, `LogsInjection.NLog`, `LogsInjection.Serilog`
- Behaviors
  - Logs injection occurs with raw logs and JSON logs
  - After logs injection setup, a method is invoked another AppDomain to test LogicalCallContext storage
- Libraries tested
  - log4net
    - .NET Framework: 1.2 - 2.x
    - .NET Core: 2.0.6+
  - NLog
    - .NET Framework: 1.x - 4.x
    - .NET Core: 4.5+
  - Serilog
    - .NET Framework: 1.x - 2.x
    - .NET Core: 2.x
- Caveats
  - **Note**: Windows testing currently does not test multiple package versions. That will need to be enabled at a later point in time
  - All log4net versions are still vulnerable to serialization issues when crossing AppDomains, so the cross-AppDomain scenario is skipped in the log4net test application

Deleted Tests
- `Log4Net.SerializationException` regression test (and helper library ApplicationWithLog4Net)
  - The regression test was added in #551 but is now solved by adding new sample applications that directly cause calls to cross AppDomain boundaries
- `NLog10LogsInjection.NullReferenceException` regression test
  - The regression test was added in #614 but is now solved by the new type FallbackNLogLogProvider

Fixes
- Disable Serilog logs injection support when the detected Serilog version is earlier than 2.0. This is enforced by adding a new `NoOpSerilogLogProvider` log provider to perform no-ops in this scenario
- Add better exception handling in `CustomLog4NetLogProvider.ExtJsonAssemblySupported()`
  • Loading branch information
zacharycmontoya authored Aug 19, 2021
1 parent 5080043 commit fff09c8
Show file tree
Hide file tree
Showing 46 changed files with 2,391 additions and 367 deletions.
110 changes: 69 additions & 41 deletions Datadog.Trace.sln
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.ClrProfiler.I
{8B457E8F-8716-4F29-BBE2-DD6C7BC4AC37} = {8B457E8F-8716-4F29-BBE2-DD6C7BC4AC37}
{FA487690-E88C-4A57-9187-B71CB70C1AAE} = {FA487690-E88C-4A57-9187-B71CB70C1AAE}
{E1706893-D3A5-43B9-9036-AEF49DB9600B} = {E1706893-D3A5-43B9-9036-AEF49DB9600B}
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB} = {6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}
{086FF8A0-9CEE-470A-9751-78B0F1340649} = {086FF8A0-9CEE-470A-9751-78B0F1340649}
{BF1E5BA6-C0E5-4472-9D5D-2622231DD275} = {BF1E5BA6-C0E5-4472-9D5D-2622231DD275}
{3CDCE3AA-7CAF-4A27-B1D3-9D558B74D084} = {3CDCE3AA-7CAF-4A27-B1D3-9D558B74D084}
Expand All @@ -107,7 +106,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.ClrProfiler.I
{8E1555D1-13D5-4DBF-9631-117D840C3158} = {8E1555D1-13D5-4DBF-9631-117D840C3158}
{DD3E8ED8-A0E4-482E-A5ED-115E21D543C0} = {DD3E8ED8-A0E4-482E-A5ED-115E21D543C0}
{42FA33DD-AEA3-4FF3-8319-F30244A666A4} = {42FA33DD-AEA3-4FF3-8319-F30244A666A4}
{35F581E9-3D7C-4E80-8DFF-D437B0D86710} = {35F581E9-3D7C-4E80-8DFF-D437B0D86710}
{5EE6B6EB-B768-47EC-882B-8DCACA2B1360} = {5EE6B6EB-B768-47EC-882B-8DCACA2B1360}
{7B0822F6-80DE-4B49-8125-93975678D0D5} = {7B0822F6-80DE-4B49-8125-93975678D0D5}
{DA0A44FB-D562-4776-AAFB-8266E78AA1A6} = {DA0A44FB-D562-4776-AAFB-8266E78AA1A6}
Expand Down Expand Up @@ -190,10 +188,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "EntityFramework6x.MdTokenLo
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.DatabaseHelper", "test\test-applications\integrations\dependency-libs\Samples.DatabaseHelper\Samples.DatabaseHelper.csproj", "{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Log4Net.SerializationException", "test\test-applications\regression\Log4Net.SerializationException\Log4Net.SerializationException.csproj", "{35F581E9-3D7C-4E80-8DFF-D437B0D86710}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ApplicationWithLog4Net", "test\test-applications\regression\dependency-libs\ApplicationWithLog4Net\ApplicationWithLog4Net.csproj", "{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AssemblyResolveMscorlibResources.InfiniteRecursionCrash", "test\test-applications\regression\AssemblyResolveMscorlibResources.InfiniteRecursionCrash\AssemblyResolveMscorlibResources.InfiniteRecursionCrash.csproj", "{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.TracingWithoutLimits", "test\test-applications\integrations\Samples.TracingWithoutLimits\Samples.TracingWithoutLimits.csproj", "{8BDF1DE0-E6DE-48AD-AAA3-CE09CB544E2C}"
Expand All @@ -206,8 +200,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.AspNetCoreMvc31", "
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Samples.AspNetCoreMvc21", "test\test-applications\integrations\Samples.AspNetCoreMvc21\Samples.AspNetCoreMvc21.csproj", "{D141BD06-DD95-4CAF-85CD-657116E0DAD4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "NLog10LogsInjection.NullReferenceException", "test\test-applications\regression\NLog10LogsInjection.NullReferenceException\NLog10LogsInjection.NullReferenceException.csproj", "{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.StackExchange.Redis.Abstractions", "test\test-applications\regression\dependency-libs\Datadog.StackExchange.Redis.Abstractions\Datadog.StackExchange.Redis.Abstractions.csproj", "{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.StackExchange.Redis", "test\test-applications\regression\dependency-libs\Datadog.StackExchange.Redis\Datadog.StackExchange.Redis.csproj", "{EB0B88E2-589A-4F65-8F98-D5B958D8104F}"
Expand Down Expand Up @@ -375,6 +367,16 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.Tools.Analyze
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Datadog.Trace.Tools.Analyzers.Tests", "test\Datadog.Trace.Tools.Analyzers.Tests\Datadog.Trace.Tools.Analyzers.Tests.csproj", "{6BB875B5-9FA7-4FB4-9224-B0FA2245CE0B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogsInjection.Log4Net", "test\test-applications\integrations\LogsInjection.Log4Net\LogsInjection.Log4Net.csproj", "{B93AD901-B761-486D-80AE-443742DB65E0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogsInjection.NLog", "test\test-applications\integrations\LogsInjection.NLog\LogsInjection.NLog.csproj", "{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogsInjection.Serilog", "test\test-applications\integrations\LogsInjection.Serilog\LogsInjection.Serilog.csproj", "{83290961-40BF-48CB-B925-FBBE48E629F3}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PluginApplication", "test\test-applications\integrations\dependency-libs\PluginApplication\PluginApplication.csproj", "{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LogsInjectionHelper", "test\test-applications\integrations\dependency-libs\LogsInjectionHelper\LogsInjectionHelper.csproj", "{65492DD4-CCD9-437A-B383-E7EB7AB872D2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "shared", "shared", "{550362BF-A3A7-4F20-9590-24F4F8C380FF}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Datadog.AutoInstrumentation.NativeLoader", "src\Datadog.AutoInstrumentation.NativeLoader\Datadog.AutoInstrumentation.NativeLoader.vcxproj", "{48D12C26-6E63-419C-BFE2-E668E8550613}"
Expand Down Expand Up @@ -854,26 +856,6 @@ Global
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}.Release|x64.Build.0 = Release|Any CPU
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}.Release|x86.ActiveCfg = Release|Any CPU
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D}.Release|x86.Build.0 = Release|Any CPU
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|Any CPU.ActiveCfg = Debug|x86
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|x64.ActiveCfg = Debug|x64
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|x64.Build.0 = Debug|x64
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|x86.ActiveCfg = Debug|x86
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Debug|x86.Build.0 = Debug|x86
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Release|Any CPU.ActiveCfg = Release|x86
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Release|x64.ActiveCfg = Release|x64
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Release|x64.Build.0 = Release|x64
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Release|x86.ActiveCfg = Release|x86
{35F581E9-3D7C-4E80-8DFF-D437B0D86710}.Release|x86.Build.0 = Release|x86
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Debug|Any CPU.ActiveCfg = Debug|x86
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Debug|x64.ActiveCfg = Debug|x64
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Debug|x64.Build.0 = Debug|x64
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Debug|x86.ActiveCfg = Debug|x86
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Debug|x86.Build.0 = Debug|x86
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|Any CPU.ActiveCfg = Release|x86
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|x64.ActiveCfg = Release|x64
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|x64.Build.0 = Release|x64
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|x86.ActiveCfg = Release|x86
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58}.Release|x86.Build.0 = Release|x86
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}.Debug|Any CPU.ActiveCfg = Debug|x86
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}.Debug|x64.ActiveCfg = Debug|x64
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028}.Debug|x64.Build.0 = Debug|x64
Expand Down Expand Up @@ -934,16 +916,6 @@ Global
{D141BD06-DD95-4CAF-85CD-657116E0DAD4}.Release|x64.Build.0 = Release|x64
{D141BD06-DD95-4CAF-85CD-657116E0DAD4}.Release|x86.ActiveCfg = Release|x86
{D141BD06-DD95-4CAF-85CD-657116E0DAD4}.Release|x86.Build.0 = Release|x86
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Debug|Any CPU.ActiveCfg = Debug|x86
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Debug|x64.ActiveCfg = Debug|x64
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Debug|x64.Build.0 = Debug|x64
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Debug|x86.ActiveCfg = Debug|x86
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Debug|x86.Build.0 = Debug|x86
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|Any CPU.ActiveCfg = Release|x86
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|x64.ActiveCfg = Release|x64
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|x64.Build.0 = Release|x64
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|x86.ActiveCfg = Release|x86
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB}.Release|x86.Build.0 = Release|x86
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE}.Debug|x64.ActiveCfg = Debug|Any CPU
Expand Down Expand Up @@ -1554,6 +1526,60 @@ Global
{6BB875B5-9FA7-4FB4-9224-B0FA2245CE0B}.Release|x64.Build.0 = Release|Any CPU
{6BB875B5-9FA7-4FB4-9224-B0FA2245CE0B}.Release|x86.ActiveCfg = Release|Any CPU
{6BB875B5-9FA7-4FB4-9224-B0FA2245CE0B}.Release|x86.Build.0 = Release|Any CPU
{B93AD901-B761-486D-80AE-443742DB65E0}.Debug|Any CPU.ActiveCfg = Debug|x86
{B93AD901-B761-486D-80AE-443742DB65E0}.Debug|x64.ActiveCfg = Debug|x64
{B93AD901-B761-486D-80AE-443742DB65E0}.Debug|x64.Build.0 = Debug|x64
{B93AD901-B761-486D-80AE-443742DB65E0}.Debug|x86.ActiveCfg = Debug|x86
{B93AD901-B761-486D-80AE-443742DB65E0}.Debug|x86.Build.0 = Debug|x86
{B93AD901-B761-486D-80AE-443742DB65E0}.Release|Any CPU.ActiveCfg = Release|x86
{B93AD901-B761-486D-80AE-443742DB65E0}.Release|x64.ActiveCfg = Release|x64
{B93AD901-B761-486D-80AE-443742DB65E0}.Release|x64.Build.0 = Release|x64
{B93AD901-B761-486D-80AE-443742DB65E0}.Release|x86.ActiveCfg = Release|x86
{B93AD901-B761-486D-80AE-443742DB65E0}.Release|x86.Build.0 = Release|x86
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Debug|Any CPU.ActiveCfg = Debug|x86
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Debug|x64.ActiveCfg = Debug|x64
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Debug|x64.Build.0 = Debug|x64
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Debug|x86.ActiveCfg = Debug|x86
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Debug|x86.Build.0 = Debug|x86
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Release|Any CPU.ActiveCfg = Release|x86
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Release|x64.ActiveCfg = Release|x64
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Release|x64.Build.0 = Release|x64
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Release|x86.ActiveCfg = Release|x86
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4}.Release|x86.Build.0 = Release|x86
{83290961-40BF-48CB-B925-FBBE48E629F3}.Debug|Any CPU.ActiveCfg = Debug|x86
{83290961-40BF-48CB-B925-FBBE48E629F3}.Debug|x64.ActiveCfg = Debug|x64
{83290961-40BF-48CB-B925-FBBE48E629F3}.Debug|x64.Build.0 = Debug|x64
{83290961-40BF-48CB-B925-FBBE48E629F3}.Debug|x86.ActiveCfg = Debug|x86
{83290961-40BF-48CB-B925-FBBE48E629F3}.Debug|x86.Build.0 = Debug|x86
{83290961-40BF-48CB-B925-FBBE48E629F3}.Release|Any CPU.ActiveCfg = Release|x86
{83290961-40BF-48CB-B925-FBBE48E629F3}.Release|x64.ActiveCfg = Release|x64
{83290961-40BF-48CB-B925-FBBE48E629F3}.Release|x64.Build.0 = Release|x64
{83290961-40BF-48CB-B925-FBBE48E629F3}.Release|x86.ActiveCfg = Release|x86
{83290961-40BF-48CB-B925-FBBE48E629F3}.Release|x86.Build.0 = Release|x86
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Debug|x64.ActiveCfg = Debug|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Debug|x64.Build.0 = Debug|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Debug|x86.ActiveCfg = Debug|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Debug|x86.Build.0 = Debug|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Release|Any CPU.Build.0 = Release|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Release|x64.ActiveCfg = Release|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Release|x64.Build.0 = Release|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Release|x86.ActiveCfg = Release|Any CPU
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F}.Release|x86.Build.0 = Release|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Debug|x64.ActiveCfg = Debug|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Debug|x64.Build.0 = Debug|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Debug|x86.ActiveCfg = Debug|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Debug|x86.Build.0 = Debug|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Release|Any CPU.Build.0 = Release|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Release|x64.ActiveCfg = Release|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Release|x64.Build.0 = Release|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Release|x86.ActiveCfg = Release|Any CPU
{65492DD4-CCD9-437A-B383-E7EB7AB872D2}.Release|x86.Build.0 = Release|Any CPU
{48D12C26-6E63-419C-BFE2-E668E8550613}.Debug|Any CPU.ActiveCfg = Debug|Win32
{48D12C26-6E63-419C-BFE2-E668E8550613}.Debug|x64.ActiveCfg = Debug|x64
{48D12C26-6E63-419C-BFE2-E668E8550613}.Debug|x64.Build.0 = Debug|x64
Expand Down Expand Up @@ -1688,15 +1714,12 @@ Global
{DF923186-5397-4E15-A95B-F15C8327ED53} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{E1706893-D3A5-43B9-9036-AEF49DB9600B} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{472DBA92-4FEA-4B9A-BA70-0E97B942E12D} = {8683D82A-2BBE-4199-9C36-C59F48804F90}
{35F581E9-3D7C-4E80-8DFF-D437B0D86710} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{1C34D970-6081-4EFA-8F2F-5AD2B146AC58} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
{EEA89ACD-CFBB-4F60-A150-74F0A84DF028} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{8BDF1DE0-E6DE-48AD-AAA3-CE09CB544E2C} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{EF718502-7760-45B5-A563-5F1B22A6B840} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{8B457E8F-8716-4F29-BBE2-DD6C7BC4AC37} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{303F8E41-691F-4453-AB7D-88A0036C0465} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{D141BD06-DD95-4CAF-85CD-657116E0DAD4} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{6209C19B-42E4-4FCF-A539-FD1E4F4A34DB} = {498A300E-D036-49B7-A43D-821D1CAF11A5}
{24BE488C-A5F3-4228-8CAB-E60EBEA444EE} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
{EB0B88E2-589A-4F65-8F98-D5B958D8104F} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
{4E83BFB5-F225-4C3B-B96E-0AD1951A5630} = {EFE48691-1FBA-41D5-9BFD-676771973F0C}
Expand Down Expand Up @@ -1763,6 +1786,11 @@ Global
{BF1E5BA6-C0E5-4472-9D5D-2622231DD275} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{5450EA0B-56D3-4E29-932E-094AD037B345} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
{6BB875B5-9FA7-4FB4-9224-B0FA2245CE0B} = {8CEC2042-F11C-49F5-A674-2355793B600A}
{B93AD901-B761-486D-80AE-443742DB65E0} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{7203DD2B-739F-4223-AE50-D26A7FEEE1A4} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{83290961-40BF-48CB-B925-FBBE48E629F3} = {BAF8F246-3645-42AD-B1D0-0F7EAFBAB34A}
{6E8D73F3-082C-455B-BBD5-03A156DCDD0F} = {8683D82A-2BBE-4199-9C36-C59F48804F90}
{65492DD4-CCD9-437A-B383-E7EB7AB872D2} = {8683D82A-2BBE-4199-9C36-C59F48804F90}
{550362BF-A3A7-4F20-9590-24F4F8C380FF} = {9E5F0022-0A50-40BF-AC6A-C3078585ECAB}
{48D12C26-6E63-419C-BFE2-E668E8550613} = {550362BF-A3A7-4F20-9590-24F4F8C380FF}
{7D231B65-AA8E-4917-85FF-BBBF7992B6FC} = {8CEC2042-F11C-49F5-A674-2355793B600A}
Expand Down
Loading

0 comments on commit fff09c8

Please sign in to comment.